@ottocode/web-ui 0.1.235 → 0.1.237
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -7
- package/dist/web-assets/assets/framework-BeX2trYw.js +9 -0
- package/dist/web-assets/assets/{icons-BWeqcfI3.js → icons-DnKJmk3z.js} +1 -1
- package/dist/web-assets/assets/index-nMYEE17A.js +137 -0
- package/dist/web-assets/assets/{markdown-CN6Boxtq.js → markdown-QmRNlbUJ.js} +2 -2
- package/dist/web-assets/assets/{syntax-0PI0z6H_.js → syntax-CKyGuCbn.js} +1 -1
- package/dist/web-assets/index.html +5 -5
- package/package.json +1 -1
- package/dist/web-assets/assets/ccip-DT8hlmC4.js +0 -1
- package/dist/web-assets/assets/framework-D8VmzUzi.js +0 -9
- package/dist/web-assets/assets/index-CY2ny4Un.js +0 -182
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import{R as tt,u as nt,a as be,b as Ye,r as D,j as o,_ as rc,d as nc,e as Qa,g as tB,f as ic,O as ac,h as Ba,i as gc,k as Qc,l as Bc,Q as lc,m as Ec,n as cc,o as Cc}from"./framework-BeX2trYw.js";import{B as Ic,U as la,X as st,P as co,T as oo,M as Ea,a as oB,C as Ht,b as uo,E as bt,L as Le,c as ca,d as sB,e as Br,F as Zo,f as uc,g as dc,I as Ca,h as Es,i as hc,j as mn,k as tn,S as No,l as rB,K as nB,m as fc,n as wn,G as so,o as Pt,p as pc,q as lr,r as Ia,R as Zt,s as sg,t as iB,u as ua,v as nr,w as mc,A as aB,x as wc,y as fs,z as rt,D as cs,H as gB,J as QB,N as ir,O as xc,Q as BB,V as Dc,W as jo,Y as yc,Z as rg,_ as Nc,$ as kc,a0 as Er,a1 as lB,a2 as ng,a3 as Mc,a4 as Cs,a5 as bc,a6 as vi,a7 as on,a8 as Fc,a9 as da,aa as EB,ab as cB,ac as CB,ad as Gc,ae as ha,af as vc,ag as IB,ah as Sc,ai as uB,aj as Uc,ak as Rc,al as Kc,am as Jc,an as Lc,ao as jc,ap as Tc,aq as dB,ar as Oc,as as qc,at as sn,au as fa,av as or,aw as Yc,ax as Hc,ay as Pc,az as Wc,aA as zc,aB as Vc}from"./icons-DnKJmk3z.js";import{v as go,p as Qo,h as qt}from"./syntax-CKyGuCbn.js";import{M as hB,a as fB}from"./markdown-QmRNlbUJ.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function t(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=t(n);fetch(n.href,r)}})();const ig=A=>{let e;const t=new Set,s=(Q,l)=>{const u=typeof Q=="function"?Q(e):Q;if(!Object.is(u,e)){const d=e;e=l??(typeof u!="object"||u===null)?u:Object.assign({},e,u),t.forEach(E=>E(e,d))}},n=()=>e,a={setState:s,getState:n,getInitialState:()=>g,subscribe:Q=>(t.add(Q),()=>t.delete(Q))},g=e=A(s,n,a);return a},Zc=(A=>A?ig(A):ig),_c=A=>A;function Xc(A,e=_c){const t=tt.useSyncExternalStore(A.subscribe,tt.useCallback(()=>e(A.getState()),[A,e]),tt.useCallback(()=>e(A.getInitialState()),[A,e]));return tt.useDebugValue(t),t}const ag=A=>{const e=Zc(A),t=s=>Xc(e,s);return Object.assign(t,e),t},ct=(A=>A?ag(A):ag),$c=300,AC=150,eo=ct(A=>({isOpen:!1,panelHeight:$c,activeTabId:null,isMaximized:!1,get isExpanded(){return this.isOpen},get selectedTerminalId(){return this.activeTabId},openPanel:()=>A({isOpen:!0}),closePanel:()=>A({isOpen:!1,isMaximized:!1}),togglePanel:()=>A(e=>({isOpen:!e.isOpen,isMaximized:e.isOpen?!1:e.isMaximized})),setPanelHeight:e=>A({panelHeight:Math.max(AC,e)}),selectTab:e=>A({activeTabId:e,isOpen:!0}),toggleMaximize:()=>A(e=>({isMaximized:!e.isMaximized})),expandSidebar:()=>A({isOpen:!0}),collapseSidebar:()=>A({isOpen:!1,activeTabId:null,isMaximized:!1}),toggleSidebar:()=>A(e=>({isOpen:!e.isOpen,isMaximized:e.isOpen?!1:e.isMaximized})),selectTerminal:e=>A({activeTabId:e,isOpen:!0})}));var gg;(function(A){A.OPENAI="openai",A.ANTHROPIC="anthropic",A.GOOGLE="google",A.OPENROUTER="openrouter",A.OPENCODE="opencode",A.ZAI="zai",A.ZAI_CODING="zai-coding",A.MOONSHOT="moonshot",A.MINIMAX="minimax",A.COPILOT="copilot",A.SETU="setu"})(gg||(gg={}));function pB(A,e){return function(){return A.apply(e,arguments)}}const{toString:eC}=Object.prototype,{getPrototypeOf:pa}=Object,{iterator:xn,toStringTag:mB}=Symbol,Dn=(A=>e=>{const t=eC.call(e);return A[t]||(A[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),ho=A=>(A=A.toLowerCase(),e=>Dn(e)===A),yn=A=>e=>typeof e===A,{isArray:Os}=Array,Ks=yn("undefined");function cr(A){return A!==null&&!Ks(A)&&A.constructor!==null&&!Ks(A.constructor)&&Xt(A.constructor.isBuffer)&&A.constructor.isBuffer(A)}const wB=ho("ArrayBuffer");function tC(A){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(A):e=A&&A.buffer&&wB(A.buffer),e}const oC=yn("string"),Xt=yn("function"),xB=yn("number"),Cr=A=>A!==null&&typeof A=="object",sC=A=>A===!0||A===!1,Hr=A=>{if(Dn(A)!=="object")return!1;const e=pa(A);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(mB in A)&&!(xn in A)},rC=A=>{if(!Cr(A)||cr(A))return!1;try{return Object.keys(A).length===0&&Object.getPrototypeOf(A)===Object.prototype}catch{return!1}},nC=ho("Date"),iC=ho("File"),aC=A=>!!(A&&typeof A.uri<"u"),gC=A=>A&&typeof A.getParts<"u",QC=ho("Blob"),BC=ho("FileList"),lC=A=>Cr(A)&&Xt(A.pipe);function EC(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Qg=EC(),Bg=typeof Qg.FormData<"u"?Qg.FormData:void 0,cC=A=>{let e;return A&&(Bg&&A instanceof Bg||Xt(A.append)&&((e=Dn(A))==="formdata"||e==="object"&&Xt(A.toString)&&A.toString()==="[object FormData]"))},CC=ho("URLSearchParams"),[IC,uC,dC,hC]=["ReadableStream","Request","Response","Headers"].map(ho),fC=A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ir(A,e,{allOwnKeys:t=!1}={}){if(A===null||typeof A>"u")return;let s,n;if(typeof A!="object"&&(A=[A]),Os(A))for(s=0,n=A.length;s<n;s++)e.call(null,A[s],s,A);else{if(cr(A))return;const r=t?Object.getOwnPropertyNames(A):Object.keys(A),i=r.length;let a;for(s=0;s<i;s++)a=r[s],e.call(null,A[a],a,A)}}function DB(A,e){if(cr(A))return null;e=e.toLowerCase();const t=Object.keys(A);let s=t.length,n;for(;s-- >0;)if(n=t[s],e===n.toLowerCase())return n;return null}const is=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,yB=A=>!Ks(A)&&A!==is;function Si(){const{caseless:A,skipUndefined:e}=yB(this)&&this||{},t={},s=(n,r)=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;const i=A&&DB(t,r)||r;Hr(t[i])&&Hr(n)?t[i]=Si(t[i],n):Hr(n)?t[i]=Si({},n):Os(n)?t[i]=n.slice():(!e||!Ks(n))&&(t[i]=n)};for(let n=0,r=arguments.length;n<r;n++)arguments[n]&&Ir(arguments[n],s);return t}const pC=(A,e,t,{allOwnKeys:s}={})=>(Ir(e,(n,r)=>{t&&Xt(n)?Object.defineProperty(A,r,{value:pB(n,t),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(A,r,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:s}),A),mC=A=>(A.charCodeAt(0)===65279&&(A=A.slice(1)),A),wC=(A,e,t,s)=>{A.prototype=Object.create(e.prototype,s),Object.defineProperty(A.prototype,"constructor",{value:A,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},xC=(A,e,t,s)=>{let n,r,i;const a={};if(e=e||{},A==null)return e;do{for(n=Object.getOwnPropertyNames(A),r=n.length;r-- >0;)i=n[r],(!s||s(i,A,e))&&!a[i]&&(e[i]=A[i],a[i]=!0);A=t!==!1&&pa(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},DC=(A,e,t)=>{A=String(A),(t===void 0||t>A.length)&&(t=A.length),t-=e.length;const s=A.indexOf(e,t);return s!==-1&&s===t},yC=A=>{if(!A)return null;if(Os(A))return A;let e=A.length;if(!xB(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},NC=(A=>e=>A&&e instanceof A)(typeof Uint8Array<"u"&&pa(Uint8Array)),kC=(A,e)=>{const s=(A&&A[xn]).call(A);let n;for(;(n=s.next())&&!n.done;){const r=n.value;e.call(A,r[0],r[1])}},MC=(A,e)=>{let t;const s=[];for(;(t=A.exec(e))!==null;)s.push(t);return s},bC=ho("HTMLFormElement"),FC=A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,s,n){return s.toUpperCase()+n}),lg=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),GC=ho("RegExp"),NB=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),s={};Ir(t,(n,r)=>{let i;(i=e(n,r,A))!==!1&&(s[r]=i||n)}),Object.defineProperties(A,s)},vC=A=>{NB(A,(e,t)=>{if(Xt(A)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const s=A[t];if(Xt(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},SC=(A,e)=>{const t={},s=n=>{n.forEach(r=>{t[r]=!0})};return Os(A)?s(A):s(String(A).split(e)),t},UC=()=>{},RC=(A,e)=>A!=null&&Number.isFinite(A=+A)?A:e;function KC(A){return!!(A&&Xt(A.append)&&A[mB]==="FormData"&&A[xn])}const JC=A=>{const e=new Array(10),t=(s,n)=>{if(Cr(s)){if(e.indexOf(s)>=0)return;if(cr(s))return s;if(!("toJSON"in s)){e[n]=s;const r=Os(s)?[]:{};return Ir(s,(i,a)=>{const g=t(i,n+1);!Ks(g)&&(r[a]=g)}),e[n]=void 0,r}}return s};return t(A,0)},LC=ho("AsyncFunction"),jC=A=>A&&(Cr(A)||Xt(A))&&Xt(A.then)&&Xt(A.catch),kB=((A,e)=>A?setImmediate:e?((t,s)=>(is.addEventListener("message",({source:n,data:r})=>{n===is&&r===t&&s.length&&s.shift()()},!1),n=>{s.push(n),is.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",Xt(is.postMessage)),TC=typeof queueMicrotask<"u"?queueMicrotask.bind(is):typeof process<"u"&&process.nextTick||kB,OC=A=>A!=null&&Xt(A[xn]),cA={isArray:Os,isArrayBuffer:wB,isBuffer:cr,isFormData:cC,isArrayBufferView:tC,isString:oC,isNumber:xB,isBoolean:sC,isObject:Cr,isPlainObject:Hr,isEmptyObject:rC,isReadableStream:IC,isRequest:uC,isResponse:dC,isHeaders:hC,isUndefined:Ks,isDate:nC,isFile:iC,isReactNativeBlob:aC,isReactNative:gC,isBlob:QC,isRegExp:GC,isFunction:Xt,isStream:lC,isURLSearchParams:CC,isTypedArray:NC,isFileList:BC,forEach:Ir,merge:Si,extend:pC,trim:fC,stripBOM:mC,inherits:wC,toFlatObject:xC,kindOf:Dn,kindOfTest:ho,endsWith:DC,toArray:yC,forEachEntry:kC,matchAll:MC,isHTMLForm:bC,hasOwnProperty:lg,hasOwnProp:lg,reduceDescriptors:NB,freezeMethods:vC,toObjectSet:SC,toCamelCase:FC,noop:UC,toFiniteNumber:RC,findKey:DB,global:is,isContextDefined:yB,isSpecCompliantForm:KC,toJSONObject:JC,isAsyncFn:LC,isThenable:jC,setImmediate:kB,asap:TC,isIterable:OC};let ae=class MB extends Error{static from(e,t,s,n,r,i){const a=new MB(e.message,t||e.code,s,n,r);return a.cause=e,a.name=e.name,e.status!=null&&a.status==null&&(a.status=e.status),i&&Object.assign(a,i),a}constructor(e,t,s,n,r){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,t&&(this.code=t),s&&(this.config=s),n&&(this.request=n),r&&(this.response=r,this.status=r.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:cA.toJSONObject(this.config),code:this.code,status:this.status}}};ae.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";ae.ERR_BAD_OPTION="ERR_BAD_OPTION";ae.ECONNABORTED="ECONNABORTED";ae.ETIMEDOUT="ETIMEDOUT";ae.ERR_NETWORK="ERR_NETWORK";ae.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";ae.ERR_DEPRECATED="ERR_DEPRECATED";ae.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";ae.ERR_BAD_REQUEST="ERR_BAD_REQUEST";ae.ERR_CANCELED="ERR_CANCELED";ae.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";ae.ERR_INVALID_URL="ERR_INVALID_URL";const qC=null;function Ui(A){return cA.isPlainObject(A)||cA.isArray(A)}function bB(A){return cA.endsWith(A,"[]")?A.slice(0,-2):A}function zn(A,e,t){return A?A.concat(e).map(function(n,r){return n=bB(n),!t&&r?"["+n+"]":n}).join(t?".":""):e}function YC(A){return cA.isArray(A)&&!A.some(Ui)}const HC=cA.toFlatObject(cA,{},null,function(e){return/^is[A-Z]/.test(e)});function Nn(A,e,t){if(!cA.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=cA.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(p,f){return!cA.isUndefined(f[p])});const s=t.metaTokens,n=t.visitor||l,r=t.dots,i=t.indexes,g=(t.Blob||typeof Blob<"u"&&Blob)&&cA.isSpecCompliantForm(e);if(!cA.isFunction(n))throw new TypeError("visitor must be a function");function Q(C){if(C===null)return"";if(cA.isDate(C))return C.toISOString();if(cA.isBoolean(C))return C.toString();if(!g&&cA.isBlob(C))throw new ae("Blob is not supported. Use a Buffer instead.");return cA.isArrayBuffer(C)||cA.isTypedArray(C)?g&&typeof Blob=="function"?new Blob([C]):Buffer.from(C):C}function l(C,p,f){let M=C;if(cA.isReactNative(e)&&cA.isReactNativeBlob(C))return e.append(zn(f,p,r),Q(C)),!1;if(C&&!f&&typeof C=="object"){if(cA.endsWith(p,"{}"))p=s?p:p.slice(0,-2),C=JSON.stringify(C);else if(cA.isArray(C)&&YC(C)||(cA.isFileList(C)||cA.endsWith(p,"[]"))&&(M=cA.toArray(C)))return p=bB(p),M.forEach(function(N,T){!(cA.isUndefined(N)||N===null)&&e.append(i===!0?zn([p],T,r):i===null?p:p+"[]",Q(N))}),!1}return Ui(C)?!0:(e.append(zn(f,p,r),Q(C)),!1)}const u=[],d=Object.assign(HC,{defaultVisitor:l,convertValue:Q,isVisitable:Ui});function E(C,p){if(!cA.isUndefined(C)){if(u.indexOf(C)!==-1)throw Error("Circular reference detected in "+p.join("."));u.push(C),cA.forEach(C,function(M,S){(!(cA.isUndefined(M)||M===null)&&n.call(e,M,cA.isString(S)?S.trim():S,p,d))===!0&&E(M,p?p.concat(S):[S])}),u.pop()}}if(!cA.isObject(A))throw new TypeError("data must be an object");return E(A),e}function Eg(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,function(s){return e[s]})}function ma(A,e){this._pairs=[],A&&Nn(A,this,e)}const FB=ma.prototype;FB.append=function(e,t){this._pairs.push([e,t])};FB.toString=function(e){const t=e?function(s){return e.call(this,s,Eg)}:Eg;return this._pairs.map(function(n){return t(n[0])+"="+t(n[1])},"").join("&")};function PC(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function GB(A,e,t){if(!e)return A;const s=t&&t.encode||PC,n=cA.isFunction(t)?{serialize:t}:t,r=n&&n.serialize;let i;if(r?i=r(e,n):i=cA.isURLSearchParams(e)?e.toString():new ma(e,n).toString(s),i){const a=A.indexOf("#");a!==-1&&(A=A.slice(0,a)),A+=(A.indexOf("?")===-1?"?":"&")+i}return A}class cg{constructor(){this.handlers=[]}use(e,t,s){return this.handlers.push({fulfilled:e,rejected:t,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){cA.forEach(this.handlers,function(s){s!==null&&e(s)})}}const wa={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},WC=typeof URLSearchParams<"u"?URLSearchParams:ma,zC=typeof FormData<"u"?FormData:null,VC=typeof Blob<"u"?Blob:null,ZC={isBrowser:!0,classes:{URLSearchParams:WC,FormData:zC,Blob:VC},protocols:["http","https","file","blob","url","data"]},xa=typeof window<"u"&&typeof document<"u",Ri=typeof navigator=="object"&&navigator||void 0,_C=xa&&(!Ri||["ReactNative","NativeScript","NS"].indexOf(Ri.product)<0),XC=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",$C=xa&&window.location.href||"http://localhost",AI=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:xa,hasStandardBrowserEnv:_C,hasStandardBrowserWebWorkerEnv:XC,navigator:Ri,origin:$C},Symbol.toStringTag,{value:"Module"})),Ot={...AI,...ZC};function eI(A,e){return Nn(A,new Ot.classes.URLSearchParams,{visitor:function(t,s,n,r){return Ot.isNode&&cA.isBuffer(t)?(this.append(s,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...e})}function tI(A){return cA.matchAll(/\w+|\[(\w*)]/g,A).map(e=>e[0]==="[]"?"":e[1]||e[0])}function oI(A){const e={},t=Object.keys(A);let s;const n=t.length;let r;for(s=0;s<n;s++)r=t[s],e[r]=A[r];return e}function vB(A){function e(t,s,n,r){let i=t[r++];if(i==="__proto__")return!0;const a=Number.isFinite(+i),g=r>=t.length;return i=!i&&cA.isArray(n)?n.length:i,g?(cA.hasOwnProp(n,i)?n[i]=[n[i],s]:n[i]=s,!a):((!n[i]||!cA.isObject(n[i]))&&(n[i]=[]),e(t,s,n[i],r)&&cA.isArray(n[i])&&(n[i]=oI(n[i])),!a)}if(cA.isFormData(A)&&cA.isFunction(A.entries)){const t={};return cA.forEachEntry(A,(s,n)=>{e(tI(s),n,t,0)}),t}return null}function sI(A,e,t){if(cA.isString(A))try{return(e||JSON.parse)(A),cA.trim(A)}catch(s){if(s.name!=="SyntaxError")throw s}return(t||JSON.stringify)(A)}const ur={transitional:wa,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const s=t.getContentType()||"",n=s.indexOf("application/json")>-1,r=cA.isObject(e);if(r&&cA.isHTMLForm(e)&&(e=new FormData(e)),cA.isFormData(e))return n?JSON.stringify(vB(e)):e;if(cA.isArrayBuffer(e)||cA.isBuffer(e)||cA.isStream(e)||cA.isFile(e)||cA.isBlob(e)||cA.isReadableStream(e))return e;if(cA.isArrayBufferView(e))return e.buffer;if(cA.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(r){if(s.indexOf("application/x-www-form-urlencoded")>-1)return eI(e,this.formSerializer).toString();if((a=cA.isFileList(e))||s.indexOf("multipart/form-data")>-1){const g=this.env&&this.env.FormData;return Nn(a?{"files[]":e}:e,g&&new g,this.formSerializer)}}return r||n?(t.setContentType("application/json",!1),sI(e)):e}],transformResponse:[function(e){const t=this.transitional||ur.transitional,s=t&&t.forcedJSONParsing,n=this.responseType==="json";if(cA.isResponse(e)||cA.isReadableStream(e))return e;if(e&&cA.isString(e)&&(s&&!this.responseType||n)){const i=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e,this.parseReviver)}catch(a){if(i)throw a.name==="SyntaxError"?ae.from(a,ae.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ot.classes.FormData,Blob:Ot.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};cA.forEach(["delete","get","head","post","put","patch"],A=>{ur.headers[A]={}});const rI=cA.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),nI=A=>{const e={};let t,s,n;return A&&A.split(`
|
|
2
|
+
`).forEach(function(i){n=i.indexOf(":"),t=i.substring(0,n).trim().toLowerCase(),s=i.substring(n+1).trim(),!(!t||e[t]&&rI[t])&&(t==="set-cookie"?e[t]?e[t].push(s):e[t]=[s]:e[t]=e[t]?e[t]+", "+s:s)}),e},Cg=Symbol("internals");function Zs(A){return A&&String(A).trim().toLowerCase()}function Pr(A){return A===!1||A==null?A:cA.isArray(A)?A.map(Pr):String(A)}function iI(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=t.exec(A);)e[s[1]]=s[2];return e}const aI=A=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim());function Vn(A,e,t,s,n){if(cA.isFunction(s))return s.call(this,e,t);if(n&&(e=t),!!cA.isString(e)){if(cA.isString(s))return e.indexOf(s)!==-1;if(cA.isRegExp(s))return s.test(e)}}function gI(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,s)=>t.toUpperCase()+s)}function QI(A,e){const t=cA.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(A,s+t,{value:function(n,r,i){return this[s].call(this,e,n,r,i)},configurable:!0})})}let $t=class{constructor(e){e&&this.set(e)}set(e,t,s){const n=this;function r(a,g,Q){const l=Zs(g);if(!l)throw new Error("header name must be a non-empty string");const u=cA.findKey(n,l);(!u||n[u]===void 0||Q===!0||Q===void 0&&n[u]!==!1)&&(n[u||g]=Pr(a))}const i=(a,g)=>cA.forEach(a,(Q,l)=>r(Q,l,g));if(cA.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(cA.isString(e)&&(e=e.trim())&&!aI(e))i(nI(e),t);else if(cA.isObject(e)&&cA.isIterable(e)){let a={},g,Q;for(const l of e){if(!cA.isArray(l))throw TypeError("Object iterator must return a key-value pair");a[Q=l[0]]=(g=a[Q])?cA.isArray(g)?[...g,l[1]]:[g,l[1]]:l[1]}i(a,t)}else e!=null&&r(t,e,s);return this}get(e,t){if(e=Zs(e),e){const s=cA.findKey(this,e);if(s){const n=this[s];if(!t)return n;if(t===!0)return iI(n);if(cA.isFunction(t))return t.call(this,n,s);if(cA.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Zs(e),e){const s=cA.findKey(this,e);return!!(s&&this[s]!==void 0&&(!t||Vn(this,this[s],s,t)))}return!1}delete(e,t){const s=this;let n=!1;function r(i){if(i=Zs(i),i){const a=cA.findKey(s,i);a&&(!t||Vn(s,s[a],a,t))&&(delete s[a],n=!0)}}return cA.isArray(e)?e.forEach(r):r(e),n}clear(e){const t=Object.keys(this);let s=t.length,n=!1;for(;s--;){const r=t[s];(!e||Vn(this,this[r],r,e,!0))&&(delete this[r],n=!0)}return n}normalize(e){const t=this,s={};return cA.forEach(this,(n,r)=>{const i=cA.findKey(s,r);if(i){t[i]=Pr(n),delete t[r];return}const a=e?gI(r):String(r).trim();a!==r&&delete t[r],t[a]=Pr(n),s[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return cA.forEach(this,(s,n)=>{s!=null&&s!==!1&&(t[n]=e&&cA.isArray(s)?s.join(", "):s)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
|
|
3
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const s=new this(e);return t.forEach(n=>s.set(n)),s}static accessor(e){const s=(this[Cg]=this[Cg]={accessors:{}}).accessors,n=this.prototype;function r(i){const a=Zs(i);s[a]||(QI(n,i),s[a]=!0)}return cA.isArray(e)?e.forEach(r):r(e),this}};$t.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);cA.reduceDescriptors($t.prototype,({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(s){this[t]=s}}});cA.freezeMethods($t);function Zn(A,e){const t=this||ur,s=e||t,n=$t.from(s.headers);let r=s.data;return cA.forEach(A,function(a){r=a.call(t,r,n.normalize(),e?e.status:void 0)}),n.normalize(),r}function SB(A){return!!(A&&A.__CANCEL__)}let dr=class extends ae{constructor(e,t,s){super(e??"canceled",ae.ERR_CANCELED,t,s),this.name="CanceledError",this.__CANCEL__=!0}};function UB(A,e,t){const s=t.config.validateStatus;!t.status||!s||s(t.status)?A(t):e(new ae("Request failed with status code "+t.status,[ae.ERR_BAD_REQUEST,ae.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function BI(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}function lI(A,e){A=A||10;const t=new Array(A),s=new Array(A);let n=0,r=0,i;return e=e!==void 0?e:1e3,function(g){const Q=Date.now(),l=s[r];i||(i=Q),t[n]=g,s[n]=Q;let u=r,d=0;for(;u!==n;)d+=t[u++],u=u%A;if(n=(n+1)%A,n===r&&(r=(r+1)%A),Q-i<e)return;const E=l&&Q-l;return E?Math.round(d*1e3/E):void 0}}function EI(A,e){let t=0,s=1e3/e,n,r;const i=(Q,l=Date.now())=>{t=l,n=null,r&&(clearTimeout(r),r=null),A(...Q)};return[(...Q)=>{const l=Date.now(),u=l-t;u>=s?i(Q,l):(n=Q,r||(r=setTimeout(()=>{r=null,i(n)},s-u)))},()=>n&&i(n)]}const rn=(A,e,t=3)=>{let s=0;const n=lI(50,250);return EI(r=>{const i=r.loaded,a=r.lengthComputable?r.total:void 0,g=i-s,Q=n(g),l=i<=a;s=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:g,rate:Q||void 0,estimated:Q&&a&&l?(a-i)/Q:void 0,event:r,lengthComputable:a!=null,[e?"download":"upload"]:!0};A(u)},t)},Ig=(A,e)=>{const t=A!=null;return[s=>e[0]({lengthComputable:t,total:A,loaded:s}),e[1]]},ug=A=>(...e)=>cA.asap(()=>A(...e)),cI=Ot.hasStandardBrowserEnv?((A,e)=>t=>(t=new URL(t,Ot.origin),A.protocol===t.protocol&&A.host===t.host&&(e||A.port===t.port)))(new URL(Ot.origin),Ot.navigator&&/(msie|trident)/i.test(Ot.navigator.userAgent)):()=>!0,CI=Ot.hasStandardBrowserEnv?{write(A,e,t,s,n,r,i){if(typeof document>"u")return;const a=[`${A}=${encodeURIComponent(e)}`];cA.isNumber(t)&&a.push(`expires=${new Date(t).toUTCString()}`),cA.isString(s)&&a.push(`path=${s}`),cA.isString(n)&&a.push(`domain=${n}`),r===!0&&a.push("secure"),cA.isString(i)&&a.push(`SameSite=${i}`),document.cookie=a.join("; ")},read(A){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+A+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(A){this.write(A,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function II(A){return typeof A!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(A)}function uI(A,e){return e?A.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):A}function RB(A,e,t){let s=!II(e);return A&&(s||t==!1)?uI(A,e):e}const dg=A=>A instanceof $t?{...A}:A;function Is(A,e){e=e||{};const t={};function s(Q,l,u,d){return cA.isPlainObject(Q)&&cA.isPlainObject(l)?cA.merge.call({caseless:d},Q,l):cA.isPlainObject(l)?cA.merge({},l):cA.isArray(l)?l.slice():l}function n(Q,l,u,d){if(cA.isUndefined(l)){if(!cA.isUndefined(Q))return s(void 0,Q,u,d)}else return s(Q,l,u,d)}function r(Q,l){if(!cA.isUndefined(l))return s(void 0,l)}function i(Q,l){if(cA.isUndefined(l)){if(!cA.isUndefined(Q))return s(void 0,Q)}else return s(void 0,l)}function a(Q,l,u){if(u in e)return s(Q,l);if(u in A)return s(void 0,Q)}const g={url:r,method:r,data:r,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(Q,l,u)=>n(dg(Q),dg(l),u,!0)};return cA.forEach(Object.keys({...A,...e}),function(l){if(l==="__proto__"||l==="constructor"||l==="prototype")return;const u=cA.hasOwnProp(g,l)?g[l]:n,d=u(A[l],e[l],l);cA.isUndefined(d)&&u!==a||(t[l]=d)}),t}const KB=A=>{const e=Is({},A);let{data:t,withXSRFToken:s,xsrfHeaderName:n,xsrfCookieName:r,headers:i,auth:a}=e;if(e.headers=i=$t.from(i),e.url=GB(RB(e.baseURL,e.url,e.allowAbsoluteUrls),A.params,A.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),cA.isFormData(t)){if(Ot.hasStandardBrowserEnv||Ot.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(cA.isFunction(t.getHeaders)){const g=t.getHeaders(),Q=["content-type","content-length"];Object.entries(g).forEach(([l,u])=>{Q.includes(l.toLowerCase())&&i.set(l,u)})}}if(Ot.hasStandardBrowserEnv&&(s&&cA.isFunction(s)&&(s=s(e)),s||s!==!1&&cI(e.url))){const g=n&&r&&CI.read(r);g&&i.set(n,g)}return e},dI=typeof XMLHttpRequest<"u",hI=dI&&function(A){return new Promise(function(t,s){const n=KB(A);let r=n.data;const i=$t.from(n.headers).normalize();let{responseType:a,onUploadProgress:g,onDownloadProgress:Q}=n,l,u,d,E,C;function p(){E&&E(),C&&C(),n.cancelToken&&n.cancelToken.unsubscribe(l),n.signal&&n.signal.removeEventListener("abort",l)}let f=new XMLHttpRequest;f.open(n.method.toUpperCase(),n.url,!0),f.timeout=n.timeout;function M(){if(!f)return;const N=$t.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),L={data:!a||a==="text"||a==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:N,config:A,request:f};UB(function(AA){t(AA),p()},function(AA){s(AA),p()},L),f=null}"onloadend"in f?f.onloadend=M:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(M)},f.onabort=function(){f&&(s(new ae("Request aborted",ae.ECONNABORTED,A,f)),f=null)},f.onerror=function(T){const L=T&&T.message?T.message:"Network Error",Z=new ae(L,ae.ERR_NETWORK,A,f);Z.event=T||null,s(Z),f=null},f.ontimeout=function(){let T=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const L=n.transitional||wa;n.timeoutErrorMessage&&(T=n.timeoutErrorMessage),s(new ae(T,L.clarifyTimeoutError?ae.ETIMEDOUT:ae.ECONNABORTED,A,f)),f=null},r===void 0&&i.setContentType(null),"setRequestHeader"in f&&cA.forEach(i.toJSON(),function(T,L){f.setRequestHeader(L,T)}),cA.isUndefined(n.withCredentials)||(f.withCredentials=!!n.withCredentials),a&&a!=="json"&&(f.responseType=n.responseType),Q&&([d,C]=rn(Q,!0),f.addEventListener("progress",d)),g&&f.upload&&([u,E]=rn(g),f.upload.addEventListener("progress",u),f.upload.addEventListener("loadend",E)),(n.cancelToken||n.signal)&&(l=N=>{f&&(s(!N||N.type?new dr(null,A,f):N),f.abort(),f=null)},n.cancelToken&&n.cancelToken.subscribe(l),n.signal&&(n.signal.aborted?l():n.signal.addEventListener("abort",l)));const S=BI(n.url);if(S&&Ot.protocols.indexOf(S)===-1){s(new ae("Unsupported protocol "+S+":",ae.ERR_BAD_REQUEST,A));return}f.send(r||null)})},fI=(A,e)=>{const{length:t}=A=A?A.filter(Boolean):[];if(e||t){let s=new AbortController,n;const r=function(Q){if(!n){n=!0,a();const l=Q instanceof Error?Q:this.reason;s.abort(l instanceof ae?l:new dr(l instanceof Error?l.message:l))}};let i=e&&setTimeout(()=>{i=null,r(new ae(`timeout of ${e}ms exceeded`,ae.ETIMEDOUT))},e);const a=()=>{A&&(i&&clearTimeout(i),i=null,A.forEach(Q=>{Q.unsubscribe?Q.unsubscribe(r):Q.removeEventListener("abort",r)}),A=null)};A.forEach(Q=>Q.addEventListener("abort",r));const{signal:g}=s;return g.unsubscribe=()=>cA.asap(a),g}},pI=function*(A,e){let t=A.byteLength;if(t<e){yield A;return}let s=0,n;for(;s<t;)n=s+e,yield A.slice(s,n),s=n},mI=async function*(A,e){for await(const t of wI(A))yield*pI(t,e)},wI=async function*(A){if(A[Symbol.asyncIterator]){yield*A;return}const e=A.getReader();try{for(;;){const{done:t,value:s}=await e.read();if(t)break;yield s}}finally{await e.cancel()}},hg=(A,e,t,s)=>{const n=mI(A,e);let r=0,i,a=g=>{i||(i=!0,s&&s(g))};return new ReadableStream({async pull(g){try{const{done:Q,value:l}=await n.next();if(Q){a(),g.close();return}let u=l.byteLength;if(t){let d=r+=u;t(d)}g.enqueue(new Uint8Array(l))}catch(Q){throw a(Q),Q}},cancel(g){return a(g),n.return()}},{highWaterMark:2})},fg=64*1024,{isFunction:Mr}=cA,xI=(({Request:A,Response:e})=>({Request:A,Response:e}))(cA.global),{ReadableStream:pg,TextEncoder:mg}=cA.global,wg=(A,...e)=>{try{return!!A(...e)}catch{return!1}},DI=A=>{A=cA.merge.call({skipUndefined:!0},xI,A);const{fetch:e,Request:t,Response:s}=A,n=e?Mr(e):typeof fetch=="function",r=Mr(t),i=Mr(s);if(!n)return!1;const a=n&&Mr(pg),g=n&&(typeof mg=="function"?(C=>p=>C.encode(p))(new mg):async C=>new Uint8Array(await new t(C).arrayBuffer())),Q=r&&a&&wg(()=>{let C=!1;const p=new t(Ot.origin,{body:new pg,method:"POST",get duplex(){return C=!0,"half"}}).headers.has("Content-Type");return C&&!p}),l=i&&a&&wg(()=>cA.isReadableStream(new s("").body)),u={stream:l&&(C=>C.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(C=>{!u[C]&&(u[C]=(p,f)=>{let M=p&&p[C];if(M)return M.call(p);throw new ae(`Response type '${C}' is not supported`,ae.ERR_NOT_SUPPORT,f)})});const d=async C=>{if(C==null)return 0;if(cA.isBlob(C))return C.size;if(cA.isSpecCompliantForm(C))return(await new t(Ot.origin,{method:"POST",body:C}).arrayBuffer()).byteLength;if(cA.isArrayBufferView(C)||cA.isArrayBuffer(C))return C.byteLength;if(cA.isURLSearchParams(C)&&(C=C+""),cA.isString(C))return(await g(C)).byteLength},E=async(C,p)=>{const f=cA.toFiniteNumber(C.getContentLength());return f??d(p)};return async C=>{let{url:p,method:f,data:M,signal:S,cancelToken:N,timeout:T,onDownloadProgress:L,onUploadProgress:Z,responseType:AA,headers:_,withCredentials:J="same-origin",fetchOptions:P}=KB(C),b=e||fetch;AA=AA?(AA+"").toLowerCase():"text";let K=fI([S,N&&N.toAbortSignal()],T),w=null;const B=K&&K.unsubscribe&&(()=>{K.unsubscribe()});let I;try{if(Z&&Q&&f!=="get"&&f!=="head"&&(I=await E(_,M))!==0){let v=new t(p,{method:"POST",body:M,duplex:"half"}),c;if(cA.isFormData(M)&&(c=v.headers.get("content-type"))&&_.setContentType(c),v.body){const[h,U]=Ig(I,rn(ug(Z)));M=hg(v.body,fg,h,U)}}cA.isString(J)||(J=J?"include":"omit");const y=r&&"credentials"in t.prototype,G={...P,signal:K,method:f.toUpperCase(),headers:_.normalize().toJSON(),body:M,duplex:"half",credentials:y?J:void 0};w=r&&new t(p,G);let j=await(r?b(w,P):b(p,G));const O=l&&(AA==="stream"||AA==="response");if(l&&(L||O&&B)){const v={};["status","statusText","headers"].forEach(R=>{v[R]=j[R]});const c=cA.toFiniteNumber(j.headers.get("content-length")),[h,U]=L&&Ig(c,rn(ug(L),!0))||[];j=new s(hg(j.body,fg,h,()=>{U&&U(),B&&B()}),v)}AA=AA||"text";let z=await u[cA.findKey(u,AA)||"text"](j,C);return!O&&B&&B(),await new Promise((v,c)=>{UB(v,c,{data:z,headers:$t.from(j.headers),status:j.status,statusText:j.statusText,config:C,request:w})})}catch(y){throw B&&B(),y&&y.name==="TypeError"&&/Load failed|fetch/i.test(y.message)?Object.assign(new ae("Network Error",ae.ERR_NETWORK,C,w,y&&y.response),{cause:y.cause||y}):ae.from(y,y&&y.code,C,w,y&&y.response)}}},yI=new Map,JB=A=>{let e=A&&A.env||{};const{fetch:t,Request:s,Response:n}=e,r=[s,n,t];let i=r.length,a=i,g,Q,l=yI;for(;a--;)g=r[a],Q=l.get(g),Q===void 0&&l.set(g,Q=a?new Map:DI(e)),l=Q;return Q};JB();const Da={http:qC,xhr:hI,fetch:{get:JB}};cA.forEach(Da,(A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch{}Object.defineProperty(A,"adapterName",{value:e})}});const xg=A=>`- ${A}`,NI=A=>cA.isFunction(A)||A===null||A===!1;function kI(A,e){A=cA.isArray(A)?A:[A];const{length:t}=A;let s,n;const r={};for(let i=0;i<t;i++){s=A[i];let a;if(n=s,!NI(s)&&(n=Da[(a=String(s)).toLowerCase()],n===void 0))throw new ae(`Unknown adapter '${a}'`);if(n&&(cA.isFunction(n)||(n=n.get(e))))break;r[a||"#"+i]=n}if(!n){const i=Object.entries(r).map(([g,Q])=>`adapter ${g} `+(Q===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since :
|
|
4
|
+
`+i.map(xg).join(`
|
|
5
|
+
`):" "+xg(i[0]):"as no adapter specified";throw new ae("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n}const LB={getAdapter:kI,adapters:Da};function _n(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new dr(null,A)}function Dg(A){return _n(A),A.headers=$t.from(A.headers),A.data=Zn.call(A,A.transformRequest),["post","put","patch"].indexOf(A.method)!==-1&&A.headers.setContentType("application/x-www-form-urlencoded",!1),LB.getAdapter(A.adapter||ur.adapter,A)(A).then(function(s){return _n(A),s.data=Zn.call(A,A.transformResponse,s),s.headers=$t.from(s.headers),s},function(s){return SB(s)||(_n(A),s&&s.response&&(s.response.data=Zn.call(A,A.transformResponse,s.response),s.response.headers=$t.from(s.response.headers))),Promise.reject(s)})}const jB="1.13.6",kn={};["object","boolean","number","function","string","symbol"].forEach((A,e)=>{kn[A]=function(s){return typeof s===A||"a"+(e<1?"n ":" ")+A}});const yg={};kn.transitional=function(e,t,s){function n(r,i){return"[Axios v"+jB+"] Transitional option '"+r+"'"+i+(s?". "+s:"")}return(r,i,a)=>{if(e===!1)throw new ae(n(i," has been removed"+(t?" in "+t:"")),ae.ERR_DEPRECATED);return t&&!yg[i]&&(yg[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(r,i,a):!0}};kn.spelling=function(e){return(t,s)=>(console.warn(`${s} is likely a misspelling of ${e}`),!0)};function MI(A,e,t){if(typeof A!="object")throw new ae("options must be an object",ae.ERR_BAD_OPTION_VALUE);const s=Object.keys(A);let n=s.length;for(;n-- >0;){const r=s[n],i=e[r];if(i){const a=A[r],g=a===void 0||i(a,r,A);if(g!==!0)throw new ae("option "+r+" must be "+g,ae.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new ae("Unknown option "+r,ae.ERR_BAD_OPTION)}}const Wr={assertOptions:MI,validators:kn},ro=Wr.validators;let Bs=class{constructor(e){this.defaults=e||{},this.interceptors={request:new cg,response:new cg}}async request(e,t){try{return await this._request(e,t)}catch(s){if(s instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;const r=n.stack?n.stack.replace(/^.+\n/,""):"";try{s.stack?r&&!String(s.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(s.stack+=`
|
|
6
|
+
`+r):s.stack=r}catch{}}throw s}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Is(this.defaults,t);const{transitional:s,paramsSerializer:n,headers:r}=t;s!==void 0&&Wr.assertOptions(s,{silentJSONParsing:ro.transitional(ro.boolean),forcedJSONParsing:ro.transitional(ro.boolean),clarifyTimeoutError:ro.transitional(ro.boolean),legacyInterceptorReqResOrdering:ro.transitional(ro.boolean)},!1),n!=null&&(cA.isFunction(n)?t.paramsSerializer={serialize:n}:Wr.assertOptions(n,{encode:ro.function,serialize:ro.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Wr.assertOptions(t,{baseUrl:ro.spelling("baseURL"),withXsrfToken:ro.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=r&&cA.merge(r.common,r[t.method]);r&&cA.forEach(["delete","get","head","post","put","patch","common"],C=>{delete r[C]}),t.headers=$t.concat(i,r);const a=[];let g=!0;this.interceptors.request.forEach(function(p){if(typeof p.runWhen=="function"&&p.runWhen(t)===!1)return;g=g&&p.synchronous;const f=t.transitional||wa;f&&f.legacyInterceptorReqResOrdering?a.unshift(p.fulfilled,p.rejected):a.push(p.fulfilled,p.rejected)});const Q=[];this.interceptors.response.forEach(function(p){Q.push(p.fulfilled,p.rejected)});let l,u=0,d;if(!g){const C=[Dg.bind(this),void 0];for(C.unshift(...a),C.push(...Q),d=C.length,l=Promise.resolve(t);u<d;)l=l.then(C[u++],C[u++]);return l}d=a.length;let E=t;for(;u<d;){const C=a[u++],p=a[u++];try{E=C(E)}catch(f){p.call(this,f);break}}try{l=Dg.call(this,E)}catch(C){return Promise.reject(C)}for(u=0,d=Q.length;u<d;)l=l.then(Q[u++],Q[u++]);return l}getUri(e){e=Is(this.defaults,e);const t=RB(e.baseURL,e.url,e.allowAbsoluteUrls);return GB(t,e.params,e.paramsSerializer)}};cA.forEach(["delete","get","head","options"],function(e){Bs.prototype[e]=function(t,s){return this.request(Is(s||{},{method:e,url:t,data:(s||{}).data}))}});cA.forEach(["post","put","patch"],function(e){function t(s){return function(r,i,a){return this.request(Is(a||{},{method:e,headers:s?{"Content-Type":"multipart/form-data"}:{},url:r,data:i}))}}Bs.prototype[e]=t(),Bs.prototype[e+"Form"]=t(!0)});let bI=class TB{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(r){t=r});const s=this;this.promise.then(n=>{if(!s._listeners)return;let r=s._listeners.length;for(;r-- >0;)s._listeners[r](n);s._listeners=null}),this.promise.then=n=>{let r;const i=new Promise(a=>{s.subscribe(a),r=a}).then(n);return i.cancel=function(){s.unsubscribe(r)},i},e(function(r,i,a){s.reason||(s.reason=new dr(r,i,a),t(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=s=>{e.abort(s)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new TB(function(n){e=n}),cancel:e}}};function FI(A){return function(t){return A.apply(null,t)}}function GI(A){return cA.isObject(A)&&A.isAxiosError===!0}const Ki={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ki).forEach(([A,e])=>{Ki[e]=A});function OB(A){const e=new Bs(A),t=pB(Bs.prototype.request,e);return cA.extend(t,Bs.prototype,e,{allOwnKeys:!0}),cA.extend(t,e,null,{allOwnKeys:!0}),t.create=function(n){return OB(Is(A,n))},t}const ut=OB(ur);ut.Axios=Bs;ut.CanceledError=dr;ut.CancelToken=bI;ut.isCancel=SB;ut.VERSION=jB;ut.toFormData=Nn;ut.AxiosError=ae;ut.Cancel=ut.CanceledError;ut.all=function(e){return Promise.all(e)};ut.spread=FI;ut.isAxiosError=GI;ut.mergeConfig=Is;ut.AxiosHeaders=$t;ut.formToJSON=A=>vB(cA.isHTMLForm(A)?new FormData(A):A);ut.getAdapter=LB.getAdapter;ut.HttpStatusCode=Ki;ut.default=ut;const{Axios:ny,AxiosError:iy,CanceledError:ay,isCancel:gy,CancelToken:Qy,VERSION:By,all:ly,Cancel:Ey,isAxiosError:cy,spread:Cy,toFormData:Iy,AxiosHeaders:uy,HttpStatusCode:dy,formToJSON:hy,getAdapter:fy,mergeConfig:py}=ut,vI=({onRequest:A,onSseError:e,onSseEvent:t,responseTransformer:s,responseValidator:n,sseDefaultRetryDelay:r,sseMaxRetryAttempts:i,sseMaxRetryDelay:a,sseSleepFn:g,url:Q,...l})=>{let u;const d=g??(p=>new Promise(f=>setTimeout(f,p)));return{stream:async function*(){let p=r??3e3,f=0;const M=l.signal??new AbortController().signal;for(;!M.aborted;){f++;const S=l.headers instanceof Headers?l.headers:new Headers(l.headers);u!==void 0&&S.set("Last-Event-ID",u);try{const N={redirect:"follow",...l,body:l.serializedBody,headers:S,signal:M};let T=new Request(Q,N);A&&(T=await A(Q,N));const Z=await(l.fetch??globalThis.fetch)(T);if(!Z.ok)throw new Error(`SSE failed: ${Z.status} ${Z.statusText}`);if(!Z.body)throw new Error("No body in SSE response");const AA=Z.body.pipeThrough(new TextDecoderStream).getReader();let _="";const J=()=>{try{AA.cancel()}catch{}};M.addEventListener("abort",J);try{for(;;){const{done:P,value:b}=await AA.read();if(P)break;_+=b;const K=_.split(`
|
|
7
|
+
|
|
8
|
+
`);_=K.pop()??"";for(const w of K){const B=w.split(`
|
|
9
|
+
`),I=[];let y;for(const O of B)if(O.startsWith("data:"))I.push(O.replace(/^data:\s*/,""));else if(O.startsWith("event:"))y=O.replace(/^event:\s*/,"");else if(O.startsWith("id:"))u=O.replace(/^id:\s*/,"");else if(O.startsWith("retry:")){const z=Number.parseInt(O.replace(/^retry:\s*/,""),10);Number.isNaN(z)||(p=z)}let G,j=!1;if(I.length){const O=I.join(`
|
|
10
|
+
`);try{G=JSON.parse(O),j=!0}catch{G=O}}j&&(n&&await n(G),s&&(G=await s(G))),t?.({data:G,event:y,id:u,retry:p}),I.length&&(yield G)}}}finally{M.removeEventListener("abort",J),AA.releaseLock()}break}catch(N){if(e?.(N),i!==void 0&&f>=i)break;const T=Math.min(p*2**(f-1),a??3e4);await d(T)}}}()}},SI=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},UI=A=>{switch(A){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},RI=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},qB=({allowReserved:A,explode:e,name:t,style:s,value:n})=>{if(!e){const a=(A?n:n.map(g=>encodeURIComponent(g))).join(UI(s));switch(s){case"label":return`.${a}`;case"matrix":return`;${t}=${a}`;case"simple":return a;default:return`${t}=${a}`}}const r=SI(s),i=n.map(a=>s==="label"||s==="simple"?A?a:encodeURIComponent(a):Mn({allowReserved:A,name:t,value:a})).join(r);return s==="label"||s==="matrix"?r+i:i},Mn=({allowReserved:A,name:e,value:t})=>{if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${A?t:encodeURIComponent(t)}`},YB=({allowReserved:A,explode:e,name:t,style:s,value:n,valueOnly:r})=>{if(n instanceof Date)return r?n.toISOString():`${t}=${n.toISOString()}`;if(s!=="deepObject"&&!e){let g=[];Object.entries(n).forEach(([l,u])=>{g=[...g,l,A?u:encodeURIComponent(u)]});const Q=g.join(",");switch(s){case"form":return`${t}=${Q}`;case"label":return`.${Q}`;case"matrix":return`;${t}=${Q}`;default:return Q}}const i=RI(s),a=Object.entries(n).map(([g,Q])=>Mn({allowReserved:A,name:s==="deepObject"?`${t}[${g}]`:g,value:Q})).join(i);return s==="label"||s==="matrix"?i+a:a},KI=/\{[^{}]+\}/g,JI=({path:A,url:e})=>{let t=e;const s=e.match(KI);if(s)for(const n of s){let r=!1,i=n.substring(1,n.length-1),a="simple";i.endsWith("*")&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(".")?(i=i.substring(1),a="label"):i.startsWith(";")&&(i=i.substring(1),a="matrix");const g=A[i];if(g==null)continue;if(Array.isArray(g)){t=t.replace(n,qB({explode:r,name:i,style:a,value:g}));continue}if(typeof g=="object"){t=t.replace(n,YB({explode:r,name:i,style:a,value:g,valueOnly:!0}));continue}if(a==="matrix"){t=t.replace(n,`;${Mn({name:i,value:g})}`);continue}const Q=encodeURIComponent(a==="label"?`.${g}`:g);t=t.replace(n,Q)}return t},LI=({baseUrl:A,path:e,query:t,querySerializer:s,url:n})=>{const r=n.startsWith("/")?n:`/${n}`;let i=(A??"")+r;e&&(i=JI({path:e,url:i}));let a=t?s(t):"";return a.startsWith("?")&&(a=a.substring(1)),a&&(i+=`?${a}`),i};function jI(A){const e=A.body!==void 0;if(e&&A.bodySerializer)return"serializedBody"in A?A.serializedBody!==void 0&&A.serializedBody!==""?A.serializedBody:null:A.body!==""?A.body:null;if(e)return A.body}const TI=async(A,e)=>{const t=typeof e=="function"?await e(A):e;if(t)return A.scheme==="bearer"?`Bearer ${t}`:A.scheme==="basic"?`Basic ${btoa(t)}`:t},OI=({allowReserved:A,array:e,object:t}={})=>n=>{const r=[];if(n&&typeof n=="object")for(const i in n){const a=n[i];if(a!=null)if(Array.isArray(a)){const g=qB({allowReserved:A,explode:!0,name:i,style:"form",value:a,...e});g&&r.push(g)}else if(typeof a=="object"){const g=YB({allowReserved:A,explode:!0,name:i,style:"deepObject",value:a,...t});g&&r.push(g)}else{const g=Mn({allowReserved:A,name:i,value:a});g&&r.push(g)}}return r.join("&")},qI=(A,e)=>e?e in A.headers||A.query?.[e]?!0:"Cookie"in A.headers&&A.headers.Cookie&&typeof A.headers.Cookie=="string"?A.headers.Cookie.includes(`${e}=`):!1:!1,YI=async({security:A,...e})=>{for(const t of A){if(qI(e,t.name))continue;const s=await TI(t,e.auth);if(!s)continue;const n=t.name??"Authorization";switch(t.in){case"query":e.query||(e.query={}),e.query[n]=s;break;case"cookie":{const r=`${n}=${s}`;"Cookie"in e.headers&&e.headers.Cookie?e.headers.Cookie=`${e.headers.Cookie}; ${r}`:e.headers.Cookie=r;break}default:e.headers[n]=s;break}}},Ng=A=>{const e=A.axios?.defaults?.baseURL,t=A.baseURL&&typeof A.baseURL=="string"?A.baseURL:e;return LI({baseUrl:t,path:A.path,query:A.paramsSerializer?void 0:A.query,querySerializer:typeof A.querySerializer=="function"?A.querySerializer:OI(A.querySerializer),url:A.url})},kg=(A,e)=>{const t={...A,...e};return t.headers=Ji(A.headers,e.headers),t},HI=["common","delete","get","head","patch","post","put"],Ji=(...A)=>{const e={};for(const t of A){if(!t||typeof t!="object")continue;const s=Object.entries(t);for(const[n,r]of s)if(HI.includes(n)&&typeof r=="object")e[n]={...e[n],...r};else if(r===null)delete e[n];else if(Array.isArray(r))for(const i of r)e[n]=[...e[n]??[],i];else r!==void 0&&(e[n]=typeof r=="object"?JSON.stringify(r):r)}return e},HB=(A={})=>({...A}),PI=(A={})=>{let e=kg(HB(),A),t;if(e.axios&&!("Axios"in e.axios))t=e.axios;else{const{auth:Q,...l}=e;t=ut.create(l)}const s=()=>({...e}),n=Q=>(e=kg(e,Q),t.defaults={...t.defaults,...e,headers:Ji(t.defaults.headers,e.headers)},s()),r=async Q=>{const l={...e,...Q,axios:Q.axios??e.axios??t,headers:Ji(e.headers,Q.headers)};l.security&&await YI({...l,security:l.security}),l.requestValidator&&await l.requestValidator(l),l.body!==void 0&&l.bodySerializer&&(l.body=l.bodySerializer(l.body));const u=Ng(l);return{opts:l,url:u}},i=async Q=>{const{opts:l,url:u}=await r(Q);try{const d=l.axios,{auth:E,...C}=l,p=await d({...C,baseURL:"",data:jI(l),headers:l.headers,params:l.paramsSerializer?l.query:void 0,url:u});let{data:f}=p;return l.responseType==="json"&&(l.responseValidator&&await l.responseValidator(f),l.responseTransformer&&(f=await l.responseTransformer(f))),{...p,data:f??{}}}catch(d){const E=d;if(l.throwOnError)throw E;return E.error=E.response?.data??{},E}},a=Q=>l=>i({...l,method:Q}),g=Q=>async l=>{const{opts:u,url:d}=await r(l);return vI({...u,body:u.body,headers:u.headers,method:Q,signal:u.signal,url:d})};return{buildUrl:Ng,connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:s,head:a("HEAD"),instance:t,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:i,setConfig:n,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:a("TRACE")}},WI=(A={})=>({...A,baseURL:A.baseURL}),NA=PI(WI(HB())),zI=A=>(A?.client??NA).get({responseType:"json",url:"/v1/auth/status",...A}),VI=A=>(A?.client??NA).post({responseType:"json",url:"/v1/auth/setu/setup",...A}),ZI=A=>(A.client??NA).post({responseType:"json",url:"/v1/auth/setu/import",...A,headers:{"Content-Type":"application/json",...A.headers}}),_I=A=>(A?.client??NA).get({responseType:"json",url:"/v1/auth/setu/export",...A}),XI=A=>(A.client??NA).delete({responseType:"json",url:"/v1/auth/{provider}",...A}),$I=A=>(A.client??NA).post({responseType:"json",url:"/v1/auth/{provider}",...A,headers:{"Content-Type":"application/json",...A.headers}}),Au=A=>(A.client??NA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/url",...A,headers:{"Content-Type":"application/json",...A.headers}}),eu=A=>(A.client??NA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/exchange",...A,headers:{"Content-Type":"application/json",...A.headers}}),tu=A=>(A?.client??NA).post({responseType:"json",url:"/v1/auth/copilot/device/start",...A}),ou=A=>(A.client??NA).post({responseType:"json",url:"/v1/auth/copilot/device/poll",...A,headers:{"Content-Type":"application/json",...A.headers}}),su=A=>(A?.client??NA).get({responseType:"json",url:"/v1/auth/copilot/methods",...A}),ru=A=>(A.client??NA).post({responseType:"json",url:"/v1/auth/copilot/token",...A,headers:{"Content-Type":"application/json",...A.headers}}),nu=A=>(A?.client??NA).post({responseType:"json",url:"/v1/auth/copilot/gh/import",...A}),iu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/auth/copilot/diagnostics",...A}),au=A=>(A?.client??NA).post({responseType:"json",url:"/v1/auth/onboarding/complete",...A}),gu=A=>(A.client??NA).post({responseType:"json",url:"/v1/sessions/{sessionId}/branch",...A,headers:{"Content-Type":"application/json",...A.headers}}),Qu=A=>(A.client??NA).get({responseType:"json",url:"/v1/sessions/{sessionId}/branches",...A}),Bu=A=>(A.client??NA).get({responseType:"json",url:"/v1/sessions/{sessionId}/parent",...A}),lu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/config",...A}),Eu=A=>(A.client??NA).get({responseType:"json",url:"/v1/config/providers/{provider}/models",...A}),cu=A=>(A.client??NA).patch({responseType:"json",url:"/v1/config/defaults",...A,headers:{"Content-Type":"application/json",...A.headers}}),Cu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/config/models",...A}),Iu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/files",...A}),uu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/files/tree",...A}),du=A=>(A.client??NA).get({responseType:"json",url:"/v1/files/read",...A}),hu=A=>(A?.client??NA).post({responseType:"json",url:"/v1/git/init",...A,headers:{"Content-Type":"application/json",...A?.headers}}),fu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/git/status",...A}),Mg=A=>(A.client??NA).get({responseType:"json",url:"/v1/git/diff",...A}),pu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/git/branch",...A}),mu=A=>(A.client??NA).post({responseType:"json",url:"/v1/git/stage",...A,headers:{"Content-Type":"application/json",...A.headers}}),wu=A=>(A.client??NA).post({responseType:"json",url:"/v1/git/unstage",...A,headers:{"Content-Type":"application/json",...A.headers}}),xu=A=>(A.client??NA).post({responseType:"json",url:"/v1/git/commit",...A,headers:{"Content-Type":"application/json",...A.headers}}),Du=A=>(A?.client??NA).post({responseType:"json",url:"/v1/git/generate-commit-message",...A,headers:{"Content-Type":"application/json",...A?.headers}}),yu=A=>(A?.client??NA).post({responseType:"json",url:"/v1/git/push",...A,headers:{"Content-Type":"application/json",...A?.headers}}),Nu=A=>(A?.client??NA).post({responseType:"json",url:"/v1/git/pull",...A,headers:{"Content-Type":"application/json",...A?.headers}}),ku=A=>(A.client??NA).post({responseType:"json",url:"/v1/git/restore",...A,headers:{"Content-Type":"application/json",...A.headers}}),Mu=A=>(A.client??NA).post({responseType:"json",url:"/v1/git/delete",...A,headers:{"Content-Type":"application/json",...A.headers}}),bu=A=>(A.client??NA).delete({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),Fu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/git/remotes",...A}),Gu=A=>(A.client??NA).post({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),vu=A=>(A?.client??NA).get({responseType:"json",url:"/v1/mcp/servers",...A}),Su=A=>(A.client??NA).post({responseType:"json",url:"/v1/mcp/servers",...A,headers:{"Content-Type":"application/json",...A.headers}}),Uu=A=>(A.client??NA).delete({responseType:"json",url:"/v1/mcp/servers/{name}",...A}),Ru=A=>(A.client??NA).post({responseType:"json",url:"/v1/mcp/servers/{name}/start",...A}),Ku=A=>(A.client??NA).post({responseType:"json",url:"/v1/mcp/servers/{name}/stop",...A}),Ju=A=>(A.client??NA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth",...A}),Lu=A=>(A.client??NA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth/callback",...A,headers:{"Content-Type":"application/json",...A.headers}}),ju=A=>(A.client??NA).get({responseType:"json",url:"/v1/mcp/servers/{name}/auth/status",...A}),Tu=A=>(A.client??NA).get({responseType:"json",url:"/v1/sessions/{id}/messages",...A}),Ou=A=>(A.client??NA).post({responseType:"json",url:"/v1/sessions/{id}/messages",...A,headers:{"Content-Type":"application/json",...A.headers}}),qu=A=>(A.client??NA).get({responseType:"json",url:"/v1/provider-usage/{provider}",...A}),Yu=A=>(A.client??NA).post({responseType:"json",url:"/v1/sessions/{id}/approval",...A,headers:{"Content-Type":"application/json",...A.headers}}),Hu=A=>(A.client??NA).get({responseType:"json",url:"/v1/sessions/{id}/approval/pending",...A}),Pu=A=>(A.client??NA).delete({responseType:"json",url:"/v1/sessions/{sessionId}",...A}),Wu=A=>(A.client??NA).patch({responseType:"json",url:"/v1/sessions/{sessionId}",...A,headers:{"Content-Type":"application/json",...A.headers}}),zu=A=>(A.client??NA).get({responseType:"json",url:"/v1/sessions/{sessionId}/queue",...A}),Vu=A=>(A.client??NA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/queue/{messageId}",...A}),Zu=A=>(A.client??NA).post({responseType:"json",url:"/v1/sessions/{sessionId}/messages/{messageId}/retry",...A}),_u=A=>(A.client??NA).get({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),Xu=A=>(A.client??NA).post({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),$u=A=>(A.client??NA).put({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),Ad=A=>(A.client??NA).get({responseType:"json",url:"/v1/sessions/{sessionId}/files",...A}),ed=A=>(A?.client??NA).get({responseType:"json",url:"/v1/sessions",...A}),td=A=>(A?.client??NA).post({responseType:"json",url:"/v1/sessions",...A,headers:{"Content-Type":"application/json",...A?.headers}}),bg=A=>(A.client??NA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/abort",...A}),od=A=>(A?.client??NA).get({responseType:"json",url:"/v1/setu/balance",...A}),sd=A=>(A?.client??NA).get({responseType:"json",url:"/v1/setu/wallet",...A}),rd=A=>(A?.client??NA).get({responseType:"json",url:"/v1/setu/usdc-balance",...A}),nd=A=>(A.client??NA).post({responseType:"json",url:"/v1/setu/topup/polar",...A,headers:{"Content-Type":"application/json",...A.headers}}),id=A=>(A.client??NA).post({responseType:"json",url:"/v1/setu/topup/select",...A,headers:{"Content-Type":"application/json",...A.headers}}),ad=A=>(A.client??NA).post({responseType:"json",url:"/v1/setu/topup/cancel",...A,headers:{"Content-Type":"application/json",...A.headers}}),gd=A=>(A.client??NA).get({responseType:"json",url:"/v1/setu/topup/pending",...A}),Qd=A=>(A.client??NA).get({responseType:"json",url:"/v1/setu/topup/polar/estimate",...A}),Bd=A=>(A.client??NA).get({responseType:"json",url:"/v1/setu/topup/polar/status",...A}),ld=A=>(A.client??NA).get({responseType:"json",url:"/v1/setu/topup/razorpay/estimate",...A}),Ed=A=>(A.client??NA).post({responseType:"json",url:"/v1/setu/topup/razorpay",...A,headers:{"Content-Type":"application/json",...A.headers}}),cd=A=>(A.client??NA).post({responseType:"json",url:"/v1/setu/topup/razorpay/verify",...A,headers:{"Content-Type":"application/json",...A.headers}}),Cd=A=>(A?.client??NA).get({responseType:"json",url:"/v1/skills",...A}),Id=A=>(A.client??NA).get({responseType:"json",url:"/v1/skills/{name}",...A}),ud=A=>(A.client??NA).get({responseType:"json",url:"/v1/skills/{name}/files",...A}),dd=A=>(A.client??NA).get({responseType:"json",url:"/v1/skills/{name}/files/{filePath}",...A}),hd=A=>(A?.client??NA).get({responseType:"json",url:"/v1/terminals",...A}),fd=A=>(A.client??NA).post({responseType:"json",url:"/v1/terminals",...A,headers:{"Content-Type":"application/json",...A.headers}}),pd=A=>(A.client??NA).delete({responseType:"json",url:"/v1/terminals/{id}",...A});function PB(){return nt({queryKey:["terminals"],queryFn:async()=>{const A=await hd();if(A.error)throw new Error("Failed to fetch terminals");return A.data},refetchInterval:2e3})}function md(){const A=be();return Ye({mutationFn:async e=>{const t=await fd({body:e});if(t.error)throw new Error("Failed to create terminal");return t.data},onSuccess:async()=>{await A.invalidateQueries({queryKey:["terminals"]})}})}function wd(){const A=be();return Ye({mutationFn:async e=>{if((await pd({path:{id:e}})).error)throw new Error("Failed to kill terminal")},onSuccess:()=>{A.invalidateQueries({queryKey:["terminals"]})}})}const xd=D.memo(function({terminals:e,onNewTerminal:t,onKillTerminal:s,isCreating:n}){const r=eo(a=>a.activeTabId),i=eo(a=>a.selectTab);return o.jsxs("div",{className:"flex items-center gap-0 overflow-x-auto scrollbar-none",children:[e.map(a=>{const g=a.id===r,Q=a.status==="running";return o.jsxs("div",{className:`group flex items-center gap-1.5 px-3 h-9 border-r border-border cursor-pointer select-none shrink-0 transition-colors ${g?"bg-background text-foreground":"bg-muted/30 text-muted-foreground hover:bg-muted/60"}`,onClick:()=>i(a.id),onKeyDown:l=>{l.key==="Enter"&&i(a.id)},role:"tab","aria-selected":g,tabIndex:0,children:[o.jsx("span",{className:"shrink-0",children:a.createdBy==="llm"?o.jsx(Ic,{className:"w-3 h-3 text-blue-500"}):o.jsx(la,{className:"w-3 h-3 text-green-500"})}),o.jsx("span",{className:"text-xs font-medium truncate max-w-[120px]",children:a.title||a.purpose}),!Q&&o.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-orange-500 shrink-0"}),o.jsx("button",{type:"button",className:"shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-100 hover:bg-muted transition-opacity",onClick:l=>{l.stopPropagation(),s(a.id)},title:"Close terminal",children:o.jsx(st,{className:"w-3 h-3"})})]},a.id)}),o.jsx("button",{type:"button",className:"flex items-center justify-center w-8 h-9 shrink-0 text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",onClick:t,disabled:n,title:"New terminal",children:o.jsx(co,{className:"w-3.5 h-3.5"})})]})}),WB="/assets/JetBrainsMonoNerdFontMono-Bold-CU80ifuM.woff2",zB="/assets/JetBrainsMonoNerdFontMono-BoldItalic-D8WKzlhG.woff2",VB="/assets/JetBrainsMonoNerdFontMono-Italic-CO98v9JQ.woff2",ZB="/assets/JetBrainsMonoNerdFontMono-Regular-QVq88ZfU.woff2";var ya=(A=>(A[A.CURSOR_KEY_APPLICATION=0]="CURSOR_KEY_APPLICATION",A[A.KEYPAD_KEY_APPLICATION=1]="KEYPAD_KEY_APPLICATION",A[A.IGNORE_KEYPAD_WITH_NUMLOCK=2]="IGNORE_KEYPAD_WITH_NUMLOCK",A[A.ALT_ESC_PREFIX=3]="ALT_ESC_PREFIX",A[A.MODIFY_OTHER_KEYS_STATE_2=4]="MODIFY_OTHER_KEYS_STATE_2",A[A.KITTY_KEYBOARD_FLAGS=5]="KITTY_KEYBOARD_FLAGS",A))(ya||{}),_B=(A=>(A[A.RELEASE=0]="RELEASE",A[A.PRESS=1]="PRESS",A[A.REPEAT=2]="REPEAT",A))(_B||{}),IA=(A=>(A[A.UNIDENTIFIED=0]="UNIDENTIFIED",A[A.GRAVE=1]="GRAVE",A[A.BACKSLASH=2]="BACKSLASH",A[A.BRACKET_LEFT=3]="BRACKET_LEFT",A[A.BRACKET_RIGHT=4]="BRACKET_RIGHT",A[A.COMMA=5]="COMMA",A[A.ZERO=6]="ZERO",A[A.ONE=7]="ONE",A[A.TWO=8]="TWO",A[A.THREE=9]="THREE",A[A.FOUR=10]="FOUR",A[A.FIVE=11]="FIVE",A[A.SIX=12]="SIX",A[A.SEVEN=13]="SEVEN",A[A.EIGHT=14]="EIGHT",A[A.NINE=15]="NINE",A[A.EQUAL=16]="EQUAL",A[A.INTL_BACKSLASH=17]="INTL_BACKSLASH",A[A.INTL_RO=18]="INTL_RO",A[A.INTL_YEN=19]="INTL_YEN",A[A.A=20]="A",A[A.B=21]="B",A[A.C=22]="C",A[A.D=23]="D",A[A.E=24]="E",A[A.F=25]="F",A[A.G=26]="G",A[A.H=27]="H",A[A.I=28]="I",A[A.J=29]="J",A[A.K=30]="K",A[A.L=31]="L",A[A.M=32]="M",A[A.N=33]="N",A[A.O=34]="O",A[A.P=35]="P",A[A.Q=36]="Q",A[A.R=37]="R",A[A.S=38]="S",A[A.T=39]="T",A[A.U=40]="U",A[A.V=41]="V",A[A.W=42]="W",A[A.X=43]="X",A[A.Y=44]="Y",A[A.Z=45]="Z",A[A.MINUS=46]="MINUS",A[A.PERIOD=47]="PERIOD",A[A.QUOTE=48]="QUOTE",A[A.SEMICOLON=49]="SEMICOLON",A[A.SLASH=50]="SLASH",A[A.ALT_LEFT=51]="ALT_LEFT",A[A.ALT_RIGHT=52]="ALT_RIGHT",A[A.BACKSPACE=53]="BACKSPACE",A[A.CAPS_LOCK=54]="CAPS_LOCK",A[A.CONTEXT_MENU=55]="CONTEXT_MENU",A[A.CONTROL_LEFT=56]="CONTROL_LEFT",A[A.CONTROL_RIGHT=57]="CONTROL_RIGHT",A[A.ENTER=58]="ENTER",A[A.META_LEFT=59]="META_LEFT",A[A.META_RIGHT=60]="META_RIGHT",A[A.SHIFT_LEFT=61]="SHIFT_LEFT",A[A.SHIFT_RIGHT=62]="SHIFT_RIGHT",A[A.SPACE=63]="SPACE",A[A.TAB=64]="TAB",A[A.CONVERT=65]="CONVERT",A[A.KANA_MODE=66]="KANA_MODE",A[A.NON_CONVERT=67]="NON_CONVERT",A[A.DELETE=68]="DELETE",A[A.END=69]="END",A[A.HELP=70]="HELP",A[A.HOME=71]="HOME",A[A.INSERT=72]="INSERT",A[A.PAGE_DOWN=73]="PAGE_DOWN",A[A.PAGE_UP=74]="PAGE_UP",A[A.DOWN=75]="DOWN",A[A.LEFT=76]="LEFT",A[A.RIGHT=77]="RIGHT",A[A.UP=78]="UP",A[A.NUM_LOCK=79]="NUM_LOCK",A[A.KP_0=80]="KP_0",A[A.KP_1=81]="KP_1",A[A.KP_2=82]="KP_2",A[A.KP_3=83]="KP_3",A[A.KP_4=84]="KP_4",A[A.KP_5=85]="KP_5",A[A.KP_6=86]="KP_6",A[A.KP_7=87]="KP_7",A[A.KP_8=88]="KP_8",A[A.KP_9=89]="KP_9",A[A.KP_PLUS=90]="KP_PLUS",A[A.KP_BACKSPACE=91]="KP_BACKSPACE",A[A.KP_CLEAR=92]="KP_CLEAR",A[A.KP_CLEAR_ENTRY=93]="KP_CLEAR_ENTRY",A[A.KP_COMMA=94]="KP_COMMA",A[A.KP_PERIOD=95]="KP_PERIOD",A[A.KP_DIVIDE=96]="KP_DIVIDE",A[A.KP_ENTER=97]="KP_ENTER",A[A.KP_EQUAL=98]="KP_EQUAL",A[A.KP_MEMORY_ADD=99]="KP_MEMORY_ADD",A[A.KP_MEMORY_CLEAR=100]="KP_MEMORY_CLEAR",A[A.KP_MEMORY_RECALL=101]="KP_MEMORY_RECALL",A[A.KP_MEMORY_STORE=102]="KP_MEMORY_STORE",A[A.KP_MEMORY_SUBTRACT=103]="KP_MEMORY_SUBTRACT",A[A.KP_MULTIPLY=104]="KP_MULTIPLY",A[A.KP_PAREN_LEFT=105]="KP_PAREN_LEFT",A[A.KP_PAREN_RIGHT=106]="KP_PAREN_RIGHT",A[A.KP_MINUS=107]="KP_MINUS",A[A.KP_SEPARATOR=108]="KP_SEPARATOR",A[A.NUMPAD_UP=109]="NUMPAD_UP",A[A.NUMPAD_DOWN=110]="NUMPAD_DOWN",A[A.NUMPAD_RIGHT=111]="NUMPAD_RIGHT",A[A.NUMPAD_LEFT=112]="NUMPAD_LEFT",A[A.NUMPAD_BEGIN=113]="NUMPAD_BEGIN",A[A.NUMPAD_HOME=114]="NUMPAD_HOME",A[A.NUMPAD_END=115]="NUMPAD_END",A[A.NUMPAD_INSERT=116]="NUMPAD_INSERT",A[A.NUMPAD_DELETE=117]="NUMPAD_DELETE",A[A.NUMPAD_PAGE_UP=118]="NUMPAD_PAGE_UP",A[A.NUMPAD_PAGE_DOWN=119]="NUMPAD_PAGE_DOWN",A[A.ESCAPE=120]="ESCAPE",A[A.F1=121]="F1",A[A.F2=122]="F2",A[A.F3=123]="F3",A[A.F4=124]="F4",A[A.F5=125]="F5",A[A.F6=126]="F6",A[A.F7=127]="F7",A[A.F8=128]="F8",A[A.F9=129]="F9",A[A.F10=130]="F10",A[A.F11=131]="F11",A[A.F12=132]="F12",A[A.F13=133]="F13",A[A.F14=134]="F14",A[A.F15=135]="F15",A[A.F16=136]="F16",A[A.F17=137]="F17",A[A.F18=138]="F18",A[A.F19=139]="F19",A[A.F20=140]="F20",A[A.F21=141]="F21",A[A.F22=142]="F22",A[A.F23=143]="F23",A[A.F24=144]="F24",A[A.F25=145]="F25",A[A.FN_LOCK=146]="FN_LOCK",A[A.PRINT_SCREEN=147]="PRINT_SCREEN",A[A.SCROLL_LOCK=148]="SCROLL_LOCK",A[A.PAUSE=149]="PAUSE",A[A.BROWSER_BACK=150]="BROWSER_BACK",A[A.BROWSER_FAVORITES=151]="BROWSER_FAVORITES",A[A.BROWSER_FORWARD=152]="BROWSER_FORWARD",A[A.BROWSER_HOME=153]="BROWSER_HOME",A[A.BROWSER_REFRESH=154]="BROWSER_REFRESH",A[A.BROWSER_SEARCH=155]="BROWSER_SEARCH",A[A.BROWSER_STOP=156]="BROWSER_STOP",A[A.EJECT=157]="EJECT",A[A.LAUNCH_APP_1=158]="LAUNCH_APP_1",A[A.LAUNCH_APP_2=159]="LAUNCH_APP_2",A[A.LAUNCH_MAIL=160]="LAUNCH_MAIL",A[A.MEDIA_PLAY_PAUSE=161]="MEDIA_PLAY_PAUSE",A[A.MEDIA_SELECT=162]="MEDIA_SELECT",A[A.MEDIA_STOP=163]="MEDIA_STOP",A[A.MEDIA_TRACK_NEXT=164]="MEDIA_TRACK_NEXT",A[A.MEDIA_TRACK_PREVIOUS=165]="MEDIA_TRACK_PREVIOUS",A[A.POWER=166]="POWER",A[A.SLEEP=167]="SLEEP",A[A.AUDIO_VOLUME_DOWN=168]="AUDIO_VOLUME_DOWN",A[A.AUDIO_VOLUME_MUTE=169]="AUDIO_VOLUME_MUTE",A[A.AUDIO_VOLUME_UP=170]="AUDIO_VOLUME_UP",A[A.WAKE_UP=171]="WAKE_UP",A[A.COPY=172]="COPY",A[A.CUT=173]="CUT",A[A.PASTE=174]="PASTE",A))(IA||{}),zo=(A=>(A[A.NONE=0]="NONE",A[A.SHIFT=1]="SHIFT",A[A.CTRL=2]="CTRL",A[A.ALT=4]="ALT",A[A.SUPER=8]="SUPER",A[A.CAPSLOCK=16]="CAPSLOCK",A[A.NUMLOCK=32]="NUMLOCK",A))(zo||{}),Li=(A=>(A[A.NONE=0]="NONE",A[A.PARTIAL=1]="PARTIAL",A[A.FULL=2]="FULL",A))(Li||{});const Fg=80;var pt=(A=>(A[A.BOLD=1]="BOLD",A[A.ITALIC=2]="ITALIC",A[A.UNDERLINE=4]="UNDERLINE",A[A.STRIKETHROUGH=8]="STRIKETHROUGH",A[A.INVERSE=16]="INVERSE",A[A.INVISIBLE=32]="INVISIBLE",A[A.BLINK=64]="BLINK",A[A.FAINT=128]="FAINT",A))(pt||{});class sr{constructor(e){this.exports=e.exports,this.memory=this.exports.memory}createKeyEncoder(){return new Dd(this.exports)}createTerminal(e=80,t=24,s){return new yd(this.exports,this.memory,e,t,s)}static async load(e){if(e)return sr.loadFromPath(e);const t=new URL("data:application/wasm;base64,AGFzbQEAAAABdRJgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ACf38AYAJ/fwF/YAF/AGABfwF/YAN/f38AYAV/f39/fwF/YAN/f38Bf2AEf39/fwBgBn9/f39/fwBgAX8BfmAAAGAAAX9gAn9/AX5gA39+fgBgBX9+fn5+AAILAQNlbnYDbG9nAAMDxwTFBAQFAwYDBgMGAwYDBgcEAwYEBQcICQkEBwMJAwkECQkJBAMFBQMDBAcFAwYGBQQHBQAEBwUJBwYGBgYGBgYGBgUHAwMEBAQGCgUFBgkEAQoEBQUABwQEAwYFBAQGBgQJAAcBBwMDAwMHAwMHAQcDAwMDAwMHCgcDAwcFBQkGAwsLCwYDBwUDAwcDAwUHBQMDAwMGBwQKCgQKCgQEBAMDBQIHCgMHBwMHCgkHBwEKCwEDAwQKAwcEAwMHDAcJCQoECgoKAwgJAQcHCgAJCgoDBwMABwgEBQQEAwAHAwUGBwcFBQYHAwMKAQEDAwMDBAQGBgMEAwYGBQMFBQMDAwUDAwUFBAQJBwUEBgUHBAkEBAUDBAMFBgYJAAYECQcDBgUNBgcHBAQDAwQFAwcLBQUFAwQFAwAJAwcDBwQFBgQFBAQEBAQEBAQEBAQEBAQEBAQEBAQHBQQGBAYJBAUEBAQFBQUEBAQEBAUFBAQEBAQEBAQFBQQEBAUEBQQEBAQEBAQFBQQFBAQEBQQEBAQEBQQECQQFBAQEBAQEBAQEAwUEBAQEBAUFBAUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQHBgQHBgYGBgYGBgQDBQkKCAYGCQYACAQGCQ4FBgMGAw4FDgUBBgkJCAoEAQYJBgQHBgkFBwQABAkHAwcDBwoKAQcKDwQEBAYHBwMDAwYDDAYDABADAwMMAwcEAAkCAgEMBwEADAUHBAQECQQJCQkEBAkJCQMIAAkJCQEGAgIAAgIBAQoJBQ4RBAUBcAEWFgUDAQATBgkBfwFBgIDAAAsHhhJNBm1lbW9yeQIAFWdob3N0dHlfa2V5X2V2ZW50X25ldwABFmdob3N0dHlfa2V5X2V2ZW50X2ZyZWUAAhxnaG9zdHR5X2tleV9ldmVudF9zZXRfYWN0aW9uAAMcZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2FjdGlvbgAEGWdob3N0dHlfa2V5X2V2ZW50X3NldF9rZXkABRlnaG9zdHR5X2tleV9ldmVudF9nZXRfa2V5AAYaZ2hvc3R0eV9rZXlfZXZlbnRfc2V0X21vZHMABxpnaG9zdHR5X2tleV9ldmVudF9nZXRfbW9kcwAII2dob3N0dHlfa2V5X2V2ZW50X3NldF9jb25zdW1lZF9tb2RzAAkjZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2NvbnN1bWVkX21vZHMACh9naG9zdHR5X2tleV9ldmVudF9zZXRfY29tcG9zaW5nAAsfZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2NvbXBvc2luZwAMGmdob3N0dHlfa2V5X2V2ZW50X3NldF91dGY4AA0aZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X3V0ZjgADilnaG9zdHR5X2tleV9ldmVudF9zZXRfdW5zaGlmdGVkX2NvZGVwb2ludAAPKWdob3N0dHlfa2V5X2V2ZW50X2dldF91bnNoaWZ0ZWRfY29kZXBvaW50ABAXZ2hvc3R0eV9rZXlfZW5jb2Rlcl9uZXcAERhnaG9zdHR5X2tleV9lbmNvZGVyX2ZyZWUAEhpnaG9zdHR5X2tleV9lbmNvZGVyX3NldG9wdAATGmdob3N0dHlfa2V5X2VuY29kZXJfZW5jb2RlABQPZ2hvc3R0eV9vc2NfbmV3ACEQZ2hvc3R0eV9vc2NfZnJlZQAjEGdob3N0dHlfb3NjX25leHQAJRFnaG9zdHR5X29zY19yZXNldABAD2dob3N0dHlfb3NjX2VuZABEGGdob3N0dHlfb3NjX2NvbW1hbmRfdHlwZQBLGGdob3N0dHlfb3NjX2NvbW1hbmRfZGF0YQBMFWdob3N0dHlfcGFzdGVfaXNfc2FmZQBNFWdob3N0dHlfY29sb3JfcmdiX2dldABPD2dob3N0dHlfc2dyX25ldwBQEGdob3N0dHlfc2dyX2ZyZWUAURFnaG9zdHR5X3Nncl9yZXNldABSFmdob3N0dHlfc2dyX3NldF9wYXJhbXMAUxBnaG9zdHR5X3Nncl9uZXh0AFYYZ2hvc3R0eV9zZ3JfdW5rbm93bl9mdWxsAFobZ2hvc3R0eV9zZ3JfdW5rbm93bl9wYXJ0aWFsAFsZZ2hvc3R0eV9zZ3JfYXR0cmlidXRlX3RhZwBcG2dob3N0dHlfc2dyX2F0dHJpYnV0ZV92YWx1ZQBdFGdob3N0dHlfdGVybWluYWxfbmV3AF4gZ2hvc3R0eV90ZXJtaW5hbF9uZXdfd2l0aF9jb25maWcAXxVnaG9zdHR5X3Rlcm1pbmFsX2ZyZWUAjQEXZ2hvc3R0eV90ZXJtaW5hbF9yZXNpemUA2gEWZ2hvc3R0eV90ZXJtaW5hbF93cml0ZQC+AxtnaG9zdHR5X3JlbmRlcl9zdGF0ZV91cGRhdGUAvwMdZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2NvbHMAwgMdZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X3Jvd3MAwwMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2N1cnNvcl94AMQDIWdob3N0dHlfcmVuZGVyX3N0YXRlX2dldF9jdXJzb3JfeQDFAydnaG9zdHR5X3JlbmRlcl9zdGF0ZV9nZXRfY3Vyc29yX3Zpc2libGUAxgMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2JnX2NvbG9yAMcDIWdob3N0dHlfcmVuZGVyX3N0YXRlX2dldF9mZ19jb2xvcgDIAyFnaG9zdHR5X3JlbmRlcl9zdGF0ZV9pc19yb3dfZGlydHkAyQMfZ2hvc3R0eV9yZW5kZXJfc3RhdGVfbWFya19jbGVhbgDLAyFnaG9zdHR5X3JlbmRlcl9zdGF0ZV9nZXRfdmlld3BvcnQAzAMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2dyYXBoZW1lAM4DJGdob3N0dHlfdGVybWluYWxfaXNfYWx0ZXJuYXRlX3NjcmVlbgDPAyNnaG9zdHR5X3Rlcm1pbmFsX2hhc19tb3VzZV90cmFja2luZwDQAxlnaG9zdHR5X3Rlcm1pbmFsX2dldF9tb2RlANEDJmdob3N0dHlfdGVybWluYWxfZ2V0X3Njcm9sbGJhY2tfbGVuZ3RoANIDJGdob3N0dHlfdGVybWluYWxfZ2V0X3Njcm9sbGJhY2tfbGluZQDTAyhnaG9zdHR5X3Rlcm1pbmFsX2dldF9zY3JvbGxiYWNrX2dyYXBoZW1lANQDH2dob3N0dHlfdGVybWluYWxfaXNfcm93X3dyYXBwZWQA1QMdZ2hvc3R0eV90ZXJtaW5hbF9oYXNfcmVzcG9uc2UA1gMeZ2hvc3R0eV90ZXJtaW5hbF9yZWFkX3Jlc3Bv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IgVBv39KDQBBLiEBIARBP3FBBnQgAy0AAEEPcUEMdHIiA0H/D0sNAQsgAiABOwAJIAJBDGohAQwCCwJAIANBgPADcUGAsANHDQAgAkEAOgAKIAJBgN4AOwEIIAJBADoADiACQQA7AQwgAkEMaiEBDAILIAJBADoADiACQQA7AAkgAiADIAVBP3FyOwEMIAJBDGohAQwBCwJAIAMsAAEiAUFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAMsAAIiBEFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAMsAAMiBUFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAFBP3FBBnQgAy0AAEEHcUEMdHIiAUH/B0sNACACQQA6AAogAkGA3AA7AQggAkEAOgAOIAJBADsBDCACQQxqIQEMAQsCQCABQYCIAUkNACACQQA6AAogAkGA4AA7AQggAkEAOgAOIAJBADsBDCACQQxqIQEMAQsgAkEAOwAJIAIgASAEQT9xckEGdCAFQT9xciIBOwEMIAIgAUEQdjoADiACQQxqIQELIAFBAmotAAAhAyAAIAEvAQAiATsBACAAQQJqIANBH3EiAzoAACAAQQE6AAQgAiABOwEEIAIgAzoABgwBCyAAQgA3AgALIAJBEGokgICAgAAL3QECBX8BfiOAgICAAEEQayIDJICAgIAAQQAhBAJAA0ACQCACIARLDQBBACEFDAILIAEgBGohBgJAAkAgACgCDCIHIAIgBGsiBWogACgCCEsNAAJAIAVFDQAgACgCBCAHaiAGIAX8CgAACyAAIAAoAgwgBWo2AgwMAQsgACgCACgCACEHIAMgBTYCBCADIAY2AgAgA0EIaiAAIANBAUEBIAcRgYCAgACAgICAACADKQMIIghCIIinIgVB//8DcQ0CIAinIQULIAUgBGohBAwACwsgA0EQaiSAgICAACAFC9YJAQF+QgAhAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABDrABQQABAgMEBQYHCAkKCwwNDg9BQUEQERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uQUFBQUFBQUFBQUFBLzBBQUFBQUFBQUFBQUFBQUExMjM0NTY3ODk6O0FBQUE8PUE+QUFBQUE/QUFAQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBC0EAKQOIqsiAACECDEALQQApA5CqyIAAIQIMPwtBACkDmKrIgAAhAgw+C0EAKQOgqsiAACECDD0LQQApA6iqyIAAIQIMPAtBACkDsKrIgAAhAgw7C0EAKQO4qsiAACECDDoLQQApA8CqyIAAIQIMOQtBACkDyKrIgAAhAgw4C0EAKQPQqsiAACECDDcLQQApA9iqyIAAIQIMNgtBACkD4KrIgAAhAgw1C0EAKQPoqsiAACECDDQLQQApA/CqyIAAIQIMMwtBACkD+KrIgAAhAgwyC0EAKQOAq8iAACECDDELQQApA4iryIAAIQIMMAtBACkDkKvIgAAhAgwvC0EAKQOYq8iAACECDC4LQQApA6CryIAAIQIMLQtBACkDqKvIgAAhAgwsC0EAKQOwq8iAACECDCsLQQApA7iryIAAIQIMKgtBACkDwKvIgAAhAgwpC0EAKQPIq8iAACECDCgLQQApA9CryIAAIQIMJwtBACkD2KvIgAAhAgwmC0EAKQPgq8iAACECDCULQQApA+iryIAAIQIMJAtBACkD8KvIgAAhAgwjC0EAKQP4q8iAACECDCILQQApA4CsyIAAIQIMIQtBACkDiKzIgAAhAgwgC0EAKQOQrMiAACECDB8LQQApA5isyIAAIQIMHgtBACkDoKzIgAAhAgwdC0EAKQOorMiAACECDBwLQQApA7CsyIAAIQIMGwtBACkDuKzIgAAhAgwaC0EAKQPArMiAACECDBkLQQApA8isyIAAIQIMGAtBACkD0KzIgAAhAgwXC0EAKQPYrMiAACECDBYLQQApA+CsyIAAIQIMFQtBACkD6KzIgAAhAgwUC0EAKQPwrMiAACECDBMLQQApA/isyIAAIQIMEgtBACkDgK3IgAAhAgwRC0EAKQOIrciAACECDBALQQApA7CqyIAAIQIMDwtBACkDuKrIgAAhAgwOC0EAKQPAqsiAACECDA0LQQApA8iqyIAAIQIMDAtBACkD0KrIgAAhAgwLC0EAKQPYqsiAACECDAoLQQApA+CqyIAAIQIMCQtBACkD6KrIgAAhAgwIC0EAKQPwqsiAACECDAcLQQApA/iqyIAAIQIMBgtBACkDkK3IgAAhAgwFC0EAKQPgrMiAACECDAQLQQApA/isyIAAIQIMAwtBACkDgKvIgAAhAgwCC0EAKQOYrciAACECDAELQQApA9isyIAAIQILIAAgAjcCAAsYACAAIAJB////AHFBCkEAIAEQ5oOAgAALQwEBfwJAIABBzJTJgABBARCagICAACICQf//A3ENACAAQYy1yoAAIAEvAQAgAUECai0AAEEQdHIQnICAgAAhAgsgAgsWACAAIAJB/wNxQQpBACABEOaDgIAACxUAIAAgAkEDcUEKQQAgARDmg4CAAAs8AQF/I4CAgIAAQRBrIgMkgICAgAAgAyACOgAPIAAgA0EPakEBIAEQoYSAgAAhAiADQRBqJICAgIAAIAILyQECAX8BfiOAgICAAEHwEGsiAiSAgICAAAJAAkAgAA0AQaDpyYAAIQAMAQsgAkG41MeAADYC7BAgAiAANgLoECACQegQaiEACwJAAkAgACkCACIDp0HQEEECQQAgA0IgiKcoAgARgICAgACAgICAACIADQBBfyEADAELIAJBAToAECACIAM3AwggAkEYaiACQQhqEKKAgIAAAkBB0BBFDQAgACACQRhqQdAQ/AoAAAsgASAANgIAQQAhAAsgAkHwEGokgICAgAAgAAuZAQEBfyOAgICAAEHAAGsiAiSAgICAACACQQhqQQhqIAFBCGooAgA2AgAgAkEAOgAEIAIgASkCADcDCAJAQSxFDQAgAkEUakEAQSz8CwALIAJBADoAAwJAQThFDQAgACACQQhqQTj8CgAACyAAQQA2AkAgAEIANwI4IAAgAi0ABDoATCAAIAItAAM6AM0QIAJBwABqJICAgIAACz0BAn8CQCAARQ0AIAAoAgAhASAAKAIEIQIgABCkgICAACABIABB0BBBAkEAIAIoAgwRgYCAgACAgICAAAsL4gEBBH8jgICAgABBEGsiASSAgICAAAJAIAAtAExBP3FFDQACQAJAAkAgACgCDEF2ag4CAQACCyABIAApAgA3AwggAUEIaiAAKAIQIAAoAhgQwYCAgAAMAQsgAEEQaiAAEMKAgIAACyAAQQA6AM0QIABBADoATAJAQTRFDQAgAEEMakEAQTT8CwALIAAoAkAiAkUNACABIAApAgA3AwAgACgCACEDIAAoAgQhBCACIAEQw4CAgAAgAyACQQxBAkEAIAQoAgwRgYCAgACAgICAACAAQQA2AkALIAFBEGokgICAgAALDAAgACABEKaAgIAAC69MAgV/AX4jgICAgABB4BBrIgIkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAjwiA0H/D0kNACAALQBMQT9xIgNBAUcNAQyiAQsgACADQQFqIgQ2AjwgAEHNAGoiBSADaiIGIAE6AAAgAC0ATEE/cQ45AgGiARsDBCwtLgUzNDU2Nzg5Bj1BQghGCUxNTlUPb3BxchBHSKIBCguiAVNUEXYHQAxdEV5fDWAOZ2hpAgsgAiADOgAKIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBAgAkG4EGogAkEKahCngICAACIDQf//A3FFDZ4BIAJBuBBqQaDpyYAAQT8QqICAgAAgAi8B0BANoAEgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEgAkEKahCngICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADKEBCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICA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ACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMFAsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC4gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwQAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC4gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwTCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqELmAgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABELmAgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDBILIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBACQAJAAkAgAkG4EGoQuoCAgAAiA0H//wNxRQ0AIAJBuBBqQaDpyYAAQcEAEKiAgIAAIAIvAdAQDQIgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEQuoCAgABB//8DcUUNACACQaAQahCpgICAAAwDCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICAACACLwHcEA0CIAIoAtgQIQQgAigC1BAhAQwBCyACKAK8ECEBIAIoAsQQIQQLIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMEQsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC7gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwQAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC7gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwQCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqELyAgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABELyAgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDA8LIABBHDoATAwOCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqEL2AgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABEL2AgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDA0LIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBACQAJAAkAgAkG4EGoQvoCAgAAiA0H//wNxRQ0AIAJBuBBqQaDpyYAAQcEAEKiAgIAAIAIvAdAQDQIgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEQvoCAgABB//8DcUUNACACQaAQahCpgICAAAwDCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICAACACLwHcEA0CIAIoAtgQIQQgAigC1BAhAQwBCyACKAK8ECEBIAIoAsQQIQQLIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMDAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwKCyAAQQE6AEwMCQsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC/gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwgAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC/gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwICyAAQQE6AM0QIABBATYCDCAAQSo6AEwgACAENgI4IAAgAEEQajYCRAwHCyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDAULIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMAwsgAigCvBAhASACKALEECEECyAB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ABCagICAAAsTACAAQb6byoAAQcEAEJqAgIAACxMAIABB/JrKgABBwgAQmoCAgAALCgAgABCkgICAAAs6AQF/AkAgAkEMbCIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQJBACAAKAIEKAIMEYGAgIAAgICAgAALC6kBAwF/AX4CfyOAgICAAEEQayICJICAgIAAIAIgASkCACIDNwMAIAIgACgCHEEfcSIBOgAPIANCIIinIQQgA6chBQJAA0AgAUEfcUUNASACIAFBf2pBH3EiAToADyAFIAAoAhggAUECdGooAgBBDCABQQJqdEECQQAgBCgCDBGBgICAAICAgIAADAALCyACIAAoAhggACgCHBD3g4CAACACQRBqJICAgIAACzQBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIAIAJBAEEAIAEoAgQoAgwRgYCAgACAgICAAAsLPwEBfyOAgICAAEEQayICJICAgIAAIAJBAToADyACIAE6AA4gACACQQ5qEMWAgIAAIQEgAkEQaiSAgICAACABC84KAQR/I4CAgIAAQdAQayICJICAgIAAAkACQAJAAkAgAC0AzRANACACIAAoAjw2AgQgAiAAQc0AajYCACACQoAQNwKwECACQbC/x4AANgKoECACIAJBEGo2AqwQAkAgAkGoEGogAhDGgICAACIAQf//A3ENACACKAKsECEDIAIoArQQIQEMAgsgAkGoEGpBoOnJgABBJhCogICAACACLwHAEA0CIAJBkBBqQRBqIAJBqBBqQRBqKQIANwMAIAJBkBBqQQhqIgMgAkGoEGpBCGopAgA3AwAgAiACKQKoEDcDkBACQCADIAIQxoCAgABB//8DcUUNACACQZAQahCpgICAAAwDCyACQcQQaiACQZAQahCqgICAACACQZAQahCpgICAACACLwHMEA0CIAIoAsgQIQEgAigCxBAhAwwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQBMQT9xIgNBYWoOGgMRAhERCRERBBERCwEGBxEKBQoKEQoKEREKAAsgA0EGRg0HDBALIAIgACkCADcDCAJAIAAoAkAiBCACQQhqQQAQtYCAgABB//8DcQ0AIAQoAgQhBSAAKAJEIgMgBCgCADYCACAFQX9qIQQMDwsgAkKAEDcCsBAgAkGwv8eA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AAALQQEhAwsgAkGgAWokgICAgAAgAwvJEwEKfwJAIAEoAgQiAiABKAIMIgNLDQAgASADQQFqNgIMIABBrMDHgABBlMDHgAAgAxsiASkCADcCACAAQQhqIAFBCGopAgA3AgAgAEEQaiABQRBqKQIANwIADwsgASADQQFqIgQ2AgwgAiADayEFIAEoAgAiBiADQQF0aiIHLwEAIQgCQCABLwEIIAFBCmotAABBEHRyIglBASADdHEiCkH///8HcUUNAAJAIAhBWmoiC0EUSw0AQQEgC3RBgYjAAHENAQsgCEEERg0AIAlB////B3EhCUEBIQgDQCADIAhqIQogCEEBaiEIIAkgCnZBAXENAAsgAEEBOgAUIAAgBzYCDCAAIAI2AgggACAGNgIEIABBATYCACABIAMgCGo2AgwgACAIIAUgCCAFSRs2AhAPCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAIDjwAAQIDFwQFBgcIFhYWFhYWFhYWFhYJCgsMDRYODxAWFhYWFhYWFhgRFhYWFhYWFhYZEhYWFhMWFBYWGhUWCyAAQRBqQQApAqTAx4AANwIAIABBCGpBACkCnMDHgAA3AgAgAEEAKQKUwMeAADcCAA8LIABBEGpBACkC1MDHgAA3AgAgAEEIakEAKQLMwMeAADcCACAAQQApAsTAx4AANwIADwsgAEEQakEAKQLswMeAADcCACAAQQhqQQApAuTAx4AANwIAIABBACkC3MDHgAA3AgAPCyAAQRBqQQApAoTBx4AANwIAIABBCGpBACkC/MDHgAA3AgAgAEEAKQL0wMeAADcCAA8LIABBEGpBACkCnMHHgAA3AgAgAEEIakEAKQKUwceAADcCACAAQQApAozBx4AANwIADwsgAEEQakEAKQKcwceAADcCACAAQQhqQQApApTBx4AANwIAIABBACkCjMHHgAA3AgAPCyAAQRBqQQApArTBx4AANwIAIABBCGpBACkCrMHHgAA3AgAgAEEAKQKkwceAADcCAA8LIABBEGpBACkCzMHHgAA3AgAgAEEIakEAKQLEwceAADcCACAAQQApArzBx4AANwIADwsgAEEQakEAKQLkwceAADcCACAAQQhqQQApAtzBx4AANwIAIABBACkC1MHHgAA3AgAPCyAAQQI6AAQgAEEHNgIAIABBAToAFA8LIABBEGpBACkC/MHHgAA3AgAgAEEIakEAKQL0wceAADcCACAAQQApAuzBx4AANwIADwsgAEEQakEAKQKUwseAADcCACAAQQhqQQApAozCx4AANwIAIABBACkChMLHgAA3AgAPCyAAQQA6AAQgAEEHNgIAIABBAToAFA8LIABBEGpBACkCrMLHgAA3AgAgAEEIakEAKQKkwseAADcCACAAQQApApzCx4AANwIADwsgAEEQakEAKQLEwseAADcCACAAQQhqQQApArzCx4AANwIAIABBACkCtMLHgAA3AgAPCyAAQRBqQQApAtzCx4AANwIAIABBCGpBACkC1MLHgAA3AgAgAEEAKQLMwseAADcCAA8LIABBEGpBACkC9MLHgAA3AgAgAEEIakEAKQLswseAADcCACAAQQApAuTCx4AANwIADwsgAEEQakEAKQKMw8eAADcCACAAQQhqQQApAoTDx4AANwIAIABBACkC/MLHgAA3AgAPCyAAQRBqQQApAqTDx4AANwIAIABBCGpBACkCnMPHgAA3AgAgAEEAKQKUw8eAADcCAA8LIABBEGpBACkCvMPHgAA3AgAgAEEIakEAKQK0w8eAADcCACAAQQApAqzDx4AANwIADwsgAEEQakEAKQLUw8eAADcCACAAQQhqQQApAszDx4AANwIAIABBACkCxMPHgAA3AgAPCyAAQRBqQQApAuzDx4AANwIAIABBCGpBACkC5MPHgAA3AgAgAEEAKQLcw8eAADcCAA8LIAhBYmpB//8DcUEISQ0HIAhB+P8DcUEoRg0GIAhBpn9qQf//A3FBCEkNBSAIQZx/akH//wNxQQhPDQkgAEEbNgIAIABBAToAFCAAIActAABBpH9qOgAEDwsgCkH///8HcUUNA0EBIQggCUH///8HcSAEdkEBcQ0HIABBAToAFCAAQQc2AgAgASADQQJqNgIMAkAgBy8BAiIBQQVLDQAgASEICyAAIAhBB3E6AAQPCyAFQQFNDQcCQAJAIAcvAQJBfmoOBAAJCQEJC0EFIQggBUEFSQ0IQQQhAgJAAkAgCkH///8HcQ0AQQYhCkEIIQkMAQtBBiEKQQghCQJAIAEQ2ICAgABBfWoOAgEACQtBCiEJQQghCkEGIQhBBiECCyABIAMg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gIAAIAIoAgAhBCACLwEKIQUgAi8BCCEGIANBADYCoAQgA0IANwOYBCADIAEpAgA3A5AEQQQhBwJAAkACQAJAAkADQCAHRQ0BIANBqARqIANBkARqEOeAgIAAIAMvAawEIggNAiADKAKoBCIIIAMoAqAENgIAIAMgCDYCoAQgB0F/aiEHDAALCyADQeADakEIaiADQZAEakEIaikDADcDACADQeADakEQaiADQZAEakEQaigCADYCACADIAMpA5AENwPgAyADQgA3A5gEIANBADYCoAQgA0EAKQOg6cmAADcDkARBBCEHAkADQCAHRQ0BIANBqARqIANBkARqEOqAgIAAAkAgAy8BrAQiCA0AIAMoAqgEIgggAygCoAQ2AgAgAyAINgKgBCAHQX9qIQcMAQsLIANBkARqEPuAgIAAIANB4ANqEPuAgIAADAILQQghByADQfgDakEIaiADQZAEakEIaikDADcDACADQfgDakEQaiADQZAEakEQaigCADYCACADIAMpA5AENwP4AyADQQA2AqAEIANCADcDmAQgAyABKQIANwOQBAJAA0AgB0UNASADQagEaiADQZAEahD4gICAAAJAIAMvAawEIggNACADKAKoBCIIIAMoAqAENgIAIAMgCDYCoAQgB0F/aiEHDAELCyADQZAEahD7gICAACADQfgDahD7gICAACADQeADahD7gICAAAwCCyADQdgCakEIaiIIIANBkARqQQhqKQMANwMAIANB2AJqQRBqIgcgA0GQBGpBEGooAgA2AgAgA0GIA2pBCGoiCSADQeADakEIaikDADcDACADQYgDakEQaiIKIANB4ANqQRBqKAIANgIAIANB8AJqQQhqIgsgA0H4A2pBCGopAwA3AwAgA0HwAmpBEGoiDCADQfgDakEQaigCADYCACADIAMpA5AENwPYAiADIAMpA+ADNwOIAyADIAMpA/gDNwPwAiADIAEpAgA3A5ACIANBqAJqIAooAgA2AgAgA0GQAmpBEGogCSkDADcDACADIAMpA4gDNwOYAiADQbwCaiAMKAIANgIAIANBtAJqIAspAwA3AgAgAyADKQPwAjcCrAIgA0HQAmogBygCADYCACADQcgCaiAIKQMANwMAIAMgAykD2AI3A8ACIANCADcDoAMgA0GoA2ogA0GQAmogA0GgA2ogBiAFEOyAgIAAAkAgAy8BtAMiCEUNACADQZACahD6gICAAAwCCyADKAKwAyEKIAMoAqwDIQsgAygCqAMhCSADQbgDaiAGIAUQ9oCAgAACQCADLwG8AyIIRQ0AIANBkAJqEPqAgIAADAILIAMoArgDIQwgA0HAA2ogA0HAAmoQ94CAgAACQCADLwHEAyIIRQ0AIANBkAJqEPqAgIAADAILIAMoAsADIgdBADoACCAHQQA2AQQgByAJNgIAIANB0ANqQgA3AwAgA0IANwPIAyADQcgDaiADQZACaiAHEPyAgIAAIghB//8DcUUNAiADQcgDaiADQZACahCDgYCAACADQZACahD6gICAAAwBCyADQZAEahD7gICAAAsgACAIOwHwAgwBCyADQQE6ANwDIANBADoA2wMgAykDoAMhDQJAQcQARQ0AIANBEGogA0GQAmpBxAD8CgAACyADQZABakEIaiIIIANByANqQQhqKQMANwMAIAMgAykDyAM3A5ABIAMgBTYCaCADIAw2AmQgAyAENgJgIAMgCjYCXCADIAs2AlggAyAJNgJUIANCADcDCCADIA03AwAgAy0A3AMhBCADLQDbAyEKIANB9ABqIAgpAwA3AgAgAyADKQOQATcCbCADIAo6AI0BIAMgBDoAjAEgAyAFOwGKASADIAY7AYgBIANCADcDgAEgAyAHNgJ8IANBADoAqAEgA0EANgKkASADIAk2AqABIANBrAFqIAMgA0GgAWoQhIGAgAACQCADLwGwASIIRQ0AIAMQhYGAgAAgACAIOwHwAgwBCyADQQA6AIcCIANBADoAhgIgAyACKAIARToAuAEgAygCrAEiCCgCACIHKAIYIAcoAhAiB2ogCC8BBEEDdGoiAigCACEFIAgvAQYhBiABKQIAIQ0gA0EBOgCIAgJAQcgARQ0AIANBvQFqQQFqQQBByAD8CwALIABBADsB8AIgA0EAOgC2ASADQQA6ALcBAkBBkAFFDQAgACADQZAB/AoAAAsgACANNwOQAQJAQSRFIgENACAAQZgBakEAQST8CwALIABCADcDyAEgACAFIAdqIAZBA3RqNgLEASAAIAI2AsABIAAgCDYCvAEgACADLQCIAjoA0AEgACADLQCHAjoA0QEgACADLQCGAjoA0gECQEHJAEUNACAAQdMBaiADQb0BakHJAPwKAAALAkAgAQ0AIABBnAJqQQBBJPwLAAsgAEIANwHiAiAAQeoCakEAOgAAIABB2AJqQQApA5inyIAANwMAIABB0AJqQQApA5CnyIAANwMAIABByAJqQQApA4inyIAANwMAIABBACkDgKfIgAA3A8ACIAAgAy0AuAE6AOACIAAgAy0AtwE6AOECIAAgAy0AtgE6AOsCCyADQbAEaiSAgICAAAvOAQECfyOAgICAAEEQayIFJICAgIAAIAUgA0EfcToADwJAAkBBICACQQRqIgJBASADdCIDIAIgA0sbIgNBf2pnayICQf//A3FBfWoiBkENTw0AIAFCASACrIanakF8aiAGQQJ0QYi8yoAAaiIDKAIANgIAIAMgATYCAAwBCyABQgFBICADQYOABGpBEHZBf2pnayIDrUL//wODhqdBEHRqQXxqIANB//8DcUECdEHwvMqAAGoiAygCADYCACADIAE2AgALIAVBEGokgICAgAAL3AEBAX8jgICAgABB8ABrIgMkgICAgAACQEHMAEUNACADQQxqQbT2wYAAQcwA/AoAAAsgAyACNgIMIAMgASkCADcDWAJAAkACQCACQYEESQ0AIANB5ABqIANB2ABqIAJBgHxqEIiBgIAAIAMvAWwiAg0BIAMoAmQhAgJAIAMoAmgiAUUNACACQQAgAfwLAAsgAyABNgIUIAMgAjYCEAsgA0EMakEIEImBgIAAIABBADsBTEHMAEUNASAAIANBDGpBzAD8CgAADAELIAAgAjsBTAsgA0HwAGokgICAgAALoAEBA38jgICAgABBEGsiAiSAgICAACABKAIEIQMgASgCACEEIAIgAC0ADEEDcSIBOgAPIABBBGohAAJAA0AgAUEDcUUNASACIAFBf2ogAXFBA3E6AAwgACABaEEDcUECdGoiASgCABCLgYCAACAEIAEoAgBB8AJBA0EAIAMoAgwRgYCAgACAgICAACACLQAMIQEMAAsLIAJBEGokgICAgAALIwAgACgCACABQfgsQQNBACAAKAIEKAIMEYGAgIAAgICAgAALdwECfyOAgICAAEEQayICJICAgIAAAkACQAJAIAEoAhAiA0UNACABIAMoAgA2AhAMAQsgAkEIaiABEOeAgIAAAkAgAi8BDCIBRQ0AIAAgATsBBAwCCyACKAIIIQMLIAAgAzYCACAAQQA7AQQLIAJBEGokgICAgAALYgEBfyOAgICAAEEgayICJICAgIAAIAJB3KbIgAA2AhAgAiABNgIMIAJBFGogAkEMakG4AhDogICAAAJAIAIvARwiAQ0AIAAgAigCFDYCAAsgACABOwEEIAJBIGokgICAgAALxQECAX8BfiOAgICAAEEgayIDJICAgIAAQoCAgIAQIQQCQAJAQQANAAJAAkAgAg0AQvj///8PIQQMAQsgASkCACIEpyACQQNBACAEQiCIpygCABGAgICAAICAgIAAIgFFrUIghiABrYQhBCABRQ0BCyADIAI2AhQgAyAEPgIQIANBADsBGCADQRBqIQIMAQsgAyAEQiCIPQEMIANBBGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQSBqJICAgIAAC3cBAn8jgICAgABBEGsiAiSAgICAAAJAAkACQCABKAIQIgNFDQAgASADKAIANgIQDAELIAJBCGogARDqgICAAAJAIAIvAQwiAUUNACAAIAE7AQQMAgsgAigCCCEDCyAAIAM2AgAgAEEAOwEECyACQRBqJICAgIAAC2MBAX8jgICAgABBIGsiAiSAgICAACACQdymyIAANgIQIAIgATYCDCACQRRqIAJBDGpBgIAkEOuAgIAAAkAgAi8BHCIBDQAgACACKAIUNgIACyAAIAE7AQQgAkEgaiSAgICAAAvFAQIBfwF+I4CAgIAAQSBrIgMkgICAgABCgICAgBAhBAJAAkBBAA0AAkACQCACDQBCgID8/w8hBAwBCyABKQIAIgSnIAJBEEEAIARCIIinKAIAEYCAgIAAgICAgAAiAUWtQiCGIAGthCEEIAFFDQELIAMgAjYCFCADIAQ+AhAgA0EAOwEYIANBEGohAgwBCyADIARCIIg9AQwgA0EEaiECCyAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIANBIGokgICAgAAL6g0BKn8jgICAgABBwARrIgUkgICAgAAgBUEBOgAGIAUgAzsBBCAFQQhqQbCSyYAAIAVBBGoQ7YCAgAACQAJAIAUvARwiA0UNACAAIAM7AQwMAQtBAEIBQSAgBSgCDCIGQRxuIgdBBHRBf2pna62GpyAGQRxJGyEIIAUvARoiCSAFLwEYIgpsQf//A3FBA3QiCyAJQQN0IgxqIg1BB3IhDiAKQQN0IQ8gBSgCECIQQQR2IREgAUEcaiESIAFBCGohEyAFQcACaiEUIAVBqAJqIRUgBUGkAWpB8ABqIRYgBUGAAmohFyAFQewBaiEYIAVB2AFqIRkgBUG8AWohGiAFKAIUIRsgBSgCCCEcQQAhHUEAIR5BACEfA0ACQAJAAkACQAJAIARB//8DcSIgRQ0AIAVBIGogExDmgICAAAJAIAUvASQiAUUNACAAIAE7AQwMBwsgBSgCICEhIAVBKGogEhDpgICAAAJAIAUvASwiAUUNACAAIAE7AQwMBwsgBSgCKCEiIAVBMGogHBDugICAACAFQTBqQRBqIgEoAgAhIyAFQcgAaiAQEO+AgIAAIAUoAkghJCAFQdgAaiAREPCAgIAAIAUoAlghJSAFQegAaiAbEPGAgIAAIAUoAmghJiAFQfgAaiAHEPKAgIAAIAVB+ABqQRBqIicoAgAhKCAFQZABaiAIEPOAgIAAIBogBSkDMDcCACAaQQhqIAVBMGpBCGopAwA3AgAgGkEQaiABKQMANwIAIBkgBSkDSDcCACAZQQhqIAVByABqQQhqKQMANwIAIAUgDTYCuAEgBSALNgK0ASAFIAw2ArABIAUgDDYCrAFBACEDIAVBADYCqAEgBSAOICNqQXhxIiM2AtQBIAUgJCAjakEDakF8cSIkNgLoASAFICggJiAlICRqQQdqQXhxIiVqQQNqQXxxIilqQQNqQXxxIiYgBSgCkAFqQf//A2pBgIB8cSIqNgKkASAYQQhqIAVB2ABqQQhqKQMANwIAIBggBSkDWDcCACAXQQhqIAVB6ABqQQhqKQMANwIAIBcgBSkDaDcCACAWQQhqIAVBkAFqQQhqKQMANwIAIBYgBSkDkAE3AgAgFUEQaiAnKQMANwIAIBVBCGogBUH4AGpBCGopAwA3AgAgFSAFKQN4NwIAIAUgJTYC/AEgBSAmNgKQAiAFICk2AqQCIAUgCTsB0gIgBSAKOwHQAiAFIBs2AswCIAUgEDYCyAIgBSAGNgLEAiAFIBw2AsACQQAhAQJAA0AgDCABRg0BICIgAWogDCADaq03AwAgAyAPaiEDIAFBCGohAQwACwsgBSANNgK0BCAFICI2ArAEIAVByANqIAVBsARqIBoQ9ICAgAAgBSgCiAIgJWohAwJAIAUoAoQCIitBA3QiAUUNACADICJqQf8BIAH8CwALIAUoAuABICNqIScgBSgCjAIhLAJAIAUoAtwBIi1BA3QiAUUNACAnICJqQf8BIAH8CwALICIgJGoiAUEANgIMIAEgBSgC+AEiKDYCCCABIAUpAvABQiCJNwIAIAUoAuQBIS4CQCAoRQ0AIAFBEGpBACAo/AsACyAiICZqIgFBADYCDCABIAUoAqACIig2AgggASAFKQKYAkIgiTcCAAJAIChFDQAgAUEQakEAICj8CwALIAUgKTYCvAQgBSAiNgK4BCAFQdgCaiAFQbgEaiAVQfzEx4AAEPWAgIAAICEgJEEQajYCOCAhIC4gI2o2AjQgISAtNgIwICEgJzYCLCAhICwgJWo2AiggISArNgIkICEgAzYCICAhIAw2AhwgIUEANgIYICEgKjYCFCAhICI2AhAgBUEAOgDUAgJAQegARQ0AICFBPGogBUHIA2pB6AD8CgAACyAhICZBEGo2AqQBAkBB8ABFDQAgIUGoAWogBUHYAmpB8AD8CgAACyAhIAk7Aa4CICEgCjsBrAIgISAJOwGqAiAhIAo7AagCICFBoAJqIBRBCGopAgA3AgAgISAUKQIANwKYAiAhIAUtANQCOgCwAiAhIAIpAwA3AwAgIUIANwIIICEgICAJICAgCUkbIgE7Aa4CAkAgHUUNACAhIB02AgggISEDIB0oAgwiIkUNBCAhICI2AgwgIiAhNgIIIB0hAwwECyAeRQ0BICEgHjYCDCAhIQMgHigCCCIiRQ0CICEgIjYCCCAiICE2AgwgHiEDDAILIAAgHzYCCCAAIB02AgQgACAeNgIAIABBADsBDAwFCyAhQQA2AgwgISEdICEhHgwCCyAeICE2AghBACEdIAMhHgwBCyAdICE2AgwgAyEdCyAEIAFrIQQgAiACKQMAQgF8NwMAIB9BgIAkaiEfDAALCyAFQcAEaiSAgICAAAuVBAEKfyOAgICAAEHwAGsiAySAgICAACABLwESIQQgAS8BECEFAkACQAJAIAItAAINACAFIQIMAQsgAi8BACECIAMgASgCABDugICAACADKAIQIQYgA0EYaiABKAIIIgcQ74CAgAAgAygCGCEIIANBKGogB0EEdhDwgICAACADKAIoIQcgA0E4aiABKAIMEPGAgIAAIAMoAjghCSADQcgAaiABKAIEIgpBHG4iCxDygICAACAJIAcgCCAGIAQgBWxB//8DcSAEakEDdGpBB2pB+P///wFxakEDakH8////AXFqQQdqQfj///8BcWpBA2pB/P///wFxIQxBACEFIAMoAlghBAJAIApBG00NAEIBQSAgC0EEdEF/amdrrYanIQULIANB4ABqIAUQ84CAgAACQCACQQZ0QcAAaiIKIAQgDGpBA2pB/P///wFxIAMoAmAiBWpB//8DakGAgPz/AXEgBWtB/P///wFxIARrQfz///8BcSAJa0H4////AXEgB2tB/P///wFxIAhrQfj///8BcSAGa0EDdEFgcSIETQ0AIABBEGpBACkCyMTHgAA3AgAgAEEIakEAKQLAxMeAADcCACAAQQApArjEx4AANwIADAILIAQgCm4hBAsgAEEAOwEUIAAgBDsBEiAAIAI7ARAgACABKQIANwIAIABBCGogAUEIaikCADcCAAsgA0HwAGokgICAgAALmAEBBH8CQAJAIAENAEEAIQJBACEBQQAhA0EAIQRBACEFDAELQgFBICABQX9qZyIDa61C//8Dg4anIgG4RAAAAAAAAOo/ovwDIgJBJGwgAUEBdEEDakH8////B3EiBGohBUF/QQAgA2t0QX9zIQMLIAAgAzsBFCAAIAE2AgQgACACNgIAIAAgBTYCECAAIAQ2AgwgAEEANgIIC0UBAX8gAEEANgIIIAAgAUEPaiIBQQR2QT9qIgJBBnY2AgQgACACQQN2Qfj//x9xIgI2AgwgACACIAFBBHRBgH5xajYCAAtKAQF/IAAgATYCDCAAIAFBE2oiAkH8////AXFBcGo2AgQgACACIAFBAnRqIgJB/P///wdxQXBqNgIIIAAgAiABQQN0akF8cTYCAAtFAQF/IABBADYCCCAAIAFBH2oiAUEFdkE/aiICQQZ2NgIEIAAgAkEDdkH4//8PcSICNgIMIAAgAiABQQV0QYB4cWo2AgALmAEBBH8CQAJAIAENAEEAIQJBACEBQQAhA0EAIQRBACEFDAELQgFBICABQX9qZyIDa61C//8Dg4anIgG4RAAAAAAAAOo/ovwDIgJBHGwgAUEBdEEDakH8////B3EiBGohBUF/QQAgA2t0QX9zIQMLIAAgAzsBFCAAIAE2AgQgACACNgIAIAAgBTYCECAAIAQ2AgwgAEEANgIIC0IBAX8gACABNgIMIAAgAUETakF8cSICQXBqNgIEIAAgAiABQQJ0aiICQXBqNgIIIAAgAUEBdCACakED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cRuEIQMMJAsgA0Jvg0IQQgAgAkEBcRuEIQMMIwsgA0Jfg0IgQgAgAkEBcRuEIQMMIgsgA0K/f4NCwABCACACQQFxG4QhAwwhCyADQv9+g0KAAUIAIAJBAXEbhCEDDCALIANC/32DQoACQgAgAkEBcRuEIQMMHwsgA0L/e4NCgARCACACQQFxG4QhAwweCyADQv93g0KACEIAIAJBAXEbhCEDDB0LIANC/2+DQoAQQgAgAkEBcRuEIQMMHAsgA0L/X4NCgCBCACACQQFxG4QhAwwbCyADQv+/f4NCgMAAQgAgAkEBcRuEIQMMGgsgA0L//36DQoCAAUIAIAJBAXEbhCEDDBkLIANC//99g0KAgAJCACACQQFxG4QhAwwYCyADQv//e4NCgIAEQgAgAkEBcRuEIQMMFwsgA0L//3eDQoCACEIAIAJBAXEbhCEDDBYLIANC//9vg0KAgBBCACACQQFxG4QhAwwVCyADQv//X4NCgIAgQgAgAkEBcRuEIQMMFAsgA0L//79/g0KAgMAAQgAgAkEBcRuEIQMMEwsgA0L///9+g0KAgIABQgAgAkEBcRuEIQMMEgsgA0L///99g0KAgIACQgAgAkEBcRuEIQMMEQsgA0L///97g0KAgIAEQgAgAkEBcRuEIQMMEAsgA0L///93g0KAgIAIQgAgAkEBcRuEIQMMDwsgA0L///9vg0KAgIAQQgAgAkEBcRuEIQMMDgsgA0L///9fg0KAgIAgQgAgAkEBcRuEIQMMDQsgA0L///+/f4NCgICAwABCACACQQFxG4QhAwwMCyADQv////9+g0KAgICAAUIAIAJBAXEbhCEDDAsLIANC/////32DQoCAgIACQgAgAkEBcRuEIQMMCgsgA0L/////e4NCgICAgARCACACQQFxG4QhAwwJCyADQv////93g0KAgICACEIAIAJBAXEbhCEDDAgLIANC/////2+DQoCAgIAQQgAgAkEBcRuEIQMMBwsgA0L/////X4NCgICAgCBCACACQQFxG4QhAwwGCyADQv////+/f4NCgICAgMAAQgAgAkEBcRuEIQMMBQsgA0L//////36DQoCAgICAAUIAIAJBAXEbhCEDDAQLIANC//////99g0KAgICAgAJCACACQQFxG4QhAwwDCyADQv//////e4NCgICAgIAEQgAgAkEBcRuEIQMMAgsgA0L//////3eDQoCAgICACEIAIAJBAXEbhCEDDAELIANC//////8Pg0KAgICAgHBCACACQQFxG4QhAwsgACADPgIAIABBBGogA0IgiDwAAA8LAAu9AQEDfyOAgICAAEEQayIBJICAgIAAAkAgAEUNACABIAApAqgbNwMIIAAoAqgbIQIgACgCrBshAyAAQdQbahCkgICAACAAQegsaiABQQhqEMOAgIAAIABBgBJqIAFBCGoQjoGAgAAgAEEwaiABQQhqEI+BgIAAIABBGGogAUEIahDkgICAACAAQYQBaiABQQhqEMOAgIAAIAIgAEH4LEEDQQAgAygCDBGBgICAAICAgIAACyABQRBqJICAgIAAC+4BAQV/I4CAgIAAQcAAayICJICAgIAAIAJBHGogAEHICGoiAxCQgYCAACACKAI8IQQgAigCOCEFIAIoAhwhBiACQRxqIAMQkIGAgAACQCAERQ0AIAIoAihBqtWq1XogAigCPBshBANAIAVFDQEgAiAGKQIANwMQIAIgASkCADcDCCACQQhqEPuAgIAAIAQgARCRgYCAACAEQQxqIQQgBkEIaiEGIAVBf2ohBQwACwsCQCAAKALQCCIFRQ0AIAEoAgAgAygCACAFQTtsQQNBACABKAIEKAIMEYGAgIAAgICAgAALIAJBwABqJICAgIAACzQBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIEIAJBAEEAIAEoAgQoAgwRgYCAgACAgICAAAsLmAEBA38jgICAgABBMGsiAiSAgICAACACIAEoAgQ2AiggAiABKAIIIgM2AiwgASgCACEEQWQhAQJAA0AgAUUNASACQQxqIAFBhKrIgABqKAIAQQJ0aiAENgIAIAQgAUHoqciAAGooAgAgA2xqIQQgAUEEaiEBDAALCwJAQSRFDQAgACACQQxqQST8CgAACyACQTBqJICAgIAACzcBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIAIAJBLGxBA0EAIAEoAgQoAgwRgYCAgACAgICAAAsLzQIBBn8jgICAgABBMGsiASSAgICAACAAQZgBaiECIAAoArwBKAIAIQMCQCAALwHMASIERQ0AIANBPGogAygCECAEEJOBgIAAC0EAIQQgAkHQh8KAABCUgYCAACEFIABBADsBzAECQCAFQQFxDQAgASADQTxqIAMo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NwMACyASQQhqIRIgDEEIaiEMIBNBCGohEyAFQQhqIQUgDUF/aiENDAALCyANQQN0IgVFDQAgCiAMIAX8CgAAC0EAIRUgAC8BnAIgAS8BnAIiAE0NACAKIABBf2pB//8DcUEDdGoiACkDACIOQoCAgICAgAODQoCAgICAgANSDQAgACAOQv///////3yDNwMACyAGQcABaiSAgICAACAVC6QCAwZ/AX4CfyOAgICAAEEQayIDJICAgIAAAkACQCABKAIAIgRBfGooAgBFDQAgBEFwaiEFIARBdGohBiAEQXhqKAIAIgdBf2oiCCACELqBgIAAIgmncSEBIAlCOYinIQoDQCAEIAFqLAAAIgtFDQEgB0UNAQJAIAtBf0oNACAKIAtB/wBxRw0AIAIgBigCACAEaiABQQJ0aiILKAIARw0AIAUoAgAgBGogAUEDdGohAUEBIQcMAwsgB0F/aiEHIAFBAWogCHEhAQwACwtBACEBIANBDmpBADoAACADQQA7AQxBACEHQQAhCwsgACAHOgAIIAAgATYCBCAAIAs2AgAgACADLwEMOwAJIABBC2ogA0EOai0AADoAACADQRBqJICAgIAAC7EBACAAKAIAIAFqIAIgACgCCCABamsiAUEHdkH4//8PcWoiAEJ/QQAgA0ECdEEPakEEdiIDQcAAIAFBBHZBP3EiAWsiAiADIAJJGyICa0E/ca2IIAGthiAAKQMAhDcDACAAQQhqIQEgAyACayEAAkADQCAAQcEASQ0BIAFCfzcDACABQQhqIQEgAEFAaiEADAALCwJAIABFDQAgASABKQMAQn9BACAAa0E/ca2IhDcDAAsLNwEBfyAAKAIAIgIgASACIAJBdGooAgBqa0ECdmpBAToAACAAKAIAQXxqIgAgACgCAEF/ajYCAAukAgMGfwF+An8jgICAgABBEGsiAySAgICAAAJAAkAgASgCACIEQXxqKAIARQ0AIARBcGohBSAEQXRqIQYgBEF4aigCACIHQX9qIgggAhC6gYCAACIJp3EhASAJQjmIpyEKA0AgBCABaiwAACILRQ0BIAdFDQECQCALQX9KDQAgCiALQf8AcUcNACACIAYoAgAgBGogAUECdGoiCygCAEcNAEEBIQcgBSgCACAEaiABQQF0aiEBDAMLIAdBf2ohByABQQFqIAhxIQEMAAsLQQAhASAD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BiACIAEvAYgBOwEEIAJBCGpBsJLJgAAgAkEEahDtgICAAAJAIAIvARwiBEUNACAAIAQ7AQQMAgsgAi8BGCEJIAIvARohCiACKAIMIQQgAigCFCELIAIoAhAhByACQSBqIAIoAggiDBDugICAACACKAIwIQ0gAkE4aiAHEO+AgIAAIAIoAjghDiACQcgAaiAHQQR2EPCAgIAAIAIoAkghDyACQdgAaiALEPGAgIAAIAIoAlghECACQegAaiAEQRxuIhEQ8oCAgAAgECAPIA4gDSAKIAlsQf//A3FBA3QiEiAKQQN0IghqIhNqQQdqQXhxIhRqQQNqQXxxIg5qQQdqQXhxIg9qQQNqQXxxIRAgAigCeCEVQQAhDQJAIARBHEkNAEIBQSAgEUEEdEF/amdrrYanIQ0LIAJBgAFqIA0Q84CAgAAgAkG0AWogAkEgakEIaikDADcCACACQbwBaiACQSBqQRBqKQMANwIAIAJB0AFqIAJBOGpBCGopAwA3AgAgAiATNgKoASACIBI2AqQBIAIgCDYCoAEgAiAINgKcASACQQA2ApgBIAIgFDYCxAEgAiAONgLYASACIAIpAyA3AqwBIAIgAikDODcCyAEgAiAVIBBqQQNqQXxxIhIgAigCgAFqQf//A2pBgIB8cSIVNgKUASACQeQBaiACQcgAakEIaikDADcCACACQfgBaiACQdgAakEIaikDADcCACACQYwCaiACQYABakEIaikDADcCACACQaACaiACQegAakEIaikDADcCACACQagCaiACQegAakEQaikDADcCACACIA82AuwBIAIgEjYCgAIgAiAQNgKUAiACIAIpA0g3AtwBIAIgAikDWDcC8AEgAiACKQOAATcChAIgAiACKQNoNwKYAiACIAo7AcICIAIgCTsBwAIgAiALNgK8AiACIAc2ArgCIAIgBDYCtAIgAiAMNgKwAgJAAkAgBigCCCIHRQ0AIAcgBigCDCIENgIMDAELIAEgBigCDCIENgJUCwJAAkAgBEUNACAEIAYoAgg2AggMAQsgBSAGKAIINgIACyAGKAIQIQsCQCAGKAIUIgRFDQAgC0EAIAT8CwALIAEgASgCaCAGLwGuAmtBAWo2AmgCQCABLQCNAUECRw0AIAEtAIQBRQ0AAkAgASgCgAEiBCAGLwGuAiIHTw0AIAFBAToAjQEMAQsgASAEIAdrNgKAAQsgAkGwAmohDCACQZgCaiERIAJBrAFqIRYgCUEDdCENQQAhB0EAIQQCQANAIAggBEYNASALIARqIAggB2qtNwMAIAcgDWohByAEQQhqIQQMAAsLIAIgEzYCqAQgAiALNgKkBCACQbgDaiACQaQEaiAWEPSAgIAAIAIoAvgBIA9qIQcCQCACKAL0ASIWQQN0IgRFDQAgByALakH/ASAE/AsACyACKALQASAUaiENIAIoAvwBIRcCQCACKALMASIYQQN0IgRFDQAgDSALakH/ASAE/AsACyALIA5qIgRBADYCDCAEIAIoAugBIhM2AgggBCACKQLgAUIgiTcCACACKALUASEZAkAgE0UNACAEQRBqQQAgE/wLAAsgCyASaiIEQQA2AgwgBCACKAKQAiITNgIIIAQgAikCiAJCIIk3AgACQCATRQ0AIARBEGpBACAT/AsACyACIBA2ArAEIAIgCzYCrAQgAkHIAmogAkGsBGogEUH8xMeAABD1gICAACAGIA5BEGo2AjggBiAZIBRqNgI0IAYgGDYCMCAGIA02AiwgBiAXIA9qNgIoIAYgFjYCJCAGIAc2AiAgBiAINgIcIAZBADYCGCAGIBU2AhQgBiALNgIQIAJBADoAxAICQEHoAEUNACAGQTxqIAJBuANqQegA/AoAAAsgBiASQRBqNgKkAQJAQfAARQ0AIAZBqAFqIAJByAJqQfAA/AoAAAsgBiAJOwGsAiAGIAo7AaoCIAYgCTsBqAIgBkEBOwGuAiAGIAM2AgggBiACLQDEAjoAsAIgBkGgAmogDEEIaikCADcCACAGIAwpAgA3ApgCAkACQCADKAIMIgRFDQAgBiAENgIMIAQgBjYCCAwBCyAGQQA2AgwgBSAGNgIACyADIAY2AgwgASAGKQMAQgF8NwMIIAYgASkDACIaNwMAIAEgGkIBfDcDAAJAIAEoAnRFDQAgASgCcCEEIAEoAmwhBwNAIARFDQECQCAHKAIAIggoAgAgBkcNACABKAJUIQMgCEEBOgAIIAhBADYBBCAIIAM2AgALIAdBBGohByAEQX9qIQQMAAsLIABBADsBBCAAIAY2AgAgASgCfEEAOgAIDAELIAJBAToAtgQgAiABLwGIATsBtAQgAkG4BGpBsJLJgAAgAkG0BGoQ7YCAgAACQCACLwHMBCIERQ0AIAAgBDsBBAwBCyACLwHKBCENIAIvAcgEIQkgAigCxAQhBiACKALABCEEIAIoArwEIQcgAigCuAQhAyACQdAEaiABQRhqEOaAgIAAAkACQCACLwHUBCIMDQAgAigC0AQhCyACQdgEaiADEO6AgIAAIAIoAugEIQogAkHwBGogBBDvgICAACACKALwBCEOIAJBgAVqIARBBHYQ8ICAgAAgAigCgAUhDyACQZAFaiAGEPGAgIAAIAIoApAFIRAgAkGgBWogB0EcbiIVEPKAgIAAIBAgDyAOIAogDSAJbEH//wNxQQN0IhIgDUEDdCIIaiITakEHakF4cSIUakEDakF8cSIOakEHakF4cSIPakEDakF8cSEKIAIoArAFIQxBACEQAkAgB0EbTQ0AQgFBICAVQQR0QX9qZ2uthqchEAsgAkG4BWogEBDzgICAACACQegFaiACQdgEakEIaikDADcCACACQfAFaiACQdgEakEQaikDADcCACACQYQGaiACQfAEakEIaikDADcCACACIBM2AtwFIAIgEjYC2AUgAiAINgLUBSACIAg2AtAFIAJBADYCzAUgAiAUNgL4BSACIA42AowGIAIgAikD2AQ3AuAFIAIgAikD8AQ3AvwFIAIgDCAKakEDakF8cSIQIAIoArgFakH//wNqQYCAfHEiEjYCyAUgAkGYBmogAkGABWpBCGopAwA3AgAgAkGsBmogAkGQBWpBCGopAwA3AgAgAkHABmogAkG4BWpBCGopAwA3AgAgAkHUBmogAkGgBWpBCGopAwA3AgAgAkHcBmogAkGgBWpBEGopAwA3AgAgAiAPNgKgBiACIBA2ArQGIAIgCjYCyAYgAiACKQOABTcCkAYgAiACKQOQBTcCpAYgAiACKQO4BTcCuAYgAiACKQOgBTcCzAYgAiANOwH2BiACIAk7AfQGIAIgBjYC8AYgAiAENgLsBiACIAc2AugGIAIgAzYC5AYgAiABKQIsNwP4BgJAAkACQCASQYGAJE8NACACQYAHaiABQSxqEOmAgIAAIAIvAYQHIgwNAkGAgCQhFSACQYAHaiEEDAELIAJBiAdqIAJB+AZqIBIQ64CAgAAgAi8BkAciDA0BIAJBiAdqIQQgAigCjAchFQsgAkHkBmohDCACQcwGaiERIAJB4AVqIRYgCUEDdCEDIAQoAgAhBkEAIQdBACEEA0Ag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KAIQNgIcIAMgAykCCDcCFCADQSBqIANBFGogAS8BigFBf2pB//8DcRDPgYCAACAAQQE6AAwgACADLwEkOwEEIAAgAygCICIBNgIAIABBACADKAIoIAMtADAbNgIIIAAgAS8BrAJBf2o7AQYMAgsgAEEBOgAMIABBADoACCAAIAEoAlgiATYCACAAIAEvAa4CQX9qOwEEIAAgAS8BrAJBf2o7AQYMAQsgA0E0aiABQQAQu4GAgAAgAyADKAI8NgJIIAMgAykCNDcCQCADQcwAaiADQcAAakEBEN+BgIAAAkAgAy0AXA0AIABBAToADCAAIAMoAlQ2AgggACADLwFQOwEEIAAgAygCTCIBNgIAIAAgAS8BrAJBf2o7AQYMAQsgAEIANwIAIABBCGpCADcCAAsgA0HgAGokgICAgAALcQECfyOAgICAAEEQayICJICAgIAAIAJBBGogAEEAELuBgIAAAkACQCABKAIAIgMgAigCBCIARw0AIAEvAQQgAi8BCE8hAQwBCwNAIAAoAgwiAEEARyEBIAAgA0YNASAADQALCyACQRBqJICAgIAAIAEL+QIBBn8jgICAgABBIGsiAiSAgICAAAJAAkACQAJAIAEtACxFDQAgAUEkaiEDIAEvASohBCABLwEoIQUgASgCJCEGIAJBADoABCABLwEwIQcgAS0AIEEBcUUNASABIAdBAWoiBTsBMCAFQf//A3EgBEH//wNxSQ0CIAJBCGogARC0gYCAACADQQhqIAJBCGpBCGooAgA2AgAgAyACKQIINwIAIAEtACxFDQIgASABLwEoOwEwDAILIABCADcCACAAQQhqQgA3AgAMAgsCQCAHQf//A3EiBEUNAAJAIAQgBUH//wNxRw0AIANCADcCACADQQhqQQA2AgAMAgsgASAHQX9qOwEwDAELIAJBFGogARC0gYCAACADQQhqIAJBFGpBCGooAgA2AgAgAyACKQIUNwIAIAEtACxFDQAgASABLwEqQX9qOwEwCyAAQQA7AQYgACAHOwEEIAAgBjYCACAAQQE6AAwgACACLQAEOgAICyACQSBqJICAgIAAC7sBAQR/AkAgACgCdEUNACAAKAJwIQIgACgCbCEDA0AgAkUNAQJAIAMoAgAiBCgCACABRw0AAkAgASgCCCIFDQAgASgCDCEFCyAEQQA2AQQgBCAFNgIACyADQQRqIQMgAkF/aiECDAALCyABKAIMIQICQAJAIAEoAggiA0UNACADIAI2AgwMAQsgACACNgJUCyABKAIIIQMCQAJAIAJFDQAgAiADNgIIDAELIAAgAzYCWAsgACABELCBgIAAC8QBAgN/AX4jgICAgABBMGsiAySAgICAAAJAAkAgAi8BBCIEIAEvAYgBSQ0AIABCADcCACAAQQhqQgA3AgAMAQsgAigCACEFIANBDGogASACLQAIELuBgIAAIANBGGogA0EMaiAFEM+BgIAAAkAgAy0AKA0AIAAgAykDGCIGPgIAIABBAToADCAAIAMoAiA2AgggACAEOwEGIABBBGogBkIgiD0BAAwBCyAAQgA3AgAgAEEIakIANwIACyADQTBqJICAgIAACzgCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgADYCDCABQQxqEKKEgIAAIQIgAUEQaiSAgICAACACC6QCAQJ/I4CAgIAAQSBrIgMkgICAgAACQAJAAkACQAJAAkACQAJAIAJBA3EOBAYAAQEGCyABLQCNAQ4DAQIDAQsgAEEAOgAIIABBADYCBCAAIAEoAlQ2AgAMBQsgA0EIaiABQQAQu4GAgAAgA0EIaiEBDAILIANBADoAHCADQQA2AhggAyABKAJUNgIUIANBFGohAQwBCyABKAJ8IQELIAAgASkCADcCACAAQQhqIAFBCGooAgA2AgAMAQsgAUHYAGohAiABLwGKASEBA0ACQCABQf//A3EgAigCACICLwGuAiIESw0AIABBADoACCAAQQA7AQYgACACNgIAIAAgBCABazsBBAwCCyACQQhqIQIgASAEayEBDAALCyADQSBqJICAgIAAC8sOARh/I4CAgIAAQcAEayIDJICAgIAAIAAoAhQhBAJAAkACQCAALwEaIAAoAgQiBS8BmgJBf2pB//8DcUcNACAAKAIQIQYgA0EIaiABQRhqEOaAgIAAIAMvAQwiBQ0CIAIvARAhByACLwESIQUgAygCCCEIIANBEGogAigCABDugICAACADKAIgIQkgA0EoaiACKAIIIgoQ74CAgAAgAygCKCELIANBOGogCkEEdhDwgICAACADKAI4IQogA0HIAGogAigCDBDxgICAACADKAJIIQwgA0HYAGogAigCBCINQRxuIg4Q8oCAgAAgDCAKIAsgCSAHIAVsQf//A3FBA3QiByAFQQN0Ig9qIhBqQQdqQXhxIhFqQQNqQXxxIhJqQQdqQXhxIhNqQQNqQXxxIQsgAygCaCEJQQAhBSANQRtNDQFCAUEgIA5BBHRBf2pna62GpyEFDAELIAUgBS8BngJBAWo7AZ4CIAAgACgCCCICQQhqNgIIIAAoAgQoAgAhByACKAIIIQJBACEFIABBADoAHCAAQQA7ARggACAALwEaQQFqOwEaIAAgAiAHajYCDAwBCyADQfAAaiAFEPOAgIAAIANBoAFqIANBEGpBCGopAwA3AgAgA0GoAWogA0EQakEQaikDADcCACADQbwBaiADQShqQQhqKQMANwIAIAMgEDYClAEgAyAHNgKQASADIA82AowBIAMgDzYCiAEgA0EANgKEASADIBE2ArABIAMgEjYCxAEgAyADKQMQNwKYASADIAMpAyg3ArQBIAMgCSALakEDakF8cSIMIAMoAnBqQf//A2pBgIB8cSINNgKAASADQdABaiADQThqQQhqKQMANwIAIANB5AFqIANByABqQQhqKQMANwIAIANB+AFqIANB8ABqQQhqKQMANwIAIANBjAJqIANB2ABqQQhqKQMANwIAIANBlAJqIANB2ABqQRBqKQMANwIAIAMgEzYC2AEgAyAMNgLsASADIAs2AoACIAMgAykDODcCyAEgAyADKQNINwLcASADIAMpA3A3AvABIAMgAykDWDcChAIgA0GsAmogAkEQaigCADYCACADQaQCaiACQQhqKQIANwIAIAMgAikCADcCnAIgAyABKQIsNwOwAgJAAkACQCANQYGAJE8NACADQbgCaiABQSxqEOmAgIAAIAMvAbwCIgUNAkGAgCQhFCADQbgCaiECDAELIANBwAJqIANBsAJqIA0Q64CAgAAgAy8ByAIiBQ0BIANBwAJqIQIgAygCxAIhFAsgA0GcAmohDiADQYQCaiEVIANBmAFqIRYgAy8BrgIiF0EDdCEJIAMvAawCIhhBA3QhCiACKAIAIQdBACECIA8hBQJAA0AgCSACRg0BIAcgAmogBa03AwAgAkEIaiECIAUgCmohBQwACwsgAyAQNgKwBCADIAc2AqwEIANBwANqIANBrARqIBYQ9ICAgAAgAygC5AEgE2ohBQJAIAMoAuABIhBBA3QiAkUNACAFIAdqQf8BIAL8CwALIAMoArwBIBFqIQkgAygC6AEhFgJAIAMoArgBIhlBA3QiAkUNACAJIAdqQf8BIAL8CwALIAcgEmoiAkEANgIMIAIgAygC1AEiCjYCCCACIAMpAswBQiCJNwIAIAMoAsABIRoCQCAKRQ0AIAJBEGpBACAK/AsACyAHIAxqIgJBADYCDCACIAMoAvwBIgo2AgggAiADKQL0AUIgiTcCAAJAIApFDQAgAkEQakEAIAr8CwALIAMgCzYCuAQgAyAHNgK0BCADQdACaiADQbQEaiAVQfzEx4AAEPWAgIAAIAggEkEQajYCOCAIIBogEWo2AjQgCCAZNgIwIAggCTYCLCAIIBYgE2o2AiggCCAQNgIkIAggBTYCICAIIA82AhwgCEEANgIYIAggDTYCFCAIIAc2AhAgA0EAOgDMAgJAQegARQ0AIAhBPGogA0HAA2pB6AD8CgAACyAIIAxBEGo2AqQBAkBB8ABFDQAgCEGoAWogA0HQAmpB8AD8CgAACyAIIBc7Aa4CIAggGDsBrAIgCCAXOwGqAiAIIBg7AagCIAhBoAJqIA5BCGopAgA3AgAgCCAOKQIANwKYAiAIIAMtAMwCOgCwAiAIIAEpAwA3AwAgCEIANwIIIAhBADsBrgIgASABKAJcIBRqNgJcIAEgASkDAEIBfDcDACAIQQE7Aa4CIAggACgCACICNgIIIAhBEGohBwJAAkAgAigCDCIFRQ0AIAggBTYCDCAFIAg2AggMAQsgCEEANgIMIAEgCDYCWAsgAiAINgIMIAgoAhggCCgCECICaiIJKAIAIQogCC8BrgIhAUEAIQUgAEEANgIYIAAgATYCFCAAIAk2AgggACAHNgIEIABBADoAHCAAIAY2AhAgACAINgIAIAAgCiACajYCDCADQQA6ALwEDAELIAggASgCKDYCACABIAg2AigLIAAgBEEBajYCFCADQcAEaiSAgICAACAFC/8BAQh/I4CAgIAAQRBrIgMkgICAgAAgACgCFCEEIAAvARohBSAALwEYIQYgA0EEaiABIAAoAgAgAhCZgYCAAAJAIAMvAQgiAQ0AIAMoAgQiAigCGCACKAIQIgdqIggoAgAhCSACLwGuAiEKIAAgCCAFQQN0aiIINgIIIAAgAkEQajYCBCAAIAo2AhQgAEEANgIQIABBADYCGCAAQQA6ABwgACACNgIAIAAgCSAHajYCDCAIKAIAIQcgAigCECECIABBADoAHCAAIAY7ARggACAFOwEaIAAgBDYCFCAAIAcgAmogBkEDdGo2AgwgA0EAOgAMCyADQRBqJICAgIAAIAEL4wMDBH8CfgV/AkACQAJAAkAgA0HBAEkNACABQQhqIQRBACEFA0AgBSIGIAJPDQICQCABIAZBA3QiBWoiBykDACIIQn+FeSIJUEUNACAGQQFqIQUMAQsgBCAFaiEKIAMgCaciC2siDCENIAZBAWoiDiEFAkADQCANQcEASQ0BAkAgAiAFRw0AIABCADcCAA8LIAopAwBCf1INAiAKQQhqIQogBUEBaiEFIA1BQGohDQwACwsgDSAKKQMAQn+FeqdLDQALIAdCf0HAACALayINQT9xrYYgCIU3AwAgDEEGdiEFIAEgDkEDdGohAwJAA0AgBUUNASADQgA3AwAgA0EIaiEDIAVBf2ohBQwACwsgDEE/cUUNAyAKIAopAwBCf0EAIAxrQT9xrYiFNwMADAMLQQAhDQNAIA0gAkYNAkEBIQUgASANQQN0aiIKKQMAIgghCQJAA0AgAyAFRg0BIAggBUE/ca2IIAmDIQkgBUEBaiEFDAALCwJAIAlCAFINACANQQFqIQ0MAQsLIABBAToABCAAIA1BBnQgCXoiCadyNgIAIApCf0EAIANrQT9xrYggCYYgCIU3AwAPCyAAQgA3AgAPCyAAQgA3AgAPCyAAQQE6AAQgACAGQQZ0IA1B/wBxcjYCAAuqAQMEfwF+A38CQCAAKAIAIgJBfGooAgANAEEADwsgAkF0aiEDIAJBeGooAgAiBEF/aiIFIAEQuoGAgAAiBqdxIQAgBkI5iKchBwN/AkACQCACIABqLAAAIghBAEcgBEEAR3EiCUEBRw0AIAhBf0oNASAHIAhB/wBxRw0BIAEgAygCACACaiAAQQJ0aigCAEcNAQsgCQ8LIARBf2ohBCAAQQFqIAVxIQAMAAsLvgEBAX8jgICAgABBEGsiBCSAgICAAAJAAkBBAA0AIARBBGogASgCACACaiABKAIEIANBf2pBBXZBAWoQvoGAgAACQCAELQAIRQ0AIABBADsBCCAAIAM2AgQgACABKAIIIAJqIAQoAgRBBXRqNgIADAILIABBCGpBACgC8MTHgAA2AgAgAEEAKQLoxMeAADcCAAwBCyAAQQhqQQAoAvDEx4AANgIAIABBACkC6MTHgAA3AgALIARBEGokgICAgAALrgEAIAAoAgAgAWogAiAAKAIIIAFqayIBQQh2Qfj//wdxaiIAQn9BACADQR9qQQV2IgNBwAAgAUEFdkE/cSIBayICIAMgAkkbIgJrQT9xrYggAa2GIAApAwCENwMAIABBCGohASADIAJrIQACQANAIABBwQBJDQEgAUJ/NwMAIAFBCGohASAAQUBqIQAMAAsLAkAgAEUNACABIAEpAwBCf0EAIABrQT9xrYiENwMACwuVBAEIfyOAgICAAEEwayIEJICAgIAAIARBEGpBEGogACgCBCABaiIFIAJB//8DcUEcbGoiAkEQaiIGKQIANwMAIARBEGpBCGogAkEIaiIHKQIANwMAIARBEGpBGGogAkEYaiIIKAIANgIAIAQgAykCADcDCCAEIAIpAgA3AxACQCAAKAIQIAQvASQiA0kNACAAKAIAIQkgBEEIaiAEQRBqEMOBgIAAIABBLmoiCiAELwEmQQF0aiILIAsvAQBBf2o7AQAgCSABaiIBIANBAXRqQQA7AQAgCEEAKAKsksmAADYCACAGQQApAqSSyYAANwIAIAdBACkCnJLJgAA3AgAgAkEAKQKUksmAADcCAAJAA0AgASAALwEgIANBAWpxIgdB//8DcUEBdGoiAi8BACIGRQ0BIAUgBkEcbGoiBi8BFkUNASAGQRRqIAM7AQAgCiAFIAIvAQBBHGxqLwEWQQF0aiIGIAYvAQBBf2o7AQAgBSACLwEAQRxsaiIGIAYvARZBf2o7ARYgCiAFIAIvAQBBHGxqLwEWQQF0aiIGIAYvAQBBAWo7AQAgASADQf//A3FBAXRqIAIvAQA7AQAgByEDDAALCyAALwEsIQICQANAIAJB//8DcSIFRQ0BIAogBUEBdGovAQANASAAIAJBf2oiAjsBLAwACwsgASADQf//A3FBAXRqQQA7AQALIARBMGokgICAgAALXQEEfyAAKAIAIgBBEGohAiABKAIQIQMgASgCDCEEAkAgAS0ACEEBcQ0AIAIgACgCACIFIAUgASgCAGogASgCBBDBgYCAAAsgAiAAKAIAIgEgBCABaiADEMGBgIAAC7wFAwV/An4GfyOAgICAAEEwayIFJICAgIAAIAVBEGpBCGogAkEIaikCADcDACAFQRBqQRBqIAJBEGooAgA2AgBBACEGIAVBADsBKCAFQf//AzYCJCAFIAQpAgA3AwggBSACKQIANwMQIABBLmohByAAKAIEIAFqIQggACgCACABaiEJIAVBCGogAhCBhICAACEKIAAoAhBBf2qtIQsgBUEQaiECIAMhDAJAA0AgC1ANAQJAIAkgAC8BICAKp3EiDUH//wNxQQF0aiIOLwEAIgRFDQACQCAIIARBHGxqIgEvARgiDw0AIAVBCGogARDDgYCAACAHIAEvARZBAXRqIgYgBi8BAEF/ajsBACABQRhqQQAoAqySyYAANgIAIAFBEGpBACkCpJLJgAA3AgAgAUEIakEAKQKcksmAADcCACABQQApApSSyYAANwIAIAQgA0H//wNxIgEgBCABSRshAwwBCwJAAkAgAS8BFiIQIAZB//8DcSIRSQ0AIBAgEUcNASAPIAIvARhPDQELIA4gDDsBACACIA07ARQgByACLwEWQQF0aiIGIAYvAQBBAWo7AQAgACAALwEsIgYgAi8BFiICIAYgAksbOwEsIAcgAS8BFkEBdGoiAiACLwEAQX9qOwEAIAEvARYhBiAEIQwgASECCyACIAZBAWoiBjsBFiAKQgF8IQogC0J/fCELDAELCyAOIAw7AQAgAiANOwEUIAcgAi8BFkEBdGoiASABLwEAQQFqOwEAIAAgAC8BLCIBIAIvARYiAiABIAJLGzsBLAsgCSAFLwEkQQF0aiADOwEAIAggA0H//wNxQRxsaiICIAUpAxA3AgAgAkEIaiAFQRBqQQhqKQMANwIAIAJBEGogBUEQakEQaikDADcCACACQRhqIAVBEGpBGGooAgA2AgAgBUEwaiSAgICAACADC60BAQh/AkACQCABLQAIIgMgAi0ACHNBAXENACAAKAIEIgQgACgCACIAIAQbKAIAIQQgAigCECEFIAIoAgwhBiACKAIAIQcgASgCECEIIAEoAgwhCSABKAIAIQogACgCACEAAkAgA0EBcUUNACAKIAdHDQEMAgsgCiAEaiABKAIEIAcgAGogAigCBBCxgICAAEEBcQ0BC0EADwsgBCAJaiAIIAAgBmogBRCxgICAAAv8AgEEfyOAgICAAEEQayIFJICAgIAAIAUgBCkCADcDACABKAIEIAJqIQYCQANAIAEvAW4iB0ECSQ0BIAYgB0F/aiIHQf//A3FBHGxqLwEYDQEgASAHOwFuIAEgAiAH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HkEBdGoiASABLwEAQQFqOwEAIAAgAC8BJCIBIAIvAR4iAiABIAJLGzsBJAsgCCAELwEkQQF0aiADOwEAAkBBJEUNACAHIANB//8DcUEkbGogBEEIakEk/AoAAAsgBEEwaiSAgICAACADC5c0BAN/AX4XfwF+I4CAgIAAQfANayIDJICAgIAAIAAgATsBiAECQAJAAkAgAi0ABEUNAEEAIQQgA0EAOgAQIAMgAi8BADsBDCADIAIvAQIiBTYCCCADQRRqIAAgA0EIahC5gYCAACADLQAgRQ0AIANBJGogAEGExceAABC5gYCAAAJAIAMtADBFDQAgA0GYAWpBCGogA0EkakEIaigCADYCACADIAMpAiQ3A5gBQQIhBAsgA0HoAGpBCGogA0EUakEIaigCADYCACADQYABaiADQZgBakEIaigCADYCACADQQA6AJABIAMgAykCFDcDaCADQQE6AHQgAyADKQOYATcDeCADIAQ6AJQBIAMgBDoAhAEgA0EAOgCIASADQagBaiADQegAahC0gYCAAAJAAkAgAy0AsAFFDQACQEEkRQ0AIANB7AFqIANB6ABqQST8CgAACyADQQE6AJgCIAMgAykDqAEiBjcCkAIgAyAGQjCIp0F/ajsBnAIgA0HsAWohAgwBCwJAQSRFDQAgA0G4AWogA0HoAGpBJPwKAAALIANB4gFqQgA3AQAgA0IANwLcASADQbgBaiECCwJAQTRFDQAgA0E0aiACQTT8CgAAC0EAIQcCQANAIANBoAJqIANBNGoQt4GAgAAgAy0ArAJFDQEgAygCoAIiAigCGCACKAIQaiADLwGkAkEDdGopAwBCIYinQQFxIAdqIQcMAAsLIANBsAJqIAAgA0EUahCEgYCAACADLwG0AiICDQIgAC8BigEgBUF/c2pB//8DcSEIQQAhCSADKAKwAiEKDAELQQEhCQsgACgCVCECIANBuAJqIABB+IfCgABBjNTHgAAQzIGAgAAgA0EBOgDuAiADIAE7AewCIANB8AJqIAJBmAJqIANB7AJqEO2AgIAAAkACQCADLwGEAyICDQAgAy8BggMhCyADLwGAAyEMIAMoAvwCIQ0gAygC+AIhASADKAL0AiEFIAMoAvACIQ4gA0GIA2ogAEEYahDmgICAACADLwGMAyICDQAgAygCiAMhDyADQZADaiAOEO6AgIAAIAMoAqADIQIgA0GoA2ogARDvgICAACADKAKoAyEQIANBuANqIAFBBHYQ8ICAgAAgAygCuAMhESADQcgDaiANEPGAgIAAIAMoAsgDIRIgA0HYA2ogBUEcbiITEPKAgIAAIBIgESAQIAIgCyAMbEH//wNxQQN0IhQgC0EDdCIEaiIVakEHakF4cSIWakEDakF8cSIXakEHakF4cSIRakEDakF8cSEQIAMoAugDIRJBACECAkAgBUEbTQ0AQgFBICATQQR0QX9qZ2uthqchAgsgA0HwA2ogAhDzgICAACADQaAEaiADQZADakEIaikDADcCACADQagEaiADQZADakEQaikDADcCACADQbwEaiADQagDakEIaikDADcCACADIBU2ApQEIAMgFDYCkAQgAyAENgKMBCADIAQ2AogEIANBADYChAQgAyAWNgKwBCADIBc2AsQEIAMgAykDkAM3ApgEIAMgAykDqAM3ArQEIAMgEiAQakEDakF8cSISIAMoAvADakH//wNqQYCAfHEiFDYCgAQgA0HQBGogA0G4A2pBCGopAwA3AgAgA0HkBGogA0HIA2pBCGopAwA3AgAgA0H4BGogA0HwA2pBCGopAwA3AgAgA0GMBWogA0HYA2pBCGopAwA3AgAgA0GUBWogA0HYA2pBEGopAwA3AgAgAyARNgLYBCADIBI2AuwEIAMgEDYCgAUgAyADKQO4AzcCyAQgAyADKQPIAzcC3AQgAyADKQPwAzcC8AQgAyADKQPYAzcChAUgAyALOwGuBSADIAw7AawFIAMgDTYCqAUgAyABNgKkBSADIAU2AqAFIAMgDjYCnAUgAyAAKQIsNwOwBQJAAkACQAJAIBRBgYAkTw0AIANBuAVqIABBLGoQ6YCAgAAgAy8BvAUiAg0CQYCAJCETIANBuAVqIQIMAQsgA0HABWogA0GwBWogFBDrgICAACADLwHIBSICDQEgA0HABWohAiADKALEBSETCyAAQdQAaiEYIANBnAVqIQ4gA0GEBWohGSADQZgEaiEaIAxBA3QhDSACKAIAIQVBACEBQQAhAgNAIAQgAkYNAiAFIAJqIAQgAWqtNwMAIAEgDWohASACQQhqIQIMAAsLIA8gACgCKDYCACAAIA82AigMAQsgAyAVNgKsByADIAU2AqgHIANBwAZqIANBqAdqIBoQ9ICAgAAgAygC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CmogA0HICmogECACaxCngYCAAAJAAkAgAy0A1AoNAEEAIQ5BACEWDAELIAMoAswKIAJqIQ4gAygC0AohFgsCQCADKAK8ByIBKAIoIAEoAgAiAmoiBEF8aigCACAEQXhqKAIASQ0AIANB2ApqQQhqQgA3AwAgA0IANwPYCiADQgA3A/AKIANBAToA7AogAyADKAK4CkEBdDYC6AogA0G4B2ogACADQdgKahC9gYCAACICQf//A3ENCyADKAK8ByIBKAIAIQILIANB/ApqIAFBHGoiBCACIBYQqIGAgAACQAJAIAMvAYQLDQAgBCABKAIAIAMoAvwKIAMoAoALEKKBgIAADAELIBZBAnQhBCADKAK4CiINIQIDQCACIgFBAXQhAiABIA1rIARJDQALIBlCADcDACAZQQhqQgA3AwAgA0EBOgCUCyADIAE2ApALIANCADcDiAsgA0G4B2ogACADQYgLahC9gYCAACICQf//A3ENCyADKAK8ByEBCyADIAEoAiggASgCACIEajYCqAsgAygCxAchAiADKALAByELIANBrAtqIAFBHGoiGiAEIBYQqIGAgAACQCADLwG0C0UNAEEiIQIMCwsgAygCrAshDQJAIAMoArALIhZBAnQiFUUNACANIA4gFfwKAAALIAEoAgAhDiADIBY2ArwLIAMgDSAOazYCuAsCQCADQagLaiACIARrIANBuAtqEKmBgIAAQf//A3FFDQAgGiABKAIAIA0gFhCigYCAAEEhIQIMCwsgAiACKQMAQnyDQgGENwMAIAsgCykDAEKAgICAwACENwMAIBApAwAhBgsCQAJAIAZCgICAgICACINCAFINACADKAK8ByEBDAELIAMgBSgCpAEgBSgCECIEajYCwAsgA0HEC2ogA0HAC2ogECAEaxCqgYCAACADLwHECyEWIAUoAqwBIQsCQCADKAK8ByIBKAKUASABKAIAIgJqIg1BfGooAgAgDUF4aigCAEkNACADQcgLakEIakIANwMAIANCADcDyAsgA0IANwPgCyADQQE6ANwLIAMgAygCtApBAXQ2AtgLIANBuAdqIAAgA0HIC2oQvYGAgAAiAkH//wNxDQsgAygCvAciASgCACECCyADQewLaiABQRBqIg0gAkEAIAsgBGogFkEcbGoiCygCBCALLQAIQQFxGyALKAIQaiIEEMCBgIAAAkACQCADLwH0Cw0AIA0gASgCACADKALsCyADKALwCxDBgYCAAAwBCyADKAK8CiINIQIDQCACIgFBAXQhAiABIA1rIARJDQALIANB+AtqQRBqQgA3AwAgA0H4C2pBCGpCADcDACADQgA3A/gLIANBAToAlAwgAyABNgKQDCADQbgHaiAAIANB+AtqEL2BgIAAIgJB//8DcQ0LIAMoArwHIQELIAEoAgAhBCADQZgMaiALIBQgARCtgYCAACADLwGsDCICDQogA0EANgK0DCADIAE2ArAMIANBugxqIAFBmAFqIAQgA0GYDGogFiADQbAMahCugYCAACADQboMaiEBIAMtALwMIQICQAJAAkACQCADLwG+DA4CAwEAC0GszceAACECDAELIANBwAxqQQhqQgA3AwAgA0IANwPADCADQgA3A9gMIANBAToA1AwgAyADKAK0CkEBdDYC0AwgA0HADGohAgsgA0G4B2ogACACEL2BgIAAIgJB//8DcQ0LIAMoArwHIgEoAgAhBCADQeQMaiALIBQgARCtgYCAACADLwH4DCICDQsgA0EANgKADSADIAE2AvwMIANBhA1qIAFBmAFqIAQgA0HkDGogFiADQfwMahCugYCAACADLwGIDSICDQsgAyADLwGEDTsBig0gA0GKDWohASADLQCGDSECCwJAIAJB/wFxRQ0AIAEvAQAhFgsgAyADKAK8ByIBKAKUASABKAIAIgRqNgKMDSADKALAByELIANBkA1qIANBjA1qIAMoAsQHIgIgBGsQq4GAgAACQCADLwGcDUUNAEEgIQIMCwsgAygClA0hDQJAAkAgAy0AmA1FDQAgAUGYAWogASgCACANLwEAEKWBgIAAQoCAgICAgAghBiACIQQgDS8BACAWQf//A3FGDQELIA0gFjsBACACIAIpAwBCgICAgICACIQ3AwBCgICAgIACIQYgCyEECyAEIAQpAwAgBoQ3AwAgECkDACEGCwJAIAZCGoinIgRB//8DcSINRQ0AIANBoA1qQQhqIAUoAkAgBSgCEGogDUEkbGoiAkEIaikCADcDACADQaANakEQaiACQRBqKQIANwMAIANBoA1qQRhqIAJBGGooAgA2AgAgAyACKQIANwOgDSADQcINaiABQSxqIAEoAgAgA0GgDWogBBCvgYCAACADQcINaiEEIAMtAMQNIQICQAJAAkACQCADLwHGDQ4CAwEAC0GszceAACECDAELIBNCADcCACATQQhqQgA3AgAgE0EQakIANwIAIANBAToAzA0gAyADKAKwCkEBdDYCyA0gA0HIDWohAgsgA0G4B2ogACACEL2BgIAAIgJB//8DcQ0LIANB6A1qIAMoArwHIgFBLGogASgCACADQaANaiAQKQMAQhqIpxCvgYCAACADLwHsDSICDQsgAyADLwHoDTsB7g0gA0HuDWohBCADLQDqDSECCwJAAkAgAkH/AXFFDQAgBC8BACEEDAELIBApAwBCGoinIQQLIAMoAsAHIgsgCykDAEKAgICAgAGENwMAIAMoAsQHIgIgAikDAEL///+fgIB/gyAErUL//wODQhqGhDcDAAsgAy8B0AciBCABLwGcAkF/akH//wNxRg0AIAMgBEEBajsB0AcgAyACQQhqNgLEBwwBCyADQQE6ANQHDAALCyASLQAEQQJxDQELIAMgAygCyAdBAWo2AsgHCyAPIAUvAa4CQX9qQf//A3FHDQMgACAFELCBgIAADAMLIA0gEEEBakH//wNxIgQgDSAESxshDQsgAUEEaiEBIAJBAWohAgwACwsLIAkNAQsgACAKEM6BgIAACyADQfANaiSAgICAACACC5YDAgF/AX4jgICAgABB4AFrIgQkgICAgAAgBEEIaiABIAIQuYGAgAACQAJAAkACQCADLQAMRQ0AIARBGGogASADELmBgIAAIARBGGohAQwBCyAEQShqIAEgAi0ACBC1gYCAACAEQShqIQEgBC0ANEUNAQsgBEE4akEIaiAEQQhqQQhqKAIANgIAIARB0ABqIAFBCGooAgA2AgAgBCAEKQIINwM4IARBAToAYCAEQQI6AGQgBEEBOgBEIARBAjoAVCAEQQE6AFggBCABKQIANwNIIARB6ABqIARBOGoQtIGAgAACQAJAIAQtAHBFDQACQEEkRQ0AIARBrAFqIARBOGpBJPwKAAALIARBAToA2AEgBCAEKQNoIgU3AtABIAQgBUIgiD0B3AEgBEGsAWohAQwBCwJAQSRFDQAgBEH4AGogBEE4akEk/AoAAAsgBEGiAWpCADcBACAEQgA3ApwBIARB+ABqIQELQTRFDQEgACABQTT8CgAADAELIABCADcCJCAAQSpqQgA3AQALIARB4AFqJICAgIAAC/0CAQR/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EGohAgJAA0AgBkF/aiIGRQ0BIAItAAUhFCACQQhqIQIgFEEgcQ0DDAALCyAPIA8pAwBC//////99gyIXNwMADAQLIA8gDykDAEL//////32DIhc3AwAMAwsgDykDACEXDAILIAJBCGohAiAUQQhqIRQgBkF/aiEGDAALCwJAIBdCgICAgIABg1ANACALIQYgECECA0ACQAJAAkACQAJAIAJFDQAgBikDAEIaiKciFEH//wNxDQEMBAsgECAFLwGsAiICRw0BDAILIAogBSgCECAUEJOBgIAADAILIAJBAWohBiAPKAIAIAUoAhBqIQIDQCAGQX9qIgZFDQEgAigBAiEUIAJBCGohAiAUQYD4/x9xDQQMAAsLIA8gDykDAEL//////36DNwMADAILIAZBCGohBiACQX9qIQIMAAsLAkAgEEEDdCICRQ0AIAtBACAC/AsACyATQQFqIRMMAAsLQgFBICASQQR0QX9qZ2uthqchBgwDCyAAIAUQuIGAgAAMAQsCQCAAKAJ0RQ0AIAAoAnAhAiAAKAJsIQYDQCACRQ0BAkAgBigCACIUKAIAIAVHDQACQCAULwEEIgggB08NACAUQQA2AQQMAQsgFCAIIAdrOwEECyAGQQRqIQYgAkF/aiECDAALCyAFIA07Aa4CCyAEIAdqIQQMAQsLIAVBmAJqIRIgBCAHaiEEIANBkAFqIAYQ84CAgAAgA0HEAWogA0EwakEIaikDADcCACADQcwBaiADQTBqQRBqKQMANwIAIANB4AFqIANByABqQQhqKQMANwIAIAMgFTYCuAEgAyATNgK0ASADIBQ2ArABIAMgFDYCrAFBACEGIANBADYCqAEgAyAONgLUASADIA82AugBIAMgAykDMDcCvAEgAyADKQNINwLYASADIBYgEWpBA2pBfHEiEyADKAKQAWpB//8DakGAgHxxIgc2AqQBIANB9AFqIANB2ABqQQhqKQMANwIAIANBiAJqIANB6ABqQQhqKQMANwIAIANBnAJqIANBkAFqQQhqKQMANwIAIANBuAJqIANB+ABqQRBqKQMANwIAIANBsAJqIANB+ABqQQhqKQMANwIAIAMgEDYC/AEgAyATNgKQAiADIBE2AqQCIAMgAykDWDcC7AEgAyADKQNoNwKAAiADIAMpA5ABNwKUAiADIAMpA3g3AqgCIAMgCjsB0gIg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BSAQIQwgECEBA0ACQAJAIAVFDQAgAS0ABUEgcUUNASAEIAYoAqQBIAYoAhAiCmo2AoAEIARBhARqIARBgARqIAwgCmsQpIGAgAAgBC0AjARFDQEgCyAKIAQoAogELwEAEKWBgIAAIARBgARqIAQoAoQEEKaBgIAAIAEgASkDAEL///////93gzcDAAwBCwJAAkAgDyAGLwGsAiIBRg0AIAFBAWohBSAJKAIAIAYoAhBqIQECQANAIAVBf2oiBUUNASABLQAFIQwgAUEIaiEBIAxBIHENAwwACwsgCSAJKQMAQv//////fYMiCDcDAAwECyAJIAkpAwBC//////99gyIINwMADAMLIAkpAwAhCAwCCyAFQX9qIQUgDEEIaiEMIAFBCGohAQwACwsCQCAIQoCAgICAAYNQDQAgBkE8aiEKIA8hASAQIQUDQAJAAkACQAJAAkAgAUUNACAFKQMAQhqIpyIMQf//A3ENAQwECyAPIAYvAawCIgFHDQEMAgsgCiAGKAIQIAwQk4GAgAAMAgsgAUEBaiEFIAkoAgAgBigCEGohAQNAIAVBf2oiBUUNASABKAECIQYgAUEIaiEBIAZBgPj/H3ENBAwACwsgCSAJKQMAQv//////foM3AwAMAgsgAUF/aiEBIAVBCGohBQwACwsgD0EDdCIBRQ0AIBBBACAB/AsADAALCwJAAkAgAC0AAUECcUUNACAHIAIgA0EBENGBgIAAIgFB//8DcUUNAQwCCyAHIAIgA0EAENGBgIAAIgFB//8DcQ0BCwJAIAAtACRBAnFFDQAgACgCICIBRQ0AIAEgAiADQQAQ0YGAgAAiAUH//wNxDQELIAAgAjsB8hFBACEBIABBADsB+BEgAEEAOwH0ESAAIAM7AfARIAAgAkF/ajsB+hEgACADQX9qOwH2ESAAQe4RaiIFIAUtAABBAXI6AAALIARBkARqJICAgIAAIAELHQACQCAARQ0AIAAgAEGoG2ogASACENmBgIAAGgsLHwAgACgCCCgCGCABKAIAQQJ0akHAAmogASgCBDYCAAvyAQECfyAAKAIYIgFBAToAmAIgASAAKAIYLwHIATsBkAIgASAAKAIYLwHKATsBkgIgASAAKAIYIgIpApgBNwLUASABQewBaiACQbABaigCADYCACABQeQBaiACQagBaikCADcCACABQdwBaiACQaABaikCADcCACABIAAoAhgtANIBQQFxOgCUAiABIAAoAhgtANEBQQFxOgCVAiABIAAoAgBBCHZBAXE6AJYCIAEgACgCGCIAKQLAAjcC8AEgAUGIAmogAEHYAmopAgA3AgAgAUGAAmogAEHQAmopAgA3AgAgAUH4AWogAEHIAmopAgA3AgALrQUDB38EfgN/I4CAgIAAQeAAayIBJICAgIAAAkACQCAAKAIYIgItAJgCRQ0AIAIvAZACIQMgAi8BkgIhBCACLQCUAiEFIAItAJUCIQYgAi0AlgIhBwJAQTxFDQAgASACQdQBakE8/AoAAAtCgAJCACAHQQFxGyEIDAELQQAhBSABQRhqQQA2AgBCACEIIAFBEGpCADcDACABQQhqQgA3AwAgAUEkakEAKQOIp8iAADcCACABQSxqQQApA5CnyIAANwIAIAFBNGpBACkDmKfIgAA3AgAgAUIANwMAIAFBACkDgKfIgAA3AhxBACEGQQAhA0EAIQQLIAIpApgBIQkgAiABKQMANwKYASACQaABaiIHKQIAIQogByABQQhqKQMANwIAIAJBqAFqIgcpAgAhCyAHIAFBEGopAwA3AgAgAkGwAWoiAigCACEHIAIgAUEYaigCADYCACABQcAAakEYaiIMIAc2AgAgAUHAAGpBEGoiDSALNwMAIAFBwABqQQhqIg4gCjcDACABIAk3A0AgACgCGBCSgYCAACEHIAAoAhghAgJAAkAgB0H//wNxRQ0AIAIgASkDQDcCmAEgAkGwAWogDCgCADYCACACQagBaiANKQMANwIAIAJBoAFqIA4pAwA3AgAMAQsgAiABKQIcNwLAAiACQdgCaiABQTRqKQIANwIAIAJB0AJqIAFBLGopAgA3AgAgAkHIAmogAUEkaikCADcCACAAIAA1AgBC//3//w+DIAiEPgIAIAAoAhggBkEBcToA0QEgACgCGCAFQQFxOgDSASAAKAIYIANB//8DcSICIAAvAfIRQX9qQf//A3EiAyACIANJGyAEQf//A3EiAiAALwHwEUF/akH//wNxIgAgAiAASRsQ3oGAgAALIAFB4ABqJICAgIAAIAcLqwgDB38BfgF/I4CAgIAAQYABayIDJICAgIAAAkACQAJAAkAgAkH//wNxIgQgAC8BygEiBU8NACADQQxqIAAoArwBIgYgBSACa0H//wNx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IAYgB2sQoYGAgAAgASgC+BAhByALIAIoAhAiCCAIIAEoAvwQIgkoAgBqIAkoAgQQooGAgAAgAUHwAGogBxCjgYCAACAFIAUpAwBCfIM3AwAMAQsCQAJAIBEgAi8BrAIiBUYNACAFQQFqIQMgDSgCACACKAIQaiEFAkADQCADQX9qIgNFDQEgBSkDACEKIAVBCGohBSAKQgODQgFRDQMMAAsLIA0gDSkDAEL/////v3+DIgo3AwAMBAsgDSANKQMAQv////+/f4MiCjcDAAwDCyANKQMAIQoMAgsgA0F/aiEDIAZBCGohBiAFQQhqIQUMAAsLAkAgCkKAgICAgAKDUA0AIAJBqAFqIQggESEDIAwhBiAMIQUDQAJAAkAgA0UNACAFLQAFQSBxRQ0BIAEgAigCpAEgAigCECIHajYCdCABQZARaiABQfQAaiAGIAdrEKSBgIAAIAEtAJgRRQ0BIAggAigCECABKAKUES8BABClgYCAACABQfQAaiABKAKQERCmgYCAACAFIAUpAwBC////////d4M3AwAMAQsCQAJAIBEgAi8BrAIiBUYNACAFQQFqIQMgDSgCACACKAIQaiEFAkADQCADQX9qIgNFDQEgBS0ABSEGIAVBCGohBSAGQSBxDQMMAAsLIA0gDSkDAEL//////32DIgo3AwAMBAsgDSANKQMAQv//////fYMiCjcDAAwDCyANKQMAIQoMAgsgA0F/aiEDIAZBCGohBiAFQQhqIQUMAAsLAkAgCkKAgICAgAGDUA0AIAJBPGohByARIQUgDCEDA0ACQAJAAkACQAJAIAVFDQAgAykDAEIaiKciBkH//wNxDQEMBAsgESACLwGsAiIFRw0BDAILIAcgAigCECAGEJOBgIAADAILIAVBAWohBSANKAIAIAIoAhBqIQIDQCAFQX9qIgVFDQEgAigBAiEDIAJBCGohAiADQYD4/x9xDQQMAAsLIA0gDSkDAEL//////36DNwMADAILIAVBf2ohBSADQQhqIQMMAAsLIBFBA3QiAkUNACAMQQAgAvwLAAsgACgCGCAEQX9qOwHKASAAKAIYQQEQ6YGAgAAgACgCGBCSgYCAACIEQf//A3ENAQtBACECDAULIAEgBDsBJiABQoAQNwKYESABQbC/x4AANgKQESABIAFB+ABqNgKUEQJAAkACQCABQZARaiABQSZqEPKBgIAAIgRB//8DcUUNACABQZARakGg6cmAAEEtEKiAgIAAIAEvAagRDQIgAUH4EGpBEGogAUGQEWpBEGopAgA3AwAgAUH4EGpBCGoiAiABQZARakEIaikCADcDACABIAEpApARNwP4EAJAIAIgAUEmahDygYCAAEH//wNxRQ0AIAFB+BBqEKmAgIAADAMLIAFBKGogAUH4EGoQqoCAgAAgAUH4EGoQqYCAgAAgAS8BMA0CIAEoAiwhBSABKAIoIQIMAQsgASgClBEhAiABKAKcESEFCyACIAUQgICAgAAgBEH//wNxRQ0AQaDpyYAAIAIgBRC2gICAAAsgACgCGCIEQgA3ApgBQQAhAiAEQbABakEANgIAIARBqAFqQgA3AgAgBEGgAWpCADcCACAAKAIYEJKBgIAAGgwECyABQShqIAMQsYGAgAAgAS8BLCICDQMCQAJAIAEoAihFDQAgAxDvgYCAACICQf//A3FFDQEMBQsCQCADKAK8ASIAKAIAIAMoAlhHDQAgAUH4AGogAEEBEM+BgIAAQZzNx4AAIQQCQCABLQCIAQ0AIAFB+BBqQQhqIAFB+ABqQQhqKAIANgIAIAEgASkCeDcD+BAgAUH4EGohBAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACADKAK8ASIEKAIAIgAoAhggACgCEGogBC8BBCICQQN0aiIEIAAvAa4CIAJBf3NqQQN0IgJqKQMAIQoCQCACRQ0AIARBCGogBCAC/AoAAAsgBCAKNwMAIABBAToAsAIgAygCvAEiACgCACIEKAIYIAQoAhAiBGogAC8BBEEDdGoiAigCACEFIAAvAQYhACADIAI2AsABIAMgBSAEaiAAQQN0ajYCxAEMAQsgAxDvgYCAACICQf//A3ENBAtBACECIAMvAcwBRQ0DIAFBkBFqIAgQ7IGAgAAgAS0AmBFFDQMgAy8BiAFBA3QhACADKALEASADLwHIAUEDdGshBCABKQOQESEKA0AgAEUNBCAEIAo3AwAgAEF4aiEAIARBCGohBAwACwsgAygCvAEoAgAhBCABQeAAaiADELGBgIAAIAEvAWQiAg0CAkACQCAEIAMoArwBIgAoAgAiB0YNACABQdAAakEGaiEEIAFB0ABqQQRqIQUgAUHQAGpBCGogAEEIaigCADYCACABIAApAgA3A1AgASADLwHIATsBViABQdAAaiECDAELIAFBkBFqIABBARDPgYCAAAJAIAEtAKARRQ0AQZzNx4AAIQJBos3HgAAhBEGgzceAACEFDAELIAFBKGpBBmohBCABQShqQQRqIQUgAUEoakEIaiABQZARakEIaigCADYCACABIAEpApARNwMoIAFBKGohAgsgBC8BACEGIAUvAQAhBQJAAkACQAJAAkAgByACKAIAIgRHDQAgAC8BBCAFRw0AIAAvAQZB//8DcSAGRg0BCyADKALAASIAIAApAwBCgICAgIDAAIQ3AwAgBCgCGCAEKAIQaiAFQQN0aiIAIAApAwBCgICAgIDAAIQ3AwAgAygCvAEiACgCACACKAIARg0AIAMvAcwBDQFBvKfIgAAhCUGgp8iAACEHDAILIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAMAgsgAUGUAWohCSAIKQIAIQogCEIANwMAIAFB+ABqQRhqIAhBGGoiACgCADYCACABQfgAakEQaiAIQRBqIgcpAgA3AwAgAUH4AGpBCGogCEEIaiILKQIANwMAIAtCADcDACAHQgA3AwAgAEEANgIAIAFBAToAlAEgASAKNwN4IAMQkoGAgAAaIAMoArwBIQAgAUH4AGohBwsCQCADKAK4AUUNACAAKAIAIgBBqAFqIAAoAhAgAy8BzgEQpYGAgAAgAygCvAEhAAsgACACKQIANwIAIABBCGogAkEIaigCADYCAAJAIAktAABFDQAgCCAHKQIANwIAIAhBGGoiACAHQRhqKAIANgIAIAhBEGoiAiAHQRBqKQIANwIAIAhBCGogB0EIaikCADcCACADEJKBgIAAIgdB//8DcUUNACABIAc7AXQgAUH0AGoQ4IGAgAAgAEEANgIAIAJCADcDACAIQQhqQgA3AwAgCEIANwMAIANBADsBzAELIAMoArgBIgBFDQAgA0EANgK4ASADQQA7Ac4BAkAgAyAAKAIMIAAoAhBBACAAKAIAIAAtAAhBAXEiAhtBACAAKAIEIAIbENOBgIAAIgJB//8DcUUNACABIAI7AUAgAUHAAGoQ4YGAgAALIAAgA0GQAWoiAhCdgYCAACACIAAQnoGAgAALIAQoAhggBCgCECICaiAFQQN0aiIAKAIAIQUgAyAANgLAASADIAUgAmogBkEDdGo2AsQBIAAgACkDAEKAgICAgMAAhDcDACADLQCkAUUNASADIARBEGogAygCwAEiACAAKAIAIAQoAhBqIAQvAawCEOiBgIAADAELIANBARDYgYCAACACQQE6ALACAkADQCACKAIMIgVFDQEgAkEQaiAFQRBqIAYgAi8BrgJBf2pB//8DcUEDdGogBSgCGCAFKAIQaiIHQQAgAi8BrAIQoIGAgAAiAkH//wNxDQMgBykDACEKAkAgBS8BrgJBA3RBeGoiAEUNACAHIAdBCGogAPwKAAALIAcgAGogCjcDACAFQQE6ALACIAMoAnAhACADKAJsIQQgByEGIAUhAiADKAJ0RQ0AA0ACQCAADQAgByEGIAUhAgwCCwJAIAQoAgAiAigCACAFRw0AAkAgAi8BBCIGDQAgAiAFKAIIIgY2AgAgBi8BrgIhBgsgAiAGQX9qOwEECyAAQX9qIQAgBEEEaiEEDAALCwsgBiACLwGuAkF/akH//wNxQQN0aiINKAIAIAIoAhBqIQwgAi8BrAIhEQJAIA0pAwAiCkKAgICAwACDUA0AIAJBLGohCyARIQQgDCEFIAwhAANAAkACQCAERQ0AIAApAwBCA4NCAVINASABIAIoAjggAigCECIGajYCcCABQeAAaiABQfAAaiAFIAZrEKGBgIAAIAEoAmAhBiALIAIoAhAiByAHIAEoAmQiCSgCAGogCSgCBBCigYCAACABQfAAaiAGEKOBgIAAIAAgACkDAEJ8gzcDAAwBCwJAAkAgESACLwGsAiIARg0AIABBAWohBCANKAIAIAIoAhBqIQACQANAIARBf2oiBEUNASAAKQMAIQogAEEIaiEAIApCA4NCAVENAwwACwsgDSANKQMAQv////+/f4MiCjcDAAwECyANIA0pAwBC/////79/gyIKNwMADAMLIA0pAwAhCgwCCyAEQX9qIQQgBUEIaiEFIABBCGohAAwACwsCQCAKQoCAgICAAoNQDQAgAkGoAWohByARIQQgDCEFIAwhAANAAkACQCAERQ0AIAAtAAVBIHFFDQEgASACKAKkASACKAIQIgZqNgJ0IAFB+BBqIAFB9ABqIAUgBmsQpIGAgAAgAS0AgBFFDQEgByACKAIQIAEoAvwQLwEAEKWBgIAAIAFB9ABqIAEoAvgQEKaBgIAAIAAgACkDAEL///////93gzcDAAwBCwJAAkAgESACLwGs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qICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEIuCgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAu3AQECfyOAgICAAEEQayICJICAgIAAAkAgAEHZ8smAAEE9EJqAgIAAIgNB//8DcQ0AIAEtAAAhAyACQdnqwIAANgIAIAJBATYCBCACQQlBByADQQFxIgMbNgIMIAJB4azAgABB3JPAgAAgAxs2AgggACACEKeEgIAAIgNB//8DcQ0AIABBlvPJgABBBRCagICAACIDQf//A3ENACAAIAEvAQIQpYSAgAAhAwsgAkEQaiSAgICAACADC6YCAgp/AX4jgICAgABBEGsiASSAgICAACAAKAJYIQJBACEDAkADQCACKAIYIAIoAhAiBGogAi8BrgIiBUEDdGohBiADIAVqIQdBACEIAkADQAJAAkAgCCAFRg0AIAAvAYgBQQFqIQkgBiAIQX9zQQN0aigCACAEaiEKA0AgCUF/aiIJRQ0CIAopAwAhCyAKQQhqIQogC0L+//+DgIADg1ANAAsgAC8BigEgA2shCgwFCyAHIQMgAigCCCICDQMMAgsgAyAALwGKAU8NASAIQQFqIQggA0EBaiEDDAALCwtBACEKCyAKQQFqIQoCQANAAkAgCkF/aiIKDQBBACEJDAILIAFBCGogABCxgYCAACABLwEMIglFDQALCyABQRBqJICAgIAAIAkLyQIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEIKEgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEHDABCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQgoSAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC6cFAQR/I4CAgIAAQdAQayIDJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQCABQf8BcQ4DAQACAwsgACgCGCIBLwHIASABKALEASkDAEKAgICAgIADg0KAgICAgIABUWpBAWohBAwHCyAAKAIYIgQvAcgBIgENAkEAIQEMAwsgAC8B8hEhBAwFCyADIAE6AA8gA0KAEDcCsBAgA0Gwv8eAADYCqBAgAyADQRBqNgKsECADQagQaiADQQ9qEKeCgIAAIgBB//8DcUUNAiADQagQakGg6cmAAEEyEKiAgIAAIAMvAcAQDQYgA0GQEGpBEGogA0GoEGpBEGopAgA3AwAgA0GQEGpBCGoiASADQagQakEIaikCADcDACADIAMpAqgQNwOQEAJAIAEgA0EPahCngoCAAEH//wNxRQ0AIANBkBBqEKmAgIAADAcLIANBxBBqIANBkBBqEKqAgIAAIANBkBBqEKmAgIAAIAMvAcwQDQYgAygCyBAhBCADKALEECEBDAMLIAEgBCgCxAEpAwBCgICAgICAA4NCgICAgICAAlFrQf//A3EhAQsgBBCogoCAACAALwHyESEEDAMLIAMoAqwQIQEgAygCtBAhBAsgASAEEICAgIAAIABB//8DcUUNAkGg6cmAACABIAQQtoCAgAAMAgtBACEBCyAAKAIYQQA6ANEBIAAoAhgoAsABIgUgBSkDAEKAgICAgMAAhDcDACAAKAIYIgAoAsQBIAAvAcgBQQN0ayABQQN0aiEFIARB//8DcSABayEBIAAoArwBKAIAQRBqIQQgACgCwAEhBgJAIAAtAOECQQNxQQFGDQAgAkEBcQ0AIAAgBCAGIAUgARDogYCAAAwBCyAAIAQgBiAFIAEQ54GAgAALIANB0BBqJICAgIAACzEBAX8CQCAAQZvyyYAAQT4QmoCAgAAiAkH//wNxDQAgACABLwEAEKWEgIAAIQILIAILpAMCAX8BfiAAKAIIIAEgAhCMgYCAAEEAIQMCQAJAAkACQAJAAkACQCAB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QQEQ34GAgAAgB0F/aiEHIAItAOwBDQAgASACKQLcATcCACABQQhqIAJB3AFqQQhqKAIANgIADAALCyACIAM7ATogAkE6ahCsgoCAAAALIAJB8AFqJICAgIAAC6kEAwN/AX4DfyACKAIAIAEoAgBqIQMCQAJAIAAvAfoRIgQgAC8B8hFBf2pB//8DcUYNACAALwH4EUEBSw0BCyADIAEvAZwCQX9qQf//A3FBA3RqIgUpAwAiBkKAgICAgIADg0KAgICAgIADUg0AIAUgBkL///////98gzcDACAALwH6ESEECyADIARB//8DcUEDdGohBwJAIAMgAC8B+BEiBEEDdGoiCCkDAEKAgICAgIADg0KAgICAgIACUg0AAkAgAyAEQX9qQf//A3FBA3RqIgkpAwBCA4NCAVINACABIAkQ6oGAgAAgAS8BnAJBAWohBSACKAIAIAEoAgBqIQQCQANAIAVBf2oiBUUNASAEKQMAIQYgBEEIaiEEIAZCA4NCAVENAgwACwsgAiACKQMAQv////+/f4M3AwALIAkgCSkDAEKDgID8//98gzcDACAIIAgpAwBC////////fIM3AwALAkAgBykDACIGQoCAgICAgAODQoCAgICAgAFRDQAPCyADIAAvAfoRQQFqQf//A3FBA3RqIQACQCAGQgODQgFSDQAgASAHEOqBgIAAIAEvAZwCQQFqIQUgAigCACABKAIAaiEEAkADQCAFQX9qIgVFDQEgBCkDACEGIARBCGohBCAGQgODQgFRDQIMAAsLIAIgAikDAEL/////v3+DNwMACyAHIAcpAwBCg4CA/P//fIM3AwAgACAAKQMAQv///////3yDNwMAC5wMBAZ/AX4HfwF+I4CAgIAAQdAAayIGJICAgIAAIAMoAgAgACgCACIHaiIIIARBA3QiCWohCiABKAIAIQsCQCADKQMAIgxCgICAgMAAg1ANACAAQRxqIQ0gCCAJaiEOIAohCSAFIQ8DQAJAAkAgD0UNACAJKQMAQgODQgFSDQEgBiAAKAIoIAAoAgAiEGo2AgggBkEMaiAGQQhqIA4gEGsQoYGAgAAgBigCDCERIA0gECAQIAYoAhAiEigCAGogEigCBBCigYCAACAGQQhqIBEQo4GAgAAgCSAJKQMAQnyDNwMADAELAkACQCAFIAAvAZwCIglGDQAgCUEBaiEPIAMoAgAgACgCAGohCQJAA0AgD0F/aiIPRQ0BIAkpAwAhDCAJQQhqIQkgDEIDg0IBUQ0DDAALCyADIAMpAwBC/////79/gyIMNwMADAQLIAMgAykDAEL/////v3+DIgw3AwAMAwsgAykDACEMDAILIA5BCGohDiAJQQhqIQkgD0F/aiEPDAALCwJAIAxCgICAgIACg1ANACAAQZgBaiERIAggBEEDdGohDiAKIQkgBSEPA0ACQAJAIA9FDQAgCS0ABUEgcUUNASAGIAAoApQBIAAoAgAiEGo2AhggBkEcaiAGQRhqIA4gEGsQpIGAgAAgBi0AJEUNASARIBAgBigCIC8BABClgYCAACAGQRhqIAYoAhwQpoGAgAAgCSAJKQMAQv///////3eDNwMADAELAkACQCAFIAAvAZwCIglGDQAgCUEBaiEPIAMoAgAgACgCAGohCQJAA0AgD0F/aiIPRQ0BIAktAAUhDiAJQQhqIQkgDkEgcQ0DDAALCyADIAMpAwBC//////99gyIMNwMADAQLIAMgAykDAEL//////32DIgw3AwAMAwsgAykDACEMDAILIAlBCGohCSAOQQhqIQ4gD0F/aiEPDAALCwJAIAxCgICAgIABg1ANACAAQSxqIRAgCiEPIAUhCQNAAkACQAJAAkACQCAJRQ0AIA8pAwBCGoinIg5B//8DcQ0BDAQLIAUgAC8BnAIiCUcNAQwCCyAQIAAoAgAgDhCTgYCAAAwCCyAJQQFqIQ8gAygCACAAKAIAaiEJA0AgD0F/aiIPRQ0BIAkoAQIhDiAJQQhqIQkgDkGA+P8fcQ0EDAALCyADIAMpAwBC//////9+gzcDAAwCCyAPQQhqIQ8gCUF/aiEJDAALCyACQQN0IQ8gCyAHaiEJAkAgBUEDdCITRSIHDQAgCkEAIBP8CwALIAkgD2ohCwJAAkAgAS0ABEEccUUNACAIIARBA3RqIRAgCSACQQN0aiERIAohCSALIQ8gBSEOA0AgDkUNAiAJIA8pAwAiDDcDAAJAIAxCA4NCAVINACAJIAxCfIM3AwAgBiAAKAIoIAAoAgAiEmo2AiggBkEsaiAGQShqIBEgEmsQoYGAgAAgBiAGKAIwKQIANwM4IAZBKGogBigCLBCjgYCAACAGQShqIBAgEmsgBkE4ahChgoCAACAPIA8pAwBCfIM3AwAgCSAJKQMAQnyDQgGENwMAIAMgAykDAEKAgICAwACENwMAIA8pAwAhDAsCQCAMQoCAgICAgAiDUA0AIAkgCSkDAEL///////93gzcDACAGIAAoApQBIAAoAgAiEmo2AkAgBkHEAGogBkHAAGogESASaxCkgYCAACAGKAJILwEAIQ0gBkHAAGogBigCRBCmgYCAACAGQcAAaiAQIBJrIA0QooKAgAAgCSAJKQMAQoCAgICAgAiENwMAIAMgAykDAEKAgICAgAKENwMACyAQQQhqIRAgCUEIaiEJIBFBCGohESAPQQhqIQ8gDkF/aiEODAALCyAHDQAgCiALIBP8CgAACwJAIAMpAwAiDEKAgICAgAGDQgBSDQAgBUEBaiEJAkADQAJAIAlBf2oiCQ0AQgAhFAwCCyAKKAECIQ8gCkEIaiEKIA9BgPj/H3FFDQALQoCAgICAASEUCyADIBQgDIQ3AwALAkAgBw0AIAtBACAT/AsACwJAIAUgAC8BnAJHDQAgASABKQMAQv////+/fIM3AwALIAZB0ABqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCDhICAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQg4SAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCEhICAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQhISAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACw8AIAAoAghBABCvgoCAAAviAwEDfyOAgICAAEHQEGsiAiSAgICAAAJAAkACQAJAIAFB/wFxDgQAAgIBAgsgACgCGC8ByAEiAUEHcSEDIAFBA3YhBAJAIAFB/wNLDQAgACAEaiIBIANBwKfIgABqLQAAIAEtADxzOgA8DAMLIAQgACgCNGpBQGoiASADQcCnyIAAai0AACABLQAAczoAAAwCCyAAQTBqQQAQiYGAgAAMAQsgAiABOgAPIAJCgBA3ArAQIAJBsL/HgAA2AqgQIAIgAkEQajYCrBACQAJAIAJBqBBqIAJBD2oQsIKAgAAiAUH//wNxRQ0AIAJBqBBqQaDpyYAAQTsQqICAgAAgAi8BwBANAiACQZAQakEQaiACQagQakEQaikCADcDACACQZAQakEIaiIAIAJBqBBqQQhqKQIANwMAIAIgAikCqBA3A5AQAkAgACACQQ9qELCCgIAAQf//A3FFDQAgAkGQEGoQqYCAgAAMAwsgAkHEEGogAkGQEGoQqoCAgAAgAkGQEGoQqYCAgAAgAi8BzBANAiACKALIECEDIAIoAsQQIQAMAQsgAigCrBAhACACKAK0ECEDCyAAIAMQgICAgAAgAUH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAkHQEGokgICAgAALNwEBfwJAIABByLHKgABBORCagICAACICQf//A3ENACAAQYy1yoAAIAEtAAAQr4SAgAAhAgsgAgsPACAAKAIIQQMQr4KAgAALOAEBfyAAKAIIIgIgAi8B7BFB/f8DcTsB7BECQCABQQVHDQAgACgCCCIAIAAvAewRQQJyOwHsEQsLQgEBfwJAIAAgASADELSCgIAAIgFB//8DcQ0AIAAgACgCBCIEIANqNgIEIANFDQAgACgCACAEaiACIAP8CgAACyABC2ABA38jgICAgABBEGsiAySAgICAACADIAAoAgQiBCAC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ADoAnREgAEEAOwGUESAAIANBAWo6AJwRDAILIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoahC7goCAACIDQf//A3FFDQAgAkGoKGpBoOnJgABBLBCogICAACACLwHAKA0DIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIgcgAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAHELuCgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMBAsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNAyACKALIKCEJIAIoAsQoIQcMAQsgAigCrCghByACKAK0KCEJCyAHIAkQgICAgAAgA0H//wNxRQ0BQaDpyYAAIAcgCRC2gICAAAwBCyACQQI6ALABIANB/wFxIQcgAEHkEGohCSAAQZcRaiEKIAAvARAgAEESai0AAEEQdHIhAyAALQCbESELAkACQCABQf8BcUHtAEYNACADQf///wdxRQ0AIAIgAzsBxAEgAkHGAWogA0EQdjoAACACIAE6AMgBIAIgBzYCwAEgAiAJNgK8ASACIAs2ArgBIAIgCjYCtAEgAiACLQCwAToA4AEgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQbQBahC8goCAACIDQf//A3ENACACKAKsKCEHIAIoArQoIQkMAgsgAkGoKGpBoOnJgABB1QAQqICAgAAgAi8BwCgNAiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiIHIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgByACQbQBahC8goCAAEH//wNxRQ0AIAJBkChqEKmAgIAADAMLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDQIgAigCyCghCSACKALEKCEHDAELIAIgAzsB9AEgAkHkAWpBEmogA0EQdjoAACACIAE6APgBIAIgBzYC8AEgAiAJNgLsASACIAs2AugBIAIgCjYC5AEgAkEBOgCUAiACIAItALABOgCQAiACQeQBaiEIDAELIAcgCRCAgICAACADQf//A3FFDQBBoOnJgAAgByAJELaAgIAAC0H4sMeAACEDAkAgAC0AlhFBD3EgBEEPcSIHRg0AQZSyx4AAIQMCQAJAAkACQAJAAkAgB0F/ag4NAgMCAwMDAgMDAQMABgMLIABBFGoQpICAgAAMAgsgAC0AnRENAiAALQCcESEDDAMLIABBADsBECAAQQA6AJ0RIABBADsBlBEgAEEAOwCbESAAQRJqQQA6AAALQfiwx4AAIQMMAgsgACAALQCcEUEBdGogAC8BlBE7AeQQIAAgAC0AnBFBAWoiAzoAnBELIAJBBToAwAMgAiABOgDUAyACQQE6APQDIAJBBToA8AMgAiADQf8BcTYC0AMgAiAAQeQQajYCzAMgAiAALQCbETYCyAMgAiAAQZcRajYCxAMgAkHEA2ohAwsCQEE0RSIBDQAgAkH4A2ogBUE0/AoAAAsCQCABDQAgAkH4A2pBNGogCEE0/AoAAAsCQCABDQAgAkHgBGogA0E0/AoAAAsgACAEQQ9xOgCWESACQZAoakEIaiEMIAJBtBRqQRVqIQ0gAkG4BWpBFWohDiACQdwFakEVaiEPIAJB/AVqQRVqIRAgAkGgBmpBFWohESACQcQGakEVaiESIAJB5AZqQRVqIRMgAkH8BmpBFWohFCACQZQHakEVaiEVIAJBrAdqQRVqIRYgAkHEB2pBFWohFyACQeQHakEVaiEYIAJBhAhqQRVqIRkgAkGkCGpBFWohGiACQcQIakEVaiEbIAJB5AhqQRVqIRwgAkH8CGpBFWohHSACQZwJakEVaiEeIAJBvAlqQRVqIR8gAkHcCWpBFWohICACQfwJakEVaiEhIAJBnApqQRVqISIgAkG0CmpBFWohIyACQdQKakEVaiEkIAJB9ApqQRVqISUgAkGYC2pBFWohJiACQbgLakEVaiEnIAJBgAxqQRVqISggAkGYDGpBFWohKSACQewMakEVaiEqIAJBvAxqQRVqISsgAkHUDGpBFWohLCACQZgNakEVaiEtIAJBvA1qQRVqIS4gAkHUDWpBFWohLyACQbwOakEVaiEwIAJBhA5qQRVqITEgAkGkDmpBFWohMiACQcQPakEVaiEzIAJB3A5qQRVqITQgAkGsD2pBFWohNSACQZQPakEVaiE2IAJB/A5qQRVqITcgAkGEEWpBFWohOCACQewQakEVaiE5IAJB3A9qQRVqITogAkH0D2pBFWohOyACQYwQakEVaiE8IAJBpBBqQRVqIT0gAkG8EGpBFWohPiACQdQQakEVaiE/IAJBnBFqQRVqIUAgAkGgEmpBFWohQSACQYgSakEVaiFCIAJBuBFqQRVqIUMgAkHUEWpBFWohRCACQewRakEVaiFFIAJBuBJqQRVqIUYgAkHQEmpBFWohRyACQZgTakEVaiFIIAJBgBNqQRVqIUkgAkHoEmpBFWohSiACQbATakEVaiFLIAJB1BNqQRVqIUwgAkH0E2pBFWohTSACQZQUakEVaiFOIAJBjBdqQRhqIU8gAkGMF2pBFWohUCACQZgWakELaiFRQQAhAwNAIANBA0YNAQJAIAJB+ANqIANBNGxqIgEtADBFDQAgAS8BECABQRJqLQAAQRB0ciELIAFBFWohCiABLQAUIQkgAS0AEyFSIAEoAgwhByABKAIIIQUgASgCBCEIIAEoAgAhBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0ALEEPcQ4LAAQBAgObAZsBmwGbAZsBmwEACyACIAQ7AZQFIAIgBEH///8AcUEQdjoAlgUgACACQZQFahCkgoCAACIEQf//A3ENnQEMmgELIAlBQGoOPlNRDg9QEBFPThIDBBUWDQ0XDQ0YGQ0NBR4NHw0NDQ0NTyAhBiMkTiUHDVBRCAlgDV9eCgtXDA0NDQ0NDQ1SDQsgBUEIdiEBAkAgBUH/AXEiB0FJag4mREtJSUlJNTRJSUZHSUNCSUlBSUlJSUA/PklJSUlJST08SUk7SZkBAAsCQCAHQYR/ag4DNjc4AAsgB0EwRg1EIAdBkn9qDgI5OEcLIAQOFSsplwEoMC8ulwGXAS2XAZcBlwExLCoqKpcBKiorCyAEwEEASA2TAQJAAkACQAJAAkACQCAEQf8AcQ4QnAGcAZwBBQWcAQWcAQABBAQEkgECAwULIAAQj4KAgAAMmwELIABBARCSgoCAAAyaAQsgAEHwtceAABD8gYCAAAyZAQsgAEH8tceAABD8gYCAAAyYAQsgABCUgoCAACEEDJUBCyACIAQ6ALcFIAJBtwVqELqCgIAADJYBC0HIsseAACEBIAgOAoQBDyULQciyx4AAIQEgCA4CggEPIwsgCA4CFBcVC0HQsseAACEBIAgOAmYbIAsgCEUNHgJAIAhBAUcNACAELQAAQT9GDR8LICYgCi8AADsAACACIAs7AagLIAJBqgtqIAtBEHY6AAAgJkECaiAKQQJqLQAAOgAAIAJB6AA6AKwLIAIgUjoAqwsgAiAHNgKkCyACIAU2AqALIAIgCDYCnAsgAiAENgKYCyACQZgLahC9goCAAAyRAQsgCEUNXAJAIAhBAUcNACAELQAAQT9GDV0LICcgCi8AADsAACACIAs7AcgLIAJBygtqIAtBEHY6AAAgJ0ECaiAKQQJqLQAAOgAAIAJB7AA6AMwLIAIgUjoAywsgAiAHNgLECyACIAU2AsALIAIgCDYCvAsgAiAENgK4CyACQbgLahC9goCAAAyQAQsgCA4CWFdaCyAIDgJSUVALIAgOAk5NTAsgCA4CSUhHCyANIAovAAA7AAAgAiALOwHEFCACQcYUaiALQRB2OgAAIA1BAmogCkECai0AADoAACACIAk6AMgUIAIgUjoAxxQgAiAHNgLAFCACIAU2ArwUIAIgCDYCuBQgAiAENgK0FCACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQbQUahC+goCAACIBQf//A3FFDYYBIAJBqChqQaDpyYAAQS4QqICAgAAgAi8BwCgNiwEgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBtBRqEL6CgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMjAELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDYsBIAIoAsgoIQUgAigCxCghBAyHAQsgCEUNhAEgAiAINgLYBSACIAQ2AtQFIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkHUBWoQv4KAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDIQBCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2KASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHUBWoQv4KAgABB//8DcUUNACACQZAoahCpgICAAAyLAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNigEgAigCyCghBSACKALEKCEEDIMBCyAIRQ2BASACIAg2AvgFIAIgBDYC9AUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQfQFahDAgoCAACIBQf//A3ENACACKAKsKCEEIAIoArQoIQUMgQELIAJBqChqQaDpyYAAQcUAEKiAgIAAIAIvAcAoDYkBIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQfQFahDAgoCAAEH//wNxRQ0AIAJBkChqEKmAgIAADIoBCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA2JASACKALIKCEFIAIoAsQoIQQMgAELIAhFDX0gAiAINgKcBiACIAQ2ApgGIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGYBmoQwYKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDH0LIAJBqChqQaDpyYAAQcUAEKiAgIAAIAIvAcAoDYgBIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQZgGahDBgoCAAEH//wNxRQ0AIAJBkChqEKmAgIAADIkBCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA2IASACKALIKCEFIAIoAsQoIQQMfAsgCEUNeiACIAg2AsAGIAIgBDYCvAYgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQbwGahDCgoCAACIBQf//A3ENACACKAKsKCEEIAIoArQoIQUMegsgAkGoKGpBoOnJgABBxQAQqICAgAAgAi8BwCgNhwEgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBvAZqEMKCgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMiAELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDYcBIAIoAsgoIQUgAigCxCghBAx5CyAIRQ13IAIgCDYC4AYgAiAENgLcBiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB3AZqEMOCgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQx3CyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2GASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcBmoQw4KAgABB//8DcUUNACACQZAoahCpgICAAAyHAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNhgEgAigCyCghBSACKALEKCEEDHYLQcqyx4AAQcyyx4AAIAQtAABBP0YbIQEMdAtByrLHgABBzLLHgAAgBC0AAEE/RhshAQxyCyAIRQ1wIAIgCDYC4AcgAiAENgLcByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB3AdqEMSCgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQxwCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2DASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcB2oQxIKAgABB//8DcUUNACACQZAoahCpgICAAAyEAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNgwEgAigCyCghBSACKALEKCEEDG8LIAhFDW0gAiAINgKACCACIAQ2AvwH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AkHEFWpBC2ogAUEQdjoAACACQcgAOgDMFSACIAg2AsgVIAIgBDYCxBUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBxBVqEOKCgIAAQf//A3EiAQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEEtEKiAgIAAIAIvAcAoDVkgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgDCACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHEFWoQ4oKAgABB//8DcUUNACACQZAoahCpgICAAAxaCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1ZIAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFFDVhBoOnJgAAgBCAFELaAgIAADFgLIAAQ+IGAgAAMVwsCQCAIRQ0AIAIgATsAwRUgAkG4FWpBC2ogAUEQdjoAACACQcUAOgDAFSACIAg2ArwVIAIgBDYCuBUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBuBVqEOOCgIAAQf//A3EiAQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEEvEKiAgIAAIAIvAcAoDVggAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgDCACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG4FWoQ44KAgABB//8DcUUNACACQZAoahCpgICAAAxZCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1YIAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFFDVdBoOnJgAAgBCAFELaAgIAADFcLIAAQ9YGAgAAhBAwJCwJAIAhFDQAgAiABOwC1FSACQawVakELaiABQRB2OgAAIAJBxAA6ALQVIAIgCDYCsBUgAiAENgKsFSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGsFWoQ5IKAgABB//8DcSIBDQAgAigCrCghBCACKAK0KCEFDAELIAJBqChqQaDpyYAAQSsQqICAgAAgAi8BwCgNVyACQZAoakEQaiACQagoakEQaikCADcDACAM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DQAgBS8BAEFyag4KAgEDAQQBAQUGBwELIDggCi8AADsAACACIAs7AZQRIAJBlhFqIAtBEHY6AAAgOEECaiAKQQJqLQAAOgAAIAJB9AA6AJgRIAIgUjoAlxEgAkEANgKQESACIAU2AowRIAJBADYCiBEgAiAENgKEESACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQYQRahD5goCAACIBQf//A3FFDQ8gAkGoKGpBoOnJgABBNRCogICAACACLwHAKA1TIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQYQRahD5goCAAEH//wNxRQ0AIAJBkChqEKmAgIAADFQLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDVMgAigCyCghBSACKALEKCEEDBALIDkgCi8AADsAACACIAs7AfwQIAJB/hBqIAtBEHY6AAAgOUECaiAKQQJqLQAAOgAAIAJB9AA6AIARIAIgUjoA/xAgAiAHNgL4ECACIAU2AvQQIAJBADYC8BAgAiAENgLsECACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQewQahD6goCAACIBQf//A3FFDQwgAkGoKGpBoOnJgABBwQAQqICAgAAgAi8BwCgNUiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHsEGoQ+oKAgABB//8DcUUNACACQZAoahCpgICAAAxTCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1SIAIoAsgoIQUgAigCxCghBAwNCyAHQQFGDVEgOiAKLwAAOwAAIAIgCzsB7A8gAkHuD2ogC0EQdjoAACA6QQJqIApBAmotAAA6AAAgAkH0ADoA8A8gAiBSOgDvDyACIAc2AugPIAIgBTYC5A8gAkEANgLgDyACIAQ2AtwPIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkHcD2oQ+4KAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAsLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNUSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcD2oQ+4KAgABB//8DcUUNACACQZAoahCpgICAAAxSCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1RIAIoAsgoIQUgAigCxCghBAwKCyAHQQFGDVAgOyAKLwAAOwAAIAIgCzsBhBAgAkGGEGogC0EQdjoAACA7QQJqIApBAmotAAA6AAAgAkH0ADoAiBAgAiBSOgCHECACIAc2AoAQIAIgBTYC/A8gAkEANgL4DyACIAQ2AvQPIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkH0D2oQ/IKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAkLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNUCACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkH0D2oQ/IKAgABB//8DcUUNACACQZAoahCpgICAAAxRCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1QIAIoAsgoIQUgAigCxCghBAwICyAHQQFGDU8gPCAKLwAAOwAAIAIgCzsBnBAgAkGeEGogC0EQdjoAACA8QQJqIApBAmotAAA6AAAgAkH0ADoAoBAgAiBSOgCfECACIAc2ApgQIAIgBTYClBAgAkEANgKQECACIAQ2AowQIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGMEGoQ/YKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAcLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNTyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGMEGoQ/YKAgABB//8DcUUNACACQZAoahCpgICAAAxQCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1PIAIoAsgoIQUgAigCxCghBAwGCyAHQQFGDU4gPSAKLwAAOwAAIAIgCzsBtBAgAkG2EGogC0EQdjoAACA9QQJqIApBAmotAAA6AAAgAkH0ADoAuBAgAiBSOgC3ECACIAc2ArAQIAIgBTYCrBAgAkEANgKoECACIAQ2AqQQIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGkEGoQ/oKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAULIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNTiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGkEGoQ/oKAgABB//8DcUUNACACQZAoahCpgICAAAxPCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1OIAIoAsgoIQUgAigCxCghBAwECyAHQX5xQQJGDQEMAgsCQCAHQX5xQQJHDQAgBS8BAg4DTQBNAAsgPyAKLwAAOwAAIAIgCzsB5BAgAkHmEGogC0EQdjoAACA/QQJqIApBAmotAAA6AAAgAkH0ADoA6BAgAiBSOgDnECACIAc2AuAQIAIgBTYC3BAgAkEANgLYECACIAQ2AtQQIAJB1BBqEP+CgIAADEwLIAUvAQIOA0sASwALID4gCi8AADsAACACIAs7AcwQIAJBzhBqIAtBEHY6AAAgPkECaiAKQQJqLQAAOgAAIAJB9AA6ANAQIAIgUjoAzxAgAiAHNgLIECACIAU2AsQQIAJBADYCwBAgAiAENgK8ECACQbwQahD/goCAAAxKCyAEIAUQgICAgAAgAUH//wNxRQ1JQaDpyYAAIAQgBRC2gICAAAxJCyAEIAUQgICAgAAgAUH//wNxRQ1IQaDpyYAAIAQgBRC2gICAAAxICyAEIAUQgICAgAAgAUH//wNxRQ1HQaDpyYAAIAQgBRC2gICAAAxHCyAEIAUQgICAgAAgAUH//wNxRQ1GQaDpyYAAIAQgBRC2gICAAAxGCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDURBoOnJgAAgBCAFELaAgIAADEQLIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNQkGg6cmAACAEIAUQtoCAgAAMQgsgBCAFEICAgIAAIAFB//8DcUUNQUGg6cmAACAEIAUQtoCAgAAMQQsgMyAKLwAAOwAAIAIgCzsB1A8gAkHWD2ogC0EQdjoAACAzQQJqIApBAmotAAA6AAAgAkHzADoA2A8gAiBSOgDXDyACIAc2AtAPIAIgBTYCzA8gAiAINgLIDyACIAQ2AsQPIAJBxA9qEICDgIAADEALAkACQAJAAkACQAJAIAQtAABBQmoOAgACAQtBgAIhASAHDgIEAwILIDUgCi8AADsAACACIAs7AbwPIAJBvg9qIAtBEHY6AAAgNUECaiAKQQJqLQAAOgAAIAJB8wA6AMAPIAIgUjoAvw8gAiAHNgK4DyACIAU2ArQPIAJBATYCsA8gAiAENgKsDyACQawPahD1goCAAAxDCwNAIAdFDUMgAkH2DmogBS8BACIBQQAQ0oKAgAACQAJAIAItAPgORQ0AIAAoAggiAUEMajEAACFWIAE1AgghVyABQQRqMQAAIVggATUCACFZAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIvAfYOIgRBf2oOGQE2AgMEBQYHCDY2CTY2NjY2NjY2NjY2NgoACwJAIARBmHhqDhEQNhESExQVFjY2NjY2NjYXGAALAkAgBEH1d2oODxkaNjYbNjY2NjYcNh0eHwALAkAgBEGWcGoOBiEiNjY2IwALAkAgBEFTag4DDDYNAAsCQCAEQb5/ag4EDjY2DwALQgEhBkL+/////x8hWgJAIARB/v99ag4DJjYlAAsgBEEoRg0KIARB1A9GDR8gBEGAEEYNIwJAIARBjIACRw0AQgQhBkL7/////x8hWgwmC0IIIQZC9/////8fIVoMJQtCECEGQu//////HyFaDCQLQt//////HyFaQiAhBgwjC0LAACEGQr//////HyFaDCILQoABIQZC//7///8fIVoMIQtCgAIhBkL//f///x8hWgwgC0KABCEGQv/7////HyFaDB8LQoAIIQZC//f///8fIVoMHgtCgBAhBkL/7////x8hWgwdC0KAICEGQv/f////HyFaDBwLQoDAACEGQv+/////HyFaDBsLQoCAASEGQv///v//HyFaDBoLQoCAAiEGQv///f//HyFaDBkLQoCABCEGQv//+///HyFaDBgLQoCACCEGQv//9///HyFaDBcLQoCAECEGQv//7///HyFaDBYLQoCAICEGQv//3///HyFaDBULQoCAwAAhBkL//7///x8hWgwUC0KAgIABIQZC/////v8fIVoMEwtCgICAAiEGQv////3/HyFaDBILQoCAgAQhBkL////7/x8hWgwRC0KAgIAIIQZC////9/8fIVoMEAtCgICAECEGQv///+//HyFaDA8LQoCAgCAhBkL////f/x8hWgwOC0KAgIDAACEGQv///7//HyFaDA0LQoCAgIABIQZC//////4fIVoMDAtCgICAgAIhBkL//////R8hWgwLC0KAgICABCEGQv/////7HyFaDAoLQoCAgIAIIQZC//////cfIVoMCQtCgICAgBAhBkL/////7x8hWgwIC0KAgICAICEGQv/////fHyFaDAcLQoCAgIDAACEGQv////+/HyFaDAYLQoCAgICAASEGQv//////HiFaDAULQoCAgICAAiEGQv//////HSFaDAQLQoCAgICABCEGQv//////GyFaDAMLQoCAgICACCEGQv//////FyFaDAILQoCAgICAECEGQv//////DyFaDAELQgIhBkL9/////x8hWgsgASAGIFkgWEIghoSDIFogVyBWQiCGhIOEIgY+AgggAUEMaiAGQiCIPAAADAELIAIgATsB+g4gAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJB+g5qEIGDgIAAIgFB//8DcUUNACACQagoakGg6cmAAEEsEKiAgIAAIAIvAcAoDQIgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJB+g5qEIGDgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMAwsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNAiACKALIKCEIIAIoAsQoIQQMAQsgAigCrCghBCACKAK0KCEICyAEIAgQgICAgAAgAUH//wNxRQ0AQaDpyYAAIAQgCBC2gICAAAsgBUECaiEFIAdBf2ohBwwACwsgNiAKLwAAOwAA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BCAIELaAgIAADAELIAAgBCABEIyCgIAAIgRB//8DcQ1BCyAFQQJqIQUgB0F/aiEHDAALCwJAAkACQAJAIAcOAwABAgMLIABB9rLHgAAQtYKAgAAMPgsgAkEAOwH+DSACIAUvAQA7AfwNIAAgAkH8DWoQtYKAgAAMPQsgAiAFKAEANgGADiAAIAJBgA5qELWCgIAADDwLIDEgCi8AADsAACACIAs7AZQOIAJBlg5qIAtBEHY6AAAgMUECaiAKQQJqLQAAOgAAIAJB8gA6AJgOIAIgUjoAlw4gAiAHNgKQDiACIAU2AowOIAJBADYCiA4gAiAENgKEDiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGEDmoQhYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQS0QqICAgAAgAi8BwCgNPSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGEDmoQhYOAgABB//8DcUUNACACQZAoahCpgICAAAw+CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA09IAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDTtBoOnJgAAgBCAFELaAgIAADDsLAkAgCEEBRg0AIAIgCDYC+A0gAiAENgL0DSACQfQNahCGg4CAAAw7CwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQtAAAiAUFgag4DAAMBAgtCACEGQQEhASAHDgITAwQLQfCyx4AAIQEgBw4CCwgJCyABQT5GDU0LIAJBATYC8A0gAiAENgLsDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB7A1qEIeDgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwSCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA1MIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQewNahCHg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADE0LIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDUwgAigCyCghBSACKALEKCEEDBELQQIhAUKAICEGIAUvAQAiBA4HDQ4NDwMBAgQLIC4gCi8AADsAACACIAs7AcwNIAJBzg1qIAtBEHY6AAAgLkECaiAKQQJqLQAAOgAAIAJB8QA6ANANIAIgUjoAzw0gAiAHNgLIDSACIAU2AsQNIAJBATYCwA0gAiAENgK8DSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQbwNahCIg4CAACIBQf//A3FFDQogAkGoKGpBoOnJgABBNRCogICAACACLwHAKA1KIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQbwNahCIg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADEsLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDUogAigCyCghBSACKALEKCEEDAsLQQAhAQwNC0EAIQELQgAhBgwLCyACIAQ7AboNIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoIAJBqChqIAJBug1qEImDgIAAIgFB//8DcUUNBCACQagoakGg6cmAAEEvEKiAgIAAIAIvAcAoDUYgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBug1qEImDgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMRwsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNRiACKALIKCEFIAIoAsQoIQQMBQsgBS8BACIBQQNJDQELQfSyx4AAIQEMAQsgAUECdEHguMqAAGooAgAhAQsCQAJAAkACQAJAAkAgAS0AAUUNACAAKAIIIgUoAhghBCABLQAAQQNxDgMBAgMBCyAvIAovAAA7AAAgAiALOwHkDSACQeYNaiALQRB2OgAAIC9BAmogCkECai0AADoAACACQfEAOgDoDSACIFI6AOcNIAIgBzYC4A0gAiAFNgLcDSACQQE2AtgNIAIgBDYC1A0gAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCggAkGoKGogAkHUDWoQioOAgAAiAUH//wNxRQ0DIAJBqChqQaDpyYAAQTgQqICAgAAgAi8BwCgNRyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHUDWoQioOAgABB//8DcUUNACACQZAoahCpgICAAAxICyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1HIAIoAsgoIQUgAigCxCghBAwECyAEQQA6ANIBDEYLIARBAToA0gEgBSgCGEEBOgDhAgxFCyAEQQE6ANIBIAUoAhhBAjoA4QIMRAsgAigCrCghBCACKAK0KCEFCyAEIAUQgICAgAAgAUH//wNxRQ1CQaDpyYAAIAQgBRC2gICAAAxCCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDUBBoOnJgAAgBCAFELaAgIAADEALIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNPkGg6cmAACAEIAUQtoCAgAAMPgtCACEGC0EBIQELIAAoAggiBCAENQIAQv/f//8PgyAGhD4CACAAKAIIKAIYIAE6ANABDDsLIAQgBRCAgICAACABQf//A3FFDTpBoOnJgAAgBCAFELaAgIAADDoLAkAgCEECRg0AIAIgCDYCtA0gAiAENgKwDSACQbANahCGg4CAAAw6CwJAIAQtAABBP0cNACAELQABQSRHDQAgB0EBRg06IC0gCi8AADsAACACIAs7AagNIAJBqg1qIAtBEHY6AAAgAkECNgKcDSAtQQJqIApBAmotAAA6AAAgAkHwADoArA0gAiBSOgCrDSACIAc2AqQNIAIgBTYCoA0gAiAENgKYDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGYDWoQi4OAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAELIAJBqChqQaDpyYAAQSwQqICAgAAgAi8BwCgNOyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGYDWoQi4OAgABB//8DcUUNACACQZAoahCpgICAAAw8CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA07IAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFB//8DcUUNOkGg6cmAACAEIAUQtoCAgAAMOgsgAkECNgKUDSACIAQ2ApANIAJBkA1qEIaDgIAADDkLAkACQAJAAkACQAJAAkACQAJAAkACQCAIRQ0AIAQtAAAiAUE/Rw0FIAdBAUcNASAIQQFGDQMgLCAKLwAAOwAAIAIgCzsB5AwgAkHmDGogC0EQdjoAACAsQQJqIApBAmotAAA6AAAgAkHuADoA6AwgAiBSOgDnDCACQQE2AuAMIAIgBTYC3AwgAiAINgLYDCACIAQ2AtQMIAJB1AxqEL2CgIAADEMLIAdBAUYNAQsgKyAKLwAAOwAAIAIgCzsBzAwgAkHODGogC0EQdjoAACArQQJqIApBAmotAAA6AAAgAkHuADoA0AwgAiBSOgDPDCACIAc2AsgMIAIgBTYCxAwgAiAINgLADCACIAQ2ArwMIAJBvAxqEIyDgIAADEELAkACQCAFLwEAQXtqDgIAAQMLIAAoAgwgAEHupMCAAEEEELOCgIAAIQQMGQsgACgCCCIBKAIYIgUvAcoBIQQgBS8ByAEhBSABLQABQQFxDQMMBwsgBS8BAEHkB0YNFgsgKiAKLwAAOwAAIAIgCzsB/AwgAkH+DGogC0EQdjoAACAqQQJqIApBAmotAAA6AAAgAkHuADoAgA0gAiBSOgD/DCACQQE2AvgMIAIgBTYC9AwgAiAINgLwDCACIAQ2AuwMIAJB7AxqEIyDgIAADD4LAkAgCEEBRg0AIAIgCDYCjA0gAiAENgKIDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJBiA1qEI2DgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwFCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA0+IAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQYgNahCNg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADD8LIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDT4gAigCyCghBSACKALEKCEEDAQLIAFBPkYNAiACIAE6AIcNIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGHDWoQjoOAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAILIAJBqChqQaDpyYAAQTQQqICAgAAgAi8BwCgNPSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGHDWoQjoOAgABB//8DcUUNACACQZAoahCpgICAAAw+CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA09IAIoAsgoIQUgAigCxCghBAwBC0EAIARB//8DcSIEIAEvAfQRayIHIAcgBEsbIQRBACAFQf//A3EiBSABLwH4EWsiASABIAVLGyEFDAMLIAQgBRCAgICAACABQf//A3FFDTtBoOnJgAAgBCAFELaAgIAADDsLIAAoAggiASABLwHsEUH9/wNxOwHsEQw6CyAEIAUQgICAgAAgAUH//wNxRQ05QaDpyYAAIAQgBRC2gICAAAw5CyACQiA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoIAJBqChqQcinyIAAQQIQmoCAgABB//8DcQ0PIAJBqChqQYy1yoAAIARBAWoQj4OAgABB//8DcQ0PIAJBqChqQcqnyIAAQQEQmoCAgABB//8DcQ0PIAJBqChqQYy1yoAAIAVBAWoQj4OAgABB//8DcQ0PIAJBqChqQcunyIAAQQEQmoCAgABB//8DcQ0PIAAoAgwgACACKAKsKCACKAK0KBCzgoCAACEEDBALAkACQCAELQAAIgFBPkYNACACIAE6ALMMIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGzDGoQkIOAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAILIAJBqChqQaDpyYAAQTQQqICAgAAgAi8BwCgNOSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGzDGoQkIOAgABB//8DcUUNACACQZAoahCpgICAAAw6CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA05IAIoAsgoIQUgAigCxCghBAwBCwJAIAdFDQBBACEIAkACQAJAAkACQAJAIAUvAQAiAQ4FAwABBAIEC0EBIQEMAgtBAiEBDAELQQMhAUEBIQgLAkAgB0ECTQ0AICkgCi8AADsAACACIAs7AagMIAJBqgxqIAtBEHY6AAAgKUECaiAKQQJqLQAAOgAAIAJB7QA6AKwMIAIgUjoAqwwgAiAHNgKkDCACIAU2AqAMIAJBATYCnAwgAiAENgKYDCACQZgMahCRg4CAAAw8CyAHQQJGIAhxRQ0BQQVBAyAFLwECQQJGGyEBDAELICggCi8AADsAACACIAs7AZAMIAJBkgxqIAtBEHY6AAAgKEECaiAKQQJqLQAAOgAAIAJB7QA6AJQMIAIgUjoAkwwgAiAHNgKMDCACIAU2AogMIAJBATYChAwgAiAENgKADCACQYAMahCRg4CAAAw6CyAAIAEQsoKAgAAMOQsgACgCCCIBIAEvAewRQf3/A3E7AewRDDgLIAQgBRCAgICAACABQf//A3FFDTdBoOnJgAAgBCAFELaAgIAADDcLIAIgCzsB4AsgAkHiC2ogC0EQdjoAACACQQA2AuQLIAIgBzYC3AsgAiAFNgLYCwNAIAJB6AtqIAJB2AtqENeAgIAAIAItAPwLRQ03IAIoAugLIgRBAUYNACAAKAIIKAIYIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDh8AIAECAwQFBgcICQoLDA0ODxAREhMUFRcWGBkbGh0cAAsgAUIANwOYASABQbABakEANgIAIAFBqAFqQgA3AwAgAUGgAWpCADcDAAwdCyABIAEvAbABQQFyOwGwAQwcCyABIAEvAbABQfr/A3E7AbABDBsLIAEgAS8BsAFBAnI7AbABDBoLIAEgAS8BsAFB/f8DcTsBsAEMGQsgASABLwGwAUEEcjsBsAEMGAsgASACLQDsC0EHcUEIdCABLwGwAUH/8QNxcjsBsAEMFwsgAUECOgCsASABIAIvAewLIgQ6AKgBIAEgBEEIdjoAqQEgASACQe4Lai0AADoAqgEMFgsgAUEBOgCsASABIAItAOwLOgCoAQwVCyABQgA3A6gBDBQLIAEgAS8BsAFBgAFyOwGwAQwTCyABIAEvAbABQf/+A3E7AbABDBILIAEgAS8BsAFBCHI7AbABDBELIAEgAS8BsAFB9/8DcTsBsAEMEAsgASABLwGwAUEQcjsBsAEMDwsgASABLwGwAUHv/wNxOwGwAQwOCyABIAEvAbABQSByOwGwAQwNCyABIAEvAbABQd//A3E7AbABDAwLIAEgAS8BsAFBwAByOwGwAQwLCyABIAEvAbABQb//A3E7AbABDAoLIAFBAjoAnAEgASACLwHsCyIEOgCYASABIARBCHY6AJkBIAEgAkHuC2otAAA6AJoBDAkLIAFBAjoApAEgASACLwHsCyIEOgCgASABIARBCHY6AKEBIAEgAkHuC2otAAA6AKIBDAgLIAFBAToAnAEgASACLQDsCzoAmAEMBwsgAUEBOgCkASABIAItAOwLOgCgAQwGCyABQgA3A5gBDAULIAFCADcDoAEMBAsgAUEBOgCcASABIAItAOwLOgCYAQwDCyABQQE6AKQBIAEgAi0A7As6AKABDAILIAFBAToAnAEgASACLQDsCzoAmAEMAQsgAUEBOgCkASABIAItAOwLOgCgAQsgARCSgYCAABoMAAsLAAsgAiAINgK4DCACIAQ2ArQMIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoaiACQbQMahCSg4CAACIBQf//A3FFDQAgAkGoKGpBoOnJgABBxQAQqICAgAAgAi8BwCgNNiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG0DGoQkoOAgABB//8DcUUNACACQZAoahCpgICAAAw3CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA02IAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDTRBoOnJgAAgBCAFELaAgIAADDQLA0AgB0UNNCACQdALaiAFLwEAIgEgCEUQ0oKAgAACQAJAIAItANILRQ0AIAIgAi8B0As7AdQLIAAgAkHUC2oQjoKAgAAiBEH//wNxDTkMAQsgAiABOwHWCyACQdYLahDTgoCAAAsgBUECaiEFIAdBf2ohBwwACwsgBCAFEICAgIAAIAFB//8DcUUNMkGg6cmAACAEIAUQtoCAgAAMMgsCQAJAAkAgBS8BACIBDgQAAgIBAgsgABCugoCAAAwzCyAAELGCgIAADDILIAIgAToAjwsgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBjwtqEJODgIAAIgFB//8DcUUNACACQagoakGg6cmAAEErEKiAgIAAIAIvAcAoDTMgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBjwtqEJODgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMNAsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNMyACKALIKCEFIAIoAsQoIQQMAQsgAigCrCghBCACKAK0KCEFCyAEIAUQgICAgAAgAUH//wNxRQ0xQaDpyYAAIAQgBRC2gICAAAwxCyAEIAUQgICAgAAgAUH//wNxRQ0wQaDpyYAAIAQgBRC2gICAAAwwCyAEIAUQgICAgAAgAUH//wNxRQ0vQaDpyYAAIAQgBRC2gICAAAwvC0EBIQECQAJAAkAgBw4CAQACCyAFLwEAIQELIAAoAggiBCAEKAIYIgQvAcoBQQFqQf//A3EgAUH//wNxaiIBQf//AyABQf//A0kbIAQvAcgBQQFqQf//A3EQ44GAgAAMLwsgJCAKLwAAOwAAIAIgCzsB5AogAkHmCmogC0EQdjoAACAkQQJqIApBAmotAAA6AAAgAkHlADoA6AogAiBSOgDnCiACIAc2AuAKIAIgBTYC3AogAkEANgLYCiACIAQ2AtQKIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoaiACQdQKahCUg4CAACIBQf//A3FFDQAgAkGoKGpBoOnJgABBKRCogICAACACLwHAKA0wIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQdQKahCUg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADDELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDTAgAigCyCghBSACKALEKCEEDAELIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNLkGg6cmAACAEIAUQtoCAgAAMLgsgBCAFEICAgIAAIAFB//8DcUUNLUGg6cmAACAEIAUQtoCAgAAMLQtBASEBAkACQAJAIAcOAgEAAgsgBS8BACEBCyAAKAIIIgQgASAEKAIYLwHIAUEBakH//wNxEOOBgIAADC0LICMgCi8AADsAACACIAs7AcQKIAJBxgpqIAtBEHY6AAAgI0ECaiAKQQJqLQAAOgAAIAJB5AA6AMgKIAIgUjoAxwogAiAHNgLACiACIAU2ArwKIAJBADYCuAogAiAENgK0CiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkG0CmoQlYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSkQqICAgAAgAi8BwCgNLiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG0CmoQlYOAgABB//8DcUUNACACQZAoahCpgICAAAwvCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0uIAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDSxBoOnJgAAgBCAFELaAgIAADCwLIAEtAAQNKyAiIAovAAA7AAAgAiALOwGsCiACQa4KaiALQRB2OgAAICJBAmogCkECai0AADoAACACQeMAOgCwCiACIFI6AK8KIAIgBzYCqAogAiAFNgKkCiACIAg2AqAKIAIgBDYCnAogAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBnApqEJaDgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEE3EKiAgIAAIAIvAcAoDSwgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBnApq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A3FFDRVBoOnJgAAgBCAFELaAgIAADBULQQEhAQJAAkACQCAHDgIBAAILIAUvAQAhAQsgACgCCCABEPOBgIAADBULIBggCi8AADsAACACIAs7AfQHIAJB9gdqIAtBEHY6AAAgGEECaiAKQQJqLQAAOgAAIAJBzQA6APgHIAIgUjoA9wcgAiAHNgLwByACIAU2AuwHIAJBADYC6AcgAiAENgLkByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkHkB2oQoIOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSgQqICAgAAgAi8BwCgNFiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHkB2oQoIOAgABB//8DcUUNACACQZAoahCpgICAAAwXCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0WIAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDRRBoOnJgAAgBCAFELaAgIAADBQLIAQgBRCAgICAACABQf//A3FFDRNBoOnJgAAgBCAFELaAgIAADBMLQQEhAQJAAkACQCAHDgIBAAILIAUvAQAhAQsgACgCCCABEKmCgIAADBMLIBcgCi8AADsAACACIAs7AdQHIAJB1gdqIAtBEHY6AAAgF0ECaiAKQQJqLQAAOgAAIAJBzAA6ANgHIAIgUjoA1wcgAiAHNgLQByACIAU2AswHIAJBADYCyAcgAiAENgLEByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkHEB2oQoYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSgQqICAgAAgAi8BwCgNFCACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHEB2oQoYOAgABB//8DcUUNACACQZAoahCpgICAAAwVCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0UIAIoAsgoIQUgAigCxCghBAwBCyACKAKs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gABBAhCagICAACEDCyACQcAAaiSAgICAACADC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCzg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBLhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQs4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQYuYyoAAQSsQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILPQEBfwJAIABBwvbJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGz98mAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQaH4yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABB4/jJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEHW+cmAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQZr7yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBgfzJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEH3/MmAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQeX9yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABB1f7JgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEHL/8mAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQcCAyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBuIHKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGggsqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQZGDyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBrYTKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGVhcqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQayGyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILLgEBfwJAIABB14XKgABBLBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgvoCwECfwJAIAFB//8DcSIDQQJHDQAgAkEBcUUNACAAQQE6AAIgAEGCgAI7AQAPCwJAIANBBEcNACACQQFxRQ0AIABBAToAAiAAQYSAAjsBAA8LAkAgAUH//wNxIgNBDEcNACACQQFxRQ0AIABBAToAAiAAQYyAAjsBAA8LAkAgA0EURw0AIAJBAXFFDQAgAEEBOgACIABBlIACOwEADwsCQCABQf//A3EiA0EBRw0AIAJBAXENACAAQQE6AAIgAEEBOwEADwsCQCADQQNHDQAgAkEBcQ0AIABBAToAAiAAQQM7AQAPCwJAIAFB//8DcSIDQQRGIAJBAXMiBHFBAUcNACAAQQE6AAIgAEGEgH5BBCACQQFxGzsBAA8LAkAgA0EFRw0AIAJBAXENACAAQQE6AAIgAEEFOwEADwsCQCABQf//A3EiA0EGRw0AIAJBAXENACAAQQE6AAIgAEEGOwEADwsCQCADQQdHDQAgAkEBcQ0AIABBAToAAiAAQQc7AQAPCwJAIAFB//8DcSIDQQhHDQAgAkEBcQ0AIABBAToAAiAAQQg7AQAPCwJAIANBCUcNACACQQFxDQAgAEEBOgACIABBCTsBAA8LAkAgAUH//wNxIgNBDEYgBHFBAUcNACAAQQE6AAIgAEGMgH5BDCACQQFxGzsBAA8LAkAgA0EZRw0AIAJBAXENACAAQQE6AAIgAEEZOwEADwsCQCABQf//A3EiA0EoRw0AIAJBAXENACAAQQE6AAIgAEEoOwEADwsCQCADQS1HDQAgAkEBcQ0AIABBAToAAiAAQS07AQAPCwJAIAFB//8DcSIDQS9HDQAgAkEBcQ0AIABBAToAAiAAQS87AQAPCwJAIANBwgBHDQAgAkEBcQ0AIABBAToAAiAAQcIAOwEADwsCQCABQf//A3EiA0HFAEcNACACQQFxDQAgAEEBOgACIABBxQA7AQAPCwJAIANB6AdHDQAgAkEBcQ0AIABBAToAAiAAQegHOwEADwsCQCABQf//A3EiA0HqB0cNACACQQFxDQAgAEEBOgACIABB6gc7AQAPCwJAIANB6wdHDQAgAkEBcQ0AIABBAToAAiAAQesHOwEADwsCQCABQf//A3EiA0HsB0cNACACQQFxDQAgAEEBOgACIABB7Ac7AQAPCwJAIANB7QdHDQAgAkEBcQ0AIABBAToAAiAAQe0HOwEADwsCQCABQf//A3EiA0HuB0cNACACQQFxDQAgAEEBOgACIABB7gc7AQAPCwJAIANB7wdHDQAgAkEBcQ0AIABBAToAAiAAQe8HOwEADwsCQCABQf//A3EiA0H3B0cNACACQQFxDQAgAEEBOgACIABB9wc7AQAPCwJAIANB+AdHDQAgAkEBcQ0AIABBAToAAiAAQfgHOwEADwsCQCABQf//A3EiA0GLCEcNACACQQFxDQAgAEEBOgACIABBiwg7AQAPCwJAIANBjAhHDQAgAkEBcQ0AIABBAToAAiAAQYwIOwEADwsCQCABQf//A3EiA0GPCEcNACACQQFxDQAgAEEBOgACIABBjwg7AQAPCwJAIANBlQhHDQAgAkEBcQ0AIABBAToAAiAAQZUIOwEADwsCQCABQf//A3EiA0GXCEcNACACQQFxDQAgAEEBOgACIABBlwg7AQAPCwJAIANBmAhHDQAgAkEBcQ0AIABBAToAAiAAQZgIOwEADwsCQCABQf//A3EiA0GZCEcNACACQQFxDQAgAEEBOgACIABBmQg7AQAPCwJAIANB1A9HDQAgAkEBcQ0AIABBAToAAiAAQdQPOwEADwsCQCABQf//A3EiA0HqD0cNACACQQFxDQAgAEEBOgACIABB6g87AQAPCwJAIANB6w9HDQAgAkEBcQ0AIABBAToAAiAAQesPOwEADwsCQCABQf//A3EiAUHvD0cNACACQQFxDQAgAEEBOgACIABB7w87AQAPCwJAIAFBgBBHDQAgAkEBcQ0AIABBAToAAiAAQYAQOwEADwsgAEEANgEAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC0g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBJxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQtIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC+kBAgZ/AX5BACECA38CQAJAIAIgAU8iAw0AAkAgACACaiIELAAAIgVBAEgNAEEBIQUMAgsgBUH/AXFBzKfIgABqLQAAIgZB8QFGDQAgAiAGQQdxIgVqIAFLDQAgBEEBai0AACIHQoDBgoSJECAGQQF2QfgAca0iCIinQbABcUkNACAHQr///vz7ESAIiKdB/wFxSw0AAkACQCAFQX5qDgMDAAEDCyAEQQJqLAAAQb9/Sg0BQQMhBQwCCyAEQQJqLAAAQb9/Sg0AIARBA2osAABBQE4NAEEEIQUMAQsgAw8LIAUgAmohAgwACwsTACAAQbaYyoAAQcYAEJqAgIAACzQBAX8CQCAAQdSZyoAAQS0QmoCAgAAiAkH//wNxDQAgAEGMtcqAACABEKyEgIAAIQILIAILEgAgAEGjmcqAAEExEJqAgIAAC1ABA38CQAJAIAAgAkcNAEEBIQMMAQsDQCABRSEDIAFFDQEgAUF/aiEBIAItAAAhBCAALQAAIQUgAkEBaiECIABBAWohACAFIARGDQALCyADCzwBAX8CQCAAQfyYyoAAQScQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQrIOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQSsQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKyDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAsuAQF/AkAgAEHj8cmAAEE4EJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQavxyYAAQTgQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABB8/DJgABBOBCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQqoOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTQQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKqDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQqYOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTQQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKmDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQq4OAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKuDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAsuAQF/AkAgAEGH78mAAEEwEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQd3uyYAAQSoQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABBse7JgABBLBCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgsuAQF/AkAgAEGJ7smAAEEoEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQZfsyYAAQSIQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEKeDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEE0EKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCng4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEKiDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEEuEKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCog4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLgEBfwJAIABBxvDJgABBLRCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgs9AQF/AkAgAEHJl8qAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCy4BAX8CQCAAQaOXyoAAQSYQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILPQEBfwJAIABB4ZbKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgsuAQF/AkAgAEG7lsqAAEEmEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCz0BAX8CQCAAQfmVyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILLgEBfwJAIABBy5XKgABBLhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs9AQF/AkAgAEGJlcqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCvg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBLxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQr4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC9g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMBCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQvYOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQa2UyoAAQS8QmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABBh5TKgABBJhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEHYk8qAAEEvEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC4g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBNRCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQuIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQfGSyoAAQTQQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAELyDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEE2EKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABC8g4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLwEBfwJAIABBr5LKgABBwgAQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB/ZHKgABBMhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEG/kcqAAEE+EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQZqPyoAAQToQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB1I/KgABBOhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEGOkMqAAEE6EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQciQyoAAQToQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyQIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAELuDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEHAABCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQu4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8kCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC5g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBxQAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAELmDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAs3AQF/AkAgAEHAjsqAAEEqEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS8BABCPg4CAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC6g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQuoOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQZaOyoAAQSoQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILNwEBfwJAIABB9YzKgABBLRCagICAACICQf//A3ENACAAQYy1yoAAIAEvAQAQj4OAgAAhAgsgAgsuAQF/AkAgAEHLjMqAAEEqEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8kCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC3g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBxQAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQ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gAAhAgsgAgsuAQF/AkAgAEH1+smAAEElEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCxg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMBCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQsYOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCwg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQsIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQaX5yYAAQTEQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEK6DgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEExEKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCug4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLgEBfwJAIABBhPfJgABBLxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgu7AQECfwJAIABB6OvJgABBLxCagICAACICQf//A3ENACABKAIEIQMgASgCACEBIABB7OrAgABBAhCagICAACICQf//A3ENAANAAkACQCADRQ0AIAAgAS0AAEEKQQBBjLXKgAAQ5oOAgAAiAkH//wNxDQMgA0EBRg0BIABB8+rAgABBAhCagICAACICQf//A3FFDQEMAwsgAEGjksCAAEECEJqAgIAADwsgAUEBaiEBIANBf2ohAwwACwsgAgsuAQF/AkAgAEG57MmAAEErEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQbfvyYAAQTEQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABB6O/JgABBMRCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgsuAQF/AkAgAEGZ8MmAAEEtEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQZvzyYAAQSgQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILNwEBfwJAIABBw/PJgABBMxCagICAACICQf//A3ENACAAQYy1yoAAIAEtAAAQqISAgAAhAgsgAgsuAQF/AkAgAEGU9smAAEEuEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQfX3yYAAQSwQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABBmPrJgABBMBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEHI+smAAEEtEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQZf/yYAAQTQQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB7obKgABBKxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs3AQF/AkAgAEGZh8qAAEElEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS8BABCPg4CAACECCyACCy4BAX8CQCAAQb6HyoAAQS0QmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB34jKgABBNxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs9AQF/AkAgAEGKisqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCy4BAX8CQCAAQaKNyoAAQTIQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLwEBfwJAIABB1I3KgABBwgAQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB6o7KgABBMBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEGCkcqAAEE9EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQaWTyoAAQTMQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB3JTKgABBLRCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgvdCQMCfwJ+CH8jgICAgABBIGsiAySAgICAAAJAIABFDQAgAEHAG2ohBEEAKQPotceAACIFQoCAgIDwH4MhBiAFpyEHIABB4ixqIQggAEHSG2ohCQNAIAJFDQEgAS0AACEKAkACQAJAAkACQCAALQDWLEEPcQ0AIApB+rLHgABqLQAAIQsgAC0A5CwiDEUNASAILQAAQRZ0IAAvAeAsQQZ0ciAKQT9xciENDAILIAQgChC5goCAACENDAILQf8BIAtBD3F2IApxIQ0LIAAgDTsB4CwgCCANQYCA/ABxQRB2OgAAIAAgDCALQQ9xIg5qQf8BcUH6tMeAAGotAAAiCzoA5CwCQAJAAkACQAJAAkACQAJAIAtFDQAgC0EMRg0BIANBADoABiADQQA7AQQMCQsg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IgU2AgAgAUGQA2pBEGogCCkDADcDACABQZADakEIaiAMKQMANwMAIAEgASkDuAM3A5ADIAFB4ANqQQhqIAEoApQDIAFBnANqIAVBAXEbIgVBCGooAgA2AgAgASAFKQIANwPgAyABQeADaiEIDAILIAFBkANqQRhqIAUoAgAiDTYCACABQZADakEQaiAIKQMANwMAIAFBkANqQQhqIAwpAwA3AwAgASABKQO4AyIJNwOQAyABQeADakEIaiAJpyABQZADaiANQQFxGyIIQQhqKAIANgIAIAEgCCkCADcD4AMgASABLwHKAzsBkAMgASABKAK8A0EGaiABQZADaiAFLQAAQQFxGy8BADsB5gMgAUHgA2ohCAwBCyABQZADakEYaiAFKAIAIg02AgAgAUGQA2pBEGogCCkDADcDACABQZADakEIaiAMKQMANwMAIAEgASkDuAM3A5ADIAFB4ANqQQhqIAEoApQDIAFBnANqIA1BAXEbIghBCGooAgA2AgAgASAIKQIANwPgAyABIAEvAb4DOwGQAyABIAEoArgDQQZqIAFBkANqIAUtAABBAXEbLwEAOwHmAyABQeADaiEICyAAQeQaaiEFIAFB+AFqQQhqIAhBCGooAgA2AgAgASAIKQIANwP4ASABQbgDakEYaiIIIARBGGopAgA3AwAgAUG4A2pBEGoiDCAEQRBqKQIANwMAIAFBuANqQQhqIg0gBEEIaikCADcDACABIAQpAgA3A7gDAkACQAJAAkACQCABQbgDaiAHEMCDgIAAQQNxDgQAAQIDAAsgAUGQA2pBGGogCCgCACIENgIAIAFBkANqQRBqIAwpAwA3AwAgAUGQA2pBCGogDSkDADcDACABIAEpA7gDNwOQAyABQeADakEIaiABKAKUAyABQZwDaiAEQQFxGyIEQQhqKAIANgIAIAEgBCkCADcD4AMgAUHgA2ohBAwDCyABQZADakEYaiAIKAIAIgQ2AgAgAUGQA2pBEGogDCkDADcDACABQZADakEIaiANKQMANwMAIAEgASkDuAMiCTcDkAMgAUHgA2pBCGogCacgAUGQA2ogBEEBcRsiBEEIaigCADYCACABIAQpAgA3A+ADIAFB4ANqIQQMAgsgAUGQA2pBGGogCCgCACIENgIAIAFBkANqQRBqIAwpAwA3AwAgAUGQA2pBCGogDSkDADcD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AkEIaiIHIABBCGoiCCkCADcDACACIAApAgA3AwAgAkHgAGpBGGoiCSAEKAIAIgo2AgAgAkHgAGpBEGoiCyAGKQIANwMAIAJB4ABqQQhqIgwgCCkCADcDACACIAApAgAiDTcDYEEBIQQgAkEgakEIaiANpyACQeAAaiAKQQFxGyIGQQhqKAIANgIAIAIgBikCADcDICACQTBqIAFBAiACQSBqEM2BgIAAIAIvATQhCCACKAIwIQYgCSADKAIAIgM2AgAgCyAFKQMANwMAIAwgBykDADcDACACIAIpAwA3A2AgAkHAAGpBCGogAigCZCACQewAaiADQQFxGyIDQQhqKAIANgIAIAIgAykCADcDQCACQdAAaiABQQIgAkHAAGoQzYGAgAAgAi8BVCEDIAIoAlAhAQJAAkACQAJAIAAtABxFDQACQCAGIAFNIgANACAIQf//A3EgA0H//wNxTw0ECwJAIAYgAUkiAQ0AIAhB//8DcSADQf//A3FLDQQLIAANASAIQf//A3EgA0H//wNxTw0BQQMhBAwDCyAGIAFPDQFBACEEDAILQX5BACAIQf//A3EgA0H//wNxSxtBACABGyEEDAELAkAgBiABTQ0AQQEhBAwBCyAIQf//A3EgA0H//wNxSyEECyACQYABaiSAgICAACAEC5sBAgJ/AX4jgICAgABBEGsiAySAgICAACABKAIEIQQgASgCACEBIAMgAkH/////A0s6AAwCQAJAIAJBgICAgARJDQBCgICAgBAhBQwBCwJAIAJBAnQiAg0AQvz///8PIQUMAQsgASACQQJBACAEKAIAEYCAgIAAgICAgAAiAkWtQiCGIAKthCEFCyAAIAU3AgAgA0EQaiSAgICAAAsSAAJAIAANAEEADwsgAC8BohsLEgACQCAADQBBAA8LIAAvAaAbCxIAAkAgAA0AQQAPCyAALwGMEgsSAAJAIAANAEEADwsgACgCiBILHwACQAJAIAANAEEAIQAMAQsgAC0AthIhAAsgAEEBcQsxAQF/AkAgAA0AQQAPCyAALwG4EiIBQRB0IAFBgP4DcXIgAEG6EmotAAByQf///wdxCzQBAX8CQCAADQBBzJmzBg8LIAAvAbwSIgFBEHQgAUGA/gNxciAAQb4Sai0AAHJB////B3ELhgEBA38jgICAgABBEGsiAiSAgICAAEEBIQMCQCAA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ARCxgICAAEEBcUUNAiAEQTBqIARBCGogARD7g4CAACAELwE0IgJFDQEgACACOwEkDAULIABBADsBJEEkRQ0EIAAgBEEIakEk/AoAAAwECyAEKAIwIgJBAToACCACQQI6AAAgAiAELQAvIgVBH3E6AAEMAQsgBEE4aiACIAUQ8oOAgAACQCAELwE8RQ0AIABBADsBJEEkRQ0DIAAgBEEIakEk/AoAAAwDCyAELwE4IQUgBC0AOiEGIARBwABqIARBCGogARD7g4CAAAJAIAQvAUQiAkUNACAAIAI7ASQMAwsgBCgCQCICIAUgBkEQdHIiBTsBACACQQA6AAggAkECOgAEIAJBAmogBUEQdjoAACACIAQtAC8iBUEfcToABQsgBUEBaiEGQXYhAgJAAkADQCACRQ0BIAJBqrXKgABqIQUgAkEBaiECIAZBH3EiByAFLQAAQR9xRw0ACyAEQQE6AEwgBCAHOgBLIARBywBqIQIMAQtBqOnJgAAhAgsgAi8AACICQYACTw0ACyAAQQA7ASRBJEUNACAAIARBCGpBJPwKAAALIARB0ABqJICAgIAAC90BAQF/I4CAgIAAQcAAayIEJICAgIAAAkBBJEUNACAEQRRqQaiUyYAAQST8CgAACyAEQQhqIAMQ+IOAgAACQAJAIAQoAghFDQAgAEEAOwEkQSRFDQEgAEGolMmAAEEk/AoAAAwBCyAEQThqIARBFGogARD7g4CAAAJAIAQvATwiA0UNACAEQRRqIAEQwoCAgAAgACADOwEkDAELIAQoAjgiA0ECOgAIIANBAjoAACAAQQA7ASQgAyACQR9xOgABQSRFDQAgACAEQRRqQST8CgAACyAEQcAAaiSAgICAAAtYAAJAIAMgAkkNACAAQgA3AgAPCyAEQf8BcSEEAkADQCACIANGDQECQCABIANqLQAAIARHDQAgAEEBOgAEIAAgAzYCAA8LIANBAWohAwwACwsgAEIANwIAC3kCAX8BfiOAgICAAEEQayIDJICAgIAAAkACQEEBDQBCgICAgBAhBAwBCwJAIAINAEL/////DyEEDAELIAEoAgAgAkEAQQAgASgCBCgCABGAgICAAICAgIAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALewECfyOAgICAAEEgayIEJICAgIAAIAQgASkCADcDCCAEQRRqIARBCGogAxCIgYCAAAJAIAQvARwiBQ0AIAQoAhQhAQJAIAQoAhgiA0UNACABIAIgA/wKAAALIAAgAzYCBCAAIAE2AgALIAAgBTsBCCAEQSBqJICAgIAAC5oGAgd/A34jgICAgABBoAFrIgIkgICAgAACQCAAKAIEIgMNACAAKAIAIQMLIAEoAhAhBCABKAIMIQUgAS0ACCEGIAEoAgQhByABKAIAIQggAygCACEAIAJBOGpCADcDACACQgA3AzAgAkKsmuLTo9Lw+h83A1AgAkKsmuLTo9Lw+h83A0ggAkKsmuLTo9Lw+h83A0ACQEE4RQ0AIAJB2ABqQfjqyYAAQTj8CgAACyACIAZBAXEiAToAYCACQoGAgIAQNwNYIAIgAToAkAECQAJAIAFFDQAgAiAINgBhIAJChYCAgNAANwNYDAELIAJBMGogCCAAaiAHEJ+EgIAACyACQeAAaiEGIAJBMGogACAFaiAEEJ+EgIAAIAIpA0AhCSACKAJcIQACQAJAAkACQAJAAkAgAigCWCIFQRBLDQAgAEEDTQ0BIAI1AmBCIIYgBiAAQQF2QQxxIgFqNQIAhCEKIAYgAEF8aiIAajUAAEIghiAGIAAgAWtqNQAAhCELDAULIAIpA1AhCiACKQNIIQtBACEBIABBEEkNAUEAIQMgACEIDAILQgAhCyAADQJCACEKDAMLQRAhCAJAQRAgAGsiA0UNACACQZABaiAGIABqQSBqIAP8CgAACwJAIABFDQAgAkGQAWogA2ogBiAA/AoAAAsgAkGQAWohBgsgBiADaiEEIAggA2shAyALIAqFIAmFIQkCQANAIAFBEGoiACADTw0BIAJBIGogBCABaiIBQQhqKQAAIAmFQgAgASkAAELb0dCFmtrfgWeFQgAQxYSAgAAgAikDKCACKQMghSEJIAAhAQwACwsgBiAIaiIBQXhqKQAAIQsgAUFwaikAACEKDAELIAYgAEEBdmoxAABCCIYgAjEAYEIQhoQgBiAAakF/ajEAAIQhCgsgAkEQaiAKQtvR0IWa2t+BZ4VCACALIAmFQgAQxYSAgAAgAiACKQMYQtvR0IWa2t+BZ4VCACAFrSACKQMQhUKvyPXFx6yHu6B/hUIAEMWEgIAAIAIpAwAhCSACKQMIIQogAkGgAWokgICAgAAgCiAJhQsyAQF/AkAgAEH3r8qAAEHBABCagICAACICQf//A3ENACAAIAEvAQAQpYSAgAAhAgsgAgsxAQF/AkAgAEHosMqAAEEwEJqAgIAAIgJB//8DcQ0AIAAgAS8BABClhICAACECCyACCzEBAX8CQCAAQZixyoAAQTAQmoCAgAAiAkH//wNxDQAgACABLwEAEKWEgIAAIQILIAILMwEBfyAAQQhqIQBBACEBAkADQCAAKAIAIgBFDQEgASAAQXxqKAIAakF4aiEBDAALCyABC4IBAQF/I4CAgIAAQRBrIgMkgICAgAACQAJAIAJBe2pBfE8NACAAQSo2AQAMAQsgA0EMaiABIAJBEBDIgICAAAJAIAMvAQ4NACAAQQA7AQAgACADLwEMQf8BbCACQQJ0QeS7yoAAaigCAG46AAIMAQsgAEEqNgEACyADQRBqJICAgIAAC9siCgR/AX4CfwF+An8BfgJ/AXwBfgN/I4CAgIAAQYAHayIDJICAgIAAAkACQAJAAkACQAJAAkAgAkUNACACIAEtAAAiBEFVakH9AXFFIgVGDQAgASAFaiEGAkACQAJAAkACQAJAIAIgBWsiBUECSQ0AIAYtAABBMEcNACAGLQABIgJBv39qQf8BcUEaSUEFdCACckH/AXFB+ABHDQBCACEHIANCADcC7AYgAyAFQX5qNgLoBkECIQggAyAGQQJqNgLkBiADQgA3A0ggA0HkBmogA0HIAGoQiISAgAAgAygC7AYiAiADKALwBiIBayEJAkACQCACIAMoAugGTw0AIAMoAuQGIAJqLQAAQS5GDQELQgAhCiAJIQsMAgsgAyACQQFqIgI2AuwGIANB5AZqIANByABqEIiEgIAAIAEgAmsgAygC7AYiAiADKALwBiIBa2oiDCAJaiELQgAgDK1CAoZ9IQoMAQtCACEKIANCADcC7AYgAyAFNgLoBiADIAY2AuQGIANCADcDSCADQeQGaiADQcgAahCJhICAACADKALsBiIIIAMoAvAGIgJrIQkCQAJAAkAgCCADKALoBk8NACADKALkBiAIai0AAEEuRg0BC0IAIQcgCSELDAELIAMgCEEBaiIBNgLsBiADQeQGaiADQcgAahCJhICAACACIAFrIAMoAuwGIgggAygC8AYiAmtqIgEgCWohC0IAIAGtfSEHCwJAAkACQCALRQ0AQgAhDQJAIAggAygC6AZPDQAgAygC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gICAACIEQf//A3ENACAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQACQCACKAIAIgQNACAAIAEQrYSAgAAiBEH//wNxDQEgAigCACEECwJAIARBAUcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBAkcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBA0cNACAAQaaSwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHY6sCAAEECEJqAgIAAIgRB//8DcQ0BIABBl7DAgABBAxCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgQgAigCCBC0hICAACIEQf//A3ENASAAQdfqwIAAQQMQmoCAgAAiBEH//wNxDQEgAEG9r8CAAEEEEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASACLQAMIQYgA0EBNgIEIANB2erAgAA2AgBBByEEQdyTwIAAIQUCQAJAAkACQCAGQQNxDgQDAAECAwtBDCEEQf2iwIAAIQUMAgtBCSEEQeSTwIAAIQUMAQtBBSEEQYubwIAAIQULIAMgBTYCCCADIAQ2AgwgACADEKeEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQceWwIAAQQYQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQANELWEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQb+UwIAAQQsQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQAOELWEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQZWcwIAAQQwQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQAPELWEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEERw0AIAAgARCthICAACIEQf//A3ENASACKAIAIQQLAkAgBEEFRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGcrcCAAEEHEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCBCACKAIIELSEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEGRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGcrsCAAEEJEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAkEEahC2hICAACIEQf//A3ENASAAQaOSwIAAQQIQmoCAgAAiBEH//wNxDQEgAigCACEECwJAIARBB0cNACAAQaaSwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHY6sCAAEECEJqAgIAAIgRB//8DcQ0BIABBva/AgABBBBCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAItAAwQq4SAgAAiBEH//wNxDQEgAEHX6sCAAEEDEJqAgIAAIgRB//8DcQ0BIABBtrHAgABBBBCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgQgAigCCEEBELOEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEIRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGGrMCAAEEFEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCBCACKAIIQQEQs4SAgAAiBEH//wNxDQEgAEGjksCAAEECEJqAgIAAIgRB//8DcQ0BIAIoAgAhBAsCQCAEQQlHDQAgAEGmksCAAEECEJqAgIAAIgRB//8DcQ0BIABB2OrAgABBAhCagICAACIEQf//A3ENASAAQYaswIAAQQUQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACKAIEIAIoAghBARCzhICAACIE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KAIEIAIoAghBARCzhICAACIEQf//A3ENASAAQdfqwIAAQQMQmoCAgAAiBEH//wNxDQEgAEHLlMCAAEEEEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCDCACKAIQQQEQs4SAgAAiBEH//wNxDQEgAEGjksCAAEECEJqAgIAAIgRB//8DcQ0BIAIoAgAhBAsCQCAEQQ1HDQAgAEGmksCAAEECEJqAgIAAIgRB//8DcQ0BIABB2OrAgABBAhCagICAACIEQf//A3ENASAAQZiwwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACKAIEIAIoAggQtISAgAAiBEH//wNxDQEgAEHX6sCAAEEDEJqAgIAAIgRB//8DcQ0BIABBlKjAgABBAxCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgwgAigCEEEBELOEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEORw0AIAAgARCthICAACIEQf//A3ENASACKAIAIQQLAkAgBEEPRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHinMCAAEELEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAi8BBBCPg4CAACIEQf//A3ENASAAQaOSwIAAQQIQmoCAgAAiBEH//wNxDQEgAigCACEECwJAIARBEEcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBEUcNACAAQdLqwIAAQQQQmoCAgAAiBEH//wNxDQEgAEGGrMCAAEGim8CAACACLQAMG0EFEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENAQJAAkAgAi0ADA0AIAAgARCthICAACIEQf//A3ENAyACLQAMRQ0BCyAAIAEgAigCBCACKAIIQQEQs4SAgAAiBEH//wNxDQILIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEESRw0A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/wNxRQ0BDAMLIABBo5LAgABBAhCagICAAA8LAkAgA0EBRg0AIABB8+rAgABBAhCagICAACIFQf//A3ENAgsgAkEBaiECIANBf2ohAwwACwsgBQstAAJAIAJFDQAgACABIAIgA0EBELOEgIAADwsgAEGCpsCAAEEEIAEQoYSAgAALJwAgAEH+qsCAAEH/rMCAACACQQFxIgIbQQRBBSACGyABEKGEgIAACy8AAkAgAi0AAUUNACAAIAEgAi0AABCrhICAAA8LIABBgqbAgABBBCABEKGEgIAAC2UBAX8jgICAgABBEGsiAySAgICAACADQdnqwIAANgIAIANBATYCBCADQQNBAiACQQFxIgIbNgIMIANBp6bAgABB35nAgAAgAhs2AgggACADEKeEgIAAIQIgA0EQaiSAgICAACACC/wCAQd/I4CAgIAAQRBrIgUkgICAgAAgA0F/aiEGIAEoAgghByABKAIEIQhBACEJQQAhCgJAA0AgCiAGTw0BIAIoAgQgCWohCUEBIQoMAAsLAkACQAJAIAIgBkEDdGooAgQgBGwgCWoiCyABKAIMIgpqIAdLDQBBACEJAkADQCAJIAZPDQECQCACKAIEIglFDQAgCCAKaiACKAIAIAn8CgAACyABIAEoAgwgCWoiCjYCDEEBIQkMAAsLIAIgBkEDdGoiCSgCACECAkACQCAJKAIEIgkOAgMAAQsCQCAERQ0AIAggCmogAi0AACAE/AsACyABIAEoAgwgBGo2AgwMAgsDQCAERQ0CAkAgCUUNACAIIApqIAIgCfwKAAALIAEgASgCDCAJaiIKNgIMIARBf2ohBAwACwsgBUEIaiABIAIgAyAEIAEoAgAoAgARgYCAgACAgICAACAAIAUpAwg3AgAMAQsgACALNgIAIABBADsBBAsgBUEQaiSAgICAAAtgAQJ/QgFBICAAQX9qZ2siAK1C//8Dg4anIQECQCAAQf//A3FBAnRB8LzKgABqIgIoAgAiAEUNACACIAFBEHQgAGpBfGooAgA2AgAgAA8LQQAgAUAAIgBBEHQgAEF/RhsL4AEBAn8jgICAgABBEGsiBiSAgICAACAGIANBH3E6AA9BfyAEQQRqIgcgByAESRsiBEEBIAN0IgMgBCADSxshBAJAAkACQCACQQRqIgIgAyACIANLGyIDQX9qZyICQW9qQQxLDQAg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WzM7MTB+ABtbMjM7MTB+ABtbMTM7MTB+ABtbMjsxMH4AG1syMTsxMH4AG1syMDsxMH4AeyAuLi4gfQAuewBlbXB0eQBpbml0eQBjYXBhY2l0eQBIeXBlcmxpbmtTZXRPdXRPZk1lbW9yeQBTdHlsZVNldE91dE9mTWVtb3J5AFN0cmluZ3NPdXRPZk1lbW9yeQBIeXBlcmxpbmtNYXBPdXRPZk1lbW9yeQBHcmFwaGVtZU1hcE91dE9mTWVtb3J5AFN0cmluZ0FsbG9jT3V0T2ZNZW1vcnkAR3JhcGhlbWVBbGxvY091dE9mTWVtb3J5AHByaW1hcnkAc2Vjb25kYXJ5AGRuZC1jb3B5AG5vdGlmeQBzZW1hbnRpY19vcHRpb25fa2V5AGh5cGVybGlua19wYXJhbV9rZXkAa2l0dHlfY29sb3JfcHJvdG9jb2xfa2V5AHNwZWNpYWxfa2V5AGJvZHkAG095ABtPOXkAG084eQAbTzd5ABtPNnkAG08xNnkAG081eQAbTzE1eQAbTzR5ABtPMTR5ABtPM3kAG08xM3kAG08yeQAbTzEyeQAbTzExeQAbTzEweQBjb25lbXVfc2hvd19tZXNzYWdlX2JveABjb25lbXVfbWVzc2FnZV9ib3gAG094ABtPOXgAG084eAAbTzd4ABtPNngAG08xNngAG081eAAbTzE1eAAbTzR4ABtPMTR4ABtPM3gAG08xM3gAG08yeAAbTzEyeAAbTzExeAAbTzEweABxdWVzdGlvbl9hcnJvdwBzd2FsbG93AE92ZXJmbG93AHJlZHJhdwAbT3cAG085dwAbTzh3ABtPN3cAG082dwAbTzE2dwAbTzV3ABtPMTV3ABtPNHcAG08xNHcAG08zdwAbTzEzdwAbTzJ3ABtPMTJ3ABtPMTF3ABtPMTB3ABtPdgAbTzl2ABtPOHYAG083dgAbTzZ2ABtPMTZ2ABtPNXYAG08xNXYAG080dgAbTzE0dgAbTzN2ABtPMTN2ABtPMnYAG08xMnYAG08xMXYAG08xMHYAY29udGV4dC1tZW51ABtPdQAbTzl1ABtPOHUAG083dQAbTzZ1ABtPMTZ1ABtPNXUAG08xNXUAG080dQAbTzE0dQAbTzN1ABtPMTN1ABtPMnUAG08xMnUAG08xMXUAG08xMHUAY29uZW11X3RhYl90eHQAY3Vyc29yX3RleHQAdmVydGljYWwtdGV4dABJbnB1dE91dHB1dABjb25lbXVfd2FpdF9pbnB1dABlbmRfb2ZfaW5wdXQAZGNzX3B1dABhcGNfcHV0AHpvb20tb3V0AENvbm5lY3Rpb25UaW1lZE91dABsaXN0AGNvbmVtdV9wcm9ncmVzc19yZXBvcnQAcHJvbXB0X3N0YXJ0AHNlbWFudGljX29wdGlvbl9zdGFydABoeXBlcmxpbmtfc3RhcnQAc2VtYW50aWNfZXhpdF9jb2RlX3N0YXJ0AGFwY19zdGFydABzZW1hbnRpY19wcm9tcHQAcHJpbnQAY3VycmVudABwcmVhbGxvY19zZWdtZW50AGRlZmF1bHQAd2FpdAByaWdodABsZWZ0AE5vU3BhY2VMZWZ0AHJlc2V0AEludmFsaWRGb3JtYXQAG090ABtPOXQAG084dAAbTzd0ABtPNnQAG08xNnQAG081dAAbTzE1dAAbTzR0ABtPMTR0ABtPM3QAG08xM3QAG08ydAAbTzEydAAbTzExdAAbTzEwdAByZXF1ZXN0cwBjbGlja19ldmVudHMAY2xpcGJvYXJkX2NvbnRlbnRzAGR5bmFtaWNfc2VnbWVudHMAY3Jvc3MAcHJvZ3Jlc3MAaXRlbXMAcGFyYW1zAGR1cmF0aW9uX21zAGludGVybWVkaWF0ZXMAU3lzdGVtUmVzb3VyY2VzAGFsaWFzABtPcwAbTzlzABtPOHMAG083cwAbTzZzABtPMTZzABtPNXMAG08xNXMAG080cwAbTzE0cwAbTzNzABtPMTNzABtPMnMAG08xMnMAG08xMXMAG08xMHMAZmxldXIAbGVmdF9wdHIAdGVybWluYXRvcgBjdXJzb3IAZXJyb3IARGVjb2RlRXJyb3IAb3NjX2NvbG9yAGNyb3NzaGFpcgBJc0RpcgBwb2ludGVyAEludmFsaWRDaGFyYWN0ZXIAdG9wX3JpZ2h0X2Nvcm5lcgBib3R0b21fcmlnaHRfY29ybmVyAHRvcF9sZWZ0X2Nvcm5lcgBib3R0b21fbGVmdF9jb3JuZXIAQ29ubmVjdGlvblJlc2V0QnlQZWVyABtPcgAbTzlyABtPOHIAG083cgAbTzZyABtPMTZyABtPNXIAG08xNXIAG080cgAbTzE0cgAbTzNyABtPMTNyABtPMnIAG08xMnIAG08xMXIAG08xMHIAG09xABtPOXEAG084cQAbTzdxABtPNnEAG08xNnEAG081cQAbTzE1cQAbTzRxABtPMTRxABtPM3EAG08xM3EAG08ycQAbTzEycQAbTzExcQAbTzEwcQBkbmQtbm8tZHJvcABoZWxwAHBhcmFtc19zZXAAY29uZW11X3NsZWVwAHJpZ2h0X3VubGVzc19wZW5kaW5nX3dyYXAAG09wABtPOXAAG084cAAbTzdwABtPNnAAG08xNnAAG081cAAbTzE1cAAbTzRwABtPMTRwABtPM3AAG08xM3AAG08ycAAbTzEycAAbTzExcAAbTzEwcABEaXZpc2lvbkJ5WmVybwBjb25lbXVfZ3VpbWFjcm8AG09vABtPOW8AG084bwAbTzdvABtPNm8AG08xNm8AG081bwAbTzE1bwAbTzRvABtPMTRvABtPM28AG08xM28AG08ybwAbTzEybwAbTzExbwAbTzEwbwB0ZXJtaW5hbC5QYXJzZXIuQWN0aW9uAGNvbnRpbnVhdGlvbgBVdGY4RXhwZWN0ZWRDb250aW51YXRpb24AY29sb3Jfb3BlcmF0aW9uAE1pc3NpbmdPcGVyYXRpb24ATG9ja1Zpb2xhdGlvbgBzaG93X2Rlc2t0b3Bfbm90aWZpY2F0aW9uAHJ4dnRfZXh0ZW5zaW9uAGNoYW5nZV93aW5kb3dfaWNvbgB6b29tLWluAGxlbgBuYW4AG09uABtPOW4AG084bgAbTzduABtPNm4AG08xNm4AG081bgAbTzE1bgAbTzRuABtPMTRuABtPM24AG08xM24AG08ybgAbTzEybgAbTzExbgAbWzBuABtPMTBuAHh0ZXJtAEVuZE9mU3RyZWFtABtPbQAbTzltABtPOG0AG083bQAbTzZtABtPMTZtABtPNW0AG08xNW0AG080bQAbTzE0bQAbTzNtABtPMTNtABtPMm0AG08xMm0AG08xMW0AG08xMG0AY21kbGluZV91cmwAa2l0dHlfY29sb3JfcHJvdG9jb2wAbnVsbABhbGwtc2Nyb2xsAGNlbGwAdmlzdWFsX2JlbGwAYWxsAGJlbABmaW5hbABtYXNrAGRjc191bmhvb2sAZGNzX2hvb2sAZG5kLWxpbmsAV291bGRCbG9jawAbT2sAG085awAbTzhrABtPN2sAG082awAbTzE2awAbTzVrABtPMTVrABtPNGsAG08xNGsAG08zawAbTzEzawAbTzJrABtPMTJrABtPMTFrABtPMTBrABtPagAbTzlqABtPOGoAG083agAbTzZqABtPMTZqABtPNWoAG08xNWoAG080agAbTzE0agAbTzNqABtPMTNqABtPMmoAG08xMmoAG08xMWoAG08xMGoAaHlwZXJsaW5rX3VyaQBIeXBlcmxpbmtTZXROZWVkc1JlaGFzaABTdHlsZVNldE5lZWRzUmVoYXNoAGxlZnRfcHRyX3dhdGNoAGNzaV9kaXNwYXRjaABvc2NfZGlzcGF0Y2gAZXNjX2Rpc3BhdGNoAGFsbG9jYWJsZV9zdHJpbmcAU3RyZWFtaW5nAFV0ZjhPdmVybG9uZ0VuY29kaW5nAE5vdE9wZW5Gb3JSZWFkaW5nAGdyYWJiaW5nAEludmFsaWRFbnVtVGFnAGluZgBVdGY4RW5jb2Rlc1N1cnJvZ2F0ZUhhbGYAVXRmOENhbm5vdEVuY29kZVN1cnJvZ2F0ZUhhbGYAbmVzdy1yZXNpemUAcm93LXJlc2l6ZQBudy1yZXNpemUAZXctcmVzaXplAG5zLXJlc2l6ZQBuLXJlc2l6ZQBjb2wtcmVzaXplAG53c2UtcmVzaXplAG5lLXJlc2l6ZQByZW1vdmUAZG5kLW1vdmUAdHJ1ZQBjb25lbXVfcHJvZ3Jlc3NfcHJldmFsdWUAY29uZW11X3Byb2dyZXNzX3ZhbHVlAGNvbmVtdV9zbGVlcF92YWx1ZQBzZW1hbnRpY19vcHRpb25fdmFsdWUAaHlwZXJsaW5rX3BhcmFtX3ZhbHVlAGtpdHR5X2NvbG9yX3Byb3RvY29sX3ZhbHVlAFV0ZjhJbnZhbGlkU3RhcnRCeXRlAGV4ZWN1dGUAY29tcGxldGUAY29uZW11X3Byb2dyZXNzX3ByZXN0YXRlAGNvbmVtdV9wcm9ncmVzc19zdGF0ZQBhbHRlcm5hdGUAaW5kZXRlcm1pbmF0ZQBwYXVzZQBmYWxzZQBCcm9rZW5QaXBlAG1vdXNlX3NoYXBlAGNtZGxpbmUAY2hhbmdlX3dpbmRvd190aXRsZQBub3RpZmljYXRpb25fdGl0bGUAY29uZW11X2NoYW5nZV90YWJfdGl0bGUAY3Jvc3NlZF9jaXJjbGUAVW5zZWVrYWJs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c2NfMTYAb3NjXzExNgBvc2NfNQAyMjczNzM2NzU0NDMyMzIwNTk0Nzg3NTk3NjU2MjUAMTIzMjU5NTE2NDQwNzgzMDk0NTk1NTgyNTg4MzI1NDM1MzQ4Mzg2NDM4NTA1NDg1Nzg0ODQ0NDk1MzU2MDgyOTE2MjU5NzY1NjI1ADUyOTM5NTU5MjAzMzkzNzcxMTkxNzcwMTU2MjkyNDc3NjIyNjI4MjExOTc1MDk3NjU2MjUAODA3NzkzNTY2OTQ2MzE2MDg4NzQxNjEwMDUwODQ5NTczMDk5MTg1MzYzMzg5NTUxNjM5NTU2ODg0NzY1NjI1ADE0OTAxMTYxMTkzODQ3NjU2MjUAMTg4MDc5MDk2MTMxNTY2MDAxMjc0OTk3ODQ1OTU1NTU5MzA4NDUwOTg2NDg5MDgzNTM0MDAzNDQxNDAwMjczMDA0NTQ2NzYxNTEyNzU2MzQ3NjU2MjUAMzQ2OTQ0Njk1MTk1MzYxNDE4ODgyMzg0ODk2Mjc4MzgxMzQ3NjU2MjUAMzgxNDY5NzI2NTYyNQAyMDY3OTUxNTMxMzgyNTY5MTg3MTc4NTIxNzMwMTc0OTA3MTMzOTE0NTMwMjc3MjUyMTk3MjY1NjI1ADQ4MTQ4MjQ4NjA5NjgwODk2MzI2Mzk5NDQ4NTY0NjIzMTgyOTYzNDUyNTQxMjA1Mzg0NzA0ODgwOTk4NDY5ODg5MTYzOTcwOTQ3MjY1NjI1ADg4ODE3ODQxOTcwMDEyNTIzMjMzODkwNTMzNDQ3MjY1NjI1ADMxNTU0NDM2MjA4ODQwNDcyMjE2NDY5MTQyNjExMzExNDQ5MTg2OTI4MjU3NDA0MzYwOTIwMTkwODExMTU3MjI2NTYyNQA1ODIwNzY2MDkxMzQ2NzQwNzIyNjU2MjUAMTM1NTI1MjcxNTYwNjg4MDU0MjUwOTMxNjAwMTA4NzQyNzEzOTI4MjIyNjU2MjUANTA0ODcwOTc5MzQxNDQ3NTU1NDYzNTA2MjgxNzgwOTgzMTg2OTkwODUyMTE4NDY5Nzc0NzIzMDUyOTc4NTE1NjI1ADkzMTMyMjU3NDYxNTQ3ODUxNTYyNQAxMTc1NDk0MzUwODIyMjg3NTA3OTY4NzM2NTM3MjIyMjQ1Njc3ODE4NjY1NTU2NzcyMDg3NTIxNTA4NzUxNzA2Mjc4NDE3MjU5NDU0NzI3MTcyODUxNTYyNQAyMTY4NDA0MzQ0OTcxMDA4ODY4MDE0OTA1NjAxNzM5ODgzNDIyODUxNTYyNQAxNDIxMDg1NDcxNTIwMjAwMzcxNzQyMjQ4NTM1MTU2MjUANzcwMzcxOTc3NzU0ODk0MzQxMjIyMzkxMTc3MDMzOTcwOTI3NDE1MjQwNjU5Mjg2MTU1Mjc4MDk1OTc1NTE4MjI2NjIzNTM1MTU2MjUAMzMwODcyMjQ1MDIxMjExMDY5OTQ4NTYzNDc2ODI3OTg1MTQxNDI2MzI0ODQ0MzYwMzUxNTYyNQA2MTAzNTE1NjI1ADE5NzIxNTIyNjMwNTI1Mjk1MTM1MjkzMjE0MTMyMDY5NjU1NzQxODMwMTYwODc3NzI1NTc1MTE5MjU2OTczMjY2NjAxNTYyNQAzNjM3OTc4ODA3MDkxNzEyOTUxNjYwMTU2MjUAODQ3MDMyOTQ3MjU0MzAwMzM5MDY4MzIyNTAwNjc5NjQxOTYyMDUxMzkxNjAxNTYyNQAyMzg0MTg1NzkxMDE1NjI1ADEyOTI0Njk3MDcxMTQxMDU3NDE5ODY1NzYwODEzNTkzMTY5NTg2OTY1ODE0MjMyODI2MjMyOTEwMTU2MjUANTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUAMzAwOTI2NTUzODEwNTA1NjAyMDM5OTk2NTUzNTI4ODk0ODkzNTIxNTc4MzgyNTMzNjU0NDA1NTA2MjQwNDM2ODA3Mjc0ODE4NDIwNDEwMTU2MjUAMTUyNTg3ODkwNjI1ADgyNzE4MDYxMjU1MzAyNzY3NDg3MTQwODY5MjA2OTk2Mjg1MzU2NTgxMjExMDkwMDg3ODkwNjI1ADE5MjU5Mjk5NDQzODcyMzU4NTMwNTU5Nzc5NDI1ODQ5MjczMTg1MzgxMDE2NDgyMTUzODgxOTUyMzk5Mzg3OTU1NjY1NTg4Mzc4OTA2MjUAMzU1MjcxMzY3ODgwMDUwMDkyOTM1NTYyMTMzNzg5MDYyNQAyMzI4MzA2NDM2NTM4Njk2Mjg5MDYyNQAxMjYyMTc3NDQ4MzUzNjE4ODg4NjU4NzY1NzA0NDUyNDU3OTY3NDc3MTMwMjk2MTc0NDM2ODA3NjMyNDQ2Mjg5MDYyNQA1NDIxMDEwODYyNDI3NTIyMTcwMDM3MjY0MDA0MzQ5NzA4NTU3MTI4OTA2MjUANTk2MDQ2NDQ3NzUzOTA2MjUAMzIzMTE3NDI2Nzc4NTI2NDM1NDk2NjQ0MDIwMzM5ODI5MjM5Njc0MTQ1MzU1ODIwNjU1ODIyNzUzOTA2MjUAMTM4Nzc3ODc4MDc4MTQ0NTY3NTUyOTUzOTU4NTExMzUyNTM5MDYyNQA3NTIzMTYzODQ1MjYyNjQwMDUwOTk5OTEzODM4MjIyMzcyMzM4MDM5NDU5NTYzMzQxMzYwMTM3NjU2MDEwOTIwMTgxODcwNDYwNTEwMjUzOTA2MjUANDkzMDM4MDY1NzYzMTMyMzc4MzgyMzMwMzUzMzAxNzQxMzkzNTQ1NzU0MDIxOTQzMTM5Mzc3OTgxNDI0MzMxNjY1MDM5MDYyNQA5MDk0OTQ3MDE3NzI5MjgyMzc5MTUwMzkwNjI1ADIxMTc1ODIzNjgxMzU3NTA4NDc2NzA4MDYyNTE2OTkxMDQ5MDUxMjg0NzkwMDM5MDYyNQAzMzg4MTMxNzg5MDE3MjAxMzU2MjczMjkwMDAyNzE4NTY3ODQ4MjA1NTY2NDA2MjUAMTQ1NTE5MTUyMjgzNjY4NTE4MDY2NDA2MjUANzg4ODYwOTA1MjIxMDExODA1NDExNzI4NTY1MjgyNzg2MjI5NjczMjA2NDM1MTA5MDIzMDA0NzcwMjc4OTMwNjY0MDYyNQAxMjAzNzA2MjE1MjQyMDIyNDA4MTU5OTg2MjE0MTE1NTc5NTc0MDg2MzEzNTMwMTM0NjE3NjIyMDI0OTYxNzQ3MjI5MDk5MjczNjgxNjQwNjI1ADIyMjA0NDYwNDkyNTAzMTMwODA4NDcyNjMzMzYxODE2NDA2MjUANTE2OTg3ODgyODQ1NjQyMjk2Nzk0NjMwNDMyNTQzNzI2NzgzNDc4NjMyNTY5MzEzMDQ5MzE2NDA2MjUAOTUzNjc0MzE2NDA2MjUANDcwMTk3NzQwMzI4OTE1MDAzMTg3NDk0NjE0ODg4ODk4MjcxMTI3NDY2MjIyNzA4ODM1MDA4NjAzNTAwNjgyNTExMzY2OTAzNzgxODkwODY5MTQwNjI1ADg2NzM2MTczNzk4ODQwMzU0NzIwNTk2MjI0MDY5NTk1MzM2OTE0MDYyNQAzNzI1MjkwMjk4NDYxOTE0MDYyNQAyMDE5NDgzOTE3MzY1NzkwMjIxODU0MDI1MTI3MTIzOTMyNzQ3OTYzNDA4NDczODc5MDk4ODkyMjExOTE0MDYyNQA1Njg0MzQxODg2MDgwODAxNDg2OTY4OTk0MTQwNjI1ADMwODE0ODc5MTEwMTk1NzczNjQ4ODk1NjQ3MDgxMzU4ODM3MDk2NjA5NjI2MzcxNDQ2MjExMTIzODM5MDIwNzI5MDY0OTQxNDA2MjUAMTMyMzQ4ODk4MDA4NDg0NDI3OTc5NDI1MzkwNzMxMTk0MDU2NTcwNTI5OTM3NzQ0MTQwNjI1ADI0NDE0MDYyNQAzODUxODU5ODg4Nzc0NDcxNzA2MTExOTU1ODg1MTY5ODU0NjM3MDc2MjAzMjk2NDMwNzc2MzkwNDc5ODc3NTkxMTMzMTE3Njc1NzgxMjUANzEwNTQyNzM1NzYwMTAwMTg1ODcxMTI0MjY3NTc4MTI1ADMwNTE3NTc4MTI1ADE2NTQzNjEyMjUxMDYwNTUzNDk3NDI4MTczODQxMzk5MjU3MDcxMzE2MjQyMjE4MDE3NTc4MTI1ADI1MjQzNTQ4OTY3MDcyMzc3NzczMTc1MzE0MDg5MDQ5MTU5MzQ5NTQyNjA1OTIzNDg4NzM2MTUyNjQ4OTI1NzgxMjUANDY1NjYxMjg3MzA3NzM5MjU3ODEyNQA1ODc3NDcxNzU0MTExNDM3NTM5ODQzNjgyNjg2MTExMjI4Mzg5MDkzMzI3NzgzODYwNDM3NjA3NTQzNzU4NTMxMzkyMDg2Mjk3MjczNjM1ODY0MjU3ODEyNQAxMDg0MjAyMTcyNDg1NTA0NDM0MDA3NDUyODAwODY5OTQxNzExNDI1NzgxMjUAMTE5MjA5Mjg5NTUwNzgxMjUANjQ2MjM0ODUzNTU3MDUyODcwOTkzMjg4MDQwNjc5NjU4NDc5MzQ4MjkwNzExNjQxMzExNjQ1NTA3ODEyNQAyNzc1NTU3NTYxNTYyODkxMzUxMDU5MDc5MTcwMjI3MDUwNzgxMjUAMTUwNDYzMjc2OTA1MjUyODAxMDE5OTk4Mjc2NzY0NDQ3NDQ2NzYwNzg5MTkxMjY2ODI3MjAyNzUzMTIwMjE4NDAzNjM3NDA5MjEwMjA1MDc4MTI1ADQyMzUxNjQ3MzYyNzE1MDE2OTUzNDE2MTI1MDMzOTgyMDk4MTAyNTY5NTgwMDc4MTI1ADE4MTg5ODk0MDM1NDU4NTY0NzU4MzAwNzgxMjUAOTg2MDc2MTMxNTI2MjY0NzU2NzY0NjYwNzA2NjAzNDgyNzg3MDkxNTA4MDQzODg2Mjc4NzU1OTYyODQ4NjYzMzMwMDc4MTI1ADExMzY4NjgzNzcyMTYxNjAyOTczOTM3OTg4MjgxMjUANjE2Mjk3NTgyMjAzOTE1NDcyOTc3OTEyOTQxNjI3MTc2NzQxOTMyMTkyNTI3NDI4OTI0MjIyNDc2NzgwNDE0NTgxMjk4ODI4MTI1ADI2NDY5Nzc5NjAxNjk2ODg1NTk1ODg1MDc4MTQ2MjM4ODExMzE0MTA1OTg3NTQ4ODI4MTI1ADE3MzQ3MjM0NzU5NzY4MDcwOTQ0MTE5MjQ0ODEzOTE5MDY3MzgyODEyNQA5NDAzOTU0ODA2NTc4MzAwMDYzNzQ5ODkyMjk3Nzc3OTY1NDIyNTQ5MzI0NDU0MTc2NzAwMTcyMDcwMDEzNjUwMjI3MzM4MDc1NjM3ODE3MzgyODEyNQA3NDUwNTgwNTk2OTIzODI4MTI1ADQwMzg5Njc4MzQ3MzE1ODA0NDM3MDgwNTAyNTQyNDc4NjU0OTU5MjY4MTY5NDc3NTgxOTc3ODQ0MjM4MjgxMjUAMTAzMzk3NTc2NTY5MTI4NDU5MzU4OTI2MDg2NTA4NzQ1MzU2Njk1NzI2NTEzODYyNjA5ODYzMjgxMjUAMTkwNzM0ODYzMjgxMjUAMjQwNzQxMjQzMDQ4NDA0NDgxNjMxOTk3MjQyODIzMTE1OTE0ODE3MjYyNzA2MDI2OTIzNTI0NDA0OTkyMzQ5NDQ1ODE5ODU0NzM2MzI4MTI1ADQ0NDA4OTIwOTg1MDA2MjYxNjE2OTQ1MjY2NzIzNjMyODEyNQAxNTc3NzIxODEwNDQyMDIzNjEwODIzNDU3MTMwNTY1NTcyNDU5MzQ2NDEyODcwMjE4MDQ2MDA5NTQwNTU3ODYxMzI4MTI1ADI5MTAzODMwNDU2NzMzNzAzNjEzMjgxMjUANjc3NjI2MzU3ODAzNDQwMjcxMjU0NjU4MDAwNTQzNzEzNTY5NjQxMTEzMjgxMjUAMjk4MDIzMjIzODc2OTUzMTI1ADE2MTU1ODcxMzM4OTI2MzIxNzc0ODMyMjAxMDE2OTkxNDYxOTgzNzA3MjY3NzkxMDMyNzkxMTM3Njk1MzEyNQA2OTM4ODkzOTAzOTA3MjI4Mzc3NjQ3Njk3OTI1NTY3NjI2OTUzMTI1ADM3NjE1ODE5MjI2MzEzMjAwMjU0OTk5NTY5MTkxMTExODYxNjkwMTk3Mjk3ODE2NzA2ODAwNjg4MjgwMDU0NjAwOTA5MzUyMzAyNTUxMjY5NTMxMjUANDU0NzQ3MzUwODg2NDY0MTE4OTU3NTE5NTMxMjUAMjQ2NTE5MDMyODgxNTY2MTg5MTkxMTY1MTc2NjUwODcwNjk2NzcyODc3MDEwOTcxNTY5Njg4OTkwNzEyMTY1ODMyNTE5NTMxMjUAMTA1ODc5MTE4NDA2Nzg3NTQyMzgzNTQwMzEyNTg0OTU1MjQ1MjU2NDIzOTUwMTk1MzEyNQAxNzc2MzU2ODM5NDAwMjUwNDY0Njc3ODEwNjY4OTQ1MzEyNQA5NjI5NjQ5NzIxOTM2MTc5MjY1Mjc5ODg5NzEyOTI0NjM2NTkyNjkwNTA4MjQxMDc2OTQwOTc2MTk5NjkzOTc3ODMyNzk0MTg5NDUzMTI1ADc2MjkzOTQ1MzEyNQA0MTM1OTAzMDYyNzY1MTM4Mzc0MzU3MDQzNDYwMzQ5ODE0MjY3ODI5MDYwNTU0NTA0Mzk0NTMxMjUAMjcxMDUwNTQzMTIxMzc2MTA4NTAxODYzMjAwMjE3NDg1NDI3ODU2NDQ1MzEyNQAxMTY0MTUzMjE4MjY5MzQ4MTQ0NTMxMjUANjMxMDg4NzI0MTc2ODA5NDQ0MzI5MzgyODUyMjI2MjI4OTgzNzM4NTY1MTQ4MDg3MjE4NDAzODE2MjIzMTQ0NTMxMjUAMTAwOTc0MTk1ODY4Mjg5NTExMDkyNzAxMjU2MzU2MTk2NjM3Mzk4MTcwNDIzNjkzOTU0OTQ0NjEwNTk1NzAzMTI1ADE4NjI2NDUxNDkyMzA5NTcwMzEyNQA0MzM2ODA4Njg5OTQyMDE3NzM2MDI5ODExMjAzNDc5NzY2ODQ1NzAzMTI1ADIzNTA5ODg3MDE2NDQ1NzUwMTU5Mzc0NzMwNzQ0NDQ0OTEzNTU2MzczMzExMTM1NDQxNzUwNDMwMTc1MDM0MTI1NTY4MzQ1MTg5MDk0NTQzNDU3MDMxMjUAMjg0MjE3MDk0MzA0MDQwMDc0MzQ4NDQ5NzA3MDMxMjUAMTU0MDc0Mzk1NTUwOTc4ODY4MjQ0NDc4MjM1NDA2Nzk0MTg1NDgzMDQ4MTMxODU3MjMxMDU1NjE5MTk1MTAzNjQ1MzI0NzA3MDMxMjUANjYxNzQ0NDkwMDQyNDIyMTM5ODk3MTI2OTUzNjU1OTcwMjgyODUyNjQ5Njg4NzIwNzAzMTI1ADEyMjA3MDMxMjUAMjU4NDkzOTQxNDIyODIxMTQ4Mzk3MzE1MjE2MjcxODYzMzkxNzM5MzE2Mjg0NjU2NTI0NjU4MjAzMTI1ADQ3NjgzNzE1ODIwMzEyNQAxMTEwMjIzMDI0NjI1MTU2NTQwNDIzNjMxNjY4MDkwODIwMzEyNQA2MDE4NTMxMDc2MjEwMTEyMDQwNzk5OTMxMDcwNTc3ODk3ODcwNDMxNTY3NjUwNjczMDg4MTEwMTI0ODA4NzM2MTQ1NDk2MzY4NDA4MjAzMTI1ADE2OTQwNjU4OTQ1MDg2MDA2NzgxMzY2NDUwMDEzNTkyODM5MjQxMDI3ODMyMDMxMjUAMzk0NDMwNDUyNjEwNTA1OTAyNzA1ODY0MjgyNjQxMzkzMTE0ODM2NjAzMjE3NTU0NTExNTAyMzg1MTM5NDY1MzMyMDMxMjUANzI3NTk1NzYxNDE4MzQyNTkwMzMyMDMxMjUAb3NjXzE1AG9zY18xMTUAb3NjXzEwNQBvc2NfNABvc2NfMTQAb3NjXzExNABvc2NfMTA0ADEzMwBvc2NfMTMAb3NjXzExMwA1MgAyMgBvc2NfMTIAb3NjXzExMgBoYW5kMQAyMQBvc2NfMTEAb3NjXzExMQBvc2NfMTAAb3NjXzExMABlcnJvci4ALnsgLgAsIC4AQGVudW1Gcm9tSW50KAAkJwB7IAAgPSAALCAAGxsAGw0AMjU1IDI1MCAyNTAJCXNub3cKMjQ4IDI0OCAyNTUJCWdob3N0IHdoaXRlCjI0OCAyNDggMjU1CQlHaG9zdFdoaXRlCjI0NSAyNDUgMjQ1CQl3aGl0ZSBzbW9rZQoyNDUgMjQ1IDI0NQkJV2hpdGVTbW9rZQoyMjAgMjIwIDIyMAkJZ2FpbnNib3JvCjI1NSAyNTAgMjQwCQlmbG9yYWwgd2hpdGUKMjU1IDI1MCAyNDAJCUZsb3JhbFdoaXRlCjI1MyAyNDUgMjMwCQlvbGQgbGFjZQoyNTMgMjQ1IDIzMAkJT2xkTGFjZQoyNTAgMjQwIDIzMAkJbGluZW4KMjUwIDIzNSAyMTUJCWFudGlxdWUgd2hpdGUKMjUwIDIzNSAyMTUJCUFudGlxdWVXaGl0ZQoyNTUgMjM5IDIxMwkJcGFwYXlhIHdoaXAKMjU1IDIzOSAyMTMJCVBhcGF5YVdoaXAKMjU1IDIzNSAyMDUJCWJsYW5jaGVkIGFsbW9uZAoyNTUgMjM1IDIwNQkJQmxhbmNoZWRBbG1vbmQKMjU1IDIyOCAxOTYJCWJpc3F1ZQoyNTUgMjE4IDE4NQkJcGVhY2ggcHVmZgoyNTUgMjE4IDE4NQkJUGVhY2hQdWZmCjI1NSAyMjIgMTczCQluYXZham8gd2hpdGUKMjU1IDIyMiAxNzMJCU5hdmFqb1doaXRlCjI1NSAyMjggMTgxCQltb2NjYXNpbgoyNTUgMjQ4IDIyMAkJY29ybnNpbGsKMjU1IDI1NSAyNDAJCWl2b3J5CjI1NSAyNTAgMjA1CQlsZW1vbiBjaGlmZm9uCjI1NSAyNTAgMjA1CQlMZW1vbkNoaWZmb24KMjU1IDI0NSAyMzgJCXNlYXNoZWxsCjI0MCAyNTUgMjQwCQlob25leWRldwoyNDUgMjU1IDI1MAkJbWludCBjcmVhbQoyNDUgMjU1IDI1MAkJTWludENyZWFtCjI0MCAyNTUgMjU1CQlhenVyZQoyNDAgMjQ4IDI1NQkJYWxpY2UgYmx1ZQoyNDAgMjQ4IDI1NQkJQWxpY2VCbHVlCjIzMCAyMzAgMjUwCQlsYXZlbmRlcgoyNTUgMjQwIDI0NQkJbGF2ZW5kZXIgYmx1c2gKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gKMjU1IDIyOCAyMjUJCW1pc3R5IHJvc2UKMjU1IDIyOCAyMjUJCU1pc3R5Um9zZQoyNTUgMjU1IDI1NQkJd2hpdGUKICAwICAgMCAgIDAJCWJsYWNrCiA0NyAgNzkgIDc5CQlkYXJrIHNsYXRlIGdyYXkKIDQ3ICA3OSAgNzkJCURhcmtTbGF0ZUdyYXkKIDQ3ICA3OSAgNzkJCWRhcmsgc2xhdGUgZ3JleQogNDcgIDc5ICA3OQkJRGFya1NsYXRlR3JleQoxMDUgMTA1IDEwNQkJZGltIGdyYXkKMTA1IDEwNSAxMDUJCURpbUdyYXkKMTA1IDEwNSAxMDUJCWRpbSBncmV5CjEwNSAxMDUgMTA1CQlEaW1HcmV5CjExMiAxMjggMTQ0CQlzbGF0ZSBncmF5CjExMiAxMjggMTQ0CQlTbGF0ZUdyYXkKMTEyIDEyOCAxNDQJCXNsYXRlIGdyZXkKMTEyIDEyOCAxNDQJCVNsYXRlR3JleQoxMTkgMTM2IDE1MwkJbGlnaHQgc2xhdGUgZ3JheQoxMTkgMTM2IDE1MwkJTGlnaHRTbGF0ZUdyYXkKMTE5IDEzNiAxNTMJCWxpZ2h0IHNsYXRlIGdyZXkKMTE5IDEzNiAxNTMJCUxpZ2h0U2xhdGVHcmV5CjE5MCAxOTAgMTkwCQlncmF5CjE5MCAxOTAgMTkwCQlncmV5CjE5MCAxOTAgMTkwCQl4MTEgZ3JheQoxOTAgMTkwIDE5MAkJWDExR3JheQoxOTAgMTkwIDE5MAkJeDExIGdyZXkKMTkwIDE5MCAxOTAJCVgxMUdyZXkKMTI4IDEyOCAxMjgJCXdlYiBncmF5CjEyOCAxMjggMTI4CQlXZWJHcmF5CjEyOCAxMjggMTI4CQl3ZWIgZ3JleQoxMjggMTI4IDEyOAkJV2ViR3JleQoyMTEgMjExIDIxMQkJbGlnaHQgZ3JleQoyMTEgMjExIDIxMQkJTGlnaHRHcmV5CjIxMSAyMTEgMjExCQlsaWdodCBncmF5CjIxMSAyMTEgMjExCQlMaWdodEdyYXkKIDI1ICAyNSAxMTIJCW1pZG5pZ2h0IGJsdWUKIDI1ICAyNSAxMTIJCU1pZG5pZ2h0Qmx1ZQogIDAgICAwIDEyOAkJbmF2eQogIDAgICAwIDEyOAkJbmF2eSBibHVlCiAgMCAgIDAgMTI4CQlOYXZ5Qmx1ZQoxMDAgMTQ5IDIzNwkJY29ybmZsb3dlciBibHVlCjEwMCAxNDkgMjM3CQlDb3JuZmxvd2VyQmx1ZQogNzIgIDYxIDEzOQkJZGFyayBzbGF0ZSBibHVlCiA3MiAgNjEgMTM5CQlEYXJrU2xhdGVCbHVlCjEwNiAgOTAgMjA1CQlzbGF0ZSBibHVlCjEwNiAgOTAgMjA1CQlTbGF0ZUJsdWUKMTIzIDEwNCAyMzgJCW1lZGl1bSBzbGF0ZSBibHVlCjEyMyAxMDQgMjM4CQlNZWRpdW1TbGF0ZUJsdWUKMTMyIDExMiAyNTUJCWxpZ2h0IHNsYXRlIGJsdWUKMTMyIDExMiAyNTUJCUxpZ2h0U2xhdGVCbHVlCiAgMCAgIDAgMjA1CQltZWRpdW0gYmx1ZQogIDAgICAwIDIwNQkJTWVkaXVtQmx1ZQogNjUgMTA1IDIyNQkJcm95YWwgYmx1ZQogNjUgMTA1IDIyNQkJUm95YWxCbHVlCiAgMCAgIDAgMjU1CQlibHVlCiAzMCAxNDQgMjU1CQlkb2RnZXIgYmx1ZQogMzAgMTQ0IDI1NQkJRG9kZ2VyQmx1ZQogIDAgMTkxIDI1NQkJZGVlcCBza3kgYmx1ZQogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUKMTM1IDIwNiAyMzUJCXNreSBibHVlCjEzNSAyMDYgMjM1CQlTa3lCbHVlCjEzNSAyMDYgMjUwCQlsaWdodCBza3kgYmx1ZQoxMzUgMjA2IDI1MAkJTGlnaHRTa3lCbHVlCiA3MCAxMzAgMTgwCQlzdGVlbCBibHVlCiA3MCAxMzAgMTgwCQlTdGVlbEJsdWUKMTc2IDE5NiAyMjIJCWxpZ2h0IHN0ZWVsIGJsdWUKMTc2IDE5NiAyMjIJCUxpZ2h0U3RlZWxCbHVlCjE3MyAyMTYgMjMwCQlsaWdodCBibHVlCjE3MyAyMTYgMjMwCQlMaWdodEJsdWUKMTc2IDIyNCAyMzAJCXBvd2RlciBibHVlCjE3NiAyMjQgMjMwCQlQb3dkZXJCbHVlCjE3NSAyMzggMjM4CQlwYWxlIHR1cnF1b2lzZQoxNzUgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZQogIDAgMjA2IDIwOQkJZGFyayB0dXJxdW9pc2UKICAwIDIwNiAyMDkJCURhcmtUdXJxdW9pc2UKIDcyIDIwOSAyMDQJCW1lZGl1bSB0dXJxdW9pc2UKIDcyIDIwOSAyMDQJCU1lZGl1bVR1cnF1b2lzZQogNjQgMjI0IDIwOAkJdHVycXVvaXNlCiAgMCAyNTUgMjU1CQljeWFuCiAgMCAyNTUgMjU1CQlhcXVhCjIyNCAyNTUgMjU1CQlsaWdodCBjeWFuCjIyNCAyNTUgMjU1CQlMaWdodEN5YW4KIDk1IDE1OCAxNjAJCWNhZGV0IGJsdWUKIDk1IDE1OCAxNjAJCUNhZGV0Qmx1ZQoxMDIgMjA1IDE3MAkJbWVkaXVtIGFxdWFtYXJpbmUKMTAyIDIwNSAxNzAJCU1lZGl1bUFxdWFtYXJpbmUKMTI3IDI1NSAyMTIJCWFxdWFtYXJpbmUKICAwIDEwMCAgIDAJCWRhcmsgZ3JlZW4KICAwIDEwMCAgIDAJCURhcmtHcmVlbgogODUgMTA3ICA0NwkJZGFyayBvbGl2ZSBncmVlbgogODUgMTA3ICA0NwkJRGFya09saXZlR3JlZW4KMTQzIDE4OCAxNDMJCWRhcmsgc2VhIGdyZWVuCjE0MyAxODggMTQzCQlEYXJrU2VhR3JlZW4KIDQ2IDEzOSAgODcJCXNlYSBncmVlbgogNDYgMTM5ICA4NwkJU2VhR3JlZW4KIDYwIDE3OSAxMTMJCW1lZGl1bSBzZWEgZ3JlZW4KIDYwIDE3OSAxMTMJCU1lZGl1bVNlYUdyZWVuCiAzMiAxNzggMTcwCQlsaWdodCBzZWEgZ3JlZW4KIDMyIDE3OCAxNzAJCUxpZ2h0U2VhR3JlZW4KMTUyIDI1MSAxNTIJCXBhbGUgZ3JlZW4KMTUyIDI1MSAxNTIJCVBhbGVHcmVlbgogIDAgMjU1IDEyNwkJc3ByaW5nIGdyZWVuCiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbgoxMjQgMjUyICAgMAkJbGF3biBncmVlbgoxMjQgMjUyICAgMAkJTGF3bkdyZWVuCiAgMCAyNTUgICAwCQlncmVlbgogIDAgMjU1ICAgMAkJbGltZQogIDAgMjU1ICAgMAkJeDExIGdyZWVuCiAgMCAyNTUgICAwCQlYMTFHcmVlbgogIDAgMTI4ICAgMAkJd2ViIGdyZWVuCiAgMCAxMjggICAwCQlXZWJHcmVlbgoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZQogIDAgMjUwIDE1NAkJbWVkaXVtIHNwcmluZyBncmVlbgogIDAgMjUwIDE1NAkJTWVkaXVtU3ByaW5nR3JlZW4KMTczIDI1NSAgNDcJCWdyZWVuIHllbGxvdwoxNzMgMjU1ICA0NwkJR3JlZW5ZZWxsb3cKIDUwIDIwNSAgNTAJCWxpbWUgZ3JlZW4KIDUwIDIwNSAgNTAJCUxpbWVHcmVlbgoxNTQgMjA1ICA1MAkJeWVsbG93IGdyZWVuCjE1NCAyMDUgIDUwCQlZZWxsb3dHcmVlbgogMzQgMTM5ICAzNAkJZm9yZXN0IGdyZWVuCiAzNCAxMzkgIDM0CQlGb3Jlc3RHcmVlbgoxMDcgMTQyICAzNQkJb2xpdmUgZHJhYgoxMDcgMTQyICAzNQkJT2xpdmVEcmFiCjE4OSAxODMgMTA3CQlkYXJrIGtoYWtpCjE4OSAxODMgMTA3CQlEYXJrS2hha2kKMjQwIDIzMCAxNDAJCWtoYWtpCjIzOCAyMzIgMTcwCQlwYWxlIGdvbGRlbnJvZAoyMzggMjMyIDE3MAkJUGFsZUdvbGRlbnJvZAoyNTAgMjUwIDIxMAkJbGlnaHQgZ29sZGVucm9kIHllbGxvdwoyNTAgMjUwIDIxMAkJTGlnaHRHb2xkZW5yb2RZZWxsb3cKMjU1IDI1NSAyMjQJCWxpZ2h0IHllbGxvdwoyNTUgMjU1IDIyNAkJTGlnaHRZZWxsb3cKMjU1IDI1NSAgIDAJCXllbGxvdwoyNTUgMjE1ICAgMAkJZ29sZAoyMzggMjIxIDEzMAkJbGlnaHQgZ29sZGVucm9kCjIzOCAyMjEgMTMwCQlMaWdodEdvbGRlbnJvZAoyMTggMTY1ICAzMgkJZ29sZGVucm9kCjE4NCAxMzQgIDExCQlkYXJrIGdvbGRlbnJvZAoxODQgMTM0ICAxMQkJRGFya0dvbGRlbnJvZAoxODggMTQzIDE0MwkJcm9zeSBicm93bgoxODggMTQzIDE0MwkJUm9zeUJyb3duCjIwNSAgOTIgIDkyCQlpbmRpYW4gcmVkCjIwNSAgOTIgIDkyCQlJbmRpYW5SZWQKMTM5ICA2OSAgMTkJCXNhZGRsZSBicm93bgoxMzkgIDY5ICAxOQkJU2FkZGxlQnJvd24KMTYwICA4MiAgNDUJCXNpZW5uYQoyMDUgMTMzICA2MwkJcGVydQoyMjIgMTg0IDEzNQkJYnVybHl3b29kCjI0NSAyNDUgMjIwCQliZWlnZQoyNDUgMjIyIDE3OQkJd2hlYXQKMjQ0IDE2NCAgOTYJCXNhbmR5IGJyb3duCjI0NCAxNjQgIDk2CQlTYW5keUJyb3duCjIxMCAxODAgMTQwCQl0YW4KMjEwIDEwNSAgMzAJCWNob2NvbGF0ZQoxNzggIDM0ICAzNAkJZmlyZWJyaWNrCjE2NSAgNDIgIDQyCQlicm93bgoyMzMgMTUwIDEyMgkJZGFyayBzYWxtb24KMjMzIDE1MCAxMjIJCURhcmtTYWxtb24KMjUwIDEyOCAxMTQJCXNhbG1vbgoyNTUgMTYwIDEyMgkJbGlnaHQgc2FsbW9uCjI1NSAxNjAgMTIyCQlMaWdodFNhbG1vbgoyNTUgMTY1ICAgMAkJb3JhbmdlCjI1NSAxNDAgICAwCQlkYXJrIG9yYW5nZQoyNTUgMTQwICAgMAkJRGFya09yYW5nZQoyNTUgMTI3ICA4MAkJY29yYWwKMjQwIDEyOCAxMjgJCWxpZ2h0IGNvcmFsCjI0MCAxMjggMTI4CQlMaWdodENvcmFsCjI1NSAgOTkgIDcxCQl0b21hdG8KMjU1ICA2OSAgIDAJCW9yYW5nZSByZWQKMjU1ICA2OSAgIDAJCU9yYW5nZVJlZAoyNTUgICAwICAgMAkJcmVkCjI1NSAxMDUgMTgwCQlob3QgcGluawoyNTUgMTA1IDE4MAkJSG90UGluawoyNTUgIDIwIDE0NwkJZGVlcCBwaW5rCjI1NSAgMjAgMTQ3CQlEZWVwUGluawoyNTUgMTkyIDIwMwkJcGluawoyNTUgMTgyIDE5MwkJbGlnaHQgcGluawoyNTUgMTgyIDE5MwkJTGlnaHRQaW5rCjIxOSAxMTIgMTQ3CQlwYWxlIHZpb2xldCByZWQKMjE5IDExMiAxNDcJCVBhbGVWaW9sZXRSZWQKMTc2ICA0OCAgOTYJCW1hcm9vbgoxNzYgIDQ4ICA5NgkJeDExIG1hcm9vbgoxNzYgIDQ4ICA5NgkJWDExTWFyb29uCjEyOCAgIDAgICAwCQl3ZWIgbWFyb29uCjEyOCAgIDAgICAwCQlXZWJNYXJvb24KMTk5ICAyMSAxMzMJCW1lZGl1bSB2aW9sZXQgcmVkCjE5OSAgMjEgMTMzCQlNZWRpdW1WaW9sZXRSZWQKMjA4ICAzMiAxNDQJCXZpb2xldCByZWQKMjA4ICAzMiAxNDQJCVZpb2xldFJlZAoyNTUgICAwIDI1NQkJbWFnZW50YQoyNTUgICAwIDI1NQkJZnVjaHNpYQoyMzggMTMwIDIzOAkJdmlvbGV0CjIyMSAxNjAgMjIxCQlwbHVtCjIxOCAxMTIgMjE0CQlvcmNoaWQKMTg2ICA4NSAyMTEJCW1lZGl1bSBvcmNoaWQKMTg2ICA4NSAyMTEJCU1lZGl1bU9yY2hpZAoxNTMgIDUwIDIwNAkJZGFyayBvcmNoaWQKMTUzICA1MCAyMDQJCURhcmtPcmNoaWQKMTQ4ICAgMCAyMTEJCWRhcmsgdmlvbGV0CjE0OCAgIDAgMjExCQlEYXJrVmlvbGV0CjEzOCAgNDMgMjI2CQlibHVlIHZpb2xldAoxMzggIDQzIDIyNgkJQmx1ZVZpb2xldAoxNjAgIDMyIDI0MAkJcHVycGxlCjE2MCAgMzIgMjQwCQl4MTEgcHVycGxlCjE2MCAgMzIgMjQwCQlYMTFQdXJwbGUKMTI4ICAgMCAxMjgJCXdlYiBwdXJwbGUKMTI4ICAgMCAxMjgJCVdlYlB1cnBsZQoxNDcgMTEyIDIxOQkJbWVkaXVtIHB1cnBsZQoxNDcgMTEyIDIxOQkJTWVkaXVtUHVycGxlCjIxNiAxOTEgMjE2CQl0aGlzdGxlCjI1NSAyNTAgMjUwCQlzbm93MQoyMzggMjMzIDIzMwkJc25vdzIKMjA1IDIwMSAyMDEJCXNub3czCjEzOSAxMzcgMTM3CQlzbm93NAoyNTUgMjQ1IDIzOAkJc2Vhc2hlbGwxCjIzOCAyMjkgMjIyCQlzZWFzaGVsbDIKMjA1IDE5NyAxOTEJCXNlYXNoZWxsMwoxMzkgMTM0IDEzMAkJc2Vhc2hlbGw0CjI1NSAyMzkgMjE5CQlBbnRpcXVlV2hpdGUxCjIzOCAyMjMgMjA0CQlBbnRpcXVlV2hpdGUyCjIwNSAxOTIgMTc2CQlBbnRpcXVlV2hpdGUzCjEzOSAxMzEgMTIwCQlBbnRpcXVlV2hpdGU0CjI1NSAyMjggMTk2CQliaXNxdWUxCjIzOCAyMTMgMTgzCQliaXNxdWUyCjIwNSAxODMgMTU4CQliaXNxdWUzCjEzOSAxMjUgMTA3CQliaXNxdWU0CjI1NSAyMTggMTg1CQlQZWFjaFB1ZmYxCjIzOCAyMDMgMTczCQlQZWFjaFB1ZmYyCjIwNSAxNzUgMTQ5CQlQZWFjaFB1ZmYzCjEzOSAxMTkgMTAxCQlQZWFjaFB1ZmY0CjI1NSAyMjIgMTczCQlOYXZham9XaGl0ZTEKMjM4IDIwNyAxNjEJCU5hdmFqb1doaXRlMgoyMDUgMTc5IDEzOQkJTmF2YWpvV2hpdGUzCjEzOSAxMjEgIDk0CQlOYXZham9XaGl0ZTQKMjU1IDI1MCAyMDUJCUxlbW9uQ2hpZmZvbjEKMjM4IDIzMyAxOTEJCUxlbW9uQ2hpZmZvbjIKMjA1IDIwMSAxNjUJCUxlbW9uQ2hpZmZvbjMKMTM5IDEzNyAxMTIJCUxlbW9uQ2hpZmZvbjQKMjU1IDI0OCAyMjAJCWNvcm5zaWxrMQoyMzggMjMyIDIwNQkJY29ybnNpbGsyCjIwNSAyMDAgMTc3CQljb3Juc2lsazMKMTM5IDEzNiAxMjAJCWNvcm5zaWxrNAoyNTUgMjU1IDI0MAkJaXZvcnkxCjIzOCAyMzggMjI0CQlpdm9yeTIKMjA1IDIwNSAxOTMJCWl2b3J5MwoxMzkgMTM5IDEzMQkJaXZvcnk0CjI0MCAyNTUgMjQwCQlob25leWRldzEKMjI0IDIzOCAyMjQJCWhvbmV5ZGV3MgoxOTMgMjA1IDE5MwkJaG9uZXlkZXczCjEzMSAxMzkgMTMxCQlob25leWRldzQKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gxCjIzOCAyMjQgMjI5CQlMYXZlbmRlckJsdXNoMgoyMDUgMTkzIDE5NwkJTGF2ZW5kZXJCbHVzaDMKMTM5IDEzMSAxMzQJCUxhdmVuZGVyQmx1c2g0CjI1NSAyMjggMjI1CQlNaXN0eVJvc2UxCjIzOCAyMTMgMjEwCQlNaXN0eVJvc2UyCjIwNSAxODMgMTgxCQlNaXN0eVJvc2UzCjEzOSAxMjUgMTIzCQlNaXN0eVJvc2U0CjI0MCAyNTUgMjU1CQlhenVyZTEKMjI0IDIzOCAyMzgJCWF6dXJlMgoxOTMgMjA1IDIwNQkJYXp1cmUzCjEzMSAxMzkgMTM5CQlhenVyZTQKMTMxIDExMSAyNTUJCVNsYXRlQmx1ZTEKMTIyIDEwMyAyMzgJCVNsYXRlQmx1ZTIKMTA1ICA4OSAyMDUJCVNsYXRlQmx1ZTMKIDcxICA2MCAxMzkJCVNsYXRlQmx1ZTQKIDcyIDExOCAyNTUJCVJveWFsQmx1ZTEKIDY3IDExMCAyMzgJCVJveWFsQmx1ZTIKIDU4ICA5NSAyMDUJCVJveWFsQmx1ZTMKIDM5ICA2NCAxMzkJCVJveWFsQmx1ZTQKICAwICAgMCAyNTUJCWJsdWUxCiAgMCAgIDAgMjM4CQlibHVlMgogIDAgICAwIDIwNQkJYmx1ZTMKICAwICAgMCAxMzkJCWJsdWU0CiAzMCAxNDQgMjU1CQlEb2RnZXJCbHVlMQogMjggMTM0IDIzOAkJRG9kZ2VyQmx1ZTIKIDI0IDExNiAyMDUJCURvZGdlckJsdWUzCiAxNiAgNzggMTM5CQlEb2RnZXJCbHVlNAogOTkgMTg0IDI1NQkJU3RlZWxCbHVlMQogOTIgMTcyIDIzOAkJU3RlZWxCbHVlMgogNzkgMTQ4IDIwNQkJU3RlZWxCbHVlMwogNTQgMTAwIDEzOQkJU3RlZWxCbHVlNAogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUxCiAgMCAxNzggMjM4CQlEZWVwU2t5Qmx1ZTIKICAwIDE1NCAyMDUJCURlZXBTa3lCbHVlMwogIDAgMTA0IDEzOQkJRGVlcFNreUJsdWU0CjEzNSAyMDYgMjU1CQlTa3lCbHVlMQoxMjYgMTkyIDIzOAkJU2t5Qmx1ZTIKMTA4IDE2NiAyMDUJCVNreUJsdWUzCiA3NCAxMTIgMTM5CQlTa3lCbHVlNAoxNzYgMjI2IDI1NQkJTGlnaHRTa3lCbHVlMQoxNjQgMjExIDIzOAkJTGlnaHRTa3lCbHVlMgoxNDEgMTgyIDIwNQkJTGlnaHRTa3lCbHVlMwogOTYgMTIzIDEzOQkJTGlnaHRTa3lCbHVlNAoxOTggMjI2IDI1NQkJU2xhdGVHcmF5MQoxODUgMjExIDIzOAkJU2xhdGVHcmF5MgoxNTkgMTgyIDIwNQkJU2xhdGVHcmF5MwoxMDggMTIzIDEzOQkJU2xhdGVHcmF5NAoyMDIgMjI1IDI1NQkJTGlnaHRTdGVlbEJsdWUxCjE4OCAyMTAgMjM4CQlMaWdodFN0ZWVsQmx1ZTIKMTYyIDE4MSAyMDUJCUxpZ2h0U3RlZWxCbHVlMwoxMTAgMTIzIDEzOQkJTGlnaHRTdGVlbEJsdWU0CjE5MSAyMzkgMjU1CQlMaWdodEJsdWUxCjE3OCAyMjMgMjM4CQlMaWdodEJsdWUyCjE1NCAxOTIgMjA1CQlMaWdodEJsdWUzCjEwNCAxMzEgMTM5CQlMaWdodEJsdWU0CjIyNCAyNTUgMjU1CQlMaWdodEN5YW4xCjIwOSAyMzggMjM4CQlMaWdodEN5YW4yCjE4MCAyMDUgMjA1CQlMaWdodEN5YW4zCjEyMiAxMzkgMTM5CQlMaWdodEN5YW40CjE4NyAyNTUgMjU1CQlQYWxlVHVycXVvaXNlMQoxNzQgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZTIKMTUwIDIwNSAyMDUJCVBhbGVUdXJxdW9pc2UzCjEwMiAxMzkgMTM5CQlQYWxlVHVycXVvaXNlNAoxNTIgMjQ1IDI1NQkJQ2FkZXRCbHVlMQoxNDIgMjI5IDIzOAkJQ2FkZXRCbHVlMgoxMjIgMTk3IDIwNQkJQ2FkZXRCbHVlMwogODMgMTM0IDEzOQkJQ2FkZXRCbHVlNAogIDAgMjQ1IDI1NQkJdHVycXVvaXNlMQogIDAgMjI5IDIzOAkJdHVycXVvaXNlMgogIDAgMTk3IDIwNQkJdHVycXVvaXNlMwogIDAgMTM0IDEzOQkJdHVycXVvaXNlNAogIDAgMjU1IDI1NQkJY3lhbjEKICAwIDIzOCAyMzgJCWN5YW4yCiAgMCAyMDUgMjA1CQljeWFuMwogIDAgMTM5IDEzOQkJY3lhbjQKMTUxIDI1NSAyNTUJCURhcmtTbGF0ZUdyYXkxCjE0MSAyMzggMjM4CQlEYXJrU2xhdGVHcmF5MgoxMjEgMjA1IDIwNQkJRGFya1NsYXRlR3JheTMKIDgyIDEzOSAxMzkJCURhcmtTbGF0ZUdyYXk0CjEyNyAyNTUgMjEyCQlhcXVhbWFyaW5lMQoxMTggMjM4IDE5OAkJYXF1YW1hcmluZTIKMTAyIDIwNSAxNzAJCWFxdWFtYXJpbmUzCiA2OSAxMzkgMTE2CQlhcXVhbWFyaW5lNAoxOTMgMjU1IDE5MwkJRGFya1NlYUdyZWVuMQoxODAgMjM4IDE4MAkJRGFya1NlYUdyZWVuMgoxNTUgMjA1IDE1NQkJRGFya1NlYUdyZWVuMwoxMDUgMTM5IDEwNQkJRGFya1NlYUdyZWVuNAogODQgMjU1IDE1OQkJU2VhR3JlZW4xCiA3OCAyMzggMTQ4CQlTZWFHcmVlbjIKIDY3IDIwNSAxMjgJCVNlYUdyZWVuMwogNDYgMTM5ICA4NwkJU2VhR3JlZW40CjE1NCAyNTUgMTU0CQlQYWxlR3JlZW4xCjE0NCAyMzggMTQ0CQlQYWxlR3JlZW4yCjEyNCAyMDUgMTI0CQlQYWxlR3JlZW4zCiA4NCAxMzkgIDg0CQlQYWxlR3JlZW40CiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbjEKICAwIDIzOCAxMTgJCVNwcmluZ0dyZWVuMgogIDAgMjA1IDEwMgkJU3ByaW5nR3JlZW4zCiAgMCAxMzkgIDY5CQlTcHJpbmdHcmVlbjQKICAwIDI1NSAgIDAJCWdyZWVuMQogIDAgMjM4ICAgMAkJZ3JlZW4yCiAgMCAyMDUgICAwCQlncmVlbjMKICAwIDEzOSAgIDAJCWdyZWVuNAoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZTEKMTE4IDIzOCAgIDAJCWNoYXJ0cmV1c2UyCjEwMiAyMDUgICAwCQljaGFydHJldXNlMwogNjkgMTM5ICAgMAkJY2hhcnRyZXVzZTQKMTkyIDI1NSAgNjIJCU9saXZlRHJhYjEKMTc5IDIzOCAgNTgJCU9saXZlRHJhYjIKMTU0IDIwNSAgNTAJCU9saXZlRHJhYjMKMTA1IDEzOSAgMzQJCU9saXZlRHJhYjQKMjAyIDI1NSAxMTIJCURhcmtPbGl2ZUdyZWVuMQoxODggMjM4IDEwNAkJRGFya09saXZlR3JlZW4yCjE2MiAyMDUgIDkwCQlEYXJrT2xpdmVHcmVlbjMKMTEwIDEzOSAgNjEJCURhcmtPbGl2ZUdyZWVuNAoyNTUgMjQ2IDE0MwkJa2hha2kxCjIzOCAyMzAgMTMzCQlraGFraTIKMjA1IDE5OCAxMTUJCWtoYWtpMwoxMzkgMTM0ICA3OAkJa2hha2k0CjI1NSAyMzYgMTM5CQlMaWdodEdvbGRlbnJvZDEKMjM4IDIyMCAxMzAJCUxpZ2h0R29sZGVucm9kMgoyMDUgMTkwIDExMgkJTGlnaHRHb2xkZW5yb2QzCjEzOSAxMjkgIDc2CQlMaWdodEdvbGRlbnJvZDQKMjU1IDI1NSAyMjQJCUxpZ2h0WWVsbG93MQoyMzggMjM4IDIwOQkJTGlnaHRZZWxsb3cyCjIwNSAyMDUgMTgwCQlMaWdodFllbGxvdzMKMTM5IDEzOSAxMjIJCUxpZ2h0WWVsbG93NAoyNTUgMjU1ICAgMAkJeWVsbG93MQoyMzggMjM4ICAgMAkJeWVsbG93MgoyMDUgMjA1ICAgMAkJeWVsbG93MwoxMzkgMTM5ICAgMAkJeWVsbG93NAoyNTUgMjE1ICAgMAkJZ29sZDEKMjM4IDIwMSAgIDAJCWdvbGQyCjIwNSAxNzMgICAwCQlnb2xkMwoxMzkgMTE3ICAgMAkJZ29sZDQKMjU1IDE5MyAgMzcJCWdvbGRlbnJvZDEKMjM4IDE4MCAgMzQJCWdvbGRlbnJvZDIKMjA1IDE1NSAgMjkJCWdvbGRlbnJvZDMKMTM5IDEwNSAgMjAJCWdvbGRlbnJvZDQKMjU1IDE4NSAgMTUJCURhcmtHb2xkZW5yb2QxCjIzOCAxNzMgIDE0CQlEYXJrR29sZGVucm9kMgoyMDUgMTQ5ICAxMgkJRGFya0dvbGRlbnJvZDMKMTM5IDEwMSAgIDgJCURhcmtHb2xkZW5yb2Q0CjI1NSAxOTMgMTkzCQlSb3N5QnJvd24xCjIzOCAxODAgMTgwCQlSb3N5QnJvd24yCjIwNSAxNTUgMTU1CQlSb3N5QnJvd24zCjEzOSAxMDUgMTA1CQlSb3N5QnJvd240CjI1NSAxMDYgMTA2CQlJbmRpYW5SZWQxCjIzOCAgOTkgIDk5CQlJbmRpYW5SZWQyCjIwNSAgODUgIDg1CQlJbmRpYW5SZWQzCjEzOSAgNTggIDU4CQlJbmRpYW5SZWQ0CjI1NSAxMzAgIDcxCQlzaWVubmExCjIzOCAxMjEgIDY2CQlzaWVubmEyCjIwNSAxMDQgIDU3CQlzaWVubmEzCjEzOSAgNzEgIDM4CQlzaWVubmE0CjI1NSAyMTEgMTU1CQlidXJseXdvb2QxCjIzOCAxOTcgMTQ1CQlidXJseXdvb2QyCjIwNSAxNzAgMTI1CQlidXJseXdvb2QzCjEzOSAxMTUgIDg1CQlidXJseXdvb2Q0CjI1NSAyMzEgMTg2CQl3aGVhdDEKMjM4IDIxNiAxNzQJCXdoZWF0MgoyMDUgMTg2IDE1MAkJd2hlYXQzCjEzOSAxMjYgMTAyCQl3aGVhdDQKMjU1IDE2NSAgNzkJCXRhbjEKMjM4IDE1NCAgNzMJCXRhbjIKMjA1IDEzMyAgNjMJCXRhbjMKMTM5ICA5MCAgNDMJCXRhbjQKMjU1IDEyNyAgMzYJCWNob2NvbGF0ZTEKMjM4IDExOCAgMzMJCWNob2NvbGF0ZTIKMjA1IDEwMiAgMjkJCWNob2NvbGF0ZTMKMTM5ICA2OSAgMTkJCWNob2NvbGF0ZTQKMjU1ICA0OCAgNDgJCWZpcmVicmljazEKMjM4ICA0NCAgNDQJCWZpcmVicmljazIKMjA1ICAzOCAgMzgJCWZpcmVicmljazMKMTM5ICAyNiAgMjYJCWZpcmVicmljazQKMjU1ICA2NCAgNjQJCWJyb3duMQoyMzggIDU5ICA1OQkJYnJvd24yCjIwNSAgNTEgIDUxCQlicm93bjMKMTM5ICAzNSAgMzUJCWJyb3duNAoyNTUgMTQwIDEwNQkJc2FsbW9uMQoyMzggMTMwICA5OAkJc2FsbW9uMgoyMDUgMTEyICA4NAkJc2FsbW9uMwoxMzkgIDc2ICA1NwkJc2FsbW9uNAoyNTUgMTYwIDEyMgkJTGlnaHRTYWxtb24xCjIzOCAxNDkgMTE0CQlMaWdodFNhbG1vbjIKMjA1IDEyOSAgOTgJCUxpZ2h0U2FsbW9uMwoxMzkgIDg3ICA2NgkJTGlnaHRTYWxtb240CjI1NSAxNjUgICAwCQlvcmFuZ2UxCjIzOCAxNTQgICAwCQlvcmFuZ2UyCjIwNSAxMzMgICAwCQlvcmFuZ2UzCjEzOSAgOTAgICAwCQlvcmFuZ2U0CjI1NSAxMjcgICAwCQlEYXJrT3JhbmdlMQoyMzggMTE4ICAgMAkJRGFya09yYW5nZTIKMjA1IDEwMiAgIDAJCURhcmtPcmFuZ2UzCjEzOSAgNjkgICAwCQlEYXJrT3JhbmdlNAoyNTUgMTE0ICA4NgkJY29yYWwxCjIzOCAxMDYgIDgwCQljb3JhbDIKMjA1ICA5MSAgNjkJCWNvcmFsMwoxMzkgIDYyICA0NwkJY29yYWw0CjI1NSAgOTkgIDcxCQl0b21hdG8xCjIzOCAgOTIgIDY2CQl0b21hdG8yCjIwNSAgNzkgIDU3CQl0b21hdG8zCjEzOSAgNTQgIDM4CQl0b21hdG80CjI1NSAgNjkgICAwCQlPcmFuZ2VSZWQxCjIzOCAgNjQgICAwCQlPcmFuZ2VSZWQyCjIwNSAgNTUgICAwCQlPcmFuZ2VSZWQzCjEzOSAgMzcgICAwCQlPcmFuZ2VSZWQ0CjI1NSAgIDAgICAwCQlyZWQxCjIzOCAgIDAgICAwCQlyZWQyCjIwNSAgIDAgICAwCQlyZWQzCjEzOSAgIDAgICAwCQlyZWQ0CjI1NSAgMjAgMTQ3CQlEZWVwUGluazEKMjM4ICAxOCAxMzcJCURlZXBQaW5rMgoyMDUgIDE2IDExOAkJRGVlcFBpbmszCjEzOSAgMTAgIDgwCQlEZWVwUGluazQKMjU1IDExMCAxODAJCUhvdFBpbmsxCjIzOCAxMDYgMTY3CQlIb3RQaW5rMgoyMDUgIDk2IDE0NAkJSG90UGluazMKMTM5ICA1OCAgOTgJCUhvdFBpbms0CjI1NSAxODEgMTk3CQlwaW5rMQoyMzggMTY5IDE4NAkJcGluazIKMjA1IDE0NSAxNTgJCXBpbmszCjEzOSAgOTkgMTA4CQlwaW5rNAoyNTUgMTc0IDE4NQkJTGlnaHRQaW5rMQoyMzggMTYyIDE3MwkJTGlnaHRQaW5rMgoyMDUgMTQwIDE0OQkJTGlnaHRQaW5rMwoxMzkgIDk1IDEwMQkJTGlnaHRQaW5rNAoyNTUgMTMwIDE3MQkJUGFsZVZpb2xldFJlZDEKMjM4IDEyMSAxNTkJCVBhbGVWaW9sZXRSZWQyCjIwNSAxMDQgMTM3CQlQYWxlVmlvbGV0UmVkMwoxMzkgIDcxICA5MwkJUGFsZVZpb2xldFJlZDQKMjU1ICA1MiAxNzkJCW1hcm9vbjEKMjM4ICA0OCAxNjcJCW1hcm9vbjIKMjA1ICA0MSAxNDQJCW1hcm9vbjMKMTM5ICAyOCAgOTgJCW1hcm9vbjQKMjU1ICA2MiAxNTAJCVZpb2xldFJlZDEKMjM4ICA1OCAxNDAJCVZpb2xldFJlZDIKMjA1ICA1MCAxMjAJCVZpb2xldFJlZDMKMTM5ICAzNCAgODIJCVZpb2xldFJlZDQKMjU1ICAgMCAyNTUJCW1hZ2VudGExCjIzOCAgIDAgMjM4CQltYWdlbnRhMgoyMDUgICAwIDIwNQkJbWFnZW50YTMKMTM5ICAgMCAxMzkJCW1hZ2VudGE0CjI1NSAxMzEgMjUwCQlvcmNoaWQxCjIzOCAxMjIgMjMzCQlvcmNoaWQyCjIwNSAxMDUgMjAxCQlvcmNoaWQzCjEzOSAgNzEgMTM3CQlvcmNoaWQ0CjI1NSAxODcgMjU1CQlwbHVtMQoyMzggMTc0IDIzOAkJcGx1bTIKMjA1IDE1MCAyMDUJCXBsdW0zCjEzOSAxMDIgMTM5CQlwbHVtNAoyMjQgMTAyIDI1NQkJTWVkaXVtT3JjaGlkMQoyMDkgIDk1IDIzOAkJTWVkaXVtT3JjaGlkMgoxODAgIDgyIDIwNQkJTWVkaXVtT3JjaGlkMwoxMjIgIDU1IDEzOQkJTWVkaXVtT3JjaGlkNAoxOTEgIDYyIDI1NQkJRGFya09yY2hpZDEKMTc4ICA1OCAyMzgJCURhcmtPcmNoaWQyCjE1NCAgNTAgMjA1CQlEYXJrT3JjaGlkMwoxMDQgIDM0IDEzOQkJRGFya09yY2hpZDQKMTU1ICA0OCAyNTUJCXB1cnBsZTEKMTQ1ICA0NCAyMzgJCXB1cnBsZTIKMTI1ICAzOCAyMDUJCXB1cnBsZTMKIDg1ICAyNiAxMzkJCXB1cnBsZTQKMTcxIDEzMCAyNTUJCU1lZGl1bVB1cnBsZTEKMTU5IDEyMSAyMzgJCU1lZGl1bVB1cnBsZTIKMTM3IDEwNCAyMDUJCU1lZGl1bVB1cnBsZTMKIDkzICA3MSAxMzkJCU1lZGl1bVB1cnBsZTQKMjU1IDIyNSAyNTUJCXRoaXN0bGUxCjIzOCAyMTAgMjM4CQl0aGlzdGxlMgoyMDUgMTgxIDIwNQkJdGhpc3RsZTMKMTM5IDEyMyAxMzkJCXRoaXN0bGU0CiAgMCAgIDAgICAwCQlncmF5MAogIDAgICAwICAgMAkJZ3JleTAKICAzICAgMyAgIDMJCWdyYXkxCiAgMyAgIDMgICAzCQlncmV5MQogIDUgICA1ICAgNQkJZ3JheTIKICA1ICAgNSAgIDUJCWdyZXkyCiAgOCAgIDggICA4CQlncmF5MwogIDggICA4ICAgOAkJZ3JleTMKIDEwICAxMCAgMTAJCWdyYXk0CiAxMCAgMTAgIDEwCQlncmV5NAogMTMgIDEzICAxMwkJZ3JheTUKIDEzICAxMyAgMTMJCWdyZXk1CiAxNSAgMTUgIDE1CQlncmF5NgogMTUgIDE1ICAxNQkJZ3JleTYKIDE4ICAxOCAgMTgJCWdyYXk3CiAxOCAgMTggIDE4CQlncmV5NwogMjAgIDIwICAyMAkJZ3JheTgKIDIwICAyMCAgMjAJCWdyZXk4CiAyMyAgMjMgIDIzCQlncmF5OQogMjMgIDIzICAyMwkJZ3JleTkKIDI2ICAyNiAgMjYJCWdyYXkxMAogMjYgIDI2ICAyNgkJZ3JleTEwCiAyOCAgMjggIDI4CQlncmF5MTEKIDI4ICAyOCAgMjgJCWdyZXkxMQogMzEgIDMxICAzMQkJZ3JheTEyCiAzMSAgMzEgIDMxCQlncmV5MTIKIDMzICAzMyAgMzMJCWdyYXkxMwogMzMgIDMzICAzMwkJZ3JleTEzCiAzNiAgMzYgIDM2CQlncmF5MTQKIDM2ICAzNiAgMzYJCWdyZXkxNAogMzggIDM4ICAzOAkJZ3JheTE1CiAzOCAgMzggIDM4CQlncmV5MTUKIDQxICA0MSAgNDEJCWdyYXkxNgogNDEgIDQxICA0MQkJZ3JleTE2CiA0MyAgNDMgIDQzCQlncmF5MTcKIDQzICA0MyAgNDMJCWdyZXkxNwogNDYgIDQ2ICA0NgkJZ3JheTE4CiA0NiAgNDYgIDQ2CQlncmV5MTgKIDQ4ICA0OCAgNDgJCWdyYXkxOQogNDggIDQ4ICA0OAkJZ3JleTE5CiA1MSAgNTEgIDUxCQlncmF5MjAKIDUxICA1MSAgNTEJCWdyZXkyMAogNTQgIDU0ICA1NAkJZ3JheTIxCiA1NCAgNTQgIDU0CQlncmV5MjEKIDU2ICA1NiAgNTYJCWdyYXkyMgogNTYgIDU2ICA1NgkJZ3JleTIyCiA1OSAgNTkgIDU5CQlncmF5MjMKIDU5ICA1OSAgNTkJCWdyZXkyMwogNjEgIDYxICA2MQkJZ3JheTI0CiA2MSAgNjEgIDYxCQlncmV5MjQKIDY0ICA2NCAgNjQJCWdyYXkyNQogNjQgIDY0ICA2NAkJZ3JleTI1CiA2NiAgNjYgIDY2CQlncmF5MjYKIDY2ICA2NiAgNjYJCWdyZXkyNgogNjkgIDY5ICA2OQkJZ3JheTI3CiA2OSAgNjkgIDY5CQlncmV5MjcKIDcxICA3MSAgNzEJCWdyYXkyOAogNzEgIDcxICA3MQkJZ3JleTI4CiA3NCAgNzQgIDc0CQlncmF5MjkKIDc0ICA3NCAgNzQJCWdyZXkyOQogNzcgIDc3ICA3NwkJZ3JheTMwCiA3NyAgNzcgIDc3CQlncmV5MzAKIDc5ICA3OSAgNzkJCWdyYXkzMQogNzkgIDc5ICA3OQkJZ3JleTMxCiA4MiAgODIgIDgyCQlncmF5MzIKIDgyICA4MiAgODIJCWdyZXkzMgogODQgIDg0ICA4NAkJZ3JheTMzCiA4NCAgODQgIDg0CQlncmV5MzMKIDg3ICA4NyAgODcJCWdyYXkzNAogODcgIDg3ICA4NwkJZ3JleTM0CiA4OSAgODkgIDg5CQlncmF5MzUKIDg5ICA4OSAgODkJCWdyZXkzNQogOTIgIDkyICA5MgkJZ3JheTM2CiA5MiAgOTIgIDkyCQlncmV5MzYKIDk0ICA5NCAgOTQJCWdyYXkzNwogOTQgIDk0ICA5NAkJZ3JleTM3CiA5NyAgOTcgIDk3CQlncmF5MzgKIDk3ICA5NyAgOTcJCWdyZXkzOAogOTkgIDk5ICA5OQkJZ3JheTM5CiA5OSAgOTkgIDk5CQlncmV5MzkKMTAyIDEwMiAxMDIJCWdyYXk0MAoxMDIgMTAyIDEwMgkJZ3JleTQwCjEwNSAxMDUgMTA1CQlncmF5NDEKMTA1IDEwNSAxMDUJCWdyZXk0MQoxMDcgMTA3IDEwNwkJZ3JheTQyCjEwNyAxMDcgMTA3CQlncmV5NDIKMTEwIDExMCAxMTAJCWdyYXk0MwoxMTAgMTEwIDExMAkJZ3JleTQzCjExMiAxMTIgMTEyCQlncmF5NDQKMTEyIDExMiAxMTIJCWdyZXk0NAoxMTUgMTE1IDExNQkJZ3JheTQ1CjExNSAxMTUgMTE1CQlncmV5NDUKMTE3IDExNyAxMTcJCWdyYXk0NgoxMTcgMTE3IDExNwkJZ3JleTQ2CjEyMCAxMjAgMTIwCQlncmF5NDcKMTIwIDEyMCAxMjAJCWdyZXk0NwoxMjIgMTIyIDEyMgkJZ3JheTQ4CjEyMiAxMjIgMTIyCQlncmV5NDgKMTI1IDEyNSAxMjUJCWdyYXk0OQoxMjUgMTI1IDEyNQkJZ3JleTQ5CjEyNyAxMjcgMTI3CQlncmF5NTAKMTI3IDEyNyAxMjcJCWdyZXk1MAoxMzAgMTMwIDEzMAkJZ3JheTUxCjEzMCAxMzAgMTMwCQlncmV5NTEKMTMzIDEzMyAxMzMJCWdyYXk1MgoxMzMgMTMzIDEzMwkJZ3JleTUyCjEzNSAxMzUgMTM1CQlncmF5NTMKMTM1IDEzNSAxMzUJCWdyZXk1MwoxMzggMTM4IDEzOAkJZ3JheTU0CjEzOCAxMzggMTM4CQlncmV5NTQKMTQwIDE0MCAxNDAJCWdyYXk1NQoxNDAgMTQwIDE0MAkJZ3JleTU1CjE0MyAxNDMgMTQzCQlncmF5NTYKMTQzIDE0MyAxNDMJCWdyZXk1NgoxNDUgMTQ1IDE0NQkJZ3JheTU3CjE0NSAxNDUgMTQ1CQlncmV5NTcKMTQ4IDE0OCAxNDgJCWdyYXk1OAoxNDggMTQ4IDE0OAkJZ3JleTU4CjE1MCAxNTAgMTUwCQlncmF5NTkKMTUwIDE1MCAxNTAJCWdyZXk1OQoxNTMgMTUzIDE1MwkJZ3JheTYwCjE1MyAxNTMgMTUzCQlncmV5NjAKMTU2IDE1NiAxNTYJCWdyYXk2MQoxNTYgMTU2IDE1NgkJZ3JleTYxCjE1OCAxNTggMTU4CQlncmF5NjIKMTU4IDE1OCAxNTgJCWdyZXk2MgoxNjEgMTYxIDE2MQkJZ3JheTYzCjE2MSAxNjEgMTYxCQlncmV5NjMKMTYzIDE2MyAxNjMJCWdyYXk2NAoxNjMgMTYzIDE2MwkJZ3JleTY0CjE2NiAxNjYgMTY2CQlncmF5NjUKMTY2IDE2NiAxNjYJCWdyZXk2NQoxNjggMTY4IDE2OAkJZ3JheTY2CjE2OCAxNjggMTY4CQlncmV5NjYKMTcxIDE3MSAxNzEJCWdyYXk2NwoxNzEgMTcxIDE3MQkJZ3JleTY3CjE3MyAxNzMgMTczCQlncmF5NjgKMTczIDE3MyAxNzMJCWdyZXk2OAoxNzYgMTc2IDE3NgkJZ3JheTY5CjE3NiAxNzYgMTc2CQlncmV5NjkKMTc5IDE3OSAxNzkJCWdyYXk3MAoxNzkgMTc5IDE3OQkJZ3JleTcwCjE4MSAxODEgMTgxCQlncmF5NzEKMTgxIDE4MSAxODEJCWdyZXk3MQoxODQgMTg0IDE4NAkJZ3JheTcyCjE4NCAxODQgMTg0CQlncmV5NzIKMTg2IDE4NiAxODYJCWdyYXk3MwoxODYgMTg2IDE4NgkJZ3JleTczCjE4OSAxODkgMTg5CQlncmF5NzQKMTg5IDE4OSAxODkJCWdyZXk3NAoxOTEgMTkxIDE5MQkJZ3JheTc1CjE5MSAxOTEgMTkxCQlncmV5NzUKMTk0IDE5NCAxOTQJCWdyYXk3NgoxOTQgMTk0IDE5NAkJZ3JleTc2CjE5NiAxOTYgMTk2CQlncmF5NzcKMTk2IDE5NiAxOTYJCWdyZXk3NwoxOTkgMTk5IDE5OQkJZ3JheTc4CjE5OSAxOTkgMTk5CQlncmV5NzgKMjAxIDIwMSAyMDEJCWdyYXk3OQoyMDEgMjAxIDIwMQkJZ3JleTc5CjIwNCAyMDQgMjA0CQlncmF5ODAKMjA0IDIwNCAyMDQJCWdyZXk4MAoyMDcgMjA3IDIwNwkJZ3JheTgxCjIwNyAyMDcgMjA3CQlncmV5ODEKMjA5IDIwOSAyMDkJCWdyYXk4MgoyMDkgMjA5IDIwOQkJZ3JleTgyCjIxMiAyMTIgMjEyCQlncmF5ODMKMjEyIDIxMiAyMTIJCWdyZXk4MwoyMTQgMjE0IDIxNAkJZ3JheTg0CjIxNCAyMTQgMjE0CQlncmV5ODQKMjE3IDIxNyAyMTcJCWdyYXk4NQoyMTcgMjE3IDIxNwkJZ3JleTg1CjIxOSAyMTkgMjE5CQlncmF5ODYKMjE5IDIxOSAyMTkJCWdyZXk4NgoyMjIgMjIyIDIyMgkJZ3JheTg3CjIyMiAyMjIgMjIyCQlncmV5ODcKMjI0IDIyNCAyMjQJCWdyYXk4OAoyMjQgMjI0IDIyNAkJZ3JleTg4CjIyNyAyMjcgMjI3CQlncmF5ODkKMjI3IDIyNyAyMjcJCWdyZXk4OQoyMjkgMjI5IDIyOQkJZ3JheTkwCjIyOSAyMjkgMjI5CQlncmV5OTAKMjMyIDIzMiAyMzIJCWdyYXk5MQoyMzIgMjMyIDIzMgkJZ3JleTkxCjIzNSAyMzUgMjM1CQlncmF5OTIKMjM1IDIzNSAyMzUJCWdyZXk5MgoyMzcgMjM3IDIzNwkJZ3JheTkzCjIzNyAyMzcgMjM3CQlncmV5OTMKMjQwIDI0MCAyNDAJCWdyYXk5NAoyNDAgMjQwIDI0MAkJZ3JleTk0CjI0MiAyNDIgMjQyCQlncmF5OTUKMjQyIDI0MiAyNDIJCWdyZXk5NQoyNDUgMjQ1IDI0NQkJZ3JheTk2CjI0NSAyNDUgMjQ1CQlncmV5OTYKMjQ3IDI0NyAyNDcJCWdyYXk5NwoyNDcgMjQ3IDI0NwkJZ3JleTk3CjI1MCAyNTAgMjUwCQlncmF5OTgKMjUwIDI1MCAyNTAJCWdyZXk5OAoyNTIgMjUyIDI1MgkJZ3JheTk5CjI1MiAyNTIgMjUyCQlncmV5OTkKMjU1IDI1NSAyNTUJCWdyYXkxMDAKMjU1IDI1NSAyNTUJCWdyZXkxMDAKMTY5IDE2OSAxNjkJCWRhcmsgZ3JleQoxNjkgMTY5IDE2OQkJRGFya0dyZXkKMTY5IDE2OSAxNjkJCWRhcmsgZ3JheQoxNjkgMTY5IDE2OQkJRGFya0dy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AAD/rwAA/9cAAP//AF8AAABfAF8AXwCHAF8ArwBfANcAXwD/AF9fAABfX18AX1+HAF9frwBfX9cAX1//AF+HAABfh18AX4eHAF+HrwBfh9cAX4f/AF+vAABfr18AX6+HAF+vrwBfr9cAX6//AF/XAABf118AX9eHAF/XrwBf19cAX9f/AF//AABf/18AX/+HAF//rwBf/9cAX///AIcAAACHAF8AhwCHAIcArwCHANcAhwD/AIdfAACHX18Ah1+HAIdfrwCHX9cAh1//AIeHAACHh18Ah4eHAIeHrwCHh9cAh4f/AIevAACHr18Ah6+HAIevrwCHr9cAh6//AIfXAACH118Ah9eHAIfXrwCH19cAh9f/AIf/AACH/18Ah/+HAIf/rwCH/9cAh///AK8AAACvAF8ArwCHAK8ArwCvANcArwD/AK9fAACvX18Ar1+HAK9frwCvX9cAr1//AK+HAACvh18Ar4eHAK+HrwCvh9cAr4f/AK+vAACvr18Ar6+HAK+vrwCvr9cAr6//AK/XAACv118Ar9eHAK/XrwCv19cAr9f/AK//AACv/18Ar/+HAK//rwCv/9cAr///ANcAAADXAF8A1wCHANcArwDXANcA1wD/ANdfAADXX18A11+HANdfrwDXX9cA11//ANeHAADXh18A14eHANeHrwDXh9cA14f/ANevAADXr18A16+HANevrwDXr9cA16//ANfXAADX118A19eHANfXrwDX19cA19f/ANf/AADX/18A1/+HANf/rwDX/9cA1///AP8AAAD/AF8A/wCHAP8ArwD/ANcA/wD/AP9fAAD/X18A/1+HAP9frwD/X9cA/1//AP+HAAD/h18A/4eHAP+HrwD/h9cA/4f/AP+vAAD/r18A/6+HAP+vrwD/r9cA/6//AP/XAAD/118A/9eHAP/XrwD/19cA/9f/AP//AAD//18A//+HAP//rwD//9cA////AAgICAASEhIAHBwcACYmJgAwMDAAOjo6AERERABOTk4AWFhYAGJiYgBsbGwAdnZ2AICAgACKiooAlJSUAJ6engCoqKgAsrKyALy8vADGxsYA0NDQANra2gDk5OQA7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAEAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAABABEAAQABAAEAEgATABQAFQAWABcAGAABAAEAGQAaAAEAGwAcAB0AHgAfAAEAIAABACEAIgAjACQAJQAmACcAKAApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKgABACsAAQAsAC0ALgAvADAAMQAyADMANAA1ADYAMAAxADIAMwA0ADUANgAwADEAMgAzADQANQA2ADAAMQAyADMANAA1ADYAMAAxADIAMwA0ADUANgAwADEAMgAzADQANQA2ADAANwA4ADgAOAA4ADgAOAA4ADgAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQApACkAOQABAAEAOgA7AAEAPAA9AD4AAQABAAEAAQABAAEAPwABAAEAQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAAEATgBPAFAAUQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAUgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAUwABAAEAAQABAAEAAQABAAEAVABVAAEAVgABAFcAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApAFgAKQApACkAKQBZAFoAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAWwApAFwAXQABAAEAAQABAAEAAQABAAEAAQBeAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAF8AAQBgAGEAYgABAAEAAQABAAEAAQBjAAEAAQABAAEAAQBkAFUAZQABAGYAZwABAAEAaABpAAEAAQABAAEAAQABAGoAawBsAG0AbgBvAHAAcQByAHMAdAABAHUAdQB1AHYAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAdwApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQB3AAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAeAB5ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAgABAAEAAQABAAEAAQACAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQAEAAEABAAEAAEABAAEAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABQAFAAUABQAFAAUAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQAAQAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAUAAQAEAAQABAAEAAQABAABAAEABAAEAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAFAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAQABAAEAAQABAAEAAQABAAEAAEABAAEAAQAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAUABQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABAABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABgAGAAQABgAGAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAHAAYABgAEAAQABAAEAAEAAQAGAAYAAQABAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAcAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAQABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEABgAGAAYABAAEAAEAAQABAAEABAAEAAEAAQAEAAQABAABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAYABgAGAAQABAAEAAQABAABAAQABAAGAAEABgAGAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAHAAQABgAEAAQABAAEAAEAAQAGAAYAAQABAAYABgAEAAEAAQABAAEAAQABAAEABAAEAAcAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAGAAQABgAGAAEAAQABAAYABgAGAAEABgAGAAYABAABAAEAAQABAAEAAQABAAEAAQAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAQABAAEAAYABgAGAAYAAQAEAAQABAABAAQABAAEAAQAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABwAGAAcABgAGAAEABAAHAAcAAQAHAAcABAAEAAEAAQABAAEAAQABAAEABwAHAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEABwAGAAYABAAEAAQABAABAAYABgAGAAEABgAGAAYABAAFAAEAAQABAAEAAQABAAEAAQAHAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQAHAAYABgAEAAQABAABAAQAAQAGAAYABgAGAAYABgAGAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAYABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAEAAEABAABAAEAAQABAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAGAAQABAAEAAQABAABAAQABAABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAYABAAEAAQABAAEAAQAAQAEAAQABgAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAQABAABAAEAAQABAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABAABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgAEAAQABAAEAAQABAAEAAYABgAGAAYABgAGAAYABgAEAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAAAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAYABgAGAAYABAAEAAYABgAGAAEAAQABAAEABgAGAAQABgAGAAYABgAGAAYABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABAAGAAQABAAEAAQABAAEAAQAAQAEAAEABAABAAEABAAEAAQABAAEAAQABAAEAAYABgAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAHAAQABAAEAAQABAAHAAQABwAGAAYABgAGAAQABwAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAQABAAEAAQABgAGAAQABAAHAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABAAEAAYABgAGAAQABgAEAAQABAAHAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABgAGAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgAEAAQABAAEAAQABAAEAAEAAQABAAEABAABAAEAAQABAAEAAQAEAAEAAQAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAQADAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAwADAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQANAA0ADQADAAMAAwANAAMAAwANAAEAAQABAAEAAwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwANAA0AAQADAAMAAwADAAMADwABAA8ADwAPAA8ADwAPAA8AAwAPAA8AAwAPAAEADQANAA8ADwADAA8ADwAPAA8AEAAPAA8AAwAPAAMAAwAPAA8AAwAPAA8ADwADAA8ADwAPAAMAAwARABEAEQARABEAEQARABEAAwADAAMADwAPAA8ADwAPAAMADwADAA8ADwAPAA8ADwANAA0ADQANAA0ADQANAA0ADQANAA0ADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwADAA8ADwADAA8AAwADAA8AAwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwADAA8ADwADAA0ADwAPAA8ADwAPAA8AAQABAAEAAQAOAA4ADgAOAA4ADgAPAA8AAwANAAMAAwADAAMADwADAA8AAwADAA8ADwAPAAMADQAPAA8ADwAPAA8AAwAPAA8ADQANAA8ADwAPAA8AAwADAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwANAA0ADwAPAA8ADwAPAA0ADQAPAA8AAwAPAA8ADwAPAA8ADQADAA8AAwAPAAMADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwANAA8ADwAPAA8ADwADAAMADQANAAMADQAPAAMAAwAQAA0ADwAPAA0ADwAPAA8ADwADAA8ADwANAAEAAQADAAMAEgASABAAEAAPAAMADwAPAAMAAQADAAEAAwABAAEAAQABAAEAAQADAAEAAQABAAMAAQABAAEAAQABAAEADQABAAEAAQABAAEAAQABAAEAAQABAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQADAAEAAQABAAEADQABAA0AAQABAAEAAQANAA0ADQABAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0ADQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQABAAEAAQABAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ABAAEAAQABAATABMADQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgANAA4AAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEABAAEAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA0ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEABAABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAQABgABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAYABwABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAQABAAEABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYABAAEAAQABAAGAAYABAAEAAYABgAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAGAAYABAAEAAYABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEABAAEAAQAAQABAAQABAABAAEAAQABAAEABAAEAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAEAAQABgAGAAEAAQABAAEAAQAGAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAYABgAEAAYABgABAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAQABAAEAAQALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABwAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAEABAAEAAEAAQABAAEAAQAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAYABgAEAAQABAAEAAYABgAEAAQAAQABAAUAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEABQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAYABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAYABwABAAUABQABAAEAAQABAAEABAAEAAQABAABAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABAAEAAQABgAGAAQABwAEAAQAAQABAAEAAQABAAEABAABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAGAAYABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQAHAAYABAAGAAYABgAGAAEAAQAGAAYAAQABAAYABgAHAAEAAQABAAEAAQABAAEAAQABAAcAAQABAAEAAQABAAEAAQABAAEAAQAGAAYAAQABAAQABAAEAAQABAAEAAQAAQABAAEABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAGAAYABAAEAAQABAAEAAQAAQAHAAEAAQAHAAEABwAHAAcABgABAAYABgAEAAcABAAFAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAEAAQABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAQABAAEAAQABAAEAAYABAAGAAYABwAGAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAQABAAEAAQAAQABAAYABgAGAAYABAAEAAYABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAEAAYABgAEAAQABAAEAAQABAAHAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAEAAEAAQAEAAQABAAEAAYABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABAAEAAQABAAEAAQABAAEAAQABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAYABgAGAAEABgAGAAEAAQAEAAQABwAEAAUABgAFAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAYABgAEAAQABAAEAAEAAQAEAAQABgAGAAYABgAEAAEAAQABAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABgAFAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABgAGAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAEAAQABAAEAAQABAAEAAEABAAEAAQABAAEAAQABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAYABAAEAAQABAAEAAQABAAGAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQAAQABAAEABAABAAQABAABAAQABAAEAAQABAAEAAQABQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAYABgABAAQABAABAAYABgAEAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAYABgABAAEAAQABAAEAAQABAAEAAQAEAAQABQAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAQABAAEAAQAAQABAAEABgAGAAQABwAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgAGAAYABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACgABAAEAAQAKAAoACgAKAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQATABMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAAEADgAOAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAAEAAQAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAHAAQABAAEAAEAAQABAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQAAQABAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAQABAAEAAQABAAEAAQAAQAEAAQAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADwAPAA8ADwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQARAAEAAQARABEAEQARABEAEQARABEAEQARAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAOABEADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA4AEQARABEAEQARAA0AEQARABEADgAPAA8ADwAPAA4ADgAOAA4ADgAOAA4ADgAOAA8ADwAPAA8ADwAPAA8AEQARAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwARABEAEQARABEAEQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEADQANAA0AEQARABEAEQARAA0AEQARABEAEQARABEADQARABEAEQARAAMADwAPAAMAAwADAAMAAwADAAMAAwADABEAEQARABEAEQARABEAEQARAAMAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQADABEAEQARABEAEQARABEAFwARABEAEQARABEAEQARABEAEQARABEAEQARAA0ADwAPAAMAAwAPAAMAAwADAA8ADwADAAMAEQARABEAEQARABEAEQANABEAEQARABEADQANAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQASABcAEgARAA0AFwARABEAEgAQABAAAwADABEAEQARABEAEQADAAMAAwADAAMAAwADAAMAAwADAAMAAwANABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEADwAPAAMAEQADAA8AAwARABEAEQAYABgAGAAYABgAEQARABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEADQARABEAEQARABEAEQARABEAEQANABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAAwARAAMAEgAXABEAEQASABIAEgASABcAFwAXABIAEgAXABcAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAFwASABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwARABEAEQAXAA0AEQARABEAFwAXABcAEQAXABcAFwARABEAEQARABEAEQARABcAEQAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQANABEAEQARABEAEQARABcAEQARABEAEQARAA0AEQARAA0AEQARABEAEQARABEAEQANABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQANABEAEQARABEADQANAA0AEQARABEADQANAA0ADQARABEAEQARABEAEQARABEAEQANABEADQANAA0AEQADAA8AEQARABEAEQARABEAEQARABEADQARABEAEQARAA0AEQARABEAEQANAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAAQABAAEAAQABAAEAAQABAA8ADwAPAAMAAwARABEAEQARAA8ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADwAPAA8ADwAPAA8ADwADAAMADwAPAAMAEAAQAAMAAwADAAMAFwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwADAA8ADwADAAMAAwADAA8ADwAQAA8ADwAPAA8AFwAXAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AEQADAA8ADwADAA8ADwAPAA8ADwAPAA8ADwADAAMADwAPAA8ADwAPAA8ADwAPAA8AAwAPAA8ADwAPAA8AAwADAAMADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwADAAMADwAPAA8ADwAPAA8ADwAPAAMAAwADAA8ADwADAA8AAwAPAA8ADwAPAAMADwAPAA8ADwAPAA8AAwAPAA8ADwADAA8ADwAPAA8ADwAPAAMAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEADQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABcAFwAXABEAEQARABcAFwAXABcAFwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQARABEAEQARABEAEQARAA0AEQARABEAEQARAA0AEQARABEADQARABEADQARABEAEQANABEAEQARABEAEQARABEAEQARABEAFwARABEAEQARABEAEQARABEAEQANABEAEQARABEADQARABcAFwAXABEAEQANAA0AEQANABEAEQARABcAEQARABEAEQARAA8ADwAPAA8ADwADABcAAwADAAMAEQARABEADwAPABEAEQARAA8ADwAPAA8AEQARABEAEQADAAMAAwADAAMAAwAPAA8ADwADAA8AEQARAA8ADwAPAAMADwAPAAMAEQARABEAEQARABEAEQARABEADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwAPAA8AEQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABABcAEQARABcAEQARABEAEQARABEAEQARABcAFwAXABcAFwAXABcAFwARABEAEQARABEAEQAXABEAEQARABEAEQARABEAEQARABcAFwAXABcAFwAXABcAFwAXABcAEQABABcAFwAXABEAEQARABEAEQARABEAAQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABEAFwAXABEAFwARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAEQAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwARABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwAPABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAEQAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwARABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPAA8AFwAXABcAFwAXABcAFwAXABcADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBbRwZJR0GBAgMIG4CLXEuch4SFioyNgAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAowAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAMYlkiUJJAwkDSQKJLAAsQAkJAskGCUQJQwlFCU8JbojuyMAJbwjvSMcJSQlNCUsJQIlZCJlIsADYCKjALcAfwCAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAChAKIAowCkAKUApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8AAAAAAAAAAgAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAABAAAAAgAAAAAAAAABAAAAAwAAAAAAAABCAAADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEAAA0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYGAAYABQUGAQsACwALAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUEBgAGAAYBCAQLAAsACggLAAwJDQoAAgAGAAYFBAYABgAGAQgECwALAAoICwAMCQ0KAAIABgAGBQQGAAYABgEIBAsACwAKCAsADAkNCgACAAYABgUEBgAGAAYBCAQLAAsACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIHAAAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAg0AAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgMAAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACDAAABgAHAAcABwAACgAKAAoACggLAAwJDQoAAg0AAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAINAAAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgEBAgEDAQQBBQEGAQcBCAEJAQoBCwAMCQ0KAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwcABwAHAAcABwAHAAcABwAHAAcABwAHAAwJBwAAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADDQANAA0ADQANAA0ADQANAA0ADQANAA0ADAkNAAADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAwADAAMAAwADAAMAAwADAAMAAwADAAMADAkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJAAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMCQwADQANAA0ADQANAA0ADQANAA0ADQANAA0ADAkNAA0ADQANAA0ADQANAA0ADQANAA0ADQANAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAEAAAAAAQEBAAAAAAAAAAABAAAAAQAAAAEAAAACAAAAAQAAAAAAAAAAAAAAAAECAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQkJCQkJCQkJCQkJCQkJCQkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgMDAwMDAwMDAwMDAwQDAwsGBgYFCAgICAgICAgICAgADBgkPGBUDAwMMEgMDAwMDAwMDAwMDAwMAAwMDAwMAAwADAwMGAwMDAwMGAwYDAwMDAwMDAwMGAwMDAwMGAwMDAwMDAwYDAwMDAwMDAwMJAwkDAwMJAwMDAwMJAwkDAwMJAwMDAwMDAwMDAwAAP3/AAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAHR8hAMxmZgC1vWgA8MZ0AIGivgCylLsAir63AMXIxgBmZmYA1U5TALnKSgDnxUcAeqbaAMOX2ABwwLEA6urqAAAAAAAAAF8AAACHAAAArwAAANcAAAD/AABfAAAAX18AAF+HAABfrwAAX9cAAF//AACHAAAAh18AAIeHAACHrwAAh9cAAIf/AACvAAAAr18AAK+HAACvrwAAr9cAAK//AADXAAAA118AANeHAADXrwAA19cAANf/AAD/AAAA/18AAP+HAAD/rwAA/9cAAP//AF8AAABfAF8AXwCHAF8ArwBfANcAXwD/AF9fAABfX18AX1+HAF9frwBfX9cAX1//AF+HAABfh18AX4eHAF+HrwBfh9cAX4f/AF+vAABfr18AX6+HAF+vrwBfr9cAX6//AF/XAABf118AX9eHAF/XrwBf19cAX9f/AF//AABf/18AX/+HAF//rwBf/9cAX///AIcAAACHAF8AhwCHAIcArwCHANcAhwD/AIdfAACHX18Ah1+HAIdfrwCHX9cAh1//AIeHAACHh18Ah4eHAIeHrwCHh9cAh4f/AIevAACHr18Ah6+HAIevrwCHr9cAh6//AIfXAACH118Ah9eHAIfXrwCH19cAh9f/AIf/AACH/18Ah/+HAIf/rwCH/9cAh///AK8AAACvAF8ArwCHAK8ArwCvANcArwD/AK9fAACvX18Ar1+HAK9frwCvX9cAr1//AK+HAACvh18Ar4eHAK+HrwCvh9cAr4f/AK+vAACvr18Ar6+HAK+vrwCvr9cAr6//AK/XAACv118Ar9eHAK/XrwCv19cAr9f/AK//AACv/18Ar/+HAK//rwCv/9cAr///ANcAAADXAF8A1wCHANcArwDXANcA1wD/ANdfAADXX18A11+HANdfrwDXX9cA11//ANeHAADXh18A14eHANeHrwDXh9cA14f/ANevAADXr18A16+HANevrwDXr9cA16//ANfXAADX118A19eHANfXrwDX19cA19f/ANf/AADX/18A1/+HANf/rwDX/9cA1///AP8AAAD/AF8A/wCHAP8ArwD/ANcA/wD/AP9fAAD/X18A/1+HAP9frwD/X9cA/1//AP+HAAD/h18A/4eHAP+HrwD/h9cA/4f/AP+vAAD/r18A/6+HAP+vrwD/r9cA/6//AP/XAAD/118A/9eHAP/XrwD/19cA/9f/AP//AAD//18A//+HAP//rwD//9cA////AAgICAASEhIAHBwcACYmJgAwMDAAOjo6AERERABOTk4AWFhYAGJiYgBsbGwAdnZ2AICAgACKiooAlJSUAJ6engCoqKgAsrKyALy8vADGxsYA0NDQANra2gDk5OQA7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAGAAAABwAAAAgAAAAJAAAABgAAAAoAAAALAAAAqqqqqgAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcAAgQGAAIEBgEDBQcAAgQGAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwACBAYAAgQGAAIEBgACBAYAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYCAgYGAgIGBgACBAYAAAAAAAAAAAACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAgIGBgICBgYAAgQGAAAAAAAAAAAAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgICBgYCAgYGAAIEBgAAAAAAAAAAAQMFBwEDBQcBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwQGAQMDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcBAwUHAQMFBwEDBQcBAwUHAQMFBwACBAYBAwUHAQAFBAEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEABQQBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwEDBQcBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAgIGBgEDBQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBAQAAQAAACGDRAABAAAABITEAAEAAAAgQwQAAQAAADyCRAABAAAAHkVEAAEAAAAsRgQAAQAAAAFGBAABAAA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AAIAAADfChAABAAAAAYAAQACAAAA2goQAAQAAAAHAAEAAgAAANUKEAAEAAAACAABAAIAAAAhCxAABQAAAAkAAQACAAAAGwsQAAUAAAAMAAEAAgAAABULEAAFAAAADQABAAIAAAAKCxAABQAAAAoAAQACAAAA/woQAAUAAAALAAEAAgAAAPQKEAAFAAAADgABAAIAAADpChAABQAAAA8AAQACAAAAUAoQAAMAAAAAAAAAAgAAAI8KEAAEAAAAAQABAAIAAACEChAABAAAAAQAAQACAAAAeQoQAAQAAAAFAAEAAgAAAG4KEAAEAAAAAgABAAIAAABjChAABAAAAAMAAQACAAAAXgoQAAQAAAAGAAEAAgAAAFkKEAAEAAAABwABAAIAAABUChAABAAAAAgAAQACAAAAoAoQAAUAAAAJAAEAAgAAAJoKEAAFAAAADAABAAIAAACUChAABQAAAA0AAQACAAAAiQoQAAUAAAAKAAEAAgAAAH4KEAAFAAAACwABAAIAAABzChAABQAAAA4AAQACAAAAaAoQAAUAAAAPAAEAAgAAAF4TEAADAAAAAAAAAAIAAACdExAABAAAAAEAAQACAAAAkhMQAAQAAAAEAAEAAgAAAIcTEAAEAAAABQABAAIAAAB8ExAABAAAAAIAAQACAAAAcRMQAAQAAAADAAEAAgAAAGwTEAAEAAAABgABAAIAAABnExAABAAAAAcAAQACAAAAYhMQAAQAAAAIAAEAAgAAAK4TEAAFAAAACQABAAIAAACoExAABQAAAAwAAQACAAAAohMQAAUAAAANAAEAAgAAAJcTEAAFAAAACgABAAIAAACMExAABQAAAAsAAQACAAAAgRMQAAUAAAAOAAEAAgAAAHYTEAAFAAAADwABAAIAAAAeEhAAAwAAAAAAAAACAAAAXRIQAAQAAAABAAEAAgAAAFISEAAEAAAABAABAAIAAABHEhAABAAAAAUAAQACAAAAPBIQAAQAAAACAAEAAgAAADESEAAEAAAAAwABAAIAAAAsEhAABAAAAAYAAQACAAAAJxIQAAQAAAAHAAEAAgAAACISEAAEAAAACAABAAIAAABzEhAABQAAAAkAAQACAAAAaBIQAAUAAAAMAAEAAgAAAGISEAAFAAAADQABAAIAAABXEhAABQAAAAoAAQACAAAATBIQAAUAAAALAAEAAgAA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AAcAAAAGAAEAAAAAADgBEAAHAAAABwABAAAAAACDABAABwAAAAgAAQAAAAAA4QgQAAgAAAAJAAEAAAAAAGMIEAAIAAAADAABAAAAAADsBxAACAAAAA0AAQAAAAAAwAYQAAgAAAAKAAEAAAAAAIYFEAAIAAAACwABAAAAAACrBBAACAAAAA4AAQAAAAAAywMQAAgAAAAPAAEAAAAAAEwFEAAFAAAAAAABAAAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAoBYSAB0AAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAHAYEgARAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAIAZEgASAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAoBoSABAAAACgGxIAEQAAAKqqqqoAAAAAsBwSABEAAADAHRIAEAAAAMAeEgAQAAAAwB8SABAAAADAIBIAEQAAANAhEgARAAAA4CISABEAAADwIxIAEQAAAKqqqqoAAAAAACUSABAAAAAAJhIAEAAAAAAnEgAQAAAAACgSABAAAAAAKRIAEAAAAAAqEgAQAAAAACsSABAAAAAALBIAEAAAAAAtEgAQAAAAAC4SABAAAAAALxIAEAAA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OiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgbmV4dCBsaW5lIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCB0YWIgc2V0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCByZXZlcnNlIGluZGV4IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzaW5nbGUgc2hpZnQgMiBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2luZ2xlIHNoaWZ0IDMgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIEVTQyBjYWxsYmFjazogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGZ1bGwgcmVzZXQgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGxvY2tpbmcgc2hpZnQgMSByaWdodCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgbG9ja2luZyBzaGlmdCAyIHJpZ2h0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBsb2NraW5nIHNoaWZ0IDMgcmlnaHQgY29tbWFuZDogd2FybmluZyh0ZXJtaW5hbCk6IGN1cnNvciBjb3B5IGZhaWxlZCBlbnRlcmluZyBhbHQgc2NyZWVuIGVycj13YXJuaW5nKHRlcm1pbmFsKTogcmVzdG9yZSBjdXJzb3Igb24gc3dpdGNoIHNjcmVlbiBmYWlsZWQgdG89IGVycj13YXJuaW5nKHN0cmVhbSk6IHVuaW1wbGVtZW50ZWQgc2V0TW9kZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIEMwIGNoYXJhY3RlciwgaWdub3Jpbmc6IDB4d2FybmluZyh0ZXJtaW5hbCk6IHplcm8td2lkdGggY2hhcmFjdGVyIHdpdGggbm8gcHJpb3IgY2hhcmFjdGVyLCBpZ25vcmluZ3dhcm5pbmcodGVybWluYWwpOiBlcnJvciByZWFsbG9jYXRpbmcgZm9yIG1vcmUgaHlwZXJsaW5rIHNwYWNlLCBpZ25vcmluZyBoeXBlcmxpbmsgZXJyPXdhcm5pbmcocGFyc2VyKTogaW52YWxpZCBpbnRlcm1lZGlhdGVzIGNvdW50d2FybmluZyhwYXJzZXIpOiBDU0kgY29sb24gb3IgbWl4ZWQgc2VwYXJhdG9ycyBvbmx5IGFsbG93ZWQgZm9yICdtJyBjb21tYW5kLCBnb3Q6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgZG93biBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEIgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgY3Vyc29yIHJpZ2h0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgQyB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgdXAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBFIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBGIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGhvcml6b250YWwgdGFiIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgSSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBlcmFzZSBkaXNwbGF5IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBlcmFzZSBsaW5lIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBJTCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEwgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgREwgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBNIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGRlbGV0ZSBjaGFyYWN0ZXJzIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgUCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzY3JvbGwgdXAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBTIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNjcm9sbCBkb3duIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgVCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgdGFidWxhdGlvbiBjb250cm9sOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFcgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgZXJhc2UgY2hhcmFjdGVycyBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFggd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgaG9yaXpvbnRhbCB0YWIgYmFjayBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFogd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgSFBSIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgYSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBwcmludCByZXBlYXQgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBiIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGRldmljZSBhdHRyaWJ1dGVzIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBWUEEgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBkIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIFZQUiBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIGUgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgdGFiIGNsZWFyIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5rbm93biB0YWIgY2xlYXIgbW9kZTogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBnIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNldCBtb2RlIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCBtb2RlOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2V0TW9kaWZ5S2V5Rm9ybWF0OiB3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gQ1NJIG0gd2l0aCBpbnRlcm1lZGlhdGU6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgbSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBkZXZpY2Ugc3RhdHVzIHJlcG9ydCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gQ1NJIG4gd2l0aCBpbnRlcm1lZGlhdGU6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgbiB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgcCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBERUNSUU0gY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGN1cnNvciBzdHlsZSB2YWx1ZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNldCBjdXJvciBzdHlsZSBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2V0IHByb3RlY3RlZCBtb2RlIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgcSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBERUNTVEJNIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCByZXN0b3JlIG1vZGU6IHdhcm5pbmcoc3RyZWFtKTogdW5rbm93biBDU0kgcyB3aXRoIGludGVybWVkaWF0ZTogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBzIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIERFQ1NMUk0gY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIHNhdmUgbW9kZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIFhUU0hJRlRFU0NBUEUgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyBDU0kgMTQgdCB3aXRoIGV4dHJhIHBhcmFtZXRlcnM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgQ1NJIDE2IHQgd2l0aCBleHRyYSBwYXJhbWV0ZXJzOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIENTSSAxOCB0IHdpdGggZXh0cmEgcGFyYW1ldGVyczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyBDU0kgMjEgdCB3aXRoIGV4dHJhIHBhcmFtZXRlcnM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgQ1NJIDIyLzIzIHQgd2l0aCBleHRyYSBwYXJhbWV0ZXJzOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIENTSSB0IHdpdGggdW5pbXBsZW1lbnRlZCBwYXJhbWV0ZXI6IGVycm9yKHN0cmVhbSk6IGlnbm9yaW5nIENTSSB0IHdpdGggbm8gcGFyYW1ldGVyczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSB0IHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHB1c2hLaXR0eUtleWJvYXJkIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzZXRLaXR0eUtleWJvYXJkIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgdTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIElDSCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEA6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCBDU0kgY2FsbGJhY2s6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgQSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgbGVmdCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEQgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgSFBBIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgRyB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBDVVAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBIIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIENTSSBhY3Rpb246IHdhcm5pbmcoc3RyZWFtKTogY2hhbmdlIHRpdGxlIHJlcXVlc3Q6IGludmFsaWQgdXRmLTgsIGlnbm9yaW5nIHJlcXVlc3R3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gY3Vyc29yIHNoYXBlOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgT1NDLCBzaG91bGQgbmV2ZXIgaGFwcGVud2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIE9TQyBjYWxsYmFjazogd2FybmluZyhvc2MpOiBPU0Mgc2VxdWVuY2UgdG9vIGxvbmcgKD4gKSwgaWdub3JpbmcuIHN0YXRlPXdhcm5pbmcob3NjKTogT1NDIDEwIHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTA0IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTEgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxMSByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDEyIHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTMgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxNCByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDE1IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTYgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxNyByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDE4IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTkgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWT2ehAAAAAAAAAAAADdNBAAAQAAAAEAAADFNBAAAgAAAAEAAADENBAAAwAAAAEAAABWKRAAAwAAAAIAAADDNBAABAAAAAIAAADHIxAABQAAAAIAAABTLBAABQAAAAMAAAB0JhAABgAAAAMAAACNMBAABwAAAAMAAACvHhAABwAAAAQAAADyLBAACAAAAAQAAABQKRAACQAAAAQAAABhMxAACgAAAAQAAABhIhAACgAAAAUAAADLKRAACwAAAAUAAADNIxAADAAAAAUAAAAJMRAADAAAAAYAAACMHxAADQAAAAYAAAAOLhAADgAAAAYAAADDJxAADgAAAAcAAACpMxAADwAAAAcAAAADIxAAEAAAAAcAAADzKhAAEQAAAAcAAAARJRAAEQAAAAgAAAAlLxAAEgAAAAgAAAD3HhAAEwAAAAgAAAB9LRAAEwAAAAkAAABVKBAAFAAAAAkAAAAgMhAAFQAAAAkAAAAcIRAAFQAAAAoAAABUKhAAFgAAAAoAAACGJBAAFwAAAAoAAAB/MRAAGAAAAAoAAACQIBAAGAAAAAsAAADbLhAAGQAAAAsAAACsJhAAGgAAAAsAAACtNBAAGgAAAAwAAAC1IhAAGwAAAAwAAADzKxAAHAAAAAwAAAAqJhAAHAAAAA0AAAD3LxAAHQAAAA0AAAAXHhAAHgAAAA0AAABZLBAAHwAAAA0AAACsKBAAHwAAAA4AAAC7MhAAIAAAAA4AAAC5IRAAIQAAAA4AAACpKRAAIQAAAA8AAABjJBAAIgAAAA8AAACVMBAAIwAAAA8AAAAmIBAAIwAAABAAAABvLhAAJAAAABAAAABhJxAAJQAAABAAAAC5MxAAJgAAABAAAABSIxAAJgAAABEAAABDKxAAJwAAABEAAABiJRAAKAAAABEAAAB4LxAAKAAAABIAAABiHxAAKQAAABIAAAD7LBAAKgAAABIAAAAqKBAAKgAAABMAAAA2MhAAKwAAABMAAACMIRAALAAAABMAAADFKhAALQAAABMAAADjJBAALQAAABQAAABQMRAALgAAABQAAACpIBAALwAAABQAAAD1LhAALwAAABUAAAB7JhAAMAAAABUAAAAzNBAAMQAAABUAAADRIhAAMQAAABYAAADAKxAAMgAAABYAAABHJhAAMwAAABYAAABgMBAANAAAABYAAACCHhAANAAAABcAAADFLBAANQAAABcAAAAZKRAANgAAABcAAAAqMxAANgAAABgAAAApIhAANwAAABgAAADXKRAAOAAAABgAAADaIxAAOAAAABkAAAAWMRAAOQAAABkAAACaHxAAOgAAABkAAADSLRAAOwAAABkAAACHJxAAOwAAABoAAABsMxAAPAAAABoAAAAUIxAAPQAAABoAAAAFKxAAPQAAABsAAAAjJRAAPgAAABsAAAA4LxAAPwAAABsAAAC3HhAAPwAAABwAAACRLRAAQAAAABwAAABqKBAAQQAAABwAAADdMRAAQgAAABwAAADZIBAAQgAAAB0AAAAQKhAAQwAAAB0AAACeJBAARAAAAB0AAACYMRAARAAAAB4AAABKIBAARQAAAB4AAACULhAARgAAAB4AAADHJhAARgAAAB8AAABlNBAARwAAAB8AAABsIhAASAAAAB8AAAAQLBAASAAAACAAAADgJRAASQAAACAAAAAVMBAASgAAACAAAAA2HhAASwAAACAAAAB5LBAASwAAACEAAADMKBAATAAAACEAAADcMhAATQAAACEAAADbIRAATQAAACIAAABaKRAATgAAACIAAAATJBAATwAAACIAAAC5MBAATwAAACMAAADVHxAAUAAAACMAAAAdLhAAUQAAACMAAAAOJxAAUgAAACMAAADgMxAAUgAAACQAAAB5IxAAUwAAACQAAABrKxAAVAAAACQAAACLJRAAVAAAACUAAAChLxAAVQAAACUAAAALHxAAVgAAACUAAAAmLRAAVgAAACYAAADSJxAAVwAAACYAAABiMhAAWAAAACYAAAAyIRAAWQAAACYAAABrKhAAWQAAACcAAAB3YXJuaW5nKG9zYyk6IHVua25vd24gcnh2dCBleHRlbnNpb246IHdhcm5pbmcob3NjKTogaW52YWxpZCBPU0MgY29tbWFuZDogAAAAAAAAAAEAAAACAAAABAAAAAkAAAATAAAAJgAAAEwAAACZAAAAMwEAAGYCAADMBAAAmQkAADMTAABmJgAAzEwAAJmZAAAzMwEAZmYCAMzMBACZmQkAMzMTAGZmJgDMzEwAmZmZADMzMwFmZmYCzMzMBP///w93YXJuaW5nKHNjcmVlbik6IChTY3JlZW4uYWRqdXN0Q2FwYWNpdHkpIEZhaWxlZCB0byBhZGQgY3Vyc29yIHN0eWxlIGJhY2sgdG8gcGFnZSwgZXJyPXdhcm5pbmcoc2NyZWVuKTogKFNjcmVlbi5hZGp1c3RDYXBhY2l0eSkgRmFpbGVkIHRvIGFkZCBjdXJzb3IgaHlwZXJsaW5rIGJhY2sgdG8gcGFnZSwgZXJyPWVycm9yKHBhZ2VfbGlzdCk6IGZhaWxlZCB0byByZWdyb3cgYWN0aXZlIGFyZWEgYWZ0ZXIgZXJhc2UgZXJyPXdhcm5pbmcodGVybWluYWwpOiBzY3JvbGwgY2xlYXIgZmFpbGVkLCBkb2luZyBhIG5vcm1hbCBjbGVhciBlcnI9ZXJyb3IodGVybWluYWwpOiB1bmltcGxlbWVudGVkIGVyYXNlIGxpbmUgbW9kZTogZXJyb3IodGVybWluYWwpOiBpbnNlcnRMaW5lcyB0cmFja1BpbiBlcnJvciBlcnI9ZXJyb3IodGVybWluYWwpOiBkZWxldGVMaW5lcyB0cmFja1BpbiBlcnJvciBlcnI9d2FybmluZyh0ZXJtaW5hbCk6IGludmFsaWQgb3IgdW5rbm93biB0YWIgY2xlYXIgc2V0dGluZzogd2FybmluZyhvc2MpOiB6ZXJvIGxlbmd0aCBrZXkgaW4ga2l0dHkgY29sb3IgcHJvdG9jb2x3YXJuaW5nKG9zYyk6IHVua25vd24ga2V5IGluIGtpdHR5IGNvbG9yIHByb3RvY29sOiB3YXJuaW5nKG9zYyk6IGV4Y2VlZGVkIGxpbWl0IGZvciBudW1iZXIgb2Yga2V5cyBpbiBraXR0eSBjb2xvciBwcm90b2NvbCwgaWdub3Jpbmd3YXJuaW5nKG9zYyk6IHVuYWJsZSB0byBhcHBlbmQga2l0dHkgY29sb3IgcHJvdG9jb2wgb3B0aW9uOiB3YXJuaW5nKG9zYyk6IGludmFsaWQgY29sb3IgZm9ybWF0IGluIGtpdHR5IGNvbG9yIHByb3RvY29sOiB3YXJuaW5nKG9zYyk6IGFsbG9jYXRpb24gZmFpbGVkIG9uIGFsbG9jYWJsZSBzdHJpbmcgdGVybWluYXRpb24AAQIDBEVTQyAgJycgKFUrKTB4RVNDIFsgAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAoLDA0ODxAREhPvv70AAAAAAAEAAAACAAAAAwAAAAQAAAAAAAAAAADQCRAACwAAAGQYEAALAAAAcBgQAAoAAAB/EhAACwAAADgYEAANAAAAhgwQAAsAAAB8DhAADwAAAC8PEAAFAAAAJxgQABAAAACFFhAACgAAAJYPEAAVAAAAygwQABIAAACqFBAAEQAAAFEYEAASAAAAUxMQAAoAAAB7GBAACAAAAIQYEAAMAAAAoxcQAA8AAADEERAADQAAAEYYEAAKAAAAkRgQABAAAACLFBAACQAAAPIWEAAKAAAAPgsQAAgAAADxEBAADgAAADgUEAALAAAAVgkQABMAAAAwFBAAEwAAAKwJEAAWAAAAPgkQABcAAAAYFBAAFwAAAH0JEAAXAAAAlQkQABYAAADDCRAAGAAAAMUUEAAOAAAAlg0QAAsAAAA9DxAAEAAAAGoJEAASAAAAWwkQAA4AAAA1FBAADgAAANQdEAALAAAAqA0QAA0AAAAPDxAACwAAALMREAAQAAAAihEQABgAAACVFBAAFAAAANgUEAAYAAAA/RYQABUAAAAMFhAAFAAAAPEUEAAdAAAAARcQABEAAABw2REActkRAHDZEQCiSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCkSBIApkgSAKhIEgCiSBIAqkgSAKxIEgCuSBIAsEgSAKRIEgCySBIAtEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAskgSAKJIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCsSBIArkgSALBIEgCkSBIAoEgSALZIEgC4SBIAukgSALxIEgC+SBIAwEgSAMJIEgDESBIAoEgSAMZIEgDISBIAykgSAKBIEgDMSBIAzkgSANBIEgDSSBIA1EgSANZIEgDYSBIA2kgSANxIEgDeSBIA4EgSAOJIEgDkSBIAoEgSAKBIEgCgSBIAsEgSAA8AAAD/AAAA/w8AAP//AAAIAAAAAAAAAAIAAAAEAAAA",self.location),s=[];if(t.protocol==="file:"){let r=t.pathname;r.match(/^\/[A-Za-z]:\//)&&(r=r.slice(1)),s.push(r)}s.push(t.href,"./ghostty-vt.wasm","/ghostty-vt.wasm");let n=null;for(const r of s)try{return await sr.loadFromPath(r)}catch(i){n=i instanceof Error?i:new Error(String(i))}throw n||new Error("Failed to load Ghostty WASM")}static async loadFromPath(e){let t;if(typeof Bun<"u"&&typeof Bun.file=="function")try{const r=Bun.file(e);await r.exists()&&(t=await r.arrayBuffer())}catch{}if(!t)try{const r=await(await rc(async()=>{const{readFile:i}=await import("./__vite-browser-external-2447137e-BIHI7g3E.js");return{readFile:i}},[])).readFile(e);t=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength)}catch{}if(!t){const r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch WASM: ${r.status} ${r.statusText}`);if(t=await r.arrayBuffer(),t.byteLength===0)throw new Error(`WASM file is empty (0 bytes). Check path: ${e}`)}if(!t)throw new Error(`Could not load WASM from path: ${e}`);const s=await WebAssembly.compile(t),n=await WebAssembly.instantiate(s,{env:{log:(r,i)=>{const a=new Uint8Array(n.exports.memory.buffer,r,i);console.log("[ghostty-vt]",new TextDecoder().decode(a))}}});return new sr(n)}}class Dd{constructor(e){this.encoder=0,this.exports=e;const t=this.exports.ghostty_wasm_alloc_opaque(),s=this.exports.ghostty_key_encoder_new(0,t);if(s!==0)throw new Error(`Failed to create key encoder: ${s}`);const n=new DataView(this.exports.memory.buffer);this.encoder=n.getUint32(t,!0),this.exports.ghostty_wasm_free_opaque(t)}setOption(e,t){const s=this.exports.ghostty_wasm_alloc_u8();new DataView(this.exports.memory.buffer).setUint8(s,typeof t=="boolean"?t?1:0:t),this.exports.ghostty_key_encoder_setopt(this.encoder,e,s),this.exports.ghostty_wasm_free_u8(s)}setKittyFlags(e){this.setOption(ya.KITTY_KEYBOARD_FLAGS,e)}encode(e){const t=this.exports.ghostty_wasm_alloc_opaque(),s=this.exports.ghostty_key_event_new(0,t);if(s!==0)throw new Error(`Failed to create key event: ${s}`);const n=new DataView(this.exports.memory.buffer),r=n.getUint32(t,!0);if(this.exports.ghostty_wasm_free_opaque(t),this.exports.ghostty_key_event_set_action(r,e.action),this.exports.ghostty_key_event_set_key(r,e.key),this.exports.ghostty_key_event_set_mods(r,e.mods),e.utf8){const d=new TextEncoder().encode(e.utf8),E=this.exports.ghostty_wasm_alloc_u8_array(d.length);new Uint8Array(this.exports.memory.buffer).set(d,E),this.exports.ghostty_key_event_set_utf8(r,E,d.length),this.exports.ghostty_wasm_free_u8_array(E,d.length)}const i=32,a=this.exports.ghostty_wasm_alloc_u8_array(i),g=this.exports.ghostty_wasm_alloc_usize(),Q=this.exports.ghostty_key_encoder_encode(this.encoder,r,a,i,g);if(Q!==0)throw this.exports.ghostty_wasm_free_u8_array(a,i),this.exports.ghostty_wasm_free_usize(g),this.exports.ghostty_key_event_free(r),new Error(`Failed to encode key: ${Q}`);const l=n.getUint32(g,!0),u=new Uint8Array(this.exports.memory.buffer,a,l).slice();return this.exports.ghostty_wasm_free_u8_array(a,i),this.exports.ghostty_wasm_free_usize(g),this.exports.ghostty_key_event_free(r),u}dispose(){this.encoder&&(this.exports.ghostty_key_encoder_free(this.encoder),this.encoder=0)}}const XB=class Ro{constructor(e,t,s=80,n=24,r){var i;if(this.viewportBufferPtr=0,this.viewportBufferSize=0,this.cellPool=[],this.graphemeBuffer=null,this.graphemeBufferPtr=0,this.exports=e,this.memory=t,this._cols=s,this._rows=n,r){const a=this.exports.ghostty_wasm_alloc_u8_array(Fg);if(a===0)throw new Error("Failed to allocate config (out of memory)");try{const g=new DataView(this.memory.buffer);let Q=a;g.setUint32(Q,r.scrollbackLimit??1e4,!0),Q+=4,g.setUint32(Q,r.fgColor??0,!0),Q+=4,g.setUint32(Q,r.bgColor??0,!0),Q+=4,g.setUint32(Q,r.cursorColor??0,!0),Q+=4;for(let l=0;l<16;l++)g.setUint32(Q,((i=r.palette)==null?void 0:i[l])??0,!0),Q+=4;this.handle=this.exports.ghostty_terminal_new_with_config(s,n,a)}finally{this.exports.ghostty_wasm_free_u8_array(a,Fg)}}else this.handle=this.exports.ghostty_terminal_new(s,n);if(!this.handle)throw new Error("Failed to create terminal");this.initCellPool()}get cols(){return this._cols}get rows(){return this._rows}write(e){const t=typeof e=="string"?new TextEncoder().encode(e):e,s=this.exports.ghostty_wasm_alloc_u8_array(t.length);new Uint8Array(this.memory.buffer).set(t,s),this.exports.ghostty_terminal_write(this.handle,s,t.length),this.exports.ghostty_wasm_free_u8_array(s,t.length)}resize(e,t){e===this._cols&&t===this._rows||(this._cols=e,this._rows=t,this.exports.ghostty_terminal_resize(this.handle,e,t),this.invalidateBuffers(),this.initCellPool())}free(){this.viewportBufferPtr&&(this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=0),this.exports.ghostty_terminal_free(this.handle)}update(){return this.exports.ghostty_render_state_update(this.handle)}getCursor(){return this.update(),{x:this.exports.ghostty_render_state_get_cursor_x(this.handle),y:this.exports.ghostty_render_state_get_cursor_y(this.handle),viewportX:this.exports.ghostty_render_state_get_cursor_x(this.handle),viewportY:this.exports.ghostty_render_state_get_cursor_y(this.handle),visible:this.exports.ghostty_render_state_get_cursor_visible(this.handle),blinking:!1,style:"block"}}getColors(){const e=this.exports.ghostty_render_state_get_bg_color(this.handle),t=this.exports.ghostty_render_state_get_fg_color(this.handle);return{background:{r:e>>16&255,g:e>>8&255,b:e&255},foreground:{r:t>>16&255,g:t>>8&255,b:t&255},cursor:null}}isRowDirty(e){return this.exports.ghostty_render_state_is_row_dirty(this.handle,e)}markClean(){this.exports.ghostty_render_state_mark_clean(this.handle)}getViewport(){const e=this._cols*this._rows,t=e*Ro.CELL_SIZE;return(!this.viewportBufferPtr||this.viewportBufferSize<t)&&(this.viewportBufferPtr&&this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(t),this.viewportBufferSize=t),this.exports.ghostty_render_state_get_viewport(this.handle,this.viewportBufferPtr,e)<0?this.cellPool:(this.parseCellsIntoPool(this.viewportBufferPtr,e),this.cellPool)}getLine(e){if(e<0||e>=this._rows)return null;this.update();const t=this.getViewport(),s=e*this._cols;return t.slice(s,s+this._cols).map(n=>({...n}))}isDirty(){return this.update()!==Li.NONE}needsFullRedraw(){return this.update()===Li.FULL}clearDirty(){this.markClean()}isAlternateScreen(){return!!this.exports.ghostty_terminal_is_alternate_screen(this.handle)}hasBracketedPaste(){return this.getMode(2004,!1)}hasFocusEvents(){return this.getMode(1004,!1)}hasMouseTracking(){return this.exports.ghostty_terminal_has_mouse_tracking(this.handle)!==0}getDimensions(){return{cols:this._cols,rows:this._rows}}getScrollbackLength(){return this.exports.ghostty_terminal_get_scrollback_length(this.handle)}getScrollbackLine(e){const t=this._cols*Ro.CELL_SIZE;(!this.viewportBufferPtr||this.viewportBufferSize<t)&&(this.viewportBufferPtr&&this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(t),this.viewportBufferSize=t),this.update();const s=this.exports.ghostty_terminal_get_scrollback_line(this.handle,e,this.viewportBufferPtr,this._cols);if(s<0)return null;const n=[],r=this.memory.buffer,i=new Uint8Array(r,this.viewportBufferPtr,s*Ro.CELL_SIZE),a=new DataView(r,this.viewportBufferPtr,s*Ro.CELL_SIZE);for(let g=0;g<s;g++){const Q=g*Ro.CELL_SIZE;n.push({codepoint:a.getUint32(Q,!0),fg_r:i[Q+4],fg_g:i[Q+5],fg_b:i[Q+6],bg_r:i[Q+7],bg_g:i[Q+8],bg_b:i[Q+9],flags:i[Q+10],width:i[Q+11],hyperlink_id:a.getUint16(Q+12,!0),grapheme_len:i[Q+14]})}return n}isRowWrapped(e){return this.exports.ghostty_terminal_is_row_wrapped(this.handle,e)!==0}getHyperlinkUri(e){return null}hasResponse(){return this.exports.ghostty_terminal_has_response(this.handle)}readResponse(){if(!this.hasResponse())return null;const e=256,t=this.exports.ghostty_wasm_alloc_u8_array(e);try{const s=this.exports.ghostty_terminal_read_response(this.handle,t,e);if(s<=0)return null;const n=new Uint8Array(this.memory.buffer,t,s);return new TextDecoder().decode(n.slice())}finally{this.exports.ghostty_wasm_free_u8_array(t,e)}}getMode(e,t=!1){return this.exports.ghostty_terminal_get_mode(this.handle,e,t)!==0}initCellPool(){const e=this._cols*this._rows;if(this.cellPool.length<e)for(let t=this.cellPool.length;t<e;t++)this.cellPool.push({codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0})}parseCellsIntoPool(e,t){const s=this.memory.buffer,n=new Uint8Array(s,e,t*Ro.CELL_SIZE),r=new DataView(s,e,t*Ro.CELL_SIZE);for(let i=0;i<t;i++){const a=i*Ro.CELL_SIZE,g=this.cellPool[i];g.codepoint=r.getUint32(a,!0),g.fg_r=n[a+4],g.fg_g=n[a+5],g.fg_b=n[a+6],g.bg_r=n[a+7],g.bg_g=n[a+8],g.bg_b=n[a+9],g.flags=n[a+10],g.width=n[a+11],g.hyperlink_id=r.getUint16(a+12,!0),g.grapheme_len=n[a+14]}}getGrapheme(e,t){this.graphemeBuffer||(this.graphemeBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(64),this.graphemeBuffer=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,16));const s=this.exports.ghostty_render_state_get_grapheme(this.handle,e,t,this.graphemeBufferPtr,16);if(s<0)return null;const n=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,s);return Array.from(n)}getGraphemeString(e,t){const s=this.getGrapheme(e,t);return!s||s.length===0?" ":String.fromCodePoint(...s)}getScrollbackGrapheme(e,t){this.graphemeBuffer||(this.graphemeBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(64),this.graphemeBuffer=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,16));const s=this.exports.ghostty_terminal_get_scrollback_grapheme(this.handle,e,t,this.graphemeBufferPtr,16);if(s<0)return null;const n=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,s);return Array.from(n)}getScrollbackGraphemeString(e,t){const s=this.getScrollbackGrapheme(e,t);return!s||s.length===0?" ":String.fromCodePoint(...s)}invalidateBuffers(){this.viewportBufferPtr&&(this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=0,this.viewportBufferSize=0)}};XB.CELL_SIZE=16;let yd=XB;class Bo{constructor(){this.listeners=[],this.event=e=>(this.listeners.push(e),{dispose:()=>{const t=this.listeners.indexOf(e);t>=0&&this.listeners.splice(t,1)}})}fire(e){for(const t of this.listeners)t(e)}dispose(){this.listeners=[]}}class Nd{constructor(e){this.bufferChangeEmitter=new Bo,this.terminal=e}get active(){const e=this.terminal.wasmTerm;return e?e.isAlternateScreen()?this.alternate:this.normal:this.normal}get normal(){return this._normalBuffer||(this._normalBuffer=new Gg(this.terminal,"normal")),this._normalBuffer}get alternate(){return this._alternateBuffer||(this._alternateBuffer=new Gg(this.terminal,"alternate")),this._alternateBuffer}get onBufferChange(){return this.bufferChangeEmitter.event}_fireBufferChange(e){this.bufferChangeEmitter.fire(e)}}class Gg{constructor(e,t){this.terminal=e,this.bufferType=t;const s={codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0};this.nullCell=new ji(s,0)}get type(){return this.bufferType}get cursorX(){const e=this.getWasmTerm();return e?e.getCursor().x:0}get cursorY(){const e=this.getWasmTerm();return e?e.getCursor().y:0}get viewportY(){return 0}get baseY(){return 0}get length(){const e=this.getWasmTerm();return e?this.bufferType==="alternate"?e.rows:e.getScrollbackLength()+e.rows:0}getLine(e){const t=this.getWasmTerm();if(!t||e<0||e>=this.length)return;const s=t.getScrollbackLength();let n,r,i;if(this.bufferType==="normal"&&e<s){const a=e;n=t.getScrollbackLine(a),i=!1}else r=this.bufferType==="normal"?e-s:e,n=t.getLine(r),i=t.isRowWrapped(r);if(n)return new kd(n,i,t.cols)}getNullCell(){return this.nullCell}getWasmTerm(){return this.terminal.wasmTerm}}class kd{constructor(e,t,s){this.cells=e,this._isWrapped=t,this._length=s}get length(){return this._length}get isWrapped(){return this._isWrapped}getCell(e){if(!(e<0||e>=this._length))return e>=this.cells.length?new ji({codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0},e):new ji(this.cells[e],e)}translateToString(e=!1,t=0,s=this._length){const n=Math.max(0,Math.min(t,this._length)),r=Math.max(n,Math.min(s,this._length));let i="";for(let a=n;a<r;a++){const g=this.getCell(a);if(g){const Q=g.getChars();i+=Q}}return e&&(i=i.trimEnd()),i}}class ji{constructor(e,t){this.cell=e,this.x=t}getChars(){const e=this.cell.codepoint;return e===0?"":e<0||e>1114111||e>=55296&&e<=57343?"�":String.fromCodePoint(e)}getCode(){return this.cell.codepoint}getWidth(){return this.cell.width}getFgColorMode(){return-1}getBgColorMode(){return-1}getFgColor(){return this.cell.fg_r<<16|this.cell.fg_g<<8|this.cell.fg_b}getBgColor(){return this.cell.bg_r<<16|this.cell.bg_g<<8|this.cell.bg_b}isBold(){return this.cell.flags&pt.BOLD?1:0}isItalic(){return this.cell.flags&pt.ITALIC?1:0}isUnderline(){return this.cell.flags&pt.UNDERLINE?1:0}isStrikethrough(){return this.cell.flags&pt.STRIKETHROUGH?1:0}isBlink(){return this.cell.flags&pt.BLINK?1:0}isInverse(){return this.cell.flags&pt.INVERSE?1:0}isInvisible(){return this.cell.flags&pt.INVISIBLE?1:0}isFaint(){return this.cell.flags&pt.FAINT?1:0}getHyperlinkId(){return this.cell.hyperlink_id}getCodepoint(){return this.cell.codepoint}isDim(){return(this.cell.flags&pt.FAINT)!==0}}const Md={KeyA:IA.A,KeyB:IA.B,KeyC:IA.C,KeyD:IA.D,KeyE:IA.E,KeyF:IA.F,KeyG:IA.G,KeyH:IA.H,KeyI:IA.I,KeyJ:IA.J,KeyK:IA.K,KeyL:IA.L,KeyM:IA.M,KeyN:IA.N,KeyO:IA.O,KeyP:IA.P,KeyQ:IA.Q,KeyR:IA.R,KeyS:IA.S,KeyT:IA.T,KeyU:IA.U,KeyV:IA.V,KeyW:IA.W,KeyX:IA.X,KeyY:IA.Y,KeyZ:IA.Z,Digit1:IA.ONE,Digit2:IA.TWO,Digit3:IA.THREE,Digit4:IA.FOUR,Digit5:IA.FIVE,Digit6:IA.SIX,Digit7:IA.SEVEN,Digit8:IA.EIGHT,Digit9:IA.NINE,Digit0:IA.ZERO,Enter:IA.ENTER,Escape:IA.ESCAPE,Backspace:IA.BACKSPACE,Tab:IA.TAB,Space:IA.SPACE,Minus:IA.MINUS,Equal:IA.EQUAL,BracketLeft:IA.BRACKET_LEFT,BracketRight:IA.BRACKET_RIGHT,Backslash:IA.BACKSLASH,Semicolon:IA.SEMICOLON,Quote:IA.QUOTE,Backquote:IA.GRAVE,Comma:IA.COMMA,Period:IA.PERIOD,Slash:IA.SLASH,CapsLock:IA.CAPS_LOCK,F1:IA.F1,F2:IA.F2,F3:IA.F3,F4:IA.F4,F5:IA.F5,F6:IA.F6,F7:IA.F7,F8:IA.F8,F9:IA.F9,F10:IA.F10,F11:IA.F11,F12:IA.F12,PrintScreen:IA.PRINT_SCREEN,ScrollLock:IA.SCROLL_LOCK,Pause:IA.PAUSE,Insert:IA.INSERT,Home:IA.HOME,PageUp:IA.PAGE_UP,Delete:IA.DELETE,End:IA.END,PageDown:IA.PAGE_DOWN,ArrowRight:IA.RIGHT,ArrowLeft:IA.LEFT,ArrowDown:IA.DOWN,ArrowUp:IA.UP,NumLock:IA.NUM_LOCK,NumpadDivide:IA.KP_DIVIDE,NumpadMultiply:IA.KP_MULTIPLY,NumpadSubtract:IA.KP_MINUS,NumpadAdd:IA.KP_PLUS,NumpadEnter:IA.KP_ENTER,Numpad1:IA.KP_1,Numpad2:IA.KP_2,Numpad3:IA.KP_3,Numpad4:IA.KP_4,Numpad5:IA.KP_5,Numpad6:IA.KP_6,Numpad7:IA.KP_7,Numpad8:IA.KP_8,Numpad9:IA.KP_9,Numpad0:IA.KP_0,NumpadDecimal:IA.KP_PERIOD,IntlBackslash:IA.INTL_BACKSLASH,ContextMenu:IA.CONTEXT_MENU,F13:IA.F13,F14:IA.F14,F15:IA.F15,F16:IA.F16,F17:IA.F17,F18:IA.F18,F19:IA.F19,F20:IA.F20,F21:IA.F21,F22:IA.F22,F23:IA.F23,F24:IA.F24};class bd{constructor(e,t,s,n,r,i,a){this.keydownListener=null,this.keypressListener=null,this.pasteListener=null,this.compositionStartListener=null,this.compositionUpdateListener=null,this.compositionEndListener=null,this.isComposing=!1,this.isDisposed=!1,this.encoder=e.createKeyEncoder(),this.container=t,this.onDataCallback=s,this.onBellCallback=n,this.onKeyCallback=r,this.customKeyEventHandler=i,this.getModeCallback=a,this.attach()}setCustomKeyEventHandler(e){this.customKeyEventHandler=e}attach(){typeof this.container.hasAttribute=="function"&&typeof this.container.setAttribute=="function"&&(this.container.hasAttribute("tabindex")||this.container.setAttribute("tabindex","0"),this.container.style&&(this.container.style.outline="none")),this.keydownListener=this.handleKeyDown.bind(this),this.container.addEventListener("keydown",this.keydownListener),this.pasteListener=this.handlePaste.bind(this),this.container.addEventListener("paste",this.pasteListener),this.compositionStartListener=this.handleCompositionStart.bind(this),this.container.addEventListener("compositionstart",this.compositionStartListener),this.compositionUpdateListener=this.handleCompositionUpdate.bind(this),this.container.addEventListener("compositionupdate",this.compositionUpdateListener),this.compositionEndListener=this.handleCompositionEnd.bind(this),this.container.addEventListener("compositionend",this.compositionEndListener)}mapKeyCode(e){return Md[e]??null}extractModifiers(e){let t=zo.NONE;return e.shiftKey&&(t|=zo.SHIFT),e.ctrlKey&&(t|=zo.CTRL),e.altKey&&(t|=zo.ALT),e.metaKey&&(t|=zo.SUPER),t}isPrintableCharacter(e){return e.ctrlKey&&!e.altKey||e.altKey&&!e.ctrlKey||e.metaKey?!1:e.key.length===1}handleKeyDown(e){if(this.isDisposed||this.isComposing||e.isComposing||e.keyCode===229)return;if(this.onKeyCallback&&this.onKeyCallback({key:e.key,domEvent:e}),this.customKeyEventHandler&&this.customKeyEventHandler(e)){e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&e.code==="KeyV"||e.metaKey&&e.code==="KeyC")return;if(this.isPrintableCharacter(e)){e.preventDefault(),this.onDataCallback(e.key);return}const t=this.mapKeyCode(e.code);if(t===null)return;const s=this.extractModifiers(e);if(s===zo.NONE||s===zo.SHIFT){let r=null;switch(t){case IA.ENTER:r="\r";break;case IA.TAB:r=" ";break;case IA.BACKSPACE:r="";break;case IA.ESCAPE:r="\x1B";break;case IA.HOME:r="\x1B[H";break;case IA.END:r="\x1B[F";break;case IA.INSERT:r="\x1B[2~";break;case IA.DELETE:r="\x1B[3~";break;case IA.PAGE_UP:r="\x1B[5~";break;case IA.PAGE_DOWN:r="\x1B[6~";break;case IA.F1:r="\x1BOP";break;case IA.F2:r="\x1BOQ";break;case IA.F3:r="\x1BOR";break;case IA.F4:r="\x1BOS";break;case IA.F5:r="\x1B[15~";break;case IA.F6:r="\x1B[17~";break;case IA.F7:r="\x1B[18~";break;case IA.F8:r="\x1B[19~";break;case IA.F9:r="\x1B[20~";break;case IA.F10:r="\x1B[21~";break;case IA.F11:r="\x1B[23~";break;case IA.F12:r="\x1B[24~";break}if(r!==null){e.preventDefault(),this.onDataCallback(r);return}}const n=_B.PRESS;try{if(this.getModeCallback){const g=this.getModeCallback(1);this.encoder.setOption(ya.CURSOR_KEY_APPLICATION,g)}const r=e.key.length===1&&e.key.charCodeAt(0)<128?e.key.toLowerCase():void 0,i=this.encoder.encode({action:n,key:t,mods:s,utf8:r}),a=new TextDecoder().decode(i);e.preventDefault(),e.stopPropagation(),a.length>0&&this.onDataCallback(a)}catch(r){console.warn("Failed to encode key:",e.code,r)}}handlePaste(e){if(this.isDisposed)return;e.preventDefault(),e.stopPropagation();const t=e.clipboardData;if(!t){console.warn("No clipboard data available");return}const s=t.getData("text/plain");if(!s){console.warn("No text in clipboard");return}this.onDataCallback(s)}handleCompositionStart(e){this.isDisposed||(this.isComposing=!0)}handleCompositionUpdate(e){this.isDisposed}handleCompositionEnd(e){if(this.isDisposed)return;this.isComposing=!1;const t=e.data;if(t&&t.length>0&&this.onDataCallback(t),this.container&&this.container.childNodes)for(let s=this.container.childNodes.length-1;s>=0;s--){const n=this.container.childNodes[s];n.nodeType===3&&this.container.removeChild(n)}}dispose(){this.isDisposed||(this.keydownListener&&(this.container.removeEventListener("keydown",this.keydownListener),this.keydownListener=null),this.keypressListener&&(this.container.removeEventListener("keypress",this.keypressListener),this.keypressListener=null),this.pasteListener&&(this.container.removeEventListener("paste",this.pasteListener),this.pasteListener=null),this.compositionStartListener&&(this.container.removeEventListener("compositionstart",this.compositionStartListener),this.compositionStartListener=null),this.compositionUpdateListener&&(this.container.removeEventListener("compositionupdate",this.compositionUpdateListener),this.compositionUpdateListener=null),this.compositionEndListener&&(this.container.removeEventListener("compositionend",this.compositionEndListener),this.compositionEndListener=null),this.isDisposed=!0)}isActive(){return!this.isDisposed}}class Fd{constructor(e){this.terminal=e,this.providers=[],this.linkCache=new Map,this.scannedRows=new Set}registerProvider(e){this.providers.push(e),this.invalidateCache()}async getLinkAt(e,t){const s=this.terminal.buffer.active.getLine(t);if(!s||e<0||e>=s.length)return;const n=s.getCell(e);if(!n)return;const r=n.getHyperlinkId();if(r>0){const i=`h${r}`;if(this.linkCache.has(i))return this.linkCache.get(i)}if(this.scannedRows.has(t)||await this.scanRow(t),r>0){const i=`h${r}`,a=this.linkCache.get(i);if(a)return a}for(const i of this.linkCache.values())if(this.isPositionInLink(e,t,i))return i}async scanRow(e){this.scannedRows.add(e);const t=[];for(const s of this.providers){const n=await new Promise(r=>{s.provideLinks(e,r)});n&&t.push(...n)}for(const s of t)this.cacheLink(s)}cacheLink(e){const{start:t}=e.range,s=this.terminal.buffer.active.getLine(t.y);if(s){const a=s.getCell(t.x);if(!a){const{start:Q,end:l}=e.range,u=`r${Q.y}:${Q.x}-${l.x}`;this.linkCache.set(u,e);return}const g=a.getHyperlinkId();if(g>0){this.linkCache.set(`h${g}`,e);return}}const{start:n,end:r}=e.range,i=`r${n.y}:${n.x}-${r.x}`;this.linkCache.set(i,e)}isPositionInLink(e,t,s){const{start:n,end:r}=s.range;return t<n.y||t>r.y?!1:n.y===r.y?e>=n.x&&e<=r.x:t===n.y?e>=n.x:t===r.y?e<=r.x:!0}invalidateCache(){this.linkCache.clear(),this.scannedRows.clear()}invalidateRows(e,t){for(let n=e;n<=t;n++)this.scannedRows.delete(n);const s=[];for(const[n,r]of this.linkCache.entries()){const{start:i,end:a}=r.range;(i.y>=e&&i.y<=t||a.y>=e&&a.y<=t||i.y<e&&a.y>t)&&s.push(n)}for(const n of s)this.linkCache.delete(n)}dispose(){var e;this.linkCache.clear(),this.scannedRows.clear();for(const t of this.providers)(e=t.dispose)==null||e.call(t);this.providers=[]}}class Gd{constructor(e){this.terminal=e}provideLinks(e,t){const s=[],n=new Set,r=this.terminal.buffer.active.getLine(e);if(!r){t(void 0);return}for(let i=0;i<r.length;i++){const a=r.getCell(i);if(!a)continue;const g=a.getHyperlinkId();if(g===0||n.has(g))continue;n.add(g);const Q=this.findLinkRange(g,e,i);if(!this.terminal.wasmTerm)continue;const l=this.terminal.wasmTerm.getHyperlinkUri(g);l&&s.push({text:l,range:Q,activate:u=>{(u.ctrlKey||u.metaKey)&&window.open(l,"_blank","noopener,noreferrer")}})}t(s.length>0?s:void 0)}findLinkRange(e,t,s){const n=this.terminal.buffer.active;let r=t,i=s;for(;i>0;){const l=n.getLine(r);if(!l)break;const u=l.getCell(i-1);if(!u||u.getHyperlinkId()!==e)break;i--}if(i===0&&r>0){let l=r-1;for(;l>=0;){const u=n.getLine(l);if(!u||u.length===0)break;const d=u.getCell(u.length-1);if(!d||d.getHyperlinkId()!==e)break;r=l,i=0;for(let E=u.length-1;E>=0;E--){const C=u.getCell(E);if(!C||C.getHyperlinkId()!==e){i=E+1;break}}if(i===0)l--;else break}}let a=t,g=s;const Q=n.getLine(a);if(Q){for(;g<Q.length-1;){const l=Q.getCell(g+1);if(!l||l.getHyperlinkId()!==e)break;g++}if(g===Q.length-1){let l=a+1;const u=n.length;for(;l<u;){const d=n.getLine(l);if(!d||d.length===0)break;const E=d.getCell(0);if(!E||E.getHyperlinkId()!==e)break;a=l,g=0;for(let C=0;C<d.length;C++){const p=d.getCell(C);if(!p)break;if(p.getHyperlinkId()!==e){g=C-1;break}g=C}if(g===d.length-1)l++;else break}}}return{start:{x:i,y:r},end:{x:g,y:a}}}dispose(){}}const Na=class er{constructor(e){this.terminal=e}provideLinks(e,t){const s=[],n=this.terminal.buffer.active.getLine(e);if(!n){t(void 0);return}const r=this.lineToText(n);er.URL_REGEX.lastIndex=0;let i=er.URL_REGEX.exec(r);for(;i!==null;){let a=i[0];const g=i.index;let Q=i.index+a.length-1;const l=a.replace(er.TRAILING_PUNCTUATION,"");l.length<a.length&&(a=l,Q=g+a.length-1),a.length>8&&s.push({text:a,range:{start:{x:g,y:e},end:{x:Q,y:e}},activate:u=>{(u.ctrlKey||u.metaKey)&&window.open(a,"_blank","noopener,noreferrer")}}),i=er.URL_REGEX.exec(r)}t(s.length>0?s:void 0)}lineToText(e){const t=[];for(let s=0;s<e.length;s++){const n=e.getCell(s);if(!n){t.push(" ");continue}const r=n.getCodepoint();r===0||r<32?t.push(" "):t.push(String.fromCodePoint(r))}return t.join("")}dispose(){}};Na.URL_REGEX=/(?:https?:\/\/|mailto:|ftp:\/\/|ssh:\/\/|git:\/\/|tel:|magnet:|gemini:\/\/|gopher:\/\/|news:)[\w\-.~:\/?#@!$&*+,;=%]+/gi;Na.TRAILING_PUNCTUATION=/[.,;!?)\]]+$/;let vd=Na;const vg={foreground:"#d4d4d4",background:"#1e1e1e",cursor:"#ffffff",cursorAccent:"#1e1e1e",selectionBackground:"#d4d4d4",selectionForeground:"#1e1e1e",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#ffffff"};class Sd{constructor(e,t={}){this.cursorVisible=!0,this.lastCursorPosition={x:0,y:0},this.lastViewportY=0,this.currentBuffer=null,this.currentSelectionCoords=null,this.hoveredHyperlinkId=0,this.previousHoveredHyperlinkId=0,this.hoveredLinkRange=null,this.previousHoveredLinkRange=null,this.canvas=e;const s=e.getContext("2d",{alpha:!0});if(!s)throw new Error("Failed to get 2D rendering context");this.ctx=s,this.fontSize=t.fontSize??15,this.fontFamily=t.fontFamily??"monospace",this.cursorStyle=t.cursorStyle??"block",this.cursorBlink=t.cursorBlink??!1,this.theme={...vg,...t.theme},this.devicePixelRatio=t.devicePixelRatio??window.devicePixelRatio??1,this.palette=[this.theme.black,this.theme.red,this.theme.green,this.theme.yellow,this.theme.blue,this.theme.magenta,this.theme.cyan,this.theme.white,this.theme.brightBlack,this.theme.brightRed,this.theme.brightGreen,this.theme.brightYellow,this.theme.brightBlue,this.theme.brightMagenta,this.theme.brightCyan,this.theme.brightWhite],this.metrics=this.measureFont(),this.cursorBlink&&this.startCursorBlink()}measureFont(){const e=document.createElement("canvas").getContext("2d");e.font=`${this.fontSize}px ${this.fontFamily}`;const t=e.measureText("M"),s=Math.ceil(t.width),n=t.actualBoundingBoxAscent||this.fontSize*.8,r=t.actualBoundingBoxDescent||this.fontSize*.2,i=Math.ceil(n+r)+2,a=Math.ceil(n)+1;return{width:s,height:i,baseline:a}}remeasureFont(){this.metrics=this.measureFont()}rgbToCSS(e,t,s){return`rgb(${e}, ${t}, ${s})`}resize(e,t){const s=e*this.metrics.width,n=t*this.metrics.height;this.canvas.style.width=`${s}px`,this.canvas.style.height=`${n}px`,this.canvas.width=s*this.devicePixelRatio,this.canvas.height=n*this.devicePixelRatio,this.ctx.scale(this.devicePixelRatio,this.devicePixelRatio),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left",this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,0,s,n)}render(e,t=!1,s=0,n,r=1){var i;this.currentBuffer=e;const a=e.getCursor(),g=e.getDimensions(),Q=n?n.getScrollbackLength():0;(i=e.needsFullRedraw)!=null&&i.call(e)&&(t=!0),(this.canvas.width!==g.cols*this.metrics.width*this.devicePixelRatio||this.canvas.height!==g.rows*this.metrics.height*this.devicePixelRatio)&&(this.resize(g.cols,g.rows),t=!0),s!==this.lastViewportY&&(t=!0,this.lastViewportY=s);const l=a.x!==this.lastCursorPosition.x||a.y!==this.lastCursorPosition.y;if(l||this.cursorBlink){if(!t&&!e.isRowDirty(a.y)){const M=e.getLine(a.y);M&&this.renderLine(M,a.y,g.cols)}if(l&&this.lastCursorPosition.y!==a.y&&!t&&!e.isRowDirty(this.lastCursorPosition.y)){const M=e.getLine(this.lastCursorPosition.y);M&&this.renderLine(M,this.lastCursorPosition.y,g.cols)}}const u=this.selectionManager&&this.selectionManager.hasSelection(),d=new Set;if(this.currentSelectionCoords=u?this.selectionManager.getSelectionCoords():null,this.currentSelectionCoords){const M=this.currentSelectionCoords;for(let S=M.startRow;S<=M.endRow;S++)d.add(S)}if(this.selectionManager){const M=this.selectionManager.getDirtySelectionRows();if(M.size>0){for(const S of M)d.add(S);this.selectionManager.clearDirtySelectionRows()}}const E=new Set,C=this.hoveredHyperlinkId!==this.previousHoveredHyperlinkId,p=JSON.stringify(this.hoveredLinkRange)!==JSON.stringify(this.previousHoveredLinkRange);if(C){for(let M=0;M<g.rows;M++){let S=null;if(s>0)if(M<s&&n){const N=Q-Math.floor(s)+M;S=n.getScrollbackLine(N)}else{const N=M-Math.floor(s);S=e.getLine(N)}else S=e.getLine(M);if(S){for(const N of S)if(N.hyperlink_id===this.hoveredHyperlinkId||N.hyperlink_id===this.previousHoveredHyperlinkId){E.add(M);break}}}this.previousHoveredHyperlinkId=this.hoveredHyperlinkId}if(p){if(this.previousHoveredLinkRange)for(let M=this.previousHoveredLinkRange.startY;M<=this.previousHoveredLinkRange.endY;M++)E.add(M);if(this.hoveredLinkRange)for(let M=this.hoveredLinkRange.startY;M<=this.hoveredLinkRange.endY;M++)E.add(M);this.previousHoveredLinkRange=this.hoveredLinkRange}const f=new Set;for(let M=0;M<g.rows;M++)(s>0||t||e.isRowDirty(M)||d.has(M)||E.has(M))&&(f.add(M),M>0&&f.add(M-1),M<g.rows-1&&f.add(M+1));for(let M=0;M<g.rows;M++){if(!f.has(M))continue;let S=null;if(s>0)if(M<s&&n){const N=Q-Math.floor(s)+M;S=n.getScrollbackLine(N)}else{const N=s>0?M-Math.floor(s):M;S=e.getLine(N)}else S=e.getLine(M);S&&this.renderLine(S,M,g.cols)}s===0&&a.visible&&this.cursorVisible&&this.renderCursor(a.x,a.y),n&&r>0&&this.renderScrollbar(s,Q,g.rows,r),this.lastCursorPosition={x:a.x,y:a.y},e.clearDirty()}renderLine(e,t,s){const n=t*this.metrics.height;this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,n,s*this.metrics.width,this.metrics.height);for(let r=0;r<e.length;r++){const i=e[r];i.width!==0&&this.renderCellBackground(i,r,t)}for(let r=0;r<e.length;r++){const i=e[r];i.width!==0&&this.renderCellText(i,r,t)}}renderCellBackground(e,t,s){const n=t*this.metrics.width,r=s*this.metrics.height,i=this.metrics.width*e.width;if(this.isInSelection(t,s)){this.ctx.fillStyle=this.theme.selectionBackground,this.ctx.fillRect(n,r,i,this.metrics.height);return}let a=e.bg_r,g=e.bg_g,Q=e.bg_b;e.flags&pt.INVERSE&&(a=e.fg_r,g=e.fg_g,Q=e.fg_b),a===0&&g===0&&Q===0||(this.ctx.fillStyle=this.rgbToCSS(a,g,Q),this.ctx.fillRect(n,r,i,this.metrics.height))}renderCellText(e,t,s){var n;const r=t*this.metrics.width,i=s*this.metrics.height,a=this.metrics.width*e.width;if(e.flags&pt.INVISIBLE)return;const g=this.isInSelection(t,s);let Q="";if(e.flags&pt.ITALIC&&(Q+="italic "),e.flags&pt.BOLD&&(Q+="bold "),this.ctx.font=`${Q}${this.fontSize}px ${this.fontFamily}`,g)this.ctx.fillStyle=this.theme.selectionForeground;else{let E=e.fg_r,C=e.fg_g,p=e.fg_b;e.flags&pt.INVERSE&&(E=e.bg_r,C=e.bg_g,p=e.bg_b),this.ctx.fillStyle=this.rgbToCSS(E,C,p)}e.flags&pt.FAINT&&(this.ctx.globalAlpha=.5);const l=r,u=i+this.metrics.baseline;let d;if(e.grapheme_len>0&&(n=this.currentBuffer)!=null&&n.getGraphemeString?d=this.currentBuffer.getGraphemeString(s,t):d=String.fromCodePoint(e.codepoint||32),this.ctx.fillText(d,l,u),e.flags&pt.FAINT&&(this.ctx.globalAlpha=1),e.flags&pt.UNDERLINE){const E=i+this.metrics.baseline+2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,E),this.ctx.lineTo(r+a,E),this.ctx.stroke()}if(e.flags&pt.STRIKETHROUGH){const E=i+this.metrics.height/2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,E),this.ctx.lineTo(r+a,E),this.ctx.stroke()}if(e.hyperlink_id>0&&e.hyperlink_id===this.hoveredHyperlinkId){const E=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,E),this.ctx.lineTo(r+a,E),this.ctx.stroke()}if(this.hoveredLinkRange){const E=this.hoveredLinkRange;if(s===E.startY&&t>=E.startX&&(s<E.endY||t<=E.endX)||s>E.startY&&s<E.endY||s===E.endY&&t<=E.endX&&(s>E.startY||t>=E.startX)){const C=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,C),this.ctx.lineTo(r+a,C),this.ctx.stroke()}}}renderCursor(e,t){const s=e*this.metrics.width,n=t*this.metrics.height;switch(this.ctx.fillStyle=this.theme.cursor,this.cursorStyle){case"block":this.ctx.fillRect(s,n,this.metrics.width,this.metrics.height);break;case"underline":const r=Math.max(2,Math.floor(this.metrics.height*.15));this.ctx.fillRect(s,n+this.metrics.height-r,this.metrics.width,r);break;case"bar":const i=Math.max(2,Math.floor(this.metrics.width*.15));this.ctx.fillRect(s,n,i,this.metrics.height);break}}startCursorBlink(){this.cursorBlinkInterval=window.setInterval(()=>{this.cursorVisible=!this.cursorVisible},530)}stopCursorBlink(){this.cursorBlinkInterval!==void 0&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=void 0),this.cursorVisible=!0}setTheme(e){this.theme={...vg,...e},this.palette=[this.theme.black,this.theme.red,this.theme.green,this.theme.yellow,this.theme.blue,this.theme.magenta,this.theme.cyan,this.theme.white,this.theme.brightBlack,this.theme.brightRed,this.theme.brightGreen,this.theme.brightYellow,this.theme.brightBlue,this.theme.brightMagenta,this.theme.brightCyan,this.theme.brightWhite]}setFontSize(e){this.fontSize=e,this.metrics=this.measureFont()}setFontFamily(e){this.fontFamily=e,this.metrics=this.measureFont()}setCursorStyle(e){this.cursorStyle=e}setCursorBlink(e){e&&!this.cursorBlink?(this.cursorBlink=!0,this.startCursorBlink()):!e&&this.cursorBlink&&(this.cursorBlink=!1,this.stopCursorBlink())}renderScrollbar(e,t,s,n=1){const r=this.ctx,i=this.canvas.height/this.devicePixelRatio,a=this.canvas.width/this.devicePixelRatio,g=8,Q=a-g-4,l=4,u=i-l*2;if(r.fillStyle=this.theme.background,r.fillRect(Q-2,0,g+6,i),n<=0||t===0)return;const d=t+s,E=Math.max(20,s/d*u),C=e/t,p=l+(u-E)*(1-C);r.fillStyle=`rgba(128, 128, 128, ${.1*n})`,r.fillRect(Q,l,g,u);const f=e>0?.5:.3;r.fillStyle=`rgba(128, 128, 128, ${f*n})`,r.fillRect(Q,p,g,E)}getMetrics(){return{...this.metrics}}getCanvas(){return this.canvas}setSelectionManager(e){this.selectionManager=e}isInSelection(e,t){const s=this.currentSelectionCoords;if(!s)return!1;const{startCol:n,startRow:r,endCol:i,endRow:a}=s;return r===a?t===r&&e>=n&&e<=i:t===r?e>=n:t===a?e<=i:t>r&&t<a}setHoveredHyperlinkId(e){this.hoveredHyperlinkId=e}setHoveredLinkRange(e){this.hoveredLinkRange=e}get charWidth(){return this.metrics.width}get charHeight(){return this.metrics.height}clear(){this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,0,this.canvas.width,this.canvas.height)}dispose(){this.stopCursorBlink()}}const bn=class zr{constructor(e,t,s,n){this.selectionStart=null,this.selectionEnd=null,this.isSelecting=!1,this.mouseDownTarget=null,this.dirtySelectionRows=new Set,this.selectionChangedEmitter=new Bo,this.boundMouseUpHandler=null,this.boundContextMenuHandler=null,this.boundClickHandler=null,this.boundDocumentMouseMoveHandler=null,this.autoScrollInterval=null,this.autoScrollDirection=0,this.terminal=e,this.renderer=t,this.wasmTerm=s,this.textarea=n,this.attachEventListeners()}getViewportY(){const e=typeof this.terminal.getViewportY=="function"?this.terminal.getViewportY():this.terminal.viewportY||0;return Math.max(0,Math.floor(e))}viewportRowToAbsolute(e){const t=this.wasmTerm.getScrollbackLength(),s=this.getViewportY();return t+e-s}absoluteRowToViewport(e){const t=this.wasmTerm.getScrollbackLength(),s=this.getViewportY();return e-t+s}getSelection(){if(!this.selectionStart||!this.selectionEnd)return"";let{col:e,absoluteRow:t}=this.selectionStart,{col:s,absoluteRow:n}=this.selectionEnd;(t>n||t===n&&e>s)&&([e,s]=[s,e],[t,n]=[n,t]);const r=this.wasmTerm.getScrollbackLength();let i="";for(let a=t;a<=n;a++){let g=null;if(a<r)g=this.wasmTerm.getScrollbackLine(a);else{const E=a-r;g=this.wasmTerm.getLine(E)}if(!g)continue;let Q=-1;const l=a===t?e:0,u=a===n?s:g.length-1;let d="";for(let E=l;E<=u;E++){const C=g[E];if(C&&C.codepoint!==0){let p;if(C.grapheme_len>0)if(a<r)p=this.wasmTerm.getScrollbackGraphemeString(a,E);else{const f=a-r;p=this.wasmTerm.getGraphemeString(f,E)}else p=String.fromCodePoint(C.codepoint);d+=p,p.trim()&&(Q=d.length)}else d+=" "}Q>=0?d=d.substring(0,Q):d="",i+=d,a<n&&(i+=`
|
|
11
|
+
`)}return i}hasSelection(){return!this.selectionStart||!this.selectionEnd?!1:!(this.selectionStart.col===this.selectionEnd.col&&this.selectionStart.absoluteRow===this.selectionEnd.absoluteRow)}clearSelection(){if(!this.hasSelection())return;const e=this.normalizeSelection();if(e)for(let t=e.startRow;t<=e.endRow;t++)this.dirtySelectionRows.add(t);this.selectionStart=null,this.selectionEnd=null,this.isSelecting=!1,this.requestRender()}selectAll(){const e=this.wasmTerm.getDimensions(),t=this.getViewportY();this.selectionStart={col:0,absoluteRow:t},this.selectionEnd={col:e.cols-1,absoluteRow:t+e.rows-1},this.requestRender(),this.selectionChangedEmitter.fire()}select(e,t,s){const n=this.wasmTerm.getDimensions();t=Math.max(0,Math.min(t,n.rows-1)),e=Math.max(0,Math.min(e,n.cols-1));let r=t,i=e+s-1;for(;i>=n.cols;)i-=n.cols,r++;r=Math.min(r,n.rows-1);const a=this.getViewportY();this.selectionStart={col:e,absoluteRow:a+t},this.selectionEnd={col:i,absoluteRow:a+r},this.requestRender(),this.selectionChangedEmitter.fire()}selectLines(e,t){const s=this.wasmTerm.getDimensions();e=Math.max(0,Math.min(e,s.rows-1)),t=Math.max(0,Math.min(t,s.rows-1)),e>t&&([e,t]=[t,e]);const n=this.getViewportY();this.selectionStart={col:0,absoluteRow:n+e},this.selectionEnd={col:s.cols-1,absoluteRow:n+t},this.requestRender(),this.selectionChangedEmitter.fire()}getSelectionPosition(){const e=this.normalizeSelection();if(e)return{start:{x:e.startCol,y:e.startRow},end:{x:e.endCol,y:e.endRow}}}deselect(){this.clearSelection(),this.selectionChangedEmitter.fire()}focus(){const e=this.renderer.getCanvas();e.parentElement&&e.parentElement.focus()}getSelectionCoords(){return this.normalizeSelection()}getDirtySelectionRows(){return this.dirtySelectionRows}clearDirtySelectionRows(){this.dirtySelectionRows.clear()}get onSelectionChange(){return this.selectionChangedEmitter.event}dispose(){this.selectionChangedEmitter.dispose(),this.stopAutoScroll(),this.boundMouseUpHandler&&(document.removeEventListener("mouseup",this.boundMouseUpHandler),this.boundMouseUpHandler=null),this.boundDocumentMouseMoveHandler&&(document.removeEventListener("mousemove",this.boundDocumentMouseMoveHandler),this.boundDocumentMouseMoveHandler=null),this.boundContextMenuHandler&&(this.renderer.getCanvas().removeEventListener("contextmenu",this.boundContextMenuHandler),this.boundContextMenuHandler=null),this.boundClickHandler&&(document.removeEventListener("click",this.boundClickHandler),this.boundClickHandler=null)}attachEventListeners(){const e=this.renderer.getCanvas();e.addEventListener("mousedown",t=>{if(t.button===0){e.parentElement&&e.parentElement.focus();const s=this.pixelToCell(t.offsetX,t.offsetY);this.hasSelection()&&this.clearSelection();const n=this.viewportRowToAbsolute(s.row);this.selectionStart={col:s.col,absoluteRow:n},this.selectionEnd={col:s.col,absoluteRow:n},this.isSelecting=!0}}),e.addEventListener("mousemove",t=>{if(this.isSelecting){this.markCurrentSelectionDirty();const s=this.pixelToCell(t.offsetX,t.offsetY),n=this.viewportRowToAbsolute(s.row);this.selectionEnd={col:s.col,absoluteRow:n},this.requestRender(),this.updateAutoScroll(t.offsetY,e.clientHeight)}}),e.addEventListener("mouseleave",t=>{if(this.isSelecting){const s=e.getBoundingClientRect();t.clientY<s.top?this.startAutoScroll(-1):t.clientY>s.bottom&&this.startAutoScroll(1)}}),e.addEventListener("mouseenter",()=>{this.isSelecting&&this.stopAutoScroll()}),this.boundDocumentMouseMoveHandler=t=>{if(this.isSelecting){const s=e.getBoundingClientRect(),n=Math.max(s.left,Math.min(t.clientX,s.right)),r=Math.max(s.top,Math.min(t.clientY,s.bottom)),i=n-s.left,a=r-s.top;if((t.clientX<s.left||t.clientX>s.right||t.clientY<s.top||t.clientY>s.bottom)&&(t.clientY<s.top?this.startAutoScroll(-1):t.clientY>s.bottom?this.startAutoScroll(1):this.stopAutoScroll(),this.autoScrollDirection===0)){this.markCurrentSelectionDirty();const g=this.pixelToCell(i,a),Q=this.viewportRowToAbsolute(g.row);this.selectionEnd={col:g.col,absoluteRow:Q},this.requestRender()}}},document.addEventListener("mousemove",this.boundDocumentMouseMoveHandler),document.addEventListener("mousedown",t=>{this.mouseDownTarget=t.target}),this.boundMouseUpHandler=t=>{if(this.isSelecting){this.isSelecting=!1,this.stopAutoScroll();const s=this.getSelection();s&&(this.copyToClipboard(s),this.selectionChangedEmitter.fire())}},document.addEventListener("mouseup",this.boundMouseUpHandler),e.addEventListener("dblclick",t=>{const s=this.pixelToCell(t.offsetX,t.offsetY),n=this.getWordAtCell(s.col,s.row);if(n){const r=this.viewportRowToAbsolute(s.row);this.selectionStart={col:n.startCol,absoluteRow:r},this.selectionEnd={col:n.endCol,absoluteRow:r},this.requestRender();const i=this.getSelection();i&&(this.copyToClipboard(i),this.selectionChangedEmitter.fire())}}),this.boundContextMenuHandler=t=>{if(this.renderer.getCanvas().getBoundingClientRect(),this.textarea.style.position="fixed",this.textarea.style.left=`${t.clientX}px`,this.textarea.style.top=`${t.clientY}px`,this.textarea.style.width="1px",this.textarea.style.height="1px",this.textarea.style.zIndex="1000",this.textarea.style.opacity="0",this.textarea.style.pointerEvents="auto",this.hasSelection()){const s=this.getSelection();this.textarea.value=s,this.textarea.select(),this.textarea.setSelectionRange(0,s.length)}else this.textarea.value="";this.textarea.focus(),setTimeout(()=>{const s=()=>{this.textarea.style.pointerEvents="none",this.textarea.style.zIndex="-10",this.textarea.style.width="0",this.textarea.style.height="0",this.textarea.style.left="0",this.textarea.style.top="0",this.textarea.value="",document.removeEventListener("click",s),document.removeEventListener("contextmenu",s),this.textarea.removeEventListener("blur",s)};document.addEventListener("click",s,{once:!0}),document.addEventListener("contextmenu",s,{once:!0}),this.textarea.addEventListener("blur",s,{once:!0})},10)},e.addEventListener("contextmenu",this.boundContextMenuHandler),this.boundClickHandler=t=>{if(this.isSelecting||this.mouseDownTarget&&e.contains(this.mouseDownTarget))return;const s=t.target;e.contains(s)||this.hasSelection()&&this.clearSelection()},document.addEventListener("click",this.boundClickHandler)}markCurrentSelectionDirty(){const e=this.normalizeSelection();if(e)for(let t=e.startRow;t<=e.endRow;t++)this.dirtySelectionRows.add(t)}updateAutoScroll(e,t){const s=zr.AUTO_SCROLL_EDGE_SIZE;e<s?this.startAutoScroll(-1):e>t-s?this.startAutoScroll(1):this.stopAutoScroll()}startAutoScroll(e){this.autoScrollInterval!==null&&this.autoScrollDirection===e||(this.stopAutoScroll(),this.autoScrollDirection=e,this.autoScrollInterval=setInterval(()=>{if(!this.isSelecting){this.stopAutoScroll();return}const t=zr.AUTO_SCROLL_SPEED*this.autoScrollDirection;if(this.terminal.scrollLines(t),this.selectionEnd){const s=this.wasmTerm.getDimensions();if(this.autoScrollDirection<0){const n=this.viewportRowToAbsolute(0);n<this.selectionEnd.absoluteRow&&(this.selectionEnd={col:0,absoluteRow:n})}else{const n=this.viewportRowToAbsolute(s.rows-1);n>this.selectionEnd.absoluteRow&&(this.selectionEnd={col:s.cols-1,absoluteRow:n})}}this.requestRender()},zr.AUTO_SCROLL_INTERVAL))}stopAutoScroll(){this.autoScrollInterval!==null&&(clearInterval(this.autoScrollInterval),this.autoScrollInterval=null),this.autoScrollDirection=0}pixelToCell(e,t){const s=this.renderer.getMetrics(),n=Math.floor(e/s.width),r=Math.floor(t/s.height);return{col:Math.max(0,Math.min(n,this.terminal.cols-1)),row:Math.max(0,Math.min(r,this.terminal.rows-1))}}normalizeSelection(){if(!this.selectionStart||!this.selectionEnd)return null;let{col:e,absoluteRow:t}=this.selectionStart,{col:s,absoluteRow:n}=this.selectionEnd;(t>n||t===n&&e>s)&&([e,s]=[s,e],[t,n]=[n,t]);let r=this.absoluteRowToViewport(t),i=this.absoluteRowToViewport(n);const a=this.wasmTerm.getDimensions(),g=a.rows-1;return i<0||r>g?null:(r<0&&(r=0,e=0),i>g&&(i=g,s=a.cols-1),{startCol:e,startRow:r,endCol:s,endRow:i})}getWordAtCell(e,t){const s=this.wasmTerm.getLine(t);if(!s)return null;const n=a=>{if(!a||a.codepoint===0)return!1;const g=String.fromCodePoint(a.codepoint);return/[\w-]/.test(g)};if(!n(s[e]))return null;let r=e;for(;r>0&&n(s[r-1]);)r--;let i=e;for(;i<s.length-1&&n(s[i+1]);)i++;return{startCol:r,endCol:i}}async copyToClipboard(e){if(navigator.clipboard&&navigator.clipboard.writeText)try{await navigator.clipboard.writeText(e);return}catch{}const t=document.activeElement;try{const s=this.textarea;s.value=e,s.style.position="fixed",s.style.left="-9999px",s.style.top="0",s.style.width="1px",s.style.height="1px",s.style.opacity="0",s.focus(),s.select(),s.setSelectionRange(0,e.length);const n=document.execCommand("copy");t&&t.focus(),n||console.error("❌ execCommand copy failed")}catch(s){console.error("❌ Fallback copy failed:",s),t&&t.focus()}}requestRender(){}};bn.AUTO_SCROLL_EDGE_SIZE=30;bn.AUTO_SCROLL_SPEED=3;bn.AUTO_SCROLL_INTERVAL=50;let Ud=bn;class Rd{constructor(e={}){this.unicode={get activeVersion(){return"15.1"}},this.dataEmitter=new Bo,this.resizeEmitter=new Bo,this.bellEmitter=new Bo,this.selectionChangeEmitter=new Bo,this.keyEmitter=new Bo,this.titleChangeEmitter=new Bo,this.scrollEmitter=new Bo,this.renderEmitter=new Bo,this.cursorMoveEmitter=new Bo,this.onData=this.dataEmitter.event,this.onResize=this.resizeEmitter.event,this.onBell=this.bellEmitter.event,this.onSelectionChange=this.selectionChangeEmitter.event,this.onKey=this.keyEmitter.event,this.onTitleChange=this.titleChangeEmitter.event,this.onScroll=this.scrollEmitter.event,this.onRender=this.renderEmitter.event,this.onCursorMove=this.cursorMoveEmitter.event,this.isOpen=!1,this.isDisposed=!1,this.addons=[],this.currentTitle="",this.viewportY=0,this.targetViewportY=0,this.lastCursorY=0,this.isDraggingScrollbar=!1,this.scrollbarDragStart=null,this.scrollbarDragStartViewportY=0,this.scrollbarVisible=!1,this.scrollbarOpacity=0,this.SCROLLBAR_HIDE_DELAY_MS=1500,this.SCROLLBAR_FADE_DURATION_MS=200,this.animateScroll=()=>{if(!this.wasmTerm||this.scrollAnimationStartTime===void 0)return;const s=this.options.smoothScrollDuration??100,n=this.targetViewportY-this.viewportY;if(Math.abs(n)<.01){this.viewportY=this.targetViewportY,this.scrollEmitter.fire(Math.floor(this.viewportY)),this.getScrollbackLength()>0&&this.showScrollbar(),this.scrollAnimationFrame=void 0,this.scrollAnimationStartTime=void 0,this.scrollAnimationStartY=void 0;return}const r=1-(1/(s/1e3*60))**2;this.viewportY+=n*r;const i=Math.floor(this.viewportY);this.scrollEmitter.fire(i),this.getScrollbackLength()>0&&this.showScrollbar(),this.scrollAnimationFrame=requestAnimationFrame(this.animateScroll)},this.handleMouseMove=s=>{if(!(!this.canvas||!this.renderer||!this.wasmTerm)){if(this.isDraggingScrollbar){this.processScrollbarDrag(s);return}if(this.linkDetector){if(this.mouseMoveThrottleTimeout){this.pendingMouseMove=s;return}this.processMouseMove(s),this.mouseMoveThrottleTimeout=window.setTimeout(()=>{if(this.mouseMoveThrottleTimeout=void 0,this.pendingMouseMove){const n=this.pendingMouseMove;this.pendingMouseMove=void 0,this.processMouseMove(n)}},16)}}},this.handleMouseLeave=()=>{var s,n;this.renderer&&this.wasmTerm&&((this.renderer.hoveredHyperlinkId||0)>0&&this.renderer.setHoveredHyperlinkId(0),this.renderer.setHoveredLinkRange(null)),this.currentHoveredLink&&((n=(s=this.currentHoveredLink).hover)==null||n.call(s,!1),this.currentHoveredLink=void 0,this.element&&(this.element.style.cursor="text"))},this.handleClick=async s=>{if(!this.canvas||!this.renderer||!this.linkDetector||!this.wasmTerm)return;const n=this.canvas.getBoundingClientRect(),r=Math.floor((s.clientX-n.left)/this.renderer.charWidth),i=Math.floor((s.clientY-n.top)/this.renderer.charHeight),a=this.wasmTerm.getScrollbackLength();let g;const Q=this.getViewportY(),l=Math.max(0,Math.floor(Q));if(l>0)if(i<l)g=a-l+i;else{const d=i-l;g=a+d}else g=a+i;const u=await this.linkDetector.getLinkAt(r,g);u&&(u.activate(s),(s.ctrlKey||s.metaKey)&&s.preventDefault())},this.handleWheel=s=>{var n,r,i;if(s.preventDefault(),s.stopPropagation(),!(this.customWheelEventHandler&&this.customWheelEventHandler(s)))if(((n=this.wasmTerm)==null?void 0:n.isAlternateScreen())??!1){const a=s.deltaY>0?"down":"up",g=Math.min(Math.abs(Math.round(s.deltaY/33)),5);for(let Q=0;Q<g;Q++)a==="up"?this.dataEmitter.fire("\x1B[A"):this.dataEmitter.fire("\x1B[B")}else{let a;if(s.deltaMode===WheelEvent.DOM_DELTA_PIXEL){const g=((i=(r=this.renderer)==null?void 0:r.getMetrics())==null?void 0:i.height)??20;a=s.deltaY/g}else s.deltaMode===WheelEvent.DOM_DELTA_LINE?a=s.deltaY:s.deltaMode===WheelEvent.DOM_DELTA_PAGE?a=s.deltaY*this.rows:a=s.deltaY/33;if(a!==0){const g=this.viewportY-a;this.smoothScrollTo(g)}}},this.handleMouseDown=s=>{if(!this.canvas||!this.renderer||!this.wasmTerm)return;const n=this.wasmTerm.getScrollbackLength();if(n===0)return;const r=this.canvas.getBoundingClientRect(),i=s.clientX-r.left,a=s.clientY-r.top,g=r.width,Q=r.height,l=8,u=g-l-4,d=4;if(i>=u&&i<=u+l){s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation();const E=Q-d*2,C=this.rows,p=n+C,f=Math.max(20,C/p*E),M=this.viewportY/n,S=d+(E-f)*(1-M);if(a>=S&&a<=S+f)this.isDraggingScrollbar=!0,this.scrollbarDragStart=a,this.scrollbarDragStartViewportY=this.viewportY,this.canvas&&(this.canvas.style.userSelect="none",this.canvas.style.webkitUserSelect="none");else{const N=1-(a-d)/E,T=Math.round(N*n);this.scrollToLine(Math.max(0,Math.min(n,T)))}}},this.handleMouseUp=()=>{this.isDraggingScrollbar&&(this.isDraggingScrollbar=!1,this.scrollbarDragStart=null,this.canvas&&(this.canvas.style.userSelect="",this.canvas.style.webkitUserSelect=""),this.scrollbarVisible&&this.getScrollbackLength()>0&&this.showScrollbar())},this.ghostty=e.ghostty??qd();const t={cols:e.cols??80,rows:e.rows??24,cursorBlink:e.cursorBlink??!1,cursorStyle:e.cursorStyle??"block",theme:e.theme??{},scrollback:e.scrollback??1e4,fontSize:e.fontSize??15,fontFamily:e.fontFamily??"monospace",allowTransparency:e.allowTransparency??!1,convertEol:e.convertEol??!1,disableStdin:e.disableStdin??!1,smoothScrollDuration:e.smoothScrollDuration??100};this.options=new Proxy(t,{set:(s,n,r)=>{const i=s[n];return s[n]=r,this.isOpen&&this.handleOptionChange(n,r,i),!0}}),this.cols=this.options.cols,this.rows=this.options.rows,this.buffer=new Nd(this)}handleOptionChange(e,t,s){if(t!==s)switch(e){case"disableStdin":break;case"cursorBlink":case"cursorStyle":this.renderer&&(this.renderer.setCursorStyle(this.options.cursorStyle),this.renderer.setCursorBlink(this.options.cursorBlink));break;case"theme":this.renderer&&console.warn("ghostty-web: theme changes after open() are not yet fully supported");break;case"fontSize":this.renderer&&(this.renderer.setFontSize(this.options.fontSize),this.handleFontChange());break;case"fontFamily":this.renderer&&(this.renderer.setFontFamily(this.options.fontFamily),this.handleFontChange());break;case"cols":case"rows":this.resize(this.options.cols,this.options.rows);break}}handleFontChange(){if(!this.renderer||!this.wasmTerm||!this.canvas)return;this.selectionManager&&this.selectionManager.clearSelection(),this.renderer.resize(this.cols,this.rows);const e=this.renderer.getMetrics();this.canvas.width=e.width*this.cols,this.canvas.height=e.height*this.rows,this.canvas.style.width=`${e.width*this.cols}px`,this.canvas.style.height=`${e.height*this.rows}px`,this.renderer.render(this.wasmTerm,!0,this.viewportY,this)}parseColorToHex(e){if(!e)return 0;if(e.startsWith("#")){let s=e.slice(1);s.length===3&&(s=s[0]+s[0]+s[1]+s[1]+s[2]+s[2]);const n=Number.parseInt(s,16);return Number.isNaN(n)?0:n}const t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(t){const s=Number.parseInt(t[1],10),n=Number.parseInt(t[2],10),r=Number.parseInt(t[3],10);return s<<16|n<<8|r}return 0}buildWasmConfig(){const e=this.options.theme,t=this.options.scrollback;if(!e&&t===1e4)return;const s=[this.parseColorToHex(e?.black),this.parseColorToHex(e?.red),this.parseColorToHex(e?.green),this.parseColorToHex(e?.yellow),this.parseColorToHex(e?.blue),this.parseColorToHex(e?.magenta),this.parseColorToHex(e?.cyan),this.parseColorToHex(e?.white),this.parseColorToHex(e?.brightBlack),this.parseColorToHex(e?.brightRed),this.parseColorToHex(e?.brightGreen),this.parseColorToHex(e?.brightYellow),this.parseColorToHex(e?.brightBlue),this.parseColorToHex(e?.brightMagenta),this.parseColorToHex(e?.brightCyan),this.parseColorToHex(e?.brightWhite)];return{scrollbackLimit:t,fgColor:this.parseColorToHex(e?.foreground),bgColor:this.parseColorToHex(e?.background),cursorColor:this.parseColorToHex(e?.cursor),palette:s}}open(e){if(this.isOpen)throw new Error("Terminal is already open");if(this.isDisposed)throw new Error("Terminal has been disposed");this.element=e,this.isOpen=!0;try{e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.setAttribute("contenteditable","true"),e.addEventListener("beforeinput",n=>n.preventDefault()),e.setAttribute("role","textbox"),e.setAttribute("aria-label","Terminal input"),e.setAttribute("aria-multiline","true");const t=this.buildWasmConfig();this.wasmTerm=this.ghostty.createTerminal(this.cols,this.rows,t),this.canvas=document.createElement("canvas"),this.canvas.style.display="block",e.appendChild(this.canvas),this.textarea=document.createElement("textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.setAttribute("tabindex","0"),this.textarea.setAttribute("aria-label","Terminal input"),this.textarea.style.position="absolute",this.textarea.style.left="0",this.textarea.style.top="0",this.textarea.style.width="1px",this.textarea.style.height="1px",this.textarea.style.padding="0",this.textarea.style.border="none",this.textarea.style.margin="0",this.textarea.style.opacity="0",this.textarea.style.clipPath="inset(50%)",this.textarea.style.overflow="hidden",this.textarea.style.whiteSpace="nowrap",this.textarea.style.resize="none",e.appendChild(this.textarea);const s=this.textarea;this.canvas.addEventListener("mousedown",n=>{n.preventDefault(),s.focus()}),this.canvas.addEventListener("touchend",n=>{n.preventDefault(),s.focus()}),this.renderer=new Sd(this.canvas,{fontSize:this.options.fontSize,fontFamily:this.options.fontFamily,cursorStyle:this.options.cursorStyle,cursorBlink:this.options.cursorBlink,theme:this.options.theme}),this.renderer.resize(this.cols,this.rows),this.inputHandler=new bd(this.ghostty,e,n=>{this.options.disableStdin||this.dataEmitter.fire(n)},()=>{this.bellEmitter.fire()},n=>{this.keyEmitter.fire(n)},this.customKeyEventHandler,n=>{var r;return((r=this.wasmTerm)==null?void 0:r.getMode(n,!1))??!1}),this.selectionManager=new Ud(this,this.renderer,this.wasmTerm,this.textarea),this.renderer.setSelectionManager(this.selectionManager),this.selectionManager.onSelectionChange(()=>{this.selectionChangeEmitter.fire()}),this.textarea.addEventListener("paste",n=>{var r;n.preventDefault(),n.stopPropagation();const i=(r=n.clipboardData)==null?void 0:r.getData("text");i&&this.paste(i)}),this.linkDetector=new Fd(this),this.linkDetector.registerProvider(new Gd(this)),this.linkDetector.registerProvider(new vd(this)),e.addEventListener("mousedown",this.handleMouseDown,{capture:!0}),e.addEventListener("mousemove",this.handleMouseMove),e.addEventListener("mouseleave",this.handleMouseLeave),e.addEventListener("click",this.handleClick),document.addEventListener("mouseup",this.handleMouseUp),e.addEventListener("wheel",this.handleWheel,{passive:!1,capture:!0}),this.renderer.render(this.wasmTerm,!0,this.viewportY,this,this.scrollbarOpacity),this.startRenderLoop(),this.focus()}catch(t){throw this.isOpen=!1,this.cleanupComponents(),new Error(`Failed to open terminal: ${t}`)}}write(e,t){this.assertOpen(),this.options.convertEol&&typeof e=="string"&&(e=e.replace(/\n/g,`\r
|
|
12
|
+
`)),this.writeInternal(e,t)}writeInternal(e,t){var s;this.wasmTerm.write(e),this.processTerminalResponses(),typeof e=="string"&&e.includes("\x07")?this.bellEmitter.fire():e instanceof Uint8Array&&e.includes(7)&&this.bellEmitter.fire(),(s=this.linkDetector)==null||s.invalidateCache(),this.viewportY!==0&&this.scrollToBottom(),typeof e=="string"&&e.includes("\x1B]")&&this.checkForTitleChange(e),t&&requestAnimationFrame(t)}writeln(e,t){if(typeof e=="string")this.write(e+`\r
|
|
13
|
+
`,t);else{const s=new Uint8Array(e.length+2);s.set(e),s[e.length]=13,s[e.length+1]=10,this.write(s,t)}}paste(e){this.assertOpen(),!this.options.disableStdin&&(this.wasmTerm.hasBracketedPaste()?this.dataEmitter.fire("\x1B[200~"+e+"\x1B[201~"):this.dataEmitter.fire(e))}input(e,t=!1){this.assertOpen(),!this.options.disableStdin&&(t?this.dataEmitter.fire(e):this.write(e))}resize(e,t){if(this.assertOpen(),e===this.cols&&t===this.rows)return;this.cols=e,this.rows=t,this.wasmTerm.resize(e,t),this.renderer.resize(e,t);const s=this.renderer.getMetrics();this.canvas.width=s.width*e,this.canvas.height=s.height*t,this.canvas.style.width=`${s.width*e}px`,this.canvas.style.height=`${s.height*t}px`,this.resizeEmitter.fire({cols:e,rows:t}),this.renderer.render(this.wasmTerm,!0,this.viewportY,this)}clear(){this.assertOpen(),this.wasmTerm.write("\x1B[2J\x1B[H")}reset(){this.assertOpen(),this.wasmTerm&&this.wasmTerm.free();const e=this.buildWasmConfig();this.wasmTerm=this.ghostty.createTerminal(this.cols,this.rows,e),this.renderer.clear(),this.currentTitle=""}focus(){this.isOpen&&this.element&&(this.element.focus(),setTimeout(()=>{var e;(e=this.element)==null||e.focus()},0))}blur(){this.isOpen&&this.element&&this.element.blur()}loadAddon(e){e.activate(this),this.addons.push(e)}getSelection(){var e;return((e=this.selectionManager)==null?void 0:e.getSelection())||""}hasSelection(){var e;return((e=this.selectionManager)==null?void 0:e.hasSelection())||!1}clearSelection(){var e;(e=this.selectionManager)==null||e.clearSelection()}selectAll(){var e;(e=this.selectionManager)==null||e.selectAll()}select(e,t,s){var n;(n=this.selectionManager)==null||n.select(e,t,s)}selectLines(e,t){var s;(s=this.selectionManager)==null||s.selectLines(e,t)}getViewportY(){return this.viewportY}getSelectionPosition(){var e;return(e=this.selectionManager)==null?void 0:e.getSelectionPosition()}attachCustomKeyEventHandler(e){this.customKeyEventHandler=e,this.inputHandler&&this.inputHandler.setCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this.customWheelEventHandler=e}registerLinkProvider(e){if(!this.linkDetector)throw new Error("Terminal must be opened before registering link providers");this.linkDetector.registerProvider(e)}scrollLines(e){if(!this.wasmTerm)throw new Error("Terminal not open");const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,this.viewportY-e));s!==this.viewportY&&(this.viewportY=s,this.scrollEmitter.fire(this.viewportY),t>0&&this.showScrollbar())}scrollPages(e){this.scrollLines(e*this.rows)}scrollToTop(){const e=this.getScrollbackLength();e>0&&this.viewportY!==e&&(this.viewportY=e,this.scrollEmitter.fire(this.viewportY),this.showScrollbar())}scrollToBottom(){this.viewportY!==0&&(this.viewportY=0,this.scrollEmitter.fire(this.viewportY),this.getScrollbackLength()>0&&this.showScrollbar())}scrollToLine(e){const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,e));s!==this.viewportY&&(this.viewportY=s,this.scrollEmitter.fire(this.viewportY),t>0&&this.showScrollbar())}smoothScrollTo(e){if(!this.wasmTerm)return;const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,e));if((this.options.smoothScrollDuration??100)===0){this.viewportY=s,this.targetViewportY=s,this.scrollEmitter.fire(Math.floor(this.viewportY)),t>0&&this.showScrollbar();return}this.targetViewportY=s,!this.scrollAnimationFrame&&(this.scrollAnimationStartTime=Date.now(),this.scrollAnimationStartY=this.viewportY,this.animateScroll())}dispose(){if(!this.isDisposed){this.isDisposed=!0,this.isOpen=!1,this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0),this.scrollAnimationFrame&&(cancelAnimationFrame(this.scrollAnimationFrame),this.scrollAnimationFrame=void 0),this.mouseMoveThrottleTimeout&&(clearTimeout(this.mouseMoveThrottleTimeout),this.mouseMoveThrottleTimeout=void 0),this.pendingMouseMove=void 0;for(const e of this.addons)e.dispose();this.addons=[],this.cleanupComponents(),this.dataEmitter.dispose(),this.resizeEmitter.dispose(),this.bellEmitter.dispose(),this.selectionChangeEmitter.dispose(),this.keyEmitter.dispose(),this.titleChangeEmitter.dispose(),this.scrollEmitter.dispose(),this.renderEmitter.dispose(),this.cursorMoveEmitter.dispose()}}startRenderLoop(){const e=()=>{if(!this.isDisposed&&this.isOpen){this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity);const t=this.wasmTerm.getCursor();t.y!==this.lastCursorY&&(this.lastCursorY=t.y,this.cursorMoveEmitter.fire()),this.animationFrameId=requestAnimationFrame(e)}};e()}getScrollbackLine(e){return this.wasmTerm?this.wasmTerm.getScrollbackLine(e):null}getScrollbackLength(){return this.wasmTerm?this.wasmTerm.getScrollbackLength():0}cleanupComponents(){this.selectionManager&&(this.selectionManager.dispose(),this.selectionManager=void 0),this.inputHandler&&(this.inputHandler.dispose(),this.inputHandler=void 0),this.renderer&&(this.renderer.dispose(),this.renderer=void 0),this.canvas&&this.canvas.parentNode&&(this.canvas.parentNode.removeChild(this.canvas),this.canvas=void 0),this.textarea&&this.textarea.parentNode&&(this.textarea.parentNode.removeChild(this.textarea),this.textarea=void 0),this.element&&(this.element.removeEventListener("wheel",this.handleWheel),this.element.removeEventListener("mousedown",this.handleMouseDown,{capture:!0}),this.element.removeEventListener("mousemove",this.handleMouseMove),this.element.removeEventListener("mouseleave",this.handleMouseLeave),this.element.removeEventListener("click",this.handleClick),this.element.removeAttribute("contenteditable"),this.element.removeAttribute("role"),this.element.removeAttribute("aria-label"),this.element.removeAttribute("aria-multiline")),this.isOpen&&typeof document<"u"&&document.removeEventListener("mouseup",this.handleMouseUp),this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.linkDetector&&(this.linkDetector.dispose(),this.linkDetector=void 0),this.wasmTerm&&(this.wasmTerm.free(),this.wasmTerm=void 0),this.ghostty=void 0,this.element=void 0,this.textarea=void 0}assertOpen(){if(this.isDisposed)throw new Error("Terminal has been disposed");if(!this.isOpen)throw new Error("Terminal must be opened before use. Call terminal.open(parent) first.")}processMouseMove(e){if(!this.canvas||!this.renderer||!this.linkDetector||!this.wasmTerm)return;const t=this.canvas.getBoundingClientRect(),s=Math.floor((e.clientX-t.left)/this.renderer.charWidth),n=Math.floor((e.clientY-t.top)/this.renderer.charHeight);let r=0,i=null;const a=this.getViewportY(),g=Math.max(0,Math.floor(a));if(g>0){const C=this.wasmTerm.getScrollbackLength();if(n<g){const p=C-g+n;i=this.wasmTerm.getScrollbackLine(p)}else{const p=n-g;i=this.wasmTerm.getLine(p)}}else i=this.wasmTerm.getLine(n);i&&s>=0&&s<i.length&&(r=i[s].hyperlink_id);const Q=this.renderer.hoveredHyperlinkId||0;r!==Q&&this.renderer.setHoveredHyperlinkId(r);const l=this.wasmTerm.getScrollbackLength();let u;const d=this.getViewportY(),E=Math.max(0,Math.floor(d));if(E>0)if(n<E)u=l-E+n;else{const C=n-E;u=l+C}else u=l+n;this.linkDetector.getLinkAt(s,u).then(C=>{var p,f,M,S;if(C!==this.currentHoveredLink&&((f=(p=this.currentHoveredLink)==null?void 0:p.hover)==null||f.call(p,!1),this.currentHoveredLink=C,(M=C?.hover)==null||M.call(C,!0),this.element&&(this.element.style.cursor=C?"pointer":"text"),this.renderer))if(C){const N=((S=this.wasmTerm)==null?void 0:S.getScrollbackLength())||0,T=this.getViewportY(),L=Math.max(0,Math.floor(T)),Z=C.range.start.y-N+L,AA=C.range.end.y-N+L;Z<this.rows&&AA>=0?this.renderer.setHoveredLinkRange({startX:C.range.start.x,startY:Math.max(0,Z),endX:C.range.end.x,endY:Math.min(this.rows-1,AA)}):this.renderer.setHoveredLinkRange(null)}else this.renderer.setHoveredLinkRange(null)}).catch(C=>{console.warn("Link detection error:",C)})}processScrollbarDrag(e){if(!this.canvas||!this.renderer||!this.wasmTerm||this.scrollbarDragStart===null)return;const t=this.wasmTerm.getScrollbackLength();if(t===0)return;const s=this.canvas.getBoundingClientRect(),n=e.clientY-s.top-this.scrollbarDragStart,r=s.height-8,i=this.rows,a=t+i,g=Math.max(20,i/a*r),Q=-n/(r-g),l=Math.round(Q*t),u=this.scrollbarDragStartViewportY+l;this.scrollToLine(Math.max(0,Math.min(t,u)))}showScrollbar(){this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.scrollbarVisible?this.scrollbarOpacity=1:(this.scrollbarVisible=!0,this.scrollbarOpacity=0,this.fadeInScrollbar()),this.isDraggingScrollbar||(this.scrollbarHideTimeout=window.setTimeout(()=>{this.hideScrollbar()},this.SCROLLBAR_HIDE_DELAY_MS))}hideScrollbar(){this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.scrollbarVisible&&this.fadeOutScrollbar()}fadeInScrollbar(){const e=Date.now(),t=()=>{const s=Date.now()-e,n=Math.min(s/this.SCROLLBAR_FADE_DURATION_MS,1);this.scrollbarOpacity=n,this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity),n<1&&requestAnimationFrame(t)};t()}fadeOutScrollbar(){const e=Date.now(),t=this.scrollbarOpacity,s=()=>{const n=Date.now()-e,r=Math.min(n/this.SCROLLBAR_FADE_DURATION_MS,1);this.scrollbarOpacity=t*(1-r),this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity),r<1?requestAnimationFrame(s):(this.scrollbarVisible=!1,this.scrollbarOpacity=0,this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,0))};s()}processTerminalResponses(){if(!this.wasmTerm)return;const e=this.wasmTerm.readResponse();e&&this.dataEmitter.fire(e)}checkForTitleChange(e){const t=/\x1b\]([012]);([^\x07\x1b]*?)(?:\x07|\x1b\\)/g;let s=null;for(;(s=t.exec(e))!==null;){const n=s[1],r=s[2];(n==="0"||n==="2")&&r!==this.currentTitle&&(this.currentTitle=r,this.titleChangeEmitter.fire(r))}}getMode(e,t=!1){return this.assertOpen(),this.wasmTerm.getMode(e,t)}hasBracketedPaste(){return this.assertOpen(),this.wasmTerm.hasBracketedPaste()}hasFocusEvents(){return this.assertOpen(),this.wasmTerm.hasFocusEvents()}hasMouseTracking(){return this.assertOpen(),this.wasmTerm.hasMouseTracking()}}const Kd=2,Jd=1,Ld=15,jd=100;class Td{constructor(){this._isResizing=!1}activate(e){this._terminal=e}dispose(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=void 0),this._resizeDebounceTimer&&(clearTimeout(this._resizeDebounceTimer),this._resizeDebounceTimer=void 0),this._lastCols=void 0,this._lastRows=void 0,this._terminal=void 0}fit(){if(this._isResizing)return;const e=this.proposeDimensions();if(!e||!this._terminal)return;const t=this._terminal,s=t.cols,n=t.rows;if(!(e.cols===this._lastCols&&e.rows===this._lastRows||e.cols===s&&e.rows===n)){this._lastCols=e.cols,this._lastRows=e.rows,this._isResizing=!0;try{t.resize&&typeof t.resize=="function"&&t.resize(e.cols,e.rows)}finally{setTimeout(()=>{this._isResizing=!1},50)}}}proposeDimensions(){var e;if(!((e=this._terminal)!=null&&e.element))return;const t=this._terminal.renderer;if(!t||typeof t.getMetrics!="function")return;const s=t.getMetrics();if(!s||s.width===0||s.height===0)return;const n=this._terminal.element;if(typeof n.clientWidth>"u")return;const r=window.getComputedStyle(n),i=Number.parseInt(r.getPropertyValue("padding-top"))||0,a=Number.parseInt(r.getPropertyValue("padding-bottom"))||0,g=Number.parseInt(r.getPropertyValue("padding-left"))||0,Q=Number.parseInt(r.getPropertyValue("padding-right"))||0,l=n.clientWidth,u=n.clientHeight;if(l===0||u===0)return;const d=l-g-Q-Ld,E=u-i-a,C=Math.max(Kd,Math.floor(d/s.width)),p=Math.max(Jd,Math.floor(E/s.height));return{cols:C,rows:p}}observeResize(){var e;(e=this._terminal)!=null&&e.element&&(this._resizeObserver||(this._resizeObserver=new ResizeObserver(t=>{this._isResizing||!t[0]||(this._resizeDebounceTimer&&clearTimeout(this._resizeDebounceTimer),this._resizeDebounceTimer=setTimeout(()=>{this.fit()},jd))}),this._resizeObserver.observe(this._terminal.element)))}}let nn=null;async function Od(){nn||(nn=await sr.load())}function qd(){if(!nn)throw new Error(`ghostty-web not initialized. Call init() before creating Terminal instances.
|
|
14
|
+
Example:
|
|
15
|
+
import { init, Terminal } from "ghostty-web";
|
|
16
|
+
await init();
|
|
17
|
+
const term = new Terminal();
|
|
18
|
+
|
|
19
|
+
For tests, pass a Ghostty instance directly:
|
|
20
|
+
import { Ghostty, Terminal } from "ghostty-web";
|
|
21
|
+
const ghostty = await Ghostty.load();
|
|
22
|
+
const term = new Terminal({ ghostty });`);return nn}const Yd={};function $B(){const A=Yd?.VITE_API_BASE_URL;if(A)return A;if(typeof window<"u"){const e=window;if(e.OTTO_SERVER_URL)return e.OTTO_SERVER_URL;if(e.__OTTO_API_URL__)return e.__OTTO_API_URL__}return"http://localhost:9100"}function Al(){return $B()}const Xo=$B(),Hd='"JetBrainsMono NFM", monospace',Pd=1500,Wd=5,zd=600;function Vd(){if(typeof document>"u")return"#121216";const A=document.createElement("div");A.style.display="none",A.className="bg-background",document.body.appendChild(A);const e=getComputedStyle(A).backgroundColor;document.body.removeChild(A);const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(t){const s=Number(t[1]),n=Number(t[2]),r=Number(t[3]);return`#${(1<<24|s<<16|n<<8|r).toString(16).slice(1)}`}return"#121216"}let Sg=!1;async function Zd(){if(Sg||typeof document>"u"||!("FontFace"in window))return;const e=[{file:"JetBrainsMonoNerdFontMono-Regular.woff2",weight:"400",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Bold.woff2",weight:"700",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Italic.woff2",weight:"400",style:"italic"},{file:"JetBrainsMonoNerdFontMono-BoldItalic.woff2",weight:"700",style:"italic"}].map(async t=>{try{const s=new URL(Object.assign({"../../assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2":WB,"../../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":zB,"../../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":VB,"../../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":ZB})[`../../assets/fonts/${t.file}`],import.meta.url).href,r=await new FontFace("JetBrainsMono NFM",`url("${s}") format("woff2")`,{weight:t.weight,style:t.style}).load();document.fonts.add(r)}catch{}});await Promise.allSettled(e),Sg=!0}function _d(){const A=NA.getConfig?.();return A&&typeof A.baseURL=="string"&&A.baseURL.length>0?A.baseURL:Al()}function Xd({terminalId:A,isActive:e,onExit:t}){const s=D.useRef(null),n=D.useRef(null),r=D.useRef(null),i=D.useRef(null),a=D.useRef(0),g=D.useRef(null),Q=D.useRef(!1),[l,u]=D.useState(!1),d=D.useRef(t);d.current=t;const E=D.useRef(null),C=D.useRef(!1),p=D.useRef("#121216"),f=D.useRef(null),M=D.useCallback(()=>{if(r.current)try{r.current.fit()}catch{}},[]),S=D.useCallback((N,T,L)=>{i.current&&(i.current.abort(),i.current=null);const Z=`${T}/v1/terminals/${A}/output${L?"?skipHistory=true":""}`,AA=!T.includes("localhost")&&!T.includes("127.0.0.1"),_=new AbortController;i.current=_;let J=!1;const P=K=>{try{const w=JSON.parse(K);if(w.type==="data"){const B=C.current?N.getViewportY():0;N.write(w.line),C.current&&B>0&&N.scrollToLine(B),Q.current=!0,J||(J=!0,setTimeout(()=>u(!0),200))}else w.type==="exit"&&(N.write(`\r
|
|
23
|
+
\x1B[33m[Process exited with code ${w.exitCode}]\x1B[0m\r
|
|
24
|
+
`),d.current&&d.current(A))}catch{}};(async()=>{try{const K=await fetch(Z,{method:AA?"POST":"GET",headers:{Accept:"text/event-stream"},signal:_.signal});if(!K.ok||!K.body)return;a.current=0;const w=K.body.getReader(),B=new TextDecoder;let I="";for(;;){const{done:y,value:G}=await w.read();if(y)break;I+=B.decode(G,{stream:!0});let j=I.indexOf(`
|
|
25
|
+
|
|
26
|
+
`);for(;j!==-1;){const O=I.slice(0,j);I=I.slice(j+2);for(const z of O.split(`
|
|
27
|
+
`))z.startsWith("data: ")&&P(z.slice(6));j=I.indexOf(`
|
|
28
|
+
|
|
29
|
+
`)}}}catch(K){if(K instanceof Error&&K.name==="AbortError")return}i.current===_&&(i.current=null),!_.signal.aborted&&a.current<Wd&&(a.current++,g.current=setTimeout(()=>{n.current&&S(n.current,T,!0)},Pd))})()},[A]);return D.useEffect(()=>{if(!s.current||!A)return;let N=!1,T=null,L=null,Z=null;return u(!1),a.current=0,Q.current=!1,i.current&&(i.current.abort(),i.current=null),g.current&&(clearTimeout(g.current),g.current=null),(async()=>{if(await Od(),N||!s.current)return;await Zd(),await document.fonts.ready;const _=Vd();T=new Rd({theme:{background:_,foreground:"#d4d4d4",cursor:"#ffffff",cursorAccent:"#000000",selectionBackground:"#264f78",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#e5e5e5"},fontSize:13,fontFamily:Hd,cursorBlink:!0,convertEol:!0,scrollback:5e3}),L=new Td,T.loadAddon(L),T.open(s.current),T.onData(()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!1),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{n.current?.renderer&&document.activeElement&&s.current?.contains(document.activeElement)&&n.current.renderer.setCursorBlink(!0)},zd))}),p.current=_;const J=()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!0),n.current.renderer.setTheme({cursor:"#ffffff",cursorAccent:"#000000"}))},P=()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!1),n.current.renderer.setTheme({cursor:p.current,cursorAccent:p.current}))};if(s.current.addEventListener("focusin",J),s.current.addEventListener("focusout",P),f.current={focusin:J,focusout:P},await new Promise(w=>{requestAnimationFrame(()=>{try{L?.fit()}catch{}w()})}),N)return;const b=_d(),K=(w,B)=>{fetch(`${b}/v1/terminals/${A}/resize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cols:w,rows:B})}).catch(()=>{})};T&&K(T.cols,T.rows),S(T,b,!1),T.onData(w=>{fetch(`${b}/v1/terminals/${A}/input`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({input:w})}).catch(()=>{})}),T.onResize(({cols:w,rows:B})=>{K(w,B)}),T.onScroll(()=>{C.current=T.getViewportY()>0}),n.current=T,r.current=L,Z=new ResizeObserver(()=>{requestAnimationFrame(()=>{if(r.current&&!N)try{r.current.fit()}catch{}})}),Z.observe(s.current),setTimeout(()=>{N||u(!0)},2e3)})().catch(_=>{console.error("[TerminalViewer] Failed to initialize:",_)}),()=>{N=!0,s.current&&f.current&&(s.current.removeEventListener("focusin",f.current.focusin),s.current.removeEventListener("focusout",f.current.focusout),f.current=null),E.current&&(clearTimeout(E.current),E.current=null),g.current&&(clearTimeout(g.current),g.current=null),i.current&&(i.current.abort(),i.current=null),Z&&Z.disconnect(),T&&T.dispose(),n.current=null,r.current=null}},[A,S]),D.useEffect(()=>{const N=n.current;N&&(e?(M(),N.focus()):(N.blur(),N.renderer&&(N.renderer.setCursorBlink(!1),N.renderer.setTheme({cursor:p.current,cursorAccent:p.current}))))},[e,M]),D.useEffect(()=>{M()},[M]),o.jsx("div",{className:"flex h-full flex-col overflow-hidden bg-background absolute inset-0",style:{visibility:e?"visible":"hidden"},"data-terminal-viewer":!0,children:o.jsxs("div",{className:"relative flex-1 min-h-0 overflow-hidden",children:[o.jsx("div",{ref:s,className:"absolute inset-0 bg-background"}),o.jsx("div",{className:"absolute inset-0 bg-background flex items-center justify-center pointer-events-none transition-opacity duration-300",style:{opacity:l?0:1},children:o.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[o.jsxs("svg",{className:"animate-spin h-4 w-4",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[o.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),o.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),o.jsx("span",{className:"text-xs",children:"Loading terminal…"})]})})]})})}const Ug=150,$d=.85,Ah=D.memo(function(){const e=eo(L=>L.isOpen),t=eo(L=>L.panelHeight),s=eo(L=>L.setPanelHeight),n=eo(L=>L.activeTabId),r=eo(L=>L.selectTab),i=eo(L=>L.closePanel),a=eo(L=>L.isMaximized),g=eo(L=>L.toggleMaximize),Q=eo(L=>L.togglePanel),{data:l}=PB(),u=md(),d=wd(),E=D.useRef(null),C=l?.terminals??[],p=D.useRef(!1),f=D.useRef(C);f.current=C,D.useEffect(()=>{e&&f.current.length>0&&(!n||!f.current.find(L=>L.id===n))&&r(f.current[0].id)},[e,C.length,n,r]),D.useEffect(()=>{e&&l&&C.length===0&&!p.current&&!u.isPending&&(p.current=!0,u.mutateAsync({command:"bash",purpose:"Manual shell"}).then(L=>{r(L.terminalId)}).catch(()=>{}).finally(()=>{p.current=!1}))},[e,l,C.length,r]);const M=D.useCallback(async()=>{try{const L=await u.mutateAsync({command:"bash",purpose:"Manual shell"});r(L.terminalId)}catch{}},[u,r]),S=D.useCallback(async L=>{try{if(await d.mutateAsync(L),n===L){const Z=f.current.filter(AA=>AA.id!==L);Z.length>0?r(Z[0].id):(r(null),i())}}catch{}},[d,n,r,i]);D.useEffect(()=>{const L=Z=>{Z.key==="`"&&Z.ctrlKey&&(Z.preventDefault(),Q())};return window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)},[Q]);const N=D.useCallback(L=>{L.preventDefault(),E.current={startY:L.clientY,startHeight:t};const Z=_=>{if(!E.current)return;const J=E.current.startY-_.clientY,P=E.current.startHeight+J,b=window.innerHeight*$d;s(Math.min(Math.max(Ug,P),b))},AA=()=>{E.current=null,document.removeEventListener("mousemove",Z),document.removeEventListener("mouseup",AA),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",Z),document.addEventListener("mouseup",AA),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[t,s]);if(!e)return null;const T=a?"100%":`${t}px`;return o.jsxs("div",{className:"border-t border-border bg-background flex flex-col shrink-0 relative",style:{height:T,minHeight:Ug},children:[!a&&o.jsx("div",{className:"h-2 w-full cursor-row-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute -top-1 left-0 right-0 z-10",onMouseDown:N}),o.jsxs("div",{className:"h-9 border-b border-border flex items-center shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-1.5 px-3 shrink-0 border-r border-border h-full",children:[o.jsx(oo,{className:"w-3.5 h-3.5 text-muted-foreground"}),o.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Terminal"}),C.length>0&&o.jsxs("span",{className:"text-[10px] text-muted-foreground/70",children:["(",C.length,")"]})]}),o.jsx(xd,{terminals:C,onNewTerminal:M,onKillTerminal:S,isCreating:u.isPending}),o.jsxs("div",{className:"ml-auto flex items-center gap-0.5 px-2 shrink-0",children:[o.jsx("button",{type:"button",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:g,title:a?"Restore":"Maximize",children:a?o.jsx(Ea,{className:"w-3.5 h-3.5"}):o.jsx(oB,{className:"w-3.5 h-3.5"})}),o.jsx("button",{type:"button",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:i,title:"Close panel",children:o.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),o.jsxs("div",{className:"flex-1 min-h-0 overflow-hidden relative",children:[C.map(L=>o.jsx(Xd,{terminalId:L.id,isActive:L.id===n,onExit:S},L.id)),C.length===0&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[o.jsx(oo,{className:"w-8 h-8 mb-2 opacity-40"}),o.jsx("div",{className:"text-xs",children:"No terminals running"})]})]})]})}),eh=D.memo(function(){const e=eo(r=>r.isOpen),t=eo(r=>r.togglePanel),{data:s}=PB(),n=s?.count??0;return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center ${e?"bg-muted border-r-2 border-primary":"hover:bg-muted/50"}`,title:"Terminals",children:[o.jsx(oo,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:n>9?"9+":n})]})}),Qe=D.forwardRef(({className:A="",variant:e="primary",size:t="md",...s},n)=>{const r="inline-flex items-center justify-center rounded font-medium transition-colors focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed",i={primary:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-muted text-foreground hover:bg-muted/80 border border-border",ghost:"text-muted-foreground hover:text-foreground hover:bg-muted/50"},a={sm:"px-3 py-1.5 text-sm",md:"px-4 py-2 text-sm",lg:"px-6 py-3 text-base",icon:"w-10 h-10 p-0"};return o.jsx("button",{ref:n,className:`${r} ${i[e]} ${a[t]} ${A}`,...s})});Qe.displayName="Button";const th=D.forwardRef(({className:A="",children:e,...t},s)=>o.jsx("div",{ref:s,className:`bg-card text-card-foreground border border-border rounded-lg ${A}`,...t,children:e}));th.displayName="Card";const Vr=D.forwardRef(({className:A="",...e},t)=>o.jsx("input",{ref:t,className:`w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none ${A}`,...e}));Vr.displayName="Input";const Fn=D.forwardRef(({className:A="",...e},t)=>o.jsx("textarea",{ref:t,className:`w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none resize-none ${A}`,...e}));Fn.displayName="Textarea";const ka=ct(A=>({isOpen:!1,title:"Confirm Action",message:"",confirmLabel:"Confirm",cancelLabel:"Cancel",variant:"default",onConfirm:()=>{},onCancel:void 0,openConfirmation:e=>A({isOpen:!0,title:e.title||"Confirm Action",message:e.message,confirmLabel:e.confirmLabel||"Confirm",cancelLabel:e.cancelLabel||"Cancel",variant:e.variant||"default",onConfirm:e.onConfirm,onCancel:e.onCancel}),closeConfirmation:()=>A({isOpen:!1,onConfirm:()=>{},onCancel:void 0})}));function oh(){const{isOpen:A,title:e,message:t,confirmLabel:s,cancelLabel:n,variant:r,onConfirm:i,onCancel:a,closeConfirmation:g}=ka(),[Q,l]=D.useState(!1);D.useEffect(()=>{A||l(!1)},[A]);const u=D.useCallback(async()=>{l(!0);try{await i(),g()}catch(C){console.error("Confirmation action failed:",C),l(!1)}},[i,g]),d=D.useCallback(()=>{a?.(),g()},[a,g]),E=C=>{C.target===C.currentTarget&&!Q&&d()};return D.useEffect(()=>{const C=p=>{if(A&&!Q){const f=p.target,M=f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable;(p.key==="Escape"||p.key==="q"&&!M)&&(p.preventDefault(),d()),p.key==="Enter"&&(p.preventDefault(),u())}};if(A)return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[A,Q,u,d]),A?o.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:E,onKeyDown:C=>{const p=C.target,f=p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.isContentEditable;(C.key==="Escape"||C.key==="q"&&!f)&&!Q&&(C.preventDefault(),d())},children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-lg max-w-md w-full mx-4",children:[o.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[r==="destructive"&&o.jsx(uo,{className:"w-5 h-5 text-destructive"}),o.jsx("h2",{className:"text-lg font-semibold",children:e})]}),o.jsx("button",{type:"button",onClick:d,disabled:Q,className:"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50","aria-label":"Close",children:o.jsx(st,{className:"w-5 h-5"})})]}),o.jsx("div",{className:"p-4",children:o.jsx("p",{className:"text-muted-foreground",children:t})}),o.jsxs("div",{className:"flex items-center justify-end gap-3 p-4 border-t border-border",children:[o.jsx("button",{type:"button",onClick:d,disabled:Q,className:"px-4 py-2 text-sm font-medium rounded transition-colors hover:bg-muted disabled:opacity-50",children:n}),o.jsx("button",{type:"button",onClick:u,disabled:Q,className:`px-4 py-2 text-sm font-medium rounded transition-colors disabled:opacity-50 ${r==="destructive"?"bg-destructive text-destructive-foreground hover:bg-destructive/90":"bg-primary text-primary-foreground hover:bg-primary/90"}`,children:Q?"Processing...":s})]})]})}):null}let sh=0;const Co=ct(A=>({toasts:[],addToast:e=>{const t=`toast-${++sh}`;return A(s=>({toasts:[...s.toasts,{...e,id:t}]})),t},removeToast:e=>A(t=>({toasts:t.toasts.filter(s=>s.id!==e)})),updateToast:(e,t)=>A(s=>({toasts:s.toasts.map(n=>n.id===e?{...n,...t}:n)})),clearToasts:()=>A({toasts:[]})}));function he(A,e="default",t=4e3){const s=Co.getState().addToast({message:A,type:e,duration:t});return t>0&&setTimeout(()=>{Co.getState().removeToast(s)},t),s}he.success=(A,e=4e3)=>he(A,"success",e);he.error=(A,e=5e3)=>he(A,"error",e);he.info=(A,e=4e3)=>he(A,"default",e);he.loading=A=>he(A,"loading",0);he.successWithAction=(A,e,t=6e3)=>{const s=Co.getState().addToast({message:A,type:"success",duration:t,action:e});return t>0&&setTimeout(()=>{Co.getState().removeToast(s)},t),s};function Eo(A){window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:A},"*"):window.open(A,"_blank","noopener,noreferrer")}const rh={default:o.jsx(Br,{className:"h-4 w-4"}),success:o.jsx(sB,{className:"h-4 w-4 text-green-500"}),error:o.jsx(ca,{className:"h-4 w-4 text-red-500"}),loading:o.jsx(Le,{className:"h-4 w-4 animate-spin"})};function nh({toast:A}){const[e,t]=D.useState(!1),s=Co(r=>r.removeToast);D.useEffect(()=>{requestAnimationFrame(()=>t(!0))},[]);const n=()=>{t(!1),setTimeout(()=>s(A.id),150)};return o.jsxs("div",{className:`
|
|
30
|
+
flex items-center gap-3 px-4 py-3
|
|
31
|
+
bg-card border border-border rounded-lg shadow-lg
|
|
32
|
+
transition-all duration-150 ease-out cursor-pointer
|
|
33
|
+
hover:bg-accent/50
|
|
34
|
+
${e?"opacity-100 translate-y-0":"opacity-0 translate-y-2"}
|
|
35
|
+
`,onClick:n,role:"alert",children:[rh[A.type],o.jsx("span",{className:"text-sm text-foreground",children:A.message}),A.action&&o.jsxs("button",{type:"button",onClick:r=>{r.stopPropagation(),Eo(A.action?.href)},className:"ml-auto flex items-center gap-1 text-xs text-primary hover:underline",children:[A.action.label,o.jsx(bt,{className:"h-3 w-3"})]})]})}function ih(){const A=Co(e=>e.toasts);return A.length===0?null:o.jsx("div",{className:"fixed bottom-4 right-4 z-[9999] flex flex-col gap-2 max-w-sm",children:A.map(e=>o.jsx(nh,{toast:e},e.id))})}const hr=ct(A=>({pendingApprovals:[],addPendingApproval:e=>A(t=>({pendingApprovals:[...t.pendingApprovals,e]})),removePendingApproval:e=>A(t=>({pendingApprovals:t.pendingApprovals.filter(s=>s.callId!==e)})),updatePendingApproval:(e,t)=>A(s=>({pendingApprovals:s.pendingApprovals.map(n=>n.callId===e?{...n,args:t}:n)})),clearPendingApprovals:()=>A({pendingApprovals:[]}),setPendingApprovals:e=>A({pendingApprovals:e})}));function ah(A,e){let t;try{t=A()}catch{return}return{getItem:n=>{var r;const i=g=>g===null?null:JSON.parse(g,void 0),a=(r=t.getItem(n))!=null?r:null;return a instanceof Promise?a.then(i):i(a)},setItem:(n,r)=>t.setItem(n,JSON.stringify(r,void 0)),removeItem:n=>t.removeItem(n)}}const Ti=A=>e=>{try{const t=A(e);return t instanceof Promise?t:{then(s){return Ti(s)(t)},catch(s){return this}}}catch(t){return{then(s){return this},catch(s){return Ti(s)(t)}}}},gh=(A,e)=>(t,s,n)=>{let r={storage:ah(()=>window.localStorage),partialize:f=>f,version:0,merge:(f,M)=>({...M,...f}),...e},i=!1,a=0;const g=new Set,Q=new Set;let l=r.storage;if(!l)return A((...f)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),t(...f)},s,n);const u=()=>{const f=r.partialize({...s()});return l.setItem(r.name,{state:f,version:r.version})},d=n.setState;n.setState=(f,M)=>(d(f,M),u());const E=A((...f)=>(t(...f),u()),s,n);n.getInitialState=()=>E;let C;const p=()=>{var f,M;if(!l)return;const S=++a;i=!1,g.forEach(T=>{var L;return T((L=s())!=null?L:E)});const N=((M=r.onRehydrateStorage)==null?void 0:M.call(r,(f=s())!=null?f:E))||void 0;return Ti(l.getItem.bind(l))(r.name).then(T=>{if(T)if(typeof T.version=="number"&&T.version!==r.version){if(r.migrate){const L=r.migrate(T.state,T.version);return L instanceof Promise?L.then(Z=>[!0,Z]):[!0,L]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,T.state];return[!1,void 0]}).then(T=>{var L;if(S!==a)return;const[Z,AA]=T;if(C=r.merge(AA,(L=s())!=null?L:E),t(C,!0),Z)return u()}).then(()=>{S===a&&(N?.(s(),void 0),C=s(),i=!0,Q.forEach(T=>T(C)))}).catch(T=>{S===a&&N?.(void 0,T)})};return n.persist={setOptions:f=>{r={...r,...f},f.storage&&(l=f.storage)},clearStorage:()=>{l?.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>p(),hasHydrated:()=>i,onHydrate:f=>(g.add(f),()=>{g.delete(f)}),onFinishHydration:f=>(Q.add(f),()=>{Q.delete(f)})},r.skipHydration||p(),C||E},el=gh,_o=ct()(el((A,e)=>({widths:{},setWidth:(t,s)=>A(n=>({widths:{...n.widths,[t]:s}})),getWidth:(t,s)=>e().widths[t]??s}),{name:"panel-widths"})),qs=D.memo(function({panelKey:e,side:t,minWidth:s,maxWidth:n,defaultWidth:r,onWidthChange:i}){const a=D.useRef(null),g=D.useCallback(Q=>{Q.preventDefault();const l=_o.getState().getWidth(e,r);a.current={startX:Q.clientX,startWidth:l};const u=E=>{if(!a.current)return;const C=E.clientX-a.current.startX,p=t==="right"?a.current.startWidth-C:a.current.startWidth+C,f=Math.min(Math.max(s,p),n);_o.getState().setWidth(e,f),i?.(f)},d=()=>{a.current=null,document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",u),document.addEventListener("mouseup",d),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[e,t,s,n,r,i]);return o.jsx("div",{className:`w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute top-0 bottom-0 z-10 ${t==="right"?"left-0":"right-0"}`,onMouseDown:g})});function To(A){return Array.isArray?Array.isArray(A):sl(A)==="[object Array]"}function Qh(A){if(typeof A=="string")return A;let e=A+"";return e=="0"&&1/A==-1/0?"-0":e}function Bh(A){return A==null?"":Qh(A)}function yo(A){return typeof A=="string"}function tl(A){return typeof A=="number"}function lh(A){return A===!0||A===!1||Eh(A)&&sl(A)=="[object Boolean]"}function ol(A){return typeof A=="object"}function Eh(A){return ol(A)&&A!==null}function to(A){return A!=null}function Xn(A){return!A.trim().length}function sl(A){return A==null?A===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(A)}const ch="Incorrect 'index' type",Ch=A=>`Invalid value for key ${A}`,Ih=A=>`Pattern length exceeds max of ${A}.`,uh=A=>`Missing ${A} property in key`,dh=A=>`Property 'weight' in key '${A}' must be a positive integer`,Rg=Object.prototype.hasOwnProperty;class hh{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(s=>{let n=rl(s);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(s=>{s.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function rl(A){let e=null,t=null,s=null,n=1,r=null;if(yo(A)||To(A))s=A,e=Kg(A),t=Oi(A);else{if(!Rg.call(A,"name"))throw new Error(uh("name"));const i=A.name;if(s=i,Rg.call(A,"weight")&&(n=A.weight,n<=0))throw new Error(dh(i));e=Kg(i),t=Oi(i),r=A.getFn}return{path:e,id:t,weight:n,src:s,getFn:r}}function Kg(A){return To(A)?A:A.split(".")}function Oi(A){return To(A)?A.join("."):A}function fh(A,e){let t=[],s=!1;const n=(r,i,a)=>{if(to(r))if(!i[a])t.push(r);else{let g=i[a];const Q=r[g];if(!to(Q))return;if(a===i.length-1&&(yo(Q)||tl(Q)||lh(Q)))t.push(Bh(Q));else if(To(Q)){s=!0;for(let l=0,u=Q.length;l<u;l+=1)n(Q[l],i,a+1)}else i.length&&n(Q,i,a+1)}};return n(A,yo(e)?e.split("."):e,0),s?t:t[0]}const ph={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},mh={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(A,e)=>A.score===e.score?A.idx<e.idx?-1:1:A.score<e.score?-1:1},wh={location:0,threshold:.6,distance:100},xh={useExtendedSearch:!1,getFn:fh,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};var ge={...mh,...ph,...wh,...xh};const Dh=/[^ ]+/g;function yh(A=1,e=3){const t=new Map,s=Math.pow(10,e);return{get(n){const r=n.match(Dh).length;if(t.has(r))return t.get(r);const i=1/Math.pow(r,.5*A),a=parseFloat(Math.round(i*s)/s);return t.set(r,a),a},clear(){t.clear()}}}class Ma{constructor({getFn:e=ge.getFn,fieldNormWeight:t=ge.fieldNormWeight}={}){this.norm=yh(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((t,s)=>{this._keysMap[t.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,yo(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){const t=this.size();yo(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,s=this.size();t<s;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!to(e)||Xn(e))return;let s={v:e,i:t,n:this.norm.get(e)};this.records.push(s)}_addObject(e,t){let s={i:t,$:{}};this.keys.forEach((n,r)=>{let i=n.getFn?n.getFn(e):this.getFn(e,n.path);if(to(i)){if(To(i)){let a=[];const g=[{nestedArrIndex:-1,value:i}];for(;g.length;){const{nestedArrIndex:Q,value:l}=g.pop();if(to(l))if(yo(l)&&!Xn(l)){let u={v:l,i:Q,n:this.norm.get(l)};a.push(u)}else To(l)&&l.forEach((u,d)=>{g.push({nestedArrIndex:d,value:u})})}s.$[r]=a}else if(yo(i)&&!Xn(i)){let a={v:i,n:this.norm.get(i)};s.$[r]=a}}}),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function nl(A,e,{getFn:t=ge.getFn,fieldNormWeight:s=ge.fieldNormWeight}={}){const n=new Ma({getFn:t,fieldNormWeight:s});return n.setKeys(A.map(rl)),n.setSources(e),n.create(),n}function Nh(A,{getFn:e=ge.getFn,fieldNormWeight:t=ge.fieldNormWeight}={}){const{keys:s,records:n}=A,r=new Ma({getFn:e,fieldNormWeight:t});return r.setKeys(s),r.setIndexRecords(n),r}function br(A,{errors:e=0,currentLocation:t=0,expectedLocation:s=0,distance:n=ge.distance,ignoreLocation:r=ge.ignoreLocation}={}){const i=e/A.length;if(r)return i;const a=Math.abs(s-t);return n?i+a/n:a?1:i}function kh(A=[],e=ge.minMatchCharLength){let t=[],s=-1,n=-1,r=0;for(let i=A.length;r<i;r+=1){let a=A[r];a&&s===-1?s=r:!a&&s!==-1&&(n=r-1,n-s+1>=e&&t.push([s,n]),s=-1)}return A[r-1]&&r-s>=e&&t.push([s,r-1]),t}const rs=32;function Mh(A,e,t,{location:s=ge.location,distance:n=ge.distance,threshold:r=ge.threshold,findAllMatches:i=ge.findAllMatches,minMatchCharLength:a=ge.minMatchCharLength,includeMatches:g=ge.includeMatches,ignoreLocation:Q=ge.ignoreLocation}={}){if(e.length>rs)throw new Error(Ih(rs));const l=e.length,u=A.length,d=Math.max(0,Math.min(s,u));let E=r,C=d;const p=a>1||g,f=p?Array(u):[];let M;for(;(M=A.indexOf(e,C))>-1;){let AA=br(e,{currentLocation:M,expectedLocation:d,distance:n,ignoreLocation:Q});if(E=Math.min(AA,E),C=M+l,p){let _=0;for(;_<l;)f[M+_]=1,_+=1}}C=-1;let S=[],N=1,T=l+u;const L=1<<l-1;for(let AA=0;AA<l;AA+=1){let _=0,J=T;for(;_<J;)br(e,{errors:AA,currentLocation:d+J,expectedLocation:d,distance:n,ignoreLocation:Q})<=E?_=J:T=J,J=Math.floor((T-_)/2+_);T=J;let P=Math.max(1,d-J+1),b=i?u:Math.min(d+J,u)+l,K=Array(b+2);K[b+1]=(1<<AA)-1;for(let B=b;B>=P;B-=1){let I=B-1,y=t[A.charAt(I)];if(p&&(f[I]=+!!y),K[B]=(K[B+1]<<1|1)&y,AA&&(K[B]|=(S[B+1]|S[B])<<1|1|S[B+1]),K[B]&L&&(N=br(e,{errors:AA,currentLocation:I,expectedLocation:d,distance:n,ignoreLocation:Q}),N<=E)){if(E=N,C=I,C<=d)break;P=Math.max(1,2*d-C)}}if(br(e,{errors:AA+1,currentLocation:d,expectedLocation:d,distance:n,ignoreLocation:Q})>E)break;S=K}const Z={isMatch:C>=0,score:Math.max(.001,N)};if(p){const AA=kh(f,a);AA.length?g&&(Z.indices=AA):Z.isMatch=!1}return Z}function bh(A){let e={};for(let t=0,s=A.length;t<s;t+=1){const n=A.charAt(t);e[n]=(e[n]||0)|1<<s-t-1}return e}const an=String.prototype.normalize?(A=>A.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"")):(A=>A);class il{constructor(e,{location:t=ge.location,threshold:s=ge.threshold,distance:n=ge.distance,includeMatches:r=ge.includeMatches,findAllMatches:i=ge.findAllMatches,minMatchCharLength:a=ge.minMatchCharLength,isCaseSensitive:g=ge.isCaseSensitive,ignoreDiacritics:Q=ge.ignoreDiacritics,ignoreLocation:l=ge.ignoreLocation}={}){if(this.options={location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:Q,ignoreLocation:l},e=g?e:e.toLowerCase(),e=Q?an(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const u=(E,C)=>{this.chunks.push({pattern:E,alphabet:bh(E),startIndex:C})},d=this.pattern.length;if(d>rs){let E=0;const C=d%rs,p=d-C;for(;E<p;)u(this.pattern.substr(E,rs),E),E+=rs;if(C){const f=d-rs;u(this.pattern.substr(f),f)}}else u(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=s?an(e):e,this.pattern===e){let p={isMatch:!0,score:0};return n&&(p.indices=[[0,e.length-1]]),p}const{location:r,distance:i,threshold:a,findAllMatches:g,minMatchCharLength:Q,ignoreLocation:l}=this.options;let u=[],d=0,E=!1;this.chunks.forEach(({pattern:p,alphabet:f,startIndex:M})=>{const{isMatch:S,score:N,indices:T}=Mh(e,p,f,{location:r+M,distance:i,threshold:a,findAllMatches:g,minMatchCharLength:Q,includeMatches:n,ignoreLocation:l});S&&(E=!0),d+=N,S&&T&&(u=[...u,...T])});let C={isMatch:E,score:E?d/this.chunks.length:1};return E&&n&&(C.indices=u),C}}class $o{constructor(e){this.pattern=e}static isMultiMatch(e){return Jg(e,this.multiRegex)}static isSingleMatch(e){return Jg(e,this.singleRegex)}search(){}}function Jg(A,e){const t=A.match(e);return t?t[1]:null}class Fh extends $o{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class Gh extends $o{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const s=e.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}}class vh extends $o{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class Sh extends $o{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}class Uh extends $o{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}class Rh extends $o{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}class al extends $o{constructor(e,{location:t=ge.location,threshold:s=ge.threshold,distance:n=ge.distance,includeMatches:r=ge.includeMatches,findAllMatches:i=ge.findAllMatches,minMatchCharLength:a=ge.minMatchCharLength,isCaseSensitive:g=ge.isCaseSensitive,ignoreDiacritics:Q=ge.ignoreDiacritics,ignoreLocation:l=ge.ignoreLocation}={}){super(e),this._bitapSearch=new il(e,{location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:Q,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class gl extends $o{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,s;const n=[],r=this.pattern.length;for(;(s=e.indexOf(this.pattern,t))>-1;)t=s+r,n.push([s,t-1]);const i=!!n.length;return{isMatch:i,score:i?0:1,indices:n}}}const qi=[Fh,gl,vh,Sh,Rh,Uh,Gh,al],Lg=qi.length,Kh=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,Jh="|";function Lh(A,e={}){return A.split(Jh).map(t=>{let s=t.trim().split(Kh).filter(r=>r&&!!r.trim()),n=[];for(let r=0,i=s.length;r<i;r+=1){const a=s[r];let g=!1,Q=-1;for(;!g&&++Q<Lg;){const l=qi[Q];let u=l.isMultiMatch(a);u&&(n.push(new l(u,e)),g=!0)}if(!g)for(Q=-1;++Q<Lg;){const l=qi[Q];let u=l.isSingleMatch(a);if(u){n.push(new l(u,e));break}}}return n})}const jh=new Set([al.type,gl.type]);class Th{constructor(e,{isCaseSensitive:t=ge.isCaseSensitive,ignoreDiacritics:s=ge.ignoreDiacritics,includeMatches:n=ge.includeMatches,minMatchCharLength:r=ge.minMatchCharLength,ignoreLocation:i=ge.ignoreLocation,findAllMatches:a=ge.findAllMatches,location:g=ge.location,threshold:Q=ge.threshold,distance:l=ge.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n,minMatchCharLength:r,findAllMatches:a,ignoreLocation:i,location:g,threshold:Q,distance:l},e=t?e:e.toLowerCase(),e=s?an(e):e,this.pattern=e,this.query=Lh(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:s,isCaseSensitive:n,ignoreDiacritics:r}=this.options;e=n?e:e.toLowerCase(),e=r?an(e):e;let i=0,a=[],g=0;for(let Q=0,l=t.length;Q<l;Q+=1){const u=t[Q];a.length=0,i=0;for(let d=0,E=u.length;d<E;d+=1){const C=u[d],{isMatch:p,indices:f,score:M}=C.search(e);if(p){if(i+=1,g+=M,s){const S=C.constructor.type;jh.has(S)?a=[...a,...f]:a.push(f)}}else{g=0,i=0,a.length=0;break}}if(i){let d={isMatch:!0,score:g/i};return s&&(d.indices=a),d}}return{isMatch:!1,score:1}}}const Yi=[];function Oh(...A){Yi.push(...A)}function Hi(A,e){for(let t=0,s=Yi.length;t<s;t+=1){let n=Yi[t];if(n.condition(A,e))return new n(A,e)}return new il(A,e)}const gn={AND:"$and",OR:"$or"},Pi={PATH:"$path",PATTERN:"$val"},Wi=A=>!!(A[gn.AND]||A[gn.OR]),qh=A=>!!A[Pi.PATH],Yh=A=>!To(A)&&ol(A)&&!Wi(A),jg=A=>({[gn.AND]:Object.keys(A).map(e=>({[e]:A[e]}))});function Ql(A,e,{auto:t=!0}={}){const s=n=>{let r=Object.keys(n);const i=qh(n);if(!i&&r.length>1&&!Wi(n))return s(jg(n));if(Yh(n)){const g=i?n[Pi.PATH]:r[0],Q=i?n[Pi.PATTERN]:n[g];if(!yo(Q))throw new Error(Ch(g));const l={keyId:Oi(g),pattern:Q};return t&&(l.searcher=Hi(Q,e)),l}let a={children:[],operator:r[0]};return r.forEach(g=>{const Q=n[g];To(Q)&&Q.forEach(l=>{a.children.push(s(l))})}),a};return Wi(A)||(A=jg(A)),s(A)}function Hh(A,{ignoreFieldNorm:e=ge.ignoreFieldNorm}){A.forEach(t=>{let s=1;t.matches.forEach(({key:n,norm:r,score:i})=>{const a=n?n.weight:null;s*=Math.pow(i===0&&a?Number.EPSILON:i,(a||1)*(e?1:r))}),t.score=s})}function Ph(A,e){const t=A.matches;e.matches=[],to(t)&&t.forEach(s=>{if(!to(s.indices)||!s.indices.length)return;const{indices:n,value:r}=s;let i={indices:n,value:r};s.key&&(i.key=s.key.src),s.idx>-1&&(i.refIndex=s.idx),e.matches.push(i)})}function Wh(A,e){e.score=A.score}function zh(A,e,{includeMatches:t=ge.includeMatches,includeScore:s=ge.includeScore}={}){const n=[];return t&&n.push(Ph),s&&n.push(Wh),A.map(r=>{const{idx:i}=r,a={item:e[i],refIndex:i};return n.length&&n.forEach(g=>{g(r,a)}),a})}class As{constructor(e,t={},s){this.options={...ge,...t},this.options.useExtendedSearch,this._keyStore=new hh(this.options.keys),this.setCollection(e,s)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Ma))throw new Error(ch);this._myIndex=t||nl(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){to(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){const t=[];for(let s=0,n=this._docs.length;s<n;s+=1){const r=this._docs[s];e(r,s)&&(this.removeAt(s),s-=1,n-=1,t.push(r))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){const{includeMatches:s,includeScore:n,shouldSort:r,sortFn:i,ignoreFieldNorm:a}=this.options;let g=yo(e)?yo(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return Hh(g,{ignoreFieldNorm:a}),r&&g.sort(i),tl(t)&&t>-1&&(g=g.slice(0,t)),zh(g,this._docs,{includeMatches:s,includeScore:n})}_searchStringList(e){const t=Hi(e,this.options),{records:s}=this._myIndex,n=[];return s.forEach(({v:r,i,n:a})=>{if(!to(r))return;const{isMatch:g,score:Q,indices:l}=t.searchIn(r);g&&n.push({item:r,idx:i,matches:[{score:Q,value:r,norm:a,indices:l}]})}),n}_searchLogical(e){const t=Ql(e,this.options),s=(a,g,Q)=>{if(!a.children){const{keyId:u,searcher:d}=a,E=this._findMatches({key:this._keyStore.get(u),value:this._myIndex.getValueForItemAtKeyId(g,u),searcher:d});return E&&E.length?[{idx:Q,item:g,matches:E}]:[]}const l=[];for(let u=0,d=a.children.length;u<d;u+=1){const E=a.children[u],C=s(E,g,Q);if(C.length)l.push(...C);else if(a.operator===gn.AND)return[]}return l},n=this._myIndex.records,r={},i=[];return n.forEach(({$:a,i:g})=>{if(to(a)){let Q=s(t,a,g);Q.length&&(r[g]||(r[g]={idx:g,item:a,matches:[]},i.push(r[g])),Q.forEach(({matches:l})=>{r[g].matches.push(...l)}))}}),i}_searchObjectList(e){const t=Hi(e,this.options),{keys:s,records:n}=this._myIndex,r=[];return n.forEach(({$:i,i:a})=>{if(!to(i))return;let g=[];s.forEach((Q,l)=>{g.push(...this._findMatches({key:Q,value:i[l],searcher:t}))}),g.length&&r.push({idx:a,item:i,matches:g})}),r}_findMatches({key:e,value:t,searcher:s}){if(!to(t))return[];let n=[];if(To(t))t.forEach(({v:r,i,n:a})=>{if(!to(r))return;const{isMatch:g,score:Q,indices:l}=s.searchIn(r);g&&n.push({score:Q,key:e,value:r,idx:i,norm:a,indices:l})});else{const{v:r,n:i}=t,{isMatch:a,score:g,indices:Q}=s.searchIn(r);a&&n.push({score:g,key:e,value:r,norm:i,indices:Q})}return n}}As.version="7.1.0";As.createIndex=nl;As.parseIndex=Nh;As.config=ge;As.parseQuery=Ql;Oh(Th);function Vh(A){switch(A.split(".").pop()?.toLowerCase()){case"ts":case"tsx":case"js":case"jsx":case"mjs":case"cjs":case"py":case"rb":case"go":case"rs":case"java":case"c":case"cpp":case"h":case"hpp":return mn;case"json":case"yaml":case"yml":case"toml":return hc;case"md":case"txt":case"log":return Es;case"png":case"jpg":case"jpeg":case"gif":case"svg":case"webp":return Ca;case"css":case"scss":case"sass":case"less":return dc;case"html":case"xml":return uc;default:return Zo}}function Zh(A,e){const t=e.get(A);return t?{added:{icon:co,label:"Added",className:"text-green-500"},modified:{icon:tn,label:"Modified",className:"text-yellow-500"},untracked:{icon:co,label:"Untracked",className:"text-blue-500"}}[t]||{icon:tn,label:"Modified",className:"text-yellow-500"}:null}function _h({files:A,changedFiles:e=[],query:t,selectedIndex:s,onSelect:n,onEnterSelect:r,onClose:i}){const a=D.useMemo(()=>new Map(e?.map(l=>[l.path,l.status])||[]),[e]),g=D.useMemo(()=>new As(A.map(l=>({path:l,filename:l.split("/").pop()||l,normalized:l.replace(/[.\-_/]/g,"")})),{keys:[{name:"filename",weight:2},{name:"normalized",weight:1.5},{name:"path",weight:1}],threshold:.3,distance:200,ignoreLocation:!0,includeScore:!0}),[A]),Q=D.useMemo(()=>{if(!t)return A.slice(0,20);const l=t.replace(/[.\-_/]/g,""),u=g.search(l);return u.sort((d,E)=>{const C=d.score??1,p=E.score??1;if(Math.abs(C-p)<.05){const M=a.has(d.item.path),S=a.has(E.item.path);if(M&&!S)return-1;if(!M&&S)return 1}return C-p}),u.slice(0,20).map(d=>d.item.path)},[g,t,A,a]);return D.useEffect(()=>{document.getElementById(`file-item-${s}`)?.scrollIntoView({block:"nearest"})},[s]),D.useEffect(()=>{r(Q[s])},[Q,s,r]),D.useEffect(()=>{const l=u=>{u.target.closest("[data-file-mention-popup]")||i()};return document.addEventListener("mousedown",l),()=>document.removeEventListener("mousedown",l)},[i]),Q.length===0?o.jsx("div",{"data-file-mention-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3",children:o.jsx("span",{className:"text-muted-foreground text-sm",children:"No files found"})}):o.jsx("div",{"data-file-mention-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50",children:Q.map((l,u)=>o.jsx("button",{type:"button",id:`file-item-${u}`,onMouseDown:d=>{d.preventDefault(),n(l)},className:`w-full text-left px-3 py-2 hover:bg-accent ${u===s?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2 w-full",children:[(()=>{const d=Vh(l);return o.jsx(d,{className:"w-4 h-4 flex-shrink-0 text-muted-foreground"})})(),o.jsx("span",{className:"font-mono text-sm flex-1 truncate",children:l}),(()=>{const d=Zh(l,a);return d&&o.jsx("span",{title:d.label,children:o.jsx(d.icon,{className:`w-3.5 h-3.5 flex-shrink-0 ${d.className}`})})})()]})},l))})}function Xh(){if(typeof window<"u"&&typeof window.fetch=="function")return"fetch"}function qA(A){if(!A)return"Unknown error";if(typeof A=="string")return A;if(A&&typeof A=="object"){const e=A;if(e.error&&typeof e.error=="object"){const t=e.error;if(typeof t.message=="string")return t.message}if(typeof e.error=="string")return e.error;if(typeof e.message=="string")return e.message;try{return JSON.stringify(A)}catch{return"Error occurred (unable to parse)"}}return"Unknown error"}function $h(){const e=window.OTTO_SERVER_URL||Xo;NA.setConfig({baseURL:e,adapter:Xh()})}$h();function Bl(){const A=window;return A.OTTO_SERVER_URL?A.OTTO_SERVER_URL:Xo}function $n(A){return{...A,title:A.title??null,createdAt:typeof A.createdAt=="string"?new Date(A.createdAt).getTime():A.createdAt,lastActiveAt:typeof A.lastActiveAt=="string"?new Date(A.lastActiveAt).getTime():A.lastActiveAt}}function A0(A){return{...A,createdAt:typeof A.createdAt=="string"?new Date(A.createdAt).getTime():A.createdAt,completedAt:A.completedAt?typeof A.completedAt=="string"?new Date(A.completedAt).getTime():A.completedAt:null}}const Ao={async getSessions(){return(await this.getSessionsPage({limit:200})).items},async getSessionsPage(A={}){const{limit:e=50,offset:t=0}=A,s=await ed({query:{limit:e,offset:t}});if(s.error)throw new Error(qA(s.error));const n=s.data;return{items:(n?.items??[]).map(r=>$n(r)),hasMore:n?.hasMore??!1,nextOffset:n?.nextOffset??null}},async createSession(A){const e=await td({body:A});if(e.error)throw new Error(qA(e.error));if(!e.data)throw new Error("No data returned from create session");return $n(e.data)},async updateSession(A,e){const t=await Wu({path:{sessionId:A},body:e});if(t.error)throw new Error(qA(t.error));return $n(t.data)},async deleteSession(A){const e=await Pu({path:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data},async abortSession(A){const e=await bg({path:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data},async abortMessage(A,e){const t=await bg({path:{sessionId:A}});if(t.error)throw new Error("Failed to abort message");return t.data},async getQueueState(A){const e=await zu({path:{sessionId:A}});if(e.error)throw new Error("Failed to get queue state");return e.data},async removeFromQueue(A,e){const t=await Vu({path:{sessionId:A,messageId:e}});if(t.error)throw new Error("Failed to remove from queue");return t.data},async getMessages(A){const e=await Tu({path:{id:A}});if(e.error)throw new Error(qA(e.error));return(e.data||[]).map(A0)},async sendMessage(A,e){const t=await Ou({path:{id:A},body:e});if(t.error)throw new Error(qA(t.error));return t.data},getStreamUrl(A){return`${Bl()}/v1/sessions/${A}/stream`},async retryMessage(A,e){const t=await Zu({path:{sessionId:A,messageId:e}});if(t.error)throw new Error(qA(t.error));return t.data}},Rt={async initGitRepo(){const A=await hu();if(A.error)throw new Error(qA(A.error));return A.data?.data},async getGitStatus(){const A=await fu();if(A.error)throw new Error(qA(A.error));return A.data?.data},async getGitDiff(A,e=!1){const t=await Mg({query:{file:A,staged:e?"true":"false"}});if(t.error)throw new Error(qA(t.error));return t.data?.data},async getGitDiffFullFile(A,e=!1){const t=await Mg({query:{file:A,staged:e?"true":"false",fullFile:"true"}});if(t.error)throw new Error(qA(t.error));return t.data?.data},async generateCommitMessage(A){const e=await Du({body:A?{sessionId:A}:{}});if(e.error)throw new Error(qA(e.error));return e.data?.data},async stageFiles(A){const e=await mu({body:{files:A}});if(e.error)throw new Error(qA(e.error));return e.data?.data},async unstageFiles(A){const e=await wu({body:{files:A}});if(e.error)throw new Error(qA(e.error));return e.data?.data},async restoreFiles(A){const e=await ku({body:{files:A}});if(e.error)throw new Error(qA(e.error));return e.data?.data},async deleteFiles(A){const e=await Mu({body:{files:A}});if(e.error)throw new Error(qA(e.error));return e.data?.data},async commitChanges(A){const e=await xu({body:{message:A}});if(e.error)throw new Error(qA(e.error));return e.data?.data},async getGitBranch(){const A=await pu();if(A.error)throw new Error(qA(A.error));return A.data?.data},async pushCommits(){const A=await yu({body:{}});if(A.error)throw new Error(qA(A.error));return A.data?.data},async pullChanges(){const A=await Nu({body:{}});if(A.error)throw new Error(qA(A.error));return A.data?.data},async getRemotes(){const A=await Fu();if(A.error)throw new Error(qA(A.error));return A.data?.data?.remotes},async addRemote(A,e){const t=await Gu({body:{name:A,url:e}});if(t.error)throw new Error(qA(t.error));return t.data?.data},async removeRemote(A){const e=await bu({body:{name:A}});if(e.error)throw new Error(qA(e.error));return e.data?.data}},Fr={async getConfig(){const A=await lu();if(A.error)throw new Error(qA(A.error));return A.data},async getModels(A){const e=await Eu({path:{provider:A}});if(e.error)throw new Error(qA(e.error));return e.data},async getAllModels(){const A=await Cu();if(A.error)throw new Error(qA(A.error));return A.data},async updateDefaults(A){const e=await cu({body:A});if(e.error)throw new Error(qA(e.error));return e.data}},Gr={async listFiles(){const A=await Iu();if(A.error)throw new Error(qA(A.error));return A.data},async getFileTree(A="."){const e=await uu({query:{path:A}});if(e.error)throw new Error(qA(e.error));return e.data},async readFileContent(A){const e=await du({query:{path:A}});if(e.error)throw new Error(qA(e.error));return e.data},async getSessionFiles(A){const e=await Ad({path:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data}},Ns={async createBranch(A,e){const t=await gu({path:{sessionId:A},body:e});if(t.error)throw new Error(qA(t.error));return t.data},async listBranches(A){const e=await Qu({path:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data},async getParentSession(A){const e=await Bu({path:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data},async getShareStatus(A){const e=await _u({path:{sessionId:A}});return e.error?{shared:!1}:e.data},async shareSession(A){const e=await Xu({path:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data},async syncSession(A){const e=await $u({path:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data}},Tg={async approveToolCall(A,e,t){const s=await Yu({path:{id:A},body:{callId:e,approved:t,sessionId:A}});if(s.error)throw new Error("Failed to send tool approval");return s.data},async getPendingApprovals(A){const e=await Hu({path:{id:A}});return e.error?{ok:!1,pending:[]}:e.data}},no={async getSetuBalance(){try{const A=await od();return A.error?null:A.data}catch{return null}},async getSetuWallet(){try{const A=await sd();return A.error?{configured:!1}:A.data}catch{return{configured:!1}}},async getSetuUsdcBalance(A="mainnet"){try{const e=await rd({query:{network:A}});return e.error?null:e.data}catch{return null}},async getPolarTopupEstimate(A){try{const e=await Qd({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createPolarCheckout(A,e){const t=await nd({body:{amount:A,successUrl:e}});if(t.error)throw new Error(qA(t.error));return t.data},async selectTopupMethod(A,e){const t=await id({body:{sessionId:A,method:e}});if(t.error)throw new Error(qA(t.error));return t.data},async cancelTopup(A,e){const t=await ad({body:{sessionId:A,reason:e}});if(t.error)throw new Error(qA(t.error));return t.data},async getPendingTopup(A){try{const e=await gd({query:{sessionId:A}});return e.error?{hasPending:!1}:e.data}catch{return{hasPending:!1}}},async getPolarTopupStatus(A){try{const e=await Bd({query:{checkoutId:A}});return e.error?null:e.data}catch{return null}},async getRazorpayTopupEstimate(A){try{const e=await ld({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createRazorpayOrder(A){const e=await Ed({body:{amount:A}});if(e.error)throw new Error(qA(e.error));return e.data},async verifyRazorpayPayment(A){const e=await cd({body:A});if(e.error)throw new Error(qA(e.error));return e.data}},Nt={async getAuthStatus(){const A=await zI();if(A.error)throw new Error(qA(A.error));return A.data},async setupSetuWallet(){const A=await VI();if(A.error)throw new Error(qA(A.error));return A.data},async importSetuWallet(A){const e=await ZI({body:{privateKey:A}});if(e.error)throw new Error(qA(e.error));return e.data},async exportSetuWallet(){const A=await _I();if(A.error)throw new Error(qA(A.error));return A.data},async addProvider(A,e){const t=await $I({path:{provider:A},body:{apiKey:e}});if(t.error)throw new Error(qA(t.error));return t.data},async removeProvider(A){const e=await XI({path:{provider:A}});if(e.error)throw new Error(qA(e.error));return e.data},async completeOnboarding(){const A=await au();if(A.error)throw new Error(qA(A.error));return A.data},getOAuthStartUrl(A,e){const t=`${Bl()}/v1/auth/${A}/oauth/start`;return e?`${t}?mode=${e}`:t},async getOAuthUrl(A,e){const t=await Au({path:{provider:A},body:{mode:e}});if(t.error)throw new Error(qA(t.error));return t.data},async exchangeOAuthCode(A,e,t){const s=await eu({path:{provider:A},body:{code:e,sessionId:t}});if(s.error)throw new Error(qA(s.error));return s.data},async startCopilotDeviceFlow(){const A=await tu();if(A.error)throw new Error(qA(A.error));return A.data},async pollCopilotDeviceFlow(A){const e=await ou({body:{sessionId:A}});if(e.error)throw new Error(qA(e.error));return e.data},async getCopilotAuthMethods(){const A=await su();if(A.error)throw new Error(qA(A.error));return A.data},async saveCopilotToken(A){const e=await ru({body:{token:A}});if(e.error)throw new Error(qA(e.error));return e.data},async importCopilotTokenFromGh(){const A=await nu();if(A.error)throw new Error(qA(A.error));return A.data},async getCopilotDiagnostics(){const A=await iu();if(A.error)throw new Error(qA(A.error));return A.data},async getProviderUsage(A){const e=await qu({path:{provider:A}});if(e.error)throw new Error(qA(e.error));return e.data}},vr={async listSkills(){const A=await Cd();if(A.error)throw new Error(qA(A.error));return A.data},async getSkill(A){const e=await Id({path:{name:A}});if(e.error)throw new Error(qA(e.error));return e.data},async getSkillFiles(A){const e=await ud({path:{name:A}});if(e.error)throw new Error(qA(e.error));return e.data},async getSkillFileContent(A,e){const t=await dd({path:{name:A,filePath:e}});if(t.error)throw new Error(qA(t.error));return t.data}};class e0{getSessions=Ao.getSessions;getSessionsPage=Ao.getSessionsPage;createSession=Ao.createSession;updateSession=Ao.updateSession;deleteSession=Ao.deleteSession;abortSession=Ao.abortSession;abortMessage=Ao.abortMessage;getQueueState=Ao.getQueueState;removeFromQueue=Ao.removeFromQueue;getMessages=Ao.getMessages;sendMessage=Ao.sendMessage;getStreamUrl=Ao.getStreamUrl;retryMessage=Ao.retryMessage;initGitRepo=Rt.initGitRepo;getGitStatus=Rt.getGitStatus;getGitDiff=Rt.getGitDiff;getGitDiffFullFile=Rt.getGitDiffFullFile;generateCommitMessage=Rt.generateCommitMessage;stageFiles=Rt.stageFiles;unstageFiles=Rt.unstageFiles;restoreFiles=Rt.restoreFiles;deleteFiles=Rt.deleteFiles;commitChanges=Rt.commitChanges;getGitBranch=Rt.getGitBranch;pushCommits=Rt.pushCommits;pullChanges=Rt.pullChanges;getRemotes=Rt.getRemotes;addRemote=Rt.addRemote;removeRemote=Rt.removeRemote;getConfig=Fr.getConfig;getModels=Fr.getModels;getAllModels=Fr.getAllModels;updateDefaults=Fr.updateDefaults;listFiles=Gr.listFiles;getFileTree=Gr.getFileTree;readFileContent=Gr.readFileContent;getSessionFiles=Gr.getSessionFiles;createBranch=Ns.createBranch;listBranches=Ns.listBranches;getParentSession=Ns.getParentSession;getShareStatus=Ns.getShareStatus;shareSession=Ns.shareSession;syncSession=Ns.syncSession;approveToolCall=Tg.approveToolCall;getPendingApprovals=Tg.getPendingApprovals;getSetuBalance=no.getSetuBalance;getSetuWallet=no.getSetuWallet;getSetuUsdcBalance=no.getSetuUsdcBalance;getPolarTopupEstimate=no.getPolarTopupEstimate;createPolarCheckout=no.createPolarCheckout;selectTopupMethod=no.selectTopupMethod;cancelTopup=no.cancelTopup;getPendingTopup=no.getPendingTopup;getPolarTopupStatus=no.getPolarTopupStatus;getRazorpayTopupEstimate=no.getRazorpayTopupEstimate;createRazorpayOrder=no.createRazorpayOrder;verifyRazorpayPayment=no.verifyRazorpayPayment;getAuthStatus=Nt.getAuthStatus;setupSetuWallet=Nt.setupSetuWallet;importSetuWallet=Nt.importSetuWallet;exportSetuWallet=Nt.exportSetuWallet;addProvider=Nt.addProvider;removeProvider=Nt.removeProvider;completeOnboarding=Nt.completeOnboarding;getOAuthStartUrl=Nt.getOAuthStartUrl;getOAuthUrl=Nt.getOAuthUrl;exchangeOAuthCode=Nt.exchangeOAuthCode;startCopilotDeviceFlow=Nt.startCopilotDeviceFlow;pollCopilotDeviceFlow=Nt.pollCopilotDeviceFlow;getCopilotAuthMethods=Nt.getCopilotAuthMethods;saveCopilotToken=Nt.saveCopilotToken;importCopilotTokenFromGh=Nt.importCopilotTokenFromGh;getCopilotDiagnostics=Nt.getCopilotDiagnostics;getProviderUsage=Nt.getProviderUsage;listSkills=vr.listSkills;getSkill=vr.getSkill;getSkillFiles=vr.getSkillFiles;getSkillFileContent=vr.getSkillFileContent}const wA=new e0;function ps(){return nt({queryKey:["config"],queryFn:()=>wA.getConfig(),staleTime:3e4})}function fr(){return nt({queryKey:["models","all"],queryFn:()=>wA.getAllModels()})}function Gn(){const A=be();return Ye({mutationFn:e=>wA.updateDefaults(e),onMutate:async e=>{await A.cancelQueries({queryKey:["config"]});const t=A.getQueryData(["config"]);if(t){const s=Object.fromEntries(Object.entries(e).filter(([n,r])=>n!=="scope"&&r!==void 0));A.setQueryData(["config"],{...t,defaults:{...t.defaults,...s}})}return{previousConfig:t}},onError:(e,t,s)=>{s?.previousConfig&&A.setQueryData(["config"],s.previousConfig)},onSuccess:()=>{A.invalidateQueries({queryKey:["config"]})}})}const ll="otto-preferences",tr={vimMode:!1,compactThread:!0};function t0(){if(typeof window>"u")return tr;try{const A=window.localStorage.getItem(ll);if(A){const e=JSON.parse(A);return{vimMode:typeof e.vimMode=="boolean"?e.vimMode:tr.vimMode,compactThread:typeof e.compactThread=="boolean"?e.compactThread:tr.compactThread}}}catch(A){console.warn("Failed to load preferences",A)}return tr}let Zr=t0();const zi=new Set;function o0(){return Zr}function s0(){return tr}function r0(A){return zi.add(A),()=>zi.delete(A)}function n0(){for(const A of zi)A()}function i0(A){if(Zr={...Zr,...A},typeof window<"u")try{window.localStorage.setItem(ll,JSON.stringify(Zr))}catch(e){console.warn("Failed to persist preferences",e)}n0()}function Ys(){const A=D.useSyncExternalStore(r0,o0,s0),{data:e}=ps(),t=Gn(),s=D.useCallback(r=>{const i={};r.vimMode!==void 0&&(i.vimMode=r.vimMode),r.compactThread!==void 0&&(i.compactThread=r.compactThread),Object.keys(i).length>0&&i0(i),r.fullWidthContent!==void 0&&r.fullWidthContent!==e?.defaults?.fullWidthContent&&t.mutate({fullWidthContent:r.fullWidthContent,scope:"global"})},[e?.defaults?.fullWidthContent,t]),n=D.useMemo(()=>({...A,fullWidthContent:e?.defaults?.fullWidthContent??!1}),[A,e?.defaults?.fullWidthContent]);return D.useMemo(()=>({preferences:n,updatePreferences:s}),[n,s])}function ba(A){const{data:e,isLoading:t,error:s}=nt({queryKey:["share-status",A],queryFn:()=>wA.getShareStatus(A),enabled:!!A,staleTime:3e4});return{data:e,isLoading:t,error:s}}const El=[{id:"models",label:"/models",description:"Open model selector",icon:No},{id:"agents",label:"/agents",description:"Open agent selector",icon:oo},{id:"new",label:"/new",description:"Create new session",icon:co},{id:"stop",label:"/stop",description:"Stop current generation",icon:rB},{id:"help",label:"/help",description:"Show keyboard shortcuts and help",icon:nB},{id:"vim",label:"/vim",description:A=>A.vimModeEnabled?"Disable Vim mode":"Enable Vim mode",icon:fc},{id:"reasoning",label:"/reasoning",description:A=>A.reasoningEnabled?"Disable extended thinking":"Enable extended thinking",icon:wn},{id:"stage",label:"/stage",description:"Stage all changes (git add -A)",icon:so},{id:"commit",label:"/commit",description:"Commit staged changes",icon:Pt},{id:"compact",label:"/compact",description:"Compact conversation to reduce context size",icon:Ea},{id:"branch",label:"/branch",description:"Branch session from last message",icon:pc},{id:"delete",label:"/delete",description:"Delete current session",icon:lr},{id:"share",label:"/share",description:"Share session publicly",icon:Ia},{id:"sync",label:"/sync",description:"Sync new messages to shared session",icon:Zt}];function cl(A,e){return typeof A.description=="function"?A.description(e):A.description}function a0(A,e){const t=El.filter(r=>!(r.id==="share"&&e.isShared||r.id==="sync"&&!e.isShared));if(!A)return t;const s=A.toLowerCase(),n=[];for(const r of t){const i=cl(r,e),a=r.label.toLowerCase().includes(s),g=i.toLowerCase().includes(s);if(a||g){const Q=a?10:5;n.push({...r,matchScore:Q})}}return n.sort((r,i)=>{const a=i.matchScore-r.matchScore;return a!==0?a:r.label.localeCompare(i.label)})}function g0({query:A,selectedIndex:e,onSelect:t,onEnterSelect:s,onClose:n,sessionId:r}){const{preferences:i}=Ys(),{data:a}=ps(),{data:g}=ba(r),Q=D.useMemo(()=>({vimModeEnabled:i.vimMode,reasoningEnabled:a?.defaults?.reasoningText??!0,isShared:g?.shared}),[i.vimMode,a?.defaults?.reasoningText,g?.shared]),l=D.useMemo(()=>a0(A,Q),[A,Q]);return D.useEffect(()=>{document.getElementById(`command-item-${e}`)?.scrollIntoView({block:"nearest"})},[e]),D.useEffect(()=>{s(l[e]?.id)},[l,e,s]),D.useEffect(()=>{const u=d=>{d.target.closest("[data-command-popup]")||n()};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[n]),l.length===0?o.jsx("div",{"data-command-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3",children:o.jsx("span",{className:"text-muted-foreground text-sm",children:"No commands found"})}):o.jsx("div",{"data-command-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50",children:l.map((u,d)=>{const E=u.icon;return o.jsx("button",{type:"button",id:`command-item-${d}`,onMouseDown:C=>{C.preventDefault(),t(u.id)},className:`w-full text-left px-3 py-2 hover:bg-accent ${d===e?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-3 w-full",children:[o.jsx(E,{className:"w-4 h-4 flex-shrink-0 text-primary"}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx("div",{className:"font-mono text-sm font-medium text-foreground",children:u.label}),o.jsx("div",{className:"text-xs text-muted-foreground truncate",children:cl(u,Q)})]})]})},u.id)})})}const Q0={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function Oo({isOpen:A,onClose:e,title:t,children:s,showCloseButton:n=!0,closeOnBackdropClick:r=!0,closeOnEscape:i=!0,maxWidth:a="md"}){if(D.useEffect(()=>{if(!A||!i)return;const Q=l=>{const u=l.target,d=u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.isContentEditable;(l.key==="Escape"||l.key==="q"&&!d)&&(l.preventDefault(),l.stopPropagation(),e())};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[A,i,e]),D.useEffect(()=>{if(A)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[A]),!A)return null;const g=Q=>{r&&Q.target===Q.currentTarget&&e()};return o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:"fixed inset-0 bg-black/50 backdrop-blur-sm z-[9999] cursor-default",onClick:g,onKeyDown:Q=>{(Q.key==="Enter"||Q.key===" ")&&g(Q)},"aria-label":"Close modal"}),o.jsx("div",{className:`fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[9999] w-full ${Q0[a]} px-4`,children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-lg",children:[(t||n)&&o.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-border",children:[t&&o.jsx("div",{className:"text-lg font-semibold text-foreground",children:t}),n&&o.jsx("button",{type:"button",onClick:e,className:"text-muted-foreground hover:text-foreground transition-colors ml-auto","aria-label":"Close",children:o.jsx(st,{className:"h-5 w-5"})})]}),o.jsx("div",{className:"p-6",children:s})]})})]})}const B0=[{keys:["Ctrl","H"],description:"Navigate to left sidebar (sessions)",category:"Navigation"},{keys:["Ctrl","L"],description:"Navigate to right sidebar (git)",category:"Navigation"},{keys:["Ctrl","/"],description:"Toggle left sidebar collapse/expand",category:"Navigation"},{keys:["Ctrl","\\"],description:"Toggle right sidebar collapse/expand",category:"Navigation"},{keys:["Ctrl","N"],description:"Create new session",category:"Navigation"},{keys:["ESC"],description:"Close sidebar and return to center",category:"Navigation"},{keys:["J"],description:"Navigate to next item (in focused list)",category:"List Navigation"},{keys:["K"],description:"Navigate to previous item (in focused list)",category:"List Navigation"},{keys:["Enter"],description:"Select focused item and return to input",category:"List Navigation"},{keys:["Space"],description:"Toggle stage/unstage for focused file (git panel)",category:"Git Operations"},{keys:["A"],description:"Stage all unstaged files",category:"Git Operations"},{keys:["U"],description:"Unstage all staged files",category:"Git Operations"},{keys:["C"],description:"Open commit modal (if files are staged)",category:"Git Operations"},{keys:["Tab"],description:"Toggle plan mode",category:"Chat"},{keys:["Enter"],description:"Send message",category:"Chat"},{keys:["Shift","Enter"],description:"New line in message",category:"Chat"},{keys:["@"],description:"Mention file (opens file picker)",category:"Chat"},{keys:["/"],description:"Slash command (opens command menu)",category:"Chat"}],l0=[{keys:["i"],description:"Enter insert mode at cursor (vim mode)",category:"Vim Mode"},{keys:["a"],description:"Enter insert mode after cursor (vim mode)",category:"Vim Mode"},{keys:["I"],description:"Enter insert mode at line start (vim mode)",category:"Vim Mode"},{keys:["A"],description:"Enter insert mode at line end (vim mode)",category:"Vim Mode"},{keys:["o"],description:"New line below and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["O"],description:"New line above and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["ESC"],description:"Return to normal mode (vim mode)",category:"Vim Mode"},{keys:["Enter"],description:"Send message in normal mode (vim mode)",category:"Vim Mode"},{keys:["w"],description:"Jump to next word start (vim mode)",category:"Vim Mode"},{keys:["e"],description:"Jump to next word end (vim mode)",category:"Vim Mode"},{keys:["b"],description:"Jump to previous word start (vim mode)",category:"Vim Mode"},{keys:["x"],description:"Delete character under cursor (vim mode)",category:"Vim Mode"},{keys:["s"],description:"Delete character and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["S"],description:"Delete line and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["f","{char}"],description:"Find and jump to next character on line (vim mode)",category:"Vim Mode"},{keys:["d","d"],description:"Delete current line (vim mode)",category:"Vim Mode"},{keys:["0"],description:"Jump to line start (vim mode)",category:"Vim Mode"},{keys:["$"],description:"Jump to line end (vim mode)",category:"Vim Mode"}],E0=[{command:"/models",description:"Open model selector"},{command:"/agents",description:"Open agent selector"},{command:"/new",description:"Create new session"},{command:"/help",description:"Show keyboard shortcuts and help (this modal)"},{command:"/compact",description:"Compact conversation to reduce context size"}];function c0(A){const e={};for(const t of A)e[t.category]||(e[t.category]=[]),e[t.category].push(t);return e}function C0({isOpen:A,onClose:e}){const t=[...B0,...l0],s=c0(t),n=D.useRef(null),r=D.useRef(null);return D.useEffect(()=>{A?(r.current=document.activeElement,r.current&&r.current.blur()):r.current&&(r.current.focus(),r.current=null)},[A]),D.useEffect(()=>{if(!A)return;const i=a=>{const g=a.target;if(!(g.tagName==="INPUT"||g.tagName==="TEXTAREA"||g.isContentEditable))if(a.key==="j"){a.preventDefault();const l=n.current;l&&l.scrollBy({top:100,behavior:"smooth"})}else if(a.key==="k"){a.preventDefault();const l=n.current;l&&l.scrollBy({top:-100,behavior:"smooth"})}else a.key==="Enter"&&(a.preventDefault(),e())};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[A,e]),o.jsx(Oo,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(nB,{className:"w-5 h-5"}),o.jsx("span",{children:"Keyboard Shortcuts & Help"})]}),maxWidth:"2xl",closeOnEscape:!0,closeOnBackdropClick:!0,children:o.jsxs("div",{ref:n,className:"space-y-6 max-h-[70vh] overflow-y-auto",children:[Object.entries(s).map(([i,a])=>o.jsxs("div",{children:[o.jsxs("h3",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[o.jsx(sg,{className:"w-4 h-4"}),i]}),o.jsx("div",{className:"space-y-2",children:a.map((g,Q)=>o.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors",children:[o.jsx("span",{className:"text-sm text-foreground",children:g.description}),o.jsx("div",{className:"flex items-center gap-1",children:g.keys.map(l=>o.jsxs("span",{className:"flex items-center gap-1",children:[o.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm",children:l}),g.keys.indexOf(l)<g.keys.length-1&&o.jsx("span",{className:"text-muted-foreground",children:"+"})]},l))})]},`${i}-${g.description}`))})]},i)),o.jsxs("div",{children:[o.jsxs("h3",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[o.jsx(sg,{className:"w-4 h-4"}),"Slash Commands"]}),o.jsx("div",{className:"space-y-2",children:E0.map((i,a)=>o.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors",children:[o.jsx("span",{className:"text-sm text-foreground",children:i.description}),o.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm",children:i.command})]},i.command))})]}),o.jsx("div",{className:"pt-4 border-t border-border",children:o.jsxs("p",{className:"text-xs text-muted-foreground",children:[o.jsx("strong",{children:"Tip:"})," Shortcuts are disabled when typing in input fields. Press ",o.jsx("kbd",{className:"text-xs",children:"ESC"})," to close popups and return focus to chat input."]})})]})})}const I0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
36
|
+
<path d="M26.9568 9.88184H22.1265L30.7753 31.7848H35.4917L26.9568 9.88184ZM13.028 9.88184L4.4917 31.7848H9.32203L11.2305 27.1793H20.2166L22.0126 31.6724H26.8444L18.0832 9.88184H13.028ZM12.5783 23.1361L15.4987 15.3853L18.5315 23.1361H12.5783Z" fill="currentColor"/>
|
|
37
|
+
</svg>`,u0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
38
|
+
<path d="M32.8377 17.282C33.2127 16.25 33.3072 15.218 33.2127 14.1875C33.1197 13.1571 32.7447 12.1251 32.2752 11.1876C31.4322 9.78209 30.2127 8.6571 28.8072 8.0001C27.3072 7.34461 25.7127 7.15711 24.1197 7.53211C23.3698 6.78212 22.5253 6.12512 21.5878 5.65713C20.6503 5.18913 19.5253 5.00013 18.4948 5.00013C16.8851 4.99074 15.3125 5.48246 13.9948 6.40712C12.6824 7.34311 11.7449 8.6571 11.2754 10.1571C10.1504 10.4376 9.21289 10.9071 8.27539 11.4696C7.4324 12.1251 6.77541 12.9696 6.21291 13.8126C5.36992 15.2195 5.08792 16.8125 5.27542 18.407C5.46399 19.9968 6.11605 21.496 7.1504 22.718C6.79608 23.7086 6.66795 24.7659 6.77541 25.8124C6.86991 26.8444 7.2449 27.8749 7.7129 28.8124C8.55739 30.2194 9.77538 31.3444 11.1824 31.9999C12.6824 32.6569 14.2753 32.8444 15.8698 32.4694C16.6198 33.2194 17.4628 33.8749 18.4003 34.3444C19.3378 34.8139 20.4628 34.9999 21.4948 34.9999C23.1043 35.0097 24.6769 34.5185 25.9947 33.5944C27.3072 32.6569 28.2447 31.3444 28.7127 29.8444C29.7719 29.6432 30.7682 29.1934 31.6197 28.5319C32.4627 27.8749 33.2127 27.1249 33.6822 26.1874C34.5251 24.7819 34.8071 23.1875 34.6196 21.5945C34.4322 20 33.8697 18.5015 32.8377 17.282ZM21.5878 33.0304C20.0878 33.0304 18.9628 32.5609 17.9323 31.7179C17.9323 31.7179 18.0253 31.6234 18.1198 31.6234L24.1197 28.1554C24.2862 28.0803 24.4196 27.9469 24.4947 27.7804C24.5698 27.636 24.6021 27.4731 24.5877 27.3109V18.875L27.1197 20.375V27.3124C27.1455 28.0547 27.0215 28.7945 26.755 29.4878C26.4885 30.181 26.085 30.8134 25.5687 31.3473C25.0523 31.8811 24.4337 32.3054 23.7497 32.5949C23.0658 32.8843 22.3305 33.0314 21.5878 33.0304ZM9.49488 27.8749C8.83789 26.7499 8.55739 25.4374 8.83789 24.125C8.83789 24.125 8.93239 24.2195 9.02539 24.2195L15.0253 27.6874C15.1693 27.7638 15.3325 27.7966 15.4948 27.7819C15.6823 27.7819 15.8698 27.7819 15.9628 27.6874L23.2753 23.4695V26.3749L17.1823 29.9374C16.5506 30.3042 15.8527 30.5427 15.1287 30.6393C14.4046 30.7358 13.6686 30.6884 12.9629 30.4999C11.4629 30.1249 10.2449 29.1874 9.49488 27.8749ZM7.9004 14.8445C8.56239 13.7234 9.58826 12.8627 10.8074 12.4056V19.532C10.8074 19.718 10.8074 19.907 10.9004 20C10.9755 20.1665 11.1089 20.2998 11.2754 20.375L18.5878 24.5944L16.0573 26.0944L10.0574 22.625C9.41842 22.2639 8.85742 21.7797 8.40684 21.2004C7.95627 20.6211 7.62506 19.9582 7.4324 19.25C7.05741 17.8445 7.1504 16.157 7.9004 14.8445ZM28.6197 19.625L21.3073 15.407L23.8377 13.9071L29.8377 17.375C30.7752 17.9375 31.5252 18.6875 31.9947 19.625C32.4642 20.5625 32.7447 21.5945 32.6502 22.7195C32.5603 23.7755 32.1699 24.7837 31.5252 25.6249C30.8697 26.4694 30.0252 27.1249 28.9947 27.4999V20.375C28.9947 20.1875 28.9947 20 28.9002 19.907C28.9002 19.907 28.8072 19.718 28.6197 19.625ZM31.1502 15.875C31.1502 15.875 31.0572 15.782 30.9627 15.782L24.9627 12.3126C24.7752 12.2196 24.6822 12.2196 24.4947 12.2196C24.3072 12.2196 24.1197 12.2196 24.0252 12.3126L16.7128 16.532V13.6251L22.8073 10.0626C23.7448 9.50009 24.7752 9.31259 25.9002 9.31259C26.9322 9.31259 27.9627 9.68759 28.9002 10.3446C29.7447 11.0001 30.4947 11.8446 30.8697 12.7821C31.2447 13.7196 31.3377 14.8445 31.1502 15.875ZM15.4003 21.125L12.8699 19.625V12.5946C12.8699 11.5626 13.1503 10.4376 13.7128 9.59459C14.2753 8.6571 15.1198 8.0001 16.0573 7.53211C17.0127 7.05249 18.0956 6.88812 19.1503 7.06261C20.1823 7.15711 21.2128 7.62511 22.0573 8.2821C22.0573 8.2821 21.9628 8.3751 21.8698 8.3751L15.8698 11.8446C15.7033 11.9197 15.57 12.0531 15.4948 12.2196C15.4003 12.4071 15.4003 12.5001 15.4003 12.6876V21.125ZM16.7128 18.125L19.9948 16.25L23.2753 18.125V21.875L19.9948 23.75L16.7128 21.875V18.125Z" fill="currentColor"/>
|
|
39
|
+
</svg>`,d0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
40
|
+
<path d="M37 20.034C27.8809 20.5837 20.5808 27.8809 20.0326 37H19.966C19.4163 27.8809 12.1177 20.5837 3 20.034V19.9674C12.1191 19.4163 19.4163 12.1191 19.966 3H20.0326C20.5822 12.1191 27.8809 19.4163 37 19.9674V20.034Z" fill="currentColor"/>
|
|
41
|
+
</svg>`,h0=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
42
|
+
<path d="M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088" fill="currentColor"/>
|
|
43
|
+
<path d="M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088" stroke="currentColor" stroke-width="3.27593"/>
|
|
44
|
+
<path d="M21.6 7.43108L16.0037 10.6622V4.20001L21.6 7.43108Z" fill="currentColor" stroke="currentColor" stroke-width="0.0363992"/>
|
|
45
|
+
<path d="M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311" fill="currentColor"/>
|
|
46
|
+
<path d="M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311" stroke="currentColor" stroke-width="3.27593"/>
|
|
47
|
+
<path d="M21.4909 16.7109L15.8945 13.4798V19.942L21.4909 16.7109Z" fill="currentColor" stroke="currentColor" stroke-width="0.0363992"/>
|
|
48
|
+
</svg>`,f0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
49
|
+
<path d="M20.056 4.50022C14.0839 4.44597 9.20616 9.15015 9.15036 15.0106C9.09611 20.8726 13.8855 25.6621 19.8576 25.7163H23.6085V21.7391H20.056C16.3252 21.7825 13.2671 18.8468 13.2237 15.1827C13.1787 11.5216 16.1702 8.52086 19.901 8.47746H20.056C23.7868 8.47746 26.8108 11.4457 26.8216 15.1083V24.8809C26.8216 28.5109 23.8085 31.4683 20.1211 31.5132C18.3617 31.5007 16.6759 30.8049 15.42 29.5726L12.551 32.3905C14.5529 34.3571 17.239 35.4715 20.0451 35.4998H20.1877C26.0823 35.413 30.8175 30.7212 30.85 24.9351V14.8603C30.7059 9.0928 25.9165 4.50022 20.056 4.50022Z" fill="currentColor"/>
|
|
50
|
+
</svg>`,p0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
51
|
+
<path d="M35.6638 9.91965C35.3251 9.75432 35.1785 10.0703 34.9811 10.2316C34.9131 10.2836 34.8558 10.3516 34.7985 10.413C34.3025 10.9423 33.7238 11.289 32.9678 11.2476C31.8625 11.1863 30.9186 11.533 30.0839 12.3783C29.9066 11.3356 29.3173 10.7143 28.4213 10.3143C27.9519 10.1063 27.4773 9.89965 27.148 9.44766C26.9186 9.12633 26.856 8.76767 26.7413 8.41568C26.668 8.20235 26.5946 7.98502 26.3506 7.94902C26.084 7.90769 25.98 8.13035 25.876 8.31702C25.4587 9.07967 25.2973 9.91965 25.3133 10.7703C25.3493 12.6849 26.1573 14.2102 27.764 15.2942C27.9466 15.4182 27.9933 15.5435 27.9359 15.7249C27.8266 16.0982 27.696 16.4609 27.5813 16.8355C27.508 17.0742 27.3986 17.1248 27.1426 17.0222C26.2777 16.6504 25.4919 16.1164 24.828 15.4489C23.6854 14.3449 22.6534 13.1263 21.3654 12.1716C21.067 11.9511 20.7606 11.7416 20.4468 11.5436C19.1335 10.2676 20.6201 9.21967 20.9641 9.09567C21.3241 8.965 21.0881 8.51968 19.9254 8.52501C18.7628 8.53035 17.6988 8.91834 16.3428 9.43699C16.1413 9.51421 15.934 9.57529 15.7229 9.61966C14.4557 9.38091 13.1598 9.33506 11.8789 9.48366C9.36565 9.76365 7.35902 10.953 5.88305 12.9809C4.10975 15.4182 3.69243 18.1888 4.20308 21.0768C4.74041 24.122 6.29504 26.6433 8.683 28.6139C11.1603 30.6579 14.0122 31.6592 17.2668 31.4672C19.2428 31.3539 21.4441 31.0886 23.9254 28.9873C24.552 29.2993 25.208 29.4233 26.2986 29.5166C27.1386 29.5953 27.9466 29.4766 28.5719 29.3459C29.5519 29.1379 29.4839 28.23 29.1306 28.0646C26.2573 26.726 26.888 27.2713 26.3133 26.83C27.7746 25.102 29.9746 23.3074 30.8359 17.4928C30.9026 17.0302 30.8452 16.7395 30.8359 16.3662C30.8306 16.1395 30.8826 16.0502 31.1426 16.0249C31.8639 15.95 32.5637 15.7349 33.2025 15.3915C35.0638 14.3742 35.8158 12.7049 35.9931 10.7023C36.0198 10.3956 35.9878 10.081 35.6638 9.91965ZM19.4414 27.9433C16.6562 25.754 15.3055 25.0327 14.7482 25.0634C14.2256 25.0954 14.3202 25.6913 14.4349 26.0807C14.5549 26.4647 14.7109 26.7286 14.9295 27.066C15.0815 27.2886 15.1855 27.6206 14.7789 27.87C13.8816 28.4246 12.3229 27.6833 12.2496 27.6473C10.435 26.578 8.91632 25.1673 7.84834 23.2381C6.81637 21.3808 6.21638 19.3888 6.11771 17.2622C6.09105 16.7475 6.24171 16.5662 6.7537 16.4729C7.42583 16.3442 8.11451 16.3267 8.79233 16.4209C11.6349 16.8368 14.0536 18.1075 16.0828 20.1194C17.2402 21.2661 18.1161 22.6354 19.0188 23.974C19.9788 25.3953 21.0108 26.75 22.3254 27.8593C22.7894 28.2486 23.1587 28.5446 23.5134 28.7619C22.4441 28.8819 20.6601 28.9086 19.4414 27.9433ZM20.7748 19.3568C20.7745 19.2906 20.7904 19.2253 20.8211 19.1666C20.8517 19.1078 20.8962 19.0575 20.9507 19.0198C21.0052 18.9821 21.068 18.9583 21.1337 18.9503C21.1995 18.9424 21.2662 18.9505 21.3281 18.9741C21.407 19.0024 21.475 19.0546 21.5228 19.1235C21.5706 19.1923 21.5958 19.2743 21.5947 19.3581C21.5949 19.4123 21.5843 19.4659 21.5636 19.5159C21.5428 19.5659 21.5123 19.6113 21.4738 19.6494C21.4354 19.6875 21.3897 19.7176 21.3395 19.7378C21.2893 19.7581 21.2356 19.7682 21.1814 19.7675C21.1277 19.7676 21.0745 19.7571 21.0248 19.7365C20.9752 19.7158 20.9302 19.6855 20.8925 19.6473C20.8548 19.609 20.825 19.5636 20.805 19.5138C20.785 19.4639 20.7739 19.4105 20.7748 19.3568ZM24.9213 21.4848C24.6547 21.5928 24.3893 21.6861 24.1347 21.6981C23.7516 21.7114 23.3756 21.5918 23.0707 21.3594C22.7054 21.0528 22.4441 20.8821 22.3347 20.3488C22.297 20.0881 22.3042 19.823 22.3561 19.5648C22.4494 19.1288 22.3454 18.8488 22.0374 18.5955C21.7881 18.3875 21.4694 18.3302 21.1201 18.3302C21.0005 18.3232 20.8843 18.2875 20.7814 18.2262C20.6348 18.1542 20.5148 17.9728 20.6294 17.7488C20.6668 17.6768 20.8428 17.5008 20.8854 17.4688C21.3601 17.1995 21.9081 17.2875 22.4134 17.4902C22.8827 17.6822 23.2374 18.0342 23.748 18.5328C24.2694 19.1341 24.364 19.3008 24.6613 19.7515C24.896 20.1048 25.1093 20.4674 25.2547 20.8821C25.344 21.1421 25.2293 21.3541 24.9213 21.4848Z" fill="currentColor"/>
|
|
52
|
+
</svg>`,m0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
53
|
+
<path d="M12.4579 15.6036L26.1529 35H20.0656L6.37059 15.6036H12.4579ZM12.4524 26.3764L15.4974 30.6909L12.4551 35H6.36377L12.4524 26.3764ZM33.6365 7.15727V35H28.647V14.2236L33.6365 7.15727ZM33.6365 5L20.0656 24.2205L17.0206 19.9073L27.5451 5H33.6365Z" fill="currentColor"/>
|
|
54
|
+
</svg>`,Og=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
55
|
+
<path d="M20.1312 7.50002L17.4088 11.1913H5.81625L8.5375 7.50002H20.1325H20.1312ZM34.0675 28.81L31.3475 32.5H19.795L22.5125 28.81H34.0675ZM35 7.50002L16.58 32.5H5L23.42 7.50002H35Z" fill="currentColor"/>
|
|
56
|
+
</svg>`,w0=`<svg width="24" height="24" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
57
|
+
<path d="M55.0151 11H45.7732C42.9871 11 41.594 11 40.5458 11.7564C39.4977 12.5128 39.0587 13.8349 38.1807 16.479L28.4934 45.6545C26.899 50.4561 26.1019 52.8569 27.2993 54.5162C28.4967 56.1754 31.0264 56.1754 36.0858 56.1754H38.1307C41.9554 56.1754 43.8677 56.1754 45.0206 57.2527C45.2855 57.5002 45.5155 57.7825 45.7043 58.092C46.5262 59.4389 46.1395 61.3117 45.3662 65.0574C42.291 79.9519 40.7534 87.3991 43.0079 88.8933C43.4871 89.2109 44.0292 89.4215 44.5971 89.5107C47.2691 89.9303 51.1621 83.398 58.9481 70.3336L70.7118 50.5949C72.8831 46.9517 73.9687 45.13 73.6853 43.639C73.5201 42.7697 73.0712 41.9797 72.4091 41.3927C71.2734 40.386 69.1528 40.386 64.9115 40.386C61.2258 40.386 59.3829 40.386 58.2863 39.5068C57.6438 38.9916 57.176 38.2907 56.9467 37.4998C56.5553 36.1498 57.2621 34.4479 58.6757 31.044L62.4033 22.0683C64.4825 17.0618 65.5221 14.5585 64.3345 12.7793C63.1468 11 60.4362 11 55.0151 11Z" fill="currentColor"/>
|
|
58
|
+
</svg>`,x0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
59
|
+
<path d="M6 32V12L13 22L20 12V32H17V20L13 26L9 20V32H6ZM22 32V12L29 22L36 12V32H33V20L29 26L25 20V32H22Z" fill="currentColor"/>
|
|
60
|
+
</svg>`,D0=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
61
|
+
<path opacity="0.2" d="M19.2002 17.4H8.40017V13.8H15.6002V10.2H19.2002V17.4ZM8.40017 13.8H4.80017V10.2H8.40017V13.8Z" fill="currentColor"/>
|
|
62
|
+
<path d="M8.40005 17.4H19.2001V21H4.80005V13.8H8.40005V17.4ZM15.6001 10.2V13.8H8.40005V10.2H15.6001ZM19.2001 10.2H15.6001V6.6H4.80005V3H19.2001V10.2Z" fill="currentColor"/>
|
|
63
|
+
</svg>`,y0=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
64
|
+
<path d="M35.3993 26.4544C34.2871 28.3855 27.8314 32.9425 20 32.9425C12.1686 32.9425 5.71288 28.3855 4.60075 26.4544C4.5427 26.3532 4.50826 26.2401 4.5 26.1237V22.418C4.51199 22.3209 4.53496 22.2256 4.56846 22.1338C5.04896 20.9261 6.30833 19.1733 7.93325 18.7031C8.14896 18.149 8.468 17.3404 8.76508 16.7437C8.71727 16.2776 8.69485 15.8094 8.69792 15.3409C8.69792 13.6217 9.06217 12.113 10.1601 10.9906C10.6729 10.4662 11.3097 10.0644 12.064 9.76091C13.871 8.29357 16.4453 7.05745 19.9716 7.05745C23.4978 7.05745 26.129 8.29357 27.936 9.76091C28.6903 10.0644 29.3271 10.4662 29.8399 10.9906C30.9378 12.113 31.3021 13.6217 31.3021 15.3409C31.3021 15.8162 31.284 16.2877 31.2349 16.7437C31.532 17.3404 31.851 18.149 32.0667 18.7031C33.6917 19.1733 34.951 20.9261 35.4315 22.1338C35.4677 22.2248 35.4908 22.3205 35.5 22.418V26.1237C35.4917 26.2401 35.4573 26.3532 35.3993 26.4544ZM20.2222 18.7147H19.7778C19.6422 18.945 19.4889 19.1644 19.3193 19.3709C18.3247 20.5941 16.8419 21.2981 14.7881 21.2981C12.56 21.2981 10.9273 20.8344 9.90304 19.6719C9.86495 19.6283 9.82833 19.5835 9.79325 19.5375L9.66667 19.6719V28.1775C11.5202 29.1837 15.4972 30.992 20 30.992C24.5028 30.992 28.4798 29.1837 30.3333 28.1775V19.6719L30.2067 19.5375C30.2067 19.5375 30.1641 19.5957 30.097 19.6719C29.0727 20.8344 27.44 21.2981 25.2119 21.2981C23.1581 21.2981 21.6753 20.5941 20.6807 19.3709C20.5111 19.1644 20.3578 18.945 20.2222 18.7147ZM23.2292 22.9127C23.9383 22.9127 24.5208 23.4952 24.5208 24.2043V26.7877C24.5208 27.4968 23.9383 28.0793 23.2292 28.0793C22.52 28.0793 21.9375 27.4968 21.9375 26.7877V24.2043C21.9375 23.4952 22.52 22.9127 23.2292 22.9127ZM16.7708 22.9127C17.48 22.9127 18.0625 23.4952 18.0625 24.2043V26.7877C18.0625 27.4968 17.48 28.0793 16.7708 28.0793C16.0617 28.0793 15.4792 27.4968 15.4792 26.7877V24.2043C15.4792 23.4952 16.0617 22.9127 16.7708 22.9127ZM21.0501 14.9237C21.2258 16.289 21.5707 17.3947 22.1842 18.149C22.7551 18.8517 23.649 19.3606 25.2119 19.3606C27.2437 19.3606 28.1724 18.9253 28.6438 18.3905C29.1398 17.8287 29.3646 16.9051 29.3646 15.3409C29.3646 13.8684 29.0507 12.9552 28.454 12.3455C27.8378 11.7152 26.7502 11.2321 24.8063 11.0216C22.8856 10.8136 21.975 11.1998 21.5345 11.7049C21.187 12.1014 20.97 12.7485 20.9688 13.7431V13.7702C20.9688 14.1121 20.9959 14.4966 21.0501 14.9237ZM18.9499 14.9237C19.0041 14.4966 19.0312 14.1117 19.0312 13.7689V13.7431C19.03 12.7485 18.813 12.1014 18.4655 11.7049C18.025 11.1998 17.1144 10.8136 15.1937 11.0216C13.2498 11.2321 12.1622 11.7152 11.546 12.3455C10.9493 12.9552 10.6354 13.8684 10.6354 15.3409C10.6354 16.9051 10.8615 17.8287 11.3562 18.3905C11.8276 18.9253 12.7563 19.3606 14.7881 19.3606C16.351 19.3606 17.2449 18.8517 17.8158 18.149C18.4293 17.3947 18.7742 16.289 18.9499 14.9237Z" fill="currentColor"/>
|
|
65
|
+
</svg>`,N0={anthropic:I0,openai:u0,google:d0,openrouter:h0,groq:f0,deepseek:p0,xai:m0,zai:Og,"zai-coding":Og,setu:w0,minimax:x0,opencode:D0,copilot:y0},Vt=D.memo(function({provider:e,className:t="",size:s=16}){const n=N0[e.toLowerCase()];return n?o.jsx("span",{className:`inline-flex items-center justify-center text-foreground/70 dark:text-foreground/80 ${t}`,style:{width:s,height:s},title:e,dangerouslySetInnerHTML:{__html:n.replace(/<svg/,`<svg width="${s}" height="${s}" style="width:${s}px;height:${s}px"`)}}):o.jsx("span",{className:`inline-flex items-center justify-center text-[10px] font-medium text-muted-foreground uppercase ${t}`,style:{width:s,height:s},title:e,children:e.slice(0,2)})});function Cl(){return nt({queryKey:["files"],queryFn:async()=>await wA.listFiles(),staleTime:1e4,refetchOnWindowFocus:!0,retry:1})}function k0({enabled:A,onSend:e,textareaRef:t,setMessage:s}){const[n,r]=D.useState(A?"normal":"insert"),[i,a]=D.useState(""),g=D.useCallback((d,E)=>{for(;E<d.length&&/\S/.test(d[E]);)E++;for(;E<d.length&&/\s/.test(d[E]);)E++;return Math.min(E,d.length)},[]),Q=D.useCallback((d,E)=>{for(E<d.length&&/\S/.test(d[E])&&E++;E<d.length&&/\s/.test(d[E]);)E++;for(;E<d.length&&/\S/.test(d[E]);)E++;return Math.max(0,E-1)},[]),l=D.useCallback((d,E)=>{for(E=Math.max(0,E-1);E>0&&/\s/.test(d[E]);)E--;for(;E>0&&/\S/.test(d[E-1]);)E--;return E},[]),u=D.useCallback(d=>{const E=t.current;if(!E)return!1;const C=d.key;if(C==="i")return d.preventDefault(),r("insert"),!0;if(C==="a"){d.preventDefault(),r("insert");const p=E.selectionStart;return setTimeout(()=>{E.setSelectionRange(p+1,p+1)},0),!0}if(C==="I"){d.preventDefault(),r("insert");const f=E.value.lastIndexOf(`
|
|
66
|
+
`,E.selectionStart-1)+1;return setTimeout(()=>{E.setSelectionRange(f,f)},0),!0}if(C==="A"){d.preventDefault(),r("insert");const p=E.value;let f=p.indexOf(`
|
|
67
|
+
`,E.selectionStart);return f===-1&&(f=p.length),setTimeout(()=>{E.setSelectionRange(f,f)},0),!0}if(C==="0"){d.preventDefault();const f=E.value.lastIndexOf(`
|
|
68
|
+
`,E.selectionStart-1)+1;return E.setSelectionRange(f,f),!0}if(C==="$"){d.preventDefault();const p=E.value;let f=p.indexOf(`
|
|
69
|
+
`,E.selectionStart);return f===-1&&(f=p.length),E.setSelectionRange(f,f),!0}if(C==="o"){d.preventDefault(),r("insert");const p=E.value;let f=p.indexOf(`
|
|
70
|
+
`,E.selectionStart);f===-1&&(f=p.length);const M=`${p.slice(0,f)}
|
|
71
|
+
${p.slice(f)}`;return s(M),setTimeout(()=>{E.setSelectionRange(f+1,f+1)},0),!0}if(C==="O"){d.preventDefault(),r("insert");const p=E.value,f=p.lastIndexOf(`
|
|
72
|
+
`,E.selectionStart-1)+1,M=`${p.slice(0,f)}
|
|
73
|
+
${p.slice(f)}`;return s(M),setTimeout(()=>{E.setSelectionRange(f,f)},0),!0}if(i==="f"&&C.length===1&&C!=="Escape"){d.preventDefault();const p=E.value,f=p.slice(p.lastIndexOf(`
|
|
74
|
+
`,E.selectionStart-1)+1,p.indexOf(`
|
|
75
|
+
`,E.selectionStart)===-1?p.length:p.indexOf(`
|
|
76
|
+
`,E.selectionStart)),M=E.selectionStart-p.lastIndexOf(`
|
|
77
|
+
`,E.selectionStart-1)-1,S=f.indexOf(C,M+1);if(S!==-1){const N=p.lastIndexOf(`
|
|
78
|
+
`,E.selectionStart-1)+1+S;E.setSelectionRange(N,N)}return a(""),!0}if(C==="f")return d.preventDefault(),a("f"),setTimeout(()=>a(""),2e3),!0;if(C==="d"){if(i==="d"){d.preventDefault();const p=E.value,f=p.lastIndexOf(`
|
|
79
|
+
`,E.selectionStart-1)+1;let M=p.indexOf(`
|
|
80
|
+
`,E.selectionStart);M===-1?M=p.length:M+=1;const S=p.slice(0,f)+p.slice(M);return s(S),a(""),setTimeout(()=>{E.setSelectionRange(f,f)},0),!0}return d.preventDefault(),a("d"),setTimeout(()=>a(""),1e3),!0}if(C==="Enter")return d.preventDefault(),e(),!0;if(C==="Escape")return d.preventDefault(),!0;if(C==="w"){d.preventDefault();const p=E.value,f=g(p,E.selectionStart);return E.setSelectionRange(f,f),!0}if(C==="e"){d.preventDefault();const p=E.value,f=Q(p,E.selectionStart);return E.setSelectionRange(f,f),!0}if(C==="b"){d.preventDefault();const p=E.value,f=l(p,E.selectionStart);return E.setSelectionRange(f,f),!0}if(C==="x"){d.preventDefault();const p=E.value,f=E.selectionStart;if(f<p.length){const M=p.slice(0,f)+p.slice(f+1);s(M),setTimeout(()=>{E.setSelectionRange(f,f)},0)}return!0}if(C==="s"){d.preventDefault();const p=E.value,f=E.selectionStart;if(f<p.length){const M=p.slice(0,f)+p.slice(f+1);s(M),r("insert"),setTimeout(()=>{E.setSelectionRange(f,f)},0)}else r("insert");return!0}if(C==="S"){d.preventDefault();const p=E.value,f=p.lastIndexOf(`
|
|
81
|
+
`,E.selectionStart-1)+1;let M=p.indexOf(`
|
|
82
|
+
`,E.selectionStart);M===-1&&(M=p.length);const S=p.slice(0,f)+p.slice(M);return s(S),r("insert"),setTimeout(()=>{E.setSelectionRange(f,f)},0),!0}if(C==="h"){d.preventDefault();const p=E.selectionStart;return p>0&&E.setSelectionRange(p-1,p-1),!0}if(C==="l"){d.preventDefault();const p=E.selectionStart;return p<E.value.length&&E.setSelectionRange(p+1,p+1),!0}if(C==="j"){d.preventDefault();const p=E.value,f=E.selectionStart,M=p.lastIndexOf(`
|
|
83
|
+
`,f-1)+1,S=f-M,N=p.indexOf(`
|
|
84
|
+
`,f);if(N!==-1){const T=N+1;let L=p.indexOf(`
|
|
85
|
+
`,T);L===-1&&(L=p.length);const Z=L-T,AA=T+Math.min(S,Z);E.setSelectionRange(AA,AA)}return!0}if(C==="k"){d.preventDefault();const p=E.value,f=E.selectionStart,M=p.lastIndexOf(`
|
|
86
|
+
`,f-1)+1;if(M>0){const S=f-M,N=M-1,T=p.lastIndexOf(`
|
|
87
|
+
`,N-1)+1,L=N-T,Z=T+Math.min(S,L);E.setSelectionRange(Z,Z)}return!0}return!1},[i,e,t,s,g,Q,l]);return{vimMode:n,setVimMode:r,handleVimNormalMode:u}}function M0(){const[A,e]=D.useState(!1),[t,s]=D.useState(""),[n,r]=D.useState(0),[i,a]=D.useState(),g=D.useCallback((u,d,E)=>{const C=d.current;if(!C)return;const p=C.value,f=C.selectionStart,S=p.slice(0,f).match(/(^|[\s])@(\S*)$/);if(!S)return;const N=f-S[0].length+S[1].length,T=`${p.slice(0,N)}@${u} ${p.slice(f)}`;E(T),e(!1),setTimeout(()=>{const L=N+u.length+2;C.setSelectionRange(L,L),C.focus()},0)},[]),Q=D.useCallback(u=>{a(u)},[]),l=D.useCallback((u,d)=>{const C=u.slice(0,d).match(/(^|[\s])@(\S*)$/);C?(e(!0),s(C[2]),r(0)):e(!1)},[]);return{showFileMention:A,mentionQuery:t,mentionSelectedIndex:n,currentFileToSelect:i,setShowFileMention:e,setMentionQuery:s,setMentionSelectedIndex:r,setCurrentFileToSelect:a,handleFileSelect:g,handleEnterSelect:Q,checkForMention:l}}function b0({onCommand:A,updatePreferences:e,updateReasoningText:t,vimModeEnabled:s,reasoningEnabled:n,textareaRef:r,setMessage:i,setShowShortcutsModal:a,sessionId:g}){const[Q,l]=D.useState(!1),[u,d]=D.useState(""),[E,C]=D.useState(0),[p,f]=D.useState(),M=D.useCallback(async T=>{const L=()=>{i(""),l(!1),r.current&&(r.current.style.height="auto"),r.current?.focus()};if(T==="help"){a(!0),L();return}if(T==="vim"){e({vimMode:!s}),L();return}if(T==="reasoning"){t(!n),L();return}if(T==="stop"){if(g)try{await wA.abortSession(g)}catch(Z){console.error("Failed to stop generation:",Z)}L();return}A&&A(T),L()},[A,s,n,e,t,r,i,a,g]),S=D.useCallback(T=>{f(T)},[]),N=D.useCallback(T=>{T.startsWith("/")&&!T.includes(" ")?(l(!0),d(T.slice(1)),C(0)):l(!1)},[]);return{showCommandSuggestions:Q,commandQuery:u,commandSelectedIndex:E,currentCommandToSelect:p,setShowCommandSuggestions:l,setCommandQuery:d,setCommandSelectedIndex:C,setCurrentCommandToSelect:f,handleCommandSelect:M,handleCommandEnterSelect:S,checkForCommand:N}}function F0(A){return e=>{const{showFileMention:t,showCommandSuggestions:s,mentionSelectedIndex:n,commandSelectedIndex:r,currentFileToSelect:i,currentCommandToSelect:a,isPlanMode:g,vimModeEnabled:Q,vimMode:l,setMentionSelectedIndex:u,setCommandSelectedIndex:d,setShowFileMention:E,setShowCommandSuggestions:C,setIsPlanMode:p,setVimMode:f,handleFileSelect:M,handleCommandSelect:S,handleSend:N,handleVimNormalMode:T,onPlanModeToggle:L}=A;if(s){const Z=El.length;e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),d((r+1)%Z)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),d((r-1+Z)%Z)):e.key==="Enter"?(e.preventDefault(),a&&S(a)):e.key==="Escape"&&(e.preventDefault(),C(!1));return}if(t){e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),u((n+1)%20)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),u((n-1+20)%20)):e.key==="Enter"?(e.preventDefault(),i&&M(i)):e.key==="Escape"&&(e.preventDefault(),E(!1),Q&&f("normal"));return}if(!(Q&&l==="normal"&&T(e))){if(Q&&l==="insert"&&e.key==="Escape"){e.preventDefault(),f("normal");return}if(e.key==="Tab"){e.preventDefault();const Z=!g;p(Z),L?.(Z)}else e.key==="Enter"&&!e.shiftKey&&(!Q||l==="normal")&&(e.preventDefault(),N())}}}const xe=ct(A=>({balance:null,usdcBalance:null,network:"mainnet",isPaymentPending:!1,lastPaymentAmount:null,walletAddress:null,isLoading:!1,isTopupModalOpen:!1,scope:null,payg:null,subscription:null,limits:null,setBalance:e=>A({balance:e}),setUsdcBalance:e=>A({usdcBalance:e}),setNetwork:e=>A({network:e}),setPaymentPending:e=>A({isPaymentPending:e}),setLastPaymentAmount:e=>A({lastPaymentAmount:e}),setWalletAddress:e=>A({walletAddress:e}),setLoading:e=>A({isLoading:e}),openTopupModal:()=>A({isTopupModalOpen:!0}),closeTopupModal:()=>A({isTopupModalOpen:!1}),setScope:e=>A({scope:e}),setPayg:e=>A({payg:e}),setSubscription:e=>A({subscription:e}),setLimits:e=>A({limits:e})}));function G0(A){if(!A)return"";if(typeof A=="string")return A;try{const e=A,t=e.cmd??e.command;if(typeof t=="string")return t;const s=e.path??e.pattern??e.query;if(typeof s=="string")return s;const n=JSON.stringify(A,null,2);return n.length>120?`${n.slice(0,120)}...`:n}catch{return String(A)}}function v0({approval:A,sessionId:e,isProcessing:t,onProcess:s}){const{removePendingApproval:n}=hr(),r=A.toolName.replace(/_/g," "),i=G0(A.args),a=D.useCallback(async()=>{s(A.callId);try{await wA.approveToolCall(e,A.callId,!0),n(A.callId)}catch(Q){console.error("Failed to approve:",Q)}},[e,A.callId,n,s]),g=D.useCallback(async()=>{s(A.callId);try{await wA.approveToolCall(e,A.callId,!1),n(A.callId)}catch(Q){console.error("Failed to reject:",Q)}},[e,A.callId,n,s]);return o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 min-w-0",children:[o.jsx(ua,{className:"h-3.5 w-3.5 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs font-medium text-foreground truncate",children:r}),i&&o.jsx("code",{className:"text-[11px] font-mono text-muted-foreground bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-[200px]",children:i}),o.jsxs("div",{className:"flex items-center gap-1.5 ml-auto flex-shrink-0",children:[o.jsxs("button",{type:"button",onClick:g,disabled:t,title:"Reject (N)",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(st,{className:"w-3 h-3"}),o.jsx("span",{className:"hidden sm:inline",children:"Reject"}),o.jsx("kbd",{className:"ml-0.5 text-[9px] text-muted-foreground opacity-70",children:"N"})]}),o.jsxs("button",{type:"button",onClick:a,disabled:t,title:"Approve (Y)",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50",children:[o.jsx(Pt,{className:"w-3 h-3"}),t?"...":"Approve",!t&&o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"Y"})]})]})]})}const S0=D.memo(function({sessionId:e}){const{pendingApprovals:t,removePendingApproval:s}=hr(),[n,r]=D.useState(null),i=D.useCallback(async()=>{try{await Promise.all(t.map(g=>wA.approveToolCall(e,g.callId,!0)));for(const g of t)s(g.callId)}catch(g){console.error("Failed to approve all:",g)}},[e,t,s]),a=t.length>0;return o.jsx("div",{className:"grid transition-[grid-template-rows,opacity] duration-200 ease-out",style:{gridTemplateRows:a?"1fr":"0fr",opacity:a?1:0},children:o.jsx("div",{className:"overflow-hidden",children:o.jsxs("div",{className:"border border-amber-200 dark:border-amber-800 border-b-0 bg-amber-50/80 dark:bg-amber-950/30 rounded-t-xl overflow-hidden -mb-1 pb-2",children:[o.jsx("div",{className:"divide-y divide-amber-200/50 dark:divide-amber-800/50",children:t.map(g=>o.jsx(v0,{approval:g,sessionId:e,isProcessing:n===g.callId,onProcess:r},g.callId))}),t.length>1&&o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5 border-t border-amber-200 dark:border-amber-800 bg-amber-100/50 dark:bg-amber-900/20",children:[o.jsxs("span",{className:"text-[11px] text-amber-800 dark:text-amber-200",children:[t.length," tools waiting"]}),o.jsxs("button",{type:"button",onClick:i,title:"Approve All (A)",className:"flex items-center gap-1 px-2.5 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors",children:[o.jsx(iB,{className:"w-3 h-3"}),"Approve All",o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"A"})]})]})]})})})}),U0=D.memo(D.forwardRef(function({onSend:e,onCommand:t,disabled:s,onConfigClick:n,onPlanModeToggle:r,isPlanMode:i,reasoningEnabled:a,sessionId:g,images:Q=[],documents:l=[],onFileRemove:u,isDragging:d=!1,onPaste:E,visionEnabled:C=!1,attachmentEnabled:p=!1,modelName:f,providerName:M,authType:S,isFreeModel:N,researchContexts:T=[],onResearchContextRemove:L,onModelInfoClick:Z,agent:AA,agents:_=[],onAgentChange:J},P){const[b,K]=D.useState(""),[w,B]=D.useState(i||!1),[I,y]=D.useState(!1),[G,j]=D.useState(!1),O=D.useRef(null),z=D.useRef(null),{data:v,isLoading:c}=Cl(),{preferences:h,updatePreferences:U}=Ys(),{data:R}=ps(),X=Gn(),tA=v?.files||[],uA=v?.changedFiles||[],aA=xe(LA=>LA.subscription),KA=M==="setu",PA=D.useMemo(()=>KA&&aA?.active?aA.tierName??"GO":null,[KA,aA]);D.useEffect(()=>{if(!G)return;const LA=dt=>{z.current&&!z.current.contains(dt.target)&&j(!1)};return document.addEventListener("mousedown",LA),()=>document.removeEventListener("mousedown",LA)},[G]);const dA=D.useRef(()=>{}),{showFileMention:ZA,mentionQuery:ne,mentionSelectedIndex:Ee,currentFileToSelect:FA,setShowFileMention:RA,setMentionSelectedIndex:Be,setCurrentFileToSelect:ye,handleFileSelect:ue,handleEnterSelect:Ne,checkForMention:MA}=M0(),{showCommandSuggestions:WA,commandQuery:_A,commandSelectedIndex:Oe,currentCommandToSelect:le,setShowCommandSuggestions:q,setCommandSelectedIndex:x,setCurrentCommandToSelect:k,handleCommandSelect:V,handleCommandEnterSelect:eA,checkForCommand:iA}=b0({onCommand:t,updatePreferences:U,updateReasoningText:LA=>X.mutate({reasoningText:LA,scope:"global"}),vimModeEnabled:h.vimMode,reasoningEnabled:R?.defaults?.reasoningText??!0,textareaRef:O,setMessage:K,setShowShortcutsModal:y,sessionId:g}),{vimMode:QA,setVimMode:zA,handleVimNormalMode:VA}=k0({enabled:h.vimMode,onSend:()=>dA.current(),textareaRef:O,setMessage:K});D.useEffect(()=>{O.current?.focus()},[]),D.useEffect(()=>{i!==void 0&&B(i)},[i]),D.useImperativeHandle(P,()=>({focus:()=>{O.current?.focus()},setValue:LA=>{K(LA),O.current?.focus()}}));const YA=D.useCallback(()=>{const LA=O.current;LA&&(LA.style.height="auto",LA.style.height=`${LA.scrollHeight}px`)},[]);D.useEffect(()=>{YA()},[YA,b]);const pe=D.useCallback(()=>{RA(!1),ye(void 0)},[RA,ye]),HA=D.useCallback(()=>{q(!1),k(void 0)},[q,k]),Re=D.useCallback(LA=>{ue(LA,O,K)},[ue]),zt=D.useCallback(()=>{!b.trim()||s||(e(b),K(""),RA(!1),q(!1),ye(void 0),k(void 0),O.current&&(O.current.style.height="auto"),h.vimMode&&zA("normal"),O.current?.focus())},[b,s,e,h.vimMode,RA,q,ye,k,zA]);D.useEffect(()=>{dA.current=zt},[zt]);const ze=D.useCallback(LA=>{if(h.vimMode&&QA==="normal")return;const dt=LA.target.value;K(dt),iA(dt),dt.startsWith("/")&&!dt.includes(" ")?(RA(!1),ye(void 0)):(q(!1),k(void 0),MA(dt,LA.target.selectionStart))},[h.vimMode,QA,iA,RA,ye,q,k,MA]),Ve=D.useMemo(()=>F0({showFileMention:ZA,showCommandSuggestions:WA,mentionSelectedIndex:Ee,commandSelectedIndex:Oe,currentFileToSelect:FA,currentCommandToSelect:le,isPlanMode:w,vimModeEnabled:h.vimMode,vimMode:QA,setMentionSelectedIndex:Be,setCommandSelectedIndex:x,setShowFileMention:RA,setShowCommandSuggestions:q,setIsPlanMode:B,setVimMode:zA,handleFileSelect:Re,handleCommandSelect:V,handleSend:zt,handleVimNormalMode:VA,onPlanModeToggle:r}),[ZA,WA,Ee,Oe,FA,le,w,h.vimMode,QA,Be,x,RA,q,zA,Re,V,zt,VA,r]);D.useEffect(()=>{h.vimMode||zA("insert")},[h.vimMode,zA]);const Fo=D.useCallback(LA=>{E?.(LA)},[E]),ke=Q.length>0,Ge=l.length>0,yt=ke||Ge,qe=h.fullWidthContent?"w-full pointer-events-auto relative":"max-w-3xl mx-auto pointer-events-auto relative";return o.jsxs(o.Fragment,{children:[d&&(()=>{const LA=C||p,dt=[...C?["Images"]:[],...p?["PDF"]:[],"Markdown","Text"].join(", ");return o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm pointer-events-none",children:o.jsxs("div",{className:`flex flex-col items-center gap-4 p-8 rounded-2xl border-2 border-dashed ${LA?"bg-card border-primary/50":"bg-card border-muted-foreground/30"}`,children:[o.jsx("div",{className:`p-4 rounded-full ${LA?"bg-primary/10":"bg-muted"}`,children:o.jsx(Zo,{className:`w-12 h-12 ${LA?"text-primary":"text-muted-foreground"}`})}),o.jsxs("div",{className:"text-center",children:[o.jsx("p",{className:"text-lg font-medium text-foreground",children:"Drop files here"}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:[dt," up to 10MB"]})]})]})})})(),o.jsx("div",{className:"absolute bottom-0 left-0 right-0 pt-16 pb-5 md:pb-6 px-2 md:px-4 bg-gradient-to-t from-background via-background to-transparent pointer-events-none z-20 safe-area-inset-bottom",children:o.jsxs("div",{className:qe,children:[h.vimMode&&QA==="normal"&&o.jsx("div",{className:"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-amber-500/90 text-white rounded shadow-sm",children:"NORMAL"}),h.vimMode&&QA==="insert"&&o.jsx("div",{className:"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-green-500/90 text-white rounded shadow-sm",children:"INSERT"}),g&&o.jsx("div",{className:"pointer-events-auto w-3/4 mx-auto relative z-0",children:o.jsx(S0,{sessionId:g})}),o.jsxs("div",{className:`relative z-10 flex flex-col rounded-3xl p-1 transition-all touch-manipulation ${w?"bg-slate-100 dark:bg-slate-900/40 border border-slate-300 dark:border-slate-700 focus-within:border-slate-400 dark:focus-within:border-slate-600 focus-within:ring-1 focus-within:ring-slate-300 dark:focus-within:ring-slate-700":"bg-card border border-border focus-within:border-primary/60 focus-within:ring-1 focus-within:ring-primary/40"}`,children:[yt&&o.jsxs("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:[Q.map(LA=>o.jsxs("div",{className:"relative group w-12 h-12 rounded-lg overflow-hidden bg-muted",children:[o.jsx("img",{src:LA.preview,alt:"Attachment",className:"w-full h-full object-cover"}),o.jsx("button",{type:"button",onClick:()=>u?.(LA.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(st,{className:"w-3 h-3 text-white"})})]},LA.id)),l.map(LA=>o.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-muted max-w-[200px]",children:[LA.type==="pdf"?o.jsx(Zo,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx(Es,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate",children:LA.name}),o.jsx("button",{type:"button",onClick:()=>u?.(LA.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(st,{className:"w-3 h-3 text-white"})})]},LA.id))]}),T.length>0&&o.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:T.map(LA=>o.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30 max-w-[200px]",children:[o.jsx(nr,{className:"w-4 h-4 text-teal-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate text-teal-600 dark:text-teal-400",children:LA.label}),L&&o.jsx("button",{type:"button",onClick:()=>L(LA.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(st,{className:"w-3 h-3 text-white"})})]},LA.id))}),o.jsxs("div",{className:"flex items-end gap-1",children:[n&&o.jsx("button",{type:"button",onClick:n,className:"flex items-center justify-center w-10 h-10 rounded-full hover:bg-background/50 active:bg-background/70 transition-colors text-muted-foreground hover:text-foreground flex-shrink-0 touch-manipulation",children:o.jsx(mc,{className:"w-4 h-4"})}),o.jsx(Fn,{ref:O,value:b,onChange:ze,onKeyDown:Ve,onPaste:Fo,placeholder:w?"Plan mode - Type a message...":"Type a message...",disabled:s,rows:1,className:`border-0 bg-transparent pl-1 pr-2 py-2 max-h-[200px] overflow-y-auto leading-normal resize-none scrollbar-hide text-base ${h.vimMode&&QA==="normal"?"caret-[6px]":""}`,style:{height:"2.5rem"}}),o.jsx("button",{type:"button",onClick:zt,disabled:s||!b.trim()&&!yt,className:`flex items-center justify-center w-10 h-10 rounded-full transition-colors flex-shrink-0 touch-manipulation ${b.trim()||yt?"bg-primary hover:bg-primary/90 active:bg-primary/80 text-primary-foreground":"bg-transparent text-muted-foreground"}`,children:o.jsx(aB,{className:"w-4 h-4"})})]})]}),(a||C||f||M||S||AA)&&o.jsxs("div",{className:"grid grid-cols-[auto_1fr_auto] items-center mt-1 px-3",children:[o.jsxs("div",{className:"justify-self-start flex-shrink-0 relative",ref:z,children:[AA&&_.length>0&&o.jsxs("button",{type:"button",onClick:()=>j(!G),className:"text-[10px] text-muted-foreground flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer",children:[o.jsx("span",{className:"uppercase font-medium",children:AA}),o.jsx(wc,{className:`h-2.5 w-2.5 transition-transform ${G?"rotate-180":""}`})]}),G&&o.jsx("div",{className:"absolute bottom-full left-0 mb-1 min-w-[120px] bg-popover border border-border rounded-md shadow-lg overflow-hidden z-50",children:_.map(LA=>o.jsx("button",{type:"button",onClick:()=>{J?.(LA),j(!1)},className:`w-full text-left px-3 py-1.5 text-xs transition-colors hover:bg-accent ${LA===AA?"text-foreground font-medium bg-accent/50":"text-muted-foreground"}`,children:LA},LA))})]}),o.jsx("div",{className:"justify-self-center",children:(M||f||S)&&o.jsx("div",{className:"text-[10px] text-muted-foreground flex items-center gap-1 px-2 py-0.5",children:o.jsxs("button",{type:"button",onClick:Z,className:"flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer",children:[M&&o.jsxs(o.Fragment,{children:[o.jsx(Vt,{provider:M,size:12,className:"opacity-70"}),o.jsx("span",{className:"opacity-40",children:"/"})]}),f&&o.jsx("span",{children:f}),S&&S==="oauth"&&o.jsx("span",{className:"opacity-50",children:"(pro)"}),KA&&PA&&o.jsxs("span",{className:"opacity-50",children:["(",PA.toLowerCase(),")"]}),N&&o.jsx("span",{className:"opacity-50",children:"(free)"})]})})}),o.jsxs("div",{className:"justify-self-end flex-shrink-0 flex items-center gap-2",children:[a&&o.jsxs("span",{className:"text-[10px] text-indigo-600 dark:text-indigo-300 flex items-center gap-1 w-[52px] justify-center",children:[o.jsx(wn,{className:"h-3 w-3 flex-shrink-0"}),(R?.defaults?.reasoningLevel??"high").replace("xhigh","x-high")]}),C&&o.jsxs("span",{className:"text-[10px] text-emerald-600 dark:text-emerald-400 flex items-center gap-1",children:[o.jsx(Ca,{className:"h-3 w-3"}),"images"]})]})]}),ZA&&!c&&o.jsx(_h,{files:tA,changedFiles:uA,query:ne,selectedIndex:Ee,onSelect:Re,onEnterSelect:Ne,onClose:pe}),WA&&o.jsx(g0,{query:_A,selectedIndex:Oe,onSelect:V,onEnterSelect:eA,onClose:HA,sessionId:g}),o.jsx(C0,{isOpen:I,onClose:()=>y(!1)})]})})]})})),R0=50,ko=["sessions","list"];function K0(){return nc({queryKey:ko,queryFn:({pageParam:A=0})=>wA.getSessionsPage({limit:R0,offset:A}),getNextPageParam:A=>A.nextOffset??void 0,initialPageParam:0,staleTime:3e4,refetchInterval:3e4,refetchOnWindowFocus:!1})}function vn(){const A=K0();return{data:D.useMemo(()=>A.data?.pages?A.data.pages.flatMap(t=>t.items??[]):[],[A.data]),isLoading:A.isLoading,isError:A.isError,error:A.error,hasNextPage:A.hasNextPage,fetchNextPage:A.fetchNextPage,isFetchingNextPage:A.isFetchingNextPage}}function Fa(A){const{data:e}=vn();return e?.find(t=>t.id===A)}function J0(){const A=be();return Ye({mutationFn:e=>wA.createSession(e),onSuccess:e=>{A.setQueryData(ko,t=>{if(!t)return t;const s=t.pages[0];return s?{...t,pages:[{...s,items:[e,...s.items]},...t.pages.slice(1)]}:t}),A.invalidateQueries({queryKey:ko})}})}function Ga(A){const e=be();return Ye({mutationFn:t=>wA.updateSession(A,t),onSuccess:async()=>{await e.invalidateQueries({queryKey:ko}),await e.invalidateQueries({queryKey:["session",A]})}})}function L0(){const A=be();return Ye({mutationFn:e=>wA.deleteSession(e),onSuccess:()=>{A.invalidateQueries({queryKey:ko})}})}function Vi(A,e={}){const{enabled:t=!0,staleTime:s=15e3}=e;return nt({queryKey:["messages",A],queryFn:()=>{if(!A)throw new Error("Session ID is required");return wA.getMessages(A)},enabled:!!A&&t,staleTime:s,refetchOnWindowFocus:!1})}function j0(A){const e=be();return Ye({mutationFn:t=>wA.sendMessage(A,t),onSuccess:()=>{e.invalidateQueries({queryKey:["messages",A]}),e.invalidateQueries({queryKey:ko})}})}const Ze=ct(A=>({isExpanded:!1,skills:[],selectedSkill:null,isViewerOpen:!1,viewingFile:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setSkills:e=>A({skills:e}),selectSkill:e=>A({selectedSkill:e,isViewerOpen:!1,viewingFile:null}),openViewer:e=>A({isViewerOpen:!0,viewingFile:e}),closeViewer:()=>A({isViewerOpen:!1,viewingFile:null})})),We=ct(A=>({isExpanded:!1,servers:[],loading:new Set,authUrls:new Map,copilotDevice:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),Ze.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),Ze.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setServers:e=>A({servers:e}),setLoading:(e,t)=>A(s=>{const n=new Set(s.loading);return t?n.add(e):n.delete(e),{loading:n}}),updateServer:(e,t)=>A(s=>({servers:s.servers.map(n=>n.name===e?{...n,...t}:n)})),setAuthUrl:(e,t)=>A(s=>{const n=new Map(s.authUrls);return t?n.set(e,t):n.delete(e),{authUrls:n}}),setCopilotDevice:e=>A({copilotDevice:e})})),_e=ct(A=>({isExpanded:!1,selectedFile:null,isViewerOpen:!1,expandedDirs:new Set,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1,isViewerOpen:!1,selectedFile:null}),openFile:e=>A({selectedFile:e,isViewerOpen:!0}),closeViewer:()=>A({isViewerOpen:!1,selectedFile:null}),toggleDir:e=>A(t=>{const s=new Set(t.expandedDirs);return s.has(e)?s.delete(e):s.add(e),{expandedDirs:s}})})),Fe=ct(A=>({isExpanded:!1,status:"idle",url:null,qrCode:null,error:null,progress:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),It.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),It.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setStatus:e=>A({status:e}),setUrl:e=>A({url:e}),setQrCode:e=>A({qrCode:e}),setError:e=>A({error:e}),setProgress:e=>A({progress:e}),reset:()=>A({status:"idle",url:null,qrCode:null,error:null,progress:null})})),xt=ct(A=>({isExpanded:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>A({isExpanded:!0}),collapseSidebar:()=>A({isExpanded:!1})})),It=ct((A,e)=>({isExpanded:!1,activeResearchSessionId:null,parentSessionId:null,toggleSidebar:()=>{A(t=>{const s=!t.isExpanded;return s&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar()),{isExpanded:s}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),selectResearchSession:t=>A({activeResearchSessionId:t}),setParentSessionId:t=>{e().parentSessionId!==t&&A({parentSessionId:t,activeResearchSessionId:null})},reset:()=>A({activeResearchSessionId:null,parentSessionId:null})})),Xe=ct(A=>({isExpanded:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0,isDiffOpen:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1,isDiffOpen:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0}),openDiff:(e,t)=>A({selectedFile:e,allOperations:t,selectedOperationIndex:t.length-1,isDiffOpen:!0,isExpanded:!0}),selectOperation:e=>A({selectedOperationIndex:e}),closeDiff:()=>A({isDiffOpen:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0})})),Ue=ct(A=>({isExpanded:!1,activeSessionId:null,selectedFile:null,selectedFileStaged:!1,isDiffOpen:!1,isCommitModalOpen:!1,commitSessionId:null,wasSessionListCollapsed:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Xe.getState().collapseSidebar(),It.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),We.getState().collapseSidebar(),Ze.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>A({isExpanded:!0}),collapseSidebar:()=>A({isExpanded:!1,isDiffOpen:!1,selectedFile:null}),openDiff:(e,t)=>A({selectedFile:e,selectedFileStaged:t,isDiffOpen:!0,isExpanded:!0}),closeDiff:()=>A({isDiffOpen:!1,selectedFile:null}),switchFile:(e,t)=>A({selectedFile:e,selectedFileStaged:t}),openCommitModal:()=>A(e=>({isCommitModalOpen:!0,commitSessionId:e.activeSessionId})),openCommitModalForSession:e=>A({isCommitModalOpen:!0,commitSessionId:e}),closeCommitModal:()=>A({isCommitModalOpen:!1,commitSessionId:null}),setActiveSessionId:e=>A({activeSessionId:e}),setSessionListCollapsed:e=>A({wasSessionListCollapsed:e})}));function Sn(){const A=Ue(e=>e.isExpanded);return nt({queryKey:["git","status"],queryFn:()=>wA.getGitStatus(),refetchInterval:A?5e3:!1,retry:1,staleTime:3e3})}function T0(A,e=!1){return nt({queryKey:["git","diff",A,e],queryFn:()=>A?wA.getGitDiff(A,e):null,enabled:!!A,retry:1,refetchInterval:!1})}function O0(A){return Ye({mutationFn:()=>wA.generateCommitMessage(A??void 0)})}function Un(){const A=be();return Ye({mutationFn:e=>wA.stageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function va(){const A=be();return Ye({mutationFn:e=>wA.unstageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function Il(){const A=be();return Ye({mutationFn:e=>wA.restoreFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function ul(){const A=be();return Ye({mutationFn:e=>wA.deleteFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function q0(){const A=be();return Ye({mutationFn:e=>wA.commitChanges(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Y0(){const A=be();return Ye({mutationFn:()=>wA.pushCommits(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function H0(){const A=be();return Ye({mutationFn:()=>wA.pullChanges(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function P0(){const A=be();return Ye({mutationFn:()=>wA.initGitRepo(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function W0(){const A=Ue(e=>e.isExpanded);return nt({queryKey:["git","remotes"],queryFn:()=>wA.getRemotes(),enabled:A,retry:1,staleTime:1e4})}function z0(){const A=be();return Ye({mutationFn:({name:e,url:t})=>wA.addRemote(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}function V0(){const A=be();return Ye({mutationFn:e=>wA.removeRemote(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}const Sa=["image/png","image/jpeg","image/gif","image/webp"],Ua=["application/pdf"],dl=["text/plain","text/markdown","text/x-markdown","application/json","text/csv","text/xml","application/xml","text/yaml","text/x-yaml","application/x-yaml","text/html","text/css","text/javascript","application/javascript","application/typescript"],hl=[".txt",".md",".markdown",".json",".csv",".xml",".yaml",".yml",".html",".css",".js",".ts",".jsx",".tsx",".py",".rs",".go",".java",".c",".cpp",".h",".hpp",".rb",".php",".sh",".bash",".zsh",".toml",".ini",".cfg",".env",".log",".sql",".graphql",".svelte",".vue"],Z0=[...Sa,...Ua,...dl];function _0(){return`file-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function X0(A){if(Sa.includes(A.type))return"image";if(Ua.includes(A.type))return"pdf";if(dl.includes(A.type))return"text";const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return hl.includes(e)?"text":null}function $0(A){if(Z0.includes(A.type))return!0;const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return hl.includes(e)}async function qg(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>{const r=s.result.split(",")[1];e(r)},s.onerror=t,s.readAsDataURL(A)})}async function Af(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsText(A)})}async function ef(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsDataURL(A)})}function tf(A={}){const{maxFiles:e=10,maxSizeMB:t=10,pageWide:s=!0,supportsImages:n=!0,supportsFileAttachments:r=!0,onError:i}=A,[a,g]=D.useState([]),[Q,l]=D.useState(!1),[u,d]=D.useState(null),E=t*1024*1024,C=D.useCallback(J=>!n&&Sa.includes(J.type)?"This model does not support image attachments":!r&&Ua.includes(J.type)?"This model does not support PDF attachments":$0(J)?J.size>E?`File too large: ${(J.size/1024/1024).toFixed(1)}MB. Max: ${t}MB`:null:`Unsupported file type: ${J.name.slice(J.name.lastIndexOf("."))||J.type||"unknown"}`,[E,t,n,r]),p=D.useCallback(async J=>{d(null);const P=Array.from(J),b=e-a.length;if(b<=0){const B=`Maximum ${e} files allowed`;d(B),i?.(B);return}const K=P.slice(0,b),w=[];for(const B of K){const I=C(B);if(I){d(I),i?.(I);continue}const y=X0(B);if(y)try{let G,j,O,z=B.type;if(y==="image")[G,j]=await Promise.all([ef(B),qg(B)]);else if(y==="pdf")j=await qg(B),z="application/pdf";else if(O=await Af(B),j=O,!z){const v=B.name.toLowerCase();z=v.endsWith(".md")||v.endsWith(".markdown")?"text/markdown":"text/plain"}w.push({id:_0(),file:B,type:y,name:B.name,preview:G,data:j,mediaType:z,textContent:O})}catch{const G=`Failed to process file: ${B.name}`;d(G),i?.(G)}}w.length>0&&g(B=>[...B,...w])},[a.length,e,C,i]),f=D.useCallback(J=>{g(P=>P.filter(b=>b.id!==J)),d(null)},[]),M=D.useCallback(()=>{g([]),d(null)},[]),S=D.useCallback(J=>{J.preventDefault(),J.stopPropagation(),J.dataTransfer.types.includes("Files")&&l(!0)},[]),N=D.useCallback(J=>{J.preventDefault(),J.stopPropagation();const P=J.currentTarget.getBoundingClientRect(),b=J.clientX,K=J.clientY;(b<P.left||b>P.right||K<P.top||K>P.bottom)&&l(!1)},[]),T=D.useCallback(J=>{J.preventDefault(),J.stopPropagation()},[]),L=D.useCallback(J=>{J.preventDefault(),J.stopPropagation(),l(!1);const P=J.dataTransfer.files;P.length>0&&p(Array.from(P))},[p]),Z=D.useCallback(J=>{const P=J.clipboardData?.items;if(!P)return;const b=[];for(const K of Array.from(P))if(K.kind==="file"){const w=K.getAsFile();w&&b.push(w)}b.length>0&&(J.preventDefault(),p(b))},[p]);D.useEffect(()=>{if(!s)return;let J=0;const P=B=>{B.preventDefault(),B.dataTransfer?.types.includes("Files")&&(J++,J===1&&l(!0))},b=B=>{B.preventDefault(),J--,J===0&&l(!1)},K=B=>{B.preventDefault()},w=B=>{B.preventDefault(),J=0,l(!1);const I=B.dataTransfer?.files;I&&I.length>0&&p(Array.from(I))};return document.addEventListener("dragenter",P),document.addEventListener("dragleave",b),document.addEventListener("dragover",K),document.addEventListener("drop",w),()=>{document.removeEventListener("dragenter",P),document.removeEventListener("dragleave",b),document.removeEventListener("dragover",K),document.removeEventListener("drop",w)}},[s,p]);const AA=a.filter(J=>J.type==="image"),_=a.filter(J=>J.type==="pdf"||J.type==="text");return{files:a,images:AA,documents:_,isDragging:Q,error:u,addFiles:p,removeFile:f,clearFiles:M,handleDragEnter:S,handleDragLeave:N,handleDragOver:T,handleDrop:L,handlePaste:Z}}const Zi=ct((A,e)=>({pendingRestoreText:null,setPendingRestoreText:t=>A({pendingRestoreText:t}),consumeRestoreText:()=>{const t=e().pendingRestoreText;return A({pendingRestoreText:null}),t}})),_r=ct((A,e)=>({pendingContexts:new Map,addContext:(t,s)=>{A(n=>{const r=new Map(n.pendingContexts),i=r.get(t)||[];return i.some(a=>a.id===s.id)||r.set(t,[...i,s]),{pendingContexts:r}})},removeContext:(t,s)=>{A(n=>{const r=new Map(n.pendingContexts),i=r.get(t)||[];return r.set(t,i.filter(a=>a.id!==s)),{pendingContexts:r}})},getContexts:t=>e().pendingContexts.get(t)||[],clearContexts:t=>{A(s=>{const n=new Map(s.pendingContexts);return n.delete(t),{pendingContexts:n}})},consumeContexts:t=>{const s=e().getContexts(t);return e().clearContexts(t),s}})),of=/<research-context\s+from="([^"]+)"\s+label="([^"]+)"[^>]*>([\s\S]*?)<\/research-context>/g;function sf(A){const e=[];let t=A;const s=new RegExp(of);let n=s.exec(A);for(;n!==null;){const[r,i,a,g]=n;e.push({id:i,from:i,label:a,content:g.trim()}),t=t.replace(r,""),n=s.exec(A)}return t=t.trim(),{researchContexts:e,cleanContent:t}}function rf(A){return A.length===0?"":A.map(e=>e.content).join(`
|
|
88
|
+
|
|
89
|
+
`)}const fl=D.forwardRef(function({provider:e,model:t,onChange:s,disabled:n=!1},r){const{data:i,isLoading:a}=fr(),[g,Q]=D.useState(!1),[l,u]=D.useState(""),[d,E]=D.useState(0),C=D.useRef(null),p=D.useRef(null),f=D.useRef([]);D.useImperativeHandle(r,()=>({openAndFocus:()=>{Q(!0)}}));const M=D.useMemo(()=>{if(!i)return[];const J=[];for(const[P,b]of Object.entries(i))for(const K of b.models)J.push({providerKey:P,providerLabel:b.label,modelId:K.id,modelLabel:K.label,toolCall:K.toolCall,reasoningText:K.reasoningText,available:K.available,unavailableReason:K.unavailableReason});return J},[i]),S=D.useMemo(()=>new As(M,{keys:[{name:"modelLabel",weight:2},{name:"modelId",weight:1},{name:"providerLabel",weight:.5}],threshold:.3,ignoreLocation:!0,includeScore:!0,distance:100,minMatchCharLength:1}),[M]),N=D.useMemo(()=>{if(!i)return{};if(!l.trim())return i;const P=S.search(l).sort((K,w)=>{const B=K.score??1,I=w.score??1;if(Math.abs(B-I)<.001){const y=K.item.modelLabel.toLowerCase(),G=w.item.modelLabel.toLowerCase(),j=l.toLowerCase(),O=y.indexOf(j),z=G.indexOf(j);if(O>=0&&z<0)return-1;if(z>=0&&O<0)return 1;if(O>=0&&z>=0)return O-z}return B-I}),b={};for(const K of P){const w=K.item;b[w.providerKey]||(b[w.providerKey]={label:w.providerLabel,models:[]}),b[w.providerKey].models.find(I=>I.id===w.modelId)||b[w.providerKey].models.push({id:w.modelId,label:w.modelLabel,toolCall:w.toolCall,reasoningText:w.reasoningText,available:w.available,unavailableReason:w.unavailableReason})}return b},[i,l,S]),T=D.useMemo(()=>{const J=[];for(const[P,b]of Object.entries(N))for(const K of b.models)J.push({providerKey:P,providerLabel:b.label,modelId:K.id,modelLabel:K.label,toolCall:K.toolCall,reasoningText:K.reasoningText,available:K.available,unavailableReason:K.unavailableReason});return J},[N]);D.useEffect(()=>{g&&E(0)},[g]),D.useEffect(()=>{g&&d>=0&&d<f.current.length&&f.current[d]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[d,g]),D.useEffect(()=>{const J=b=>{C.current&&!C.current.contains(b.target)&&Q(!1)},P=b=>{const K=b.target,w=K.tagName==="INPUT"||K.tagName==="TEXTAREA"||K.isContentEditable;(b.key==="Escape"||b.key==="q"&&!w)&&Q(!1)};return g&&(document.addEventListener("mousedown",J),document.addEventListener("keydown",P),setTimeout(()=>p.current?.focus(),0)),()=>{document.removeEventListener("mousedown",J),document.removeEventListener("keydown",P)}},[g]);const L=(J,P,b)=>{b!==!1&&(s(J,P),Q(!1),u(""))},Z=J=>{if(T.length!==0){if(J.key==="ArrowDown"||J.ctrlKey&&J.key==="j")J.preventDefault(),E(P=>P<T.length-1?P+1:0);else if(J.key==="ArrowUp"||J.ctrlKey&&J.key==="k")J.preventDefault(),E(P=>P>0?P-1:T.length-1);else if(J.key==="Enter"){J.preventDefault();const P=T[d];P&&P.available!==!1&&L(P.providerKey,P.modelId,P.available)}}},AA=i?.[e]?.label||e,_=i?.[e]?.models.find(J=>J.id===t)?.label||t;return o.jsxs("div",{ref:C,className:"relative w-full",children:[o.jsxs("button",{type:"button",onClick:()=>!n&&Q(!g),disabled:n||a,className:"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[o.jsxs("span",{className:"flex items-center gap-2 text-sm truncate",children:[o.jsx("span",{className:"text-[hsl(var(--muted-foreground))]",children:AA}),o.jsx("span",{className:"text-[hsl(var(--muted-foreground))]/50",children:"/"}),o.jsx("span",{className:"text-[hsl(var(--foreground))]",children:_})]}),o.jsx(Ht,{className:`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${g?"rotate-180":""}`})]}),g&&!a&&i&&o.jsxs("div",{className:"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col",children:[o.jsx("div",{className:"p-2 border-b border-[hsl(var(--border))]",children:o.jsxs("div",{className:"relative",children:[o.jsx(fs,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:p,type:"text",value:l,onChange:J=>u(J.target.value),onKeyDown:Z,placeholder:"Search providers and models...",className:"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]"})]})}),o.jsx("div",{className:"overflow-y-auto",children:Object.keys(N).length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:"No models found"}):Object.entries(N).map(([J,P])=>o.jsxs("div",{className:"border-b border-[hsl(var(--border))] last:border-0",children:[o.jsx("div",{className:"sticky top-0 px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))] z-10",children:P.label}),o.jsx("div",{children:P.models.map(b=>{const K=J===e&&b.id===t,w=T.findIndex(y=>y.providerKey===J&&y.modelId===b.id),B=w===d,I=b.available!==!1;return o.jsxs("button",{ref:y=>{w>=0&&(f.current[w]=y)},type:"button",disabled:!I,title:b.unavailableReason,onClick:()=>L(J,b.id,b.available),onMouseEnter:()=>E(w),className:`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${B?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${K?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"} ${I?"":"opacity-60 cursor-not-allowed"}`,children:[o.jsx("span",{className:"truncate",children:b.label}),(!I||b.toolCall||b.reasoningText)&&o.jsxs("div",{className:"flex gap-1 ml-2 flex-shrink-0",children:[!I&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded",children:"Unavailable"}),b.toolCall&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded",children:"Tools"}),b.reasoningText&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded",children:"Reasoning"})]})]},b.id)})})]},J))})]})]})}),nf=D.forwardRef(function({agent:e,agents:t,onChange:s,disabled:n=!1},r){const[i,a]=D.useState(!1),[g,Q]=D.useState(""),[l,u]=D.useState(0),d=D.useRef(null),E=D.useRef(null),C=D.useRef([]);D.useImperativeHandle(r,()=>({openAndFocus:()=>{a(!0)}}));const p=D.useMemo(()=>new As(t,{threshold:.4,ignoreLocation:!0}),[t]),f=D.useMemo(()=>g.trim()?p.search(g).map(T=>T.item):t,[t,g,p]);D.useEffect(()=>{i&&u(0)},[i]),D.useEffect(()=>{i&&l>=0&&l<C.current.length&&C.current[l]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[l,i]),D.useEffect(()=>{const N=L=>{d.current&&!d.current.contains(L.target)&&a(!1)},T=L=>{const Z=L.target,AA=Z.tagName==="INPUT"||Z.tagName==="TEXTAREA"||Z.isContentEditable;(L.key==="Escape"||L.key==="q"&&!AA)&&a(!1)};return i&&(document.addEventListener("mousedown",N),document.addEventListener("keydown",T),setTimeout(()=>E.current?.focus(),0)),()=>{document.removeEventListener("mousedown",N),document.removeEventListener("keydown",T)}},[i]);const M=N=>{s(N),a(!1),Q("")},S=N=>{if(f.length!==0){if(N.key==="ArrowDown"||N.ctrlKey&&N.key==="j")N.preventDefault(),u(T=>T<f.length-1?T+1:0);else if(N.key==="ArrowUp"||N.ctrlKey&&N.key==="k")N.preventDefault(),u(T=>T>0?T-1:f.length-1);else if(N.key==="Enter"){N.preventDefault();const T=f[l];T&&M(T)}}};return o.jsxs("div",{ref:d,className:"relative w-full",children:[o.jsxs("button",{type:"button",onClick:()=>!n&&a(!i),disabled:n,className:"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[o.jsx("span",{className:"text-sm text-[hsl(var(--foreground))] truncate",children:e}),o.jsx(Ht,{className:`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${i?"rotate-180":""}`})]}),i&&o.jsxs("div",{className:"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col",children:[o.jsx("div",{className:"p-2 border-b border-[hsl(var(--border))]",children:o.jsxs("div",{className:"relative",children:[o.jsx(fs,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:E,type:"text",value:g,onChange:N=>Q(N.target.value),onKeyDown:S,placeholder:"Search agents...",className:"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]"})]})}),o.jsx("div",{className:"overflow-y-auto",children:f.length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:"No agents found"}):f.map((N,T)=>{const L=N===e,Z=T===l;return o.jsx("button",{ref:AA=>{C.current[T]=AA},type:"button",onClick:()=>M(N),onMouseEnter:()=>u(T),className:`w-full text-left px-4 py-2 text-sm transition-colors ${Z?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${L?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"}`,children:o.jsx("span",{className:"truncate",children:N})},N)})})]})]})}),Yg=[{value:"minimal",label:"Minimal"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"max",label:"Max"},{value:"xhigh",label:"X-High"}];function af({value:A,onChange:e,disabled:t}){const s=D.useRef(null),[n,r]=D.useState({left:0,width:0});return D.useLayoutEffect(()=>{if(!s.current)return;const i=Yg.findIndex(Q=>Q.value===A),g=s.current.querySelectorAll("[data-tab]")[i];g&&r({left:g.offsetLeft,width:g.offsetWidth})},[A]),o.jsxs("div",{ref:s,className:`relative flex rounded-full bg-muted p-1 ${t?"opacity-40 pointer-events-none":""}`,children:[o.jsx("div",{className:"absolute top-1 bottom-1 rounded-full bg-foreground shadow-md",style:{left:n.left,width:n.width,transition:"left 200ms ease, width 200ms ease"}}),Yg.map(i=>o.jsx("button",{"data-tab":!0,type:"button",onClick:()=>e(i.value),disabled:t,className:`relative z-10 flex-1 px-3 py-1.5 text-xs font-medium rounded-full transition-colors duration-200 ${A===i.value?"text-background":"text-muted-foreground hover:text-foreground"}`,children:i.label},i.value))]})}function gf({isOpen:A,onClose:e,initialFocus:t,chatInputRef:s,agent:n,provider:r,model:i,modelSupportsReasoning:a,onAgentChange:g,onProviderChange:Q,onModelChange:l,onModelSelectorChange:u}){const{data:d,isLoading:E}=ps(),C=Gn(),p=d?.defaults?.reasoningText??!0,f=d?.defaults?.reasoningLevel??"high",M=D.useRef(null),S=D.useRef(null);D.useEffect(()=>{A&&t&&setTimeout(()=>{t==="agent"?M.current?.openAndFocus():t==="model"&&S.current?.openAndFocus()},100)},[A,t]);const N=()=>{e(),setTimeout(()=>{s?.current?.focus()},100)},T=(L,Z)=>{u?u(L,Z):(Q(L),l(Z))};return o.jsx(Oo,{isOpen:A,onClose:N,title:"Configuration",closeOnEscape:!0,closeOnBackdropClick:!0,maxWidth:"lg",children:E?o.jsx("div",{className:"text-center text-muted-foreground py-8",children:"Loading configuration..."}):d?o.jsxs("div",{className:"space-y-4",children:[a&&o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("div",{className:"text-sm font-medium text-foreground",children:"Extended Thinking"}),o.jsx("button",{type:"button",role:"switch","aria-checked":p,onClick:()=>C.mutate({reasoningText:!p,scope:"global"}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${p?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${p?"translate-x-6":"translate-x-1"} ${p?"bg-primary-foreground":"bg-foreground"}`})})]}),o.jsx(af,{value:f,onChange:L=>C.mutate({reasoningLevel:L,scope:"global"}),disabled:!p})]}),o.jsxs("div",{children:[o.jsx("div",{className:"block text-sm font-medium text-foreground mb-2",children:"Agent"}),o.jsx(nf,{ref:M,agent:n,agents:d.agents,onChange:g})]}),o.jsxs("div",{children:[o.jsx("div",{className:"block text-sm font-medium text-foreground mb-2",children:"Provider / Model"}),o.jsx(fl,{ref:S,provider:r,model:i,onChange:T})]})]}):null})}const Qf=D.memo(D.forwardRef(function({sessionId:e,userContext:t,onNewSession:s,onDeleteSession:n},r){const i=Fa(e),[a,g]=D.useState(""),[Q,l]=D.useState(""),[u,d]=D.useState(""),[E,C]=D.useState(!1),[p,f]=D.useState(null),[M,S]=D.useState(0),N=D.useRef(null),T=j0(e),L=Ga(e),Z=L0(),{data:AA}=fr(),{data:_}=ps(),{data:J}=Sn(),P=Un(),b=Ue(MA=>MA.openCommitModalForSession),K=Ue(MA=>MA.setActiveSessionId),w=be(),B=AA?.[Q]?.models?.find(MA=>MA.id===u)?.reasoningText,I=AA?.[Q]?.models?.find(MA=>MA.id===u)?.vision,y=AA?.[Q]?.models?.find(MA=>MA.id===u)?.attachment,G=AA?.[Q]?.models?.find(MA=>MA.id===u)?.free,{images:j,documents:O,isDragging:z,removeFile:v,clearFiles:c,handlePaste:h}=tf({supportsImages:!!I,supportsFileAttachments:!!y,onError:he.error}),U=_r(MA=>MA.pendingContexts),R=_r(MA=>MA.removeContext),X=_r(MA=>MA.consumeContexts),tA=U.get(e)||[],uA=D.useMemo(()=>tA.map(MA=>({id:MA.id,label:MA.label})),[tA]),aA=D.useCallback(MA=>{R(e,MA)},[e,R]),KA=AA?.[Q]?.authType;D.useEffect(()=>{i&&(g(i.agent),l(i.provider),d(i.model))},[i]),D.useEffect(()=>(K(e),()=>K(null)),[e,K]),D.useEffect(()=>{S(MA=>MA+1)},[]);const PA=Zi(MA=>MA.pendingRestoreText),dA=Zi(MA=>MA.consumeRestoreText);D.useEffect(()=>{if(PA){const MA=dA();MA&&N.current?.setValue(MA)}},[PA,dA]),D.useImperativeHandle(r,()=>({focus:()=>{N.current?.focus()}}));const ZA=D.useCallback(async MA=>{try{const WA=X(e),_A=rf(WA),Oe=_A?`${_A}
|
|
90
|
+
|
|
91
|
+
${MA}`:MA,le=j.length>0?j.map(x=>({data:x.data,mediaType:x.mediaType})):void 0,q=O.length>0?O.map(x=>({type:x.type,name:x.name,data:x.data,mediaType:x.mediaType,textContent:x.textContent})):void 0;await T.mutateAsync({content:Oe,images:le,files:q,agent:a||void 0,provider:Q||void 0,model:u||void 0,userContext:t||void 0,reasoningText:B&&(_?.defaults?.reasoningText??!0),reasoningLevel:_?.defaults?.reasoningLevel??"high"}),c()}catch(WA){console.error("Failed to send message:",WA)}},[T,O,j,c,a,Q,u,t,e,X,_?.defaults?.reasoningLevel,_?.defaults?.reasoningText,B]),ne=D.useCallback(()=>{C(MA=>!MA)},[]),Ee=D.useCallback(()=>{C(!1),f(null)},[]),FA=D.useCallback(async MA=>{if(MA==="models")f("model"),C(!0);else if(MA==="agents")f("agent"),C(!0);else if(MA==="new")s?.();else if(MA==="stage"){const WA=J?.unstaged?.map(le=>le.path)??[],_A=J?.untracked?.map(le=>le.path)??[],Oe=[...WA,..._A];Oe.length>0&&P.mutate(Oe)}else if(MA==="commit")b(e);else if(MA==="compact")ZA("/compact");else if(MA==="delete")Z.mutate(e,{onSuccess:()=>{n?.()}});else if(MA==="share"){const WA=he.loading("Sharing session...");try{const _A=await wA.shareSession(e);_A.shared&&(he.successWithAction(_A.message==="Already shared"?"Already shared":"Session shared!",{label:"Open",href:_A.url}),w.invalidateQueries({queryKey:["share-status",e]}))}catch(_A){he.error(_A instanceof Error?_A.message:"Failed to share")}finally{Co.getState().removeToast(WA)}}else if(MA==="sync"){const WA=he.loading("Syncing session...");try{const _A=await wA.syncSession(e);if(_A.synced){const Oe=_A.newMessages>0?`Synced ${_A.newMessages} new messages`:"Already synced";he.successWithAction(Oe,{label:"Open",href:_A.url}),w.invalidateQueries({queryKey:["share-status",e]})}}catch(_A){he.error(_A instanceof Error?_A.message:"Failed to sync")}finally{Co.getState().removeToast(WA)}}},[s,J,P,b,ZA,Z,e,n,w]),RA=D.useCallback(async MA=>{g(MA);try{await L.mutateAsync({agent:MA})}catch(WA){console.error("Failed to update agent:",WA)}},[L]),Be=D.useCallback(async(MA,WA)=>{l(MA),d(WA);try{await L.mutateAsync({provider:MA,model:WA})}catch(_A){console.error("Failed to update model:",_A)}},[L]),ye=D.useCallback(async MA=>{if(l(MA),u)try{await L.mutateAsync({provider:MA,model:u})}catch(WA){console.error("Failed to update provider:",WA)}},[u,L]),ue=D.useCallback(async MA=>{d(MA);try{await L.mutateAsync({provider:Q,model:MA})}catch(WA){console.error("Failed to update model:",WA)}},[Q,L]),Ne=D.useCallback(async MA=>{const WA=MA?"plan":"build";g(WA);try{await L.mutateAsync({agent:WA})}catch(_A){console.error("Failed to switch agent:",_A)}},[L]);return o.jsxs(o.Fragment,{children:[o.jsx(gf,{isOpen:E,onClose:Ee,initialFocus:p,chatInputRef:N,agent:a,provider:Q,model:u,modelSupportsReasoning:B,onAgentChange:RA,onProviderChange:ye,onModelChange:ue,onModelSelectorChange:Be}),o.jsx(U0,{ref:N,onSend:ZA,onCommand:FA,disabled:T.isPending,onConfigClick:ne,onPlanModeToggle:Ne,isPlanMode:a==="plan",reasoningEnabled:B&&(_?.defaults?.reasoningText??!0),sessionId:e,images:j,documents:O,onFileRemove:v,isDragging:z,onPaste:h,visionEnabled:I,attachmentEnabled:y,modelName:u,providerName:Q,authType:KA,isFreeModel:G,researchContexts:uA,onResearchContextRemove:aA,onModelInfoClick:()=>{f("model"),C(!0)},agent:a,agents:_?.agents,onAgentChange:RA},M)]})}));function Bf({sessionId:A,onStop:e,disabled:t}){const[s,n]=D.useState(!1),r=async()=>{if(!s){n(!0);try{await wA.abortSession(A),e?.()}catch(i){console.error("Failed to abort stream:",i)}finally{setTimeout(()=>n(!1),1e3)}}};return o.jsxs("button",{type:"button",onClick:r,disabled:t||s,className:"flex items-center gap-1.5 text-sm text-destructive hover:text-destructive/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",title:"Stop generation",children:[o.jsx(rB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:s?"Stopping...":"Stop"})]})}function lf(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function Ef(A){const e=A.split(`
|
|
92
|
+
`),t=[];let s=0,n=0,r=!1,i="";for(const a of e){if(a.startsWith("*** Update File:")||a.startsWith("*** Add File:")){const Q=a.match(/\*\*\* (?:Update|Add) File: (.+)/);Q&&(i=Q[1]),r=!0,n=1,s=1}if(a.startsWith("+++")||a.startsWith("*** Update File:")){const Q=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);Q&&(i=Q[1])}const g=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(g){s=Number.parseInt(g[1],10),n=Number.parseInt(g[2],10),r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("@@")&&!a.match(/^@@ -\d+/)){r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("***")||a.startsWith("diff ")||a.startsWith("index ")||a.startsWith("---")||a.startsWith("+++")){t.push({content:a,codeContent:a,type:"meta"});continue}r?a.startsWith("+")?t.push({content:a,codeContent:a.slice(1),type:"add",newLineNum:n++}):a.startsWith("-")?t.push({content:a,codeContent:a.slice(1),type:"remove",oldLineNum:s++}):a.startsWith(" ")||a===""?t.push({content:a,codeContent:a.startsWith(" ")?a.slice(1):a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"context"}):t.push({content:a,codeContent:a,type:"meta"})}return{lines:t,filePath:i}}function ar({patch:A}){const{lines:e,filePath:t}=Ef(A),s=lf(t),n=document?.documentElement.classList.contains("dark")?go:Qo;return o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 max-w-full",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto max-h-96 text-xs font-mono",children:e.map((r,i)=>{const a=`line-${i}-${r.content.slice(0,20)}`;if(r.type==="meta"||r.type==="header")return o.jsx("div",{className:`px-3 py-0.5 whitespace-pre-wrap break-all ${r.type==="header"?"text-muted-foreground/80 bg-muted/20":"text-muted-foreground/80"}`,children:r.content},a);let g="",Q="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",Q="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",Q="bg-red-500/10";break;default:g="text-foreground/80"}let l=r.content;return r.codeContent.trim()&&s!=="text"&&(l=o.jsx(qt,{language:s,style:n,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:r.codeContent}),r.type==="add"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),l]}):r.type==="remove"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),l]}):r.type==="context"&&(l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),l]}))),o.jsxs("div",{className:`flex ${Q}`,children:[o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0",children:r.oldLineNum||""}),o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50",children:r.newLineNum||""}),o.jsx("div",{className:`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${g}`,children:l})]},a)})})})}function cf(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function Cf(A,e){if(!e)return null;const s={read:["path"],edit:["path"],multiedit:["path"],write:["path"],apply_patch:["path"],glob:["pattern"],grep:["query","pattern"],ripgrep:["query","pattern"],bash:["cmd","command"],terminal:["command"],git_commit:["message"],git_diff:["file"],tree:["path"],ls:["path"],web_search:["query","url"],skill:["name"]}[A];if(!s){for(const[n,r]of Object.entries(e))if(typeof r=="string"&&r.length>0&&r.length<200)return{key:n,value:r};return null}for(const n of s){const r=e[n];if(typeof r=="string"&&r.length>0)return{key:n,value:r}}return null}function If(A){if(!A)return null;const e=A.cmd??A.command;return typeof e=="string"&&e.length>0?e:null}const uf=D.memo(function({toolName:e,args:t,pendingApproval:s,onApprove:n,onReject:r}){const[i,a]=D.useState(!1),g=e.replace(/_/g," "),Q=Cf(e,t),u=(e==="bash"?If(t):null)||Q?.value,d=typeof t?.path=="string"?t.path:"",E=cf(d),C=document?.documentElement.classList.contains("dark")?go:Qo,p=()=>{a(!0),Promise.resolve(n(s.callId)).catch(()=>{a(!1)})},f=()=>{a(!0),Promise.resolve(r(s.callId)).catch(()=>{a(!1)})},M=()=>{if(e==="apply_patch"&&t?.patch)return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx(ar,{patch:String(t.patch)})});if(e==="write"&&t?.content){const S=String(t.content);return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx("div",{className:"bg-emerald-500/10 border border-emerald-500/30 rounded-lg overflow-hidden max-h-96",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto max-h-96 text-xs",children:o.jsx(qt,{language:E,style:C,customStyle:{margin:0,padding:"0.75rem",background:"transparent",fontSize:"inherit"},showLineNumbers:!0,lineNumberStyle:{minWidth:"2.5em",paddingRight:"1em",color:"var(--muted-foreground)",opacity:.4,userSelect:"none"},children:S})})})})}if((e==="edit"||e==="multiedit")&&(Q?.value||d))return o.jsx("div",{className:"ml-6 text-xs text-muted-foreground",children:e==="multiedit"?"Multiple exact replacements will be applied atomically.":"An exact text replacement will be applied to this file."});if(e==="bash"&&t?.cmd){const S=String(t.cmd);return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden",children:o.jsx("div",{className:"overflow-x-auto text-xs",children:o.jsx(qt,{language:"bash",style:C,customStyle:{margin:0,padding:"0.75rem",background:"transparent",fontSize:"inherit"},children:S})})})})}return null};return o.jsxs("div",{className:"flex flex-col gap-2 py-1",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[o.jsx(ua,{className:"h-4 w-4 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:g}),u&&e!=="bash"&&o.jsx("code",{className:"text-xs font-mono text-foreground/80 bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-xs",children:u}),o.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium text-sm",children:"requires approval"})]}),M(),o.jsxs("div",{className:"flex items-center gap-2 ml-6",children:[o.jsxs("button",{type:"button",onClick:f,disabled:i,title:"Reject (N or Esc)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(st,{className:"w-3 h-3"}),"Reject",o.jsx("kbd",{className:"ml-1 text-[10px] text-muted-foreground opacity-70",children:"N"})]}),o.jsxs("button",{type:"button",onClick:p,disabled:i,title:"Approve (Y)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50",children:[o.jsx(Pt,{className:"w-3 h-3"}),i?"Approving...":"Approve",!i&&o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"Y"})]})]})]})});function Dt(A){return A?A>=1e3?`${(A/1e3).toFixed(1)}s`:`${A}ms`:""}function Hs(A){if(!A||typeof A!="object")return!1;const e=A;return e.ok===!1||"error"in e||e.success===!1}function Ps(A){if(!A||typeof A!="object")return null;const e=A,t=["error","stderr","message","detail","details","reason"];for(const s of t){const n=e[s];if(typeof n=="string"){const r=n.trim();if(r.length)return r}}return null}function Yt({error:A,stack:e,showStack:t=!1}){return o.jsx("div",{className:"mt-2 ml-5 p-3 bg-red-50 dark:bg-red-950/20 border border-red-200 dark:border-red-800 rounded text-sm",children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(uo,{className:"h-4 w-4 flex-shrink-0 text-red-600 dark:text-red-400 mt-0.5"}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"Tool Error:"}),o.jsx("div",{className:"mt-1 text-red-900 dark:text-red-200 whitespace-pre-wrap",children:A})]}),t&&e&&o.jsxs("details",{className:"mt-2",children:[o.jsx("summary",{className:"cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200",children:"View stack trace"}),o.jsx("pre",{className:"mt-2 p-2 bg-red-100/50 dark:bg-red-900/20 rounded text-xs overflow-x-auto text-red-800 dark:text-red-300",children:e})]})]})]})})}function df(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text"}[e||""]||"text"}function hf(A){if(!A)return;const e=A.match(/@(\d+)-(\d+)/);if(e)return Number.parseInt(e[1],10)}function ff({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,Q=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,l=String(r.path||i.path||""),u=String(r.content||""),d=r.lineRange,E=u.split(`
|
|
93
|
+
`),C=Dt(e),p=df(l),f=document?.documentElement.classList.contains("dark")?go:Qo,M=hf(d),S=d?`${l}:${d.replace("@","")}`:l,N=u.length>0||a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>N&&s(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${a?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":N?"text-blue-700 dark:text-blue-300 hover:text-blue-600 dark:hover:text-blue-200":"text-blue-700 dark:text-blue-300"}`,children:[N?t?o.jsx(rt,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(rt,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),a&&o.jsx(uo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["read",a?" error":""]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:S,children:`${S}`})]}),!a&&E.length>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0 whitespace-nowrap",children:["· ",E.length," lines · ",C]}),a&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",C]})]}),t&&a&&g&&o.jsx(Yt,{error:g,stack:Q,showStack:!0}),t&&!a&&u&&o.jsx("div",{className:"mt-2 ml-5 bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:p,style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},showLineNumbers:!0,startingLineNumber:M,wrapLines:!0,wrapLongLines:!0,children:u})})})]})}function pf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=A.artifact,g=typeof r=="object"&&"ok"in r&&r.ok===!1,Q=g&&"error"in r&&typeof r.error=="string"?r.error:null,l=g&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,u=String(r.path||i.path||""),d=Number(r.bytes||0),E=a?.patch?String(a.patch):"",C=Dt(e),p=E.length>0||g;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>p&&s(),className:`flex items-center gap-2 transition-colors min-w-0 w-full ${g?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":p?"text-emerald-700 dark:text-emerald-300 hover:text-emerald-600 dark:hover:text-emerald-200":"text-emerald-700 dark:text-emerald-300"}`,children:[p?t?o.jsx(rt,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(rt,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),g&&o.jsx(uo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["write",g?" error":""]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:u,children:`${u}`})]}),!g&&d>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 whitespace-nowrap flex-shrink-0",children:["· ",d," bytes · ",C]}),g&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",C]})]}),t&&g&&Q&&o.jsx(Yt,{error:Q,stack:l,showStack:!0}),t&&!g&&E&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(ar,{patch:E})})]})}const Hg={sm:"h-3 w-3",md:"h-4 w-4",lg:"h-5 w-5"},mf={sm:"p-1",md:"p-1.5",lg:"p-2"};function Xr({text:A,className:e="",size:t="sm"}){const[s,n]=D.useState(!1),r=async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(A),n(!0),setTimeout(()=>n(!1),2e3)}catch{}};return o.jsx("button",{type:"button",onClick:r,className:`${mf[t]} rounded hover:bg-muted/50 text-muted-foreground hover:text-foreground transition-colors ${e}`,title:"Copy",children:s?o.jsx(Pt,{className:`${Hg[t]} text-emerald-500`}):o.jsx(cs,{className:Hg[t]})})}function At({title:A,icon:e,subtitle:t,copyText:s,variant:n="default",maxHeight:r="max-h-80",children:i}){const a=n==="error";return o.jsxs("div",{className:`bg-card/60 border rounded-lg overflow-hidden flex flex-col ${r} ${a?"border-red-500/50":"border-border"}`,children:[o.jsxs("div",{className:`flex items-center justify-between gap-2 text-xs px-3 py-1.5 border-b border-border sticky top-0 ${a?"text-red-600 dark:text-red-400 bg-red-500/10":"text-muted-foreground bg-muted/30"}`,children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e,o.jsx("span",{children:A}),t&&o.jsx("span",{className:"text-muted-foreground/60",children:t})]}),s&&o.jsx(Xr,{text:s})]}),o.jsx("div",{className:"overflow-auto flex-1",children:i})]})}function pl({images:A}){const[e,t]=D.useState(null);return A.length===0?null:o.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:A.map((s,n)=>{const r=`data:${s.mimeType};base64,${s.data}`,i=e===n;return o.jsx("div",{className:"relative",children:i?o.jsxs("div",{className:"relative",children:[o.jsx("button",{type:"button",onClick:()=>t(null),className:"absolute top-1 right-1 z-10 p-0.5 rounded bg-black/60 text-white hover:bg-black/80 transition-colors",children:o.jsx(st,{className:"h-3 w-3"})}),o.jsx("img",{src:r,alt:`Tool result ${n+1}`,className:"max-w-full max-h-[32rem] rounded-lg border border-border object-contain"})]}):o.jsxs("button",{type:"button",onClick:()=>t(n),className:"group relative overflow-hidden rounded-lg border border-border hover:border-foreground/30 transition-colors",children:[o.jsx("img",{src:r,alt:`Tool result ${n+1}`,className:"w-48 h-32 object-cover"}),o.jsx("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors flex items-center justify-center",children:o.jsx(Ca,{className:"h-5 w-5 text-white opacity-0 group-hover:opacity-80 transition-opacity drop-shadow-lg"})})]})},`img-${n}-${s.mimeType}`)})})}const wf={default:{normal:"text-muted-foreground",hover:"hover:text-foreground",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},blue:{normal:"text-blue-700 dark:text-blue-300",hover:"hover:text-blue-600 dark:hover:text-blue-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},emerald:{normal:"text-emerald-700 dark:text-emerald-300",hover:"hover:text-emerald-600 dark:hover:text-emerald-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},purple:{normal:"text-purple-700 dark:text-purple-300",hover:"hover:text-purple-600 dark:hover:text-purple-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},cyan:{normal:"text-cyan-700 dark:text-cyan-300",hover:"hover:text-cyan-600 dark:hover:text-cyan-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},amber:{normal:"text-amber-700 dark:text-amber-300",hover:"hover:text-amber-600 dark:hover:text-amber-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},red:{normal:"text-red-700 dark:text-red-300",hover:"hover:text-red-600 dark:hover:text-red-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"}};function ao({toolName:A,isExpanded:e,onToggle:t,isError:s=!1,colorVariant:n="default",canExpand:r=!0,children:i}){const a=wf[n],g=s?`${a.error} ${a.errorHover}`:`${a.normal} ${a.hover}`;return o.jsxs("button",{type:"button",onClick:()=>r&&t(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${g}`,children:[r?e?o.jsx(Ht,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(rt,{className:"h-3 w-3 flex-shrink-0"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),s&&o.jsx(uo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[A,s?" error":""]}),i]})}function Ie(){return o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"})}function pr({children:A,className:e=""}){return o.jsx("span",{className:`text-foreground/70 ${e}`,children:A})}function Gt({children:A,className:e=""}){return o.jsx("span",{className:`text-muted-foreground/80 flex-shrink-0 whitespace-nowrap ${e}`,children:A})}function Ws({children:A}){return o.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:A})}function mr({children:A}){return o.jsx("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:A})}function xf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,Q=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,l=String(r.stdout||""),u=String(r.stderr||""),d=Number(r.exitCode??0),E=String(i.cmd||""),C=i.cwd?String(i.cwd):void 0,p=Dt(e),f=document?.documentElement.classList.contains("dark")?go:Qo,M=l.length>0||u.length>0,S=a||d!==0,N=u.length>0,T=l+(l&&u?`
|
|
94
|
+
`:"")+u;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"bash",isExpanded:t,onToggle:s,isError:S,colorVariant:"default",canExpand:!0,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate font-mono text-[11px]",title:E,children:E})]}),!a&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),d===0?o.jsxs(Ws,{children:["exit ",d]}):o.jsxs(mr,{children:["exit ",d]}),o.jsx(Ie,{}),o.jsx(Gt,{children:p})]}),a&&!n&&o.jsxs(Gt,{children:["· ",p]})]}),t&&a&&g&&o.jsx(Yt,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(At,{title:"command",icon:o.jsx(oo,{className:"h-3 w-3"}),subtitle:C&&C!=="."?`in ${C}`:void 0,copyText:E,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:E})}),M&&(d===0?o.jsx(At,{title:"output",copyText:T,maxHeight:"max-h-[30rem]",children:o.jsx(qt,{language:"bash",style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:T})}):o.jsxs(o.Fragment,{children:[l&&o.jsx(At,{title:"stdout",copyText:l,maxHeight:"max-h-60",children:o.jsx(qt,{language:"bash",style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:l})}),N&&o.jsx(At,{title:"stderr",copyText:u,variant:"error",maxHeight:"max-h-60",children:o.jsx(qt,{language:"bash",style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:u})})]}))]})]})}function Df(A){if(!A||A.length<3)return null;const e=A[0],t=A[1],s=A.slice(3);if(e==="?"&&t==="?")return{status:"??",file:s,type:"untracked"};let n="unstaged";return e!==" "&&t!==" "?n="both":e!==" "&&(n="staged"),{status:`${e}${t}`,file:s,type:n}}function yf(A){return A==="??"?"?":A[0]==="A"||A[1]==="A"?"+":A[0]==="M"||A[1]==="M"?"~":A[0]==="D"||A[1]==="D"?"-":A[0]==="R"||A[1]==="R"?"→":A}function Nf(A){switch(A){case"staged":return"text-emerald-600 dark:text-emerald-400";case"unstaged":return"text-amber-600 dark:text-amber-400";case"untracked":return"text-muted-foreground/60";case"both":return"text-blue-600 dark:text-blue-400"}}function kf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=Hs(n),i=Ps(n),a=Number(n.staged||0),g=Number(n.unstaged||0),Q=n.raw||[],l=String(n.summary||""),u=Dt(e),d=Q.map(Df).filter(Boolean),E=a>0||g>0,C=d.length>0||r||!!l;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"git status",isExpanded:t,onToggle:s,isError:r,colorVariant:"blue",canExpand:C,children:[o.jsx(Ie,{}),E?o.jsxs(o.Fragment,{children:[a>0&&o.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:[a," staged"]}),g>0&&o.jsxs("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0",children:[g," unstaged"]})]}):o.jsx("span",{className:"text-muted-foreground/60 flex-shrink-0",children:"clean"}),o.jsx(Ie,{}),o.jsx(Gt,{children:u})]}),t&&r&&i&&o.jsx(Yt,{error:i}),t&&!r&&(d.length>0||l)&&o.jsx("div",{className:"mt-2 ml-5",children:d.length>0?o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto",children:o.jsx("div",{className:"divide-y divide-border/50",children:d.map((p,f)=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 font-mono hover:bg-muted/20",children:[o.jsx("span",{className:`font-semibold w-6 flex-shrink-0 ${Nf(p.type)}`,children:yf(p.status)}),o.jsx("span",{className:"text-foreground/80 break-all",children:p.file})]},`${p.file}-${f}`))})}):l&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg p-3 text-muted-foreground",children:l})})]})}function Mf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=String(n.patch||n.diff||""),a=r.all||n.all,g=Dt(e),Q=Hs(n)||!!A.error,l=Ps(n)||(typeof A.error=="string"?A.error:null),u=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,d=i.split(`
|
|
95
|
+
`);let E=0,C=0,p=0;for(const M of d)M.startsWith("diff --git")?E+=1:M.startsWith("+")&&!M.startsWith("+++")?C+=1:M.startsWith("-")&&!M.startsWith("---")&&(p+=1);const f=E>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"git diff",isExpanded:t,onToggle:s,isError:Q,colorVariant:"purple",canExpand:!0,children:[a&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-muted-foreground/60",children:"(all)"})]}),o.jsx(Ie,{}),f?o.jsxs(o.Fragment,{children:[o.jsxs(pr,{children:[E," ",E===1?"file":"files"]}),C>0&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsxs(Ws,{children:["+",C]})]}),p>0&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsxs(mr,{children:["-",p]})]})]}):o.jsx("span",{className:"text-muted-foreground/60",children:"no changes"}),o.jsx(Ie,{}),o.jsx(Gt,{children:g})]}),t&&Q&&l&&o.jsx(Yt,{error:l,stack:u,showStack:!0}),t&&!Q&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(At,{title:"options",icon:o.jsx(so,{className:"h-3 w-3"}),maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10",children:a?"git diff (all working tree)":"git diff (staged only)"})}),i&&o.jsx(ar,{patch:i}),!i&&o.jsx(At,{title:"diff",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No changes to show"})})]})]})}function bf({contentJson:A,toolDurationMs:e}){const t=A.result||{},s=String(t.message||""),n=Dt(e),r=document?.documentElement.classList.contains("dark")?go:Qo;return o.jsxs("div",{className:"text-xs space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"git commit"}),o.jsx("span",{className:"text-muted-foreground/70",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80",children:n})]}),s&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:"bash",style:r,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:s})})})]})}function Pg({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,toolName:n}){const r=A.artifact,i=Dt(e),a=(L,Z)=>Z<=1?`${L}`:`${L}-${L+Z-1}`,g=L=>{const Z=`-${a(L.oldStart,L.oldLines)}`,AA=`+${a(L.newStart,L.newLines)}`,_=[];L.additions>0&&_.push(`+${L.additions}`),L.deletions>0&&_.push(`-${L.deletions}`);const J=_.length>0?` (${_.join(", ")})`:"";return`${Z} ${AA}${J}`},Q=r?.summary||{},l=Number(Q.files||0),u=Number(Q.additions||0),d=Number(Q.deletions||0),E=r?.patch?String(r.patch):"",C=Array.isArray(A.result?.changes)?A.result?.changes:[],f=(n||A.name||"apply_patch").replace(/_/g," "),M=l===1?C[0]?.filePath||(typeof A.result?.path=="string"?A.result.path:typeof A.args?.path=="string"?A.args.path:null):null,S=A.error||A.result&&"ok"in A.result&&A.result.ok===!1,N=typeof A.error=="string"?A.error:A.result&&"error"in A.result&&typeof A.result.error=="string"?A.result.error:null,T=A.result&&typeof A.result=="object"&&"stack"in A.result&&typeof A.result.stack=="string"?A.result.stack:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:s,className:`flex items-center gap-2 transition-colors w-full ${S?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":"text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200"}`,children:[o.jsx(rt,{className:`h-3 w-3 flex-shrink-0 transition-transform ${t?"rotate-90":""}`}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[f,S?" error":""]}),o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),M?o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:M,children:`${M}`}):o.jsxs("span",{className:"text-foreground/70 flex-shrink-0",children:[l," ",l===1?"file":"files"]}),o.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:["+",u]}),o.jsxs("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:["-",d]}),o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",i]})]}),t&&S&&N&&o.jsxs("div",{children:[o.jsx(Yt,{error:N,stack:T,showStack:!0}),E&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsxs("details",{children:[o.jsx("summary",{className:"cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200",children:"Show patch that failed"}),o.jsx("div",{className:"mt-2",children:o.jsx(ar,{patch:E})})]})})]}),t&&!S&&C.length>0&&o.jsx("div",{className:"mt-2 ml-5 space-y-2",children:C.map(L=>o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-mono text-foreground/80",children:L.filePath}),o.jsx("div",{className:"flex flex-wrap gap-2",children:L.hunks.map((Z,AA)=>o.jsx("span",{className:"rounded bg-muted px-2 py-0.5 text-[0.65rem] font-mono text-muted-foreground",children:g(Z)},`apply-patch-${L.filePath}-hunk-${AA}`))})]},`apply-patch-${L.filePath}-${L.kind}`))}),t&&!S&&E&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(ar,{patch:E})})]})}function Ff({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=Hs(n),a=Ps(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,Q=n.entries||[],l=Dt(e),u=typeof r.path=="string"?r.path:".";return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"ls",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[u&&u!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:u,children:u.length>30?`…${u.slice(-30)}`:u})]}),o.jsx(Ie,{}),o.jsxs(pr,{children:[Q.length," ",Q.length===1?"entry":"entries"]}),o.jsx(Ie,{}),o.jsx(Gt,{children:l})]}),t&&i&&a&&o.jsx(Yt,{error:a,stack:g,showStack:!0}),t&&!i&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(At,{title:"path",icon:o.jsx(gB,{className:"h-3 w-3"}),copyText:u,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:u})}),Q.length>0&&o.jsx(At,{title:"entries",copyText:Q.map(d=>d.name||"").join(`
|
|
96
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:Q.map((d,E)=>{const C=d,p=C.type==="dir"||C.isDirectory;return o.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1 font-mono text-foreground/80 hover:bg-muted/20",children:[p?o.jsx(QB,{className:"h-3 w-3 text-blue-500 flex-shrink-0"}):o.jsx(Zo,{className:"h-3 w-3 text-muted-foreground flex-shrink-0"}),o.jsx("span",{className:"truncate",children:C.name})]},`${C.name}-${E}`)})})}),Q.length===0&&o.jsx(At,{title:"entries",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"Directory is empty"})})]})]})}function Gf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=Hs(n),a=Ps(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,Q=String(n.tree||""),l=Q.split(`
|
|
97
|
+
`).filter(p=>p.length>0).length,u=Dt(e),d=document?.documentElement.classList.contains("dark")?go:Qo,E=typeof r.path=="string"?r.path:".",C=typeof r.depth=="number"?r.depth:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"tree",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[E&&E!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:E,children:E.length>30?`…${E.slice(-30)}`:E})]}),o.jsx(Ie,{}),o.jsxs(pr,{children:[l," ",l===1?"item":"items"]}),o.jsx(Ie,{}),o.jsx(Gt,{children:u})]}),t&&i&&a&&o.jsx(Yt,{error:a,stack:g,showStack:!0}),t&&!i&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(At,{title:"path",icon:o.jsx(ir,{className:"h-3 w-3"}),subtitle:C?`depth: ${C}`:void 0,copyText:E,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:E})}),Q&&o.jsx(At,{title:"tree",copyText:Q,maxHeight:"max-h-80",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:"bash",style:d,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:Q})})}),!Q&&o.jsx(At,{title:"tree",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No tree output"})})]})]})}function vf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=r.matches||[],g=r.files||[],Q=Dt(e),l=Hs(r)||!!A.error,u=Ps(r)||(typeof A.error=="string"?A.error:null),d=r&&typeof r=="object"&&"stack"in r?String(r.stack):void 0,E=a.length>0?a.length:g.length,C=a.length>0?a.length===1?"match":"matches":g.length===1?"file":"files",p=typeof i.pattern=="string"?i.pattern:typeof i.query=="string"?i.query:typeof i.filePattern=="string"?i.filePattern:"",f=(()=>{if(typeof i.path=="string"&&i.path!==".")return i.path})();return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"search",isExpanded:t,onToggle:s,isError:l,colorVariant:"amber",canExpand:!0,children:[p&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsxs("span",{className:"font-mono text-foreground/90 text-[11px] truncate min-w-0",title:p,children:['"',p.length>30?`${p.slice(0,30)}…`:p,'"']})]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsxs(pr,{children:[E," ",C]}),o.jsx(Ie,{}),o.jsx(Gt,{children:Q})]})]}),t&&l&&u&&o.jsx(Yt,{error:u,stack:d,showStack:!0}),t&&!l&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(At,{title:"query",icon:o.jsx(fs,{className:"h-3 w-3"}),subtitle:f,copyText:p,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:p||"(empty)"})}),a.length>0&&o.jsx(At,{title:"results",copyText:a.map(M=>{const S=M;return`${S.file}:${S.line}: ${S.text}`}).join(`
|
|
98
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:a.map((M,S)=>{const N=M;return o.jsxs("div",{className:"px-3 py-1.5 font-mono hover:bg-muted/20",children:[o.jsxs("div",{className:"text-blue-600 dark:text-blue-400 truncate",children:[N.file,":",N.line]}),o.jsx("div",{className:"text-foreground/80 truncate",children:N.text})]},`${N.file}-${N.line}-${S}`)})})}),g.length>0&&a.length===0&&o.jsx(At,{title:"files",copyText:g.map(String).join(`
|
|
99
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:g.map(M=>o.jsx("div",{className:"px-3 py-1 font-mono text-foreground/80 truncate hover:bg-muted/20",children:String(M)},String(M)))})}),E===0&&o.jsx(At,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]})}function Sf({toolDurationMs:A}){const e=Dt(A);return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"Done"}),e&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80",children:e})]})]})})}function Uf({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const i=e.result,a=Dt(t),g=Array.isArray(i?.images)?i.images:[],Q=g.length>0,l=i&&(Object.keys(i).length>0||Q),u=document?.documentElement.classList.contains("dark")?go:Qo,d=e.error||i&&typeof i=="object"&&"ok"in i&&i.ok===!1,E=typeof e.error=="string"?e.error:i&&typeof i=="object"&&"error"in i&&typeof i.error=="string"?i.error:null,C=i&&typeof i=="object"&&"stack"in i&&typeof i.stack=="string"?i.stack:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:n,className:`flex items-center gap-2 transition-colors w-full ${d?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":"text-foreground hover:text-foreground/80"}`,children:[o.jsx(rt,{className:`h-3 w-3 flex-shrink-0 transition-transform ${s?"rotate-90":""}`}),d&&o.jsx(uo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[A,d?" error":""]}),!r&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80 flex-shrink-0",children:a})]})]}),s&&d&&E&&o.jsx(Yt,{error:E,stack:C,showStack:!0}),s&&!d&&l&&o.jsxs("div",{className:"mt-2 ml-5",children:[Q&&o.jsx(pl,{images:g}),!Q&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:"json",style:u,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:JSON.stringify(i,null,2)})})})]})]})}function Rf({contentJson:A,toolDurationMs:e}){return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"text-muted-foreground",children:[o.jsxs("div",{children:["Tool: ",A.name]}),o.jsxs("div",{children:["Duration: ",e,"ms"]}),o.jsx("pre",{className:"mt-2 text-[10px] bg-card border border-border p-2 rounded overflow-x-auto",children:JSON.stringify(A,null,2)})]})})}function Kf({contentJson:A}){const e=A.result||{},t=e.items||[],s=e.note;return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"bg-blue-500/10 border border-blue-500/30 dark:bg-blue-500/5 dark:border-blue-500/20 rounded-lg p-3 space-y-2",children:[s&&o.jsx("div",{className:"text-blue-700 dark:text-blue-300 text-sm font-medium mb-3",children:s}),o.jsx("div",{className:"space-y-1.5",children:t.map((n,r)=>o.jsxs("div",{className:"flex items-start gap-2",children:[n.status==="completed"&&o.jsx(xc,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300 flex-shrink-0 mt-0.5"}),n.status==="in_progress"&&o.jsx(BB,{className:"h-4 w-4 text-blue-700 dark:text-blue-300 flex-shrink-0 mt-0.5 animate-pulse"}),n.status==="pending"&&o.jsx(Dc,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),n.status==="cancelled"&&o.jsx(ca,{className:"h-4 w-4 text-muted-foreground/50 flex-shrink-0 mt-0.5"}),o.jsx("span",{className:`text-sm ${n.status==="completed"?"text-muted-foreground line-through":n.status==="in_progress"?"text-foreground":n.status==="cancelled"?"text-muted-foreground/50 line-through":"text-muted-foreground/80"}`,children:n.step})]},`${n.step}-${r}`))})]})})}function Jf({contentJson:A}){const e=A.result||{},t=String(e.message||"Processing..."),s=e.stage?String(e.stage):void 0,n=e.pct?Number(e.pct):void 0;return o.jsxs("div",{className:"flex items-center gap-2 text-sm text-violet-700 dark:text-violet-300 animate-pulse",children:[s&&o.jsxs("span",{className:"text-muted-foreground/80",children:["[",s,"]"]}),o.jsx("span",{children:t}),n!==void 0&&o.jsxs("span",{className:"text-muted-foreground/80",children:["(",n,"%)"]})]})}function Lf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=Dt(e),a=Hs(n)||!!A.error,g=Ps(n)||(typeof A.error=="string"?A.error:null),Q=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,l="results"in n,u=n.results||[],d=n,E=typeof r.query=="string"?r.query:void 0,C=typeof r.url=="string"?r.url:d.url;if(l)return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"web search",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[E&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsxs("span",{className:"font-mono text-foreground/90 text-[11px] truncate min-w-0",title:E,children:['"',E.length>25?`${E.slice(0,25)}…`:E,'"']})]}),o.jsx(Ie,{}),o.jsxs(pr,{children:[u.length," ",u.length===1?"result":"results"]}),o.jsx(Ie,{}),o.jsx(Gt,{children:i})]}),t&&a&&g&&o.jsx(Yt,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(At,{title:"query",icon:o.jsx(jo,{className:"h-3 w-3"}),copyText:E,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:E||"(empty)"})}),u.length>0&&o.jsx(At,{title:"results",copyText:u.map(f=>`${f.title}
|
|
100
|
+
${f.url}`).join(`
|
|
101
|
+
|
|
102
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:u.map((f,M)=>o.jsxs("div",{className:"px-3 py-2 hover:bg-muted/20",children:[o.jsxs("a",{href:f.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-600 dark:text-blue-400 hover:underline font-medium",children:[f.title,o.jsx(bt,{className:"h-3 w-3 flex-shrink-0"})]}),o.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:f.snippet}),o.jsx("p",{className:"text-xs text-muted-foreground/60 truncate mt-0.5",children:f.url})]},`${f.url}-${M}`))})}),u.length===0&&o.jsx(At,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]});const p=C&&C.length>50?`${C.slice(0,50)}...`:C;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"web fetch",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[p&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:C,children:p})]}),o.jsx(Ie,{}),o.jsx(Gt,{children:i})]}),t&&a&&g&&o.jsx(Yt,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(At,{title:"url",icon:o.jsx(yc,{className:"h-3 w-3"}),copyText:C,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:o.jsx("a",{href:C,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 hover:underline",children:C})})}),d.content&&o.jsx(At,{title:"content",copyText:d.content,maxHeight:"max-h-80",children:o.jsx("div",{className:"px-3 py-2 text-xs text-foreground/80 whitespace-pre-wrap break-words",children:d.content})}),!d.content&&o.jsx(At,{title:"content",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No content returned"})})]})]})}function jf({contentJson:A,debug:e,sessionId:t,onRetry:s,onCompact:n}){const[r,i]=D.useState(!1),a=A.type==="balance_low"||A.errorType==="balance_low",g=A.type==="context_length_exceeded"||A.errorType==="context_length_exceeded";A.isRetryable;let Q,l,u,d=!1;A.error&&typeof A.error=="object"?(Q=A.error,Q.message&&typeof Q.message=="string"&&(l=Q.message),Q.type&&typeof Q.type=="string"&&(u=Q.type)):A.details&&typeof A.details=="object"?(Q=A.details,A.message&&typeof A.message=="string"&&(l=A.message),A.type&&typeof A.type=="string"&&(u=A.type),A.isAborted===!0&&(d=!0)):(A.message&&typeof A.message=="string"&&(l=A.message),A.type&&typeof A.type=="string"&&(u=A.type),A.isAborted===!0&&(d=!0),Q=A);let E;if(Q?.responseBody&&typeof Q.responseBody=="string")try{const L=JSON.parse(Q.responseBody);L.error&&typeof L.error=="object"&&(E={type:typeof L.error.type=="string"?L.error.type:void 0,message:typeof L.error.message=="string"?L.error.message:void 0,code:typeof L.error.code=="string"?L.error.code:void 0})}catch{}const C=String(Q?.url??"").includes("githubcopilot.com")||String(l??"").toLowerCase().includes("copilot model"),p=String(E?.message??l??"").toLowerCase(),f=C&&(E?.code==="model_not_supported"||p.includes("model is not supported")||p.includes("not available for this account/organization token"));if(E?.message?.toLowerCase().includes("not accessible via the /chat/completions")&&String(Q?.url??"").includes("githubcopilot.com")){const L=Q?.requestBodyValues?.model;return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Model requires Responses API"}),o.jsx("p",{className:"text-sm text-foreground",children:L?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(L)})," ","must be sent through the Responses API. If this persists, refresh auth and retry."]}):"This model must be sent through the Responses API. If this persists, refresh auth and retry."}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"Codex models (gpt-5.1-codex, gpt-5.2-codex, etc.) require the Responses API. Try a chat-compatible model like gpt-5, claude-sonnet-4, or gpt-4.1."})]}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})})]})}if(f){const L=Q?.requestBodyValues?.model;return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Model not available"}),o.jsx("p",{className:"text-sm text-foreground",children:L?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(L)})," ","is not available for the current Copilot token."]}):"The requested model is not available for the current Copilot token."}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"Your org may restrict third-party OAuth apps, so OAuth and GH tokens can see different model entitlements."}),o.jsxs("p",{className:"text-xs text-muted-foreground",children:["Check model settings at"," ",o.jsx("a",{href:"https://github.com/settings/copilot",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-foreground transition-colors",onClick:Z=>{Z.preventDefault(),Eo("https://github.com/settings/copilot")},children:"github.com/settings/copilot"}),", then reconnect Copilot with OAuth or token mode."]})]}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})})]})}if(a)return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Br,{className:"h-4 w-4 text-amber-500"}),o.jsx("span",{className:"font-medium text-foreground",children:"Balance too low"})]}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"Top up in the modal, then retry your request."}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})})]});if(g)return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(rg,{className:"h-4 w-4 text-amber-500"}),o.jsx("span",{className:"font-medium text-foreground",children:"Context window exceeded"})]}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"The conversation is too long for the model. Compact to reduce context size, then retry."}),o.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[n&&o.jsxs("button",{type:"button",onClick:n,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(rg,{className:"w-3 h-3"}),"Compact"]}),s&&o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border text-foreground hover:bg-muted transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})]})]});const S=L=>{if(L==null)return o.jsx("span",{className:"text-muted-foreground",children:"null"});if(typeof L=="boolean")return o.jsx("span",{className:"text-amber-600 dark:text-amber-400",children:String(L)});if(typeof L=="number")return o.jsx("span",{className:"text-blue-600 dark:text-blue-400",children:L});if(typeof L=="string"){if(L.startsWith("{")||L.startsWith("["))try{const Z=JSON.parse(L);return o.jsx("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs overflow-x-auto",children:o.jsx("code",{children:JSON.stringify(Z,null,2)})})}catch{}return o.jsx("span",{className:"text-foreground",children:L})}return typeof L=="object"?o.jsx("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs overflow-x-auto",children:o.jsx("code",{children:JSON.stringify(L,null,2)})}):o.jsx("span",{className:"text-foreground",children:String(L)})},N=["name","statusCode","url","model","isRetryable","cause"],T=new Set;return o.jsxs("div",{className:"space-y-2 text-sm",children:[d&&o.jsx("div",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Request aborted"}),E?.message&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"API Error:"}),o.jsx("div",{className:"text-foreground",children:E.message}),E.type&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",E.type]})]}),!E?.message&&l&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"Error:"}),o.jsx("div",{className:"text-foreground",children:l}),u&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",u]})]}),s&&o.jsx("div",{className:"pt-2",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})}),Q&&o.jsx("div",{className:"space-y-1.5",children:N.map(L=>{const Z=Q[L];return Z==null?null:(T.add(L),o.jsxs("div",{className:"flex gap-2",children:[o.jsxs("span",{className:"font-medium text-muted-foreground min-w-[100px]",children:[L,":"]}),S(Z)]},L))})}),Q&&o.jsxs("div",{className:"mt-3 border-t border-border pt-2",children:[o.jsxs("button",{type:"button",onClick:()=>i(!r),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[r?o.jsx(Ht,{className:"h-3 w-3"}):o.jsx(rt,{className:"h-3 w-3"}),r?"Hide":"View"," Raw Error Details"]}),r&&o.jsx("div",{className:"mt-2",children:o.jsx("pre",{className:"p-3 bg-muted/50 rounded text-xs overflow-x-auto max-h-96 overflow-y-auto",children:o.jsx("code",{children:JSON.stringify(Q,null,2)})})})]}),e&&o.jsxs("details",{className:"mt-4 text-xs",children:[o.jsx("summary",{className:"cursor-pointer text-muted-foreground",children:"Debug Info"}),o.jsx("pre",{className:"mt-2 p-2 bg-muted/30 rounded overflow-x-auto",children:o.jsx("code",{children:JSON.stringify({contentJson:A,errorDetails:Q,apiError:E},null,2)})})]})]})}function ml(A){return A?new Date(A).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Ai({session:A,onNavigate:e,compact:t}){return t?o.jsxs("button",{type:"button",onClick:()=>e?.(A.id),disabled:!e,className:"w-full text-left py-1 px-2 rounded text-xs hover:bg-muted/50 transition-colors flex items-center justify-between gap-2",children:[o.jsx("span",{className:"truncate text-foreground",children:A.title||"Untitled"}),e&&o.jsx(bt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"})]}):o.jsxs("button",{type:"button",onClick:()=>e?.(A.id),disabled:!e,className:"w-full text-left p-2 rounded-md border border-border hover:bg-muted/50 transition-colors group",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("span",{className:"font-medium text-sm truncate text-foreground",children:A.title||"Untitled"}),e&&o.jsx(bt,{className:"w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]}),o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-1",children:[A.agent&&o.jsx("span",{className:"text-violet-600 dark:text-violet-400",children:A.agent}),A.agent&&A.provider&&o.jsx("span",{children:"·"}),A.provider&&o.jsx("span",{children:A.provider}),A.messageCount!==void 0&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsxs("span",{children:[A.messageCount," msgs"]})]}),A.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:ml(A.createdAt)})]})]})]})}function Wg({message:A,onNavigate:e,compact:t}){const s="sessionId"in A?A.sessionId:"",n="sessionTitle"in A?A.sessionTitle:null,r="content"in A?A.content:"contentPreview"in A?A.contentPreview:"matchedContent"in A?A.matchedContent:"";return t?o.jsxs("button",{type:"button",onClick:()=>e?.(s),disabled:!e||!s,className:"w-full text-left py-1 px-2 rounded text-xs hover:bg-muted/50 transition-colors flex items-center justify-between gap-2",children:[o.jsx("span",{className:"truncate text-foreground/80",children:r?.slice(0,50)||n||s.slice(0,8)}),e&&s&&o.jsx(bt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"})]}):o.jsxs("button",{type:"button",onClick:()=>e?.(s),disabled:!e||!s,className:"w-full text-left p-2 rounded-md border border-border hover:bg-muted/50 transition-colors group",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("span",{className:"text-xs text-muted-foreground",children:n||s.slice(0,8)}),e&&s&&o.jsx(bt,{className:"w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]}),r&&o.jsx("div",{className:"text-xs text-foreground/80 mt-1 line-clamp-2",children:r}),o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-1",children:[A.role&&o.jsx("span",{className:"capitalize",children:A.role}),A.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:ml(A.createdAt)})]})]})]})}function zg({args:A,toolName:e}){const t=(i,a)=>a==null||typeof a=="boolean"&&!a||Array.isArray(a)&&a.length===0?null:o.jsxs("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:[o.jsxs("span",{className:"opacity-60",children:[i,":"]}),o.jsx("span",{className:"text-foreground/80",children:typeof a=="string"?a:JSON.stringify(a)})]},i),r=({query_sessions:["agent","sessionType","startDate","endDate"],query_messages:["sessionId","role","search","toolName"],search_history:["query"],get_session_context:["sessionId","includeMessages"],get_parent_session:["includeMessages"]}[e]||Object.keys(A).slice(0,3)).filter(i=>A[i]!==void 0&&A[i]!==null).map(i=>t(i,A[i])).filter(Boolean);return r.length===0?null:o.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap text-xs mb-2 pb-2 border-b border-border",children:[o.jsx(kc,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),r]})}function Tf({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,onNavigateToSession:r,compact:i}){const a=e.result||{},g=e.args||{},Q=typeof a=="object"&&"ok"in a&&a.ok===!1,l=Q&&"error"in a&&typeof a.error=="string"?a.error:null,u=Dt(t);if(A==="present_action"){const C=a.links||[],p=a.summary,f=a.title;return C.length===0&&!p?null:o.jsxs("div",{className:"mt-2 mb-1",children:[f&&o.jsx("div",{className:"text-sm font-medium text-foreground mb-1.5",children:f}),p&&o.jsxs("div",{className:"text-xs text-muted-foreground mb-2 flex items-center gap-1.5",children:[o.jsx(Nc,{className:"w-3.5 h-3.5 text-teal-500"}),o.jsx("span",{children:p})]}),C.length>0&&o.jsx("div",{className:"space-y-1.5",children:C.map(M=>o.jsxs("button",{type:"button",onClick:()=>r?.(M.sessionId),disabled:!r,className:"w-full text-left px-3 py-2 rounded-lg border border-teal-500/30 bg-teal-500/5 hover:bg-teal-500/10 transition-colors group flex items-center justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-medium text-sm text-foreground",children:M.title}),M.description&&o.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:M.description})]}),r&&o.jsx(bt,{className:"w-4 h-4 text-teal-600 dark:text-teal-400 opacity-60 group-hover:opacity-100 transition-opacity flex-shrink-0"})]},M.sessionId))})]})}const d=()=>{switch(A){case"query_sessions":{const C=a.sessions||[],p=a.total;return`${C.length} session${C.length!==1?"s":""}${p?` of ${p}`:""}`}case"query_messages":{const C=a.messages||[];return`${C.length} message${C.length!==1?"s":""}`}case"search_history":{const C=g.query,p=a.results||[],f=C?`"${C.slice(0,20)}${C.length>20?"…":""}"`:"";return`${p.length} result${p.length!==1?"s":""}${f?` for ${f}`:""}`}case"get_session_context":return a.session?.title||g.sessionId?.slice(0,8)||"session";case"get_parent_session":return a.parentSession?.title||"parent session";default:return A}},E=()=>{const C=Object.keys(g).length>0&&!i;switch(A){case"query_sessions":{const p=a.sessions||[];return o.jsxs("div",{className:i?"p-1":"p-2",children:[C&&o.jsx(zg,{args:g,toolName:A}),p.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No sessions found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[p.slice(0,i?5:10).map(f=>o.jsx(Ai,{session:f,onNavigate:r,compact:i},f.id)),p.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",p.length-(i?5:10)," more"]})]})]})}case"query_messages":{const p=a.messages||[];return o.jsxs("div",{className:i?"p-1":"p-2",children:[C&&o.jsx(zg,{args:g,toolName:A}),p.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No messages found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[p.slice(0,i?5:10).map(f=>o.jsx(Wg,{message:f,onNavigate:r,compact:i},f.id)),p.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",p.length-(i?5:10)," more"]})]})]})}case"search_history":{const p=a.results||[],f=g.query;return o.jsxs("div",{className:i?"p-1":"p-2",children:[f&&!i&&o.jsxs("div",{className:"flex items-center gap-1.5 text-xs mb-2 pb-2 border-b border-border",children:[o.jsx(fs,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),o.jsx("span",{className:"text-muted-foreground",children:"Query:"}),o.jsxs("span",{className:"text-foreground font-medium",children:['"',f,'"']})]}),p.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No results found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[p.slice(0,i?5:10).map((M,S)=>o.jsx(Wg,{message:M,onNavigate:r,compact:i},`${M.sessionId}-${M.messageId}-${S}`)),p.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",p.length-(i?5:10)," more"]})]})]})}case"get_session_context":case"get_parent_session":{const p=A==="get_parent_session"?a.parentSession:a.session,f=a.stats,M=a.messages;return p?i?o.jsx("div",{className:"p-1",children:o.jsx(Ai,{session:p,onNavigate:r,compact:!0})}):o.jsxs("div",{className:"p-2 space-y-3",children:[o.jsx(Ai,{session:p,onNavigate:r}),f&&o.jsxs("div",{className:"flex gap-4 text-xs text-muted-foreground",children:[f.totalMessages!==void 0&&o.jsxs("span",{children:[f.totalMessages," messages"]}),f.totalToolCalls!==void 0&&o.jsxs("span",{children:[f.totalToolCalls," tool calls"]})]}),M&&M.length>0&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"text-xs font-medium text-muted-foreground",children:"Recent messages:"}),o.jsx("div",{className:"space-y-1 max-h-48 overflow-y-auto",children:M.slice(0,5).map(S=>o.jsxs("div",{className:"text-xs p-1.5 rounded bg-muted/30",children:[o.jsxs("span",{className:"font-medium capitalize text-foreground/70",children:[S.role,":"," "]}),o.jsx("span",{className:"text-foreground/60 line-clamp-2",children:S.content})]},S.id))})]})]}):o.jsx("div",{className:`text-xs text-muted-foreground ${i?"p-1":"p-2"}`,children:"Session not found"})}default:return o.jsx("pre",{className:"text-xs p-2 overflow-auto max-h-48",children:JSON.stringify(a,null,2)})}};return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:A,isExpanded:s,onToggle:n,isError:Q,colorVariant:"default",canExpand:!0,children:[!i&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate",children:d()})]}),!Q&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx(Ws,{children:"Done"}),o.jsx(Ie,{}),o.jsx(Gt,{children:u})]}),Q&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx(mr,{children:"Error"}),o.jsxs(Gt,{children:["· ",u]})]})]}),s&&Q&&l&&o.jsx(Yt,{error:l}),s&&!Q&&o.jsx("div",{className:i?"mt-1 ml-3":"mt-2 ml-5",children:i?o.jsx("div",{className:"border border-border rounded-md overflow-hidden max-h-48 overflow-y-auto",children:E()}):o.jsx(At,{title:"results",maxHeight:"max-h-96",children:E()})})]})}const Of='"JetBrainsMono NFM", monospace';let Vg=!1,Sr=null;function qf(){return Vg?Promise.resolve():Sr||(Sr=Yf().then(()=>{Vg=!0}),Sr)}async function Yf(){if(typeof document>"u"||!("FontFace"in window))return;const e=[{file:"JetBrainsMonoNerdFontMono-Regular.woff2",weight:"400",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Bold.woff2",weight:"700",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Italic.woff2",weight:"400",style:"italic"},{file:"JetBrainsMonoNerdFontMono-BoldItalic.woff2",weight:"700",style:"italic"}].map(async t=>{try{const s=new URL(Object.assign({"../assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2":WB,"../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":zB,"../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":VB,"../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":ZB})[`../assets/fonts/${t.file}`],import.meta.url).href,r=await new FontFace("JetBrainsMono NFM",`url("${s}") format("woff2")`,{weight:t.weight,style:t.style}).load();document.fonts.add(r)}catch{}});await Promise.allSettled(e)}const Hf=/[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nq-uy=><~]/g,Pf=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function Wf(A){return A.replace(Hf,"").replace(Pf,"").replace(/\\n/g,`
|
|
103
|
+
`).replace(/\r\n/g,`
|
|
104
|
+
`).replace(/\r/g,`
|
|
105
|
+
`)}function zf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const[,r]=D.useState(!1);D.useEffect(()=>{qf().then(()=>r(!0))},[]);const i=A.result||{},a=A.args||{},g=String(a.operation||a.command||""),Q=typeof i=="object"&&"ok"in i&&i.ok===!1,l=Q&&"error"in i&&typeof i.error=="string"?i.error:null,u=Q&&"stack"in i&&typeof i.stack=="string"?i.stack:void 0,d=Dt(e),E=String(i.terminalId||a.terminalId||""),C=E.length>12?`${E.slice(0,12)}…`:E,p=String(i.purpose||a.purpose||""),f=String(i.command||a.command||""),M=()=>{const _=i.pid?`PID ${i.pid}`:"";return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-1 text-xs",children:[f&&o.jsxs("div",{className:"flex items-center gap-2 text-foreground/70",children:[o.jsx(oo,{className:"h-3 w-3"}),o.jsx("code",{className:"font-mono",children:f})]}),p&&o.jsx("div",{className:"text-muted-foreground/70",children:p}),o.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground/60",children:[C&&o.jsx("span",{className:"font-mono",children:C}),_&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:_})]})]})]})},S=()=>{const _=String(i.text||i.output||""),J=Wf(_),P=String(i.status||""),b=i.exitCode,K=typeof i.lines=="number"?i.lines:0;return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground/70",children:[C&&o.jsx("span",{className:"font-mono",children:C}),o.jsx("span",{children:"·"}),o.jsxs("span",{children:[K," lines"]}),o.jsx("span",{children:"·"}),o.jsxs("span",{className:P==="running"?"text-emerald-600 dark:text-emerald-400":"",children:[P,P==="exited"&&b!==void 0?` (${b})`:""]})]}),J.trim()&&o.jsx(At,{title:"output",copyText:J,maxHeight:"max-h-[30rem]",children:o.jsx("pre",{className:"px-3 py-2 text-xs text-foreground/85 whitespace-pre-wrap break-words overflow-x-auto",style:{fontFamily:Of},children:J})})]})},N=()=>{const _=Array.isArray(i.terminals)?i.terminals:[],J=typeof i.count=="number"?i.count:_.length;return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-1 text-xs",children:[o.jsxs("div",{className:"text-muted-foreground/70",children:[J," terminal",J!==1?"s":""]}),_.slice(0,8).map((P,b)=>o.jsxs("div",{className:"flex items-center gap-2 text-foreground/70 font-mono",children:[o.jsx("span",{className:`h-2 w-2 rounded-full ${P.status==="running"?"bg-emerald-500":"bg-muted-foreground/40"}`}),o.jsx("span",{className:"truncate max-w-[100px]",children:String(P.id||"").slice(0,12)}),o.jsx("span",{className:"text-muted-foreground/60 truncate",children:String(P.purpose||"")})]},String(P.id||b)))]})},T=()=>{const _=String(a.input||"");return _?o.jsx("div",{className:"mt-2 ml-5 text-xs",children:o.jsx("code",{className:"font-mono text-foreground/70 whitespace-pre-wrap",children:_})}):null},Z=`terminal ${g||"terminal"}`,AA=!Q&&(g==="start"||g==="read"||g==="list"||g==="write"&&(a.input||i.message));return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:Z,isExpanded:t,onToggle:s,isError:!!Q,colorVariant:"amber",canExpand:!!AA||!!Q,children:[!n&&C&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/70 font-mono text-[11px]",children:C})]}),!n&&p&&!C&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/70 text-[11px] truncate max-w-xs",children:p})]}),!Q&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx(Ws,{children:"ok"}),o.jsx(Ie,{}),o.jsx(Gt,{children:d})]}),Q&&!n&&o.jsxs(Gt,{children:["· ",d]})]}),t&&Q&&l&&o.jsx(Yt,{error:l,stack:u,showStack:!0}),t&&!Q&&g==="start"&&M(),t&&!Q&&g==="read"&&S(),t&&!Q&&g==="list"&&N(),t&&!Q&&g==="write"&&T()]})}function Vf(A){const e=A.indexOf("__");return e===-1?{server:"",tool:A}:{server:A.slice(0,e),tool:A.slice(e+2)}}function Zf(A){return A.includes("__")}function _f({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const{server:i,tool:a}=Vf(A),g=e.result||{},Q=e.args||{},l=Dt(t),u=document?.documentElement.classList.contains("dark")?go:Qo,d=typeof g=="object"&&"ok"in g&&g.ok===!1,E=d&&"error"in g&&typeof g.error=="string"?g.error:typeof e.error=="string"?e.error:null,C=d&&"stack"in g&&typeof g.stack=="string"?g.stack:void 0,p=typeof g.result=="string"?g.result:g.result&&typeof g.result=="object"?JSON.stringify(g.result,null,2):null,f=Array.isArray(g.images)?g.images:[],M=f.length>0,S=!d&&(p||Object.keys(g).length>0||M),N=p||JSON.stringify(g,null,2),T=N.startsWith("{")||N.startsWith("["),L=Object.entries(Q).slice(0,3).map(([AA,_])=>{const J=typeof _=="string"?_.length>30?`${_.slice(0,27)}…`:_:JSON.stringify(_);return`${AA}=${J}`}).join(" "),Z=i?`${i} › ${a}`:a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:Z,isExpanded:s,onToggle:n,isError:!!d,colorVariant:"purple",canExpand:!!S||!!d||M,children:[!r&&L&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx("span",{className:"text-foreground/60 truncate max-w-xs font-mono text-[11px]",children:L})]}),!d&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx(Ws,{children:"ok"}),o.jsx(Ie,{}),o.jsx(Gt,{children:l})]}),d&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx(mr,{children:"error"}),o.jsx(Ie,{}),o.jsx(Gt,{children:l})]})]}),s&&d&&E&&o.jsx(Yt,{error:E,stack:C,showStack:!0}),s&&!d&&S&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[M&&o.jsx(pl,{images:f}),N&&!M&&o.jsx(At,{title:"result",icon:o.jsx(Er,{className:"h-3 w-3"}),copyText:N,maxHeight:"max-h-[30rem]",children:o.jsx(qt,{language:T?"json":"text",style:u,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:N})})]})]})}function Xf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=Dt(e),g=Array.isArray(i.tools)?i.tools:[],Q=Array.isArray(r.loaded)?r.loaded:[],l=Array.isArray(r.notFound)?r.notFound:[],u=r.ok===!1,d=Q.length>0||l.length>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(ao,{toolName:"load_mcp_tools",isExpanded:t,onToggle:s,isError:u,colorVariant:"purple",canExpand:d,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsxs("span",{className:"text-foreground/60 font-mono text-[11px]",children:[g.length," tool",g.length!==1?"s":""]})]}),!u&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsxs(Ws,{children:[Q.length," loaded"]}),o.jsx(Ie,{}),o.jsx(Gt,{children:a})]}),u&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(Ie,{}),o.jsx(mr,{children:"error"}),o.jsx(Ie,{}),o.jsx(Gt,{children:a})]})]}),t&&d&&o.jsxs("div",{className:"mt-1.5 ml-5 flex flex-col gap-1",children:[Q.map(E=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(Pt,{className:"h-3 w-3 text-green-500"}),o.jsx(Er,{className:"h-3 w-3 text-purple-400"}),o.jsx("span",{className:"font-mono text-foreground/70",children:E})]},E)),l.map(E=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(st,{className:"h-3 w-3 text-red-400"}),o.jsx("span",{className:"font-mono text-foreground/40 line-through",children:E})]},E))]})]})}function $f({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=Dt(e),a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,Q=r.name,l=r.description,u=r.content,d=r.scope,E=r.availableFiles,C=r.securityNotices,p=l?.startsWith("Sub-file:"),f=E?.length??0,M=C?.length??0,S=!!u||a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>S&&s(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${a?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":S?"text-violet-700 dark:text-violet-300 hover:text-violet-600 dark:hover:text-violet-200":"text-violet-700 dark:text-violet-300"}`,children:[S?o.jsx(rt,{className:`h-3 w-3 flex-shrink-0 transition-transform ${t?"rotate-90":""}`}):o.jsx("div",{className:"w-3 flex-shrink-0"}),a&&o.jsx(uo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),p?o.jsx(Es,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(lB,{className:"h-3 w-3 flex-shrink-0"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["skill",a?" error":""]}),Q&&!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 truncate",children:p?l?.replace("Sub-file: ",""):Q})]}),d&&!n&&!p&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",d]}),f>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",f," file",f!==1?"s":""]}),M>0&&!n&&o.jsxs("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0 flex items-center gap-0.5",children:["· ",o.jsx(ng,{className:"h-3 w-3 inline"})," ",M]}),i&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",i]})]}),t&&a&&g&&o.jsx(Yt,{error:g}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 space-y-2",children:[M>0&&C&&o.jsxs("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg p-2.5 space-y-1",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-amber-700 dark:text-amber-300 font-medium text-[11px]",children:[o.jsx(ng,{className:"h-3 w-3"}),"Security Notice",M>1?"s":""]}),C.map((N,T)=>o.jsxs("div",{className:"text-amber-600 dark:text-amber-400 text-[11px] leading-snug",children:[o.jsx("span",{className:"font-mono bg-amber-100 dark:bg-amber-900/40 rounded px-1 py-0.5",children:N.type})," ",N.description]},`${N.type}-${N.line??T}`))]}),l&&!p&&o.jsx("p",{className:"text-muted-foreground italic",children:l}),u&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"p-3 whitespace-pre-wrap font-mono text-xs leading-relaxed",children:u})}),f>0&&E&&o.jsxs("details",{className:"group",children:[o.jsxs("summary",{className:"text-muted-foreground cursor-pointer hover:text-foreground/80 text-[11px] select-none",children:[f," available sub-file",f!==1?"s":""]}),o.jsx("div",{className:"mt-1.5 bg-card/40 border border-border rounded-lg p-2 space-y-0.5 max-h-48 overflow-y-auto",children:E.map(N=>o.jsxs("div",{className:"flex items-center justify-between gap-2 font-mono text-[11px]",children:[o.jsx("span",{className:"text-foreground/80 truncate",children:N.relativePath}),o.jsx("span",{className:"text-muted-foreground/60 flex-shrink-0 tabular-nums",children:Ap(N.size)})]},N.relativePath))})]})]})]})}function Ap(A){if(A<1024)return`${A}B`;const e=A/1024;return e<1024?`${e.toFixed(1)}KB`:`${(e/1024).toFixed(1)}MB`}function ep({part:A}){const[e,t]=D.useState(!0),s=D.useRef(null),n=D.useRef(!1);let r="";const i=A.contentJson||A.content;return i&&typeof i=="object"&&"text"in i?r=String(i.text):typeof i=="string"&&(r=i),D.useEffect(()=>{s.current&&e&&!A.completedAt&&!n.current&&(s.current.scrollTop=s.current.scrollHeight)},[r,e,A.completedAt]),!r||!r.trim()?null:o.jsxs("div",{className:"w-full",children:[o.jsxs("button",{type:"button",onClick:()=>t(!e),className:"flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors w-full",children:[e?o.jsx(Ht,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(rt,{className:"h-3 w-3 flex-shrink-0"}),o.jsx("span",{className:"font-medium",children:"Reasoning"}),!A.completedAt&&o.jsx("span",{className:"text-muted-foreground/60 animate-pulse",children:"thinking..."})]}),e&&o.jsx("div",{ref:s,className:"mt-2 p-3 bg-muted/30 rounded-md border border-border max-h-48 overflow-y-auto",role:"log",onMouseEnter:()=>{n.current=!0},onMouseLeave:()=>{n.current=!1},children:o.jsx("div",{className:"text-sm text-muted-foreground whitespace-pre-wrap font-mono",children:r})})]})}const tp={Read:"read",Edit:"edit",MultiEdit:"multiedit",Write:"write",Ls:"ls",Tree:"tree",Cd:"cd",Pwd:"pwd",Glob:"glob",Grep:"ripgrep",Bash:"bash",Terminal:"terminal",GitStatus:"git_status",GitDiff:"git_diff",GitCommit:"git_commit",ApplyPatch:"apply_patch",UpdateTodos:"update_todos",UpdatePlan:"update_todos",ProgressUpdate:"progress_update",Finish:"finish",WebSearch:"websearch",LoadMcpTools:"load_mcp_tools",Skill:"skill"};function op(A){return tp[A]??A}const sp=new Set(["bash","edit","multiedit","write","apply_patch","terminal"]);function _i({toolName:A,contentJson:e,toolDurationMs:t,debug:s,onNavigateToSession:n,compact:r,sessionId:i,onRetry:a,onCompact:g}){const[Q,l]=D.useState(!1),u=op(A),d=r&&!sp.has(u),C={contentJson:e,toolDurationMs:t??void 0,isExpanded:Q,onToggle:()=>l(!Q),compact:d};if(s)return o.jsx(Rf,{...C,toolName:A});switch(u){case"read":return o.jsx(ff,{...C});case"edit":case"multiedit":return o.jsx(Pg,{...C,toolName:u});case"write":return o.jsx(pf,{...C});case"bash":return o.jsx(xf,{...C});case"git_status":return o.jsx(kf,{...C});case"git_diff":return o.jsx(Mf,{...C});case"git_commit":return o.jsx(bf,{...C});case"apply_patch":return o.jsx(Pg,{...C});case"terminal":return o.jsx(zf,{...C});case"ls":return o.jsx(Ff,{...C});case"tree":return o.jsx(Gf,{...C});case"ripgrep":case"grep":case"glob":return o.jsx(vf,{...C});case"websearch":return o.jsx(Lf,{...C});case"finish":return o.jsx(Sf,{...C});case"update_todos":case"update_plan":return o.jsx(Kf,{...C});case"progress_update":return o.jsx(Jf,{...C});case"load_mcp_tools":return o.jsx(Xf,{...C,toolName:A});case"skill":return o.jsx($f,{...C});case"error":return o.jsx(jf,{...C,sessionId:i,onRetry:a,onCompact:g});case"query_sessions":case"query_messages":case"search_history":case"get_session_context":case"get_parent_session":case"present_action":return o.jsx(Tf,{toolName:A,...C,onNavigateToSession:n});default:return Zf(u)?o.jsx(_f,{...C,toolName:A}):o.jsx(Uf,{...C,toolName:A})}}function Xi(A){const e=A.contentJson;if(e&&typeof e=="object")return e;try{if(A.content){const t=JSON.parse(A.content);if(t&&typeof t=="object"&&!Array.isArray(t))return t}}catch{}return null}function rp(A){const e=Xi(A);if(!e)return;const t=e.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function np(A){if(!A)return null;const e=["cmd","command","script","input"];for(const t of e){const s=A[t];if(typeof s=="string"&&s.trim().length>0)return s.trim()}return null}function ip(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}function ap(A,e){if(!e)return null;const t=[{key:"path",match:!0},{key:"file",match:!0},{key:"target",match:!0},{key:"cwd",match:!0},{key:"query",match:!0},{key:"pattern",match:!0},{key:"glob",match:!0},{key:"dir",match:!0}];for(const{key:s}of t){const n=e[s];if(typeof n=="string"&&n.trim().length>0)return{key:s,value:n.trim()}}if(A==="bash"){const s=e.command;if(typeof s=="string"&&s.trim().length>0)return{key:"command",value:s.trim()}}if(A==="apply_patch"){const s=e.patch;if(typeof s=="string"&&s.trim().length>0){const n=ip(s);if(n)return{key:"patch",value:n}}}return null}function gp(A,e){if(!A)return null;const t=[];for(const[n,r]of Object.entries(A))if(!(e&&n===e)){if(typeof r=="string"||typeof r=="number"){const i=`${n}=${String(r)}`;t.push(i)}if(t.length>=3)break}if(!t.length)return null;const s=t.join(" ");return s.length>120?`${s.slice(0,117)}…`:s}const Zg=D.memo(function({part:e,showLine:t,isLastToolCall:s,isLastProgressUpdate:n,onNavigateToSession:r,compact:i,pendingApproval:a,onApprove:g,onReject:Q,sessionId:l,onRetry:u,onCompact:d}){if(e.type==="tool_call"&&((e.toolName||"")==="progress_update"||!s&&!a)||e.type==="tool_result"&&e.toolName==="progress_update"&&!n)return null;if(e.type==="text"){const N=e.contentJson||e.content;let T="";if(N&&typeof N=="object"&&"text"in N?T=String(N.text):typeof N=="string"&&(T=N),!T||!T.trim())return null}if(e.type==="reasoning"){const N=e.contentJson||e.content;let T="";if(N&&typeof N=="object"&&"text"in N?T=String(N.text):typeof N=="string"&&(T=N),!T||!T.trim())return null}const E=e.type==="tool_call"||e.type==="tool_result",C=["flex-1","min-w-0","max-w-full"];E||e.type==="reasoning"?C.push(i?"pt-0.5":"pt-1"):e.type==="error"?C.push("pt-0.5"):e.type==="text"?(C.push("pt-0"),C.push("-mt-0.5")):C.push("pt-0");const p=C.join(" "),f=()=>{if(e.type==="reasoning")return o.jsx(wn,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"});if(e.type==="tool_call")return o.jsx(Le,{className:"h-4 w-4 text-amber-600 dark:text-amber-300 animate-spin"});if(e.type==="error")return Xi(e)?.isAborted===!0?o.jsx(Mc,{className:"h-4 w-4 text-amber-600 dark:text-amber-400"}):o.jsx(uo,{className:"h-4 w-4 text-red-600 dark:text-red-400"});if(e.type==="tool_result"){const N=e.toolName||"";return N==="read"?o.jsx(Es,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):N==="write"?o.jsx(Cs,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):N==="ls"?o.jsx(bc,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):N==="tree"?o.jsx(ir,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):N==="bash"?o.jsx(oo,{className:"h-4 w-4 text-muted-foreground"}):N==="ripgrep"||N==="grep"||N==="glob"?o.jsx(fs,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):N==="apply_patch"?o.jsx(vi,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):N==="git_status"?o.jsx(so,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):N==="git_diff"?o.jsx(vi,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):N==="git_commit"?o.jsx(on,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):N==="finish"?o.jsx(Pt,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):N==="query_sessions"||N==="query_messages"||N==="search_history"||N==="get_session_context"||N==="get_parent_session"?o.jsx(Fc,{className:"h-4 w-4 text-teal-600 dark:text-teal-300"}):N==="terminal"?o.jsx(oo,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):N==="skill"?o.jsx(lB,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"}):N.includes("__")?o.jsx(Er,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):o.jsx(oo,{className:"h-4 w-4 text-muted-foreground"})}return o.jsx(No,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"})},M=()=>{const N=e.toolName||"";let T;try{e.contentJson&&typeof e.contentJson=="object"?T=e.contentJson:typeof e.content=="string"?T=JSON.parse(e.content):T={}}catch{T={result:e.content}}return o.jsx(_i,{toolName:N,contentJson:T,toolDurationMs:e.toolDurationMs,debug:!1,onNavigateToSession:r,compact:i})},S=()=>{if(e.type==="reasoning")return o.jsx(ep,{part:e});if(e.type==="text"){let N="";const T=e.contentJson||e.content;return T&&typeof T=="object"&&"text"in T?N=String(T.text):typeof T=="string"?N=T:T&&(N=JSON.stringify(T,null,2)),o.jsxs("div",{className:"relative group",children:[o.jsx("div",{className:"absolute -top-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10",children:o.jsx(Xr,{text:N,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"md"})}),o.jsx("div",{className:"text-base text-foreground leading-relaxed markdown-content max-w-full overflow-x-auto",children:o.jsx(hB,{remarkPlugins:[fB],components:{a:({href:L,children:Z,...AA})=>o.jsx("a",{href:L,target:"_blank",rel:"noopener noreferrer",onClick:_=>{window.self!==window.top&&L&&(_.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:L},"*"))},...AA,children:Z}),pre:({children:L,...Z})=>{const AA=(()=>{if(!L)return"";const _=Array.isArray(L)?L[0]:L;if(_&&typeof _=="object"&&"props"in _){const J=_.props;if(typeof J.children=="string")return J.children}return""})();return o.jsxs("div",{className:"relative group/code my-3",children:[o.jsx("div",{className:"absolute top-2 right-2 opacity-0 group-hover/code:opacity-100 transition-opacity z-10",children:o.jsx(Xr,{text:AA,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"sm"})}),o.jsx("pre",{...Z,className:"overflow-x-auto",children:L})]})},table:({children:L,...Z})=>o.jsx("div",{className:"overflow-x-auto max-w-full min-w-0 my-3",children:o.jsx("table",{...Z,children:L})})},children:N})}),N.length>500&&o.jsx("div",{className:"absolute -bottom-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10",children:o.jsx(Xr,{text:N,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"md"})})]})}if(e.type==="error"){let N;try{e.contentJson&&typeof e.contentJson=="object"?N=e.contentJson:typeof e.content=="string"?N=JSON.parse(e.content):N={}}catch{N={message:e.content||"Unknown error"}}return o.jsx(_i,{toolName:"error",contentJson:N,toolDurationMs:e.toolDurationMs,debug:!1,compact:i,sessionId:l,onRetry:u,onCompact:d})}if(e.type==="tool_call"){const N=Xi(e),T=e.toolName||(typeof N?.name=="string"?N.name:"tool"),L=T.includes("__")?T.replace("__"," › "):T.replace(/_/g," "),Z=rp(e),AA=a?.args,_=Z||AA,J=ap(T,_),P=gp(_,J?.key),b=T==="bash"?np(_):null,K=[];if(b?K.push({key:"cmd",node:o.jsx("code",{className:"font-mono text-foreground/90 truncate max-w-xs",children:b})}):J&&K.push({key:"primary",node:o.jsx("code",{className:"font-mono text-foreground/85 truncate max-w-xs",children:J.value})}),P&&K.push({key:"args",node:o.jsx("span",{className:"text-muted-foreground/80 truncate max-w-xs",children:P})}),a&&a.callId===e.toolCallId&&g&&Q)return o.jsx(uf,{toolName:T,args:_,pendingApproval:a,onApprove:g,onReject:Q});K.length===0&&K.push({key:"running",node:o.jsx("span",{className:"text-muted-foreground/75",children:"running…"})});const B=["flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-foreground/80 max-w-full"];return e.ephemeral&&B.push("animate-pulse"),o.jsxs("div",{className:B.join(" "),children:[o.jsx("span",{className:"font-medium text-foreground",children:L}),K.map(I=>o.jsxs(D.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/65",children:"·"}),I.node]},I.key))]})}return e.type==="tool_result"?M():null};return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:f()}),t&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:p,children:S()})]})},(A,e)=>A.part.id===e.part.id&&A.part.content===e.part.content&&A.part.contentJson===e.part.contentJson&&A.part.ephemeral===e.part.ephemeral&&A.part.completedAt===e.part.completedAt&&A.showLine===e.showLine&&A.isLastToolCall===e.isLastToolCall&&A.isLastProgressUpdate===e.isLastProgressUpdate&&A.compact===e.compact&&A.onNavigateToSession===e.onNavigateToSession&&A.pendingApproval?.callId===e.pendingApproval?.callId&&A.onApprove===e.onApprove&&A.onReject===e.onReject),wl=new Set(["read","ls","tree","ripgrep","grep","glob","websearch","skill","query_sessions","query_messages","search_history","get_session_context","get_parent_session"]);function Ra(A){if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;try{if(A.content){const e=JSON.parse(A.content);if(e&&typeof e=="object"&&!Array.isArray(e))return e}}catch{}return null}function Qp(A){const t=Ra(A)?.args;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function Bp(A){const t=Ra(A)?.result;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function ts(A,e=56){return A.length>e?`${A.slice(0,e-1)}…`:A}function lp(A){const t=Ra(A)?.text;return typeof t=="string"&&t.trim()?t.trim():typeof A.content=="string"?A.content.trim():""}function Ep(A){return A.split(`
|
|
106
|
+
`).map(t=>t.trim()).find(Boolean)||A.trim()}function cp(A){return A.replace(/^Reasoning:\s*/i,"").replace(/^[-*+]\s+/,"").replace(/\[(.*?)\]\((.*?)\)/g,"$1").replace(/[*_`#>~]+/g,"").replace(/\s+/g," ").trim()}function po(A,...e){for(const t of e){const s=A[t];if(typeof s=="string"&&s.trim())return s.trim()}}function Cp(A){return A.type==="reasoning"?!0:A.type!=="tool_call"&&A.type!=="tool_result"?!1:!!(A.toolName&&wl.has(A.toolName))}function Ip(A){if(A.type==="reasoning"){const s=lp(A),n=cp(Ep(s));return{id:A.id,label:n?ts(n):"Thinking through the approach",toolName:"reasoning",fullText:s||void 0,startedAt:A.startedAt,completedAt:A.completedAt}}if(!A.toolName||!wl.has(A.toolName))return null;const e=Qp(A),t=Bp(A);if(A.toolName==="read"){const s=po(t,"path")||po(e,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Reading ${ts(s)}`:"Reading file contents",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ls"||A.toolName==="tree"){const s=po(e,"path")||po(t,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Scanning ${ts(s)}`:"Scanning the project",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ripgrep"||A.toolName==="grep"||A.toolName==="glob"){const s=po(e,"query","pattern","filePattern")||po(t,"query","pattern");return{id:A.id,toolName:A.toolName,query:s,label:s?`Searching for ${ts(s,42)}`:"Searching code",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="websearch"){const s=po(e,"query"),n=po(e,"url")||po(t,"url");return{id:A.id,toolName:A.toolName,query:s,url:n,label:s?`Researching ${ts(s,42)}`:n?`Reviewing ${ts(n,42)}`:"Researching references",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="skill"){const s=po(e,"name");return{id:A.id,toolName:A.toolName,label:s?`Loading skill ${ts(s,36)}`:"Loading a skill",startedAt:A.startedAt,completedAt:A.completedAt}}return{id:A.id,toolName:A.toolName,label:"Reviewing prior context",startedAt:A.startedAt,completedAt:A.completedAt}}function up(A){const e=new Map;for(const s of A)s.type==="tool_result"&&s.toolCallId&&e.set(s.toolCallId,s);const t=[];for(const s of A){if(s.type==="tool_call"&&s.toolCallId&&e.has(s.toolCallId))continue;const n=Ip(s);n&&t.push(n)}return t}function dp(A){const e=new Set;for(const t of A)t.path&&e.add(t.path);return e}function hp(A){let e=null,t=null;for(const s of A){const n=s.startedAt??null,r=s.completedAt??s.startedAt??null;n!==null&&(e===null||n<e)&&(e=n),r!==null&&(t===null||r>t)&&(t=r)}return e!==null&&t!==null&&t>e?t-e:null}function fp(A){const e=Math.round(A/1e3);if(e<60)return`${e}s`;const t=Math.floor(e/60),s=e%60;return s>0?`${t}m ${s}s`:`${t}m`}function pp(A){const e=dp(A);let t=0,s=0,n=0,r=0,i=0;for(const E of A)switch(E.toolName){case"reasoning":r+=1;break;case"read":break;case"ls":case"tree":s+=1;break;case"ripgrep":case"grep":case"glob":t+=1;break;case"websearch":n+=1;break;case"skill":case"query_sessions":case"query_messages":case"search_history":case"get_session_context":case"get_parent_session":i+=1;break}const a=e.size>0||s>0,g=hp(A),Q=g!==null?fp(g):null,l=r>0&&e.size===0&&t===0&&s===0&&n===0&&i===0,u=l?Q?`Thought for ${Q}`:"Thought through the approach":n>0?a||t>0?"Researched and reviewed the project":"Researched references":i>0&&t>0?"Reviewed context and searched code":a&&t>0?"Reviewed files and searched code":s>0?"Explored project structure":e.size>0?"Reviewed project files":i>0?"Reviewed prior context":"Thought through the approach",d=[];return!l&&Q&&d.push(Q),e.size>0&&d.push(`${e.size} ${e.size===1?"file":"files"}`),t>0&&d.push(`${t} ${t===1?"search":"searches"}`),s>0&&e.size===0&&d.push(`${s} ${s===1?"scan":"scans"}`),n>0&&d.push(`${n} ${n===1?"web lookup":"web lookups"}`),i>0&&u!=="Reviewed prior context"&&d.push("prior context"),r>0&&!l&&d.push("reasoning"),d.length===0&&r===0&&d.push(`${A.length} ${A.length===1?"step":"steps"}`),{title:u,details:d}}const mo=320,wo="cubic-bezier(0.25, 1, 0.5, 1)",_g=140;function mp({entries:A,titleOverride:e,showLine:t,collapsed:s}){const n=s&&A.length>0,[r,i]=D.useState(n),[a,g]=D.useState(n),Q=D.useRef(null),l=D.useRef(null),u=D.useRef(null),d=D.useRef(!1),E=D.useRef(A.length),[C,p]=D.useState(0),f=D.useMemo(()=>pp(A),[A]),S=[e||f.title,...f.details].join(" · "),N=A.some(Z=>Z.toolName==="reasoning"),T=A.length>0?A[A.length-1]:null;D.useEffect(()=>{if(!s&&!a){i(!1);return}if(!a&&s&&g(!0),r||A.length===0)return;const Z=window.setTimeout(()=>i(!0),500);return()=>window.clearTimeout(Z)},[s,r,a,A.length]),D.useLayoutEffect(()=>{if(r)return;const Z=Q.current;if(!Z)return;const AA=()=>{const J=Math.min(Z.scrollHeight,_g);p(P=>P===J?P:J)};AA();const _=new ResizeObserver(()=>AA());return _.observe(Z),()=>_.disconnect()},[r]),D.useEffect(()=>()=>{u.current!==null&&window.cancelAnimationFrame(u.current)},[]),D.useEffect(()=>{if(r||d.current)return;const Z=l.current;if(!Z)return;const AA=Q.current?.scrollHeight??0,_=AA>C+1,J=_?Math.max(0,AA-C):0;if(u.current!==null&&(window.cancelAnimationFrame(u.current),u.current=null),!_){Z.scrollTop=0;return}const P=Z.scrollTop,b=J-P;if(b<=1){Z.scrollTop=J;return}const K=performance.now(),w=Math.min(360,Math.max(180,b*.9)),B=I=>{const y=Math.min(1,(I-K)/w),G=1-(1-y)**3;if(Z.scrollTop=P+b*G,y<1&&!d.current){u.current=window.requestAnimationFrame(B);return}u.current=null};u.current=window.requestAnimationFrame(B)},[A.length,T?.fullText,r,C]),D.useEffect(()=>{E.current=A.length},[A.length]);const L=!r;return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:N?o.jsx(wn,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"}):o.jsx(fs,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"})}),t&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:o.jsxs("div",{className:"relative rounded-lg overflow-hidden",style:{border:L?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:L?"hsl(var(--muted) / 0.2)":"transparent",padding:L?"8px 12px":"0px 0px",transition:`border ${mo}ms ${wo}, background ${mo}ms ${wo}, padding ${mo}ms ${wo}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:L?1:0,maxHeight:L?`${_g+28}px`:"0px",transition:`opacity ${mo}ms ${wo}, max-height ${mo}ms ${wo}`},children:[o.jsx("div",{className:"text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70 mb-1",children:"Exploring"}),o.jsx("div",{ref:l,className:"overflow-y-auto",style:{height:`${C}px`,transition:`height ${mo}ms ${wo}`,maskImage:"linear-gradient(to bottom, transparent 0px, black 20px)",WebkitMaskImage:"linear-gradient(to bottom, transparent 0px, black 20px)"},role:"log",onMouseEnter:()=>{d.current=!0},onMouseLeave:()=>{d.current=!1},children:o.jsx("div",{ref:Q,className:"pt-2.5",children:A.map((Z,AA)=>{const _=AA===A.length-1,J=AA>=E.current;return Z.toolName==="reasoning"&&Z.fullText&&Z.fullText.trim()?o.jsx("div",{className:"px-1 py-0.5",style:{animation:J?`ottoEntryIn ${mo}ms ${wo} both`:void 0},children:o.jsx("p",{className:`text-[11px] leading-relaxed font-mono whitespace-pre-wrap ${_?"text-foreground/80":"text-muted-foreground/60"}`,children:Z.fullText})},Z.id):o.jsx("div",{className:`flex items-center px-1 text-xs leading-5 h-7 ${_?"text-foreground":"text-muted-foreground/70"}`,style:{animation:J?`ottoEntryIn ${mo}ms ${wo} both`:void 0},children:o.jsx("span",{className:"block min-w-0 truncate",children:Z.label})},Z.id)})})})]}),o.jsx("div",{className:"flex items-center text-xs",style:{opacity:r?1:0,height:r?"20px":"0px",overflow:"hidden",transition:`opacity ${mo}ms ${wo}, height ${mo}ms ${wo}`},children:o.jsx("span",{className:"block min-w-0 truncate leading-5 text-foreground",title:S,children:S})})]})}),o.jsx("style",{children:"@keyframes ottoEntryIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }"})]})}const Go=320,vo="cubic-bezier(0.25, 1, 0.5, 1)",Xg=140;function Ka(A){if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;try{if(A.content){const e=JSON.parse(A.content);if(e&&typeof e=="object"&&!Array.isArray(e))return e}}catch{}return{}}function wp(A){const e=Ka(A);return typeof e._streamedInput=="string"?e._streamedInput:""}function xp(A){const e=Ka(A);return typeof e._streamedOutput=="string"?e._streamedOutput:""}function Dp(A){const t=Ka(A)?.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function yp(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}const Np={bash:{Icon:oo,color:"text-muted-foreground",label:"Running"},write:{Icon:Cs,color:"text-emerald-600 dark:text-emerald-300",label:"Writing"},apply_patch:{Icon:vi,color:"text-purple-600 dark:text-purple-300",label:"Patching"},terminal:{Icon:oo,color:"text-amber-600 dark:text-amber-300",label:"Terminal"}};function kp(A,e){if(!e)return"";if(A==="bash"){const t=String(e.cmd||"");return t.length>80?`${t.slice(0,77)}…`:t}if(A==="write")return String(e.path||"");if(A==="apply_patch"){const t=String(e.patch||"");return yp(t)||""}return""}function Mp(A,e){if(A==="bash"){const t=Us(e,"cmd");if(t)return t.length>80?`${t.slice(0,77)}…`:t}if(A==="write")return Us(e,"path")||Us(e,"filePath");if(A==="apply_patch"){const t=e.match(/\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+?)(?:\\n|")/);return t?t[1].trim():""}return""}function bp(A){try{if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;if(typeof A.content=="string")return JSON.parse(A.content)}catch{}return{}}function Fp({part:A,showLine:e}){const t=D.useRef(null),s=D.useRef(null),n=D.useRef(null),r=D.useRef(!1),i=D.useRef(0),[a,g]=D.useState(0),Q=A.toolName||"",l=A.type==="tool_result",u=Np[Q]||{Icon:oo,color:"text-muted-foreground",label:Q.replace(/_/g," ")},[d,E]=D.useState(()=>l),[C,p]=D.useState(()=>l),f=Dp(A),M=wp(A),S=xp(A),N=kp(Q,f)||Mp(Q,M),T=Gp(Q,M),L=Q==="bash"?S||T||(f?$g(Q,f):""):f?$g(Q,f):T,Z=L.trim().length>0;D.useEffect(()=>{if(!l&&!C){E(!1);return}if(!C&&l&&p(!0),d||!l)return;const J=window.setTimeout(()=>E(!0),500);return()=>window.clearTimeout(J)},[l,d,C]),D.useLayoutEffect(()=>{if(!Z){g(0);return}const J=t.current;if(!J)return;const P=Math.min(J.scrollHeight,Xg-12);g(b=>b===P?b:P)},[L,Z]),D.useEffect(()=>()=>{n.current!==null&&window.cancelAnimationFrame(n.current)},[]),D.useEffect(()=>{const J=s.current;if(!J||r.current)return;const P=L.length,b=t.current?.scrollHeight??0,K=b>a+1,w=K?Math.max(0,b-a):0;if(n.current!==null&&(window.cancelAnimationFrame(n.current),n.current=null),!K){J.scrollTop=0,i.current=P;return}if(P<=i.current){J.scrollTop=w,i.current=P;return}const B=J.scrollTop,I=w-B;if(I<=1){J.scrollTop=w,i.current=P;return}const y=performance.now(),G=Math.min(360,Math.max(180,I*.9)),j=O=>{const z=Math.min(1,(O-y)/G),v=1-(1-z)**3;if(J.scrollTop=B+I*v,z<1&&!r.current){n.current=window.requestAnimationFrame(j);return}n.current=null};n.current=window.requestAnimationFrame(j),i.current=P},[L,a]);const AA=!d,_=l?bp(A):null;return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:o.jsx(u.Icon,{className:`h-4 w-4 ${u.color}`})}),e&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:o.jsxs("div",{className:"relative rounded-lg overflow-hidden",style:{border:AA?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:AA?"hsl(var(--muted) / 0.2)":"transparent",padding:AA?"8px 12px":"0px 0px",transition:`border ${Go}ms ${vo}, background ${Go}ms ${vo}, padding ${Go}ms ${vo}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:AA?1:0,maxHeight:AA?`${Xg+28}px`:"0px",transition:`opacity ${Go}ms ${vo}, max-height ${Go}ms ${vo}`},children:[o.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70",children:[o.jsx(Le,{className:"h-3 w-3 animate-spin flex-shrink-0"}),o.jsx("span",{className:"flex-shrink-0",children:u.label}),N&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/40 flex-shrink-0",children:"·"}),o.jsx("span",{className:"truncate text-foreground/60 lowercase tracking-normal font-normal font-mono",children:N})]}),!f&&!T&&!S&&o.jsx("span",{className:"text-muted-foreground/50 animate-pulse lowercase tracking-normal font-normal",children:"generating…"})]}),o.jsx("div",{style:{overflow:"hidden",opacity:Z?1:0,height:Z?`${a+6}px`:"0px",transition:`opacity ${Go}ms ${vo}, height ${Go}ms ${vo}`},children:L&&o.jsx("div",{className:"pt-1.5",children:o.jsx("div",{ref:s,className:"overflow-y-auto",style:{height:`${a}px`,maskImage:"linear-gradient(to bottom, transparent 0px, black 20px)",WebkitMaskImage:"linear-gradient(to bottom, transparent 0px, black 20px)"},onMouseEnter:()=>{r.current=!0},onMouseLeave:()=>{r.current=!1},children:o.jsx("pre",{ref:t,className:"px-1 pt-2.5 pb-1 text-[11px] leading-relaxed text-foreground/60 font-mono whitespace-pre-wrap break-all",children:L})})})})]}),o.jsx("div",{className:"min-w-0 text-xs",style:{opacity:d?1:0,maxHeight:d?"1200px":"0px",overflow:"hidden",transition:`opacity ${Go}ms ${vo}, max-height ${Go}ms ${vo}`},children:_?o.jsx("div",{className:"min-w-0",children:o.jsx(_i,{toolName:Q,contentJson:_,toolDurationMs:A.toolDurationMs??void 0,debug:!1,compact:!1})}):o.jsx("div",{className:"flex min-w-0 items-center",children:o.jsx("span",{className:"block min-w-0 truncate leading-5 text-foreground",title:N||u.label,children:N?`${u.label} · ${N}`:u.label})})})]})})]})}function $g(A,e){return A==="bash"?String(e.cmd||""):A==="write"?String(e.content||""):A==="apply_patch"?String(e.patch||""):""}function Us(A,e){const s=new RegExp(`"${e}"\\s*:\\s*"`).exec(A);if(!s)return"";const n=s.index+s[0].length;let r="",i=n;for(;i<A.length;)if(A[i]==="\\"&&i+1<A.length){const a=A[i+1];a==="n"?r+=`
|
|
107
|
+
`:a==="t"?r+=" ":a==='"'?r+='"':a==="\\"?r+="\\":r+=a,i+=2}else{if(A[i]==='"')break;r+=A[i],i+=1}return r}function Gp(A,e){return e?A==="bash"?Us(e,"cmd"):A==="write"?Us(e,"content"):A==="apply_patch"?Us(e,"patch"):"":""}const ei={currentMessageId:null,queuedMessages:[],queueLength:0};function vp(A){const{data:e}=nt({queryKey:["queueState",A],queryFn:()=>ei,enabled:!!A,initialData:ei,staleTime:1/0});return e??ei}function xl(A,e){const t=vp(A);if(!A||!t)return{isQueued:!1,isRunning:!1,position:null};if(t.currentMessageId===e)return{isQueued:!1,isRunning:!0,position:null};const s=t.queuedMessages.find(n=>n.messageId===e);return s?{isQueued:!0,isRunning:!1,position:s.position}:{isQueued:!1,isRunning:!1,position:null}}function Sp(A){const e=be();return Ye({mutationFn:t=>{if(!A)throw new Error("No session ID");return wA.createBranch(A,t)},onSuccess:()=>{e.invalidateQueries({queryKey:ko}),A&&e.invalidateQueries({queryKey:["branches",A]})}})}function Dl(A){return nt({queryKey:["parentSession",A],queryFn:()=>{if(!A)throw new Error("No session ID");return wA.getParentSession(A)},enabled:!!A})}function Up({isOpen:A,onClose:e,sessionId:t,message:s,onBranchCreated:n}){const r=Fa(t),i=Sp(t),[a,g]=D.useState(""),[Q,l]=D.useState(!0),u=D.useId(),d=D.useId(),E=s.parts?.find(f=>f.type==="text")?.content||"",C=(()=>{try{return JSON.parse(E)?.text?.slice(0,100)||""}catch{return E.slice(0,100)}})(),p=async f=>{f.preventDefault();try{const M=await i.mutateAsync({fromMessageId:s.id,title:a.trim()||void 0,provider:Q?r?.provider:void 0,model:Q?r?.model:void 0,agent:Q?r?.agent:void 0});e(),n&&M.session&&n(M.session.id)}catch(M){console.error("Failed to create branch:",M)}};return o.jsx(Oo,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(so,{className:"h-5 w-5 text-primary"}),o.jsx("span",{children:"Branch Session"})]}),maxWidth:"md",children:o.jsxs("form",{onSubmit:p,className:"space-y-4",children:[o.jsxs("div",{className:"text-sm text-muted-foreground",children:[o.jsx("p",{children:"Creating branch from message:"}),o.jsxs("p",{className:"mt-1 p-2 bg-muted/50 rounded text-foreground italic truncate",children:['"',C,'..."']})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:u,className:"block text-sm font-medium text-foreground",children:"Branch Title (optional)"}),o.jsx("input",{id:u,type:"text",value:a,onChange:f=>g(f.target.value),placeholder:`Branch of ${r?.title||"Untitled"}`,className:"w-full px-3 py-2 bg-background border border-border rounded-md text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50"})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("input",{id:d,type:"checkbox",checked:Q,onChange:f=>l(f.target.checked),className:"h-4 w-4 rounded border-border text-primary focus:ring-primary/50"}),o.jsx("label",{htmlFor:d,className:"text-sm text-foreground",children:"Use same provider/model/agent as parent"})]}),r&&o.jsx("div",{className:"text-xs text-muted-foreground bg-muted/30 rounded p-2",children:o.jsxs("div",{className:"flex gap-4",children:[o.jsxs("span",{children:[o.jsx("strong",{children:"Provider:"})," ",r.provider]}),o.jsxs("span",{children:[o.jsx("strong",{children:"Model:"})," ",r.model]}),o.jsxs("span",{children:[o.jsx("strong",{children:"Agent:"})," ",r.agent]})]})}),o.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[o.jsx("button",{type:"button",onClick:e,className:"px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Cancel"}),o.jsx("button",{type:"submit",disabled:i.isPending,className:"px-4 py-2 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:i.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"h-4 w-4 animate-spin"}),"Creating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(so,{className:"h-4 w-4"}),"Create Branch"]})})]}),i.isError&&o.jsx("p",{className:"text-sm text-red-500",children:i.error?.message||"Failed to create branch"})]})})}const AQ=["Generating...","Cooking up something...","Thinking...","Processing...","Working on it...","Crafting response...","Brewing magic...","Computing..."];function Rp(A){const e=A.split("").reduce((t,s)=>t+s.charCodeAt(0),0);return AQ[e%AQ.length]}const yl=D.memo(function({sessionId:e,message:t,showHeader:s,hasNextAssistantMessage:n,onBranchCreated:r,compact:i,showBranchButton:a=!0,onNavigateToSession:g,onRetry:Q,onCompact:l}){const{isQueued:u}=xl(e,t.id),[d,E]=D.useState(!1),[C,p]=D.useState(!1),[f,M]=D.useState(!1),{pendingApprovals:S,removePendingApproval:N}=hr(),T=D.useCallback(async c=>{if(e)try{await wA.approveToolCall(e,c,!0),N(c)}catch(h){console.error("Failed to approve tool call:",h)}},[e,N]),L=D.useCallback(async c=>{if(e)try{await wA.approveToolCall(e,c,!1),N(c)}catch(h){console.error("Failed to reject tool call:",h)}},[e,N]),Z=D.useMemo(()=>S.filter(c=>c.messageId===t.id),[S,t.id]),AA=D.useCallback(async()=>{if(e)try{await Promise.all(Z.map(c=>wA.approveToolCall(e,c.callId,!0)));for(const c of Z)N(c.callId)}catch(c){console.error("Failed to approve all tool calls:",c)}},[e,Z,N]),_=D.useMemo(()=>[...t.parts||[]].sort((h,U)=>{const R=(h.index??0)-(U.index??0);if(R!==0)return R;const X=(h.stepIndex??0)-(U.stepIndex??0);return X!==0?X:(h.startedAt??0)-(U.startedAt??0)}),[t.parts]),J=_.some(c=>c.toolName==="finish"),P=_.reduce((c,h,U)=>h.type==="tool_result"&&h.toolName==="progress_update"?U:c,-1),b=P>=0?_[P]:null,K=new Set(_.filter(c=>c.ephemeral&&["bash","edit","multiedit","write","apply_patch","terminal"].includes(c.toolName||"")).map(c=>c.toolCallId).filter(c=>!!c)),w=D.useMemo(()=>{const c=[];let h=[],U=-1,R;const X=tA=>{if(h.length===0){tA&&(R=tA);return}const uA=up(h);if(uA.length>0)c.push({kind:"group",id:`compact-${h[0].id}`,entries:uA,titleOverride:R});else for(const[aA,KA]of h.entries())c.push({kind:"part",index:U+aA,part:KA});h=[],U=-1,R=tA};for(const[tA,uA]of _.entries()){if((uA.type==="tool_result"||uA.type==="tool_call")&&uA.toolName==="progress_update"){let KA;const PA=uA.contentJson&&typeof uA.contentJson=="object"?uA.contentJson:null;if(PA){const dA=PA.args??PA.result;if(dA&&typeof dA=="object"){const ZA=dA.message;typeof ZA=="string"&&ZA.trim()&&(KA=ZA.trim())}}KA&&X(KA);continue}if(i&&Cp(uA)){h.length===0&&(U=tA),h.push(uA);continue}X(),c.push({kind:"part",index:tA,part:uA})}return X(),c},[_,i]),B=w.length>0,I=_.findIndex(c=>!(c.type==="tool_result"&&c.toolName==="progress_update")),y=t.status==="pending"&&!J&&!!b,G=t.status==="pending"&&!J&&!b&&!u,j=c=>c?new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",O=t.status==="complete",z=D.useCallback(()=>{const c=_.filter(h=>h.type==="text").map(h=>{try{return JSON.parse(h.content||"{}")?.text||""}catch{return h.content||""}}).join(`
|
|
108
|
+
`);navigator.clipboard.writeText(c),M(!0),setTimeout(()=>M(!1),2e3)},[_]),v=D.useCallback(()=>{p(!0)},[]);return u?null:o.jsxs("div",{className:"relative group",onMouseEnter:()=>E(!0),onMouseLeave:()=>E(!1),children:[s&&o.jsxs("div",{className:"pb-2 flex items-center justify-between",children:[o.jsxs("div",{className:"inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4 flex-shrink min-w-0",children:[o.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10",children:o.jsx(No,{className:"h-3.5 w-3.5 text-violet-700 dark:text-violet-300"})}),o.jsxs("div",{className:"flex items-center gap-x-1.5 md:gap-x-2 text-xs md:text-sm text-muted-foreground pl-2 md:pl-3 min-w-0",children:[t.agent&&o.jsx("span",{className:"font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap",title:t.agent,children:t.agent}),t.provider&&o.jsxs(o.Fragment,{children:[t.agent&&o.jsx("span",{className:"text-muted-foreground/50",children:"·"}),o.jsx(Vt,{provider:t.provider,size:14,className:"opacity-70"})]}),t.model&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"hidden md:inline text-muted-foreground/50",children:"·"}),o.jsx("span",{className:"hidden md:inline text-muted-foreground whitespace-nowrap",title:t.model,children:t.model})]}),t.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/50",children:"·"}),o.jsx("span",{className:"text-muted-foreground whitespace-nowrap",children:j(t.createdAt)})]})]})]}),d&&O&&e&&a&&o.jsx("button",{type:"button",onClick:v,className:"ml-4 p-1.5 text-muted-foreground hover:text-primary transition-colors flex-shrink-0",title:"Branch from this message",children:o.jsx(so,{className:"h-4 w-4"})})]}),o.jsxs("div",{className:"relative ml-1",children:[w.map((c,h)=>{const U=h<w.length-1||n||y;if(c.kind==="group")return o.jsx(mp,{entries:c.entries,titleOverride:c.titleOverride,showLine:U,collapsed:t.status!=="pending"||h<w.length-1},c.id);const{part:R,index:X}=c,tA=X===_.length-1;if(R.ephemeral&&(R.type==="tool_call"||R.type==="tool_result")&&["bash","edit","multiedit","write","apply_patch","terminal"].includes(R.toolName||""))return o.jsx(Fp,{part:R,showLine:U},R.id);const aA=R.type==="tool_call"&&R.toolCallId?S.find(ZA=>ZA.callId===R.toolCallId)??null:null;if(R.type==="tool_result"&&R.toolCallId&&K.has(R.toolCallId))return null;const KA=R.type==="tool_result"&&R.toolName==="finish",PA=U&&!KA,dA=R.type==="tool_call"&&tA;return o.jsx(Zg,{part:R,showLine:PA,isFirstPart:X===I&&!s,isLastToolCall:dA,onNavigateToSession:g,compact:i,pendingApproval:aA,onApprove:T,onReject:L,sessionId:e,onRetry:Q,onCompact:l},R.id)}),Z.length>1&&o.jsxs("div",{className:"flex items-center gap-3 py-2 px-3 my-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg",children:[o.jsx(ua,{className:"h-4 w-4 text-amber-600 dark:text-amber-400 flex-shrink-0"}),o.jsxs("span",{className:"text-sm text-amber-800 dark:text-amber-200 flex-1",children:[Z.length," tools waiting for approval"]}),o.jsxs("button",{type:"button",onClick:AA,title:"Approve All (A)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors",children:[o.jsx(iB,{className:"w-3.5 h-3.5"}),"Approve All",o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"A"})]})]}),y&&b&&o.jsx(Zg,{part:b,showLine:n,isFirstPart:!B&&!s,isLastProgressUpdate:!0,compact:i},b.id),G&&o.jsxs("div",{className:"flex gap-3 pb-2 relative",children:[o.jsx("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-card text-violet-700 dark:bg-background dark:text-violet-300",children:o.jsx(No,{className:"h-4 w-4"})})}),o.jsx("div",{className:"flex-1 pt-0.5",children:o.jsx("div",{className:"text-base text-foreground animate-pulse",children:Rp(t.id)})})]})]}),O&&e&&o.jsx("div",{className:"grid ml-7 transition-[grid-template-rows] duration-200 ease-out",style:{gridTemplateRows:d?"1fr":"0fr"},children:o.jsx("div",{className:"overflow-hidden",children:o.jsxs("div",{className:"flex gap-2 mt-2",children:[a&&o.jsxs("button",{type:"button",onClick:v,className:"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors",children:[o.jsx(so,{className:"h-3 w-3"}),"Branch"]}),o.jsx("button",{type:"button",onClick:z,className:"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors",children:f?o.jsxs(o.Fragment,{children:[o.jsx(Pt,{className:"h-3 w-3 text-green-500"}),"Copied"]}):o.jsxs(o.Fragment,{children:[o.jsx(cs,{className:"h-3 w-3"}),"Copy"]})})]})})}),C&&e&&o.jsx(Up,{isOpen:C,onClose:()=>p(!1),sessionId:e,message:t,onBranchCreated:r})]})},(A,e)=>{const t=A.message.parts||[],s=e.message.parts||[];if(t.length!==s.length)return!1;for(let n=0;n<t.length;n++){const r=t[n],i=s[n];if(r.id!==i.id||r.index!==i.index||r.stepIndex!==i.stepIndex||r.type!==i.type||r.content!==i.content||r.contentJson!==i.contentJson||r.toolName!==i.toolName||r.toolCallId!==i.toolCallId||r.ephemeral!==i.ephemeral||r.completedAt!==i.completedAt||r.startedAt!==i.startedAt)return!1}return A.message.id===e.message.id&&A.message.status===e.message.status&&A.message.completedAt===e.message.completedAt&&A.showHeader===e.showHeader&&A.hasNextAssistantMessage===e.hasNextAssistantMessage&&A.isLastMessage===e.isLastMessage&&A.sessionId===e.sessionId&&A.compact===e.compact&&A.onNavigateToSession===e.onNavigateToSession}),Nl=D.memo(function({sessionId:e,message:t,nextAssistantMessageId:s}){const[n,r]=D.useState(null),i=t.parts||[],a=be(),{isQueued:g,position:Q}=xl(e,s??""),l=Zi(b=>b.setPendingRestoreText),u=i.filter(b=>b.type==="text"),d=i.filter(b=>b.type==="image"),E=i.filter(b=>b.type==="file"),C=u[0];let p="";if(C){const b=C.contentJson||C.content;b&&typeof b=="object"&&"text"in b?p=String(b.text):typeof b=="string"?p=b:b&&(p=JSON.stringify(b,null,2))}const{researchContexts:f,cleanContent:M}=sf(p),S=[];for(const b of d)try{const K=b.contentJson||JSON.parse(b.content||"{}");if(K&&typeof K=="object"&&"data"in K){const w=K,B=`data:${w.mediaType};base64,${w.data}`;S.push({id:b.id,src:B})}}catch{}const N=[];for(const b of E)try{const K=b.contentJson||JSON.parse(b.content||"{}");if(K&&typeof K=="object"&&"type"in K){const w=K;if(w.type==="image"&&w.data){const B=`data:${w.mediaType};base64,${w.data}`;S.push({id:b.id,src:B})}else N.push({id:b.id,type:w.type,name:w.name})}}catch{}const T=b=>b?new Date(b).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",L=M.trim().length>0,Z=S.length>0,AA=N.length>0,_=f.length>0;if(!L&&!Z&&!AA&&!_)return null;const J=async()=>{if(!(!e||!s)){l(M);try{await wA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(b){console.error("Failed to cancel queued message:",b)}}},P=async()=>{if(!(!e||!s))try{await wA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(b){console.error("Failed to delete queued message:",b)}};return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"relative pb-8 pt-6",children:o.jsxs("div",{className:"flex gap-3 md:gap-4 justify-end",children:[o.jsxs("div",{className:"flex flex-col items-end min-w-0 flex-1 max-w-[calc(100%-3rem)] md:max-w-2xl",children:[o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground pb-2 justify-end",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"You"}),t.createdAt&&o.jsx("span",{children:"·"}),t.createdAt&&o.jsx("span",{children:T(t.createdAt)}),g&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsxs("span",{className:"inline-flex items-center gap-1 text-amber-600 dark:text-amber-400",children:[o.jsx(da,{className:"h-3 w-3"}),"Queued",Q!==null&&Q>0?` #${Q+1}`:""]})]})]}),o.jsxs("div",{className:"inline-block max-w-full text-sm text-foreground leading-relaxed bg-emerald-500/5 border border-emerald-500/20 rounded-xl px-4 py-3 [word-break:break-word] overflow-hidden",children:[Z&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:S.map(b=>o.jsx("button",{type:"button",onClick:()=>r(b.src),className:"w-16 h-16 rounded-lg overflow-hidden bg-muted hover:ring-2 hover:ring-primary/50 transition-all",children:o.jsx("img",{src:b.src,alt:"Attachment",className:"w-full h-full object-cover"})},b.id))}),AA&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:N.map(b=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-muted/50 border border-border",children:[b.type==="pdf"?o.jsx(Zo,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx(Es,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate max-w-[150px]",children:b.name})]},b.id))}),_&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:f.map(b=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30",children:[o.jsx(nr,{className:"w-4 h-4 text-teal-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs text-teal-600 dark:text-teal-400",children:b.label})]},b.id))}),L&&o.jsx("div",{className:"prose prose-invert prose-sm [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_*]:[word-break:break-word] [&_*]:overflow-wrap-anywhere whitespace-pre-wrap",children:o.jsx(hB,{remarkPlugins:[fB],components:{a:({href:b,children:K,...w})=>o.jsx("a",{href:b,target:"_blank",rel:"noopener noreferrer",onClick:B=>{window.self!==window.top&&b&&(B.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:b},"*"))},...w,children:K})},children:M.replace(/\n/g,`
|
|
109
|
+
`)})})]}),g&&o.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[o.jsxs("button",{type:"button",onClick:J,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors",title:"Cancel and restore to input",children:[o.jsx(EB,{className:"h-3 w-3"}),"Cancel"]}),o.jsxs("button",{type:"button",onClick:P,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors",title:"Delete from queue",children:[o.jsx(lr,{className:"h-3 w-3"}),"Delete"]})]})]}),o.jsx("div",{className:"flex-shrink-0 w-8 flex items-start justify-center",children:o.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 border-emerald-500/50 bg-emerald-500/20 dark:bg-emerald-500/10 relative bg-background",children:o.jsx(la,{className:"h-4 w-4 text-emerald-700 dark:text-emerald-300"})})})]})}),n&&o.jsxs("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4",onClick:()=>r(null),onKeyDown:b=>b.key==="Escape"&&r(null),tabIndex:-1,children:[o.jsx("button",{type:"button",onClick:()=>r(null),className:"absolute top-4 right-4 p-2 rounded-full bg-white/10 hover:bg-white/20 transition-colors",children:o.jsx(st,{className:"w-6 h-6 text-white"})}),o.jsx("img",{src:n,alt:"Expanded attachment",className:"max-w-full max-h-full object-contain rounded-lg",onClick:b=>b.stopPropagation(),onKeyDown:b=>b.key==="Enter"&&b.stopPropagation()})]})]})},(A,e)=>{const t=A.message.parts?.[0],s=e.message.parts?.[0];return A.message.id===e.message.id&&t?.content===s?.content&&t?.contentJson===s?.contentJson&&A.message.createdAt===e.message.createdAt&&A.message.parts?.length===e.message.parts?.length&&A.sessionId===e.sessionId&&A.nextAssistantMessageId===e.nextAssistantMessageId}),Kp={openai:{id:"openai",models:[{id:"codex-mini-latest",ownedBy:"openai",label:"Codex Mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-04",releaseDate:"2025-05-16",lastUpdated:"2025-05-16",openWeights:!1,cost:{input:1.5,output:6,cacheRead:.375},limit:{context:2e5,output:1e5}},{id:"gpt-3.5-turbo",ownedBy:"openai",label:"GPT-3.5-turbo",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2021-09-01",releaseDate:"2023-03-01",lastUpdated:"2023-11-06",openWeights:!1,cost:{input:.5,output:1.5,cacheRead:1.25},limit:{context:16385,output:4096}},{id:"gpt-4",ownedBy:"openai",label:"GPT-4",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-11",releaseDate:"2023-11-06",lastUpdated:"2024-04-09",openWeights:!1,cost:{input:30,output:60},limit:{context:8192,output:8192}},{id:"gpt-4-turbo",ownedBy:"openai",label:"GPT-4 Turbo",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2023-11-06",lastUpdated:"2024-04-09",openWeights:!1,cost:{input:10,output:30},limit:{context:128e3,output:4096}},{id:"gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:1047576,output:32768}},{id:"gpt-4.1-mini",ownedBy:"openai",label:"GPT-4.1 mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.4,output:1.6,cacheRead:.1},limit:{context:1047576,output:32768}},{id:"gpt-4.1-nano",ownedBy:"openai",label:"GPT-4.1 nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.03},limit:{context:1047576,output:32768}},{id:"gpt-4o",ownedBy:"openai",label:"GPT-4o",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-08-06",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-2024-05-13",ownedBy:"openai",label:"GPT-4o (2024-05-13)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-05-13",openWeights:!1,cost:{input:5,output:15},limit:{context:128e3,output:4096}},{id:"gpt-4o-2024-08-06",ownedBy:"openai",label:"GPT-4o (2024-08-06)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-08-06",lastUpdated:"2024-08-06",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-2024-11-20",ownedBy:"openai",label:"GPT-4o (2024-11-20)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-11-20",lastUpdated:"2024-11-20",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-mini",ownedBy:"openai",label:"GPT-4o mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-07-18",lastUpdated:"2024-07-18",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.08},limit:{context:128e3,output:16384}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5-chat-latest",ownedBy:"openai",label:"GPT-5 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"gpt-5-codex",ownedBy:"openai",label:"GPT-5-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5-mini",ownedBy:"openai",label:"GPT-5 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3}},{id:"gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.05,output:.4,cacheRead:.005},limit:{context:4e5,output:128e3}},{id:"gpt-5-pro",ownedBy:"openai",label:"GPT-5 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-10-06",lastUpdated:"2025-10-06",openWeights:!1,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.13},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-chat-latest",ownedBy:"openai",label:"GPT-5.1 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:128e3,output:16384}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1 Codex Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1 Codex mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.2-chat-latest",ownedBy:"openai",label:"GPT-5.2 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.2-pro",ownedBy:"openai",label:"GPT-5.2 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-codex-spark",ownedBy:"openai",label:"GPT-5.3 Codex Spark",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:32e3}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180},limit:{context:105e4,output:128e3}},{id:"o1",ownedBy:"openai",label:"o1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2023-09",releaseDate:"2024-12-05",lastUpdated:"2024-12-05",openWeights:!1,cost:{input:15,output:60,cacheRead:7.5},limit:{context:2e5,output:1e5}},{id:"o1-mini",ownedBy:"openai",label:"o1-mini",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2023-09",releaseDate:"2024-09-12",lastUpdated:"2024-09-12",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.55},limit:{context:128e3,output:65536}},{id:"o1-preview",ownedBy:"openai",label:"o1-preview",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-09",releaseDate:"2024-09-12",lastUpdated:"2024-09-12",openWeights:!1,cost:{input:15,output:60,cacheRead:7.5},limit:{context:128e3,output:32768}},{id:"o1-pro",ownedBy:"openai",label:"o1-pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2023-09",releaseDate:"2025-03-19",lastUpdated:"2025-03-19",openWeights:!1,cost:{input:150,output:600},limit:{context:2e5,output:1e5}},{id:"o3",ownedBy:"openai",label:"o3",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:2e5,output:1e5}},{id:"o3-deep-research",ownedBy:"openai",label:"o3-deep-research",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2024-06-26",lastUpdated:"2024-06-26",openWeights:!1,cost:{input:10,output:40,cacheRead:2.5},limit:{context:2e5,output:1e5}},{id:"o3-mini",ownedBy:"openai",label:"o3-mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-05",releaseDate:"2024-12-20",lastUpdated:"2025-01-29",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.55},limit:{context:2e5,output:1e5}},{id:"o3-pro",ownedBy:"openai",label:"o3-pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-06-10",lastUpdated:"2025-06-10",openWeights:!1,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},{id:"o4-mini",ownedBy:"openai",label:"o4-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.28},limit:{context:2e5,output:1e5}},{id:"o4-mini-deep-research",ownedBy:"openai",label:"o4-mini-deep-research",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2024-06-26",lastUpdated:"2024-06-26",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:2e5,output:1e5}},{id:"text-embedding-3-large",ownedBy:"openai",label:"text-embedding-3-large",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2024-01",releaseDate:"2024-01-25",lastUpdated:"2024-01-25",openWeights:!1,cost:{input:.13,output:0},limit:{context:8191,output:3072}},{id:"text-embedding-3-small",ownedBy:"openai",label:"text-embedding-3-small",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2024-01",releaseDate:"2024-01-25",lastUpdated:"2024-01-25",openWeights:!1,cost:{input:.02,output:0},limit:{context:8191,output:1536}},{id:"text-embedding-ada-002",ownedBy:"openai",label:"text-embedding-ada-002",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2022-12",releaseDate:"2022-12-15",lastUpdated:"2022-12-15",openWeights:!1,cost:{input:.1,output:0},limit:{context:8192,output:1536}}],label:"OpenAI",env:["OPENAI_API_KEY"],npm:"@ai-sdk/openai",doc:"https://platform.openai.com/docs/models"},anthropic:{id:"anthropic",models:[{id:"claude-3-5-haiku-20241022",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"claude-3-5-haiku-latest",ownedBy:"anthropic",label:"Claude Haiku 3.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"claude-3-5-sonnet-20240620",ownedBy:"anthropic",label:"Claude Sonnet 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04-30",releaseDate:"2024-06-20",lastUpdated:"2024-06-20",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:8192}},{id:"claude-3-5-sonnet-20241022",ownedBy:"anthropic",label:"Claude Sonnet 3.5 v2",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04-30",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:8192}},{id:"claude-3-7-sonnet-20250219",ownedBy:"anthropic",label:"Claude Sonnet 3.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-31",releaseDate:"2025-02-19",lastUpdated:"2025-02-19",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-3-7-sonnet-latest",ownedBy:"anthropic",label:"Claude Sonnet 3.7 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-31",releaseDate:"2025-02-19",lastUpdated:"2025-02-19",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-3-haiku-20240307",ownedBy:"anthropic",label:"Claude Haiku 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-03-13",lastUpdated:"2024-03-13",openWeights:!1,cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},limit:{context:2e5,output:4096}},{id:"claude-3-opus-20240229",ownedBy:"anthropic",label:"Claude Opus 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-02-29",lastUpdated:"2024-02-29",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:4096}},{id:"claude-3-sonnet-20240229",ownedBy:"anthropic",label:"Claude Sonnet 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-03-04",lastUpdated:"2024-03-04",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:.3},limit:{context:2e5,output:4096}},{id:"claude-haiku-4-5",ownedBy:"anthropic",label:"Claude Haiku 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"claude-haiku-4-5-20251001",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-0",ownedBy:"anthropic",label:"Claude Opus 4 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-1",ownedBy:"anthropic",label:"Claude Opus 4.1 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-1-20250805",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-20250514",ownedBy:"anthropic",label:"Claude Opus 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-5",ownedBy:"anthropic",label:"Claude Opus 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-5-20251101",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-01",lastUpdated:"2025-11-01",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05",releaseDate:"2026-02-05",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"claude-sonnet-4-0",ownedBy:"anthropic",label:"Claude Sonnet 4 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-20250514",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-5",ownedBy:"anthropic",label:"Claude Sonnet 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-5-20250929",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08",releaseDate:"2026-02-17",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3}}],label:"Anthropic",env:["ANTHROPIC_API_KEY"],npm:"@ai-sdk/anthropic",doc:"https://docs.anthropic.com/en/docs/about-claude/models"},google:{id:"google",models:[{id:"gemini-1.5-flash",ownedBy:"google",label:"Gemini 1.5 Flash",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-05-14",lastUpdated:"2024-05-14",openWeights:!1,cost:{input:.075,output:.3,cacheRead:.01875},limit:{context:1e6,output:8192}},{id:"gemini-1.5-flash-8b",ownedBy:"google",label:"Gemini 1.5 Flash-8B",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-10-03",lastUpdated:"2024-10-03",openWeights:!1,cost:{input:.0375,output:.15,cacheRead:.01},limit:{context:1e6,output:8192}},{id:"gemini-1.5-pro",ownedBy:"google",label:"Gemini 1.5 Pro",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-02-15",lastUpdated:"2024-02-15",openWeights:!1,cost:{input:1.25,output:5,cacheRead:.3125},limit:{context:1e6,output:8192}},{id:"gemini-2.0-flash",ownedBy:"google",label:"Gemini 2.0 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:8192}},{id:"gemini-2.0-flash-lite",ownedBy:"google",label:"Gemini 2.0 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.075,output:.3},limit:{context:1048576,output:8192}},{id:"gemini-2.5-flash",ownedBy:"google",label:"Gemini 2.5 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.075},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-image",ownedBy:"google",label:"Gemini 2.5 Flash Image",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.3,output:30,cacheRead:.075},limit:{context:32768,output:32768}},{id:"gemini-2.5-flash-image-preview",ownedBy:"google",label:"Gemini 2.5 Flash Image (Preview)",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.3,output:30,cacheRead:.075},limit:{context:32768,output:32768}},{id:"gemini-2.5-flash-lite",ownedBy:"google",label:"Gemini 2.5 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-lite-preview-06-17",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-lite-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-04-17",ownedBy:"google",label:"Gemini 2.5 Flash Preview 04-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-04-17",lastUpdated:"2025-04-17",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-05-20",ownedBy:"google",label:"Gemini 2.5 Flash Preview 05-20",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.075},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-tts",ownedBy:"google",label:"Gemini 2.5 Flash Preview TTS",modalities:{input:["text"],output:["audio"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-05-01",lastUpdated:"2025-05-01",openWeights:!1,cost:{input:.5,output:10},limit:{context:8e3,output:16e3}},{id:"gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-05-06",ownedBy:"google",label:"Gemini 2.5 Pro Preview 05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-06",lastUpdated:"2025-05-06",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-06-05",ownedBy:"google",label:"Gemini 2.5 Pro Preview 06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-05",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-tts",ownedBy:"google",label:"Gemini 2.5 Pro Preview TTS",modalities:{input:["text"],output:["audio"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-05-01",lastUpdated:"2025-05-01",openWeights:!1,cost:{input:1,output:20},limit:{context:8e3,output:16e3}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536}},{id:"gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1e6,output:64e3}},{id:"gemini-3.1-flash-image-preview",ownedBy:"google",label:"Gemini 3.1 Flash Image (Preview)",modalities:{input:["text","image","pdf"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-26",lastUpdated:"2026-02-26",openWeights:!1,cost:{input:.25,output:60},limit:{context:131072,output:32768}},{id:"gemini-3.1-flash-lite-preview",ownedBy:"google",label:"Gemini 3.1 Flash Lite Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:1},limit:{context:1048576,output:65536}},{id:"gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"gemini-3.1-pro-preview-customtools",ownedBy:"google",label:"Gemini 3.1 Pro Preview Custom Tools",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"gemini-embedding-001",ownedBy:"google",label:"Gemini Embedding 001",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-05",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!1,cost:{input:.15,output:0},limit:{context:2048,output:3072}},{id:"gemini-flash-latest",ownedBy:"google",label:"Gemini Flash Latest",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.075},limit:{context:1048576,output:65536}},{id:"gemini-flash-lite-latest",ownedBy:"google",label:"Gemini Flash-Lite Latest",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-live-2.5-flash",ownedBy:"google",label:"Gemini Live 2.5 Flash",modalities:{input:["text","image","audio","video"],output:["text","audio"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-01",lastUpdated:"2025-09-01",openWeights:!1,cost:{input:.5,output:2},limit:{context:128e3,output:8e3}},{id:"gemini-live-2.5-flash-preview-native-audio",ownedBy:"google",label:"Gemini Live 2.5 Flash Preview Native Audio",modalities:{input:["text","audio","video"],output:["text","audio"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-09-18",openWeights:!1,cost:{input:.5,output:2},limit:{context:131072,output:65536}}],label:"Google",env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],npm:"@ai-sdk/google",doc:"https://ai.google.dev/gemini-api/docs/pricing"},openrouter:{id:"openrouter",models:[{id:"allenai/molmo-2-8b:free",label:"Molmo2 8B (free)",modalities:{input:["text","image","video"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-09",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:36864,output:36864}},{id:"anthropic/claude-3.5-haiku",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"anthropic/claude-3.7-sonnet",ownedBy:"anthropic",label:"Claude Sonnet 3.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-01",releaseDate:"2025-02-19",lastUpdated:"2025-02-19",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:128e3}},{id:"anthropic/claude-haiku-4.5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"anthropic/claude-opus-4",ownedBy:"anthropic",label:"Claude Opus 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.1",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-30",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-30",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"anthropic/claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"anthropic/claude-sonnet-4.5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3}},{id:"anthropic/claude-sonnet-4.6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:128e3}},{id:"arcee-ai/trinity-large-preview:free",label:"Trinity Large Preview",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-28",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"arcee-ai/trinity-mini:free",label:"Trinity Mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-28",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"black-forest-labs/flux.2-flex",label:"FLUX.2 Flex",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-11-25",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:67344,output:67344}},{id:"black-forest-labs/flux.2-klein-4b",label:"FLUX.2 Klein 4B",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-14",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"black-forest-labs/flux.2-max",label:"FLUX.2 Max",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-16",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:46864,output:46864}},{id:"black-forest-labs/flux.2-pro",label:"FLUX.2 Pro",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-11-25",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:46864,output:46864}},{id:"bytedance-seed/seedream-4.5",label:"Seedream 4.5",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-23",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:4096,output:4096}},{id:"cognitivecomputations/dolphin-mistral-24b-venice-edition:free",label:"Uncensored (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-07-09",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"cognitivecomputations/dolphin3.0-mistral-24b",label:"Dolphin3.0 Mistral 24B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-02-13",lastUpdated:"2025-02-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"cognitivecomputations/dolphin3.0-r1-mistral-24b",label:"Dolphin3.0 R1 Mistral 24B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-02-13",lastUpdated:"2025-02-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"deepseek/deepseek-chat-v3-0324",label:"DeepSeek V3 0324",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-24",lastUpdated:"2025-03-24",openWeights:!0,cost:{input:0,output:0},limit:{context:16384,output:8192}},{id:"deepseek/deepseek-chat-v3.1",label:"DeepSeek-V3.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-08-21",lastUpdated:"2025-08-21",openWeights:!0,cost:{input:.2,output:.8},limit:{context:163840,output:163840}},{id:"deepseek/deepseek-r1-0528-qwen3-8b:free",label:"Deepseek R1 0528 Qwen3 8B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-29",lastUpdated:"2025-05-29",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"deepseek/deepseek-r1-0528:free",label:"R1 0528 (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-28",lastUpdated:"2025-05-28",openWeights:!0,cost:{input:0,output:0},limit:{context:163840,output:163840}},{id:"deepseek/deepseek-r1-distill-llama-70b",label:"DeepSeek R1 Distill Llama 70B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-01-23",lastUpdated:"2025-01-23",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"deepseek/deepseek-r1-distill-qwen-14b",label:"DeepSeek R1 Distill Qwen 14B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-01-29",lastUpdated:"2025-01-29",openWeights:!0,cost:{input:0,output:0},limit:{context:64e3,output:8192}},{id:"deepseek/deepseek-r1:free",label:"R1 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-01-20",lastUpdated:"2025-01-20",openWeights:!0,cost:{input:0,output:0},limit:{context:163840,output:163840}},{id:"deepseek/deepseek-v3-base:free",label:"DeepSeek V3 Base (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-03",releaseDate:"2025-03-29",lastUpdated:"2025-03-29",openWeights:!0,cost:{input:0,output:0},limit:{context:163840,output:163840}},{id:"deepseek/deepseek-v3.1-terminus",label:"DeepSeek V3.1 Terminus",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-09-22",lastUpdated:"2025-09-22",openWeights:!0,cost:{input:.27,output:1},limit:{context:131072,output:65536}},{id:"deepseek/deepseek-v3.1-terminus:exacto",label:"DeepSeek V3.1 Terminus (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-09-22",lastUpdated:"2025-09-22",openWeights:!0,cost:{input:.27,output:1},limit:{context:131072,output:65536}},{id:"deepseek/deepseek-v3.2",label:"DeepSeek V3.2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-12-01",lastUpdated:"2025-12-01",openWeights:!0,cost:{input:.28,output:.4},limit:{context:163840,output:65536}},{id:"deepseek/deepseek-v3.2-speciale",label:"DeepSeek V3.2 Speciale",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-12-01",lastUpdated:"2025-12-01",openWeights:!0,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},{id:"featherless/qwerky-72b",label:"Qwerky 72B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-20",lastUpdated:"2025-03-20",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"google/gemini-2.0-flash-001",ownedBy:"google",label:"Gemini 2.0 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:8192}},{id:"google/gemini-2.0-flash-exp:free",ownedBy:"google",label:"Gemini 2.0 Flash Experimental (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-12",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:0,output:0},limit:{context:1048576,output:1048576}},{id:"google/gemini-2.5-flash",ownedBy:"google",label:"Gemini 2.5 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-07-17",lastUpdated:"2025-07-17",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-lite",ownedBy:"google",label:"Gemini 2.5 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-lite-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.031},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro-preview-05-06",ownedBy:"google",label:"Gemini 2.5 Pro Preview 05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-06",lastUpdated:"2025-05-06",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro-preview-06-05",ownedBy:"google",label:"Gemini 2.5 Pro Preview 06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-05",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"google/gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536}},{id:"google/gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11",openWeights:!1,cost:{input:2,output:12},limit:{context:105e4,output:66e3}},{id:"google/gemini-3.1-flash-lite-preview",ownedBy:"google",label:"Gemini 3.1 Flash Lite Preview",modalities:{input:["text","image","video","pdf","audio"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:.083},limit:{context:1048576,output:65536}},{id:"google/gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12},limit:{context:1048576,output:65536}},{id:"google/gemini-3.1-pro-preview-customtools",ownedBy:"google",label:"Gemini 3.1 Pro Preview Custom Tools",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12},limit:{context:1048576,output:65536}},{id:"google/gemma-2-9b-it",ownedBy:"google",label:"Gemma 2 9B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-06",releaseDate:"2024-06-28",lastUpdated:"2024-06-28",openWeights:!0,cost:{input:.03,output:.09},limit:{context:8192,output:8192}},{id:"google/gemma-3-12b-it",ownedBy:"google",label:"Gemma 3 12B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:.03,output:.1},limit:{context:131072,output:131072}},{id:"google/gemma-3-12b-it:free",ownedBy:"google",label:"Gemma 3 12B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"google/gemma-3-27b-it",ownedBy:"google",label:"Gemma 3 27B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:.04,output:.15},limit:{context:96e3,output:96e3}},{id:"google/gemma-3-27b-it:free",ownedBy:"google",label:"Gemma 3 27B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"google/gemma-3-4b-it",ownedBy:"google",label:"Gemma 3 4B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:.01703,output:.06815},limit:{context:96e3,output:96e3}},{id:"google/gemma-3-4b-it:free",ownedBy:"google",label:"Gemma 3 4B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"google/gemma-3n-e2b-it:free",ownedBy:"google",label:"Gemma 3n 2B (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"google/gemma-3n-e4b-it",ownedBy:"google",label:"Gemma 3n 4B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:.02,output:.04},limit:{context:32768,output:32768}},{id:"google/gemma-3n-e4b-it:free",ownedBy:"google",label:"Gemma 3n 4B (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"inception/mercury",label:"Mercury",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,releaseDate:"2025-06-26",lastUpdated:"2025-06-26",openWeights:!1,cost:{input:.25,output:.75,cacheRead:.025},limit:{context:128e3,output:32e3}},{id:"inception/mercury-2",label:"Mercury 2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-04",lastUpdated:"2026-03-04",openWeights:!1,cost:{input:.25,output:.75,cacheRead:.025},limit:{context:128e3,output:5e4}},{id:"inception/mercury-coder",label:"Mercury Coder",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,releaseDate:"2025-04-30",lastUpdated:"2025-04-30",openWeights:!1,cost:{input:.25,output:.75,cacheRead:.025},limit:{context:128e3,output:32e3}},{id:"kwaipilot/kat-coder-pro:free",label:"Kat Coder Pro (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-11",releaseDate:"2025-11-10",lastUpdated:"2025-11-10",openWeights:!1,cost:{input:0,output:0},limit:{context:256e3,output:65536}},{id:"liquid/lfm-2.5-1.2b-instruct:free",label:"LFM2.5-1.2B-Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-20",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"liquid/lfm-2.5-1.2b-thinking:free",label:"LFM2.5-1.2B-Thinking (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-20",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"meta-llama/llama-3.1-405b-instruct:free",label:"Llama 3.1 405B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-08",releaseDate:"2024-07-23",lastUpdated:"2025-04-05",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"meta-llama/llama-3.2-11b-vision-instruct",label:"Llama 3.2 11B Vision Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2024-09-25",lastUpdated:"2024-09-25",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"meta-llama/llama-3.2-3b-instruct:free",label:"Llama 3.2 3B Instruct (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2024-09-25",lastUpdated:"2024-09-25",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"meta-llama/llama-3.3-70b-instruct:free",label:"Llama 3.3 70B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2024-12-06",lastUpdated:"2024-12-06",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"meta-llama/llama-4-scout:free",label:"Llama 4 Scout (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-08",releaseDate:"2025-04-05",lastUpdated:"2025-04-05",openWeights:!0,cost:{input:0,output:0},limit:{context:64e3,output:64e3}},{id:"microsoft/mai-ds-r1:free",label:"MAI DS R1 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-21",lastUpdated:"2025-04-21",openWeights:!0,cost:{input:0,output:0},limit:{context:163840,output:163840}},{id:"minimax/minimax-01",ownedBy:"minimax",label:"MiniMax-01",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2025-01-15",lastUpdated:"2025-01-15",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:1e6,output:1e6}},{id:"minimax/minimax-m1",ownedBy:"minimax",label:"MiniMax M1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!0,cost:{input:.4,output:2.2},limit:{context:1e6,output:4e4}},{id:"minimax/minimax-m2",ownedBy:"minimax",label:"MiniMax M2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-23",lastUpdated:"2025-10-23",openWeights:!0,cost:{input:.28,output:1.15,cacheRead:.28,cacheWrite:1.15},limit:{context:196600,output:118e3}},{id:"minimax/minimax-m2.1",ownedBy:"minimax",label:"MiniMax M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.5",ownedBy:"minimax",label:"MiniMax M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.03},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.7",ownedBy:"minimax",label:"MiniMax M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"mistralai/codestral-2508",label:"Codestral 2508",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-08-01",lastUpdated:"2025-08-01",openWeights:!0,cost:{input:.3,output:.9},limit:{context:256e3,output:256e3}},{id:"mistralai/devstral-2512",label:"Devstral 2 2512",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-12",releaseDate:"2025-09-12",lastUpdated:"2025-09-12",openWeights:!0,cost:{input:.15,output:.6},limit:{context:262144,output:262144}},{id:"mistralai/devstral-2512:free",label:"Devstral 2 2512 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-12",releaseDate:"2025-09-12",lastUpdated:"2025-09-12",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:262144}},{id:"mistralai/devstral-medium-2507",label:"Devstral Medium",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-07-10",lastUpdated:"2025-07-10",openWeights:!0,cost:{input:.4,output:2},limit:{context:131072,output:131072}},{id:"mistralai/devstral-small-2505",label:"Devstral Small",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-07",lastUpdated:"2025-05-07",openWeights:!0,cost:{input:.06,output:.12},limit:{context:128e3,output:128e3}},{id:"mistralai/devstral-small-2505:free",label:"Devstral Small 2505 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-21",lastUpdated:"2025-05-21",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"mistralai/devstral-small-2507",label:"Devstral Small 1.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-07-10",lastUpdated:"2025-07-10",openWeights:!0,cost:{input:.1,output:.3},limit:{context:131072,output:131072}},{id:"mistralai/mistral-7b-instruct:free",label:"Mistral 7B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-05",releaseDate:"2024-05-27",lastUpdated:"2024-05-27",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"mistralai/mistral-medium-3",label:"Mistral Medium 3",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-07",lastUpdated:"2025-05-07",openWeights:!1,cost:{input:.4,output:2},limit:{context:131072,output:131072}},{id:"mistralai/mistral-medium-3.1",label:"Mistral Medium 3.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-05",releaseDate:"2025-08-12",lastUpdated:"2025-08-12",openWeights:!1,cost:{input:.4,output:2},limit:{context:262144,output:262144}},{id:"mistralai/mistral-nemo:free",label:"Mistral Nemo (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2024-07-19",lastUpdated:"2024-07-19",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"mistralai/mistral-small-3.1-24b-instruct",label:"Mistral Small 3.1 24B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-17",lastUpdated:"2025-03-17",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:8192}},{id:"mistralai/mistral-small-3.2-24b-instruct",label:"Mistral Small 3.2 24B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-06-20",lastUpdated:"2025-06-20",openWeights:!0,cost:{input:0,output:0},limit:{context:96e3,output:8192}},{id:"mistralai/mistral-small-3.2-24b-instruct:free",label:"Mistral Small 3.2 24B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2025-06-20",lastUpdated:"2025-06-20",openWeights:!0,cost:{input:0,output:0},limit:{context:96e3,output:96e3}},{id:"moonshotai/kimi-dev-72b:free",ownedBy:"moonshot",label:"Kimi Dev 72b (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-06-16",lastUpdated:"2025-06-16",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"moonshotai/kimi-k2",ownedBy:"moonshot",label:"Kimi K2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-11",lastUpdated:"2025-07-11",openWeights:!0,cost:{input:.55,output:2.2},limit:{context:131072,output:32768}},{id:"moonshotai/kimi-k2-0905",ownedBy:"moonshot",label:"Kimi K2 Instruct 0905",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},{id:"moonshotai/kimi-k2-0905:exacto",ownedBy:"moonshot",label:"Kimi K2 Instruct 0905 (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},{id:"moonshotai/kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"moonshotai/kimi-k2:free",ownedBy:"moonshot",label:"Kimi K2 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-11",lastUpdated:"2025-07-11",openWeights:!0,cost:{input:0,output:0},limit:{context:32800,output:32800}},{id:"moonshotai/kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:.6,output:3,cacheRead:.1},limit:{context:262144,output:262144}},{id:"nousresearch/deephermes-3-llama-3-8b-preview",label:"DeepHermes 3 Llama 3 8B Preview",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-04",releaseDate:"2025-02-28",lastUpdated:"2025-02-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"nousresearch/hermes-3-llama-3.1-405b:free",label:"Hermes 3 405B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2024-08-16",lastUpdated:"2024-08-16",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"nousresearch/hermes-4-405b",label:"Hermes 4 405B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2025-08-25",lastUpdated:"2025-08-25",openWeights:!0,cost:{input:1,output:3},limit:{context:131072,output:131072}},{id:"nousresearch/hermes-4-70b",label:"Hermes 4 70B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2025-08-25",lastUpdated:"2025-08-25",openWeights:!0,cost:{input:.13,output:.4},limit:{context:131072,output:131072}},{id:"nvidia/nemotron-3-nano-30b-a3b:free",label:"Nemotron 3 Nano 30B A3B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-11",releaseDate:"2025-12-14",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},{id:"nvidia/nemotron-nano-12b-v2-vl:free",label:"Nemotron Nano 12B 2 VL (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-11",releaseDate:"2025-10-28",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"nvidia/nemotron-nano-9b-v2",label:"nvidia-nemotron-nano-9b-v2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-09",releaseDate:"2025-08-18",lastUpdated:"2025-08-18",openWeights:!0,cost:{input:.04,output:.16},limit:{context:131072,output:131072}},{id:"nvidia/nemotron-nano-9b-v2:free",label:"Nemotron Nano 9B V2 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-09",releaseDate:"2025-09-05",lastUpdated:"2025-08-18",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"openai/gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:1047576,output:32768}},{id:"openai/gpt-4.1-mini",ownedBy:"openai",label:"GPT-4.1 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.4,output:1.6,cacheRead:.1},limit:{context:1047576,output:32768}},{id:"openai/gpt-4o-mini",ownedBy:"openai",label:"GPT-4o-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2024-07-18",lastUpdated:"2024-07-18",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.08},limit:{context:128e3,output:16384}},{id:"openai/gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-chat",ownedBy:"openai",label:"GPT-5 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-codex",ownedBy:"openai",label:"GPT-5 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-image",ownedBy:"openai",label:"GPT-5 Image",modalities:{input:["text","image","pdf"],output:["text","image"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-10-14",lastUpdated:"2025-10-14",openWeights:!1,cost:{input:5,output:10,cacheRead:1.25},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-mini",ownedBy:"openai",label:"GPT-5 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.25,output:2},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.05,output:.4},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-pro",ownedBy:"openai",label:"GPT-5 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-10-06",lastUpdated:"2025-10-06",openWeights:!1,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},{id:"openai/gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-chat",ownedBy:"openai",label:"GPT-5.1 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:128e3,output:16384}},{id:"openai/gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1-Codex-Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.1,output:9,cacheRead:.11},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1-Codex-Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:1e5}},{id:"openai/gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.2-chat",ownedBy:"openai",label:"GPT-5.2 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"openai/gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-01-14",lastUpdated:"2026-01-14",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.2-pro",ownedBy:"openai",label:"GPT-5.2 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3-Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3}},{id:"openai/gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:75e-8,output:45e-7,cacheRead:75e-9},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 Nano",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:2e-7,output:125e-8,cacheRead:2e-8},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180,cacheRead:30},limit:{context:105e4,output:128e3}},{id:"openai/gpt-oss-120b",ownedBy:"openai",label:"GPT OSS 120B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.072,output:.28},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-120b:exacto",ownedBy:"openai",label:"GPT OSS 120B (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.05,output:.24},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-120b:free",ownedBy:"openai",label:"gpt-oss-120b (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-20b",ownedBy:"openai",label:"GPT OSS 20B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.05,output:.2},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-20b:free",ownedBy:"openai",label:"gpt-oss-20b (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-safeguard-20b",ownedBy:"openai",label:"GPT OSS Safeguard 20B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-29",lastUpdated:"2025-10-29",openWeights:!1,cost:{input:.075,output:.3},limit:{context:131072,output:65536}},{id:"openai/o4-mini",ownedBy:"openai",label:"o4 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.28},limit:{context:2e5,output:1e5}},{id:"openrouter/aurora-alpha",label:"Aurora Alpha",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-09",lastUpdated:"2026-02-09",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:5e4}},{id:"openrouter/free",label:"Free Models Router",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-02-01",lastUpdated:"2026-02-01",openWeights:!1,cost:{input:0,output:0},limit:{context:2e5,output:8e3}},{id:"openrouter/healer-alpha",label:"Healer Alpha",modalities:{input:["text","image","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2026-03-11",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!1,cost:{input:0,output:0},limit:{context:262144,output:64e3}},{id:"openrouter/hunter-alpha",label:"Hunter Alpha",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2026-03-11",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!1,cost:{input:0,output:0},limit:{context:1048576,output:64e3}},{id:"openrouter/sherlock-dash-alpha",label:"Sherlock Dash Alpha",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-11",releaseDate:"2025-11-15",lastUpdated:"2025-12-14",openWeights:!1,cost:{input:0,output:0},limit:{context:184e4,output:0}},{id:"openrouter/sherlock-think-alpha",label:"Sherlock Think Alpha",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-11",releaseDate:"2025-11-15",lastUpdated:"2025-12-14",openWeights:!1,cost:{input:0,output:0},limit:{context:184e4,output:0}},{id:"prime-intellect/intellect-3",ownedBy:"zai",label:"Intellect 3",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-01-15",lastUpdated:"2025-01-15",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:131072,output:8192}},{id:"qwen/qwen-2.5-coder-32b-instruct",label:"Qwen2.5 Coder 32B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2024-11-11",lastUpdated:"2024-11-11",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"qwen/qwen-2.5-vl-7b-instruct:free",label:"Qwen2.5-VL 7B Instruct (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-02",releaseDate:"2024-08-28",lastUpdated:"2024-08-28",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"qwen/qwen2.5-vl-32b-instruct:free",label:"Qwen2.5 VL 32B Instruct (free)",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-03",releaseDate:"2025-03-24",lastUpdated:"2025-03-24",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"qwen/qwen2.5-vl-72b-instruct",label:"Qwen2.5 VL 72B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-02-01",lastUpdated:"2025-02-01",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"qwen/qwen2.5-vl-72b-instruct:free",label:"Qwen2.5 VL 72B Instruct (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-02",releaseDate:"2025-02-01",lastUpdated:"2025-02-01",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"qwen/qwen3-14b:free",label:"Qwen3 14B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-04-28",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"qwen/qwen3-235b-a22b-07-25",label:"Qwen3 235B A22B Instruct 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-07-21",openWeights:!0,cost:{input:.15,output:.85},limit:{context:262144,output:131072}},{id:"qwen/qwen3-235b-a22b-07-25:free",label:"Qwen3 235B A22B Instruct 2507 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-07-21",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:131072}},{id:"qwen/qwen3-235b-a22b-thinking-2507",label:"Qwen3 235B A22B Thinking 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-25",lastUpdated:"2025-07-25",openWeights:!0,cost:{input:.078,output:.312},limit:{context:262144,output:81920}},{id:"qwen/qwen3-235b-a22b:free",label:"Qwen3 235B A22B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-04-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"qwen/qwen3-30b-a3b-instruct-2507",label:"Qwen3 30B A3B Instruct 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-29",lastUpdated:"2025-07-29",openWeights:!0,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},{id:"qwen/qwen3-30b-a3b-thinking-2507",label:"Qwen3 30B A3B Thinking 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-29",lastUpdated:"2025-07-29",openWeights:!0,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},{id:"qwen/qwen3-30b-a3b:free",label:"Qwen3 30B A3B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-04-28",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"qwen/qwen3-32b:free",label:"Qwen3 32B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-04-28",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"qwen/qwen3-4b:free",label:"Qwen3 4B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-30",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"qwen/qwen3-8b:free",label:"Qwen3 8B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-04-28",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"qwen/qwen3-coder",label:"Qwen3 Coder",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:262144,output:66536}},{id:"qwen/qwen3-coder-30b-a3b-instruct",label:"Qwen3 Coder 30B A3B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-31",lastUpdated:"2025-07-31",openWeights:!0,cost:{input:.07,output:.27},limit:{context:16e4,output:65536}},{id:"qwen/qwen3-coder-flash",label:"Qwen3 Coder Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!1,cost:{input:.3,output:1.5},limit:{context:128e3,output:66536}},{id:"qwen/qwen3-coder:exacto",label:"Qwen3 Coder (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.38,output:1.53},limit:{context:131072,output:32768}},{id:"qwen/qwen3-coder:free",label:"Qwen3 Coder 480B A35B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:66536}},{id:"qwen/qwen3-max",label:"Qwen3 Max",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!1,cost:{input:1.2,output:6},limit:{context:262144,output:32768}},{id:"qwen/qwen3-next-80b-a3b-instruct",label:"Qwen3 Next 80B A3B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-11",lastUpdated:"2025-09-11",openWeights:!0,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},{id:"qwen/qwen3-next-80b-a3b-instruct:free",label:"Qwen3 Next 80B A3B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-11",lastUpdated:"2025-09-11",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:262144}},{id:"qwen/qwen3-next-80b-a3b-thinking",label:"Qwen3 Next 80B A3B Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-11",lastUpdated:"2025-09-11",openWeights:!0,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},{id:"qwen/qwen3.5-397b-a17b",label:"Qwen3.5 397B A17B",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!0,cost:{input:.6,output:3.6},limit:{context:262144,output:65536}},{id:"qwen/qwen3.5-plus-02-15",label:"Qwen3.5 Plus 2026-02-15",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!1,cost:{input:.4,output:2.4},limit:{context:1e6,output:65536}},{id:"qwen/qwq-32b:free",label:"QwQ 32B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-03",releaseDate:"2025-03-05",lastUpdated:"2025-03-05",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"rekaai/reka-flash-3",label:"Reka Flash 3",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"sarvamai/sarvam-m:free",label:"Sarvam-M (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-25",lastUpdated:"2025-05-25",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"sourceful/riverflow-v2-fast-preview",label:"Riverflow V2 Fast Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"sourceful/riverflow-v2-max-preview",label:"Riverflow V2 Max Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"sourceful/riverflow-v2-standard-preview",label:"Riverflow V2 Standard Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"stepfun/step-3.5-flash",label:"Step 3.5 Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-01-29",lastUpdated:"2026-01-29",openWeights:!0,cost:{input:.1,output:.3,cacheRead:.02},limit:{context:256e3,output:256e3}},{id:"stepfun/step-3.5-flash:free",label:"Step 3.5 Flash (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-01-29",lastUpdated:"2026-01-29",openWeights:!0,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},{id:"thudm/glm-z1-32b:free",ownedBy:"zai",label:"GLM Z1 32B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-17",lastUpdated:"2025-04-17",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"tngtech/deepseek-r1t2-chimera:free",label:"DeepSeek R1T2 Chimera (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-07-08",lastUpdated:"2025-07-08",openWeights:!0,cost:{input:0,output:0},limit:{context:163840,output:163840}},{id:"tngtech/tng-r1t-chimera:free",label:"R1T Chimera (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-11-26",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:163840,output:163840}},{id:"x-ai/grok-3",ownedBy:"xai",label:"Grok 3",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-beta",ownedBy:"xai",label:"Grok 3 Beta",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-mini",ownedBy:"xai",label:"Grok 3 Mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:.3,output:.5,cacheRead:.075,cacheWrite:.5},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-mini-beta",ownedBy:"xai",label:"Grok 3 Mini Beta",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:.3,output:.5,cacheRead:.075,cacheWrite:.5},limit:{context:131072,output:8192}},{id:"x-ai/grok-4",ownedBy:"xai",label:"Grok 4",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:256e3,output:64e3}},{id:"x-ai/grok-4-fast",ownedBy:"xai",label:"Grok 4 Fast",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-08-19",lastUpdated:"2025-08-19",openWeights:!1,cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:.05},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.1-fast",ownedBy:"xai",label:"Grok 4.1 Fast",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-11-19",lastUpdated:"2025-11-19",openWeights:!1,cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:.05},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.20-beta",ownedBy:"xai",label:"Grok 4.20 Beta",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-12",lastUpdated:"2026-03-12",openWeights:!1,cost:{input:2,output:6,cacheRead:.2},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.20-multi-agent-beta",ownedBy:"xai",label:"Grok 4.20 Multi - Agent Beta",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-12",lastUpdated:"2026-03-12",openWeights:!1,cost:{input:2,output:6,cacheRead:.2},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-code-fast-1",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-08",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.2,output:1.5,cacheRead:.02},limit:{context:256e3,output:1e4}},{id:"xiaomi/mimo-v2-flash",label:"MiMo-V2-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2025-12-14",lastUpdated:"2025-12-14",openWeights:!0,cost:{input:.1,output:.3,cacheRead:.01},limit:{context:262144,output:65536}},{id:"xiaomi/mimo-v2-omni",label:"MiMo-V2-Omni",modalities:{input:["text","image","video","audio"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.4,output:2},limit:{context:262144,output:65536}},{id:"xiaomi/mimo-v2-pro",label:"MiMo-V2-Pro",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:1,output:3},limit:{context:1048576,output:65536}},{id:"z-ai/glm-4.5",ownedBy:"zai",label:"GLM 4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.6,output:2.2},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5-air",ownedBy:"zai",label:"GLM 4.5 Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5-air:free",ownedBy:"zai",label:"GLM 4.5 Air (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5v",ownedBy:"zai",label:"GLM 4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},{id:"z-ai/glm-4.6",ownedBy:"zai",label:"GLM 4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-09",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11},limit:{context:2e5,output:128e3}},{id:"z-ai/glm-4.6:exacto",ownedBy:"zai",label:"GLM 4.6 (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-09",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:1.9,cacheRead:.11},limit:{context:2e5,output:128e3}},{id:"z-ai/glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11},limit:{context:204800,output:131072}},{id:"z-ai/glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4},limit:{context:2e5,output:65535}},{id:"z-ai/glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2},limit:{context:202752,output:131e3}}],label:"OpenRouter",env:["OPENROUTER_API_KEY"],npm:"@openrouter/ai-sdk-provider",api:"https://openrouter.ai/api/v1",doc:"https://openrouter.ai/models"},opencode:{id:"opencode",models:[{id:"big-pickle",label:"Big Pickle",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-10-17",lastUpdated:"2025-10-17",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-3-5-haiku",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-haiku-4-5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-1",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4-5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4-6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"gemini-3-flash",ownedBy:"google",label:"Gemini 3 Flash",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"gemini-3-pro",ownedBy:"google",label:"Gemini 3 Pro",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"gemini-3.1-pro",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"glm-4.7-free",ownedBy:"zai",label:"GLM-4.7 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2},limit:{context:204800,output:131072}},{id:"glm-5-free",ownedBy:"zai",label:"GLM-5 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5-codex",ownedBy:"openai",label:"GPT-5 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:0,output:0,cacheRead:0},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1 Codex Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1 Codex Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-01-14",lastUpdated:"2026-01-14",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.3-codex-spark",ownedBy:"openai",label:"GPT-5.3 Codex Spark",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 Nano",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180,cacheRead:30},limit:{context:105e4,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"grok-code",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2025-08-20",lastUpdated:"2025-08-20",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:256e3,output:256e3}},{id:"kimi-k2",ownedBy:"moonshot",label:"Kimi K2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.4,output:2.5,cacheRead:.4},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.4,output:2.5,cacheRead:.4},limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:.6,output:3,cacheRead:.08},limit:{context:262144,output:65536}},{id:"kimi-k2.5-free",ownedBy:"moonshot",label:"Kimi K2.5 Free",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:262144}},{id:"mimo-v2-flash-free",label:"MiMo V2 Flash Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2025-12-16",lastUpdated:"2025-12-16",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:65536}},{id:"mimo-v2-omni-free",label:"MiMo V2 Omni Free",modalities:{input:["text","image","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:64e3}},{id:"mimo-v2-pro-free",label:"MiMo V2 Pro Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:1048576,output:64e3}},{id:"minimax-m2.1",ownedBy:"minimax",label:"MiniMax M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"minimax-m2.1-free",ownedBy:"minimax",label:"MiniMax M2.1 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/anthropic"}},{id:"minimax-m2.5",ownedBy:"minimax",label:"MiniMax M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06},limit:{context:204800,output:131072}},{id:"minimax-m2.5-free",ownedBy:"minimax",label:"MiniMax M2.5 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/anthropic"}},{id:"nemotron-3-super-free",label:"Nemotron 3 Super Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2026-02",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:1e6,output:128e3}},{id:"qwen3-coder",label:"Qwen3 Coder",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.45,output:1.8},limit:{context:262144,output:65536}},{id:"trinity-large-preview-free",label:"Trinity Large Preview",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-28",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}}],label:"OpenCode Zen",env:["OPENCODE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://opencode.ai/zen/v1",doc:"https://opencode.ai/docs/zen"},zai:{id:"zai",models:[{id:"glm-4.5",ownedBy:"zai",label:"GLM-4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-air",ownedBy:"zai",label:"GLM-4.5-Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.2,output:1.1,cacheRead:.03,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-flash",ownedBy:"zai",label:"GLM-4.5-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5v",ownedBy:"zai",label:"GLM-4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.6v",ownedBy:"zai",label:"GLM-4.6V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-08",lastUpdated:"2025-12-08",openWeights:!0,cost:{input:.3,output:.9},limit:{context:128e3,output:32768}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},limit:{context:2e5,output:131072}}],label:"Z.AI",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/paas/v4",doc:"https://docs.z.ai/guides/overview/pricing"},"zai-coding":{id:"zai-coding",models:[{id:"glm-4.5",ownedBy:"zai",label:"GLM-4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-air",ownedBy:"zai",label:"GLM-4.5-Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-flash",ownedBy:"zai",label:"GLM-4.5-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5v",ownedBy:"zai",label:"GLM-4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:0,output:0},limit:{context:64e3,output:16384}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.6v",ownedBy:"zai",label:"GLM-4.6V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-08",lastUpdated:"2025-12-08",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:32768}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-4.7-flashx",ownedBy:"zai",label:"GLM-4.7-FlashX",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4,cacheRead:.01,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}}],label:"Z.AI Coding Plan",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/coding/paas/v4",doc:"https://docs.z.ai/devpack/overview"},moonshot:{id:"moonshot",models:[{id:"kimi-k2-0711-preview",ownedBy:"moonshot",label:"Kimi K2 0711",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-14",lastUpdated:"2025-07-14",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:131072,output:16384}},{id:"kimi-k2-0905-preview",ownedBy:"moonshot",label:"Kimi K2 0905",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking-turbo",ownedBy:"moonshot",label:"Kimi K2 Thinking Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:1.15,output:8,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-turbo-preview",ownedBy:"moonshot",label:"Kimi K2 Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:2.4,output:10,cacheRead:.6},limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2026-01",lastUpdated:"2026-01",openWeights:!0,cost:{input:.6,output:3,cacheRead:.1},limit:{context:262144,output:262144}}],label:"Moonshot AI",env:["MOONSHOT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.moonshot.ai/v1",doc:"https://platform.moonshot.ai/docs/api/chat"},minimax:{id:"minimax",models:[{id:"MiniMax-M2",ownedBy:"minimax",label:"MiniMax-M2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-27",lastUpdated:"2025-10-27",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:196608,output:128e3}},{id:"MiniMax-M2.1",ownedBy:"minimax",label:"MiniMax-M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},{id:"MiniMax-M2.5",ownedBy:"minimax",label:"MiniMax-M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.5-highspeed",ownedBy:"minimax",label:"MiniMax-M2.5-highspeed",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-13",lastUpdated:"2026-02-13",openWeights:!0,cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.7",ownedBy:"minimax",label:"MiniMax-M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.7-highspeed",ownedBy:"minimax",label:"MiniMax-M2.7-highspeed",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}}],label:"MiniMax (minimax.io)",env:["MINIMAX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.minimax.io/anthropic/v1",doc:"https://platform.minimax.io/docs/guides/quickstart"},copilot:{id:"copilot",models:[{id:"claude-haiku-4.5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},{id:"claude-opus-4.5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-08-01",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},{id:"claude-opus-4.6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"claude-opus-41",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:0,output:0},limit:{context:8e4,output:16e3}},{id:"claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:16e3}},{id:"claude-sonnet-4.5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},{id:"claude-sonnet-4.6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},{id:"gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:0,output:0},limit:{context:64e3,output:16384}},{id:"gpt-4o",ownedBy:"openai",label:"GPT-4o",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-05-13",openWeights:!1,cost:{input:0,output:0},limit:{context:64e3,output:16384}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"gpt-5-mini",ownedBy:"openai",label:"GPT-5-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-08-13",lastUpdated:"2025-08-13",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1-Codex-max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-12-04",lastUpdated:"2025-12-04",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1-Codex-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:0,output:0},limit:{context:264e3,output:64e3}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"grok-code-fast-1",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-08",releaseDate:"2025-08-27",lastUpdated:"2025-08-27",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}}],label:"GitHub Copilot",env:["GITHUB_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://api.githubcopilot.com",doc:"https://docs.github.com/en/copilot"}};var ti={},_s={},eQ;function Jp(){if(eQ)return _s;eQ=1,_s.byteLength=a,_s.toByteArray=Q,_s.fromByteArray=d;for(var A=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,r=s.length;n<r;++n)A[n]=s[n],e[s.charCodeAt(n)]=n;e[45]=62,e[95]=63;function i(E){var C=E.length;if(C%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var p=E.indexOf("=");p===-1&&(p=C);var f=p===C?0:4-p%4;return[p,f]}function a(E){var C=i(E),p=C[0],f=C[1];return(p+f)*3/4-f}function g(E,C,p){return(C+p)*3/4-p}function Q(E){var C,p=i(E),f=p[0],M=p[1],S=new t(g(E,f,M)),N=0,T=M>0?f-4:f,L;for(L=0;L<T;L+=4)C=e[E.charCodeAt(L)]<<18|e[E.charCodeAt(L+1)]<<12|e[E.charCodeAt(L+2)]<<6|e[E.charCodeAt(L+3)],S[N++]=C>>16&255,S[N++]=C>>8&255,S[N++]=C&255;return M===2&&(C=e[E.charCodeAt(L)]<<2|e[E.charCodeAt(L+1)]>>4,S[N++]=C&255),M===1&&(C=e[E.charCodeAt(L)]<<10|e[E.charCodeAt(L+1)]<<4|e[E.charCodeAt(L+2)]>>2,S[N++]=C>>8&255,S[N++]=C&255),S}function l(E){return A[E>>18&63]+A[E>>12&63]+A[E>>6&63]+A[E&63]}function u(E,C,p){for(var f,M=[],S=C;S<p;S+=3)f=(E[S]<<16&16711680)+(E[S+1]<<8&65280)+(E[S+2]&255),M.push(l(f));return M.join("")}function d(E){for(var C,p=E.length,f=p%3,M=[],S=16383,N=0,T=p-f;N<T;N+=S)M.push(u(E,N,N+S>T?T:N+S));return f===1?(C=E[p-1],M.push(A[C>>2]+A[C<<4&63]+"==")):f===2&&(C=(E[p-2]<<8)+E[p-1],M.push(A[C>>10]+A[C>>4&63]+A[C<<2&63]+"=")),M.join("")}return _s}var Ur={};var tQ;function Lp(){return tQ||(tQ=1,Ur.read=function(A,e,t,s,n){var r,i,a=n*8-s-1,g=(1<<a)-1,Q=g>>1,l=-7,u=t?n-1:0,d=t?-1:1,E=A[e+u];for(u+=d,r=E&(1<<-l)-1,E>>=-l,l+=a;l>0;r=r*256+A[e+u],u+=d,l-=8);for(i=r&(1<<-l)-1,r>>=-l,l+=s;l>0;i=i*256+A[e+u],u+=d,l-=8);if(r===0)r=1-Q;else{if(r===g)return i?NaN:(E?-1:1)*(1/0);i=i+Math.pow(2,s),r=r-Q}return(E?-1:1)*i*Math.pow(2,r-s)},Ur.write=function(A,e,t,s,n,r){var i,a,g,Q=r*8-n-1,l=(1<<Q)-1,u=l>>1,d=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=s?0:r-1,C=s?1:-1,p=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,i=l):(i=Math.floor(Math.log(e)/Math.LN2),e*(g=Math.pow(2,-i))<1&&(i--,g*=2),i+u>=1?e+=d/g:e+=d*Math.pow(2,1-u),e*g>=2&&(i++,g/=2),i+u>=l?(a=0,i=l):i+u>=1?(a=(e*g-1)*Math.pow(2,n),i=i+u):(a=e*Math.pow(2,u-1)*Math.pow(2,n),i=0));n>=8;A[t+E]=a&255,E+=C,a/=256,n-=8);for(i=i<<n|a,Q+=n;Q>0;A[t+E]=i&255,E+=C,i/=256,Q-=8);A[t+E-C]|=p*128}),Ur}var oQ;function Ja(){return oQ||(oQ=1,(function(A){const e=Jp(),t=Lp(),s=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;A.Buffer=a,A.SlowBuffer=S,A.INSPECT_MAX_BYTES=50;const n=2147483647;A.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=r(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function r(){try{const q=new Uint8Array(1),x={foo:function(){return 42}};return Object.setPrototypeOf(x,Uint8Array.prototype),Object.setPrototypeOf(q,x),q.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(q){if(q>n)throw new RangeError('The value "'+q+'" is invalid for option "size"');const x=new Uint8Array(q);return Object.setPrototypeOf(x,a.prototype),x}function a(q,x,k){if(typeof q=="number"){if(typeof x=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return u(q)}return g(q,x,k)}a.poolSize=8192;function g(q,x,k){if(typeof q=="string")return d(q,x);if(ArrayBuffer.isView(q))return C(q);if(q==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q);if(MA(q,ArrayBuffer)||q&&MA(q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(MA(q,SharedArrayBuffer)||q&&MA(q.buffer,SharedArrayBuffer)))return p(q,x,k);if(typeof q=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const V=q.valueOf&&q.valueOf();if(V!=null&&V!==q)return a.from(V,x,k);const eA=f(q);if(eA)return eA;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof q[Symbol.toPrimitive]=="function")return a.from(q[Symbol.toPrimitive]("string"),x,k);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q)}a.from=function(q,x,k){return g(q,x,k)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function Q(q){if(typeof q!="number")throw new TypeError('"size" argument must be of type number');if(q<0)throw new RangeError('The value "'+q+'" is invalid for option "size"')}function l(q,x,k){return Q(q),q<=0?i(q):x!==void 0?typeof k=="string"?i(q).fill(x,k):i(q).fill(x):i(q)}a.alloc=function(q,x,k){return l(q,x,k)};function u(q){return Q(q),i(q<0?0:M(q)|0)}a.allocUnsafe=function(q){return u(q)},a.allocUnsafeSlow=function(q){return u(q)};function d(q,x){if((typeof x!="string"||x==="")&&(x="utf8"),!a.isEncoding(x))throw new TypeError("Unknown encoding: "+x);const k=N(q,x)|0;let V=i(k);const eA=V.write(q,x);return eA!==k&&(V=V.slice(0,eA)),V}function E(q){const x=q.length<0?0:M(q.length)|0,k=i(x);for(let V=0;V<x;V+=1)k[V]=q[V]&255;return k}function C(q){if(MA(q,Uint8Array)){const x=new Uint8Array(q);return p(x.buffer,x.byteOffset,x.byteLength)}return E(q)}function p(q,x,k){if(x<0||q.byteLength<x)throw new RangeError('"offset" is outside of buffer bounds');if(q.byteLength<x+(k||0))throw new RangeError('"length" is outside of buffer bounds');let V;return x===void 0&&k===void 0?V=new Uint8Array(q):k===void 0?V=new Uint8Array(q,x):V=new Uint8Array(q,x,k),Object.setPrototypeOf(V,a.prototype),V}function f(q){if(a.isBuffer(q)){const x=M(q.length)|0,k=i(x);return k.length===0||q.copy(k,0,0,x),k}if(q.length!==void 0)return typeof q.length!="number"||WA(q.length)?i(0):E(q);if(q.type==="Buffer"&&Array.isArray(q.data))return E(q.data)}function M(q){if(q>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return q|0}function S(q){return+q!=q&&(q=0),a.alloc(+q)}a.isBuffer=function(x){return x!=null&&x._isBuffer===!0&&x!==a.prototype},a.compare=function(x,k){if(MA(x,Uint8Array)&&(x=a.from(x,x.offset,x.byteLength)),MA(k,Uint8Array)&&(k=a.from(k,k.offset,k.byteLength)),!a.isBuffer(x)||!a.isBuffer(k))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(x===k)return 0;let V=x.length,eA=k.length;for(let iA=0,QA=Math.min(V,eA);iA<QA;++iA)if(x[iA]!==k[iA]){V=x[iA],eA=k[iA];break}return V<eA?-1:eA<V?1:0},a.isEncoding=function(x){switch(String(x).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(x,k){if(!Array.isArray(x))throw new TypeError('"list" argument must be an Array of Buffers');if(x.length===0)return a.alloc(0);let V;if(k===void 0)for(k=0,V=0;V<x.length;++V)k+=x[V].length;const eA=a.allocUnsafe(k);let iA=0;for(V=0;V<x.length;++V){let QA=x[V];if(MA(QA,Uint8Array))iA+QA.length>eA.length?(a.isBuffer(QA)||(QA=a.from(QA)),QA.copy(eA,iA)):Uint8Array.prototype.set.call(eA,QA,iA);else if(a.isBuffer(QA))QA.copy(eA,iA);else throw new TypeError('"list" argument must be an Array of Buffers');iA+=QA.length}return eA};function N(q,x){if(a.isBuffer(q))return q.length;if(ArrayBuffer.isView(q)||MA(q,ArrayBuffer))return q.byteLength;if(typeof q!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof q);const k=q.length,V=arguments.length>2&&arguments[2]===!0;if(!V&&k===0)return 0;let eA=!1;for(;;)switch(x){case"ascii":case"latin1":case"binary":return k;case"utf8":case"utf-8":return RA(q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k*2;case"hex":return k>>>1;case"base64":return ue(q).length;default:if(eA)return V?-1:RA(q).length;x=(""+x).toLowerCase(),eA=!0}}a.byteLength=N;function T(q,x,k){let V=!1;if((x===void 0||x<0)&&(x=0),x>this.length||((k===void 0||k>this.length)&&(k=this.length),k<=0)||(k>>>=0,x>>>=0,k<=x))return"";for(q||(q="utf8");;)switch(q){case"hex":return O(this,x,k);case"utf8":case"utf-8":return B(this,x,k);case"ascii":return G(this,x,k);case"latin1":case"binary":return j(this,x,k);case"base64":return w(this,x,k);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return z(this,x,k);default:if(V)throw new TypeError("Unknown encoding: "+q);q=(q+"").toLowerCase(),V=!0}}a.prototype._isBuffer=!0;function L(q,x,k){const V=q[x];q[x]=q[k],q[k]=V}a.prototype.swap16=function(){const x=this.length;if(x%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let k=0;k<x;k+=2)L(this,k,k+1);return this},a.prototype.swap32=function(){const x=this.length;if(x%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let k=0;k<x;k+=4)L(this,k,k+3),L(this,k+1,k+2);return this},a.prototype.swap64=function(){const x=this.length;if(x%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let k=0;k<x;k+=8)L(this,k,k+7),L(this,k+1,k+6),L(this,k+2,k+5),L(this,k+3,k+4);return this},a.prototype.toString=function(){const x=this.length;return x===0?"":arguments.length===0?B(this,0,x):T.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(x){if(!a.isBuffer(x))throw new TypeError("Argument must be a Buffer");return this===x?!0:a.compare(this,x)===0},a.prototype.inspect=function(){let x="";const k=A.INSPECT_MAX_BYTES;return x=this.toString("hex",0,k).replace(/(.{2})/g,"$1 ").trim(),this.length>k&&(x+=" ... "),"<Buffer "+x+">"},s&&(a.prototype[s]=a.prototype.inspect),a.prototype.compare=function(x,k,V,eA,iA){if(MA(x,Uint8Array)&&(x=a.from(x,x.offset,x.byteLength)),!a.isBuffer(x))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof x);if(k===void 0&&(k=0),V===void 0&&(V=x?x.length:0),eA===void 0&&(eA=0),iA===void 0&&(iA=this.length),k<0||V>x.length||eA<0||iA>this.length)throw new RangeError("out of range index");if(eA>=iA&&k>=V)return 0;if(eA>=iA)return-1;if(k>=V)return 1;if(k>>>=0,V>>>=0,eA>>>=0,iA>>>=0,this===x)return 0;let QA=iA-eA,zA=V-k;const VA=Math.min(QA,zA),YA=this.slice(eA,iA),pe=x.slice(k,V);for(let HA=0;HA<VA;++HA)if(YA[HA]!==pe[HA]){QA=YA[HA],zA=pe[HA];break}return QA<zA?-1:zA<QA?1:0};function Z(q,x,k,V,eA){if(q.length===0)return-1;if(typeof k=="string"?(V=k,k=0):k>2147483647?k=2147483647:k<-2147483648&&(k=-2147483648),k=+k,WA(k)&&(k=eA?0:q.length-1),k<0&&(k=q.length+k),k>=q.length){if(eA)return-1;k=q.length-1}else if(k<0)if(eA)k=0;else return-1;if(typeof x=="string"&&(x=a.from(x,V)),a.isBuffer(x))return x.length===0?-1:AA(q,x,k,V,eA);if(typeof x=="number")return x=x&255,typeof Uint8Array.prototype.indexOf=="function"?eA?Uint8Array.prototype.indexOf.call(q,x,k):Uint8Array.prototype.lastIndexOf.call(q,x,k):AA(q,[x],k,V,eA);throw new TypeError("val must be string, number or Buffer")}function AA(q,x,k,V,eA){let iA=1,QA=q.length,zA=x.length;if(V!==void 0&&(V=String(V).toLowerCase(),V==="ucs2"||V==="ucs-2"||V==="utf16le"||V==="utf-16le")){if(q.length<2||x.length<2)return-1;iA=2,QA/=2,zA/=2,k/=2}function VA(pe,HA){return iA===1?pe[HA]:pe.readUInt16BE(HA*iA)}let YA;if(eA){let pe=-1;for(YA=k;YA<QA;YA++)if(VA(q,YA)===VA(x,pe===-1?0:YA-pe)){if(pe===-1&&(pe=YA),YA-pe+1===zA)return pe*iA}else pe!==-1&&(YA-=YA-pe),pe=-1}else for(k+zA>QA&&(k=QA-zA),YA=k;YA>=0;YA--){let pe=!0;for(let HA=0;HA<zA;HA++)if(VA(q,YA+HA)!==VA(x,HA)){pe=!1;break}if(pe)return YA}return-1}a.prototype.includes=function(x,k,V){return this.indexOf(x,k,V)!==-1},a.prototype.indexOf=function(x,k,V){return Z(this,x,k,V,!0)},a.prototype.lastIndexOf=function(x,k,V){return Z(this,x,k,V,!1)};function _(q,x,k,V){k=Number(k)||0;const eA=q.length-k;V?(V=Number(V),V>eA&&(V=eA)):V=eA;const iA=x.length;V>iA/2&&(V=iA/2);let QA;for(QA=0;QA<V;++QA){const zA=parseInt(x.substr(QA*2,2),16);if(WA(zA))return QA;q[k+QA]=zA}return QA}function J(q,x,k,V){return Ne(RA(x,q.length-k),q,k,V)}function P(q,x,k,V){return Ne(Be(x),q,k,V)}function b(q,x,k,V){return Ne(ue(x),q,k,V)}function K(q,x,k,V){return Ne(ye(x,q.length-k),q,k,V)}a.prototype.write=function(x,k,V,eA){if(k===void 0)eA="utf8",V=this.length,k=0;else if(V===void 0&&typeof k=="string")eA=k,V=this.length,k=0;else if(isFinite(k))k=k>>>0,isFinite(V)?(V=V>>>0,eA===void 0&&(eA="utf8")):(eA=V,V=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const iA=this.length-k;if((V===void 0||V>iA)&&(V=iA),x.length>0&&(V<0||k<0)||k>this.length)throw new RangeError("Attempt to write outside buffer bounds");eA||(eA="utf8");let QA=!1;for(;;)switch(eA){case"hex":return _(this,x,k,V);case"utf8":case"utf-8":return J(this,x,k,V);case"ascii":case"latin1":case"binary":return P(this,x,k,V);case"base64":return b(this,x,k,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return K(this,x,k,V);default:if(QA)throw new TypeError("Unknown encoding: "+eA);eA=(""+eA).toLowerCase(),QA=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(q,x,k){return x===0&&k===q.length?e.fromByteArray(q):e.fromByteArray(q.slice(x,k))}function B(q,x,k){k=Math.min(q.length,k);const V=[];let eA=x;for(;eA<k;){const iA=q[eA];let QA=null,zA=iA>239?4:iA>223?3:iA>191?2:1;if(eA+zA<=k){let VA,YA,pe,HA;switch(zA){case 1:iA<128&&(QA=iA);break;case 2:VA=q[eA+1],(VA&192)===128&&(HA=(iA&31)<<6|VA&63,HA>127&&(QA=HA));break;case 3:VA=q[eA+1],YA=q[eA+2],(VA&192)===128&&(YA&192)===128&&(HA=(iA&15)<<12|(VA&63)<<6|YA&63,HA>2047&&(HA<55296||HA>57343)&&(QA=HA));break;case 4:VA=q[eA+1],YA=q[eA+2],pe=q[eA+3],(VA&192)===128&&(YA&192)===128&&(pe&192)===128&&(HA=(iA&15)<<18|(VA&63)<<12|(YA&63)<<6|pe&63,HA>65535&&HA<1114112&&(QA=HA))}}QA===null?(QA=65533,zA=1):QA>65535&&(QA-=65536,V.push(QA>>>10&1023|55296),QA=56320|QA&1023),V.push(QA),eA+=zA}return y(V)}const I=4096;function y(q){const x=q.length;if(x<=I)return String.fromCharCode.apply(String,q);let k="",V=0;for(;V<x;)k+=String.fromCharCode.apply(String,q.slice(V,V+=I));return k}function G(q,x,k){let V="";k=Math.min(q.length,k);for(let eA=x;eA<k;++eA)V+=String.fromCharCode(q[eA]&127);return V}function j(q,x,k){let V="";k=Math.min(q.length,k);for(let eA=x;eA<k;++eA)V+=String.fromCharCode(q[eA]);return V}function O(q,x,k){const V=q.length;(!x||x<0)&&(x=0),(!k||k<0||k>V)&&(k=V);let eA="";for(let iA=x;iA<k;++iA)eA+=_A[q[iA]];return eA}function z(q,x,k){const V=q.slice(x,k);let eA="";for(let iA=0;iA<V.length-1;iA+=2)eA+=String.fromCharCode(V[iA]+V[iA+1]*256);return eA}a.prototype.slice=function(x,k){const V=this.length;x=~~x,k=k===void 0?V:~~k,x<0?(x+=V,x<0&&(x=0)):x>V&&(x=V),k<0?(k+=V,k<0&&(k=0)):k>V&&(k=V),k<x&&(k=x);const eA=this.subarray(x,k);return Object.setPrototypeOf(eA,a.prototype),eA};function v(q,x,k){if(q%1!==0||q<0)throw new RangeError("offset is not uint");if(q+x>k)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(x,k,V){x=x>>>0,k=k>>>0,V||v(x,k,this.length);let eA=this[x],iA=1,QA=0;for(;++QA<k&&(iA*=256);)eA+=this[x+QA]*iA;return eA},a.prototype.readUintBE=a.prototype.readUIntBE=function(x,k,V){x=x>>>0,k=k>>>0,V||v(x,k,this.length);let eA=this[x+--k],iA=1;for(;k>0&&(iA*=256);)eA+=this[x+--k]*iA;return eA},a.prototype.readUint8=a.prototype.readUInt8=function(x,k){return x=x>>>0,k||v(x,1,this.length),this[x]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(x,k){return x=x>>>0,k||v(x,2,this.length),this[x]|this[x+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(x,k){return x=x>>>0,k||v(x,2,this.length),this[x]<<8|this[x+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(x,k){return x=x>>>0,k||v(x,4,this.length),(this[x]|this[x+1]<<8|this[x+2]<<16)+this[x+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(x,k){return x=x>>>0,k||v(x,4,this.length),this[x]*16777216+(this[x+1]<<16|this[x+2]<<8|this[x+3])},a.prototype.readBigUInt64LE=Oe(function(x){x=x>>>0,ZA(x,"offset");const k=this[x],V=this[x+7];(k===void 0||V===void 0)&&ne(x,this.length-8);const eA=k+this[++x]*2**8+this[++x]*2**16+this[++x]*2**24,iA=this[++x]+this[++x]*2**8+this[++x]*2**16+V*2**24;return BigInt(eA)+(BigInt(iA)<<BigInt(32))}),a.prototype.readBigUInt64BE=Oe(function(x){x=x>>>0,ZA(x,"offset");const k=this[x],V=this[x+7];(k===void 0||V===void 0)&&ne(x,this.length-8);const eA=k*2**24+this[++x]*2**16+this[++x]*2**8+this[++x],iA=this[++x]*2**24+this[++x]*2**16+this[++x]*2**8+V;return(BigInt(eA)<<BigInt(32))+BigInt(iA)}),a.prototype.readIntLE=function(x,k,V){x=x>>>0,k=k>>>0,V||v(x,k,this.length);let eA=this[x],iA=1,QA=0;for(;++QA<k&&(iA*=256);)eA+=this[x+QA]*iA;return iA*=128,eA>=iA&&(eA-=Math.pow(2,8*k)),eA},a.prototype.readIntBE=function(x,k,V){x=x>>>0,k=k>>>0,V||v(x,k,this.length);let eA=k,iA=1,QA=this[x+--eA];for(;eA>0&&(iA*=256);)QA+=this[x+--eA]*iA;return iA*=128,QA>=iA&&(QA-=Math.pow(2,8*k)),QA},a.prototype.readInt8=function(x,k){return x=x>>>0,k||v(x,1,this.length),this[x]&128?(255-this[x]+1)*-1:this[x]},a.prototype.readInt16LE=function(x,k){x=x>>>0,k||v(x,2,this.length);const V=this[x]|this[x+1]<<8;return V&32768?V|4294901760:V},a.prototype.readInt16BE=function(x,k){x=x>>>0,k||v(x,2,this.length);const V=this[x+1]|this[x]<<8;return V&32768?V|4294901760:V},a.prototype.readInt32LE=function(x,k){return x=x>>>0,k||v(x,4,this.length),this[x]|this[x+1]<<8|this[x+2]<<16|this[x+3]<<24},a.prototype.readInt32BE=function(x,k){return x=x>>>0,k||v(x,4,this.length),this[x]<<24|this[x+1]<<16|this[x+2]<<8|this[x+3]},a.prototype.readBigInt64LE=Oe(function(x){x=x>>>0,ZA(x,"offset");const k=this[x],V=this[x+7];(k===void 0||V===void 0)&&ne(x,this.length-8);const eA=this[x+4]+this[x+5]*2**8+this[x+6]*2**16+(V<<24);return(BigInt(eA)<<BigInt(32))+BigInt(k+this[++x]*2**8+this[++x]*2**16+this[++x]*2**24)}),a.prototype.readBigInt64BE=Oe(function(x){x=x>>>0,ZA(x,"offset");const k=this[x],V=this[x+7];(k===void 0||V===void 0)&&ne(x,this.length-8);const eA=(k<<24)+this[++x]*2**16+this[++x]*2**8+this[++x];return(BigInt(eA)<<BigInt(32))+BigInt(this[++x]*2**24+this[++x]*2**16+this[++x]*2**8+V)}),a.prototype.readFloatLE=function(x,k){return x=x>>>0,k||v(x,4,this.length),t.read(this,x,!0,23,4)},a.prototype.readFloatBE=function(x,k){return x=x>>>0,k||v(x,4,this.length),t.read(this,x,!1,23,4)},a.prototype.readDoubleLE=function(x,k){return x=x>>>0,k||v(x,8,this.length),t.read(this,x,!0,52,8)},a.prototype.readDoubleBE=function(x,k){return x=x>>>0,k||v(x,8,this.length),t.read(this,x,!1,52,8)};function c(q,x,k,V,eA,iA){if(!a.isBuffer(q))throw new TypeError('"buffer" argument must be a Buffer instance');if(x>eA||x<iA)throw new RangeError('"value" argument is out of bounds');if(k+V>q.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(x,k,V,eA){if(x=+x,k=k>>>0,V=V>>>0,!eA){const zA=Math.pow(2,8*V)-1;c(this,x,k,V,zA,0)}let iA=1,QA=0;for(this[k]=x&255;++QA<V&&(iA*=256);)this[k+QA]=x/iA&255;return k+V},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(x,k,V,eA){if(x=+x,k=k>>>0,V=V>>>0,!eA){const zA=Math.pow(2,8*V)-1;c(this,x,k,V,zA,0)}let iA=V-1,QA=1;for(this[k+iA]=x&255;--iA>=0&&(QA*=256);)this[k+iA]=x/QA&255;return k+V},a.prototype.writeUint8=a.prototype.writeUInt8=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,1,255,0),this[k]=x&255,k+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,2,65535,0),this[k]=x&255,this[k+1]=x>>>8,k+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,2,65535,0),this[k]=x>>>8,this[k+1]=x&255,k+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,4,4294967295,0),this[k+3]=x>>>24,this[k+2]=x>>>16,this[k+1]=x>>>8,this[k]=x&255,k+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,4,4294967295,0),this[k]=x>>>24,this[k+1]=x>>>16,this[k+2]=x>>>8,this[k+3]=x&255,k+4};function h(q,x,k,V,eA){dA(x,V,eA,q,k,7);let iA=Number(x&BigInt(4294967295));q[k++]=iA,iA=iA>>8,q[k++]=iA,iA=iA>>8,q[k++]=iA,iA=iA>>8,q[k++]=iA;let QA=Number(x>>BigInt(32)&BigInt(4294967295));return q[k++]=QA,QA=QA>>8,q[k++]=QA,QA=QA>>8,q[k++]=QA,QA=QA>>8,q[k++]=QA,k}function U(q,x,k,V,eA){dA(x,V,eA,q,k,7);let iA=Number(x&BigInt(4294967295));q[k+7]=iA,iA=iA>>8,q[k+6]=iA,iA=iA>>8,q[k+5]=iA,iA=iA>>8,q[k+4]=iA;let QA=Number(x>>BigInt(32)&BigInt(4294967295));return q[k+3]=QA,QA=QA>>8,q[k+2]=QA,QA=QA>>8,q[k+1]=QA,QA=QA>>8,q[k]=QA,k+8}a.prototype.writeBigUInt64LE=Oe(function(x,k=0){return h(this,x,k,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Oe(function(x,k=0){return U(this,x,k,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(x,k,V,eA){if(x=+x,k=k>>>0,!eA){const VA=Math.pow(2,8*V-1);c(this,x,k,V,VA-1,-VA)}let iA=0,QA=1,zA=0;for(this[k]=x&255;++iA<V&&(QA*=256);)x<0&&zA===0&&this[k+iA-1]!==0&&(zA=1),this[k+iA]=(x/QA>>0)-zA&255;return k+V},a.prototype.writeIntBE=function(x,k,V,eA){if(x=+x,k=k>>>0,!eA){const VA=Math.pow(2,8*V-1);c(this,x,k,V,VA-1,-VA)}let iA=V-1,QA=1,zA=0;for(this[k+iA]=x&255;--iA>=0&&(QA*=256);)x<0&&zA===0&&this[k+iA+1]!==0&&(zA=1),this[k+iA]=(x/QA>>0)-zA&255;return k+V},a.prototype.writeInt8=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,1,127,-128),x<0&&(x=255+x+1),this[k]=x&255,k+1},a.prototype.writeInt16LE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,2,32767,-32768),this[k]=x&255,this[k+1]=x>>>8,k+2},a.prototype.writeInt16BE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,2,32767,-32768),this[k]=x>>>8,this[k+1]=x&255,k+2},a.prototype.writeInt32LE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,4,2147483647,-2147483648),this[k]=x&255,this[k+1]=x>>>8,this[k+2]=x>>>16,this[k+3]=x>>>24,k+4},a.prototype.writeInt32BE=function(x,k,V){return x=+x,k=k>>>0,V||c(this,x,k,4,2147483647,-2147483648),x<0&&(x=4294967295+x+1),this[k]=x>>>24,this[k+1]=x>>>16,this[k+2]=x>>>8,this[k+3]=x&255,k+4},a.prototype.writeBigInt64LE=Oe(function(x,k=0){return h(this,x,k,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Oe(function(x,k=0){return U(this,x,k,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function R(q,x,k,V,eA,iA){if(k+V>q.length)throw new RangeError("Index out of range");if(k<0)throw new RangeError("Index out of range")}function X(q,x,k,V,eA){return x=+x,k=k>>>0,eA||R(q,x,k,4),t.write(q,x,k,V,23,4),k+4}a.prototype.writeFloatLE=function(x,k,V){return X(this,x,k,!0,V)},a.prototype.writeFloatBE=function(x,k,V){return X(this,x,k,!1,V)};function tA(q,x,k,V,eA){return x=+x,k=k>>>0,eA||R(q,x,k,8),t.write(q,x,k,V,52,8),k+8}a.prototype.writeDoubleLE=function(x,k,V){return tA(this,x,k,!0,V)},a.prototype.writeDoubleBE=function(x,k,V){return tA(this,x,k,!1,V)},a.prototype.copy=function(x,k,V,eA){if(!a.isBuffer(x))throw new TypeError("argument should be a Buffer");if(V||(V=0),!eA&&eA!==0&&(eA=this.length),k>=x.length&&(k=x.length),k||(k=0),eA>0&&eA<V&&(eA=V),eA===V||x.length===0||this.length===0)return 0;if(k<0)throw new RangeError("targetStart out of bounds");if(V<0||V>=this.length)throw new RangeError("Index out of range");if(eA<0)throw new RangeError("sourceEnd out of bounds");eA>this.length&&(eA=this.length),x.length-k<eA-V&&(eA=x.length-k+V);const iA=eA-V;return this===x&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(k,V,eA):Uint8Array.prototype.set.call(x,this.subarray(V,eA),k),iA},a.prototype.fill=function(x,k,V,eA){if(typeof x=="string"){if(typeof k=="string"?(eA=k,k=0,V=this.length):typeof V=="string"&&(eA=V,V=this.length),eA!==void 0&&typeof eA!="string")throw new TypeError("encoding must be a string");if(typeof eA=="string"&&!a.isEncoding(eA))throw new TypeError("Unknown encoding: "+eA);if(x.length===1){const QA=x.charCodeAt(0);(eA==="utf8"&&QA<128||eA==="latin1")&&(x=QA)}}else typeof x=="number"?x=x&255:typeof x=="boolean"&&(x=Number(x));if(k<0||this.length<k||this.length<V)throw new RangeError("Out of range index");if(V<=k)return this;k=k>>>0,V=V===void 0?this.length:V>>>0,x||(x=0);let iA;if(typeof x=="number")for(iA=k;iA<V;++iA)this[iA]=x;else{const QA=a.isBuffer(x)?x:a.from(x,eA),zA=QA.length;if(zA===0)throw new TypeError('The value "'+x+'" is invalid for argument "value"');for(iA=0;iA<V-k;++iA)this[iA+k]=QA[iA%zA]}return this};const uA={};function aA(q,x,k){uA[q]=class extends k{constructor(){super(),Object.defineProperty(this,"message",{value:x.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${q}]`,this.stack,delete this.name}get code(){return q}set code(eA){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:eA,writable:!0})}toString(){return`${this.name} [${q}]: ${this.message}`}}}aA("ERR_BUFFER_OUT_OF_BOUNDS",function(q){return q?`${q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),aA("ERR_INVALID_ARG_TYPE",function(q,x){return`The "${q}" argument must be of type number. Received type ${typeof x}`},TypeError),aA("ERR_OUT_OF_RANGE",function(q,x,k){let V=`The value of "${q}" is out of range.`,eA=k;return Number.isInteger(k)&&Math.abs(k)>2**32?eA=KA(String(k)):typeof k=="bigint"&&(eA=String(k),(k>BigInt(2)**BigInt(32)||k<-(BigInt(2)**BigInt(32)))&&(eA=KA(eA)),eA+="n"),V+=` It must be ${x}. Received ${eA}`,V},RangeError);function KA(q){let x="",k=q.length;const V=q[0]==="-"?1:0;for(;k>=V+4;k-=3)x=`_${q.slice(k-3,k)}${x}`;return`${q.slice(0,k)}${x}`}function PA(q,x,k){ZA(x,"offset"),(q[x]===void 0||q[x+k]===void 0)&&ne(x,q.length-(k+1))}function dA(q,x,k,V,eA,iA){if(q>k||q<x){const QA=typeof x=="bigint"?"n":"";let zA;throw x===0||x===BigInt(0)?zA=`>= 0${QA} and < 2${QA} ** ${(iA+1)*8}${QA}`:zA=`>= -(2${QA} ** ${(iA+1)*8-1}${QA}) and < 2 ** ${(iA+1)*8-1}${QA}`,new uA.ERR_OUT_OF_RANGE("value",zA,q)}PA(V,eA,iA)}function ZA(q,x){if(typeof q!="number")throw new uA.ERR_INVALID_ARG_TYPE(x,"number",q)}function ne(q,x,k){throw Math.floor(q)!==q?(ZA(q,k),new uA.ERR_OUT_OF_RANGE("offset","an integer",q)):x<0?new uA.ERR_BUFFER_OUT_OF_BOUNDS:new uA.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${x}`,q)}const Ee=/[^+/0-9A-Za-z-_]/g;function FA(q){if(q=q.split("=")[0],q=q.trim().replace(Ee,""),q.length<2)return"";for(;q.length%4!==0;)q=q+"=";return q}function RA(q,x){x=x||1/0;let k;const V=q.length;let eA=null;const iA=[];for(let QA=0;QA<V;++QA){if(k=q.charCodeAt(QA),k>55295&&k<57344){if(!eA){if(k>56319){(x-=3)>-1&&iA.push(239,191,189);continue}else if(QA+1===V){(x-=3)>-1&&iA.push(239,191,189);continue}eA=k;continue}if(k<56320){(x-=3)>-1&&iA.push(239,191,189),eA=k;continue}k=(eA-55296<<10|k-56320)+65536}else eA&&(x-=3)>-1&&iA.push(239,191,189);if(eA=null,k<128){if((x-=1)<0)break;iA.push(k)}else if(k<2048){if((x-=2)<0)break;iA.push(k>>6|192,k&63|128)}else if(k<65536){if((x-=3)<0)break;iA.push(k>>12|224,k>>6&63|128,k&63|128)}else if(k<1114112){if((x-=4)<0)break;iA.push(k>>18|240,k>>12&63|128,k>>6&63|128,k&63|128)}else throw new Error("Invalid code point")}return iA}function Be(q){const x=[];for(let k=0;k<q.length;++k)x.push(q.charCodeAt(k)&255);return x}function ye(q,x){let k,V,eA;const iA=[];for(let QA=0;QA<q.length&&!((x-=2)<0);++QA)k=q.charCodeAt(QA),V=k>>8,eA=k%256,iA.push(eA),iA.push(V);return iA}function ue(q){return e.toByteArray(FA(q))}function Ne(q,x,k,V){let eA;for(eA=0;eA<V&&!(eA+k>=x.length||eA>=q.length);++eA)x[eA+k]=q[eA];return eA}function MA(q,x){return q instanceof x||q!=null&&q.constructor!=null&&q.constructor.name!=null&&q.constructor.name===x.name}function WA(q){return q!==q}const _A=(function(){const q="0123456789abcdef",x=new Array(256);for(let k=0;k<16;++k){const V=k*16;for(let eA=0;eA<16;++eA)x[V+eA]=q[k]+q[eA]}return x})();function Oe(q){return typeof BigInt>"u"?le:q}function le(){throw new Error("BigInt not supported")}})(ti)),ti}var mt=Ja();const ks=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function wr(A){return A instanceof Uint8Array||ArrayBuffer.isView(A)&&A.constructor.name==="Uint8Array"}function $i(A){if(!Number.isSafeInteger(A)||A<0)throw new Error("positive integer expected, got "+A)}function ms(A,...e){if(!wr(A))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(A.length))throw new Error("Uint8Array expected of length "+e+", got length="+A.length)}function kl(A){if(typeof A!="function"||typeof A.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");$i(A.outputLen),$i(A.blockLen)}function Qn(A,e=!0){if(A.destroyed)throw new Error("Hash instance has been destroyed");if(e&&A.finished)throw new Error("Hash#digest() has already been called")}function jp(A,e){ms(A);const t=e.outputLen;if(A.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function Js(...A){for(let e=0;e<A.length;e++)A[e].fill(0)}function oi(A){return new DataView(A.buffer,A.byteOffset,A.byteLength)}function xo(A,e){return A<<32-e|A>>>e}const Ml=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Tp=Array.from({length:256},(A,e)=>e.toString(16).padStart(2,"0"));function ls(A){if(ms(A),Ml)return A.toHex();let e="";for(let t=0;t<A.length;t++)e+=Tp[A[t]];return e}const So={_0:48,_9:57,A:65,F:70,a:97,f:102};function sQ(A){if(A>=So._0&&A<=So._9)return A-So._0;if(A>=So.A&&A<=So.F)return A-(So.A-10);if(A>=So.a&&A<=So.f)return A-(So.a-10)}function Bn(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);if(Ml)return Uint8Array.fromHex(A);const e=A.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const s=new Uint8Array(t);for(let n=0,r=0;n<t;n++,r+=2){const i=sQ(A.charCodeAt(r)),a=sQ(A.charCodeAt(r+1));if(i===void 0||a===void 0){const g=A[r]+A[r+1];throw new Error('hex string expected, got non-hex character "'+g+'" at index '+r)}s[n]=i*16+a}return s}function Op(A){if(typeof A!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(A))}function La(A){return typeof A=="string"&&(A=Op(A)),ms(A),A}function Do(...A){let e=0;for(let s=0;s<A.length;s++){const n=A[s];ms(n),e+=n.length}const t=new Uint8Array(e);for(let s=0,n=0;s<A.length;s++){const r=A[s];t.set(r,n),n+=r.length}return t}class bl{}function Fl(A){const e=s=>A().update(La(s)).digest(),t=A();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>A(),e}function ja(A=32){if(ks&&typeof ks.getRandomValues=="function")return ks.getRandomValues(new Uint8Array(A));if(ks&&typeof ks.randomBytes=="function")return Uint8Array.from(ks.randomBytes(A));throw new Error("crypto.getRandomValues must be defined")}function qp(A,e,t,s){if(typeof A.setBigUint64=="function")return A.setBigUint64(e,t,s);const n=BigInt(32),r=BigInt(4294967295),i=Number(t>>n&r),a=Number(t&r),g=s?4:0,Q=s?0:4;A.setUint32(e+g,i,s),A.setUint32(e+Q,a,s)}function Yp(A,e,t){return A&e^~A&t}function Hp(A,e,t){return A&e^A&t^e&t}class Gl extends bl{constructor(e,t,s,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=s,this.isLE=n,this.buffer=new Uint8Array(e),this.view=oi(this.buffer)}update(e){Qn(this),e=La(e),ms(e);const{view:t,buffer:s,blockLen:n}=this,r=e.length;for(let i=0;i<r;){const a=Math.min(n-this.pos,r-i);if(a===n){const g=oi(e);for(;n<=r-i;i+=n)this.process(g,i);continue}s.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Qn(this),jp(e,this),this.finished=!0;const{buffer:t,view:s,blockLen:n,isLE:r}=this;let{pos:i}=this;t[i++]=128,Js(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(s,0),i=0);for(let u=i;u<n;u++)t[u]=0;qp(s,n-8,BigInt(this.length*8),r),this.process(s,0);const a=oi(e),g=this.outputLen;if(g%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const Q=g/4,l=this.get();if(Q>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<Q;u++)a.setUint32(4*u,l[u],r)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const s=e.slice(0,t);return this.destroy(),s}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:s,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,n%t&&e.buffer.set(s),e}clone(){return this._cloneInto()}}const qo=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Kt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Rr=BigInt(2**32-1),rQ=BigInt(32);function Pp(A,e=!1){return e?{h:Number(A&Rr),l:Number(A>>rQ&Rr)}:{h:Number(A>>rQ&Rr)|0,l:Number(A&Rr)|0}}function Wp(A,e=!1){const t=A.length;let s=new Uint32Array(t),n=new Uint32Array(t);for(let r=0;r<t;r++){const{h:i,l:a}=Pp(A[r],e);[s[r],n[r]]=[i,a]}return[s,n]}const nQ=(A,e,t)=>A>>>t,iQ=(A,e,t)=>A<<32-t|e>>>t,Ms=(A,e,t)=>A>>>t|e<<32-t,bs=(A,e,t)=>A<<32-t|e>>>t,Kr=(A,e,t)=>A<<64-t|e>>>t-32,Jr=(A,e,t)=>A>>>t-32|e<<64-t;function Uo(A,e,t,s){const n=(e>>>0)+(s>>>0);return{h:A+t+(n/2**32|0)|0,l:n|0}}const zp=(A,e,t)=>(A>>>0)+(e>>>0)+(t>>>0),Vp=(A,e,t,s)=>e+t+s+(A/2**32|0)|0,Zp=(A,e,t,s)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0),_p=(A,e,t,s,n)=>e+t+s+n+(A/2**32|0)|0,Xp=(A,e,t,s,n)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0)+(n>>>0),$p=(A,e,t,s,n,r)=>e+t+s+n+r+(A/2**32|0)|0,Am=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Yo=new Uint32Array(64);class em extends Gl{constructor(e=32){super(64,e,8,!1),this.A=qo[0]|0,this.B=qo[1]|0,this.C=qo[2]|0,this.D=qo[3]|0,this.E=qo[4]|0,this.F=qo[5]|0,this.G=qo[6]|0,this.H=qo[7]|0}get(){const{A:e,B:t,C:s,D:n,E:r,F:i,G:a,H:g}=this;return[e,t,s,n,r,i,a,g]}set(e,t,s,n,r,i,a,g){this.A=e|0,this.B=t|0,this.C=s|0,this.D=n|0,this.E=r|0,this.F=i|0,this.G=a|0,this.H=g|0}process(e,t){for(let u=0;u<16;u++,t+=4)Yo[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){const d=Yo[u-15],E=Yo[u-2],C=xo(d,7)^xo(d,18)^d>>>3,p=xo(E,17)^xo(E,19)^E>>>10;Yo[u]=p+Yo[u-7]+C+Yo[u-16]|0}let{A:s,B:n,C:r,D:i,E:a,F:g,G:Q,H:l}=this;for(let u=0;u<64;u++){const d=xo(a,6)^xo(a,11)^xo(a,25),E=l+d+Yp(a,g,Q)+Am[u]+Yo[u]|0,p=(xo(s,2)^xo(s,13)^xo(s,22))+Hp(s,n,r)|0;l=Q,Q=g,g=a,a=i+E|0,i=r,r=n,n=s,s=E+p|0}s=s+this.A|0,n=n+this.B|0,r=r+this.C|0,i=i+this.D|0,a=a+this.E|0,g=g+this.F|0,Q=Q+this.G|0,l=l+this.H|0,this.set(s,n,r,i,a,g,Q,l)}roundClean(){Js(Yo)}destroy(){this.set(0,0,0,0,0,0,0,0),Js(this.buffer)}}const vl=Wp(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(A=>BigInt(A))),tm=vl[0],om=vl[1],Ho=new Uint32Array(80),Po=new Uint32Array(80);class sm extends Gl{constructor(e=64){super(128,e,16,!1),this.Ah=Kt[0]|0,this.Al=Kt[1]|0,this.Bh=Kt[2]|0,this.Bl=Kt[3]|0,this.Ch=Kt[4]|0,this.Cl=Kt[5]|0,this.Dh=Kt[6]|0,this.Dl=Kt[7]|0,this.Eh=Kt[8]|0,this.El=Kt[9]|0,this.Fh=Kt[10]|0,this.Fl=Kt[11]|0,this.Gh=Kt[12]|0,this.Gl=Kt[13]|0,this.Hh=Kt[14]|0,this.Hl=Kt[15]|0}get(){const{Ah:e,Al:t,Bh:s,Bl:n,Ch:r,Cl:i,Dh:a,Dl:g,Eh:Q,El:l,Fh:u,Fl:d,Gh:E,Gl:C,Hh:p,Hl:f}=this;return[e,t,s,n,r,i,a,g,Q,l,u,d,E,C,p,f]}set(e,t,s,n,r,i,a,g,Q,l,u,d,E,C,p,f){this.Ah=e|0,this.Al=t|0,this.Bh=s|0,this.Bl=n|0,this.Ch=r|0,this.Cl=i|0,this.Dh=a|0,this.Dl=g|0,this.Eh=Q|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=E|0,this.Gl=C|0,this.Hh=p|0,this.Hl=f|0}process(e,t){for(let N=0;N<16;N++,t+=4)Ho[N]=e.getUint32(t),Po[N]=e.getUint32(t+=4);for(let N=16;N<80;N++){const T=Ho[N-15]|0,L=Po[N-15]|0,Z=Ms(T,L,1)^Ms(T,L,8)^nQ(T,L,7),AA=bs(T,L,1)^bs(T,L,8)^iQ(T,L,7),_=Ho[N-2]|0,J=Po[N-2]|0,P=Ms(_,J,19)^Kr(_,J,61)^nQ(_,J,6),b=bs(_,J,19)^Jr(_,J,61)^iQ(_,J,6),K=Zp(AA,b,Po[N-7],Po[N-16]),w=_p(K,Z,P,Ho[N-7],Ho[N-16]);Ho[N]=w|0,Po[N]=K|0}let{Ah:s,Al:n,Bh:r,Bl:i,Ch:a,Cl:g,Dh:Q,Dl:l,Eh:u,El:d,Fh:E,Fl:C,Gh:p,Gl:f,Hh:M,Hl:S}=this;for(let N=0;N<80;N++){const T=Ms(u,d,14)^Ms(u,d,18)^Kr(u,d,41),L=bs(u,d,14)^bs(u,d,18)^Jr(u,d,41),Z=u&E^~u&p,AA=d&C^~d&f,_=Xp(S,L,AA,om[N],Po[N]),J=$p(_,M,T,Z,tm[N],Ho[N]),P=_|0,b=Ms(s,n,28)^Kr(s,n,34)^Kr(s,n,39),K=bs(s,n,28)^Jr(s,n,34)^Jr(s,n,39),w=s&r^s&a^r&a,B=n&i^n&g^i&g;M=p|0,S=f|0,p=E|0,f=C|0,E=u|0,C=d|0,{h:u,l:d}=Uo(Q|0,l|0,J|0,P|0),Q=a|0,l=g|0,a=r|0,g=i|0,r=s|0,i=n|0;const I=zp(P,K,B);s=Vp(I,J,b,w),n=I|0}({h:s,l:n}=Uo(this.Ah|0,this.Al|0,s|0,n|0)),{h:r,l:i}=Uo(this.Bh|0,this.Bl|0,r|0,i|0),{h:a,l:g}=Uo(this.Ch|0,this.Cl|0,a|0,g|0),{h:Q,l}=Uo(this.Dh|0,this.Dl|0,Q|0,l|0),{h:u,l:d}=Uo(this.Eh|0,this.El|0,u|0,d|0),{h:E,l:C}=Uo(this.Fh|0,this.Fl|0,E|0,C|0),{h:p,l:f}=Uo(this.Gh|0,this.Gl|0,p|0,f|0),{h:M,l:S}=Uo(this.Hh|0,this.Hl|0,M|0,S|0),this.set(s,n,r,i,a,g,Q,l,u,d,E,C,p,f,M,S)}roundClean(){Js(Ho,Po)}destroy(){Js(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Sl=Fl(()=>new em),rm=Fl(()=>new sm);const Ta=BigInt(0),Aa=BigInt(1);function us(A,e=""){if(typeof A!="boolean"){const t=e&&`"${e}"`;throw new Error(t+"expected boolean, got type="+typeof A)}return A}function lo(A,e,t=""){const s=wr(A),n=A?.length,r=e!==void 0;if(!s||r&&n!==e){const i=t&&`"${t}" `,a=r?` of length ${e}`:"",g=s?`length=${n}`:`type=${typeof A}`;throw new Error(i+"expected Uint8Array"+a+", got "+g)}return A}function Lr(A){const e=A.toString(16);return e.length&1?"0"+e:e}function Ul(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);return A===""?Ta:BigInt("0x"+A)}function Rn(A){return Ul(ls(A))}function gr(A){return ms(A),Ul(ls(Uint8Array.from(A).reverse()))}function Oa(A,e){return Bn(A.toString(16).padStart(e*2,"0"))}function Rl(A,e){return Oa(A,e).reverse()}function lt(A,e,t){let s;if(typeof e=="string")try{s=Bn(e)}catch(r){throw new Error(A+" must be hex string or Uint8Array, cause: "+r)}else if(wr(e))s=Uint8Array.from(e);else throw new Error(A+" must be hex string or Uint8Array");const n=s.length;if(typeof t=="number"&&n!==t)throw new Error(A+" of length "+t+" expected, got "+n);return s}function aQ(A){return Uint8Array.from(A)}const si=A=>typeof A=="bigint"&&Ta<=A;function nm(A,e,t){return si(A)&&si(e)&&si(t)&&e<=A&&A<t}function ea(A,e,t,s){if(!nm(e,t,s))throw new Error("expected valid "+A+": "+t+" <= n < "+s+", got "+e)}function Kl(A){let e;for(e=0;A>Ta;A>>=Aa,e+=1);return e}const xr=A=>(Aa<<BigInt(A))-Aa;function im(A,e,t){if(typeof A!="number"||A<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");const s=E=>new Uint8Array(E),n=E=>Uint8Array.of(E);let r=s(A),i=s(A),a=0;const g=()=>{r.fill(1),i.fill(0),a=0},Q=(...E)=>t(i,r,...E),l=(E=s(0))=>{i=Q(n(0),E),r=Q(),E.length!==0&&(i=Q(n(1),E),r=Q())},u=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let E=0;const C=[];for(;E<e;){r=Q();const p=r.slice();C.push(p),E+=r.length}return Do(...C)};return(E,C)=>{g(),l(E);let p;for(;!(p=C(u()));)l();return g(),p}}function Dr(A,e,t={}){if(!A||typeof A!="object")throw new Error("expected valid options object");function s(n,r,i){const a=A[n];if(i&&a===void 0)return;const g=typeof a;if(g!==r||a===null)throw new Error(`param "${n}" is invalid: expected ${r}, got ${g}`)}Object.entries(e).forEach(([n,r])=>s(n,r,!1)),Object.entries(t).forEach(([n,r])=>s(n,r,!0))}function ln(A){const e=new WeakMap;return(t,...s)=>{const n=e.get(t);if(n!==void 0)return n;const r=A(t,...s);return e.set(t,r),r}}const _t=BigInt(0),Ft=BigInt(1),as=BigInt(2),Jl=BigInt(3),Ll=BigInt(4),jl=BigInt(5),am=BigInt(7),Tl=BigInt(8),gm=BigInt(9),Ol=BigInt(16);function ht(A,e){const t=A%e;return t>=_t?t:e+t}function Bt(A,e,t){let s=A;for(;e-- >_t;)s*=s,s%=t;return s}function gQ(A,e){if(A===_t)throw new Error("invert: expected non-zero number");if(e<=_t)throw new Error("invert: expected positive modulus, got "+e);let t=ht(A,e),s=e,n=_t,r=Ft;for(;t!==_t;){const a=s/t,g=s%t,Q=n-r*a;s=t,t=g,n=r,r=Q}if(s!==Ft)throw new Error("invert: does not exist");return ht(n,e)}function qa(A,e,t){if(!A.eql(A.sqr(e),t))throw new Error("Cannot find square root")}function ql(A,e){const t=(A.ORDER+Ft)/Ll,s=A.pow(e,t);return qa(A,s,e),s}function Qm(A,e){const t=(A.ORDER-jl)/Tl,s=A.mul(e,as),n=A.pow(s,t),r=A.mul(e,n),i=A.mul(A.mul(r,as),n),a=A.mul(r,A.sub(i,A.ONE));return qa(A,a,e),a}function Bm(A){const e=ws(A),t=Yl(A),s=t(e,e.neg(e.ONE)),n=t(e,s),r=t(e,e.neg(s)),i=(A+am)/Ol;return(a,g)=>{let Q=a.pow(g,i),l=a.mul(Q,s);const u=a.mul(Q,n),d=a.mul(Q,r),E=a.eql(a.sqr(l),g),C=a.eql(a.sqr(u),g);Q=a.cmov(Q,l,E),l=a.cmov(d,u,C);const p=a.eql(a.sqr(l),g),f=a.cmov(Q,l,p);return qa(a,f,g),f}}function Yl(A){if(A<Jl)throw new Error("sqrt is not defined for small field");let e=A-Ft,t=0;for(;e%as===_t;)e/=as,t++;let s=as;const n=ws(A);for(;QQ(n,s)===1;)if(s++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return ql;let r=n.pow(s,e);const i=(e+Ft)/as;return function(g,Q){if(g.is0(Q))return Q;if(QQ(g,Q)!==1)throw new Error("Cannot find square root");let l=t,u=g.mul(g.ONE,r),d=g.pow(Q,e),E=g.pow(Q,i);for(;!g.eql(d,g.ONE);){if(g.is0(d))return g.ZERO;let C=1,p=g.sqr(d);for(;!g.eql(p,g.ONE);)if(C++,p=g.sqr(p),C===l)throw new Error("Cannot find square root");const f=Ft<<BigInt(l-C-1),M=g.pow(u,f);l=C,u=g.sqr(M),d=g.mul(d,u),E=g.mul(E,M)}return E}}function lm(A){return A%Ll===Jl?ql:A%Tl===jl?Qm:A%Ol===gm?Bm(A):Yl(A)}const Em=(A,e)=>(ht(A,e)&Ft)===Ft,cm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Cm(A){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},t=cm.reduce((s,n)=>(s[n]="function",s),e);return Dr(A,t),A}function Im(A,e,t){if(t<_t)throw new Error("invalid exponent, negatives unsupported");if(t===_t)return A.ONE;if(t===Ft)return e;let s=A.ONE,n=e;for(;t>_t;)t&Ft&&(s=A.mul(s,n)),n=A.sqr(n),t>>=Ft;return s}function Hl(A,e,t=!1){const s=new Array(e.length).fill(t?A.ZERO:void 0),n=e.reduce((i,a,g)=>A.is0(a)?i:(s[g]=i,A.mul(i,a)),A.ONE),r=A.inv(n);return e.reduceRight((i,a,g)=>A.is0(a)?i:(s[g]=A.mul(i,s[g]),A.mul(i,a)),r),s}function QQ(A,e){const t=(A.ORDER-Ft)/as,s=A.pow(e,t),n=A.eql(s,A.ONE),r=A.eql(s,A.ZERO),i=A.eql(s,A.neg(A.ONE));if(!n&&!r&&!i)throw new Error("invalid Legendre symbol result");return n?1:r?0:-1}function Pl(A,e){e!==void 0&&$i(e);const t=e!==void 0?e:A.toString(2).length,s=Math.ceil(t/8);return{nBitLength:t,nByteLength:s}}function ws(A,e,t=!1,s={}){if(A<=_t)throw new Error("invalid field: expected ORDER > 0, got "+A);let n,r,i=!1,a;if(typeof e=="object"&&e!=null){if(s.sqrt||t)throw new Error("cannot specify opts in two arguments");const d=e;d.BITS&&(n=d.BITS),d.sqrt&&(r=d.sqrt),typeof d.isLE=="boolean"&&(t=d.isLE),typeof d.modFromBytes=="boolean"&&(i=d.modFromBytes),a=d.allowedLengths}else typeof e=="number"&&(n=e),s.sqrt&&(r=s.sqrt);const{nBitLength:g,nByteLength:Q}=Pl(A,n);if(Q>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let l;const u=Object.freeze({ORDER:A,isLE:t,BITS:g,BYTES:Q,MASK:xr(g),ZERO:_t,ONE:Ft,allowedLengths:a,create:d=>ht(d,A),isValid:d=>{if(typeof d!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof d);return _t<=d&&d<A},is0:d=>d===_t,isValidNot0:d=>!u.is0(d)&&u.isValid(d),isOdd:d=>(d&Ft)===Ft,neg:d=>ht(-d,A),eql:(d,E)=>d===E,sqr:d=>ht(d*d,A),add:(d,E)=>ht(d+E,A),sub:(d,E)=>ht(d-E,A),mul:(d,E)=>ht(d*E,A),pow:(d,E)=>Im(u,d,E),div:(d,E)=>ht(d*gQ(E,A),A),sqrN:d=>d*d,addN:(d,E)=>d+E,subN:(d,E)=>d-E,mulN:(d,E)=>d*E,inv:d=>gQ(d,A),sqrt:r||(d=>(l||(l=lm(A)),l(u,d))),toBytes:d=>t?Rl(d,Q):Oa(d,Q),fromBytes:(d,E=!0)=>{if(a){if(!a.includes(d.length)||d.length>Q)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+d.length);const p=new Uint8Array(Q);p.set(d,t?0:p.length-d.length),d=p}if(d.length!==Q)throw new Error("Field.fromBytes: expected "+Q+" bytes, got "+d.length);let C=t?gr(d):Rn(d);if(i&&(C=ht(C,A)),!E&&!u.isValid(C))throw new Error("invalid field element: outside of range 0..ORDER");return C},invertBatch:d=>Hl(u,d),cmov:(d,E,C)=>C?E:d});return Object.freeze(u)}function Wl(A){if(typeof A!="bigint")throw new Error("field order must be bigint");const e=A.toString(2).length;return Math.ceil(e/8)}function zl(A){const e=Wl(A);return e+Math.ceil(e/2)}function um(A,e,t=!1){const s=A.length,n=Wl(e),r=zl(e);if(s<16||s<r||s>1024)throw new Error("expected "+r+"-1024 bytes of input, got "+s);const i=t?gr(A):Rn(A),a=ht(i,e-Ft)+Ft;return t?Rl(a,n):Oa(a,n)}const Ls=BigInt(0),gs=BigInt(1);function En(A,e){const t=e.negate();return A?t:e}function Qs(A,e){const t=Hl(A.Fp,e.map(s=>s.Z));return e.map((s,n)=>A.fromAffine(s.toAffine(t[n])))}function Vl(A,e){if(!Number.isSafeInteger(A)||A<=0||A>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+A)}function ri(A,e){Vl(A,e);const t=Math.ceil(e/A)+1,s=2**(A-1),n=2**A,r=xr(A),i=BigInt(A);return{windows:t,windowSize:s,mask:r,maxNumber:n,shiftBy:i}}function BQ(A,e,t){const{windowSize:s,mask:n,maxNumber:r,shiftBy:i}=t;let a=Number(A&n),g=A>>i;a>s&&(a-=r,g+=gs);const Q=e*s,l=Q+Math.abs(a)-1,u=a===0,d=a<0,E=e%2!==0;return{nextN:g,offset:l,isZero:u,isNeg:d,isNegF:E,offsetF:Q}}function dm(A,e){if(!Array.isArray(A))throw new Error("array expected");A.forEach((t,s)=>{if(!(t instanceof e))throw new Error("invalid point at index "+s)})}function hm(A,e){if(!Array.isArray(A))throw new Error("array of scalars expected");A.forEach((t,s)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+s)})}const ni=new WeakMap,Zl=new WeakMap;function ii(A){return Zl.get(A)||1}function lQ(A){if(A!==Ls)throw new Error("invalid wNAF")}class _l{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,s=this.ZERO){let n=e;for(;t>Ls;)t&gs&&(s=s.add(n)),n=n.double(),t>>=gs;return s}precomputeWindow(e,t){const{windows:s,windowSize:n}=ri(t,this.bits),r=[];let i=e,a=i;for(let g=0;g<s;g++){a=i,r.push(a);for(let Q=1;Q<n;Q++)a=a.add(i),r.push(a);i=a.double()}return r}wNAF(e,t,s){if(!this.Fn.isValid(s))throw new Error("invalid scalar");let n=this.ZERO,r=this.BASE;const i=ri(e,this.bits);for(let a=0;a<i.windows;a++){const{nextN:g,offset:Q,isZero:l,isNeg:u,isNegF:d,offsetF:E}=BQ(s,a,i);s=g,l?r=r.add(En(d,t[E])):n=n.add(En(u,t[Q]))}return lQ(s),{p:n,f:r}}wNAFUnsafe(e,t,s,n=this.ZERO){const r=ri(e,this.bits);for(let i=0;i<r.windows&&s!==Ls;i++){const{nextN:a,offset:g,isZero:Q,isNeg:l}=BQ(s,i,r);if(s=a,!Q){const u=t[g];n=n.add(l?u.negate():u)}}return lQ(s),n}getPrecomputes(e,t,s){let n=ni.get(t);return n||(n=this.precomputeWindow(t,e),e!==1&&(typeof s=="function"&&(n=s(n)),ni.set(t,n))),n}cached(e,t,s){const n=ii(e);return this.wNAF(n,this.getPrecomputes(n,e,s),t)}unsafe(e,t,s,n){const r=ii(e);return r===1?this._unsafeLadder(e,t,n):this.wNAFUnsafe(r,this.getPrecomputes(r,e,s),t,n)}createCache(e,t){Vl(t,this.bits),Zl.set(e,t),ni.delete(e)}hasCache(e){return ii(e)!==1}}function fm(A,e,t,s){let n=e,r=A.ZERO,i=A.ZERO;for(;t>Ls||s>Ls;)t&gs&&(r=r.add(n)),s&gs&&(i=i.add(n)),n=n.double(),t>>=gs,s>>=gs;return{p1:r,p2:i}}function Xl(A,e,t,s){dm(t,A),hm(s,e);const n=t.length,r=s.length;if(n!==r)throw new Error("arrays of points and scalars must have equal length");const i=A.ZERO,a=Kl(BigInt(n));let g=1;a>12?g=a-3:a>4?g=a-2:a>0&&(g=2);const Q=xr(g),l=new Array(Number(Q)+1).fill(i),u=Math.floor((e.BITS-1)/g)*g;let d=i;for(let E=u;E>=0;E-=g){l.fill(i);for(let p=0;p<r;p++){const f=s[p],M=Number(f>>BigInt(E)&Q);l[M]=l[M].add(t[p])}let C=i;for(let p=l.length-1,f=i;p>0;p--)f=f.add(l[p]),C=C.add(f);if(d=d.add(C),E!==0)for(let p=0;p<g;p++)d=d.double()}return d}function EQ(A,e,t){if(e){if(e.ORDER!==A)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Cm(e),e}else return ws(A,{isLE:t})}function $l(A,e,t={},s){if(s===void 0&&(s=A==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${A} CURVE object`);for(const g of["p","n","h"]){const Q=e[g];if(!(typeof Q=="bigint"&&Q>Ls))throw new Error(`CURVE.${g} must be positive bigint`)}const n=EQ(e.p,t.Fp,s),r=EQ(e.n,t.Fn,s),a=["Gx","Gy","a",A==="weierstrass"?"b":"d"];for(const g of a)if(!n.isValid(e[g]))throw new Error(`CURVE.${g} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:n,Fn:r}}const Wo=BigInt(0),wt=BigInt(1),ai=BigInt(2),pm=BigInt(8);function mm(A,e,t,s){const n=A.sqr(t),r=A.sqr(s),i=A.add(A.mul(e.a,n),r),a=A.add(A.ONE,A.mul(e.d,A.mul(n,r)));return A.eql(i,a)}function wm(A,e={}){const t=$l("edwards",A,e,e.FpFnLE),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i}=r;Dr(e,{},{uvRatio:"function"});const a=ai<<BigInt(n.BYTES*8)-wt,g=f=>s.create(f),Q=e.uvRatio||((f,M)=>{try{return{isValid:!0,value:s.sqrt(s.div(f,M))}}catch{return{isValid:!1,value:Wo}}});if(!mm(s,r,r.Gx,r.Gy))throw new Error("bad curve params: generator point");function l(f,M,S=!1){const N=S?wt:Wo;return ea("coordinate "+f,M,N,a),M}function u(f){if(!(f instanceof C))throw new Error("ExtendedPoint expected")}const d=ln((f,M)=>{const{X:S,Y:N,Z:T}=f,L=f.is0();M==null&&(M=L?pm:s.inv(T));const Z=g(S*M),AA=g(N*M),_=s.mul(T,M);if(L)return{x:Wo,y:wt};if(_!==wt)throw new Error("invZ was invalid");return{x:Z,y:AA}}),E=ln(f=>{const{a:M,d:S}=r;if(f.is0())throw new Error("bad point: ZERO");const{X:N,Y:T,Z:L,T:Z}=f,AA=g(N*N),_=g(T*T),J=g(L*L),P=g(J*J),b=g(AA*M),K=g(J*g(b+_)),w=g(P+g(S*g(AA*_)));if(K!==w)throw new Error("bad point: equation left != right (1)");const B=g(N*T),I=g(L*Z);if(B!==I)throw new Error("bad point: equation left != right (2)");return!0});class C{constructor(M,S,N,T){this.X=l("x",M),this.Y=l("y",S),this.Z=l("z",N,!0),this.T=l("t",T),Object.freeze(this)}static CURVE(){return r}static fromAffine(M){if(M instanceof C)throw new Error("extended point not allowed");const{x:S,y:N}=M||{};return l("x",S),l("y",N),new C(S,N,wt,g(S*N))}static fromBytes(M,S=!1){const N=s.BYTES,{a:T,d:L}=r;M=aQ(lo(M,N,"point")),us(S,"zip215");const Z=aQ(M),AA=M[N-1];Z[N-1]=AA&-129;const _=gr(Z),J=S?a:s.ORDER;ea("point.y",_,Wo,J);const P=g(_*_),b=g(P-wt),K=g(L*P-T);let{isValid:w,value:B}=Q(b,K);if(!w)throw new Error("bad point: invalid y coordinate");const I=(B&wt)===wt,y=(AA&128)!==0;if(!S&&B===Wo&&y)throw new Error("bad point: x=0 and x_0=1");return y!==I&&(B=g(-B)),C.fromAffine({x:B,y:_})}static fromHex(M,S=!1){return C.fromBytes(lt("point",M),S)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(M=8,S=!0){return p.createCache(this,M),S||this.multiply(ai),this}assertValidity(){E(this)}equals(M){u(M);const{X:S,Y:N,Z:T}=this,{X:L,Y:Z,Z:AA}=M,_=g(S*AA),J=g(L*T),P=g(N*AA),b=g(Z*T);return _===J&&P===b}is0(){return this.equals(C.ZERO)}negate(){return new C(g(-this.X),this.Y,this.Z,g(-this.T))}double(){const{a:M}=r,{X:S,Y:N,Z:T}=this,L=g(S*S),Z=g(N*N),AA=g(ai*g(T*T)),_=g(M*L),J=S+N,P=g(g(J*J)-L-Z),b=_+Z,K=b-AA,w=_-Z,B=g(P*K),I=g(b*w),y=g(P*w),G=g(K*b);return new C(B,I,G,y)}add(M){u(M);const{a:S,d:N}=r,{X:T,Y:L,Z,T:AA}=this,{X:_,Y:J,Z:P,T:b}=M,K=g(T*_),w=g(L*J),B=g(AA*N*b),I=g(Z*P),y=g((T+L)*(_+J)-K-w),G=I-B,j=I+B,O=g(w-S*K),z=g(y*G),v=g(j*O),c=g(y*O),h=g(G*j);return new C(z,v,h,c)}subtract(M){return this.add(M.negate())}multiply(M){if(!n.isValidNot0(M))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:S,f:N}=p.cached(this,M,T=>Qs(C,T));return Qs(C,[S,N])[0]}multiplyUnsafe(M,S=C.ZERO){if(!n.isValid(M))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return M===Wo?C.ZERO:this.is0()||M===wt?this:p.unsafe(this,M,N=>Qs(C,N),S)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return p.unsafe(this,r.n).is0()}toAffine(M){return d(this,M)}clearCofactor(){return i===wt?this:this.multiplyUnsafe(i)}toBytes(){const{x:M,y:S}=this.toAffine(),N=s.toBytes(S);return N[N.length-1]|=M&wt?128:0,N}toHex(){return ls(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(M){return Qs(C,M)}static msm(M,S){return Xl(C,n,M,S)}_setWindowSize(M){this.precompute(M)}toRawBytes(){return this.toBytes()}}C.BASE=new C(r.Gx,r.Gy,wt,g(r.Gx*r.Gy)),C.ZERO=new C(Wo,wt,wt,Wo),C.Fp=s,C.Fn=n;const p=new _l(C,n.BITS);return C.BASE.precompute(8),C}function xm(A,e,t={}){if(typeof e!="function")throw new Error('"hash" function param is required');Dr(t,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:s}=t,{BASE:n,Fp:r,Fn:i}=A,a=t.randomBytes||ja,g=t.adjustScalarBytes||(J=>J),Q=t.domain||((J,P,b)=>{if(us(b,"phflag"),P.length||b)throw new Error("Contexts/pre-hash are not supported");return J});function l(J){return i.create(gr(J))}function u(J){const P=N.secretKey;J=lt("private key",J,P);const b=lt("hashed private key",e(J),2*P),K=g(b.slice(0,P)),w=b.slice(P,2*P),B=l(K);return{head:K,prefix:w,scalar:B}}function d(J){const{head:P,prefix:b,scalar:K}=u(J),w=n.multiply(K),B=w.toBytes();return{head:P,prefix:b,scalar:K,point:w,pointBytes:B}}function E(J){return d(J).pointBytes}function C(J=Uint8Array.of(),...P){const b=Do(...P);return l(e(Q(b,lt("context",J),!!s)))}function p(J,P,b={}){J=lt("message",J),s&&(J=s(J));const{prefix:K,scalar:w,pointBytes:B}=d(P),I=C(b.context,K,J),y=n.multiply(I).toBytes(),G=C(b.context,y,B,J),j=i.create(I+G*w);if(!i.isValid(j))throw new Error("sign failed: invalid s");const O=Do(y,i.toBytes(j));return lo(O,N.signature,"result")}const f={zip215:!0};function M(J,P,b,K=f){const{context:w,zip215:B}=K,I=N.signature;J=lt("signature",J,I),P=lt("message",P),b=lt("publicKey",b,N.publicKey),B!==void 0&&us(B,"zip215"),s&&(P=s(P));const y=I/2,G=J.subarray(0,y),j=gr(J.subarray(y,I));let O,z,v;try{O=A.fromBytes(b,B),z=A.fromBytes(G,B),v=n.multiplyUnsafe(j)}catch{return!1}if(!B&&O.isSmallOrder())return!1;const c=C(w,z.toBytes(),O.toBytes(),P);return z.add(O.multiplyUnsafe(c)).subtract(v).clearCofactor().is0()}const S=r.BYTES,N={secretKey:S,publicKey:S,signature:2*S,seed:S};function T(J=a(N.seed)){return lo(J,N.seed,"seed")}function L(J){const P=_.randomSecretKey(J);return{secretKey:P,publicKey:E(P)}}function Z(J){return wr(J)&&J.length===i.BYTES}function AA(J,P){try{return!!A.fromBytes(J,P)}catch{return!1}}const _={getExtendedPublicKey:d,randomSecretKey:T,isValidSecretKey:Z,isValidPublicKey:AA,toMontgomery(J){const{y:P}=A.fromBytes(J),b=N.publicKey,K=b===32;if(!K&&b!==57)throw new Error("only defined for 25519 and 448");const w=K?r.div(wt+P,wt-P):r.div(P-wt,P+wt);return r.toBytes(w)},toMontgomerySecret(J){const P=N.secretKey;lo(J,P);const b=e(J.subarray(0,P));return g(b).subarray(0,P)},randomPrivateKey:T,precompute(J=8,P=A.BASE){return P.precompute(J,!1)}};return Object.freeze({keygen:L,getPublicKey:E,sign:p,verify:M,utils:_,Point:A,lengths:N})}function Dm(A){const e={a:A.a,d:A.d,p:A.Fp.ORDER,n:A.n,h:A.h,Gx:A.Gx,Gy:A.Gy},t=A.Fp,s=ws(e.n,A.nBitLength,!0),n={Fp:t,Fn:s,uvRatio:A.uvRatio},r={randomBytes:A.randomBytes,adjustScalarBytes:A.adjustScalarBytes,domain:A.domain,prehash:A.prehash,mapToCurve:A.mapToCurve};return{CURVE:e,curveOpts:n,hash:A.hash,eddsaOpts:r}}function ym(A,e){const t=e.Point;return Object.assign({},e,{ExtendedPoint:t,CURVE:A,nBitLength:t.Fn.BITS,nByteLength:t.Fn.BYTES})}function Nm(A){const{CURVE:e,curveOpts:t,hash:s,eddsaOpts:n}=Dm(A),r=wm(e,t),i=xm(r,s,n);return ym(A,i)}const km=BigInt(1),cQ=BigInt(2);BigInt(3);const Mm=BigInt(5),bm=BigInt(8),Ya=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),AE={p:Ya,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:bm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Fm(A){const e=BigInt(10),t=BigInt(20),s=BigInt(40),n=BigInt(80),r=Ya,a=A*A%r*A%r,g=Bt(a,cQ,r)*a%r,Q=Bt(g,km,r)*A%r,l=Bt(Q,Mm,r)*Q%r,u=Bt(l,e,r)*l%r,d=Bt(u,t,r)*u%r,E=Bt(d,s,r)*d%r,C=Bt(E,n,r)*E%r,p=Bt(C,n,r)*E%r,f=Bt(p,e,r)*l%r;return{pow_p_5_8:Bt(f,cQ,r)*A%r,b2:a}}function Gm(A){return A[0]&=248,A[31]&=127,A[31]|=64,A}const CQ=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function vm(A,e){const t=Ya,s=ht(e*e*e,t),n=ht(s*s*e,t),r=Fm(A*n).pow_p_5_8;let i=ht(A*s*r,t);const a=ht(e*i*i,t),g=i,Q=ht(i*CQ,t),l=a===A,u=a===ht(-A,t),d=a===ht(-A*CQ,t);return l&&(i=g),(u||d)&&(i=Q),Em(i,t)&&(i=ht(-i,t)),{isValid:l||u,value:i}}const Sm=ws(AE.p,{isLE:!0}),Um={...AE,Fp:Sm,hash:rm,adjustScalarBytes:Gm,uvRatio:vm},Kn=Nm(Um);var $r={exports:{}};const Rm={},Km=Object.freeze(Object.defineProperty({__proto__:null,default:Rm},Symbol.toStringTag,{value:"Module"})),eE=Qa(Km);var Jm=$r.exports,IQ;function tE(){return IQ||(IQ=1,(function(A){(function(e,t){function s(w,B){if(!w)throw new Error(B||"Assertion failed")}function n(w,B){w.super_=B;var I=function(){};I.prototype=B.prototype,w.prototype=new I,w.prototype.constructor=w}function r(w,B,I){if(r.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,w!==null&&((B==="le"||B==="be")&&(I=B,B=10),this._init(w||0,B||10,I||"be"))}typeof e=="object"?e.exports=r:t.BN=r,r.BN=r,r.wordSize=26;var i;try{typeof window<"u"&&typeof window.Buffer<"u"?i=window.Buffer:i=eE.Buffer}catch{}r.isBN=function(B){return B instanceof r?!0:B!==null&&typeof B=="object"&&B.constructor.wordSize===r.wordSize&&Array.isArray(B.words)},r.max=function(B,I){return B.cmp(I)>0?B:I},r.min=function(B,I){return B.cmp(I)<0?B:I},r.prototype._init=function(B,I,y){if(typeof B=="number")return this._initNumber(B,I,y);if(typeof B=="object")return this._initArray(B,I,y);I==="hex"&&(I=16),s(I===(I|0)&&I>=2&&I<=36),B=B.toString().replace(/\s+/g,"");var G=0;B[0]==="-"&&(G++,this.negative=1),G<B.length&&(I===16?this._parseHex(B,G,y):(this._parseBase(B,I,G),y==="le"&&this._initArray(this.toArray(),I,y)))},r.prototype._initNumber=function(B,I,y){B<0&&(this.negative=1,B=-B),B<67108864?(this.words=[B&67108863],this.length=1):B<4503599627370496?(this.words=[B&67108863,B/67108864&67108863],this.length=2):(s(B<9007199254740992),this.words=[B&67108863,B/67108864&67108863,1],this.length=3),y==="le"&&this._initArray(this.toArray(),I,y)},r.prototype._initArray=function(B,I,y){if(s(typeof B.length=="number"),B.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(B.length/3),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var j,O,z=0;if(y==="be")for(G=B.length-1,j=0;G>=0;G-=3)O=B[G]|B[G-1]<<8|B[G-2]<<16,this.words[j]|=O<<z&67108863,this.words[j+1]=O>>>26-z&67108863,z+=24,z>=26&&(z-=26,j++);else if(y==="le")for(G=0,j=0;G<B.length;G+=3)O=B[G]|B[G+1]<<8|B[G+2]<<16,this.words[j]|=O<<z&67108863,this.words[j+1]=O>>>26-z&67108863,z+=24,z>=26&&(z-=26,j++);return this._strip()};function a(w,B){var I=w.charCodeAt(B);if(I>=48&&I<=57)return I-48;if(I>=65&&I<=70)return I-55;if(I>=97&&I<=102)return I-87;s(!1,"Invalid character in "+w)}function g(w,B,I){var y=a(w,I);return I-1>=B&&(y|=a(w,I-1)<<4),y}r.prototype._parseHex=function(B,I,y){this.length=Math.ceil((B.length-I)/6),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var j=0,O=0,z;if(y==="be")for(G=B.length-1;G>=I;G-=2)z=g(B,I,G)<<j,this.words[O]|=z&67108863,j>=18?(j-=18,O+=1,this.words[O]|=z>>>26):j+=8;else{var v=B.length-I;for(G=v%2===0?I+1:I;G<B.length;G+=2)z=g(B,I,G)<<j,this.words[O]|=z&67108863,j>=18?(j-=18,O+=1,this.words[O]|=z>>>26):j+=8}this._strip()};function Q(w,B,I,y){for(var G=0,j=0,O=Math.min(w.length,I),z=B;z<O;z++){var v=w.charCodeAt(z)-48;G*=y,v>=49?j=v-49+10:v>=17?j=v-17+10:j=v,s(v>=0&&j<y,"Invalid character"),G+=j}return G}r.prototype._parseBase=function(B,I,y){this.words=[0],this.length=1;for(var G=0,j=1;j<=67108863;j*=I)G++;G--,j=j/I|0;for(var O=B.length-y,z=O%G,v=Math.min(O,O-z)+y,c=0,h=y;h<v;h+=G)c=Q(B,h,h+G,I),this.imuln(j),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(z!==0){var U=1;for(c=Q(B,h,B.length,I),h=0;h<z;h++)U*=I;this.imuln(U),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this._strip()},r.prototype.copy=function(B){B.words=new Array(this.length);for(var I=0;I<this.length;I++)B.words[I]=this.words[I];B.length=this.length,B.negative=this.negative,B.red=this.red};function l(w,B){w.words=B.words,w.length=B.length,w.negative=B.negative,w.red=B.red}if(r.prototype._move=function(B){l(B,this)},r.prototype.clone=function(){var B=new r(null);return this.copy(B),B},r.prototype._expand=function(B){for(;this.length<B;)this.words[this.length++]=0;return this},r.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},r.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{r.prototype[Symbol.for("nodejs.util.inspect.custom")]=u}catch{r.prototype.inspect=u}else r.prototype.inspect=u;function u(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],E=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],C=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];r.prototype.toString=function(B,I){B=B||10,I=I|0||1;var y;if(B===16||B==="hex"){y="";for(var G=0,j=0,O=0;O<this.length;O++){var z=this.words[O],v=((z<<G|j)&16777215).toString(16);j=z>>>24-G&16777215,G+=2,G>=26&&(G-=26,O--),j!==0||O!==this.length-1?y=d[6-v.length]+v+y:y=v+y}for(j!==0&&(y=j.toString(16)+y);y.length%I!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}if(B===(B|0)&&B>=2&&B<=36){var c=E[B],h=C[B];y="";var U=this.clone();for(U.negative=0;!U.isZero();){var R=U.modrn(h).toString(B);U=U.idivn(h),U.isZero()?y=R+y:y=d[c-R.length]+R+y}for(this.isZero()&&(y="0"+y);y.length%I!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}s(!1,"Base should be between 2 and 36")},r.prototype.toNumber=function(){var B=this.words[0];return this.length===2?B+=this.words[1]*67108864:this.length===3&&this.words[2]===1?B+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-B:B},r.prototype.toJSON=function(){return this.toString(16,2)},i&&(r.prototype.toBuffer=function(B,I){return this.toArrayLike(i,B,I)}),r.prototype.toArray=function(B,I){return this.toArrayLike(Array,B,I)};var p=function(B,I){return B.allocUnsafe?B.allocUnsafe(I):new B(I)};r.prototype.toArrayLike=function(B,I,y){this._strip();var G=this.byteLength(),j=y||Math.max(1,G);s(G<=j,"byte array longer than desired length"),s(j>0,"Requested array length <= 0");var O=p(B,j),z=I==="le"?"LE":"BE";return this["_toArrayLike"+z](O,G),O},r.prototype._toArrayLikeLE=function(B,I){for(var y=0,G=0,j=0,O=0;j<this.length;j++){var z=this.words[j]<<O|G;B[y++]=z&255,y<B.length&&(B[y++]=z>>8&255),y<B.length&&(B[y++]=z>>16&255),O===6?(y<B.length&&(B[y++]=z>>24&255),G=0,O=0):(G=z>>>24,O+=2)}if(y<B.length)for(B[y++]=G;y<B.length;)B[y++]=0},r.prototype._toArrayLikeBE=function(B,I){for(var y=B.length-1,G=0,j=0,O=0;j<this.length;j++){var z=this.words[j]<<O|G;B[y--]=z&255,y>=0&&(B[y--]=z>>8&255),y>=0&&(B[y--]=z>>16&255),O===6?(y>=0&&(B[y--]=z>>24&255),G=0,O=0):(G=z>>>24,O+=2)}if(y>=0)for(B[y--]=G;y>=0;)B[y--]=0},Math.clz32?r.prototype._countBits=function(B){return 32-Math.clz32(B)}:r.prototype._countBits=function(B){var I=B,y=0;return I>=4096&&(y+=13,I>>>=13),I>=64&&(y+=7,I>>>=7),I>=8&&(y+=4,I>>>=4),I>=2&&(y+=2,I>>>=2),y+I},r.prototype._zeroBits=function(B){if(B===0)return 26;var I=B,y=0;return(I&8191)===0&&(y+=13,I>>>=13),(I&127)===0&&(y+=7,I>>>=7),(I&15)===0&&(y+=4,I>>>=4),(I&3)===0&&(y+=2,I>>>=2),(I&1)===0&&y++,y},r.prototype.bitLength=function(){var B=this.words[this.length-1],I=this._countBits(B);return(this.length-1)*26+I};function f(w){for(var B=new Array(w.bitLength()),I=0;I<B.length;I++){var y=I/26|0,G=I%26;B[I]=w.words[y]>>>G&1}return B}r.prototype.zeroBits=function(){if(this.isZero())return 0;for(var B=0,I=0;I<this.length;I++){var y=this._zeroBits(this.words[I]);if(B+=y,y!==26)break}return B},r.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},r.prototype.toTwos=function(B){return this.negative!==0?this.abs().inotn(B).iaddn(1):this.clone()},r.prototype.fromTwos=function(B){return this.testn(B-1)?this.notn(B).iaddn(1).ineg():this.clone()},r.prototype.isNeg=function(){return this.negative!==0},r.prototype.neg=function(){return this.clone().ineg()},r.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},r.prototype.iuor=function(B){for(;this.length<B.length;)this.words[this.length++]=0;for(var I=0;I<B.length;I++)this.words[I]=this.words[I]|B.words[I];return this._strip()},r.prototype.ior=function(B){return s((this.negative|B.negative)===0),this.iuor(B)},r.prototype.or=function(B){return this.length>B.length?this.clone().ior(B):B.clone().ior(this)},r.prototype.uor=function(B){return this.length>B.length?this.clone().iuor(B):B.clone().iuor(this)},r.prototype.iuand=function(B){var I;this.length>B.length?I=B:I=this;for(var y=0;y<I.length;y++)this.words[y]=this.words[y]&B.words[y];return this.length=I.length,this._strip()},r.prototype.iand=function(B){return s((this.negative|B.negative)===0),this.iuand(B)},r.prototype.and=function(B){return this.length>B.length?this.clone().iand(B):B.clone().iand(this)},r.prototype.uand=function(B){return this.length>B.length?this.clone().iuand(B):B.clone().iuand(this)},r.prototype.iuxor=function(B){var I,y;this.length>B.length?(I=this,y=B):(I=B,y=this);for(var G=0;G<y.length;G++)this.words[G]=I.words[G]^y.words[G];if(this!==I)for(;G<I.length;G++)this.words[G]=I.words[G];return this.length=I.length,this._strip()},r.prototype.ixor=function(B){return s((this.negative|B.negative)===0),this.iuxor(B)},r.prototype.xor=function(B){return this.length>B.length?this.clone().ixor(B):B.clone().ixor(this)},r.prototype.uxor=function(B){return this.length>B.length?this.clone().iuxor(B):B.clone().iuxor(this)},r.prototype.inotn=function(B){s(typeof B=="number"&&B>=0);var I=Math.ceil(B/26)|0,y=B%26;this._expand(I),y>0&&I--;for(var G=0;G<I;G++)this.words[G]=~this.words[G]&67108863;return y>0&&(this.words[G]=~this.words[G]&67108863>>26-y),this._strip()},r.prototype.notn=function(B){return this.clone().inotn(B)},r.prototype.setn=function(B,I){s(typeof B=="number"&&B>=0);var y=B/26|0,G=B%26;return this._expand(y+1),I?this.words[y]=this.words[y]|1<<G:this.words[y]=this.words[y]&~(1<<G),this._strip()},r.prototype.iadd=function(B){var I;if(this.negative!==0&&B.negative===0)return this.negative=0,I=this.isub(B),this.negative^=1,this._normSign();if(this.negative===0&&B.negative!==0)return B.negative=0,I=this.isub(B),B.negative=1,I._normSign();var y,G;this.length>B.length?(y=this,G=B):(y=B,G=this);for(var j=0,O=0;O<G.length;O++)I=(y.words[O]|0)+(G.words[O]|0)+j,this.words[O]=I&67108863,j=I>>>26;for(;j!==0&&O<y.length;O++)I=(y.words[O]|0)+j,this.words[O]=I&67108863,j=I>>>26;if(this.length=y.length,j!==0)this.words[this.length]=j,this.length++;else if(y!==this)for(;O<y.length;O++)this.words[O]=y.words[O];return this},r.prototype.add=function(B){var I;return B.negative!==0&&this.negative===0?(B.negative=0,I=this.sub(B),B.negative^=1,I):B.negative===0&&this.negative!==0?(this.negative=0,I=B.sub(this),this.negative=1,I):this.length>B.length?this.clone().iadd(B):B.clone().iadd(this)},r.prototype.isub=function(B){if(B.negative!==0){B.negative=0;var I=this.iadd(B);return B.negative=1,I._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(B),this.negative=1,this._normSign();var y=this.cmp(B);if(y===0)return this.negative=0,this.length=1,this.words[0]=0,this;var G,j;y>0?(G=this,j=B):(G=B,j=this);for(var O=0,z=0;z<j.length;z++)I=(G.words[z]|0)-(j.words[z]|0)+O,O=I>>26,this.words[z]=I&67108863;for(;O!==0&&z<G.length;z++)I=(G.words[z]|0)+O,O=I>>26,this.words[z]=I&67108863;if(O===0&&z<G.length&&G!==this)for(;z<G.length;z++)this.words[z]=G.words[z];return this.length=Math.max(this.length,z),G!==this&&(this.negative=1),this._strip()},r.prototype.sub=function(B){return this.clone().isub(B)};function M(w,B,I){I.negative=B.negative^w.negative;var y=w.length+B.length|0;I.length=y,y=y-1|0;var G=w.words[0]|0,j=B.words[0]|0,O=G*j,z=O&67108863,v=O/67108864|0;I.words[0]=z;for(var c=1;c<y;c++){for(var h=v>>>26,U=v&67108863,R=Math.min(c,B.length-1),X=Math.max(0,c-w.length+1);X<=R;X++){var tA=c-X|0;G=w.words[tA]|0,j=B.words[X]|0,O=G*j+U,h+=O/67108864|0,U=O&67108863}I.words[c]=U|0,v=h|0}return v!==0?I.words[c]=v|0:I.length--,I._strip()}var S=function(B,I,y){var G=B.words,j=I.words,O=y.words,z=0,v,c,h,U=G[0]|0,R=U&8191,X=U>>>13,tA=G[1]|0,uA=tA&8191,aA=tA>>>13,KA=G[2]|0,PA=KA&8191,dA=KA>>>13,ZA=G[3]|0,ne=ZA&8191,Ee=ZA>>>13,FA=G[4]|0,RA=FA&8191,Be=FA>>>13,ye=G[5]|0,ue=ye&8191,Ne=ye>>>13,MA=G[6]|0,WA=MA&8191,_A=MA>>>13,Oe=G[7]|0,le=Oe&8191,q=Oe>>>13,x=G[8]|0,k=x&8191,V=x>>>13,eA=G[9]|0,iA=eA&8191,QA=eA>>>13,zA=j[0]|0,VA=zA&8191,YA=zA>>>13,pe=j[1]|0,HA=pe&8191,Re=pe>>>13,zt=j[2]|0,ze=zt&8191,Ve=zt>>>13,Fo=j[3]|0,ke=Fo&8191,Ge=Fo>>>13,yt=j[4]|0,qe=yt&8191,LA=yt>>>13,dt=j[5]|0,et=dt&8191,Me=dt>>>13,es=j[6]|0,F=es&8191,Y=es>>>13,H=j[7]|0,m=H&8191,W=H>>>13,rA=j[8]|0,oA=rA&8191,CA=rA>>>13,xA=j[9]|0,bA=xA&8191,DA=xA>>>13;y.negative=B.negative^I.negative,y.length=19,v=Math.imul(R,VA),c=Math.imul(R,YA),c=c+Math.imul(X,VA)|0,h=Math.imul(X,YA);var me=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(me>>>26)|0,me&=67108863,v=Math.imul(uA,VA),c=Math.imul(uA,YA),c=c+Math.imul(aA,VA)|0,h=Math.imul(aA,YA),v=v+Math.imul(R,HA)|0,c=c+Math.imul(R,Re)|0,c=c+Math.imul(X,HA)|0,h=h+Math.imul(X,Re)|0;var UA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(UA>>>26)|0,UA&=67108863,v=Math.imul(PA,VA),c=Math.imul(PA,YA),c=c+Math.imul(dA,VA)|0,h=Math.imul(dA,YA),v=v+Math.imul(uA,HA)|0,c=c+Math.imul(uA,Re)|0,c=c+Math.imul(aA,HA)|0,h=h+Math.imul(aA,Re)|0,v=v+Math.imul(R,ze)|0,c=c+Math.imul(R,Ve)|0,c=c+Math.imul(X,ze)|0,h=h+Math.imul(X,Ve)|0;var ee=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(ee>>>26)|0,ee&=67108863,v=Math.imul(ne,VA),c=Math.imul(ne,YA),c=c+Math.imul(Ee,VA)|0,h=Math.imul(Ee,YA),v=v+Math.imul(PA,HA)|0,c=c+Math.imul(PA,Re)|0,c=c+Math.imul(dA,HA)|0,h=h+Math.imul(dA,Re)|0,v=v+Math.imul(uA,ze)|0,c=c+Math.imul(uA,Ve)|0,c=c+Math.imul(aA,ze)|0,h=h+Math.imul(aA,Ve)|0,v=v+Math.imul(R,ke)|0,c=c+Math.imul(R,Ge)|0,c=c+Math.imul(X,ke)|0,h=h+Math.imul(X,Ge)|0;var XA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(XA>>>26)|0,XA&=67108863,v=Math.imul(RA,VA),c=Math.imul(RA,YA),c=c+Math.imul(Be,VA)|0,h=Math.imul(Be,YA),v=v+Math.imul(ne,HA)|0,c=c+Math.imul(ne,Re)|0,c=c+Math.imul(Ee,HA)|0,h=h+Math.imul(Ee,Re)|0,v=v+Math.imul(PA,ze)|0,c=c+Math.imul(PA,Ve)|0,c=c+Math.imul(dA,ze)|0,h=h+Math.imul(dA,Ve)|0,v=v+Math.imul(uA,ke)|0,c=c+Math.imul(uA,Ge)|0,c=c+Math.imul(aA,ke)|0,h=h+Math.imul(aA,Ge)|0,v=v+Math.imul(R,qe)|0,c=c+Math.imul(R,LA)|0,c=c+Math.imul(X,qe)|0,h=h+Math.imul(X,LA)|0;var ie=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(ie>>>26)|0,ie&=67108863,v=Math.imul(ue,VA),c=Math.imul(ue,YA),c=c+Math.imul(Ne,VA)|0,h=Math.imul(Ne,YA),v=v+Math.imul(RA,HA)|0,c=c+Math.imul(RA,Re)|0,c=c+Math.imul(Be,HA)|0,h=h+Math.imul(Be,Re)|0,v=v+Math.imul(ne,ze)|0,c=c+Math.imul(ne,Ve)|0,c=c+Math.imul(Ee,ze)|0,h=h+Math.imul(Ee,Ve)|0,v=v+Math.imul(PA,ke)|0,c=c+Math.imul(PA,Ge)|0,c=c+Math.imul(dA,ke)|0,h=h+Math.imul(dA,Ge)|0,v=v+Math.imul(uA,qe)|0,c=c+Math.imul(uA,LA)|0,c=c+Math.imul(aA,qe)|0,h=h+Math.imul(aA,LA)|0,v=v+Math.imul(R,et)|0,c=c+Math.imul(R,Me)|0,c=c+Math.imul(X,et)|0,h=h+Math.imul(X,Me)|0;var re=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(re>>>26)|0,re&=67108863,v=Math.imul(WA,VA),c=Math.imul(WA,YA),c=c+Math.imul(_A,VA)|0,h=Math.imul(_A,YA),v=v+Math.imul(ue,HA)|0,c=c+Math.imul(ue,Re)|0,c=c+Math.imul(Ne,HA)|0,h=h+Math.imul(Ne,Re)|0,v=v+Math.imul(RA,ze)|0,c=c+Math.imul(RA,Ve)|0,c=c+Math.imul(Be,ze)|0,h=h+Math.imul(Be,Ve)|0,v=v+Math.imul(ne,ke)|0,c=c+Math.imul(ne,Ge)|0,c=c+Math.imul(Ee,ke)|0,h=h+Math.imul(Ee,Ge)|0,v=v+Math.imul(PA,qe)|0,c=c+Math.imul(PA,LA)|0,c=c+Math.imul(dA,qe)|0,h=h+Math.imul(dA,LA)|0,v=v+Math.imul(uA,et)|0,c=c+Math.imul(uA,Me)|0,c=c+Math.imul(aA,et)|0,h=h+Math.imul(aA,Me)|0,v=v+Math.imul(R,F)|0,c=c+Math.imul(R,Y)|0,c=c+Math.imul(X,F)|0,h=h+Math.imul(X,Y)|0;var te=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(te>>>26)|0,te&=67108863,v=Math.imul(le,VA),c=Math.imul(le,YA),c=c+Math.imul(q,VA)|0,h=Math.imul(q,YA),v=v+Math.imul(WA,HA)|0,c=c+Math.imul(WA,Re)|0,c=c+Math.imul(_A,HA)|0,h=h+Math.imul(_A,Re)|0,v=v+Math.imul(ue,ze)|0,c=c+Math.imul(ue,Ve)|0,c=c+Math.imul(Ne,ze)|0,h=h+Math.imul(Ne,Ve)|0,v=v+Math.imul(RA,ke)|0,c=c+Math.imul(RA,Ge)|0,c=c+Math.imul(Be,ke)|0,h=h+Math.imul(Be,Ge)|0,v=v+Math.imul(ne,qe)|0,c=c+Math.imul(ne,LA)|0,c=c+Math.imul(Ee,qe)|0,h=h+Math.imul(Ee,LA)|0,v=v+Math.imul(PA,et)|0,c=c+Math.imul(PA,Me)|0,c=c+Math.imul(dA,et)|0,h=h+Math.imul(dA,Me)|0,v=v+Math.imul(uA,F)|0,c=c+Math.imul(uA,Y)|0,c=c+Math.imul(aA,F)|0,h=h+Math.imul(aA,Y)|0,v=v+Math.imul(R,m)|0,c=c+Math.imul(R,W)|0,c=c+Math.imul(X,m)|0,h=h+Math.imul(X,W)|0;var $A=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+($A>>>26)|0,$A&=67108863,v=Math.imul(k,VA),c=Math.imul(k,YA),c=c+Math.imul(V,VA)|0,h=Math.imul(V,YA),v=v+Math.imul(le,HA)|0,c=c+Math.imul(le,Re)|0,c=c+Math.imul(q,HA)|0,h=h+Math.imul(q,Re)|0,v=v+Math.imul(WA,ze)|0,c=c+Math.imul(WA,Ve)|0,c=c+Math.imul(_A,ze)|0,h=h+Math.imul(_A,Ve)|0,v=v+Math.imul(ue,ke)|0,c=c+Math.imul(ue,Ge)|0,c=c+Math.imul(Ne,ke)|0,h=h+Math.imul(Ne,Ge)|0,v=v+Math.imul(RA,qe)|0,c=c+Math.imul(RA,LA)|0,c=c+Math.imul(Be,qe)|0,h=h+Math.imul(Be,LA)|0,v=v+Math.imul(ne,et)|0,c=c+Math.imul(ne,Me)|0,c=c+Math.imul(Ee,et)|0,h=h+Math.imul(Ee,Me)|0,v=v+Math.imul(PA,F)|0,c=c+Math.imul(PA,Y)|0,c=c+Math.imul(dA,F)|0,h=h+Math.imul(dA,Y)|0,v=v+Math.imul(uA,m)|0,c=c+Math.imul(uA,W)|0,c=c+Math.imul(aA,m)|0,h=h+Math.imul(aA,W)|0,v=v+Math.imul(R,oA)|0,c=c+Math.imul(R,CA)|0,c=c+Math.imul(X,oA)|0,h=h+Math.imul(X,CA)|0;var oe=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(oe>>>26)|0,oe&=67108863,v=Math.imul(iA,VA),c=Math.imul(iA,YA),c=c+Math.imul(QA,VA)|0,h=Math.imul(QA,YA),v=v+Math.imul(k,HA)|0,c=c+Math.imul(k,Re)|0,c=c+Math.imul(V,HA)|0,h=h+Math.imul(V,Re)|0,v=v+Math.imul(le,ze)|0,c=c+Math.imul(le,Ve)|0,c=c+Math.imul(q,ze)|0,h=h+Math.imul(q,Ve)|0,v=v+Math.imul(WA,ke)|0,c=c+Math.imul(WA,Ge)|0,c=c+Math.imul(_A,ke)|0,h=h+Math.imul(_A,Ge)|0,v=v+Math.imul(ue,qe)|0,c=c+Math.imul(ue,LA)|0,c=c+Math.imul(Ne,qe)|0,h=h+Math.imul(Ne,LA)|0,v=v+Math.imul(RA,et)|0,c=c+Math.imul(RA,Me)|0,c=c+Math.imul(Be,et)|0,h=h+Math.imul(Be,Me)|0,v=v+Math.imul(ne,F)|0,c=c+Math.imul(ne,Y)|0,c=c+Math.imul(Ee,F)|0,h=h+Math.imul(Ee,Y)|0,v=v+Math.imul(PA,m)|0,c=c+Math.imul(PA,W)|0,c=c+Math.imul(dA,m)|0,h=h+Math.imul(dA,W)|0,v=v+Math.imul(uA,oA)|0,c=c+Math.imul(uA,CA)|0,c=c+Math.imul(aA,oA)|0,h=h+Math.imul(aA,CA)|0,v=v+Math.imul(R,bA)|0,c=c+Math.imul(R,DA)|0,c=c+Math.imul(X,bA)|0,h=h+Math.imul(X,DA)|0;var nA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(nA>>>26)|0,nA&=67108863,v=Math.imul(iA,HA),c=Math.imul(iA,Re),c=c+Math.imul(QA,HA)|0,h=Math.imul(QA,Re),v=v+Math.imul(k,ze)|0,c=c+Math.imul(k,Ve)|0,c=c+Math.imul(V,ze)|0,h=h+Math.imul(V,Ve)|0,v=v+Math.imul(le,ke)|0,c=c+Math.imul(le,Ge)|0,c=c+Math.imul(q,ke)|0,h=h+Math.imul(q,Ge)|0,v=v+Math.imul(WA,qe)|0,c=c+Math.imul(WA,LA)|0,c=c+Math.imul(_A,qe)|0,h=h+Math.imul(_A,LA)|0,v=v+Math.imul(ue,et)|0,c=c+Math.imul(ue,Me)|0,c=c+Math.imul(Ne,et)|0,h=h+Math.imul(Ne,Me)|0,v=v+Math.imul(RA,F)|0,c=c+Math.imul(RA,Y)|0,c=c+Math.imul(Be,F)|0,h=h+Math.imul(Be,Y)|0,v=v+Math.imul(ne,m)|0,c=c+Math.imul(ne,W)|0,c=c+Math.imul(Ee,m)|0,h=h+Math.imul(Ee,W)|0,v=v+Math.imul(PA,oA)|0,c=c+Math.imul(PA,CA)|0,c=c+Math.imul(dA,oA)|0,h=h+Math.imul(dA,CA)|0,v=v+Math.imul(uA,bA)|0,c=c+Math.imul(uA,DA)|0,c=c+Math.imul(aA,bA)|0,h=h+Math.imul(aA,DA)|0;var vA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(vA>>>26)|0,vA&=67108863,v=Math.imul(iA,ze),c=Math.imul(iA,Ve),c=c+Math.imul(QA,ze)|0,h=Math.imul(QA,Ve),v=v+Math.imul(k,ke)|0,c=c+Math.imul(k,Ge)|0,c=c+Math.imul(V,ke)|0,h=h+Math.imul(V,Ge)|0,v=v+Math.imul(le,qe)|0,c=c+Math.imul(le,LA)|0,c=c+Math.imul(q,qe)|0,h=h+Math.imul(q,LA)|0,v=v+Math.imul(WA,et)|0,c=c+Math.imul(WA,Me)|0,c=c+Math.imul(_A,et)|0,h=h+Math.imul(_A,Me)|0,v=v+Math.imul(ue,F)|0,c=c+Math.imul(ue,Y)|0,c=c+Math.imul(Ne,F)|0,h=h+Math.imul(Ne,Y)|0,v=v+Math.imul(RA,m)|0,c=c+Math.imul(RA,W)|0,c=c+Math.imul(Be,m)|0,h=h+Math.imul(Be,W)|0,v=v+Math.imul(ne,oA)|0,c=c+Math.imul(ne,CA)|0,c=c+Math.imul(Ee,oA)|0,h=h+Math.imul(Ee,CA)|0,v=v+Math.imul(PA,bA)|0,c=c+Math.imul(PA,DA)|0,c=c+Math.imul(dA,bA)|0,h=h+Math.imul(dA,DA)|0;var kA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(kA>>>26)|0,kA&=67108863,v=Math.imul(iA,ke),c=Math.imul(iA,Ge),c=c+Math.imul(QA,ke)|0,h=Math.imul(QA,Ge),v=v+Math.imul(k,qe)|0,c=c+Math.imul(k,LA)|0,c=c+Math.imul(V,qe)|0,h=h+Math.imul(V,LA)|0,v=v+Math.imul(le,et)|0,c=c+Math.imul(le,Me)|0,c=c+Math.imul(q,et)|0,h=h+Math.imul(q,Me)|0,v=v+Math.imul(WA,F)|0,c=c+Math.imul(WA,Y)|0,c=c+Math.imul(_A,F)|0,h=h+Math.imul(_A,Y)|0,v=v+Math.imul(ue,m)|0,c=c+Math.imul(ue,W)|0,c=c+Math.imul(Ne,m)|0,h=h+Math.imul(Ne,W)|0,v=v+Math.imul(RA,oA)|0,c=c+Math.imul(RA,CA)|0,c=c+Math.imul(Be,oA)|0,h=h+Math.imul(Be,CA)|0,v=v+Math.imul(ne,bA)|0,c=c+Math.imul(ne,DA)|0,c=c+Math.imul(Ee,bA)|0,h=h+Math.imul(Ee,DA)|0;var JA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(JA>>>26)|0,JA&=67108863,v=Math.imul(iA,qe),c=Math.imul(iA,LA),c=c+Math.imul(QA,qe)|0,h=Math.imul(QA,LA),v=v+Math.imul(k,et)|0,c=c+Math.imul(k,Me)|0,c=c+Math.imul(V,et)|0,h=h+Math.imul(V,Me)|0,v=v+Math.imul(le,F)|0,c=c+Math.imul(le,Y)|0,c=c+Math.imul(q,F)|0,h=h+Math.imul(q,Y)|0,v=v+Math.imul(WA,m)|0,c=c+Math.imul(WA,W)|0,c=c+Math.imul(_A,m)|0,h=h+Math.imul(_A,W)|0,v=v+Math.imul(ue,oA)|0,c=c+Math.imul(ue,CA)|0,c=c+Math.imul(Ne,oA)|0,h=h+Math.imul(Ne,CA)|0,v=v+Math.imul(RA,bA)|0,c=c+Math.imul(RA,DA)|0,c=c+Math.imul(Be,bA)|0,h=h+Math.imul(Be,DA)|0;var jA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(jA>>>26)|0,jA&=67108863,v=Math.imul(iA,et),c=Math.imul(iA,Me),c=c+Math.imul(QA,et)|0,h=Math.imul(QA,Me),v=v+Math.imul(k,F)|0,c=c+Math.imul(k,Y)|0,c=c+Math.imul(V,F)|0,h=h+Math.imul(V,Y)|0,v=v+Math.imul(le,m)|0,c=c+Math.imul(le,W)|0,c=c+Math.imul(q,m)|0,h=h+Math.imul(q,W)|0,v=v+Math.imul(WA,oA)|0,c=c+Math.imul(WA,CA)|0,c=c+Math.imul(_A,oA)|0,h=h+Math.imul(_A,CA)|0,v=v+Math.imul(ue,bA)|0,c=c+Math.imul(ue,DA)|0,c=c+Math.imul(Ne,bA)|0,h=h+Math.imul(Ne,DA)|0;var SA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(SA>>>26)|0,SA&=67108863,v=Math.imul(iA,F),c=Math.imul(iA,Y),c=c+Math.imul(QA,F)|0,h=Math.imul(QA,Y),v=v+Math.imul(k,m)|0,c=c+Math.imul(k,W)|0,c=c+Math.imul(V,m)|0,h=h+Math.imul(V,W)|0,v=v+Math.imul(le,oA)|0,c=c+Math.imul(le,CA)|0,c=c+Math.imul(q,oA)|0,h=h+Math.imul(q,CA)|0,v=v+Math.imul(WA,bA)|0,c=c+Math.imul(WA,DA)|0,c=c+Math.imul(_A,bA)|0,h=h+Math.imul(_A,DA)|0;var lA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(lA>>>26)|0,lA&=67108863,v=Math.imul(iA,m),c=Math.imul(iA,W),c=c+Math.imul(QA,m)|0,h=Math.imul(QA,W),v=v+Math.imul(k,oA)|0,c=c+Math.imul(k,CA)|0,c=c+Math.imul(V,oA)|0,h=h+Math.imul(V,CA)|0,v=v+Math.imul(le,bA)|0,c=c+Math.imul(le,DA)|0,c=c+Math.imul(q,bA)|0,h=h+Math.imul(q,DA)|0;var EA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(EA>>>26)|0,EA&=67108863,v=Math.imul(iA,oA),c=Math.imul(iA,CA),c=c+Math.imul(QA,oA)|0,h=Math.imul(QA,CA),v=v+Math.imul(k,bA)|0,c=c+Math.imul(k,DA)|0,c=c+Math.imul(V,bA)|0,h=h+Math.imul(V,DA)|0;var pA=(z+v|0)+((c&8191)<<13)|0;z=(h+(c>>>13)|0)+(pA>>>26)|0,pA&=67108863,v=Math.imul(iA,bA),c=Math.imul(iA,DA),c=c+Math.imul(QA,bA)|0,h=Math.imul(QA,DA);var hA=(z+v|0)+((c&8191)<<13)|0;return z=(h+(c>>>13)|0)+(hA>>>26)|0,hA&=67108863,O[0]=me,O[1]=UA,O[2]=ee,O[3]=XA,O[4]=ie,O[5]=re,O[6]=te,O[7]=$A,O[8]=oe,O[9]=nA,O[10]=vA,O[11]=kA,O[12]=JA,O[13]=jA,O[14]=SA,O[15]=lA,O[16]=EA,O[17]=pA,O[18]=hA,z!==0&&(O[19]=z,y.length++),y};Math.imul||(S=M);function N(w,B,I){I.negative=B.negative^w.negative,I.length=w.length+B.length;for(var y=0,G=0,j=0;j<I.length-1;j++){var O=G;G=0;for(var z=y&67108863,v=Math.min(j,B.length-1),c=Math.max(0,j-w.length+1);c<=v;c++){var h=j-c,U=w.words[h]|0,R=B.words[c]|0,X=U*R,tA=X&67108863;O=O+(X/67108864|0)|0,tA=tA+z|0,z=tA&67108863,O=O+(tA>>>26)|0,G+=O>>>26,O&=67108863}I.words[j]=z,y=O,O=G}return y!==0?I.words[j]=y:I.length--,I._strip()}function T(w,B,I){return N(w,B,I)}r.prototype.mulTo=function(B,I){var y,G=this.length+B.length;return this.length===10&&B.length===10?y=S(this,B,I):G<63?y=M(this,B,I):G<1024?y=N(this,B,I):y=T(this,B,I),y},r.prototype.mul=function(B){var I=new r(null);return I.words=new Array(this.length+B.length),this.mulTo(B,I)},r.prototype.mulf=function(B){var I=new r(null);return I.words=new Array(this.length+B.length),T(this,B,I)},r.prototype.imul=function(B){return this.clone().mulTo(B,this)},r.prototype.imuln=function(B){var I=B<0;I&&(B=-B),s(typeof B=="number"),s(B<67108864);for(var y=0,G=0;G<this.length;G++){var j=(this.words[G]|0)*B,O=(j&67108863)+(y&67108863);y>>=26,y+=j/67108864|0,y+=O>>>26,this.words[G]=O&67108863}return y!==0&&(this.words[G]=y,this.length++),this.length=B===0?1:this.length,I?this.ineg():this},r.prototype.muln=function(B){return this.clone().imuln(B)},r.prototype.sqr=function(){return this.mul(this)},r.prototype.isqr=function(){return this.imul(this.clone())},r.prototype.pow=function(B){var I=f(B);if(I.length===0)return new r(1);for(var y=this,G=0;G<I.length&&I[G]===0;G++,y=y.sqr());if(++G<I.length)for(var j=y.sqr();G<I.length;G++,j=j.sqr())I[G]!==0&&(y=y.mul(j));return y},r.prototype.iushln=function(B){s(typeof B=="number"&&B>=0);var I=B%26,y=(B-I)/26,G=67108863>>>26-I<<26-I,j;if(I!==0){var O=0;for(j=0;j<this.length;j++){var z=this.words[j]&G,v=(this.words[j]|0)-z<<I;this.words[j]=v|O,O=z>>>26-I}O&&(this.words[j]=O,this.length++)}if(y!==0){for(j=this.length-1;j>=0;j--)this.words[j+y]=this.words[j];for(j=0;j<y;j++)this.words[j]=0;this.length+=y}return this._strip()},r.prototype.ishln=function(B){return s(this.negative===0),this.iushln(B)},r.prototype.iushrn=function(B,I,y){s(typeof B=="number"&&B>=0);var G;I?G=(I-I%26)/26:G=0;var j=B%26,O=Math.min((B-j)/26,this.length),z=67108863^67108863>>>j<<j,v=y;if(G-=O,G=Math.max(0,G),v){for(var c=0;c<O;c++)v.words[c]=this.words[c];v.length=O}if(O!==0)if(this.length>O)for(this.length-=O,c=0;c<this.length;c++)this.words[c]=this.words[c+O];else this.words[0]=0,this.length=1;var h=0;for(c=this.length-1;c>=0&&(h!==0||c>=G);c--){var U=this.words[c]|0;this.words[c]=h<<26-j|U>>>j,h=U&z}return v&&h!==0&&(v.words[v.length++]=h),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},r.prototype.ishrn=function(B,I,y){return s(this.negative===0),this.iushrn(B,I,y)},r.prototype.shln=function(B){return this.clone().ishln(B)},r.prototype.ushln=function(B){return this.clone().iushln(B)},r.prototype.shrn=function(B){return this.clone().ishrn(B)},r.prototype.ushrn=function(B){return this.clone().iushrn(B)},r.prototype.testn=function(B){s(typeof B=="number"&&B>=0);var I=B%26,y=(B-I)/26,G=1<<I;if(this.length<=y)return!1;var j=this.words[y];return!!(j&G)},r.prototype.imaskn=function(B){s(typeof B=="number"&&B>=0);var I=B%26,y=(B-I)/26;if(s(this.negative===0,"imaskn works only with positive numbers"),this.length<=y)return this;if(I!==0&&y++,this.length=Math.min(y,this.length),I!==0){var G=67108863^67108863>>>I<<I;this.words[this.length-1]&=G}return this.length===0&&(this.words[0]=0,this.length=1),this._strip()},r.prototype.maskn=function(B){return this.clone().imaskn(B)},r.prototype.iaddn=function(B){return s(typeof B=="number"),s(B<67108864),B<0?this.isubn(-B):this.negative!==0?this.length===1&&(this.words[0]|0)<=B?(this.words[0]=B-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(B),this.negative=1,this):this._iaddn(B)},r.prototype._iaddn=function(B){this.words[0]+=B;for(var I=0;I<this.length&&this.words[I]>=67108864;I++)this.words[I]-=67108864,I===this.length-1?this.words[I+1]=1:this.words[I+1]++;return this.length=Math.max(this.length,I+1),this},r.prototype.isubn=function(B){if(s(typeof B=="number"),s(B<67108864),B<0)return this.iaddn(-B);if(this.negative!==0)return this.negative=0,this.iaddn(B),this.negative=1,this;if(this.words[0]-=B,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var I=0;I<this.length&&this.words[I]<0;I++)this.words[I]+=67108864,this.words[I+1]-=1;return this._strip()},r.prototype.addn=function(B){return this.clone().iaddn(B)},r.prototype.subn=function(B){return this.clone().isubn(B)},r.prototype.iabs=function(){return this.negative=0,this},r.prototype.abs=function(){return this.clone().iabs()},r.prototype._ishlnsubmul=function(B,I,y){var G=B.length+y,j;this._expand(G);var O,z=0;for(j=0;j<B.length;j++){O=(this.words[j+y]|0)+z;var v=(B.words[j]|0)*I;O-=v&67108863,z=(O>>26)-(v/67108864|0),this.words[j+y]=O&67108863}for(;j<this.length-y;j++)O=(this.words[j+y]|0)+z,z=O>>26,this.words[j+y]=O&67108863;if(z===0)return this._strip();for(s(z===-1),z=0,j=0;j<this.length;j++)O=-(this.words[j]|0)+z,z=O>>26,this.words[j]=O&67108863;return this.negative=1,this._strip()},r.prototype._wordDiv=function(B,I){var y=this.length-B.length,G=this.clone(),j=B,O=j.words[j.length-1]|0,z=this._countBits(O);y=26-z,y!==0&&(j=j.ushln(y),G.iushln(y),O=j.words[j.length-1]|0);var v=G.length-j.length,c;if(I!=="mod"){c=new r(null),c.length=v+1,c.words=new Array(c.length);for(var h=0;h<c.length;h++)c.words[h]=0}var U=G.clone()._ishlnsubmul(j,1,v);U.negative===0&&(G=U,c&&(c.words[v]=1));for(var R=v-1;R>=0;R--){var X=(G.words[j.length+R]|0)*67108864+(G.words[j.length+R-1]|0);for(X=Math.min(X/O|0,67108863),G._ishlnsubmul(j,X,R);G.negative!==0;)X--,G.negative=0,G._ishlnsubmul(j,1,R),G.isZero()||(G.negative^=1);c&&(c.words[R]=X)}return c&&c._strip(),G._strip(),I!=="div"&&y!==0&&G.iushrn(y),{div:c||null,mod:G}},r.prototype.divmod=function(B,I,y){if(s(!B.isZero()),this.isZero())return{div:new r(0),mod:new r(0)};var G,j,O;return this.negative!==0&&B.negative===0?(O=this.neg().divmod(B,I),I!=="mod"&&(G=O.div.neg()),I!=="div"&&(j=O.mod.neg(),y&&j.negative!==0&&j.iadd(B)),{div:G,mod:j}):this.negative===0&&B.negative!==0?(O=this.divmod(B.neg(),I),I!=="mod"&&(G=O.div.neg()),{div:G,mod:O.mod}):(this.negative&B.negative)!==0?(O=this.neg().divmod(B.neg(),I),I!=="div"&&(j=O.mod.neg(),y&&j.negative!==0&&j.isub(B)),{div:O.div,mod:j}):B.length>this.length||this.cmp(B)<0?{div:new r(0),mod:this}:B.length===1?I==="div"?{div:this.divn(B.words[0]),mod:null}:I==="mod"?{div:null,mod:new r(this.modrn(B.words[0]))}:{div:this.divn(B.words[0]),mod:new r(this.modrn(B.words[0]))}:this._wordDiv(B,I)},r.prototype.div=function(B){return this.divmod(B,"div",!1).div},r.prototype.mod=function(B){return this.divmod(B,"mod",!1).mod},r.prototype.umod=function(B){return this.divmod(B,"mod",!0).mod},r.prototype.divRound=function(B){var I=this.divmod(B);if(I.mod.isZero())return I.div;var y=I.div.negative!==0?I.mod.isub(B):I.mod,G=B.ushrn(1),j=B.andln(1),O=y.cmp(G);return O<0||j===1&&O===0?I.div:I.div.negative!==0?I.div.isubn(1):I.div.iaddn(1)},r.prototype.modrn=function(B){var I=B<0;I&&(B=-B),s(B<=67108863);for(var y=(1<<26)%B,G=0,j=this.length-1;j>=0;j--)G=(y*G+(this.words[j]|0))%B;return I?-G:G},r.prototype.modn=function(B){return this.modrn(B)},r.prototype.idivn=function(B){var I=B<0;I&&(B=-B),s(B<=67108863);for(var y=0,G=this.length-1;G>=0;G--){var j=(this.words[G]|0)+y*67108864;this.words[G]=j/B|0,y=j%B}return this._strip(),I?this.ineg():this},r.prototype.divn=function(B){return this.clone().idivn(B)},r.prototype.egcd=function(B){s(B.negative===0),s(!B.isZero());var I=this,y=B.clone();I.negative!==0?I=I.umod(B):I=I.clone();for(var G=new r(1),j=new r(0),O=new r(0),z=new r(1),v=0;I.isEven()&&y.isEven();)I.iushrn(1),y.iushrn(1),++v;for(var c=y.clone(),h=I.clone();!I.isZero();){for(var U=0,R=1;(I.words[0]&R)===0&&U<26;++U,R<<=1);if(U>0)for(I.iushrn(U);U-- >0;)(G.isOdd()||j.isOdd())&&(G.iadd(c),j.isub(h)),G.iushrn(1),j.iushrn(1);for(var X=0,tA=1;(y.words[0]&tA)===0&&X<26;++X,tA<<=1);if(X>0)for(y.iushrn(X);X-- >0;)(O.isOdd()||z.isOdd())&&(O.iadd(c),z.isub(h)),O.iushrn(1),z.iushrn(1);I.cmp(y)>=0?(I.isub(y),G.isub(O),j.isub(z)):(y.isub(I),O.isub(G),z.isub(j))}return{a:O,b:z,gcd:y.iushln(v)}},r.prototype._invmp=function(B){s(B.negative===0),s(!B.isZero());var I=this,y=B.clone();I.negative!==0?I=I.umod(B):I=I.clone();for(var G=new r(1),j=new r(0),O=y.clone();I.cmpn(1)>0&&y.cmpn(1)>0;){for(var z=0,v=1;(I.words[0]&v)===0&&z<26;++z,v<<=1);if(z>0)for(I.iushrn(z);z-- >0;)G.isOdd()&&G.iadd(O),G.iushrn(1);for(var c=0,h=1;(y.words[0]&h)===0&&c<26;++c,h<<=1);if(c>0)for(y.iushrn(c);c-- >0;)j.isOdd()&&j.iadd(O),j.iushrn(1);I.cmp(y)>=0?(I.isub(y),G.isub(j)):(y.isub(I),j.isub(G))}var U;return I.cmpn(1)===0?U=G:U=j,U.cmpn(0)<0&&U.iadd(B),U},r.prototype.gcd=function(B){if(this.isZero())return B.abs();if(B.isZero())return this.abs();var I=this.clone(),y=B.clone();I.negative=0,y.negative=0;for(var G=0;I.isEven()&&y.isEven();G++)I.iushrn(1),y.iushrn(1);do{for(;I.isEven();)I.iushrn(1);for(;y.isEven();)y.iushrn(1);var j=I.cmp(y);if(j<0){var O=I;I=y,y=O}else if(j===0||y.cmpn(1)===0)break;I.isub(y)}while(!0);return y.iushln(G)},r.prototype.invm=function(B){return this.egcd(B).a.umod(B)},r.prototype.isEven=function(){return(this.words[0]&1)===0},r.prototype.isOdd=function(){return(this.words[0]&1)===1},r.prototype.andln=function(B){return this.words[0]&B},r.prototype.bincn=function(B){s(typeof B=="number");var I=B%26,y=(B-I)/26,G=1<<I;if(this.length<=y)return this._expand(y+1),this.words[y]|=G,this;for(var j=G,O=y;j!==0&&O<this.length;O++){var z=this.words[O]|0;z+=j,j=z>>>26,z&=67108863,this.words[O]=z}return j!==0&&(this.words[O]=j,this.length++),this},r.prototype.isZero=function(){return this.length===1&&this.words[0]===0},r.prototype.cmpn=function(B){var I=B<0;if(this.negative!==0&&!I)return-1;if(this.negative===0&&I)return 1;this._strip();var y;if(this.length>1)y=1;else{I&&(B=-B),s(B<=67108863,"Number is too big");var G=this.words[0]|0;y=G===B?0:G<B?-1:1}return this.negative!==0?-y|0:y},r.prototype.cmp=function(B){if(this.negative!==0&&B.negative===0)return-1;if(this.negative===0&&B.negative!==0)return 1;var I=this.ucmp(B);return this.negative!==0?-I|0:I},r.prototype.ucmp=function(B){if(this.length>B.length)return 1;if(this.length<B.length)return-1;for(var I=0,y=this.length-1;y>=0;y--){var G=this.words[y]|0,j=B.words[y]|0;if(G!==j){G<j?I=-1:G>j&&(I=1);break}}return I},r.prototype.gtn=function(B){return this.cmpn(B)===1},r.prototype.gt=function(B){return this.cmp(B)===1},r.prototype.gten=function(B){return this.cmpn(B)>=0},r.prototype.gte=function(B){return this.cmp(B)>=0},r.prototype.ltn=function(B){return this.cmpn(B)===-1},r.prototype.lt=function(B){return this.cmp(B)===-1},r.prototype.lten=function(B){return this.cmpn(B)<=0},r.prototype.lte=function(B){return this.cmp(B)<=0},r.prototype.eqn=function(B){return this.cmpn(B)===0},r.prototype.eq=function(B){return this.cmp(B)===0},r.red=function(B){return new b(B)},r.prototype.toRed=function(B){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),B.convertTo(this)._forceRed(B)},r.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},r.prototype._forceRed=function(B){return this.red=B,this},r.prototype.forceRed=function(B){return s(!this.red,"Already a number in reduction context"),this._forceRed(B)},r.prototype.redAdd=function(B){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,B)},r.prototype.redIAdd=function(B){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,B)},r.prototype.redSub=function(B){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,B)},r.prototype.redISub=function(B){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,B)},r.prototype.redShl=function(B){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,B)},r.prototype.redMul=function(B){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.mul(this,B)},r.prototype.redIMul=function(B){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.imul(this,B)},r.prototype.redSqr=function(){return s(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},r.prototype.redISqr=function(){return s(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},r.prototype.redSqrt=function(){return s(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},r.prototype.redInvm=function(){return s(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},r.prototype.redNeg=function(){return s(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},r.prototype.redPow=function(B){return s(this.red&&!B.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,B)};var L={k256:null,p224:null,p192:null,p25519:null};function Z(w,B){this.name=w,this.p=new r(B,16),this.n=this.p.bitLength(),this.k=new r(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}Z.prototype._tmp=function(){var B=new r(null);return B.words=new Array(Math.ceil(this.n/13)),B},Z.prototype.ireduce=function(B){var I=B,y;do this.split(I,this.tmp),I=this.imulK(I),I=I.iadd(this.tmp),y=I.bitLength();while(y>this.n);var G=y<this.n?-1:I.ucmp(this.p);return G===0?(I.words[0]=0,I.length=1):G>0?I.isub(this.p):I.strip!==void 0?I.strip():I._strip(),I},Z.prototype.split=function(B,I){B.iushrn(this.n,0,I)},Z.prototype.imulK=function(B){return B.imul(this.k)};function AA(){Z.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(AA,Z),AA.prototype.split=function(B,I){for(var y=4194303,G=Math.min(B.length,9),j=0;j<G;j++)I.words[j]=B.words[j];if(I.length=G,B.length<=9){B.words[0]=0,B.length=1;return}var O=B.words[9];for(I.words[I.length++]=O&y,j=10;j<B.length;j++){var z=B.words[j]|0;B.words[j-10]=(z&y)<<4|O>>>22,O=z}O>>>=22,B.words[j-10]=O,O===0&&B.length>10?B.length-=10:B.length-=9},AA.prototype.imulK=function(B){B.words[B.length]=0,B.words[B.length+1]=0,B.length+=2;for(var I=0,y=0;y<B.length;y++){var G=B.words[y]|0;I+=G*977,B.words[y]=I&67108863,I=G*64+(I/67108864|0)}return B.words[B.length-1]===0&&(B.length--,B.words[B.length-1]===0&&B.length--),B};function _(){Z.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(_,Z);function J(){Z.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(J,Z);function P(){Z.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(P,Z),P.prototype.imulK=function(B){for(var I=0,y=0;y<B.length;y++){var G=(B.words[y]|0)*19+I,j=G&67108863;G>>>=26,B.words[y]=j,I=G}return I!==0&&(B.words[B.length++]=I),B},r._prime=function(B){if(L[B])return L[B];var I;if(B==="k256")I=new AA;else if(B==="p224")I=new _;else if(B==="p192")I=new J;else if(B==="p25519")I=new P;else throw new Error("Unknown prime "+B);return L[B]=I,I};function b(w){if(typeof w=="string"){var B=r._prime(w);this.m=B.p,this.prime=B}else s(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}b.prototype._verify1=function(B){s(B.negative===0,"red works only with positives"),s(B.red,"red works only with red numbers")},b.prototype._verify2=function(B,I){s((B.negative|I.negative)===0,"red works only with positives"),s(B.red&&B.red===I.red,"red works only with red numbers")},b.prototype.imod=function(B){return this.prime?this.prime.ireduce(B)._forceRed(this):(l(B,B.umod(this.m)._forceRed(this)),B)},b.prototype.neg=function(B){return B.isZero()?B.clone():this.m.sub(B)._forceRed(this)},b.prototype.add=function(B,I){this._verify2(B,I);var y=B.add(I);return y.cmp(this.m)>=0&&y.isub(this.m),y._forceRed(this)},b.prototype.iadd=function(B,I){this._verify2(B,I);var y=B.iadd(I);return y.cmp(this.m)>=0&&y.isub(this.m),y},b.prototype.sub=function(B,I){this._verify2(B,I);var y=B.sub(I);return y.cmpn(0)<0&&y.iadd(this.m),y._forceRed(this)},b.prototype.isub=function(B,I){this._verify2(B,I);var y=B.isub(I);return y.cmpn(0)<0&&y.iadd(this.m),y},b.prototype.shl=function(B,I){return this._verify1(B),this.imod(B.ushln(I))},b.prototype.imul=function(B,I){return this._verify2(B,I),this.imod(B.imul(I))},b.prototype.mul=function(B,I){return this._verify2(B,I),this.imod(B.mul(I))},b.prototype.isqr=function(B){return this.imul(B,B.clone())},b.prototype.sqr=function(B){return this.mul(B,B)},b.prototype.sqrt=function(B){if(B.isZero())return B.clone();var I=this.m.andln(3);if(s(I%2===1),I===3){var y=this.m.add(new r(1)).iushrn(2);return this.pow(B,y)}for(var G=this.m.subn(1),j=0;!G.isZero()&&G.andln(1)===0;)j++,G.iushrn(1);s(!G.isZero());var O=new r(1).toRed(this),z=O.redNeg(),v=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new r(2*c*c).toRed(this);this.pow(c,v).cmp(z)!==0;)c.redIAdd(z);for(var h=this.pow(c,G),U=this.pow(B,G.addn(1).iushrn(1)),R=this.pow(B,G),X=j;R.cmp(O)!==0;){for(var tA=R,uA=0;tA.cmp(O)!==0;uA++)tA=tA.redSqr();s(uA<X);var aA=this.pow(h,new r(1).iushln(X-uA-1));U=U.redMul(aA),h=aA.redSqr(),R=R.redMul(h),X=uA}return U},b.prototype.invm=function(B){var I=B._invmp(this.m);return I.negative!==0?(I.negative=0,this.imod(I).redNeg()):this.imod(I)},b.prototype.pow=function(B,I){if(I.isZero())return new r(1).toRed(this);if(I.cmpn(1)===0)return B.clone();var y=4,G=new Array(1<<y);G[0]=new r(1).toRed(this),G[1]=B;for(var j=2;j<G.length;j++)G[j]=this.mul(G[j-1],B);var O=G[0],z=0,v=0,c=I.bitLength()%26;for(c===0&&(c=26),j=I.length-1;j>=0;j--){for(var h=I.words[j],U=c-1;U>=0;U--){var R=h>>U&1;if(O!==G[0]&&(O=this.sqr(O)),R===0&&z===0){v=0;continue}z<<=1,z|=R,v++,!(v!==y&&(j!==0||U!==0))&&(O=this.mul(O,G[z]),v=0,z=0)}c=26}return O},b.prototype.convertTo=function(B){var I=B.umod(this.m);return I===B?I.clone():I},b.prototype.convertFrom=function(B){var I=B.clone();return I.red=null,I},r.mont=function(B){return new K(B)};function K(w){b.call(this,w),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new r(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(K,b),K.prototype.convertTo=function(B){return this.imod(B.ushln(this.shift))},K.prototype.convertFrom=function(B){var I=this.imod(B.mul(this.rinv));return I.red=null,I},K.prototype.imul=function(B,I){if(B.isZero()||I.isZero())return B.words[0]=0,B.length=1,B;var y=B.imul(I),G=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),j=y.isub(G).iushrn(this.shift),O=j;return j.cmp(this.m)>=0?O=j.isub(this.m):j.cmpn(0)<0&&(O=j.iadd(this.m)),O._forceRed(this)},K.prototype.mul=function(B,I){if(B.isZero()||I.isZero())return new r(0)._forceRed(this);var y=B.mul(I),G=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),j=y.isub(G).iushrn(this.shift),O=j;return j.cmp(this.m)>=0?O=j.isub(this.m):j.cmpn(0)<0&&(O=j.iadd(this.m)),O._forceRed(this)},K.prototype.invm=function(B){var I=this.imod(B._invmp(this.m).mul(this.r2));return I._forceRed(this)}})(A,Jm)})($r)),$r.exports}var Lm=tE();const uQ=tB(Lm);var jr={exports:{}};var dQ;function oE(){return dQ||(dQ=1,(function(A,e){var t=Ja(),s=t.Buffer;function n(i,a){for(var g in i)a[g]=i[g]}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?A.exports=t:(n(t,e),e.Buffer=r);function r(i,a,g){return s(i,a,g)}r.prototype=Object.create(s.prototype),n(s,r),r.from=function(i,a,g){if(typeof i=="number")throw new TypeError("Argument must not be a number");return s(i,a,g)},r.alloc=function(i,a,g){if(typeof i!="number")throw new TypeError("Argument must be a number");var Q=s(i);return a!==void 0?typeof g=="string"?Q.fill(a,g):Q.fill(a):Q.fill(0),Q},r.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return s(i)},r.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(i)}})(jr,jr.exports)),jr.exports}var gi,hQ;function jm(){if(hQ)return gi;hQ=1;var A=oE().Buffer;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),a=i.charCodeAt(0);if(s[a]!==255)throw new TypeError(i+" is ambiguous");s[a]=r}var g=t.length,Q=t.charAt(0),l=Math.log(g)/Math.log(256),u=Math.log(256)/Math.log(g);function d(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=A.from(p)),!A.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var f=0,M=0,S=0,N=p.length;S!==N&&p[S]===0;)S++,f++;for(var T=(N-S)*u+1>>>0,L=new Uint8Array(T);S!==N;){for(var Z=p[S],AA=0,_=T-1;(Z!==0||AA<M)&&_!==-1;_--,AA++)Z+=256*L[_]>>>0,L[_]=Z%g>>>0,Z=Z/g>>>0;if(Z!==0)throw new Error("Non-zero carry");M=AA,S++}for(var J=T-M;J!==T&&L[J]===0;)J++;for(var P=Q.repeat(f);J<T;++J)P+=t.charAt(L[J]);return P}function E(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return A.alloc(0);for(var f=0,M=0,S=0;p[f]===Q;)M++,f++;for(var N=(p.length-f)*l+1>>>0,T=new Uint8Array(N);f<p.length;){var L=p.charCodeAt(f);if(L>255)return;var Z=s[L];if(Z===255)return;for(var AA=0,_=N-1;(Z!==0||AA<S)&&_!==-1;_--,AA++)Z+=g*T[_]>>>0,T[_]=Z%256>>>0,Z=Z/256>>>0;if(Z!==0)throw new Error("Non-zero carry");S=AA,f++}for(var J=N-S;J!==N&&T[J]===0;)J++;var P=A.allocUnsafe(M+(N-J));P.fill(0,0,M);for(var b=M;J!==N;)P[b++]=T[J++];return P}function C(p){var f=E(p);if(f)return f;throw new Error("Non-base"+g+" character")}return{encode:d,decodeUnsafe:E,decode:C}}return gi=e,gi}var Qi,fQ;function Tm(){if(fQ)return Qi;fQ=1;var A=jm(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return Qi=A(e),Qi}var Om=Tm();const pQ=tB(Om),mQ=Sl;var Pe={},Bi,wQ;function qm(){if(wQ)return Bi;wQ=1;var A=oE().Buffer;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),a=i.charCodeAt(0);if(s[a]!==255)throw new TypeError(i+" is ambiguous");s[a]=r}var g=t.length,Q=t.charAt(0),l=Math.log(g)/Math.log(256),u=Math.log(256)/Math.log(g);function d(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=A.from(p)),!A.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var f=0,M=0,S=0,N=p.length;S!==N&&p[S]===0;)S++,f++;for(var T=(N-S)*u+1>>>0,L=new Uint8Array(T);S!==N;){for(var Z=p[S],AA=0,_=T-1;(Z!==0||AA<M)&&_!==-1;_--,AA++)Z+=256*L[_]>>>0,L[_]=Z%g>>>0,Z=Z/g>>>0;if(Z!==0)throw new Error("Non-zero carry");M=AA,S++}for(var J=T-M;J!==T&&L[J]===0;)J++;for(var P=Q.repeat(f);J<T;++J)P+=t.charAt(L[J]);return P}function E(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return A.alloc(0);for(var f=0,M=0,S=0;p[f]===Q;)M++,f++;for(var N=(p.length-f)*l+1>>>0,T=new Uint8Array(N);f<p.length;){var L=p.charCodeAt(f);if(L>255)return;var Z=s[L];if(Z===255)return;for(var AA=0,_=N-1;(Z!==0||AA<S)&&_!==-1;_--,AA++)Z+=g*T[_]>>>0,T[_]=Z%256>>>0,Z=Z/256>>>0;if(Z!==0)throw new Error("Non-zero carry");S=AA,f++}for(var J=N-S;J!==N&&T[J]===0;)J++;var P=A.allocUnsafe(M+(N-J));P.fill(0,0,M);for(var b=M;J!==N;)P[b++]=T[J++];return P}function C(p){var f=E(p);if(f)return f;throw new Error("Non-base"+g+" character")}return{encode:d,decodeUnsafe:E,decode:C}}return Bi=e,Bi}var li,xQ;function Ym(){if(xQ)return li;xQ=1;var A=qm(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return li=A(e),li}function Jo(A,e,t){return e<=A&&A<=t}function Jn(A){if(A===void 0)return{};if(A===Object(A))return A;throw TypeError("Could not convert argument to dictionary")}function Hm(A){for(var e=String(A),t=e.length,s=0,n=[];s<t;){var r=e.charCodeAt(s);if(r<55296||r>57343)n.push(r);else if(56320<=r&&r<=57343)n.push(65533);else if(55296<=r&&r<=56319)if(s===t-1)n.push(65533);else{var i=A.charCodeAt(s+1);if(56320<=i&&i<=57343){var a=r&1023,g=i&1023;n.push(65536+(a<<10)+g),s+=1}else n.push(65533)}s+=1}return n}function Pm(A){for(var e="",t=0;t<A.length;++t){var s=A[t];s<=65535?e+=String.fromCharCode(s):(s-=65536,e+=String.fromCharCode((s>>10)+55296,(s&1023)+56320))}return e}var cn=-1;function Ha(A){this.tokens=[].slice.call(A)}Ha.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():cn},prepend:function(A){if(Array.isArray(A))for(var e=A;e.length;)this.tokens.unshift(e.pop());else this.tokens.unshift(A)},push:function(A){if(Array.isArray(A))for(var e=A;e.length;)this.tokens.push(e.shift());else this.tokens.push(A)}};var js=-1;function Ei(A,e){if(A)throw TypeError("Decoder error");return e||65533}var Cn="utf-8";function In(A,e){if(!(this instanceof In))return new In(A,e);if(A=A!==void 0?String(A).toLowerCase():Cn,A!==Cn)throw new Error("Encoding not supported. Only utf-8 is supported");e=Jn(e),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!e.fatal,this._ignoreBOM=!!e.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}In.prototype={decode:function(e,t){var s;typeof e=="object"&&e instanceof ArrayBuffer?s=new Uint8Array(e):typeof e=="object"&&"buffer"in e&&e.buffer instanceof ArrayBuffer?s=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):s=new Uint8Array(0),t=Jn(t),this._streaming||(this._decoder=new Wm({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!t.stream;for(var n=new Ha(s),r=[],i;!n.endOfStream()&&(i=this._decoder.handler(n,n.read()),i!==js);)i!==null&&(Array.isArray(i)?r.push.apply(r,i):r.push(i));if(!this._streaming){do{if(i=this._decoder.handler(n,n.read()),i===js)break;i!==null&&(Array.isArray(i)?r.push.apply(r,i):r.push(i))}while(!n.endOfStream());this._decoder=null}return r.length&&["utf-8"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(r[0]===65279?(this._BOMseen=!0,r.shift()):this._BOMseen=!0),Pm(r)}};function un(A,e){if(!(this instanceof un))return new un(A,e);if(A=A!==void 0?String(A).toLowerCase():Cn,A!==Cn)throw new Error("Encoding not supported. Only utf-8 is supported");e=Jn(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}un.prototype={encode:function(e,t){e=e?String(e):"",t=Jn(t),this._streaming||(this._encoder=new zm(this._options)),this._streaming=!!t.stream;for(var s=[],n=new Ha(Hm(e)),r;!n.endOfStream()&&(r=this._encoder.handler(n,n.read()),r!==js);)Array.isArray(r)?s.push.apply(s,r):s.push(r);if(!this._streaming){for(;r=this._encoder.handler(n,n.read()),r!==js;)Array.isArray(r)?s.push.apply(s,r):s.push(r);this._encoder=null}return new Uint8Array(s)}};function Wm(A){var e=A.fatal,t=0,s=0,n=0,r=128,i=191;this.handler=function(a,g){if(g===cn&&n!==0)return n=0,Ei(e);if(g===cn)return js;if(n===0){if(Jo(g,0,127))return g;if(Jo(g,194,223))n=1,t=g-192;else if(Jo(g,224,239))g===224&&(r=160),g===237&&(i=159),n=2,t=g-224;else if(Jo(g,240,244))g===240&&(r=144),g===244&&(i=143),n=3,t=g-240;else return Ei(e);return t=t<<6*n,null}if(!Jo(g,r,i))return t=n=s=0,r=128,i=191,a.prepend(g),Ei(e);if(r=128,i=191,s+=1,t+=g-128<<6*(n-s),s!==n)return null;var Q=t;return t=n=s=0,Q}}function zm(A){A.fatal,this.handler=function(e,t){if(t===cn)return js;if(Jo(t,0,127))return t;var s,n;Jo(t,128,2047)?(s=1,n=192):Jo(t,2048,65535)?(s=2,n=224):Jo(t,65536,1114111)&&(s=3,n=240);for(var r=[(t>>6*s)+n];s>0;){var i=t>>6*(s-1);r.push(128|i&63),s-=1}return r}}const Vm=Object.freeze(Object.defineProperty({__proto__:null,TextDecoder:In,TextEncoder:un},Symbol.toStringTag,{value:"Module"})),Zm=Qa(Vm);var DQ;function _m(){if(DQ)return Pe;DQ=1;var A=Pe&&Pe.__createBinding||(Object.create?(function(J,P,b,K){K===void 0&&(K=b),Object.defineProperty(J,K,{enumerable:!0,get:function(){return P[b]}})}):(function(J,P,b,K){K===void 0&&(K=b),J[K]=P[b]})),e=Pe&&Pe.__setModuleDefault||(Object.create?(function(J,P){Object.defineProperty(J,"default",{enumerable:!0,value:P})}):function(J,P){J.default=P}),t=Pe&&Pe.__decorate||function(J,P,b,K){var w=arguments.length,B=w<3?P:K===null?K=Object.getOwnPropertyDescriptor(P,b):K,I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")B=Reflect.decorate(J,P,b,K);else for(var y=J.length-1;y>=0;y--)(I=J[y])&&(B=(w<3?I(B):w>3?I(P,b,B):I(P,b))||B);return w>3&&B&&Object.defineProperty(P,b,B),B},s=Pe&&Pe.__importStar||function(J){if(J&&J.__esModule)return J;var P={};if(J!=null)for(var b in J)b!=="default"&&Object.hasOwnProperty.call(J,b)&&A(P,J,b);return e(P,J),P},n=Pe&&Pe.__importDefault||function(J){return J&&J.__esModule?J:{default:J}};Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.deserializeUnchecked=Pe.deserialize=Pe.serialize=Pe.BinaryReader=Pe.BinaryWriter=Pe.BorshError=Pe.baseDecode=Pe.baseEncode=void 0;const r=n(tE()),i=n(Ym()),a=s(Zm),g=typeof TextDecoder!="function"?a.TextDecoder:TextDecoder,Q=new g("utf-8",{fatal:!0});function l(J){return typeof J=="string"&&(J=Buffer.from(J,"utf8")),i.default.encode(Buffer.from(J))}Pe.baseEncode=l;function u(J){return Buffer.from(i.default.decode(J))}Pe.baseDecode=u;const d=1024;class E extends Error{constructor(P){super(P),this.fieldPath=[],this.originalMessage=P}addToFieldPath(P){this.fieldPath.splice(0,0,P),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}Pe.BorshError=E;class C{constructor(){this.buf=Buffer.alloc(d),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Buffer.concat([this.buf,Buffer.alloc(d)]))}writeU8(P){this.maybeResize(),this.buf.writeUInt8(P,this.length),this.length+=1}writeU16(P){this.maybeResize(),this.buf.writeUInt16LE(P,this.length),this.length+=2}writeU32(P){this.maybeResize(),this.buf.writeUInt32LE(P,this.length),this.length+=4}writeU64(P){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(P).toArray("le",8)))}writeU128(P){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(P).toArray("le",16)))}writeU256(P){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(P).toArray("le",32)))}writeU512(P){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(P).toArray("le",64)))}writeBuffer(P){this.buf=Buffer.concat([Buffer.from(this.buf.subarray(0,this.length)),P,Buffer.alloc(d)]),this.length+=P.length}writeString(P){this.maybeResize();const b=Buffer.from(P,"utf8");this.writeU32(b.length),this.writeBuffer(b)}writeFixedArray(P){this.writeBuffer(Buffer.from(P))}writeArray(P,b){this.maybeResize(),this.writeU32(P.length);for(const K of P)this.maybeResize(),b(K)}toArray(){return this.buf.subarray(0,this.length)}}Pe.BinaryWriter=C;function p(J,P,b){const K=b.value;b.value=function(...w){try{return K.apply(this,w)}catch(B){if(B instanceof RangeError){const I=B.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(I)>=0)throw new E("Reached the end of buffer when deserializing")}throw B}}}class f{constructor(P){this.buf=P,this.offset=0}readU8(){const P=this.buf.readUInt8(this.offset);return this.offset+=1,P}readU16(){const P=this.buf.readUInt16LE(this.offset);return this.offset+=2,P}readU32(){const P=this.buf.readUInt32LE(this.offset);return this.offset+=4,P}readU64(){const P=this.readBuffer(8);return new r.default(P,"le")}readU128(){const P=this.readBuffer(16);return new r.default(P,"le")}readU256(){const P=this.readBuffer(32);return new r.default(P,"le")}readU512(){const P=this.readBuffer(64);return new r.default(P,"le")}readBuffer(P){if(this.offset+P>this.buf.length)throw new E(`Expected buffer length ${P} isn't within bounds`);const b=this.buf.slice(this.offset,this.offset+P);return this.offset+=P,b}readString(){const P=this.readU32(),b=this.readBuffer(P);try{return Q.decode(b)}catch(K){throw new E(`Error decoding UTF-8 string: ${K}`)}}readFixedArray(P){return new Uint8Array(this.readBuffer(P))}readArray(P){const b=this.readU32(),K=Array();for(let w=0;w<b;++w)K.push(P());return K}}t([p],f.prototype,"readU8",null),t([p],f.prototype,"readU16",null),t([p],f.prototype,"readU32",null),t([p],f.prototype,"readU64",null),t([p],f.prototype,"readU128",null),t([p],f.prototype,"readU256",null),t([p],f.prototype,"readU512",null),t([p],f.prototype,"readString",null),t([p],f.prototype,"readFixedArray",null),t([p],f.prototype,"readArray",null),Pe.BinaryReader=f;function M(J){return J.charAt(0).toUpperCase()+J.slice(1)}function S(J,P,b,K,w){try{if(typeof K=="string")w[`write${M(K)}`](b);else if(K instanceof Array)if(typeof K[0]=="number"){if(b.length!==K[0])throw new E(`Expecting byte array of length ${K[0]}, but got ${b.length} bytes`);w.writeFixedArray(b)}else if(K.length===2&&typeof K[1]=="number"){if(b.length!==K[1])throw new E(`Expecting byte array of length ${K[1]}, but got ${b.length} bytes`);for(let B=0;B<K[1];B++)S(J,null,b[B],K[0],w)}else w.writeArray(b,B=>{S(J,P,B,K[0],w)});else if(K.kind!==void 0)switch(K.kind){case"option":{b==null?w.writeU8(0):(w.writeU8(1),S(J,P,b,K.type,w));break}case"map":{w.writeU32(b.size),b.forEach((B,I)=>{S(J,P,I,K.key,w),S(J,P,B,K.value,w)});break}default:throw new E(`FieldType ${K} unrecognized`)}else N(J,b,w)}catch(B){throw B instanceof E&&B.addToFieldPath(P),B}}function N(J,P,b){if(typeof P.borshSerialize=="function"){P.borshSerialize(b);return}const K=J.get(P.constructor);if(!K)throw new E(`Class ${P.constructor.name} is missing in schema`);if(K.kind==="struct")K.fields.map(([w,B])=>{S(J,w,P[w],B,b)});else if(K.kind==="enum"){const w=P[K.field];for(let B=0;B<K.values.length;++B){const[I,y]=K.values[B];if(I===w){b.writeU8(B),S(J,I,P[I],y,b);break}}}else throw new E(`Unexpected schema kind: ${K.kind} for ${P.constructor.name}`)}function T(J,P,b=C){const K=new b;return N(J,P,K),K.toArray()}Pe.serialize=T;function L(J,P,b,K){try{if(typeof b=="string")return K[`read${M(b)}`]();if(b instanceof Array){if(typeof b[0]=="number")return K.readFixedArray(b[0]);if(typeof b[1]=="number"){const w=[];for(let B=0;B<b[1];B++)w.push(L(J,null,b[0],K));return w}else return K.readArray(()=>L(J,P,b[0],K))}if(b.kind==="option")return K.readU8()?L(J,P,b.type,K):void 0;if(b.kind==="map"){let w=new Map;const B=K.readU32();for(let I=0;I<B;I++){const y=L(J,P,b.key,K),G=L(J,P,b.value,K);w.set(y,G)}return w}return Z(J,b,K)}catch(w){throw w instanceof E&&w.addToFieldPath(P),w}}function Z(J,P,b){if(typeof P.borshDeserialize=="function")return P.borshDeserialize(b);const K=J.get(P);if(!K)throw new E(`Class ${P.name} is missing in schema`);if(K.kind==="struct"){const w={};for(const[B,I]of J.get(P).fields)w[B]=L(J,B,I,b);return new P(w)}if(K.kind==="enum"){const w=b.readU8();if(w>=K.values.length)throw new E(`Enum index: ${w} is out of range`);const[B,I]=K.values[w],y=L(J,B,I,b);return new P({[B]:y})}throw new E(`Unexpected schema kind: ${K.kind} for ${P.constructor.name}`)}function AA(J,P,b,K=f){const w=new K(b),B=Z(J,P,w);if(w.offset<b.length)throw new E(`Unexpected ${b.length-w.offset} bytes after deserialized data`);return B}Pe.deserialize=AA;function _(J,P,b,K=f){const w=new K(b);return Z(J,P,w)}return Pe.deserializeUnchecked=_,Pe}var ci=_m(),BA={},yQ;function Xm(){if(yQ)return BA;yQ=1,Object.defineProperty(BA,"__esModule",{value:!0}),BA.s16=BA.s8=BA.nu64be=BA.u48be=BA.u40be=BA.u32be=BA.u24be=BA.u16be=BA.nu64=BA.u48=BA.u40=BA.u32=BA.u24=BA.u16=BA.u8=BA.offset=BA.greedy=BA.Constant=BA.UTF8=BA.CString=BA.Blob=BA.Boolean=BA.BitField=BA.BitStructure=BA.VariantLayout=BA.Union=BA.UnionLayoutDiscriminator=BA.UnionDiscriminator=BA.Structure=BA.Sequence=BA.DoubleBE=BA.Double=BA.FloatBE=BA.Float=BA.NearInt64BE=BA.NearInt64=BA.NearUInt64BE=BA.NearUInt64=BA.IntBE=BA.Int=BA.UIntBE=BA.UInt=BA.OffsetLayout=BA.GreedyCount=BA.ExternalLayout=BA.bindConstructorLayout=BA.nameWithProperty=BA.Layout=BA.uint8ArrayToBuffer=BA.checkUint8Array=void 0,BA.constant=BA.utf8=BA.cstr=BA.blob=BA.unionLayoutDiscriminator=BA.union=BA.seq=BA.bits=BA.struct=BA.f64be=BA.f64=BA.f32be=BA.f32=BA.ns64be=BA.s48be=BA.s40be=BA.s32be=BA.s24be=BA.s16be=BA.ns64=BA.s48=BA.s40=BA.s32=BA.s24=void 0;const A=Ja();function e(c){if(!(c instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}BA.checkUint8Array=e;function t(c){return e(c),A.Buffer.from(c.buffer,c.byteOffset,c.length)}BA.uint8ArrayToBuffer=t;let s=class{constructor(h,U){if(!Number.isInteger(h))throw new TypeError("span must be an integer");this.span=h,this.property=U}makeDestinationObject(){return{}}getSpan(h,U){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(h){const U=Object.create(this.constructor.prototype);return Object.assign(U,this),U.property=h,U}fromArray(h){}};BA.Layout=s;function n(c,h){return h.property?c+"["+h.property+"]":c}BA.nameWithProperty=n;function r(c,h){if(typeof c!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(c,"layout_"))throw new Error("Class is already bound to a layout");if(!(h&&h instanceof s))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(h,"boundConstructor_"))throw new Error("layout is already bound to a constructor");c.layout_=h,h.boundConstructor_=c,h.makeDestinationObject=(()=>new c),Object.defineProperty(c.prototype,"encode",{value(U,R){return h.encode(this,U,R)},writable:!0}),Object.defineProperty(c,"decode",{value(U,R){return h.decode(U,R)},writable:!0})}BA.bindConstructorLayout=r;class i extends s{isCount(){throw new Error("ExternalLayout is abstract")}}BA.ExternalLayout=i;class a extends i{constructor(h=1,U){if(!Number.isInteger(h)||0>=h)throw new TypeError("elementSpan must be a (positive) integer");super(-1,U),this.elementSpan=h}isCount(){return!0}decode(h,U=0){e(h);const R=h.length-U;return Math.floor(R/this.elementSpan)}encode(h,U,R){return 0}}BA.GreedyCount=a;class g extends i{constructor(h,U=0,R){if(!(h instanceof s))throw new TypeError("layout must be a Layout");if(!Number.isInteger(U))throw new TypeError("offset must be integer or undefined");super(h.span,R||h.property),this.layout=h,this.offset=U}isCount(){return this.layout instanceof Q||this.layout instanceof l}decode(h,U=0){return this.layout.decode(h,U+this.offset)}encode(h,U,R=0){return this.layout.encode(h,U,R+this.offset)}}BA.OffsetLayout=g;class Q extends s{constructor(h,U){if(super(h,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,U=0){return t(h).readUIntLE(U,this.span)}encode(h,U,R=0){return t(U).writeUIntLE(h,R,this.span),this.span}}BA.UInt=Q;class l extends s{constructor(h,U){if(super(h,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,U=0){return t(h).readUIntBE(U,this.span)}encode(h,U,R=0){return t(U).writeUIntBE(h,R,this.span),this.span}}BA.UIntBE=l;class u extends s{constructor(h,U){if(super(h,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,U=0){return t(h).readIntLE(U,this.span)}encode(h,U,R=0){return t(U).writeIntLE(h,R,this.span),this.span}}BA.Int=u;class d extends s{constructor(h,U){if(super(h,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,U=0){return t(h).readIntBE(U,this.span)}encode(h,U,R=0){return t(U).writeIntBE(h,R,this.span),this.span}}BA.IntBE=d;const E=Math.pow(2,32);function C(c){const h=Math.floor(c/E),U=c-h*E;return{hi32:h,lo32:U}}function p(c,h){return c*E+h}class f extends s{constructor(h){super(8,h)}decode(h,U=0){const R=t(h),X=R.readUInt32LE(U),tA=R.readUInt32LE(U+4);return p(tA,X)}encode(h,U,R=0){const X=C(h),tA=t(U);return tA.writeUInt32LE(X.lo32,R),tA.writeUInt32LE(X.hi32,R+4),8}}BA.NearUInt64=f;class M extends s{constructor(h){super(8,h)}decode(h,U=0){const R=t(h),X=R.readUInt32BE(U),tA=R.readUInt32BE(U+4);return p(X,tA)}encode(h,U,R=0){const X=C(h),tA=t(U);return tA.writeUInt32BE(X.hi32,R),tA.writeUInt32BE(X.lo32,R+4),8}}BA.NearUInt64BE=M;class S extends s{constructor(h){super(8,h)}decode(h,U=0){const R=t(h),X=R.readUInt32LE(U),tA=R.readInt32LE(U+4);return p(tA,X)}encode(h,U,R=0){const X=C(h),tA=t(U);return tA.writeUInt32LE(X.lo32,R),tA.writeInt32LE(X.hi32,R+4),8}}BA.NearInt64=S;class N extends s{constructor(h){super(8,h)}decode(h,U=0){const R=t(h),X=R.readInt32BE(U),tA=R.readUInt32BE(U+4);return p(X,tA)}encode(h,U,R=0){const X=C(h),tA=t(U);return tA.writeInt32BE(X.hi32,R),tA.writeUInt32BE(X.lo32,R+4),8}}BA.NearInt64BE=N;class T extends s{constructor(h){super(4,h)}decode(h,U=0){return t(h).readFloatLE(U)}encode(h,U,R=0){return t(U).writeFloatLE(h,R),4}}BA.Float=T;class L extends s{constructor(h){super(4,h)}decode(h,U=0){return t(h).readFloatBE(U)}encode(h,U,R=0){return t(U).writeFloatBE(h,R),4}}BA.FloatBE=L;class Z extends s{constructor(h){super(8,h)}decode(h,U=0){return t(h).readDoubleLE(U)}encode(h,U,R=0){return t(U).writeDoubleLE(h,R),8}}BA.Double=Z;class AA extends s{constructor(h){super(8,h)}decode(h,U=0){return t(h).readDoubleBE(U)}encode(h,U,R=0){return t(U).writeDoubleBE(h,R),8}}BA.DoubleBE=AA;class _ extends s{constructor(h,U,R){if(!(h instanceof s))throw new TypeError("elementLayout must be a Layout");if(!(U instanceof i&&U.isCount()||Number.isInteger(U)&&0<=U))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let X=-1;!(U instanceof i)&&0<h.span&&(X=U*h.span),super(X,R),this.elementLayout=h,this.count=U}getSpan(h,U=0){if(0<=this.span)return this.span;let R=0,X=this.count;if(X instanceof i&&(X=X.decode(h,U)),0<this.elementLayout.span)R=X*this.elementLayout.span;else{let tA=0;for(;tA<X;)R+=this.elementLayout.getSpan(h,U+R),++tA}return R}decode(h,U=0){const R=[];let X=0,tA=this.count;for(tA instanceof i&&(tA=tA.decode(h,U));X<tA;)R.push(this.elementLayout.decode(h,U)),U+=this.elementLayout.getSpan(h,U),X+=1;return R}encode(h,U,R=0){const X=this.elementLayout,tA=h.reduce((uA,aA)=>uA+X.encode(aA,U,R+uA),0);return this.count instanceof i&&this.count.encode(h.length,U,R),tA}}BA.Sequence=_;class J extends s{constructor(h,U,R){if(!(Array.isArray(h)&&h.reduce((tA,uA)=>tA&&uA instanceof s,!0)))throw new TypeError("fields must be array of Layout instances");typeof U=="boolean"&&R===void 0&&(R=U,U=void 0);for(const tA of h)if(0>tA.span&&tA.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let X=-1;try{X=h.reduce((tA,uA)=>tA+uA.getSpan(),0)}catch{}super(X,U),this.fields=h,this.decodePrefixes=!!R}getSpan(h,U=0){if(0<=this.span)return this.span;let R=0;try{R=this.fields.reduce((X,tA)=>{const uA=tA.getSpan(h,U);return U+=uA,X+uA},0)}catch{throw new RangeError("indeterminate span")}return R}decode(h,U=0){e(h);const R=this.makeDestinationObject();for(const X of this.fields)if(X.property!==void 0&&(R[X.property]=X.decode(h,U)),U+=X.getSpan(h,U),this.decodePrefixes&&h.length===U)break;return R}encode(h,U,R=0){const X=R;let tA=0,uA=0;for(const aA of this.fields){let KA=aA.span;if(uA=0<KA?KA:0,aA.property!==void 0){const PA=h[aA.property];PA!==void 0&&(uA=aA.encode(PA,U,R),0>KA&&(KA=aA.getSpan(U,R)))}tA=R,R+=KA}return tA+uA-X}fromArray(h){const U=this.makeDestinationObject();for(const R of this.fields)R.property!==void 0&&0<h.length&&(U[R.property]=h.shift());return U}layoutFor(h){if(typeof h!="string")throw new TypeError("property must be string");for(const U of this.fields)if(U.property===h)return U}offsetOf(h){if(typeof h!="string")throw new TypeError("property must be string");let U=0;for(const R of this.fields){if(R.property===h)return U;0>R.span?U=-1:0<=U&&(U+=R.span)}}}BA.Structure=J;class P{constructor(h){this.property=h}decode(h,U){throw new Error("UnionDiscriminator is abstract")}encode(h,U,R){throw new Error("UnionDiscriminator is abstract")}}BA.UnionDiscriminator=P;class b extends P{constructor(h,U){if(!(h instanceof i&&h.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(U||h.property||"variant"),this.layout=h}decode(h,U){return this.layout.decode(h,U)}encode(h,U,R){return this.layout.encode(h,U,R)}}BA.UnionLayoutDiscriminator=b;class K extends s{constructor(h,U,R){let X;if(h instanceof Q||h instanceof l)X=new b(new g(h));else if(h instanceof i&&h.isCount())X=new b(h);else if(h instanceof P)X=h;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(U===void 0&&(U=null),!(U===null||U instanceof s))throw new TypeError("defaultLayout must be null or a Layout");if(U!==null){if(0>U.span)throw new Error("defaultLayout must have constant span");U.property===void 0&&(U=U.replicate("content"))}let tA=-1;U&&(tA=U.span,0<=tA&&(h instanceof Q||h instanceof l)&&(tA+=X.layout.span)),super(tA,R),this.discriminator=X,this.usesPrefixDiscriminator=h instanceof Q||h instanceof l,this.defaultLayout=U,this.registry={};let uA=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(aA){return uA(aA)},this.configGetSourceVariant=function(aA){uA=aA.bind(this)}}getSpan(h,U=0){if(0<=this.span)return this.span;const R=this.getVariant(h,U);if(!R)throw new Error("unable to determine span for unrecognized variant");return R.getSpan(h,U)}defaultGetSourceVariant(h){if(Object.prototype.hasOwnProperty.call(h,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(h,this.defaultLayout.property))return;const U=this.registry[h[this.discriminator.property]];if(U&&(!U.layout||U.property&&Object.prototype.hasOwnProperty.call(h,U.property)))return U}else for(const U in this.registry){const R=this.registry[U];if(R.property&&Object.prototype.hasOwnProperty.call(h,R.property))return R}throw new Error("unable to infer src variant")}decode(h,U=0){let R;const X=this.discriminator,tA=X.decode(h,U),uA=this.registry[tA];if(uA===void 0){const aA=this.defaultLayout;let KA=0;this.usesPrefixDiscriminator&&(KA=X.layout.span),R=this.makeDestinationObject(),R[X.property]=tA,R[aA.property]=aA.decode(h,U+KA)}else R=uA.decode(h,U);return R}encode(h,U,R=0){const X=this.getSourceVariant(h);if(X===void 0){const tA=this.discriminator,uA=this.defaultLayout;let aA=0;return this.usesPrefixDiscriminator&&(aA=tA.layout.span),tA.encode(h[tA.property],U,R),aA+uA.encode(h[uA.property],U,R+aA)}return X.encode(h,U,R)}addVariant(h,U,R){const X=new w(this,h,U,R);return this.registry[h]=X,X}getVariant(h,U=0){let R;return h instanceof Uint8Array?R=this.discriminator.decode(h,U):R=h,this.registry[R]}}BA.Union=K;class w extends s{constructor(h,U,R,X){if(!(h instanceof K))throw new TypeError("union must be a Union");if(!Number.isInteger(U)||0>U)throw new TypeError("variant must be a (non-negative) integer");if(typeof R=="string"&&X===void 0&&(X=R,R=null),R){if(!(R instanceof s))throw new TypeError("layout must be a Layout");if(h.defaultLayout!==null&&0<=R.span&&R.span>h.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof X!="string")throw new TypeError("variant must have a String property")}let tA=h.span;0>h.span&&(tA=R?R.span:0,0<=tA&&h.usesPrefixDiscriminator&&(tA+=h.discriminator.layout.span)),super(tA,X),this.union=h,this.variant=U,this.layout=R||null}getSpan(h,U=0){if(0<=this.span)return this.span;let R=0;this.union.usesPrefixDiscriminator&&(R=this.union.discriminator.layout.span);let X=0;return this.layout&&(X=this.layout.getSpan(h,U+R)),R+X}decode(h,U=0){const R=this.makeDestinationObject();if(this!==this.union.getVariant(h,U))throw new Error("variant mismatch");let X=0;return this.union.usesPrefixDiscriminator&&(X=this.union.discriminator.layout.span),this.layout?R[this.property]=this.layout.decode(h,U+X):this.property?R[this.property]=!0:this.union.usesPrefixDiscriminator&&(R[this.union.discriminator.property]=this.variant),R}encode(h,U,R=0){let X=0;if(this.union.usesPrefixDiscriminator&&(X=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(h,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,U,R);let tA=X;if(this.layout&&(this.layout.encode(h[this.property],U,R+X),tA+=this.layout.getSpan(U,R+X),0<=this.union.span&&tA>this.union.span))throw new Error("encoded variant overruns containing union");return tA}fromArray(h){if(this.layout)return this.layout.fromArray(h)}}BA.VariantLayout=w;function B(c){return 0>c&&(c+=4294967296),c}class I extends s{constructor(h,U,R){if(!(h instanceof Q||h instanceof l))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof U=="string"&&R===void 0&&(R=U,U=!1),4<h.span)throw new RangeError("word cannot exceed 32 bits");super(h.span,R),this.word=h,this.msb=!!U,this.fields=[];let X=0;this._packedSetValue=function(tA){return X=B(tA),this},this._packedGetValue=function(){return X}}decode(h,U=0){const R=this.makeDestinationObject(),X=this.word.decode(h,U);this._packedSetValue(X);for(const tA of this.fields)tA.property!==void 0&&(R[tA.property]=tA.decode(h));return R}encode(h,U,R=0){const X=this.word.decode(U,R);this._packedSetValue(X);for(const tA of this.fields)if(tA.property!==void 0){const uA=h[tA.property];uA!==void 0&&tA.encode(uA)}return this.word.encode(this._packedGetValue(),U,R)}addField(h,U){const R=new y(this,h,U);return this.fields.push(R),R}addBoolean(h){const U=new G(this,h);return this.fields.push(U),U}fieldFor(h){if(typeof h!="string")throw new TypeError("property must be string");for(const U of this.fields)if(U.property===h)return U}}BA.BitStructure=I;class y{constructor(h,U,R){if(!(h instanceof I))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(U)||0>=U)throw new TypeError("bits must be positive integer");const X=8*h.span,tA=h.fields.reduce((uA,aA)=>uA+aA.bits,0);if(U+tA>X)throw new Error("bits too long for span remainder ("+(X-tA)+" of "+X+" remain)");this.container=h,this.bits=U,this.valueMask=(1<<U)-1,U===32&&(this.valueMask=4294967295),this.start=tA,this.container.msb&&(this.start=X-tA-U),this.wordMask=B(this.valueMask<<this.start),this.property=R}decode(h,U){const R=this.container._packedGetValue();return B(R&this.wordMask)>>>this.start}encode(h){if(typeof h!="number"||!Number.isInteger(h)||h!==B(h&this.valueMask))throw new TypeError(n("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const U=this.container._packedGetValue(),R=B(h<<this.start);this.container._packedSetValue(B(U&~this.wordMask)|R)}}BA.BitField=y;class G extends y{constructor(h,U){super(h,1,U)}decode(h,U){return!!super.decode(h,U)}encode(h){typeof h=="boolean"&&(h=+h),super.encode(h)}}BA.Boolean=G;class j extends s{constructor(h,U){if(!(h instanceof i&&h.isCount()||Number.isInteger(h)&&0<=h))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let R=-1;h instanceof i||(R=h),super(R,U),this.length=h}getSpan(h,U){let R=this.span;return 0>R&&(R=this.length.decode(h,U)),R}decode(h,U=0){let R=this.span;return 0>R&&(R=this.length.decode(h,U)),t(h).slice(U,U+R)}encode(h,U,R){let X=this.length;if(this.length instanceof i&&(X=h.length),!(h instanceof Uint8Array&&X===h.length))throw new TypeError(n("Blob.encode",this)+" requires (length "+X+") Uint8Array as src");if(R+X>U.length)throw new RangeError("encoding overruns Uint8Array");const tA=t(h);return t(U).write(tA.toString("hex"),R,X,"hex"),this.length instanceof i&&this.length.encode(X,U,R),X}}BA.Blob=j;class O extends s{constructor(h){super(-1,h)}getSpan(h,U=0){e(h);let R=U;for(;R<h.length&&h[R]!==0;)R+=1;return 1+R-U}decode(h,U=0){const R=this.getSpan(h,U);return t(h).slice(U,U+R-1).toString("utf-8")}encode(h,U,R=0){typeof h!="string"&&(h=String(h));const X=A.Buffer.from(h,"utf8"),tA=X.length;if(R+tA>U.length)throw new RangeError("encoding overruns Buffer");const uA=t(U);return X.copy(uA,R),uA[R+tA]=0,tA+1}}BA.CString=O;class z extends s{constructor(h,U){if(typeof h=="string"&&U===void 0&&(U=h,h=void 0),h===void 0)h=-1;else if(!Number.isInteger(h))throw new TypeError("maxSpan must be an integer");super(-1,U),this.maxSpan=h}getSpan(h,U=0){return e(h),h.length-U}decode(h,U=0){const R=this.getSpan(h,U);if(0<=this.maxSpan&&this.maxSpan<R)throw new RangeError("text length exceeds maxSpan");return t(h).slice(U,U+R).toString("utf-8")}encode(h,U,R=0){typeof h!="string"&&(h=String(h));const X=A.Buffer.from(h,"utf8"),tA=X.length;if(0<=this.maxSpan&&this.maxSpan<tA)throw new RangeError("text length exceeds maxSpan");if(R+tA>U.length)throw new RangeError("encoding overruns Buffer");return X.copy(t(U),R),tA}}BA.UTF8=z;class v extends s{constructor(h,U){super(0,U),this.value=h}decode(h,U){return this.value}encode(h,U,R){return 0}}return BA.Constant=v,BA.greedy=((c,h)=>new a(c,h)),BA.offset=((c,h,U)=>new g(c,h,U)),BA.u8=(c=>new Q(1,c)),BA.u16=(c=>new Q(2,c)),BA.u24=(c=>new Q(3,c)),BA.u32=(c=>new Q(4,c)),BA.u40=(c=>new Q(5,c)),BA.u48=(c=>new Q(6,c)),BA.nu64=(c=>new f(c)),BA.u16be=(c=>new l(2,c)),BA.u24be=(c=>new l(3,c)),BA.u32be=(c=>new l(4,c)),BA.u40be=(c=>new l(5,c)),BA.u48be=(c=>new l(6,c)),BA.nu64be=(c=>new M(c)),BA.s8=(c=>new u(1,c)),BA.s16=(c=>new u(2,c)),BA.s24=(c=>new u(3,c)),BA.s32=(c=>new u(4,c)),BA.s40=(c=>new u(5,c)),BA.s48=(c=>new u(6,c)),BA.ns64=(c=>new S(c)),BA.s16be=(c=>new d(2,c)),BA.s24be=(c=>new d(3,c)),BA.s32be=(c=>new d(4,c)),BA.s40be=(c=>new d(5,c)),BA.s48be=(c=>new d(6,c)),BA.ns64be=(c=>new N(c)),BA.f32=(c=>new T(c)),BA.f32be=(c=>new L(c)),BA.f64=(c=>new Z(c)),BA.f64be=(c=>new AA(c)),BA.struct=((c,h,U)=>new J(c,h,U)),BA.bits=((c,h,U)=>new I(c,h,U)),BA.seq=((c,h,U)=>new _(c,h,U)),BA.union=((c,h,U)=>new K(c,h,U)),BA.unionLayoutDiscriminator=((c,h)=>new b(c,h)),BA.blob=((c,h)=>new j(c,h)),BA.cstr=(c=>new O(c)),BA.utf8=((c,h)=>new z(c,h)),BA.constant=((c,h)=>new v(c,h)),BA}var sA=Xm(),$m=8078011;function sE(A){return Array.isArray(A)?"%5B"+A.map(sE).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function Aw([A,e]){return`${A}=${sE(e)}`}function ew(A){const e=Object.entries(A).map(Aw).join("&");return btoa(e)}function tw(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${ew(e)}'`),`${t}\``}}var ow=class extends Error{cause=this.cause;context;constructor(...[e,t]){let s,n;if(t){const{cause:i,...a}=t;i&&(n={cause:i}),Object.keys(a).length>0&&(s=a)}const r=tw(e,s);super(r,n),this.context={__code:e,...s},this.name="SolanaError"}},sw=8078e3,rw=8078001,nw=8078004,iw=8078005,aw=8078006;function rE(A){return Array.isArray(A)?"%5B"+A.map(rE).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function gw([A,e]){return`${A}=${rE(e)}`}function Qw(A){const e=Object.entries(A).map(gw).join("&");return btoa(e)}function Bw(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${Qw(e)}'`),`${t}\``}}var rr=class extends Error{cause=this.cause;context;constructor(...[A,e]){let t,s;if(e){const{cause:r,...i}=e;r&&(s={cause:r}),Object.keys(i).length>0&&(t=i)}const n=Bw(A,t);super(n,s),this.context={__code:A,...t},this.name="SolanaError"}};function lw(A,e){return"fixedSize"in e?e.fixedSize:e.getSizeFromValue(A)}function Ew(A){return Object.freeze({...A,encode:e=>{const t=new Uint8Array(lw(e,A));return A.write(e,t,0),t}})}function cw(A){return Object.freeze({...A,decode:(e,t=0)=>A.read(e,t)[0]})}function Fs(A){return"fixedSize"in A&&typeof A.fixedSize=="number"}function Cw(A,e){if(Fs(A)!==Fs(e))throw new rr(nw);if(Fs(A)&&Fs(e)&&A.fixedSize!==e.fixedSize)throw new rr(iw,{decoderFixedSize:e.fixedSize,encoderFixedSize:A.fixedSize});if(!Fs(A)&&!Fs(e)&&A.maxSize!==e.maxSize)throw new rr(aw,{decoderMaxSize:e.maxSize,encoderMaxSize:A.maxSize});return{...e,...A,decode:e.decode,encode:A.encode,read:e.read,write:A.write}}function Iw(A,e,t=0){if(e.length-t<=0)throw new rr(sw,{codecDescription:A})}function uw(A,e,t,s=0){const n=t.length-s;if(n<e)throw new rr(rw,{bytesLength:n,codecDescription:A,expected:e})}function dw(A,e,t,s){if(s<e||s>t)throw new ow($m,{codecDescription:A,max:t,min:e,value:s})}function nE(A){return A?.endian!==1}function hw(A){return Ew({fixedSize:A.size,write(e,t,s){A.range&&dw(A.name,A.range[0],A.range[1],e);const n=new ArrayBuffer(A.size);return A.set(new DataView(n),e,nE(A.config)),t.set(new Uint8Array(n),s),s+A.size}})}function fw(A){return cw({fixedSize:A.size,read(e,t=0){Iw(A.name,e,t),uw(A.name,A.size,e,t);const s=new DataView(pw(e,t,A.size));return[A.get(s,nE(A.config)),t+A.size]}})}function pw(A,e,t){const s=A.byteOffset+(e??0),n=t??A.byteLength;return A.buffer.slice(s,s+n)}var mw=(A={})=>hw({config:A,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(e,t,s)=>e.setBigUint64(0,BigInt(t),s),size:8}),ww=(A={})=>fw({config:A,get:(e,t)=>e.getBigUint64(0,t),name:"u64",size:8}),xw=(A={})=>Cw(mw(A),ww(A));class Dw extends TypeError{constructor(e,t){let s;const{message:n,explanation:r,...i}=e,{path:a}=e,g=a.length===0?n:`At path: ${a.join(".")} -- ${n}`;super(r??g),r!=null&&(this.cause=g),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>s??(s=[e,...t()])}}function yw(A){return yr(A)&&typeof A[Symbol.iterator]=="function"}function yr(A){return typeof A=="object"&&A!=null}function dn(A){return yr(A)&&!Array.isArray(A)}function Io(A){return typeof A=="symbol"?A.toString():typeof A=="string"?JSON.stringify(A):`${A}`}function Nw(A){const{done:e,value:t}=A.next();return e?void 0:t}function kw(A,e,t,s){if(A===!0)return;A===!1?A={}:typeof A=="string"&&(A={message:A});const{path:n,branch:r}=e,{type:i}=t,{refinement:a,message:g=`Expected a value of type \`${i}\`${a?` with refinement \`${a}\``:""}, but received: \`${Io(s)}\``}=A;return{value:s,type:i,refinement:a,key:n[n.length-1],path:n,branch:r,...A,message:g}}function*NQ(A,e,t,s){yw(A)||(A=[A]);for(const n of A){const r=kw(n,e,t,s);r&&(yield r)}}function*Pa(A,e,t={}){const{path:s=[],branch:n=[A],coerce:r=!1,mask:i=!1}=t,a={path:s,branch:n,mask:i};r&&(A=e.coercer(A,a));let g="valid";for(const Q of e.validator(A,a))Q.explanation=t.message,g="not_valid",yield[Q,void 0];for(let[Q,l,u]of e.entries(A,a)){const d=Pa(l,u,{path:Q===void 0?s:[...s,Q],branch:Q===void 0?n:[...n,l],coerce:r,mask:i,message:t.message});for(const E of d)E[0]?(g=E[0].refinement!=null?"not_refined":"not_valid",yield[E[0],void 0]):r&&(l=E[1],Q===void 0?A=l:A instanceof Map?A.set(Q,l):A instanceof Set?A.add(l):yr(A)&&(l!==void 0||Q in A)&&(A[Q]=l))}if(g!=="not_valid")for(const Q of e.refiner(A,a))Q.explanation=t.message,g="not_refined",yield[Q,void 0];g==="valid"&&(yield[void 0,A])}let bo=class{constructor(e){const{type:t,schema:s,validator:n,refiner:r,coercer:i=g=>g,entries:a=function*(){}}=e;this.type=t,this.schema=s,this.entries=a,this.coercer=i,n?this.validator=(g,Q)=>{const l=n(g,Q);return NQ(l,Q,this,g)}:this.validator=()=>[],r?this.refiner=(g,Q)=>{const l=r(g,Q);return NQ(l,Q,this,g)}:this.refiner=()=>[]}assert(e,t){return Mw(e,this,t)}create(e,t){return Qr(e,this,t)}is(e){return iE(e,this)}mask(e,t){return bw(e,this,t)}validate(e,t={}){return Nr(e,this,t)}};function Mw(A,e,t){const s=Nr(A,e,{message:t});if(s[0])throw s[0]}function Qr(A,e,t){const s=Nr(A,e,{coerce:!0,message:t});if(s[0])throw s[0];return s[1]}function bw(A,e,t){const s=Nr(A,e,{coerce:!0,mask:!0,message:t});if(s[0])throw s[0];return s[1]}function iE(A,e){return!Nr(A,e)[0]}function Nr(A,e,t={}){const s=Pa(A,e,t),n=Nw(s);return n[0]?[new Dw(n[0],function*(){for(const i of s)i[0]&&(yield i[0])}),void 0]:[void 0,n[1]]}function xs(A,e){return new bo({type:A,schema:null,validator:e})}function Fw(){return xs("any",()=>!0)}function TA(A){return new bo({type:"array",schema:A,*entries(e){if(A&&Array.isArray(e))for(const[t,s]of e.entries())yield[t,s,A]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||`Expected an array value, but received: ${Io(e)}`}})}function Mo(){return xs("boolean",A=>typeof A=="boolean")}function Wa(A){return xs("instance",e=>e instanceof A||`Expected a \`${A.name}\` instance, but received: ${Io(e)}`)}function ot(A){const e=Io(A),t=typeof A;return new bo({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?A:null,validator(s){return s===A||`Expected the literal \`${e}\`, but received: ${Io(s)}`}})}function Gw(){return xs("never",()=>!1)}function OA(A){return new bo({...A,validator:(e,t)=>e===null||A.validator(e,t),refiner:(e,t)=>e===null||A.refiner(e,t)})}function gA(){return xs("number",A=>typeof A=="number"&&!isNaN(A)||`Expected a number, but received: ${Io(A)}`)}function Ae(A){return new bo({...A,validator:(e,t)=>e===void 0||A.validator(e,t),refiner:(e,t)=>e===void 0||A.refiner(e,t)})}function aE(A,e){return new bo({type:"record",schema:null,*entries(t){if(yr(t))for(const s in t){const n=t[s];yield[s,s,A],yield[s,n,e]}},validator(t){return dn(t)||`Expected an object, but received: ${Io(t)}`},coercer(t){return dn(t)?{...t}:t}})}function GA(){return xs("string",A=>typeof A=="string"||`Expected a string, but received: ${Io(A)}`)}function za(A){const e=Gw();return new bo({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const s=Math.max(A.length,t.length);for(let n=0;n<s;n++)yield[n,t[n],A[n]||e]}},validator(t){return Array.isArray(t)||`Expected an array, but received: ${Io(t)}`},coercer(t){return Array.isArray(t)?t.slice():t}})}function mA(A){const e=Object.keys(A);return new bo({type:"type",schema:A,*entries(t){if(yr(t))for(const s of e)yield[s,t[s],A[s]]},validator(t){return dn(t)||`Expected an object, but received: ${Io(t)}`},coercer(t){return dn(t)?{...t}:t}})}function Wt(A){const e=A.map(t=>t.type).join(" | ");return new bo({type:"union",schema:null,coercer(t,s){for(const n of A){const[r,i]=n.validate(t,{coerce:!0,mask:s.mask});if(!r)return i}return t},validator(t,s){const n=[];for(const r of A){const[...i]=Pa(t,r,s),[a]=i;if(a[0])for(const[g]of i)g&&n.push(g);else return[]}return[`Expected the value to satisfy a union of \`${e}\`, but received: ${Io(t)}`,...n]}})}function zs(){return xs("unknown",()=>!0)}function kr(A,e,t){return new bo({...A,coercer:(s,n)=>iE(s,e)?A.coercer(t(s,n),n):A.coercer(s,n)})}var Tr,vw=new Uint8Array(16);function gE(){if(!Tr&&(Tr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Tr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Tr(vw)}const Sw=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Ln(A){return typeof A=="string"&&Sw.test(A)}var kt=[];for(var Ci=0;Ci<256;++Ci)kt.push((Ci+256).toString(16).substr(1));function jn(A){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=(kt[A[e+0]]+kt[A[e+1]]+kt[A[e+2]]+kt[A[e+3]]+"-"+kt[A[e+4]]+kt[A[e+5]]+"-"+kt[A[e+6]]+kt[A[e+7]]+"-"+kt[A[e+8]]+kt[A[e+9]]+"-"+kt[A[e+10]]+kt[A[e+11]]+kt[A[e+12]]+kt[A[e+13]]+kt[A[e+14]]+kt[A[e+15]]).toLowerCase();if(!Ln(t))throw TypeError("Stringified UUID is invalid");return t}var kQ,Ii,ui=0,di=0;function Uw(A,e,t){var s=e&&t||0,n=e||new Array(16);A=A||{};var r=A.node||kQ,i=A.clockseq!==void 0?A.clockseq:Ii;if(r==null||i==null){var a=A.random||(A.rng||gE)();r==null&&(r=kQ=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),i==null&&(i=Ii=(a[6]<<8|a[7])&16383)}var g=A.msecs!==void 0?A.msecs:Date.now(),Q=A.nsecs!==void 0?A.nsecs:di+1,l=g-ui+(Q-di)/1e4;if(l<0&&A.clockseq===void 0&&(i=i+1&16383),(l<0||g>ui)&&A.nsecs===void 0&&(Q=0),Q>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");ui=g,di=Q,Ii=i,g+=122192928e5;var u=((g&268435455)*1e4+Q)%4294967296;n[s++]=u>>>24&255,n[s++]=u>>>16&255,n[s++]=u>>>8&255,n[s++]=u&255;var d=g/4294967296*1e4&268435455;n[s++]=d>>>8&255,n[s++]=d&255,n[s++]=d>>>24&15|16,n[s++]=d>>>16&255,n[s++]=i>>>8|128,n[s++]=i&255;for(var E=0;E<6;++E)n[s+E]=r[E];return e||jn(n)}function QE(A){if(!Ln(A))throw TypeError("Invalid UUID");var e,t=new Uint8Array(16);return t[0]=(e=parseInt(A.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(A.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(A.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(A.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(A.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}function Rw(A){A=unescape(encodeURIComponent(A));for(var e=[],t=0;t<A.length;++t)e.push(A.charCodeAt(t));return e}var Kw="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Jw="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function BE(A,e,t){function s(n,r,i,a){if(typeof n=="string"&&(n=Rw(n)),typeof r=="string"&&(r=QE(r)),r.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var g=new Uint8Array(16+n.length);if(g.set(r),g.set(n,r.length),g=t(g),g[6]=g[6]&15|e,g[8]=g[8]&63|128,i){a=a||0;for(var Q=0;Q<16;++Q)i[a+Q]=g[Q];return i}return jn(g)}try{s.name=A}catch{}return s.DNS=Kw,s.URL=Jw,s}function Lw(A){if(typeof A=="string"){var e=unescape(encodeURIComponent(A));A=new Uint8Array(e.length);for(var t=0;t<e.length;++t)A[t]=e.charCodeAt(t)}return jw(Tw(Ow(A),A.length*8))}function jw(A){for(var e=[],t=A.length*32,s="0123456789abcdef",n=0;n<t;n+=8){var r=A[n>>5]>>>n%32&255,i=parseInt(s.charAt(r>>>4&15)+s.charAt(r&15),16);e.push(i)}return e}function lE(A){return(A+64>>>9<<4)+14+1}function Tw(A,e){A[e>>5]|=128<<e%32,A[lE(e)-1]=e;for(var t=1732584193,s=-271733879,n=-1732584194,r=271733878,i=0;i<A.length;i+=16){var a=t,g=s,Q=n,l=r;t=Jt(t,s,n,r,A[i],7,-680876936),r=Jt(r,t,s,n,A[i+1],12,-389564586),n=Jt(n,r,t,s,A[i+2],17,606105819),s=Jt(s,n,r,t,A[i+3],22,-1044525330),t=Jt(t,s,n,r,A[i+4],7,-176418897),r=Jt(r,t,s,n,A[i+5],12,1200080426),n=Jt(n,r,t,s,A[i+6],17,-1473231341),s=Jt(s,n,r,t,A[i+7],22,-45705983),t=Jt(t,s,n,r,A[i+8],7,1770035416),r=Jt(r,t,s,n,A[i+9],12,-1958414417),n=Jt(n,r,t,s,A[i+10],17,-42063),s=Jt(s,n,r,t,A[i+11],22,-1990404162),t=Jt(t,s,n,r,A[i+12],7,1804603682),r=Jt(r,t,s,n,A[i+13],12,-40341101),n=Jt(n,r,t,s,A[i+14],17,-1502002290),s=Jt(s,n,r,t,A[i+15],22,1236535329),t=Lt(t,s,n,r,A[i+1],5,-165796510),r=Lt(r,t,s,n,A[i+6],9,-1069501632),n=Lt(n,r,t,s,A[i+11],14,643717713),s=Lt(s,n,r,t,A[i],20,-373897302),t=Lt(t,s,n,r,A[i+5],5,-701558691),r=Lt(r,t,s,n,A[i+10],9,38016083),n=Lt(n,r,t,s,A[i+15],14,-660478335),s=Lt(s,n,r,t,A[i+4],20,-405537848),t=Lt(t,s,n,r,A[i+9],5,568446438),r=Lt(r,t,s,n,A[i+14],9,-1019803690),n=Lt(n,r,t,s,A[i+3],14,-187363961),s=Lt(s,n,r,t,A[i+8],20,1163531501),t=Lt(t,s,n,r,A[i+13],5,-1444681467),r=Lt(r,t,s,n,A[i+2],9,-51403784),n=Lt(n,r,t,s,A[i+7],14,1735328473),s=Lt(s,n,r,t,A[i+12],20,-1926607734),t=jt(t,s,n,r,A[i+5],4,-378558),r=jt(r,t,s,n,A[i+8],11,-2022574463),n=jt(n,r,t,s,A[i+11],16,1839030562),s=jt(s,n,r,t,A[i+14],23,-35309556),t=jt(t,s,n,r,A[i+1],4,-1530992060),r=jt(r,t,s,n,A[i+4],11,1272893353),n=jt(n,r,t,s,A[i+7],16,-155497632),s=jt(s,n,r,t,A[i+10],23,-1094730640),t=jt(t,s,n,r,A[i+13],4,681279174),r=jt(r,t,s,n,A[i],11,-358537222),n=jt(n,r,t,s,A[i+3],16,-722521979),s=jt(s,n,r,t,A[i+6],23,76029189),t=jt(t,s,n,r,A[i+9],4,-640364487),r=jt(r,t,s,n,A[i+12],11,-421815835),n=jt(n,r,t,s,A[i+15],16,530742520),s=jt(s,n,r,t,A[i+2],23,-995338651),t=Tt(t,s,n,r,A[i],6,-198630844),r=Tt(r,t,s,n,A[i+7],10,1126891415),n=Tt(n,r,t,s,A[i+14],15,-1416354905),s=Tt(s,n,r,t,A[i+5],21,-57434055),t=Tt(t,s,n,r,A[i+12],6,1700485571),r=Tt(r,t,s,n,A[i+3],10,-1894986606),n=Tt(n,r,t,s,A[i+10],15,-1051523),s=Tt(s,n,r,t,A[i+1],21,-2054922799),t=Tt(t,s,n,r,A[i+8],6,1873313359),r=Tt(r,t,s,n,A[i+15],10,-30611744),n=Tt(n,r,t,s,A[i+6],15,-1560198380),s=Tt(s,n,r,t,A[i+13],21,1309151649),t=Tt(t,s,n,r,A[i+4],6,-145523070),r=Tt(r,t,s,n,A[i+11],10,-1120210379),n=Tt(n,r,t,s,A[i+2],15,718787259),s=Tt(s,n,r,t,A[i+9],21,-343485551),t=Vo(t,a),s=Vo(s,g),n=Vo(n,Q),r=Vo(r,l)}return[t,s,n,r]}function Ow(A){if(A.length===0)return[];for(var e=A.length*8,t=new Uint32Array(lE(e)),s=0;s<e;s+=8)t[s>>5]|=(A[s/8]&255)<<s%32;return t}function Vo(A,e){var t=(A&65535)+(e&65535),s=(A>>16)+(e>>16)+(t>>16);return s<<16|t&65535}function qw(A,e){return A<<e|A>>>32-e}function Tn(A,e,t,s,n,r){return Vo(qw(Vo(Vo(e,A),Vo(s,r)),n),t)}function Jt(A,e,t,s,n,r,i){return Tn(e&t|~e&s,A,e,n,r,i)}function Lt(A,e,t,s,n,r,i){return Tn(e&s|t&~s,A,e,n,r,i)}function jt(A,e,t,s,n,r,i){return Tn(e^t^s,A,e,n,r,i)}function Tt(A,e,t,s,n,r,i){return Tn(t^(e|~s),A,e,n,r,i)}var Yw=BE("v3",48,Lw);function Hw(A,e,t){A=A||{};var s=A.random||(A.rng||gE)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,e){t=t||0;for(var n=0;n<16;++n)e[t+n]=s[n];return e}return jn(s)}function Pw(A,e,t,s){switch(A){case 0:return e&t^~e&s;case 1:return e^t^s;case 2:return e&t^e&s^t&s;case 3:return e^t^s}}function hi(A,e){return A<<e|A>>>32-e}function Ww(A){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof A=="string"){var s=unescape(encodeURIComponent(A));A=[];for(var n=0;n<s.length;++n)A.push(s.charCodeAt(n))}else Array.isArray(A)||(A=Array.prototype.slice.call(A));A.push(128);for(var r=A.length/4+2,i=Math.ceil(r/16),a=new Array(i),g=0;g<i;++g){for(var Q=new Uint32Array(16),l=0;l<16;++l)Q[l]=A[g*64+l*4]<<24|A[g*64+l*4+1]<<16|A[g*64+l*4+2]<<8|A[g*64+l*4+3];a[g]=Q}a[i-1][14]=(A.length-1)*8/Math.pow(2,32),a[i-1][14]=Math.floor(a[i-1][14]),a[i-1][15]=(A.length-1)*8&4294967295;for(var u=0;u<i;++u){for(var d=new Uint32Array(80),E=0;E<16;++E)d[E]=a[u][E];for(var C=16;C<80;++C)d[C]=hi(d[C-3]^d[C-8]^d[C-14]^d[C-16],1);for(var p=t[0],f=t[1],M=t[2],S=t[3],N=t[4],T=0;T<80;++T){var L=Math.floor(T/20),Z=hi(p,5)+Pw(L,f,M,S)+N+e[L]+d[T]>>>0;N=S,S=M,M=hi(f,30)>>>0,f=p,p=Z}t[0]=t[0]+p>>>0,t[1]=t[1]+f>>>0,t[2]=t[2]+M>>>0,t[3]=t[3]+S>>>0,t[4]=t[4]+N>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var zw=BE("v5",80,Ww);const Vw="00000000-0000-0000-0000-000000000000";function Zw(A){if(!Ln(A))throw TypeError("Invalid UUID");return parseInt(A.substr(14,1),16)}const _w=Object.freeze(Object.defineProperty({__proto__:null,NIL:Vw,parse:QE,stringify:jn,v1:Uw,v3:Yw,v4:Hw,v5:zw,validate:Ln,version:Zw},Symbol.toStringTag,{value:"Module"})),EE=Qa(_w);var fi,MQ;function Xw(){if(MQ)return fi;MQ=1;const A=EE.v4;return fi=function(t,s,n,r){if(typeof t!="string")throw new TypeError(t+" must be a string");r=r||{};const i=typeof r.version=="number"?r.version:2;if(i!==1&&i!==2)throw new TypeError(i+" must be 1 or 2");const a={method:t};if(i===2&&(a.jsonrpc="2.0"),s){if(typeof s!="object"&&!Array.isArray(s))throw new TypeError(s+" must be an object, array or omitted");a.params=s}if(typeof n>"u"){const g=typeof r.generator=="function"?r.generator:function(){return A()};a.id=g(a,r)}else i===2&&n===null?r.notificationIdNull&&(a.id=null):a.id=n;return a},fi}var pi,bQ;function $w(){if(bQ)return pi;bQ=1;const A=EE.v4,e=Xw(),t=function(s,n){if(!(this instanceof t))return new t(s,n);n||(n={}),this.options={reviver:typeof n.reviver<"u"?n.reviver:null,replacer:typeof n.replacer<"u"?n.replacer:null,generator:typeof n.generator<"u"?n.generator:function(){return A()},version:typeof n.version<"u"?n.version:2,notificationIdNull:typeof n.notificationIdNull=="boolean"?n.notificationIdNull:!1},this.callServer=s};return pi=t,t.prototype.request=function(s,n,r,i){const a=this;let g=null;const Q=Array.isArray(s)&&typeof n=="function";if(this.options.version===1&&Q)throw new TypeError("JSON-RPC 1.0 does not support batching");if(Q||!Q&&s&&typeof s=="object"&&typeof n=="function")i=n,g=s;else{typeof r=="function"&&(i=r,r=void 0);const d=typeof i=="function";try{g=e(s,n,r,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(E){if(d){i(E);return}throw E}if(!d)return g}let u;try{u=JSON.stringify(g,this.options.replacer)}catch(d){i(d);return}return this.callServer(u,function(d,E){a._parseResponse(d,E,i)}),g},t.prototype._parseResponse=function(s,n,r){if(s){r(s);return}if(!n){r();return}let i;try{i=JSON.parse(n,this.options.reviver)}catch(a){r(a);return}if(r.length===3)if(Array.isArray(i)){const a=function(Q){return typeof Q.error<"u"},g=function(Q){return!a(Q)};r(null,i.filter(a),i.filter(g));return}else{r(null,i.error,i.result);return}r(null,i)},pi}$w();var mi={exports:{}},FQ;function Ax(){return FQ||(FQ=1,(function(A){var e=Object.prototype.hasOwnProperty,t="~";function s(){}Object.create&&(s.prototype=Object.create(null),new s().__proto__||(t=!1));function n(g,Q,l){this.fn=g,this.context=Q,this.once=l||!1}function r(g,Q,l,u,d){if(typeof l!="function")throw new TypeError("The listener must be a function");var E=new n(l,u||g,d),C=t?t+Q:Q;return g._events[C]?g._events[C].fn?g._events[C]=[g._events[C],E]:g._events[C].push(E):(g._events[C]=E,g._eventsCount++),g}function i(g,Q){--g._eventsCount===0?g._events=new s:delete g._events[Q]}function a(){this._events=new s,this._eventsCount=0}a.prototype.eventNames=function(){var Q=[],l,u;if(this._eventsCount===0)return Q;for(u in l=this._events)e.call(l,u)&&Q.push(t?u.slice(1):u);return Object.getOwnPropertySymbols?Q.concat(Object.getOwnPropertySymbols(l)):Q},a.prototype.listeners=function(Q){var l=t?t+Q:Q,u=this._events[l];if(!u)return[];if(u.fn)return[u.fn];for(var d=0,E=u.length,C=new Array(E);d<E;d++)C[d]=u[d].fn;return C},a.prototype.listenerCount=function(Q){var l=t?t+Q:Q,u=this._events[l];return u?u.fn?1:u.length:0},a.prototype.emit=function(Q,l,u,d,E,C){var p=t?t+Q:Q;if(!this._events[p])return!1;var f=this._events[p],M=arguments.length,S,N;if(f.fn){switch(f.once&&this.removeListener(Q,f.fn,void 0,!0),M){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,l),!0;case 3:return f.fn.call(f.context,l,u),!0;case 4:return f.fn.call(f.context,l,u,d),!0;case 5:return f.fn.call(f.context,l,u,d,E),!0;case 6:return f.fn.call(f.context,l,u,d,E,C),!0}for(N=1,S=new Array(M-1);N<M;N++)S[N-1]=arguments[N];f.fn.apply(f.context,S)}else{var T=f.length,L;for(N=0;N<T;N++)switch(f[N].once&&this.removeListener(Q,f[N].fn,void 0,!0),M){case 1:f[N].fn.call(f[N].context);break;case 2:f[N].fn.call(f[N].context,l);break;case 3:f[N].fn.call(f[N].context,l,u);break;case 4:f[N].fn.call(f[N].context,l,u,d);break;default:if(!S)for(L=1,S=new Array(M-1);L<M;L++)S[L-1]=arguments[L];f[N].fn.apply(f[N].context,S)}}return!0},a.prototype.on=function(Q,l,u){return r(this,Q,l,u,!1)},a.prototype.once=function(Q,l,u){return r(this,Q,l,u,!0)},a.prototype.removeListener=function(Q,l,u,d){var E=t?t+Q:Q;if(!this._events[E])return this;if(!l)return i(this,E),this;var C=this._events[E];if(C.fn)C.fn===l&&(!d||C.once)&&(!u||C.context===u)&&i(this,E);else{for(var p=0,f=[],M=C.length;p<M;p++)(C[p].fn!==l||d&&!C[p].once||u&&C[p].context!==u)&&f.push(C[p]);f.length?this._events[E]=f.length===1?f[0]:f:i(this,E)}return this},a.prototype.removeAllListeners=function(Q){var l;return Q?(l=t?t+Q:Q,this._events[l]&&i(this,l)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=t,a.EventEmitter=a,A.exports=a})(mi)),mi.exports}Ax();class cE extends bl{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,kl(e);const s=La(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,r=new Uint8Array(n);r.set(s.length>n?e.create().update(s).digest():s);for(let i=0;i<r.length;i++)r[i]^=54;this.iHash.update(r),this.oHash=e.create();for(let i=0;i<r.length;i++)r[i]^=106;this.oHash.update(r),Js(r)}update(e){return Qn(this),this.iHash.update(e),this}digestInto(e){Qn(this),ms(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:s,finished:n,destroyed:r,blockLen:i,outputLen:a}=this;return e=e,e.finished=n,e.destroyed=r,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=s._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const CE=(A,e,t)=>new cE(A,e).update(t).digest();CE.create=(A,e)=>new cE(A,e);const GQ=(A,e)=>(A+(A>=0?e:-e)/IE)/e;function ex(A,e,t){const[[s,n],[r,i]]=e,a=GQ(i*A,t),g=GQ(-n*A,t);let Q=A-a*s-g*r,l=-a*n-g*i;const u=Q<Lo,d=l<Lo;u&&(Q=-Q),d&&(l=-l);const E=xr(Math.ceil(Kl(t)/2))+Rs;if(Q<Lo||Q>=E||l<Lo||l>=E)throw new Error("splitScalar (endomorphism): failed, k="+A);return{k1neg:u,k1:Q,k2neg:d,k2:l}}function ta(A){if(!["compact","recovered","der"].includes(A))throw new Error('Signature format must be "compact", "recovered", or "der"');return A}function wi(A,e){const t={};for(let s of Object.keys(e))t[s]=A[s]===void 0?e[s]:A[s];return us(t.lowS,"lowS"),us(t.prehash,"prehash"),t.format!==void 0&&ta(t.format),t}class tx extends Error{constructor(e=""){super(e)}}const Ko={Err:tx,_tlv:{encode:(A,e)=>{const{Err:t}=Ko;if(A<0||A>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");const s=e.length/2,n=Lr(s);if(n.length/2&128)throw new t("tlv.encode: long form length too big");const r=s>127?Lr(n.length/2|128):"";return Lr(A)+r+n+e},decode(A,e){const{Err:t}=Ko;let s=0;if(A<0||A>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[s++]!==A)throw new t("tlv.decode: wrong tlv");const n=e[s++],r=!!(n&128);let i=0;if(!r)i=n;else{const g=n&127;if(!g)throw new t("tlv.decode(long): indefinite length not supported");if(g>4)throw new t("tlv.decode(long): byte length is too big");const Q=e.subarray(s,s+g);if(Q.length!==g)throw new t("tlv.decode: length bytes not complete");if(Q[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const l of Q)i=i<<8|l;if(s+=g,i<128)throw new t("tlv.decode(long): not minimal encoding")}const a=e.subarray(s,s+i);if(a.length!==i)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(s+i)}}},_int:{encode(A){const{Err:e}=Ko;if(A<Lo)throw new e("integer: negative integers are not allowed");let t=Lr(A);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(A){const{Err:e}=Ko;if(A[0]&128)throw new e("invalid signature integer: negative");if(A[0]===0&&!(A[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Rn(A)}},toSig(A){const{Err:e,_int:t,_tlv:s}=Ko,n=lt("signature",A),{v:r,l:i}=s.decode(48,n);if(i.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:g}=s.decode(2,r),{v:Q,l}=s.decode(2,g);if(l.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(Q)}},hexFromSig(A){const{_tlv:e,_int:t}=Ko,s=e.encode(2,t.encode(A.r)),n=e.encode(2,t.encode(A.s)),r=s+n;return e.encode(48,r)}},Lo=BigInt(0),Rs=BigInt(1),IE=BigInt(2),Or=BigInt(3),ox=BigInt(4);function Gs(A,e){const{BYTES:t}=A;let s;if(typeof e=="bigint")s=e;else{let n=lt("private key",e);try{s=A.fromBytes(n)}catch{throw new Error(`invalid private key: expected ui8a of size ${t}, got ${typeof e}`)}}if(!A.isValidNot0(s))throw new Error("invalid private key: out of range [1..N-1]");return s}function sx(A,e={}){const t=$l("weierstrass",A,e),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i,n:a}=r;Dr(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:g}=e;if(g&&(!s.is0(r.a)||typeof g.beta!="bigint"||!Array.isArray(g.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const Q=dE(s,n);function l(){if(!s.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(K,w,B){const{x:I,y}=w.toAffine(),G=s.toBytes(I);if(us(B,"isCompressed"),B){l();const j=!s.isOdd(y);return Do(uE(j),G)}else return Do(Uint8Array.of(4),G,s.toBytes(y))}function d(K){lo(K,void 0,"Point");const{publicKey:w,publicKeyUncompressed:B}=Q,I=K.length,y=K[0],G=K.subarray(1);if(I===w&&(y===2||y===3)){const j=s.fromBytes(G);if(!s.isValid(j))throw new Error("bad point: is not on curve, wrong x");const O=p(j);let z;try{z=s.sqrt(O)}catch(h){const U=h instanceof Error?": "+h.message:"";throw new Error("bad point: is not on curve, sqrt error"+U)}l();const v=s.isOdd(z);return(y&1)===1!==v&&(z=s.neg(z)),{x:j,y:z}}else if(I===B&&y===4){const j=s.BYTES,O=s.fromBytes(G.subarray(0,j)),z=s.fromBytes(G.subarray(j,j*2));if(!f(O,z))throw new Error("bad point: is not on curve");return{x:O,y:z}}else throw new Error(`bad point: got length ${I}, expected compressed=${w} or uncompressed=${B}`)}const E=e.toBytes||u,C=e.fromBytes||d;function p(K){const w=s.sqr(K),B=s.mul(w,K);return s.add(s.add(B,s.mul(K,r.a)),r.b)}function f(K,w){const B=s.sqr(w),I=p(K);return s.eql(B,I)}if(!f(r.Gx,r.Gy))throw new Error("bad curve params: generator point");const M=s.mul(s.pow(r.a,Or),ox),S=s.mul(s.sqr(r.b),BigInt(27));if(s.is0(s.add(M,S)))throw new Error("bad curve params: a or b");function N(K,w,B=!1){if(!s.isValid(w)||B&&s.is0(w))throw new Error(`bad point coordinate ${K}`);return w}function T(K){if(!(K instanceof J))throw new Error("ProjectivePoint expected")}function L(K){if(!g||!g.basises)throw new Error("no endo");return ex(K,g.basises,n.ORDER)}const Z=ln((K,w)=>{const{X:B,Y:I,Z:y}=K;if(s.eql(y,s.ONE))return{x:B,y:I};const G=K.is0();w==null&&(w=G?s.ONE:s.inv(y));const j=s.mul(B,w),O=s.mul(I,w),z=s.mul(y,w);if(G)return{x:s.ZERO,y:s.ZERO};if(!s.eql(z,s.ONE))throw new Error("invZ was invalid");return{x:j,y:O}}),AA=ln(K=>{if(K.is0()){if(e.allowInfinityPoint&&!s.is0(K.Y))return;throw new Error("bad point: ZERO")}const{x:w,y:B}=K.toAffine();if(!s.isValid(w)||!s.isValid(B))throw new Error("bad point: x or y not field elements");if(!f(w,B))throw new Error("bad point: equation left != right");if(!K.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function _(K,w,B,I,y){return B=new J(s.mul(B.X,K),B.Y,B.Z),w=En(I,w),B=En(y,B),w.add(B)}class J{constructor(w,B,I){this.X=N("x",w),this.Y=N("y",B,!0),this.Z=N("z",I),Object.freeze(this)}static CURVE(){return r}static fromAffine(w){const{x:B,y:I}=w||{};if(!w||!s.isValid(B)||!s.isValid(I))throw new Error("invalid affine point");if(w instanceof J)throw new Error("projective point not allowed");return s.is0(B)&&s.is0(I)?J.ZERO:new J(B,I,s.ONE)}static fromBytes(w){const B=J.fromAffine(C(lo(w,void 0,"point")));return B.assertValidity(),B}static fromHex(w){return J.fromBytes(lt("pointHex",w))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(w=8,B=!0){return b.createCache(this,w),B||this.multiply(Or),this}assertValidity(){AA(this)}hasEvenY(){const{y:w}=this.toAffine();if(!s.isOdd)throw new Error("Field doesn't support isOdd");return!s.isOdd(w)}equals(w){T(w);const{X:B,Y:I,Z:y}=this,{X:G,Y:j,Z:O}=w,z=s.eql(s.mul(B,O),s.mul(G,y)),v=s.eql(s.mul(I,O),s.mul(j,y));return z&&v}negate(){return new J(this.X,s.neg(this.Y),this.Z)}double(){const{a:w,b:B}=r,I=s.mul(B,Or),{X:y,Y:G,Z:j}=this;let O=s.ZERO,z=s.ZERO,v=s.ZERO,c=s.mul(y,y),h=s.mul(G,G),U=s.mul(j,j),R=s.mul(y,G);return R=s.add(R,R),v=s.mul(y,j),v=s.add(v,v),O=s.mul(w,v),z=s.mul(I,U),z=s.add(O,z),O=s.sub(h,z),z=s.add(h,z),z=s.mul(O,z),O=s.mul(R,O),v=s.mul(I,v),U=s.mul(w,U),R=s.sub(c,U),R=s.mul(w,R),R=s.add(R,v),v=s.add(c,c),c=s.add(v,c),c=s.add(c,U),c=s.mul(c,R),z=s.add(z,c),U=s.mul(G,j),U=s.add(U,U),c=s.mul(U,R),O=s.sub(O,c),v=s.mul(U,h),v=s.add(v,v),v=s.add(v,v),new J(O,z,v)}add(w){T(w);const{X:B,Y:I,Z:y}=this,{X:G,Y:j,Z:O}=w;let z=s.ZERO,v=s.ZERO,c=s.ZERO;const h=r.a,U=s.mul(r.b,Or);let R=s.mul(B,G),X=s.mul(I,j),tA=s.mul(y,O),uA=s.add(B,I),aA=s.add(G,j);uA=s.mul(uA,aA),aA=s.add(R,X),uA=s.sub(uA,aA),aA=s.add(B,y);let KA=s.add(G,O);return aA=s.mul(aA,KA),KA=s.add(R,tA),aA=s.sub(aA,KA),KA=s.add(I,y),z=s.add(j,O),KA=s.mul(KA,z),z=s.add(X,tA),KA=s.sub(KA,z),c=s.mul(h,aA),z=s.mul(U,tA),c=s.add(z,c),z=s.sub(X,c),c=s.add(X,c),v=s.mul(z,c),X=s.add(R,R),X=s.add(X,R),tA=s.mul(h,tA),aA=s.mul(U,aA),X=s.add(X,tA),tA=s.sub(R,tA),tA=s.mul(h,tA),aA=s.add(aA,tA),R=s.mul(X,aA),v=s.add(v,R),R=s.mul(KA,aA),z=s.mul(uA,z),z=s.sub(z,R),R=s.mul(uA,X),c=s.mul(KA,c),c=s.add(c,R),new J(z,v,c)}subtract(w){return this.add(w.negate())}is0(){return this.equals(J.ZERO)}multiply(w){const{endo:B}=e;if(!n.isValidNot0(w))throw new Error("invalid scalar: out of range");let I,y;const G=j=>b.cached(this,j,O=>Qs(J,O));if(B){const{k1neg:j,k1:O,k2neg:z,k2:v}=L(w),{p:c,f:h}=G(O),{p:U,f:R}=G(v);y=h.add(R),I=_(B.beta,c,U,j,z)}else{const{p:j,f:O}=G(w);I=j,y=O}return Qs(J,[I,y])[0]}multiplyUnsafe(w){const{endo:B}=e,I=this;if(!n.isValid(w))throw new Error("invalid scalar: out of range");if(w===Lo||I.is0())return J.ZERO;if(w===Rs)return I;if(b.hasCache(this))return this.multiply(w);if(B){const{k1neg:y,k1:G,k2neg:j,k2:O}=L(w),{p1:z,p2:v}=fm(J,I,G,O);return _(B.beta,z,v,y,j)}else return b.unsafe(I,w)}multiplyAndAddUnsafe(w,B,I){const y=this.multiplyUnsafe(B).add(w.multiplyUnsafe(I));return y.is0()?void 0:y}toAffine(w){return Z(this,w)}isTorsionFree(){const{isTorsionFree:w}=e;return i===Rs?!0:w?w(J,this):b.unsafe(this,a).is0()}clearCofactor(){const{clearCofactor:w}=e;return i===Rs?this:w?w(J,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(w=!0){return us(w,"isCompressed"),this.assertValidity(),E(J,this,w)}toHex(w=!0){return ls(this.toBytes(w))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(w=!0){return this.toBytes(w)}_setWindowSize(w){this.precompute(w)}static normalizeZ(w){return Qs(J,w)}static msm(w,B){return Xl(J,n,w,B)}static fromPrivateKey(w){return J.BASE.multiply(Gs(n,w))}}J.BASE=new J(r.Gx,r.Gy,s.ONE),J.ZERO=new J(s.ZERO,s.ONE,s.ZERO),J.Fp=s,J.Fn=n;const P=n.BITS,b=new _l(J,e.endo?Math.ceil(P/2):P);return J.BASE.precompute(8),J}function uE(A){return Uint8Array.of(A?2:3)}function dE(A,e){return{secretKey:e.BYTES,publicKey:1+A.BYTES,publicKeyUncompressed:1+2*A.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function rx(A,e={}){const{Fn:t}=A,s=e.randomBytes||ja,n=Object.assign(dE(A.Fp,t),{seed:zl(t.ORDER)});function r(E){try{return!!Gs(t,E)}catch{return!1}}function i(E,C){const{publicKey:p,publicKeyUncompressed:f}=n;try{const M=E.length;return C===!0&&M!==p||C===!1&&M!==f?!1:!!A.fromBytes(E)}catch{return!1}}function a(E=s(n.seed)){return um(lo(E,n.seed,"seed"),t.ORDER)}function g(E,C=!0){return A.BASE.multiply(Gs(t,E)).toBytes(C)}function Q(E){const C=a(E);return{secretKey:C,publicKey:g(C)}}function l(E){if(typeof E=="bigint")return!1;if(E instanceof A)return!0;const{secretKey:C,publicKey:p,publicKeyUncompressed:f}=n;if(t.allowedLengths||C===p)return;const M=lt("key",E).length;return M===p||M===f}function u(E,C,p=!0){if(l(E)===!0)throw new Error("first arg must be private key");if(l(C)===!1)throw new Error("second arg must be public key");const f=Gs(t,E);return A.fromHex(C).multiply(f).toBytes(p)}return Object.freeze({getPublicKey:g,getSharedSecret:u,keygen:Q,Point:A,utils:{isValidSecretKey:r,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:r,randomPrivateKey:a,normPrivateKeyToScalar:E=>Gs(t,E),precompute(E=8,C=A.BASE){return C.precompute(E,!1)}},lengths:n})}function nx(A,e,t={}){kl(e),Dr(t,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const s=t.randomBytes||ja,n=t.hmac||((B,...I)=>CE(e,B,Do(...I))),{Fp:r,Fn:i}=A,{ORDER:a,BITS:g}=i,{keygen:Q,getPublicKey:l,getSharedSecret:u,utils:d,lengths:E}=rx(A,t),C={prehash:!1,lowS:typeof t.lowS=="boolean"?t.lowS:!1,format:void 0,extraEntropy:!1},p="compact";function f(B){const I=a>>Rs;return B>I}function M(B,I){if(!i.isValidNot0(I))throw new Error(`invalid signature ${B}: out of range 1..Point.Fn.ORDER`);return I}function S(B,I){ta(I);const y=E.signature,G=I==="compact"?y:I==="recovered"?y+1:void 0;return lo(B,G,`${I} signature`)}class N{constructor(I,y,G){this.r=M("r",I),this.s=M("s",y),G!=null&&(this.recovery=G),Object.freeze(this)}static fromBytes(I,y=p){S(I,y);let G;if(y==="der"){const{r:v,s:c}=Ko.toSig(lo(I));return new N(v,c)}y==="recovered"&&(G=I[0],y="compact",I=I.subarray(1));const j=i.BYTES,O=I.subarray(0,j),z=I.subarray(j,j*2);return new N(i.fromBytes(O),i.fromBytes(z),G)}static fromHex(I,y){return this.fromBytes(Bn(I),y)}addRecoveryBit(I){return new N(this.r,this.s,I)}recoverPublicKey(I){const y=r.ORDER,{r:G,s:j,recovery:O}=this;if(O==null||![0,1,2,3].includes(O))throw new Error("recovery id invalid");if(a*IE<y&&O>1)throw new Error("recovery id is ambiguous for h>1 curve");const v=O===2||O===3?G+a:G;if(!r.isValid(v))throw new Error("recovery id 2 or 3 invalid");const c=r.toBytes(v),h=A.fromBytes(Do(uE((O&1)===0),c)),U=i.inv(v),R=L(lt("msgHash",I)),X=i.create(-R*U),tA=i.create(j*U),uA=A.BASE.multiplyUnsafe(X).add(h.multiplyUnsafe(tA));if(uA.is0())throw new Error("point at infinify");return uA.assertValidity(),uA}hasHighS(){return f(this.s)}toBytes(I=p){if(ta(I),I==="der")return Bn(Ko.hexFromSig(this));const y=i.toBytes(this.r),G=i.toBytes(this.s);if(I==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return Do(Uint8Array.of(this.recovery),y,G)}return Do(y,G)}toHex(I){return ls(this.toBytes(I))}assertValidity(){}static fromCompact(I){return N.fromBytes(lt("sig",I),"compact")}static fromDER(I){return N.fromBytes(lt("sig",I),"der")}normalizeS(){return this.hasHighS()?new N(this.r,i.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return ls(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return ls(this.toBytes("compact"))}}const T=t.bits2int||function(I){if(I.length>8192)throw new Error("input is too large");const y=Rn(I),G=I.length*8-g;return G>0?y>>BigInt(G):y},L=t.bits2int_modN||function(I){return i.create(T(I))},Z=xr(g);function AA(B){return ea("num < 2^"+g,B,Lo,Z),i.toBytes(B)}function _(B,I){return lo(B,void 0,"message"),I?lo(e(B),void 0,"prehashed message"):B}function J(B,I,y){if(["recovered","canonical"].some(X=>X in y))throw new Error("sign() legacy options not supported");const{lowS:G,prehash:j,extraEntropy:O}=wi(y,C);B=_(B,j);const z=L(B),v=Gs(i,I),c=[AA(v),AA(z)];if(O!=null&&O!==!1){const X=O===!0?s(E.secretKey):O;c.push(lt("extraEntropy",X))}const h=Do(...c),U=z;function R(X){const tA=T(X);if(!i.isValidNot0(tA))return;const uA=i.inv(tA),aA=A.BASE.multiply(tA).toAffine(),KA=i.create(aA.x);if(KA===Lo)return;const PA=i.create(uA*i.create(U+KA*v));if(PA===Lo)return;let dA=(aA.x===KA?0:2)|Number(aA.y&Rs),ZA=PA;return G&&f(PA)&&(ZA=i.neg(PA),dA^=1),new N(KA,ZA,dA)}return{seed:h,k2sig:R}}function P(B,I,y={}){B=lt("message",B);const{seed:G,k2sig:j}=J(B,I,y);return im(e.outputLen,i.BYTES,n)(G,j)}function b(B){let I;const y=typeof B=="string"||wr(B),G=!y&&B!==null&&typeof B=="object"&&typeof B.r=="bigint"&&typeof B.s=="bigint";if(!y&&!G)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(G)I=new N(B.r,B.s);else if(y){try{I=N.fromBytes(lt("sig",B),"der")}catch(j){if(!(j instanceof Ko.Err))throw j}if(!I)try{I=N.fromBytes(lt("sig",B),"compact")}catch{return!1}}return I||!1}function K(B,I,y,G={}){const{lowS:j,prehash:O,format:z}=wi(G,C);if(y=lt("publicKey",y),I=_(lt("message",I),O),"strict"in G)throw new Error("options.strict was renamed to lowS");const v=z===void 0?b(B):N.fromBytes(lt("sig",B),z);if(v===!1)return!1;try{const c=A.fromBytes(y);if(j&&v.hasHighS())return!1;const{r:h,s:U}=v,R=L(I),X=i.inv(U),tA=i.create(R*X),uA=i.create(h*X),aA=A.BASE.multiplyUnsafe(tA).add(c.multiplyUnsafe(uA));return aA.is0()?!1:i.create(aA.x)===h}catch{return!1}}function w(B,I,y={}){const{prehash:G}=wi(y,C);return I=_(I,G),N.fromBytes(B,"recovered").recoverPublicKey(I).toBytes()}return Object.freeze({keygen:Q,getPublicKey:l,getSharedSecret:u,utils:d,lengths:E,Point:A,sign:P,verify:K,recoverPublicKey:w,Signature:N,hash:e})}function ix(A){const e={a:A.a,b:A.b,p:A.Fp.ORDER,n:A.n,h:A.h,Gx:A.Gx,Gy:A.Gy},t=A.Fp;let s=A.allowedPrivateKeyLengths?Array.from(new Set(A.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0;const n=ws(e.n,{BITS:A.nBitLength,allowedLengths:s,modFromBytes:A.wrapPrivateKey}),r={Fp:t,Fn:n,allowInfinityPoint:A.allowInfinityPoint,endo:A.endo,isTorsionFree:A.isTorsionFree,clearCofactor:A.clearCofactor,fromBytes:A.fromBytes,toBytes:A.toBytes};return{CURVE:e,curveOpts:r}}function ax(A){const{CURVE:e,curveOpts:t}=ix(A),s={hmac:A.hmac,randomBytes:A.randomBytes,lowS:A.lowS,bits2int:A.bits2int,bits2int_modN:A.bits2int_modN};return{CURVE:e,curveOpts:t,hash:A.hash,ecdsaOpts:s}}function gx(A,e){const t=e.Point;return Object.assign({},e,{ProjectivePoint:t,CURVE:Object.assign({},A,Pl(t.Fn.ORDER,t.Fn.BITS))})}function Qx(A){const{CURVE:e,curveOpts:t,hash:s,ecdsaOpts:n}=ax(A),r=sx(e,t),i=nx(r,s,n);return gx(A,i)}function Bx(A,e){const t=s=>Qx({...A,hash:s});return{...t(e),create:t}}const Va={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},lx={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},vQ=BigInt(2);function Ex(A){const e=Va.p,t=BigInt(3),s=BigInt(6),n=BigInt(11),r=BigInt(22),i=BigInt(23),a=BigInt(44),g=BigInt(88),Q=A*A*A%e,l=Q*Q*A%e,u=Bt(l,t,e)*l%e,d=Bt(u,t,e)*l%e,E=Bt(d,vQ,e)*Q%e,C=Bt(E,n,e)*E%e,p=Bt(C,r,e)*C%e,f=Bt(p,a,e)*p%e,M=Bt(f,g,e)*f%e,S=Bt(M,a,e)*p%e,N=Bt(S,t,e)*l%e,T=Bt(N,i,e)*C%e,L=Bt(T,s,e)*Q%e,Z=Bt(L,vQ,e);if(!oa.eql(oa.sqr(Z),A))throw new Error("Cannot find square root");return Z}const oa=ws(Va.p,{sqrt:Ex}),cx=Bx({...Va,Fp:oa,lowS:!0,endo:lx},Sl);Kn.utils.randomPrivateKey;Kn.getPublicKey;function SQ(A){try{return Kn.ExtendedPoint.fromHex(A),!0}catch{return!1}}Kn.verify;const Cx=A=>mt.Buffer.isBuffer(A)?A:A instanceof Uint8Array?mt.Buffer.from(A.buffer,A.byteOffset,A.byteLength):mt.Buffer.from(A);class Ix{constructor(e){Object.assign(this,e)}encode(){return mt.Buffer.from(ci.serialize(An,this))}static decode(e){return ci.deserialize(An,this,e)}static decodeUnchecked(e){return ci.deserializeUnchecked(An,this,e)}}const An=new Map;var hE;const ux=32,xi=32;function dx(A){return A._bn!==void 0}let UQ=1;class je extends Ix{constructor(e){if(super({}),this._bn=void 0,dx(e))this._bn=e._bn;else{if(typeof e=="string"){const t=pQ.decode(e);if(t.length!=xi)throw new Error("Invalid public key input");this._bn=new uQ(t)}else this._bn=new uQ(e);if(this._bn.byteLength()>xi)throw new Error("Invalid public key input")}}static unique(){const e=new je(UQ);return UQ+=1,new je(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return pQ.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(mt.Buffer);if(e.length===xi)return e;const t=mt.Buffer.alloc(32);return e.copy(t,32-e.length),t}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,s){const n=mt.Buffer.concat([e.toBuffer(),mt.Buffer.from(t),s.toBuffer()]),r=mQ(n);return new je(r)}static createProgramAddressSync(e,t){let s=mt.Buffer.alloc(0);e.forEach(function(r){if(r.length>ux)throw new TypeError("Max seed length exceeded");s=mt.Buffer.concat([s,Cx(r)])}),s=mt.Buffer.concat([s,t.toBuffer(),mt.Buffer.from("ProgramDerivedAddress")]);const n=mQ(s);if(SQ(n))throw new Error("Invalid seeds, address must fall off the curve");return new je(n)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let s=255,n;for(;s!=0;){try{const r=e.concat(mt.Buffer.from([s]));n=this.createProgramAddressSync(r,t)}catch(r){if(r instanceof TypeError)throw r;s--;continue}return[n,s]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){const t=new je(e);return SQ(t.toBytes())}}hE=je;je.default=new hE("11111111111111111111111111111111");An.set(je,{kind:"struct",fields:[["_bn","u256"]]});new je("BPFLoader1111111111111111111111111111111111");const hx=64,Te=(A="publicKey")=>sA.blob(32,A),vs=(A="string")=>{const e=sA.struct([sA.u32("length"),sA.u32("lengthPadding"),sA.blob(sA.offset(sA.u32(),-8),"chars")],A),t=e.decode.bind(e),s=e.encode.bind(e),n=e;return n.decode=(r,i)=>t(r,i).chars.toString(),n.encode=(r,i,a)=>{const g={chars:mt.Buffer.from(r,"utf8")};return s(g,i,a)},n.alloc=r=>sA.u32().span+sA.u32().span+mt.Buffer.from(r,"utf8").length,n},fx=(A="authorized")=>sA.struct([Te("staker"),Te("withdrawer")],A),px=(A="lockup")=>sA.struct([sA.ns64("unixTimestamp"),sA.ns64("epoch"),Te("custodian")],A),mx=(A="voteInit")=>sA.struct([Te("nodePubkey"),Te("authorizedVoter"),Te("authorizedWithdrawer"),sA.u8("commission")],A),wx=(A="voteAuthorizeWithSeedArgs")=>sA.struct([sA.u32("voteAuthorizationType"),Te("currentAuthorityDerivedKeyOwnerPubkey"),vs("currentAuthorityDerivedKeySeed"),Te("newAuthorized")],A);mt.Buffer.alloc(hx).fill(0);new je("SysvarC1ock11111111111111111111111111111111");new je("SysvarEpochSchedu1e111111111111111111111111");new je("Sysvar1nstructions1111111111111111111111111");new je("SysvarRecentB1ockHashes11111111111111111111");new je("SysvarRent111111111111111111111111111111111");new je("SysvarRewards111111111111111111111111111111");new je("SysvarS1otHashes111111111111111111111111111");new je("SysvarS1otHistory11111111111111111111111111");new je("SysvarStakeHistory1111111111111111111111111");const xx=sA.nu64("lamportsPerSignature"),Dx=sA.struct([sA.u32("version"),sA.u32("state"),Te("authorizedPubkey"),Te("nonce"),sA.struct([xx],"feeCalculator")]);Dx.span;function Ts(A){const e=sA.blob(8,A),t=e.decode.bind(e),s=e.encode.bind(e),n=e,r=xw();return n.decode=(i,a)=>{const g=t(i,a);return r.decode(g)},n.encode=(i,a,g)=>{const Q=r.encode(i);return s(Q,a,g)},n}Object.freeze({Create:{index:0,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports"),sA.ns64("space"),Te("programId")])},Assign:{index:1,layout:sA.struct([sA.u32("instruction"),Te("programId")])},Transfer:{index:2,layout:sA.struct([sA.u32("instruction"),Ts("lamports")])},CreateWithSeed:{index:3,layout:sA.struct([sA.u32("instruction"),Te("base"),vs("seed"),sA.ns64("lamports"),sA.ns64("space"),Te("programId")])},AdvanceNonceAccount:{index:4,layout:sA.struct([sA.u32("instruction")])},WithdrawNonceAccount:{index:5,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},InitializeNonceAccount:{index:6,layout:sA.struct([sA.u32("instruction"),Te("authorized")])},AuthorizeNonceAccount:{index:7,layout:sA.struct([sA.u32("instruction"),Te("authorized")])},Allocate:{index:8,layout:sA.struct([sA.u32("instruction"),sA.ns64("space")])},AllocateWithSeed:{index:9,layout:sA.struct([sA.u32("instruction"),Te("base"),vs("seed"),sA.ns64("space"),Te("programId")])},AssignWithSeed:{index:10,layout:sA.struct([sA.u32("instruction"),Te("base"),vs("seed"),Te("programId")])},TransferWithSeed:{index:11,layout:sA.struct([sA.u32("instruction"),Ts("lamports"),vs("seed"),Te("programId")])},UpgradeNonceAccount:{index:12,layout:sA.struct([sA.u32("instruction")])}});new je("11111111111111111111111111111111");new je("BPFLoader2111111111111111111111111111111111");sA.struct([sA.u32("typeIndex"),Ts("deactivationSlot"),sA.nu64("lastExtendedSlot"),sA.u8("lastExtendedStartIndex"),sA.u8(),sA.seq(Te(),sA.offset(sA.u8(),-1),"authority")]);const Et=kr(Wa(je),GA(),A=>new je(A)),fE=za([GA(),ot("base64")]),Za=kr(Wa(mt.Buffer),fE,A=>mt.Buffer.from(A[0],"base64"));function pE(A){return Wt([mA({jsonrpc:ot("2.0"),id:GA(),result:A}),mA({jsonrpc:ot("2.0"),id:GA(),error:mA({code:zs(),message:GA(),data:Ae(Fw())})})])}const yx=pE(zs());function $e(A){return kr(pE(A),yx,e=>"error"in e?e:{...e,result:Qr(e.result,A)})}function fo(A){return $e(mA({context:mA({slot:gA()}),value:A}))}function On(A){return mA({context:mA({slot:gA()}),value:A})}const Nx=mA({foundation:gA(),foundationTerm:gA(),initial:gA(),taper:gA(),terminal:gA()});$e(TA(OA(mA({epoch:gA(),effectiveSlot:gA(),amount:gA(),postBalance:gA(),commission:Ae(OA(gA()))}))));const kx=TA(mA({slot:gA(),prioritizationFee:gA()})),Mx=mA({total:gA(),validator:gA(),foundation:gA(),epoch:gA()}),bx=mA({epoch:gA(),slotIndex:gA(),slotsInEpoch:gA(),absoluteSlot:gA(),blockHeight:Ae(gA()),transactionCount:Ae(gA())}),Fx=mA({slotsPerEpoch:gA(),leaderScheduleSlotOffset:gA(),warmup:Mo(),firstNormalEpoch:gA(),firstNormalSlot:gA()}),Gx=aE(GA(),TA(gA())),Ds=OA(Wt([mA({}),GA()])),vx=mA({err:Ds}),Sx=ot("receivedSignature");mA({"solana-core":GA(),"feature-set":Ae(gA())});const Ux=mA({program:GA(),programId:Et,parsed:zs()}),Rx=mA({programId:Et,accounts:TA(Et),data:GA()});fo(mA({err:OA(Wt([mA({}),GA()])),logs:OA(TA(GA())),accounts:Ae(OA(TA(OA(mA({executable:Mo(),owner:GA(),lamports:gA(),data:TA(GA()),rentEpoch:Ae(gA())}))))),unitsConsumed:Ae(gA()),returnData:Ae(OA(mA({programId:GA(),data:za([GA(),ot("base64")])}))),innerInstructions:Ae(OA(TA(mA({index:gA(),instructions:TA(Wt([Ux,Rx]))}))))}));fo(mA({byIdentity:aE(GA(),TA(gA())),range:mA({firstSlot:gA(),lastSlot:gA()})}));$e(Nx);$e(Mx);$e(kx);$e(bx);$e(Fx);$e(Gx);$e(gA());fo(mA({total:gA(),circulating:gA(),nonCirculating:gA(),nonCirculatingAccounts:TA(Et)}));const Kx=mA({amount:GA(),uiAmount:OA(gA()),decimals:gA(),uiAmountString:Ae(GA())});fo(TA(mA({address:Et,amount:GA(),uiAmount:OA(gA()),decimals:gA(),uiAmountString:Ae(GA())})));fo(TA(mA({pubkey:Et,account:mA({executable:Mo(),owner:Et,lamports:gA(),data:Za,rentEpoch:gA()})})));const sa=mA({program:GA(),parsed:zs(),space:gA()});fo(TA(mA({pubkey:Et,account:mA({executable:Mo(),owner:Et,lamports:gA(),data:sa,rentEpoch:gA()})})));fo(TA(mA({lamports:gA(),address:Et})));const _a=mA({executable:Mo(),owner:Et,lamports:gA(),data:Za,rentEpoch:gA()});mA({pubkey:Et,account:_a});const Jx=kr(Wt([Wa(mt.Buffer),sa]),Wt([fE,sa]),A=>Array.isArray(A)?Qr(A,Za):A),Lx=mA({executable:Mo(),owner:Et,lamports:gA(),data:Jx,rentEpoch:gA()});mA({pubkey:Et,account:Lx});mA({state:Wt([ot("active"),ot("inactive"),ot("activating"),ot("deactivating")]),active:gA(),inactive:gA()});$e(TA(mA({signature:GA(),slot:gA(),err:Ds,memo:OA(GA()),blockTime:Ae(OA(gA()))})));$e(TA(mA({signature:GA(),slot:gA(),err:Ds,memo:OA(GA()),blockTime:Ae(OA(gA()))})));mA({subscription:gA(),result:On(_a)});const jx=mA({pubkey:Et,account:_a});mA({subscription:gA(),result:On(jx)});const Tx=mA({parent:gA(),slot:gA(),root:gA()});mA({subscription:gA(),result:Tx});const Ox=Wt([mA({type:Wt([ot("firstShredReceived"),ot("completed"),ot("optimisticConfirmation"),ot("root")]),slot:gA(),timestamp:gA()}),mA({type:ot("createdBank"),parent:gA(),slot:gA(),timestamp:gA()}),mA({type:ot("frozen"),slot:gA(),timestamp:gA(),stats:mA({numTransactionEntries:gA(),numSuccessfulTransactions:gA(),numFailedTransactions:gA(),maxTransactionsPerEntry:gA()})}),mA({type:ot("dead"),slot:gA(),timestamp:gA(),err:GA()})]);mA({subscription:gA(),result:Ox});mA({subscription:gA(),result:On(Wt([vx,Sx]))});mA({subscription:gA(),result:gA()});mA({pubkey:GA(),gossip:OA(GA()),tpu:OA(GA()),rpc:OA(GA()),version:OA(GA())});const RQ=mA({votePubkey:GA(),nodePubkey:GA(),activatedStake:gA(),epochVoteAccount:Mo(),epochCredits:TA(za([gA(),gA(),gA()])),commission:gA(),lastVote:gA(),rootSlot:OA(gA())});$e(mA({current:TA(RQ),delinquent:TA(RQ)}));const qx=Wt([ot("processed"),ot("confirmed"),ot("finalized")]),Yx=mA({slot:gA(),confirmations:OA(gA()),err:Ds,confirmationStatus:Ae(qx)});fo(TA(OA(Yx)));$e(gA());const mE=mA({accountKey:Et,writableIndexes:TA(gA()),readonlyIndexes:TA(gA())}),Xa=mA({signatures:TA(GA()),message:mA({accountKeys:TA(GA()),header:mA({numRequiredSignatures:gA(),numReadonlySignedAccounts:gA(),numReadonlyUnsignedAccounts:gA()}),instructions:TA(mA({accounts:TA(gA()),data:GA(),programIdIndex:gA()})),recentBlockhash:GA(),addressTableLookups:Ae(TA(mE))})}),wE=mA({pubkey:Et,signer:Mo(),writable:Mo(),source:Ae(Wt([ot("transaction"),ot("lookupTable")]))}),xE=mA({accountKeys:TA(wE),signatures:TA(GA())}),DE=mA({parsed:zs(),program:GA(),programId:Et}),yE=mA({accounts:TA(Et),data:GA(),programId:Et}),Hx=Wt([yE,DE]),Px=Wt([mA({parsed:zs(),program:GA(),programId:GA()}),mA({accounts:TA(GA()),data:GA(),programId:GA()})]),NE=kr(Hx,Px,A=>"accounts"in A?Qr(A,yE):Qr(A,DE)),kE=mA({signatures:TA(GA()),message:mA({accountKeys:TA(wE),instructions:TA(NE),recentBlockhash:GA(),addressTableLookups:Ae(OA(TA(mE)))})}),hn=mA({accountIndex:gA(),mint:GA(),owner:Ae(GA()),programId:Ae(GA()),uiTokenAmount:Kx}),ME=mA({writable:TA(Et),readonly:TA(Et)}),qn=mA({err:Ds,fee:gA(),innerInstructions:Ae(OA(TA(mA({index:gA(),instructions:TA(mA({accounts:TA(gA()),data:GA(),programIdIndex:gA()}))})))),preBalances:TA(gA()),postBalances:TA(gA()),logMessages:Ae(OA(TA(GA()))),preTokenBalances:Ae(OA(TA(hn))),postTokenBalances:Ae(OA(TA(hn))),loadedAddresses:Ae(ME),computeUnitsConsumed:Ae(gA()),costUnits:Ae(gA())}),$a=mA({err:Ds,fee:gA(),innerInstructions:Ae(OA(TA(mA({index:gA(),instructions:TA(NE)})))),preBalances:TA(gA()),postBalances:TA(gA()),logMessages:Ae(OA(TA(GA()))),preTokenBalances:Ae(OA(TA(hn))),postTokenBalances:Ae(OA(TA(hn))),loadedAddresses:Ae(ME),computeUnitsConsumed:Ae(gA()),costUnits:Ae(gA())}),Vs=Wt([ot(0),ot("legacy")]),ys=mA({pubkey:GA(),lamports:gA(),postBalance:OA(gA()),rewardType:OA(GA()),commission:Ae(OA(gA()))});$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),transactions:TA(mA({transaction:Xa,meta:OA(qn),version:Ae(Vs)})),rewards:Ae(TA(ys)),blockTime:OA(gA()),blockHeight:OA(gA())})));$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),rewards:Ae(TA(ys)),blockTime:OA(gA()),blockHeight:OA(gA())})));$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),transactions:TA(mA({transaction:xE,meta:OA(qn),version:Ae(Vs)})),rewards:Ae(TA(ys)),blockTime:OA(gA()),blockHeight:OA(gA())})));$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),transactions:TA(mA({transaction:kE,meta:OA($a),version:Ae(Vs)})),rewards:Ae(TA(ys)),blockTime:OA(gA()),blockHeight:OA(gA())})));$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),transactions:TA(mA({transaction:xE,meta:OA($a),version:Ae(Vs)})),rewards:Ae(TA(ys)),blockTime:OA(gA()),blockHeight:OA(gA())})));$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),rewards:Ae(TA(ys)),blockTime:OA(gA()),blockHeight:OA(gA())})));$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),transactions:TA(mA({transaction:Xa,meta:OA(qn)})),rewards:Ae(TA(ys)),blockTime:OA(gA())})));$e(OA(mA({blockhash:GA(),previousBlockhash:GA(),parentSlot:gA(),signatures:TA(GA()),blockTime:OA(gA())})));$e(OA(mA({slot:gA(),meta:OA(qn),blockTime:Ae(OA(gA())),transaction:Xa,version:Ae(Vs)})));$e(OA(mA({slot:gA(),transaction:kE,meta:OA($a),blockTime:Ae(OA(gA())),version:Ae(Vs)})));fo(mA({blockhash:GA(),lastValidBlockHeight:gA()}));fo(Mo());const Wx=mA({slot:gA(),numTransactions:gA(),numSlots:gA(),samplePeriodSecs:gA()});$e(TA(Wx));fo(OA(mA({feeCalculator:mA({lamportsPerSignature:gA()})})));$e(GA());$e(GA());const zx=mA({err:Ds,logs:TA(GA()),signature:GA()});mA({result:On(zx),subscription:gA()});Object.freeze({CreateLookupTable:{index:0,layout:sA.struct([sA.u32("instruction"),Ts("recentSlot"),sA.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:sA.struct([sA.u32("instruction")])},ExtendLookupTable:{index:2,layout:sA.struct([sA.u32("instruction"),Ts(),sA.seq(Te(),sA.offset(sA.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:sA.struct([sA.u32("instruction")])},CloseLookupTable:{index:4,layout:sA.struct([sA.u32("instruction")])}});new je("AddressLookupTab1e1111111111111111111111111");Object.freeze({RequestUnits:{index:0,layout:sA.struct([sA.u8("instruction"),sA.u32("units"),sA.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:sA.struct([sA.u8("instruction"),sA.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:sA.struct([sA.u8("instruction"),sA.u32("units")])},SetComputeUnitPrice:{index:3,layout:sA.struct([sA.u8("instruction"),Ts("microLamports")])}});new je("ComputeBudget111111111111111111111111111111");sA.struct([sA.u8("numSignatures"),sA.u8("padding"),sA.u16("signatureOffset"),sA.u16("signatureInstructionIndex"),sA.u16("publicKeyOffset"),sA.u16("publicKeyInstructionIndex"),sA.u16("messageDataOffset"),sA.u16("messageDataSize"),sA.u16("messageInstructionIndex")]);new je("Ed25519SigVerify111111111111111111111111111");cx.utils.isValidPrivateKey;sA.struct([sA.u8("numSignatures"),sA.u16("signatureOffset"),sA.u8("signatureInstructionIndex"),sA.u16("ethAddressOffset"),sA.u8("ethAddressInstructionIndex"),sA.u16("messageDataOffset"),sA.u16("messageDataSize"),sA.u8("messageInstructionIndex"),sA.blob(20,"ethAddress"),sA.blob(64,"signature"),sA.u8("recoveryId")]);new je("KeccakSecp256k11111111111111111111111111111");var bE;new je("StakeConfig11111111111111111111111111111111");class FE{constructor(e,t,s){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=s}}bE=FE;FE.default=new bE(0,0,je.default);Object.freeze({Initialize:{index:0,layout:sA.struct([sA.u32("instruction"),fx(),px()])},Authorize:{index:1,layout:sA.struct([sA.u32("instruction"),Te("newAuthorized"),sA.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:sA.struct([sA.u32("instruction")])},Split:{index:3,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},Withdraw:{index:4,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},Deactivate:{index:5,layout:sA.struct([sA.u32("instruction")])},Merge:{index:7,layout:sA.struct([sA.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:sA.struct([sA.u32("instruction"),Te("newAuthorized"),sA.u32("stakeAuthorizationType"),vs("authoritySeed"),Te("authorityOwner")])}});new je("Stake11111111111111111111111111111111111111");Object.freeze({InitializeAccount:{index:0,layout:sA.struct([sA.u32("instruction"),mx()])},Authorize:{index:1,layout:sA.struct([sA.u32("instruction"),Te("newAuthorized"),sA.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:sA.struct([sA.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:sA.struct([sA.u32("instruction"),wx()])}});new je("Vote111111111111111111111111111111111111111");new je("Va1idator1nfo111111111111111111111111111111");mA({name:GA(),website:Ae(GA()),details:Ae(GA()),iconUrl:Ae(GA()),keybaseUsername:Ae(GA())});new je("Vote111111111111111111111111111111111111111");sA.struct([Te("nodePubkey"),Te("authorizedWithdrawer"),sA.u8("commission"),sA.nu64(),sA.seq(sA.struct([sA.nu64("slot"),sA.u32("confirmationCount")]),sA.offset(sA.u32(),-8),"votes"),sA.u8("rootSlotValid"),sA.nu64("rootSlot"),sA.nu64(),sA.seq(sA.struct([sA.nu64("epoch"),Te("authorizedVoter")]),sA.offset(sA.u32(),-8),"authorizedVoters"),sA.struct([sA.seq(sA.struct([Te("authorizedPubkey"),sA.nu64("epochOfLastAuthorizedSwitch"),sA.nu64("targetEpoch")]),32,"buf"),sA.nu64("idx"),sA.u8("isEmpty")],"priorVoters"),sA.nu64(),sA.seq(sA.struct([sA.nu64("epoch"),sA.nu64("credits"),sA.nu64("prevCredits")]),sA.offset(sA.u32(),-8),"epochCredits"),sA.struct([sA.nu64("slot"),sA.nu64("timestamp")],"lastTimestamp")]);function Vx(A){if(A.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let Q=0;Q<e.length;Q++)e[Q]=255;for(let Q=0;Q<A.length;Q++){const l=A.charAt(Q),u=l.charCodeAt(0);if(e[u]!==255)throw new TypeError(l+" is ambiguous");e[u]=Q}const t=A.length,s=A.charAt(0),n=Math.log(t)/Math.log(256),r=Math.log(256)/Math.log(t);function i(Q){if(Q instanceof Uint8Array||(ArrayBuffer.isView(Q)?Q=new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength):Array.isArray(Q)&&(Q=Uint8Array.from(Q))),!(Q instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(Q.length===0)return"";let l=0,u=0,d=0;const E=Q.length;for(;d!==E&&Q[d]===0;)d++,l++;const C=(E-d)*r+1>>>0,p=new Uint8Array(C);for(;d!==E;){let S=Q[d],N=0;for(let T=C-1;(S!==0||N<u)&&T!==-1;T--,N++)S+=256*p[T]>>>0,p[T]=S%t>>>0,S=S/t>>>0;if(S!==0)throw new Error("Non-zero carry");u=N,d++}let f=C-u;for(;f!==C&&p[f]===0;)f++;let M=s.repeat(l);for(;f<C;++f)M+=A.charAt(p[f]);return M}function a(Q){if(typeof Q!="string")throw new TypeError("Expected String");if(Q.length===0)return new Uint8Array;let l=0,u=0,d=0;for(;Q[l]===s;)u++,l++;const E=(Q.length-l)*n+1>>>0,C=new Uint8Array(E);for(;l<Q.length;){const S=Q.charCodeAt(l);if(S>255)return;let N=e[S];if(N===255)return;let T=0;for(let L=E-1;(N!==0||T<d)&&L!==-1;L--,T++)N+=t*C[L]>>>0,C[L]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");d=T,l++}let p=E-d;for(;p!==E&&C[p]===0;)p++;const f=new Uint8Array(u+(E-p));let M=u;for(;p!==E;)f[M++]=C[p++];return f}function g(Q){const l=a(Q);if(l)return l;throw new Error("Non-base"+t+" character")}return{encode:i,decodeUnsafe:a,decode:g}}var Zx="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";Vx(Zx);function _x(A){throw new Error('Could not dynamically require "'+A+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Di={exports:{}},KQ;function Xx(){return KQ||(KQ=1,(function(A){(function(e){var t=function(F){var Y,H=new Float64Array(16);if(F)for(Y=0;Y<F.length;Y++)H[Y]=F[Y];return H},s=function(){throw new Error("no PRNG")},n=new Uint8Array(16),r=new Uint8Array(32);r[0]=9;var i=t(),a=t([1]),g=t([56129,1]),Q=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),l=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),u=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),d=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),E=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function C(F,Y,H,m){F[Y]=H>>24&255,F[Y+1]=H>>16&255,F[Y+2]=H>>8&255,F[Y+3]=H&255,F[Y+4]=m>>24&255,F[Y+5]=m>>16&255,F[Y+6]=m>>8&255,F[Y+7]=m&255}function p(F,Y,H,m,W){var rA,oA=0;for(rA=0;rA<W;rA++)oA|=F[Y+rA]^H[m+rA];return(1&oA-1>>>8)-1}function f(F,Y,H,m){return p(F,Y,H,m,16)}function M(F,Y,H,m){return p(F,Y,H,m,32)}function S(F,Y,H,m){for(var W=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,rA=H[0]&255|(H[1]&255)<<8|(H[2]&255)<<16|(H[3]&255)<<24,oA=H[4]&255|(H[5]&255)<<8|(H[6]&255)<<16|(H[7]&255)<<24,CA=H[8]&255|(H[9]&255)<<8|(H[10]&255)<<16|(H[11]&255)<<24,xA=H[12]&255|(H[13]&255)<<8|(H[14]&255)<<16|(H[15]&255)<<24,bA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,DA=Y[0]&255|(Y[1]&255)<<8|(Y[2]&255)<<16|(Y[3]&255)<<24,me=Y[4]&255|(Y[5]&255)<<8|(Y[6]&255)<<16|(Y[7]&255)<<24,UA=Y[8]&255|(Y[9]&255)<<8|(Y[10]&255)<<16|(Y[11]&255)<<24,ee=Y[12]&255|(Y[13]&255)<<8|(Y[14]&255)<<16|(Y[15]&255)<<24,XA=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ie=H[16]&255|(H[17]&255)<<8|(H[18]&255)<<16|(H[19]&255)<<24,re=H[20]&255|(H[21]&255)<<8|(H[22]&255)<<16|(H[23]&255)<<24,te=H[24]&255|(H[25]&255)<<8|(H[26]&255)<<16|(H[27]&255)<<24,$A=H[28]&255|(H[29]&255)<<8|(H[30]&255)<<16|(H[31]&255)<<24,oe=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,nA=W,vA=rA,kA=oA,JA=CA,jA=xA,SA=bA,lA=DA,EA=me,pA=UA,hA=ee,fA=XA,yA=ie,se=re,ce=te,de=$A,Ce=oe,$,we=0;we<20;we+=2)$=nA+se|0,jA^=$<<7|$>>>25,$=jA+nA|0,pA^=$<<9|$>>>23,$=pA+jA|0,se^=$<<13|$>>>19,$=se+pA|0,nA^=$<<18|$>>>14,$=SA+vA|0,hA^=$<<7|$>>>25,$=hA+SA|0,ce^=$<<9|$>>>23,$=ce+hA|0,vA^=$<<13|$>>>19,$=vA+ce|0,SA^=$<<18|$>>>14,$=fA+lA|0,de^=$<<7|$>>>25,$=de+fA|0,kA^=$<<9|$>>>23,$=kA+de|0,lA^=$<<13|$>>>19,$=lA+kA|0,fA^=$<<18|$>>>14,$=Ce+yA|0,JA^=$<<7|$>>>25,$=JA+Ce|0,EA^=$<<9|$>>>23,$=EA+JA|0,yA^=$<<13|$>>>19,$=yA+EA|0,Ce^=$<<18|$>>>14,$=nA+JA|0,vA^=$<<7|$>>>25,$=vA+nA|0,kA^=$<<9|$>>>23,$=kA+vA|0,JA^=$<<13|$>>>19,$=JA+kA|0,nA^=$<<18|$>>>14,$=SA+jA|0,lA^=$<<7|$>>>25,$=lA+SA|0,EA^=$<<9|$>>>23,$=EA+lA|0,jA^=$<<13|$>>>19,$=jA+EA|0,SA^=$<<18|$>>>14,$=fA+hA|0,yA^=$<<7|$>>>25,$=yA+fA|0,pA^=$<<9|$>>>23,$=pA+yA|0,hA^=$<<13|$>>>19,$=hA+pA|0,fA^=$<<18|$>>>14,$=Ce+de|0,se^=$<<7|$>>>25,$=se+Ce|0,ce^=$<<9|$>>>23,$=ce+se|0,de^=$<<13|$>>>19,$=de+ce|0,Ce^=$<<18|$>>>14;nA=nA+W|0,vA=vA+rA|0,kA=kA+oA|0,JA=JA+CA|0,jA=jA+xA|0,SA=SA+bA|0,lA=lA+DA|0,EA=EA+me|0,pA=pA+UA|0,hA=hA+ee|0,fA=fA+XA|0,yA=yA+ie|0,se=se+re|0,ce=ce+te|0,de=de+$A|0,Ce=Ce+oe|0,F[0]=nA>>>0&255,F[1]=nA>>>8&255,F[2]=nA>>>16&255,F[3]=nA>>>24&255,F[4]=vA>>>0&255,F[5]=vA>>>8&255,F[6]=vA>>>16&255,F[7]=vA>>>24&255,F[8]=kA>>>0&255,F[9]=kA>>>8&255,F[10]=kA>>>16&255,F[11]=kA>>>24&255,F[12]=JA>>>0&255,F[13]=JA>>>8&255,F[14]=JA>>>16&255,F[15]=JA>>>24&255,F[16]=jA>>>0&255,F[17]=jA>>>8&255,F[18]=jA>>>16&255,F[19]=jA>>>24&255,F[20]=SA>>>0&255,F[21]=SA>>>8&255,F[22]=SA>>>16&255,F[23]=SA>>>24&255,F[24]=lA>>>0&255,F[25]=lA>>>8&255,F[26]=lA>>>16&255,F[27]=lA>>>24&255,F[28]=EA>>>0&255,F[29]=EA>>>8&255,F[30]=EA>>>16&255,F[31]=EA>>>24&255,F[32]=pA>>>0&255,F[33]=pA>>>8&255,F[34]=pA>>>16&255,F[35]=pA>>>24&255,F[36]=hA>>>0&255,F[37]=hA>>>8&255,F[38]=hA>>>16&255,F[39]=hA>>>24&255,F[40]=fA>>>0&255,F[41]=fA>>>8&255,F[42]=fA>>>16&255,F[43]=fA>>>24&255,F[44]=yA>>>0&255,F[45]=yA>>>8&255,F[46]=yA>>>16&255,F[47]=yA>>>24&255,F[48]=se>>>0&255,F[49]=se>>>8&255,F[50]=se>>>16&255,F[51]=se>>>24&255,F[52]=ce>>>0&255,F[53]=ce>>>8&255,F[54]=ce>>>16&255,F[55]=ce>>>24&255,F[56]=de>>>0&255,F[57]=de>>>8&255,F[58]=de>>>16&255,F[59]=de>>>24&255,F[60]=Ce>>>0&255,F[61]=Ce>>>8&255,F[62]=Ce>>>16&255,F[63]=Ce>>>24&255}function N(F,Y,H,m){for(var W=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,rA=H[0]&255|(H[1]&255)<<8|(H[2]&255)<<16|(H[3]&255)<<24,oA=H[4]&255|(H[5]&255)<<8|(H[6]&255)<<16|(H[7]&255)<<24,CA=H[8]&255|(H[9]&255)<<8|(H[10]&255)<<16|(H[11]&255)<<24,xA=H[12]&255|(H[13]&255)<<8|(H[14]&255)<<16|(H[15]&255)<<24,bA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,DA=Y[0]&255|(Y[1]&255)<<8|(Y[2]&255)<<16|(Y[3]&255)<<24,me=Y[4]&255|(Y[5]&255)<<8|(Y[6]&255)<<16|(Y[7]&255)<<24,UA=Y[8]&255|(Y[9]&255)<<8|(Y[10]&255)<<16|(Y[11]&255)<<24,ee=Y[12]&255|(Y[13]&255)<<8|(Y[14]&255)<<16|(Y[15]&255)<<24,XA=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ie=H[16]&255|(H[17]&255)<<8|(H[18]&255)<<16|(H[19]&255)<<24,re=H[20]&255|(H[21]&255)<<8|(H[22]&255)<<16|(H[23]&255)<<24,te=H[24]&255|(H[25]&255)<<8|(H[26]&255)<<16|(H[27]&255)<<24,$A=H[28]&255|(H[29]&255)<<8|(H[30]&255)<<16|(H[31]&255)<<24,oe=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,nA=W,vA=rA,kA=oA,JA=CA,jA=xA,SA=bA,lA=DA,EA=me,pA=UA,hA=ee,fA=XA,yA=ie,se=re,ce=te,de=$A,Ce=oe,$,we=0;we<20;we+=2)$=nA+se|0,jA^=$<<7|$>>>25,$=jA+nA|0,pA^=$<<9|$>>>23,$=pA+jA|0,se^=$<<13|$>>>19,$=se+pA|0,nA^=$<<18|$>>>14,$=SA+vA|0,hA^=$<<7|$>>>25,$=hA+SA|0,ce^=$<<9|$>>>23,$=ce+hA|0,vA^=$<<13|$>>>19,$=vA+ce|0,SA^=$<<18|$>>>14,$=fA+lA|0,de^=$<<7|$>>>25,$=de+fA|0,kA^=$<<9|$>>>23,$=kA+de|0,lA^=$<<13|$>>>19,$=lA+kA|0,fA^=$<<18|$>>>14,$=Ce+yA|0,JA^=$<<7|$>>>25,$=JA+Ce|0,EA^=$<<9|$>>>23,$=EA+JA|0,yA^=$<<13|$>>>19,$=yA+EA|0,Ce^=$<<18|$>>>14,$=nA+JA|0,vA^=$<<7|$>>>25,$=vA+nA|0,kA^=$<<9|$>>>23,$=kA+vA|0,JA^=$<<13|$>>>19,$=JA+kA|0,nA^=$<<18|$>>>14,$=SA+jA|0,lA^=$<<7|$>>>25,$=lA+SA|0,EA^=$<<9|$>>>23,$=EA+lA|0,jA^=$<<13|$>>>19,$=jA+EA|0,SA^=$<<18|$>>>14,$=fA+hA|0,yA^=$<<7|$>>>25,$=yA+fA|0,pA^=$<<9|$>>>23,$=pA+yA|0,hA^=$<<13|$>>>19,$=hA+pA|0,fA^=$<<18|$>>>14,$=Ce+de|0,se^=$<<7|$>>>25,$=se+Ce|0,ce^=$<<9|$>>>23,$=ce+se|0,de^=$<<13|$>>>19,$=de+ce|0,Ce^=$<<18|$>>>14;F[0]=nA>>>0&255,F[1]=nA>>>8&255,F[2]=nA>>>16&255,F[3]=nA>>>24&255,F[4]=SA>>>0&255,F[5]=SA>>>8&255,F[6]=SA>>>16&255,F[7]=SA>>>24&255,F[8]=fA>>>0&255,F[9]=fA>>>8&255,F[10]=fA>>>16&255,F[11]=fA>>>24&255,F[12]=Ce>>>0&255,F[13]=Ce>>>8&255,F[14]=Ce>>>16&255,F[15]=Ce>>>24&255,F[16]=lA>>>0&255,F[17]=lA>>>8&255,F[18]=lA>>>16&255,F[19]=lA>>>24&255,F[20]=EA>>>0&255,F[21]=EA>>>8&255,F[22]=EA>>>16&255,F[23]=EA>>>24&255,F[24]=pA>>>0&255,F[25]=pA>>>8&255,F[26]=pA>>>16&255,F[27]=pA>>>24&255,F[28]=hA>>>0&255,F[29]=hA>>>8&255,F[30]=hA>>>16&255,F[31]=hA>>>24&255}function T(F,Y,H,m){S(F,Y,H,m)}function L(F,Y,H,m){N(F,Y,H,m)}var Z=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function AA(F,Y,H,m,W,rA,oA){var CA=new Uint8Array(16),xA=new Uint8Array(64),bA,DA;for(DA=0;DA<16;DA++)CA[DA]=0;for(DA=0;DA<8;DA++)CA[DA]=rA[DA];for(;W>=64;){for(T(xA,CA,oA,Z),DA=0;DA<64;DA++)F[Y+DA]=H[m+DA]^xA[DA];for(bA=1,DA=8;DA<16;DA++)bA=bA+(CA[DA]&255)|0,CA[DA]=bA&255,bA>>>=8;W-=64,Y+=64,m+=64}if(W>0)for(T(xA,CA,oA,Z),DA=0;DA<W;DA++)F[Y+DA]=H[m+DA]^xA[DA];return 0}function _(F,Y,H,m,W){var rA=new Uint8Array(16),oA=new Uint8Array(64),CA,xA;for(xA=0;xA<16;xA++)rA[xA]=0;for(xA=0;xA<8;xA++)rA[xA]=m[xA];for(;H>=64;){for(T(oA,rA,W,Z),xA=0;xA<64;xA++)F[Y+xA]=oA[xA];for(CA=1,xA=8;xA<16;xA++)CA=CA+(rA[xA]&255)|0,rA[xA]=CA&255,CA>>>=8;H-=64,Y+=64}if(H>0)for(T(oA,rA,W,Z),xA=0;xA<H;xA++)F[Y+xA]=oA[xA];return 0}function J(F,Y,H,m,W){var rA=new Uint8Array(32);L(rA,m,W,Z);for(var oA=new Uint8Array(8),CA=0;CA<8;CA++)oA[CA]=m[CA+16];return _(F,Y,H,oA,rA)}function P(F,Y,H,m,W,rA,oA){var CA=new Uint8Array(32);L(CA,rA,oA,Z);for(var xA=new Uint8Array(8),bA=0;bA<8;bA++)xA[bA]=rA[bA+16];return AA(F,Y,H,m,W,xA,CA)}var b=function(F){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var Y,H,m,W,rA,oA,CA,xA;Y=F[0]&255|(F[1]&255)<<8,this.r[0]=Y&8191,H=F[2]&255|(F[3]&255)<<8,this.r[1]=(Y>>>13|H<<3)&8191,m=F[4]&255|(F[5]&255)<<8,this.r[2]=(H>>>10|m<<6)&7939,W=F[6]&255|(F[7]&255)<<8,this.r[3]=(m>>>7|W<<9)&8191,rA=F[8]&255|(F[9]&255)<<8,this.r[4]=(W>>>4|rA<<12)&255,this.r[5]=rA>>>1&8190,oA=F[10]&255|(F[11]&255)<<8,this.r[6]=(rA>>>14|oA<<2)&8191,CA=F[12]&255|(F[13]&255)<<8,this.r[7]=(oA>>>11|CA<<5)&8065,xA=F[14]&255|(F[15]&255)<<8,this.r[8]=(CA>>>8|xA<<8)&8191,this.r[9]=xA>>>5&127,this.pad[0]=F[16]&255|(F[17]&255)<<8,this.pad[1]=F[18]&255|(F[19]&255)<<8,this.pad[2]=F[20]&255|(F[21]&255)<<8,this.pad[3]=F[22]&255|(F[23]&255)<<8,this.pad[4]=F[24]&255|(F[25]&255)<<8,this.pad[5]=F[26]&255|(F[27]&255)<<8,this.pad[6]=F[28]&255|(F[29]&255)<<8,this.pad[7]=F[30]&255|(F[31]&255)<<8};b.prototype.blocks=function(F,Y,H){for(var m=this.fin?0:2048,W,rA,oA,CA,xA,bA,DA,me,UA,ee,XA,ie,re,te,$A,oe,nA,vA,kA,JA=this.h[0],jA=this.h[1],SA=this.h[2],lA=this.h[3],EA=this.h[4],pA=this.h[5],hA=this.h[6],fA=this.h[7],yA=this.h[8],se=this.h[9],ce=this.r[0],de=this.r[1],Ce=this.r[2],$=this.r[3],we=this.r[4],Ke=this.r[5],Je=this.r[6],fe=this.r[7],ve=this.r[8],Se=this.r[9];H>=16;)W=F[Y+0]&255|(F[Y+1]&255)<<8,JA+=W&8191,rA=F[Y+2]&255|(F[Y+3]&255)<<8,jA+=(W>>>13|rA<<3)&8191,oA=F[Y+4]&255|(F[Y+5]&255)<<8,SA+=(rA>>>10|oA<<6)&8191,CA=F[Y+6]&255|(F[Y+7]&255)<<8,lA+=(oA>>>7|CA<<9)&8191,xA=F[Y+8]&255|(F[Y+9]&255)<<8,EA+=(CA>>>4|xA<<12)&8191,pA+=xA>>>1&8191,bA=F[Y+10]&255|(F[Y+11]&255)<<8,hA+=(xA>>>14|bA<<2)&8191,DA=F[Y+12]&255|(F[Y+13]&255)<<8,fA+=(bA>>>11|DA<<5)&8191,me=F[Y+14]&255|(F[Y+15]&255)<<8,yA+=(DA>>>8|me<<8)&8191,se+=me>>>5|m,UA=0,ee=UA,ee+=JA*ce,ee+=jA*(5*Se),ee+=SA*(5*ve),ee+=lA*(5*fe),ee+=EA*(5*Je),UA=ee>>>13,ee&=8191,ee+=pA*(5*Ke),ee+=hA*(5*we),ee+=fA*(5*$),ee+=yA*(5*Ce),ee+=se*(5*de),UA+=ee>>>13,ee&=8191,XA=UA,XA+=JA*de,XA+=jA*ce,XA+=SA*(5*Se),XA+=lA*(5*ve),XA+=EA*(5*fe),UA=XA>>>13,XA&=8191,XA+=pA*(5*Je),XA+=hA*(5*Ke),XA+=fA*(5*we),XA+=yA*(5*$),XA+=se*(5*Ce),UA+=XA>>>13,XA&=8191,ie=UA,ie+=JA*Ce,ie+=jA*de,ie+=SA*ce,ie+=lA*(5*Se),ie+=EA*(5*ve),UA=ie>>>13,ie&=8191,ie+=pA*(5*fe),ie+=hA*(5*Je),ie+=fA*(5*Ke),ie+=yA*(5*we),ie+=se*(5*$),UA+=ie>>>13,ie&=8191,re=UA,re+=JA*$,re+=jA*Ce,re+=SA*de,re+=lA*ce,re+=EA*(5*Se),UA=re>>>13,re&=8191,re+=pA*(5*ve),re+=hA*(5*fe),re+=fA*(5*Je),re+=yA*(5*Ke),re+=se*(5*we),UA+=re>>>13,re&=8191,te=UA,te+=JA*we,te+=jA*$,te+=SA*Ce,te+=lA*de,te+=EA*ce,UA=te>>>13,te&=8191,te+=pA*(5*Se),te+=hA*(5*ve),te+=fA*(5*fe),te+=yA*(5*Je),te+=se*(5*Ke),UA+=te>>>13,te&=8191,$A=UA,$A+=JA*Ke,$A+=jA*we,$A+=SA*$,$A+=lA*Ce,$A+=EA*de,UA=$A>>>13,$A&=8191,$A+=pA*ce,$A+=hA*(5*Se),$A+=fA*(5*ve),$A+=yA*(5*fe),$A+=se*(5*Je),UA+=$A>>>13,$A&=8191,oe=UA,oe+=JA*Je,oe+=jA*Ke,oe+=SA*we,oe+=lA*$,oe+=EA*Ce,UA=oe>>>13,oe&=8191,oe+=pA*de,oe+=hA*ce,oe+=fA*(5*Se),oe+=yA*(5*ve),oe+=se*(5*fe),UA+=oe>>>13,oe&=8191,nA=UA,nA+=JA*fe,nA+=jA*Je,nA+=SA*Ke,nA+=lA*we,nA+=EA*$,UA=nA>>>13,nA&=8191,nA+=pA*Ce,nA+=hA*de,nA+=fA*ce,nA+=yA*(5*Se),nA+=se*(5*ve),UA+=nA>>>13,nA&=8191,vA=UA,vA+=JA*ve,vA+=jA*fe,vA+=SA*Je,vA+=lA*Ke,vA+=EA*we,UA=vA>>>13,vA&=8191,vA+=pA*$,vA+=hA*Ce,vA+=fA*de,vA+=yA*ce,vA+=se*(5*Se),UA+=vA>>>13,vA&=8191,kA=UA,kA+=JA*Se,kA+=jA*ve,kA+=SA*fe,kA+=lA*Je,kA+=EA*Ke,UA=kA>>>13,kA&=8191,kA+=pA*we,kA+=hA*$,kA+=fA*Ce,kA+=yA*de,kA+=se*ce,UA+=kA>>>13,kA&=8191,UA=(UA<<2)+UA|0,UA=UA+ee|0,ee=UA&8191,UA=UA>>>13,XA+=UA,JA=ee,jA=XA,SA=ie,lA=re,EA=te,pA=$A,hA=oe,fA=nA,yA=vA,se=kA,Y+=16,H-=16;this.h[0]=JA,this.h[1]=jA,this.h[2]=SA,this.h[3]=lA,this.h[4]=EA,this.h[5]=pA,this.h[6]=hA,this.h[7]=fA,this.h[8]=yA,this.h[9]=se},b.prototype.finish=function(F,Y){var H=new Uint16Array(10),m,W,rA,oA;if(this.leftover){for(oA=this.leftover,this.buffer[oA++]=1;oA<16;oA++)this.buffer[oA]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(m=this.h[1]>>>13,this.h[1]&=8191,oA=2;oA<10;oA++)this.h[oA]+=m,m=this.h[oA]>>>13,this.h[oA]&=8191;for(this.h[0]+=m*5,m=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=m,m=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=m,H[0]=this.h[0]+5,m=H[0]>>>13,H[0]&=8191,oA=1;oA<10;oA++)H[oA]=this.h[oA]+m,m=H[oA]>>>13,H[oA]&=8191;for(H[9]-=8192,W=(m^1)-1,oA=0;oA<10;oA++)H[oA]&=W;for(W=~W,oA=0;oA<10;oA++)this.h[oA]=this.h[oA]&W|H[oA];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,rA=this.h[0]+this.pad[0],this.h[0]=rA&65535,oA=1;oA<8;oA++)rA=(this.h[oA]+this.pad[oA]|0)+(rA>>>16)|0,this.h[oA]=rA&65535;F[Y+0]=this.h[0]>>>0&255,F[Y+1]=this.h[0]>>>8&255,F[Y+2]=this.h[1]>>>0&255,F[Y+3]=this.h[1]>>>8&255,F[Y+4]=this.h[2]>>>0&255,F[Y+5]=this.h[2]>>>8&255,F[Y+6]=this.h[3]>>>0&255,F[Y+7]=this.h[3]>>>8&255,F[Y+8]=this.h[4]>>>0&255,F[Y+9]=this.h[4]>>>8&255,F[Y+10]=this.h[5]>>>0&255,F[Y+11]=this.h[5]>>>8&255,F[Y+12]=this.h[6]>>>0&255,F[Y+13]=this.h[6]>>>8&255,F[Y+14]=this.h[7]>>>0&255,F[Y+15]=this.h[7]>>>8&255},b.prototype.update=function(F,Y,H){var m,W;if(this.leftover){for(W=16-this.leftover,W>H&&(W=H),m=0;m<W;m++)this.buffer[this.leftover+m]=F[Y+m];if(H-=W,Y+=W,this.leftover+=W,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(H>=16&&(W=H-H%16,this.blocks(F,Y,W),Y+=W,H-=W),H){for(m=0;m<H;m++)this.buffer[this.leftover+m]=F[Y+m];this.leftover+=H}};function K(F,Y,H,m,W,rA){var oA=new b(rA);return oA.update(H,m,W),oA.finish(F,Y),0}function w(F,Y,H,m,W,rA){var oA=new Uint8Array(16);return K(oA,0,H,m,W,rA),f(F,Y,oA,0)}function B(F,Y,H,m,W){var rA;if(H<32)return-1;for(P(F,0,Y,0,H,m,W),K(F,16,F,32,H-32,F),rA=0;rA<16;rA++)F[rA]=0;return 0}function I(F,Y,H,m,W){var rA,oA=new Uint8Array(32);if(H<32||(J(oA,0,32,m,W),w(Y,16,Y,32,H-32,oA)!==0))return-1;for(P(F,0,Y,0,H,m,W),rA=0;rA<32;rA++)F[rA]=0;return 0}function y(F,Y){var H;for(H=0;H<16;H++)F[H]=Y[H]|0}function G(F){var Y,H,m=1;for(Y=0;Y<16;Y++)H=F[Y]+m+65535,m=Math.floor(H/65536),F[Y]=H-m*65536;F[0]+=m-1+37*(m-1)}function j(F,Y,H){for(var m,W=~(H-1),rA=0;rA<16;rA++)m=W&(F[rA]^Y[rA]),F[rA]^=m,Y[rA]^=m}function O(F,Y){var H,m,W,rA=t(),oA=t();for(H=0;H<16;H++)oA[H]=Y[H];for(G(oA),G(oA),G(oA),m=0;m<2;m++){for(rA[0]=oA[0]-65517,H=1;H<15;H++)rA[H]=oA[H]-65535-(rA[H-1]>>16&1),rA[H-1]&=65535;rA[15]=oA[15]-32767-(rA[14]>>16&1),W=rA[15]>>16&1,rA[14]&=65535,j(oA,rA,1-W)}for(H=0;H<16;H++)F[2*H]=oA[H]&255,F[2*H+1]=oA[H]>>8}function z(F,Y){var H=new Uint8Array(32),m=new Uint8Array(32);return O(H,F),O(m,Y),M(H,0,m,0)}function v(F){var Y=new Uint8Array(32);return O(Y,F),Y[0]&1}function c(F,Y){var H;for(H=0;H<16;H++)F[H]=Y[2*H]+(Y[2*H+1]<<8);F[15]&=32767}function h(F,Y,H){for(var m=0;m<16;m++)F[m]=Y[m]+H[m]}function U(F,Y,H){for(var m=0;m<16;m++)F[m]=Y[m]-H[m]}function R(F,Y,H){var m,W,rA=0,oA=0,CA=0,xA=0,bA=0,DA=0,me=0,UA=0,ee=0,XA=0,ie=0,re=0,te=0,$A=0,oe=0,nA=0,vA=0,kA=0,JA=0,jA=0,SA=0,lA=0,EA=0,pA=0,hA=0,fA=0,yA=0,se=0,ce=0,de=0,Ce=0,$=H[0],we=H[1],Ke=H[2],Je=H[3],fe=H[4],ve=H[5],Se=H[6],Ct=H[7],He=H[8],it=H[9],at=H[10],gt=H[11],ft=H[12],vt=H[13],St=H[14],Ut=H[15];m=Y[0],rA+=m*$,oA+=m*we,CA+=m*Ke,xA+=m*Je,bA+=m*fe,DA+=m*ve,me+=m*Se,UA+=m*Ct,ee+=m*He,XA+=m*it,ie+=m*at,re+=m*gt,te+=m*ft,$A+=m*vt,oe+=m*St,nA+=m*Ut,m=Y[1],oA+=m*$,CA+=m*we,xA+=m*Ke,bA+=m*Je,DA+=m*fe,me+=m*ve,UA+=m*Se,ee+=m*Ct,XA+=m*He,ie+=m*it,re+=m*at,te+=m*gt,$A+=m*ft,oe+=m*vt,nA+=m*St,vA+=m*Ut,m=Y[2],CA+=m*$,xA+=m*we,bA+=m*Ke,DA+=m*Je,me+=m*fe,UA+=m*ve,ee+=m*Se,XA+=m*Ct,ie+=m*He,re+=m*it,te+=m*at,$A+=m*gt,oe+=m*ft,nA+=m*vt,vA+=m*St,kA+=m*Ut,m=Y[3],xA+=m*$,bA+=m*we,DA+=m*Ke,me+=m*Je,UA+=m*fe,ee+=m*ve,XA+=m*Se,ie+=m*Ct,re+=m*He,te+=m*it,$A+=m*at,oe+=m*gt,nA+=m*ft,vA+=m*vt,kA+=m*St,JA+=m*Ut,m=Y[4],bA+=m*$,DA+=m*we,me+=m*Ke,UA+=m*Je,ee+=m*fe,XA+=m*ve,ie+=m*Se,re+=m*Ct,te+=m*He,$A+=m*it,oe+=m*at,nA+=m*gt,vA+=m*ft,kA+=m*vt,JA+=m*St,jA+=m*Ut,m=Y[5],DA+=m*$,me+=m*we,UA+=m*Ke,ee+=m*Je,XA+=m*fe,ie+=m*ve,re+=m*Se,te+=m*Ct,$A+=m*He,oe+=m*it,nA+=m*at,vA+=m*gt,kA+=m*ft,JA+=m*vt,jA+=m*St,SA+=m*Ut,m=Y[6],me+=m*$,UA+=m*we,ee+=m*Ke,XA+=m*Je,ie+=m*fe,re+=m*ve,te+=m*Se,$A+=m*Ct,oe+=m*He,nA+=m*it,vA+=m*at,kA+=m*gt,JA+=m*ft,jA+=m*vt,SA+=m*St,lA+=m*Ut,m=Y[7],UA+=m*$,ee+=m*we,XA+=m*Ke,ie+=m*Je,re+=m*fe,te+=m*ve,$A+=m*Se,oe+=m*Ct,nA+=m*He,vA+=m*it,kA+=m*at,JA+=m*gt,jA+=m*ft,SA+=m*vt,lA+=m*St,EA+=m*Ut,m=Y[8],ee+=m*$,XA+=m*we,ie+=m*Ke,re+=m*Je,te+=m*fe,$A+=m*ve,oe+=m*Se,nA+=m*Ct,vA+=m*He,kA+=m*it,JA+=m*at,jA+=m*gt,SA+=m*ft,lA+=m*vt,EA+=m*St,pA+=m*Ut,m=Y[9],XA+=m*$,ie+=m*we,re+=m*Ke,te+=m*Je,$A+=m*fe,oe+=m*ve,nA+=m*Se,vA+=m*Ct,kA+=m*He,JA+=m*it,jA+=m*at,SA+=m*gt,lA+=m*ft,EA+=m*vt,pA+=m*St,hA+=m*Ut,m=Y[10],ie+=m*$,re+=m*we,te+=m*Ke,$A+=m*Je,oe+=m*fe,nA+=m*ve,vA+=m*Se,kA+=m*Ct,JA+=m*He,jA+=m*it,SA+=m*at,lA+=m*gt,EA+=m*ft,pA+=m*vt,hA+=m*St,fA+=m*Ut,m=Y[11],re+=m*$,te+=m*we,$A+=m*Ke,oe+=m*Je,nA+=m*fe,vA+=m*ve,kA+=m*Se,JA+=m*Ct,jA+=m*He,SA+=m*it,lA+=m*at,EA+=m*gt,pA+=m*ft,hA+=m*vt,fA+=m*St,yA+=m*Ut,m=Y[12],te+=m*$,$A+=m*we,oe+=m*Ke,nA+=m*Je,vA+=m*fe,kA+=m*ve,JA+=m*Se,jA+=m*Ct,SA+=m*He,lA+=m*it,EA+=m*at,pA+=m*gt,hA+=m*ft,fA+=m*vt,yA+=m*St,se+=m*Ut,m=Y[13],$A+=m*$,oe+=m*we,nA+=m*Ke,vA+=m*Je,kA+=m*fe,JA+=m*ve,jA+=m*Se,SA+=m*Ct,lA+=m*He,EA+=m*it,pA+=m*at,hA+=m*gt,fA+=m*ft,yA+=m*vt,se+=m*St,ce+=m*Ut,m=Y[14],oe+=m*$,nA+=m*we,vA+=m*Ke,kA+=m*Je,JA+=m*fe,jA+=m*ve,SA+=m*Se,lA+=m*Ct,EA+=m*He,pA+=m*it,hA+=m*at,fA+=m*gt,yA+=m*ft,se+=m*vt,ce+=m*St,de+=m*Ut,m=Y[15],nA+=m*$,vA+=m*we,kA+=m*Ke,JA+=m*Je,jA+=m*fe,SA+=m*ve,lA+=m*Se,EA+=m*Ct,pA+=m*He,hA+=m*it,fA+=m*at,yA+=m*gt,se+=m*ft,ce+=m*vt,de+=m*St,Ce+=m*Ut,rA+=38*vA,oA+=38*kA,CA+=38*JA,xA+=38*jA,bA+=38*SA,DA+=38*lA,me+=38*EA,UA+=38*pA,ee+=38*hA,XA+=38*fA,ie+=38*yA,re+=38*se,te+=38*ce,$A+=38*de,oe+=38*Ce,W=1,m=rA+W+65535,W=Math.floor(m/65536),rA=m-W*65536,m=oA+W+65535,W=Math.floor(m/65536),oA=m-W*65536,m=CA+W+65535,W=Math.floor(m/65536),CA=m-W*65536,m=xA+W+65535,W=Math.floor(m/65536),xA=m-W*65536,m=bA+W+65535,W=Math.floor(m/65536),bA=m-W*65536,m=DA+W+65535,W=Math.floor(m/65536),DA=m-W*65536,m=me+W+65535,W=Math.floor(m/65536),me=m-W*65536,m=UA+W+65535,W=Math.floor(m/65536),UA=m-W*65536,m=ee+W+65535,W=Math.floor(m/65536),ee=m-W*65536,m=XA+W+65535,W=Math.floor(m/65536),XA=m-W*65536,m=ie+W+65535,W=Math.floor(m/65536),ie=m-W*65536,m=re+W+65535,W=Math.floor(m/65536),re=m-W*65536,m=te+W+65535,W=Math.floor(m/65536),te=m-W*65536,m=$A+W+65535,W=Math.floor(m/65536),$A=m-W*65536,m=oe+W+65535,W=Math.floor(m/65536),oe=m-W*65536,m=nA+W+65535,W=Math.floor(m/65536),nA=m-W*65536,rA+=W-1+37*(W-1),W=1,m=rA+W+65535,W=Math.floor(m/65536),rA=m-W*65536,m=oA+W+65535,W=Math.floor(m/65536),oA=m-W*65536,m=CA+W+65535,W=Math.floor(m/65536),CA=m-W*65536,m=xA+W+65535,W=Math.floor(m/65536),xA=m-W*65536,m=bA+W+65535,W=Math.floor(m/65536),bA=m-W*65536,m=DA+W+65535,W=Math.floor(m/65536),DA=m-W*65536,m=me+W+65535,W=Math.floor(m/65536),me=m-W*65536,m=UA+W+65535,W=Math.floor(m/65536),UA=m-W*65536,m=ee+W+65535,W=Math.floor(m/65536),ee=m-W*65536,m=XA+W+65535,W=Math.floor(m/65536),XA=m-W*65536,m=ie+W+65535,W=Math.floor(m/65536),ie=m-W*65536,m=re+W+65535,W=Math.floor(m/65536),re=m-W*65536,m=te+W+65535,W=Math.floor(m/65536),te=m-W*65536,m=$A+W+65535,W=Math.floor(m/65536),$A=m-W*65536,m=oe+W+65535,W=Math.floor(m/65536),oe=m-W*65536,m=nA+W+65535,W=Math.floor(m/65536),nA=m-W*65536,rA+=W-1+37*(W-1),F[0]=rA,F[1]=oA,F[2]=CA,F[3]=xA,F[4]=bA,F[5]=DA,F[6]=me,F[7]=UA,F[8]=ee,F[9]=XA,F[10]=ie,F[11]=re,F[12]=te,F[13]=$A,F[14]=oe,F[15]=nA}function X(F,Y){R(F,Y,Y)}function tA(F,Y){var H=t(),m;for(m=0;m<16;m++)H[m]=Y[m];for(m=253;m>=0;m--)X(H,H),m!==2&&m!==4&&R(H,H,Y);for(m=0;m<16;m++)F[m]=H[m]}function uA(F,Y){var H=t(),m;for(m=0;m<16;m++)H[m]=Y[m];for(m=250;m>=0;m--)X(H,H),m!==1&&R(H,H,Y);for(m=0;m<16;m++)F[m]=H[m]}function aA(F,Y,H){var m=new Uint8Array(32),W=new Float64Array(80),rA,oA,CA=t(),xA=t(),bA=t(),DA=t(),me=t(),UA=t();for(oA=0;oA<31;oA++)m[oA]=Y[oA];for(m[31]=Y[31]&127|64,m[0]&=248,c(W,H),oA=0;oA<16;oA++)xA[oA]=W[oA],DA[oA]=CA[oA]=bA[oA]=0;for(CA[0]=DA[0]=1,oA=254;oA>=0;--oA)rA=m[oA>>>3]>>>(oA&7)&1,j(CA,xA,rA),j(bA,DA,rA),h(me,CA,bA),U(CA,CA,bA),h(bA,xA,DA),U(xA,xA,DA),X(DA,me),X(UA,CA),R(CA,bA,CA),R(bA,xA,me),h(me,CA,bA),U(CA,CA,bA),X(xA,CA),U(bA,DA,UA),R(CA,bA,g),h(CA,CA,DA),R(bA,bA,CA),R(CA,DA,UA),R(DA,xA,W),X(xA,me),j(CA,xA,rA),j(bA,DA,rA);for(oA=0;oA<16;oA++)W[oA+16]=CA[oA],W[oA+32]=bA[oA],W[oA+48]=xA[oA],W[oA+64]=DA[oA];var ee=W.subarray(32),XA=W.subarray(16);return tA(ee,ee),R(XA,XA,ee),O(F,XA),0}function KA(F,Y){return aA(F,Y,r)}function PA(F,Y){return s(Y,32),KA(F,Y)}function dA(F,Y,H){var m=new Uint8Array(32);return aA(m,H,Y),L(F,n,m,Z)}var ZA=B,ne=I;function Ee(F,Y,H,m,W,rA){var oA=new Uint8Array(32);return dA(oA,W,rA),ZA(F,Y,H,m,oA)}function FA(F,Y,H,m,W,rA){var oA=new Uint8Array(32);return dA(oA,W,rA),ne(F,Y,H,m,oA)}var RA=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Be(F,Y,H,m){for(var W=new Int32Array(16),rA=new Int32Array(16),oA,CA,xA,bA,DA,me,UA,ee,XA,ie,re,te,$A,oe,nA,vA,kA,JA,jA,SA,lA,EA,pA,hA,fA,yA,se=F[0],ce=F[1],de=F[2],Ce=F[3],$=F[4],we=F[5],Ke=F[6],Je=F[7],fe=Y[0],ve=Y[1],Se=Y[2],Ct=Y[3],He=Y[4],it=Y[5],at=Y[6],gt=Y[7],ft=0;m>=128;){for(jA=0;jA<16;jA++)SA=8*jA+ft,W[jA]=H[SA+0]<<24|H[SA+1]<<16|H[SA+2]<<8|H[SA+3],rA[jA]=H[SA+4]<<24|H[SA+5]<<16|H[SA+6]<<8|H[SA+7];for(jA=0;jA<80;jA++)if(oA=se,CA=ce,xA=de,bA=Ce,DA=$,me=we,UA=Ke,ee=Je,XA=fe,ie=ve,re=Se,te=Ct,$A=He,oe=it,nA=at,vA=gt,lA=Je,EA=gt,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=($>>>14|He<<18)^($>>>18|He<<14)^(He>>>9|$<<23),EA=(He>>>14|$<<18)^(He>>>18|$<<14)^($>>>9|He<<23),pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,lA=$&we^~$&Ke,EA=He&it^~He&at,pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,lA=RA[jA*2],EA=RA[jA*2+1],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,lA=W[jA%16],EA=rA[jA%16],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,kA=fA&65535|yA<<16,JA=pA&65535|hA<<16,lA=kA,EA=JA,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=(se>>>28|fe<<4)^(fe>>>2|se<<30)^(fe>>>7|se<<25),EA=(fe>>>28|se<<4)^(se>>>2|fe<<30)^(se>>>7|fe<<25),pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,lA=se&ce^se&de^ce&de,EA=fe&ve^fe&Se^ve&Se,pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,ee=fA&65535|yA<<16,vA=pA&65535|hA<<16,lA=bA,EA=te,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=kA,EA=JA,pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,bA=fA&65535|yA<<16,te=pA&65535|hA<<16,ce=oA,de=CA,Ce=xA,$=bA,we=DA,Ke=me,Je=UA,se=ee,ve=XA,Se=ie,Ct=re,He=te,it=$A,at=oe,gt=nA,fe=vA,jA%16===15)for(SA=0;SA<16;SA++)lA=W[SA],EA=rA[SA],pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=W[(SA+9)%16],EA=rA[(SA+9)%16],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,kA=W[(SA+1)%16],JA=rA[(SA+1)%16],lA=(kA>>>1|JA<<31)^(kA>>>8|JA<<24)^kA>>>7,EA=(JA>>>1|kA<<31)^(JA>>>8|kA<<24)^(JA>>>7|kA<<25),pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,kA=W[(SA+14)%16],JA=rA[(SA+14)%16],lA=(kA>>>19|JA<<13)^(JA>>>29|kA<<3)^kA>>>6,EA=(JA>>>19|kA<<13)^(kA>>>29|JA<<3)^(JA>>>6|kA<<26),pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,W[SA]=fA&65535|yA<<16,rA[SA]=pA&65535|hA<<16;lA=se,EA=fe,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[0],EA=Y[0],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[0]=se=fA&65535|yA<<16,Y[0]=fe=pA&65535|hA<<16,lA=ce,EA=ve,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[1],EA=Y[1],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[1]=ce=fA&65535|yA<<16,Y[1]=ve=pA&65535|hA<<16,lA=de,EA=Se,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[2],EA=Y[2],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[2]=de=fA&65535|yA<<16,Y[2]=Se=pA&65535|hA<<16,lA=Ce,EA=Ct,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[3],EA=Y[3],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[3]=Ce=fA&65535|yA<<16,Y[3]=Ct=pA&65535|hA<<16,lA=$,EA=He,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[4],EA=Y[4],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[4]=$=fA&65535|yA<<16,Y[4]=He=pA&65535|hA<<16,lA=we,EA=it,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[5],EA=Y[5],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[5]=we=fA&65535|yA<<16,Y[5]=it=pA&65535|hA<<16,lA=Ke,EA=at,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[6],EA=Y[6],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[6]=Ke=fA&65535|yA<<16,Y[6]=at=pA&65535|hA<<16,lA=Je,EA=gt,pA=EA&65535,hA=EA>>>16,fA=lA&65535,yA=lA>>>16,lA=F[7],EA=Y[7],pA+=EA&65535,hA+=EA>>>16,fA+=lA&65535,yA+=lA>>>16,hA+=pA>>>16,fA+=hA>>>16,yA+=fA>>>16,F[7]=Je=fA&65535|yA<<16,Y[7]=gt=pA&65535|hA<<16,ft+=128,m-=128}return m}function ye(F,Y,H){var m=new Int32Array(8),W=new Int32Array(8),rA=new Uint8Array(256),oA,CA=H;for(m[0]=1779033703,m[1]=3144134277,m[2]=1013904242,m[3]=2773480762,m[4]=1359893119,m[5]=2600822924,m[6]=528734635,m[7]=1541459225,W[0]=4089235720,W[1]=2227873595,W[2]=4271175723,W[3]=1595750129,W[4]=2917565137,W[5]=725511199,W[6]=4215389547,W[7]=327033209,Be(m,W,Y,H),H%=128,oA=0;oA<H;oA++)rA[oA]=Y[CA-H+oA];for(rA[H]=128,H=256-128*(H<112?1:0),rA[H-9]=0,C(rA,H-8,CA/536870912|0,CA<<3),Be(m,W,rA,H),oA=0;oA<8;oA++)C(F,8*oA,m[oA],W[oA]);return 0}function ue(F,Y){var H=t(),m=t(),W=t(),rA=t(),oA=t(),CA=t(),xA=t(),bA=t(),DA=t();U(H,F[1],F[0]),U(DA,Y[1],Y[0]),R(H,H,DA),h(m,F[0],F[1]),h(DA,Y[0],Y[1]),R(m,m,DA),R(W,F[3],Y[3]),R(W,W,l),R(rA,F[2],Y[2]),h(rA,rA,rA),U(oA,m,H),U(CA,rA,W),h(xA,rA,W),h(bA,m,H),R(F[0],oA,CA),R(F[1],bA,xA),R(F[2],xA,CA),R(F[3],oA,bA)}function Ne(F,Y,H){var m;for(m=0;m<4;m++)j(F[m],Y[m],H)}function MA(F,Y){var H=t(),m=t(),W=t();tA(W,Y[2]),R(H,Y[0],W),R(m,Y[1],W),O(F,m),F[31]^=v(H)<<7}function WA(F,Y,H){var m,W;for(y(F[0],i),y(F[1],a),y(F[2],a),y(F[3],i),W=255;W>=0;--W)m=H[W/8|0]>>(W&7)&1,Ne(F,Y,m),ue(Y,F),ue(F,F),Ne(F,Y,m)}function _A(F,Y){var H=[t(),t(),t(),t()];y(H[0],u),y(H[1],d),y(H[2],a),R(H[3],u,d),WA(F,H,Y)}function Oe(F,Y,H){var m=new Uint8Array(64),W=[t(),t(),t(),t()],rA;for(H||s(Y,32),ye(m,Y,32),m[0]&=248,m[31]&=127,m[31]|=64,_A(W,m),MA(F,W),rA=0;rA<32;rA++)Y[rA+32]=F[rA];return 0}var le=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function q(F,Y){var H,m,W,rA;for(m=63;m>=32;--m){for(H=0,W=m-32,rA=m-12;W<rA;++W)Y[W]+=H-16*Y[m]*le[W-(m-32)],H=Math.floor((Y[W]+128)/256),Y[W]-=H*256;Y[W]+=H,Y[m]=0}for(H=0,W=0;W<32;W++)Y[W]+=H-(Y[31]>>4)*le[W],H=Y[W]>>8,Y[W]&=255;for(W=0;W<32;W++)Y[W]-=H*le[W];for(m=0;m<32;m++)Y[m+1]+=Y[m]>>8,F[m]=Y[m]&255}function x(F){var Y=new Float64Array(64),H;for(H=0;H<64;H++)Y[H]=F[H];for(H=0;H<64;H++)F[H]=0;q(F,Y)}function k(F,Y,H,m){var W=new Uint8Array(64),rA=new Uint8Array(64),oA=new Uint8Array(64),CA,xA,bA=new Float64Array(64),DA=[t(),t(),t(),t()];ye(W,m,32),W[0]&=248,W[31]&=127,W[31]|=64;var me=H+64;for(CA=0;CA<H;CA++)F[64+CA]=Y[CA];for(CA=0;CA<32;CA++)F[32+CA]=W[32+CA];for(ye(oA,F.subarray(32),H+32),x(oA),_A(DA,oA),MA(F,DA),CA=32;CA<64;CA++)F[CA]=m[CA];for(ye(rA,F,H+64),x(rA),CA=0;CA<64;CA++)bA[CA]=0;for(CA=0;CA<32;CA++)bA[CA]=oA[CA];for(CA=0;CA<32;CA++)for(xA=0;xA<32;xA++)bA[CA+xA]+=rA[CA]*W[xA];return q(F.subarray(32),bA),me}function V(F,Y){var H=t(),m=t(),W=t(),rA=t(),oA=t(),CA=t(),xA=t();return y(F[2],a),c(F[1],Y),X(W,F[1]),R(rA,W,Q),U(W,W,F[2]),h(rA,F[2],rA),X(oA,rA),X(CA,oA),R(xA,CA,oA),R(H,xA,W),R(H,H,rA),uA(H,H),R(H,H,W),R(H,H,rA),R(H,H,rA),R(F[0],H,rA),X(m,F[0]),R(m,m,rA),z(m,W)&&R(F[0],F[0],E),X(m,F[0]),R(m,m,rA),z(m,W)?-1:(v(F[0])===Y[31]>>7&&U(F[0],i,F[0]),R(F[3],F[0],F[1]),0)}function eA(F,Y,H,m){var W,rA=new Uint8Array(32),oA=new Uint8Array(64),CA=[t(),t(),t(),t()],xA=[t(),t(),t(),t()];if(H<64||V(xA,m))return-1;for(W=0;W<H;W++)F[W]=Y[W];for(W=0;W<32;W++)F[W+32]=m[W];if(ye(oA,F,H),x(oA),WA(CA,xA,oA),_A(xA,Y.subarray(32)),ue(CA,xA),MA(rA,CA),H-=64,M(Y,0,rA,0)){for(W=0;W<H;W++)F[W]=0;return-1}for(W=0;W<H;W++)F[W]=Y[W+64];return H}var iA=32,QA=24,zA=32,VA=16,YA=32,pe=32,HA=32,Re=32,zt=32,ze=QA,Ve=zA,Fo=VA,ke=64,Ge=32,yt=64,qe=32,LA=64;e.lowlevel={crypto_core_hsalsa20:L,crypto_stream_xor:P,crypto_stream:J,crypto_stream_salsa20_xor:AA,crypto_stream_salsa20:_,crypto_onetimeauth:K,crypto_onetimeauth_verify:w,crypto_verify_16:f,crypto_verify_32:M,crypto_secretbox:B,crypto_secretbox_open:I,crypto_scalarmult:aA,crypto_scalarmult_base:KA,crypto_box_beforenm:dA,crypto_box_afternm:ZA,crypto_box:Ee,crypto_box_open:FA,crypto_box_keypair:PA,crypto_hash:ye,crypto_sign:k,crypto_sign_keypair:Oe,crypto_sign_open:eA,crypto_secretbox_KEYBYTES:iA,crypto_secretbox_NONCEBYTES:QA,crypto_secretbox_ZEROBYTES:zA,crypto_secretbox_BOXZEROBYTES:VA,crypto_scalarmult_BYTES:YA,crypto_scalarmult_SCALARBYTES:pe,crypto_box_PUBLICKEYBYTES:HA,crypto_box_SECRETKEYBYTES:Re,crypto_box_BEFORENMBYTES:zt,crypto_box_NONCEBYTES:ze,crypto_box_ZEROBYTES:Ve,crypto_box_BOXZEROBYTES:Fo,crypto_sign_BYTES:ke,crypto_sign_PUBLICKEYBYTES:Ge,crypto_sign_SECRETKEYBYTES:yt,crypto_sign_SEEDBYTES:qe,crypto_hash_BYTES:LA,gf:t,D:Q,L:le,pack25519:O,unpack25519:c,M:R,A:h,S:X,Z:U,pow2523:uA,add:ue,set25519:y,modL:q,scalarmult:WA,scalarbase:_A};function dt(F,Y){if(F.length!==iA)throw new Error("bad key size");if(Y.length!==QA)throw new Error("bad nonce size")}function et(F,Y){if(F.length!==HA)throw new Error("bad public key size");if(Y.length!==Re)throw new Error("bad secret key size")}function Me(){for(var F=0;F<arguments.length;F++)if(!(arguments[F]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function es(F){for(var Y=0;Y<F.length;Y++)F[Y]=0}e.randomBytes=function(F){var Y=new Uint8Array(F);return s(Y,F),Y},e.secretbox=function(F,Y,H){Me(F,Y,H),dt(H,Y);for(var m=new Uint8Array(zA+F.length),W=new Uint8Array(m.length),rA=0;rA<F.length;rA++)m[rA+zA]=F[rA];return B(W,m,m.length,Y,H),W.subarray(VA)},e.secretbox.open=function(F,Y,H){Me(F,Y,H),dt(H,Y);for(var m=new Uint8Array(VA+F.length),W=new Uint8Array(m.length),rA=0;rA<F.length;rA++)m[rA+VA]=F[rA];return m.length<32||I(W,m,m.length,Y,H)!==0?null:W.subarray(zA)},e.secretbox.keyLength=iA,e.secretbox.nonceLength=QA,e.secretbox.overheadLength=VA,e.scalarMult=function(F,Y){if(Me(F,Y),F.length!==pe)throw new Error("bad n size");if(Y.length!==YA)throw new Error("bad p size");var H=new Uint8Array(YA);return aA(H,F,Y),H},e.scalarMult.base=function(F){if(Me(F),F.length!==pe)throw new Error("bad n size");var Y=new Uint8Array(YA);return KA(Y,F),Y},e.scalarMult.scalarLength=pe,e.scalarMult.groupElementLength=YA,e.box=function(F,Y,H,m){var W=e.box.before(H,m);return e.secretbox(F,Y,W)},e.box.before=function(F,Y){Me(F,Y),et(F,Y);var H=new Uint8Array(zt);return dA(H,F,Y),H},e.box.after=e.secretbox,e.box.open=function(F,Y,H,m){var W=e.box.before(H,m);return e.secretbox.open(F,Y,W)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var F=new Uint8Array(HA),Y=new Uint8Array(Re);return PA(F,Y),{publicKey:F,secretKey:Y}},e.box.keyPair.fromSecretKey=function(F){if(Me(F),F.length!==Re)throw new Error("bad secret key size");var Y=new Uint8Array(HA);return KA(Y,F),{publicKey:Y,secretKey:new Uint8Array(F)}},e.box.publicKeyLength=HA,e.box.secretKeyLength=Re,e.box.sharedKeyLength=zt,e.box.nonceLength=ze,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(F,Y){if(Me(F,Y),Y.length!==yt)throw new Error("bad secret key size");var H=new Uint8Array(ke+F.length);return k(H,F,F.length,Y),H},e.sign.open=function(F,Y){if(Me(F,Y),Y.length!==Ge)throw new Error("bad public key size");var H=new Uint8Array(F.length),m=eA(H,F,F.length,Y);if(m<0)return null;for(var W=new Uint8Array(m),rA=0;rA<W.length;rA++)W[rA]=H[rA];return W},e.sign.detached=function(F,Y){for(var H=e.sign(F,Y),m=new Uint8Array(ke),W=0;W<m.length;W++)m[W]=H[W];return m},e.sign.detached.verify=function(F,Y,H){if(Me(F,Y,H),Y.length!==ke)throw new Error("bad signature size");if(H.length!==Ge)throw new Error("bad public key size");var m=new Uint8Array(ke+F.length),W=new Uint8Array(ke+F.length),rA;for(rA=0;rA<ke;rA++)m[rA]=Y[rA];for(rA=0;rA<F.length;rA++)m[rA+ke]=F[rA];return eA(W,m,m.length,H)>=0},e.sign.keyPair=function(){var F=new Uint8Array(Ge),Y=new Uint8Array(yt);return Oe(F,Y),{publicKey:F,secretKey:Y}},e.sign.keyPair.fromSecretKey=function(F){if(Me(F),F.length!==yt)throw new Error("bad secret key size");for(var Y=new Uint8Array(Ge),H=0;H<Y.length;H++)Y[H]=F[32+H];return{publicKey:Y,secretKey:new Uint8Array(F)}},e.sign.keyPair.fromSeed=function(F){if(Me(F),F.length!==qe)throw new Error("bad seed size");for(var Y=new Uint8Array(Ge),H=new Uint8Array(yt),m=0;m<32;m++)H[m]=F[m];return Oe(Y,H,!0),{publicKey:Y,secretKey:H}},e.sign.publicKeyLength=Ge,e.sign.secretKeyLength=yt,e.sign.seedLength=qe,e.sign.signatureLength=ke,e.hash=function(F){Me(F);var Y=new Uint8Array(LA);return ye(Y,F,F.length),Y},e.hash.hashLength=LA,e.verify=function(F,Y){return Me(F,Y),F.length===0||Y.length===0||F.length!==Y.length?!1:p(F,0,Y,0,F.length)===0},e.setPRNG=function(F){s=F},(function(){var F=typeof self<"u"?self.crypto||self.msCrypto:null;if(F&&F.getRandomValues){var Y=65536;e.setPRNG(function(H,m){var W,rA=new Uint8Array(m);for(W=0;W<m;W+=Y)F.getRandomValues(rA.subarray(W,W+Math.min(m-W,Y)));for(W=0;W<m;W++)H[W]=rA[W];es(rA)})}else typeof _x<"u"&&(F=eE,F&&F.randomBytes&&e.setPRNG(function(H,m){var W,rA=F.randomBytes(m);for(W=0;W<m;W++)H[W]=rA[W];es(rA)}))})()})(A.exports?A.exports:self.nacl=self.nacl||{})})(Di)),Di.exports}Xx();const $x={models:[{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:.8039999999999999,output:4.02,cache_read:.0804,cache_write:1.005}},{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:.8039999999999999,output:4.02,cache_read:.0804,cache_write:1.005}},{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-04-30",release_date:"2024-06-20",last_updated:"2024-06-20",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.005,output:5.0249999999999995,cache_read:.10049999999999999,cache_write:1.2562499999999999}},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.005,output:5.0249999999999995,cache_read:.10049999999999999,cache_write:1.2562499999999999}},{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-20250514",name:"Claude Opus 4",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-11-01",last_updated:"2025-11-01",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-6",name:"Claude Opus 4.6",owned_by:"anthropic",context_length:1e6,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-03-13",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",owned_by:"anthropic",context_length:1e6,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-03-13",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:.5025,output:3.0149999999999997,cache_read:.050249999999999996}},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",owned_by:"google",context_length:1e6,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Preview)",owned_by:"google",context_length:131072,max_output:32768,reasoning:!0,tool_call:!1,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-26",last_updated:"2026-02-26",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text","image"]},pricing:{input:.25125,output:60.3}},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-03-03",last_updated:"2026-03-03",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:.25125,output:1.5074999999999998,cache_read:.025124999999999998,cache_write:1.005}},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"MiniMax-M2.1",name:"MiniMax-M2.1",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2025-12-23",last_updated:"2025-12-23",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997}},{id:"MiniMax-M2.5",name:"MiniMax-M2.5",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-02-12",last_updated:"2026-02-12",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997,cache_read:.030149999999999996,cache_write:.37687499999999996}},{id:"MiniMax-M2.7",name:"MiniMax-M2.7",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-18",last_updated:"2026-03-18",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997,cache_read:.06029999999999999,cache_write:.37687499999999996}},{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",owned_by:"moonshot",context_length:131072,max_output:16384,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.1557499999999998,output:8.04,cache_read:.15074999999999997}},{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:2.4119999999999995,output:10.049999999999999,cache_read:.6029999999999999}},{id:"kimi-k2.5",name:"Kimi K2.5",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!1,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",open_weights:!0,modalities:{input:["text","image","video"],output:["text"]},pricing:{input:.6029999999999999,output:3.0149999999999997,cache_read:.10049999999999999,cache_write:.6029999999999999}},{id:"gpt-5",name:"GPT-5",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5-chat-latest",name:"GPT-5 Chat (latest)",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!1,attachment:!0,temperature:!0,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999}},{id:"gpt-5-codex",name:"GPT-5-Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5-mini",name:"GPT-5 Mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.25125,output:2.01,cache_read:.025124999999999998}},{id:"gpt-5-nano",name:"GPT-5 Nano",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.050249999999999996,output:.40199999999999997,cache_read:.005025}},{id:"gpt-5-pro",name:"GPT-5 Pro",owned_by:"openai",context_length:4e5,max_output:272e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-10-06",last_updated:"2025-10-06",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:15.075,output:120.6}},{id:"gpt-5.1",name:"GPT-5.1",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.13065}},{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.25125,output:2.01,cache_read:.025124999999999998}},{id:"gpt-5.2",name:"GPT-5.2",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:21.104999999999997,output:168.83999999999997}},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",owned_by:"openai",context_length:128e3,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.4",name:"GPT-5.4",owned_by:"openai",context_length:105e4,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-05",last_updated:"2026-03-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:2.5124999999999997,output:15.075,cache_read:.25125}},{id:"gpt-5.4-mini",name:"GPT-5.4 mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-17",last_updated:"2026-03-17",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.7537499999999999,output:4.522499999999999,cache_read:.07537499999999998}},{id:"gpt-5.4-nano",name:"GPT-5.4 nano",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-17",last_updated:"2026-03-17",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.20099999999999998,output:1.2562499999999999,cache_read:.0201}},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",owned_by:"openai",context_length:105e4,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-05",last_updated:"2026-03-05",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:30.15,output:180.89999999999998}},{id:"healer-alpha",name:"Healer Alpha",owned_by:"openrouter",context_length:262144,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2026-03-11",release_date:"2026-03-11",last_updated:"2026-03-11",open_weights:!1,modalities:{input:["text","image","audio","pdf"],output:["text"]},pricing:{input:0,output:0}},{id:"hunter-alpha",name:"Hunter Alpha",owned_by:"openrouter",context_length:1048576,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2026-03-11",release_date:"2026-03-11",last_updated:"2026-03-11",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:0,output:0}},{id:"glm-4.7",name:"GLM-4.7",owned_by:"zai",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.211,cache_read:.11055}},{id:"glm-4.7-flash",name:"GLM-4.7-Flash",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:0,output:0}},{id:"glm-5",name:"GLM-5",owned_by:"zai",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-02-11",last_updated:"2026-02-11",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.005,output:3.2159999999999997,cache_read:.20099999999999998}},{id:"glm-5-turbo",name:"GLM-5-Turbo",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-16",last_updated:"2026-03-16",open_weights:!1,modalities:{input:["text"],output:["text"]},pricing:{input:1.2059999999999997,output:4.02,cache_read:.24119999999999997}}]},GE="setu",AD={openai:"@ai-sdk/openai",anthropic:"@ai-sdk/anthropic",google:"@ai-sdk/google",openrouter:"@openrouter/ai-sdk-provider",xai:"@ai-sdk/xai",moonshot:"@ai-sdk/openai-compatible",zai:"@ai-sdk/openai-compatible",minimax:"@ai-sdk/anthropic"};function eD(A){const e=A.owned_by;return{id:A.id,ownedBy:e,label:A.name,modalities:A.modalities,toolCall:A.tool_call,reasoningText:A.reasoning,attachment:A.attachment,temperature:A.temperature,knowledge:A.knowledge,releaseDate:A.release_date,lastUpdated:A.last_updated,openWeights:A.open_weights,cost:{input:A.pricing.input,output:A.pricing.output,cacheRead:A.pricing.cache_read,cacheWrite:A.pricing.cache_write},limit:{context:A.context_length,output:A.max_output},provider:{npm:AD[e]}}}function tD(){const A=$x.models.map(eD);if(!A.length)return null;A.sort((s,n)=>{const r=s.ownedBy??"",i=n.ownedBy??"";return r===i?s.id.localeCompare(n.id):r==="openai"?-1:i==="openai"?1:r.localeCompare(i)});const e="gpt-5-codex",t=A.findIndex(s=>s.id===e);if(t>0){const[s]=A.splice(t,1);A.unshift(s)}return{id:GE,label:"Setu",env:["SETU_PRIVATE_KEY"],api:"https://setu.ottocode.io/v1",doc:"https://setu.ottocode.io/docs",models:A}}function oD(A){const e=tD(),t={...A};return e&&(t[GE]=e),t}const vE=oD(Kp),sD={openai:[{match:A=>A.includes("gpt-4o-mini"),inputPerMillion:.15,outputPerMillion:.6},{match:A=>A.includes("gpt-4o"),inputPerMillion:5,outputPerMillion:15},{match:A=>A.includes("gpt-4.1-mini"),inputPerMillion:1,outputPerMillion:4},{match:A=>A.includes("gpt-4.1"),inputPerMillion:5,outputPerMillion:15}],anthropic:[{match:A=>A.includes("claude-3-haiku"),inputPerMillion:.25,outputPerMillion:1.25},{match:A=>A.includes("claude-3-sonnet"),inputPerMillion:3,outputPerMillion:15},{match:A=>A.includes("claude-3-opus"),inputPerMillion:15,outputPerMillion:75}],google:[{match:A=>A.includes("gemini-1.5-flash"),inputPerMillion:.35,outputPerMillion:1.05},{match:A=>A.includes("gemini-1.5-pro"),inputPerMillion:3.5,outputPerMillion:10.5}],openrouter:[],opencode:[],setu:[],zai:[],"zai-coding":[],moonshot:[],minimax:[],copilot:[]};function rD(A,e){const t=sD[A];if(t)return t.find(s=>{try{return s.match(e)}catch{return!1}})}function nD(A,e){const t=vE[A];if(!t)return;const s=e.toLowerCase();return t.models.find(n=>n.id?.toLowerCase()===s)}function SE(A,e,t){const s=typeof t.inputTokens=="number"?t.inputTokens:0,n=typeof t.outputTokens=="number"?t.outputTokens:0,r=typeof t.cachedInputTokens=="number"?t.cachedInputTokens:0,i=typeof t.cacheCreationInputTokens=="number"?t.cacheCreationInputTokens:0;if(!s&&!n&&!r&&!i)return;const a=nD(A,e);if(a?.cost?.input!=null||a?.cost?.output!=null){const E=typeof a.cost?.input=="number"?a.cost.input:0,C=typeof a.cost?.output=="number"?a.cost.output:0,p=typeof a.cost?.cacheRead=="number"?a.cost.cacheRead:0,f=typeof a.cost?.cacheWrite=="number"?a.cost.cacheWrite:0,S=Math.max(0,s-r-i)*E/1e6,N=n*C/1e6,T=r*p/1e6,L=i*f/1e6,Z=S+N+T+L;return Number.isFinite(Z)?Number(Z.toFixed(6)):void 0}const g=rD(A,e.toLowerCase());if(!g)return;const l=Math.max(0,s-r-i)*g.inputPerMillion/1e6,u=n*g.outputPerMillion/1e6,d=l+u;return Number.isFinite(d)?Number(d.toFixed(6)):void 0}function UE(A,e){const t=vE[A];if(t)return t.models?.find(s=>s.id===e)}function RE({sessionId:A,title:e,className:t=""}){const[s,n]=D.useState(!1),[r,i]=D.useState(e||""),a=D.useRef(null),{mutate:g}=Ga(A);D.useEffect(()=>{s&&a.current&&(a.current.focus(),a.current.select())},[s]),D.useEffect(()=>{i(e||"")},[e]);const Q=D.useCallback(()=>{const u=r.trim();u&&u!==(e||"")&&g({title:u}),n(!1)},[r,e,g]),l=D.useCallback(()=>{i(e||""),n(!1)},[e]);return s?o.jsx("input",{ref:a,type:"text",value:r,onChange:u=>i(u.target.value),onBlur:Q,onKeyDown:u=>{u.key==="Enter"&&Q(),u.key==="Escape"&&l()},className:`w-full bg-muted/30 text-foreground rounded px-2 py-1 outline-none ring-1 ring-primary/50 focus:ring-primary ${t}`}):o.jsxs("button",{type:"button",onClick:()=>n(!0),className:`group flex items-center gap-2 hover:opacity-80 transition-opacity truncate text-left ${t}`,title:"Click to edit title",children:[o.jsx("span",{className:"truncate",children:e||"Untitled Session"}),o.jsx(tn,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-50 flex-shrink-0 transition-opacity"})]})}function iD({session:A,onNavigateToSession:e}){const{data:t}=Dl(A.sessionType==="branch"?A.id:void 0),{preferences:s}=Ys(),{data:n}=ba(A.id),r=D.useMemo(()=>{const M=A.totalInputTokens||0,S=A.totalOutputTokens||0,N=A.totalCachedTokens||0,T=A.totalCacheCreationTokens||0;return SE(A.provider,A.model,{inputTokens:M,outputTokens:S,cachedInputTokens:N,cacheCreationInputTokens:T})??0},[A.provider,A.model,A.totalInputTokens,A.totalOutputTokens,A.totalCachedTokens,A.totalCacheCreationTokens]),i=M=>{if(!M)return"0s";const S=Math.floor(M/1e3),N=Math.floor(S/60),T=Math.floor(N/60);return T>0?`${T}h ${N%60}m`:N>0?`${N}m ${S%60}s`:`${S}s`},a=M=>M.toLocaleString("en-US"),g=M=>M>=1e6?`${(M/1e6).toFixed(1)}M`:M>=1e3?`${(M/1e3).toFixed(1)}K`:M.toString(),Q=A.currentContextTokens||0,l=A.totalOutputTokens||0,u=A.sessionType==="branch",d=t?.parent,E=D.useMemo(()=>UE(A.provider,A.model)?.limit?.context,[A.provider,A.model]),C=E?Q/E*100:0,p=()=>C>=90?"text-red-600 dark:text-red-400":C>=70?"text-amber-600 dark:text-amber-400":"text-foreground",f=s.fullWidthContent?"w-full px-6 py-6":"max-w-3xl mx-auto px-6 py-6";return o.jsx("div",{className:"border-b border-border bg-background/95 backdrop-blur-sm",children:o.jsxs("div",{className:f,children:[u&&o.jsxs("div",{className:"flex items-center gap-2 mb-3 text-sm",children:[o.jsx(so,{className:"h-4 w-4 text-violet-500"}),o.jsx("span",{className:"text-violet-600 dark:text-violet-400 font-medium",children:"Branch"}),d&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>e?.(d.id),className:"text-primary hover:underline flex items-center gap-1",children:[d.title||`Session ${d.id.slice(0,8)}`,o.jsx(cB,{className:"h-3 w-3"})]})]}),!d&&A.parentSessionId&&o.jsx("span",{className:"text-muted-foreground italic text-xs",children:"(parent deleted)"})]}),o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(RE,{sessionId:A.id,title:A.title,className:"text-2xl font-semibold text-foreground leading-tight"}),n?.shared&&o.jsxs("button",{type:"button",onClick:()=>Eo(n.url),className:"flex items-center gap-1.5 px-2 py-1 rounded-md bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0",children:[o.jsx(Ia,{className:"h-3 w-3"}),o.jsx("span",{children:"Shared"}),n.pendingMessages&&n.pendingMessages>0?o.jsxs("span",{className:"flex items-center gap-0.5 text-amber-600 dark:text-amber-400",children:[o.jsx(Zt,{className:"h-2.5 w-2.5"}),n.pendingMessages]}):o.jsx(bt,{className:"h-2.5 w-2.5 opacity-60"})]})]}),o.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2 mt-4 text-sm text-muted-foreground",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs("div",{className:"flex items-center gap-1.5",title:`Current context window: ${a(Q)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"ctx"}),o.jsx("span",{className:`font-medium ${p()}`,children:g(Q)})]}),o.jsxs("div",{className:"flex items-center gap-1.5",title:`Total output: ${a(l)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"out"}),o.jsx("span",{className:"font-medium text-foreground",children:g(l)})]})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(da,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium text-foreground",children:i(A.totalToolTimeMs)})]}),r>0&&o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(CB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium text-foreground",children:r.toFixed(4)})]}),o.jsxs("div",{className:"flex items-center gap-2 ml-auto",children:[o.jsx(Vt,{provider:A.provider,size:18}),o.jsx("span",{className:"font-medium text-foreground",children:A.model})]})]})]})})}const io=ct(A=>({usage:{},isLoading:{},lastFetched:{},isModalOpen:!1,modalProvider:null,setUsage:(e,t)=>A(s=>({usage:{...s.usage,[e]:t}})),setLoading:(e,t)=>A(s=>({isLoading:{...s.isLoading,[e]:t}})),setLastFetched:(e,t)=>A(s=>({lastFetched:{...s.lastFetched,[e]:t}})),openModal:e=>A({isModalOpen:!0,modalProvider:e}),closeModal:()=>A({isModalOpen:!1,modalProvider:null})})),ss=22,ra=2.5,na=(ss-ra)/2,yi=2*Math.PI*na;function aD(A){return A>=90?"#ef4444":A>=70?"#f59e0b":"#3b82f6"}const JQ=D.memo(function({usage:e,provider:t}){const s=io(a=>a.openModal),n=e.primaryWindow?.usedPercent??0,r=yi-n/100*yi,i=aD(n);return o.jsxs("button",{type:"button",onClick:()=>s(t),className:"relative flex items-center hover:opacity-80 transition-opacity cursor-pointer",title:`Usage: ${Math.round(n)}% (5h window) — Click for details`,children:[o.jsxs("svg",{width:ss,height:ss,className:"-rotate-90",role:"img","aria-label":"Usage ring",children:[o.jsx("circle",{cx:ss/2,cy:ss/2,r:na,fill:"none",stroke:"hsl(var(--muted))",strokeWidth:ra}),o.jsx("circle",{cx:ss/2,cy:ss/2,r:na,fill:"none",stroke:i,strokeWidth:ra,strokeDasharray:yi,strokeDashoffset:r,strokeLinecap:"round",className:"transition-all duration-500"})]}),o.jsx("span",{className:"absolute inset-0 flex items-center justify-center rotate-0 font-medium text-muted-foreground",style:{fontSize:7},children:"5h"})]})});function gD(A){if(!A)return"Unknown";const e=Date.now(),s=new Date(A).getTime()-e;if(s<=0)return"Now";const n=Math.floor(s/864e5),r=Math.floor(s%864e5/36e5),i=Math.floor(s%36e5/6e4);return n>0?`${n}d ${r}h`:r>0?`${r}h ${i}m`:`${i}m`}function LQ(A){return A<=18e3?"5 Hour":A<=86400?"24 Hour":"7 Day"}function Ni({label:A,window:e}){const t=Math.min(e.usedPercent,100),s=t>=90?"bg-red-500":t>=70?"bg-amber-500":"bg-blue-500";return o.jsxs("div",{className:"space-y-1.5",children:[o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:A}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs("span",{className:"font-medium text-foreground",children:[Math.round(t),"%"]}),e.resetsAt&&o.jsxs("span",{className:"text-xs text-muted-foreground",children:["resets in ",gD(e.resetsAt)]})]})]}),o.jsx("div",{className:"h-2 rounded-full bg-muted overflow-hidden",children:o.jsx("div",{className:`h-full rounded-full transition-all duration-500 ${s}`,style:{width:`${t}%`}})})]})}const QD=D.memo(function(){const e=io(i=>i.isModalOpen),t=io(i=>i.modalProvider),s=io(i=>i.closeModal),n=io(i=>t?i.usage[t]:void 0),r=D.useMemo(()=>o.jsxs("div",{className:"flex items-center gap-2",children:[t&&o.jsx(Vt,{provider:t,size:20}),o.jsx("span",{children:"Usage & Limits"})]}),[t]);return n?o.jsx(Oo,{isOpen:e,onClose:s,title:r,maxWidth:"sm",children:o.jsxs("div",{className:"space-y-5",children:[n.limitReached&&o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md bg-red-500/10 border border-red-500/20",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-red-500 flex-shrink-0"}),o.jsx("span",{className:"text-sm text-red-600 dark:text-red-400 font-medium",children:"Rate limit reached"})]}),n.primaryWindow&&o.jsx(Ni,{label:`${LQ(n.primaryWindow.windowSeconds)} Window`,window:n.primaryWindow}),n.secondaryWindow&&o.jsx(Ni,{label:`${LQ(n.secondaryWindow.windowSeconds)} Window`,window:n.secondaryWindow}),n.sonnetWindow&&n.sonnetWindow.usedPercent>0&&o.jsx(Ni,{label:"Sonnet (7 Day)",window:{usedPercent:n.sonnetWindow.usedPercent,windowSeconds:604800,resetsAt:n.sonnetWindow.resetsAt}}),n.extraUsage?.is_enabled&&o.jsx("div",{className:"pt-2 border-t border-border space-y-1",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Extra Credits"}),o.jsxs("span",{className:"font-medium text-foreground",children:["$",n.extraUsage.used_credits.toFixed(2)," / $",n.extraUsage.monthly_limit]})]})}),n.credits?.has_credits&&o.jsx("div",{className:"pt-2 border-t border-border space-y-1",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Credits"}),o.jsx("span",{className:"font-medium text-foreground",children:n.credits.balance!==null?`$${n.credits.balance.toFixed(2)}`:"Available"})]})}),n.planType&&o.jsx("div",{className:"pt-2 border-t border-border",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Plan"}),o.jsx("span",{className:"font-medium text-foreground capitalize",children:n.planType})]})})]})}):null}),BD=6e4,lD=3e4,ki=new Set;function ED(A,e){const t=io(Q=>Q.setUsage),s=io(Q=>Q.setLoading),n=io(Q=>Q.setLastFetched),r=io(Q=>A?Q.usage[A]:void 0),i=e==="oauth"&&(A==="anthropic"||A==="openai"),a=D.useCallback(async()=>{if(!A||!i||ki.has(A))return;const Q=io.getState().lastFetched[A]??0;if(!(Q&&Date.now()-Q<lD)){ki.add(A),s(A,!0);try{const l=await wA.getProviderUsage(A);t(A,l),n(A,Date.now())}catch{}finally{s(A,!1),ki.delete(A)}}},[A,i,t,s,n]),g=D.useRef(a);return g.current=a,D.useEffect(()=>{if(!i)return;g.current();const Q=setInterval(()=>g.current(),BD);return()=>clearInterval(Q)},[i,A]),{usage:r,fetchUsage:a,isOAuthProvider:i}}function Yn(A){const e=xe(f=>f.setBalance),t=xe(f=>f.setUsdcBalance),s=xe(f=>f.setWalletAddress),n=xe(f=>f.setLoading),r=xe(f=>f.setScope),i=xe(f=>f.setPayg),a=xe(f=>f.setSubscription),g=xe(f=>f.setLimits),Q=io(f=>f.setUsage),l=xe(f=>f.balance),u=xe(f=>f.usdcBalance),d=xe(f=>f.subscription),E=xe(f=>f.network),C=D.useCallback(async()=>{if(A==="setu"){n(!0);try{const[f,M,S]=await Promise.all([wA.getSetuBalance(),wA.getSetuUsdcBalance(E),wA.getSetuWallet()]);if(f){e(f.balance),s(f.walletAddress),r(f.scope??null),i(f.payg??null),a(f.subscription??null),g(f.limits??null);const N=f.subscription;N?.active&&N.usageWindows&&Q("setu",{provider:"setu",primaryWindow:{usedPercent:N.usageWindows.fiveHour.percentUsed,windowSeconds:18e3,resetsAt:null},secondaryWindow:{usedPercent:N.usageWindows.weekly.percentUsed,windowSeconds:604800,resetsAt:null},limitReached:!1,planType:N.tierName??"GO"})}else S?.configured&&S.publicKey&&s(S.publicKey);M&&(t(M.usdcBalance),!f&&M.walletAddress&&s(M.walletAddress))}catch{}finally{n(!1)}}},[A,E,e,t,s,n,r,i,a,g,Q]),p=d?.active&&!d.usageWindows;return D.useEffect(()=>{A==="setu"&&(l===null||u===null||p)&&C()},[A,l,u,p,C]),{fetchBalance:C}}function cD({session:A,isVisible:e,isGenerating:t,onNavigateToSession:s}){const{data:n}=Dl(A.sessionType==="branch"?A.id:void 0),{data:r}=ba(A.id),i=D.useMemo(()=>{const T=A.totalInputTokens||0,L=A.totalOutputTokens||0,Z=A.totalCachedTokens||0,AA=A.totalCacheCreationTokens||0;return SE(A.provider,A.model,{inputTokens:T,outputTokens:L,cachedInputTokens:Z,cacheCreationInputTokens:AA})??0},[A.provider,A.model,A.totalInputTokens,A.totalOutputTokens,A.totalCachedTokens,A.totalCacheCreationTokens]),a=T=>T>=1e6?`${(T/1e6).toFixed(1)}M`:T>=1e3?`${(T/1e3).toFixed(1)}K`:T.toString(),g=A.currentContextTokens||0,Q=A.sessionType==="branch",l=n?.parent,u=D.useMemo(()=>UE(A.provider,A.model)?.limit?.context,[A.provider,A.model]),d=u?g/u*100:0,E=()=>d>=90?"text-red-600 dark:text-red-400":d>=70?"text-amber-600 dark:text-amber-400":"text-foreground",{data:C}=fr(),p=C?.[A.provider]?.authType,{usage:f,isOAuthProvider:M}=ED(A.provider,p),S=A.provider==="setu";Yn(S?"setu":void 0);const N=io(T=>T.usage.setu);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`absolute top-0 left-0 right-0 h-14 border-b border-border bg-background/40 backdrop-blur-xl supports-[backdrop-filter]:bg-background/20 z-10 transition-transform duration-200 ${e?"translate-y-0":"-translate-y-full"}`,children:o.jsxs("div",{className:"h-full px-6 flex items-center justify-between gap-4 text-sm",children:[o.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2 text-muted-foreground",children:[Q?o.jsx(so,{className:"w-4 h-4 flex-shrink-0 text-violet-500"}):o.jsx(Gc,{className:"w-4 h-4 flex-shrink-0"}),o.jsx(RE,{sessionId:A.id,title:A.title,className:"text-foreground font-medium text-sm"}),r?.shared&&o.jsxs("button",{type:"button",onClick:()=>Eo(r.url),className:"flex items-center gap-1 px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0",children:[o.jsx(Ia,{className:"h-3 w-3"}),r.pendingMessages&&r.pendingMessages>0?o.jsxs("span",{className:"flex items-center gap-0.5 text-amber-600 dark:text-amber-400",children:[o.jsx(Zt,{className:"h-2.5 w-2.5"}),r.pendingMessages]}):o.jsx(bt,{className:"h-2.5 w-2.5 opacity-60"})]}),Q&&l&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground hidden sm:inline",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>s?.(l.id),className:"text-primary hover:underline flex items-center gap-0.5 truncate max-w-32",title:l.title||`Session ${l.id.slice(0,8)}`,children:[o.jsx("span",{className:"truncate",children:l.title||`Session ${l.id.slice(0,8)}`}),o.jsx(cB,{className:"h-3 w-3 flex-shrink-0"})]})]})]}),o.jsxs("div",{className:"flex-shrink-0 flex items-center gap-5 text-muted-foreground",children:[t&&o.jsx(Bf,{sessionId:A.id}),M&&f&&o.jsx(JQ,{usage:f,provider:A.provider}),S&&N&&o.jsx(JQ,{usage:N,provider:"setu"}),o.jsx("div",{className:"flex items-center gap-3",children:o.jsxs("div",{className:"flex items-center gap-1",title:`Current context window: ${g.toLocaleString()} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"ctx"}),o.jsx("span",{className:`font-medium ${E()}`,children:a(g)})]})}),i>0&&o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(CB,{className:"w-4 h-4"}),o.jsx("span",{className:"text-foreground font-medium",children:i.toFixed(4)})]}),o.jsxs("div",{className:"hidden sm:flex items-center gap-2",children:[o.jsx(Vt,{provider:A.provider,size:16}),o.jsx("span",{className:"font-medium text-foreground",children:A.model})]})]})]})}),o.jsx(QD,{})]})}const CD=D.memo(function({pendingTopup:e,onMethodSelected:t,onCancel:s}){const[n,r]=D.useState(!1),[i,a]=D.useState(null),g=xe(E=>E.openTopupModal),Q=xe(E=>!!E.subscription?.active),l=async()=>{a("crypto"),r(!0);try{await wA.selectTopupMethod(e.sessionId,"crypto"),t("crypto")}catch(E){he.error(E instanceof Error?E.message:"Failed to process payment"),r(!1),a(null)}},u=async()=>{a("fiat"),g(),wA.selectTopupMethod(e.sessionId,"fiat").catch(()=>{}),t("fiat")},d=async()=>{r(!0);try{await wA.cancelTopup(e.sessionId),s()}catch(E){he.error(E instanceof Error?E.message:"Failed to cancel"),r(!1)}};return o.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(uo,{className:"h-4 w-4 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:"Insufficient Balance"}),o.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium text-sm",children:"payment required"})]}),Q&&o.jsx("p",{className:"ml-6 text-xs text-muted-foreground",children:"GO credits may not apply to this request. Add balance to continue."}),o.jsxs("div",{className:"ml-6 bg-muted/30 rounded-lg p-3 space-y-2 text-sm",children:[o.jsxs("div",{className:"flex justify-between",children:[o.jsx("span",{className:"text-muted-foreground",children:"Request cost"}),o.jsxs("span",{className:"font-mono",children:["~$",e.amountUsd.toFixed(4)]})]}),o.jsxs("div",{className:"flex justify-between",children:[o.jsx("span",{className:"text-muted-foreground",children:"Current balance"}),o.jsxs("span",{className:"font-mono",children:["$",e.currentBalance.toFixed(4)]})]})]}),o.jsxs("div",{className:"ml-6 flex flex-wrap items-center gap-2",children:[o.jsxs("button",{type:"button",onClick:d,disabled:n,title:"Cancel request",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(st,{className:"w-3 h-3"}),"Cancel"]}),o.jsxs("button",{type:"button",onClick:l,disabled:n,title:"Pay with USDC from your wallet",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-violet-600 text-white hover:bg-violet-700 transition-colors disabled:opacity-50",children:[i==="crypto"&&n?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(ha,{className:"w-3 h-3"}),"Pay with USDC"]}),o.jsxs("button",{type:"button",onClick:u,disabled:n,title:"Top up with card (min $5)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-violet-500 text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 transition-colors disabled:opacity-50",children:[i==="fiat"&&n?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(Br,{className:"w-3 h-3"}),"Top up with Card",o.jsx("span",{className:"text-[10px] opacity-70",children:"(min $5)"})]})]}),o.jsx("p",{className:"ml-6 text-xs text-muted-foreground",children:i==="crypto"?"Processing USDC payment from your wallet...":i==="fiat"?"Opening checkout...":"Select a payment method to continue your request."})]})}),fn=ct(A=>({pendingTopup:null,isProcessing:!1,selectedMethod:null,setPendingTopup:e=>A({pendingTopup:e,isProcessing:!1,selectedMethod:null}),setProcessing:e=>A({isProcessing:e}),setSelectedMethod:e=>A({selectedMethod:e}),clearPendingTopup:()=>A({pendingTopup:null,isProcessing:!1,selectedMethod:null})})),ID=D.memo(function({messages:e,session:t,sessionId:s,isGenerating:n,compact:r=!1,disableAutoScroll:i=!1,onSelectSession:a}){const g=be(),{preferences:Q}=Ys(),l=D.useRef(null),u=D.useRef(null),d=D.useRef(null),[E,C]=D.useState(!0),p=D.useRef(!0),[f,M]=D.useState(!1),S=D.useRef(!1),N=D.useRef(void 0),T=D.useRef(0),L=D.useRef(void 0),Z=D.useRef(!1),AA=D.useRef(t?.id),_=D.useRef(e.length),J=D.useRef(n),P=D.useRef(0),b=D.useRef(0),K=fn(v=>v.pendingTopup),w=fn(v=>v.clearPendingTopup),B=K&&K.sessionId===s,I=D.useCallback(()=>{const v=u.current;if(!v)return;const{scrollTop:c,scrollHeight:h,clientHeight:U}=v,R=h-c-U,X=h>P.current,tA=c<b.current-5;P.current=h,b.current=c,R<100?(p.current=!0,C(!0)):tA?(p.current=!1,C(!1),S.current=!0):!X&&p.current&&(p.current=!1,C(!1)),(tA||!p.current&&R>=100)&&(N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{S.current=!1},150));const uA=d.current;if(uA){const aA=uA.getBoundingClientRect(),KA=v.getBoundingClientRect();M(aA.bottom<KA.top)}},[]);D.useEffect(()=>{if(i)return;const v=t?.id!==AA.current;if(AA.current=t?.id,v&&(Z.current=!1),!Z.current&&e.length>0){Z.current=!0;const c=u.current;c&&(c.scrollTop=c.scrollHeight)}},[e.length,t?.id,i]),D.useEffect(()=>{if(i)return;const v=n&&!J.current,c=e.length>_.current;J.current=n,_.current=e.length,v?(S.current=!1,p.current=!0,C(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const h=u.current;h&&(h.scrollTop=h.scrollHeight)})})):c&&!S.current&&!n&&(p.current=!0,C(!0))},[e.length,n,i]),D.useEffect(()=>{if(i)return;const v=u.current;if(!v||!E||S.current)return;T.current=v.scrollHeight-v.clientHeight;const c=()=>{const h=u.current;if(!h||S.current)return;const U=h.scrollTop,X=h.scrollHeight-h.clientHeight-U;if(Math.abs(X)<1){h.scrollTop=h.scrollHeight-h.clientHeight;return}if(Math.abs(X)<10){h.scrollTop=h.scrollHeight-h.clientHeight;return}h.scrollTop=U+X*.15,L.current=requestAnimationFrame(c)};L.current&&cancelAnimationFrame(L.current),L.current=requestAnimationFrame(c)},[e,E]),D.useEffect(()=>()=>{N.current&&clearTimeout(N.current),L.current&&cancelAnimationFrame(L.current)},[]);const y=()=>{S.current=!1,p.current=!0,C(!0);const v=u.current;v&&(v.scrollTop=v.scrollHeight)},G=D.useMemo(()=>e.filter(v=>v.role!=="system"),[e]),j=Q.fullWidthContent?r?"w-full space-y-4":"w-full space-y-6":r?"max-w-3xl mx-auto space-y-4":"max-w-3xl mx-auto space-y-6",O=D.useCallback(v=>async()=>{if(s&&v){g.setQueryData(["messages",s],c=>c&&c.map(h=>{if(h.id!==v)return h;const U=h.parts?.filter(R=>!(R.type==="error"||R.type==="tool_call"&&R.toolName==="finish"))??[];return{...h,status:"pending",parts:U,error:null}}));try{await wA.retryMessage(s,v)}catch(c){he.error(c instanceof Error?c.message:"Failed to retry")}}},[s,g]),z=D.useCallback(async()=>{if(s)try{await wA.sendMessage(s,{content:"/compact"})}catch(v){he.error(v instanceof Error?v.message:"Failed to compact")}},[s]);return e.length===0?o.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground text-sm",children:"No messages yet. Start a conversation below."}):o.jsxs("div",{className:"absolute inset-0 flex flex-col",children:[t&&o.jsx(cD,{session:t,isVisible:f,isGenerating:n,onNavigateToSession:a}),o.jsxs("div",{ref:u,className:"flex-1 overflow-y-auto",onScroll:I,children:[o.jsx("div",{ref:d,children:t&&o.jsx(iD,{session:t,onNavigateToSession:a})}),o.jsx("div",{className:r?"p-4 pb-56":"p-6 pb-64",children:o.jsxs("div",{className:j,children:[G.map((v,c)=>{const h=G[c-1],U=G[c+1],R=c===G.length-1;if(v.role==="user"){const X=U&&U.role==="assistant"?U:void 0;return o.jsx(Nl,{sessionId:s,message:v,isFirst:c===0,nextAssistantMessageId:X?.id},v.id)}if(v.role==="assistant"){const X=!h||h.role!=="assistant",tA=U&&U.role==="assistant";return o.jsx(yl,{sessionId:s,message:v,showHeader:X,hasNextAssistantMessage:tA,isLastMessage:R,onBranchCreated:a,onRetry:R?O(v.id):void 0,compact:r,onCompact:R?z:void 0},v.id)}return null}),B&&K&&o.jsx("div",{className:"py-4",children:o.jsx(CD,{pendingTopup:K,onMethodSelected:()=>w(),onCancel:()=>w()})}),o.jsx("div",{ref:l})]})})]}),!E&&o.jsxs("button",{type:"button",onClick:y,className:"absolute bottom-36 left-1/2 -translate-x-1/2 flex items-center gap-2 px-4 py-2 bg-background border border-border rounded-full shadow-lg hover:bg-muted/50 transition-all text-sm text-foreground z-10",children:[o.jsx(vc,{className:"w-4 h-4"}),o.jsx("span",{children:"Scroll to bottom"})]})]})});class KE{abortController=null;handlers=new Map;running=!1;async connect(e){this.abortController&&this.abortController.abort(),this.abortController=new AbortController,this.running=!0;const t=!e.includes("localhost")&&!e.includes("127.0.0.1");try{const s=await fetch(e,{method:t?"POST":"GET",headers:{Accept:"text/event-stream"},signal:this.abortController.signal});if(!s.ok){console.error("[SSE] Connection failed:",s.status);return}const n=s.body?.getReader();if(!n){console.error("[SSE] No response body");return}const r=new TextDecoder;let i="";for(;this.running;){const{done:a,value:g}=await n.read();if(a)break;i+=r.decode(g,{stream:!0});let Q=i.indexOf(`
|
|
110
|
+
|
|
111
|
+
`);for(;Q!==-1;){const l=i.slice(0,Q);i=i.slice(Q+2);const u=l.split(`
|
|
112
|
+
`);let d="message",E="";for(const C of u)C.startsWith("event: ")?d=C.slice(7).trim():C.startsWith("data: ")?E+=(E?`
|
|
113
|
+
`:"")+C.slice(6):C.startsWith(":");if(E)try{const C=JSON.parse(E);this.emit({type:d,payload:C})}catch(C){console.error(`[SSE] Failed to parse ${d}:`,C)}Q=i.indexOf(`
|
|
114
|
+
|
|
115
|
+
`)}}}catch(s){s instanceof Error&&s.name==="AbortError"||s instanceof TypeError&&s.message==="Load failed"||console.error("[SSE] Connection error:",s)}}disconnect(){this.running=!1,this.abortController&&(this.abortController.abort(),this.abortController=null)}on(e,t){return this.handlers.has(e)||this.handlers.set(e,new Set),this.handlers.get(e)?.add(t),()=>{this.off(e,t)}}off(e,t){const s=this.handlers.get(e);s&&(s.delete(t),s.size===0&&this.handlers.delete(e))}emit(e){const t=this.handlers.get(e.type);if(t)for(const n of t)n(e);const s=this.handlers.get("*");if(s)for(const n of s)n(e)}}function JE(A,e=!0){const t=be(),s=D.useRef(null),n=D.useRef(null),{addPendingApproval:r,removePendingApproval:i,updatePendingApproval:a,setPendingApprovals:g}=hr();D.useEffect(()=>{if(!A||!e)return;n.current=null;let Q=0;wA.getPendingApprovals(A).then(B=>{B.ok&&B.pending.length>0?g(B.pending):g([])}).catch(()=>{g([])});const l=new KE;s.current=l;const u=wA.getStreamUrl(A);console.log("[useSessionStream] Connecting to stream:",u),l.connect(u);const d=B=>{if(n.current){const I=B.findIndex(y=>y.id===n.current);if(I!==-1)return I}for(let I=B.length-1;I>=0;I-=1){const y=B[I];if(y.role==="assistant"&&y.status!=="complete")return I}return-1},E=B=>{if(B.contentJson&&typeof B.contentJson=="object"&&!Array.isArray(B.contentJson)&&"text"in B.contentJson)return String(B.contentJson.text??"");if(typeof B.content=="string"){try{const I=JSON.parse(B.content);if(I&&typeof I.text=="string")return I.text}catch{}return B.content}return""},C=B=>typeof B?.callId=="string"?B.callId:typeof B?.toolCallId=="string"?B.toolCallId:null,p=B=>typeof B?.name=="string"?B.name:typeof B?.toolName=="string"?B.toolName:null,f=B=>B?.args??B?.input,M=B=>typeof B?.delta=="string"?B.delta:typeof B?.inputTextDelta=="string"?B.inputTextDelta:null,S=B=>typeof B?.delta=="string"?B.delta:typeof B?.outputTextDelta=="string"?B.outputTextDelta:null,N=(B,I)=>{if(typeof I!="number")return B.length;const y=B.filter(v=>v.stepIndex===I).map(v=>v.index).filter(v=>Number.isFinite(v));if(y.length>0)return Math.max(...y)+.001;const G=B.filter(v=>typeof v.stepIndex=="number"&&v.stepIndex<I).map(v=>v.index).filter(v=>Number.isFinite(v)),j=B.filter(v=>typeof v.stepIndex=="number"&&v.stepIndex>I).map(v=>v.index).filter(v=>Number.isFinite(v)),O=G.length>0?Math.max(...G):null,z=j.length>0?Math.min(...j):null;return O!==null&&z!==null?(O+z)/2:O!==null?O+1:z!==null?z-1:B.length},T=B=>{const I=typeof B?.messageId=="string"?B.messageId:null,y=typeof B?.partId=="string"?B.partId:null,G=typeof B?.delta=="string"?B.delta:null;!I||!y||G===null||t.setQueryData(["messages",A],j=>{if(!j)return j;const O=[...j],z=O.findIndex(R=>R.id===I);if(z===-1)return j;const v=O[z],c=v.parts?[...v.parts]:[];let h=c.findIndex(R=>R.id===y);const U=typeof B?.stepIndex=="number"?B.stepIndex:null;if(h===-1){const R={id:y,messageId:I,index:N(c,U),stepIndex:U,type:"reasoning",content:JSON.stringify({text:G}),contentJson:{text:G},agent:v.agent,provider:v.provider,model:v.model,startedAt:Date.now(),completedAt:null,toolName:null,toolCallId:null,toolDurationMs:null};c.push(R),h=c.length-1}else{const R=c[h],tA=`${E(R)}${G}`;c[h]={...R,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:U??R.stepIndex??null,completedAt:null}}return O[z]={...v,parts:c},O})},L=B=>{const I=typeof B?.messageId=="string"?B.messageId:null,y=typeof B?.partId=="string"?B.partId:null,G=typeof B?.delta=="string"?B.delta:null;!I||!y||G===null||t.setQueryData(["messages",A],j=>{if(!j)return j;const O=[...j],z=O.findIndex(R=>R.id===I);if(z===-1)return j;const v=O[z],c=v.parts?[...v.parts]:[];let h=c.findIndex(R=>R.id===y);const U=typeof B?.stepIndex=="number"?B.stepIndex:null;if(h===-1){const R={id:y,messageId:I,index:N(c,U),stepIndex:U,type:"text",content:JSON.stringify({text:G}),contentJson:{text:G},agent:v.agent,provider:v.provider,model:v.model,startedAt:Date.now(),completedAt:null,toolName:null,toolCallId:null,toolDurationMs:null};c.push(R),h=c.length-1}else{const R=c[h],tA=`${E(R)}${G}`;c[h]={...R,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:U??R.stepIndex??null,completedAt:null}}return O[z]={...v,parts:c},O})},Z=B=>{if(!B)return;const I=C(B),y=p(B);y&&t.setQueryData(["messages",A],G=>{if(!G)return G;const j=[...G];let O=d(j);if(typeof B.messageId=="string"){const X=j.findIndex(tA=>tA.id===B.messageId);X!==-1&&(O=X)}if(O===-1)return G;const z=j[O],v=z.parts?[...z.parts]:[];let c=-1;I&&(c=v.findIndex(X=>X.toolCallId===I&&X.ephemeral)),c===-1&&!I&&(c=v.findIndex(X=>X.ephemeral&&X.toolName===y));const h=f(B),U=typeof B.stepIndex=="number"?B.stepIndex:null,R={name:y};if(I&&(R.callId=I),h!==void 0&&(R.args=h),c===-1){const X={id:I?`ephemeral-tool-call-${I}`:`ephemeral-tool-call-${y}-${Date.now()}`,messageId:z.id,index:N(v,U),stepIndex:U,type:"tool_call",content:JSON.stringify(R),contentJson:R,agent:z.agent,provider:z.provider,model:z.model,startedAt:Date.now(),completedAt:null,toolName:y,toolCallId:I,toolDurationMs:null,ephemeral:!0};v.push(X)}else{const X=v[c],tA={...typeof X.contentJson=="object"&&!Array.isArray(X.contentJson)?X.contentJson:{},name:y};I&&(tA.callId=I),h!==void 0&&(tA.args=h),v[c]={...X,content:JSON.stringify(tA),contentJson:tA,stepIndex:U??X.stepIndex??null,toolCallId:I??X.toolCallId,toolName:y}}return j[O]={...z,parts:v},j})},AA=(B,I)=>{if(!B)return;const y=C(B),G=p(B);G&&t.setQueryData(["messages",A],j=>{if(!j)return j;const O=[...j];let z=d(O);if(typeof B.messageId=="string"){const R=O.findIndex(X=>X.id===B.messageId);R!==-1&&(z=R)}if(z===-1)return j;const v=O[z],c=v.parts?[...v.parts]:[];let h=-1;y&&(h=c.findIndex(R=>R.toolCallId===y&&R.ephemeral)),h===-1&&!y&&(h=c.findIndex(R=>R.ephemeral&&R.toolName===G));const U=typeof B.stepIndex=="number"?B.stepIndex:null;if(h===-1){const R={name:G,_streamedInput:I};y&&(R.callId=y);const X={id:y?`ephemeral-tool-call-${y}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:v.id,index:N(c,U),stepIndex:U,type:"tool_call",content:JSON.stringify(R),contentJson:R,agent:v.agent,provider:v.provider,model:v.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:y,toolDurationMs:null,ephemeral:!0};c.push(X)}else{const R=c[h],X=typeof R.contentJson?._streamedInput=="string"?R.contentJson._streamedInput:"",tA={...typeof R.contentJson=="object"&&!Array.isArray(R.contentJson)?R.contentJson:{},_streamedInput:X+I};c[h]={...R,content:JSON.stringify(tA),contentJson:tA,stepIndex:U??R.stepIndex??null}}return O[z]={...v,parts:c},O})},_=(B,I)=>{if(!B)return;const y=C(B),G=p(B);G&&t.setQueryData(["messages",A],j=>{if(!j)return j;const O=[...j];let z=d(O);if(typeof B.messageId=="string"){const R=O.findIndex(X=>X.id===B.messageId);R!==-1&&(z=R)}if(z===-1)return j;const v=O[z],c=v.parts?[...v.parts]:[];let h=-1;y&&(h=c.findIndex(R=>R.toolCallId===y&&R.ephemeral)),h===-1&&!y&&(h=c.findIndex(R=>R.ephemeral&&R.toolName===G));const U=typeof B.stepIndex=="number"?B.stepIndex:null;if(h===-1){const R={name:G,_streamedOutput:I};y&&(R.callId=y);const X={id:y?`ephemeral-tool-call-${y}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:v.id,index:N(c,U),stepIndex:U,type:"tool_call",content:JSON.stringify(R),contentJson:R,agent:v.agent,provider:v.provider,model:v.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:y,toolDurationMs:null,ephemeral:!0};c.push(X)}else{const R=c[h],X=typeof R.contentJson?._streamedOutput=="string"?R.contentJson._streamedOutput:"",tA={...typeof R.contentJson=="object"&&!Array.isArray(R.contentJson)?R.contentJson:{},_streamedOutput:X+I};c[h]={...R,content:JSON.stringify(tA),contentJson:tA,stepIndex:U??R.stepIndex??null}}return O[z]={...v,parts:c},O})},J=B=>{const I=C(B);if(!I)return;const y=p(B),G=typeof B?.stepIndex=="number"?B.stepIndex:null,j=B?.result,O=B?.artifact,z=f(B);t.setQueryData(["messages",A],v=>{if(!v)return v;let c=!1;const h=Date.now(),U=v.map(R=>{if(!R.parts?.length)return R;let X=!1;const tA=R.parts.map(uA=>{if(!(uA.ephemeral&&uA.toolCallId===I))return uA;X=!0,c=!0;const aA={...typeof uA.contentJson=="object"&&!Array.isArray(uA.contentJson)?uA.contentJson:{},name:y??uA.toolName??"tool",callId:I};z!==void 0&&(aA.args=z),j!==void 0&&(aA.result=j),O!==void 0&&(aA.artifact=O);const KA=uA.startedAt&&Number.isFinite(uA.startedAt)?Math.max(0,h-uA.startedAt):uA.toolDurationMs;return{...uA,type:"tool_result",content:JSON.stringify(aA),contentJson:aA,stepIndex:G??uA.stepIndex??null,completedAt:h,toolName:y??uA.toolName,toolDurationMs:KA??null}});return X?{...R,parts:tA}:R});return c?U:v})},P=B=>{const I=C(B);I&&t.setQueryData(["messages",A],y=>{if(!y)return y;let G=!1;const j=y.map(O=>{if(!O.parts?.length)return O;const z=O.parts.filter(v=>!(v.ephemeral&&v.toolCallId===I));return z.length===O.parts.length?O:(G=!0,{...O,parts:z})});return G?j:y})},b=B=>{B&&t.setQueryData(["messages",A],I=>{if(!I)return I;const y=I.findIndex(O=>O.id===B);if(y===-1)return I;const G=I[y];if(!G.parts?.some(O=>O.ephemeral&&O.type==="tool_call"))return I;const j=[...I];return j[y]={...G,parts:G.parts?.filter(O=>!(O.ephemeral&&O.type==="tool_call"))??[]},j})},K=B=>{const I=typeof B?.id=="string"?B.id:null;I&&t.setQueryData(["messages",A],y=>{if(!y)return y;const G=[...y],j=G.findIndex(z=>z.id===I);if(j===-1)return y;const O=G[j];return G[j]={...O,status:"complete",completedAt:Date.now()},G})},w=l.on("*",B=>{const I=B.payload;switch(B.type){case"message.created":{const y=typeof I?.role=="string"?I.role:null,G=typeof I?.id=="string"?I.id:null;if(y==="assistant"&&G&&(n.current=G),G&&y){const j=typeof I?.agent=="string"?I.agent:"",O=typeof I?.provider=="string"?I.provider:"",z=typeof I?.model=="string"?I.model:"",v=typeof I?.content=="string"?I.content:null,c=y==="user"&&v?[{id:`${G}-text`,messageId:G,index:0,stepIndex:null,type:"text",content:JSON.stringify({text:v}),contentJson:{text:v},agent:j,provider:O,model:z,startedAt:Date.now(),completedAt:Date.now(),toolName:null,toolCallId:null,toolDurationMs:null}]:[];t.setQueryData(["messages",A],h=>{if(!h||h.some(X=>X.id===G))return h;const U={id:G,sessionId:A,role:y,status:y==="user"?"complete":"pending",agent:j,provider:O,model:z,createdAt:Date.now(),completedAt:null,latencyMs:null,promptTokens:null,completionTokens:null,totalTokens:null,error:null,parts:c},R=[...h,U];return R.sort((X,tA)=>X.createdAt-tA.createdAt),R})}break}case"message.part.delta":{L(I);break}case"reasoning.delta":{T(I);break}case"message.completed":{const y=typeof I?.id=="string"?I.id:null;y&&n.current===y&&(n.current=null),K(I),b(y),t.invalidateQueries({queryKey:["messages",A]}),t.invalidateQueries({queryKey:ko});break}case"tool.delta":{const y=typeof I?.channel=="string"?I.channel:null,G=y==="output"?S(I):M(I);y==="input"||y==null&&G?G?AA(I,G):Z(I):y==="output"&&G&&_(I,G);break}case"tool.call":{Z(I);break}case"tool.result":{J(I);break}case"tool.approval.required":{const y=typeof I?.callId=="string"?I.callId:null,G=typeof I?.toolName=="string"?I.toolName:null,j=typeof I?.messageId=="string"?I.messageId:null,O=I?.args;y&&G&&j&&r({callId:y,toolName:G,args:O,messageId:j,createdAt:Date.now()});break}case"tool.approval.resolved":{const y=typeof I?.callId=="string"?I.callId:null;y&&i(y);break}case"tool.approval.updated":{const y=typeof I?.callId=="string"?I.callId:null,G=I?.args;y&&a(y,G);break}case"error":{P(I);const y=typeof I?.messageId=="string"?I.messageId:null;y&&b(y),t.invalidateQueries({queryKey:["messages",A]});break}case"message.updated":{const y=typeof I?.id=="string"?I.id:null,G=typeof I?.status=="string"?I.status:null;y&&G&&t.setQueryData(["messages",A],j=>{if(!j)return j;const O=j.findIndex(v=>v.id===y);if(O===-1)return j;const z=[...j];return z[O]={...z[O],status:G},z});break}case"queue.updated":{const y={currentMessageId:I?.currentMessageId,queuedMessages:I?.queuedMessages??[],queueLength:I?.queueLength??0};t.setQueryData(["queueState",A],y);break}}if(B.type==="finish-step"){const y=Date.now();y-Q>=2e3&&(Q=y,t.invalidateQueries({queryKey:ko}))}});return()=>{w(),l.disconnect()}},[A,t,r,i,e,g,a])}function uD(A){const{pendingApprovals:e,removePendingApproval:t}=hr(),s=e,n=D.useCallback(async a=>{if(A)try{await wA.approveToolCall(A,a,!0),t(a)}catch(g){console.error("Failed to approve tool call:",g)}},[A,t]),r=D.useCallback(async a=>{if(A)try{await wA.approveToolCall(A,a,!1),t(a)}catch(g){console.error("Failed to reject tool call:",g)}},[A,t]),i=D.useCallback(async()=>{if(A)try{await Promise.all(s.map(a=>wA.approveToolCall(A,a.callId,!0)));for(const a of s)t(a.callId)}catch(a){console.error("Failed to approve all tool calls:",a)}},[A,s,t]);D.useEffect(()=>{if(!A||s.length===0)return;const a=g=>{if(g.target instanceof HTMLInputElement||g.target instanceof HTMLTextAreaElement||g.target?.isContentEditable)return;const Q=s[0];g.key==="y"||g.key==="Y"?(g.preventDefault(),n(Q.callId)):g.key==="n"||g.key==="N"||g.key==="Escape"?(g.preventDefault(),r(Q.callId)):(g.key==="a"||g.key==="A")&&(g.preventDefault(),i())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[A,s,n,r,i])}const dD=({height:A=22})=>{const e=Math.round(A*2.4686468646864688);return o.jsx("svg",{width:e,height:A,viewBox:"0 0 748 303",fill:"currentColor",className:"text-foreground","aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})})},hD={sm:{ring:48,icon:20,iconSize:16},md:{ring:72,icon:32,iconSize:24},lg:{ring:96,icon:40,iconSize:32}},Mi=D.memo(function({status:e,label:t,sublabel:s,size:n="md"}){const{ring:r,icon:i,iconSize:a}=hD[n],g={position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:r,height:r},Q={content:'""',position:"absolute",inset:0,borderRadius:"50%"},l=()=>e==="success"?"rgb(34, 197, 94)":e==="error"?"rgb(239, 68, 68)":"currentColor";return o.jsxs("div",{className:"flex flex-col items-center justify-center gap-5",children:[o.jsxs("div",{style:g,children:[o.jsx("div",{style:{...Q,border:"2px solid hsl(var(--muted))"}}),e==="loading"&&o.jsx("div",{className:"animate-spin",style:{...Q,border:"2px solid transparent",borderTopColor:"hsl(var(--foreground))",animation:"spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite"}}),e==="success"&&o.jsx("div",{style:{...Q,border:`2px solid ${l()}`,opacity:.3}}),e==="error"&&o.jsx("div",{style:{...Q,border:`2px solid ${l()}`,opacity:.3}}),o.jsxs("div",{style:{position:"relative",zIndex:1},children:[e==="loading"&&o.jsx(dD,{height:Math.round(i*.65)}),e==="success"&&o.jsx(sB,{className:"text-green-500",style:{width:a,height:a}}),e==="error"&&o.jsx(ca,{className:"text-red-500",style:{width:a,height:a}})]})]}),t&&o.jsxs("div",{className:"flex flex-col items-center gap-1",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:t}),s&&o.jsx("span",{className:"text-xs text-muted-foreground",children:s})]})]})}),fD=[10,25,50,100],bi=5,Fi=2,os=500,pD=5e3,mD="https://share.ottocode.io/checkout/success";function wD(){return new Promise((A,e)=>{if(window.Razorpay){A();return}const t=document.createElement("script");t.src="https://checkout.razorpay.com/v1/checkout.js",t.onload=()=>A(),t.onerror=()=>e(new Error("Failed to load Razorpay")),document.head.appendChild(t)})}function xD({className:A="w-5 h-5"}){return o.jsxs("svg",{className:A,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("title",{children:"Polar"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.08734 21.1119C10.2671 24.6182 17.3085 23.2616 20.8148 18.0818C24.3211 12.9021 22.9645 5.86065 17.7848 2.35436C12.605 -1.15192 5.56353 0.204698 2.05724 5.38446C-1.44904 10.5642 -0.0924184 17.6057 5.08734 21.1119ZM6.58958 21.2045C11.3278 23.6286 17.3384 21.3531 20.0147 16.1221C22.6909 10.891 21.0194 4.68533 16.2811 2.2612C11.543 -0.162919 5.53235 2.11252 2.8561 7.34355C0.179842 12.5745 1.85138 18.7803 6.58958 21.2045Z"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.93988 22.4416C12.2169 23.8337 17.2485 20.1561 19.1782 14.2276C21.1078 8.29898 19.2047 2.3644 14.9276 0.9723C10.6505 -0.419794 5.61905 3.25775 3.68942 9.18633C1.7598 15.1149 3.6628 21.0495 7.93988 22.4416ZM9.24825 21.991C12.868 22.7631 16.7819 18.796 17.9904 13.1305C19.1988 7.46494 17.244 2.24622 13.6243 1.47416C10.0046 0.702105 6.09064 4.66908 4.88222 10.3347C3.67381 16.0002 5.62854 21.2189 9.24825 21.991Z"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.2406 22.9252C13.1024 23.2308 15.9585 18.4574 16.6199 12.2635C17.2812 6.06969 15.4974 0.800854 12.6356 0.495275C9.77386 0.189695 6.91772 4.96309 6.25634 11.157C5.59498 17.3508 7.37878 22.6196 10.2406 22.9252ZM11.5798 21.04C13.6508 21.0073 15.264 16.8146 15.1828 11.6754C15.1017 6.53608 13.3568 2.39642 11.2858 2.42914C9.21463 2.46187 7.60148 6.65457 7.68268 11.7939C7.76387 16.9331 9.50864 21.0727 11.5798 21.04Z"})]})}function DD({className:A="w-5 h-5"}){return o.jsxs("svg",{className:A,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("title",{children:"Razorpay"}),o.jsx("path",{d:"M22.436 0l-11.91 7.773-1.174 4.276 6.625-4.297L11.65 24h4.391l6.395-24zM14.26 10.098L3.389 17.166 1.564 24h9.008l3.688-13.902Z"})]})}const Ag=D.memo(function(){const e=xe(FA=>FA.isTopupModalOpen),t=xe(FA=>FA.closeTopupModal),s=xe(FA=>FA.balance),n=xe(FA=>FA.setBalance),r=xe(FA=>FA.usdcBalance),i=xe(FA=>FA.subscription),[a,g]=D.useState("amount"),[Q,l]=D.useState("polar"),[u,d]=D.useState(25),[E,C]=D.useState(""),[p,f]=D.useState(!1),[M,S]=D.useState(null),[N,T]=D.useState(null),[L,Z]=D.useState(!1),[AA,_]=D.useState(!1),[J,P]=D.useState(null),[b,K]=D.useState(!1),[w,B]=D.useState(null),[I,y]=D.useState(0),[G,j]=D.useState(!1),O=D.useRef(null),z=p?parseFloat(E)||0:u,v=!!i?.active,c=Q==="razorpay"?Fi:bi,h=D.useCallback(async FA=>{if(FA<c||FA>os){S(null),T(null);return}Z(!0);try{if(Q==="polar"){const RA=await wA.getPolarTopupEstimate(FA);S(RA),T(null)}else{const RA=await wA.getRazorpayTopupEstimate(FA);T(RA),S(null)}}catch{S(null),T(null)}finally{Z(!1)}},[Q,c]);D.useEffect(()=>{if(e&&z>=c&&a==="amount"){const FA=setTimeout(()=>h(z),300);return()=>clearTimeout(FA)}},[e,z,h,a,c]);const U=D.useCallback(()=>{O.current&&(clearInterval(O.current),O.current=null),K(!1)},[]);D.useEffect(()=>{e||(U(),g("amount"),P(null),B(null),y(0))},[e,U]),D.useEffect(()=>()=>U(),[U]);const R=D.useCallback(FA=>{if(O.current)return;K(!0),y(0);const RA=async()=>{try{const Be=await wA.getPolarTopupStatus(FA);if(y(ye=>ye+1),Be?.confirmed){U(),B(Be.amountUsd),localStorage.removeItem("pendingPolarCheckout");const ye=await wA.getSetuBalance();ye?.balance!==void 0&&n(ye.balance),g("confirmed")}}catch{y(Be=>Be+1)}};RA(),O.current=setInterval(RA,pD)},[U,n]),X=FA=>{d(FA),f(!1),C("")},tA=FA=>{C(FA),f(!0)},uA=D.useCallback(FA=>{window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:FA},"*"):window.open(FA,"_blank")},[]),aA=async()=>{if(z<bi||z>os){he.error(`Amount must be between $${bi} and $${os}`);return}_(!0);try{const FA=await wA.createPolarCheckout(z,mD);if(FA.checkoutUrl&&FA.checkoutId){const RA={url:FA.checkoutUrl,checkoutId:FA.checkoutId,creditAmount:FA.creditAmount,chargeAmount:FA.chargeAmount};P(RA),localStorage.setItem("pendingPolarCheckout",FA.checkoutId),g("checkout"),uA(FA.checkoutUrl),R(FA.checkoutId)}}catch(FA){he.error(FA instanceof Error?FA.message:"Failed to create checkout")}finally{_(!1)}},KA=async()=>{if(z<Fi||z>os){he.error(`Amount must be between $${Fi} and $${os}`);return}_(!0);try{await wD();const FA=await wA.createRazorpayOrder(z);g("razorpay-processing");const RA=new window.Razorpay({key:FA.keyId,amount:FA.amount,currency:FA.currency,name:"Setu",description:`Top up $${FA.creditAmountUsd.toFixed(2)} credits`,order_id:FA.orderId,handler:async Be=>{try{const ye=await wA.verifyRazorpayPayment({razorpay_order_id:Be.razorpay_order_id,razorpay_payment_id:Be.razorpay_payment_id,razorpay_signature:Be.razorpay_signature});if(ye.success){B(ye.credited);const ue=await wA.getSetuBalance();ue?.balance!==void 0&&n(ue.balance),g("confirmed")}}catch(ye){he.error(ye instanceof Error?ye.message:"Payment verification failed"),g("amount")}},modal:{ondismiss:()=>{g("amount")}},theme:{color:"#7c3aed"}});RA.on("payment.failed",()=>{he.error("Payment failed. Please try again."),g("amount")}),RA.open()}catch(FA){he.error(FA instanceof Error?FA.message:"Failed to create order"),g("amount")}finally{_(!1)}},PA=()=>{Q==="polar"?aA():KA()},dA=async()=>{if(J){j(!0);try{const FA=await wA.getPolarTopupStatus(J.checkoutId);if(FA?.confirmed){U(),B(FA.amountUsd),localStorage.removeItem("pendingPolarCheckout");const RA=await wA.getSetuBalance();RA?.balance!==void 0&&n(RA.balance),g("confirmed")}else he.error("Payment not confirmed yet. Keep waiting or try again.")}catch(FA){console.error("[SetuTopupModal] Check failed:",FA),he.error("Failed to check payment status")}finally{j(!1)}}},ZA=()=>{t()},ne=z>=c&&z<=os,Ee=a==="confirmed"?"Payment Confirmed":a==="checkout"?"Waiting for Payment":a==="razorpay-processing"?"Processing Payment":"Add Credits";return o.jsx(Oo,{isOpen:e,onClose:t,title:Ee,maxWidth:"md",children:o.jsxs("div",{className:"space-y-6",children:[a==="confirmed"&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"py-4",children:o.jsx(Mi,{status:"success",label:`+$${w?.toFixed(2)??J?.creditAmount.toFixed(2)}`,sublabel:"Credits added to your balance"})}),o.jsx("button",{type:"button",onClick:ZA,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors flex items-center justify-center gap-2",children:"Done"})]}),a==="razorpay-processing"&&o.jsx("div",{className:"py-8",children:o.jsx(Mi,{status:"loading",label:"Complete payment in the Razorpay window",sublabel:"Do not close this page"})}),a==="checkout"&&J&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"py-4",children:[o.jsx(Mi,{status:"loading",label:"Complete your payment",sublabel:"A checkout window has been opened"}),o.jsxs("div",{className:"flex items-center justify-center gap-2 mt-4 px-3 py-1.5 bg-muted/40 rounded-full w-fit mx-auto",children:[o.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-500 animate-pulse"}),o.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:b?`Checking... (${I})`:"Paused"})]})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsxs("button",{type:"button",onClick:dA,disabled:G,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:[G?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(Zt,{className:"w-4 h-4"}),G?"Checking...":"Check Now"]}),o.jsxs("button",{type:"button",onClick:()=>uA(J.url),className:"w-full h-11 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors flex items-center justify-center gap-2",children:[o.jsx(bt,{className:"w-4 h-4"}),"Open Checkout Again"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"Status checks automatically every 5 seconds. You can close this and it will keep checking."})]}),a==="amount"&&o.jsxs(o.Fragment,{children:[v&&o.jsx("div",{className:"text-xs text-muted-foreground bg-muted/30 border border-border rounded-lg px-3 py-2",children:"You are on GO. Top-ups add extra balance for additional usage."}),o.jsxs("div",{className:"flex items-center justify-between py-3 px-4 bg-muted/40 rounded-lg",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Current Balance"}),o.jsxs("span",{className:"text-lg font-mono font-semibold",children:["$",s?.toFixed(2)??"0.00"]})]}),o.jsxs("div",{className:"flex rounded-lg border border-border overflow-hidden",children:[o.jsxs("button",{type:"button",onClick:()=>l("polar"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${Q==="polar"?"bg-foreground text-background":"bg-transparent text-muted-foreground hover:text-foreground"}`,children:[o.jsx(xD,{className:"w-3.5 h-3.5"}),"Polar"]}),o.jsxs("button",{type:"button",onClick:()=>l("razorpay"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${Q==="razorpay"?"bg-foreground text-background":"bg-transparent text-muted-foreground hover:text-foreground"}`,children:[o.jsx(DD,{className:"w-3.5 h-3.5"}),"Razorpay"]})]}),o.jsxs("div",{className:"space-y-4",children:[o.jsx("div",{className:"grid grid-cols-4 gap-2",children:fD.map(FA=>o.jsxs("button",{type:"button",onClick:()=>X(FA),className:`h-12 text-base font-mono rounded-lg border-2 transition-all ${!p&&u===FA?"bg-foreground text-background border-foreground":"bg-transparent border-border text-foreground hover:border-foreground/40"}`,children:["$",FA]},FA))}),o.jsxs("div",{className:"relative",children:[o.jsx("span",{className:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground text-lg",children:"$"}),o.jsx("input",{type:"number",placeholder:"Custom",value:E,onChange:FA=>tA(FA.target.value),onFocus:()=>f(!0),min:c,max:os,step:"1",className:`w-full h-12 pl-8 pr-4 text-base font-mono bg-transparent border-2 rounded-lg outline-none transition-all ${p?"border-foreground":"border-border focus:border-foreground/40"}`})]})]}),o.jsx("div",{className:`grid transition-all duration-200 ease-out ${ne?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"}`,children:o.jsx("div",{className:"overflow-hidden",children:o.jsx("div",{className:"space-y-3 py-4 border-t border-border",children:L?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsx("div",{className:"h-6 w-16 bg-muted/60 rounded animate-pulse"})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsx("div",{className:"h-4 w-12 bg-muted/60 rounded animate-pulse"})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsx("div",{className:"h-7 w-20 bg-muted/60 rounded animate-pulse"})]})]}):Q==="polar"&&M?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsxs("span",{className:"font-mono text-lg",children:["$",M.creditAmount.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["+$",M.feeAmount.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsxs("span",{className:"font-mono text-xl font-semibold",children:["$",M.chargeAmount.toFixed(2)]})]})]}):Q==="razorpay"&&N?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsxs("span",{className:"font-mono text-lg",children:["$",N.creditAmountUsd.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["+₹",N.feeAmountInr.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsxs("span",{className:"font-mono text-xl font-semibold",children:["₹",N.chargeAmountInr.toFixed(2)]})]}),o.jsxs("p",{className:"text-[10px] text-muted-foreground text-right",children:["1 USD ≈ ",N.exchangeRate," INR"]})]}):null})})}),o.jsxs("button",{type:"button",onClick:PA,disabled:!ne||AA,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[AA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(Br,{className:"w-4 h-4"}),Q==="polar"?"Pay with Card":"Pay with Razorpay"]}),o.jsxs("div",{className:"relative pt-6",children:[o.jsxs("div",{className:"absolute inset-x-0 top-0 flex items-center",children:[o.jsx("div",{className:"flex-1 h-px bg-border"}),o.jsx("span",{className:"px-3 text-xs text-muted-foreground",children:"OR"}),o.jsx("div",{className:"flex-1 h-px bg-border"})]}),o.jsxs("div",{className:"flex items-start gap-3 p-4 bg-muted/30 rounded-lg",children:[o.jsx(ha,{className:"w-5 h-5 text-muted-foreground mt-0.5"}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("span",{className:"font-medium text-sm",children:"Pay with USDC"}),r!==null&&o.jsxs("span",{className:"text-xs font-mono text-muted-foreground",children:[r.toFixed(2)," USDC"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Send USDC to your Setu wallet to increase balance."})]})]})]})]})]})})}),yD=D.memo(function({sessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n}=Vi(e),{data:r=[]}=vn(),{preferences:i}=Ys();JE(e),uD(e);const a=D.useMemo(()=>r.find(Q=>Q.id===e),[r,e]),g=D.useMemo(()=>s.some(Q=>Q.role==="assistant"&&Q.status==="pending"),[s]);return n?o.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:"Loading messages..."}):o.jsxs(o.Fragment,{children:[o.jsx(ID,{messages:s,sessionId:e,session:a,isGenerating:g,compact:i.compactThread,onSelectSession:t}),o.jsx(Ag,{})]})}),jQ=1440*60*1e3;function ND(A){const e=Date.now()-A,t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;const s=Math.floor(t/60);if(s<24)return`${s}h ago`;const n=Math.floor(s/24);if(n<7)return`${n}d ago`;const r=Math.floor(n/7);if(r<5)return`${r}w ago`;const i=Math.floor(n/30);return i<12?`${i}mo ago`:`${Math.floor(n/365)}y ago`}function kD(A){const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),s=t-jQ,n=t-jQ*7;return A>=t?"Today":A>=s?"Yesterday":A>=n?"Earlier":"Older"}const MD=D.memo(function({session:e,isActive:t,onClick:s}){const n=e.title||`Session ${e.id.slice(0,8)}`,r=e.isRunning??!1,i=e.lastActiveAt??e.createdAt,a=ND(i);return o.jsx("button",{type:"button",onClick:s,className:`w-full text-left px-3 py-2.5 rounded-lg transition-colors duration-150 ${t?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground hover:bg-sidebar-accent/50"}`,title:`${n} — ${a}`,children:o.jsxs("span",{className:"block min-w-0",children:[o.jsx("span",{className:`block truncate text-[13px] leading-5 ${t?"font-medium":"font-normal"}`,children:n}),o.jsxs("span",{className:"mt-0.5 flex items-center justify-between gap-3 text-[11px] leading-4 text-sidebar-muted-foreground",children:[o.jsx("span",{className:"truncate",children:a}),o.jsxs("span",{className:"relative flex h-2 w-2 shrink-0",children:[r&&o.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),o.jsx("span",{className:`relative inline-flex h-2 w-2 rounded-full ${r?"bg-emerald-500":"bg-sidebar-muted-foreground/35"}`})]})]})]})})}),eg=ct(A=>({currentFocus:null,sessionIndex:0,gitFileIndex:0,setFocus:e=>A({currentFocus:e}),setSessionIndex:e=>A({sessionIndex:e}),setGitFileIndex:e=>A({gitFileIndex:e}),resetGitFileIndex:()=>A({gitFileIndex:0}),resetSessionIndex:()=>A({sessionIndex:0})})),bD=D.memo(function({activeSessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n,hasNextPage:r,fetchNextPage:i,isFetchingNextPage:a}=vn(),{currentFocus:g,sessionIndex:Q}=eg(),l=D.useRef(new Map),u=D.useRef(null),d=D.useRef(void 0),E=D.useCallback(S=>{d.current=S,t(S)},[t]),C=D.useMemo(()=>s.map((S,N)=>({id:S.id,index:N,title:S.title,agent:S.agent,createdAt:S.createdAt,lastActiveAt:S.lastActiveAt,activityAt:S.lastActiveAt??S.createdAt})),[s]),p=D.useMemo(()=>new Map(s.map(S=>[S.id,S])),[s]),f=D.useMemo(()=>{const S=new Map;for(const N of C){const T=kD(N.activityAt),L=S.get(T)??[];L.push(N),S.set(T,L)}return Array.from(S.entries()).map(([N,T])=>({label:N,sessions:T}))},[C]);if(D.useEffect(()=>{if(g==="sessions"){const S=C[Q];S&&l.current.get(S.id)?.scrollIntoView({block:"nearest",behavior:"smooth"})}},[g,Q,C]),D.useEffect(()=>{if(!e||d.current===e||s.length===0)return;const S=s.findIndex(N=>N.id===e);if(S===-1&&r){i();return}S!==-1&&(d.current=e,requestAnimationFrame(()=>{l.current.get(e)?.scrollIntoView({block:"nearest",behavior:"smooth"})}))},[e,s,r,i]),D.useEffect(()=>{const S=u.current;if(!S)return;const N=()=>{const{scrollTop:T,scrollHeight:L,clientHeight:Z}=S;L-T-Z<100&&r&&!a&&i()};return S.addEventListener("scroll",N,{passive:!0}),()=>S.removeEventListener("scroll",N)},[r,a,i]),n)return o.jsxs("div",{className:"flex flex-col gap-2 px-3 py-2",children:[o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"})]});if(C.length===0)return o.jsx("div",{className:"px-4 py-8 text-center text-sm text-sidebar-muted-foreground",children:"No sessions yet. Create one to get started."});const M=S=>{const N=p.get(S.id);if(!N)return null;const T=g==="sessions"&&Q===S.index;return o.jsx("div",{ref:L=>{L?l.current.set(S.id,L):l.current.delete(S.id)},className:T?"ring-1 ring-sidebar-ring/40 rounded-md":"",children:o.jsx(MD,{session:N,isActive:S.id===e,onClick:()=>E(S.id)})},S.id)};return o.jsxs("div",{ref:u,className:"flex flex-col h-full overflow-y-auto scrollbar-hide",children:[o.jsx("div",{className:"h-14 shrink-0","aria-hidden":"true"}),f.length>0&&o.jsx("div",{className:"px-3 pt-3 pb-1",children:o.jsx("div",{className:"space-y-3",children:f.map(S=>o.jsxs("div",{children:[o.jsx("h4",{className:"sticky top-14 z-10 px-3 py-2 mb-1 text-[11px] font-medium uppercase tracking-[0.18em] text-sidebar-muted-foreground/80 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/75",children:S.label}),o.jsx("div",{className:"flex flex-col gap-1",children:S.sessions.map(N=>M(N))})]},S.label))})}),a&&o.jsx("div",{className:"flex justify-center py-3",children:o.jsx(Le,{className:"h-4 w-4 animate-spin text-sidebar-muted-foreground"})})]})}),FD=new Set(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif"]);function GD(A){const e=A.split(".").pop()?.toLowerCase()??"";return FD.has(e)}const vD={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"plaintext",svelte:"svelte"};function SD(A){const e=A.split(".").pop()?.toLowerCase()??"";return e?vD[e]??"plaintext":"plaintext"}function UD(A){const e=A.split("/");return e[e.length-1]}function RD({diff:A}){const e=document?.documentElement.classList.contains("dark")?go:Qo,t=A.language&&A.language.trim().length>0?A.language:SD(A.file),s=UD(A.file);if(A.isNewFile&&A.content)return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsxs("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:[o.jsxs("span",{className:"text-green-600 dark:text-green-500",children:["+",A.insertions]}),o.jsx("span",{className:"text-muted-foreground",children:t})]})]}),o.jsx("div",{className:"px-4 py-3 bg-green-500/10 border-b border-green-500/20",children:o.jsxs("p",{className:"text-sm text-green-600 dark:text-green-400 font-medium",children:["New file: ",A.insertions," lines"]})}),o.jsx("div",{className:"flex-1 overflow-auto",children:o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{language:t,style:e,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent"},codeTagProps:{style:{flex:1}},children:A.content})})})]});if(A.isBinary){const l=GD(A.file)?`${Al()}/v1/files/raw?path=${encodeURIComponent(A.file)}`:null;return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsx("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:o.jsx("span",{className:"text-muted-foreground",children:"Binary file"})})]}),l?o.jsx("div",{className:"flex-1 flex items-center justify-center p-4 overflow-auto",children:o.jsx("img",{src:l,alt:s,className:"max-w-full max-h-[60vh] object-contain rounded border border-border"})}):o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx("div",{className:"p-4 text-center",children:o.jsx("p",{className:"text-sm text-muted-foreground",children:"Binary file - cannot display diff"})})})]})}const n=A.diff.split(`
|
|
116
|
+
`),r=[];let i=0,a=0;for(const Q of n)if(Q.startsWith("@@")){const l=Q.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);l&&(i=parseInt(l[1],10),a=parseInt(l[2],10)),r.push({oldLineNumber:null,newLineNumber:null,content:Q,codeContent:Q,type:"hunk"})}else Q.startsWith("diff")||Q.startsWith("index")||Q.startsWith("---")||Q.startsWith("+++")?r.push({oldLineNumber:null,newLineNumber:null,content:Q,codeContent:Q,type:"meta"}):Q.startsWith("+")?(r.push({oldLineNumber:null,newLineNumber:a,content:Q,codeContent:Q.slice(1),type:"add"}),a++):Q.startsWith("-")?(r.push({oldLineNumber:i,newLineNumber:null,content:Q,codeContent:Q.slice(1),type:"delete"}),i++):(r.push({oldLineNumber:i,newLineNumber:a,content:Q,codeContent:Q,type:"context"}),i++,a++);const g=(Q,l)=>{let u="flex hover:bg-muted/20",d="flex-shrink-0 w-20 px-2 py-0.5 text-xs font-mono select-none border-r border-border",E="flex-1 px-4 py-0.5 font-mono text-xs overflow-x-auto";Q.type==="hunk"?(u+=" bg-blue-500/10",d+=" text-blue-600 dark:text-blue-400",E+=" text-blue-600 dark:text-blue-400 font-semibold"):Q.type==="add"?(u+=" bg-green-500/10",d+=" text-green-700 dark:text-green-400",E+=" text-green-700 dark:text-green-400"):Q.type==="delete"?(u+=" bg-red-500/10",d+=" text-red-600 dark:text-red-400",E+=" text-red-600 dark:text-red-400"):Q.type==="meta"?(E+=" text-muted-foreground",d+=" text-muted-foreground"):(E+=" text-foreground/80",d+=" text-muted-foreground");const C=Q.oldLineNumber!==null?Q.oldLineNumber.toString():"",p=Q.newLineNumber!==null?Q.newLineNumber.toString():"";let f=Q.content||" ";return Q.type!=="meta"&&Q.type!=="hunk"&&t!=="plaintext"&&Q.codeContent.trim()&&(f=o.jsx(qt,{language:t,style:e,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:Q.codeContent}),Q.type==="add"?f=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),f]}):Q.type==="delete"&&(f=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),f]}))),o.jsxs("div",{className:u,children:[o.jsx("div",{className:d,"aria-hidden":"true",style:{pointerEvents:"none"},children:o.jsxs("div",{className:"flex justify-between gap-2",children:[o.jsx("span",{className:"text-right w-8",children:C}),o.jsx("span",{className:"text-right w-8",children:p})]})}),o.jsx("div",{className:E,children:f})]},l)};return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsxs("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:[A.insertions>0&&o.jsxs("span",{className:"text-green-600 dark:text-green-500",children:["+",A.insertions]}),A.deletions>0&&o.jsxs("span",{className:"text-red-600 dark:text-red-500",children:["-",A.deletions]}),o.jsx("span",{className:"text-muted-foreground",children:t})]})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:A.diff.trim()===""?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No changes to display"}):o.jsx("div",{className:"min-w-max",children:r.map(g)})})]})}function KD(A,e=2){const t=A.split("/");return t.length<=e+1?A:`../${t.slice(-e).join("/")}`}function qr({file:A,staged:e,showModifiedIndicator:t=!1}){const{openDiff:s}=Ue(),n=Un(),r=va(),i=Il(),a=ul(),g=ka(N=>N.openConfirmation),[Q,l]=D.useState(e),u=async N=>{N.stopPropagation();const T=N.target.checked;l(T);try{T?await n.mutateAsync([A.path]):await r.mutateAsync([A.path])}catch(L){l(!T),console.error("Failed to stage/unstage file:",L)}},d=async N=>{N.stopPropagation(),g({title:"Restore File",message:`Restore ${A.path} to HEAD state? This will discard all changes.`,confirmLabel:"Restore",variant:"destructive",onConfirm:async()=>{try{await i.mutateAsync([A.path])}catch(T){throw console.error("Failed to restore file:",T),T}}})},E=async N=>{N.stopPropagation(),g({title:"Delete File",message:`Delete ${A.path}? This will permanently remove the untracked file.`,confirmLabel:"Delete",variant:"destructive",onConfirm:async()=>{try{await a.mutateAsync([A.path])}catch(T){throw console.error("Failed to delete file:",T),T}}})},C=()=>{s(A.path,e)},f=(()=>{switch(A.status){case"added":case"untracked":return{icon:uB,color:"text-green-500",label:"A",labelColor:"text-green-500"};case"deleted":return{icon:Sc,color:"text-red-500",label:"D",labelColor:"text-red-500"};case"modified":return{icon:Zo,color:"text-blue-500",label:"M",labelColor:"text-blue-500"};case"renamed":return{icon:Zo,color:"text-purple-500",label:"R",labelColor:"text-purple-500"};case"conflicted":return{icon:IB,color:"text-red-500",label:"C",labelColor:"text-red-500"};default:return{icon:Zo,color:"text-muted-foreground",label:"?",labelColor:"text-muted-foreground"}}})(),M=f.icon,S=KD(A.path,2);return o.jsxs("button",{type:"button",className:"flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 cursor-pointer group transition-colors w-full text-left h-9",onClick:C,children:[o.jsx("input",{type:"checkbox",checked:Q,onChange:u,onClick:N=>N.stopPropagation(),className:"w-4 h-4 rounded border-border","aria-label":`${Q?"Unstage":"Stage"} ${A.path}`}),o.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[o.jsx(M,{className:`w-4 h-4 flex-shrink-0 ${f.color}`}),o.jsx("div",{className:"flex-1 min-w-0",children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"text-sm text-foreground font-mono truncate",title:`${A.path}
|
|
117
|
+
${A.absPath}`,children:S}),o.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[o.jsx("span",{className:`text-xs font-semibold ${f.labelColor}`,children:f.label}),t&&o.jsx("div",{title:"Also modified in working directory",children:o.jsx(uo,{className:"w-3.5 h-3.5 text-orange-500"})})]})]})})]}),A.insertions!==void 0||A.deletions!==void 0?o.jsxs("div",{className:"flex items-center gap-2 text-xs flex-shrink-0",children:[A.insertions!==void 0&&A.insertions>0&&o.jsxs("span",{className:"text-green-500",children:["+",A.insertions]}),A.deletions!==void 0&&A.deletions>0&&o.jsxs("span",{className:"text-red-500",children:["-",A.deletions]})]}):null,o.jsxs("div",{className:"w-7 flex items-center justify-center flex-shrink-0",children:[!e&&A.status==="untracked"&&o.jsx("button",{type:"button",onClick:E,className:"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:"Delete untracked file","aria-label":`Delete ${A.path}`,children:o.jsx(lr,{className:"w-4 h-4 text-destructive"})}),!e&&A.status!=="untracked"&&A.status!=="added"&&o.jsx("button",{type:"button",onClick:d,className:"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:"Restore file to HEAD (Shift+R)","aria-label":`Restore ${A.path}`,children:o.jsx(EB,{className:"w-4 h-4 text-destructive"})}),e&&!t&&o.jsx(Pt,{className:"w-4 h-4 text-green-500 opacity-0 group-hover:opacity-100 transition-opacity"})]})]})}function JD({status:A}){const{openCommitModal:e,openDiff:t}=Ue(),s=Un();va();const{currentFocus:n,gitFileIndex:r}=eg(),i=D.useRef(new Map),a=(A.conflicted?.length??0)>0,g=A.staged.length>0,Q=A.unstaged.length>0||A.untracked.length>0,l=[...A.unstaged,...A.untracked],u=l.length>0;D.useMemo(()=>[...A.conflicted??[],...A.staged,...A.unstaged,...A.untracked],[A]);const d=new Set(A.unstaged.map(p=>p.path)),E=()=>{const p=l.map(f=>f.path);p.length>0&&s.mutate(p)},C=A.conflicted?.length??0;return D.useEffect(()=>{if(n==="git"&&r>=0){i.current.get(r)?.scrollIntoView({block:"nearest",behavior:"smooth"});const M=[...A.conflicted??[],...A.staged,...A.unstaged,...A.untracked][r];if(M){const S=A.staged.includes(M);t(M.path,S)}}},[n,r,A.conflicted,A.staged,A.unstaged,A.untracked,t]),o.jsxs("div",{className:"flex flex-col",children:[a&&o.jsxs("div",{className:"border-b border-border",children:[o.jsx("div",{className:"px-3 py-2 bg-red-500/10 flex items-center justify-between",children:o.jsxs("span",{className:"text-xs font-semibold text-red-500 uppercase flex items-center gap-1.5",children:[o.jsx(IB,{className:"w-3.5 h-3.5"}),"Conflicts (",C,")"]})}),o.jsx("div",{className:"divide-y divide-border",children:A.conflicted?.map((p,f)=>{const M=f,S=n==="git"&&r===M;return o.jsx("div",{ref:N=>{N?i.current.set(M,N):i.current.delete(M)},className:S?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(qr,{file:p,staged:!1})},p.path)})})]}),g&&o.jsxs("div",{className:"border-b border-border",children:[o.jsxs("div",{className:"px-3 py-2 bg-muted/50 flex items-center justify-between",children:[o.jsxs("span",{className:"text-xs font-semibold text-foreground uppercase",children:["Staged Changes (",A.staged.length,")"]}),o.jsxs("div",{className:"flex items-center gap-1",children:[A.staged.length>0&&!a&&o.jsxs(Qe,{variant:"primary",size:"sm",onClick:e,className:"h-6 text-xs",children:[o.jsx(on,{className:"w-3 h-3 mr-1"}),"Commit"]}),A.staged.length>0&&a&&o.jsx("span",{className:"text-xs text-muted-foreground",children:"Resolve conflicts first"})]})]}),o.jsx("div",{className:"divide-y divide-border",children:A.staged.map((p,f)=>{const M=C+f,S=n==="git"&&r===M;return o.jsx("div",{ref:N=>{N?i.current.set(M,N):i.current.delete(M)},className:S?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(qr,{file:p,staged:!0,showModifiedIndicator:d.has(p.path)})},p.path)})})]}),Q&&o.jsxs("div",{children:[o.jsxs("div",{className:"px-3 py-2 bg-muted/50 flex items-center justify-between",children:[o.jsxs("span",{className:"text-xs font-semibold text-foreground uppercase",children:["Changes (",A.unstaged.length+A.untracked.length,")"]}),u&&o.jsxs(Qe,{variant:"ghost",size:"sm",onClick:E,title:"Stage all changes",className:"h-6 text-xs",children:[o.jsx(Uc,{className:"w-3 h-3 mr-1"}),"Stage All"]})]}),o.jsxs("div",{className:"divide-y divide-border",children:[A.unstaged.map((p,f)=>{const M=C+A.staged.length+f,S=n==="git"&&r===M;return o.jsx("div",{ref:N=>{N?i.current.set(M,N):i.current.delete(M)},className:S?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(qr,{file:p,staged:!1})},p.path)}),A.untracked.map((p,f)=>{const M=C+A.staged.length+A.unstaged.length+f,S=n==="git"&&r===M;return o.jsx("div",{ref:N=>{N?i.current.set(M,N):i.current.delete(M)},className:S?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(qr,{file:p,staged:!1})},p.path)})]})]}),!a&&!g&&!Q&&o.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:"No changes"})]})}const TQ="git",OQ=320,LD=320,jD=600,TD=D.memo(function({onFixWithAI:e}){const t=Ue(aA=>aA.isExpanded),s=Ue(aA=>aA.collapseSidebar),n=_o(aA=>aA.widths[TQ]??OQ),{data:r,isLoading:i,error:a,refetch:g}=Sn(),{data:Q}=W0(),l=be(),u=Y0(),d=H0(),E=P0(),C=z0(),p=V0(),[f,M]=D.useState([]),[S,N]=D.useState(!1),[T,L]=D.useState(!1),[Z,AA]=D.useState("origin"),[_,J]=D.useState(""),[P,b]=D.useState(null);D.useEffect(()=>{t&&l.invalidateQueries({queryKey:["git","status"]})},[t,l]);const K=()=>{g()},w=D.useCallback((aA,KA)=>{const PA=`${Date.now()}-${Math.random().toString(36).slice(2,7)}`;M(dA=>[...dA,{id:PA,message:aA,context:KA}])},[]),B=D.useCallback(aA=>{M(KA=>KA.filter(PA=>PA.id!==aA))},[]),I=async()=>{try{await u.mutateAsync()}catch(aA){w(aA instanceof Error?aA.message:"Failed to push","git push")}},y=async()=>{try{await d.mutateAsync()}catch(aA){w(aA instanceof Error?aA.message:"Failed to pull","git pull")}},G=async()=>{if(!(!Z.trim()||!_.trim()))try{await C.mutateAsync({name:Z.trim(),url:_.trim()}),AA("origin"),J(""),L(!1)}catch(aA){w(aA instanceof Error?aA.message:"Failed to add remote","git remote add")}},j=async aA=>{if(P!==aA){b(aA);return}b(null);try{await p.mutateAsync(aA)}catch(KA){w(KA instanceof Error?KA.message:"Failed to remove remote","git remote remove")}},O=D.useCallback(aA=>{const KA=aA.context?`I got a git error during ${aA.context}:
|
|
118
|
+
|
|
119
|
+
${aA.message}
|
|
120
|
+
|
|
121
|
+
Please help me fix this.`:`I got a git error:
|
|
122
|
+
|
|
123
|
+
${aA.message}
|
|
124
|
+
|
|
125
|
+
Please help me fix this.`;B(aA.id),e?.(KA)},[e,B]);if(!t)return null;const v=[...r?.conflicted||[],...r?.staged||[],...r?.unstaged||[],...r?.untracked||[]].length,c=r?.remotes&&r.remotes.length>0,h=r?.hasUpstream??!1,U=r&&c&&(r.ahead>0||!h),R=r&&r.behind>0,X=u.isPending||d.isPending,tA=a instanceof Error&&a.message.toLowerCase().includes("not a git repository"),uA=c?h?U?`Push ${r?.ahead} commit(s) to remote`:"Nothing to push":"Publish branch to remote":"No remote configured";return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:n},children:[o.jsx(qs,{panelKey:TQ,side:"right",minWidth:LD,maxWidth:jD,defaultWidth:OQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0 w-full",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[o.jsx(so,{className:"w-4 h-4 text-muted-foreground"}),o.jsxs("span",{className:"font-medium text-foreground",children:["Git Changes",v>0&&o.jsxs("span",{className:"ml-2 text-xs text-muted-foreground",children:["(",v,")"]})]})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:s,title:"Close sidebar",children:o.jsx(rt,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:i?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading git status..."}):tA?o.jsxs("div",{className:"p-4 flex flex-col items-center justify-center gap-3 text-center",children:[o.jsx(Rc,{className:"w-10 h-10 text-muted-foreground"}),o.jsx("div",{className:"text-sm text-muted-foreground",children:"No git repository found in this directory."}),o.jsxs(Qe,{variant:"secondary",size:"sm",onClick:()=>E.mutate(),disabled:E.isPending,className:"gap-1.5",children:[o.jsx(so,{className:`w-3.5 h-3.5 ${E.isPending?"animate-spin":""}`}),E.isPending?"Initializing...":"Initialize Repository"]}),E.isError&&o.jsx("span",{className:"text-xs text-orange-500",children:E.error instanceof Error?E.error.message:"Failed to initialize"})]}):a?o.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx("span",{className:"text-orange-500",children:a instanceof Error?a.message:"Failed to load git status"}),o.jsx(Qe,{variant:"secondary",size:"sm",onClick:K,children:"Retry"})]})}):!r||v===0?o.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:"No changes detected"}):o.jsx(JD,{status:r})}),r&&!tA&&!a&&o.jsxs("div",{className:"border-t border-border",children:[o.jsxs("button",{type:"button",onClick:()=>N(!S),className:"w-full px-3 py-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",children:[S?o.jsx(Ht,{className:"w-3 h-3"}):o.jsx(rt,{className:"w-3 h-3"}),o.jsx(jo,{className:"w-3 h-3"}),o.jsx("span",{children:"Remotes"}),r.remotes&&o.jsx("span",{className:"ml-auto text-[10px] opacity-60",children:r.remotes.length})]}),S&&o.jsxs("div",{className:"px-3 pb-2 space-y-1",children:[Q&&Q.length>0?Q.filter(aA=>aA.type==="fetch").map(aA=>o.jsxs("div",{className:"flex items-center gap-2 text-xs group",children:[o.jsx("span",{className:"font-medium text-foreground",children:aA.name}),o.jsx("span",{className:"truncate text-muted-foreground flex-1 min-w-0",children:aA.url}),o.jsx("button",{type:"button",onClick:()=>{P===aA.name?j(aA.name):b(aA.name)},onBlur:()=>b(null),disabled:p.isPending,className:`${P===aA.name?"opacity-100 text-red-500":"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500"} transition-all p-0.5`,title:P===aA.name?`Click again to confirm removing ${aA.name}`:`Remove ${aA.name}`,children:P===aA.name?o.jsx("span",{className:"text-[10px] font-medium",children:"Remove?"}):o.jsx(lr,{className:"w-3 h-3"})})]},aA.name)):o.jsx("div",{className:"text-xs text-muted-foreground py-1",children:"No remotes configured"}),T?o.jsxs("div",{className:"space-y-1.5 pt-1",children:[o.jsx("input",{type:"text",value:Z,onChange:aA=>AA(aA.target.value),placeholder:"Name (e.g. origin)",className:"w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("input",{type:"text",value:_,onChange:aA=>J(aA.target.value),placeholder:"URL (e.g. https://github.com/...)",className:"w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary",onKeyDown:aA=>{aA.key==="Enter"&&G(),aA.key==="Escape"&&L(!1)}}),o.jsxs("div",{className:"flex gap-1",children:[o.jsx(Qe,{variant:"secondary",size:"sm",onClick:G,disabled:C.isPending||!Z.trim()||!_.trim(),className:"flex-1 h-6 text-[10px]",children:C.isPending?"Adding...":"Add"}),o.jsx(Qe,{variant:"ghost",size:"sm",onClick:()=>L(!1),className:"h-6 text-[10px]",children:"Cancel"})]})]}):o.jsxs("button",{type:"button",onClick:()=>L(!0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors pt-1",children:[o.jsx(co,{className:"w-3 h-3"}),o.jsx("span",{children:"Add remote"})]})]})]}),f.length>0&&o.jsx("div",{className:"border-t border-border",children:f.map(aA=>o.jsxs("div",{className:"px-3 py-2 text-xs border-b border-border last:border-b-0 bg-orange-50 dark:bg-orange-950/20 flex items-start gap-2",children:[o.jsx("span",{className:"text-orange-500 flex-1 min-w-0 break-words",children:aA.message}),o.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[e&&o.jsxs("button",{type:"button",onClick:()=>O(aA),className:"flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-primary/10 text-primary hover:bg-primary/20 transition-colors",title:"Fix with AI",children:[o.jsx(No,{className:"w-3 h-3"}),"Fix"]}),o.jsx("button",{type:"button",onClick:()=>B(aA.id),className:"text-muted-foreground hover:text-foreground transition-colors p-0.5",title:"Dismiss",children:o.jsx(st,{className:"w-3 h-3"})})]})]},aA.id))}),o.jsxs("div",{className:"h-12 border-t border-border flex items-center gap-1 px-2",children:[o.jsxs(Qe,{variant:"secondary",size:"sm",onClick:y,disabled:X||!c||!h,title:c?h?R?`Pull ${r?.behind} commit(s) from remote`:"Pull from remote":"Branch not published yet":"No remote configured",className:"flex-1 h-8 text-xs gap-1.5",children:[o.jsx(Kc,{className:`w-3.5 h-3.5 ${d.isPending?"animate-pulse":""}`}),"Pull",R&&o.jsxs("span",{className:"text-orange-500",children:["↓",r?.behind]})]}),o.jsxs(Qe,{variant:"secondary",size:"sm",onClick:I,disabled:!U||X,title:uA,className:"flex-1 h-8 text-xs gap-1.5",children:[o.jsx(Jc,{className:`w-3.5 h-3.5 ${u.isPending?"animate-pulse":""}`}),!h&&c?"Publish":"Push",h&&r&&r.ahead>0&&o.jsxs("span",{className:"text-green-500",children:["↑",r.ahead]})]})]}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(so,{className:"w-3 h-3 flex-shrink-0"}),r?.branch&&o.jsx("span",{className:"truncate",children:r.branch}),r&&!h&&c&&o.jsx("span",{className:"text-[10px] text-orange-500 flex-shrink-0",children:"unpublished"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:K,title:"Refresh git status",className:"h-6 w-6 flex-shrink-0",disabled:i,children:o.jsx(Zt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})]})]})]})}),OD=D.memo(function(){const e=Ue(r=>r.isExpanded),t=Ue(r=>r.toggleSidebar),{data:s}=Sn(),n=(s?.staged?.length??0)+(s?.unstaged?.length??0)+(s?.untracked?.length??0);return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Git",children:[o.jsx(so,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:n>9?"9+":n})]})}),ds=ct()(el(A=>({isCollapsed:!1,toggleCollapse:()=>A(e=>({isCollapsed:!e.isCollapsed})),setCollapsed:e=>A({isCollapsed:e})}),{name:"sidebar-storage"}));function LE(A,e=!0){return nt({queryKey:["files","tree",A],queryFn:()=>wA.getFileTree(A),enabled:e,staleTime:1e4,retry:1})}function qD(A){return nt({queryKey:["files","read",A],queryFn:()=>A?wA.readFileContent(A):null,enabled:!!A,staleTime:5e3,retry:1})}function YD(A,e=!1,t=!1){return nt({queryKey:["git","diff","fullFile",A,e],queryFn:()=>A?wA.getGitDiffFullFile(A,e):null,enabled:t&&!!A,retry:1,refetchInterval:!1})}const HD=D.memo(function(){const e=Ue(f=>f.isDiffOpen),t=Ue(f=>f.selectedFile),s=Ue(f=>f.selectedFileStaged),n=Ue(f=>f.closeDiff),r=ds(f=>f.setCollapsed),i=D.useRef(null),a=D.useRef(!1),{data:g,isLoading:Q}=T0(t,s),[l,u]=D.useState(!1),{data:d,isLoading:E}=YD(t,s,l),C=l&&d?d:g,p=l?E:Q;return D.useEffect(()=>{if(e||u(!1),e&&!a.current){const{isCollapsed:f}=ds.getState();i.current=f,r(!0)}else!e&&a.current&&i.current!==null&&(r(i.current),i.current=null);a.current=e},[e,r]),D.useEffect(()=>{const f=M=>{const S=M.target,N=S.tagName==="INPUT"||S.tagName==="TEXTAREA"||S.isContentEditable;(M.key==="Escape"||M.key==="q"&&!N)&&e&&n(),M.key==="f"&&!N&&e&&u(T=>!T)};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[e,n,u]),!e||!t?null:o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:n,title:"Close diff viewer (ESC)",children:o.jsx(st,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:`${t}
|
|
126
|
+
${C?.absPath||""}`,children:t}),s&&o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0",children:"Staged"})]}),o.jsxs(Qe,{variant:l?"secondary":"ghost",size:"sm",onClick:()=>u(f=>!f),title:l?"Show diff only (f)":"Show full file with diff (f)",className:"flex items-center gap-1.5 text-xs h-7",children:[l?o.jsx(Ea,{className:"w-3.5 h-3.5"}):o.jsx(oB,{className:"w-3.5 h-3.5"}),l?"Diff":"Full File"]})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:p?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading diff..."}):C?o.jsx(RD,{diff:C}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff available"})})]})});function PD(){const{isCommitModalOpen:A,closeCommitModal:e}=Ue(),t=Ue(u=>u.commitSessionId),s=q0(),n=O0(t),[r,i]=D.useState(""),a=D.useId(),g=D.useCallback(async()=>{if(r.trim())try{await s.mutateAsync(r),i(""),e()}catch(u){console.error("Failed to commit:",u)}},[r,s,e]),Q=()=>{i(""),e()},l=D.useCallback(async()=>{try{const u=await n.mutateAsync();i(u.message)}catch(u){console.error("Failed to generate commit message:",u)}},[n]);return D.useEffect(()=>{if(!A)return;const u=d=>{(d.metaKey||d.ctrlKey)&&d.key==="Enter"&&(d.preventDefault(),d.stopPropagation(),r.trim()&&!s.isPending&&g()),(d.metaKey||d.ctrlKey)&&d.key==="g"&&(d.preventDefault(),d.stopPropagation(),l())};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[A,r,s.isPending,g,l]),o.jsx(Oo,{isOpen:A,onClose:Q,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(on,{className:"w-5 h-5"}),o.jsx("span",{children:"Commit Changes"})]}),maxWidth:"2xl",children:o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:a,className:"text-sm font-medium text-foreground",children:"Commit Message"}),o.jsx(Fn,{id:a,value:r,onChange:u=>i(u.target.value),placeholder:"Enter commit message...",rows:6,className:"w-full resize-none",autoFocus:!0,disabled:n.isPending})]}),o.jsx(Qe,{variant:"secondary",onClick:l,className:"w-full",disabled:n.isPending,children:n.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-4 h-4 mr-2 animate-spin"}),"Generating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(No,{className:"w-4 h-4 mr-2"}),"Generate commit message"," ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(⌘G)"})]})}),n.isError&&o.jsx("div",{className:"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:n.error?.message||"Failed to generate commit message"}),o.jsxs("div",{className:"flex items-center justify-end gap-2 pt-4 border-t border-border",children:[o.jsxs(Qe,{variant:"ghost",onClick:Q,children:["Cancel ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(Esc)"})]}),o.jsx(Qe,{variant:"primary",onClick:g,disabled:!r.trim()||s.isPending,children:s.isPending?o.jsx("span",{children:"Committing..."}):o.jsxs(o.Fragment,{children:[o.jsx(on,{className:"w-4 h-4 mr-2"}),"Commit ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(⌘↵)"})]})})]}),s.isError&&o.jsx("div",{className:"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:s.error?.message||"Failed to commit changes"})]})})}function jE(A,e=!0){const t=Xe(s=>s.isExpanded);return nt({queryKey:["session",A,"files"],queryFn:()=>A?wA.getSessionFiles(A):null,enabled:!!A&&e,refetchInterval:t&&e?5e3:!1,retry:1,staleTime:3e3})}const qQ="session-files",YQ=320,WD=320,zD=600;function VD(A){switch(A){case"write":return o.jsx(uB,{className:"w-3 h-3 text-green-500"});case"patch":return o.jsx(Cs,{className:"w-3 h-3 text-blue-500"});default:return o.jsx(Cs,{className:"w-3 h-3 text-muted-foreground"})}}function ZD(A){return A.split("/").pop()||A}function _D(A){if(A.artifact?.summary)return{additions:A.artifact.summary.additions,deletions:A.artifact.summary.deletions};const e=A.artifact?.patch||A.patch;if(e){let t=0,s=0;const n=e.split(`
|
|
127
|
+
`);for(const r of n)r.startsWith("+")&&!r.startsWith("+++")?t++:r.startsWith("-")&&!r.startsWith("---")&&s++;return{additions:t,deletions:s}}return A.content?{additions:A.content.split(`
|
|
128
|
+
`).length,deletions:0}:{additions:0,deletions:0}}function XD({file:A}){const e=Xe(g=>g.openDiff),s=Xe(g=>g.selectedFile)===A.path,n=A.operations[A.operations.length-1],{totalAdditions:r,totalDeletions:i}=D.useMemo(()=>{let g=0,Q=0;for(const l of A.operations){const u=_D(l);g+=u.additions,Q+=u.deletions}return{totalAdditions:g,totalDeletions:Q}},[A.operations]),a=()=>{A.operations.length>0&&e(A.path,A.operations)};return o.jsx("button",{type:"button",onClick:a,className:`w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors ${s?"bg-muted":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[VD(n?.operation||"write"),o.jsx("div",{className:"flex-1 min-w-0",children:o.jsx("div",{className:"text-sm font-medium truncate",children:ZD(A.path)})}),o.jsxs("div",{className:"flex items-center gap-1 text-xs shrink-0",children:[A.operationCount>1&&o.jsxs("span",{className:"bg-muted text-muted-foreground px-1 rounded mr-1",children:[A.operationCount,"x"]}),o.jsxs("span",{className:"text-green-500",children:["+",r]}),o.jsxs("span",{className:"text-red-500",children:["-",i]})]})]})})}const $D=D.memo(function({sessionId:e}){const t=Xe(Q=>Q.isExpanded),s=Xe(Q=>Q.collapseSidebar),n=_o(Q=>Q.widths[qQ]??YQ),{data:r,isLoading:i,error:a,refetch:g}=jE(e,t);return t?o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:n},children:[o.jsx(qs,{panelKey:qQ,side:"right",minWidth:WD,maxWidth:zD,defaultWidth:YQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Cs,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium",children:"Session Files"}),r&&r.totalFiles>0&&o.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",r.totalFiles,")"]})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:s,children:o.jsx(rt,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:i?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading session files..."}):a?o.jsx("div",{className:"p-4 text-sm text-orange-500",children:a instanceof Error?a.message:"Failed to load files"}):!r||r.totalFiles===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No files modified in this session"}):o.jsx("div",{className:"divide-y divide-border",children:r.files.map(Q=>o.jsx(XD,{file:Q},Q.path))})}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(Cs,{className:"w-3 h-3 flex-shrink-0"}),r&&r.totalOperations>0?o.jsxs("span",{className:"truncate",children:[r.totalFiles," file",r.totalFiles!==1?"s":""," •"," ",r.totalOperations," op",r.totalOperations!==1?"s":""]}):o.jsx("span",{className:"truncate",children:"No changes"})]}),o.jsx("div",{className:"flex items-center gap-1 flex-shrink-0",children:o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>g(),title:"Refresh session files",className:"h-6 w-6 transition-transform duration-200 hover:scale-110",disabled:i,children:o.jsx(Zt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})})]})]})]}):null}),A2=D.memo(function({sessionId:e}){const t=Xe(i=>i.isExpanded),s=Xe(i=>i.toggleSidebar),{data:n}=jE(e,t),r=n?.totalFiles??0;return o.jsxs("button",{type:"button",onClick:s,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${t?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Session Files",children:[o.jsx(Cs,{className:"w-5 h-5 text-muted-foreground mx-auto"}),r>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:r>9?"9+":r})]})});function e2(A){const e=A.split(`
|
|
129
|
+
`),t=[];let s=0,n=0;const r=[];for(const i of e){if(i.startsWith("*** Begin Patch")||i.startsWith("*** End Patch")||i.startsWith("*** Update File:")||i.startsWith("*** Add File:")||i.startsWith("*** Delete File:")){r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r),r.length=0,s=0,n=0),t.push(i);continue}if(i.match(/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/)){r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r),r.length=0,s=0,n=0),t.push(i);continue}if(i.startsWith("@@")){t.push(i);continue}i.startsWith("+")?(s++,r.push(i)):i.startsWith("-")?(n++,r.push(i)):i.startsWith(" ")||i.startsWith(" ")?(s++,n++,r.push(i.startsWith(" ")?` ${i}`:i)):i.trim()===""?(r.push(" "),s++,n++):(s++,n++,r.push(` ${i}`))}return r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r)),t.join(`
|
|
130
|
+
`)}function t2(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function o2(A){const e=A.split(`
|
|
131
|
+
`),t=[];let s=0,n=0,r=!1,i="";for(const a of e){if(a.startsWith("+++")||a.startsWith("*** Update File:")){const Q=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);Q&&(i=Q[1])}if(a.startsWith("*** Add File:")){const Q=a.match(/\*\*\* Add File: (.+)/);Q&&(i=Q[1])}const g=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(g){s=Number.parseInt(g[1],10),n=Number.parseInt(g[2],10),r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("***")||a.startsWith("diff ")||a.startsWith("index ")||a.startsWith("---")||a.startsWith("+++")||a.startsWith("@@")&&!r){t.push({content:a,codeContent:a,type:"meta"});continue}r?a.startsWith("+")?t.push({content:a,codeContent:a.slice(1),type:"add",newLineNum:n++}):a.startsWith("-")?t.push({content:a,codeContent:a.slice(1),type:"remove",oldLineNum:s++}):a.startsWith(" ")||a===""?t.push({content:a,codeContent:a.startsWith(" ")?a.slice(1):a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"meta"})}return{lines:t,filePath:i}}function s2({patch:A}){const{lines:e,filePath:t}=o2(A),s=t2(t),n=document?.documentElement.classList.contains("dark")?go:Qo;return o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden h-full",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto h-full text-xs font-mono",children:e.map((r,i)=>{const a=`line-${i}-${r.content.slice(0,20)}`;if(r.type==="meta"||r.type==="header")return o.jsx("div",{className:`px-3 py-0.5 whitespace-pre-wrap break-all ${r.type==="header"?"text-muted-foreground/80 bg-muted/20":"text-muted-foreground/80"}`,children:r.content},a);let g="",Q="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",Q="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",Q="bg-red-500/10";break;default:g="text-foreground/80"}let l=r.content;return r.codeContent.trim()&&s!=="text"&&(l=o.jsx(qt,{language:s,style:n,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:r.codeContent}),r.type==="add"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),l]}):r.type==="remove"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),l]}):r.type==="context"&&(l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),l]}))),o.jsxs("div",{className:`flex ${Q}`,children:[o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0","aria-hidden":"true",style:{pointerEvents:"none"},children:r.oldLineNum||""}),o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50","aria-hidden":"true",style:{pointerEvents:"none"},children:r.newLineNum||""}),o.jsx("div",{className:`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${g}`,children:l})]},a)})})})}function r2(A){return new Date(A).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}const n2=D.memo(function(){const e=Xe(E=>E.isDiffOpen),t=Xe(E=>E.selectedFile),s=Xe(E=>E.allOperations),n=Xe(E=>E.selectedOperationIndex),r=Xe(E=>E.selectOperation),i=Xe(E=>E.closeDiff),a=ds(E=>E.setCollapsed),g=D.useRef(null),Q=D.useRef(!1),l=s[n],u=D.useMemo(()=>{if(!l||!t)return null;let E=null;if(l.artifact?.patch)E=l.artifact.patch;else if(l.patch)E=l.patch;else if(l.content){const p=l.content.split(`
|
|
132
|
+
`);E=`*** Add File: ${t}
|
|
133
|
+
${p.map(f=>`+${f}`).join(`
|
|
134
|
+
`)}`}return E?/@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/.test(E)?E:e2(E):null},[l,t]);if(D.useEffect(()=>{if(e&&!Q.current){const{isCollapsed:E}=ds.getState();g.current=E,a(!0)}else!e&&Q.current&&g.current!==null&&(a(g.current),g.current=null);Q.current=e},[e,a]),D.useEffect(()=>{const E=C=>{const p=C.target,f=p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.isContentEditable;(C.key==="Escape"||C.key==="q"&&!f)&&e&&i(),!f&&e&&s.length>1&&(C.key==="ArrowLeft"||C.key==="["?(C.preventDefault(),r(Math.max(0,n-1))):(C.key==="ArrowRight"||C.key==="]")&&(C.preventDefault(),r(Math.min(s.length-1,n+1))))};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[e,i,s.length,n,r]),!e||!t||!l)return null;const d=s.length>1;return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3 shrink-0",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:i,title:"Close diff viewer (ESC)",children:o.jsx(st,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:t,children:t}),o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0 capitalize",children:l.operation}),l.artifact?.summary&&o.jsxs("div",{className:"flex items-center gap-1 text-xs flex-shrink-0",children:[o.jsxs("span",{className:"text-green-500",children:["+",l.artifact.summary.additions]}),o.jsxs("span",{className:"text-red-500",children:["-",l.artifact.summary.deletions]})]})]}),d&&o.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>r(Math.max(0,n-1)),disabled:n===0,title:"Previous operation (←)",children:o.jsx(Lc,{className:"w-4 h-4"})}),o.jsxs("span",{className:"text-xs text-muted-foreground min-w-[60px] text-center",children:[n+1," / ",s.length]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>r(Math.min(s.length-1,n+1)),disabled:n===s.length-1,title:"Next operation (→)",children:o.jsx(rt,{className:"w-4 h-4"})})]})]}),d&&o.jsx("div",{className:"border-b border-border px-4 py-2 flex gap-2 overflow-x-auto shrink-0",children:s.map((E,C)=>o.jsxs("button",{type:"button",onClick:()=>r(C),className:`px-3 py-1.5 text-xs rounded-md flex items-center gap-2 shrink-0 transition-colors ${C===n?"bg-primary text-primary-foreground":"bg-muted hover:bg-muted/80 text-muted-foreground"}`,children:[o.jsx("span",{className:"capitalize",children:E.operation}),o.jsx("span",{className:"opacity-70",children:r2(E.timestamp)}),E.artifact?.summary&&o.jsxs("span",{className:"opacity-70",children:["+",E.artifact.summary.additions,"/-",E.artifact.summary.deletions]})]},E.toolCallId))}),o.jsx("div",{className:"flex-1 overflow-hidden p-4",children:u?o.jsx(s2,{patch:u}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff content available"})})]})}),i2={};class a2{get baseUrl(){const e=window;if(e.OTTO_SERVER_URL)return e.OTTO_SERVER_URL;if(!i2?.VITE_API_BASE_URL)return Xo}async listResearchSessions(e){const t=await fetch(`${this.baseUrl}/v1/sessions/${e}/research`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!t.ok){const s=await t.json().catch(()=>({error:"Failed to fetch research sessions"}));throw new Error(s.error||"Failed to fetch research sessions")}return t.json()}async createResearchSession(e,t){const s=await fetch(`${this.baseUrl}/v1/sessions/${e}/research`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok){const n=await s.json().catch(()=>({error:"Failed to create research session"}));throw new Error(n.error||"Failed to create research session")}return s.json()}async deleteResearchSession(e){const t=await fetch(`${this.baseUrl}/v1/research/${e}`,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!t.ok){const s=await t.json().catch(()=>({error:"Failed to delete research session"}));throw new Error(s.error||"Failed to delete research session")}return t.json()}async injectContext(e,t,s){const n=await fetch(`${this.baseUrl}/v1/sessions/${e}/inject`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({researchSessionId:t,label:s})});if(!n.ok){const r=await n.json().catch(()=>({error:"Failed to inject context"}));throw new Error(r.error||"Failed to inject context")}return n.json()}async exportToNewSession(e,t){const s=await fetch(`${this.baseUrl}/v1/research/${e}/export`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!s.ok){const n=await s.json().catch(()=>({error:"Failed to export to session"}));throw new Error(n.error||"Failed to export to session")}return s.json()}}const Hn=new a2;function TE(A,e=!0){return nt({queryKey:["research","sessions",A],queryFn:()=>Hn.listResearchSessions(A),enabled:!!A&&e,staleTime:3e4})}function g2(){const A=be();return Ye({mutationFn:({parentSessionId:e,data:t})=>Hn.createResearchSession(e,t??{}),onSuccess:(e,{parentSessionId:t})=>{A.invalidateQueries({queryKey:["research","sessions",t]})}})}function Q2(){const A=_r(e=>e.addContext);return Ye({mutationFn:({parentSessionId:e,researchSessionId:t,label:s})=>Hn.injectContext(e,t,s),onSuccess:(e,{parentSessionId:t})=>{A(t,{id:e.sessionId,sessionId:e.sessionId,label:e.label,content:e.content})}})}function B2(){const A=be();return Ye({mutationFn:({researchId:e,data:t})=>Hn.exportToNewSession(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:ko})}})}const HQ="research",PQ=384,l2=384,E2=640,c2=D.memo(function({parentSessionId:e,onNavigateToSession:t}){const s=It(dA=>dA.isExpanded),n=It(dA=>dA.collapseSidebar),r=_o(dA=>dA.widths[HQ]??PQ),i=It(dA=>dA.activeResearchSessionId),a=It(dA=>dA.selectResearchSession),[g,Q]=D.useState(!1),[l,u]=D.useState(""),[d,E]=D.useState(!1),[C,p]=D.useState("idle"),f=D.useRef(null),M=D.useRef(null),{data:S,isLoading:N,refetch:T}=TE(e,s),L=g2(),Z=Q2(),AA=B2(),{data:_}=fr(),{data:J}=Vi(i??void 0,{enabled:s}),{data:P}=Vi(e??void 0,{enabled:s});JE(i??void 0,s);const b=Ga(i??""),K=be(),w=Ye({mutationFn:async({sessionId:dA,content:ZA})=>wA.sendMessage(dA,{content:ZA}),onSuccess:(dA,{sessionId:ZA})=>{K.invalidateQueries({queryKey:["messages",ZA]})}});D.useEffect(()=>{e&&It.getState().setParentSessionId(e)},[e]),D.useEffect(()=>{S?.sessions?.length?S.sessions.some(ZA=>ZA.id===i)||a(S.sessions[0].id):S?.sessions?.length===0&&a(null)},[S,i,a]),D.useEffect(()=>{M.current?.scrollIntoView({behavior:"smooth"})},[]);const B=D.useCallback(()=>{const dA=f.current;dA&&(dA.style.height="auto",dA.style.height=`${Math.min(dA.scrollHeight,120)}px`)},[]);D.useEffect(()=>{B()},[B]);const I=D.useCallback(async()=>{if(e)try{const dA=await L.mutateAsync({parentSessionId:e,data:{}});await T(),a(dA.session.id),Q(!1)}catch(dA){console.error("Failed to create research session:",dA)}},[e,L,a,T]),y=D.useCallback(dA=>{a(dA.id),Q(!1)},[a]),G=D.useCallback(async()=>{if(!e||!i)return;if(P?.some(FA=>FA.role==="system"&&FA.parts?.some(RA=>typeof RA.content=="string"&&RA.content.includes(`from="${i}"`)))){p("error"),setTimeout(()=>p("idle"),3e3);return}const Ee=`Research ${new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}`;try{await Z.mutateAsync({parentSessionId:e,researchSessionId:i,label:Ee}),p("success"),setTimeout(()=>p("idle"),5e3),K.invalidateQueries({queryKey:["messages",e]})}catch(FA){console.error("Failed to inject context:",FA),p("error"),setTimeout(()=>p("idle"),3e3)}},[e,i,Z,P,K]),j=D.useCallback(async()=>{if(i)try{const dA=await AA.mutateAsync({researchId:i});t&&dA.newSession?.id&&t(dA.newSession.id)}catch(dA){console.error("Failed to export to session:",dA)}},[i,AA,t]),O=D.useCallback(async()=>{if(!(!l.trim()||!e))try{let dA=i;dA||(dA=(await L.mutateAsync({parentSessionId:e,data:{}})).session.id,a(dA)),await w.mutateAsync({sessionId:dA,content:l}),u(""),f.current&&(f.current.style.height="auto")}catch(dA){console.error("Failed to send message:",dA)}},[l,e,i,L,a,w]),z=D.useCallback(dA=>{dA.key==="Enter"&&!dA.shiftKey&&(dA.preventDefault(),O())},[O]),v=D.useMemo(()=>J?.some(dA=>dA.role==="assistant"&&dA.status==="pending")??!1,[J]),c=D.useMemo(()=>!i||!P?!1:P.some(dA=>dA.role==="system"&&dA.parts?.some(ZA=>typeof ZA.content=="string"&&ZA.content.includes(`from="${i}"`))),[i,P]),h=D.useCallback(async(dA,ZA)=>{if(!i){E(!1);return}try{await b.mutateAsync({provider:dA,model:ZA}),await K.invalidateQueries({queryKey:["research","sessions",e]}),E(!1)}catch(ne){console.error("Failed to update research session model:",ne)}},[i,b,K,e]),U=Fa(e??"");if(!s)return null;const R=S?.sessions??[],X=R.find(dA=>dA.id===i),tA=J??[],uA=X?.provider??U?.provider??"",aA=X?.model??U?.model??"",KA=_?.[uA]?.label??uA,PA=_?.[uA]?.models.find(dA=>dA.id===aA)?.label??aA;return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:r},children:[o.jsx(qs,{panelKey:HQ,side:"right",minWidth:l2,maxWidth:E2,defaultWidth:PQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[o.jsx(nr,{className:"w-4 h-4 text-teal-500"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:"Research"})]}),o.jsxs("div",{className:"flex items-center gap-0.5",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>Q(!g),title:"Research history",className:"h-8 w-8",children:o.jsx(jc,{className:"w-4 h-4"})}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:I,disabled:!e||L.isPending,title:"New research session",className:"h-8 w-8",children:L.isPending?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(co,{className:"w-4 h-4"})}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:n,title:"Close sidebar",className:"h-8 w-8",children:o.jsx(rt,{className:"w-4 h-4"})})]})]}),g?o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsx("div",{className:"p-2 border-b border-border",children:o.jsx("div",{className:"text-xs font-medium text-muted-foreground px-2 py-1",children:"Research Sessions"})}),N?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading..."}):R.length===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No research sessions yet"}):o.jsx("div",{className:"p-2 space-y-1",children:R.map(dA=>o.jsxs("button",{type:"button",onClick:()=>y(dA),className:`w-full text-left p-2 rounded-md text-sm transition-colors ${dA.id===i?"bg-teal-500/10 border border-teal-500/30 text-foreground":"hover:bg-muted"}`,children:[o.jsx("div",{className:"font-medium truncate",children:dA.title||"Untitled"}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[dA.messageCount," messages •"," ",C2(dA.lastActiveAt??dA.createdAt)]})]},dA.id))})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex-1 overflow-y-auto px-3 py-3 research-messages text-[13px]",children:i?tA.length===0?o.jsx("div",{className:"text-xs text-muted-foreground text-center py-8",children:o.jsx("p",{children:"Ask a question to start researching."})}):o.jsxs("div",{className:"space-y-1.5",children:[tA.map((dA,ZA)=>{if(dA.role==="user"){const ne=tA[ZA+1];return o.jsx(Nl,{sessionId:i,message:dA,isFirst:ZA===0,nextAssistantMessageId:ne?.role==="assistant"?ne.id:void 0},dA.id)}if(dA.role==="assistant"){const ne=ZA>0?tA[ZA-1]:null,Ee=tA[ZA+1],FA=ne?.role!=="assistant",RA=Ee?.role==="assistant";return o.jsx(yl,{sessionId:i,message:dA,showHeader:FA,hasNextAssistantMessage:RA,isLastMessage:ZA===tA.length-1,compact:!0,onNavigateToSession:t},dA.id)}return null}),o.jsx("div",{ref:M})]}):o.jsxs("div",{className:"text-xs text-muted-foreground text-center py-8",children:[o.jsx(nr,{className:"w-8 h-8 mx-auto mb-2 text-muted-foreground/50"}),o.jsx("p",{children:"Start researching by asking a question below."})]})}),o.jsxs("div",{className:"p-3 border-t border-border",children:[o.jsx("div",{className:"relative flex flex-col rounded-3xl bg-card border border-border focus-within:border-teal-500/60 focus-within:ring-1 focus-within:ring-teal-500/40 p-1",children:o.jsxs("div",{className:"flex items-end gap-1",children:[o.jsx(Fn,{ref:f,value:l,onChange:dA=>u(dA.target.value),onKeyDown:z,placeholder:"Ask anything...",disabled:!e||w.isPending||L.isPending,rows:1,className:"flex-1 border-0 bg-transparent pl-2 pr-1 py-2 max-h-[120px] overflow-y-auto leading-normal resize-none scrollbar-hide text-sm focus:ring-0 focus:outline-none",style:{height:"2.25rem"}}),o.jsx("button",{type:"button",onClick:O,disabled:!l.trim()||!e||w.isPending||L.isPending||v,className:`flex items-center justify-center w-9 h-9 rounded-full transition-colors flex-shrink-0 ${l.trim()&&e&&!v?"bg-teal-500 hover:bg-teal-600 text-white":"bg-transparent text-muted-foreground"}`,children:w.isPending||L.isPending?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(aB,{className:"w-4 h-4"})})]})}),C==="success"&&o.jsxs("div",{className:"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-teal-500/10 border border-teal-500/30 text-teal-600 dark:text-teal-400",children:[o.jsx(Pt,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"flex-1",children:"Context injected — will be used on next request"}),o.jsx("button",{type:"button",onClick:()=>p("idle"),className:"hover:text-teal-500",children:o.jsx(st,{className:"w-3 h-3"})})]}),C==="error"&&o.jsxs("div",{className:"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-red-500/10 border border-red-500/30 text-red-600 dark:text-red-400",children:[o.jsx(st,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"flex-1",children:"Failed to inject context"}),o.jsx("button",{type:"button",onClick:()=>p("idle"),className:"hover:text-red-500",children:o.jsx(st,{className:"w-3 h-3"})})]}),o.jsxs("div",{className:"flex gap-2 mt-2",children:[o.jsxs("button",{type:"button",onClick:G,disabled:!i||Z.isPending||v||c,className:`flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${c?"bg-teal-500/10 text-teal-600 dark:text-teal-400 border border-teal-500/30":"bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground"}`,title:c?"Already injected into main session":"Inject findings into main session",children:[Z.isPending?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):c?o.jsx(Pt,{className:"w-3 h-3"}):o.jsx(Tc,{className:"w-3 h-3"}),c?"Injected":"Inject"]}),o.jsxs("button",{type:"button",onClick:j,disabled:!i||AA.isPending||v,className:"flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:"Export to new main session",children:[AA.isPending?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(bt,{className:"w-3 h-3"}),"Export"]})]})]})]}),o.jsxs("div",{className:"h-12 px-3 border-t border-border text-xs text-muted-foreground flex items-center justify-between",children:[o.jsxs("span",{className:"text-[10px]",children:[R.length," research session",R.length!==1?"s":""]}),(KA||PA)&&o.jsxs("button",{type:"button",onClick:()=>E(!0),className:"flex items-center gap-1 text-[10px] hover:text-foreground transition-colors",children:[o.jsx("span",{className:"opacity-60",children:KA}),o.jsx("span",{className:"opacity-40",children:"/"}),o.jsx("span",{children:PA}),o.jsx(Ht,{className:"w-3 h-3 opacity-40"})]})]}),o.jsx(Oo,{isOpen:d,onClose:()=>E(!1),title:"Select Model for Research",maxWidth:"md",children:(uA||aA)&&o.jsx(fl,{provider:uA,model:aA,onChange:h})})]})]})});function C2(A){const e=Date.now()-A,t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;const s=Math.floor(t/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`}const I2=D.memo(function({parentSessionId:e}){const t=It(i=>i.isExpanded),s=It(i=>i.toggleSidebar),{data:n}=TE(e??null),r=n?.sessions?.length??0;return o.jsxs("button",{type:"button",onClick:s,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${t?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Research (⌘⇧R)",children:[o.jsx(nr,{className:"w-5 h-5 text-muted-foreground mx-auto"}),r>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:r>9?"9+":r})]})});var u2=Object.defineProperty,pn=Object.getOwnPropertySymbols,OE=Object.prototype.hasOwnProperty,qE=Object.prototype.propertyIsEnumerable,WQ=(A,e,t)=>e in A?u2(A,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):A[e]=t,ia=(A,e)=>{for(var t in e||(e={}))OE.call(e,t)&&WQ(A,t,e[t]);if(pn)for(var t of pn(e))qE.call(e,t)&&WQ(A,t,e[t]);return A},aa=(A,e)=>{var t={};for(var s in A)OE.call(A,s)&&e.indexOf(s)<0&&(t[s]=A[s]);if(A!=null&&pn)for(var s of pn(A))e.indexOf(s)<0&&qE.call(A,s)&&(t[s]=A[s]);return t};var hs;(A=>{const e=class De{constructor(g,Q,l,u){if(this.version=g,this.errorCorrectionLevel=Q,this.modules=[],this.isFunction=[],g<De.MIN_VERSION||g>De.MAX_VERSION)throw new RangeError("Version value out of range");if(u<-1||u>7)throw new RangeError("Mask value out of range");this.size=g*4+17;let d=[];for(let C=0;C<this.size;C++)d.push(!1);for(let C=0;C<this.size;C++)this.modules.push(d.slice()),this.isFunction.push(d.slice());this.drawFunctionPatterns();const E=this.addEccAndInterleave(l);if(this.drawCodewords(E),u==-1){let C=1e9;for(let p=0;p<8;p++){this.applyMask(p),this.drawFormatBits(p);const f=this.getPenaltyScore();f<C&&(u=p,C=f),this.applyMask(p)}}n(0<=u&&u<=7),this.mask=u,this.applyMask(u),this.drawFormatBits(u),this.isFunction=[]}static encodeText(g,Q){const l=A.QrSegment.makeSegments(g);return De.encodeSegments(l,Q)}static encodeBinary(g,Q){const l=A.QrSegment.makeBytes(g);return De.encodeSegments([l],Q)}static encodeSegments(g,Q,l=1,u=40,d=-1,E=!0){if(!(De.MIN_VERSION<=l&&l<=u&&u<=De.MAX_VERSION)||d<-1||d>7)throw new RangeError("Invalid value");let C,p;for(C=l;;C++){const N=De.getNumDataCodewords(C,Q)*8,T=i.getTotalBits(g,C);if(T<=N){p=T;break}if(C>=u)throw new RangeError("Data too long")}for(const N of[De.Ecc.MEDIUM,De.Ecc.QUARTILE,De.Ecc.HIGH])E&&p<=De.getNumDataCodewords(C,N)*8&&(Q=N);let f=[];for(const N of g){t(N.mode.modeBits,4,f),t(N.numChars,N.mode.numCharCountBits(C),f);for(const T of N.getData())f.push(T)}n(f.length==p);const M=De.getNumDataCodewords(C,Q)*8;n(f.length<=M),t(0,Math.min(4,M-f.length),f),t(0,(8-f.length%8)%8,f),n(f.length%8==0);for(let N=236;f.length<M;N^=253)t(N,8,f);let S=[];for(;S.length*8<f.length;)S.push(0);return f.forEach((N,T)=>S[T>>>3]|=N<<7-(T&7)),new De(C,Q,S,d)}getModule(g,Q){return 0<=g&&g<this.size&&0<=Q&&Q<this.size&&this.modules[Q][g]}getModules(){return this.modules}drawFunctionPatterns(){for(let l=0;l<this.size;l++)this.setFunctionModule(6,l,l%2==0),this.setFunctionModule(l,6,l%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const g=this.getAlignmentPatternPositions(),Q=g.length;for(let l=0;l<Q;l++)for(let u=0;u<Q;u++)l==0&&u==0||l==0&&u==Q-1||l==Q-1&&u==0||this.drawAlignmentPattern(g[l],g[u]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(g){const Q=this.errorCorrectionLevel.formatBits<<3|g;let l=Q;for(let d=0;d<10;d++)l=l<<1^(l>>>9)*1335;const u=(Q<<10|l)^21522;n(u>>>15==0);for(let d=0;d<=5;d++)this.setFunctionModule(8,d,s(u,d));this.setFunctionModule(8,7,s(u,6)),this.setFunctionModule(8,8,s(u,7)),this.setFunctionModule(7,8,s(u,8));for(let d=9;d<15;d++)this.setFunctionModule(14-d,8,s(u,d));for(let d=0;d<8;d++)this.setFunctionModule(this.size-1-d,8,s(u,d));for(let d=8;d<15;d++)this.setFunctionModule(8,this.size-15+d,s(u,d));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let g=this.version;for(let l=0;l<12;l++)g=g<<1^(g>>>11)*7973;const Q=this.version<<12|g;n(Q>>>18==0);for(let l=0;l<18;l++){const u=s(Q,l),d=this.size-11+l%3,E=Math.floor(l/3);this.setFunctionModule(d,E,u),this.setFunctionModule(E,d,u)}}drawFinderPattern(g,Q){for(let l=-4;l<=4;l++)for(let u=-4;u<=4;u++){const d=Math.max(Math.abs(u),Math.abs(l)),E=g+u,C=Q+l;0<=E&&E<this.size&&0<=C&&C<this.size&&this.setFunctionModule(E,C,d!=2&&d!=4)}}drawAlignmentPattern(g,Q){for(let l=-2;l<=2;l++)for(let u=-2;u<=2;u++)this.setFunctionModule(g+u,Q+l,Math.max(Math.abs(u),Math.abs(l))!=1)}setFunctionModule(g,Q,l){this.modules[Q][g]=l,this.isFunction[Q][g]=!0}addEccAndInterleave(g){const Q=this.version,l=this.errorCorrectionLevel;if(g.length!=De.getNumDataCodewords(Q,l))throw new RangeError("Invalid argument");const u=De.NUM_ERROR_CORRECTION_BLOCKS[l.ordinal][Q],d=De.ECC_CODEWORDS_PER_BLOCK[l.ordinal][Q],E=Math.floor(De.getNumRawDataModules(Q)/8),C=u-E%u,p=Math.floor(E/u);let f=[];const M=De.reedSolomonComputeDivisor(d);for(let N=0,T=0;N<u;N++){let L=g.slice(T,T+p-d+(N<C?0:1));T+=L.length;const Z=De.reedSolomonComputeRemainder(L,M);N<C&&L.push(0),f.push(L.concat(Z))}let S=[];for(let N=0;N<f[0].length;N++)f.forEach((T,L)=>{(N!=p-d||L>=C)&&S.push(T[N])});return n(S.length==E),S}drawCodewords(g){if(g.length!=Math.floor(De.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let Q=0;for(let l=this.size-1;l>=1;l-=2){l==6&&(l=5);for(let u=0;u<this.size;u++)for(let d=0;d<2;d++){const E=l-d,p=(l+1&2)==0?this.size-1-u:u;!this.isFunction[p][E]&&Q<g.length*8&&(this.modules[p][E]=s(g[Q>>>3],7-(Q&7)),Q++)}}n(Q==g.length*8)}applyMask(g){if(g<0||g>7)throw new RangeError("Mask value out of range");for(let Q=0;Q<this.size;Q++)for(let l=0;l<this.size;l++){let u;switch(g){case 0:u=(l+Q)%2==0;break;case 1:u=Q%2==0;break;case 2:u=l%3==0;break;case 3:u=(l+Q)%3==0;break;case 4:u=(Math.floor(l/3)+Math.floor(Q/2))%2==0;break;case 5:u=l*Q%2+l*Q%3==0;break;case 6:u=(l*Q%2+l*Q%3)%2==0;break;case 7:u=((l+Q)%2+l*Q%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[Q][l]&&u&&(this.modules[Q][l]=!this.modules[Q][l])}}getPenaltyScore(){let g=0;for(let d=0;d<this.size;d++){let E=!1,C=0,p=[0,0,0,0,0,0,0];for(let f=0;f<this.size;f++)this.modules[d][f]==E?(C++,C==5?g+=De.PENALTY_N1:C>5&&g++):(this.finderPenaltyAddHistory(C,p),E||(g+=this.finderPenaltyCountPatterns(p)*De.PENALTY_N3),E=this.modules[d][f],C=1);g+=this.finderPenaltyTerminateAndCount(E,C,p)*De.PENALTY_N3}for(let d=0;d<this.size;d++){let E=!1,C=0,p=[0,0,0,0,0,0,0];for(let f=0;f<this.size;f++)this.modules[f][d]==E?(C++,C==5?g+=De.PENALTY_N1:C>5&&g++):(this.finderPenaltyAddHistory(C,p),E||(g+=this.finderPenaltyCountPatterns(p)*De.PENALTY_N3),E=this.modules[f][d],C=1);g+=this.finderPenaltyTerminateAndCount(E,C,p)*De.PENALTY_N3}for(let d=0;d<this.size-1;d++)for(let E=0;E<this.size-1;E++){const C=this.modules[d][E];C==this.modules[d][E+1]&&C==this.modules[d+1][E]&&C==this.modules[d+1][E+1]&&(g+=De.PENALTY_N2)}let Q=0;for(const d of this.modules)Q=d.reduce((E,C)=>E+(C?1:0),Q);const l=this.size*this.size,u=Math.ceil(Math.abs(Q*20-l*10)/l)-1;return n(0<=u&&u<=9),g+=u*De.PENALTY_N4,n(0<=g&&g<=2568888),g}getAlignmentPatternPositions(){if(this.version==1)return[];{const g=Math.floor(this.version/7)+2,Q=this.version==32?26:Math.ceil((this.version*4+4)/(g*2-2))*2;let l=[6];for(let u=this.size-7;l.length<g;u-=Q)l.splice(1,0,u);return l}}static getNumRawDataModules(g){if(g<De.MIN_VERSION||g>De.MAX_VERSION)throw new RangeError("Version number out of range");let Q=(16*g+128)*g+64;if(g>=2){const l=Math.floor(g/7)+2;Q-=(25*l-10)*l-55,g>=7&&(Q-=36)}return n(208<=Q&&Q<=29648),Q}static getNumDataCodewords(g,Q){return Math.floor(De.getNumRawDataModules(g)/8)-De.ECC_CODEWORDS_PER_BLOCK[Q.ordinal][g]*De.NUM_ERROR_CORRECTION_BLOCKS[Q.ordinal][g]}static reedSolomonComputeDivisor(g){if(g<1||g>255)throw new RangeError("Degree out of range");let Q=[];for(let u=0;u<g-1;u++)Q.push(0);Q.push(1);let l=1;for(let u=0;u<g;u++){for(let d=0;d<Q.length;d++)Q[d]=De.reedSolomonMultiply(Q[d],l),d+1<Q.length&&(Q[d]^=Q[d+1]);l=De.reedSolomonMultiply(l,2)}return Q}static reedSolomonComputeRemainder(g,Q){let l=Q.map(u=>0);for(const u of g){const d=u^l.shift();l.push(0),Q.forEach((E,C)=>l[C]^=De.reedSolomonMultiply(E,d))}return l}static reedSolomonMultiply(g,Q){if(g>>>8||Q>>>8)throw new RangeError("Byte out of range");let l=0;for(let u=7;u>=0;u--)l=l<<1^(l>>>7)*285,l^=(Q>>>u&1)*g;return n(l>>>8==0),l}finderPenaltyCountPatterns(g){const Q=g[1];n(Q<=this.size*3);const l=Q>0&&g[2]==Q&&g[3]==Q*3&&g[4]==Q&&g[5]==Q;return(l&&g[0]>=Q*4&&g[6]>=Q?1:0)+(l&&g[6]>=Q*4&&g[0]>=Q?1:0)}finderPenaltyTerminateAndCount(g,Q,l){return g&&(this.finderPenaltyAddHistory(Q,l),Q=0),Q+=this.size,this.finderPenaltyAddHistory(Q,l),this.finderPenaltyCountPatterns(l)}finderPenaltyAddHistory(g,Q){Q[0]==0&&(g+=this.size),Q.pop(),Q.unshift(g)}};e.MIN_VERSION=1,e.MAX_VERSION=40,e.PENALTY_N1=3,e.PENALTY_N2=3,e.PENALTY_N3=40,e.PENALTY_N4=10,e.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],e.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],A.QrCode=e;function t(a,g,Q){if(g<0||g>31||a>>>g)throw new RangeError("Value out of range");for(let l=g-1;l>=0;l--)Q.push(a>>>l&1)}function s(a,g){return(a>>>g&1)!=0}function n(a){if(!a)throw new Error("Assertion error")}const r=class Qt{constructor(g,Q,l){if(this.mode=g,this.numChars=Q,this.bitData=l,Q<0)throw new RangeError("Invalid argument");this.bitData=l.slice()}static makeBytes(g){let Q=[];for(const l of g)t(l,8,Q);return new Qt(Qt.Mode.BYTE,g.length,Q)}static makeNumeric(g){if(!Qt.isNumeric(g))throw new RangeError("String contains non-numeric characters");let Q=[];for(let l=0;l<g.length;){const u=Math.min(g.length-l,3);t(parseInt(g.substring(l,l+u),10),u*3+1,Q),l+=u}return new Qt(Qt.Mode.NUMERIC,g.length,Q)}static makeAlphanumeric(g){if(!Qt.isAlphanumeric(g))throw new RangeError("String contains unencodable characters in alphanumeric mode");let Q=[],l;for(l=0;l+2<=g.length;l+=2){let u=Qt.ALPHANUMERIC_CHARSET.indexOf(g.charAt(l))*45;u+=Qt.ALPHANUMERIC_CHARSET.indexOf(g.charAt(l+1)),t(u,11,Q)}return l<g.length&&t(Qt.ALPHANUMERIC_CHARSET.indexOf(g.charAt(l)),6,Q),new Qt(Qt.Mode.ALPHANUMERIC,g.length,Q)}static makeSegments(g){return g==""?[]:Qt.isNumeric(g)?[Qt.makeNumeric(g)]:Qt.isAlphanumeric(g)?[Qt.makeAlphanumeric(g)]:[Qt.makeBytes(Qt.toUtf8ByteArray(g))]}static makeEci(g){let Q=[];if(g<0)throw new RangeError("ECI assignment value out of range");if(g<128)t(g,8,Q);else if(g<16384)t(2,2,Q),t(g,14,Q);else if(g<1e6)t(6,3,Q),t(g,21,Q);else throw new RangeError("ECI assignment value out of range");return new Qt(Qt.Mode.ECI,0,Q)}static isNumeric(g){return Qt.NUMERIC_REGEX.test(g)}static isAlphanumeric(g){return Qt.ALPHANUMERIC_REGEX.test(g)}getData(){return this.bitData.slice()}static getTotalBits(g,Q){let l=0;for(const u of g){const d=u.mode.numCharCountBits(Q);if(u.numChars>=1<<d)return 1/0;l+=4+d+u.bitData.length}return l}static toUtf8ByteArray(g){g=encodeURI(g);let Q=[];for(let l=0;l<g.length;l++)g.charAt(l)!="%"?Q.push(g.charCodeAt(l)):(Q.push(parseInt(g.substring(l+1,l+3),16)),l+=2);return Q}};r.NUMERIC_REGEX=/^[0-9]*$/,r.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,r.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let i=r;A.QrSegment=r})(hs||(hs={}));(A=>{(e=>{const t=class{constructor(n,r){this.ordinal=n,this.formatBits=r}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(A.QrCode||(A.QrCode={}))})(hs||(hs={}));(A=>{(e=>{const t=class{constructor(n,r){this.modeBits=n,this.numBitsCharCount=r}numCharCountBits(n){return this.numBitsCharCount[Math.floor((n+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(A.QrSegment||(A.QrSegment={}))})(hs||(hs={}));var Ss=hs;var d2={L:Ss.QrCode.Ecc.LOW,M:Ss.QrCode.Ecc.MEDIUM,Q:Ss.QrCode.Ecc.QUARTILE,H:Ss.QrCode.Ecc.HIGH},YE=128,HE="L",PE="#FFFFFF",WE="#000000",zE=!1,VE=1,h2=4,f2=0,p2=.1;function ZE(A,e=0){const t=[];return A.forEach(function(s,n){let r=null;s.forEach(function(i,a){if(!i&&r!==null){t.push(`M${r+e} ${n+e}h${a-r}v1H${r+e}z`),r=null;return}if(a===s.length-1){if(!i)return;r===null?t.push(`M${a+e},${n+e} h1v1H${a+e}z`):t.push(`M${r+e},${n+e} h${a+1-r}v1H${r+e}z`);return}i&&r===null&&(r=a)})}),t.join("")}function _E(A,e){return A.slice().map((t,s)=>s<e.y||s>=e.y+e.h?t:t.map((n,r)=>r<e.x||r>=e.x+e.w?n:!1))}function m2(A,e,t,s){if(s==null)return null;const n=A.length+t*2,r=Math.floor(e*p2),i=n/e,a=(s.width||r)*i,g=(s.height||r)*i,Q=s.x==null?A.length/2-a/2:s.x*i,l=s.y==null?A.length/2-g/2:s.y*i,u=s.opacity==null?1:s.opacity;let d=null;if(s.excavate){let C=Math.floor(Q),p=Math.floor(l),f=Math.ceil(a+Q-C),M=Math.ceil(g+l-p);d={x:C,y:p,w:f,h:M}}const E=s.crossOrigin;return{x:Q,y:l,h:g,w:a,excavation:d,opacity:u,crossOrigin:E}}function w2(A,e){return e!=null?Math.max(Math.floor(e),0):A?h2:f2}function XE({value:A,level:e,minVersion:t,includeMargin:s,marginSize:n,imageSettings:r,size:i,boostLevel:a}){let g=tt.useMemo(()=>{const C=(Array.isArray(A)?A:[A]).reduce((p,f)=>(p.push(...Ss.QrSegment.makeSegments(f)),p),[]);return Ss.QrCode.encodeSegments(C,d2[e],t,void 0,void 0,a)},[A,e,t,a]);const{cells:Q,margin:l,numCells:u,calculatedImageSettings:d}=tt.useMemo(()=>{let E=g.getModules();const C=w2(s,n),p=E.length+C*2,f=m2(E,i,C,r);return{cells:E,margin:C,numCells:p,calculatedImageSettings:f}},[g,i,r,s,n]);return{qrcode:g,margin:l,cells:Q,numCells:u,calculatedImageSettings:d}}var x2=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),D2=tt.forwardRef(function(e,t){const s=e,{value:n,size:r=YE,level:i=HE,bgColor:a=PE,fgColor:g=WE,includeMargin:Q=zE,minVersion:l=VE,boostLevel:u,marginSize:d,imageSettings:E}=s,p=aa(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:f}=p,M=aa(p,["style"]),S=E?.src,N=tt.useRef(null),T=tt.useRef(null),L=tt.useCallback(B=>{N.current=B,typeof t=="function"?t(B):t&&(t.current=B)},[t]),[Z,AA]=tt.useState(!1),{margin:_,cells:J,numCells:P,calculatedImageSettings:b}=XE({value:n,level:i,minVersion:l,boostLevel:u,includeMargin:Q,marginSize:d,imageSettings:E,size:r});tt.useEffect(()=>{if(N.current!=null){const B=N.current,I=B.getContext("2d");if(!I)return;let y=J;const G=T.current,j=b!=null&&G!==null&&G.complete&&G.naturalHeight!==0&&G.naturalWidth!==0;j&&b.excavation!=null&&(y=_E(J,b.excavation));const O=window.devicePixelRatio||1;B.height=B.width=r*O;const z=r/P*O;I.scale(z,z),I.fillStyle=a,I.fillRect(0,0,P,P),I.fillStyle=g,x2?I.fill(new Path2D(ZE(y,_))):J.forEach(function(v,c){v.forEach(function(h,U){h&&I.fillRect(U+_,c+_,1,1)})}),b&&(I.globalAlpha=b.opacity),j&&I.drawImage(G,b.x+_,b.y+_,b.w,b.h)}}),tt.useEffect(()=>{AA(!1)},[S]);const K=ia({height:r,width:r},f);let w=null;return S!=null&&(w=tt.createElement("img",{src:S,key:S,style:{display:"none"},onLoad:()=>{AA(!0)},ref:T,crossOrigin:b?.crossOrigin})),tt.createElement(tt.Fragment,null,tt.createElement("canvas",ia({style:K,height:r,width:r,ref:L,role:"img"},M)),w)});D2.displayName="QRCodeCanvas";var Pn=tt.forwardRef(function(e,t){const s=e,{value:n,size:r=YE,level:i=HE,bgColor:a=PE,fgColor:g=WE,includeMargin:Q=zE,minVersion:l=VE,boostLevel:u,title:d,marginSize:E,imageSettings:C}=s,p=aa(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:f,cells:M,numCells:S,calculatedImageSettings:N}=XE({value:n,level:i,minVersion:l,boostLevel:u,includeMargin:Q,marginSize:E,imageSettings:C,size:r});let T=M,L=null;C!=null&&N!=null&&(N.excavation!=null&&(T=_E(M,N.excavation)),L=tt.createElement("image",{href:C.src,height:N.h,width:N.w,x:N.x+f,y:N.y+f,preserveAspectRatio:"none",opacity:N.opacity,crossOrigin:N.crossOrigin}));const Z=ZE(T,f);return tt.createElement("svg",ia({height:r,width:r,viewBox:`0 0 ${S} ${S}`,ref:t,role:"img"},p),!!d&&tt.createElement("title",null,d),tt.createElement("path",{fill:a,d:`M0,0 h${S}v${S}H0z`,shapeRendering:"crispEdges"}),tt.createElement("path",{fill:g,d:Z,shapeRendering:"crispEdges"}),L)});Pn.displayName="QRCodeSVG";const Xs=["wallet","defaults"],Mt=ct((A,e)=>({isOpen:!1,currentStep:"wallet",manageMode:!1,isLoading:!1,error:null,authStatus:null,setOpen:t=>A({isOpen:t}),setStep:t=>A({currentStep:t}),setManageMode:t=>A({manageMode:t}),setLoading:t=>A({isLoading:t}),setError:t=>A({error:t}),setAuthStatus:t=>A({authStatus:t}),nextStep:()=>{const{currentStep:t}=e(),s=Xs.indexOf(t);s<Xs.length-1&&A({currentStep:Xs[s+1]})},prevStep:()=>{const{currentStep:t}=e(),s=Xs.indexOf(t);s>0&&A({currentStep:Xs[s-1]})},reset:()=>A({isOpen:!1,currentStep:"wallet",manageMode:!1,isLoading:!1,error:null})})),Gi=typeof window<"u"&&window.self!==window.top;function tg(){const A=Mt(b=>b.setAuthStatus),e=Mt(b=>b.setOpen),t=Mt(b=>b.setLoading),s=Mt(b=>b.setError),n=Mt(b=>b.authStatus),r=Mt(b=>b.isOpen),i=be(),[a,g]=D.useState(!1),[Q,l]=D.useState(!1),u=D.useRef(null),d=D.useRef(new Set),E=D.useCallback(async()=>{t(!0),s(null);try{const b=await wA.getAuthStatus();return A(b),i.invalidateQueries({queryKey:["config"]}),i.invalidateQueries({queryKey:["models"]}),b}catch(b){const K=b instanceof Error?b.message:"Failed to load";return s(K),null}finally{t(!1)}},[A,t,s,i]),C=D.useCallback(async()=>{const b=await E();if(b){const K=Object.values(b.providers).some(B=>B.configured);(!b.onboardingComplete||!K||!b.setu.configured)&&e(!0)}g(!0)},[E,e]),p=D.useCallback(async()=>{t(!0),s(null);try{const b=await wA.setupSetuWallet();return await E(),b}catch(b){const K=b instanceof Error?b.message:"Setup failed";throw s(K),b}finally{t(!1)}},[E,t,s]),f=D.useCallback(async b=>{t(!0),s(null);try{const K=await wA.importSetuWallet(b);return await E(),K}catch(K){const w=K instanceof Error?K.message:"Import failed";throw s(w),K}finally{t(!1)}},[E,t,s]),M=D.useCallback(async(b,K)=>{t(!0),s(null);try{const w=await wA.addProvider(b,K);return await E(),w}catch(w){const B=w instanceof Error?w.message:"Failed to add provider";throw s(B),w}finally{t(!1)}},[E,t,s]),S=D.useCallback(async b=>{t(!0),s(null);try{const K=await wA.removeProvider(b);return await E(),K}catch(K){const w=K instanceof Error?K.message:"Failed to remove provider";throw s(w),K}finally{t(!1)}},[E,t,s]),N=D.useCallback(async()=>{t(!0),s(null);try{await wA.completeOnboarding(),await E(),e(!1)}catch(b){const K=b instanceof Error?b.message:"Failed to complete onboarding";throw s(K),b}finally{t(!1)}},[E,t,s,e]),T=D.useCallback(()=>{const b=Mt.getState().authStatus;b&&(d.current=new Set(Object.entries(b.providers).filter(([,K])=>K.configured).map(([K])=>K)))},[]),L=D.useCallback((b,K)=>{const w=wA.getOAuthStartUrl(b,K);if(Gi)return T(),window.parent.postMessage({type:"otto-open-url",url:w},"*"),l(!0),null;const B=600,I=700,y=window.screenX+(window.outerWidth-B)/2,G=window.screenY+(window.outerHeight-I)/2;return window.open(w,"oauth_popup",`width=${B},height=${I},left=${y},top=${G},toolbar=no,menubar=no`)},[T]),Z=D.useCallback(async(b,K)=>{const{url:w,sessionId:B}=await wA.getOAuthUrl(b,K);if(Gi)return T(),window.parent.postMessage({type:"otto-open-url",url:w},"*"),l(!0),{popup:null,sessionId:B};const I=600,y=700,G=window.screenX+(window.outerWidth-I)/2,j=window.screenY+(window.outerHeight-y)/2;return{popup:window.open(w,"oauth_popup",`width=${I},height=${y},left=${G},top=${j},toolbar=no,menubar=no`),sessionId:B}},[T]),AA=D.useCallback(async(b,K,w)=>{t(!0),s(null);try{return await wA.exchangeOAuthCode(b,K,w),await E(),!0}catch(B){const I=B instanceof Error?B.message:"Failed to exchange code";throw s(I),B}finally{t(!1)}},[E,t,s]);D.useEffect(()=>{if(!Q||!Gi)return;u.current=setInterval(()=>{E()},3e3);const b=setTimeout(()=>{l(!1)},3e5);return()=>{clearInterval(u.current),clearTimeout(b)}},[Q,E]),D.useEffect(()=>{if(!Q||!n)return;Object.entries(n.providers).filter(([,w])=>w.configured).some(([w])=>!d.current.has(w))&&l(!1)},[n,Q]),D.useEffect(()=>{const b=K=>{K.data?.type==="oauth-success"&&E()};return window.addEventListener("message",b),()=>window.removeEventListener("message",b)},[E]);const _=D.useCallback(async b=>{const K=await wA.pollCopilotDeviceFlow(b);return K.status==="complete"&&await E(),K},[E]),J=D.useCallback(async b=>{t(!0),s(null);try{const K=await wA.saveCopilotToken(b);return await E(),K}catch(K){const w=K instanceof Error?K.message:"Failed to save Copilot token";throw s(w),K}finally{t(!1)}},[E,t,s]),P=D.useCallback(async()=>{t(!0),s(null);try{const b=await wA.importCopilotTokenFromGh();return await E(),b}catch(b){const K=b instanceof Error?b.message:"Failed to import Copilot token from GH";throw s(K),b}finally{t(!1)}},[E,t,s]);return{authStatus:n,isOpen:r,initialized:a,fetchAuthStatus:E,checkOnboarding:C,setupWallet:p,importWallet:f,addProvider:M,removeProvider:S,completeOnboarding:N,startOAuth:L,startOAuthManual:Z,exchangeOAuthCode:AA,startCopilotDeviceFlow:wA.startCopilotDeviceFlow.bind(wA),pollCopilotDeviceFlow:_,getCopilotAuthMethods:wA.getCopilotAuthMethods.bind(wA),saveCopilotToken:J,importCopilotTokenFromGh:P,getCopilotDiagnostics:wA.getCopilotDiagnostics.bind(wA)}}const Yr="pendingPolarCheckout";function y2(){const A=D.useRef(!1),e=D.useRef(null),t=xe(n=>n.setBalance),s=Co(n=>n.removeToast);D.useEffect(()=>{if(A.current)return;const r=new URLSearchParams(window.location.search).get("topup"),i=localStorage.getItem(Yr);if(r==="pending"||i){A.current=!0;const a=new URL(window.location.href);if(a.searchParams.delete("topup"),window.history.replaceState({},"",a.toString()),!i){he.info("Checking top-up status...");return}e.current=he.loading("Verifying top-up...");let g=0;const Q=10,l=2e3,u=()=>{e.current&&(s(e.current),e.current=null)},d=async()=>{g++;try{const E=await wA.getPolarTopupStatus(i);if(E?.confirmed){localStorage.removeItem(Yr),u();const C=await wA.getSetuBalance();C?.balance!==void 0&&t(C.balance),he.success(`Top-up confirmed! +$${E.amountUsd?.toFixed(2)} credited`);return}g<Q?setTimeout(d,l):(localStorage.removeItem(Yr),u(),he.info("Top-up is still processing. Balance will update automatically."))}catch{g<Q?setTimeout(d,l):(localStorage.removeItem(Yr),u(),he.error("Could not verify top-up. Please check your balance."))}};setTimeout(d,1500)}},[t,s])}const zQ="settings",VQ=320,N2=320,k2=500,en=D.memo(function({title:e,icon:t,children:s,action:n}){return o.jsxs("div",{className:"border-b border-border",children:[o.jsxs("div",{className:"px-4 py-3 flex items-center gap-2 bg-muted/30",children:[t,o.jsx("span",{className:"text-sm font-medium flex-1",children:e}),n]}),o.jsx("div",{className:"px-4 py-3 space-y-3",children:s})]})}),ns=D.memo(function({label:e,value:t}){return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsx("span",{className:"font-mono text-foreground",children:t})]})}),$s=D.memo(function({label:e,checked:t,onChange:s}){return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsx("button",{type:"button",role:"switch","aria-checked":t,onClick:()=>s(!t),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${t?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${t?"translate-x-6":"translate-x-1"} ${t?"bg-primary-foreground":"bg-foreground"}`})})]})}),Ar=D.memo(function({label:e,value:t,options:s,onChange:n,disabled:r}){const[i,a]=D.useState(!1),g=s.find(Q=>Q.id===t);return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsxs("div",{className:"relative",children:[o.jsxs("button",{type:"button",onClick:()=>!r&&a(!i),disabled:r,className:"flex items-center gap-1 px-2 py-1 text-xs font-mono bg-muted hover:bg-muted/80 rounded border border-border disabled:opacity-50",children:[o.jsx("span",{className:"max-w-[120px] truncate",children:g?.label||t||"Select..."}),o.jsx(Ht,{className:"w-3 h-3"})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>a(!1),role:"presentation"}),o.jsx("div",{className:"absolute right-0 top-full mt-1 z-50 min-w-[160px] max-h-[200px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg",children:s.map(Q=>o.jsx("button",{type:"button",onClick:()=>{n(Q.id),a(!1)},className:`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${Q.id===t?"bg-muted/50":""}`,children:Q.label},Q.id))})]})]})]})}),M2=D.memo(function(){const e=xt(b=>b.isExpanded),t=xt(b=>b.collapseSidebar),s=_o(b=>b.widths[zQ]??VQ),{data:n}=ps(),{data:r}=fr(),{preferences:i,updatePreferences:a}=Ys(),g=Gn(),Q=xe(b=>b.balance),l=xe(b=>b.walletAddress),u=xe(b=>b.usdcBalance),d=xe(b=>b.isLoading),E=xe(b=>b.openTopupModal);y2();const C=n?.providers?.includes("setu"),{fetchBalance:p}=Yn(C?"setu":void 0),f=Mt(b=>b.setOpen),M=Mt(b=>b.setStep),S=Mt(b=>b.setManageMode),{fetchAuthStatus:N}=tg(),T=D.useCallback(async()=>await wA.exportSetuWallet(),[]),L=D.useMemo(()=>!n?.providers||!r?[]:n.providers.filter(b=>r[b]).map(b=>({id:b,label:r[b]?.label||b})),[n?.providers,r]),Z=D.useMemo(()=>{const b=n?.defaults?.provider;return!b||!r?.[b]?[]:r[b].models.map(K=>({id:K.id,label:K.label}))},[n?.defaults?.provider,r]),AA=D.useMemo(()=>n?.agents?n.agents.map(b=>({id:b,label:b})):[],[n?.agents]);if(!e)return null;const _=b=>{const K=r?.[b]?.models?.[0]?.id;g.mutate({provider:b,model:K||n?.defaults?.model,scope:"global"})},J=b=>{g.mutate({model:b,scope:"global"})},P=b=>{g.mutate({agent:b,scope:"global"})};return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:s},children:[o.jsx(qs,{panelKey:zQ,side:"right",minWidth:N2,maxWidth:k2,defaultWidth:VQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(dB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:"Settings"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(rt,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsxs(en,{title:"Default Model",icon:o.jsx(Oc,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(Ar,{label:"Provider",value:n?.defaults?.provider??"",options:L,onChange:_,disabled:g.isPending}),o.jsx(Ar,{label:"Model",value:n?.defaults?.model??"",options:Z,onChange:J,disabled:g.isPending}),o.jsx(Ar,{label:"Agent",value:n?.defaults?.agent??"",options:AA,onChange:P,disabled:g.isPending})]}),o.jsxs(en,{title:"Preferences",icon:o.jsx(la,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx($s,{label:"Vim Mode",checked:i.vimMode,onChange:b=>a({vimMode:b})}),o.jsx($s,{label:"Compact Thread",checked:i.compactThread,onChange:b=>a({compactThread:b})}),o.jsx($s,{label:"Full Width Content",checked:i.fullWidthContent,onChange:b=>a({fullWidthContent:b})}),o.jsx($s,{label:"Show Reasoning",checked:n?.defaults?.reasoningText??!0,onChange:b=>g.mutate({reasoningText:b,scope:"global"})}),o.jsx(Ar,{label:"Reasoning Level",value:n?.defaults?.reasoningLevel??"high",options:[{id:"minimal",label:"Minimal"},{id:"low",label:"Low"},{id:"medium",label:"Medium"},{id:"high",label:"High"},{id:"max",label:"Max"},{id:"xhigh",label:"Extra High"}],onChange:b=>g.mutate({reasoningLevel:b,scope:"global"}),disabled:g.isPending}),o.jsx(Ar,{label:"Tool Approval",value:n?.defaults?.toolApproval??"dangerous",options:[{id:"auto",label:"Auto (no approval)"},{id:"dangerous",label:"Dangerous only"},{id:"all",label:"All tools"}],onChange:b=>g.mutate({toolApproval:b,scope:"global"}),disabled:g.isPending}),o.jsx($s,{label:"Guided Mode",checked:n?.defaults?.guidedMode??!1,onChange:b=>g.mutate({guidedMode:b,scope:"global"})})]}),o.jsx(en,{title:"Providers",icon:o.jsx(qc,{className:"w-4 h-4 text-muted-foreground"}),action:o.jsx("button",{type:"button",onClick:()=>{N().then(()=>{M("wallet"),S(!0),f(!0)})},className:"p-1 hover:bg-muted rounded transition-colors",title:"Manage providers",children:o.jsx(tn,{className:"w-3.5 h-3.5 text-muted-foreground"})}),children:o.jsx("div",{className:"flex flex-wrap gap-2",children:n?.providers?.map(b=>o.jsx("span",{className:"px-2 py-1 text-xs bg-muted rounded-md font-mono",children:b},b))??o.jsx("span",{className:"text-muted-foreground text-sm",children:"None"})})}),n?.providers?.includes("setu")&&o.jsx(F2,{setuWallet:l,setuBalance:Q,setuUsdcBalance:u,setuLoading:d,refreshSetuBalance:p,openTopupModal:E,onExportPrivateKey:T}),o.jsx(Ag,{})]})]})]})});function b2(){const A=xe(t=>t.subscription),e=xe(t=>t.payg);return A?.active?o.jsxs(o.Fragment,{children:[o.jsx(ns,{label:"Plan",value:A.tierName??"GO"}),A.usageWindows&&o.jsxs(o.Fragment,{children:[o.jsx(ns,{label:"5h",value:`${Math.round(A.usageWindows.fiveHour.percentUsed)}%`}),o.jsx(ns,{label:"Week",value:`${Math.round(A.usageWindows.weekly.percentUsed)}%`})]}),e&&e.effectiveSpendableUsd>0&&o.jsx(ns,{label:"Credits",value:`$${e.effectiveSpendableUsd.toFixed(2)}`}),A.periodEnd&&o.jsx(ns,{label:"Renews",value:new Date(A.periodEnd).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}).replace(",","")})]}):null}const F2=D.memo(function({setuWallet:e,setuBalance:t,setuUsdcBalance:s,setuLoading:n,refreshSetuBalance:r,openTopupModal:i,onExportPrivateKey:a}){const g=xe(w=>!!w.subscription?.active),[Q,l]=D.useState(!1),[u,d]=D.useState(!1),[E,C]=D.useState(null),[p,f]=D.useState(!1),[M,S]=D.useState(null),[N,T]=D.useState(!1),L=D.useCallback(async()=>{e&&(await navigator.clipboard.writeText(e),l(!0),setTimeout(()=>l(!1),2e3))},[e]),Z=async()=>{d(!0),T(!1),C(null),S(null),f(!0);try{const w=await a();C(w.privateKey)}catch(w){S(w instanceof Error?w.message:"Failed to export private key")}finally{f(!1)}},AA=()=>{p||(d(!1),T(!1),C(null),S(null))},_=async()=>{E&&(await navigator.clipboard.writeText(E),T(!0),setTimeout(()=>T(!1),2e3))},J=w=>w?`${w.slice(0,4)}...${w.slice(-4)}`:"Not configured",P=w=>w===null?"—":`$${w.toFixed(4)}`,b=w=>w===null?"—":`${w.toFixed(2)} USDC`,K=e!==null;return o.jsxs(en,{title:"Setu Credits",icon:o.jsx(ha,{className:"w-4 h-4 text-muted-foreground"}),action:o.jsx("button",{type:"button",onClick:r,disabled:n,className:"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50",title:"Refresh balances",children:o.jsx(Zt,{className:`w-3.5 h-3.5 text-muted-foreground ${n?"animate-spin":""}`})}),children:[K?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex justify-center pb-3",children:o.jsx("div",{className:"p-2 bg-white rounded-lg",children:o.jsx(Pn,{value:e,size:120,level:"M",includeMargin:!1})})}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Address"}),o.jsxs("button",{type:"button",onClick:L,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy address",children:[J(e),Q?o.jsx(Pt,{className:"w-3 h-3 text-green-500"}):o.jsx(cs,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsx(b2,{}),!g&&o.jsxs(o.Fragment,{children:[o.jsx(ns,{label:"Balance",value:P(t)}),o.jsx(ns,{label:"USDC",value:b(s)})]})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex justify-center pb-3",children:o.jsx("div",{className:"w-[136px] h-[136px] bg-muted rounded-lg animate-pulse"})}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Address"}),o.jsx("div",{className:"w-24 h-4 bg-muted rounded animate-pulse"})]}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Balance"}),o.jsx("div",{className:"w-16 h-4 bg-muted rounded animate-pulse"})]}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"USDC"}),o.jsx("div",{className:"w-20 h-4 bg-muted rounded animate-pulse"})]})]}),o.jsxs(Qe,{variant:"secondary",size:"sm",onClick:i,className:"w-full mt-2 gap-2",children:[o.jsx(co,{className:"w-4 h-4"}),"Top Up Balance"]}),o.jsxs(Qe,{variant:"ghost",size:"sm",onClick:Z,className:"w-full gap-2",children:[o.jsx(sn,{className:"w-4 h-4"}),"Export Private Key"]}),u&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx(sn,{className:"w-5 h-5 text-muted-foreground"}),o.jsx("h3",{className:"text-lg font-semibold",children:"Export Setu Private Key"})]}),o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Keep this private key secret. Anyone with this key can spend funds from your Setu wallet."}),p&&o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Exporting private key..."]}),!p&&E&&o.jsxs("div",{className:"space-y-3",children:[o.jsx("textarea",{readOnly:!0,value:E,className:"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground outline-none font-mono text-xs resize-y"}),o.jsxs(Qe,{variant:"secondary",size:"sm",onClick:_,className:"w-full gap-2",children:[N?o.jsx(Pt,{className:"w-4 h-4 text-green-500"}):o.jsx(cs,{className:"w-4 h-4"}),N?"Copied":"Copy Private Key"]})]}),!p&&M&&o.jsx("p",{className:"text-sm text-red-500 mt-3",children:M}),o.jsx("div",{className:"flex gap-3 mt-5",children:o.jsx("button",{type:"button",onClick:AA,disabled:p,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Close"})})]})]})})]})}),G2=D.memo(function(){const e=xt(s=>s.isExpanded),t=xt(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Settings",children:o.jsx(dB,{className:"w-5 h-5 text-muted-foreground mx-auto"})})});async function v2(){const A=await fetch(`${Xo}/v1/tunnel/status`);if(!A.ok)throw new Error("Failed to fetch tunnel status");return A.json()}async function S2(){return(await fetch(`${Xo}/v1/tunnel/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})})).json()}async function U2(){return(await fetch(`${Xo}/v1/tunnel/stop`,{method:"POST"})).json()}function R2(){const A=Fe(n=>n.setStatus),e=Fe(n=>n.setUrl),t=Fe(n=>n.setError),s=nt({queryKey:["tunnel","status"],queryFn:v2,refetchInterval:3e3});return D.useEffect(()=>{s.data&&(A(s.data.status),e(s.data.url),t(s.data.error))},[s.data,A,e,t]),s}function K2(){const A=be(),e=Fe(r=>r.setStatus),t=Fe(r=>r.setUrl),s=Fe(r=>r.setError),n=Fe(r=>r.setProgress);return Ye({mutationFn:()=>S2(),onMutate:()=>{e("starting"),n("Connecting..."),s(null)},onSuccess:r=>{r.ok&&r.url?(e("connected"),t(r.url),n(null)):r.ok||(e("error"),s(r.error||"Failed to start tunnel"),n(null)),A.invalidateQueries({queryKey:["tunnel"]})},onError:r=>{e("error"),s(r.message),n(null)}})}function J2(){const A=be(),e=Fe(t=>t.reset);return Ye({mutationFn:U2,onSuccess:()=>{e(),A.invalidateQueries({queryKey:["tunnel"]})}})}function L2(){const A=Fe(a=>a.setStatus),e=Fe(a=>a.setUrl),t=Fe(a=>a.setError),s=Fe(a=>a.setProgress),n=Fe(a=>a.isExpanded),r=D.useRef(null),i=D.useCallback(()=>{r.current&&r.current.close();const a=new EventSource(`${Xo}/v1/tunnel/stream`);return r.current=a,a.onmessage=g=>{try{const Q=JSON.parse(g.data);Q.type==="status"&&(A(Q.status),e(Q.url),t(Q.error),s(Q.progress))}catch{}},a.onerror=()=>{a.close(),r.current=null},()=>{a.close(),r.current=null}},[A,e,t,s]);return D.useEffect(()=>n?i():()=>{r.current&&(r.current.close(),r.current=null)},[n,i]),{connect:i}}function j2(A){try{const t=new URL(A).hostname;return t.length>24?`${t.slice(0,12)}...${t.slice(-8)}`:t}catch{return A.length>24?`${A.slice(0,12)}...${A.slice(-8)}`:A}}const T2=D.memo(function(){const e=Fe(C=>C.isExpanded),t=Fe(C=>C.collapseSidebar),s=Fe(C=>C.status),n=Fe(C=>C.url),r=Fe(C=>C.error),i=Fe(C=>C.progress),a=K2(),g=J2(),[Q,l]=D.useState(!1);R2(),L2();const u=async()=>{n&&(await navigator.clipboard.writeText(n),l(!0),setTimeout(()=>l(!1),2e3))},d=()=>{a.mutate()},E=()=>{g.mutate()};return e?o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(jo,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"Remote Access"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(rt,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[s==="idle"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[o.jsx(jo,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Access from anywhere"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[200px]",children:"Start a secure tunnel to access otto from your phone or another device."}),o.jsx("button",{type:"button",onClick:d,disabled:a.isPending,className:"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",children:a.isPending?"Starting...":"Start Tunnel"})]}),s==="starting"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[o.jsx(Le,{className:"w-8 h-8 text-primary animate-spin mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Setting up..."}),i&&o.jsx("p",{className:"text-xs text-muted-foreground max-w-[220px] break-words",children:i})]}),s==="connected"&&n&&o.jsxs("div",{className:"flex flex-col",children:[o.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[o.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"}),o.jsx("span",{className:"text-xs font-medium text-green-600",children:"Connected"})]}),o.jsx("div",{className:"flex justify-center pb-4",children:o.jsx("div",{className:"p-3 bg-white rounded-lg",children:o.jsx(Pn,{value:n,size:160,level:"M",includeMargin:!1})})}),o.jsx("p",{className:"text-xs text-muted-foreground mb-4 text-center",children:"Scan with your phone camera"}),o.jsxs("div",{className:"flex items-center justify-between text-sm mb-4",children:[o.jsx("span",{className:"text-muted-foreground",children:"URL"}),o.jsxs("button",{type:"button",onClick:u,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy URL",children:[j2(n),Q?o.jsx(Pt,{className:"w-3 h-3 text-green-500"}):o.jsx(cs,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsxs("button",{type:"button",onClick:()=>Eo(n),className:"flex items-center justify-center gap-2 px-4 py-2 border border-border rounded-md text-sm hover:bg-muted transition-colors mb-3",children:[o.jsx(bt,{className:"w-3.5 h-3.5"}),"Open in browser"]}),o.jsx("button",{type:"button",onClick:E,disabled:g.isPending,className:"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:g.isPending?"Stopping...":"Stop Tunnel"})]}),s==="error"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[r?.includes("Rate limited")?o.jsxs(o.Fragment,{children:[o.jsx(da,{className:"w-8 h-8 text-yellow-500 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Rate Limited"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[220px]",children:"Cloudflare limits anonymous tunnel requests. Please wait 5-10 minutes before trying again."})]}):o.jsxs(o.Fragment,{children:[o.jsx(uo,{className:"w-8 h-8 text-destructive mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Connection failed"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[200px]",children:r||"Unable to establish tunnel connection."})]}),o.jsx("button",{type:"button",onClick:d,disabled:a.isPending||r?.includes("Rate limited"),className:"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",title:r?.includes("Rate limited")?"Wait 5-10 minutes":void 0,children:r?.includes("Rate limited")?"Wait & Try Again":"Try Again"})]})]})]}):null}),O2=D.memo(function(){const e=Fe(r=>r.isExpanded),t=Fe(r=>r.toggleSidebar),n=Fe(r=>r.status)==="connected";return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Remote Access",children:[o.jsx(jo,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n&&o.jsx("span",{className:"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full animate-pulse"})]})});function q2(){const A=We(t=>t.setServers),e=nt({queryKey:["mcp","servers"],queryFn:async()=>{const{data:t}=await vu();return t},refetchInterval:1e4});return D.useEffect(()=>{e.data?.servers&&A(e.data.servers)},[e.data,A]),e}function Y2(){const A=be();return Ye({mutationFn:async e=>{const{data:t,error:s}=await Ru({path:{name:e}});if(s)throw new Error("Failed to start server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to start server");return n},onSettled:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function H2(){const A=be(),e=We(t=>t.setLoading);return Ye({mutationFn:async t=>{e(t,!0);const{data:s,error:n}=await Ku({path:{name:t}});if(n)throw new Error("Failed to stop server");const r=s;if(!r.ok)throw new Error(r.error||"Failed to stop server");return r},onSettled:(t,s,n)=>{e(n,!1),A.invalidateQueries({queryKey:["mcp","servers"]})}})}function P2(){const A=be();return Ye({mutationFn:async e=>{const{data:t,error:s}=await Su({body:e});if(s)throw new Error("Failed to add MCP server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to add MCP server");return n},onSuccess:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function W2(){const A=be();return Ye({mutationFn:async e=>{const{data:t,error:s}=await Uu({path:{name:e}});if(s)throw new Error("Failed to remove MCP server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to remove MCP server");return n},onSuccess:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function z2(){const A=be();return Ye({mutationFn:async e=>{const{data:t,error:s}=await Ju({path:{name:e}});if(s)throw new Error("Failed to initiate auth");const n=t;if(!n.ok)throw new Error(n.error||"Failed to initiate auth");return n},onSettled:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function V2(A){return nt({queryKey:["mcp","auth",A],queryFn:async()=>{if(!A)return{authenticated:!1};const{data:e}=await ju({path:{name:A}});return e},enabled:!!A,refetchInterval:3e3})}function Z2(){const A=We(i=>i.copilotDevice),e=We(i=>i.setCopilotDevice),t=We(i=>i.setLoading),s=be(),n=D.useRef(null),r=D.useCallback(()=>{n.current&&(clearInterval(n.current),n.current=null)},[]);return D.useEffect(()=>{if(!A){r();return}const{sessionId:i,serverName:a,interval:g}=A,Q=(g||5)*1e3+1e3;return n.current=setInterval(async()=>{try{const{data:l}=await Lu({path:{name:a},body:{sessionId:i}}),u=l;u?.status==="complete"?(r(),e(null),t(a,!1),s.invalidateQueries({queryKey:["mcp","servers"]})):u?.status==="error"&&(r(),e(null),t(a,!1))}catch{r(),e(null),t(a,!1)}},Q),r},[A,e,t,s,r]),A}function _2(A){const e=A.trim().split(/\s+/);return{command:e[0]??"",args:e.slice(1)}}function X2(A){const e=A.trim();if(!e)return;const t={};for(const s of e.split(`
|
|
135
|
+
`)){const n=s.indexOf("=");n>0&&(t[s.slice(0,n).trim()]=s.slice(n+1).trim())}return Object.keys(t).length>0?t:void 0}function $2(A){const e=A.trim();if(!e)return;const t={};for(const s of e.split(`
|
|
136
|
+
`)){const n=s.indexOf(":");n>0&&(t[s.slice(0,n).trim()]=s.slice(n+1).trim())}return Object.keys(t).length>0?t:void 0}const A1=D.memo(function({isOpen:e,onClose:t}){const[s,n]=D.useState("local"),[r,i]=D.useState(""),[a,g]=D.useState(""),[Q,l]=D.useState(""),[u,d]=D.useState("http"),[E,C]=D.useState(""),[p,f]=D.useState(""),[M,S]=D.useState("global"),[N,T]=D.useState(null),L=P2(),Z=D.useCallback(()=>{i(""),g(""),l(""),d("http"),C(""),f(""),S("global"),T(null),n("local")},[]),AA=D.useCallback(()=>{Z(),t()},[Z,t]),_=D.useCallback(async()=>{T(null);const K=r.trim();if(!K){T("Server name is required");return}try{if(s==="local"){const w=a.trim();if(!w){T("Command is required");return}if(/^https?:\/\//i.test(w)){T("Local commands cannot be URLs. Switch to Remote (HTTP) for remote servers.");return}const{command:B,args:I}=_2(w);await L.mutateAsync({name:K,transport:"stdio",command:B,args:I,env:X2(p),scope:M})}else{const w=Q.trim();if(!w){T("URL is required");return}await L.mutateAsync({name:K,transport:u,url:w,headers:$2(E),scope:M})}AA()}catch(w){T(w instanceof Error?w.message:"Failed to add server")}},[r,s,a,p,Q,u,E,M,L,AA]),J=D.useRef(null),[P,b]=D.useState(void 0);return D.useEffect(()=>{const K=J.current;if(!K)return;const w=new ResizeObserver(()=>{b(K.scrollHeight)});return w.observe(K),()=>w.disconnect()},[]),o.jsx(Oo,{isOpen:e,onClose:AA,title:"Add MCP Server",children:o.jsx("div",{className:"overflow-hidden transition-[height] duration-200 ease-in-out",style:{height:P!==void 0?P:"auto"},children:o.jsxs("div",{ref:J,className:"space-y-4",children:[o.jsxs("div",{className:"relative flex w-full rounded-lg bg-muted p-1",children:[o.jsx("div",{className:"absolute top-1 bottom-1 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:s==="local"?"4px":"50%",right:s==="remote"?"4px":"50%"}}),o.jsxs("button",{type:"button",onClick:()=>n("local"),className:`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${s==="local"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(oo,{className:"w-4 h-4"}),"Local (stdio)"]}),o.jsxs("button",{type:"button",onClick:()=>n("remote"),className:`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${s==="remote"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(jo,{className:"w-4 h-4"}),"Remote (HTTP)"]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Name"}),o.jsx(Vr,{value:r,onChange:K=>i(K.target.value),placeholder:"e.g. github, linear, helius",autoFocus:!0})]}),s==="local"?o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Command"}),o.jsx(Vr,{value:a,onChange:K=>g(K.target.value),placeholder:"e.g. npx -y @modelcontextprotocol/server-github",onKeyDown:K=>{K.key==="Enter"&&_()}}),o.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Like"," ",o.jsx("code",{className:"bg-muted px-1 rounded",children:"npx -y helius-mcp@latest"})]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Environment Variables"}),o.jsx("textarea",{value:p,onChange:K=>f(K.target.value),placeholder:`GITHUB_TOKEN=ghp_xxx
|
|
137
|
+
API_KEY=sk-xxx`,rows:2,className:"w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"One per line: KEY=VALUE"})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"URL"}),o.jsx(Vr,{value:Q,onChange:K=>l(K.target.value),placeholder:"e.g. https://mcp.linear.app/mcp",onKeyDown:K=>{K.key==="Enter"&&_()}})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Transport"}),o.jsxs("div",{className:"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5",children:[o.jsx("div",{className:"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:u==="http"?"2px":"50%",right:u==="sse"?"2px":"50%"}}),o.jsx("button",{type:"button",onClick:()=>d("http"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${u==="http"?"text-foreground":"text-muted-foreground/50"}`,children:"HTTP (recommended)"}),o.jsx("button",{type:"button",onClick:()=>d("sse"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${u==="sse"?"text-foreground":"text-muted-foreground/50"}`,children:"SSE (legacy)"})]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Headers"}),o.jsx("textarea",{value:E,onChange:K=>C(K.target.value),placeholder:"Authorization: Bearer xxx",rows:2,className:"w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"One per line: Header-Name: value"})]}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"For OAuth servers (Linear, Notion, etc.), leave headers empty and authenticate after adding."})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Scope"}),o.jsxs("div",{className:"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5",children:[o.jsx("div",{className:"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:M==="global"?"2px":"50%",right:M==="project"?"2px":"50%"}}),o.jsxs("button",{type:"button",onClick:()=>S("global"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${M==="global"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(fa,{className:"w-3 h-3"}),"All projects"]}),o.jsxs("button",{type:"button",onClick:()=>S("project"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${M==="project"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(or,{className:"w-3 h-3"}),"This project only"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:M==="global"?"Saved to ~/.config/otto/config.json":"Saved to .otto/config.json (project-local)"})]}),N&&o.jsx("div",{className:"text-sm text-red-400 bg-red-500/10 px-3 py-2 rounded",children:N}),o.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[o.jsx(Qe,{variant:"ghost",onClick:AA,children:"Cancel"}),o.jsx(Qe,{variant:"primary",onClick:_,disabled:L.isPending,children:L.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-3 h-3 animate-spin mr-1"}),"Adding..."]}):"Add Server"})]})]})})})}),e1=D.memo(function({checked:e,loading:t,onChange:s,disabled:n}){return o.jsx("button",{type:"button",role:"switch","aria-checked":e,disabled:n||t,onClick:r=>{r.stopPropagation(),s()},className:`relative inline-flex h-5 w-9 flex-shrink-0 items-center rounded-full transition-colors duration-200 focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed ${e?"bg-green-500":"bg-muted-foreground/30"}`,children:o.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full transition-transform duration-200 ${e?"translate-x-[18px]":"translate-x-[3px]"} ${t?"bg-transparent":"bg-white"}`,children:t&&o.jsx(Le,{className:"w-3.5 h-3.5 animate-spin text-white"})})})}),t1=D.memo(function({userCode:e,verificationUri:t}){const[s,n]=D.useState(!1),r=D.useCallback(()=>{navigator.clipboard.writeText(e).then(()=>{n(!0),setTimeout(()=>n(!1),2e3)})},[e]);return o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsxs("div",{className:"rounded-md bg-yellow-500/10 border border-yellow-500/20 p-2 space-y-1.5",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[o.jsx(Le,{className:"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0"}),o.jsx("span",{className:"text-yellow-500/80",children:"Enter code at GitHub:"})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("code",{className:"text-sm font-mono font-bold text-yellow-400 tracking-wider",children:e}),o.jsx("button",{type:"button",onClick:r,className:"text-yellow-500/60 hover:text-yellow-400 transition-colors",title:"Copy code",children:o.jsx(Yc,{className:"w-3.5 h-3.5"})}),s&&o.jsx("span",{className:"text-xs text-green-400",children:"Copied!"})]}),o.jsxs("a",{href:t,target:"_blank",rel:"noopener noreferrer",onClick:i=>{i.preventDefault(),Eo(t)},className:"inline-flex items-center gap-1 text-xs text-yellow-400 hover:text-yellow-300 underline underline-offset-2",children:["Open GitHub login",o.jsx(bt,{className:"w-3 h-3"})]})]})})}),o1=D.memo(function({server:e,isLoading:t,authUrl:s,copilotDevice:n,onStart:r,onStop:i,onRemove:a,onAuth:g}){const[Q,l]=D.useState(!1),u=e.connected&&e.tools.length>0,d=e.transport==="http"||e.transport==="sse",E=(!!s||!!n)&&!e.connected,C=D.useCallback(()=>{e.authRequired&&!e.connected?g():e.connected?i():r()},[e.connected,e.authRequired,g,i,r]),p=D.useCallback(()=>{u&&l(f=>!f)},[u]);return o.jsxs("div",{className:`rounded-lg border transition-colors duration-200 group ${e.connected?"border-green-500/30 bg-green-500/5":E?"border-yellow-500/30 bg-yellow-500/5":"border-border bg-transparent"}`,children:[o.jsxs("div",{className:"flex items-center gap-3 px-3 py-2.5",children:[o.jsx(e1,{checked:e.connected,loading:t||E,onChange:C}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("span",{className:"text-sm font-medium truncate",children:e.name}),d&&o.jsx(jo,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),e.authRequired&&!e.connected&&o.jsx(Hc,{className:"w-3 h-3 text-yellow-500 flex-shrink-0"})]}),o.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[o.jsx("span",{className:"text-xs text-muted-foreground truncate",children:d?e.url:`${e.command??""} ${e.args.join(" ")}`}),o.jsx("span",{className:"flex items-center flex-shrink-0 opacity-50",title:e.scope==="project"?"Project-local":"Global",children:e.scope==="project"?o.jsx(or,{className:"w-3 h-3"}):o.jsx(fa,{className:"w-3 h-3"})})]})]}),o.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[u&&o.jsxs("button",{type:"button",onClick:p,className:"flex items-center gap-0.5 text-xs text-muted-foreground hover:text-foreground px-1.5 py-1 rounded transition-colors",children:[o.jsx(Pc,{className:"w-3 h-3"}),e.tools.length,Q?o.jsx(Ht,{className:"w-3 h-3"}):o.jsx(rt,{className:"w-3 h-3"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:a,title:"Remove server",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(lr,{className:"w-3 h-3 text-muted-foreground hover:text-red-400"})})]})]}),n&&!e.connected&&o.jsx(t1,{userCode:n.userCode,verificationUri:n.verificationUri}),!n&&E&&s&&o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[o.jsx(Le,{className:"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0"}),o.jsx("span",{className:"text-yellow-500/80",children:"Waiting for auth..."}),o.jsxs("a",{href:s,target:"_blank",rel:"noopener noreferrer",onClick:f=>{f.preventDefault(),Eo(s)},className:"inline-flex items-center gap-0.5 text-yellow-400 hover:text-yellow-300 underline underline-offset-2",children:["Open login",o.jsx(bt,{className:"w-3 h-3"})]})]})}),u&&Q&&o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsx("div",{className:"flex flex-wrap gap-1",children:e.tools.map(f=>o.jsx("span",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",title:f,children:f.split("__").pop()},f))})})]})});function s1(A,e){const{data:t}=V2(A),s=D.useRef(!1);D.useEffect(()=>{t?.authenticated&&!s.current&&e(),s.current=t?.authenticated??!1},[t?.authenticated,e])}const r1=D.memo(function(){const e=We(K=>K.isExpanded),t=We(K=>K.collapseSidebar),s=We(K=>K.servers),n=We(K=>K.loading),r=We(K=>K.authUrls),i=We(K=>K.setAuthUrl),a=We(K=>K.setLoading),g=We(K=>K.setCopilotDevice),{isLoading:Q}=q2(),l=Y2(),u=H2(),d=W2(),E=z2(),C=Z2(),[p,f]=D.useState(!1),[M,S]=D.useState(null),[N,T]=D.useState(null),L=be(),Z=D.useCallback(()=>{M&&(i(M,null),S(null),L.invalidateQueries({queryKey:["mcp","servers"]}))},[M,i,L]);s1(M,Z),D.useEffect(()=>{for(const K of n)s.find(B=>B.name===K)?.connected&&a(K,!1)},[s,n,a]);const AA=D.useCallback((K,w)=>{w.sessionId&&w.userCode&&w.verificationUri&&(g({sessionId:w.sessionId,userCode:w.userCode,verificationUri:w.verificationUri,interval:w.interval??5,serverName:K}),Eo(w.verificationUri))},[g]),_=D.useCallback(async K=>{try{a(K,!0);const w=await E.mutateAsync(K);if(w.authType==="copilot-device"){if(w.authenticated){a(K,!1),L.invalidateQueries({queryKey:["mcp","servers"]});return}AA(K,w)}else w.authUrl?(i(K,w.authUrl),S(K),Eo(w.authUrl)):a(K,!1)}catch{a(K,!1),i(K,null)}},[E,i,a,AA,L]),J=D.useCallback(async K=>{try{a(K,!0);const w=await l.mutateAsync(K);w.authType==="copilot-device"&&!w.connected?AA(K,w):w.authRequired&&w.authUrl?(i(K,w.authUrl),S(K),Eo(w.authUrl)):a(K,!1)}catch{a(K,!1),i(K,null)}},[l,i,a,AA]),P=D.useMemo(()=>[...s].sort((K,w)=>K.connected&&!w.connected?-1:!K.connected&&w.connected?1:K.name.localeCompare(w.name)),[s]);if(!e)return null;const b=s.filter(K=>K.connected).length;return o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Er,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"MCP Servers"}),b>0&&o.jsxs("span",{className:"text-xs bg-green-500/20 text-green-400 px-1.5 py-0.5 rounded-full",children:[b," active"]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>f(!0),title:"Add MCP server",className:"h-7 w-7",children:o.jsx(co,{className:"w-4 h-4"})}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(rt,{className:"w-4 h-4"})})]})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:Q&&s.length===0?o.jsxs("div",{className:"flex items-center justify-center h-32 text-muted-foreground",children:[o.jsx(Le,{className:"w-4 h-4 animate-spin mr-2"}),"Loading..."]}):s.length===0?o.jsxs("div",{className:"p-4 text-sm text-muted-foreground space-y-3",children:[o.jsx("p",{children:"No MCP servers configured."}),o.jsxs(Qe,{variant:"primary",size:"sm",onClick:()=>f(!0),className:"w-full",children:[o.jsx(co,{className:"w-3 h-3 mr-1"}),"Add MCP Server"]}),o.jsxs("p",{className:"text-xs",children:["Or add servers to"," ",o.jsx("code",{className:"bg-muted px-1 py-0.5 rounded text-xs",children:".otto/config.json"})]})]}):o.jsx("div",{className:"p-2 space-y-1.5",children:P.map(K=>o.jsx(o1,{server:K,isLoading:n.has(K.name),authUrl:r.get(K.name),copilotDevice:C?.serverName===K.name?C:null,onStart:()=>J(K.name),onStop:()=>u.mutate(K.name),onRemove:()=>T(K.name),onAuth:()=>_(K.name)},K.name))})}),o.jsx(A1,{isOpen:p,onClose:()=>f(!1)}),o.jsxs(Oo,{isOpen:!!N,onClose:()=>T(null),title:"Remove MCP Server",maxWidth:"sm",showCloseButton:!1,children:[o.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Are you sure you want to remove"," ",o.jsx("span",{className:"font-medium text-foreground",children:N}),"? This will stop the server and remove its configuration."]}),o.jsxs("div",{className:"flex justify-end gap-2",children:[o.jsx(Qe,{variant:"secondary",size:"sm",onClick:()=>T(null),children:"Cancel"}),o.jsx(Qe,{variant:"primary",size:"sm",className:"bg-red-500 hover:bg-red-600 text-white",onClick:()=>{N&&d.mutate(N),T(null)},children:"Remove"})]})]})]})}),n1=D.memo(function(){const e=We(r=>r.isExpanded),t=We(r=>r.toggleSidebar),n=We(r=>r.servers).filter(r=>r.connected).length;return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"MCP Servers",children:[o.jsx(Er,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full"})]})});function i1(){const A=Ze(t=>t.setSkills),e=nt({queryKey:["skills"],queryFn:async()=>wA.listSkills(),refetchInterval:3e4});return D.useEffect(()=>{e.data?.skills&&A(e.data.skills)},[e.data,A]),e}function $E(A){return nt({queryKey:["skills",A],queryFn:async()=>A?wA.getSkill(A):null,enabled:!!A})}function a1(A){return nt({queryKey:["skills",A,"files"],queryFn:async()=>A?wA.getSkillFiles(A):null,enabled:!!A})}function g1(A,e){return nt({queryKey:["skills",A,"files",e],queryFn:async()=>!A||!e?null:wA.getSkillFileContent(A,e),enabled:!!A&&!!e})}const Q1={cwd:or,parent:or,repo:or,user:fa,system:jo},ZQ={cwd:"Project",parent:"Parent",repo:"Repository",user:"User",system:"System"};function B1(A){return A<1024?`${A} B`:A<1024*1024?`${(A/1024).toFixed(1)} KB`:`${(A/(1024*1024)).toFixed(1)} MB`}const l1=D.memo(function(){const e=Ze(E=>E.isExpanded),t=Ze(E=>E.collapseSidebar),s=Ze(E=>E.skills),n=Ze(E=>E.selectedSkill),r=Ze(E=>E.selectSkill),i=Ze(E=>E.openViewer),a=Ze(E=>E.viewingFile),{isLoading:g}=i1(),{data:Q}=$E(n),{data:l}=a1(n),u=l?.files??[],d=D.useMemo(()=>{const E=new Map;for(const C of s){const p=E.get(C.scope)??[];p.push(C),E.set(C.scope,p)}return E},[s]);return e?o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(No,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"Skills"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(rt,{className:"w-4 h-4"})})]}),n&&Q?o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsx("div",{className:"p-3 border-b border-border",children:o.jsx("button",{type:"button",onClick:()=>r(null),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"← Back to list"})}),o.jsxs("div",{className:"px-3 py-3 border-b border-border",children:[o.jsx("h3",{className:"font-medium text-sm mb-1",children:Q.name}),o.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:Q.description}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:ZQ[Q.scope]??Q.scope}),Q.license&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:Q.license})]})]}),o.jsxs("div",{className:"py-1",children:[o.jsx("div",{className:"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:"Files"}),o.jsx("button",{type:"button",onClick:()=>i(null),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${a===null?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Es,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsx("span",{className:"text-sm font-mono truncate flex-1",children:"SKILL.md"})]})}),u.map(E=>o.jsx("button",{type:"button",onClick:()=>i(E.relativePath),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${a===E.relativePath?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(mn,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsx("span",{className:"text-sm font-mono truncate flex-1",children:E.relativePath}),o.jsx("span",{className:"text-[10px] text-muted-foreground flex-shrink-0",children:B1(E.size)})]})},E.relativePath))]})]}):o.jsx("div",{className:"flex-1 overflow-y-auto",children:g?o.jsx("div",{className:"flex items-center justify-center py-8",children:o.jsx(Le,{className:"w-4 h-4 animate-spin text-muted-foreground"})}):s.length===0?o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[o.jsx(No,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"No skills found"}),o.jsxs("p",{className:"text-xs text-muted-foreground max-w-[220px]",children:["Create skills in"," ",o.jsx("code",{className:"text-[10px] bg-muted px-1 rounded",children:".otto/skills/ or .agents/skills/"})," ","or"," ",o.jsx("code",{className:"text-[10px] bg-muted px-1 rounded",children:"~/.config/otto/skills/ or ~/.agents/skills/"})]})]}):o.jsx("div",{className:"py-1",children:["cwd","parent","repo","user","system"].map(E=>{const C=d.get(E);if(!C?.length)return null;const p=Q1[E]??jo;return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:[o.jsx(p,{className:"w-3 h-3"}),ZQ[E]??E]}),C.map(f=>o.jsx("button",{type:"button",onClick:()=>r(f.name),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${n===f.name?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Es,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx("div",{className:"text-sm font-medium truncate",children:f.name}),o.jsx("div",{className:"text-xs text-muted-foreground truncate",children:f.description})]})]})},`${f.scope}-${f.name}`))]},E)})})})]}):null}),E1=D.memo(function(){const e=Ze(s=>s.isExpanded),t=Ze(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Skills",children:o.jsx(No,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),c1={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"plaintext",toml:"toml"};function C1(A){const e=A.split(".").pop()?.toLowerCase()??"";return c1[e]??"plaintext"}const I1=D.memo(function(){const e=Ze(C=>C.isViewerOpen),t=Ze(C=>C.viewingFile),s=Ze(C=>C.selectedSkill),n=Ze(C=>C.closeViewer),{data:r}=$E(s),{data:i,isLoading:a}=g1(s,t),g=t===null,Q=g?r?.content:i?.content,l=g?!r:a,u=g?"SKILL.md":t??"",d=C1(u);if(D.useEffect(()=>{const C=p=>{const f=p.target,M=f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable;(p.key==="Escape"||p.key==="q"&&!M)&&e&&n()};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[e,n]),!e||!s)return null;const E=document?.documentElement.classList.contains("dark")?go:Qo;return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:n,title:"Close viewer (ESC)",children:o.jsx(st,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:s}),o.jsx("span",{className:"text-xs text-muted-foreground",children:"/"}),o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:u,children:u})]}),o.jsx("span",{className:"text-xs text-muted-foreground",children:d})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:l?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading..."}):Q?o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{language:d,style:E,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent",fontSize:"0.75rem",lineHeight:"1.25rem"},codeTagProps:{style:{flex:1}},children:Q})}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Unable to load file"})})]})}),_Q="file-browser",XQ=320,u1=280,d1=600;function h1({dirPath:A}){const t=_e(r=>r.expandedDirs).has(A),{data:s,isLoading:n}=LE(A,t);return t?n?o.jsx("div",{className:"pl-4 py-1 text-xs text-muted-foreground",children:"Loading..."}):o.jsx("div",{className:"pl-3",children:s?.items.map(r=>o.jsx(Ac,{name:r.name,path:r.path,type:r.type,gitignored:r.gitignored},r.path))}):null}function Ac({name:A,path:e,type:t,gitignored:s}){const n=_e(u=>u.expandedDirs),r=_e(u=>u.toggleDir),i=_e(u=>u.openFile),a=_e(u=>u.selectedFile),g=n.has(e),Q=a===e,l=D.useCallback(()=>{t==="directory"?r(e):i(e)},[t,e,r,i]);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",onClick:l,className:`w-full text-left flex items-center gap-1.5 px-2 py-1 text-sm hover:bg-muted/50 rounded transition-colors ${Q?"bg-muted text-foreground":"text-foreground/80"} ${s?"opacity-40":""}`,children:[t==="directory"?o.jsxs(o.Fragment,{children:[g?o.jsx(Ht,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}):o.jsx(rt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),g?o.jsx(gB,{className:"w-3.5 h-3.5 text-blue-500 flex-shrink-0"}):o.jsx(QB,{className:"w-3.5 h-3.5 text-blue-500 flex-shrink-0"})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"w-3 flex-shrink-0"}),o.jsx(mn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"})]}),o.jsx("span",{className:"truncate",children:A})]}),t==="directory"&&o.jsx(h1,{dirPath:e})]})}const f1=D.memo(function(){const e=_e(a=>a.isExpanded),t=_e(a=>a.collapseSidebar),s=_o(a=>a.widths[_Q]??XQ),{data:n,isLoading:r,refetch:i}=LE(".");return e?o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:s},children:[o.jsx(qs,{panelKey:_Q,side:"right",minWidth:u1,maxWidth:d1,defaultWidth:XQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(ir,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium",children:"Files"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(rt,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto p-1",children:r?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading file tree..."}):!n||n.items.length===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No files found"}):n.items.map(a=>o.jsx(Ac,{name:a.name,path:a.path,type:a.type,gitignored:a.gitignored},a.path))}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(ir,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"truncate",children:"Project Files"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>i(),title:"Refresh file tree",className:"h-6 w-6 flex-shrink-0",disabled:r,children:o.jsx(Zt,{className:`w-3 h-3 ${r?"animate-spin":""}`})})]})]})]}):null}),p1=D.memo(function(){const e=_e(s=>s.isExpanded),t=_e(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Files",children:o.jsx(ir,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),m1={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"plaintext",svelte:"svelte",toml:"toml",lock:"plaintext"};function w1(A){const e=A.split(".").pop()?.toLowerCase()??"";return m1[e]??"plaintext"}const x1=D.memo(function(){const e=_e(g=>g.isViewerOpen),t=_e(g=>g.selectedFile),s=_e(g=>g.closeViewer),{data:n,isLoading:r}=qD(t);if(D.useEffect(()=>{const g=Q=>{const l=Q.target,u=l.tagName==="INPUT"||l.tagName==="TEXTAREA"||l.isContentEditable;(Q.key==="Escape"||Q.key==="q"&&!u)&&e&&s()};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[e,s]),!e||!t)return null;const i=document?.documentElement.classList.contains("dark")?go:Qo,a=w1(t);return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:s,title:"Close file viewer (ESC)",children:o.jsx(st,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:t,children:t}),n&&o.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:[n.lineCount," lines"]})]}),o.jsx("span",{className:"text-xs text-muted-foreground",children:a})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:r?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading file..."}):n?o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{language:a,style:i,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent",fontSize:"0.75rem",lineHeight:"1.25rem"},codeTagProps:{style:{flex:1}},children:n.content})}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Unable to load file"})})]})}),ga=ct(A=>({isOpen:!1,open:()=>A({isOpen:!0}),close:()=>A({isOpen:!1}),toggle:()=>A(e=>({isOpen:!e.isOpen}))}));function D1(A,e){const t=A.toLowerCase(),s=e.toLowerCase();if(t.length===0)return{match:!0,score:0};if(s.includes(t))return{match:!0,score:100-s.indexOf(t)};let n=0,r=0,i=-1;for(let a=0;a<s.length&&n<t.length;a++)s[a]===t[n]&&(r+=10,i===a-1&&(r+=5),(a===0||s[a-1]==="/"||s[a-1]===".")&&(r+=8),i=a,n++);return{match:n===t.length,score:r}}const y1=D.memo(function(){const e=ga(M=>M.isOpen),t=ga(M=>M.close),s=_e(M=>M.openFile),n=_e(M=>M.expandSidebar),[r,i]=D.useState(""),[a,g]=D.useState(0),Q=D.useRef(null),l=D.useRef(null),{data:u}=Cl(),d=D.useMemo(()=>new Set(u?.ignoredFiles??[]),[u?.ignoredFiles]),E=D.useMemo(()=>u?.files?r?u.files.map(S=>({file:S,...D1(r,S)})).filter(S=>S.match).sort((S,N)=>N.score-S.score).slice(0,50).map(S=>S.file):u.files.slice(0,50):[],[u?.files,r]);D.useEffect(()=>{e&&(i(""),g(0),setTimeout(()=>Q.current?.focus(),0))},[e]),D.useEffect(()=>{l.current?.children[a]?.scrollIntoView({block:"nearest"})},[a]);const C=D.useCallback(M=>{n(),s(M),t()},[n,s,t]),p=D.useCallback(M=>{M.key==="ArrowDown"||M.ctrlKey&&M.key==="j"?(M.preventDefault(),g(S=>Math.min(S+1,E.length-1))):M.key==="ArrowUp"||M.ctrlKey&&M.key==="k"?(M.preventDefault(),g(S=>Math.max(S-1,0))):M.key==="Enter"&&E[a]?(M.preventDefault(),C(E[a])):M.key==="Escape"&&(M.preventDefault(),t())},[E,a,C,t]),f=D.useCallback(M=>{M.target===M.currentTarget&&t()},[t]);return e?o.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 bg-black/50 flex items-start justify-center z-[60] pt-[15vh]",onClick:f,onKeyDown:M=>{M.key==="Escape"&&t()},children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-2xl w-full max-w-lg overflow-hidden",children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 border-b border-border",children:[o.jsx(fs,{className:"w-4 h-4 text-muted-foreground flex-shrink-0"}),o.jsx("input",{ref:Q,type:"text",value:r,onChange:M=>{i(M.target.value),g(0)},onKeyDown:p,placeholder:"Search files by name...",className:"flex-1 bg-transparent py-3 text-sm text-foreground placeholder-muted-foreground outline-none"}),o.jsx("kbd",{className:"text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded border border-border font-mono",children:"ESC"})]}),o.jsx("div",{ref:l,className:"max-h-[40vh] overflow-y-auto",children:E.length===0?o.jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:r?"No matching files":"No files found"}):E.map((M,S)=>{const N=d.has(M);return o.jsxs("button",{type:"button",onClick:()=>C(M),className:`w-full text-left flex items-center gap-2 px-3 py-2 text-sm transition-colors ${S===a?"bg-accent text-accent-foreground":"text-foreground/80 hover:bg-muted/50"} ${N?"opacity-40":""}`,children:[o.jsx(mn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"}),o.jsx(N1,{path:M,query:r}),N&&o.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground italic",children:"ignored"})]},M)})}),E.length>0&&o.jsxs("div",{className:"px-3 py-2 border-t border-border text-xs text-muted-foreground flex items-center gap-3",children:[o.jsxs("span",{children:[o.jsx("kbd",{className:"bg-muted px-1 py-0.5 rounded border border-border font-mono",children:"↑↓"})," ","navigate"]}),o.jsxs("span",{children:[o.jsx("kbd",{className:"bg-muted px-1 py-0.5 rounded border border-border font-mono",children:"↵"})," ","open"]}),o.jsxs("span",{className:"ml-auto",children:[E.length," files"]})]})]})}):null});function N1({path:A,query:e}){if(!e)return o.jsx("span",{className:"truncate font-mono text-xs",children:A});const t=A.toLowerCase(),s=e.toLowerCase(),n=t.indexOf(s);return n>=0?o.jsxs("span",{className:"truncate font-mono text-xs",children:[A.slice(0,n),o.jsx("span",{className:"text-primary font-semibold",children:A.slice(n,n+e.length)}),A.slice(n+e.length)]}):o.jsx("span",{className:"truncate font-mono text-xs",children:A})}const k1=D.memo(function({authStatus:e,onSetupWallet:t,onImportWallet:s,onAddProvider:n,onRemoveProvider:r,onStartOAuth:i,onStartOAuthManual:a,onExchangeOAuthCode:g,onOpenTopup:Q,onNext:l,manageMode:u=!1,onClose:d,hideHeader:E=!1,onStartCopilotDeviceFlow:C,onPollCopilotDeviceFlow:p,onGetCopilotAuthMethods:f,onSaveCopilotToken:M,onImportCopilotTokenFromGh:S,onGetCopilotDiagnostics:N}){const[T,L]=D.useState(!1),[Z,AA]=D.useState(!1),[_,J]=D.useState(!1),[P,b]=D.useState(""),[K,w]=D.useState(!1),[B,I]=D.useState(null),[y,G]=D.useState(null),[j,O]=D.useState(""),[z,v]=D.useState(null),[c,h]=D.useState(null),[U,R]=D.useState(null),[X,tA]=D.useState(""),[uA,aA]=D.useState(!1),[KA,PA]=D.useState(!1),[dA,ZA]=D.useState(null),[ne,Ee]=D.useState(!1),[FA,RA]=D.useState(null),[Be,ye]=D.useState("oauth"),[ue,Ne]=D.useState(""),[MA,WA]=D.useState(!1),[_A,Oe]=D.useState(!1),[le,q]=D.useState(null),[x,k]=D.useState(null),[V,eA]=D.useState(!1),[iA,QA]=D.useState(!1),[zA,VA]=D.useState(!1),YA=D.useRef(void 0),pe=D.useRef(!1),HA=D.useRef(p);HA.current=p;const Re=xe(nA=>nA.balance),zt=xe(nA=>nA.usdcBalance),ze=xe(nA=>nA.payg),Ve=xe(nA=>nA.subscription),Fo=xe(nA=>nA.isLoading),ke=D.useRef(null),Ge=D.useRef(null),yt=D.useRef(null),qe=xe(nA=>nA.isTopupModalOpen),LA=D.useRef(!1),{fetchBalance:dt}=Yn("setu"),et=ze?.effectiveSpendableUsd??Re??0,Me=Ve?.active?`GO ${(Ve.creditsRemaining??0).toFixed(1)} credits`:`$${et.toFixed(2)}`;D.useEffect(()=>{LA.current&&!qe&&dt(),LA.current=qe},[qe,dt]),D.useEffect(()=>{!e.setu.configured&&!Z&&(AA(!0),t().finally(()=>AA(!1)))},[e.setu.configured,t,Z]),D.useEffect(()=>{y&&ke.current&&ke.current.focus()},[y]),D.useEffect(()=>{U&&Ge.current&&Ge.current.focus()},[U]),D.useEffect(()=>{_&&yt.current&&yt.current.focus()},[_]),D.useEffect(()=>{if(!ne||!dA||!HA.current)return;pe.current=!1;const nA=Math.max((dA.interval||5)*1e3+2e3,7e3),vA=()=>{YA.current=setTimeout(async()=>{if(!pe.current)try{const JA=HA.current;if(!JA)return;const jA=await JA(dA.sessionId);if(pe.current)return;jA.status==="complete"?(ZA(null),Ee(!1),RA(null),QA(!1)):jA.status==="error"?(RA(jA.error||"Authorization failed"),Ee(!1)):vA()}catch{pe.current||vA()}},nA)};vA();const kA=setTimeout(()=>{Ee(!1),RA("Authorization timed out. Please try again.")},3e5);return()=>{pe.current=!0,YA.current&&clearTimeout(YA.current),clearTimeout(kA)}},[ne,dA]);const es=async()=>{e.setu.publicKey&&(await navigator.clipboard.writeText(e.setu.publicKey),L(!0),setTimeout(()=>L(!1),2e3))},F=nA=>`${nA.slice(0,8)}...${nA.slice(-6)}`,Y=async nA=>{if(j.trim())try{await n(nA,j.trim()),G(null),O("")}catch{}},H=async nA=>{if(c===nA){v(nA);try{await r(nA)}finally{v(null),h(null)}}else h(nA)},m=()=>{h(null)},W=()=>{C&&(VA(!0),RA(null),C().then(nA=>{ZA(nA),VA(!1)}).catch(nA=>{RA(nA instanceof Error?nA.message:"Failed to start device flow"),VA(!1)}))},rA=async(nA,vA)=>{nA==="anthropic"?R({provider:nA,sessionId:null,mode:vA}):nA==="copilot"?(ye("oauth"),Ne(""),k(null),q(null),Ee(!1),ZA(null),RA(null),QA(!0),f&&f().then(kA=>q(kA)).catch(()=>{}),N&&N().then(kA=>k(kA)).catch(()=>{}),W()):i(nA,vA)},oA=async()=>{if(U){PA(!0);try{const{sessionId:nA}=await a(U.provider,U.mode);R({...U,sessionId:nA})}catch(nA){console.error("Failed to start OAuth:",nA)}PA(!1)}},CA=async()=>{if(!(!U||!U.sessionId||!X.trim())){aA(!0);try{await g(U.provider,X.trim(),U.sessionId),R(null),tA("")}catch{}aA(!1)}},xA=()=>{R(null),tA("")},bA=()=>{dA&&(Eo(dA.verificationUri),Ee(!0))},DA=nA=>{ye(nA),RA(null),nA==="token"&&Ee(!1),nA==="oauth"&&!dA&&!zA&&W()},me=async()=>{if(!(!ue.trim()||!M)){WA(!0),RA(null);try{await M(ue.trim()),XA()}catch(nA){RA(nA instanceof Error?nA.message:"Failed to save Copilot token")}finally{WA(!1)}}},UA=async()=>{if(S){Oe(!0),RA(null);try{await S(),XA()}catch(nA){RA(nA instanceof Error?nA.message:"Failed to import token from GitHub CLI")}finally{Oe(!1)}}},ee=async()=>{dA&&(await navigator.clipboard.writeText(dA.userCode),eA(!0),setTimeout(()=>eA(!1),2e3))},XA=()=>{ZA(null),Ee(!1),RA(null),Ne(""),WA(!1),Oe(!1),ye("oauth"),eA(!1),QA(!1),VA(!1),pe.current=!0,YA.current&&(clearTimeout(YA.current),YA.current=void 0)},ie=()=>{I(null),b(""),J(!0)},re=()=>{K||(J(!1),I(null),b(""))},te=async()=>{if(!(!P.trim()||K)){w(!0),I(null);try{await s(P.trim()),J(!1),b(""),dt()}catch(nA){I(nA instanceof Error?nA.message:"Failed to import wallet")}finally{w(!1)}}},$A=Object.entries(e.providers).filter(([nA,vA])=>vA.configured&&nA!=="setu"),oe=Object.entries(e.providers).filter(([nA,vA])=>!vA.configured&&nA!=="setu");return o.jsxs("div",{className:"min-h-screen flex flex-col",children:[!E&&o.jsxs("div",{className:"flex items-center justify-between px-4 sm:px-6 py-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(Vt,{provider:"setu",size:24}),o.jsx("span",{className:"font-semibold text-foreground",children:"otto"})]}),!u&&o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500"}),"Step 1 of 2"]})]}),o.jsx("div",{className:`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${E?"pt-8 sm:pt-10 lg:pt-14":"pt-6 sm:pt-8 lg:pt-12"}`,children:o.jsxs("div",{className:"max-w-7xl mx-auto",children:[o.jsxs("div",{className:"mb-10",children:[o.jsx("h1",{className:"text-2xl sm:text-3xl lg:text-4xl font-semibold text-foreground mb-3",children:u?"Manage Providers":"Welcome to otto"}),o.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl",children:u?"Add or remove AI providers. Your changes are saved automatically.":"Setu is your default AI provider. GO plan credits are applied automatically."})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6 sm:gap-8",children:[o.jsx("div",{children:o.jsx("div",{className:"bg-card rounded-2xl border border-border p-5",children:e.setu.configured&&e.setu.publicKey?o.jsxs("div",{className:"flex flex-col h-full",children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-green-500/10 border border-green-500/20 rounded-lg",children:[o.jsx(Vt,{provider:"setu",size:16}),o.jsx("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:"Setu"}),o.jsx("span",{className:"text-xs text-green-600/60 dark:text-green-500/60 ml-auto",children:"Default Provider"})]}),o.jsx("div",{className:"flex justify-center py-4 mt-4",children:o.jsx("div",{className:"bg-white p-2 rounded-lg",children:o.jsx(Pn,{value:e.setu.publicKey,size:140,level:"M"})})}),o.jsxs("div",{className:"space-y-2 mt-4",children:[o.jsxs("button",{type:"button",onClick:es,className:"w-full flex items-center justify-center gap-2 px-3 py-2 bg-muted hover:bg-muted/80 rounded-lg text-xs font-mono text-muted-foreground transition-colors",children:[F(e.setu.publicKey),T?o.jsx(Pt,{className:"w-3.5 h-3.5 text-green-500"}):o.jsx(cs,{className:"w-3.5 h-3.5 text-muted-foreground"})]}),o.jsxs("div",{className:"space-y-1.5 px-3 py-2 bg-muted/50 rounded-lg",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("div",{className:"flex items-center gap-1.5 min-w-0",children:o.jsx("span",{className:"font-mono text-xs sm:text-sm text-foreground truncate",children:Me})}),o.jsx("button",{type:"button",onClick:dt,disabled:Fo,className:"p-0.5 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:o.jsx(Zt,{className:`w-3 h-3 ${Fo?"animate-spin":""}`})})]}),o.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["Balance $",(Re??0).toFixed(2)," • On-chain"," ",(zt??0).toFixed(2)," USDC"]})]})]}),o.jsxs("div",{className:"flex items-center gap-4 py-4",children:[o.jsx("div",{className:"flex-1 h-px bg-border"}),o.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:"OR"}),o.jsx("div",{className:"flex-1 h-px bg-border"})]}),o.jsxs("button",{type:"button",onClick:Q,className:"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors",children:[o.jsx(Br,{className:"w-4 h-4"}),"Top Up with Card"]}),o.jsxs("button",{type:"button",onClick:ie,className:"w-full mt-2 flex items-center justify-center gap-2 px-4 py-2.5 border border-border text-foreground rounded-lg text-sm font-medium hover:bg-muted/50 transition-colors",children:[o.jsx(sn,{className:"w-4 h-4"}),"Import Wallet"]})]}):o.jsx("div",{className:"flex items-center justify-center py-16",children:o.jsx(Le,{className:"w-8 h-8 animate-spin text-muted-foreground"})})})}),o.jsxs("div",{className:"sm:col-span-2 space-y-6",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center justify-between mb-4",children:[o.jsx("h2",{className:"font-semibold text-foreground",children:"Connected Providers"}),$A.length>0&&o.jsxs("span",{className:"text-sm text-muted-foreground",children:[$A.length," active"]})]}),$A.length===0?o.jsx("div",{className:"text-sm text-muted-foreground py-4",children:"No providers connected yet. Add one below."}):o.jsx("div",{className:"flex flex-wrap gap-2",children:$A.map(([nA,vA])=>o.jsxs("div",{className:`flex items-center gap-2 pl-3 pr-2 py-2 rounded-full transition-all duration-200 ${c===nA?"bg-destructive/10 border border-destructive/30":"group bg-green-500/10 border border-green-500/20"}`,children:[o.jsx(Vt,{provider:nA,size:16}),o.jsx("span",{className:`text-sm font-medium transition-colors ${c===nA?"text-destructive":"text-green-600 dark:text-green-400"}`,children:vA.label}),c!==nA&&o.jsx("span",{className:"text-xs text-green-600/60 dark:text-green-500/60",children:vA.type==="oauth"?"OAuth":"API"}),c===nA?o.jsxs("div",{className:"flex items-center gap-1 ml-1",children:[o.jsx("span",{className:"text-xs text-destructive/80 mr-1",children:"Remove?"}),o.jsx("button",{type:"button",onClick:()=>H(nA),disabled:z===nA,className:"px-2 py-0.5 text-xs bg-destructive text-destructive-foreground rounded hover:bg-destructive/90 transition-colors disabled:opacity-50",children:z===nA?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):"Yes"}),o.jsx("button",{type:"button",onClick:m,className:"px-2 py-0.5 text-xs bg-muted text-muted-foreground rounded hover:bg-muted/80 transition-colors",children:"No"})]}):nA!=="setu"&&o.jsx("button",{type:"button",onClick:()=>H(nA),className:"ml-1 p-1 text-green-600/40 dark:text-green-500/40 hover:text-green-600/80 dark:hover:text-green-500/80 opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(st,{className:"w-3 h-3"})})]},nA))})]}),o.jsxs("div",{children:[o.jsx("h2",{className:"font-semibold text-foreground mb-4",children:"Add Providers"}),o.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 items-start",children:oe.map(([nA,vA])=>o.jsx("div",{children:y===nA?o.jsxs("div",{className:"flex items-center gap-2 p-3 bg-card border border-ring rounded-xl overflow-hidden",children:[o.jsx("div",{className:"shrink-0",children:o.jsx(Vt,{provider:nA,size:18})}),o.jsx("input",{ref:ke,type:"password",value:j,onChange:kA=>O(kA.target.value),placeholder:`${vA.label} API key...`,className:"flex-1 min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground text-foreground",onKeyDown:kA=>{kA.key==="Enter"&&Y(nA),kA.key==="Escape"&&(G(null),O(""))}}),o.jsx("button",{type:"button",onClick:()=>Y(nA),disabled:!j.trim(),className:"shrink-0 px-3 py-1.5 bg-primary text-primary-foreground text-sm font-medium rounded-lg disabled:opacity-50",children:"Add"}),o.jsx("button",{type:"button",onClick:()=>{G(null),O("")},className:"shrink-0 p-1.5 text-muted-foreground hover:text-foreground",children:o.jsx(st,{className:"w-4 h-4"})})]}):o.jsxs("div",{className:"flex items-center justify-between p-3 bg-card border border-border hover:border-border/80 rounded-xl transition-colors gap-2",children:[o.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[o.jsx(Vt,{provider:nA,size:20}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"font-medium text-foreground truncate",children:vA.label}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[vA.modelCount," models"]})]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[nA!=="copilot"&&o.jsxs("button",{type:"button",onClick:()=>G(nA),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",children:[o.jsx(sn,{className:"w-3.5 h-3.5"}),"API"]}),vA.supportsOAuth&&o.jsxs("button",{type:"button",onClick:()=>rA(nA,nA==="anthropic"?"max":void 0),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",children:[o.jsx(bt,{className:"w-3.5 h-3.5"}),nA==="anthropic"?"Pro":nA==="copilot"?"Login":"OAuth"]})]})]})},nA))})]})]})]})]})}),o.jsx("div",{className:"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background",children:o.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-between",children:[!u&&o.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground hidden sm:block",children:"You can add more providers later in settings"}),u?o.jsx("button",{type:"button",onClick:d,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors ml-auto",children:"Done"}):o.jsxs("button",{type:"button",onClick:l,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors",children:["Continue",o.jsx(BB,{className:"w-4 h-4"})]})]})}),_&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx(Vt,{provider:"setu",size:24}),o.jsx("h3",{className:"text-lg font-semibold",children:"Import Setu Wallet"})]}),o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Paste your base58 private key to replace the current wallet used for Setu."}),o.jsx("textarea",{ref:yt,value:P,onChange:nA=>b(nA.target.value),placeholder:"Enter private key",className:"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-xs resize-y",onKeyDown:nA=>{(nA.metaKey||nA.ctrlKey)&&nA.key==="Enter"&&(nA.preventDefault(),te()),nA.key==="Escape"&&re()}}),B&&o.jsx("p",{className:"text-sm text-red-500 mt-3",children:B}),o.jsxs("div",{className:"flex gap-3 mt-5",children:[o.jsx("button",{type:"button",onClick:re,disabled:K,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Cancel"}),o.jsx("button",{type:"button",onClick:te,disabled:!P.trim()||K,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:K?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Import Wallet"})]})]})]})}),U&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx(Vt,{provider:U.provider,size:24}),o.jsxs("h3",{className:"text-lg font-semibold",children:["Connect"," ",e.providers[U.provider]?.label||U.provider]})]}),U.sessionId?o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Paste the authorization code:"}),o.jsx("input",{type:"text",ref:Ge,value:X,onChange:nA=>tA(nA.target.value),placeholder:"Paste code here...",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors mb-4 font-mono text-sm",onKeyDown:nA=>{nA.key==="Enter"&&CA(),nA.key==="Escape"&&xA()}}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:xA,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),o.jsx("button",{type:"button",onClick:CA,disabled:!X.trim()||uA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:uA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Connect"})]})]}):o.jsxs("div",{className:"p-6",children:[o.jsxs("p",{className:"text-sm text-muted-foreground mb-6",children:["You'll be redirected to"," ",e.providers[U.provider]?.label||U.provider," ","to authorize access. After authorizing, copy the code and return here."]}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:xA,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),o.jsx("button",{type:"button",onClick:oA,disabled:KA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:KA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Continue",o.jsx(bt,{className:"w-4 h-4"})]})})]})]})]})}),iA&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx(Vt,{provider:"copilot",size:24}),o.jsx("h3",{className:"text-lg font-semibold",children:"Connect GitHub Copilot"})]}),o.jsxs("div",{className:"p-6 space-y-4",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("button",{type:"button",onClick:()=>DA("oauth"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${Be==="oauth"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"OAuth"}),o.jsx("button",{type:"button",onClick:()=>DA("token"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${Be==="token"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"Token"})]}),Be==="oauth"?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"Enter this code on GitHub to authorize:"}),o.jsx("div",{className:"flex items-center justify-center gap-3",children:zA?o.jsx("div",{className:"bg-muted px-6 py-3 rounded-lg animate-pulse",children:o.jsx("div",{className:"h-9 w-48 bg-muted-foreground/20 rounded"})}):dA?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"text-3xl font-mono font-bold tracking-widest text-foreground bg-muted px-6 py-3 rounded-lg select-all",children:dA.userCode}),o.jsx("button",{type:"button",onClick:ee,className:"p-2 text-muted-foreground hover:text-foreground transition-colors",children:V?o.jsx(Pt,{className:"w-5 h-5 text-green-500"}):o.jsx(cs,{className:"w-5 h-5"})})]}):null})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"Paste a GitHub token with Copilot model access."}),o.jsx("input",{type:"password",value:ue,onChange:nA=>Ne(nA.target.value),placeholder:"gho_...",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors"}),le?.ghImport.available&&o.jsx("button",{type:"button",onClick:UA,disabled:_A,className:"w-full h-10 px-4 bg-muted text-foreground rounded-lg font-medium hover:bg-muted/80 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:_A?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Import from GH CLI"}),le?.ghImport.available&&!le.ghImport.authenticated&&o.jsx("p",{className:"text-xs text-muted-foreground",children:le.ghImport.reason||"GitHub CLI is not authenticated"}),le&&!le.ghImport.available&&le.ghImport.reason&&o.jsx("p",{className:"text-xs text-muted-foreground",children:le.ghImport.reason})]}),x&&x.tokenSources.length>0&&o.jsx("div",{className:"text-xs text-muted-foreground space-y-1",children:x.tokenSources.map(nA=>o.jsxs("div",{children:[nA.source,":"," ",nA.configured?nA.error?nA.error:`${nA.modelCount??0} models visible`:"not configured",nA.restrictedByOrgPolicy&&nA.restrictedOrg?` (org restriction: ${nA.restrictedOrg})`:""]},nA.source))}),FA&&o.jsx("p",{className:"text-sm text-red-500 text-center",children:FA}),ne&&Be==="oauth"&&o.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Waiting for authorization..."]}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:XA,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),Be==="oauth"?o.jsx("button",{type:"button",onClick:bA,disabled:ne||zA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:ne||zA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Open GitHub",o.jsx(bt,{className:"w-4 h-4"})]})}):o.jsx("button",{type:"button",onClick:me,disabled:!ue.trim()||MA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:MA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Save token"})]})]})]})})]})}),M1=D.memo(function({authStatus:e,onComplete:t,onBack:s,hideHeader:n=!1}){const[r,i]=D.useState(null),[a,g]=D.useState(null),[Q,l]=D.useState(!0),[u,d]=D.useState(!1),[E,C]=D.useState("setu"),[p,f]=D.useState("kimi-k2.5"),[M,S]=D.useState(e.defaults.agent||"build"),[N,T]=D.useState(e.defaults.toolApproval||"dangerous"),[L,Z]=D.useState(!1),AA=D.useRef(!1),_=D.useId(),J=D.useId(),P=D.useId(),b=D.useId();D.useEffect(()=>{(async()=>{try{const[y,G]=await Promise.all([wA.getConfig(),wA.getAllModels()]);i(y),g(G);const j=y?.defaults?.provider||"setu",O=y?.defaults?.model||"kimi-k2.5",z=G?.[j]?.models?.length>0,v=z?j:"setu",c=z&&G[j].models.some(h=>h.id===O)?O:G?.[v]?.models?.[0]?.id||"kimi-k2.5";C(v),f(c),y?.defaults?.agent&&S(y.defaults.agent),y?.defaults?.toolApproval&&T(y.defaults.toolApproval),y?.defaults?.guidedMode&&Z(y.defaults.guidedMode)}catch{}finally{l(!1)}})()},[]),D.useEffect(()=>{if(r?.agents?.length){const I=r.agents;(!M||!I.includes(M))&&S(I.includes("build")?"build":I[0])}},[r,M]),D.useEffect(()=>{if(a?.[E]&&AA.current){const I=a[E];I.models.some(y=>y.id===p)||f(I.models[0]?.id||"")}},[E,a,p]);const K=async()=>{d(!0);try{await wA.updateDefaults({provider:E,model:p,agent:M,toolApproval:N,guidedMode:L,fullWidthContent:r?.defaults?.fullWidthContent??!0,scope:"global"}),await t()}catch{}finally{d(!1)}};if(Q)return o.jsx("div",{className:"min-h-screen flex items-center justify-center",children:o.jsx(Le,{className:"w-8 h-8 animate-spin text-muted-foreground"})});const w=r?.providers.filter(I=>(e.providers[I]?.configured||I==="setu")&&a?.[I]?.models?.length>0)||["setu"],B=a?.[E]?.models||[];return o.jsxs("div",{className:"min-h-screen flex flex-col",children:[!n&&o.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(Vt,{provider:"setu",size:24}),o.jsx("span",{className:"font-semibold text-foreground",children:"otto"})]}),o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500"}),"Step 2 of 2"]})]}),o.jsx("div",{className:`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${n?"pt-8 sm:pt-10 lg:pt-14":"pt-6 sm:pt-8 lg:pt-12"}`,children:o.jsxs("div",{className:"max-w-7xl mx-auto",children:[o.jsxs("div",{className:"mb-10",children:[o.jsx("h1",{className:"text-3xl lg:text-4xl font-semibold text-foreground mb-3",children:"Configure Defaults"}),o.jsx("p",{className:"text-lg text-muted-foreground",children:"Set your preferences. You can change these anytime in settings."})]}),o.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[o.jsxs("div",{className:"md:col-span-2",children:[o.jsx("label",{htmlFor:_,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Provider"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:_,value:E,onChange:I=>{AA.current=!0,C(I.target.value)},className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:w.map(I=>o.jsx("option",{value:I,children:e.providers[I]?.label||I},I))}),o.jsx(Ht,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{className:"md:col-span-2",children:[o.jsx("label",{htmlFor:J,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Model"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:J,value:p,onChange:I=>f(I.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:B.map(I=>o.jsx("option",{value:I.id,children:I.label||I.id},I.id))}),o.jsx(Ht,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:P,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Agent"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:P,value:M,onChange:I=>S(I.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:(r?.agents||["build"]).map(I=>o.jsx("option",{value:I,children:I},I))}),o.jsx(Ht,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:b,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Tool Approval"}),o.jsxs("div",{className:"relative",children:[o.jsxs("select",{id:b,value:N,onChange:I=>T(I.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:[o.jsx("option",{value:"auto",children:"Auto - run without asking"}),o.jsx("option",{value:"dangerous",children:"Dangerous - approve writes only"}),o.jsx("option",{value:"all",children:"All - approve every tool"})]}),o.jsx(Ht,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]}),o.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Controls when tool executions need approval"})]}),o.jsx("div",{className:"md:col-span-2",children:o.jsxs("div",{className:"flex items-center justify-between px-4 py-3 bg-card border border-border rounded-xl",children:[o.jsxs("div",{children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Guided Mode"}),o.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:"AI will run commands and manage services for you instead of giving instructions"})]}),o.jsx("button",{type:"button",role:"switch","aria-checked":L,onClick:()=>Z(!L),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${L?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${L?"translate-x-6":"translate-x-1"} ${L?"bg-primary-foreground":"bg-foreground"}`})})]})})]})]})}),o.jsx("div",{className:"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background",children:o.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-between",children:[o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-2 px-4 py-3 text-muted-foreground hover:text-foreground transition-colors",children:[o.jsx(Wc,{className:"w-4 h-4"}),"Back"]}),o.jsx("button",{type:"button",onClick:K,disabled:u,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",children:u?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Setting up..."]}):o.jsxs(o.Fragment,{children:["Start Using otto",o.jsx(No,{className:"w-4 h-4"})]})})]})})]})}),b1=D.memo(function({hideHeader:e=!1}){const t=Mt(_=>_.isOpen),s=Mt(_=>_.currentStep),n=Mt(_=>_.manageMode),r=Mt(_=>_.authStatus),i=Mt(_=>_.nextStep),a=Mt(_=>_.prevStep),g=Mt(_=>_.reset),Q=xe(_=>_.openTopupModal),{setupWallet:l,importWallet:u,addProvider:d,removeProvider:E,completeOnboarding:C,startOAuth:p,startOAuthManual:f,exchangeOAuthCode:M,startCopilotDeviceFlow:S,pollCopilotDeviceFlow:N,getCopilotAuthMethods:T,saveCopilotToken:L,importCopilotTokenFromGh:Z,getCopilotDiagnostics:AA}=tg();return!t||!r?null:o.jsxs("div",{className:"fixed inset-0 z-[9999] bg-background text-foreground overflow-y-auto",children:[s==="wallet"&&o.jsx(k1,{authStatus:r,onSetupWallet:l,onImportWallet:u,onAddProvider:d,onRemoveProvider:E,onStartOAuth:p,onStartOAuthManual:f,onExchangeOAuthCode:M,onOpenTopup:Q,onNext:i,manageMode:n,onClose:g,hideHeader:e,onStartCopilotDeviceFlow:S,onPollCopilotDeviceFlow:N,onGetCopilotAuthMethods:T,onSaveCopilotToken:L,onImportCopilotTokenFromGh:Z,onGetCopilotDiagnostics:AA}),s==="defaults"&&o.jsx(M1,{authStatus:r,onComplete:C,onBack:a,hideHeader:e})]})}),ec="otto-theme";function F1(){if(typeof window>"u")return"dark";const A=window.localStorage.getItem(ec);return A==="light"||A==="dark"?A:window.matchMedia?.("(prefers-color-scheme: light)").matches?"light":"dark"}function G1(){const[A,e]=D.useState(()=>F1());D.useEffect(()=>{if(typeof document>"u")return;const s=document.documentElement;A==="dark"?s.classList.add("dark"):s.classList.remove("dark");try{window.localStorage.setItem(ec,A)}catch(n){console.warn("Failed to persist theme preference",n)}window.parent&&window.parent!==window&&window.parent.postMessage({type:"otto-set-theme",theme:A},"*")},[A]),D.useEffect(()=>{if(typeof window>"u")return;const s=n=>{n.data?.type==="otto-set-theme"&&(n.data.theme==="light"||n.data.theme==="dark")&&e(n.data.theme)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[]);const t=D.useCallback(()=>{e(s=>s==="dark"?"light":"dark")},[]);return D.useMemo(()=>({theme:A,setTheme:e,toggleTheme:t}),[A,t])}function v1(){const[A,e]=D.useState(null);return D.useEffect(()=>{(async()=>{try{const r=`${window.OTTO_SERVER_URL||Xo}/v1/config/cwd`;console.log("[useWorkingDirectory] Fetching from:",r);const i=await fetch(r);if(!i.ok)throw console.error("[useWorkingDirectory] Failed:",i.status,i.statusText),new Error(`Failed to fetch working directory: ${i.status}`);const a=await i.json();console.log("[useWorkingDirectory] Success:",a),a.dirName&&(console.log("[useWorkingDirectory] Setting title to:",a.dirName),e(a.dirName),document.title=a.dirName)}catch(s){console.error("[useWorkingDirectory] Error:",s),document.title="otto"}})()},[]),A}function S1({sessionIds:A,activeSessionId:e,gitFiles:t,onSelectSession:s,onNewSession:n,onStageFile:r,onUnstageFile:i,onRestoreFile:a,onDeleteFile:g,onStageAll:Q,onUnstageAll:l,onOpenCommitModal:u,onViewDiff:d,onReturnToInput:E}){const{currentFocus:C,sessionIndex:p,gitFileIndex:f,setFocus:M,setSessionIndex:S,setGitFileIndex:N,resetGitFileIndex:T}=eg(),{setCollapsed:L,toggleCollapse:Z}=ds(),{isExpanded:AA,toggleSidebar:_}=Ue(),J=Ue(w=>w.closeDiff),P=It(w=>w.toggleSidebar),b=A.indexOf(e||""),K=D.useCallback(w=>{const B=w.target,I=B.tagName==="INPUT"||B.tagName==="TEXTAREA"||B.isContentEditable,y=!!B.closest("[data-terminal-viewer]");if((w.ctrlKey||w.metaKey)&&w.key==="h"){w.preventDefault(),C==="sessions"?(document.activeElement?.blur(),M("input"),L(!0),setTimeout(()=>E?.(),50)):C==="git"?(document.activeElement?.blur(),M("input"),_(),J(),setTimeout(()=>E?.(),50)):(document.activeElement?.blur(),M("sessions"),L(!1),b>=0&&S(b));return}if((w.ctrlKey||w.metaKey)&&w.key==="l"){w.preventDefault(),C==="git"?(document.activeElement?.blur(),M("input"),_(),J(),setTimeout(()=>E?.(),50)):C==="sessions"?(document.activeElement?.blur(),M("input"),L(!0),setTimeout(()=>E?.(),50)):(document.activeElement?.blur(),AA||_(),M("git"),T());return}if((w.ctrlKey||w.metaKey)&&w.key==="/"){w.preventDefault(),Z();return}if((w.ctrlKey||w.metaKey)&&w.key==="\\"){w.preventDefault(),_();return}if((w.ctrlKey||w.metaKey)&&w.shiftKey&&w.key==="r"){w.preventDefault(),P();return}if((w.ctrlKey||w.metaKey)&&w.key==="n"){w.preventDefault(),n();return}if((w.ctrlKey||w.metaKey)&&w.key==="p"){w.preventDefault(),ga.getState().toggle();return}if(w.key==="Escape"&&!y||w.key==="q"&&!I&&(C==="sessions"||C==="git")){w.preventDefault(),C==="sessions"?L(!0):C==="git"&&(_(),J()),M("input"),E?.();return}if(C==="sessions"&&!I){if(w.key==="j"&&A.length>0){w.preventDefault();const G=Math.min(p+1,A.length-1);S(G);return}if(w.key==="k"&&A.length>0){w.preventDefault();const G=Math.max(p-1,0);S(G);return}if(w.key==="Enter"&&A[p]){w.preventDefault(),s(A[p]),M("input");return}}if(C==="git"&&!I){if(w.key==="j"&&t.length>0){w.preventDefault();const G=Math.min(f+1,t.length-1);N(G);return}if(w.key==="k"&&t.length>0){w.preventDefault();const G=Math.max(f-1,0);N(G);return}if(w.key===" "&&t[f]){w.preventDefault();const G=t[f];G.staged?i?.(G.path):r?.(G.path);return}if(w.key==="a"){w.preventDefault(),Q?.();return}if(w.key==="u"){w.preventDefault(),l?.();return}if(w.key==="R"&&t[f]){w.preventDefault();const G=t[f];!G.staged&&G.status!=="untracked"&&G.status!=="added"&&a?.(G.path);return}if(w.shiftKey&&w.key==="D"||w.key==="Backspace"){w.preventDefault();const G=t[f];G&&!G.staged&&G.status==="untracked"&&g?.(G.path);return}if(w.key==="c"){w.preventDefault(),u?.();return}if(w.key==="Enter"&&t[f]){w.preventDefault();const G=t[f];d?.(G.path,G.staged);return}}},[C,p,f,A,t,b,AA,M,S,N,T,L,_,P,Z,s,n,r,i,a,g,Q,l,u,d,E,J]);return D.useEffect(()=>(window.addEventListener("keydown",K),()=>window.removeEventListener("keydown",K)),[K]),{currentFocus:C,sessionIndex:p,gitFileIndex:f}}function U1(A){const e=D.useRef(null),t=D.useRef(null),s=xe(Q=>Q.setBalance),n=xe(Q=>Q.setPaymentPending),r=Co(Q=>Q.removeToast),i=Co(Q=>Q.updateToast),a=fn(Q=>Q.setPendingTopup),g=fn(Q=>Q.clearPendingTopup);D.useEffect(()=>{if(!A)return;const Q=new KE;e.current=Q;const l=wA.getStreamUrl(A);Q.connect(l);const u=Q.on("*",d=>{const E=d.payload;switch(d.type){case"setu.topup.required":{const C=typeof E?.amountUsd=="number"?E.amountUsd:0,p=typeof E?.currentBalance=="number"?E.currentBalance:0,f=typeof E?.minTopupUsd=="number"?E.minTopupUsd:5,M=typeof E?.suggestedTopupUsd=="number"?E.suggestedTopupUsd:10,S=typeof E?.messageId=="string"?E.messageId:"";a({sessionId:A,messageId:S,amountUsd:C,currentBalance:p,minTopupUsd:f,suggestedTopupUsd:M});break}case"setu.topup.method_selected":{E?.method==="crypto"&&(n(!0),t.current=he.loading("💳 Processing crypto payment..."));break}case"setu.topup.cancelled":{g();const C=typeof E?.reason=="string"?E.reason:"Request cancelled";he(`⚠️ ${C}`);break}case"setu.payment.required":{const C=typeof E?.amountUsd=="number"?E.amountUsd:0;n(!0),t.current||(t.current=he.loading(`💳 Payment required: $${C.toFixed(2)}`));break}case"setu.payment.signing":{t.current?i(t.current,{message:"✍️ Signing transaction..."}):t.current=he.loading("✍️ Signing transaction...");break}case"setu.payment.complete":{g();const C=E?.amountUsd,p=E?.newBalance,f=typeof E?.transactionId=="string"?E.transactionId:void 0,M=typeof C=="number"?C:typeof C=="string"?parseFloat(C):0,S=typeof p=="number"?p:typeof p=="string"?parseFloat(p):0;s(S),n(!1),t.current&&(r(t.current),t.current=null);const N=`✅ Paid $${M.toFixed(2)}`;f?he.successWithAction(N,{label:"View Tx",href:`https://orbmarkets.io/tx/${f}`}):he.success(N);break}case"setu.fiat.checkout_created":{g(),n(!1),t.current&&(r(t.current),t.current=null),he.success("💳 Complete payment, then retry your message");break}case"setu.balance.updated":{const C=E?.balanceRemaining,p=typeof C=="number"?C:typeof C=="string"?parseFloat(C):null;p!==null&&!Number.isNaN(p)&&s(p);break}case"setu.payment.error":{g();const C=typeof E?.error=="string"?E.error:"Payment failed";n(!1),t.current&&(r(t.current),t.current=null),he.error(`❌ ${C}`);break}}});return()=>{u(),Q.disconnect()}},[A,s,n,r,i,a,g])}const Wn=ic({component:R1});function R1(){const{checkOnboarding:A}=tg();return D.useEffect(()=>{A()},[A]),o.jsxs(o.Fragment,{children:[o.jsx(ac,{}),o.jsx(b1,{}),o.jsx(Ag,{}),null]})}const K1=Ba("/")({beforeLoad:()=>{throw gc({to:"/sessions"})},component:()=>null});function $Q({height:A=16,className:e=""}){const t=Math.round(A*2.4686468646864688);return o.jsx("svg",{width:t,height:A,viewBox:"0 0 748 303",fill:"currentColor",className:e,"aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})})}const AB="left-sidebar",eB=272,J1=256,L1=480,j1=D.memo(function({children:e,onNewSession:t}){const s=Ue(a=>a.isDiffOpen),n=ds(a=>a.isCollapsed),r=ds(a=>a.toggleCollapse),i=_o(a=>a.widths[AB]??eB);return D.useEffect(()=>(n?document.body.style.overflow="":document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}),[n]),n?o.jsxs("aside",{className:"w-12 md:w-12 border-r border-border bg-background flex flex-col transition-all duration-300 ease-in-out hidden md:flex",children:[o.jsx("div",{className:"h-14 border-b border-border flex items-center justify-center",children:o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,title:"New session",className:"rounded-full touch-manipulation text-muted-foreground hover:bg-muted/50",children:o.jsx(co,{className:"w-4 h-4"})})}),o.jsx("button",{type:"button",className:"flex-1 cursor-pointer hover:bg-muted/50 transition-colors touch-manipulation",onClick:s?void 0:r,title:s?void 0:"Expand sidebar","aria-label":"Expand sidebar"}),o.jsx("div",{className:"h-12 border-t border-border flex items-center justify-center",children:o.jsx(Qe,{variant:"ghost",size:"icon",onClick:r,title:"Expand sidebar",disabled:s,className:"transition-transform duration-200 hover:scale-110 touch-manipulation text-muted-foreground hover:bg-muted/50",children:o.jsx(rt,{className:"w-4 h-4"})})})]}):o.jsxs(o.Fragment,{children:[!n&&o.jsx("div",{className:"fixed inset-0 bg-black/50 z-40 md:hidden",onClick:r,"aria-hidden":"true"}),o.jsxs("aside",{className:"border-r border-sidebar-border sidebar-fade-in flex transition-all duration-300 ease-in-out fixed md:relative top-0 left-0 z-50 h-screen md:h-auto w-full md:w-auto",style:{maxWidth:"100%"},children:[o.jsxs("div",{className:"flex-1 flex flex-col min-w-0 relative",style:{width:i},children:[o.jsxs("div",{className:"h-14 border-b border-sidebar-border px-4 flex items-center gap-2 md:hidden bg-sidebar",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:r,title:"Close menu",className:"touch-manipulation flex-shrink-0 text-sidebar-foreground hover:bg-sidebar-accent","aria-label":"Close menu",children:o.jsx(st,{className:"w-5 h-5"})}),o.jsx("div",{className:"flex-1 flex items-center",children:o.jsx($Q,{height:14,className:"text-sidebar-foreground"})})]}),o.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[o.jsx("div",{className:"absolute top-0 left-0 right-0 z-10 pointer-events-none",children:o.jsxs("div",{className:"h-14 px-4 flex items-center justify-between border-b border-sidebar-border/40 bg-sidebar/40 backdrop-blur-xl supports-[backdrop-filter]:bg-sidebar/20",children:[o.jsx("div",{className:"flex items-center text-sidebar-foreground/90",children:o.jsx($Q,{height:14,className:"select-none"})}),o.jsx("button",{type:"button",onClick:t,className:"w-9 h-9 rounded-full bg-sidebar-primary flex items-center justify-center hover:opacity-90 transition-opacity touch-manipulation pointer-events-auto",title:"New session",children:o.jsx(co,{className:"w-4 h-4 text-sidebar-primary-foreground"})})]})}),o.jsx("div",{className:"absolute inset-0 overflow-hidden",children:e})]}),o.jsx("div",{className:"h-12 border-t border-sidebar-border px-2 flex items-center justify-end",children:o.jsx(Qe,{variant:"ghost",size:"icon",onClick:r,title:"Collapse sidebar",disabled:s,className:"transition-transform duration-200 hover:scale-110 touch-manipulation text-sidebar-muted-foreground hover:bg-sidebar-accent w-8 h-8",children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"transition-transform duration-300",role:"img","aria-label":"Collapse sidebar",children:[o.jsx("title",{children:"Collapse sidebar"}),o.jsx("path",{d:"M15 18l-6-6 6-6"})]})})})]}),o.jsx("div",{className:"hidden md:block",children:o.jsx(qs,{panelKey:AB,side:"left",minWidth:J1,maxWidth:L1,defaultWidth:eB})})]})]})}),T1=D.memo(function({sidebar:e,children:t,onNewSession:s,theme:n,onToggleTheme:r,sessionId:i,onNavigateToSession:a,onFixWithAI:g}){const Q=Ue(S=>S.isExpanded),l=Xe(S=>S.isExpanded),u=It(S=>S.isExpanded),d=xt(S=>S.isExpanded),E=Fe(S=>S.isExpanded),C=_e(S=>S.isExpanded),p=We(S=>S.isExpanded),f=Ze(S=>S.isExpanded),M=Q||l||u||d||E||C||p||f;return o.jsxs("div",{className:"h-screen flex bg-background touch-manipulation border-t border-border/50",children:[o.jsx(j1,{onNewSession:s,children:e}),o.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden w-full md:w-auto",children:[o.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[o.jsxs("main",{className:"flex-1 flex flex-col overflow-hidden relative",children:[o.jsx(HD,{}),o.jsx(n2,{}),o.jsx(x1,{}),o.jsx(I1,{}),t]}),o.jsxs("div",{className:"hidden md:flex",children:[o.jsx(TD,{onFixWithAI:g}),o.jsx($D,{sessionId:i}),o.jsx(c2,{parentSessionId:i??null,onNavigateToSession:a}),o.jsx(M2,{}),o.jsx(T2,{}),o.jsx(f1,{}),o.jsx(r1,{}),o.jsx(l1,{}),o.jsxs("div",{className:`flex flex-col w-12 border-l ${M?"sidebar-fade-in border-sidebar-border":"bg-background border-border"}`,children:[o.jsx(OD,{}),o.jsx(A2,{sessionId:i}),o.jsx(I2,{parentSessionId:i}),o.jsx(p1,{}),o.jsx(G2,{}),o.jsx(O2,{}),o.jsx(n1,{}),o.jsx(E1,{}),o.jsx("div",{className:"flex-1"}),o.jsx(eh,{}),o.jsx("div",{className:"h-12 border-t border-border flex items-center justify-center",children:o.jsx(Qe,{variant:"ghost",size:"icon",onClick:r,title:`Switch to ${n==="dark"?"light":"dark"} mode`,"aria-label":`Switch to ${n==="dark"?"light":"dark"} mode`,className:"touch-manipulation",children:n==="dark"?o.jsx(zc,{className:"w-4 h-4"}):o.jsx(Vc,{className:"w-4 h-4"})})})]})]})]}),o.jsx(Ah,{})]}),o.jsx(PD,{}),o.jsx(oh,{}),o.jsx(y1,{})]})});function tc({sessionId:A}){const e=D.useRef(null),t=J0(),{data:s}=ps(),{theme:n,toggleTheme:r}=G1(),{openCommitModal:i,openDiff:a}=Ue(),g=Qc(),{data:Q=[]}=vn(),{data:l}=Sn(),u=Un(),d=va(),E=Il(),C=ul(),p=ka(_=>_.openConfirmation);v1(),U1(A),Yn(s?.defaults?.provider);const f=D.useCallback(()=>{setTimeout(()=>{e.current?.focus()},100)},[]),M=D.useCallback(async()=>{try{const _=await t.mutateAsync({agent:s?.defaults.agent||"general",provider:s?.defaults.provider,model:s?.defaults.model});g({to:"/sessions/$sessionId",params:{sessionId:_.id},replace:!1}),f()}catch(_){console.error("Failed to create session:",_)}},[t,s,g,f]),S=D.useCallback(()=>{g({to:"/sessions"})},[g]),N=D.useCallback(_=>{g({to:"/sessions/$sessionId",params:{sessionId:_}}),f()},[g,f]),T=D.useCallback(async _=>{try{const J=await t.mutateAsync({agent:s?.defaults.agent||"general",provider:s?.defaults.provider,model:s?.defaults.model,title:"Fix Git Error"});g({to:"/sessions/$sessionId",params:{sessionId:J.id},replace:!1}),await wA.sendMessage(J.id,{content:_})}catch(J){console.error("Failed to create fix session:",J)}},[t,s,g]),L=D.useMemo(()=>l?[...(l.conflicted??[]).map(_=>({path:_.path,staged:!1,status:_.status})),...l.staged.map(_=>({path:_.path,staged:!0,status:_.status})),...l.unstaged.map(_=>({path:_.path,staged:!1,status:_.status})),...l.untracked.map(_=>({path:_.path,staged:!1,status:_.status}))]:[],[l]),Z=D.useMemo(()=>Q.map(_=>_.id),[Q]);S1({sessionIds:Z,activeSessionId:A,gitFiles:L,onSelectSession:N,onNewSession:M,onStageFile:_=>u.mutate([_]),onUnstageFile:_=>d.mutate([_]),onRestoreFile:_=>E.mutate([_]),onDeleteFile:_=>{p({title:"Delete File",message:`Delete ${_}? This will permanently remove the untracked file.`,confirmLabel:"Delete",variant:"destructive",onConfirm:async()=>{await C.mutateAsync([_])}})},onStageAll:()=>{const _=L.filter(J=>!J.staged).map(J=>J.path);_.length>0&&u.mutate(_)},onUnstageAll:()=>{const _=L.filter(J=>J.staged).map(J=>J.path);_.length>0&&d.mutate(_)},onOpenCommitModal:i,onViewDiff:a,onReturnToInput:f}),D.useEffect(()=>{A&&f()},[A,f]);const AA=D.useMemo(()=>A?o.jsxs(o.Fragment,{children:[o.jsx(yD,{sessionId:A,onSelectSession:N}),o.jsx(Qf,{ref:e,sessionId:A,onNewSession:M,onDeleteSession:S})]}):o.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:"Select a session or create a new one to start"}),[A,M,N,S]);return o.jsxs(o.Fragment,{children:[o.jsx(T1,{onNewSession:M,theme:n,onToggleTheme:r,sessionId:A,onNavigateToSession:N,onFixWithAI:T,sidebar:o.jsx(bD,{activeSessionId:A,onSelectSession:N}),children:AA}),o.jsx(ih,{})]})}const O1=Ba("/sessions/")({component:q1});function q1(){return o.jsx(tc,{})}const oc=Ba("/sessions/$sessionId")({component:Y1});function Y1(){const{sessionId:A}=oc.useParams();return o.jsx(tc,{sessionId:A})}const H1=K1.update({id:"/",path:"/",getParentRoute:()=>Wn}),P1=O1.update({id:"/sessions/",path:"/sessions/",getParentRoute:()=>Wn}),W1=oc.update({id:"/sessions/$sessionId",path:"/sessions/$sessionId",getParentRoute:()=>Wn}),z1={IndexRoute:H1,SessionsSessionIdRoute:W1,SessionsIndexRoute:P1},V1=Wn._addFileChildren(z1)._addFileTypes(),Z1=()=>{const t=(typeof globalThis<"u"?globalThis.OTTO_ROUTER_BASEPATH:void 0)??"/"??"/";if(!t||t==="/")return"/";const s=t.replace(/\/+$/,"")||"/";return s.startsWith("/")?s:`/${s}`},_1=Bc({routeTree:V1,basepath:Z1()}),og=new lc({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1,structuralSharing:!0}}});og.prefetchQuery({queryKey:["sessions"],queryFn:()=>wA.getSessions()});og.prefetchQuery({queryKey:["config"],queryFn:()=>wA.getConfig()});function X1(){return o.jsx(Ec,{client:og,children:o.jsx(cc,{router:_1})})}const sc=document.getElementById("root");if(!sc)throw new Error("Root element not found");Cc.createRoot(sc).render(o.jsx(D.StrictMode,{children:o.jsx(X1,{})}));
|