index-DfKg850Q.js raw
1 var Twe=Object.defineProperty;var CF=t=>{throw TypeError(t)};var Dwe=(t,e,n)=>e in t?Twe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var je=(t,e,n)=>Dwe(t,typeof e!="symbol"?e+"":e,n),yI=(t,e,n)=>e.has(t)||CF("Cannot "+n);var Le=(t,e,n)=>(yI(t,e,"read from private field"),n?n.call(t):e.get(t)),gr=(t,e,n)=>e.has(t)?CF("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),kn=(t,e,n,r)=>(yI(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),sn=(t,e,n)=>(yI(t,e,"access private method"),n);var Q4=(t,e,n,r)=>({set _(o){kn(t,e,o,n)},get _(){return Le(t,e,r)}});function fJ(t,e){for(var n=0;n<e.length;n++){const r=e[n];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in t)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(t,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();var J4=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function tc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var vI={exports:{}},Xv={},wI={exports:{}},qn={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var SF;function Lwe(){if(SF)return qn;SF=1;var t=Symbol.for("react.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),a=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.iterator;function m(J){return J===null||typeof J!="object"?null:(J=f&&J[f]||J["@@iterator"],typeof J=="function"?J:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,b={};function j(J,ne,re){this.props=J,this.context=ne,this.refs=b,this.updater=re||g}j.prototype.isReactComponent={},j.prototype.setState=function(J,ne){if(typeof J!="object"&&typeof J!="function"&&J!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,J,ne,"setState")},j.prototype.forceUpdate=function(J){this.updater.enqueueForceUpdate(this,J,"forceUpdate")};function S(){}S.prototype=j.prototype;function I(J,ne,re){this.props=J,this.context=ne,this.refs=b,this.updater=re||g}var N=I.prototype=new S;N.constructor=I,w(N,j.prototype),N.isPureReactComponent=!0;var M=Array.isArray,D=Object.prototype.hasOwnProperty,P={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function F(J,ne,re){var de,Ee={},we=null,xe=null;if(ne!=null)for(de in ne.ref!==void 0&&(xe=ne.ref),ne.key!==void 0&&(we=""+ne.key),ne)D.call(ne,de)&&!L.hasOwnProperty(de)&&(Ee[de]=ne[de]);var ce=arguments.length-2;if(ce===1)Ee.children=re;else if(1<ce){for(var pe=Array(ce),he=0;he<ce;he++)pe[he]=arguments[he+2];Ee.children=pe}if(J&&J.defaultProps)for(de in ce=J.defaultProps,ce)Ee[de]===void 0&&(Ee[de]=ce[de]);return{$$typeof:t,type:J,key:we,ref:xe,props:Ee,_owner:P.current}}function T(J,ne){return{$$typeof:t,type:J.type,key:ne,ref:J.ref,props:J.props,_owner:J._owner}}function R(J){return typeof J=="object"&&J!==null&&J.$$typeof===t}function z(J){var ne={"=":"=0",":":"=2"};return"$"+J.replace(/[=:]/g,function(re){return ne[re]})}var G=/\/+/g;function Z(J,ne){return typeof J=="object"&&J!==null&&J.key!=null?z(""+J.key):ne.toString(36)}function W(J,ne,re,de,Ee){var we=typeof J;(we==="undefined"||we==="boolean")&&(J=null);var xe=!1;if(J===null)xe=!0;else switch(we){case"string":case"number":xe=!0;break;case"object":switch(J.$$typeof){case t:case e:xe=!0}}if(xe)return xe=J,Ee=Ee(xe),J=de===""?"."+Z(xe,0):de,M(Ee)?(re="",J!=null&&(re=J.replace(G,"$&/")+"/"),W(Ee,ne,re,"",function(he){return he})):Ee!=null&&(R(Ee)&&(Ee=T(Ee,re+(!Ee.key||xe&&xe.key===Ee.key?"":(""+Ee.key).replace(G,"$&/")+"/")+J)),ne.push(Ee)),1;if(xe=0,de=de===""?".":de+":",M(J))for(var ce=0;ce<J.length;ce++){we=J[ce];var pe=de+Z(we,ce);xe+=W(we,ne,re,pe,Ee)}else if(pe=m(J),typeof pe=="function")for(J=pe.call(J),ce=0;!(we=J.next()).done;)we=we.value,pe=de+Z(we,ce++),xe+=W(we,ne,re,pe,Ee);else if(we==="object")throw ne=String(J),Error("Objects are not valid as a React child (found: "+(ne==="[object Object]"?"object with keys {"+Object.keys(J).join(", ")+"}":ne)+"). If you meant to render a collection of children, use an array instead.");return xe}function U(J,ne,re){if(J==null)return J;var de=[],Ee=0;return W(J,de,"","",function(we){return ne.call(re,we,Ee++)}),de}function ee(J){if(J._status===-1){var ne=J._result;ne=ne(),ne.then(function(re){(J._status===0||J._status===-1)&&(J._status=1,J._result=re)},function(re){(J._status===0||J._status===-1)&&(J._status=2,J._result=re)}),J._status===-1&&(J._status=0,J._result=ne)}if(J._status===1)return J._result.default;throw J._result}var $={current:null},H={transition:null},Y={ReactCurrentDispatcher:$,ReactCurrentBatchConfig:H,ReactCurrentOwner:P};function q(){throw Error("act(...) is not supported in production builds of React.")}return qn.Children={map:U,forEach:function(J,ne,re){U(J,function(){ne.apply(this,arguments)},re)},count:function(J){var ne=0;return U(J,function(){ne++}),ne},toArray:function(J){return U(J,function(ne){return ne})||[]},only:function(J){if(!R(J))throw Error("React.Children.only expected to receive a single React element child.");return J}},qn.Component=j,qn.Fragment=n,qn.Profiler=o,qn.PureComponent=I,qn.StrictMode=r,qn.Suspense=l,qn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Y,qn.act=q,qn.cloneElement=function(J,ne,re){if(J==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+J+".");var de=w({},J.props),Ee=J.key,we=J.ref,xe=J._owner;if(ne!=null){if(ne.ref!==void 0&&(we=ne.ref,xe=P.current),ne.key!==void 0&&(Ee=""+ne.key),J.type&&J.type.defaultProps)var ce=J.type.defaultProps;for(pe in ne)D.call(ne,pe)&&!L.hasOwnProperty(pe)&&(de[pe]=ne[pe]===void 0&&ce!==void 0?ce[pe]:ne[pe])}var pe=arguments.length-2;if(pe===1)de.children=re;else if(1<pe){ce=Array(pe);for(var he=0;he<pe;he++)ce[he]=arguments[he+2];de.children=ce}return{$$typeof:t,type:J.type,key:Ee,ref:we,props:de,_owner:xe}},qn.createContext=function(J){return J={$$typeof:a,_currentValue:J,_currentValue2:J,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},J.Provider={$$typeof:s,_context:J},J.Consumer=J},qn.createElement=F,qn.createFactory=function(J){var ne=F.bind(null,J);return ne.type=J,ne},qn.createRef=function(){return{current:null}},qn.forwardRef=function(J){return{$$typeof:i,render:J}},qn.isValidElement=R,qn.lazy=function(J){return{$$typeof:d,_payload:{_status:-1,_result:J},_init:ee}},qn.memo=function(J,ne){return{$$typeof:u,type:J,compare:ne===void 0?null:ne}},qn.startTransition=function(J){var ne=H.transition;H.transition={};try{J()}finally{H.transition=ne}},qn.unstable_act=q,qn.useCallback=function(J,ne){return $.current.useCallback(J,ne)},qn.useContext=function(J){return $.current.useContext(J)},qn.useDebugValue=function(){},qn.useDeferredValue=function(J){return $.current.useDeferredValue(J)},qn.useEffect=function(J,ne){return $.current.useEffect(J,ne)},qn.useId=function(){return $.current.useId()},qn.useImperativeHandle=function(J,ne,re){return $.current.useImperativeHandle(J,ne,re)},qn.useInsertionEffect=function(J,ne){return $.current.useInsertionEffect(J,ne)},qn.useLayoutEffect=function(J,ne){return $.current.useLayoutEffect(J,ne)},qn.useMemo=function(J,ne){return $.current.useMemo(J,ne)},qn.useReducer=function(J,ne,re){return $.current.useReducer(J,ne,re)},qn.useRef=function(J){return $.current.useRef(J)},qn.useState=function(J){return $.current.useState(J)},qn.useSyncExternalStore=function(J,ne,re){return $.current.useSyncExternalStore(J,ne,re)},qn.useTransition=function(){return $.current.useTransition()},qn.version="18.3.1",qn}var EF;function OR(){return EF||(EF=1,wI.exports=Lwe()),wI.exports}/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var NF;function Pwe(){if(NF)return Xv;NF=1;var t=OR(),e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(i,l,u){var d,f={},m=null,g=null;u!==void 0&&(m=""+u),l.key!==void 0&&(m=""+l.key),l.ref!==void 0&&(g=l.ref);for(d in l)r.call(l,d)&&!s.hasOwnProperty(d)&&(f[d]=l[d]);if(i&&i.defaultProps)for(d in l=i.defaultProps,l)f[d]===void 0&&(f[d]=l[d]);return{$$typeof:e,type:i,key:m,ref:g,props:f,_owner:o.current}}return Xv.Fragment=n,Xv.jsx=a,Xv.jsxs=a,Xv}var IF;function Owe(){return IF||(IF=1,vI.exports=Pwe()),vI.exports}var c=Owe(),h3={exports:{}},zwe=h3.exports,AF;function Fwe(){return AF||(AF=1,(function(t,e){(function(n,r){t.exports=r()})(zwe,(function(){var n=1e3,r=6e4,o=36e5,s="millisecond",a="second",i="minute",l="hour",u="day",d="week",f="month",m="quarter",g="year",w="date",b="Invalid Date",j=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,S=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,I={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(W){var U=["th","st","nd","rd"],ee=W%100;return"["+W+(U[(ee-20)%10]||U[ee]||U[0])+"]"}},N=function(W,U,ee){var $=String(W);return!$||$.length>=U?W:""+Array(U+1-$.length).join(ee)+W},M={s:N,z:function(W){var U=-W.utcOffset(),ee=Math.abs(U),$=Math.floor(ee/60),H=ee%60;return(U<=0?"+":"-")+N($,2,"0")+":"+N(H,2,"0")},m:function W(U,ee){if(U.date()<ee.date())return-W(ee,U);var $=12*(ee.year()-U.year())+(ee.month()-U.month()),H=U.clone().add($,f),Y=ee-H<0,q=U.clone().add($+(Y?-1:1),f);return+(-($+(ee-H)/(Y?H-q:q-H))||0)},a:function(W){return W<0?Math.ceil(W)||0:Math.floor(W)},p:function(W){return{M:f,y:g,w:d,d:u,D:w,h:l,m:i,s:a,ms:s,Q:m}[W]||String(W||"").toLowerCase().replace(/s$/,"")},u:function(W){return W===void 0}},D="en",P={};P[D]=I;var L="$isDayjsObject",F=function(W){return W instanceof G||!(!W||!W[L])},T=function W(U,ee,$){var H;if(!U)return D;if(typeof U=="string"){var Y=U.toLowerCase();P[Y]&&(H=Y),ee&&(P[Y]=ee,H=Y);var q=U.split("-");if(!H&&q.length>1)return W(q[0])}else{var J=U.name;P[J]=U,H=J}return!$&&H&&(D=H),H||!$&&D},R=function(W,U){if(F(W))return W.clone();var ee=typeof U=="object"?U:{};return ee.date=W,ee.args=arguments,new G(ee)},z=M;z.l=T,z.i=F,z.w=function(W,U){return R(W,{locale:U.$L,utc:U.$u,x:U.$x,$offset:U.$offset})};var G=(function(){function W(ee){this.$L=T(ee.locale,null,!0),this.parse(ee),this.$x=this.$x||ee.x||{},this[L]=!0}var U=W.prototype;return U.parse=function(ee){this.$d=(function($){var H=$.date,Y=$.utc;if(H===null)return new Date(NaN);if(z.u(H))return new Date;if(H instanceof Date)return new Date(H);if(typeof H=="string"&&!/Z$/i.test(H)){var q=H.match(j);if(q){var J=q[2]-1||0,ne=(q[7]||"0").substring(0,3);return Y?new Date(Date.UTC(q[1],J,q[3]||1,q[4]||0,q[5]||0,q[6]||0,ne)):new Date(q[1],J,q[3]||1,q[4]||0,q[5]||0,q[6]||0,ne)}}return new Date(H)})(ee),this.init()},U.init=function(){var ee=this.$d;this.$y=ee.getFullYear(),this.$M=ee.getMonth(),this.$D=ee.getDate(),this.$W=ee.getDay(),this.$H=ee.getHours(),this.$m=ee.getMinutes(),this.$s=ee.getSeconds(),this.$ms=ee.getMilliseconds()},U.$utils=function(){return z},U.isValid=function(){return this.$d.toString()!==b},U.isSame=function(ee,$){var H=R(ee);return this.startOf($)<=H&&H<=this.endOf($)},U.isAfter=function(ee,$){return R(ee)<this.startOf($)},U.isBefore=function(ee,$){return this.endOf($)<R(ee)},U.$g=function(ee,$,H){return z.u(ee)?this[$]:this.set(H,ee)},U.unix=function(){return Math.floor(this.valueOf()/1e3)},U.valueOf=function(){return this.$d.getTime()},U.startOf=function(ee,$){var H=this,Y=!!z.u($)||$,q=z.p(ee),J=function(pe,he){var ke=z.w(H.$u?Date.UTC(H.$y,he,pe):new Date(H.$y,he,pe),H);return Y?ke:ke.endOf(u)},ne=function(pe,he){return z.w(H.toDate()[pe].apply(H.toDate("s"),(Y?[0,0,0,0]:[23,59,59,999]).slice(he)),H)},re=this.$W,de=this.$M,Ee=this.$D,we="set"+(this.$u?"UTC":"");switch(q){case g:return Y?J(1,0):J(31,11);case f:return Y?J(1,de):J(0,de+1);case d:var xe=this.$locale().weekStart||0,ce=(re<xe?re+7:re)-xe;return J(Y?Ee-ce:Ee+(6-ce),de);case u:case w:return ne(we+"Hours",0);case l:return ne(we+"Minutes",1);case i:return ne(we+"Seconds",2);case a:return ne(we+"Milliseconds",3);default:return this.clone()}},U.endOf=function(ee){return this.startOf(ee,!1)},U.$set=function(ee,$){var H,Y=z.p(ee),q="set"+(this.$u?"UTC":""),J=(H={},H[u]=q+"Date",H[w]=q+"Date",H[f]=q+"Month",H[g]=q+"FullYear",H[l]=q+"Hours",H[i]=q+"Minutes",H[a]=q+"Seconds",H[s]=q+"Milliseconds",H)[Y],ne=Y===u?this.$D+($-this.$W):$;if(Y===f||Y===g){var re=this.clone().set(w,1);re.$d[J](ne),re.init(),this.$d=re.set(w,Math.min(this.$D,re.daysInMonth())).$d}else J&&this.$d[J](ne);return this.init(),this},U.set=function(ee,$){return this.clone().$set(ee,$)},U.get=function(ee){return this[z.p(ee)]()},U.add=function(ee,$){var H,Y=this;ee=Number(ee);var q=z.p($),J=function(de){var Ee=R(Y);return z.w(Ee.date(Ee.date()+Math.round(de*ee)),Y)};if(q===f)return this.set(f,this.$M+ee);if(q===g)return this.set(g,this.$y+ee);if(q===u)return J(1);if(q===d)return J(7);var ne=(H={},H[i]=r,H[l]=o,H[a]=n,H)[q]||1,re=this.$d.getTime()+ee*ne;return z.w(re,this)},U.subtract=function(ee,$){return this.add(-1*ee,$)},U.format=function(ee){var $=this,H=this.$locale();if(!this.isValid())return H.invalidDate||b;var Y=ee||"YYYY-MM-DDTHH:mm:ssZ",q=z.z(this),J=this.$H,ne=this.$m,re=this.$M,de=H.weekdays,Ee=H.months,we=H.meridiem,xe=function(he,ke,le,ye){return he&&(he[ke]||he($,Y))||le[ke].slice(0,ye)},ce=function(he){return z.s(J%12||12,he,"0")},pe=we||function(he,ke,le){var ye=he<12?"AM":"PM";return le?ye.toLowerCase():ye};return Y.replace(S,(function(he,ke){return ke||(function(le){switch(le){case"YY":return String($.$y).slice(-2);case"YYYY":return z.s($.$y,4,"0");case"M":return re+1;case"MM":return z.s(re+1,2,"0");case"MMM":return xe(H.monthsShort,re,Ee,3);case"MMMM":return xe(Ee,re);case"D":return $.$D;case"DD":return z.s($.$D,2,"0");case"d":return String($.$W);case"dd":return xe(H.weekdaysMin,$.$W,de,2);case"ddd":return xe(H.weekdaysShort,$.$W,de,3);case"dddd":return de[$.$W];case"H":return String(J);case"HH":return z.s(J,2,"0");case"h":return ce(1);case"hh":return ce(2);case"a":return pe(J,ne,!0);case"A":return pe(J,ne,!1);case"m":return String(ne);case"mm":return z.s(ne,2,"0");case"s":return String($.$s);case"ss":return z.s($.$s,2,"0");case"SSS":return z.s($.$ms,3,"0");case"Z":return q}return null})(he)||q.replace(":","")}))},U.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},U.diff=function(ee,$,H){var Y,q=this,J=z.p($),ne=R(ee),re=(ne.utcOffset()-this.utcOffset())*r,de=this-ne,Ee=function(){return z.m(q,ne)};switch(J){case g:Y=Ee()/12;break;case f:Y=Ee();break;case m:Y=Ee()/3;break;case d:Y=(de-re)/6048e5;break;case u:Y=(de-re)/864e5;break;case l:Y=de/o;break;case i:Y=de/r;break;case a:Y=de/n;break;default:Y=de}return H?Y:z.a(Y)},U.daysInMonth=function(){return this.endOf(f).$D},U.$locale=function(){return P[this.$L]},U.locale=function(ee,$){if(!ee)return this.$L;var H=this.clone(),Y=T(ee,$,!0);return Y&&(H.$L=Y),H},U.clone=function(){return z.w(this.$d,this)},U.toDate=function(){return new Date(this.valueOf())},U.toJSON=function(){return this.isValid()?this.toISOString():null},U.toISOString=function(){return this.$d.toISOString()},U.toString=function(){return this.$d.toUTCString()},W})(),Z=G.prototype;return R.prototype=Z,[["$ms",s],["$s",a],["$m",i],["$H",l],["$W",u],["$M",f],["$y",g],["$D",w]].forEach((function(W){Z[W[1]]=function(U){return this.$g(U,W[0],W[1])}})),R.extend=function(W,U){return W.$i||(W(U,G,R),W.$i=!0),R},R.locale=T,R.isDayjs=F,R.unix=function(W){return R(1e3*W)},R.en=P[D],R.Ls=P,R.p={},R}))})(h3)),h3.exports}var Bwe=Fwe();const En=tc(Bwe),Tn=t=>typeof t=="string",ew=()=>{let t,e;const n=new Promise((r,o)=>{t=r,e=o});return n.resolve=t,n.reject=e,n},_F=t=>t==null?"":""+t,Uwe=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},$we=/###/g,MF=t=>t&&t.indexOf("###")>-1?t.replace($we,"."):t,RF=t=>!t||Tn(t),$w=(t,e,n)=>{const r=Tn(e)?e.split("."):e;let o=0;for(;o<r.length-1;){if(RF(t))return{};const s=MF(r[o]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++o}return RF(t)?{}:{obj:t,k:MF(r[o])}},TF=(t,e,n)=>{const{obj:r,k:o}=$w(t,e,Object);if(r!==void 0||e.length===1){r[o]=n;return}let s=e[e.length-1],a=e.slice(0,e.length-1),i=$w(t,a,Object);for(;i.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),i=$w(t,a,Object),i!=null&&i.obj&&typeof i.obj[`${i.k}.${s}`]<"u"&&(i.obj=void 0);i.obj[`${i.k}.${s}`]=n},Vwe=(t,e,n,r)=>{const{obj:o,k:s}=$w(t,e,Object);o[s]=o[s]||[],o[s].push(n)},rk=(t,e)=>{const{obj:n,k:r}=$w(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Hwe=(t,e,n)=>{const r=rk(t,n);return r!==void 0?r:rk(e,n)},dJ=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?Tn(t[r])||t[r]instanceof String||Tn(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):dJ(t[r],e[r],n):t[r]=e[r]);return t},D1=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Wwe={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const Ywe=t=>Tn(t)?t.replace(/[&<>"'\/]/g,e=>Wwe[e]):t;class Gwe{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const qwe=[" ",",","?","!",";"],Kwe=new Gwe(20),Zwe=(t,e,n)=>{e=e||"",n=n||"";const r=qwe.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const o=Kwe.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!o.test(t);if(!s){const a=t.indexOf(n);a>0&&!o.test(t.substring(0,a))&&(s=!0)}return s},t_=function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let o=t;for(let s=0;s<r.length;){if(!o||typeof o!="object")return;let a,i="";for(let l=s;l<r.length;++l)if(l!==s&&(i+=n),i+=r[l],a=o[i],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<r.length-1)continue;s+=l-s+1;break}o=a}return o},ok=t=>t==null?void 0:t.replace("_","-"),Qwe={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){var n,r;(r=(n=console==null?void 0:console[t])==null?void 0:n.apply)==null||r.call(n,console,e)}};class sk{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||Qwe,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"log","",!0)}warn(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","",!0)}error(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"error","")}deprecate(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,o){return o&&!this.debug?null:(Tn(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new sk(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new sk(this.logger,e)}}var Fu=new sk;let sC=class{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(n)||0;this.observers[r].set(n,o+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(a=>{let[i,l]=a;for(let u=0;u<l;u++)i(...r)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(a=>{let[i,l]=a;for(let u=0;u<l;u++)i.apply(i,[e,...r])})}};class DF extends sC{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r){var u,d;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,a=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let i;e.indexOf(".")>-1?i=e.split("."):(i=[e,n],r&&(Array.isArray(r)?i.push(...r):Tn(r)&&s?i.push(...r.split(s)):i.push(r)));const l=rk(this.data,i);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=i[0],n=i[1],r=i.slice(2).join(".")),l||!a||!Tn(r)?l:t_((d=(u=this.data)==null?void 0:u[e])==null?void 0:d[n],r,s)}addResource(e,n,r,o){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let i=[e,n];r&&(i=i.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(i=e.split("."),o=n,n=i[1]),this.addNamespaces(n),TF(this.data,i,o),s.silent||this.emit("added",e,n,r,o)}addResources(e,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in r)(Tn(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});o.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,o,s){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},i=[e,n];e.indexOf(".")>-1&&(i=e.split("."),o=r,r=n,n=i[1]),this.addNamespaces(n);let l=rk(this.data,i)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?dJ(l,r,s):l={...l,...r},TF(this.data,i,l),a.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(o=>n[o]&&Object.keys(n[o]).length>0)}toJSON(){return this.data}}var pJ={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,o){return t.forEach(s=>{var a;e=((a=this.processors[s])==null?void 0:a.process(e,n,r,o))??e}),e}};const LF={};class ak extends sC{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Uwe(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Fu.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,i=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Zwe(e,r,o);if(a&&!i){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:Tn(s)?[s]:s};const u=e.split(r);(r!==o||r===o&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.join(o)}return{key:e,namespaces:Tn(s)?[s]:s}}translate(e,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const o=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,s=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:i}=this.extractFromKey(e[e.length-1],n),l=i[i.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(d){const M=n.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${M}${a}`,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${M}${a}`}return o?{res:a,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a}const f=this.resolve(e,n);let m=f==null?void 0:f.res;const g=(f==null?void 0:f.usedKey)||a,w=(f==null?void 0:f.exactUsedKey)||a,b=Object.prototype.toString.apply(m),j=["[object Number]","[object Function]","[object RegExp]"],S=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,I=!this.i18nFormat||this.i18nFormat.handleAsObject,N=!Tn(m)&&typeof m!="boolean"&&typeof m!="number";if(I&&m&&N&&j.indexOf(b)<0&&!(Tn(S)&&Array.isArray(m))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const M=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,m,{...n,ns:i}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(f.res=M,f.usedParams=this.getUsedParamsDetails(n),f):M}if(s){const M=Array.isArray(m),D=M?[]:{},P=M?w:g;for(const L in m)if(Object.prototype.hasOwnProperty.call(m,L)){const F=`${P}${s}${L}`;D[L]=this.translate(F,{...n,joinArrays:!1,ns:i}),D[L]===F&&(D[L]=m[L])}m=D}}else if(I&&Tn(S)&&Array.isArray(m))m=m.join(S),m&&(m=this.extendTranslation(m,e,n,r));else{let M=!1,D=!1;const P=n.count!==void 0&&!Tn(n.count),L=ak.hasDefaultValue(n),F=P?this.pluralResolver.getSuffix(u,n.count,n):"",T=n.ordinal&&P?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",R=P&&!n.ordinal&&n.count===0,z=R&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${F}`]||n[`defaultValue${T}`]||n.defaultValue;!this.isValidLookup(m)&&L&&(M=!0,m=z),this.isValidLookup(m)||(D=!0,m=a);const Z=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&D?void 0:m,W=L&&z!==m&&this.options.updateMissing;if(D||M||W){if(this.logger.log(W?"updateKey":"missingKey",u,l,a,W?z:m),s){const H=this.resolve(a,{...n,keySeparator:!1});H&&H.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let U=[];const ee=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ee&&ee[0])for(let H=0;H<ee.length;H++)U.push(ee[H]);else this.options.saveMissingTo==="all"?U=this.languageUtils.toResolveHierarchy(n.lng||this.language):U.push(n.lng||this.language);const $=(H,Y,q)=>{var ne;const J=L&&q!==m?q:Z;this.options.missingKeyHandler?this.options.missingKeyHandler(H,l,Y,J,W,n):(ne=this.backendConnector)!=null&&ne.saveMissing&&this.backendConnector.saveMissing(H,l,Y,J,W,n),this.emit("missingKey",H,l,Y,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&P?U.forEach(H=>{const Y=this.pluralResolver.getSuffixes(H,n);R&&n[`defaultValue${this.options.pluralSeparator}zero`]&&Y.indexOf(`${this.options.pluralSeparator}zero`)<0&&Y.push(`${this.options.pluralSeparator}zero`),Y.forEach(q=>{$([H],a+q,n[`defaultValue${q}`]||z)})}):$(U,a,z))}m=this.extendTranslation(m,e,n,f,r),D&&m===a&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${a}`),(D||M)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,M?m:void 0))}return o?(f.res=m,f.usedParams=this.getUsedParamsDetails(n),f):m}extendTranslation(e,n,r,o,s){var u,d;var a=this;if((u=this.i18nFormat)!=null&&u.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const f=Tn(e)&&(((d=r==null?void 0:r.interpolation)==null?void 0:d.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(f){const w=e.match(this.interpolator.nestingRegexp);m=w&&w.length}let g=r.replace&&!Tn(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(g={...this.options.interpolation.defaultVariables,...g}),e=this.interpolator.interpolate(e,g,r.lng||this.language||o.usedLng,r),f){const w=e.match(this.interpolator.nestingRegexp),b=w&&w.length;m<b&&(r.nest=!1)}!r.lng&&o&&o.res&&(r.lng=this.language||o.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var w=arguments.length,b=new Array(w),j=0;j<w;j++)b[j]=arguments[j];return(s==null?void 0:s[0])===b[0]&&!r.context?(a.logger.warn(`It seems you are nesting recursively key: ${b[0]} in key: ${n[0]}`),null):a.translate(...b,n)},r)),r.interpolation&&this.interpolator.reset()}const i=r.postProcess||this.options.postProcess,l=Tn(i)?[i]:i;return e!=null&&(l!=null&&l.length)&&r.applyPostProcessor!==!1&&(e=pJ.handle(l,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r,o,s,a,i;return Tn(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;o=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const m=n.count!==void 0&&!Tn(n.count),g=m&&!n.ordinal&&n.count===0,w=n.context!==void 0&&(Tn(n.context)||typeof n.context=="number")&&n.context!=="",b=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(j=>{var S,I;this.isValidLookup(r)||(i=j,!LF[`${b[0]}-${j}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((I=this.utils)!=null&&I.hasLoadedNamespace(i))&&(LF[`${b[0]}-${j}`]=!0,this.logger.warn(`key "${o}" for languages "${b.join(", ")}" won't get resolved as namespace "${i}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),b.forEach(N=>{var P;if(this.isValidLookup(r))return;a=N;const M=[d];if((P=this.i18nFormat)!=null&&P.addLookupKeys)this.i18nFormat.addLookupKeys(M,d,N,j,n);else{let L;m&&(L=this.pluralResolver.getSuffix(N,n.count,n));const F=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(M.push(d+L),n.ordinal&&L.indexOf(T)===0&&M.push(d+L.replace(T,this.options.pluralSeparator)),g&&M.push(d+F)),w){const R=`${d}${this.options.contextSeparator}${n.context}`;M.push(R),m&&(M.push(R+L),n.ordinal&&L.indexOf(T)===0&&M.push(R+L.replace(T,this.options.pluralSeparator)),g&&M.push(R+F))}}let D;for(;D=M.pop();)this.isValidLookup(r)||(s=D,r=this.getResource(N,j,D,n))}))})}),{res:r,usedKey:o,exactUsedKey:s,usedLng:a,usedNS:i}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r){var s;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,n,r,o):this.resourceStore.getResource(e,n,r,o)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!Tn(e.replace);let o=r?e.replace:e;if(r&&typeof e.count<"u"&&(o.count=e.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const s of n)delete o[s]}return o}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class PF{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Fu.create("languageUtils")}getScriptPartFromCode(e){if(e=ok(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=ok(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(Tn(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(r=>{if(n)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(n=o)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(s=>{if(s===o)return s;if(!(s.indexOf("-")<0&&o.indexOf("-")<0)&&(s.indexOf("-")>0&&o.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===o||s.indexOf(o)===0&&o.length>1))return s})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),Tn(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],e),o=[],s=a=>{a&&(this.isSupportedCode(a)?o.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return Tn(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):Tn(e)&&s(this.formatLanguageCode(e)),r.forEach(a=>{o.indexOf(a)<0&&s(this.formatLanguageCode(a))}),o}}const OF={zero:0,one:1,two:2,few:3,many:4,other:5},zF={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Jwe{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=Fu.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=ok(e==="dev"?"en":e),o=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:o});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(r,{type:o})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),zF;if(!e.match(/-|_/))return zF;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,n)}return this.pluralRulesCache[s]=a,a}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,r).map(o=>`${n}${o}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((o,s)=>OF[o]-OF[s]).map(o=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${o}`):[]}getSuffix(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(e,r);return o?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const FF=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Hwe(t,e,n);return!s&&o&&Tn(n)&&(s=t_(t,n,r),s===void 0&&(s=t_(e,n,r))),s},bI=t=>t.replace(/\$/g,"$$$$");class Xwe{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Fu.create("interpolator"),this.options=e,this.format=((n=e==null?void 0:e.interpolation)==null?void 0:n.format)||(r=>r),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:o,prefix:s,prefixEscaped:a,suffix:i,suffixEscaped:l,formatSeparator:u,unescapeSuffix:d,unescapePrefix:f,nestingPrefix:m,nestingPrefixEscaped:g,nestingSuffix:w,nestingSuffixEscaped:b,nestingOptionsSeparator:j,maxReplaces:S,alwaysFormat:I}=e.interpolation;this.escape=n!==void 0?n:Ywe,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=s?D1(s):a||"{{",this.suffix=i?D1(i):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=d?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":d||"",this.nestingPrefix=m?D1(m):g||D1("$t("),this.nestingSuffix=w?D1(w):b||D1(")"),this.nestingOptionsSeparator=j||",",this.maxReplaces=S||1e3,this.alwaysFormat=I!==void 0?I:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,n,r,o){var g;let s,a,i;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=w=>{if(w.indexOf(this.formatSeparator)<0){const I=FF(n,l,w,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(I,void 0,r,{...o,...n,interpolationkey:w}):I}const b=w.split(this.formatSeparator),j=b.shift().trim(),S=b.join(this.formatSeparator).trim();return this.format(FF(n,l,j,this.options.keySeparator,this.options.ignoreJSONStructure),S,r,{...o,...n,interpolationkey:j})};this.resetRegExp();const d=(o==null?void 0:o.missingInterpolationHandler)||this.options.missingInterpolationHandler,f=((g=o==null?void 0:o.interpolation)==null?void 0:g.skipOnVariables)!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:w=>bI(w)},{regex:this.regexp,safeValue:w=>this.escapeValue?bI(this.escape(w)):bI(w)}].forEach(w=>{for(i=0;s=w.regex.exec(e);){const b=s[1].trim();if(a=u(b),a===void 0)if(typeof d=="function"){const S=d(e,s,o);a=Tn(S)?S:""}else if(o&&Object.prototype.hasOwnProperty.call(o,b))a="";else if(f){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${b} for interpolating ${e}`),a="";else!Tn(a)&&!this.useRawValueToEscape&&(a=_F(a));const j=w.safeValue(a);if(e=e.replace(s[0],j),f?(w.regex.lastIndex+=a.length,w.regex.lastIndex-=s[0].length):w.regex.lastIndex=0,i++,i>=this.maxReplaces)break}}),e}nest(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,s,a;const i=(l,u)=>{const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let m=`{${f[1]}`;l=f[0],m=this.interpolate(m,a);const g=m.match(/'/g),w=m.match(/"/g);(((g==null?void 0:g.length)??0)%2===0&&!w||w.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),u&&(a={...u,...a})}catch(b){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,b),`${l}${d}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;o=this.nestingRegexp.exec(e);){let l=[];a={...r},a=a.replace&&!Tn(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let u=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const d=o[1].split(this.formatSeparator).map(f=>f.trim());o[1]=d.shift(),l=d,u=!0}if(s=n(i.call(this,o[1].trim(),a),a),s&&o[0]===e&&!Tn(s))return s;Tn(s)||(s=_F(s)),s||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:o[1].trim()}),s.trim())),e=e.replace(o[0],s),this.regexp.lastIndex=0}return e}}const ebe=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);e==="currency"&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):e==="relativetime"&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach(a=>{if(a){const[i,...l]=a.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),d=i.trim();n[d]||(n[d]=u),u==="false"&&(n[d]=!1),u==="true"&&(n[d]=!0),isNaN(u)||(n[d]=parseInt(u,10))}})}return{formatName:e,formatOptions:n}},L1=t=>{const e={};return(n,r,o)=>{let s=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(s={...s,[o.interpolationkey]:void 0});const a=r+JSON.stringify(s);let i=e[a];return i||(i=t(ok(r),o),e[a]=i),i(n)}};class tbe{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Fu.create("formatter"),this.options=e,this.formats={number:L1((n,r)=>{const o=new Intl.NumberFormat(n,{...r});return s=>o.format(s)}),currency:L1((n,r)=>{const o=new Intl.NumberFormat(n,{...r,style:"currency"});return s=>o.format(s)}),datetime:L1((n,r)=>{const o=new Intl.DateTimeFormat(n,{...r});return s=>o.format(s)}),relativetime:L1((n,r)=>{const o=new Intl.RelativeTimeFormat(n,{...r});return s=>o.format(s,r.range||"day")}),list:L1((n,r)=>{const o=new Intl.ListFormat(n,{...r});return s=>o.format(s)})},this.init(e)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=L1(n)}format(e,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=n.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(i=>i.indexOf(")")>-1)){const i=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,i)].join(this.formatSeparator)}return s.reduce((i,l)=>{var f;const{formatName:u,formatOptions:d}=ebe(l);if(this.formats[u]){let m=i;try{const g=((f=o==null?void 0:o.formatParams)==null?void 0:f[o.interpolationkey])||{},w=g.locale||g.lng||o.locale||o.lng||r;m=this.formats[u](i,w,{...d,...o,...g})}catch(g){this.logger.warn(g)}return m}else this.logger.warn(`there was no format function for ${u}`);return i},e)}}const nbe=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class rbe extends sC{constructor(e,n,r){var s,a;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=Fu.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],(a=(s=this.backend)==null?void 0:s.init)==null||a.call(s,r,o.backend,o)}queueLoad(e,n,r,o){const s={},a={},i={},l={};return e.forEach(u=>{let d=!0;n.forEach(f=>{const m=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,d=!1,a[m]===void 0&&(a[m]=!0),s[m]===void 0&&(s[m]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(i[u]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(i),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const o=e.split("|"),s=o[0],a=o[1];n&&this.emit("failedLoading",s,a,n),!n&&r&&this.store.addResourceBundle(s,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const i={};this.queue.forEach(l=>{Vwe(l.loaded,[s],a),nbe(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{i[u]||(i[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{i[u][f]===void 0&&(i[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(l=>!l.done)}read(e,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:r,tried:o,wait:s,callback:a});return}this.readingCalls++;const i=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&o<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,o+1,s*2,a)},s);return}a(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(e,n);u&&typeof u.then=="function"?u.then(d=>i(null,d)).catch(i):i(null,u)}catch(u){i(u)}return}return l(e,n,i)}prepareLoading(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();Tn(e)&&(e=this.languageUtils.toResolveHierarchy(e)),Tn(n)&&(n=[n]);const s=this.queueLoad(e,n,r,o);if(!s.toLoad.length)return s.pending.length||o(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=e.split("|"),o=r[0],s=r[1];this.read(o,s,"read",void 0,void 0,(a,i)=>{a&&this.logger.warn(`${n}loading namespace ${s} for language ${o} failed`,a),!a&&i&&this.logger.log(`${n}loaded namespace ${s} for language ${o}`,i),this.loaded(e,a,i)})}saveMissing(e,n,r,o,s){var l,u,d,f,m;let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},i=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((u=(l=this.services)==null?void 0:l.utils)!=null&&u.hasLoadedNamespace&&!((f=(d=this.services)==null?void 0:d.utils)!=null&&f.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const g={...a,isUpdate:s},w=this.backend.create.bind(this.backend);if(w.length<6)try{let b;w.length===5?b=w(e,n,r,o,g):b=w(e,n,r,o),b&&typeof b.then=="function"?b.then(j=>i(null,j)).catch(i):i(null,b)}catch(b){i(b)}else w(e,n,r,o,i,g)}!e||!e[0]||this.store.addResource(e[0],n,r,o)}}}const BF=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),Tn(t[1])&&(e.defaultValue=t[1]),Tn(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),UF=t=>{var e,n;return Tn(t.ns)&&(t.ns=[t.ns]),Tn(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),Tn(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),((n=(e=t.supportedLngs)==null?void 0:e.indexOf)==null?void 0:n.call(e,"cimode"))<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t},X4=()=>{},obe=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class vb extends sC{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=UF(e),this.services={},this.logger=Fu,this.modules={external:[]},obe(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(Tn(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const o=BF();this.options={...o,...this.options,...UF(n)},this.options.interpolation={...o.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const s=d=>d?typeof d=="function"?new d:d:null;if(!this.options.isClone){this.modules.logger?Fu.init(s(this.modules.logger),this.options):Fu.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:d=tbe;const f=new PF(this.options);this.store=new DF(this.options.resources,this.options);const m=this.services;m.logger=Fu,m.resourceStore=this.store,m.languageUtils=f,m.pluralResolver=new Jwe(f,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(m.formatter=s(d),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new Xwe(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new rbe(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(g){for(var w=arguments.length,b=new Array(w>1?w-1:0),j=1;j<w;j++)b[j-1]=arguments[j];e.emit(g,...b)}),this.modules.languageDetector&&(m.languageDetector=s(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=s(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new ak(this.services,this.options),this.translator.on("*",function(g){for(var w=arguments.length,b=new Array(w>1?w-1:0),j=1;j<w;j++)b[j-1]=arguments[j];e.emit(g,...b)}),this.modules.external.forEach(g=>{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=X4),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return e.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return e.store[d](...arguments),e}});const l=ew(),u=()=>{const d=(f,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(m),r(f,m)};if(this.languages&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),l}loadResources(e){var s,a;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:X4;const o=Tn(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if((o==null?void 0:o.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],l=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(f=>{f!=="cimode"&&i.indexOf(f)<0&&i.push(f)})};o?l(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(d=>l(d)),(a=(s=this.options.preload)==null?void 0:s.forEach)==null||a.call(s,u=>l(u)),this.services.backendConnector.load(i,this.options.ns,u=>{!u&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(u)})}else r(null)}reloadResources(e,n,r){const o=ew();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=X4),this.services.backendConnector.reload(e,n,s=>{o.resolve(),r(s)}),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&pJ.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(e,n){var r=this;this.isLanguageChangingTo=e;const o=ew();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,u)=>{u?(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,o.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},i=l=>{var d,f;!e&&!l&&this.services.languageDetector&&(l=[]);const u=Tn(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(f=(d=this.services.languageDetector)==null?void 0:d.cacheUserLanguage)==null||f.call(d,u)),this.loadResources(u,m=>{a(m,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?i(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e),o}getFixedT(e,n,r){var o=this;const s=function(a,i){let l;if(typeof i!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f<u;f++)d[f-2]=arguments[f];l=o.options.overloadTranslationOptionHandler([a,i].concat(d))}else l={...i};l.lng=l.lng||s.lng,l.lngs=l.lngs||s.lngs,l.ns=l.ns||s.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||r||s.keyPrefix);const m=o.options.keySeparator||".";let g;return l.keyPrefix&&Array.isArray(a)?g=a.map(w=>`${l.keyPrefix}${m}${w}`):g=l.keyPrefix?`${l.keyPrefix}${m}${a}`:a,o.t(g,l)};return Tn(e)?s.lng=e:s.lngs=e,s.ns=n,s.keyPrefix=r,s}t(){var o;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(o=this.translator)==null?void 0:o.translate(...n)}exists(){var o;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(o=this.translator)==null?void 0:o.exists(...n)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(i,l)=>{const u=this.services.backendConnector.state[`${i}|${l}`];return u===-1||u===0||u===2};if(n.precheck){const i=n.precheck(this,a);if(i!==void 0)return i}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!o||a(s,e)))}loadNamespaces(e,n){const r=ew();return this.options.ns?(Tn(e)&&(e=[e]),e.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=ew();Tn(e)&&(e=[e]);const o=this.options.preload||[],s=e.filter(a=>o.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=o.concat(s),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(e){var o,s;if(e||(e=this.resolvedLanguage||(((o=this.languages)==null?void 0:o.length)>0?this.languages[0]:this.language)),!e)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=((s=this.services)==null?void 0:s.languageUtils)||new PF(BF());return n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new vb(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:X4;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const o={...this.options,...e,isClone:!0},s=new vb(o);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(i=>{s[i]=this[i]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const i=Object.keys(this.store.data).reduce((l,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((d,f)=>(d[f]={...l[u][f]},d),{})),{});s.store=new DF(i,o),s.services.resourceStore=s.store}return s.translator=new ak(s.services,o),s.translator.on("*",function(i){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;d<l;d++)u[d-1]=arguments[d];s.emit(i,...u)}),s.init(o,n),s.translator.options=o,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const ca=vb.createInstance();ca.createInstance=vb.createInstance;ca.createInstance;ca.dir;ca.init;ca.loadResources;ca.reloadResources;ca.use;ca.changeLanguage;ca.getFixedT;ca.t;ca.exists;ca.setDefaultNamespace;ca.hasLoadedNamespace;ca.loadNamespaces;ca.loadLanguages;const{slice:sbe,forEach:abe}=[];function ibe(t){return abe.call(sbe.call(arguments,1),e=>{if(e)for(const n in e)t[n]===void 0&&(t[n]=e[n])}),t}const $F=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,lbe=function(t,e){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},o=encodeURIComponent(e);let s=`${t}=${o}`;if(r.maxAge>0){const a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");s+=`; Max-Age=${Math.floor(a)}`}if(r.domain){if(!$F.test(r.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${r.domain}`}if(r.path){if(!$F.test(r.path))throw new TypeError("option path is invalid");s+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(s+="; HttpOnly"),r.secure&&(s+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return s},VF={create(t,e,n,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+n*60*1e3)),r&&(o.domain=r),document.cookie=lbe(t,encodeURIComponent(e),o)},read(t){const e=`${t}=`,n=document.cookie.split(";");for(let r=0;r<n.length;r++){let o=n[r];for(;o.charAt(0)===" ";)o=o.substring(1,o.length);if(o.indexOf(e)===0)return o.substring(e.length,o.length)}return null},remove(t){this.create(t,"",-1)}};var cbe={name:"cookie",lookup(t){let{lookupCookie:e}=t;if(e&&typeof document<"u")return VF.read(e)||void 0},cacheUserLanguage(t,e){let{lookupCookie:n,cookieMinutes:r,cookieDomain:o,cookieOptions:s}=e;n&&typeof document<"u"&&VF.create(n,t,r,o,s)}},ube={name:"querystring",lookup(t){var r;let{lookupQuerystring:e}=t,n;if(typeof window<"u"){let{search:o}=window.location;!window.location.search&&((r=window.location.hash)==null?void 0:r.indexOf("?"))>-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const a=o.substring(1).split("&");for(let i=0;i<a.length;i++){const l=a[i].indexOf("=");l>0&&a[i].substring(0,l)===e&&(n=a[i].substring(l+1))}}return n}};let P1=null;const HF=()=>{if(P1!==null)return P1;try{if(P1=typeof window<"u"&&window.localStorage!==null,!P1)return!1;const t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{P1=!1}return P1};var fbe={name:"localStorage",lookup(t){let{lookupLocalStorage:e}=t;if(e&&HF())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(t,e){let{lookupLocalStorage:n}=e;n&&HF()&&window.localStorage.setItem(n,t)}};let O1=null;const WF=()=>{if(O1!==null)return O1;try{if(O1=typeof window<"u"&&window.sessionStorage!==null,!O1)return!1;const t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{O1=!1}return O1};var dbe={name:"sessionStorage",lookup(t){let{lookupSessionStorage:e}=t;if(e&&WF())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(t,e){let{lookupSessionStorage:n}=e;n&&WF()&&window.sessionStorage.setItem(n,t)}},pbe={name:"navigator",lookup(t){const e=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:o}=navigator;if(n)for(let s=0;s<n.length;s++)e.push(n[s]);r&&e.push(r),o&&e.push(o)}return e.length>0?e:void 0}},hbe={name:"htmlTag",lookup(t){let{htmlTag:e}=t,n;const r=e||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},mbe={name:"path",lookup(t){var o;let{lookupFromPathIndex:e}=t;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?(o=n[typeof e=="number"?e:0])==null?void 0:o.replace("/",""):void 0}},gbe={name:"subdomain",lookup(t){var o,s;let{lookupFromSubdomainIndex:e}=t;const n=typeof e=="number"?e+1:1,r=typeof window<"u"&&((s=(o=window.location)==null?void 0:o.hostname)==null?void 0:s.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(r)return r[n]}};let hJ=!1;try{document.cookie,hJ=!0}catch{}const mJ=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];hJ||mJ.splice(1,1);const ybe=()=>({order:mJ,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:t=>t});class gJ{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,n)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=ibe(n,this.options||{},ybe()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(cbe),this.addDetector(ube),this.addDetector(fbe),this.addDetector(dbe),this.addDetector(pbe),this.addDetector(hbe),this.addDetector(mbe),this.addDetector(gbe)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,n=[];return e.forEach(r=>{if(this.detectors[r]){let o=this.detectors[r].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(n=n.concat(o))}}),n=n.map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(e,this.options)}))}}gJ.type="languageDetector";var h=OR();const Be=tc(h),yh=fJ({__proto__:null,default:Be},[h]),vbe=(...t)=>{console!=null&&console.warn&&(Hm(t[0])&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t))},YF={},n_=(...t)=>{Hm(t[0])&&YF[t[0]]||(Hm(t[0])&&(YF[t[0]]=new Date),vbe(...t))},yJ=(t,e)=>()=>{if(t.isInitialized)e();else{const n=()=>{setTimeout(()=>{t.off("initialized",n)},0),e()};t.on("initialized",n)}},r_=(t,e,n)=>{t.loadNamespaces(e,yJ(t,n))},GF=(t,e,n,r)=>{if(Hm(n)&&(n=[n]),t.options.preload&&t.options.preload.indexOf(e)>-1)return r_(t,n,r);n.forEach(o=>{t.options.ns.indexOf(o)<0&&t.options.ns.push(o)}),t.loadLanguages(e,yJ(t,r))},wbe=(t,e,n={})=>!e.languages||!e.languages.length?(n_("i18n.languages were undefined or empty",e.languages),!0):e.hasLoadedNamespace(t,{lng:n.lng,precheck:(r,o)=>{var s;if(((s=n.bindI18n)==null?void 0:s.indexOf("languageChanging"))>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!o(r.isLanguageChangingTo,t))return!1}}),Hm=t=>typeof t=="string",bbe=t=>typeof t=="object"&&t!==null,xbe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,kbe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},jbe=t=>kbe[t],Cbe=t=>t.replace(xbe,jbe);let o_={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Cbe};const Sbe=(t={})=>{o_={...o_,...t}},Ebe=()=>o_;let vJ;const Nbe=t=>{vJ=t},Ibe=()=>vJ,Abe={type:"3rdParty",init(t){Sbe(t.options.react),Nbe(t)}},_be=h.createContext();class Mbe{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Rbe=(t,e)=>{const n=h.useRef();return h.useEffect(()=>{n.current=t},[t,e]),n.current},wJ=(t,e,n,r)=>t.getFixedT(e,n,r),Tbe=(t,e,n,r)=>h.useCallback(wJ(t,e,n,r),[t,e,n,r]),Ke=(t,e={})=>{var M,D,P,L;const{i18n:n}=e,{i18n:r,defaultNS:o}=h.useContext(_be)||{},s=n||r||Ibe();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new Mbe),!s){n_("You will need to pass in an i18next instance by using initReactI18next");const F=(R,z)=>Hm(z)?z:bbe(z)&&Hm(z.defaultValue)?z.defaultValue:Array.isArray(R)?R[R.length-1]:R,T=[F,{},!1];return T.t=F,T.i18n={},T.ready=!1,T}(M=s.options.react)!=null&&M.wait&&n_("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Ebe(),...s.options.react,...e},{useSuspense:i,keyPrefix:l}=a;let u=o||((D=s.options)==null?void 0:D.defaultNS);u=Hm(u)?[u]:u||["translation"],(L=(P=s.reportNamespaces).addUsedNamespaces)==null||L.call(P,u);const d=(s.isInitialized||s.initializedStoreOnce)&&u.every(F=>wbe(F,s,a)),f=Tbe(s,e.lng||null,a.nsMode==="fallback"?u:u[0],l),m=()=>f,g=()=>wJ(s,e.lng||null,a.nsMode==="fallback"?u:u[0],l),[w,b]=h.useState(m);let j=u.join();e.lng&&(j=`${e.lng}${j}`);const S=Rbe(j),I=h.useRef(!0);h.useEffect(()=>{const{bindI18n:F,bindI18nStore:T}=a;I.current=!0,!d&&!i&&(e.lng?GF(s,e.lng,u,()=>{I.current&&b(g)}):r_(s,u,()=>{I.current&&b(g)})),d&&S&&S!==j&&I.current&&b(g);const R=()=>{I.current&&b(g)};return F&&(s==null||s.on(F,R)),T&&(s==null||s.store.on(T,R)),()=>{I.current=!1,s&&(F==null||F.split(" ").forEach(z=>s.off(z,R))),T&&s&&T.split(" ").forEach(z=>s.store.off(z,R))}},[s,j]),h.useEffect(()=>{I.current&&d&&b(m)},[s,l,d]);const N=[w,s,d];if(N.t=w,N.i18n=s,N.ready=d,d||!d&&!i)return N;throw new Promise(F=>{e.lng?GF(s,e.lng,u,()=>F()):r_(s,u,()=>F())})},Dbe={translation:{"Welcome! 🥳":"مرحباً! 🥳",About:"حول","New Note":"ملاحظة جديدة",Post:"نشر",Home:"الرئيسية","Relay settings":"إعدادات الريلاي",Settings:"الإعدادات",SidebarRelays:"الريلايات",Refresh:"تحديث",Profile:"الملف الشخصي",Logout:"تسجيل الخروج",Following:"المتابعون",followings:"المتابعين",reposted:"أُعيد نشره","just now":"الآن","minute ago_one":"منذ {{count}} دقيقة","minute ago_other":"منذ {{count}} دقيقة","n m":"{{n}} دقيقة","hour ago_one":"منذ {{count}} ساعة","hour ago_other":"منذ {{count}} ساعة","n h":"{{n}} ساعة","day ago_one":"منذ {{count}} يوم","day ago_other":"منذ {{count}} يوم","n d":"{{n}} يوم",date:"{{timestamp, date}}",Follow:"متابعة",Unfollow:"إلغاء المتابعة","Follow failed":"فشل المتابعة","Unfollow failed":"فشل إلغاء المتابعة","show new notes":"إظهار الملاحظات الجديدة","loading...":"جار التحميل...","Loading...":"جار التحميل...","no more notes":"لا توجد ملاحظات إضافية","reply to":"الرد على",reply:"رد",Reply:"رد","load more older replies":"تحميل المزيد من الردود القديمة","Write something...":"اكتب شيئاً...",Cancel:"إلغاء",Mentions:"المنشنات","Failed to post":"فشل النشر","Post successful":"تم النشر بنجاح","Your post has been published":"تم نشر مشاركتك",Repost:"إعادة النشر",Quote:"اقتباس","Copy event ID":"نسخ معرف الحدث","Copy user ID":"نسخ معرف المستخدم","View raw event":"عرض الحدث الخام",Like:"أعجبني","switch to light theme":"التبديل إلى الوضع الفاتح","switch to dark theme":"التبديل إلى الوضع الداكن","switch to system theme":"التبديل إلى وضع النظام",Note:"ملاحظة",note:"ملاحظة","username's following":"متابعي {{username}}","username's used relays":"الريلايات المستخدمة لـ {{username}}","username's muted":"{{username}} تم كتمه",Login:"تسجيل الدخول","Follows you":"يتابعك","Relay Settings":"إعدادات الريلاي","Relay set name":"اسم مجموعة الريلاي","Add a new relay set":"إضافة مجموعة ريلاي جديدة",Add:"إضافة","n relays":"{{n}} ريلايات",Rename:"إعادة تسمية","Copy share link":"نسخ رابط المشاركة",Delete:"حذف","Relay already exists":"الريلاي موجود بالفعل","invalid relay URL":"عنوان URL للريلاي غير صالح","Add a new relay":"إضافة ريلاي جديدة",back:"عودة","Lost in the void":"ضائع في الفراغ","Carry me home":"أعدني إلى المنزل","no replies":"لا توجد ردود","Reply to":"الرد على",Search:"بحث","The relays you are connected to do not support search":"الريلايات المتصلة لا تدعم البحث","Show more...":"عرض المزيد...","All users":"جميع المستخدمين","Display replies":"عرض الردود",Notes:"الملاحظات",Replies:"الردود",Notifications:"الإشعارات","no more notifications":"لا توجد إشعارات إضافية","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"استخدام تسجيل الدخول بالمفتاح الخاص غير آمن. يُوصى باستخدام إضافة متصفح لتسجيل الدخول، مثل alby أو nostr-keyx أو nos2x. إذا كان يجب عليك استخدام مفتاح خاص، يرجى تعيين كلمة مرور للتشفير على الأقل.","Login with Browser Extension":"تسجيل الدخول باستخدام إضافة المتصفح","Login with Bunker":"تسجيل الدخول باستخدام Bunker","Login with Private Key":"تسجيل الدخول باستخدام المفتاح الخاص","reload notes":"إعادة تحميل الملاحظات","Logged in Accounts":"الحسابات المسجلة","Add an Account":"إضافة حساب","More options":"المزيد من الخيارات","Add client tag":"إضافة وسم العميل","Show others this was sent via Smesh":"عرض أن هذه الرسالة أُرسلت عبر Smesh","Are you sure you want to logout?":"هل أنت متأكد أنك تريد تسجيل الخروج؟","relay sets":"مجموعات الريلاي",edit:"تعديل",Languages:"اللغات",Theme:"المظهر",System:"النظام",Light:"فاتح",Dark:"داكن",Temporary:"مؤقت","Choose a relay set":"اختر مجموعة ريلاي","Switch account":"تبديل الحساب",Pictures:"الصور","Picture note":"ملاحظة الصورة","A special note for picture-first clients like Olas":"ملاحظة خاصة للعملاء المعتمدين على الصور مثل Olas","Picture note requires images":"ملاحظة الصورة تتطلب صور",Relays:"الريلايات",Image:"صورة","R & W":"قراءة وكتابة",Read:"قراءة",Write:"كتابة","Pull relay sets":"سحب مجموعات الريلاي","Select the relay sets you want to pull":"اختر مجموعات الريلاي التي تريد استلامها","No relay sets found":"لم يتم العثور على مجموعات ريلاي","Pull n relay sets":"سحب {{n}} مجموعات ريلاي",Pull:"سحب","Select all":"اختر الكل","Relay Sets":"مجموعات الريلاي","Read & Write Relays":"ريلايات القراءة والكتابة","read relays description":"تُستخدم ريلايات القراءة لاسترجاع الأحداث المتعلقة بك. ينشر المستخدمون الآخرون الأحداث التي ترغب في مشاهدتها إلى هذه الريلايات.","write relays description":"تُستخدم ريلايات الكتابة لنشر أحداثك. يسترجع المستخدمون الآخرون أحداثك من هذه الريلايات.","read & write relays notice":"يُفضل أن يكون عدد خوادم القراءة والكتابة بين 2 و4.","Don't have an account yet?":"لا تملك حساباً بعد؟","or simply generate a private key":"أو ببساطة أنشئ مفتاحاً خاصاً","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"هذا مفتاح خاص. لا تشاركه مع أي أحد. احفظه بأمان، فلن تتمكن من استرجاعه إذا فقدته.",Edit:"تعديل",Save:"حفظ","Display Name":"اسم العرض",Bio:"السيرة الذاتية","Nostr Address (NIP-05)":"عنوان Nostr (NIP-05)","Invalid NIP-05 address":"عنوان NIP-05 غير صالح","Copy private key":"نسخ المفتاح الخاص","Enter the password to decrypt your ncryptsec":"أدخل كلمة المرور لفك تشفير ncryptsec",Back:"رجوع","optional: encrypt nsec":"اختياري: تشفير nsec",password:"كلمة المرور","Sign up":"تسجيل","Save to":"حفظ إلى","Enter a name for the new relay set":"أدخل اسماً لمجموعة ريلاي جديدة","Save to a new relay set":"حفظ في مجموعة ريلاي جديدة",Mute:"كتم",Muted:"تم كتمه",Unmute:"إلغاء الكتم","Unmute user":"إلغاء كتم المستخدم","Append n relays":"إضافة {{n}} ريلايات",Append:"إضافة","Select relays to append":"اختر الريلايات للإضافة","calculating...":"جار الحساب...","Calculate optimal read relays":"حساب أفضل ريلايات للقراءة","Login to set":"تسجيل الدخول للوصول إلى المجموعة","Please login to view following feed":"يرجى تسجيل الدخول لعرض خلاصات المتابعة","Send only to r":"إرسال فقط إلى {{r}}","Send only to these relays":"إرسال فقط إلى هذه الريلايات",Explore:"استكشاف","Search relays":"البحث في الريلايات",relayInfoBadgeAuth:"مصادقة",relayInfoBadgeSearch:"بحث",relayInfoBadgePayment:"دفع",Operator:"المشغل",Contact:"اتصال",Software:"البرنامج",Version:"الإصدار","Random Relays":"ريلايات عشوائية",randomRelaysRefresh:"تحديث","Explore more":"استكشاف المزيد","Payment page":"صفحة الدفع","Supported NIPs":"NIPs المدعومة","Open in a":"فتح في {{a}}","Cannot handle event of kind k":"لا يمكن معالجة الحدث من النوع {{k}}","Sorry! The note cannot be found 😔":"عذراً! لا يمكن العثور على الملاحظة 😔","This user has been muted":"تم كتم هذا المستخدم",Wallet:"المحفظة",Sats:"Sats",sats:"sats","Zap to":"إرسال Zap إلى","Zap n sats":"Zap {{n}} sats",zapComment:"تعليق","Default zap amount":"الكمية الافتراضية لـ Zap","Default zap comment":"التعليق الافتراضي لـ Zap","Lightning Address (or LNURL)":"عنوان Lightning (أو LNURL)","Quick zap":"Zap سريع","If enabled, you can zap with a single click. Click and hold for custom amounts":"إذا تم تمكينه، يمكنك إرسال Zap بنقرة واحدة. انقر واستمر للحصول على كميات مخصصة",All:"الكل",Reactions:"التفاعلات",Zaps:"Zaps","Earlier notifications":"الإشعارات السابقة","Temporarily display this note":"عرض هذه الملاحظة مؤقتاً",buttonFollowing:"جارٍ المتابعة","Are you sure you want to unfollow this user?":"هل أنت متأكد أنك تريد إلغاء متابعة هذا المستخدم؟","Recent Supporters":"الداعمين الجدد","Seen on":"شوهد على","Temporarily display this reply":"عرض هذا الرد مؤقتاً","Note not found":"لم يتم العثور على الملاحظة","no more replies":"لا توجد مزيد من الردود","Relay sets":"مجموعات الريلاي","Favorite Relays":"الريلايات المفضلة","Following's Favorites":"المفضلات من المتابعين","no more relays":"لا توجد مزيد من الريلايات","Favorited by":"المفضلة من قبل","Post settings":"إعدادات النشر","Media upload service":"خدمة تحميل الوسائط","Choose a relay":"اختر ريلاي","no relays found":"لم يتم العثور على ريلايات",video:"فيديو","Show n new notes":"عرض {{n}} ملاحظات جديدة",YouTabName:"أنت",Bookmark:"الإشارة المرجعية","Remove bookmark":"إزالة الإشارة","no bookmarks found":"لم يتم العثور على إشارات","no more bookmarks":"لا مزيد من الإشارات",Bookmarks:"الإشارات المرجعية","Show more":"عرض المزيد",General:"عام",Autoplay:"التشغيل التلقائي","Enable video autoplay on this device":"تمكين التشغيل التلقائي للفيديو على هذا الجهاز","Paste or drop media files to upload":"الصق أو اسحب ملفات الوسائط لتحميلها",Preview:"معاينة","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"أنت على وشك نشر حدث موقع من قبل [{{eventAuthorName}}]. أنت حالياً مسجل الدخول كـ [{{currentUsername}}]. هل أنت متأكد؟","Platinum Sponsors":"الرعاة البلاتينيون",From:"من","Comment on":"تعليق على","View on njump.me":"عرض على njump.me","Hide content from untrusted users":"إخفاء المحتوى من المستخدمين غير الموثوقين","Only show content from your followed users and the users they follow":"فقط عرض المحتوى من المستخدمين الذين تتابعهم والمستخدمين الذين يتابعونهم","Followed by":"متابع من قبل","Mute user privately":"كتم المستخدم بشكل خاص","Mute user publicly":"كتم المستخدم علنياً",Quotes:"الاقتباسات","Lightning Invoice":"فاتورة Lightning","Bookmark failed":"فشل في الإشارة المرجعية","Remove bookmark failed":"فشل في إزالة الإشارة المرجعية",Translation:"الترجمة",Balance:"الرصيد",characters:"الحروف",smeshTranslateApiKeyDescription:"يمكنك استخدام مفتاح API هذا في أي مكان آخر يدعم LibreTranslate. عنوان الخدمة هو {{serviceUrl}}","Top up":"إعادة شحن","Will receive: {n} characters":"ستتلقى: {{n}} حروف","Top up {n} sats":"إعادة شحن {{n}} ساتوشي","Minimum top up is {n} sats":"الحد الأدنى لإعادة الشحن هو {{n}} ساتوشي",Service:"الخدمة","Reset API key":"إعادة تعيين مفتاح API","Are you sure you want to reset your API key? This action cannot be undone.":"هل أنت متأكد أنك تريد إعادة تعيين مفتاح API الخاص بك؟ لا يمكن التراجع عن هذا الإجراء.",Warning:"تحذير","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"مفتاح API الحالي الخاص بك سيصبح غير صالح على الفور، وأي تطبيقات تستخدمه ستتوقف عن العمل حتى تقوم بتحديثها بالمفتاح الجديد.","Service address":"عنوان الخدمة",Pay:"دفع",interactions:"التفاعلات",notifications:"الإشعارات","Show untrusted {type}":"إظهار {{type}} غير الموثوق","Hide untrusted {type}":"إخفاء {{type}} غير الموثوق","Currently hiding {type} from untrusted users.":"حاليًا إخفاء {{type}} من المستخدمين غير الموثوقين.","Currently showing all {type}.":"حاليًا عرض جميع {{type}}.","Click continue to show all {type}.":"انقر على متابعة لعرض جميع {{type}}.","Click continue to hide {type} from untrusted users.":"انقر على متابعة لإخفاء {{type}} من المستخدمين غير الموثوقين.","Trusted users include people you follow and people they follow.":"المستخدمون الموثوقون هم الأشخاص الذين تتابعهم والأشخاص الذين يتابعونهم.",Continue:"متابعة","Successfully updated mute list":"تم تحديث قائمة الكتم بنجاح","No pubkeys found from {url}":"لم يتم العثور على مفاتيح عامة من {{url}}","Translating...":"جارٍ الترجمة...",Translate:"ترجمة","Show original":"عرض الأصل",Website:"الموقع الإلكتروني","Hide untrusted notes":"إخفاء الملاحظات غير الموثوقة","Open in another client":"فتح في عميل آخر",Community:"المجتمع",Group:"المجموعة","Live event":"حدث مباشر",Article:"مقالة",Unfavorite:"إلغاء المفضلة","Recommended relays":"الريلايات الموصى بها","Blossom server URLs":"عناوين خوادم Blossom","You need to add at least one blossom server in order to upload media files.":"تحتاج إلى إضافة خادم Blossom واحد على الأقل لتحميل ملفات الوسائط.","Recommended blossom servers":"خوادم Blossom الموصى بها","Enter Blossom server URL":"أدخل عنوان خادم Blossom URL",Preferred:"المفضل","Multiple choice (select one or more)":"اختيار متعدد (اختر واحداً أو أكثر)",Vote:"صوت","{{number}} votes":"{{number}} أصوات","Total votes":"إجمالي الأصوات","Poll has ended":"انتهى الاستطلاع","Poll ends at {{time}}":"ينتهي الاستطلاع في {{time}}","Load results":"تحميل النتائج","This is a poll note.":"هذه ملاحظة استطلاع.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"على عكس الملاحظات العادية، الاستطلاعات غير مدعومة على نطاق واسع وقد لا تظهر في العملاء الآخرين.","Option {{number}}":"الخيار {{number}}","Add Option":"إضافة خيار","Allow multiple choices":"السماح بخيارات متعددة","End Date (optional)":"تاريخ الانتهاء (اختياري)","Clear end date":"مسح تاريخ الانتهاء","Relay URLs (optional, comma-separated)":"عناوين المرحلات (اختياري، مفصولة بفواصل)","Remove poll":"إزالة الاستطلاع","Refresh results":"تحديث النتائج",Poll:"استطلاع",Media:"الوسائط","Republish to ...":"إعادة النشر إلى ...","Successfully republish to your write relays":"تم إعادة النشر بنجاح إلى ريلايات الكتابة الخاصة بك","Failed to republish to your write relays: {{error}}":"فشل في إعادة النشر إلى ريلايات الكتابة الخاصة بك: {{error}}","Successfully republish to relay set: {{name}}":"تم إعادة النشر بنجاح إلى مجموعة الريلاي: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"فشل في إعادة النشر إلى مجموعة الريلاي: {{name}}. خطأ: {{error}}","Successfully republish to relay: {{url}}":"تم إعادة النشر بنجاح إلى الريلاي: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"فشل في إعادة النشر إلى الريلاي: {{url}}. خطأ: {{error}}","Write relays":"مرحلات الكتابة","No more reactions":"لا توجد تفاعلات إضافية","No reactions yet":"لا توجد تفاعلات بعد","No more zaps":"لا توجد مزيد من الزابس","No zaps yet":"لا توجد زابس بعد","No more reposts":"لا توجد مزيد من إعادة النشر","No reposts yet":"لا توجد إعادة نشر بعد",Reposts:"إعادة النشر",FollowListNotFoundConfirmation:"لم يتم العثور على قائمة المتابعة. هل تريد إنشاء واحدة جديدة؟ إذا كنت قد تابعت مستخدمين من قبل، يرجى عدم التأكيد لأن هذه العملية ستؤدي إلى فقدان قائمة المتابعة السابقة.",MuteListNotFoundConfirmation:"لم يتم العثور على قائمة الكتم. هل تريد إنشاء واحدة جديدة؟ إذا كنت قد كتمت مستخدمين من قبل، يرجى عدم التأكيد لأن هذه العملية ستؤدي إلى فقدان قائمة الكتم السابقة.","Show NSFW content by default":"إظهار محتوى NSFW افتراضياً","Custom emoji management":"إدارة الرموز التعبيرية المخصصة","After changing emojis, you may need to refresh the page":"بعد تغيير الرموز التعبيرية، قد تحتاج إلى تحديث الصفحة","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"تحسين إعدادات الترحيل","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"قد لا تكون تكوينات الترحيل الحالية مثلى. هذا قد يجعل من الصعب على الآخرين العثور على منشوراتك وقد يؤدي إلى إشعارات غير مكتملة.","Optimize Now":"تحسين الآن","Maybe Later":"ربما لاحقاً","Don't remind me again":"لا تذكرني مرة أخرى",Posts:"المشاركات",Articles:"المقالات",Highlights:"التمييز",Polls:"الاستطلاعات","Voice Posts":"المشاركات الصوتية","Photo Posts":"مشاركات الصور","Video Posts":"مشاركات الفيديو","Select All":"تحديد الكل","Clear All":"مسح الكل","Set as default filter":"تعيين كمرشح افتراضي",Apply:"تطبيق",Reset:"إعادة تعيين","Share something on this Relay":"شارك شيئاً على هذا الريلاي","Try deleting this note":"حاول حذف هذه الملاحظة","Deletion request sent to {{count}} relays":"تم إرسال طلب الحذف إلى {{count}} ريلايات","Suitable Relays":"الريلايات المناسبة","People, keywords, or relays":"أشخاص، كلمات مفتاحية، أو ريلايات","Hide content mentioning muted users":"إخفاء المحتوى الذي يذكر المستخدمين المكتومين","This note mentions a user you muted":"هذه الملاحظة تذكر مستخدماً قمت بكتمه",Filter:"مرشح","mentioned you in a note":"ذكرك في ملاحظة","quoted your note":"اقتبس ملاحظتك","voted in your poll":"صوت في استطلاعك","reacted to your note":"تفاعل مع ملاحظتك","reposted your note":"أعاد نشر ملاحظتك","zapped your note":"زاب ملاحظتك","highlighted your note":"أبرز ملاحظتك","zapped you":"زابك","Mark as read":"تعليم كمقروء",Report:"تبليغ","Successfully report":"تم التبليغ بنجاح","Failed to report":"فشل في التبليغ",nudity:"عُري",malware:"برامج ضارة",profanity:"ألفاظ نابية",illegal:"محتوى غير قانوني",spam:"رسائل مزعجة",other:"أخرى","Notification list style":"نمط قائمة الإشعارات","See extra info for each notification":"عرض معلومات إضافية لكل إشعار","See more notifications at a glance":"رؤية المزيد من الإشعارات بنظرة سريعة",Detailed:"تفصيلي",Compact:"مضغوط","Submit Relay":"إرسال ريلاي",Homepage:"الصفحة الرئيسية","Proof of Work (difficulty {{minPow}})":"إثبات العمل (الصعوبة {{minPow}})","via {{client}}":"عبر {{client}}","Auto-load media":"تحميل الوسائط تلقائياً",Always:"دائماً","Wi-Fi only":"Wi-Fi فقط",Never:"أبداً","Click to load image":"انقر لتحميل الصورة","Click to load media":"انقر لتحميل الوسائط","Click to load YouTube video":"انقر لتحميل فيديو YouTube","{{count}} reviews":"{{count}} مراجعة","Write a review":"كتابة مراجعة","No reviews yet. Be the first to write one!":"لا توجد مراجعات بعد. كن أول من يكتب واحدة!","View more reviews":"عرض المزيد من المراجعات","Failed to review":"فشل في المراجعة","Write a review and pick a star rating":"اكتب مراجعة واختر تقييماً بالنجوم",Submit:"إرسال","Reviews for {{relay}}":"مراجعات لـ {{relay}}","No relays selected":"لم يتم اختيار أي مرحل","Post to":"نشر إلى","Write relays and {{count}} other relays":"مرحلات الكتابة و {{count}} مرحل آخر","{{count}} relays":"{{count}} ريلايات","Republishing...":"جارٍ إعادة النشر...","Connected to":"متصل بـ","Disconnect Wallet":"قطع الاتصال بالمحفظة","Are you absolutely sure?":"هل أنت متأكد تماماً؟","You will not be able to send zaps to others.":"لن تتمكن من إرسال zaps للآخرين.",Disconnect:"قطع الاتصال","Start with a Rizful Vault":"ابدأ بمحفظة Rizful","or other wallets":"أو محافظ أخرى","Rizful Vault":"محفظة Rizful","Rizful Vault connected!":"تم توصيل محفظة Rizful!","You can now use your Rizful Vault to zap your favorite notes and creators.":"يمكنك الآن استخدام محفظة Rizful الخاصة بك لإرسال zap إلى ملاحظاتك والمبدعين المفضلين لديك.","Your Lightning Address":"عنوان Lightning الخاص بك","New to Rizful?":"جديد في Rizful؟","Sign up for Rizful":"سجل في Rizful","If you already have a Rizful account, you can skip this step.":"إذا كان لديك حساب Rizful بالفعل، يمكنك تخطي هذه الخطوة.","Get your one-time code":"احصل على رمز الاستخدام مرة واحدة","Get code":"احصل على الرمز","Connect to your Rizful Vault":"الاتصال بمحفظة Rizful الخاصة بك","Paste your one-time code here":"الصق رمز الاستخدام مرة واحدة هنا",Connect:"اتصال","Set up your wallet to send and receive sats!":"قم بإعداد محفظتك لإرسال واستقبال الساتس!","Set up":"إعداد",Pinned:"مثبت",Unpin:"إلغاء التثبيت",Unpinning:"جارٍ إلغاء التثبيت","Pinning...":"جارٍ التثبيت...","Pinned!":"تم التثبيت!","Failed to pin: {{error}}":"فشل في التثبيت: {{error}}","Unpinning...":"جارٍ إلغاء التثبيت...","Unpinned!":"تم إلغاء التثبيت!","Failed to unpin: {{error}}":"فشل في إلغاء التثبيت: {{error}}","Unpin from profile":"إلغاء التثبيت من الملف الشخصي","Pin to profile":"تثبيت في الملف الشخصي",Appearance:"المظهر","Pure Black":"أسود نقي",Default:"افتراضي",Red:"أحمر",Orange:"برتقالي",Amber:"عنبر",Yellow:"أصفر",Lime:"ليموني",Green:"أخضر",Emerald:"زمردي",Teal:"أزرق مخضر",Cyan:"سماوي",Sky:"سماء",Blue:"أزرق",Indigo:"نيلي",Violet:"بنفسجي",Purple:"أرجواني",Fuchsia:"فوشيا",Pink:"وردي",Rose:"وردة","Primary color":"اللون الأساسي",Layout:"التخطيط","Two-column":"عمودين","Single-column":"عمود واحد",Reviews:"المراجعات",Extension:"امتداد",Remote:"عن بُعد","Encrypted Key":"مفتاح مشفر","Private Key":"مفتاح خاص","Welcome to Smesh":"مرحبًا بك في Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh هو عميل يركز على تصفح المرحلات. ابدأ باستكشاف المرحلات المثيرة للاهتمام أو قم بتسجيل الدخول لعرض خلاصتك.","Explore Relays":"استكشف المرحلات","Choose a feed":"اختر خلاصة","and {{x}} others":"و {{x}} آخرون",selfZapWarning:"Smesh غير مسؤولة عما يحدث إذا أرسلت zap لنفسك. تابع على مسؤوليتك الخاصة. 😉⚡","Emoji Pack":"حزمة الرموز التعبيرية","Emoji pack added":"تمت إضافة حزمة الرموز التعبيرية","Add emoji pack failed":"فشل إضافة حزمة الرموز التعبيرية","Emoji pack removed":"تمت إزالة حزمة الرموز التعبيرية","Remove emoji pack failed":"فشل إزالة حزمة الرموز التعبيرية",Added:"تمت الإضافة","Emoji Packs":"حزم الرموز التعبيرية","My Packs":"حزمي","Adding...":"جاري الإضافة...","Removing...":"جاري الإزالة...",Reload:"إعادة التحميل","Request to Join Relay":"طلب الانضمام إلى المرحل","Leave Relay":"مغادرة المرحل",Leave:"مغادرة","Are you sure you want to leave this relay?":"هل أنت متأكد من أنك تريد مغادرة هذا المرحل؟","Join request sent successfully":"تم إرسال طلب الانضمام بنجاح","Failed to send join request":"فشل إرسال طلب الانضمام","Leave request sent successfully":"تم إرسال طلب المغادرة بنجاح","Failed to send leave request":"فشل إرسال طلب المغادرة","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"أدخل رمز الدعوة إذا كان لديك واحد. وإلا، اتركه فارغًا لإرسال طلب.","Invite Code (Optional)":"رمز الدعوة (اختياري)","Enter invite code":"أدخل رمز الدعوة","Sending...":"جاري الإرسال...","Send Request":"إرسال الطلب","You can get an invite code from a relay member.":"يمكنك الحصول على رمز دعوة من عضو المرحل.","Enter the invite code you received from a relay member.":"أدخل رمز الدعوة الذي تلقيته من عضو المرحل.","Get Invite Code":"الحصول على رمز الدعوة","Share this invite code with others to invite them to join this relay.":"شارك رمز الدعوة هذا مع الآخرين لدعوتهم للانضمام إلى هذا المرحل.","Invite Code":"رمز الدعوة",Copy:"نسخ","This invite code can be used by others to join the relay.":"يمكن للآخرين استخدام رمز الدعوة هذا للانضمام إلى المرحل.","No invite code available from this relay.":"لا يوجد رمز دعوة متاح من هذا المرحل.",Close:"إغلاق","Failed to get invite code from relay":"فشل الحصول على رمز الدعوة من المرحل","Failed to get invite code":"فشل الحصول على رمز الدعوة","Invite code copied to clipboard":"تم نسخ رمز الدعوة إلى الحافظة","Favicon URL":"رابط الأيقونة المفضلة","Filter out onion relays":"تصفية مرحلات onion","Click to load X post":"انقر لتحميل منشور X","View Nostr comments":"عرض تعليقات Nostr","Search for notes":"البحث عن الملاحظات","Search for hashtag":"البحث عن الوسم","Go to note":"الانتقال إلى الملاحظة","Go to relay":"الانتقال إلى المرحل","View discussions about this":"عرض المناقشات حول هذا المحتوى","Open link":"فتح الرابط","View Nostr discussions":"عرض مناقشات Nostr","Optimal relays":"المرحلات المثلى","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"تم إعادة النشر بنجاح إلى المرحلات المثلى (مرحلات الكتابة الخاصة بك ومرحلات القراءة للمستخدمين المذكورين)","Failed to republish to optimal relays: {{error}}":"فشل إعادة النشر إلى المرحلات المثلى: {{error}}","External Content":"محتوى خارجي",Highlight:"تسليط الضوء","Optimal relays and {{count}} other relays":"المرحلات المثلى و {{count}} مرحلات أخرى","Likely spam account (Trust score: {{percentile}}%)":"حساب مشبوه للغاية (درجة الثقة: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"حساب مشبوه (درجة الثقة: {{percentile}}%)","n users":"{{count}} مستخدمين","View Details":"عرض التفاصيل","Follow Pack Not Found":"لم يتم العثور على حزمة المتابعة","Follow pack not found":"لم يتم العثور على حزمة المتابعة",Users:"المستخدمون",Feed:"التغذية","Follow Pack":"حزمة المتابعة","Load earlier":"تحميل سابق","Last 24 hours":"آخر 24 ساعة","Last {{count}} days":"آخر {{count}} أيام",notes:"ملاحظات","Quick reaction":"رد فعل سريع","If enabled, you can react with a single click. Click and hold for more options":"إذا تم التمكين، يمكنك التفاعل بنقرة واحدة. اضغط مع الاستمرار للمزيد من الخيارات","Quick reaction emoji":"رمز تعبيري للرد السريع","Select emoji":"اختر رمز تعبيري","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"متابعة خاصة","Unfollow Special":"إلغاء المتابعة الخاصة","Personal Feeds":"التدفقات الشخصية","Relay Feeds":"تدفقات الترحيل","Create Highlight":"إنشاء تمييز","Write your thoughts about this highlight...":"اكتب أفكارك حول هذا التمييز...","Publish Highlight":"نشر التمييز","Show replies":"إظهار الردود","Hide replies":"إخفاء الردود","Welcome to Smesh!":"مرحبًا بك في Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"خلاصتك فارغة لأنك لا تتابع أي شخص بعد. ابدأ باستكشاف محتوى مثير للاهتمام ومتابعة المستخدمين الذين تحبهم!","Search Users":"البحث عن المستخدمين","Create New Account":"إنشاء حساب جديد",Important:"مهم","Generate Your Account":"إنشاء حسابك","Your private key IS your account. Keep it safe!":"مفتاحك الخاص هو حسابك. احتفظ به بأمان!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"في Nostr، مفتاحك الخاص هو حسابك. إذا فقدت مفتاحك الخاص، ستفقد حسابك إلى الأبد.","Your Private Key":"مفتاحك الخاص","Generate new key":"إنشاء مفتاح جديد","Download Backup File":"تنزيل ملف النسخ الاحتياطي","Copied to Clipboard":"تم النسخ إلى الحافظة","Copy to Clipboard":"نسخ إلى الحافظة","I already saved my private key securely.":"لقد حفظت مفتاحي الخاص بشكل آمن بالفعل.","Almost Done!":"على وشك الانتهاء!","Set a password to encrypt your key, or skip to finish":"قم بتعيين كلمة مرور لتشفير مفتاحك، أو تخطى للانتهاء","Password Protection (Optional)":"الحماية بكلمة مرور (اختياري)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"يؤدي تعيين كلمة مرور إلى تشفير مفتاحك الخاص في هذا المتصفح. يمكنك تخطي هذه الخطوة، لكننا نوصي بتعيين واحدة لمزيد من الأمان.","Password (Optional)":"كلمة المرور (اختياري)","Enter password or leave empty to skip":"أدخل كلمة المرور أو اتركها فارغة للتخطي","Confirm Password":"تأكيد كلمة المرور","Re-enter password":"أعد إدخال كلمة المرور","Passwords do not match":"كلمات المرور غير متطابقة","Finish Signup":"إنهاء التسجيل","Create Your Nostr Account":"أنشئ حساب Nostr الخاص بك","Generate your unique private key. This is your digital identity.":"أنشئ مفتاحك الخاص الفريد. هذه هي هويتك الرقمية.","Critical: Save Your Private Key":"حرج: احفظ مفتاحك الخاص","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"مفتاحك الخاص هو حسابك. لا يوجد استرداد لكلمة المرور. إذا فقدته، ستفقد حسابك للأبد. يرجى حفظه في مكان آمن.","I have safely backed up my private key":"لقد قمت بعمل نسخة احتياطية آمنة لمفتاحي الخاص","Secure Your Account":"أمّن حسابك","Add an extra layer of protection with a password":"أضف طبقة إضافية من الحماية بكلمة مرور","Password Protection (Recommended)":"الحماية بكلمة مرور (موصى به)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"أضف كلمة مرور لتشفير مفتاحك الخاص في هذا المتصفح. هذا اختياري لكنه موصى به بشدة لأمان أفضل.","Create a password (or skip)":"أنشئ كلمة مرور (أو تخطى)","Enter your password again":"أدخل كلمة المرور مرة أخرى","Complete Signup":"إكمال التسجيل",Recommended:"موصى به"}},Lbe={translation:{"Welcome! 🥳":"Добре дошли! 🥳",About:"Относно","New Note":"Нова бележка",Post:"Публикувай",Home:"Начало","Relay settings":"Настройки на реле",Settings:"Настройки",SidebarRelays:"Релета",Refresh:"Опресни",Profile:"Профил",Logout:"Изход",Following:"Следвани",followings:"следвани",reposted:"сподели отново","just now":"току-що","minute ago_one":"преди {{count}} минута","minute ago_other":"преди {{count}} минути","n m":"{{n}}м","hour ago_one":"преди {{count}} час","hour ago_other":"преди {{count}} часа","n h":"{{n}}ч","day ago_one":"преди {{count}} ден","day ago_other":"преди {{count}} дни","n d":"{{n}}д",date:"{{timestamp, date}}",Follow:"Последвай",Unfollow:"Отпоследвай","Follow failed":"Неуспешно последване","Unfollow failed":"Неуспешно отпоследване","show new notes":"покажи нови бележки","loading...":"зареждане...","Loading...":"Зареждане...","no more notes":"няма повече бележки","reply to":"отговор на",reply:"отговор",Reply:"Отговор","load more older replies":"зареди повече стари отговори","Write something...":"Напиши нещо...",Cancel:"Отказ",Mentions:"Споменавания","Failed to post":"Неуспешно публикуване","Post successful":"Публикувано успешно","Your post has been published":"Публикацията ви беше споделена",Repost:"Сподели отново",Quote:"Цитат","Copy event ID":"Копирай ID на събитието","Copy user ID":"Копирай ID на потребителя","View raw event":"Виж суровото събитие",Like:"Харесай","switch to light theme":"превключи на светла тема","switch to dark theme":"превключи на тъмна тема","switch to system theme":"превключи на системна тема",Note:"Бележка",note:"бележка","username's following":"Следвани от {{username}}","username's used relays":"Релета на {{username}}","username's muted":"Заглушени от {{username}}",Login:"Вход","Follows you":"Следва те","Relay Settings":"Настройки на реле","Relay set name":"Име на набор от релета","Add a new relay set":"Добави нов набор от релета",Add:"Добави","n relays":"{{n}} релета",Rename:"Преименувай","Copy share link":"Копирай линк за споделяне",Delete:"Изтрий","Relay already exists":"Релето вече съществува","invalid relay URL":"невалиден URL на реле","Add a new relay":"Добави ново реле",back:"назад","Lost in the void":"Изгубен в пустотата","Carry me home":"Върни ме у дома","no replies":"няма отговори","Reply to":"Отговори на",Search:"Търсене","The relays you are connected to do not support search":"Релетата, към които сте свързани, не поддържат търсене","Show more...":"Покажи още...","All users":"Всички потребители","Display replies":"Покажи отговорите",Notes:"Бележки",Replies:"Отговори",Notifications:"Известия","no more notifications":"няма повече известия","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Влизането с частен ключ е несигурно. Препоръчително е да използвате разширение за браузър за вход, като alby, nostr-keyx или nos2x. Ако трябва да използвате частен ключ, моля задайте поне парола за криптиране.","Login with Browser Extension":"Вход с разширение за браузър","Login with Bunker":"Вход с Bunker","Login with Private Key":"Вход с частен ключ","Custom relay (optional)":"Потребителско реле (по избор)","Copy this connection string to your signer app":"Копирайте този низ за свързване в приложението ви за подписване","reload notes":"презареди бележки","Logged in Accounts":"Влезли акаунти","Add an Account":"Добави акаунт","More options":"Още опции","Add client tag":"Добави клиентски таг","Show others this was sent via Smesh":"Покажи на другите, че това е изпратено чрез Smesh","Are you sure you want to logout?":"Сигурни ли сте, че искате да излезете?","relay sets":"набори от релета",edit:"редактирай",Languages:"Езици",Theme:"Тема",System:"Системна",Light:"Светла",Dark:"Тъмна",Temporary:"Временно","Choose a relay set":"Изберете набор от релета","Switch account":"Смени акаунт",Pictures:"Снимки","Picture note":"Снимкова бележка","A special note for picture-first clients like Olas":"Специална бележка за клиенти ориентирани към снимки като Olas","Picture note requires images":"Снимковата бележка изисква изображения",Relays:"Релета",Image:"Изображение","R & W":"Ч & З",Read:"Четене",Write:"Запис","Pull relay sets":"Изтегли набори от релета","Select the relay sets you want to pull":"Изберете наборите от релета, които искате да изтеглите","No relay sets found":"Не са намерени набори от релета","Pull n relay sets":"Изтегли {{n}} набора от релета",Pull:"Изтегли","Select all":"Избери всички","Relay Sets":"Набори от релета","Read & Write Relays":"Релета за четене и запис","read relays description":"Релетата за четене се използват за търсене на събития за вас. Други потребители ще публикуват събитията, които искат да видите, към вашите релета за четене.","write relays description":"Релетата за запис се използват за публикуване на вашите събития. Други потребители ще търсят вашите събития от вашите релета за запис.","read & write relays notice":"Броят на сървърите за четене и запис в идеалния случай трябва да е между 2 и 4.","Don't have an account yet?":"Нямате акаунт все още?","or simply generate a private key":"или просто генерирайте частен ключ","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Това е частен ключ. Не го споделяйте с никого. Пазете го на сигурно място. Няма да можете да го възстановите, ако го загубите.",Edit:"Редактирай",Save:"Запази","Display Name":"Показвано име",Bio:"Биография","Nostr Address (NIP-05)":"Nostr адрес (NIP-05)","Invalid NIP-05 address":"Невалиден NIP-05 адрес","Copy private key":"Копирай частен ключ","Enter the password to decrypt your ncryptsec":"Въведете парола за декриптиране на вашия ncryptsec",Back:"Назад","optional: encrypt nsec":"по избор: криптирай nsec",password:"парола","Sign up":"Регистрация","Save to":"Запази в","Enter a name for the new relay set":"Въведете име за новия набор от релета","Save to a new relay set":"Запази в нов набор от релета",Mute:"Заглуши",Muted:"Заглушен",Unmute:"Отглуши","Unmute user":"Отглуши потребител","Append n relays":"Добави {{n}} релета",Append:"Добави","Select relays to append":"Изберете релета за добавяне","calculating...":"изчисляване...","Calculate optimal read relays":"Изчисли оптимални релета за четене","Login to set":"Влезте, за да зададете","Please login to view following feed":"Моля, влезте, за да видите потока от следвани","Send only to r":"Изпрати само до {{r}}","Send only to these relays":"Изпрати само до тези релета",Explore:"Разгледай","Search relays":"Търси релета",relayInfoBadgeAuth:"Удостоверяване",relayInfoBadgeSearch:"Търсене",relayInfoBadgePayment:"Плащане",Operator:"Оператор",Contact:"Контакт",Software:"Софтуер",Version:"Версия","Random Relays":"Случайни релета",randomRelaysRefresh:"Опресни","Explore more":"Разгледай повече","Payment page":"Страница за плащане","Supported NIPs":"Поддържани NIPs","Open in a":"Отвори в {{a}}","Cannot handle event of kind k":"Не може да се обработи събитие от вид {{k}}","Sorry! The note cannot be found 😔":"Съжаляваме! Бележката не може да бъде намерена 😔","This user has been muted":"Този потребител е заглушен",Wallet:"Портфейл",Sats:"Sats",sats:"sats","Zap to":"Запни на","Zap n sats":"Запни {{n}} sats",zapComment:"Коментар","Default zap amount":"Стойност на зап по подразбиране","Default zap comment":"Коментар на зап по подразбиране","Lightning Address (or LNURL)":"Lightning адрес (или LNURL)","Quick zap":"Бърз зап","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ако е включено, можете да запнете с едно натискане. Натиснете и задръжте за произволна сума",All:"Всички",Reactions:"Реакции",Zaps:"Запове","Earlier notifications":"По-ранни известия","Temporarily display this note":"Временно покажи тази бележка",buttonFollowing:"Следвам","Are you sure you want to unfollow this user?":"Сигурни ли сте, че искате да отпоследвате този потребител?","Recent Supporters":"Скорошни поддръжници","Seen on":"Видяно на","Temporarily display this reply":"Временно покажи този отговор","Note not found":"Бележката не е намерена","no more replies":"няма повече отговори","Relay sets":"Набори от релета","Favorite Relays":"Любими релета","Following's Favorites":"Любимите на следваните","no more relays":"няма повече релета","Favorited by":"Харесано от","Post settings":"Настройки на публикация","Media upload service":"Услуга за качване на медия","Choose a relay":"Изберете реле","no relays found":"не са намерени релета",video:"видео","Show n new notes":"Покажи {{n}} нови бележки","n new notes above":"{{n}} нови бележки отгоре",YouTabName:"Вие",Bookmark:"Отметка","Remove bookmark":"Премахни отметка","no bookmarks found":"не са намерени отметки","no more bookmarks":"няма повече отметки",Bookmarks:"Отметки","Show more":"Покажи повече",General:"Общи",Autoplay:"Автоматично възпроизвеждане","Enable video autoplay on this device":"Включи автоматично възпроизвеждане на видео на това устройство","Paste or drop media files to upload":"Поставете или пуснете медийни файлове за качване",Preview:"Преглед","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"На път сте да публикувате събитие, подписано от [{{eventAuthorName}}]. В момента сте влезли като [{{currentUsername}}]. Сигурни ли сте?",From:"От","Comment on":"Коментар към","View on njump.me":"Виж в njump.me","Hide content from untrusted users":"Скрий съдържание от недоверени потребители","Only show content from your followed users and the users they follow":"Показвай съдържание само от следваните от вас потребители и тези, които те следват","Followed by":"Следван от","Mute user privately":"Заглуши потребител частно","Mute user publicly":"Заглуши потребител публично",Quotes:"Цитати","Lightning Invoice":"Lightning фактура","Bookmark failed":"Неуспешно добавяне на отметка","Remove bookmark failed":"Неуспешно премахване на отметка",Pay:"Плати",interactions:"взаимодействия",notifications:"известия","Show untrusted {type}":"Покажи недоверени {{type}}","Hide untrusted {type}":"Скрий недоверени {{type}}","Currently hiding {type} from untrusted users.":"В момента се скриват {{type}} от недоверени потребители.","Currently showing all {type}.":"В момента се показват всички {{type}}.","Click continue to show all {type}.":"Натиснете продължи, за да покажете всички {{type}}.","Click continue to hide {type} from untrusted users.":"Натиснете продължи, за да скриете {{type}} от недоверени потребители.","Trusted users include people you follow and people they follow.":"Доверените потребители включват хората, които следвате, и хората, които те следват.",Continue:"Продължи","Successfully updated mute list":"Списъкът за заглушаване е обновен успешно","No pubkeys found from {url}":"Не са намерени публични ключове от {{url}}",Website:"Уебсайт","Hide untrusted notes":"Скрий недоверени бележки","Hide untrusted interactions":"Скрий недоверени взаимодействия","Hide untrusted notifications":"Скрий недоверени известия","Open in another client":"Отвори в друг клиент",Community:"Общност",Group:"Група","Live event":"Събитие на живо",Article:"Статия",Unfavorite:"Премахни от любими","Recommended relays":"Препоръчани релета","Blossom server URLs":"URL адреси на Blossom сървъри","You need to add at least one blossom server in order to upload media files.":"Трябва да добавите поне един Blossom сървър, за да качвате медийни файлове.","Recommended blossom servers":"Препоръчани Blossom сървъри","Enter Blossom server URL":"Въведете URL на Blossom сървър",Preferred:"Предпочитан","Multiple choice (select one or more)":"Множествен избор (изберете един или повече)",Vote:"Гласувай","{{number}} votes":"{{number}} гласа","Total votes":"Общо гласове","Poll has ended":"Анкетата приключи","Poll ends at {{time}}":"Анкетата приключва в {{time}}","Load results":"Зареди резултати","This is a poll note.":"Това е бележка с анкета.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"За разлика от обикновените бележки, анкетите не се поддържат широко и може да не се показват в други клиенти.","Option {{number}}":"Опция {{number}}","Add Option":"Добави опция","Allow multiple choices":"Разреши множествен избор","End Date (optional)":"Крайна дата (по избор)","Clear end date":"Изчисти крайна дата","Relay URLs (optional, comma-separated)":"URL адреси на релета (по избор, разделени със запетая)","Remove poll":"Премахни анкета","Refresh results":"Опресни резултати",Poll:"Анкета",Media:"Медия","Republish to ...":"Преиздай в ...","Successfully republish to your write relays":"Успешно преиздадено във вашите релета за запис","Failed to republish to your write relays: {{error}}":"Неуспешно преиздаване във вашите релета за запис: {{error}}","Successfully republish to relay set: {{name}}":"Успешно преиздадено в набор от релета: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Неуспешно преиздаване в набор от релета: {{name}}. Грешка: {{error}}","Successfully republish to relay: {{url}}":"Успешно преиздадено в реле: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Неуспешно преиздаване в реле: {{url}}. Грешка: {{error}}","Write relays":"Релета за запис","No more reactions":"Няма повече реакции","No reactions yet":"Все още няма реакции","No more zaps":"Няма повече запове","No zaps yet":"Все още няма запове","No more reposts":"Няма повече преиздавания","No reposts yet":"Все още няма преиздавания",Reposts:"Преиздавания",FollowListNotFoundConfirmation:"Списъкът със следвани не е намерен. Искате ли да създадете нов? Ако сте следвали потребители преди, моля НЕ потвърждавайте, тъй като тази операция ще доведе до загуба на предишния ви списък.",MuteListNotFoundConfirmation:"Списъкът за заглушаване не е намерен. Искате ли да създадете нов? Ако сте заглушавали потребители преди, моля НЕ потвърждавайте, тъй като тази операция ще доведе до загуба на предишния ви списък.","Show NSFW content by default":"Показвай NSFW съдържание по подразбиране","Custom emoji management":"Управление на потребителски емотикони","After changing emojis, you may need to refresh the page":"След промяна на емотиконите може да се наложи да опресните страницата","Too many read relays":"Твърде много релета за четене","Too many write relays":"Твърде много релета за запис","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релета за четене. Повечето клиенти използват само 2-4 релета, повече не е необходимо.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релета за запис. Повечето клиенти използват само 2-4 релета, повече не е необходимо.","Optimize Relay Settings":"Оптимизирай настройките на релетата","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Текущата ви конфигурация на релетата може да не е оптимална. Това може да затрудни другите да намират публикациите ви и да доведе до непълни известия.","Optimize Now":"Оптимизирай сега","Maybe Later":"Може би по-късно","Don't remind me again":"Не ми напомняй отново",Posts:"Публикации",Articles:"Статии",Highlights:"Акценти",Polls:"Анкети","Voice Posts":"Гласови публикации","Photo Posts":"Снимкови публикации","Video Posts":"Видео публикации","Select All":"Избери всички","Clear All":"Изчисти всички","Set as default filter":"Задай като филтър по подразбиране",Apply:"Приложи",Reset:"Нулирай","Share something on this Relay":"Сподели нещо в това реле","Try deleting this note":"Опитай да изтриеш тази бележка","Deletion request sent to {{count}} relays":"Заявка за изтриване е изпратена до {{count}} релета","Suitable Relays":"Подходящи релета","People, keywords, or relays":"Хора, ключови думи или релета","Hide content mentioning muted users":"Скрий съдържание, споменаващо заглушени потребители","This note mentions a user you muted":"Тази бележка споменава потребител, когото сте заглушили",Filter:"Филтър","mentioned you in a note":"ви спомена в бележка","quoted your note":"цитира вашата бележка","voted in your poll":"гласува във вашата анкета","reacted to your note":"реагира на вашата бележка","reposted your note":"преиздаде вашата бележка","zapped your note":"запна вашата бележка","highlighted your note":"отбеляза вашата бележка","zapped you":"запна ви","Mark as read":"Маркирай като прочетено",Report:"Докладвай","Successfully report":"Успешно докладвано","Failed to report":"Неуспешно докладване",nudity:"Голота",malware:"Зловреден софтуер",profanity:"Нецензурен език",illegal:"Незаконно съдържание",spam:"Спам",other:"Друго","Notification list style":"Стил на списъка с известия","See extra info for each notification":"Виж допълнителна информация за всяко известие","See more notifications at a glance":"Виж повече известия с един поглед",Detailed:"Подробен",Compact:"Компактен","Submit Relay":"Изпрати реле",Homepage:"Начална страница","Proof of Work (difficulty {{minPow}})":"Доказателство за работа (сложност {{minPow}})","via {{client}}":"чрез {{client}}","Auto-load media":"Автоматично зареждане на медия",Always:"Винаги","Wi-Fi only":"Само по Wi-Fi",Never:"Никога","Click to load image":"Натиснете за зареждане на изображение","Click to load media":"Натиснете за зареждане на медия","Click to load YouTube video":"Натиснете за зареждане на YouTube видео","Click to load X post":"Натиснете за зареждане на X публикация","{{count}} reviews":"{{count}} отзива","Write a review":"Напиши отзив","No reviews yet. Be the first to write one!":"Все още няма отзиви. Бъдете първият, който ще напише!","View more reviews":"Виж повече отзиви","Failed to review":"Неуспешен отзив","Write a review and pick a star rating":"Напишете отзив и изберете оценка със звезди",Submit:"Изпрати","Reviews for {{relay}}":"Отзиви за {{relay}}","No relays selected":"Не са избрани релета","Post to":"Публикувай в","Write relays and {{count}} other relays":"Релета за запис и {{count}} други релета","{{count}} relays":"{{count}} релета","Republishing...":"Преиздаване...","Connected to":"Свързан с","Disconnect Wallet":"Разкачи портфейл","Are you absolutely sure?":"Абсолютно сигурни ли сте?","You will not be able to send zaps to others.":"Няма да можете да изпращате запове на други.",Disconnect:"Разкачи","Start with a Rizful Vault":"Започнете с Rizful Vault","or other wallets":"или други портфейли","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault е свързан!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Вече можете да използвате вашия Rizful Vault, за да запвате любимите си бележки и автори.","Your Lightning Address":"Вашият Lightning адрес","New to Rizful?":"Нов в Rizful?","Sign up for Rizful":"Регистрирайте се в Rizful","If you already have a Rizful account, you can skip this step.":"Ако вече имате Rizful акаунт, можете да пропуснете тази стъпка.","Get your one-time code":"Вземете вашия еднократен код","Get code":"Вземи код","Connect to your Rizful Vault":"Свържете се с вашия Rizful Vault","Paste your one-time code here":"Поставете вашия еднократен код тук",Connect:"Свържи","Connect Wallet":"Свържи портфейл","Set up your wallet to send and receive sats!":"Настройте портфейла си, за да изпращате и получавате sats!","Set up":"Настрой",Pinned:"Закачено",Unpin:"Откачи",Unpinning:"Откачване","Pinning...":"Закачване...","Pinned!":"Закачено!","Failed to pin: {{error}}":"Неуспешно закачване: {{error}}","Unpinning...":"Откачване...","Unpinned!":"Откачено!","Failed to unpin: {{error}}":"Неуспешно откачване: {{error}}","Unpin from profile":"Откачи от профила","Pin to profile":"Закачи в профила",Appearance:"Външен вид","Pure Black":"Чисто черно",Default:"По подразбиране",Red:"Червено",Orange:"Оранжево",Amber:"Кехлибарено",Yellow:"Жълто",Lime:"Лайм",Green:"Зелено",Emerald:"Изумрудено",Teal:"Тюркоазено",Cyan:"Циан",Sky:"Небесно",Blue:"Синьо",Indigo:"Индиго",Violet:"Виолетово",Purple:"Лилаво",Fuchsia:"Фуксия",Pink:"Розово",Rose:"Роза","Primary color":"Основен цвят",Layout:"Оформление","Two-column":"Две колони","Single-column":"Една колона",Reviews:"Отзиви",Extension:"Разширение",Remote:"Дистанционно","Encrypted Key":"Криптиран ключ","Private Key":"Частен ключ","Welcome to Smesh":"Добре дошли в Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh е клиент, фокусиран върху разглеждането на релета. Започнете с разглеждане на интересни релета или влезте, за да видите потока от следвани.","Explore Relays":"Разгледай релета","Choose a feed":"Изберете поток","and {{x}} others":"и {{x}} други",selfZapWarning:"Smesh не носи отговорност за това, което се случи, ако запнете себе си. Продължавате на свой риск. 😉⚡","Emoji Pack":"Пакет с емотикони","Emoji pack added":"Пакетът с емотикони е добавен","Add emoji pack failed":"Неуспешно добавяне на пакет с емотикони","Emoji pack removed":"Пакетът с емотикони е премахнат","Remove emoji pack failed":"Неуспешно премахване на пакет с емотикони",Added:"Добавено","Emoji Packs":"Пакети с емотикони","My Packs":"Моите пакети","Adding...":"Добавяне...","Removing...":"Премахване...",Reload:"Презареди","Request to Join Relay":"Заявка за присъединяване към реле","Leave Relay":"Напусни реле",Leave:"Напусни","Are you sure you want to leave this relay?":"Сигурни ли сте, че искате да напуснете това реле?","Join request sent successfully":"Заявката за присъединяване е изпратена успешно","Failed to send join request":"Неуспешно изпращане на заявка за присъединяване","Leave request sent successfully":"Заявката за напускане е изпратена успешно","Failed to send leave request":"Неуспешно изпращане на заявка за напускане","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Въведете код за покана, ако имате такъв. В противен случай оставете празно, за да изпратите заявка.","Invite Code (Optional)":"Код за покана (по избор)","Enter invite code":"Въведете код за покана","Sending...":"Изпращане...","Send Request":"Изпрати заявка","You can get an invite code from a relay member.":"Можете да получите код за покана от член на релето.","Enter the invite code you received from a relay member.":"Въведете кода за покана, който сте получили от член на релето.","Get Invite Code":"Вземи код за покана","Share this invite code with others to invite them to join this relay.":"Споделете този код за покана с други, за да ги поканите да се присъединят към това реле.","Invite Code":"Код за покана",Copy:"Копирай","This invite code can be used by others to join the relay.":"Този код за покана може да бъде използван от други, за да се присъединят към релето.","No invite code available from this relay.":"Няма наличен код за покана от това реле.",Close:"Затвори","Failed to get invite code from relay":"Неуспешно получаване на код за покана от реле","Failed to get invite code":"Неуспешно получаване на код за покана","Invite code copied to clipboard":"Кодът за покана е копиран в клипборда","Favicon URL":"URL на favicon","Filter out onion relays":"Филтрирай onion релета","View Nostr comments":"Виж Nostr коментари","Search for notes":"Търси бележки","Search for hashtag":"Търси хаштаг","Go to note":"Отиди до бележка","Go to relay":"Отиди до реле","View discussions about this":"Виж дискусии за това","Open link":"Отвори линк","View Nostr discussions":"Виж Nostr дискусии","Optimal relays":"Оптимални релета","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Успешно преиздадено в оптимални релета (вашите релета за запис и релетата за четене на споменатите потребители)","Failed to republish to optimal relays: {{error}}":"Неуспешно преиздаване в оптимални релета: {{error}}","External Content":"Външно съдържание",Highlight:"Акцент","Optimal relays and {{count}} other relays":"Оптимални релета и {{count}} други релета","Likely spam account (Trust score: {{percentile}}%)":"Вероятен спам акаунт (Оценка на доверие: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Подозрителен акаунт (Оценка на доверие: {{percentile}}%)","n users":"{{count}} потребители","n users_one":"{{count}} потребител","n users_other":"{{count}} потребители","View Details":"Виж детайли","Follow Pack Not Found":"Пакетът за следване не е намерен","Follow pack not found":"Пакетът за следване не е намерен",Users:"Потребители",Feed:"Поток","Follow Pack":"Пакет за следване","Load earlier":"Зареди по-ранни","Last 24 hours":"Последните 24 часа","Last {{count}} days":"Последните {{count}} дни",notes:"бележки","Quick reaction":"Бърза реакция","If enabled, you can react with a single click. Click and hold for more options":"Ако е включено, можете да реагирате с едно натискане. Натиснете и задръжте за повече опции","Quick reaction emoji":"Емотикон за бърза реакция","Select emoji":"Изберете емотикон","NSFW content display":"Показване на NSFW съдържание","Hide completely":"Скрий напълно","Show but hide content":"Покажи, но скрий съдържанието","Show directly":"Покажи директно","Click to view":"Натиснете за преглед","Special Follow":"Специално следване","Unfollow Special":"Отмени специално следване","Personal Feeds":"Лични потоци","Relay Feeds":"Потоци от релета","Create Highlight":"Създай акцент","Write your thoughts about this highlight...":"Напишете мислите си за този акцент...","Publish Highlight":"Публикувай акцент","Show replies":"Покажи отговорите","Hide replies":"Скрий отговорите","Welcome to Smesh!":"Добре дошли в Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Потокът ви е празен, защото все още не следвате никого. Започнете с разглеждане на интересно съдържание и следвайте потребители, които ви харесват!","Search Users":"Търси потребители","Create New Account":"Създай нов акаунт",Important:"Важно","Generate Your Account":"Генерирайте вашия акаунт","Your private key IS your account. Keep it safe!":"Вашият частен ключ Е вашият акаунт. Пазете го!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"В Nostr вашият частен ключ Е вашият акаунт. Ако загубите частния си ключ, губите акаунта си завинаги.","Your Private Key":"Вашият частен ключ","Generate new key":"Генерирай нов ключ","Download Backup File":"Изтегли резервно копие","Copied to Clipboard":"Копирано в клипборда","Copy to Clipboard":"Копирай в клипборда","I already saved my private key securely.":"Вече запазих частния си ключ на сигурно място.","Almost Done!":"Почти готово!","Set a password to encrypt your key, or skip to finish":"Задайте парола за криптиране на ключа си, или пропуснете, за да завършите","Password Protection (Optional)":"Защита с парола (по избор)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Задаването на парола криптира частния ви ключ в този браузър. Можете да пропуснете тази стъпка, но препоръчваме да зададете парола за по-добра сигурност.","Password (Optional)":"Парола (по избор)","Enter password or leave empty to skip":"Въведете парола или оставете празно, за да пропуснете","Confirm Password":"Потвърдете парола","Re-enter password":"Въведете паролата отново","Passwords do not match":"Паролите не съвпадат","Finish Signup":"Завърши регистрацията","Create Your Nostr Account":"Създайте вашия Nostr акаунт","Generate your unique private key. This is your digital identity.":"Генерирайте уникалния си частен ключ. Това е вашата цифрова самоличност.","Critical: Save Your Private Key":"Критично: Запазете частния си ключ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Вашият частен ключ Е вашият акаунт. Няма възстановяване на парола. Ако го загубите, губите акаунта си завинаги. Моля, запазете го на сигурно място.","I have safely backed up my private key":"Запазих частния си ключ на сигурно място","Secure Your Account":"Защитете акаунта си","Add an extra layer of protection with a password":"Добавете допълнително ниво на защита с парола","Password Protection (Recommended)":"Защита с парола (препоръчително)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Добавете парола за криптиране на частния си ключ в този браузър. Това не е задължително, но е силно препоръчително за по-добра сигурност.","Create a password (or skip)":"Създайте парола (или пропуснете)","Enter your password again":"Въведете паролата си отново","Complete Signup":"Завърши регистрацията",Recommended:"Препоръчително"}},Pbe={translation:{"Welcome! 🥳":"Willkommen! 🥳",About:"Über","New Note":"Neue Notiz",Post:"Beitrag",Home:"Startseite","Relay settings":"Relay-Einstellungen",Settings:"Einstellungen",SidebarRelays:"Relays",Refresh:"Aktualisieren",Profile:"Profil",Logout:"Abmelden",Following:"Folgende",followings:"Folgekonten",reposted:"erneut gepostet","just now":"gerade eben","minute ago_one":"vor {{count}} Minute","minute ago_other":"vor {{count}} Minuten","n m":"vor {{n}}m","hour ago_one":"vor {{count}} Stunde","hour ago_other":"vor {{count}} Stunden","n h":"vor {{n}}h","day ago_one":"vor {{count}} Tag","day ago_other":"vor {{count}} Tagen","n d":"vor {{n}}d",date:"{{timestamp, date}}",Follow:"Folgen",Unfollow:"Nicht mehr folgen","Follow failed":"Folgen fehlgeschlagen","Unfollow failed":"Nicht mehr folgen fehlgeschlagen","show new notes":"zeige neue Notizen","loading...":"lädt...","Loading...":"Lade...","no more notes":"keine weiteren Notizen","reply to":"antworten an",reply:"antworten",Reply:"Antwort","load more older replies":"ältere Antworten laden","Write something...":"Schreibe etwas...",Cancel:"Abbrechen",Mentions:"@","Failed to post":"Posten fehlgeschlagen","Post successful":"Beitrag erfolgreich","Your post has been published":"Dein Beitrag wurde veröffentlicht",Repost:"Erneut posten",Quote:"Zitat","Copy event ID":"Ereignis-ID kopieren","Copy user ID":"Benutzer-ID kopieren","View raw event":"Rohdaten anzeigen",Like:"Gefällt mir","switch to light theme":"Wechsel zum hellen Design","switch to dark theme":"Wechsel zum dunklen Design","switch to system theme":"Zum Systemthema wechseln",Note:"Notiz",note:"notiz","username's following":"{{username}}s Folgen","username's used relays":"{{username}}s verwendete Relays","username's muted":"{{username}}s stummgeschaltet",Login:"Anmelden","Follows you":"Folgt dir","Relay Settings":"Relay-Einstellungen","Relay set name":"Relay-Set Name","Add a new relay set":"Neues Relay-Set hinzufügen",Add:"Hinzufügen","n relays":"{{n}} Relays",Rename:"Umbenennen","Copy share link":"Freigabelink kopieren",Delete:"Löschen","Relay already exists":"Relay existiert bereits","invalid relay URL":"Ungültige Relay-URL","Add a new relay":"Neues Relay hinzufügen",back:"Zurück","Lost in the void":"Verloren im Nichts","Carry me home":"Bring mich nach Hause","no replies":"keine Antworten","Reply to":"Antwort an",Search:"Suchen","The relays you are connected to do not support search":"Die verbundenen Relays unterstützen keine Suche","Show more...":"Mehr anzeigen...","All users":"Alle Benutzer","Display replies":"Antworten anzeigen",Notes:"Notizen",Replies:"Antworten",Notifications:"Benachr.","no more notifications":"keine weiteren Benachrichtigungen","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Die Anmeldung mit privatem Schlüssel ist unsicher. Es wird empfohlen, eine Browser-Erweiterung wie alby, nostr-keyx oder nos2x zu verwenden. Wenn du einen privaten Schlüssel verwenden musst, solltest du mindestens ein Passwort zur Verschlüsselung festlegen.","Login with Browser Extension":"Mit Browser-Erweiterung anmelden","Login with Bunker":"Mit Bunker anmelden","Login with Private Key":"Mit privatem Schlüssel anmelden","reload notes":"Notizen neu laden","Logged in Accounts":"Angemeldete Konten","Add an Account":"Konto hinzufügen","More options":"Mehr Optionen","Add client tag":"Client-Tag hinzufügen","Show others this was sent via Smesh":"Anderen zeigen, dass dies über Smesh gesendet wurde","Are you sure you want to logout?":"Bist du sicher, dass du dich abmelden möchtest?","relay sets":"Relay-Sets",edit:"bearbeiten",Languages:"Sprachen",Theme:"Design",System:"System",Light:"Hell",Dark:"Dunkel",Temporary:"Temporär","Choose a relay set":"Wähle ein Relay-Set","Switch account":"Konto wechseln",Pictures:"Bilder","Picture note":"Bildnotiz","A special note for picture-first clients like Olas":"Eine spezielle Notiz für bildfokussierte Clients wie Olas","Picture note requires images":"Bildnotiz erfordert Bilder",Relays:"Relays",Image:"Bild","R & W":"R & W",Read:"Lesen",Write:"Schreiben","Pull relay sets":"Relay-Sets abrufen","Select the relay sets you want to pull":"Wähle die Relay-Sets, die du abrufen möchtest","No relay sets found":"Keine Relay-Sets gefunden","Pull n relay sets":"Hole {{n}} Relay-Sets",Pull:"Abrufen","Select all":"Alle auswählen","Relay Sets":"Relay-Sets","Read & Write Relays":"Lese- & Schreib-Relays","read relays description":"Leserelays werden verwendet, um Ereignisse über dich abzurufen. Andere Benutzer senden die Ereignisse, die du sehen sollst, an deine Leserelays.","write relays description":"Schreibrelays werden verwendet, um deine Ereignisse zu veröffentlichen. Andere Benutzer rufen deine Ereignisse von deinen Schreibrelays ab.","read & write relays notice":"Die Anzahl der Lese- und Schreibserver sollte idealerweise zwischen 2 und 4 liegen.","Don't have an account yet?":"Noch keinen Account?","or simply generate a private key":"oder erstelle einfach einen privaten Schlüssel","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Dies ist ein privater Schlüssel. Teile ihn mit niemandem. Bewahre ihn sicher auf. Du kannst ihn nicht wiederherstellen, falls du ihn verlierst.",Edit:"Bearbeiten",Save:"Speichern","Display Name":"Anzeigename",Bio:"Biografie","Nostr Address (NIP-05)":"Nostr-Adresse (NIP-05)","Invalid NIP-05 address":"Ungültige NIP-05 Adresse","Copy private key":"Privaten Schlüssel kopieren","Enter the password to decrypt your ncryptsec":"Gib das Passwort ein, um deinen ncryptsec zu entschlüsseln",Back:"Zurück","optional: encrypt nsec":"optional: nsec verschlüsseln",password:"Passwort","Sign up":"Registrieren","Save to":"Speichern in","Enter a name for the new relay set":"Gib einen Namen für das neue Relay-Set ein","Save to a new relay set":"In ein neues Relay-Set speichern",Mute:"Stummschalten",Muted:"Stummgeschaltet",Unmute:"Stummschaltung aufheben","Unmute user":"Benutzer-Stummschaltung aufheben","Append n relays":"Füge {{n}} Relays hinzu",Append:"Hinzufügen","Select relays to append":"Wähle die hinzuzufügenden Relays","calculating...":"berechne...","Calculate optimal read relays":"Optimale Leserelays berechnen","Login to set":"Anmelden zum Set","Please login to view following feed":"Bitte melde dich an, um den Feed der Folgenden zu sehen","Send only to r":"Nur an {{r}} senden","Send only to these relays":"Nur an diese Relays senden",Explore:"Entdecken","Search relays":"Relays suchen",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Suche",relayInfoBadgePayment:"Zahlung",Operator:"Betreiber",Contact:"Kontakt",Software:"Software",Version:"Version","Random Relays":"Zufällige Relays",randomRelaysRefresh:"Aktualisieren","Explore more":"Mehr entdecken","Payment page":"Zahlungsseite","Supported NIPs":"Unterstützte NIPs","Open in a":"Öffnen in {{a}}","Cannot handle event of kind k":"Ereignis des Typs {{k}} kann nicht verarbeitet werden","Sorry! The note cannot be found 😔":"Entschuldigung! Die Notiz wurde nicht gefunden 😔","This user has been muted":"Dieser Benutzer wurde stummgeschaltet",Wallet:"Wallet",Sats:"Sats",sats:"sats","Zap to":"Zap an","Zap n sats":"Zap {{n}} sats",zapComment:"Kommentar","Default zap amount":"Standard-Zap-Betrag","Default zap comment":"Standard-Zap-Kommentar","Lightning Address (or LNURL)":"Lightning-Adresse (oder LNURL)","Quick zap":"Schneller Zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Wenn aktiviert, kannst du mit einem Klick zapen. Klicke und halte für individuelle Beträge",All:"Alle",Reactions:"Reaktionen",Zaps:"Zaps","Earlier notifications":"Frühere Benachrichtigungen","Temporarily display this note":"Notiz vorübergehend anzeigen",buttonFollowing:"Folge","Are you sure you want to unfollow this user?":"Möchtest du diesem Benutzer wirklich nicht mehr folgen?","Recent Supporters":"Neueste Unterstützer","Seen on":"Gesehen auf","Temporarily display this reply":"Antwort vorübergehend anzeigen","Note not found":"Die Notiz wurde nicht gefunden","no more replies":"keine weiteren Antworten","Relay sets":"Relay-Sets","Favorite Relays":"Lieblings-Relays","Following's Favorites":"Favoriten der Folgenden","no more relays":"keine weiteren Relays","Favorited by":"Favorisiert von","Post settings":"Beitragseinstellungen","Media upload service":"Medien-Upload-Service","Choose a relay":"Wähle ein Relay","no relays found":"Keine Relays gefunden",video:"Video","Show n new notes":"Zeige {{n}} neue Notizen",YouTabName:"Du",Bookmark:"Lesezeichen","Remove bookmark":"Lesezeichen entfernen","no bookmarks found":"Keine Lesezeichen gefunden","no more bookmarks":"Keine weiteren Lesezeichen",Bookmarks:"Lesezeichen","Show more":"Mehr anzeigen",General:"Allgemein",Autoplay:"Automatische Wiedergabe","Enable video autoplay on this device":"Aktiviere die automatische Video-Wiedergabe auf diesem Gerät","Paste or drop media files to upload":"Füge Medien-Dateien ein oder ziehe sie hierher, um sie hochzuladen",Preview:"Vorschau","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Du bist dabei, ein Ereignis zu veröffentlichen, das von [{{eventAuthorName}}] signiert wurde. Du bist derzeit als [{{currentUsername}}] angemeldet. Bist du sicher?","Platinum Sponsors":"Platin-Sponsoren",From:"Von","Comment on":"Kommentar zu","View on njump.me":"Auf njump.me ansehen","Hide content from untrusted users":"Inhalte von nicht vertrauenswürdigen Benutzern ausblenden","Only show content from your followed users and the users they follow":"Nur Inhalte von Benutzern anzeigen, denen du folgst und die sie folgen","Followed by":"Gefolgt von","Mute user privately":"Benutzer privat stummschalten","Mute user publicly":"Benutzer öffentlich stummschalten",Quotes:"Zitate","Lightning Invoice":"Lightning-Rechnung","Bookmark failed":"Bookmark fehlgeschlagen","Remove bookmark failed":"Bookmark entfernen fehlgeschlagen",Translation:"Übersetzung",Balance:"Guthaben",characters:"Zeichen",smeshTranslateApiKeyDescription:"Du kannst diesen API-Schlüssel überall dort verwenden, wo LibreTranslate unterstützt wird. Die Service-URL ist {{serviceUrl}}","Top up":"Aufladen","Will receive: {n} characters":"Erhalte: {{n}} Zeichen","Top up {n} sats":"Lade {{n}} sats auf","Minimum top up is {n} sats":"Minimale Aufladung beträgt {{n}} sats",Service:"Dienst","Reset API key":"API-Schlüssel zurücksetzen","Are you sure you want to reset your API key? This action cannot be undone.":"Bist du sicher, dass du deinen API-Schlüssel zurücksetzen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.",Warning:"Warnung","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Dein aktueller API-Schlüssel wird sofort ungültig, und alle Anwendungen, die ihn verwenden, werden nicht mehr funktionieren, bis du sie mit dem neuen Schlüssel aktualisierst.","Service address":"Service-Adresse",Pay:"Bezahlen",interactions:"Interaktionen",notifications:"Benachrichtigungen","Show untrusted {type}":"Untrusted {{type}} anzeigen","Hide untrusted {type}":"Untrusted {{type}} ausblenden","Currently hiding {type} from untrusted users.":"Derzeit werden {{type}} von nicht vertrauenswürdigen Benutzern ausgeblendet.","Currently showing all {type}.":"Derzeit werden alle {{type}} angezeigt.","Click continue to show all {type}.":"Klicke auf Weiter, um alle {{type}} anzuzeigen.","Click continue to hide {type} from untrusted users.":"Klicke auf Weiter, um {{type}} von nicht vertrauenswürdigen Benutzern auszublenden.","Trusted users include people you follow and people they follow.":"Vertrauenswürdige Benutzer sind Personen, denen du folgst, und Personen, denen sie folgen.",Continue:"Weiter","Successfully updated mute list":"Stummschalteliste erfolgreich aktualisiert","No pubkeys found from {url}":"Keine Pubkeys von {{url}} gefunden","Translating...":"Übersetze...",Translate:"Übersetzen","Show original":"Original anzeigen",Website:"Website","Hide untrusted notes":"Untrusted Notizen ausblenden","Open in another client":"In anderem Client öffnen",Community:"Community",Group:"Gruppe","Live event":"Live-Event",Article:"Artikel",Unfavorite:"Nicht mehr favorisieren","Recommended relays":"Empfohlene Relays","Blossom server URLs":"Blossom-Server-URLs","You need to add at least one blossom server in order to upload media files.":"Du musst mindestens einen Blossom-Server hinzufügen, um Mediendateien hochladen zu können.","Recommended blossom servers":"Empfohlene Blossom-Server","Enter Blossom server URL":"Blossom-Server-URL eingeben",Preferred:"Bevorzugt","Multiple choice (select one or more)":"Mehrfachauswahl (eine oder mehrere auswählen)",Vote:"Abstimmen","{{number}} votes":"{{number}} Stimmen","Total votes":"Gesamtstimmen","Poll has ended":"Umfrage beendet","Poll ends at {{time}}":"Umfrage endet am {{time}}","Load results":"Ergebnisse laden","This is a poll note.":"Dies ist eine Umfrage-Notiz.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Im Gegensatz zu regulären Notizen werden Umfragen nicht weit verbreitet unterstützt und werden möglicherweise nicht in anderen Clients angezeigt.","Option {{number}}":"Option {{number}}","Add Option":"Option hinzufügen","Allow multiple choices":"Mehrfachauswahl erlauben","End Date (optional)":"Enddatum (optional)","Clear end date":"Enddatum löschen","Relay URLs (optional, comma-separated)":"Relay-URLs (optional, durch Kommas getrennt)","Remove poll":"Umfrage entfernen","Refresh results":"Ergebnisse aktualisieren",Poll:"Umfrage",Media:"Medien","Republish to ...":"Erneut veröffentlichen zu ...","Successfully republish to your write relays":"Erfolgreich erneut zu deinen Schreib-Relays veröffentlicht","Failed to republish to your write relays: {{error}}":"Fehler beim erneuten Veröffentlichen zu deinen Schreib-Relays: {{error}}","Successfully republish to relay set: {{name}}":"Erfolgreich erneut zu Relay-Set veröffentlicht: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Fehler beim erneuten Veröffentlichen zu Relay-Set: {{name}}. Fehler: {{error}}","Successfully republish to relay: {{url}}":"Erfolgreich erneut zu Relay veröffentlicht: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Fehler beim erneuten Veröffentlichen zu Relay: {{url}}. Fehler: {{error}}","Write relays":"Schreib-Relays","No more reactions":"Keine weiteren Reaktionen","No reactions yet":"Noch keine Reaktionen","No more zaps":"Keine weiteren Zaps","No zaps yet":"Noch keine Zaps","No more reposts":"Keine weiteren Reposts","No reposts yet":"Noch keine Reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Folgeliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer gefolgt haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Folgeliste verlieren.",MuteListNotFoundConfirmation:"Stummschaltungsliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer stummgeschaltet haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Stummschaltungsliste verlieren.","Show NSFW content by default":"NSFW-Inhalte standardmäßig anzeigen","Custom emoji management":"Benutzerdefinierte Emoji-Verwaltung","After changing emojis, you may need to refresh the page":"Nach dem Ändern von Emojis müssen Sie möglicherweise die Seite aktualisieren","Too many read relays":"Zu viele Lese-Relays","Too many write relays":"Zu viele Schreib-Relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Sie haben {{count}} Lese-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Sie haben {{count}} Schreib-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.","Optimize Relay Settings":"Relay-Einstellungen optimieren","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Ihre aktuelle Relay-Konfiguration ist möglicherweise nicht optimal. Dies könnte es anderen erschweren, Ihre Beiträge zu finden und zu unvollständigen Benachrichtigungen führen.","Optimize Now":"Jetzt optimieren","Maybe Later":"Vielleicht später","Don't remind me again":"Nicht mehr erinnern",Posts:"Beiträge",Articles:"Artikel",Highlights:"Highlights",Polls:"Umfragen","Voice Posts":"Sprachbeiträge","Photo Posts":"Fotobeiträge","Video Posts":"Videobeiträge","Select All":"Alle auswählen","Clear All":"Alle löschen","Set as default filter":"Als Standardfilter festlegen",Apply:"Anwenden",Reset:"Zurücksetzen","Share something on this Relay":"Teile etwas auf diesem Relay","Try deleting this note":"Versuche, diese Notiz zu löschen","Deletion request sent to {{count}} relays":"Löschanfrage an {{count}} Relays gesendet","Suitable Relays":"Geeignete Relays","People, keywords, or relays":"Personen, Schlüsselwörter oder Relays","Hide content mentioning muted users":"Inhalte ausblenden, die stumme Benutzer erwähnen","This note mentions a user you muted":"Diese Notiz erwähnt einen Benutzer, den Sie stumm geschaltet haben",Filter:"Filter","mentioned you in a note":"hat Sie in einer Notiz erwähnt","quoted your note":"hat Ihre Notiz zitiert","voted in your poll":"hat in Ihrer Umfrage abgestimmt","reacted to your note":"hat auf Ihre Notiz reagiert","reposted your note":"hat Ihre Notiz geteilt","zapped your note":"hat Ihre Notiz gezappt","highlighted your note":"hat Ihre Notiz hervorgehoben","zapped you":"hat Sie gezappt","Mark as read":"Als gelesen markieren",Report:"Melden","Successfully report":"Erfolgreich gemeldet","Failed to report":"Meldung fehlgeschlagen",nudity:"Nacktheit",malware:"Schadsoftware",profanity:"Obszönität",illegal:"Illegaler Inhalt",spam:"Spam",other:"Sonstiges","Notification list style":"Benachrichtigungslistenstil","See extra info for each notification":"Zusätzliche Informationen für jede Benachrichtigung anzeigen","See more notifications at a glance":"Mehr Benachrichtigungen auf einen Blick sehen",Detailed:"Detailliert",Compact:"Kompakt","Submit Relay":"Relay einreichen",Homepage:"Homepage","Proof of Work (difficulty {{minPow}})":"Arbeitsnachweis (Schwierigkeit {{minPow}})","via {{client}}":"über {{client}}","Auto-load media":"Medien automatisch laden",Always:"Immer","Wi-Fi only":"Nur WLAN",Never:"Nie","Click to load image":"Klicken, um Bild zu laden","Click to load media":"Klicken, um Medien zu laden","Click to load YouTube video":"Klicken, um YouTube-Video zu laden","{{count}} reviews":"{{count}} Bewertungen","Write a review":"Eine Bewertung schreiben","No reviews yet. Be the first to write one!":"Noch keine Bewertungen. Seien Sie der Erste, der eine schreibt!","View more reviews":"Weitere Bewertungen anzeigen","Failed to review":"Bewertung fehlgeschlagen","Write a review and pick a star rating":"Schreiben Sie eine Bewertung und wählen Sie eine Sternebewertung",Submit:"Absenden","Reviews for {{relay}}":"Bewertungen für {{relay}}","No relays selected":"Keine Relays ausgewählt","Post to":"Posten an","Write relays and {{count}} other relays":"Schreib-Relays und {{count}} andere Relays","{{count}} relays":"{{count}} Relays","Republishing...":"Wird erneut veröffentlicht...","Connected to":"Verbunden mit","Disconnect Wallet":"Wallet trennen","Are you absolutely sure?":"Bist du dir absolut sicher?","You will not be able to send zaps to others.":"Du wirst keine Zaps mehr an andere senden können.",Disconnect:"Trennen","Start with a Rizful Vault":"Starte mit einem Rizful Vault","or other wallets":"oder andere Wallets","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault verbunden!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Du kannst jetzt dein Rizful Vault verwenden, um deine Lieblingsnotizen und -ersteller zu zapen.","Your Lightning Address":"Deine Lightning-Adresse","New to Rizful?":"Neu bei Rizful?","Sign up for Rizful":"Registriere dich bei Rizful","If you already have a Rizful account, you can skip this step.":"Wenn du bereits ein Rizful-Konto hast, kannst du diesen Schritt überspringen.","Get your one-time code":"Hole dir deinen Einmal-Code","Get code":"Code holen","Connect to your Rizful Vault":"Verbinde dich mit deinem Rizful Vault","Paste your one-time code here":"Füge hier deinen Einmal-Code ein",Connect:"Verbinden","Set up your wallet to send and receive sats!":"Richte deine Wallet ein, um Sats zu senden und zu empfangen!","Set up":"Einrichten",Pinned:"Angepinnt",Unpin:"Anheften aufheben",Unpinning:"Anheften wird aufgehoben","Pinning...":"Wird angepinnt...","Pinned!":"Angepinnt!","Failed to pin: {{error}}":"Fehler beim Anpinnen: {{error}}","Unpinning...":"Anheften wird aufgehoben...","Unpinned!":"Anheften aufgehoben!","Failed to unpin: {{error}}":"Fehler beim Anheften aufheben: {{error}}","Unpin from profile":"Vom Profil lösen","Pin to profile":"An Profil anheften",Appearance:"Aussehen","Pure Black":"Reines Schwarz",Default:"Standard",Red:"Rot",Orange:"Orange",Amber:"Bernstein",Yellow:"Gelb",Lime:"Limette",Green:"Grün",Emerald:"Smaragd",Teal:"Blaugrün",Cyan:"Cyan",Sky:"Himmelblau",Blue:"Blau",Indigo:"Indigo",Violet:"Violett",Purple:"Lila",Fuchsia:"Fuchsia",Pink:"Rosa",Rose:"Rose","Primary color":"Primärfarbe",Layout:"Layout","Two-column":"Zweispaltig","Single-column":"Einspaltig",Reviews:"Bewertungen",Extension:"Erweiterung",Remote:"Remote","Encrypted Key":"Verschlüsselter Schlüssel","Private Key":"Privater Schlüssel","Welcome to Smesh":"Willkommen bei Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh ist ein Client, der sich auf das Durchsuchen von Relays konzentriert. Beginnen Sie mit der Erkundung interessanter Relays oder melden Sie sich an, um Ihren Following-Feed anzuzeigen.","Explore Relays":"Relays erkunden","Choose a feed":"Wähle einen Feed","and {{x}} others":"und {{x}} andere",selfZapWarning:"Smesh ist nicht verantwortlich für das, was passiert, wenn Sie sich selbst zappen. Fahren Sie auf eigene Gefahr fort. 😉⚡","Emoji Pack":"Emoji-Paket","Emoji pack added":"Emoji-Paket hinzugefügt","Add emoji pack failed":"Hinzufügen des Emoji-Pakets fehlgeschlagen","Emoji pack removed":"Emoji-Paket entfernt","Remove emoji pack failed":"Entfernen des Emoji-Pakets fehlgeschlagen",Added:"Hinzugefügt","Emoji Packs":"Emoji-Pakete","My Packs":"Meine Pakete","Adding...":"Wird hinzugefügt...","Removing...":"Wird entfernt...",Reload:"Neu laden","Request to Join Relay":"Relay-Beitritt beantragen","Leave Relay":"Relay verlassen",Leave:"Verlassen","Are you sure you want to leave this relay?":"Möchten Sie dieses Relay wirklich verlassen?","Join request sent successfully":"Beitrittsanfrage erfolgreich gesendet","Failed to send join request":"Fehler beim Senden der Beitrittsanfrage","Leave request sent successfully":"Austrittsanfrage erfolgreich gesendet","Failed to send leave request":"Fehler beim Senden der Austrittsanfrage","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Geben Sie einen Einladungscode ein, falls Sie einen haben. Andernfalls lassen Sie es leer, um eine Anfrage zu senden.","Invite Code (Optional)":"Einladungscode (Optional)","Enter invite code":"Einladungscode eingeben","Sending...":"Wird gesendet...","Send Request":"Anfrage senden","You can get an invite code from a relay member.":"Sie können einen Einladungscode von einem Relay-Mitglied erhalten.","Enter the invite code you received from a relay member.":"Geben Sie den Einladungscode ein, den Sie von einem Relay-Mitglied erhalten haben.","Get Invite Code":"Einladungscode Erhalten","Share this invite code with others to invite them to join this relay.":"Teilen Sie diesen Einladungscode mit anderen, um sie einzuladen, diesem Relay beizutreten.","Invite Code":"Einladungscode",Copy:"Kopieren","This invite code can be used by others to join the relay.":"Dieser Einladungscode kann von anderen verwendet werden, um dem Relay beizutreten.","No invite code available from this relay.":"Kein Einladungscode von diesem Relay verfügbar.",Close:"Schließen","Failed to get invite code from relay":"Fehler beim Abrufen des Einladungscodes vom Relay","Failed to get invite code":"Fehler beim Abrufen des Einladungscodes","Invite code copied to clipboard":"Einladungscode in die Zwischenablage kopiert","Favicon URL":"Favicon-URL","Filter out onion relays":"Onion-Relays herausfiltern","Click to load X post":"Klicken Sie, um X-Beitrag zu laden","View Nostr comments":"Nostr-Kommentare anzeigen","Search for notes":"Notizen suchen","Search for hashtag":"Hashtag suchen","Go to note":"Zur Notiz gehen","Go to relay":"Zum Relay gehen","View discussions about this":"Diskussionen über diesen Inhalt anzeigen","Open link":"Link öffnen","View Nostr discussions":"Nostr-Diskussionen anzeigen","Optimal relays":"Optimale Relays","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Erfolgreich auf optimale Relays neu veröffentlicht (Ihre Schreib-Relays und die Lese-Relays der erwähnten Benutzer)","Failed to republish to optimal relays: {{error}}":"Fehler beim Neuveröffentlichen auf optimale Relays: {{error}}","External Content":"Externer Inhalt",Highlight:"Hervorheben","Optimal relays and {{count}} other relays":"Optimale Relays und {{count}} andere Relays","Likely spam account (Trust score: {{percentile}}%)":"Wahrscheinlich Spam-Konto (Vertrauenswert: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Verdächtiges Konto (Vertrauenswert: {{percentile}}%)","n users":"{{count}} Benutzer","View Details":"Details anzeigen","Follow Pack Not Found":"Follow-Pack nicht gefunden","Follow pack not found":"Follow-Pack nicht gefunden",Users:"Benutzer",Feed:"Feed","Follow Pack":"Follow-Pack","Load earlier":"Früher laden","Last 24 hours":"Letzte 24 Stunden","Last {{count}} days":"Letzte {{count}} Tage",notes:"Notizen","Quick reaction":"Schnellreaktion","If enabled, you can react with a single click. Click and hold for more options":"Wenn aktiviert, können Sie mit einem Klick reagieren. Klicken und halten Sie für weitere Optionen","Quick reaction emoji":"Schnellreaktions-Emoji","Select emoji":"Emoji auswählen","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Besonders Folgen","Unfollow Special":"Besonders Entfolgen","Personal Feeds":"Persönliche Feeds","Relay Feeds":"Relay-Feeds","Create Highlight":"Markierung Erstellen","Write your thoughts about this highlight...":"Schreiben Sie Ihre Gedanken zu dieser Markierung...","Publish Highlight":"Markierung Veröffentlichen","Show replies":"Antworten anzeigen","Hide replies":"Antworten ausblenden","Welcome to Smesh!":"Willkommen bei Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Ihr Feed ist leer, weil Sie noch niemandem folgen. Beginnen Sie damit, interessante Inhalte zu erkunden und Benutzern zu folgen, die Ihnen gefallen!","Search Users":"Benutzer suchen","Create New Account":"Neues Konto erstellen",Important:"Wichtig","Generate Your Account":"Konto generieren","Your private key IS your account. Keep it safe!":"Ihr privater Schlüssel IST Ihr Konto. Bewahren Sie ihn sicher auf!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"In Nostr IST Ihr privater Schlüssel Ihr Konto. Wenn Sie Ihren privaten Schlüssel verlieren, verlieren Sie Ihr Konto für immer.","Your Private Key":"Ihr privater Schlüssel","Generate new key":"Neuen Schlüssel generieren","Download Backup File":"Sicherungsdatei herunterladen","Copied to Clipboard":"In Zwischenablage kopiert","Copy to Clipboard":"In Zwischenablage kopieren","I already saved my private key securely.":"Ich habe meinen privaten Schlüssel bereits sicher gespeichert.","Almost Done!":"Fast fertig!","Set a password to encrypt your key, or skip to finish":"Legen Sie ein Passwort fest, um Ihren Schlüssel zu verschlüsseln, oder überspringen Sie, um fertig zu werden","Password Protection (Optional)":"Passwortschutz (optional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Das Festlegen eines Passworts verschlüsselt Ihren privaten Schlüssel in diesem Browser. Sie können diesen Schritt überspringen, aber wir empfehlen, eines für zusätzliche Sicherheit festzulegen.","Password (Optional)":"Passwort (optional)","Enter password or leave empty to skip":"Passwort eingeben oder leer lassen, um zu überspringen","Confirm Password":"Passwort bestätigen","Re-enter password":"Passwort erneut eingeben","Passwords do not match":"Passwörter stimmen nicht überein","Finish Signup":"Registrierung abschließen","Create Your Nostr Account":"Erstellen Sie Ihr Nostr-Konto","Generate your unique private key. This is your digital identity.":"Generieren Sie Ihren einzigartigen privaten Schlüssel. Dies ist Ihre digitale Identität.","Critical: Save Your Private Key":"Kritisch: Speichern Sie Ihren privaten Schlüssel","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Ihr privater Schlüssel IST Ihr Konto. Es gibt keine Passwortwiederherstellung. Wenn Sie ihn verlieren, verlieren Sie Ihr Konto für immer. Bitte speichern Sie ihn an einem sicheren Ort.","I have safely backed up my private key":"Ich habe meinen privaten Schlüssel sicher gesichert","Secure Your Account":"Sichern Sie Ihr Konto","Add an extra layer of protection with a password":"Fügen Sie eine zusätzliche Schutzebene mit einem Passwort hinzu","Password Protection (Recommended)":"Passwortschutz (empfohlen)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Fügen Sie ein Passwort hinzu, um Ihren privaten Schlüssel in diesem Browser zu verschlüsseln. Dies ist optional, aber für bessere Sicherheit dringend empfohlen.","Create a password (or skip)":"Erstellen Sie ein Passwort (oder überspringen)","Enter your password again":"Geben Sie Ihr Passwort erneut ein","Complete Signup":"Registrierung abschließen",Recommended:"Empfohlen"}},Obe={translation:{"Welcome! 🥳":"Welcome! 🥳",About:"About","New Note":"New Note",Post:"Post",Home:"Home","Relay settings":"Relay settings",Settings:"Settings",SidebarRelays:"Relays",Refresh:"Refresh",Profile:"Profile",Logout:"Logout",Following:"Following",followings:"followings",reposted:"reposted","just now":"just now","minute ago_one":"{{count}} minute ago","minute ago_other":"{{count}} minutes ago","n m":"{{n}}m","hour ago_one":"{{count}} hour ago","hour ago_other":"{{count}} hours ago","n h":"{{n}}h","day ago_one":"{{count}} day ago","day ago_other":"{{count}} days ago","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Follow",Unfollow:"Unfollow","Follow failed":"Follow failed","Unfollow failed":"Unfollow failed","show new notes":"show new notes","loading...":"loading...","Loading...":"Loading...","no more notes":"no more notes","reply to":"reply to",reply:"reply",Reply:"Reply","load more older replies":"load more older replies","Write something...":"Write something...",Cancel:"Cancel",Mentions:"Mentions","Failed to post":"Failed to post","Post successful":"Post successful","Your post has been published":"Your post has been published",Repost:"Repost",Quote:"Quote","Copy event ID":"Copy event ID","Copy user ID":"Copy user ID","View raw event":"View raw event",Like:"Like","switch to light theme":"switch to light theme","switch to dark theme":"switch to dark theme","switch to system theme":"switch to system theme",Note:"Note",note:"note","username's following":"{{username}}'s following","username's used relays":"{{username}}'s used relays","username's muted":"{{username}}'s muted",Login:"Login","Follows you":"Follows you","Relay Settings":"Relay Settings","Relay set name":"Relay set name","Add a new relay set":"Add a new relay set",Add:"Add","n relays":"{{n}} relays",Rename:"Rename","Copy share link":"Copy share link",Delete:"Delete","Relay already exists":"Relay already exists","invalid relay URL":"invalid relay URL","Add a new relay":"Add a new relay",back:"back","Lost in the void":"Lost in the void","Carry me home":"Carry me home","no replies":"no replies","Reply to":"Reply to",Search:"Search","The relays you are connected to do not support search":"The relays you are connected to do not support search","Show more...":"Show more...","All users":"All users","Display replies":"Display replies",Notes:"Notes",Replies:"Replies",Notifications:"Notifications","no more notifications":"no more notifications","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.","Login with Browser Extension":"Login with Browser Extension","Login with Bunker":"Login with Bunker","Login with Private Key":"Login with Private Key","Custom relay (optional)":"Custom relay (optional)","Copy this connection string to your signer app":"Copy this connection string to your signer app","reload notes":"reload notes","Logged in Accounts":"Logged in Accounts","Add an Account":"Add an Account","More options":"More options","Add client tag":"Add client tag","Show others this was sent via Smesh":"Show others this was sent via Smesh","Are you sure you want to logout?":"Are you sure you want to logout?","relay sets":"relay sets",edit:"edit",Languages:"Languages",Theme:"Theme",System:"System",Light:"Light",Dark:"Dark",Temporary:"Temporary","Choose a relay set":"Choose a relay set","Switch account":"Switch account",Pictures:"Pictures","Picture note":"Picture note","A special note for picture-first clients like Olas":"A special note for picture-first clients like Olas","Picture note requires images":"Picture note requires images",Relays:"Relays",Image:"Image","R & W":"R & W",Read:"Read",Write:"Write","Pull relay sets":"Pull relay sets","Select the relay sets you want to pull":"Select the relay sets you want to pull","No relay sets found":"No relay sets found","Pull n relay sets":"Pull {{n}} relay sets",Pull:"Pull","Select all":"Select all","Relay Sets":"Relay Sets","Read & Write Relays":"Read & Write Relays","read relays description":"Read relays are used to seek events about you. Other users will publish the events they want you to see to your read relays.","write relays description":"Write relays are used to publish your events. Other users will seek your events from your write relays.","read & write relays notice":"The number of read and write servers should ideally be kept between 2 and 4.","Don't have an account yet?":"Don't have an account yet?","or simply generate a private key":"or simply generate a private key","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.",Edit:"Edit",Save:"Save","Display Name":"Display Name",Bio:"Bio","Nostr Address (NIP-05)":"Nostr Address (NIP-05)","Invalid NIP-05 address":"Invalid NIP-05 address","Copy private key":"Copy private key","Enter the password to decrypt your ncryptsec":"Enter the password to decrypt your ncryptsec",Back:"Back","optional: encrypt nsec":"optional: encrypt nsec",password:"password","Sign up":"Sign up","Save to":"Save to","Enter a name for the new relay set":"Enter a name for the new relay set","Save to a new relay set":"Save to a new relay set",Mute:"Mute",Muted:"Muted",Unmute:"Unmute","Unmute user":"Unmute user","Append n relays":"Append {{n}} relays",Append:"Append","Select relays to append":"Select relays to append","calculating...":"calculating...","Calculate optimal read relays":"Calculate optimal read relays","Login to set":"Login to set","Please login to view following feed":"Please login to view following feed","Send only to r":"Send only to {{r}}","Send only to these relays":"Send only to these relays",Explore:"Explore","Search relays":"Search relays",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Search",relayInfoBadgePayment:"Payment",Operator:"Operator",Contact:"Contact",Software:"Software",Version:"Version","Random Relays":"Random Relays",randomRelaysRefresh:"Refresh","Explore more":"Explore more","Payment page":"Payment page","Supported NIPs":"Supported NIPs","Open in a":"Open in {{a}}","Cannot handle event of kind k":"Cannot handle event of kind {{k}}","Sorry! The note cannot be found 😔":"Sorry! The note cannot be found 😔","This user has been muted":"This user has been muted",Wallet:"Wallet",Sats:"Sats",sats:"sats","Zap to":"Zap to","Zap n sats":"Zap {{n}} sats",zapComment:"Comment","Default zap amount":"Default zap amount","Default zap comment":"Default zap comment","Lightning Address (or LNURL)":"Lightning Address (or LNURL)","Quick zap":"Quick zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"If enabled, you can zap with a single click. Click and hold for custom amounts",All:"All",Reactions:"Reactions",Zaps:"Zaps","Earlier notifications":"Earlier notifications","Temporarily display this note":"Temporarily display this note",buttonFollowing:"Following","Are you sure you want to unfollow this user?":"Are you sure you want to unfollow this user?","Recent Supporters":"Recent Supporters","Seen on":"Seen on","Temporarily display this reply":"Temporarily display this reply","Note not found":"Note not found","no more replies":"no more replies","Relay sets":"Relay sets","Favorite Relays":"Favorite Relays","Following's Favorites":"Following's Favorites","no more relays":"no more relays","Favorited by":"Favorited by","Post settings":"Post settings","Media upload service":"Media upload service","Choose a relay":"Choose a relay","no relays found":"no relays found",video:"video","Show n new notes":"Show {{n}} new notes","n new notes above":"{{n}} new notes above",YouTabName:"You",Bookmark:"Bookmark","Remove bookmark":"Remove bookmark","no bookmarks found":"no bookmarks found","no more bookmarks":"no more bookmarks",Bookmarks:"Bookmarks","Show more":"Show more",General:"General",Autoplay:"Autoplay","Enable video autoplay on this device":"Enable video autoplay on this device","Paste or drop media files to upload":"Paste or drop media files to upload",Preview:"Preview","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?",From:"From","Comment on":"Comment on","View on njump.me":"View on njump.me","Hide content from untrusted users":"Hide content from untrusted users","Only show content from your followed users and the users they follow":"Only show content from your followed users and the users they follow","Followed by":"Followed by","Mute user privately":"Mute user privately","Mute user publicly":"Mute user publicly",Quotes:"Quotes","Lightning Invoice":"Lightning Invoice","Bookmark failed":"Bookmark failed","Remove bookmark failed":"Remove bookmark failed",Pay:"Pay",interactions:"interactions",notifications:"notifications","Show untrusted {type}":"Show untrusted {{type}}","Hide untrusted {type}":"Hide untrusted {{type}}","Currently hiding {type} from untrusted users.":"Currently hiding {{type}} from untrusted users.","Currently showing all {type}.":"Currently showing all {{type}}.","Click continue to show all {type}.":"Click continue to show all {{type}}.","Click continue to hide {type} from untrusted users.":"Click continue to hide {{type}} from untrusted users.","Trusted users include people you follow and people they follow.":"Trusted users include people you follow and people they follow.",Continue:"Continue","Successfully updated mute list":"Successfully updated mute list","No pubkeys found from {url}":"No pubkeys found from {{url}}",Website:"Website","Hide untrusted notes":"Hide untrusted notes","Hide untrusted interactions":"Hide untrusted interactions","Hide untrusted notifications":"Hide untrusted notifications","Open in another client":"Open in another client",Community:"Community",Group:"Group","Live event":"Live event",Article:"Article",Unfavorite:"Unfavorite","Recommended relays":"Recommended relays","Blossom server URLs":"Blossom server URLs","You need to add at least one blossom server in order to upload media files.":"You need to add at least one blossom server in order to upload media files.","Recommended blossom servers":"Recommended blossom servers","Enter Blossom server URL":"Enter Blossom server URL",Preferred:"Preferred","Multiple choice (select one or more)":"Multiple choice (select one or more)",Vote:"Vote","{{number}} votes":"{{number}} votes","Total votes":"Total votes","Poll has ended":"Poll has ended","Poll ends at {{time}}":"Poll ends at {{time}}","Load results":"Load results","This is a poll note.":"This is a poll note.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Unlike regular notes, polls are not widely supported and may not display on other clients.","Option {{number}}":"Option {{number}}","Add Option":"Add Option","Allow multiple choices":"Allow multiple choices","End Date (optional)":"End Date (optional)","Clear end date":"Clear end date","Relay URLs (optional, comma-separated)":"Relay URLs (optional, comma-separated)","Remove poll":"Remove poll","Refresh results":"Refresh results",Poll:"Poll",Media:"Media","Republish to ...":"Republish to ...","Successfully republish to your write relays":"Successfully republish to your write relays","Failed to republish to your write relays: {{error}}":"Failed to republish to your write relays: {{error}}","Successfully republish to relay set: {{name}}":"Successfully republish to relay set: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Failed to republish to relay set: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Successfully republish to relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Failed to republish to relay: {{url}}. Error: {{error}}","Write relays":"Write relays","No more reactions":"No more reactions","No reactions yet":"No reactions yet","No more zaps":"No more zaps","No zaps yet":"No zaps yet","No more reposts":"No more reposts","No reposts yet":"No reposts yet",Reposts:"Reposts",FollowListNotFoundConfirmation:"Follow list not found. Do you want to create a new one? If you have followed users before, please DO NOT confirm as this operation will cause you to lose your previous follow list.",MuteListNotFoundConfirmation:"Mute list not found. Do you want to create a new one? If you have muted users before, please DO NOT confirm as this operation will cause you to lose your previous mute list.","Show NSFW content by default":"Show NSFW content by default","Custom emoji management":"Custom emoji management","After changing emojis, you may need to refresh the page":"After changing emojis, you may need to refresh the page","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"Optimize Relay Settings","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.","Optimize Now":"Optimize Now","Maybe Later":"Maybe Later","Don't remind me again":"Don't remind me again",Posts:"Posts",Articles:"Articles",Highlights:"Highlights",Polls:"Polls","Voice Posts":"Voice Posts","Photo Posts":"Photo Posts","Video Posts":"Video Posts","Select All":"Select All","Clear All":"Clear All","Set as default filter":"Set as default filter",Apply:"Apply",Reset:"Reset","Share something on this Relay":"Share something on this Relay","Try deleting this note":"Try deleting this note","Deletion request sent to {{count}} relays":"Deletion request sent to {{count}} relays","Suitable Relays":"Suitable Relays","People, keywords, or relays":"People, keywords, or relays","Hide content mentioning muted users":"Hide content mentioning muted users","This note mentions a user you muted":"This note mentions a user you muted",Filter:"Filter","mentioned you in a note":"mentioned you in a note","quoted your note":"quoted your note","voted in your poll":"voted in your poll","reacted to your note":"reacted to your note","reposted your note":"reposted your note","zapped your note":"zapped your note","highlighted your note":"highlighted your note","zapped you":"zapped you","Mark as read":"Mark as read",Report:"Report","Successfully report":"Successfully reported","Failed to report":"Failed to report",nudity:"Nudity",malware:"Malware",profanity:"Profanity",illegal:"Illegal content",spam:"Spam",other:"Other","Notification list style":"Notification list style","See extra info for each notification":"See extra info for each notification","See more notifications at a glance":"See more notifications at a glance",Detailed:"Detailed",Compact:"Compact","Submit Relay":"Submit Relay",Homepage:"Homepage","Proof of Work (difficulty {{minPow}})":"Proof of Work (difficulty {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Auto-load media",Always:"Always","Wi-Fi only":"Wi-Fi only",Never:"Never","Click to load image":"Click to load image","Click to load media":"Click to load media","Click to load YouTube video":"Click to load YouTube video","Click to load X post":"Click to load X post","{{count}} reviews":"{{count}} reviews","Write a review":"Write a review","No reviews yet. Be the first to write one!":"No reviews yet. Be the first to write one!","View more reviews":"View more reviews","Failed to review":"Failed to review","Write a review and pick a star rating":"Write a review and pick a star rating",Submit:"Submit","Reviews for {{relay}}":"Reviews for {{relay}}","No relays selected":"No relays selected","Post to":"Post to","Write relays and {{count}} other relays":"Write relays and {{count}} other relays","{{count}} relays":"{{count}} relays","Republishing...":"Republishing...","Connected to":"Connected to","Disconnect Wallet":"Disconnect Wallet","Are you absolutely sure?":"Are you absolutely sure?","You will not be able to send zaps to others.":"You will not be able to send zaps to others.",Disconnect:"Disconnect","Start with a Rizful Vault":"Start with a Rizful Vault","or other wallets":"or other wallets","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault connected!","You can now use your Rizful Vault to zap your favorite notes and creators.":"You can now use your Rizful Vault to zap your favorite notes and creators.","Your Lightning Address":"Your Lightning Address","New to Rizful?":"New to Rizful?","Sign up for Rizful":"Sign up for Rizful","If you already have a Rizful account, you can skip this step.":"If you already have a Rizful account, you can skip this step.","Get your one-time code":"Get your one-time code","Get code":"Get code","Connect to your Rizful Vault":"Connect to your Rizful Vault","Paste your one-time code here":"Paste your one-time code here",Connect:"Connect","Connect Wallet":"Connect Wallet","Set up your wallet to send and receive sats!":"Set up your wallet to send and receive sats!","Set up":"Set up",Pinned:"Pinned",Unpin:"Unpin",Unpinning:"Unpinning","Pinning...":"Pinning...","Pinned!":"Pinned!","Failed to pin: {{error}}":"Failed to pin: {{error}}","Unpinning...":"Unpinning...","Unpinned!":"Unpinned!","Failed to unpin: {{error}}":"Failed to unpin: {{error}}","Unpin from profile":"Unpin from profile","Pin to profile":"Pin to profile",Appearance:"Appearance","Pure Black":"Pure Black",Default:"Default",Red:"Red",Orange:"Orange",Amber:"Amber",Yellow:"Yellow",Lime:"Lime",Green:"Green",Emerald:"Emerald",Teal:"Teal",Cyan:"Cyan",Sky:"Sky",Blue:"Blue",Indigo:"Indigo",Violet:"Violet",Purple:"Purple",Fuchsia:"Fuchsia",Pink:"Pink",Rose:"Rose","Primary color":"Primary color",Layout:"Layout","Two-column":"Two-column","Single-column":"Single-column",Reviews:"Reviews",Extension:"Extension",Remote:"Remote","Encrypted Key":"Encrypted Key","Private Key":"Private Key","Welcome to Smesh":"Welcome to Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.","Explore Relays":"Explore Relays","Choose a feed":"Choose a feed","and {{x}} others":"and {{x}} others",selfZapWarning:"Smesh is not responsible for what happens if you zap yourself. Proceed at your own risk. 😉⚡","Emoji Pack":"Emoji Pack","Emoji pack added":"Emoji pack added","Add emoji pack failed":"Add emoji pack failed","Emoji pack removed":"Emoji pack removed","Remove emoji pack failed":"Remove emoji pack failed",Added:"Added","Emoji Packs":"Emoji Packs","My Packs":"My Packs","Adding...":"Adding...","Removing...":"Removing...",Reload:"Reload","Request to Join Relay":"Request to Join Relay","Leave Relay":"Leave Relay",Leave:"Leave","Are you sure you want to leave this relay?":"Are you sure you want to leave this relay?","Join request sent successfully":"Join request sent successfully","Failed to send join request":"Failed to send join request","Leave request sent successfully":"Leave request sent successfully","Failed to send leave request":"Failed to send leave request","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Enter an invite code if you have one. Otherwise, leave it blank to send a request.","Invite Code (Optional)":"Invite Code (Optional)","Enter invite code":"Enter invite code","Sending...":"Sending...","Send Request":"Send Request","You can get an invite code from a relay member.":"You can get an invite code from a relay member.","Enter the invite code you received from a relay member.":"Enter the invite code you received from a relay member.","Get Invite Code":"Get Invite Code","Share this invite code with others to invite them to join this relay.":"Share this invite code with others to invite them to join this relay.","Invite Code":"Invite Code",Copy:"Copy","This invite code can be used by others to join the relay.":"This invite code can be used by others to join the relay.","No invite code available from this relay.":"No invite code available from this relay.",Close:"Close","Failed to get invite code from relay":"Failed to get invite code from relay","Failed to get invite code":"Failed to get invite code","Invite code copied to clipboard":"Invite code copied to clipboard","Favicon URL":"Favicon URL","Filter out onion relays":"Filter out onion relays","View Nostr comments":"View Nostr comments","Search for notes":"Search for notes","Search for hashtag":"Search for hashtag","Go to note":"Go to note","Go to relay":"Go to relay","View discussions about this":"View discussions about this","Open link":"Open link","View Nostr discussions":"View Nostr discussions","Optimal relays":"Optimal relays","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Successfully republish to optimal relays (your write relays and mentioned users' read relays)","Failed to republish to optimal relays: {{error}}":"Failed to republish to optimal relays: {{error}}","External Content":"External Content",Highlight:"Highlight","Optimal relays and {{count}} other relays":"Optimal relays and {{count}} other relays","Likely spam account (Trust score: {{percentile}}%)":"Likely spam account (Trust score: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Suspicious account (Trust score: {{percentile}}%)","n users":"{{count}} users","n users_one":"{{count}} user","n users_other":"{{count}} users","View Details":"View Details","Follow Pack Not Found":"Follow Pack Not Found","Follow pack not found":"Follow pack not found",Users:"Users",Feed:"Feed","Follow Pack":"Follow Pack","Load earlier":"Load earlier","Last 24 hours":"Last 24 hours","Last {{count}} days":"Last {{count}} days",notes:"notes","Quick reaction":"Quick reaction","If enabled, you can react with a single click. Click and hold for more options":"If enabled, you can react with a single click. Click and hold for more options","Quick reaction emoji":"Quick reaction emoji","Select emoji":"Select emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Special Follow","Unfollow Special":"Unfollow Special","Personal Feeds":"Personal Feeds","Relay Feeds":"Relay Feeds","Create Highlight":"Create Highlight","Write your thoughts about this highlight...":"Write your thoughts about this highlight...","Publish Highlight":"Publish Highlight","Show replies":"Show replies","Hide replies":"Hide replies","Welcome to Smesh!":"Welcome to Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!","Search Users":"Search Users","Create New Account":"Create New Account",Important:"Important","Generate Your Account":"Generate Your Account","Your private key IS your account. Keep it safe!":"Your private key IS your account. Keep it safe!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"In Nostr, your private key IS your account. If you lose your account forever.","Your Private Key":"Your Private Key","Generate new key":"Generate new key","Download Backup File":"Download Backup File","Copied to Clipboard":"Copied to Clipboard","Copy to Clipboard":"Copy to Clipboard","I already saved my private key securely.":"I already saved my private key securely.","Almost Done!":"Almost Done!","Set a password to encrypt your key, or skip to finish":"Set a password to encrypt your key, or skip to finish","Password Protection (Optional)":"Password Protection (Optional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.","Password (Optional)":"Password (Optional)","Enter password or leave empty to skip":"Enter password or leave empty to skip","Confirm Password":"Confirm Password","Re-enter password":"Re-enter password","Passwords do not match":"Passwords do not match","Finish Signup":"Finish Signup","Create Your Nostr Account":"Create Your Nostr Account","Generate your unique private key. This is your digital identity.":"Generate your unique private key. This is your digital identity.","Critical: Save Your Private Key":"Critical: Save Your Private Key","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.","I have safely backed up my private key":"I have safely backed up my private key","Secure Your Account":"Secure Your Account","Add an extra layer of protection with a password":"Add an extra layer of protection with a password","Password Protection (Recommended)":"Password Protection (Recommended)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.","Create a password (or skip)":"Create a password (or skip)","Enter your password again":"Enter your password again","Complete Signup":"Complete Signup",Recommended:"Recommended"}},zbe={translation:{"Welcome! 🥳":"¡Bienvenido! 🥳",About:"Acerca de","New Note":"Nueva nota",Post:"Publicar",Home:"Inicio","Relay settings":"Configuración de relés",Settings:"Ajustes",SidebarRelays:"Relés",Refresh:"Actualizar",Profile:"Perfil",Logout:"Cerrar sesión",Following:"Siguiendo",followings:"siguiendo",reposted:"retransmitido","just now":"justo ahora","minute ago_one":"hace {{count}} minuto","minute ago_other":"hace {{count}} minutos","n m":"{{n}}m","hour ago_one":"hace {{count}} hora","hour ago_other":"hace {{count}} horas","n h":"{{n}}h","day ago_one":"hace {{count}} día","day ago_other":"hace {{count}} días","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Seguir",Unfollow:"Dejar de seguir","Follow failed":"Error al seguir","Unfollow failed":"Error al dejar de seguir","show new notes":"mostrar nuevas notas","loading...":"cargando...","Loading...":"Cargando...","no more notes":"no hay más notas","reply to":"responder a",reply:"responder",Reply:"Responder","load more older replies":"cargar más respuestas antiguas","Write something...":"Escribe algo...",Cancel:"Cancelar",Mentions:"Menciones","Failed to post":"Error al publicar","Post successful":"Publicación exitosa","Your post has been published":"Tu publicación ha sido publicada",Repost:"Reenviar",Quote:"Citar","Copy event ID":"Copiar ID del evento","Copy user ID":"Copiar ID del usuario","View raw event":"Ver evento sin procesar",Like:"Me gusta","switch to light theme":"cambiar a tema claro","switch to dark theme":"cambiar a tema oscuro","switch to system theme":"cambiar al tema del sistema",Note:"Nota",note:"nota","username's following":"Siguiendo de {{username}}","username's used relays":"Relés usados por {{username}}","username's muted":"Silenciados de {{username}}",Login:"Iniciar sesión","Follows you":"Te sigue","Relay Settings":"Configuración de relés","Relay set name":"Nombre del conjunto de relés","Add a new relay set":"Agregar un nuevo conjunto de relés",Add:"Agregar","n relays":"{{n}} relés",Rename:"Renombrar","Copy share link":"Copiar enlace para compartir",Delete:"Eliminar","Relay already exists":"El relé ya existe","invalid relay URL":"URL del relé inválida","Add a new relay":"Agregar un nuevo relé",back:"atrás","Lost in the void":"Perdido en el vacío","Carry me home":"Llévame a casa","no replies":"sin respuestas","Reply to":"Responder a",Search:"Buscar","The relays you are connected to do not support search":"Los relés a los que estás conectado no soportan la búsqueda","Show more...":"Mostrar más...","All users":"Todos los usuarios","Display replies":"Mostrar respuestas",Notes:"Notas",Replies:"Respuestas",Notifications:"Notificaciones","no more notifications":"no hay más notificaciones","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Usar el inicio de sesión con clave privada es inseguro. Se recomienda usar una extensión de navegador para iniciar sesión, como alby, nostr-keyx o nos2x. Si debes usar una clave privada, establece al menos una contraseña para cifrarla.","Login with Browser Extension":"Iniciar sesión con extensión de navegador","Login with Bunker":"Iniciar sesión con Bunker","Login with Private Key":"Iniciar sesión con clave privada","reload notes":"recargar notas","Logged in Accounts":"Cuentas conectadas","Add an Account":"Agregar una cuenta","More options":"Más opciones","Add client tag":"Agregar etiqueta de cliente","Show others this was sent via Smesh":"Mostrar a otros que esto se envió vía Smesh","Are you sure you want to logout?":"¿Estás seguro de que deseas cerrar sesión?","relay sets":"conjuntos de relés",edit:"editar",Languages:"Idiomas",Theme:"Tema",System:"Sistema",Light:"Claro",Dark:"Oscuro",Temporary:"Temporal","Choose a relay set":"Selecciona un conjunto de relés","Switch account":"Cambiar de cuenta",Pictures:"Imágenes","Picture note":"Nota con imagen","A special note for picture-first clients like Olas":"Una nota especial para clientes que priorizan imagen, como Olas","Picture note requires images":"La nota con imagen requiere imágenes",Relays:"Relés",Image:"imagen","R & W":"L y E",Read:"Leer",Write:"Escribir","Pull relay sets":"Recibir conjuntos de relés","Select the relay sets you want to pull":"Selecciona los conjuntos de relés que deseas recibir","No relay sets found":"No se encontraron conjuntos de relés","Pull n relay sets":"Recibir {{n}} conjuntos de relés",Pull:"Recibir","Select all":"Seleccionar todo","Relay Sets":"Conjuntos de relés","Read & Write Relays":"Relés de lectura y escritura","read relays description":"Los relés de lectura se usan para consultar eventos sobre ti. Otros usuarios publican eventos que deseas ver en tus relés de lectura.","write relays description":"Los relés de escritura se usan para publicar tus eventos. Otros usuarios consultan tus eventos desde tus relés de escritura.","read & write relays notice":"El número de servidores de lectura y escritura debería mantenerse idealmente entre 2 y 4.","Don't have an account yet?":"¿Aún no tienes una cuenta?","or simply generate a private key":"o simplemente genera una clave privada","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Esta es una clave privada. No la compartas con nadie. Guárdala de forma segura, ya que no podrás recuperarla si la pierdes.",Edit:"Editar",Save:"Guardar","Display Name":"Nombre para mostrar",Bio:"Biografía","Nostr Address (NIP-05)":"Dirección Nostr (NIP-05)","Invalid NIP-05 address":"Dirección NIP-05 inválida","Copy private key":"Copiar clave privada","Enter the password to decrypt your ncryptsec":"Introduce la contraseña para descifrar tu ncryptsec",Back:"Volver","optional: encrypt nsec":"opcional: cifrar nsec",password:"contraseña","Sign up":"Regístrate","Save to":"Guardar en","Enter a name for the new relay set":"Introduce un nombre para el nuevo conjunto de relés","Save to a new relay set":"Guardar en un nuevo conjunto de relés",Mute:"Silenciar",Muted:"Silenciado",Unmute:"Activar sonido","Unmute user":"Activar sonido del usuario","Append n relays":"Agregar {{n}} relés",Append:"Agregar","Select relays to append":"Selecciona relés para agregar","calculating...":"calculando...","Calculate optimal read relays":"Calcular relés de lectura óptimos","Login to set":"Inicia sesión para ajustar","Please login to view following feed":"Por favor inicia sesión para ver el feed de seguidos","Send only to r":"Enviar únicamente a {{r}}","Send only to these relays":"Enviar únicamente a estos relés",Explore:"Explorar","Search relays":"Buscar relés",relayInfoBadgeAuth:"Autenticación",relayInfoBadgeSearch:"Búsqueda",relayInfoBadgePayment:"Pago",Operator:"Operador",Contact:"Contacto",Software:"Software",Version:"Versión","Random Relays":"Relés aleatorios",randomRelaysRefresh:"Actualizar","Explore more":"Explorar más","Payment page":"Página de pago","Supported NIPs":"NIPs soportados","Open in a":"Abrir en {{a}}","Cannot handle event of kind k":"No se puede manejar el evento de tipo {{k}}","Sorry! The note cannot be found 😔":"¡Lo siento! No se pudo encontrar la nota 😔","This user has been muted":"Este usuario ha sido silenciado",Wallet:"Billetera",Sats:"Satoshis",sats:"satoshis","Zap to":"Enviar zap a","Zap n sats":"Enviar {{n}} satoshis",zapComment:"Comentario","Default zap amount":"Cantidad de zap predeterminada","Default zap comment":"Comentario predeterminado de zap","Lightning Address (or LNURL)":"Dirección Lightning (o LNURL)","Quick zap":"Zap rápido","If enabled, you can zap with a single click. Click and hold for custom amounts":"Si está habilitado, puedes enviar un zap con un solo clic. Haz clic y mantén pulsado para cantidades personalizadas",All:"Todo",Reactions:"Reacciones",Zaps:"Zaps","Earlier notifications":"Notificaciones anteriores","Temporarily display this note":"Mostrar esta nota temporalmente",buttonFollowing:"Siguiendo","Are you sure you want to unfollow this user?":"¿Estás seguro de que deseas dejar de seguir a este usuario?","Recent Supporters":"Últimos patrocinadores","Seen on":"Visto en","Temporarily display this reply":"Mostrar temporalmente esta respuesta","Note not found":"No se encontró la nota","no more replies":"no hay más respuestas","Relay sets":"Conjuntos de relés","Favorite Relays":"Relés favoritos","Following's Favorites":"Favoritos de los seguidos","no more relays":"no hay más relés","Favorited by":"Favoritado por","Post settings":"Ajustes de publicación","Media upload service":"Servicio de carga de medios","Choose a relay":"Selecciona un relé","no relays found":"no se encontraron relés",video:"video","Show n new notes":"Mostrar {{n}} nuevas notas",YouTabName:"You",Bookmark:"Marcador","Remove bookmark":"Quitar marcador","no bookmarks found":"No se encontraron marcadores","no more bookmarks":"No hay más marcadores",Bookmarks:"Marcadores","Show more":"Mostrar más",General:"General",Autoplay:"Reproducción automática","Enable video autoplay on this device":"Habilitar reproducción automática de video en este dispositivo","Paste or drop media files to upload":"Pegar o soltar archivos multimedia para cargar",Preview:"Vista previa","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Estás a punto de publicar un evento firmado por [{{eventAuthorName}}]. Actualmente has iniciado sesión como [{{currentUsername}}]. ¿Estás seguro?","Platinum Sponsors":"Patrocinadores Platino",From:"De","Comment on":"Comentar en","View on njump.me":"Ver en njump.me","Hide content from untrusted users":"Ocultar contenido de usuarios no confiables","Only show content from your followed users and the users they follow":"Solo mostrar contenido de tus usuarios seguidos y los usuarios que ellos siguen","Followed by":"Seguidos por","Mute user privately":"Silenciar usuario en privado","Mute user publicly":"Silenciar usuario públicamente",Quotes:"Citas","Lightning Invoice":"Factura Lightning","Bookmark failed":"Error al marcar","Remove bookmark failed":"Error al quitar marcador",Translation:"Traducción",Balance:"Saldo",characters:"caracteres",smeshTranslateApiKeyDescription:"Puedes usar esta clave API en cualquier otro lugar que soporte LibreTranslate. La URL del servicio es {{serviceUrl}}","Top up":"Recargar","Will receive: {n} characters":"Recibirás: {{n}} caracteres","Top up {n} sats":"Recargar {{n}} satoshis","Minimum top up is {n} sats":"La recarga mínima es de {{n}} satoshis",Service:"Servicio","Reset API key":"Restablecer clave API","Are you sure you want to reset your API key? This action cannot be undone.":"¿Estás seguro de que deseas restablecer tu clave API? Esta acción no se puede deshacer.",Warning:"Advertencia","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Tu clave API actual se volverá inválida de inmediato, y cualquier aplicación que la use dejará de funcionar hasta que las actualices con la nueva clave.","Service address":"Dirección del servicio",Pay:"Pagar",interactions:"interacciones",notifications:"notificaciones","Show untrusted {type}":"Mostrar {{type}} no confiables","Hide untrusted {type}":"Ocultar {{type}} no confiables","Currently hiding {type} from untrusted users.":"Actualmente ocultando {{type}} de usuarios no confiables.","Currently showing all {type}.":"Actualmente mostrando todas las {{type}}.","Click continue to show all {type}.":"Haz clic en continuar para mostrar todas las {{type}}.","Click continue to hide {type} from untrusted users.":"Haz clic en continuar para ocultar {{type}} de usuarios no confiables.","Trusted users include people you follow and people they follow.":"Los usuarios confiables incluyen a las personas que sigues y a las personas que ellos siguen.",Continue:"Continuar","Successfully updated mute list":"Lista de silenciamiento actualizada con éxito","No pubkeys found from {url}":"No se encontraron pubkeys desde {{url}}","Translating...":"Traduciendo...",Translate:"Traducir","Show original":"Mostrar original",Website:"Sitio web","Hide untrusted notes":"Ocultar notas no confiables","Open in another client":"Abrir en otro cliente",Community:"Comunidad",Group:"Grupo","Live event":"Evento en vivo",Article:"Artículo",Unfavorite:"Desfavoritar","Recommended relays":"Relés recomendados","Blossom server URLs":"URLs del servidor Blossom","You need to add at least one blossom server in order to upload media files.":"Necesitas agregar al menos un servidor Blossom para poder cargar archivos multimedia.","Recommended blossom servers":"Servidores Blossom recomendados","Enter Blossom server URL":"Ingresar URL del servidor Blossom",Preferred:"Preferido","Multiple choice (select one or more)":"Opción múltiple (selecciona una o más)",Vote:"Votar","{{number}} votes":"{{number}} votos","Total votes":"Total de votos","Poll has ended":"La encuesta ha terminado","Poll ends at {{time}}":"La encuesta termina el {{time}}","Load results":"Cargar resultados","This is a poll note.":"Esta es una nota de encuesta.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"A diferencia de las notas regulares, las encuestas no son ampliamente compatibles y pueden no mostrarse en otros clientes.","Option {{number}}":"Opción {{number}}","Add Option":"Agregar Opción","Allow multiple choices":"Permitir múltiples opciones","End Date (optional)":"Fecha de finalización (opcional)","Clear end date":"Borrar fecha de finalización","Relay URLs (optional, comma-separated)":"URLs de relé (opcional, separadas por comas)","Remove poll":"Eliminar encuesta","Refresh results":"Actualizar resultados",Poll:"Encuesta",Media:"medios","Republish to ...":"Republicar a ...","Successfully republish to your write relays":"Republicado con éxito a tus relés de escritura","Failed to republish to your write relays: {{error}}":"Error al republicar a tus relés de escritura: {{error}}","Successfully republish to relay set: {{name}}":"Republicado con éxito al conjunto de relés: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Error al republicar al conjunto de relés: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Republicado con éxito al relé: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Error al republicar al relé: {{url}}. Error: {{error}}","Write relays":"Relés de escritura","No more reactions":"No hay más reacciones","No reactions yet":"Sin reacciones aún","No more zaps":"No hay más zaps","No zaps yet":"Sin zaps aún","No more reposts":"No hay más reposts","No reposts yet":"Sin reposts aún",Reposts:"Reposts",FollowListNotFoundConfirmation:"Lista de seguidos no encontrada. ¿Quieres crear una nueva? Si has seguido usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de seguidos anterior.",MuteListNotFoundConfirmation:"Lista de silenciados no encontrada. ¿Quieres crear una nueva? Si has silenciado usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de silenciados anterior.","Show NSFW content by default":"Mostrar contenido NSFW por defecto","Custom emoji management":"Gestión de emojis personalizados","After changing emojis, you may need to refresh the page":"Después de cambiar los emojis, es posible que necesites actualizar la página","Too many read relays":"Demasiados relés de lectura","Too many write relays":"Demasiados relés de escritura","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tienes {{count}} relés de lectura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tienes {{count}} relés de escritura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.","Optimize Relay Settings":"Optimizar configuración de relés","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Tu configuración actual de relés puede no ser óptima. Esto podría hacer que sea difícil para otros encontrar tus publicaciones y puede resultar en notificaciones incompletas.","Optimize Now":"Optimizar ahora","Maybe Later":"Tal vez más tarde","Don't remind me again":"No recordar de nuevo",Posts:"Publicaciones",Articles:"Artículos",Highlights:"Destacados",Polls:"Encuestas","Voice Posts":"Publicaciones de voz","Photo Posts":"Publicaciones de fotos","Video Posts":"Publicaciones de video","Select All":"Seleccionar todo","Clear All":"Limpiar todo","Set as default filter":"Establecer como filtro predeterminado",Apply:"Aplicar",Reset:"Restablecer","Share something on this Relay":"Comparte algo en este relé","Try deleting this note":"Intenta eliminar esta nota","Deletion request sent to {{count}} relays":"Solicitud de eliminación enviada a {{count}} relés","Suitable Relays":"Relés adecuados","People, keywords, or relays":"Personas, palabras clave o relés","Hide content mentioning muted users":"Ocultar contenido que mencione usuarios silenciados","This note mentions a user you muted":"Esta nota menciona a un usuario que silenciaste",Filter:"Filtro","mentioned you in a note":"te mencionó en una nota","quoted your note":"citó tu nota","voted in your poll":"votó en tu encuesta","reacted to your note":"reaccionó a tu nota","reposted your note":"reposteó tu nota","zapped your note":"zappeó tu nota","highlighted your note":"destacó tu nota","zapped you":"te zappeó","Mark as read":"Marcar como leído",Report:"Reportar","Successfully report":"Reporte exitoso","Failed to report":"Fallo al reportar",nudity:"Desnudez",malware:"Software malicioso",profanity:"Blasfemia",illegal:"Contenido ilegal",spam:"Spam",other:"Otro","Notification list style":"Estilo de lista de notificaciones","See extra info for each notification":"Ver información adicional para cada notificación","See more notifications at a glance":"Ver más notificaciones de un vistazo",Detailed:"Detallado",Compact:"Compacto","Submit Relay":"Enviar relé",Homepage:"Página principal","Proof of Work (difficulty {{minPow}})":"Prueba de Trabajo (dificultad {{minPow}})","via {{client}}":"vía {{client}}","Auto-load media":"Cargar medios automáticamente",Always:"Siempre","Wi-Fi only":"Solo Wi-Fi",Never:"Nunca","Click to load image":"Haz clic para cargar la imagen","Click to load media":"Haz clic para cargar los medios","Click to load YouTube video":"Haz clic para cargar el video de YouTube","{{count}} reviews":"{{count}} reseñas","Write a review":"Escribir una reseña","No reviews yet. Be the first to write one!":"¡Aún no hay reseñas. Sé el primero en escribir una!","View more reviews":"Ver más reseñas","Failed to review":"Error al reseñar","Write a review and pick a star rating":"Escriba una reseña y elija una calificación de estrellas",Submit:"Enviar","Reviews for {{relay}}":"Reseñas para {{relay}}","No relays selected":"No hay relés seleccionados","Post to":"Publicar en","Write relays and {{count}} other relays":"Relés de escritura y {{count}} otros relés","{{count}} relays":"{{count}} relés","Republishing...":"Republicando...","Connected to":"Conectado a","Disconnect Wallet":"Desconectar billetera","Are you absolutely sure?":"¿Estás absolutamente seguro?","You will not be able to send zaps to others.":"No podrás enviar zaps a otros.",Disconnect:"Desconectar","Start with a Rizful Vault":"Comienza con una Bóveda Rizful","or other wallets":"o otras billeteras","Rizful Vault":"Bóveda Rizful","Rizful Vault connected!":"¡Bóveda Rizful conectada!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Ahora puedes usar tu Bóveda Rizful para zapear tus notas y creadores favoritos.","Your Lightning Address":"Tu Dirección Lightning","New to Rizful?":"¿Nuevo en Rizful?","Sign up for Rizful":"Regístrate en Rizful","If you already have a Rizful account, you can skip this step.":"Si ya tienes una cuenta de Rizful, puedes omitir este paso.","Get your one-time code":"Obtén tu código de un solo uso","Get code":"Obtener código","Connect to your Rizful Vault":"Conéctate a tu Bóveda Rizful","Paste your one-time code here":"Pega tu código de un solo uso aquí",Connect:"Conectar","Set up your wallet to send and receive sats!":"¡Configura tu billetera para enviar y recibir sats!","Set up":"Configurar",Pinned:"Fijado",Unpin:"Desfijar",Unpinning:"Desfijando","Pinning...":"Fijando...","Pinned!":"¡Fijado!","Failed to pin: {{error}}":"Error al fijar: {{error}}","Unpinning...":"Desfijando...","Unpinned!":"¡Desfijado!","Failed to unpin: {{error}}":"Error al desfijar: {{error}}","Unpin from profile":"Desfijar del perfil","Pin to profile":"Fijar al perfil",Appearance:"Apariencia","Pure Black":"Negro Puro",Default:"Predeterminado",Red:"Rojo",Orange:"Naranja",Amber:"Ámbar",Yellow:"Amarillo",Lime:"Lima",Green:"Verde",Emerald:"Esmeralda",Teal:"Verde azulado",Cyan:"Cian",Sky:"Cielo",Blue:"Azul",Indigo:"Índigo",Violet:"Violeta",Purple:"Púrpura",Fuchsia:"Fucsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Color primario",Layout:"Diseño","Two-column":"Doble columna","Single-column":"Columna única",Reviews:"Reseñas",Extension:"Extensión",Remote:"Remoto","Encrypted Key":"Clave privada cifrada","Private Key":"Clave privada","Welcome to Smesh":"Bienvenido a Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh es un cliente enfocado en explorar relays. Comienza explorando relays interesantes o inicia sesión para ver tu feed de seguidos.","Explore Relays":"Explorar Relays","Choose a feed":"Elige un feed","and {{x}} others":"y {{x}} otros",selfZapWarning:"Smesh no se hace responsable de lo que suceda si te zapeas a ti mismo. Procede bajo tu propio riesgo. 😉⚡","Emoji Pack":"Paquete de Emojis","Emoji pack added":"Paquete de emojis añadido","Add emoji pack failed":"Error al añadir paquete de emojis","Emoji pack removed":"Paquete de emojis eliminado","Remove emoji pack failed":"Error al eliminar paquete de emojis",Added:"Añadido","Emoji Packs":"Paquetes de Emojis","My Packs":"Mis Paquetes","Adding...":"Añadiendo...","Removing...":"Eliminando...",Reload:"Recargar","Request to Join Relay":"Solicitar unirse al Relay","Leave Relay":"Salir del Relay",Leave:"Salir","Are you sure you want to leave this relay?":"¿Estás seguro de que quieres salir de este relay?","Join request sent successfully":"Solicitud de unión enviada con éxito","Failed to send join request":"Error al enviar solicitud de unión","Leave request sent successfully":"Solicitud de salida enviada con éxito","Failed to send leave request":"Error al enviar solicitud de salida","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Ingresa un código de invitación si tienes uno. De lo contrario, déjalo en blanco para enviar una solicitud.","Invite Code (Optional)":"Código de Invitación (Opcional)","Enter invite code":"Ingresa el código de invitación","Sending...":"Enviando...","Send Request":"Enviar Solicitud","You can get an invite code from a relay member.":"Puedes obtener un código de invitación de un miembro del relay.","Enter the invite code you received from a relay member.":"Ingresa el código de invitación que recibiste de un miembro del relay.","Get Invite Code":"Obtener Código de Invitación","Share this invite code with others to invite them to join this relay.":"Comparte este código de invitación con otros para invitarlos a unirse a este relay.","Invite Code":"Código de Invitación",Copy:"Copiar","This invite code can be used by others to join the relay.":"Este código de invitación puede ser usado por otros para unirse al relay.","No invite code available from this relay.":"No hay código de invitación disponible de este relay.",Close:"Cerrar","Failed to get invite code from relay":"Error al obtener código de invitación del relay","Failed to get invite code":"Error al obtener código de invitación","Invite code copied to clipboard":"Código de invitación copiado al portapapeles","Favicon URL":"URL del Favicon","Filter out onion relays":"Filtrar relés onion","Click to load X post":"Haz clic para cargar la publicación de X","View Nostr comments":"Ver comentarios de Nostr","Search for notes":"Buscar notas","Search for hashtag":"Buscar hashtag","Go to note":"Ir a la nota","Go to relay":"Ir al relay","View discussions about this":"Ver discusiones sobre este contenido","Open link":"Abrir enlace","View Nostr discussions":"Ver discusiones de Nostr","Optimal relays":"Relays óptimos","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republicado exitosamente en relays óptimos (tus relays de escritura y los relays de lectura de los usuarios mencionados)","Failed to republish to optimal relays: {{error}}":"Error al republicar en relays óptimos: {{error}}","External Content":"Contenido externo",Highlight:"Destacado","Optimal relays and {{count}} other relays":"Relays óptimos y {{count}} otros relays","Likely spam account (Trust score: {{percentile}}%)":"Probablemente cuenta spam (Puntuación de confianza: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Cuenta sospechosa (Puntuación de confianza: {{percentile}}%)","n users":"{{count}} usuarios","View Details":"Ver detalles","Follow Pack Not Found":"Paquete de seguimiento no encontrado","Follow pack not found":"Paquete de seguimiento no encontrado",Users:"Usuarios",Feed:"Feed","Follow Pack":"Paquete de Seguimiento","Load earlier":"Cargar anterior","Last 24 hours":"Últimas 24 horas","Last {{count}} days":"Últimos {{count}} días",notes:"notas","Quick reaction":"Reacción rápida","If enabled, you can react with a single click. Click and hold for more options":"Si está habilitado, puedes reaccionar con un solo clic. Mantén presionado para más opciones","Quick reaction emoji":"Emoji de reacción rápida","Select emoji":"Seleccionar emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Seguir Especial","Unfollow Special":"Dejar de Seguir Especial","Personal Feeds":"Feeds Personales","Relay Feeds":"Feeds de Relays","Create Highlight":"Crear Resaltado","Write your thoughts about this highlight...":"Escribe tus pensamientos sobre este resaltado...","Publish Highlight":"Publicar Resaltado","Show replies":"Mostrar respuestas","Hide replies":"Ocultar respuestas","Welcome to Smesh!":"¡Bienvenido a Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Tu feed está vacío porque aún no sigues a nadie. ¡Comienza explorando contenido interesante y siguiendo a los usuarios que te gusten!","Search Users":"Buscar Usuarios","Create New Account":"Crear nueva cuenta",Important:"Importante","Generate Your Account":"Generar tu cuenta","Your private key IS your account. Keep it safe!":"¡Tu clave privada ES tu cuenta. Mantenla segura!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"En Nostr, tu clave privada ES tu cuenta. Si pierdes tu clave privada, pierdes tu cuenta para siempre.","Your Private Key":"Tu clave privada","Generate new key":"Generar nueva clave","Download Backup File":"Descargar archivo de respaldo","Copied to Clipboard":"Copiado al portapapeles","Copy to Clipboard":"Copiar al portapapeles","I already saved my private key securely.":"Ya guardé mi clave privada de forma segura.","Almost Done!":"¡Casi terminado!","Set a password to encrypt your key, or skip to finish":"Establece una contraseña para cifrar tu clave, o omítela para finalizar","Password Protection (Optional)":"Protección con contraseña (opcional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Establecer una contraseña cifra tu clave privada en este navegador. Puedes omitir este paso, pero recomendamos establecer una para mayor seguridad.","Password (Optional)":"Contraseña (opcional)","Enter password or leave empty to skip":"Ingresa una contraseña o déjalo vacío para omitir","Confirm Password":"Confirmar contraseña","Re-enter password":"Vuelve a ingresar la contraseña","Passwords do not match":"Las contraseñas no coinciden","Finish Signup":"Finalizar registro","Create Your Nostr Account":"Crea tu cuenta de Nostr","Generate your unique private key. This is your digital identity.":"Genera tu clave privada única. Esta es tu identidad digital.","Critical: Save Your Private Key":"Crítico: Guarda tu clave privada","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Tu clave privada ES tu cuenta. No hay recuperación de contraseña. Si la pierdes, perderás tu cuenta para siempre. Por favor, guárdala en un lugar seguro.","I have safely backed up my private key":"He respaldado mi clave privada de forma segura","Secure Your Account":"Asegura tu cuenta","Add an extra layer of protection with a password":"Añade una capa adicional de protección con una contraseña","Password Protection (Recommended)":"Protección con contraseña (recomendado)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Añade una contraseña para cifrar tu clave privada en este navegador. Esto es opcional pero muy recomendado para mayor seguridad.","Create a password (or skip)":"Crear una contraseña (o saltar)","Enter your password again":"Ingresa tu contraseña nuevamente","Complete Signup":"Completar registro",Recommended:"Recomendado"}},Fbe={translation:{"Welcome! 🥳":"خوش آمدید! 🥳",About:"درباره","New Note":"یادداشت جدید",Post:"ارسال",Home:"خانه","Relay settings":"تنظیمات رله",Settings:"تنظیمات",SidebarRelays:"رلهها",Refresh:"بازخوانی",Profile:"پروفایل",Logout:"خروج",Following:"دنبال میکنم",followings:"دنبال شوندهها",reposted:"بازنشر شده","just now":"همین الان","minute ago_one":"{{count}} دقیقه پیش","minute ago_other":"{{count}} دقیقه پیش","n m":"{{n}}د","hour ago_one":"{{count}} ساعت پیش","hour ago_other":"{{count}} ساعت پیش","n h":"{{n}}س","day ago_one":"{{count}} روز پیش","day ago_other":"{{count}} روز پیش","n d":"{{n}}ر",date:"{{timestamp, date}}",Follow:"دنبال کردن",Unfollow:"لغو دنبال کردن","Follow failed":"دنبال کردن ناموفق","Unfollow failed":"لغو دنبال کردن ناموفق","show new notes":"نمایش یادداشتهای جدید","loading...":"در حال بارگذاری...","Loading...":"در حال بارگذاری...","no more notes":"یادداشت بیشتری وجود ندارد","reply to":"پاسخ به",reply:"پاسخ",Reply:"پاسخ","load more older replies":"بارگذاری پاسخهای قدیمیتر","Write something...":"چیزی بنویسید...",Cancel:"لغو",Mentions:"اشارهها","Failed to post":"ارسال ناموفق","Post successful":"ارسال موفق","Your post has been published":"پست شما منتشر شد",Repost:"بازنشر",Quote:"نقل قول","Copy event ID":"کپی شناسه رویداد","Copy user ID":"کپی شناسه کاربر","View raw event":"نمایش رویداد خام",Like:"پسند","switch to light theme":"تغییر به تم روشن","switch to dark theme":"تغییر به تم تاریک","switch to system theme":"تغییر به تم سیستم",Note:"یادداشت",note:"یادداشت","username's following":"دنبال شوندههای {{username}}","username's used relays":"رلههای استفاده شده {{username}}","username's muted":"بیصدا شدههای {{username}}",Login:"ورود","Follows you":"شما را دنبال میکند","Relay Settings":"تنظیمات رله","Relay set name":"نام مجموعه رله","Add a new relay set":"افزودن مجموعه رله جدید",Add:"افزودن","n relays":"{{n}} رله",Rename:"تغییر نام","Copy share link":"کپی لینک اشتراک",Delete:"حذف","Relay already exists":"رله از قبل موجود است","invalid relay URL":"آدرس رله نامعتبر","Add a new relay":"افزودن رله جدید",back:"بازگشت","Lost in the void":"گم شده در خلاء","Carry me home":"مرا به خانه ببر","no replies":"پاسخی وجود ندارد","Reply to":"پاسخ به",Search:"جستجو","The relays you are connected to do not support search":"رلههایی که متصل هستید از جستجو پشتیبانی نمیکنند","Show more...":"نمایش بیشتر...","All users":"همه کاربران","Display replies":"نمایش پاسخها",Notes:"یادداشتها",Replies:"پاسخها",Notifications:"اعلانها","no more notifications":"اعلان بیشتری وجود ندارد","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"استفاده از کلید خصوصی برای ورود ناامن است. توصیه میشود از افزونه مرورگر برای ورود استفاده کنید، مانند alby، nostr-keyx یا nos2x. اگر مجبور به استفاده از کلید خصوصی هستید، حداقل یک رمز عبور برای رمزگذاری تنظیم کنید.","Login with Browser Extension":"ورود با افزونه مرورگر","Login with Bunker":"ورود با Bunker","Login with Private Key":"ورود با کلید خصوصی","reload notes":"بازخوانی یادداشتها","Logged in Accounts":"حسابهای وارد شده","Add an Account":"افزودن حساب","More options":"گزینههای بیشتر","Add client tag":"افزودن برچسب کلاینت","Show others this was sent via Smesh":"به دیگران نشان دهید که از طریق Smesh ارسال شده","Are you sure you want to logout?":"آیا مطمئن هستید که میخواهید خارج شوید؟","relay sets":"مجموعههای رله",edit:"ویرایش",Languages:"زبانها",Theme:"تم",System:"سیستم",Light:"روشن",Dark:"تاریک",Temporary:"موقت","Choose a relay set":"یک مجموعه رله انتخاب کنید","Switch account":"تغییر حساب",Pictures:"تصاویر","Picture note":"یادداشت تصویری","A special note for picture-first clients like Olas":"یادداشت ویژه برای کلاینتهای تصویر محور مانند Olas","Picture note requires images":"یادداشت تصویری نیاز به تصاویر دارد",Relays:"رلهها",Image:"تصویر","R & W":"خواندن و نوشتن",Read:"خواندن",Write:"نوشتن","Pull relay sets":"کشیدن مجموعههای رله","Select the relay sets you want to pull":"مجموعههای رلهای که میخواهید بکشید انتخاب کنید","No relay sets found":"مجموعه رلهای یافت نشد","Pull n relay sets":"کشیدن {{n}} مجموعه رله",Pull:"کشیدن","Select all":"انتخاب همه","Relay Sets":"مجموعههای رله","Read & Write Relays":"رلههای خواندن و نوشتن","read relays description":"رلههای خواندن برای جستجوی رویدادهای مربوط به شما استفاده میشوند. سایر کاربران رویدادهایی که میخواهند شما ببینید را به رلههای خواندن شما منتشر میکنند.","write relays description":"رلههای نوشتن برای انتشار رویدادهای شما استفاده میشوند. سایر کاربران رویدادهای شما را از رلههای نوشتن شما جستجو میکنند.","read & write relays notice":"تعداد سرورهای خواندن و نوشتن ترجیحاً باید بین ۲ تا ۴ نگه داشته شود.","Don't have an account yet?":"هنوز حساب کاربری ندارید؟","or simply generate a private key":"یا به سادگی یک کلید خصوصی تولید کنید","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"این یک کلید خصوصی است. آن را با هیچ کس به اشتراک نگذارید. آن را ایمن و محفوظ نگه دارید. اگر آن را گم کنید نمیتوانید بازیابی کنید.",Edit:"ویرایش",Save:"ذخیره","Display Name":"نام نمایشی",Bio:"بیوگرافی","Nostr Address (NIP-05)":"آدرس Nostr (NIP-05)","Invalid NIP-05 address":"آدرس NIP-05 نامعتبر","Copy private key":"کپی کلید خصوصی","Enter the password to decrypt your ncryptsec":"رمز عبور را برای رمزگشایی ncryptsec خود وارد کنید",Back:"بازگشت","optional: encrypt nsec":"اختیاری: رمزگذاری nsec",password:"رمز عبور","Sign up":"ثبت نام","Save to":"ذخیره در","Enter a name for the new relay set":"نامی برای مجموعه رله جدید وارد کنید","Save to a new relay set":"ذخیره در مجموعه رله جدید",Mute:"بیصدا",Muted:"بیصدا شده",Unmute:"لغو بیصدا","Unmute user":"لغو بیصدا کردن کاربر","Append n relays":"افزودن {{n}} رله",Append:"افزودن","Select relays to append":"رلهها را برای افزودن انتخاب کنید","calculating...":"در حال محاسبه...","Calculate optimal read relays":"محاسبه رلههای خواندن بهینه","Login to set":"برای تنظیم وارد شوید","Please login to view following feed":"لطفاً برای مشاهده فید دنبال شوندهها وارد شوید","Send only to r":"فقط به {{r}} ارسال شود","Send only to these relays":"فقط به این رلهها ارسال شود",Explore:"کاوش","Search relays":"جستجو رلهها",relayInfoBadgeAuth:"احراز هویت",relayInfoBadgeSearch:"جستجو",relayInfoBadgePayment:"پرداخت",Operator:"اپراتور",Contact:"تماس",Software:"نرمافزار",Version:"نسخه","Random Relays":"رلههای تصادفی",randomRelaysRefresh:"بازخوانی","Explore more":"کاوش بیشتر","Payment page":"صفحه پرداخت","Supported NIPs":"NIPهای پشتیبانی شده","Open in a":"باز کردن در {{a}}","Cannot handle event of kind k":"نمیتوان رویداد از نوع {{k}} را پردازش کرد","Sorry! The note cannot be found 😔":"متأسفانه! یادداشت یافت نشد 😔","This user has been muted":"این کاربر بیصدا شده است",Wallet:"کیف پول",Sats:"ساتوشی",sats:"ساتوشی","Zap to":"زپ به","Zap n sats":"زپ {{n}} ساتوشی",zapComment:"نظر","Default zap amount":"مقدار پیشفرض زپ","Default zap comment":"نظر پیشفرض زپ","Lightning Address (or LNURL)":"آدرس لایتنینگ (یا LNURL)","Quick zap":"زپ سریع","If enabled, you can zap with a single click. Click and hold for custom amounts":"در صورت فعال بودن، میتوانید با یک کلیک زپ کنید. برای مقادیر سفارشی کلیک کرده و نگه دارید",All:"همه",Reactions:"واکنشها",Zaps:"زپها","Earlier notifications":"اعلانهای قبلی","Temporarily display this note":"نمایش موقت این یادداشت",buttonFollowing:"دنبال میکنم","Are you sure you want to unfollow this user?":"آیا مطمئن هستید که میخواهید این کاربر را دنبال نکنید؟","Recent Supporters":"حامیان اخیر","Seen on":"دیده شده در","Temporarily display this reply":"نمایش موقت این پاسخ","Note not found":"یادداشت یافت نشد","no more replies":"پاسخ بیشتری وجود ندارد","Relay sets":"مجموعههای رله","Favorite Relays":"رلههای مورد علاقه","Following's Favorites":"مورد علاقه دنبال شوندهها","no more relays":"رله بیشتری وجود ندارد","Favorited by":"مورد علاقه","Post settings":"تنظیمات پست","Media upload service":"سرویس آپلود رسانه","Choose a relay":"یک رله انتخاب کنید","no relays found":"رلهای یافت نشد",video:"ویدیو","Show n new notes":"نمایش {{n}} یادداشت جدید",YouTabName:"شما",Bookmark:"نشانک","Remove bookmark":"حذف نشانک","no bookmarks found":"نشانکی یافت نشد","no more bookmarks":"نشانک بیشتری وجود ندارد",Bookmarks:"نشانکها","Show more":"نمایش بیشتر",General:"عمومی",Autoplay:"پخش خودکار","Enable video autoplay on this device":"فعال کردن پخش خودکار ویدیو در این دستگاه","Paste or drop media files to upload":"فایلهای رسانه را برای آپلود بچسبانید یا بکشید",Preview:"پیشنمایش","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"شما در حال انتشار رویدادی امضا شده توسط [{{eventAuthorName}}] هستید. در حال حاضر به عنوان [{{currentUsername}}] وارد شدهاید. آیا مطمئن هستید؟","Platinum Sponsors":"حامیان پلاتینی",From:"از","Comment on":"نظر در مورد","View on njump.me":"مشاهده در njump.me","Hide content from untrusted users":"مخفی کردن محتوا از کاربران غیرقابل اعتماد","Only show content from your followed users and the users they follow":"فقط محتوای کاربران دنبال شده و کاربرانی که آنها دنبال میکنند نشان دهید","Followed by":"دنبال شده توسط","Mute user privately":"بیصدا کردن کاربر به صورت خصوصی","Mute user publicly":"بیصدا کردن کاربر به صورت عمومی",Quotes:"نقل قولها","Lightning Invoice":"فاکتور لایتنینگ","Bookmark failed":"نشانکگذاری ناموفق","Remove bookmark failed":"حذف نشانک ناموفق",Translation:"ترجمه",Balance:"موجودی",characters:"کاراکتر",smeshTranslateApiKeyDescription:"میتوانید از این کلید API در هر جای دیگری که از LibreTranslate پشتیبانی میکند استفاده کنید. آدرس سرویس {{serviceUrl}} است","Top up":"شارژ","Will receive: {n} characters":"دریافت خواهید کرد: {{n}} کاراکتر","Top up {n} sats":"شارژ {{n}} ساتوشی","Minimum top up is {n} sats":"حداقل شارژ {{n}} ساتوشی است",Service:"سرویس","Reset API key":"بازنشانی کلید API","Are you sure you want to reset your API key? This action cannot be undone.":"آیا مطمئن هستید که میخواهید کلید API خود را بازنشانی کنید؟ این عمل قابل برگشت نیست.",Warning:"هشدار","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"کلید API فعلی شما فوراً نامعتبر خواهد شد و هر برنامهای که از آن استفاده میکند تا زمانی که آن را با کلید جدید بهروزرسانی نکنید کار نخواهد کرد.","Service address":"آدرس سرویس",Pay:"پرداخت",interactions:"تعاملات",notifications:"اعلانها","Show untrusted {type}":"نمایش {{type}} غیرقابل اعتماد","Hide untrusted {type}":"مخفی کردن {{type}} غیرقابل اعتماد","Currently hiding {type} from untrusted users.":"در حال حاضر {{type}} از کاربران غیرقابل اعتماد مخفی میشود.","Currently showing all {type}.":"در حال حاضر همه {{type}} نمایش داده میشود.","Click continue to show all {type}.":"برای نمایش همه {{type}} روی ادامه کلیک کنید.","Click continue to hide {type} from untrusted users.":"برای مخفی کردن {{type}} از کاربران غیرقابل اعتماد روی ادامه کلیک کنید.","Trusted users include people you follow and people they follow.":"کاربران قابل اعتماد شامل افرادی که دنبال میکنید و افرادی که آنها دنبال میکنند میشوند.",Continue:"ادامه","Successfully updated mute list":"لیست بیصدا با موفقیت بهروزرسانی شد","No pubkeys found from {url}":"هیچ کلید عمومی از {{url}} یافت نشد","Translating...":"در حال ترجمه...",Translate:"ترجمه","Show original":"نمایش اصل",Website:"وبسایت","Hide untrusted notes":"مخفی کردن یادداشتهای غیرقابل اعتماد","Open in another client":"باز کردن در کلاینت دیگر",Community:"جامعه",Group:"گروه","Live event":"رویداد زنده",Article:"مقاله",Unfavorite:"حذف از علاقهمندیها","Recommended relays":"رلههای توصیه شده","Blossom server URLs":"آدرسهای سرور Blossom","You need to add at least one blossom server in order to upload media files.":"برای آپلود فایلهای رسانه نیاز دارید حداقل یک سرور blossom اضافه کنید.","Recommended blossom servers":"سرورهای blossom توصیه شده","Enter Blossom server URL":"آدرس سرور Blossom را وارد کنید",Preferred:"ترجیحی","Multiple choice (select one or more)":"چند گزینهای (یک یا چند انتخاب کنید)",Vote:"رای دادن","{{number}} votes":"{{number}} رای","Total votes":"کل آرا","Poll has ended":"نظرسنجی پایان یافته","Poll ends at {{time}}":"نظرسنجی در {{time}} پایان مییابد","Load results":"بارگیری نتایج","This is a poll note.":"این یک یادداشت نظرسنجی است.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"برخلاف یادداشتهای معمولی، نظرسنجیها به طور گسترده پشتیبانی نمیشوند و ممکن است در کلاینتهای دیگر نمایش داده نشوند.","Option {{number}}":"گزینه {{number}}","Add Option":"افزودن گزینه","Allow multiple choices":"اجازه انتخابهای متعدد","End Date (optional)":"تاریخ پایان (اختیاری)","Clear end date":"پاک کردن تاریخ پایان","Relay URLs (optional, comma-separated)":"آدرسهای رله (اختیاری، جدا شده با کاما)","Remove poll":"حذف نظرسنجی","Refresh results":"بارگیری مجدد نتایج",Poll:"نظرسنجی",Media:"رسانه","Republish to ...":"بازنشر به ...","Successfully republish to your write relays":"با موفقیت بازنشر به رلههای نوشتن شما انجام شد","Failed to republish to your write relays: {{error}}":"بازنشر به رلههای نوشتن شما با خطا مواجه شد: {{error}}","Successfully republish to relay set: {{name}}":"با موفقیت بازنشر به مجموعه رله: {{name}} انجام شد","Failed to republish to relay set: {{name}}. Error: {{error}}":"بازنشر به مجموعه رله: {{name}} با خطا مواجه شد. خطا: {{error}}","Successfully republish to relay: {{url}}":"با موفقیت بازنشر به رله: {{url}} انجام شد","Failed to republish to relay: {{url}}. Error: {{error}}":"بازنشر به رله: {{url}} با خطا مواجه شد. خطا: {{error}}","Write relays":"رلههای نوشتن","No more reactions":"هیچ واکنشی بیشتر وجود ندارد","No reactions yet":"هنوز هیچ واکنشی وجود ندارد","No more zaps":"هیچ زپی بیشتر وجود ندارد","No zaps yet":"هنوز هیچ زپی وجود ندارد","No more reposts":"هیچ بازنشر بیشتری وجود ندارد","No reposts yet":"هنوز هیچ بازنشر وجود ندارد",Reposts:"بازنشرها",FollowListNotFoundConfirmation:"فهرست دنبالکنندگان پیدا نشد. آیا میخواهید یکی جدید ایجاد کنید؟ اگر قبلاً کاربرانی را دنبال کردهاید، لطفاً تأیید نکنید زیرا این عملیات باعث از دست رفتن فهرست دنبالکنندگان قبلی شما خواهد شد.",MuteListNotFoundConfirmation:"فهرست بیصدا شدهها پیدا نشد. آیا میخواهید یکی جدید ایجاد کنید؟ اگر قبلاً کاربرانی را بیصدا کردهاید، لطفاً تأیید نکنید زیرا این عملیات باعث از دست رفتن فهرست بیصدا شدههای قبلی شما خواهد شد.","Show NSFW content by default":"نمایش محتوای NSFW به صورت پیشفرض","Custom emoji management":"مدیریت شکلکهای سفارشی","After changing emojis, you may need to refresh the page":"پس از تغییر شکلکها، ممکن است نیاز به تازهسازی صفحه داشته باشید","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"بهینهسازی تنظیمات رله","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"پیکربندی فعلی رله شما ممکن است بهینه نباشد. این ممکن است برای دیگران پیدا کردن پستهای شما را دشوار کند و ممکن است منجر به اعلانهای ناقص شود.","Optimize Now":"اکنون بهینهسازی کن","Maybe Later":"شاید بعداً","Don't remind me again":"دیگر به من یادآوری نکن",Posts:"پستها",Articles:"مقالهها",Highlights:"برجستهها",Polls:"نظرسنجیها","Voice Posts":"پستهای صوتی","Photo Posts":"پستهای عکس","Video Posts":"پستهای ویدیو","Select All":"انتخاب همه","Clear All":"پاک کردن همه","Set as default filter":"تنظیم به عنوان فیلتر پیشفرض",Apply:"اعمال",Reset:"بازنشانی","Share something on this Relay":"در این رله چیزی به اشتراک بگذارید","Try deleting this note":"سعی کنید این یادداشت را حذف کنید","Deletion request sent to {{count}} relays":"درخواست حذف به {{count}} رله ارسال شد","Suitable Relays":"رلههای مناسب","People, keywords, or relays":"افراد، کلمات کلیدی یا رلهها","Hide content mentioning muted users":"مخفی کردن محتوای اشاره کننده به کاربران بیصدا شده","This note mentions a user you muted":"این یادداشت به کاربری که بیصدا کردهاید اشاره میکند",Filter:"فیلتر","mentioned you in a note":"در یادداشتی از شما نام برد","quoted your note":"یادداشت شما را نقل قول کرد","voted in your poll":"در نظرسنجی شما رأی داد","reacted to your note":"به یادداشت شما واکنش نشان داد","reposted your note":"یادداشت شما را بازنشر کرد","zapped your note":"یادداشت شما را زپ کرد","highlighted your note":"یادداشت شما را برجسته کرد","zapped you":"شما را زپ کرد","Mark as read":"علامتگذاری به عنوان خوانده شده",Report:"گزارش","Successfully report":"گزارش با موفقیت ارسال شد","Failed to report":"ارسال گزارش ناموفق بود",nudity:"برهنگی",malware:"بدافزار",profanity:"فحاشی",illegal:"محتوای غیرقانونی",spam:"اسپم",other:"سایر","Notification list style":"سبک فهرست اعلانها","See extra info for each notification":"مشاهده اطلاعات اضافی برای هر اعلان","See more notifications at a glance":"مشاهده اعلانهای بیشتر در یک نگاه",Detailed:"تفصیلی",Compact:"فشرده","Submit Relay":"ارسال رله",Homepage:"صفحه اصلی","Proof of Work (difficulty {{minPow}})":"اثبات کار (دشواری {{minPow}})","via {{client}}":"از طریق {{client}}","Auto-load media":"بارگذاری خودکار رسانه",Always:"همیشه","Wi-Fi only":"فقط Wi-Fi",Never:"هرگز","Click to load image":"برای بارگذاری تصویر کلیک کنید","Click to load media":"برای بارگذاری رسانه کلیک کنید","Click to load YouTube video":"برای بارگذاری ویدیو YouTube کلیک کنید","{{count}} reviews":"{{count}} نقد","Write a review":"نوشتن نقد","No reviews yet. Be the first to write one!":"هنوز نقدی وجود ندارد. اولین نفری باشید که مینویسد!","View more reviews":"مشاهده نقدهای بیشتر","Failed to review":"نقد ناموفق","Write a review and pick a star rating":"نقدی بنویسید و امتیاز ستارهای انتخاب کنید",Submit:"ارسال","Reviews for {{relay}}":"نقدها برای {{relay}}","No relays selected":"هیچ رلهای انتخاب نشده","Post to":"پست کردن به","Write relays and {{count}} other relays":"رلههای نوشتن و {{count}} رله دیگر","{{count}} relays":"{{count}} رله","Republishing...":"در حال بازنشر...","Connected to":"متصل به","Disconnect Wallet":"قطع اتصال کیف پول","Are you absolutely sure?":"آیا کاملاً مطمئن هستید؟","You will not be able to send zaps to others.":"شما قادر نخواهید بود به دیگران زپ ارسال کنید.",Disconnect:"قطع اتصال","Start with a Rizful Vault":"شروع با Rizful Vault","or other wallets":"یا کیف پولهای دیگر","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault متصل شد!","You can now use your Rizful Vault to zap your favorite notes and creators.":"اکنون میتوانید از Rizful Vault خود برای زپ کردن یادداشتها و سازندگان مورد علاقه خود استفاده کنید.","Your Lightning Address":"آدرس لایتنینگ شما","New to Rizful?":"جدید در Rizful؟","Sign up for Rizful":"برای Rizful ثبت نام کنید","If you already have a Rizful account, you can skip this step.":"اگر قبلاً حساب Rizful دارید، میتوانید این مرحله را رد کنید.","Get your one-time code":"کد یکبار مصرف خود را دریافت کنید","Get code":"دریافت کد","Connect to your Rizful Vault":"اتصال به Rizful Vault خود","Paste your one-time code here":"کد یکبار مصرف خود را اینجا بچسبانید",Connect:"اتصال","Set up your wallet to send and receive sats!":"کیف پولت را تنظیم کن تا ساتس ارسال و دریافت کنی!","Set up":"تنظیم",Pinned:"پین شده",Unpin:"لغو پین",Unpinning:"در حال لغو پین...","Pinning...":"در حال پین کردن...","Pinned!":"پین شد!","Failed to pin: {{error}}":"پین کردن ناموفق بود: {{error}}","Unpinning...":"در حال لغو پین...","Unpinned!":"لغو پین شد!","Failed to unpin: {{error}}":"لغو پین ناموفق بود: {{error}}","Unpin from profile":"لغو پین از پروفایل","Pin to profile":"پین به پروفایل",Appearance:"ظاهر","Pure Black":"سیاه خالص",Default:"پیشفرض",Red:"قرمز",Orange:"نارنجی",Amber:"کهربایی",Yellow:"زرد",Lime:"لیمویی",Green:"سبز",Emerald:"زمردی",Teal:"سبز آبی",Cyan:"فیروزهای",Sky:"آسمانی",Blue:"آبی",Indigo:"نیلی",Violet:"بنفش",Purple:"ارغوانی",Fuchsia:"فوشیا",Pink:"صورتی",Rose:"گلی","Primary color":"رنگ اصلی",Layout:"چیدمان","Two-column":"دو ستونی","Single-column":"تک ستونی",Reviews:"نقدها",Extension:"افزونه",Remote:"از راه دور","Encrypted Key":"رمزگذاری شده کلید","Private Key":"کلید خصوصی","Welcome to Smesh":"به Smesh خوش آمدید","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh یک کلاینت متمرکز بر مرور رلههاست. با کاوش در رلههای جالب شروع کنید یا وارد شوید تا فید دنبالکنندههای خود را مشاهده کنید.","Explore Relays":"کاوش در رلهها","Choose a feed":"یک فید انتخاب کنید","and {{x}} others":"و {{x}} دیگر",selfZapWarning:"Smesh مسئولیتی در قبال اتفاقاتی که در صورت ارسال zap به خودتان میافتد ندارد. با مسئولیت خود ادامه دهید. 😉⚡","Emoji Pack":"بسته ایموجی","Emoji pack added":"بسته ایموجی اضافه شد","Add emoji pack failed":"افزودن بسته ایموجی ناموفق بود","Emoji pack removed":"بسته ایموجی حذف شد","Remove emoji pack failed":"حذف بسته ایموجی ناموفق بود",Added:"اضافه شد","Emoji Packs":"بستههای ایموجی","My Packs":"بستههای من","Adding...":"در حال افزودن...","Removing...":"در حال حذف...",Reload:"بازخوانی","Request to Join Relay":"درخواست عضویت در رله","Leave Relay":"خروج از رله",Leave:"خروج","Are you sure you want to leave this relay?":"آیا مطمئن هستید که میخواهید از این رله خارج شوید؟","Join request sent successfully":"درخواست عضویت با موفقیت ارسال شد","Failed to send join request":"ارسال درخواست عضویت ناموفق بود","Leave request sent successfully":"درخواست خروج با موفقیت ارسال شد","Failed to send leave request":"ارسال درخواست خروج ناموفق بود","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"اگر کد دعوت دارید وارد کنید. در غیر این صورت، آن را خالی بگذارید تا درخواست ارسال شود.","Invite Code (Optional)":"کد دعوت (اختیاری)","Enter invite code":"کد دعوت را وارد کنید","Sending...":"در حال ارسال...","Send Request":"ارسال درخواست","You can get an invite code from a relay member.":"میتوانید کد دعوت را از یک عضو رله دریافت کنید.","Enter the invite code you received from a relay member.":"کد دعوتی را که از یک عضو رله دریافت کردهاید وارد کنید.","Get Invite Code":"دریافت کد دعوت","Share this invite code with others to invite them to join this relay.":"این کد دعوت را با دیگران به اشتراک بگذارید تا آنها را به پیوستن به این رله دعوت کنید.","Invite Code":"کد دعوت",Copy:"کپی","This invite code can be used by others to join the relay.":"این کد دعوت میتواند توسط دیگران برای پیوستن به رله استفاده شود.","No invite code available from this relay.":"هیچ کد دعوتی از این رله در دسترس نیست.",Close:"بستن","Failed to get invite code from relay":"دریافت کد دعوت از رله ناموفق بود","Failed to get invite code":"دریافت کد دعوت ناموفق بود","Invite code copied to clipboard":"کد دعوت در کلیپبورد کپی شد","Favicon URL":"آدرس نماد سایت","Filter out onion relays":"فیلتر کردن رلههای onion","Click to load X post":"برای بارگیری پست X کلیک کنید","View Nostr comments":"مشاهده نظرات Nostr","Search for notes":"جستجوی یادداشتها","Search for hashtag":"جستجوی هشتگ","Go to note":"رفتن به یادداشت","Go to relay":"رفتن به رله","View discussions about this":"مشاهده بحثها درباره این محتوا","Open link":"باز کردن لینک","View Nostr discussions":"مشاهده بحثهای Nostr","Optimal relays":"رلههای بهینه","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"با موفقیت در رلههای بهینه منتشر شد (رلههای نوشتن شما و رلههای خواندن کاربران ذکر شده)","Failed to republish to optimal relays: {{error}}":"خطا در انتشار مجدد در رلههای بهینه: {{error}}","External Content":"محتوای خارجی",Highlight:"برجستهسازی","Optimal relays and {{count}} other relays":"رلههای بهینه و {{count}} رله دیگر","Likely spam account (Trust score: {{percentile}}%)":"احتمالاً حساب هرزنامه (امتیاز اعتماد: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"حساب مشکوک (امتیاز اعتماد: {{percentile}}%)","n users":"{{count}} کاربر","View Details":"مشاهده جزئیات","Follow Pack Not Found":"بسته دنبالکننده یافت نشد","Follow pack not found":"بسته دنبالکننده یافت نشد",Users:"کاربران",Feed:"فید","Follow Pack":"بسته دنبالکننده","Load earlier":"بارگذاری قدیمیتر","Last 24 hours":"24 ساعت گذشته","Last {{count}} days":"{{count}} روز گذشته",notes:"یادداشتها","Quick reaction":"واکنش سریع","If enabled, you can react with a single click. Click and hold for more options":"اگر فعال باشد، میتوانید با یک کلیک واکنش نشان دهید. برای گزینههای بیشتر کلیک کنید و نگه دارید","Quick reaction emoji":"ایموجی واکنش سریع","Select emoji":"انتخاب ایموجی","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"دنبال کردن ویژه","Unfollow Special":"لغو دنبال کردن ویژه","Personal Feeds":"فیدهای شخصی","Relay Feeds":"فیدهای رله","Create Highlight":"ایجاد برجستهسازی","Write your thoughts about this highlight...":"نظرات خود را درباره این برجستهسازی بنویسید...","Publish Highlight":"انتشار برجستهسازی","Show replies":"نمایش پاسخها","Hide replies":"پنهان کردن پاسخها","Welcome to Smesh!":"به Smesh خوش آمدید!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"فید شما خالی است زیرا هنوز کسی را دنبال نمیکنید. با کاوش محتوای جالب و دنبال کردن کاربرانی که دوست دارید شروع کنید!","Search Users":"جستجوی کاربران","Create New Account":"ایجاد حساب کاربری جدید",Important:"مهم","Generate Your Account":"ایجاد حساب کاربری","Your private key IS your account. Keep it safe!":"کلید خصوصی شما همان حساب کاربری شماست. آن را ایمن نگه دارید!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"در Nostr، کلید خصوصی شما همان حساب کاربری شماست. اگر کلید خصوصی خود را گم کنید، برای همیشه حساب خود را از دست میدهید.","Your Private Key":"کلید خصوصی شما","Generate new key":"ایجاد کلید جدید","Download Backup File":"دانلود فایل پشتیبان","Copied to Clipboard":"در کلیپبورد کپی شد","Copy to Clipboard":"کپی در کلیپبورد","I already saved my private key securely.":"من قبلاً کلید خصوصی خود را به طور ایمن ذخیره کردهام.","Almost Done!":"تقریباً تمام شد!","Set a password to encrypt your key, or skip to finish":"یک رمز عبور برای رمزگذاری کلید خود تنظیم کنید، یا برای پایان دادن رد کنید","Password Protection (Optional)":"حفاظت با رمز عبور (اختیاری)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"تنظیم رمز عبور، کلید خصوصی شما را در این مرورگر رمزگذاری میکند. میتوانید این مرحله را رد کنید، اما ما برای امنیت بیشتر توصیه میکنیم یکی تنظیم کنید.","Password (Optional)":"رمز عبور (اختیاری)","Enter password or leave empty to skip":"رمز عبور را وارد کنید یا برای رد کردن خالی بگذارید","Confirm Password":"تأیید رمز عبور","Re-enter password":"رمز عبور را دوباره وارد کنید","Passwords do not match":"رمزهای عبور مطابقت ندارند","Finish Signup":"پایان ثبتنام","Create Your Nostr Account":"حساب Nostr خود را ایجاد کنید","Generate your unique private key. This is your digital identity.":"کلید خصوصی منحصر به فرد خود را ایجاد کنید. این هویت دیجیتال شماست.","Critical: Save Your Private Key":"حیاتی: کلید خصوصی خود را ذخیره کنید","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"کلید خصوصی شما حساب شماست. بازیابی رمز عبور وجود ندارد. اگر آن را گم کنید، حساب خود را برای همیشه از دست خواهید داد. لطفاً آن را در مکانی امن ذخیره کنید.","I have safely backed up my private key":"من به طور ایمن از کلید خصوصی خود نسخه پشتیبان تهیه کردهام","Secure Your Account":"حساب خود را ایمن کنید","Add an extra layer of protection with a password":"یک لایه حفاظتی اضافی با رمز عبور اضافه کنید","Password Protection (Recommended)":"حفاظت با رمز عبور (توصیه شده)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"یک رمز عبور برای رمزگذاری کلید خصوصی خود در این مرورگر اضافه کنید. این اختیاری است اما برای امنیت بهتر به شدت توصیه میشود.","Create a password (or skip)":"یک رمز عبور ایجاد کنید (یا رد کنید)","Enter your password again":"رمز عبور خود را دوباره وارد کنید","Complete Signup":"تکمیل ثبتنام",Recommended:"توصیه شده"}},Bbe={translation:{"Welcome! 🥳":"Bienvenue ! 🥳",About:"À propos","New Note":"Nouvelle note",Post:"Publier",Home:"Accueil","Relay settings":"Paramètres du relais",Settings:"Paramètres",SidebarRelays:"Relais",Refresh:"Rafraîchir",Profile:"Profil",Logout:"Déconnexion",Following:"Abonnements",followings:"abonnements",reposted:"republié","just now":"à l'instant","minute ago_one":"il y a {{count}} minute","minute ago_other":"il y a {{count}} minutes","n m":"{{n}}m","hour ago_one":"il y a {{count}} heure","hour ago_other":"il y a {{count}} heures","n h":"{{n}}h","day ago_one":"il y a {{count}} jour","day ago_other":"il y a {{count}} jours","n d":"{{n}}j",date:"{{timestamp, date}}",Follow:"Suivre",Unfollow:"Ne plus suivre","Follow failed":"Échec du suivi","Unfollow failed":"Échec de l'arrêt du suivi","show new notes":"afficher les nouvelles notes","loading...":"chargement...","Loading...":"Chargement...","no more notes":"plus de notes","reply to":"répondre à",reply:"répondre",Reply:"Répondre","load more older replies":"charger plus de réponses anciennes","Write something...":"Écrire quelque chose...",Cancel:"Annuler",Mentions:"Mentions","Failed to post":"Publication échouée","Post successful":"Publication réussie","Your post has been published":"Votre publication a été publiée",Repost:"Reposter",Quote:"Citer","Copy event ID":"Copier l'ID de l'événement","Copy user ID":"Copier l'ID de l'utilisateur","View raw event":"Voir l'événement brut",Like:"Aimer","switch to light theme":"passer au thème clair","switch to dark theme":"passer au thème sombre","switch to system theme":"passer au thème système",Note:"Note",note:"note","username's following":"les abonnements de {{username}}","username's used relays":"les relais utilisés par {{username}}","username's muted":"{{username}} en sourdine",Login:"Connexion","Follows you":"Vous suit","Relay Settings":"Paramètres des relais","Relay set name":"Nom du groupe de relais","Add a new relay set":"Ajouter un nouveau groupe de relais",Add:"Ajouter","n relays":"{{n}} relais",Rename:"Renommer","Copy share link":"Copier le lien de partage",Delete:"Supprimer","Relay already exists":"Le relais existe déjà","invalid relay URL":"URL de relais invalide","Add a new relay":"Ajouter un nouveau relais",back:"retour","Lost in the void":"Perdu dans le vide","Carry me home":"Ramène-moi à la maison","no replies":"aucune réponse","Reply to":"Répondre à",Search:"Recherche","The relays you are connected to do not support search":"Les relais auxquels vous êtes connecté ne prennent pas en charge la recherche","Show more...":"Afficher plus...","All users":"Tous les utilisateurs","Display replies":"Afficher les réponses",Notes:"Notes",Replies:"Réponses",Notifications:"Notifications","no more notifications":"plus de notifications","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"L'utilisation de la connexion par clé privée n'est pas sécurisée. Il est recommandé d'utiliser une extension de navigateur pour la connexion, comme alby, nostr-keyx ou nos2x. Si vous devez utiliser une clé privée, veuillez au moins définir un mot de passe pour le chiffrement.","Login with Browser Extension":"Connexion avec une extension de navigateur","Login with Bunker":"Connexion avec Bunker","Login with Private Key":"Connexion avec clé privée","reload notes":"recharger les notes","Logged in Accounts":"Comptes connectés","Add an Account":"Ajouter un compte","More options":"Plus d'options","Add client tag":"Ajouter une étiquette client","Show others this was sent via Smesh":"Montrer aux autres que cela a été envoyé via Smesh","Are you sure you want to logout?":"Êtes-vous sûr de vouloir vous déconnecter ?","relay sets":"groupes de relais",edit:"modifier",Languages:"Langues",Theme:"Thème",System:"Système",Light:"Clair",Dark:"Sombre",Temporary:"Temporaire","Choose a relay set":"Choisissez un groupe de relais","Switch account":"Changer de compte",Pictures:"Images","Picture note":"Note image","A special note for picture-first clients like Olas":"Une note spéciale pour les clients axés sur l'image comme Olas","Picture note requires images":"La note image nécessite des images",Relays:"Relais",Image:"image","R & W":"R & W",Read:"Lire",Write:"Écrire","Pull relay sets":"Récupérer les groupes de relais","Select the relay sets you want to pull":"Sélectionnez les groupes de relais à récupérer","No relay sets found":"Aucun groupe de relais trouvé","Pull n relay sets":"Récupérer {{n}} groupes de relais",Pull:"Récupérer","Select all":"Tout sélectionner","Relay Sets":"Groupes de relais","Read & Write Relays":"Relais lecture & écriture","read relays description":"Les relais de lecture permettent de consulter vos événements. D'autres utilisateurs y publieront les événements à afficher sur vos relais de lecture.","write relays description":"Les relais d'écriture servent à publier vos événements. D'autres utilisateurs rechercheront vos événements via ces relais.","read & write relays notice":"Il est recommandé de maintenir entre 2 et 4 serveurs de lecture et d'écriture.","Don't have an account yet?":"Vous n'avez pas encore de compte ?","or simply generate a private key":"ou générez simplement une clé privée","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ceci est une clé privée. Ne la divulguez à personne. Gardez-la en sécurité. Vous ne pourrez pas la récupérer en cas de perte.",Edit:"Modifier",Save:"Enregistrer","Display Name":"Nom d'affichage",Bio:"Biographie","Nostr Address (NIP-05)":"Adresse Nostr (NIP-05)","Invalid NIP-05 address":"Adresse NIP-05 invalide","Copy private key":"Copier la clé privée","Enter the password to decrypt your ncryptsec":"Entrez le mot de passe pour décrypter votre ncryptsec",Back:"Retour","optional: encrypt nsec":"facultatif : chiffrer nsec",password:"mot de passe","Sign up":"S'inscrire","Save to":"Enregistrer dans","Enter a name for the new relay set":"Entrez un nom pour le nouveau groupe de relais","Save to a new relay set":"Enregistrer dans un nouveau groupe de relais",Mute:"Couper le son",Muted:"En sourdine",Unmute:"Activer le son","Unmute user":"Désactiver la sourdine de l'utilisateur","Append n relays":"Ajouter {{n}} relais",Append:"Ajouter","Select relays to append":"Sélectionnez les relais à ajouter","calculating...":"calcul en cours...","Calculate optimal read relays":"Calculer les relais de lecture optimaux","Login to set":"Connectez-vous pour définir","Please login to view following feed":"Veuillez vous connecter pour voir le fil d’abonnements","Send only to r":"Envoyer uniquement à {{r}}","Send only to these relays":"Envoyer uniquement à ces relais",Explore:"Explorer","Search relays":"Rechercher des relais",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Recherche",relayInfoBadgePayment:"Paiement",Operator:"Opérateur",Contact:"Contact",Software:"Logiciel",Version:"Version","Random Relays":"Relais aléatoires",randomRelaysRefresh:"Rafraîchir","Explore more":"Explorer davantage","Payment page":"Page de paiement","Supported NIPs":"NIPs supportés","Open in a":"Ouvrir dans {{a}}","Cannot handle event of kind k":"Impossible de traiter l'événement de type {{k}}","Sorry! The note cannot be found 😔":"Désolé ! La note est introuvable 😔","This user has been muted":"Cet utilisateur a été mis en sourdine",Wallet:"Portefeuille",Sats:"Sats",sats:"sats","Zap to":"Zap vers","Zap n sats":"Zap {{n}} sats",zapComment:"Commentaire","Default zap amount":"Montant de zap par défaut","Default zap comment":"Commentaire de zap par défaut","Lightning Address (or LNURL)":"Adresse Lightning (ou LNURL)","Quick zap":"Zap rapide","If enabled, you can zap with a single click. Click and hold for custom amounts":"Si activé, vous pouvez zap avec un seul clic. Cliquez et maintenez pour des montants personnalisés",All:"Tous",Reactions:"Réactions",Zaps:"Zaps","Earlier notifications":"Notifications antérieures","Temporarily display this note":"Afficher temporairement cette note",buttonFollowing:"Suivi","Are you sure you want to unfollow this user?":"Êtes-vous sûr de vouloir arrêter de suivre cet utilisateur ?","Recent Supporters":"Derniers soutiens","Seen on":"Vu sur","Temporarily display this reply":"Afficher temporairement cette réponse","Note not found":"Note introuvable","no more replies":"aucune autre réponse","Relay sets":"Groupes de relais","Favorite Relays":"Relais favoris","Following's Favorites":"Following's Favorites","no more relays":"aucun autre relais","Favorited by":"Favorisé par","Post settings":"Paramètres de publication","Media upload service":"Service de téléchargement de médias","Choose a relay":"Choisir un relais","no relays found":"aucun relais trouvé",video:"vidéo","Show n new notes":"Afficher {{n}} nouvelles notes",YouTabName:"Vous",Bookmark:"Favori","Remove bookmark":"Retirer le favori","no bookmarks found":"Aucun favori trouvé","no more bookmarks":"Plus de favoris",Bookmarks:"Favoris","Show more":"Afficher plus",General:"Général",Autoplay:"Lecture automatique","Enable video autoplay on this device":"Activer la lecture automatique des vidéos sur cet appareil","Paste or drop media files to upload":"Coller ou déposer des fichiers multimédias à télécharger",Preview:"Aperçu","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Vous êtes sur le point de publier un événement signé par [{{eventAuthorName}}]. Vous êtes actuellement connecté en tant que [{{currentUsername}}]. Êtes-vous sûr ?","Platinum Sponsors":"Sponsors Platine",From:"De","Comment on":"Commenter sur","View on njump.me":"Voir sur njump.me","Hide content from untrusted users":"Hider le contenu des utilisateurs non fiables","Only show content from your followed users and the users they follow":"Afficher uniquement le contenu de vos utilisateurs suivis et des utilisateurs qu’ils suivent","Followed by":"Suivi par","Mute user privately":"Mettre l’utilisateur en sourdine en privé","Mute user publicly":"Mettre l’utilisateur en sourdine publiquement",Quotes:"Citations","Lightning Invoice":"Facture Lightning","Bookmark failed":"Échec de la mise en favori","Remove bookmark failed":"Échec de la suppression du favori",Translation:"Traduction",Balance:"Solde",characters:"caractères",smeshTranslateApiKeyDescription:"Vous pouvez utiliser cette clé API ailleurs qui prend en charge LibreTranslate. L’URL du service est {{serviceUrl}}","Top up":"Recharger","Will receive: {n} characters":"Vous recevrez : {{n}} caractères","Top up {n} sats":"Recharger {{n}} sats","Minimum top up is {n} sats":"Le rechargement minimum est de {{n}} sats",Service:"Service","Reset API key":"Réinitialiser la clé API","Are you sure you want to reset your API key? This action cannot be undone.":"Êtes-vous sûr de vouloir réinitialiser votre clé API ? Cette action ne peut pas être annulée.",Warning:"Avertissement","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Votre clé API actuelle deviendra immédiatement invalide, et toutes les applications qui l’utilisent cesseront de fonctionner jusqu’à ce que vous les mettiez à jour avec la nouvelle clé.","Service address":"Adresse du service",Pay:"Payer",interactions:"interactions",notifications:"notifications","Show untrusted {type}":"Afficher les {{type}} non fiables","Hide untrusted {type}":"Cacher les {{type}} non fiables","Currently hiding {type} from untrusted users.":"Actuellement, les {{type}} des utilisateurs non fiables sont masquées.","Currently showing all {type}.":"Actuellement, tous les {{type}} sont affichés.","Click continue to show all {type}.":"Cliquez sur continuer pour afficher tous les {{type}}.","Click continue to hide {type} from untrusted users.":"Cliquez sur continuer pour masquer les {{type}} des utilisateurs non fiables.","Trusted users include people you follow and people they follow.":"Les utilisateurs de confiance incluent les personnes que vous suivez et les personnes qu’elles suivent.",Continue:"Continuer","Successfully updated mute list":"Liste de sourdine mise à jour avec succès","No pubkeys found from {url}":"Aucun pubkey trouvé à partir de {{url}}","Translating...":"Traduction en cours...",Translate:"Traduire","Show original":"Afficher l’original",Website:"Site Web","Hide untrusted notes":"Cacher les notes non fiables","Open in another client":"Ouvrir dans un autre client",Community:"Communauté",Group:"Groupe","Live event":"Événement en direct",Article:"Article",Unfavorite:"Ne plus aimer","Recommended relays":"Relais recommandés","Blossom server URLs":"URLs du serveur Blossom","You need to add at least one blossom server in order to upload media files.":"Vous devez ajouter au moins un serveur Blossom pour pouvoir télécharger des fichiers multimédias.","Recommended blossom servers":"Serveurs Blossom recommandés","Enter Blossom server URL":"Entrer l’URL du serveur Blossom",Preferred:"Préféré","Multiple choice (select one or more)":"Choix multiple (sélectionnez un ou plusieurs)",Vote:"Voter","{{number}} votes":"{{number}} votes","Total votes":"Total des votes","Poll has ended":"Le sondage est terminé","Poll ends at {{time}}":"Le sondage se termine le {{time}}","Load results":"Charger les résultats","This is a poll note.":"Ceci est une note de sondage.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Contrairement aux notes régulières, les sondages ne sont pas largement pris en charge et peuvent ne pas s'afficher sur d'autres clients.","Option {{number}}":"Option {{number}}","Add Option":"Ajouter une option","Allow multiple choices":"Autoriser les choix multiples","End Date (optional)":"Date de fin (optionnel)","Clear end date":"Effacer la date de fin","Relay URLs (optional, comma-separated)":"URLs de relais (optionnel, séparées par des virgules)","Remove poll":"Supprimer le sondage","Refresh results":"Rafraîchir les résultats",Poll:"Sondage",Media:"média","Republish to ...":"Reposter vers ...","Successfully republish to your write relays":"Republié avec succès vers vos relais d’écriture","Failed to republish to your write relays: {{error}}":"Échec du republishing vers vos relais d’écriture : {{error}}","Successfully republish to relay set: {{name}}":"Republié avec succès vers le groupe de relais : {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Échec du republishing vers le groupe de relais : {{name}}. Erreur : {{error}}","Successfully republish to relay: {{url}}":"Republié avec succès vers le relais : {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Échec du republishing vers le relais : {{url}}. Erreur : {{error}}","Write relays":"Relais d’écriture","No more reactions":"Plus de réactions","No reactions yet":"Pas encore de réactions","No more zaps":"Plus de zaps","No zaps yet":"Pas encore de zaps","No more reposts":"Plus de reposts","No reposts yet":"Pas encore de reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Liste de suivi non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez suivi des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de suivi précédente.",MuteListNotFoundConfirmation:"Liste de mise en sourdine non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez mis en sourdine des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de mise en sourdine précédente.","Show NSFW content by default":"Afficher le contenu NSFW par défaut","Custom emoji management":"Gestion des émojis personnalisés","After changing emojis, you may need to refresh the page":"Après avoir modifié les émojis, vous devrez peut-être actualiser la page","Too many read relays":"Trop de relais de lecture","Too many write relays":"Trop de relais d'écriture","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Vous avez {{count}} relais de lecture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Vous avez {{count}} relais d'écriture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.","Optimize Relay Settings":"Optimiser les paramètres de relais","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Votre configuration de relais actuelle pourrait ne pas être optimale. Cela pourrait rendre difficile pour les autres de trouver vos publications et pourrait entraîner des notifications incomplètes.","Optimize Now":"Optimiser maintenant","Maybe Later":"Peut-être plus tard","Don't remind me again":"Ne plus me rappeler",Posts:"Publications",Articles:"Articles",Highlights:"Surlignages",Polls:"Sondages","Voice Posts":"Publications vocales","Photo Posts":"Publications photo","Video Posts":"Publications vidéo","Select All":"Tout sélectionner","Clear All":"Tout effacer","Set as default filter":"Définir comme filtre par défaut",Apply:"Appliquer",Reset:"Réinitialiser","Share something on this Relay":"Partager quelque chose sur ce relais","Try deleting this note":"Essayez de supprimer cette note","Deletion request sent to {{count}} relays":"Demande de suppression envoyée à {{count}} relais","Suitable Relays":"Relais adaptés","People, keywords, or relays":"Personnes, mots-clés ou relais","Hide content mentioning muted users":"Masquer le contenu mentionnant des utilisateurs masqués","This note mentions a user you muted":"Cette note mentionne un utilisateur que vous avez masqué",Filter:"Filtre","mentioned you in a note":"vous a mentionné dans une note","quoted your note":"a cité votre note","voted in your poll":"a voté dans votre sondage","reacted to your note":"a réagi à votre note","reposted your note":"a repartagé votre note","zapped your note":"a zappé votre note","highlighted your note":"a mis en évidence votre note","zapped you":"vous a zappé","Mark as read":"Marquer comme lu",Report:"Signaler","Successfully report":"Signalement réussi","Failed to report":"Échec du signalement",nudity:"Nudité",malware:"Logiciel malveillant",profanity:"Blasphème",illegal:"Contenu illégal",spam:"Spam",other:"Autre","Notification list style":"Style de liste de notifications","See extra info for each notification":"Voir des infos supplémentaires pour chaque notification","See more notifications at a glance":"Voir plus de notifications en un coup d'œil",Detailed:"Détaillé",Compact:"Compact","Submit Relay":"Soumettre un relais",Homepage:"Page d’accueil","Proof of Work (difficulty {{minPow}})":"Preuve de travail (difficulté {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Auto-chargement des médias",Always:"Toujours","Wi-Fi only":"Wi-Fi uniquement",Never:"Jamais","Click to load image":"Cliquez pour charger l’image","Click to load media":"Cliquez pour charger les médias","Click to load YouTube video":"Cliquez pour charger la vidéo YouTube","{{count}} reviews":"{{count}} avis","Write a review":"Écrire un avis","No reviews yet. Be the first to write one!":"Pas encore d’avis. Soyez le premier à en écrire un !","View more reviews":"Voir plus d’avis","Failed to review":"Échec de l’avis","Write a review and pick a star rating":"Écrivez un avis et choisissez une note en étoiles",Submit:"Soumettre","Reviews for {{relay}}":"Avis pour {{relay}}","No relays selected":"Aucun relais sélectionné","Post to":"Publier sur","Write relays and {{count}} other relays":"Relais d’écriture et {{count}} autres relais","{{count}} relays":"{{count}} relais","Republishing...":"Republication en cours...","Connected to":"Connecté à","Disconnect Wallet":"Déconnecter le portefeuille","Are you absolutely sure?":"Êtes-vous absolument sûr ?","You will not be able to send zaps to others.":"Vous ne pourrez plus envoyer de zaps aux autres.",Disconnect:"Déconnecter","Start with a Rizful Vault":"Démarrer avec un coffre Rizful","or other wallets":"ou d’autres portefeuilles","Rizful Vault":"Coffre Rizful","Rizful Vault connected!":"Coffre Rizful connecté !","You can now use your Rizful Vault to zap your favorite notes and creators.":"Vous pouvez maintenant utiliser votre coffre Rizful pour zapper vos notes et créateurs préférés.","Your Lightning Address":"Votre adresse Lightning","New to Rizful?":"Nouveau sur Rizful ?","Sign up for Rizful":"Inscrivez-vous sur Rizful","If you already have a Rizful account, you can skip this step.":"Si vous avez déjà un compte Rizful, vous pouvez passer cette étape.","Get your one-time code":"Obtenez votre code à usage unique","Get code":"Obtenir le code","Connect to your Rizful Vault":"Connectez-vous à votre coffre Rizful","Paste your one-time code here":"Collez votre code à usage unique ici",Connect:"Connecter","Set up your wallet to send and receive sats!":"Configurez votre portefeuille pour envoyer et recevoir des sats !","Set up":"Configurer",Pinned:"Épinglé",Unpin:"Retirer l’épingle",Unpinning:"Retrait de l’épingle","Pinning...":"Épinglage en cours...","Pinned!":"Épinglé !","Failed to pin: {{error}}":"Échec de l’épinglage : {{error}}","Unpinning...":"Retrait de l’épingle en cours...","Unpinned!":"Retrait de l’épingle effectué !","Failed to unpin: {{error}}":"Échec du retrait de l’épingle : {{error}}","Unpin from profile":"Retirer l’épingle du profil","Pin to profile":"Épingler au profil",Appearance:"Apparence","Pure Black":"Noir pur",Default:"Par défaut",Red:"Rouge",Orange:"Orange",Amber:"Ambre",Yellow:"Jaune",Lime:"Citron vert",Green:"Vert",Emerald:"Émeraude",Teal:"Sarcelle",Cyan:"Cyan",Sky:"Bleu ciel",Blue:"Bleu",Indigo:"Indigo",Violet:"Violet",Purple:"Pourpre",Fuchsia:"Fuchsia",Pink:"Rose",Rose:"Rose","Primary color":"Couleur principale",Layout:"Disposition","Two-column":"Deux colonnes","Single-column":"Une seule colonne",Reviews:"Avis",Extension:"Extension",Remote:"Distant","Encrypted Key":"Clé chiffrée","Private Key":"Clé privée","Welcome to Smesh":"Bienvenue sur Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh est un client axé sur la navigation des relais. Commencez par explorer des relais intéressants ou connectez-vous pour voir votre fil d'abonnements.","Explore Relays":"Explorer les relais","Choose a feed":"Choisir un fil","and {{x}} others":"et {{x}} autres",selfZapWarning:"Smesh n'est pas responsable de ce qui se passe si vous vous zappez vous-même. Procédez à vos risques et périls. 😉⚡","Emoji Pack":"Pack d'Emojis","Emoji pack added":"Pack d'emojis ajouté","Add emoji pack failed":"Échec de l'ajout du pack d'emojis","Emoji pack removed":"Pack d'emojis supprimé","Remove emoji pack failed":"Échec de la suppression du pack d'emojis",Added:"Ajouté","Emoji Packs":"Packs d'Emojis","My Packs":"Mes Packs","Adding...":"Ajout...","Removing...":"Suppression...",Reload:"Recharger","Request to Join Relay":"Demander à rejoindre le Relay","Leave Relay":"Quitter le Relay",Leave:"Quitter","Are you sure you want to leave this relay?":"Êtes-vous sûr de vouloir quitter ce relay ?","Join request sent successfully":"Demande d'adhésion envoyée avec succès","Failed to send join request":"Échec de l'envoi de la demande d'adhésion","Leave request sent successfully":"Demande de départ envoyée avec succès","Failed to send leave request":"Échec de l'envoi de la demande de départ","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Entrez un code d'invitation si vous en avez un. Sinon, laissez-le vide pour envoyer une demande.","Invite Code (Optional)":"Code d'Invitation (Optionnel)","Enter invite code":"Entrez le code d'invitation","Sending...":"Envoi...","Send Request":"Envoyer la Demande","You can get an invite code from a relay member.":"Vous pouvez obtenir un code d'invitation auprès d'un membre du relay.","Enter the invite code you received from a relay member.":"Entrez le code d'invitation que vous avez reçu d'un membre du relay.","Get Invite Code":"Obtenir un Code d'Invitation","Share this invite code with others to invite them to join this relay.":"Partagez ce code d'invitation avec d'autres pour les inviter à rejoindre ce relay.","Invite Code":"Code d'Invitation",Copy:"Copier","This invite code can be used by others to join the relay.":"Ce code d'invitation peut être utilisé par d'autres pour rejoindre le relay.","No invite code available from this relay.":"Aucun code d'invitation disponible de ce relay.",Close:"Fermer","Failed to get invite code from relay":"Échec de l'obtention du code d'invitation du relay","Failed to get invite code":"Échec de l'obtention du code d'invitation","Invite code copied to clipboard":"Code d'invitation copié dans le presse-papiers","Favicon URL":"URL du Favicon","Filter out onion relays":"Filtrer les relais onion","Click to load X post":"Cliquez pour charger la publication X","View Nostr comments":"Voir les commentaires Nostr","Search for notes":"Rechercher des notes","Search for hashtag":"Rechercher un hashtag","Go to note":"Aller à la note","Go to relay":"Aller au relais","View discussions about this":"Voir les discussions sur ce contenu","Open link":"Ouvrir le lien","View Nostr discussions":"Voir les discussions Nostr","Optimal relays":"Relais optimaux","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republié avec succès sur les relais optimaux (vos relais d'écriture et les relais de lecture des utilisateurs mentionnés)","Failed to republish to optimal relays: {{error}}":"Échec de la republication sur les relais optimaux : {{error}}","External Content":"Contenu externe",Highlight:"Surligner","Optimal relays and {{count}} other relays":"Relais optimaux et {{count}} autres relais","Likely spam account (Trust score: {{percentile}}%)":"Compte probablement spam (Score de confiance: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Compte suspect (Score de confiance: {{percentile}}%)","n users":"{{count}} utilisateurs","View Details":"Voir les détails","Follow Pack Not Found":"Pack de suivi introuvable","Follow pack not found":"Pack de suivi introuvable",Users:"Utilisateurs",Feed:"Flux","Follow Pack":"Pack de Suivi","Load earlier":"Charger plus tôt","Last 24 hours":"Dernières 24 heures","Last {{count}} days":"Derniers {{count}} jours",notes:"notes","Quick reaction":"Réaction rapide","If enabled, you can react with a single click. Click and hold for more options":"Si activé, vous pouvez réagir en un seul clic. Maintenez enfoncé pour plus d'options","Quick reaction emoji":"Emoji de réaction rapide","Select emoji":"Sélectionner un emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Suivre Spécial","Unfollow Special":"Ne Plus Suivre Spécial","Personal Feeds":"Flux Personnels","Relay Feeds":"Flux de Relais","Create Highlight":"Créer un Surlignage","Write your thoughts about this highlight...":"Écrivez vos pensées sur ce surlignage...","Publish Highlight":"Publier le Surlignage","Show replies":"Afficher les réponses","Hide replies":"Masquer les réponses","Welcome to Smesh!":"Bienvenue sur Smesh !","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Votre flux est vide car vous ne suivez personne pour le moment. Commencez par explorer du contenu intéressant et suivez les utilisateurs que vous aimez !","Search Users":"Rechercher des utilisateurs","Create New Account":"Créer un nouveau compte",Important:"Important","Generate Your Account":"Générer votre compte","Your private key IS your account. Keep it safe!":"Votre clé privée EST votre compte. Gardez-la en sécurité !","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Dans Nostr, votre clé privée EST votre compte. Si vous perdez votre clé privée, vous perdez votre compte pour toujours.","Your Private Key":"Votre clé privée","Generate new key":"Générer une nouvelle clé","Download Backup File":"Télécharger le fichier de sauvegarde","Copied to Clipboard":"Copié dans le presse-papiers","Copy to Clipboard":"Copier dans le presse-papiers","I already saved my private key securely.":"J'ai déjà sauvegardé ma clé privée en toute sécurité.","Almost Done!":"Presque terminé !","Set a password to encrypt your key, or skip to finish":"Définissez un mot de passe pour chiffrer votre clé, ou ignorez pour terminer","Password Protection (Optional)":"Protection par mot de passe (facultatif)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Définir un mot de passe chiffre votre clé privée dans ce navigateur. Vous pouvez ignorer cette étape, mais nous recommandons d'en définir un pour plus de sécurité.","Password (Optional)":"Mot de passe (facultatif)","Enter password or leave empty to skip":"Entrez un mot de passe ou laissez vide pour ignorer","Confirm Password":"Confirmer le mot de passe","Re-enter password":"Ressaisissez le mot de passe","Passwords do not match":"Les mots de passe ne correspondent pas","Finish Signup":"Terminer l'inscription","Create Your Nostr Account":"Créez votre compte Nostr","Generate your unique private key. This is your digital identity.":"Générez votre clé privée unique. C'est votre identité numérique.","Critical: Save Your Private Key":"Critique : Sauvegardez votre clé privée","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Votre clé privée EST votre compte. Il n'y a pas de récupération de mot de passe. Si vous la perdez, vous perdrez votre compte pour toujours. Veuillez la sauvegarder dans un endroit sécurisé.","I have safely backed up my private key":"J'ai sauvegardé ma clé privée en toute sécurité","Secure Your Account":"Sécurisez votre compte","Add an extra layer of protection with a password":"Ajoutez une couche de protection supplémentaire avec un mot de passe","Password Protection (Recommended)":"Protection par mot de passe (recommandé)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Ajoutez un mot de passe pour chiffrer votre clé privée dans ce navigateur. C'est facultatif mais fortement recommandé pour une meilleure sécurité.","Create a password (or skip)":"Créez un mot de passe (ou ignorez)","Enter your password again":"Entrez à nouveau votre mot de passe","Complete Signup":"Terminer l'inscription",Recommended:"Recommandé"}},Ube={translation:{"Welcome! 🥳":"स्वागत है! 🥳",About:"के बारे में","New Note":"नया नोट",Post:"पोस्ट",Home:"होम","Relay settings":"रिले सेटिंग्स",Settings:"सेटिंग्स",SidebarRelays:"रिले",Refresh:"रीफ्रेश",Profile:"प्रोफ़ाइल",Logout:"लॉगआउट",Following:"फॉलो कर रहे हैं",followings:"फॉलोइंग",reposted:"रीपोस्ट किया","just now":"अभी","minute ago_one":"{{count}} मिनट पहले","minute ago_other":"{{count}} मिनट पहले","n m":"{{n}}मि","hour ago_one":"{{count}} घंटा पहले","hour ago_other":"{{count}} घंटे पहले","n h":"{{n}}घं","day ago_one":"{{count}} दिन पहले","day ago_other":"{{count}} दिन पहले","n d":"{{n}}दि",date:"{{timestamp, date}}",Follow:"फॉलो करें",Unfollow:"अनफॉलो करें","Follow failed":"फॉलो असफल","Unfollow failed":"अनफॉलो असफल","show new notes":"नए नोट्स दिखाएं","loading...":"लोड हो रहा है...","Loading...":"लोड हो रहा है...","no more notes":"कोई और नोट नहीं","reply to":"का उत्तर",reply:"उत्तर",Reply:"उत्तर","load more older replies":"अधिक पुराने उत्तर लोड करें","Write something...":"कुछ लिखें...",Cancel:"रद्द करें",Mentions:"उल्लेख","Failed to post":"पोस्ट असफल","Post successful":"पोस्ट सफल","Your post has been published":"आपकी पोस्ट प्रकाशित हो गई है",Repost:"रीपोस्ट",Quote:"उद्धरण","Copy event ID":"इवेंट आईडी कॉपी करें","Copy user ID":"यूजर आईडी कॉपी करें","View raw event":"कच्चा इवेंट देखें",Like:"पसंद","switch to light theme":"लाइट थीम पर स्विच करें","switch to dark theme":"डार्क थीम पर स्विच करें","switch to system theme":"सिस्टम थीम पर स्विच करें",Note:"नोट",note:"नोट","username's following":"{{username}} के फॉलोइंग","username's used relays":"{{username}} के उपयोग किए गए रिले","username's muted":"{{username}} के म्यूट किए गए",Login:"लॉगिन","Follows you":"आपको फॉलो करता है","Relay Settings":"रिले सेटिंग्स","Relay set name":"रिले सेट नाम","Add a new relay set":"नया रिले सेट जोड़ें",Add:"जोड़ें","n relays":"{{n}} रिले",Rename:"नाम बदलें","Copy share link":"शेयर लिंक कॉपी करें",Delete:"हटाएं","Relay already exists":"रिले पहले से मौजूद है","invalid relay URL":"अमान्य रिले URL","Add a new relay":"नया रिले जोड़ें",back:"वापस","Lost in the void":"शून्य में खो गया","Carry me home":"मुझे घर ले चलो","no replies":"कोई उत्तर नहीं","Reply to":"का उत्तर दें",Search:"खोजें","The relays you are connected to do not support search":"आप जिन रिले से जुड़े हैं वे खोज का समर्थन नहीं करते","Show more...":"और दिखाएं...","All users":"सभी उपयोगकर्ता","Display replies":"उत्तर प्रदर्शित करें",Notes:"नोट्स",Replies:"उत्तर",Notifications:"सूचनाएं","no more notifications":"कोई और सूचनाएं नहीं","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"प्राइवेट की लॉगिन का उपयोग असुरक्षित है। लॉगिन के लिए ब्राउज़र एक्सटेंशन का उपयोग करने की सिफारिश की जाती है, जैसे alby, nostr-keyx या nos2x। यदि आपको प्राइवेट की का उपयोग करना ही है, तो कम से कम एन्क्रिप्शन के लिए पासवर्ड सेट करें।","Login with Browser Extension":"ब्राउज़र एक्सटेंशन से लॉगिन करें","Login with Bunker":"बंकर से लॉगिन करें","Login with Private Key":"प्राइवेट की से लॉगिन करें","reload notes":"नोट्स रीलोड करें","Logged in Accounts":"लॉग इन अकाउंट","Add an Account":"अकाउंट जोड़ें","More options":"अधिक विकल्प","Add client tag":"क्लाइंट टैग जोड़ें","Show others this was sent via Smesh":"दूसरों को दिखाएं कि यह Smesh के माध्यम से भेजा गया था","Are you sure you want to logout?":"क्या आप वाकई लॉगआउट करना चाहते हैं?","relay sets":"रिले सेट",edit:"संपादित करें",Languages:"भाषाएं",Theme:"थीम",System:"सिस्टम",Light:"लाइट",Dark:"डार्क",Temporary:"अस्थायी","Choose a relay set":"रिले सेट चुनें","Switch account":"अकाउंट स्विच करें",Pictures:"तस्वीरें","Picture note":"तस्वीर नोट","A special note for picture-first clients like Olas":"Olas जैसे पिक्चर-फर्स्ट क्लाइंट के लिए एक विशेष नोट","Picture note requires images":"तस्वीर नोट के लिए इमेज आवश्यक है",Relays:"रिले",Image:"इमेज","R & W":"R & W",Read:"पढ़ें",Write:"लिखें","Pull relay sets":"रिले सेट खींचें","Select the relay sets you want to pull":"वे रिले सेट चुनें जिन्हें आप खींचना चाहते हैं","No relay sets found":"कोई रिले सेट नहीं मिला","Pull n relay sets":"{{n}} रिले सेट खींचें",Pull:"खींचें","Select all":"सभी चुनें","Relay Sets":"रिले सेट","Read & Write Relays":"रीड और राइट रिले","read relays description":"रीड रिले का उपयोग आपके बारे में इवेंट खोजने के लिए किया जाता है। अन्य उपयोगकर्ता आपको दिखाने वाले इवेंट आपके रीड रिले पर प्रकाशित करेंगे।","write relays description":"राइट रिले का उपयोग आपके इवेंट प्रकाशित करने के लिए किया जाता है। अन्य उपयोगकर्ता आपके राइट रिले से आपके इवेंट खोजेंगे।","read & write relays notice":"रीड और राइट सर्वर की संख्या आदर्श रूप से 2 और 4 के बीच रखी जानी चाहिए।","Don't have an account yet?":"अभी तक कोई अकाउंट नहीं है?","or simply generate a private key":"या बस एक प्राइवेट की जेनरेट करें","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"यह एक प्राइवेट की है। इसे किसी के साथ साझा न करें। इसे सुरक्षित रखें। यदि आप इसे खो देते हैं तो आप इसे पुनर्प्राप्त नहीं कर पाएंगे।",Edit:"संपादित करें",Save:"सेव करें","Display Name":"प्रदर्शन नाम",Bio:"बायो","Nostr Address (NIP-05)":"Nostr पता (NIP-05)","Invalid NIP-05 address":"अमान्य NIP-05 पता","Copy private key":"प्राइवेट की कॉपी करें","Enter the password to decrypt your ncryptsec":"अपना ncryptsec डिक्रिप्ट करने के लिए पासवर्ड दर्ज करें",Back:"वापस","optional: encrypt nsec":"वैकल्पिक: nsec एन्क्रिप्ट करें",password:"पासवर्ड","Sign up":"साइन अप","Save to":"सेव करें","Enter a name for the new relay set":"नए रिले सेट के लिए नाम दर्ज करें","Save to a new relay set":"नए रिले सेट में सेव करें",Mute:"म्यूट",Muted:"म्यूट किया गया",Unmute:"अनम्यूट","Unmute user":"उपयोगकर्ता को अनम्यूट करें","Append n relays":"{{n}} रिले जोड़ें",Append:"जोड़ें","Select relays to append":"जोड़ने के लिए रिले चुनें","calculating...":"गणना कर रहे हैं...","Calculate optimal read relays":"इष्टतम रीड रिले की गणना करें","Login to set":"सेट करने के लिए लॉगिन करें","Please login to view following feed":"फॉलोइंग फीड देखने के लिए कृपया लॉगिन करें","Send only to r":"केवल {{r}} को भेजें","Send only to these relays":"केवल इन रिले को भेजें",Explore:"एक्सप्लोर करें","Search relays":"रिले खोजें",relayInfoBadgeAuth:"प्रमाणीकरण",relayInfoBadgeSearch:"खोज",relayInfoBadgePayment:"भुगतान",Operator:"ऑपरेटर",Contact:"संपर्क",Software:"सॉफ्टवेयर",Version:"संस्करण","Random Relays":"रैंडम रिले",randomRelaysRefresh:"रीफ्रेश","Explore more":"और एक्सप्लोर करें","Payment page":"भुगतान पेज","Supported NIPs":"समर्थित NIPs","Open in a":"{{a}} में खोलें","Cannot handle event of kind k":"प्रकार {{k}} के इवेंट को हैंडल नहीं कर सकते","Sorry! The note cannot be found 😔":"माफ करें! नोट नहीं मिल सका 😔","This user has been muted":"इस उपयोगकर्ता को म्यूट कर दिया गया है",Wallet:"वॉलेट",Sats:"सैट्स",sats:"सैट्स","Zap to":"को जैप करें","Zap n sats":"{{n}} सैट्स जैप करें",zapComment:"टिप्पणी","Default zap amount":"डिफ़ॉल्ट जैप राशि","Default zap comment":"डिफ़ॉल्ट जैप टिप्पणी","Lightning Address (or LNURL)":"लाइटनिंग पता (या LNURL)","Quick zap":"त्वरित जैप","If enabled, you can zap with a single click. Click and hold for custom amounts":"यदि सक्षम है, तो आप एक क्लिक से जैप कर सकते हैं। कस्टम राशि के लिए क्लिक करके रोकें",All:"सभी",Reactions:"प्रतिक्रियाएं",Zaps:"जैप्स","Earlier notifications":"पुरानी सूचनाएं","Temporarily display this note":"इस नोट को अस्थायी रूप से प्रदर्शित करें",buttonFollowing:"फॉलो कर रहे हैं","Are you sure you want to unfollow this user?":"क्या आप वाकई इस उपयोगकर्ता को अनफॉलो करना चाहते हैं?","Recent Supporters":"हाल के समर्थक","Seen on":"पर देखा गया","Temporarily display this reply":"इस उत्तर को अस्थायी रूप से प्रदर्शित करें","Note not found":"नोट नहीं मिला","no more replies":"कोई और उत्तर नहीं","Relay sets":"रिले सेट","Favorite Relays":"पसंदीदा रिले","Following's Favorites":"फॉलोइंग के पसंदीदा","no more relays":"कोई और रिले नहीं","Favorited by":"द्वारा पसंदीदा","Post settings":"पोस्ट सेटिंग्स","Media upload service":"मीडिया अपलोड सेवा","Choose a relay":"रिले चुनें","no relays found":"कोई रिले नहीं मिला",video:"वीडियो","Show n new notes":"{{n}} नए नोट्स दिखाएं",YouTabName:"आप",Bookmark:"बुकमार्क","Remove bookmark":"बुकमार्क हटाएं","no bookmarks found":"कोई बुकमार्क नहीं मिला","no more bookmarks":"कोई और बुकमार्क नहीं",Bookmarks:"बुकमार्क","Show more":"और दिखाएं",General:"सामान्य",Autoplay:"ऑटोप्ले","Enable video autoplay on this device":"इस डिवाइस पर वीडियो ऑटोप्ले सक्षम करें","Paste or drop media files to upload":"अपलोड करने के लिए मीडिया फाइलें पेस्ट या ड्रॉप करें",Preview:"पूर्वावलोकन","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"आप [{{eventAuthorName}}] द्वारा हस्ताक्षरित एक इवेंट प्रकाशित करने वाले हैं। आप वर्तमान में [{{currentUsername}}] के रूप में लॉग इन हैं। क्या आप सुनिश्चित हैं?","Platinum Sponsors":"प्लेटिनम स्पॉन्सर",From:"से","Comment on":"पर टिप्पणी करें","View on njump.me":"njump.me पर देखें","Hide content from untrusted users":"अविश्वसनीय उपयोगकर्ताओं से सामग्री छुपाएं","Only show content from your followed users and the users they follow":"केवल आपके द्वारा फॉलो किए गए उपयोगकर्ताओं और उनके द्वारा फॉलो किए गए उपयोगकर्ताओं की सामग्री दिखाएं","Followed by":"द्वारा फॉलो किया गया","Mute user privately":"उपयोगकर्ता को निजी रूप से म्यूट करें","Mute user publicly":"उपयोगकर्ता को सार्वजनिक रूप से म्यूट करें",Quotes:"उद्धरण","Lightning Invoice":"लाइटनिंग इनवॉइस","Bookmark failed":"बुकमार्क असफल","Remove bookmark failed":"बुकमार्क हटाना असफल",Translation:"अनुवाद",Balance:"बैलेंस",characters:"अक्षर",smeshTranslateApiKeyDescription:"आप इस API की को कहीं भी उपयोग कर सकते हैं जो LibreTranslate का समर्थन करता है। सेवा URL है {{serviceUrl}}","Top up":"टॉप अप","Will receive: {n} characters":"प्राप्त होंगे: {{n}} अक्षर","Top up {n} sats":"{{n}} सैट्स टॉप अप करें","Minimum top up is {n} sats":"न्यूनतम टॉप अप {{n}} सैट्स है",Service:"सेवा","Reset API key":"API की रीसेट करें","Are you sure you want to reset your API key? This action cannot be undone.":"क्या आप वाकई अपनी API की रीसेट करना चाहते हैं? यह कार्य पूर्ववत नहीं किया जा सकता।",Warning:"चेतावनी","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"आपकी वर्तमान API की तुरंत अमान्य हो जाएगी, और इसका उपयोग करने वाले सभी एप्लिकेशन तब तक काम करना बंद कर देंगे जब तक आप उन्हें नई की के साथ अपडेट नहीं करते।","Service address":"सेवा पता",Pay:"भुगतान करें",interactions:"इंटरैक्शन",notifications:"सूचनाएं","Show untrusted {type}":"अविश्वसनीय {{type}} दिखाएं","Hide untrusted {type}":"अविश्वसनीय {{type}} छुपाएं","Currently hiding {type} from untrusted users.":"वर्तमान में अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपा रहे हैं।","Currently showing all {type}.":"वर्तमान में सभी {{type}} दिखा रहे हैं।","Click continue to show all {type}.":"सभी {{type}} दिखाने के लिए जारी रखें पर क्लिक करें।","Click continue to hide {type} from untrusted users.":"अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपाने के लिए जारी रखें पर क्लिक करें।","Trusted users include people you follow and people they follow.":"विश्वसनीय उपयोगकर्ताओं में वे लोग शामिल हैं जिन्हें आप फॉलो करते हैं और जिन्हें वे फॉलो करते हैं।",Continue:"जारी रखें","Successfully updated mute list":"म्यूट सूची सफलतापूर्वक अपडेट की गई","No pubkeys found from {url}":"{{url}} से कोई pubkeys नहीं मिली","Translating...":"अनुवाद कर रहे हैं...",Translate:"अनुवाद करें","Show original":"मूल दिखाएं",Website:"वेबसाइट","Hide untrusted notes":"अविश्वसनीय नोट्स छुपाएं","Open in another client":"दूसरे क्लाइंट में खोलें",Community:"समुदाय",Group:"समूह","Live event":"लाइव इवेंट",Article:"लेख",Unfavorite:"पसंदीदा से हटाएं","Recommended relays":"अनुशंसित रिले","Blossom server URLs":"ब्लॉसम सर्वर URLs","You need to add at least one blossom server in order to upload media files.":"मीडिया फाइलें अपलोड करने के लिए आपको कम से कम एक ब्लॉसम सर्वर जोड़ना होगा।","Recommended blossom servers":"अनुशंसित ब्लॉसम सर्वर","Enter Blossom server URL":"ब्लॉसम सर्वर URL दर्ज करें",Preferred:"प्राथमिकता","Multiple choice (select one or more)":"बहुविकल्पीय (एक या अधिक चुनें)",Vote:"वोट","{{number}} votes":"{{number}} वोट","Total votes":"कुल वोट","Poll has ended":"पोल समाप्त हो गया","Poll ends at {{time}}":"पोल {{time}} पर समाप्त होता है","Load results":"परिणाम लोड करें","This is a poll note.":"यह एक पोल नोट है।","Unlike regular notes, polls are not widely supported and may not display on other clients.":"नियमित नोट्स के विपरीत, पोल व्यापक रूप से समर्थित नहीं हैं और अन्य क्लाइंट पर प्रदर्शित नहीं हो सकते।","Option {{number}}":"विकल्प {{number}}","Add Option":"विकल्प जोड़ें","Allow multiple choices":"एकाधिक विकल्पों की अनुमति दें","End Date (optional)":"समाप्ति तिथि (वैकल्पिक)","Clear end date":"समाप्ति तिथि साफ़ करें","Relay URLs (optional, comma-separated)":"रिले URLs (वैकल्पिक, कॉमा से अलग)","Remove poll":"पोल हटाएं","Refresh results":"परिणाम रीफ्रेश करें",Poll:"पोल",Media:"मीडिया","Republish to ...":"पुनः प्रकाशित करें...","Successfully republish to your write relays":"आपके राइट रिले पर सफलतापूर्वक पुनः प्रकाशित","Failed to republish to your write relays: {{error}}":"आपके राइट रिले पर पुनः प्रकाशित करने में असफल: {{error}}","Successfully republish to relay set: {{name}}":"रिले सेट में सफलतापूर्वक पुनः प्रकाशित: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"रिले सेट में पुनः प्रकाशित करने में असफल: {{name}}। त्रुटि: {{error}}","Successfully republish to relay: {{url}}":"रिले पर सफलतापूर्वक पुनः प्रकाशित: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"रिले पर पुनः प्रकाशित करने में असफल: {{url}}। त्रुटि: {{error}}","Write relays":"राइट रिले","No more reactions":"कोई और प्रतिक्रियाएं नहीं","No reactions yet":"अभी तक कोई प्रतिक्रियाएं नहीं","No more zaps":"कोई और जैप्स नहीं","No zaps yet":"अभी तक कोई जैप्स नहीं","No more reposts":"कोई और रीपोस्ट नहीं","No reposts yet":"अभी तक कोई रीपोस्ट नहीं",Reposts:"रीपोस्ट",FollowListNotFoundConfirmation:"फॉलो सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को फॉलो किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली फॉलो सूची नष्ट हो जाएगी।",MuteListNotFoundConfirmation:"म्यूट सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को म्यूट किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली म्यूट सूची नष्ट हो जाएगी।","Show NSFW content by default":"डिफ़ॉल्ट रूप से NSFW सामग्री दिखाएं","Custom emoji management":"कस्टम इमोजी प्रबंधन","After changing emojis, you may need to refresh the page":"इमोजी बदलने के बाद, आपको पेज रीफ्रेश करना पड़ सकता है","Too many read relays":"बहुत सारे रीड रिले","Too many write relays":"बहुत सारे राइट रिले","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"आपके पास {{count}} रीड रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"आपके पास {{count}} राइट रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।","Optimize Relay Settings":"रिले सेटिंग्स को अनुकूलित करें","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"आपकी वर्तमान रिले कॉन्फ़िगरेशन इष्टतम नहीं हो सकती। इससे दूसरों के लिए आपकी पोस्ट ढूंढना मुश्किल हो सकता है और अधूरी सूचनाएं मिल सकती हैं।","Optimize Now":"अभी अनुकूलित करें","Maybe Later":"शायद बाद में","Don't remind me again":"मुझे दोबारा याद न दिलाएं",Posts:"पोस्ट",Articles:"लेख",Highlights:"हाइलाइट्स",Polls:"पोल","Voice Posts":"वॉयस पोस्ट","Photo Posts":"फोटो पोस्ट","Video Posts":"वीडियो पोस्ट","Select All":"सभी चुनें","Clear All":"सभी साफ़ करें","Set as default filter":"डिफ़ॉल्ट फिल्टर के रूप में सेट करें",Apply:"लागू करें",Reset:"रीसेट","Share something on this Relay":"इस रिले पर कुछ साझा करें","Try deleting this note":"इस नोट को हटाने का प्रयास करें","Deletion request sent to {{count}} relays":"{{count}} रिले को डिलीट अनुरोध भेजा गया","Suitable Relays":"उपयुक्त रिले","People, keywords, or relays":"लोग, कीवर्ड या रिले","Hide content mentioning muted users":"म्यूट किए गए उपयोगकर्ताओं का उल्लेख करने वाली सामग्री छुपाएं","This note mentions a user you muted":"यह नोट एक उपयोगकर्ता का उल्लेख करता है जिसे आपने म्यूट किया है",Filter:"फिल्टर","mentioned you in a note":"ने आपका एक नोट में उल्लेख किया","quoted your note":"ने आपके नोट को उद्धृत किया","voted in your poll":"ने आपके पोल में वोट किया","reacted to your note":"ने आपके नोट पर प्रतिक्रिया दी","reposted your note":"ने आपके नोट को रीपोस्ट किया","zapped your note":"ने आपके नोट को जैप किया","highlighted your note":"ने आपके नोट को हाइलाइट किया","zapped you":"ने आपको जैप किया","Mark as read":"पढ़ा हुआ मार्क करें",Report:"रिपोर्ट करें","Successfully report":"सफलतापूर्वक रिपोर्ट किया गया","Failed to report":"रिपोर्ट करने में असफल",nudity:"नग्नता",malware:"मैलवेयर",profanity:"अश्लीलता",illegal:"अवैध सामग्री",spam:"स्पैम",other:"अन्य","Notification list style":"सूचना सूची शैली","See extra info for each notification":"प्रत्येक सूचना के लिए अतिरिक्त जानकारी देखें","See more notifications at a glance":"एक नज़र में अधिक सूचनाएं देखें",Detailed:"विस्तृत",Compact:"संक्षिप्त","Submit Relay":"रिले सबमिट करें",Homepage:"होमपेज","Proof of Work (difficulty {{minPow}})":"कार्य प्रमाण (कठिनाई {{minPow}})","via {{client}}":"के माध्यम से {{client}}","Auto-load media":"मीडिया स्वतः लोड करें",Always:"हमेशा","Wi-Fi only":"केवल Wi-Fi",Never:"कभी नहीं","Click to load image":"इमेज लोड करने के लिए क्लिक करें","Click to load media":"मीडिया लोड करने के लिए क्लिक करें","Click to load YouTube video":"YouTube वीडियो लोड करने के लिए क्लिक करें","{{count}} reviews":"{{count}} समीक्षाएं","Write a review":"समीक्षा लिखें","No reviews yet. Be the first to write one!":"अभी तक कोई समीक्षा नहीं। पहले लिखने वाले बनें!","View more reviews":"और समीक्षाएं देखें","Failed to review":"समीक्षा असफल","Write a review and pick a star rating":"एक समीक्षा लिखें और स्टार रेटिंग चुनें",Submit:"सबमिट करें","Reviews for {{relay}}":"{{relay}} के लिए समीक्षाएं","No relays selected":"कोई रिले चयनित नहीं","Post to":"पोस्ट करें","Write relays and {{count}} other relays":"राइट रिले और {{count}} अन्य रिले","{{count}} relays":"{{count}} रिले","Republishing...":"पुनः प्रकाशित कर रहे हैं...","Connected to":"से कनेक्टेड","Disconnect Wallet":"वॉलेट डिस्कनेक्ट करें","Are you absolutely sure?":"क्या आप पूरी तरह से सुनिश्चित हैं?","You will not be able to send zaps to others.":"आप दूसरों को जैप नहीं भेज पाएंगे।",Disconnect:"डिस्कनेक्ट करें","Start with a Rizful Vault":"Rizful वॉल्ट के साथ शुरू करें","or other wallets":"या अन्य वॉलेट","Rizful Vault":"Rizful वॉल्ट","Rizful Vault connected!":"Rizful वॉल्ट कनेक्टेड!","You can now use your Rizful Vault to zap your favorite notes and creators.":"अब आप अपने Rizful वॉल्ट का उपयोग अपने पसंदीदा नोट्स और क्रिएटर्स को जैप करने के लिए कर सकते हैं।","Your Lightning Address":"आपका लाइटनिंग पता","New to Rizful?":"Rizful में नया?","Sign up for Rizful":"Rizful के लिए साइन अप करें","If you already have a Rizful account, you can skip this step.":"यदि आपके पास पहले से ही एक Rizful अकाउंट है, तो आप इस चरण को छोड़ सकते हैं।","Get your one-time code":"अपना वन-टाइम कोड प्राप्त करें","Get code":"कोड प्राप्त करें","Connect to your Rizful Vault":"अपने Rizful वॉल्ट से कनेक्ट करें","Paste your one-time code here":"अपना वन-टाइम कोड यहां पेस्ट करें",Connect:"कनेक्ट करें","Set up your wallet to send and receive sats!":"सैट्स भेजने और प्राप्त करने के लिए अपना वॉलेट सेट करें!","Set up":"सेट करें",Pinned:"पिन किया गया",Unpin:"पिन हटाएं",Unpinning:"पिन हटाया जा रहा है","Pinning...":"पिन कर रहे हैं...","Pinned!":"पिन किया गया!","Failed to pin: {{error}}":"पिन करने में असफल: {{error}}","Unpinning...":"पिन हटाया जा रहा है...","Unpinned!":"पिन हटा दिया गया!","Failed to unpin: {{error}}":"पिन हटाने में असफल: {{error}}","Unpin from profile":"प्रोफ़ाइल से पिन हटाएं","Pin to profile":"प्रोफ़ाइल पर पिन करें",Appearance:"दिखावट","Pure Black":"शुद्ध काला",Default:"डिफ़ॉल्ट",Red:"लाल",Orange:"नारंगी",Amber:"एम्बर",Yellow:"पीला",Lime:"नींबू",Green:"हरा",Emerald:"पन्ना",Teal:"टील",Cyan:"सियान",Sky:"आसमानी",Blue:"नीला",Indigo:"नील",Violet:"बैंगनी",Purple:"जामुनी",Fuchsia:"फुशिया",Pink:"गुलाबी",Rose:"गुलाब","Primary color":"प्राथमिक रंग",Layout:"लेआउट","Two-column":"दोहरा स्तंभ","Single-column":"एकल स्तंभ",Reviews:"समीक्षाएं",Extension:"एक्सटेंशन",Remote:"रिमोट","Encrypted Key":"एन्क्रिप्टेड की","Private Key":"प्राइवेट की","Welcome to Smesh":"Smesh में आपका स्वागत है","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh एक क्लाइंट है जो रिले ब्राउज़ करने पर केंद्रित है। रोचक रिले की खोज करके शुरू करें या अपनी फ़ॉलोइंग फ़ीड देखने के लिए लॉगिन करें।","Explore Relays":"रिले एक्सप्लोर करें","Choose a feed":"एक फीड चुनें","and {{x}} others":"और {{x}} अन्य",selfZapWarning:"Smesh आपके द्वारा स्वयं को zap करने पर क्या होता है, इसके लिए जिम्मेदार नहीं है। अपनी जोखिम पर आगे बढ़ें। 😉⚡","Emoji Pack":"इमोजी पैक","Emoji pack added":"इमोजी पैक जोड़ा गया","Add emoji pack failed":"इमोजी पैक जोड़ना विफल रहा","Emoji pack removed":"इमोजी पैक हटाया गया","Remove emoji pack failed":"इमोजी पैक हटाना विफल रहा",Added:"जोड़ा गया","Emoji Packs":"इमोजी पैक","My Packs":"मेरे पैक","Adding...":"जोड़ा जा रहा है...","Removing...":"हटाया जा रहा है...",Reload:"रीलोड करें","Request to Join Relay":"रिले में शामिल होने का अनुरोध करें","Leave Relay":"रिले छोड़ें",Leave:"छोड़ें","Are you sure you want to leave this relay?":"क्या आप वाकई इस रिले को छोड़ना चाहते हैं?","Join request sent successfully":"शामिल होने का अनुरोध सफलतापूर्वक भेजा गया","Failed to send join request":"शामिल होने का अनुरोध भेजने में विफल","Leave request sent successfully":"छोड़ने का अनुरोध सफलतापूर्वक भेजा गया","Failed to send leave request":"छोड़ने का अनुरोध भेजने में विफल","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"यदि आपके पास निमंत्रण कोड है तो दर्ज करें। अन्यथा, अनुरोध भेजने के लिए इसे खाली छोड़ दें।","Invite Code (Optional)":"निमंत्रण कोड (वैकल्पिक)","Enter invite code":"निमंत्रण कोड दर्ज करें","Sending...":"भेजा जा रहा है...","Send Request":"अनुरोध भेजें","You can get an invite code from a relay member.":"आप एक रिले सदस्य से निमंत्रण कोड प्राप्त कर सकते हैं।","Enter the invite code you received from a relay member.":"रिले सदस्य से प्राप्त निमंत्रण कोड दर्ज करें।","Get Invite Code":"निमंत्रण कोड प्राप्त करें","Share this invite code with others to invite them to join this relay.":"इस रिले में शामिल होने के लिए दूसरों को आमंत्रित करने के लिए इस निमंत्रण कोड को साझा करें।","Invite Code":"निमंत्रण कोड",Copy:"कॉपी करें","This invite code can be used by others to join the relay.":"यह निमंत्रण कोड दूसरों द्वारा रिले में शामिल होने के लिए उपयोग किया जा सकता है।","No invite code available from this relay.":"इस रिले से कोई निमंत्रण कोड उपलब्ध नहीं है।",Close:"बंद करें","Failed to get invite code from relay":"रिले से निमंत्रण कोड प्राप्त करने में विफल","Failed to get invite code":"निमंत्रण कोड प्राप्त करने में विफल","Invite code copied to clipboard":"निमंत्रण कोड क्लिपबोर्ड पर कॉपी किया गया","Favicon URL":"फ़ेविकॉन URL","Filter out onion relays":"ओनियन रिले फ़िल्टर करें","Click to load X post":"X पोस्ट लोड करने के लिए क्लिक करें","View Nostr comments":"Nostr टिप्पणियाँ देखें","Search for notes":"नोट्स खोजें","Search for hashtag":"हैशटैग खोजें","Go to note":"नोट पर जाएं","Go to relay":"रिले पर जाएं","View discussions about this":"इस सामग्री के बारे में चर्चाएँ देखें","Open link":"लिंक खोलें","View Nostr discussions":"Nostr चर्चाएँ देखें","Optimal relays":"इष्टतम रिले","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"इष्टतम रिले पर सफलतापूर्वक पुनः प्रकाशित (आपके लेखन रिले और उल्लिखित उपयोगकर्ताओं के पठन रिले)","Failed to republish to optimal relays: {{error}}":"इष्टतम रिले पर पुनः प्रकाशित करने में विफल: {{error}}","External Content":"बाहरी सामग्री",Highlight:"हाइलाइट","Optimal relays and {{count}} other relays":"इष्टतम रिले और {{count}} अन्य रिले","Likely spam account (Trust score: {{percentile}}%)":"संभावित स्पैम खाता (विश्वास स्कोर: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"संदिग्ध खाता (विश्वास स्कोर: {{percentile}}%)","n users":"{{count}} उपयोगकर्ता","View Details":"विवरण देखें","Follow Pack Not Found":"फॉलो पैक नहीं मिला","Follow pack not found":"फॉलो पैक नहीं मिला",Users:"उपयोगकर्ता",Feed:"फ़ीड","Follow Pack":"फॉलो पैक","Load earlier":"पहले लोड करें","Last 24 hours":"पिछले 24 घंटे","Last {{count}} days":"पिछले {{count}} दिन",notes:"नोट्स","Quick reaction":"त्वरित प्रतिक्रिया","If enabled, you can react with a single click. Click and hold for more options":"यदि सक्षम है, तो आप एक क्लिक से प्रतिक्रिया दे सकते हैं। अधिक विकल्पों के लिए क्लिक करें और रोकें","Quick reaction emoji":"त्वरित प्रतिक्रिया इमोजी","Select emoji":"इमोजी चुनें","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"विशेष फ़ॉलो","Unfollow Special":"विशेष अनफ़ॉलो","Personal Feeds":"व्यक्तिगत फ़ीड","Relay Feeds":"रिले फ़ीड","Create Highlight":"हाइलाइट बनाएं","Write your thoughts about this highlight...":"इस हाइलाइट के बारे में अपने विचार लिखें...","Publish Highlight":"हाइलाइट प्रकाशित करें","Show replies":"जवाब दिखाएं","Hide replies":"जवाब छुपाएं","Welcome to Smesh!":"Smesh में आपका स्वागत है!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"आपका फ़ीड खाली है क्योंकि आप अभी तक किसी को फ़ॉलो नहीं कर रहे हैं। दिलचस्प सामग्री का अन्वेषण करके और अपनी पसंद के उपयोगकर्ताओं को फ़ॉलो करके शुरू करें!","Search Users":"उपयोगकर्ता खोजें","Create New Account":"नया खाता बनाएं",Important:"महत्वपूर्ण","Generate Your Account":"अपना खाता बनाएं","Your private key IS your account. Keep it safe!":"आपकी निजी कुंजी ही आपका खाता है। इसे सुरक्षित रखें!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Nostr में, आपकी निजी कुंजी ही आपका खाता है। यदि आप अपनी निजी कुंजी खो देते हैं, तो आप अपना खाता हमेशा के लिए खो देते हैं।","Your Private Key":"आपकी निजी कुंजी","Generate new key":"नई कुंजी बनाएं","Download Backup File":"बैकअप फ़ाइल डाउनलोड करें","Copied to Clipboard":"क्लिपबोर्ड पर कॉपी किया गया","Copy to Clipboard":"क्लिपबोर्ड पर कॉपी करें","I already saved my private key securely.":"मैंने पहले ही अपनी निजी कुंजी को सुरक्षित रूप से सहेज लिया है।","Almost Done!":"लगभग हो गया!","Set a password to encrypt your key, or skip to finish":"अपनी कुंजी को एन्क्रिप्ट करने के लिए पासवर्ड सेट करें, या समाप्त करने के लिए छोड़ें","Password Protection (Optional)":"पासवर्ड सुरक्षा (वैकल्पिक)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"पासवर्ड सेट करने से इस ब्राउज़र में आपकी निजी कुंजी एन्क्रिप्ट हो जाती है। आप इस चरण को छोड़ सकते हैं, लेकिन हम अतिरिक्त सुरक्षा के लिए एक सेट करने की सलाह देते हैं।","Password (Optional)":"पासवर्ड (वैकल्पिक)","Enter password or leave empty to skip":"पासवर्ड दर्ज करें या छोड़ने के लिए खाली छोड़ें","Confirm Password":"पासवर्ड की पुष्टि करें","Re-enter password":"पासवर्ड फिर से दर्ज करें","Passwords do not match":"पासवर्ड मेल नहीं खाते","Finish Signup":"साइनअप समाप्त करें","Create Your Nostr Account":"अपना Nostr खाता बनाएं","Generate your unique private key. This is your digital identity.":"अपनी अद्वितीय निजी कुंजी उत्पन्न करें। यह आपकी डिजिटल पहचान है।","Critical: Save Your Private Key":"महत्वपूर्ण: अपनी निजी कुंजी सहेजें","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"आपकी निजी कुंजी आपका खाता है। कोई पासवर्ड पुनर्प्राप्ति नहीं है। यदि आप इसे खो देते हैं, तो आप हमेशा के लिए अपना खाता खो देंगे। कृपया इसे सुरक्षित स्थान पर सहेजें।","I have safely backed up my private key":"मैंने अपनी निजी कुंजी को सुरक्षित रूप से बैकअप कर लिया है","Secure Your Account":"अपने खाते को सुरक्षित करें","Add an extra layer of protection with a password":"पासवर्ड के साथ सुरक्षा की एक अतिरिक्त परत जोड़ें","Password Protection (Recommended)":"पासवर्ड सुरक्षा (अनुशंसित)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"इस ब्राउज़र में अपनी निजी कुंजी को एन्क्रिप्ट करने के लिए पासवर्ड जोड़ें। यह वैकल्पिक है लेकिन बेहतर सुरक्षा के लिए दृढ़ता से अनुशंसित है।","Create a password (or skip)":"एक पासवर्ड बनाएं (या छोड़ें)","Enter your password again":"अपना पासवर्ड फिर से दर्ज करें","Complete Signup":"साइनअप पूर्ण करें",Recommended:"अनुशंसित"}},$be={translation:{"Welcome! 🥳":"Dobrodosli! 🥳",About:"O aplikaciji","New Note":"Nova objava",Post:"Objavi",Home:"Pocetna","Relay settings":"Postavke releja",Settings:"Postavke",SidebarRelays:"Releji",Refresh:"Osvjezi",Profile:"Profil",Logout:"Odjava",Following:"Pracenje",followings:"pracenja",reposted:"podijelilo","just now":"upravo sad","minute ago_one":"prije {{count}} minutu","minute ago_other":"prije {{count}} minuta","n m":"{{n}}m","hour ago_one":"prije {{count}} sat","hour ago_other":"prije {{count}} sati","n h":"{{n}}h","day ago_one":"prije {{count}} dan","day ago_other":"prije {{count}} dana","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Prati",Unfollow:"Otprati","Follow failed":"Pracenje nije uspjelo","Unfollow failed":"Otpracivanje nije uspjelo","show new notes":"prikazi nove objave","loading...":"ucitavanje...","Loading...":"Ucitavanje...","no more notes":"nema vise objava","reply to":"odgovori na",reply:"odgovor",Reply:"Odgovori","load more older replies":"ucitaj starije odgovore","Write something...":"Napisi nesto...",Cancel:"Odustani",Mentions:"Spominjanja","Failed to post":"Objavljivanje nije uspjelo","Post successful":"Objava uspjesna","Your post has been published":"Vasa objava je objavljena",Repost:"Podijeli",Quote:"Citiraj","Copy event ID":"Kopiraj ID dogadjaja","Copy user ID":"Kopiraj ID korisnika","View raw event":"Prikazi neobradjeni dogadjaj",Like:"Svidja mi se","switch to light theme":"prebaci na svijetlu temu","switch to dark theme":"prebaci na tamnu temu","switch to system theme":"prebaci na sistemsku temu",Note:"Objava",note:"objava","username's following":"pracenja korisnika {{username}}","username's used relays":"releji korisnika {{username}}","username's muted":"utisani od {{username}}",Login:"Prijava","Follows you":"Prati vas","Relay Settings":"Postavke releja","Relay set name":"Naziv skupa releja","Add a new relay set":"Dodaj novi skup releja",Add:"Dodaj","n relays":"{{n}} releja",Rename:"Preimenuj","Copy share link":"Kopiraj link za dijeljenje",Delete:"Obrisi","Relay already exists":"Relej vec postoji","invalid relay URL":"nevazeci URL releja","Add a new relay":"Dodaj novi relej",back:"natrag","Lost in the void":"Izgubljeni u praznini","Carry me home":"Odvedi me kuci","no replies":"nema odgovora","Reply to":"Odgovori na",Search:"Pretraga","The relays you are connected to do not support search":"Releji na koje ste povezani ne podrzavaju pretragu","Show more...":"Prikazi vise...","All users":"Svi korisnici","Display replies":"Prikazi odgovore",Notes:"Objave",Replies:"Odgovori",Notifications:"Obavijesti","no more notifications":"nema vise obavijesti","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Prijava privatnim kljucem nije sigurna. Preporucuje se koristiti ekstenziju preglednika za prijavu, kao sto su alby, nostr-keyx ili nos2x. Ako morate koristiti privatni kljuc, barem postavite lozinku za enkripciju.","Login with Browser Extension":"Prijava s ekstenzijom preglednika","Login with Bunker":"Prijava s Bunker-om","Login with Private Key":"Prijava s privatnim kljucem","Custom relay (optional)":"Prilagodjeni relej (opcionalno)","Copy this connection string to your signer app":"Kopirajte ovaj string za povezivanje u vasu signer aplikaciju","reload notes":"ponovno ucitaj objave","Logged in Accounts":"Prijavljeni racuni","Add an Account":"Dodaj racun","More options":"Vise opcija","Add client tag":"Dodaj oznaku klijenta","Show others this was sent via Smesh":"Pokazi drugima da je poslano preko Smesh","Are you sure you want to logout?":"Jeste li sigurni da se zelite odjaviti?","relay sets":"skupovi releja",edit:"uredi",Languages:"Jezici",Theme:"Tema",System:"Sustav",Light:"Svijetla",Dark:"Tamna",Temporary:"Privremeno","Choose a relay set":"Odaberite skup releja","Switch account":"Promijeni racun",Pictures:"Slike","Picture note":"Slikovna objava","A special note for picture-first clients like Olas":"Posebna objava za klijente fokusirane na slike poput Olas","Picture note requires images":"Slikovna objava zahtijeva slike",Relays:"Releji",Image:"Slika","R & W":"C & P",Read:"Citanje",Write:"Pisanje","Pull relay sets":"Povuci skupove releja","Select the relay sets you want to pull":"Odaberite skupove releja koje zelite povuci","No relay sets found":"Nisu pronadjeni skupovi releja","Pull n relay sets":"Povuci {{n}} skupova releja",Pull:"Povuci","Select all":"Odaberi sve","Relay Sets":"Skupovi releja","Read & Write Relays":"Releji za citanje i pisanje","read relays description":"Releji za citanje sluze za trazenje dogadjaja o vama. Drugi korisnici ce objavljivati dogadjaje koje zele da vidite na vase releje za citanje.","write relays description":"Releji za pisanje sluze za objavljivanje vasih dogadjaja. Drugi korisnici ce traziti vase dogadjaje s vasih releja za pisanje.","read & write relays notice":"Broj releja za citanje i pisanje idealno bi trebao biti izmedju 2 i 4.","Don't have an account yet?":"Nemate racun?","or simply generate a private key":"ili jednostavno generirajte privatni kljuc","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ovo je privatni kljuc. Ne dijelite ga ni s kim. Cuvajte ga na sigurnom. Necete ga moci oporaviti ako ga izgubite.",Edit:"Uredi",Save:"Spremi","Display Name":"Prikazno ime",Bio:"Biografija","Nostr Address (NIP-05)":"Nostr adresa (NIP-05)","Invalid NIP-05 address":"Nevazeca NIP-05 adresa","Copy private key":"Kopiraj privatni kljuc","Enter the password to decrypt your ncryptsec":"Unesite lozinku za dekriptiranje vaseg ncryptsec",Back:"Natrag","optional: encrypt nsec":"opcionalno: enkriptiraj nsec",password:"lozinka","Sign up":"Registracija","Save to":"Spremi u","Enter a name for the new relay set":"Unesite naziv za novi skup releja","Save to a new relay set":"Spremi u novi skup releja",Mute:"Utisaj",Muted:"Utisano",Unmute:"Ukljuci","Unmute user":"Ukljuci korisnika","Append n relays":"Dodaj {{n}} releja",Append:"Dodaj","Select relays to append":"Odaberite releje za dodavanje","calculating...":"racunanje...","Calculate optimal read relays":"Izracunaj optimalne releje za citanje","Login to set":"Prijavite se za postavljanje","Please login to view following feed":"Prijavite se za prikaz feeda pracenja","Send only to r":"Posalji samo na {{r}}","Send only to these relays":"Posalji samo na ove releje",Explore:"Istrazuj","Search relays":"Pretrazi releje",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Pretraga",relayInfoBadgePayment:"Placanje",Operator:"Operater",Contact:"Kontakt",Software:"Softver",Version:"Verzija","Random Relays":"Nasumicni releji",randomRelaysRefresh:"Osvjezi","Explore more":"Istrazuj vise","Payment page":"Stranica za placanje","Supported NIPs":"Podrzani NIP-ovi","Open in a":"Otvori u {{a}}","Cannot handle event of kind k":"Ne mogu obraditi dogadjaj vrste {{k}}","Sorry! The note cannot be found 😔":"Zao nam je! Objava nije pronadjena 😔","This user has been muted":"Ovaj korisnik je utisan",Wallet:"Novcanik",Sats:"Sats",sats:"sats","Zap to":"Zapni","Zap n sats":"Zapni {{n}} sats",zapComment:"Komentar","Default zap amount":"Zadani iznos zapa","Default zap comment":"Zadani komentar zapa","Lightning Address (or LNURL)":"Lightning adresa (ili LNURL)","Quick zap":"Brzi zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ako je ukljuceno, mozete zapnuti jednim klikom. Kliknite i drzite za prilagodjeni iznos",All:"Sve",Reactions:"Reakcije",Zaps:"Zapovi","Earlier notifications":"Ranije obavijesti","Temporarily display this note":"Privremeno prikazi ovu objavu",buttonFollowing:"Pratim","Are you sure you want to unfollow this user?":"Jeste li sigurni da zelite otpratiti ovog korisnika?","Recent Supporters":"Nedavni podrzavatelji","Seen on":"Vidjeno na","Temporarily display this reply":"Privremeno prikazi ovaj odgovor","Note not found":"Objava nije pronadjena","no more replies":"nema vise odgovora","Relay sets":"Skupovi releja","Favorite Relays":"Omiljeni releji","Following's Favorites":"Favoriti pracenih","no more relays":"nema vise releja","Favorited by":"Favorit od","Post settings":"Postavke objave","Media upload service":"Servis za prijenos medija","Choose a relay":"Odaberite relej","no relays found":"releji nisu pronadjeni",video:"video","Show n new notes":"Prikazi {{n}} novih objava","n new notes above":"{{n}} novih objava iznad",YouTabName:"Vi",Bookmark:"Oznaci","Remove bookmark":"Ukloni oznaku","no bookmarks found":"oznake nisu pronadjene","no more bookmarks":"nema vise oznaka",Bookmarks:"Oznake","Show more":"Prikazi vise",General:"Opcenito",Autoplay:"Automatsko pokretanje","Enable video autoplay on this device":"Ukljuci automatsko pokretanje videa na ovom uredjaju","Paste or drop media files to upload":"Zalijepite ili ispustite medijske datoteke za prijenos",Preview:"Pregled","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Upravo cete objaviti dogadjaj potpisan od [{{eventAuthorName}}]. Trenutno ste prijavljeni kao [{{currentUsername}}]. Jeste li sigurni?",From:"Od","Comment on":"Komentiraj na","View on njump.me":"Pogledaj na njump.me","Hide content from untrusted users":"Sakrij sadrzaj nepouzdanih korisnika","Only show content from your followed users and the users they follow":"Prikazi samo sadrzaj korisnika koje pratite i korisnika koje oni prate","Followed by":"Pracen od","Mute user privately":"Privatno utisaj korisnika","Mute user publicly":"Javno utisaj korisnika",Quotes:"Citati","Lightning Invoice":"Lightning racun","Bookmark failed":"Oznacavanje nije uspjelo","Remove bookmark failed":"Uklanjanje oznake nije uspjelo",Pay:"Plati",interactions:"interakcije",notifications:"obavijesti","Show untrusted {type}":"Prikazi nepouzdane {{type}}","Hide untrusted {type}":"Sakrij nepouzdane {{type}}","Currently hiding {type} from untrusted users.":"Trenutno skrivate {{type}} nepouzdanih korisnika.","Currently showing all {type}.":"Trenutno prikazujete sve {{type}}.","Click continue to show all {type}.":"Kliknite nastavi za prikaz svih {{type}}.","Click continue to hide {type} from untrusted users.":"Kliknite nastavi za skrivanje {{type}} nepouzdanih korisnika.","Trusted users include people you follow and people they follow.":"Pouzdani korisnici ukljucuju ljude koje pratite i ljude koje oni prate.",Continue:"Nastavi","Successfully updated mute list":"Lista utisanih uspjesno azurirana","No pubkeys found from {url}":"Nisu pronadjeni javni kljucevi s {{url}}",Website:"Web stranica","Hide untrusted notes":"Sakrij nepouzdane objave","Hide untrusted interactions":"Sakrij nepouzdane interakcije","Hide untrusted notifications":"Sakrij nepouzdane obavijesti","Open in another client":"Otvori u drugom klijentu",Community:"Zajednica",Group:"Grupa","Live event":"Prijenos uzivo",Article:"Clanak",Unfavorite:"Ukloni iz favorita","Recommended relays":"Preporuceni releji","Blossom server URLs":"Blossom URL-ovi posluzitelja","You need to add at least one blossom server in order to upload media files.":"Trebate dodati barem jedan Blossom posluzitelj za prijenos medijskih datoteka.","Recommended blossom servers":"Preporuceni Blossom posluzitelji","Enter Blossom server URL":"Unesite URL Blossom posluzitelja",Preferred:"Preferirano","Multiple choice (select one or more)":"Visestruki odabir (odaberite jedan ili vise)",Vote:"Glasaj","{{number}} votes":"{{number}} glasova","Total votes":"Ukupno glasova","Poll has ended":"Anketa je zavrsena","Poll ends at {{time}}":"Anketa zavrsava u {{time}}","Load results":"Ucitaj rezultate","This is a poll note.":"Ovo je anketa.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Za razliku od obicnih objava, ankete nisu siroko podrzane i mozda se nece prikazati na drugim klijentima.","Option {{number}}":"Opcija {{number}}","Add Option":"Dodaj opciju","Allow multiple choices":"Dopusti visestruki odabir","End Date (optional)":"Datum zavrsetka (opcionalno)","Clear end date":"Obrisi datum zavrsetka","Relay URLs (optional, comma-separated)":"URL-ovi releja (opcionalno, razdvojeni zarezom)","Remove poll":"Ukloni anketu","Refresh results":"Osvjezi rezultate",Poll:"Anketa",Media:"Mediji","Republish to ...":"Ponovno objavi na ...","Successfully republish to your write relays":"Uspjesno ponovno objavljeno na vase releje za pisanje","Failed to republish to your write relays: {{error}}":"Ponovno objavljivanje na vase releje za pisanje nije uspjelo: {{error}}","Successfully republish to relay set: {{name}}":"Uspjesno ponovno objavljeno na skup releja: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Ponovno objavljivanje na skup releja: {{name}} nije uspjelo. Greska: {{error}}","Successfully republish to relay: {{url}}":"Uspjesno ponovno objavljeno na relej: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Ponovno objavljivanje na relej: {{url}} nije uspjelo. Greska: {{error}}","Write relays":"Releji za pisanje","No more reactions":"Nema vise reakcija","No reactions yet":"Nema reakcija","No more zaps":"Nema vise zapova","No zaps yet":"Nema zapova","No more reposts":"Nema vise dijeljenja","No reposts yet":"Nema dijeljenja",Reposts:"Dijeljenja",FollowListNotFoundConfirmation:"Lista pracenja nije pronadjena. Zelite li stvoriti novu? Ako ste ranije pratili korisnike, NEMOJTE potvrditi jer ce ova operacija uzrokovati gubitak vase prethodne liste pracenja.",MuteListNotFoundConfirmation:"Lista utisanih nije pronadjena. Zelite li stvoriti novu? Ako ste ranije utisavali korisnike, NEMOJTE potvrditi jer ce ova operacija uzrokovati gubitak vase prethodne liste utisanih.","Show NSFW content by default":"Prikazi NSFW sadrzaj po zadanom","Custom emoji management":"Upravljanje prilagodjenim emojijima","After changing emojis, you may need to refresh the page":"Nakon promjene emojija, mozda cete trebati osvjeziti stranicu","Too many read relays":"Previse releja za citanje","Too many write relays":"Previse releja za pisanje","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Imate {{count}} releja za citanje. Vecina klijenata koristi samo 2-4 releja, vise od toga je nepotrebno.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Imate {{count}} releja za pisanje. Vecina klijenata koristi samo 2-4 releja, vise od toga je nepotrebno.","Optimize Relay Settings":"Optimiziraj postavke releja","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Vasa trenutna konfiguracija releja mozda nije optimalna. To moze otezati drugima pronalazenje vasih objava i rezultirati nepotpunim obavijestima.","Optimize Now":"Optimiziraj sad","Maybe Later":"Mozda kasnije","Don't remind me again":"Ne podsjjecaj me vise",Posts:"Objave",Articles:"Clanci",Highlights:"Istaknutosti",Polls:"Ankete","Voice Posts":"Glasovne objave","Photo Posts":"Foto objave","Video Posts":"Video objave","Select All":"Odaberi sve","Clear All":"Ponisti sve","Set as default filter":"Postavi kao zadani filtar",Apply:"Primijeni",Reset:"Ponisti","Share something on this Relay":"Podijelite nesto na ovom releju","Try deleting this note":"Pokusaj obrisati ovu objavu","Deletion request sent to {{count}} relays":"Zahtjev za brisanje poslan na {{count}} releja","Suitable Relays":"Prikladni releji","People, keywords, or relays":"Ljudi, kljucne rijeci ili releji","Hide content mentioning muted users":"Sakrij sadrzaj koji spominje utisane korisnike","This note mentions a user you muted":"Ova objava spominje korisnika kojeg ste utisali",Filter:"Filtar","mentioned you in a note":"vas je spomenuo/la u objavi","quoted your note":"je citirao/la vasu objavu","voted in your poll":"je glasao/la u vasoj anketi","reacted to your note":"je reagirao/la na vasu objavu","reposted your note":"je podijelio/la vasu objavu","zapped your note":"je zapnuo/la vasu objavu","highlighted your note":"je istaknuo/la vasu objavu","zapped you":"vas je zapnuo/la","Mark as read":"Oznaci kao procitano",Report:"Prijavi","Successfully report":"Uspjesno prijavljeno","Failed to report":"Prijava nije uspjela",nudity:"Golotinja",malware:"Zlonamjerni softver",profanity:"Vulgarnost",illegal:"Ilegalni sadrzaj",spam:"Spam",other:"Ostalo","Notification list style":"Stil popisa obavijesti","See extra info for each notification":"Pogledajte dodatne informacije za svaku obavijest","See more notifications at a glance":"Pogledajte vise obavijesti na prvi pogled",Detailed:"Detaljno",Compact:"Kompaktno","Submit Relay":"Posalji relej",Homepage:"Pocetna stranica","Proof of Work (difficulty {{minPow}})":"Dokaz rada (tezina {{minPow}})","via {{client}}":"putem {{client}}","Auto-load media":"Automatsko ucitavanje medija",Always:"Uvijek","Wi-Fi only":"Samo Wi-Fi",Never:"Nikad","Click to load image":"Kliknite za ucitavanje slike","Click to load media":"Kliknite za ucitavanje medija","Click to load YouTube video":"Kliknite za ucitavanje YouTube videa","Click to load X post":"Kliknite za ucitavanje X objave","{{count}} reviews":"{{count}} recenzija","Write a review":"Napisi recenziju","No reviews yet. Be the first to write one!":"Nema recenzija. Budite prvi koji ce napisati jednu!","View more reviews":"Pogledaj vise recenzija","Failed to review":"Recenzija nije uspjela","Write a review and pick a star rating":"Napisite recenziju i odaberite ocjenu zvjezdicama",Submit:"Posalji","Reviews for {{relay}}":"Recenzije za {{relay}}","No relays selected":"Nisu odabrani releji","Post to":"Objavi na","Write relays and {{count}} other relays":"Releji za pisanje i {{count}} drugih releja","{{count}} relays":"{{count}} releja","Republishing...":"Ponovno objavljivanje...","Connected to":"Povezano na","Disconnect Wallet":"Odspoji novcanik","Are you absolutely sure?":"Jeste li potpuno sigurni?","You will not be able to send zaps to others.":"Necete moci slati zapove drugima.",Disconnect:"Odspoji","Start with a Rizful Vault":"Zapocnite s Rizful Vault","or other wallets":"ili drugi novcanici","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault povezan!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Sada mozete koristiti svoj Rizful Vault za zapanje omiljenih objava i kreatora.","Your Lightning Address":"Vasa Lightning adresa","New to Rizful?":"Novi na Rizful?","Sign up for Rizful":"Registrirajte se za Rizful","If you already have a Rizful account, you can skip this step.":"Ako vec imate Rizful racun, mozete preskociti ovaj korak.","Get your one-time code":"Dobijte svoj jednokratni kod","Get code":"Dobij kod","Connect to your Rizful Vault":"Povezi se na svoj Rizful Vault","Paste your one-time code here":"Zalijepite svoj jednokratni kod ovdje",Connect:"Povezi","Connect Wallet":"Povezi novcanik","Set up your wallet to send and receive sats!":"Postavite novcanik za slanje i primanje satova!","Set up":"Postavi",Pinned:"Prikvaceno",Unpin:"Odkvaci",Unpinning:"Odkvacivanje","Pinning...":"Prikvacivanje...","Pinned!":"Prikvaceno!","Failed to pin: {{error}}":"Prikvacivanje nije uspjelo: {{error}}","Unpinning...":"Odkvacivanje...","Unpinned!":"Odkvaceno!","Failed to unpin: {{error}}":"Odkvacivanje nije uspjelo: {{error}}","Unpin from profile":"Odkvaci s profila","Pin to profile":"Prikvaci na profil",Appearance:"Izgled","Pure Black":"Cista crna",Default:"Zadano",Red:"Crvena",Orange:"Narancasta",Amber:"Jantarna",Yellow:"Zuta",Lime:"Limeta",Green:"Zelena",Emerald:"Smaragdna",Teal:"Tirkiznozelena",Cyan:"Cijan",Sky:"Nebeska",Blue:"Plava",Indigo:"Indigo",Violet:"Ljubicasta",Purple:"Purpurna",Fuchsia:"Fuksija",Pink:"Roza",Rose:"Ruzicasta","Primary color":"Primarna boja",Layout:"Raspored","Two-column":"Dva stupca","Single-column":"Jedan stupac",Reviews:"Recenzije",Extension:"Ekstenzija",Remote:"Udaljeno","Encrypted Key":"Enkriptirani kljuc","Private Key":"Privatni kljuc","Welcome to Smesh":"Dobrodosli na Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh je klijent fokusiran na pregledavanje releja. Zapocnite istrazivanjem zanimljivih releja ili se prijavite za prikaz vaseg feeda pracenja.","Explore Relays":"Istrazuj releje","Choose a feed":"Odaberite feed","and {{x}} others":"i jos {{x}}",selfZapWarning:"Smesh ne odgovara za ono sto se dogodi ako zapnete sami sebe. Nastavljate na vlastitu odgovornost. 😉⚡","Emoji Pack":"Paket emojija","Emoji pack added":"Paket emojija dodan","Add emoji pack failed":"Dodavanje paketa emojija nije uspjelo","Emoji pack removed":"Paket emojija uklonjen","Remove emoji pack failed":"Uklanjanje paketa emojija nije uspjelo",Added:"Dodano","Emoji Packs":"Paketi emojija","My Packs":"Moji paketi","Adding...":"Dodavanje...","Removing...":"Uklanjanje...",Reload:"Ponovno ucitaj","Request to Join Relay":"Zahtjev za pristup releju","Leave Relay":"Napusti relej",Leave:"Napusti","Are you sure you want to leave this relay?":"Jeste li sigurni da zelite napustiti ovaj relej?","Join request sent successfully":"Zahtjev za pristup uspjesno poslan","Failed to send join request":"Slanje zahtjeva za pristup nije uspjelo","Leave request sent successfully":"Zahtjev za napustanje uspjesno poslan","Failed to send leave request":"Slanje zahtjeva za napustanje nije uspjelo","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Unesite pozivni kod ako ga imate. Inace ostavite prazno za slanje zahtjeva.","Invite Code (Optional)":"Pozivni kod (opcionalno)","Enter invite code":"Unesite pozivni kod","Sending...":"Slanje...","Send Request":"Posalji zahtjev","You can get an invite code from a relay member.":"Pozivni kod mozete dobiti od clana releja.","Enter the invite code you received from a relay member.":"Unesite pozivni kod koji ste dobili od clana releja.","Get Invite Code":"Dobij pozivni kod","Share this invite code with others to invite them to join this relay.":"Podijelite ovaj pozivni kod s drugima kako biste ih pozvali na ovaj relej.","Invite Code":"Pozivni kod",Copy:"Kopiraj","This invite code can be used by others to join the relay.":"Ovaj pozivni kod mogu koristiti drugi za pristup releju.","No invite code available from this relay.":"Nema dostupnog pozivnog koda za ovaj relej.",Close:"Zatvori","Failed to get invite code from relay":"Dohvacanje pozivnog koda s releja nije uspjelo","Failed to get invite code":"Dohvacanje pozivnog koda nije uspjelo","Invite code copied to clipboard":"Pozivni kod kopiran u medjuspremnik","Favicon URL":"URL favikone","Filter out onion relays":"Filtriraj onion releje","View Nostr comments":"Pogledaj Nostr komentare","Search for notes":"Pretrazi objave","Search for hashtag":"Pretrazi hashtag","Go to note":"Idi na objavu","Go to relay":"Idi na relej","View discussions about this":"Pogledaj rasprave o ovome","Open link":"Otvori link","View Nostr discussions":"Pogledaj Nostr rasprave","Optimal relays":"Optimalni releji","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Uspjesno ponovno objavljeno na optimalne releje (vasi releji za pisanje i releji za citanje spomenutih korisnika)","Failed to republish to optimal relays: {{error}}":"Ponovno objavljivanje na optimalne releje nije uspjelo: {{error}}","External Content":"Vanjski sadrzaj",Highlight:"Istakni","Optimal relays and {{count}} other relays":"Optimalni releji i {{count}} drugih releja","Likely spam account (Trust score: {{percentile}}%)":"Vjerojatno spam racun (ocjena pouzdanosti: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Sumnjiv racun (ocjena pouzdanosti: {{percentile}}%)","n users":"{{count}} korisnika","n users_one":"{{count}} korisnik","n users_other":"{{count}} korisnika","View Details":"Pogledaj detalje","Follow Pack Not Found":"Paket pracenja nije pronadjen","Follow pack not found":"Paket pracenja nije pronadjen",Users:"Korisnici",Feed:"Feed","Follow Pack":"Paket pracenja","Load earlier":"Ucitaj ranije","Last 24 hours":"Zadnjih 24 sata","Last {{count}} days":"Zadnjih {{count}} dana",notes:"objave","Quick reaction":"Brza reakcija","If enabled, you can react with a single click. Click and hold for more options":"Ako je ukljuceno, mozete reagirati jednim klikom. Kliknite i drzite za vise opcija","Quick reaction emoji":"Emoji brze reakcije","Select emoji":"Odaberite emoji","NSFW content display":"Prikaz NSFW sadrzaja","Hide completely":"Potpuno sakrij","Show but hide content":"Prikazi ali sakrij sadrzaj","Show directly":"Prikazi direktno","Click to view":"Kliknite za prikaz","Special Follow":"Posebno pracenje","Unfollow Special":"Otprati posebno","Personal Feeds":"Osobni feedovi","Relay Feeds":"Feedovi releja","Create Highlight":"Stvori istaknutost","Write your thoughts about this highlight...":"Napisite svoje misli o ovoj istaknutosti...","Publish Highlight":"Objavi istaknutost","Show replies":"Prikazi odgovore","Hide replies":"Sakrij odgovore","Welcome to Smesh!":"Dobrodosli na Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Vas feed je prazan jer jos ne pratite nikoga. Zapocnite istrazivanjem zanimljivog sadrzaja i pracenjem korisnika koji vam se svidjaju!","Search Users":"Pretrazi korisnike","Create New Account":"Stvori novi racun",Important:"Vazno","Generate Your Account":"Generiraj svoj racun","Your private key IS your account. Keep it safe!":"Vas privatni kljuc JE vas racun. Cuvajte ga!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Na Nostr-u, vas privatni kljuc JE vas racun. Ako izgubite privatni kljuc, zauvijek gubite racun.","Your Private Key":"Vas privatni kljuc","Generate new key":"Generiraj novi kljuc","Download Backup File":"Preuzmi sigurnosnu kopiju","Copied to Clipboard":"Kopirano u medjuspremnik","Copy to Clipboard":"Kopiraj u medjuspremnik","I already saved my private key securely.":"Vec sam sigurno spremio/la svoj privatni kljuc.","Almost Done!":"Skoro gotovo!","Set a password to encrypt your key, or skip to finish":"Postavite lozinku za enkripciju kljuca, ili preskocite za zavrsetak","Password Protection (Optional)":"Zastita lozinkom (opcionalno)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Postavljanje lozinke enkriptira vas privatni kljuc u ovom pregledniku. Mozete preskociti ovaj korak, ali preporucujemo postavljanje lozinke za dodatnu sigurnost.","Password (Optional)":"Lozinka (opcionalno)","Enter password or leave empty to skip":"Unesite lozinku ili ostavite prazno za preskakanje","Confirm Password":"Potvrdite lozinku","Re-enter password":"Ponovno unesite lozinku","Passwords do not match":"Lozinke se ne podudaraju","Finish Signup":"Zavrsi registraciju","Create Your Nostr Account":"Stvorite svoj Nostr racun","Generate your unique private key. This is your digital identity.":"Generirajte svoj jedinstveni privatni kljuc. Ovo je vas digitalni identitet.","Critical: Save Your Private Key":"Kriticno: Spremite svoj privatni kljuc","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Vas privatni kljuc JE vas racun. Ne postoji oporavak lozinke. Ako ga izgubite, zauvijek gubite racun. Molimo spremite ga na sigurno mjesto.","I have safely backed up my private key":"Sigurno sam pohranio/la svoj privatni kljuc","Secure Your Account":"Osigurajte svoj racun","Add an extra layer of protection with a password":"Dodajte dodatni sloj zastite lozinkom","Password Protection (Recommended)":"Zastita lozinkom (preporuceno)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Dodajte lozinku za enkripciju privatnog kljuca u ovom pregledniku. Opcionalno, ali jako preporuceno za bolju sigurnost.","Create a password (or skip)":"Stvorite lozinku (ili preskocite)","Enter your password again":"Ponovno unesite lozinku","Complete Signup":"Zavrsi registraciju",Recommended:"Preporuceno"}},Vbe={translation:{"Welcome! 🥳":"Isten hozott! 🥳",About:"Rólunk","New Note":"Új Poszt",Post:"Új Poszt",Home:"Főoldal","Relay settings":"Csomópont beállítások",Settings:"Beállítások",SidebarRelays:"Csomópontok",Refresh:"Frissítés",Profile:"Profil",Logout:"Kilépés",Following:"Követések",followings:"követések",reposted:"újraposztolta","just now":"épp most","minute ago_one":"{{count}} perce","minute ago_other":"{{count}} perce","n m":"{{n}}p","hour ago_one":"{{count}} órája","hour ago_other":"{{count}} órája","n h":"{{n}}ó","day ago_one":"{{count}} napja","day ago_other":"{{count}} napja","n d":"{{n}}n",date:"{{timestamp, date}}",Follow:"Követés",Unfollow:"Követés leállítása","Follow failed":"Követés nem sikerült","Unfollow failed":"Követés leállítása nem sikerült","show new notes":"új posztok mutatása","loading...":"betöltés...","Loading...":"Betöltés...","no more notes":"nincs több poszt","reply to":"válasz",reply:"válasz",Reply:"Válasz","load more older replies":"régebbi posztok betöltése","Write something...":"Írj valamit...",Cancel:"Mégsem",Mentions:"Említések","Failed to post":"Nem sikerült posztolni","Post successful":"Sikeres posztolás","Your post has been published":"Poszt elküldve",Repost:"Újraposztolás",Quote:"Idézet","Copy event ID":"Esemény ID másolása","Copy user ID":"Profil ID másolása","View raw event":"Esemény forrása",Like:"Reakciók","switch to light theme":"világos téma","switch to dark theme":"sötét témá","switch to system theme":"alapértelmezett téma",Note:"Poszt",note:"poszt","username's following":"{{username}} követi","username's used relays":"{{username}} csomópontjai","username's muted":"{{username}} némításai",Login:"Belépés","Follows you":"Követ téged","Relay Settings":"Csomópont Beállítások","Relay set name":"Csomópont lista neve","Add a new relay set":"Új csomópont lista",Add:"Hozzáadás","n relays":"{{n}} csomópont",Rename:"Átnevezés","Copy share link":"Megosztás",Delete:"Törlés","Relay already exists":"Csomópont már létezik","invalid relay URL":"csomópont URL nem megfelelő","Add a new relay":"Új csomópont hozzáadása",back:"vissza","Lost in the void":"Eltűnt a semmiben","Carry me home":"Vigyél haza","no replies":"nincs válasz","Reply to":"Válaszolás",Search:"Keresés","The relays you are connected to do not support search":"Egyik csomópontod sem támogatja a keresést","Show more...":"Továbbiak...","All users":"Összes felhasználó","Display replies":"Válaszok mutatása",Notes:"Posztok",Replies:"Válaszok",Notifications:"Értesítések","no more notifications":"nincs több értesítés","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"A belépés titkos kulccsal nem olyan biztonságos. Használj egy böngésző bővítményt mint az Alby, nos2x vagy nostr-keyx belépéshez. Ha mégis a titkos kulcsot használnád, állíts be jelszót hozzá.","Login with Browser Extension":"Belépés Böngésző Bővítménnyel","Login with Bunker":"Belépés Bunkerrel","Login with Private Key":"Belépés titkos kulccsal","reload notes":"posztok frissítése","Logged in Accounts":"Belépett Profilok","Add an Account":"Profil hozzáadása","More options":"További lehetőségek","Add client tag":"Kliens jelölése","Show others this was sent via Smesh":"Mutasd meg másoknak, hogy Smesh-lel küldted","Are you sure you want to logout?":"Biztosan ki akarsz lépni?","relay sets":"csomópont listák",edit:"szerkesztés",Languages:"Nyelvek",Theme:"Téma",System:"System",Light:"Világos",Dark:"Sötét",Temporary:"Ideiglenes","Choose a relay set":"Válassz egy csomópont listát","Switch account":"Profil váltás",Pictures:"Képek","Picture note":"Kép megjegyzés","A special note for picture-first clients like Olas":"Külön megjegyzés képes klienseknek, mint az Olas","Picture note requires images":"Kép megjegyzéshez képre van szükség",Relays:"Csomópontok",Image:"Kép","R & W":"Írt & Olvasott",Read:"Olvasott",Write:"Írt","Pull relay sets":"Csomópont listák letöltése","Select the relay sets you want to pull":"Válaszd ki a csomópont listákat, amiket letöltenél","No relay sets found":"Csomópont lista nem található","Pull n relay sets":"{{n}} csomópont lista letöltése",Pull:"Letöltés","Select all":"Mind kiválasztása","Relay Sets":"Csomópont Listák","Read & Write Relays":"Írt & Olvasott Csomópontok","read relays description":"Az olvasott csomópontjaidról töltjük le azokat az eseményeket, melyek rólad szólnak. Mások ide küldik azokat az eseményeket, amiket neked akarnak eljuttatni.","write relays description":"Az írt csomópontokra küldöd a saját eseményeidet. Mások itt fogják keresni az általad publikált eseményeket.","read & write relays notice":"Az írt és az olvasott csomópontok száma általában 2 és 4 között ideális.","Don't have an account yet?":"Nincs még profilod?","or simply generate a private key":"vagy generálj egy titkos kulcsot","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ez egy titkos kulcs. Ne mutasd meg senkinek. Tartsd biztonságos helyen. Ha elveszíted, nem fogsz tudhi hozzáférni a profilodhoz.",Edit:"Szerkesztés",Save:"Mentés","Display Name":"Név",Bio:"Bio","Nostr Address (NIP-05)":"Nostr Cím (NIP-05)","Invalid NIP-05 address":"Hibás NIP-05 cím","Copy private key":"Titkos kulcs másolása","Enter the password to decrypt your ncryptsec":"Írd be a jelszót a titkos kulcsodhoz (ncryptsec)",Back:"Vissza","optional: encrypt nsec":"opcionális: titkos kulcs védelme jelszóval",password:"jelszó","Sign up":"Feliratkozás","Save to":"Küldés erre","Enter a name for the new relay set":"Nevezd el új csomópont listát","Save to a new relay set":"Mentés egy új csomópont listába",Mute:"Némítás",Muted:"Némítások",Unmute:"Némítás feloldása","Unmute user":"Felhasználó némításának feloldása","Append n relays":"{{n}} csomópont hozzáadása",Append:"Hozzáadás","Select relays to append":"Válassz ki csomópontokat amiket hozzáadnál","calculating...":"számítás...","Calculate optimal read relays":"Olvasott csomópontok optimalizálása","Login to set":"Lépj be, hogy beállítsd","Please login to view following feed":"Lépj be a feed megtekintéséhez","Send only to r":"Küldés csak a {{r}} csomópontra","Send only to these relays":"Küldés csak ezekre a csomópontokra",Explore:"Felderítés","Search relays":"Csomópontok kereséshez",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Keresés",relayInfoBadgePayment:"Fizetés",Operator:"Üzemeltető",Contact:"Kapcsolat",Software:"Szoftver",Version:"Verzió","Random Relays":"Random csomópontok",randomRelaysRefresh:"Frissítés","Explore more":"Továbbiak felderítése","Payment page":"Fizetés oldal","Supported NIPs":"Támogatott NIP-ek","Open in a":"Megnyitás itt: {{a}}","Cannot handle event of kind k":"Nem támogatott ez a fajta esemény: {{k}}","Sorry! The note cannot be found 😔":"Ejj! A poszt nem található 😔","This user has been muted":"Ez a felhasználó némítva van",Wallet:"Tárca",Sats:"Sat",sats:"sat","Zap to":"Zappolás","Zap n sats":"Zap {{n}} sat",zapComment:"Megjegyzés","Default zap amount":"Alapértelmezett zap összeg","Default zap comment":"Alapértelmezett zap megjegyzés","Lightning Address (or LNURL)":"Lightning Cím (vagy LNURL)","Quick zap":"Gyors zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ha be van kapcsolva, egy klikkeléssel lehet zappolni. Tartsd az egérgombot hosszan lenyomva, hogy az összeget beállítsd.",All:"Minden",Reactions:"Reakciók",Zaps:"Zap-ok","Earlier notifications":"Korábbi értesítések","Temporarily display this note":"Poszt ideiglenes megmutatása",buttonFollowing:"Követed","Are you sure you want to unfollow this user?":"Biztos, hogy leállítod a követést?","Recent Supporters":"Legutóbbi Támogatók","Seen on":"Csomópontok","Temporarily display this reply":"Válasz ideiglenes megmutatása","Note not found":"Poszt nem található","no more replies":"nincs több válasz","Relay sets":"Csomópont listák","Favorite Relays":"Kedvenc Csomópontok","Following's Favorites":"Követettek kedvencei","no more relays":"nincs több csomópont","Favorited by":"Kedvencnek beállították","Post settings":"Poszt beállítások","Media upload service":"Média szerverek","Choose a relay":"Csomópont kiválasztása","no relays found":"nem találtunk csomópontot",video:"videó","Show n new notes":"{{n}} új poszt",YouTabName:"Te",Bookmark:"Könyvjelző","Remove bookmark":"Könyvjelző törlése","no bookmarks found":"nincsenek könyvjelzők","no more bookmarks":"nincs több könyvjelző",Bookmarks:"Könyvjelzők","Show more":"Továbbiak",General:"Általános",Autoplay:"Automatikus lejátszás","Enable video autoplay on this device":"Videók automatikus lejátszása ezen az eszközön","Paste or drop media files to upload":"Média fileok beillesztése vagy drag and drop",Preview:"Előnézet","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Publikálni készülsz egy eseményt, amit [{{eventAuthorName}}] írt alá. Jelenleg [{{currentUsername}}] profillal vagy belépve. Biztosan publikálod?","Platinum Sponsors":"Platina Szponzorok",From:"Tőle","Comment on":"Megjegyzés erre","View on njump.me":"Megtekintés az njump.me-n","Hide content from untrusted users":"Nem megbízható felhasználók tartalmának elrejtése","Only show content from your followed users and the users they follow":"Csak a követett felhasználók és az általuk követettek tartalmának mutatása","Followed by":"Követők","Mute user privately":"Felhasználó némítása (privát)","Mute user publicly":"Felhasználó némítása (nyilvános)",Quotes:"Idézetek","Lightning Invoice":"Lightning Számla","Bookmark failed":"Nem sikerült hozzáadni a könyvjelzőt","Remove bookmark failed":"Nem sikerült törölni a könyvjelzőt",Translation:"Fordítás",Balance:"Egyenleg",characters:"karakter",smeshTranslateApiKeyDescription:"You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}","Top up":"Feltöltés","Will receive: {n} characters":"{{n}} karakter fogadása","Top up {n} sats":"Feltöltés {{n}} sattal","Minimum top up is {n} sats":"Minimum összeg {{n}} sat",Service:"Szolgáltatás","Reset API key":"API kulcs visszaállítása","Are you sure you want to reset your API key? This action cannot be undone.":"Biztos, hogy visszaállítod az API kulcsot? Ez a művelet nem visszavonható.",Warning:"Vigyázat","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"A jelenlegi API kulcs érvénytelenné válik, és az alkalmazások nem fognak működni, amíg az új API kulcsot beállítod.","Service address":"Szolgáltatás címe",Pay:"Fizetés",interactions:"interakciók",notifications:"értesítések","Show untrusted {type}":"{{type}} típus mutatása","Hide untrusted {type}":"{{type}} típus elrejtése","Currently hiding {type} from untrusted users.":"nem megbízható felhasználóktól {{type}} elrejtve.","Currently showing all {type}.":"Összes {{type}} látszik.","Click continue to show all {type}.":"Kattints az összes {{type}} mutatásához.","Click continue to hide {type} from untrusted users.":"Kattints a folytatás gombra, hogy {{type}} elrejtsük a megbízhatatlan profiloktól.","Trusted users include people you follow and people they follow.":"A megbízható profilok közé a követett és az általuk követett profilok tartoznak.",Continue:"Folytatás","Successfully updated mute list":"Némítások sikeresen frissítve","No pubkeys found from {url}":"Nem találtunk pubkeyt itt: {{url}}","Translating...":"Fordítás...",Translate:"Fordítás","Show original":"Eredeti mutatása",Website:"Weboldal","Hide untrusted notes":"Nem megbízható posztok elrejtése","Open in another client":"Megnyitás másik kliensben",Community:"Közösség",Group:"Csoport","Live event":"Élő esemény",Article:"Cikk",Unfavorite:"Törlés a kedvencek közül","Recommended relays":"Ajánlott csomópontok","Blossom server URLs":"Blossom szerver URL-ek","You need to add at least one blossom server in order to upload media files.":"Legalább egy blossom szerverre szükséged van, hogy feltölthess fileokat.","Recommended blossom servers":"Ajánlott blossom szerverek","Enter Blossom server URL":"Blossom szerver URL megadása",Preferred:"Preferált","Multiple choice (select one or more)":"Több is megjelölhető",Vote:"Szavazás","{{number}} votes":"{{number}} szavazat","Total votes":"Összes szavazat","Poll has ended":"Szavazás véget ért","Poll ends at {{time}}":"Szavazás vége: {{time}}","Load results":"Eredmény betöltése","This is a poll note.":"Ez egy szavazás.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"A sima posztokkal ellentétben a szavazásokat nem minden kliens támogatja.","Option {{number}}":"Opció {{number}}","Add Option":"Opció hozzáadás","Allow multiple choices":"Több is megjelölhető","End Date (optional)":"Szavazás Vége (opcionális)","Clear end date":"Vége Időpont törlése","Relay URLs (optional, comma-separated)":"Csomópont URL-ek (opcionális, vesszővel elválasztva)","Remove poll":"Szavazás törlése","Refresh results":"Eredmények frissítése",Poll:"Szavazás",Media:"Média","Republish to ...":"Továbbküldés ide:","Successfully republish to your write relays":"Sikeresen elküldve az írt csomópontokra","Failed to republish to your write relays: {{error}}":"Nem sikerült publikálni az írt relay-ekre: {{error}}","Successfully republish to relay set: {{name}}":"Sikeresen elküldve erre a relay listára: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Nem sikerült elküldeni a relay listára: {{name}}. Hiba: {{error}}","Successfully republish to relay: {{url}}":"Sikeresen elküldve a csomópontra: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Nem sikerült elküldeni a relay-re: {{url}}. Hiba: {{error}}","Write relays":"Írt csomópontok","No more reactions":"Nincs több reakció","No reactions yet":"Nincs még reakció","No more zaps":"Nincs több zap","No zaps yet":"Nincs még zap","No more reposts":"Nincs több újraposztolás","No reposts yet":"Nincs még újraposztolás",Reposts:"Újraposztolások",FollowListNotFoundConfirmation:"Nincs még követési listád, vagy legalábbis nem találjuk. Szeretnél új követési listát létrehozni? Ha ez az első követésed ezzel a profillal, klikkelj az okéra, de ha már követtél más felhasználókat, akkor NE EGYEZZ BELE, mert elveszítheted a követéseidet, és macerás visszaállítani.",MuteListNotFoundConfirmation:"Nem találtunk némítási listát. Létre szeretnél hozni egy új listát? Ha ez az első némításod, nyogodtan nyomj rá az okéra, de ha úgy tudod, hogy vannak már némított profiljaid, akkor NE EGYEZZ BELE, mert elveszhet a meglévő némítási lista, és macerás visszaállítani.","Show NSFW content by default":"Kétes (NSFW) tartalmak mutatása","Custom emoji management":"Egyedi emojik kezelése","After changing emojis, you may need to refresh the page":"Miután szerkesztetted az emojikat, frissítsd az oldalt","Too many read relays":"Túl sok olvasott csomópont","Too many write relays":"Túl sok írt csomópont","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}} írt csomópontod van. Legtöbb kliens csak 2-4-et használ, szükségtelen többet beállítani.","Optimize Relay Settings":"Csomópont Beállítások Optimalizálása","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"A csomópont beállításaid nem optimálisak. Ez megnehezítheti, hogy mások olvassák a posztjaidat és az értesítéseid is hiányosak lehetnek.","Optimize Now":"Optimizálás Most","Maybe Later":"Talán Később","Don't remind me again":"Nem kérek emlékeztetőt",Posts:"Posztok",Articles:"Cikkek",Highlights:"Kiemelések",Polls:"Szavazások","Voice Posts":"Audio Posztok","Photo Posts":"Képes Posztok","Video Posts":"Videó Posztok","Select All":"Mind Kijelölése","Clear All":"Mind Törlése","Set as default filter":"Beállítás alapértelmezett szűrőnek",Apply:"Alkalmaz",Reset:"Visszaállít","Share something on this Relay":"Posztolás erre a csomópontra","Try deleting this note":"Poszt törlés megpróbálása","Deletion request sent to {{count}} relays":"Törlés elküldve {{count}} csomópontnak","Suitable Relays":"Megfelelő Csomópontok","People, keywords, or relays":"Emberek, kulcsszavak vagy csomópontok","Hide content mentioning muted users":"Poszt elrejtése, ha némított felhasználót említ","This note mentions a user you muted":"Ez a poszt egy általad némított felhasználót említ",Filter:"Szűrő","mentioned you in a note":"megemlített téged egy posztban","quoted your note":"idézte egy posztodat","voted in your poll":"szavazott a szavazásodban","reacted to your note":"reagált a posztodra","reposted your note":"újraposztolta a posztodat","zapped your note":"zappolta a posztodat","highlighted your note":"kiemelte a posztodat","zapped you":"zappolt téged","Mark as read":"Megjelölés olvasottként",Report:"Jelentés","Successfully report":"Sikeresen jelentve","Failed to report":"Nem sikerült jelenteni",nudity:"Meztelenkedés",malware:"Malware",profanity:"Profán tartalom",illegal:"Illegális tartalom",spam:"Spam",other:"Más","Notification list style":"Értesítések lista stílusa","See extra info for each notification":"Extra info kijelzése értesítésekhez","See more notifications at a glance":"Több értesítést akarok egyszerre látni",Detailed:"Részletes",Compact:"Tömör","Submit Relay":"Csomópont Beküldése",Homepage:"Honlap","Proof of Work (difficulty {{minPow}})":"Proof of Work (nehézség {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"média automatikus betöltése",Always:"Mindig","Wi-Fi only":"Csak Wi-Fi-ről",Never:"Soha","Click to load image":"Klikkelj a kép betöltéséhez","Click to load media":"Klikkelj a média betöltéséhez","Click to load YouTube video":"Klikkelj a YouTube videó betöltéséhez","{{count}} reviews":"{{count}} vélemény","Write a review":"Vélemény írása","No reviews yet. Be the first to write one!":"Senki nem írt véleményt. Légy te az első!","View more reviews":"Több vélemény megtekintése","Failed to review":"Nem sikerült elküldeni a véleményt","Write a review and pick a star rating":"Írj egy véleményt és döntsd el hány csillagot adsz",Submit:"Küldés","Reviews for {{relay}}":"{{relay}} vélemények","No relays selected":"Nem választottál csomópontot","Post to":"Posztolás ide:","Write relays and {{count}} other relays":"írt csomópontok és {{count}} további csomópont","{{count}} relays":"{{count}} csomópont","Republishing...":"Továbbküldés...","Connected to":"Csatlakozva","Disconnect Wallet":"Tárca eltávolítása","Are you absolutely sure?":"Teljesen biztos vagy benne?","You will not be able to send zaps to others.":"Nem fogsz tudni másoknak zap-ot küldeni.",Disconnect:"Disconnect","Start with a Rizful Vault":"Rizful Vault beállítás","or other wallets":"vagy más tárca","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault csatlakoztatva!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Most már zappolhatsz posztokat a Rizful Vault segítségével.","Your Lightning Address":"Lightning Címed","New to Rizful?":"Új vagy a Rizfulon?","Sign up for Rizful":"Feliratkozás Rizful-ra","If you already have a Rizful account, you can skip this step.":"Ha van már Rizful elérésed, ezt a lépést kihagyhatod.","Get your one-time code":"Egyszeri kód kérés","Get code":"Kód kérés","Connect to your Rizful Vault":"Csatlakoztasd a Rizful Vault-odat","Paste your one-time code here":"Másold ide az egyszeri kódot",Connect:"Csatlakoztatás","Set up your wallet to send and receive sats!":"Állítsd be a tárcát, hogy küldhess és fogadhass satokat!","Set up":"Beállítás",Pinned:"Kitűzve",Unpin:"Kitűzés eltávolítása",Unpinning:"Kitűzés eltávolítása","Pinning...":"Kitűzés...","Pinned!":"Kitűzve!","Failed to pin: {{error}}":"Nem sikerült kitűzni: {{error}}","Unpinning...":"Kitűzés eltávolítása...","Unpinned!":"Kitűzés eltávolítva!","Failed to unpin: {{error}}":"Nem sikerült eltávolítani a kitűzést: {{error}}","Unpin from profile":"Kitűzés eltávolítása a profilból","Pin to profile":"Kitűzés a profilra",Appearance:"Megjelenés","Pure Black":"Egyszerű Fekete",Default:"Alapértelmezett",Red:"Piros",Orange:"Narancs",Amber:"Sárgás",Yellow:"Ságra",Lime:"Lime",Green:"Zöld",Emerald:"Emerald",Teal:"Teal",Cyan:"Cyan",Sky:"Ég",Blue:"Kék",Indigo:"Indigo",Violet:"Ibolya",Purple:"Lila",Fuchsia:"Fuchsia",Pink:"Rózsaszín",Rose:"Vörös","Primary color":"Elsődleges szín",Layout:"Elrendezés","Two-column":"Két oszlop","Single-column":"Egy oszlop",Reviews:"Vélemény",Extension:"Bővítmény",Remote:"Távoli","Encrypted Key":"Jelszóval védett titkos Kulcs","Private Key":"Titkos Kulcs","Welcome to Smesh":"Isten hozott","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh egy kliens, amivel könnyen böngészhetsz csomópontokat. Kezdd az érdekes csomópontok felderítésével, vagy lépj be, hogy a követettek posztjait megnézd.","Explore Relays":"Csomópontok felderítése","Choose a feed":"Válassz hírfolyamot","and {{x}} others":"és {{x}} másik","Emoji Pack":"Emoji csomag","Emoji pack added":"Emoji csomag hozzáadva","Add emoji pack failed":"Emoji csomag hozzáadása sikertelen","Emoji pack removed":"Emoji csomag eltávolítva","Remove emoji pack failed":"Emoji csomag eltávolítása sikertelen",Added:"Hozzáadva","Emoji Packs":"Emoji csomagok","My Packs":"Saját csomagjaim","Adding...":"Hozzáadás...","Removing...":"Eltávolítás...",Reload:"Újratöltés","Request to Join Relay":"Csatlakozási kérelem küldése a relay-hez","Leave Relay":"Relay elhagyása",Leave:"Kilépés","Are you sure you want to leave this relay?":"Biztosan el szeretné hagyni ezt a relay-t?","Join request sent successfully":"Csatlakozási kérelem sikeresen elküldve","Failed to send join request":"Csatlakozási kérelem küldése sikertelen","Leave request sent successfully":"Kilépési kérelem sikeresen elküldve","Failed to send leave request":"Kilépési kérelem küldése sikertelen","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Írjon be egy meghívókódot, ha van. Ellenkező esetben hagyja üresen a kérelem elküldéséhez.","Invite Code (Optional)":"Meghívókód (opcionális)","Enter invite code":"Írja be a meghívókódot","Sending...":"Küldés...","Send Request":"Kérelem küldése","You can get an invite code from a relay member.":"Meghívókódot kaphat egy relay tagtól.","Enter the invite code you received from a relay member.":"Írja be a relay tagtól kapott meghívókódot.","Get Invite Code":"Meghívókód Lekérése","Share this invite code with others to invite them to join this relay.":"Ossza meg ezt a meghívókódot másokkal, hogy meghívja őket ehhez a relay-hez.","Invite Code":"Meghívókód",Copy:"Másolás","This invite code can be used by others to join the relay.":"Ezt a meghívókódot mások használhatják a relay-hez való csatlakozáshoz.","No invite code available from this relay.":"Nincs elérhető meghívókód ettől a relay-től.",Close:"Bezárás","Failed to get invite code from relay":"Nem sikerült lekérni a meghívókódot a relay-től","Failed to get invite code":"Nem sikerült lekérni a meghívókódot","Invite code copied to clipboard":"Meghívókód vágólapra másolva","Favicon URL":"Favicon URL","Filter out onion relays":"Onion relay-ek kiszűrése","Click to load X post":"Kattintson az X bejegyzés betöltéséhez","View Nostr comments":"Nostr megjegyzések megtekintése","Search for notes":"Jegyzetek keresése","Search for hashtag":"Hashtag keresése","Go to note":"Ugrás a jegyzethez","Go to relay":"Ugrás a relay-hez","View discussions about this":"Beszélgetések megtekintése erről a tartalomról","Open link":"Link megnyitása","View Nostr discussions":"Nostr beszélgetések megtekintése","Optimal relays":"Optimális relay-ek","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Sikeresen újra közzétéve az optimális relay-eken (az Ön írási relay-ei és az említett felhasználók olvasási relay-ei)","Failed to republish to optimal relays: {{error}}":"Nem sikerült újra közzétenni az optimális relay-eken: {{error}}","External Content":"Külső tartalom",Highlight:"Kiemelés","Optimal relays and {{count}} other relays":"Optimális relay-ek és {{count}} másik relay","Likely spam account (Trust score: {{percentile}}%)":"Valószínűleg spam fiók (Megbízhatósági pontszám: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Gyanús fiók (Megbízhatósági pontszám: {{percentile}}%)","n users":"{{count}} felhasználó","View Details":"Részletek megtekintése","Follow Pack Not Found":"Követési csomag nem található","Follow pack not found":"Követési csomag nem található",Users:"Felhasználók",Feed:"Hírfolyam","Follow Pack":"Követési Csomag","Load earlier":"Korábbi betöltése","Last 24 hours":"Utolsó 24 óra","Last {{count}} days":"Utolsó {{count}} nap",notes:"jegyzetek","Quick reaction":"Gyors reakció","If enabled, you can react with a single click. Click and hold for more options":"Ha engedélyezve van, egy kattintással reagálhat. Tartsa lenyomva további lehetőségekért","Quick reaction emoji":"Gyors reakció emoji","Select emoji":"Emoji kiválasztása","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Különleges Követés","Unfollow Special":"Különleges Követés Megszüntetése","Personal Feeds":"Személyes Feedek","Relay Feeds":"Relay Feedek","Create Highlight":"Kiemelés Létrehozása","Write your thoughts about this highlight...":"Írd le a gondolataidat erről a kiemelésről...","Publish Highlight":"Kiemelés Közzététele","Show replies":"Válaszok megjelenítése","Hide replies":"Válaszok elrejtése","Welcome to Smesh!":"Üdvözlünk a Smesh-ban!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"A hírcsatornád üres, mert még nem követsz senkit. Kezdd el érdekes tartalmak felfedezésével és kövesd azokat a felhasználókat, akik tetszenek!","Search Users":"Felhasználók keresése","Create New Account":"Új fiók létrehozása",Important:"Fontos","Generate Your Account":"Fiók létrehozása","Your private key IS your account. Keep it safe!":"A privát kulcsod A fiókodat jelenti. Tartsd biztonságban!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"A Nostr-ban a privát kulcsod A fiókodat jelenti. Ha elveszíted a privát kulcsodat, örökre elveszíted a fiókodat.","Your Private Key":"Privát kulcsod","Generate new key":"Új kulcs generálása","Download Backup File":"Biztonsági mentés letöltése","Copied to Clipboard":"Vágólapra másolva","Copy to Clipboard":"Másolás vágólapra","I already saved my private key securely.":"Már biztonságosan elmentettem a privát kulcsomat.","Almost Done!":"Majdnem kész!","Set a password to encrypt your key, or skip to finish":"Állíts be jelszót a kulcsod titkosításához, vagy hagyd ki a befejezéshez","Password Protection (Optional)":"Jelszavas védelem (opcionális)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"A jelszó beállítása titkosítja a privát kulcsodat ebben a böngészőben. Kihagyhatod ezt a lépést, de javasoljuk a beállítását a nagyobb biztonság érdekében.","Password (Optional)":"Jelszó (opcionális)","Enter password or leave empty to skip":"Írj be jelszót, vagy hagyd üresen a kihagyáshoz","Confirm Password":"Jelszó megerősítése","Re-enter password":"Jelszó újbóli megadása","Passwords do not match":"A jelszavak nem egyeznek","Finish Signup":"Regisztráció befejezése","Create Your Nostr Account":"Hozd létre Nostr fiókodat","Generate your unique private key. This is your digital identity.":"Generáld le egyedi privát kulcsodat. Ez a digitális identitásod.","Critical: Save Your Private Key":"Kritikus: Mentsd el a privát kulcsodat","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"A privát kulcsod A fiókod. Nincs jelszó-visszaállítás. Ha elveszíted, örökre elveszíted a fiókodat. Kérjük, mentsd el biztonságos helyre.","I have safely backed up my private key":"Biztonságosan elmentettem a privát kulcsomat","Secure Your Account":"Védd meg a fiókodat","Add an extra layer of protection with a password":"Adj hozzá egy extra védelmi réteget jelszóval","Password Protection (Recommended)":"Jelszavas védelem (ajánlott)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Adj hozzá jelszót a privát kulcsod titkosításához ebben a böngészőben. Ez opcionális, de erősen ajánlott a jobb biztonság érdekében.","Create a password (or skip)":"Hozz létre jelszót (vagy hagyd ki)","Enter your password again":"Add meg újra a jelszavad","Complete Signup":"Regisztráció befejezése",Recommended:"Ajánlott"}},Hbe={translation:{"Welcome! 🥳":"Benvenuto! 🥳",About:"Presentazione","New Note":"Nuova nota",Post:"Pubblica",Home:"Inizio","Relay settings":"Impostazioni Relay",Settings:"Impostazioni",SidebarRelays:"Relays",Refresh:"Aggiorna",Profile:"Profilo",Logout:"Disconnetti",Following:"Seguendo",followings:"seguiti",reposted:"ripubblica","just now":"adesso","minute ago_one":"{{count}} minuto fa","minute ago_other":"{{count}} minuti fa","n m":"{{n}}m","hour ago_one":"{{count}} ora fa","hour ago_other":"{{count}} ore fa","n h":"{{n}}o","day ago_one":"{{count}} giorno fa","day ago_other":"{{count}} giorni fa","n d":"{{n}}g",date:"{{timestamp, data}}",Follow:"Segui",Unfollow:"Non seguire","Follow failed":"Segui non riuscito","Unfollow failed":"Disiscrizione non riuscita","show new notes":"mostra nuove note","loading...":"caricando...","Loading...":"Caricamento in corso...","no more notes":"basta note","reply to":"replica a",reply:"replica",Reply:"Replica","load more older replies":"carica risposte più vecchie","Write something...":"Scrivi qualcosa...",Cancel:"Cancella",Mentions:"Menziona","Failed to post":"Impossibile pubblicare","Post successful":"Pubblicazione riuscita","Your post has been published":"Il tuo post è stato pubblicato",Repost:"Ripubblica",Quote:"Quota","Copy event ID":"Copia ID evento","Copy user ID":"Copia ID utente","View raw event":"Vedi evento grezzo",Like:"Mi piace","switch to light theme":"passa al tema luminoso","switch to dark theme":"passa al tema scuro","switch to system theme":"passa al tema di sistema",Note:"Nota",note:"nota","username's following":"{{username}} seguiti","username's used relays":"{{username}} relays usati","username's muted":"{{username}} zittiti",Login:"Accedi","Follows you":"Ti segue","Relay Settings":"Impostazioni Relay","Relay set name":"Imposta nome Relay","Add a new relay set":"Aggiungi nuovo set di relay",Add:"Aggiungi","n relays":"{{n}} relays",Rename:"Rinomina","Copy share link":"Copia collegamento da condividere",Delete:"Cancella","Relay already exists":"Relay già esistente","invalid relay URL":"URL relay non valido","Add a new relay":"Aggiungi un nuovo relay",back:"indietro","Lost in the void":"Perso nel vuoto","Carry me home":"Portami all inizio","no replies":"nessuna replica","Reply to":"Replica a",Search:"Ricerca","The relays you are connected to do not support search":"I relays a cui siete collegati non supportano la ricerca.","Show more...":"Mostra di più...","All users":"Tutti gli utenti","Display replies":"Visualizza repliche",Notes:"Note",Replies:"Repliche",Notifications:"Notifiche","no more notifications":"niente più notifiche","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"L'accesso con chiave privata non è sicuro. Si consiglia di utilizzare un'estensione del browser per l'accesso, come alby, nostr-keyx o nos2x. Se devi utilizzare una chiave privata, imposta almeno una password per la crittografia.","Login with Browser Extension":"Accedi con una estensione del Browser","Login with Bunker":"Accedi con Bunker","Login with Private Key":"Accedi con la Chiave Privata","reload notes":"ricarica note","Logged in Accounts":"Account collegati","Add an Account":"Aggiungi un Account","More options":"Più opzioni","Add client tag":"Aggiungi etichetta del client","Show others this was sent via Smesh":"Mostra agli altri che questo è stato inviato tramite Smesh","Are you sure you want to logout?":"Sei sicuro di volerti scollegare?","relay sets":"set di relay",edit:"modifica",Languages:"Lingue",Theme:"Tema",System:"Sistema",Light:"Luminoso",Dark:"Scuro",Temporary:"Temporaneo","Choose a relay set":"Scegli un set di relay","Switch account":"Cambia account",Pictures:"Immagini","Picture note":"Nota della immagine","A special note for picture-first clients like Olas":"Una nota speciale per i client immagine che privilegiano Olas","Picture note requires images":"La nota illustrativa richiede immagini",Relays:"Relays",Image:"immagine","R & W":"L & S",Read:"Leggi",Write:"Scrivi","Pull relay sets":"Ottieni set di relay","Select the relay sets you want to pull":"Selezionare i set di relay che si desidera ottenere","No relay sets found":"Nessun set di relay trovato","Pull n relay sets":"Ottieni {{n}} set di relay",Pull:"Ottieni","Select all":"Seleziona tutto","Relay Sets":"Set di Relay","Read & Write Relays":"Relay Leggi & Scrivi","read relays description":"I relay di lettura vengono utilizzati per cercare eventi che ti interessano. Gli altri utenti pubblicheranno gli eventi che vogliono farvi vedere nei vostri relay di lettura.","write relays description":"I relay di scrittura sono utilizzati per pubblicare i tuoi eventi. Gli altri utenti cercheranno i tuoi eventi dai vostri relay di scrittura.","read & write relays notice":"Il numero di server di lettura e scrittura dovrebbe essere mantenuto idealmente tra 2 e 4.","Don't have an account yet?":"Non hai ancora un account?","or simply generate a private key":"o semplicemente genera una chiave privata","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Questa è una chiave privata. Non condividetela con nessuno. Conservatela al sicuro. Non sarà possibile recuperarla in caso di smarrimento.",Edit:"Modifica",Save:"Salva","Display Name":"Nome Visualizzato",Bio:"Bio","Nostr Address (NIP-05)":"Indirizzo Nostr (NIP-05)","Invalid NIP-05 address":"Indirizzo NIP-05 non valido","Copy private key":"Copia la chiave privata","Enter the password to decrypt your ncryptsec":"Inserisci la password per decriptare la tua ncryptsec",Back:"Indietro","optional: encrypt nsec":"opzione: cripta nsec",password:"password","Sign up":"Iscriviti","Save to":"Salva a","Enter a name for the new relay set":"Inserisci un nome per il nuovo set di relay","Save to a new relay set":"Salva al nuovo set di relay",Mute:"Zittisci",Muted:"Zittiti",Unmute:"Ridai voce","Unmute user":"Ridai voce a questo utente","Append n relays":"Aggiungi {{n}} relays",Append:"Aggiungi","Select relays to append":"Seleziona relay da aggiungere","calculating...":"calcolando...","Calculate optimal read relays":"Calcolo ottimale relay di lettura","Login to set":"Accedi per impostare","Please login to view following feed":"Per favore accedi per vedere il feed dei seguiti","Send only to r":"Invia solo a {{r}}","Send only to these relays":"Invia solo a questi relay",Explore:"Esplora","Search relays":"Ricerca relay",relayInfoBadgeAuth:"Autorizzazione",relayInfoBadgeSearch:"Ricerca",relayInfoBadgePayment:"Pagamento",Operator:"Operatore",Contact:"Contatto",Software:"Programma",Version:"Versione","Random Relays":"Relay a caso",randomRelaysRefresh:"Aggiorna","Explore more":"Esplora di più","Payment page":"Pagina di pagamento","Supported NIPs":"NIP supportati","Open in a":"Apri in {{a}}","Cannot handle event of kind k":"Impossibile gestire un evento di tipo {{k}}","Sorry! The note cannot be found 😔":"Spiacente! La nota non può essere trovata 😔","This user has been muted":"Questo utente è stato zittito",Wallet:"Wallet",Sats:"Sats",sats:"sats","Zap to":"Zap a","Zap n sats":"Zap {{n}} sats",zapComment:"Commento","Default zap amount":"Importo zap predefinito","Default zap comment":"Commento zap predefinito","Lightning Address (or LNURL)":"Indirizzo Lightning (o LNURL)","Quick zap":"Zap immediato","If enabled, you can zap with a single click. Click and hold for custom amounts":"Se abilitato, è possibile fare zapping con un solo clic. Fare clic e tenere premuto per ottenere importi personalizzati",All:"Tutto",Reactions:"Reazioni",Zaps:"Zaps","Earlier notifications":"Notifiche precedenti","Temporarily display this note":"Visualizza temporaneamente questa nota",buttonFollowing:"Seguendo","Are you sure you want to unfollow this user?":"Sei sicuro di voler disiscrivere questo utente?","Recent Supporters":"Recenti Sostenitori","Seen on":"Visto su","Temporarily display this reply":"Mostra temporaneamente questa replica","Note not found":"Non è stata trovata la nota","no more replies":"niente più repliche","Relay sets":"Set di Relay","Favorite Relays":"Relay preferiti","Following's Favorites":"Preferiti dei seguiti","no more relays":"niente più relay","Favorited by":"Preferito da","Post settings":"Impostazioni post","Media upload service":"Servizio di caricamento media","Choose a relay":"Scegli un relay","no relays found":"Nessun relay trovato",video:"video","Show n new notes":"Mostra {{n}} nuove note",YouTabName:"Tu",Bookmark:"Segnalibro","Remove bookmark":"Rimuovi segnalibro","no bookmarks found":"Nessun segnalibro trovato","no more bookmarks":"Nessun altro segnalibro",Bookmarks:"Segnalibri","Show more":"Mostra di più",General:"Generale",Autoplay:"Riproduzione automatica","Enable video autoplay on this device":"Abilita riproduzione automatica video su questo dispositivo","Paste or drop media files to upload":"Incolla o trascina i file multimediali per caricarli",Preview:"Anteprima","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Stai per pubblicare un evento firmato da [{{eventAuthorName}}]. Attualmente sei connesso come [{{currentUsername}}]. Sei sicuro?","Platinum Sponsors":"Sponsor Platino",From:"Da","Comment on":"Commenta su","View on njump.me":"Visualizza su njump.me","Hide content from untrusted users":"Nascondi contenuti da utenti non fidati","Only show content from your followed users and the users they follow":"Mostra solo contenuti dai tuoi utenti seguiti e dagli utenti che seguono","Followed by":"Seguito da","Mute user privately":"Zittisci utente privatamente","Mute user publicly":"Zittisci utente pubblicamente",Quotes:"Citazioni","Lightning Invoice":"Fattura Lightning","Bookmark failed":"Impossibile aggiungere segnalibro","Remove bookmark failed":"Impossibile rimuovere segnalibro",Translation:"Traduzione",Balance:"Saldo",characters:"caratteri",smeshTranslateApiKeyDescription:"Puoi utilizzare questa chiave API ovunque supporti LibreTranslate. L'URL del servizio è {{serviceUrl}}","Top up":"Torna al saldo","Will receive: {n} characters":"Riceverai: {{n}} caratteri","Top up {n} sats":"Ricarica {{n}} sats","Minimum top up is {n} sats":"La ricarica minima è di {{n}} sats",Service:"Servizio","Reset API key":"Reimposta chiave API","Are you sure you want to reset your API key? This action cannot be undone.":"Sei sicuro di voler reimpostare la tua chiave API? Questa azione non può essere annullata.",Warning:"Attenzione","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"La tua attuale chiave API diventerà immediatamente non valida e tutte le applicazioni che la utilizzano smetteranno di funzionare finché non le aggiornerai con la nuova chiave.","Service address":"Indirizzo del servizio",Pay:"Paga",interactions:"interazioni",notifications:"notifiche","Show untrusted {type}":"Mostra {{type}} non fidati","Hide untrusted {type}":"Nascondi {{type}} non fidati","Currently hiding {type} from untrusted users.":"Attualmente nascondo {{type}} da utenti non fidati.","Currently showing all {type}.":"Attualmente mostro tutti {{type}}.","Click continue to show all {type}.":"Clicca su continua per mostrare tutti {{type}}.","Click continue to hide {type} from untrusted users.":"Clicca su continua per nascondere {{type}} da utenti non fidati.","Trusted users include people you follow and people they follow.":"Gli utenti fidati includono le persone che segui e le persone che seguono loro.",Continue:"Continua","Successfully updated mute list":"Lista di silenziamento aggiornata con successo","No pubkeys found from {url}":"Nessun pubkey trovato da {{url}}","Translating...":"Traduzione in corso...",Translate:"Traduci","Show original":"Mostra originale",Website:"Sito web","Hide untrusted notes":"Nascondi note non fidate","Open in another client":"Apri in un altro client",Community:"Comunità",Group:"Gruppo","Live event":"Evento dal vivo",Article:"Articolo",Unfavorite:"Rimuovi dai preferiti","Recommended relays":"Relay consigliati","Blossom server URLs":"URL del server Blossom","You need to add at least one blossom server in order to upload media files.":"È necessario aggiungere almeno un server Blossom per caricare file multimediali.","Recommended blossom servers":"Server Blossom consigliati","Enter Blossom server URL":"Inserisci URL del server Blossom",Preferred:"Preferito","Multiple choice (select one or more)":"Scelta multipla (seleziona uno o più)",Vote:"Vota","{{number}} votes":"{{number}} voti","Total votes":"Voti totali","Poll has ended":"Il sondaggio è terminato","Poll ends at {{time}}":"Il sondaggio termina alle {{time}}","Load results":"Carica risultati","This is a poll note.":"Questa è una nota sondaggio.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"A differenza delle note regolari, i sondaggi non sono ampiamente supportati e potrebbero non essere visualizzati su altri client.","Option {{number}}":"Opzione {{number}}","Add Option":"Aggiungi Opzione","Allow multiple choices":"Consenti scelte multiple","End Date (optional)":"Data di fine (opzionale)","Clear end date":"Cancella data di fine","Relay URLs (optional, comma-separated)":"URL relay (opzionale, separati da virgole)","Remove poll":"Rimuovi sondaggio","Refresh results":"Aggiorna risultati",Poll:"Sondaggio",Media:"media","Republish to ...":"Ripubblica a...","Successfully republish to your write relays":"Ricondivisione riuscita ai tuoi relay di scrittura","Failed to republish to your write relays: {{error}}":"Impossibile ricondividere ai tuoi relay di scrittura: {{error}}","Successfully republish to relay set: {{name}}":"Ricondivisione riuscita al set di relay: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Impossibile ricondividere al set di relay: {{name}}. Errore: {{error}}","Successfully republish to relay: {{url}}":"Ricondivisione riuscita al relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Impossibile ricondividere al relay: {{url}}. Errore: {{error}}","Write relays":"Relay di scrittura","No more reactions":"Non ci sono più reazioni","No reactions yet":"Ancora nessuna reazione","No more zaps":"Non ci sono più zaps","No zaps yet":"Ancora nessuno zap","No more reposts":"Non ci sono più repost","No reposts yet":"Ancora nessun repost",Reposts:"Repost",FollowListNotFoundConfirmation:"Elenco seguiti non trovato. Vuoi crearne uno nuovo? Se hai già seguito degli utenti in precedenza, per favore NON confermare poiché questa operazione causerà la perdita del tuo elenco seguiti precedente.",MuteListNotFoundConfirmation:"Elenco utenti silenziati non trovato. Vuoi crearne uno nuovo? Se hai già silenziato degli utenti in precedenza, per favore NON confermare poiché questa operazione causerà la perdita del tuo elenco utenti silenziati precedente.","Show NSFW content by default":"Mostra contenuti NSFW per impostazione predefinita","Custom emoji management":"Gestione emoji personalizzate","After changing emojis, you may need to refresh the page":"Dopo aver modificato le emoji, potrebbe essere necessario aggiornare la pagina","Too many read relays":"Troppi relay di lettura","Too many write relays":"Troppi relay di scrittura","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Hai {{count}} relay di lettura. La maggior parte dei client usa solo 2-4 relay, impostarne di più è inutile.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Hai {{count}} relay di scrittura. La maggior parte dei client usa solo 2-4 relay, impostarne di più è inutile.","Optimize Relay Settings":"Ottimizza impostazioni relay","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"La tua configurazione relay attuale potrebbe non essere ottimale. Questo potrebbe rendere difficile per gli altri trovare i tuoi post e potrebbe portare a notifiche incomplete.","Optimize Now":"Ottimizza ora","Maybe Later":"Forse più tardi","Don't remind me again":"Non ricordarmelo più",Posts:"Post",Articles:"Articoli",Highlights:"Evidenziazioni",Polls:"Sondaggi","Voice Posts":"Post vocali","Photo Posts":"Post foto","Video Posts":"Post video","Select All":"Seleziona tutto","Clear All":"Cancella tutto","Set as default filter":"Imposta come filtro predefinito",Apply:"Applica",Reset:"Reimposta","Share something on this Relay":"Condividi qualcosa su questo Relay","Try deleting this note":"Prova a eliminare questa nota","Deletion request sent to {{count}} relays":"Richiesta di eliminazione inviata a {{count}} relays","Suitable Relays":"Relays adatti","People, keywords, or relays":"Persone, parole chiave o relays","Hide content mentioning muted users":"Nascondi contenuto che menziona utenti silenziati","This note mentions a user you muted":"Questa nota menziona un utente che hai silenziato",Filter:"Filtro","mentioned you in a note":"ti ha menzionato in una nota","quoted your note":"ha citato la tua nota","voted in your poll":"ha votato nel tuo sondaggio","reacted to your note":"ha reagito alla tua nota","reposted your note":"ha ricondiviso la tua nota","zapped your note":"ha zappato la tua nota","highlighted your note":"ha evidenziato la tua nota","zapped you":"ti ha zappato","Mark as read":"Segna come letto",Report:"Segnala","Successfully report":"Segnalazione riuscita","Failed to report":"Segnalazione fallita",nudity:"Nudità",malware:"Malware",profanity:"Blasfemia",illegal:"Contenuto illegale",spam:"Spam",other:"Altro","Notification list style":"Stile elenco notifiche","See extra info for each notification":"Visualizza informazioni extra per ogni notifica","See more notifications at a glance":"Visualizza più notifiche a colpo d'occhio",Detailed:"Dettagliato",Compact:"Compatto","Submit Relay":"Invia Relay",Homepage:"Homepage","Proof of Work (difficulty {{minPow}})":"Proof of Work (difficoltà {{minPow}})","via {{client}}":"tramite {{client}}","Auto-load media":"Caricamento automatico media",Always:"Sempre","Wi-Fi only":"Solo Wi-Fi",Never:"Mai","Click to load image":"Clicca per caricare l'immagine","Click to load media":"Clicca per caricare i media","Click to load YouTube video":"Clicca per caricare il video di YouTube","{{count}} reviews":"{{count}} recensioni","Write a review":"Scrivi una recensione","No reviews yet. Be the first to write one!":"Nessuna recensione ancora. Sii il primo a scriverne una!","View more reviews":"Visualizza più recensioni","Failed to review":"Recensione fallita","Write a review and pick a star rating":"Scrivi una recensione e scegli una valutazione a stelle",Submit:"Invia","Reviews for {{relay}}":"Recensioni per {{relay}}","No relays selected":"Nessun relay selezionato","Post to":"Pubblica su","Write relays and {{count}} other relays":"Relay di scrittura e {{count}} altri relay","{{count}} relays":"{{count}} relay","Republishing...":"Ricondivisione in corso...","Connected to":"Connesso a","Disconnect Wallet":"Disconnetti Wallet","Are you absolutely sure?":"Sei assolutamente sicuro?","You will not be able to send zaps to others.":"Non sarai in grado di inviare zaps ad altri.",Disconnect:"Disconnetti","Start with a Rizful Vault":"Inizia con un Rizful Vault","or other wallets":"o altri wallet","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault connesso!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Puoi ora usare il tuo Rizful Vault per zappare le tue note e creatori preferiti.","Your Lightning Address":"Il tuo Indirizzo Lightning","New to Rizful?":"Nuovo a Rizful?","Sign up for Rizful":"Iscriviti a Rizful","If you already have a Rizful account, you can skip this step.":"Se hai già un account Rizful, puoi saltare questo passaggio.","Get your one-time code":"Ottieni il tuo codice monouso","Get code":"Ottieni codice","Connect to your Rizful Vault":"Connettiti al tuo Rizful Vault","Paste your one-time code here":"Incolla qui il tuo codice monouso",Connect:"Connetti","Set up your wallet to send and receive sats!":"Configura il tuo wallet per inviare e ricevere sats!","Set up":"Configura",Pinned:"Fissato",Unpin:"Rimuovi fissaggio",Unpinning:"Rimozione fissaggio","Pinning...":"Fissaggio in corso...","Pinned!":"Fissato!","Failed to pin: {{error}}":"Failed to pin: {{error}}","Unpinning...":"Rimozione fissaggio in corso...","Unpinned!":"Rimosso fissaggio!","Failed to unpin: {{error}}":"Impossibile rimuovere il fissaggio: {{error}}","Unpin from profile":"Rimuovi fissaggio dal profilo","Pin to profile":"Fissa al profilo",Appearance:"Aspetto","Pure Black":"Nero Puro",Default:"Predefinito",Red:"Rosso",Orange:"Arancione",Amber:"Ambra",Yellow:"Giallo",Lime:"Lime",Green:"Verde",Emerald:"Smeraldo",Teal:"Turchese",Cyan:"Ciano",Sky:"Cielo",Blue:"Blu",Indigo:"Indaco",Violet:"Viola",Purple:"Porpora",Fuchsia:"Fucsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Colore primario",Layout:"Layout","Two-column":"Doppia colonna","Single-column":"Colonna singola",Reviews:"Recensioni",Extension:"Estensione",Remote:"Remoto","Encrypted Key":"Chiave Crittografata","Private Key":"Chiave Privata","Welcome to Smesh":"Benvenuto su Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh è un client focalizzato sulla navigazione dei relay. Inizia esplorando relay interessanti o effettua il login per visualizzare il tuo feed di following.","Explore Relays":"Esplora Relay","Choose a feed":"Scegli un feed","and {{x}} others":"e altri {{x}}",selfZapWarning:"Smesh non è responsabile di ciò che accade se zappi te stesso. Procedi a tuo rischio e pericolo. 😉⚡","Emoji Pack":"Pacchetto Emoji","Emoji pack added":"Pacchetto emoji aggiunto","Add emoji pack failed":"Aggiunta del pacchetto emoji non riuscita","Emoji pack removed":"Pacchetto emoji rimosso","Remove emoji pack failed":"Rimozione del pacchetto emoji non riuscita",Added:"Aggiunto","Emoji Packs":"Pacchetti Emoji","My Packs":"I Miei Pacchetti","Adding...":"Aggiunta...","Removing...":"Rimozione...",Reload:"Ricarica","Request to Join Relay":"Richiedi di unirti al Relay","Leave Relay":"Lascia il Relay",Leave:"Esci","Are you sure you want to leave this relay?":"Sei sicuro di voler lasciare questo relay?","Join request sent successfully":"Richiesta di adesione inviata con successo","Failed to send join request":"Impossibile inviare la richiesta di adesione","Leave request sent successfully":"Richiesta di uscita inviata con successo","Failed to send leave request":"Impossibile inviare la richiesta di uscita","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Inserisci un codice di invito se ne hai uno. Altrimenti, lascialo vuoto per inviare una richiesta.","Invite Code (Optional)":"Codice di Invito (Opzionale)","Enter invite code":"Inserisci il codice di invito","Sending...":"Invio...","Send Request":"Invia Richiesta","You can get an invite code from a relay member.":"Puoi ottenere un codice di invito da un membro del relay.","Enter the invite code you received from a relay member.":"Inserisci il codice di invito che hai ricevuto da un membro del relay.","Get Invite Code":"Ottieni Codice di Invito","Share this invite code with others to invite them to join this relay.":"Condividi questo codice di invito con altri per invitarli a unirsi a questo relay.","Invite Code":"Codice di Invito",Copy:"Copia","This invite code can be used by others to join the relay.":"Questo codice di invito può essere utilizzato da altri per unirsi al relay.","No invite code available from this relay.":"Nessun codice di invito disponibile da questo relay.",Close:"Chiudi","Failed to get invite code from relay":"Impossibile ottenere il codice di invito dal relay","Failed to get invite code":"Impossibile ottenere il codice di invito","Invite code copied to clipboard":"Codice di invito copiato negli appunti","Favicon URL":"URL Favicon","Filter out onion relays":"Filtra relay onion","Click to load X post":"Clicca per caricare il post X","View Nostr comments":"Visualizza commenti Nostr","Search for notes":"Cerca note","Search for hashtag":"Cerca hashtag","Go to note":"Vai alla nota","Go to relay":"Vai al relay","View discussions about this":"Visualizza discussioni su questo contenuto","Open link":"Apri link","View Nostr discussions":"Visualizza discussioni Nostr","Optimal relays":"Relay ottimali","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Ripubblicato con successo sui relay ottimali (i tuoi relay di scrittura e i relay di lettura degli utenti menzionati)","Failed to republish to optimal relays: {{error}}":"Errore nella ripubblicazione sui relay ottimali: {{error}}","External Content":"Contenuto esterno",Highlight:"Evidenzia","Optimal relays and {{count}} other relays":"Relay ottimali e {{count}} altri relay","Likely spam account (Trust score: {{percentile}}%)":"Probabile account spam (Punteggio di fiducia: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Account sospetto (Punteggio di fiducia: {{percentile}}%)","n users":"{{count}} utenti","View Details":"Visualizza dettagli","Follow Pack Not Found":"Pacchetto di follow non trovato","Follow pack not found":"Pacchetto di follow non trovato",Users:"Utenti",Feed:"Feed","Follow Pack":"Pacchetto di Follow","Load earlier":"Carica precedente","Last 24 hours":"Ultime 24 ore","Last {{count}} days":"Ultimi {{count}} giorni",notes:"note","Quick reaction":"Reazione rapida","If enabled, you can react with a single click. Click and hold for more options":"Se abilitato, puoi reagire con un solo clic. Fai clic e tieni premuto per altre opzioni","Quick reaction emoji":"Emoji reazione rapida","Select emoji":"Seleziona emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Segui Speciale","Unfollow Special":"Smetti di Seguire Speciale","Personal Feeds":"Feed Personali","Relay Feeds":"Feed di Relay","Create Highlight":"Crea Evidenziazione","Write your thoughts about this highlight...":"Scrivi i tuoi pensieri su questa evidenziazione...","Publish Highlight":"Pubblica Evidenziazione","Show replies":"Mostra risposte","Hide replies":"Nascondi risposte","Welcome to Smesh!":"Benvenuto su Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Il tuo feed è vuoto perché non stai ancora seguendo nessuno. Inizia esplorando contenuti interessanti e seguendo gli utenti che ti piacciono!","Search Users":"Cerca Utenti","Create New Account":"Crea nuovo account",Important:"Importante","Generate Your Account":"Genera il tuo account","Your private key IS your account. Keep it safe!":"La tua chiave privata È il tuo account. Tienila al sicuro!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"In Nostr, la tua chiave privata È il tuo account. Se perdi la tua chiave privata, perdi il tuo account per sempre.","Your Private Key":"La tua chiave privata","Generate new key":"Genera nuova chiave","Download Backup File":"Scarica file di backup","Copied to Clipboard":"Copiato negli appunti","Copy to Clipboard":"Copia negli appunti","I already saved my private key securely.":"Ho già salvato la mia chiave privata in modo sicuro.","Almost Done!":"Quasi fatto!","Set a password to encrypt your key, or skip to finish":"Imposta una password per crittografare la tua chiave, o salta per finire","Password Protection (Optional)":"Protezione con password (facoltativo)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Impostare una password crittografa la tua chiave privata in questo browser. Puoi saltare questo passaggio, ma ti consigliamo di impostarne una per maggiore sicurezza.","Password (Optional)":"Password (facoltativo)","Enter password or leave empty to skip":"Inserisci la password o lascia vuoto per saltare","Confirm Password":"Conferma password","Re-enter password":"Reinserisci la password","Passwords do not match":"Le password non corrispondono","Finish Signup":"Completa registrazione","Create Your Nostr Account":"Crea il tuo account Nostr","Generate your unique private key. This is your digital identity.":"Genera la tua chiave privata unica. Questa è la tua identità digitale.","Critical: Save Your Private Key":"Critico: Salva la tua chiave privata","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"La tua chiave privata È il tuo account. Non c'è recupero password. Se la perdi, perderai il tuo account per sempre. Per favore salvala in un luogo sicuro.","I have safely backed up my private key":"Ho salvato in modo sicuro la mia chiave privata","Secure Your Account":"Proteggi il tuo account","Add an extra layer of protection with a password":"Aggiungi un ulteriore livello di protezione con una password","Password Protection (Recommended)":"Protezione con password (consigliato)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Aggiungi una password per crittografare la tua chiave privata in questo browser. È facoltativo ma fortemente consigliato per una migliore sicurezza.","Create a password (or skip)":"Crea una password (o salta)","Enter your password again":"Inserisci di nuovo la tua password","Complete Signup":"Completa registrazione",Recommended:"Consigliato"}},Wbe={translation:{"Welcome! 🥳":"ようこそ! 🥳",About:"情報","New Note":"新規ノート",Post:"投稿",Home:"ホーム","Relay settings":"リレイ設定",Settings:"設定",SidebarRelays:"リレイ",Refresh:"更新",Profile:"プロフィール",Logout:"ログアウト",Following:"フォロー中",followings:"フォロー",reposted:"リポスト済み","just now":"たった今","minute ago_one":"{{count}}分前","minute ago_other":"{{count}}分前","n m":"{{n}}分","hour ago_one":"{{count}}時間前","hour ago_other":"{{count}}時間前","n h":"{{n}}時","day ago_one":"{{count}}日前","day ago_other":"{{count}}日前","n d":"{{n}}日",date:"{{timestamp, date}}",Follow:"フォローする",Unfollow:"フォロー解除","Follow failed":"フォローに失敗しました","Unfollow failed":"フォロー解除に失敗しました","show new notes":"新しいノートを表示","loading...":"読み込み中...","Loading...":"読み込み中...","no more notes":"これ以上ノートはありません","reply to":"返信先",reply:"返信",Reply:"返信","load more older replies":"さらに古い返信を読み込む","Write something...":"何か書いて...",Cancel:"キャンセル",Mentions:"@","Failed to post":"投稿に失敗しました","Post successful":"投稿に成功しました","Your post has been published":"投稿が公開されました",Repost:"リポスト",Quote:"引用","Copy event ID":"イベントIDをコピー","Copy user ID":"ユーザーIDをコピー","View raw event":"生データを表示",Like:"いいね","switch to light theme":"ライトテーマに切替","switch to dark theme":"ダークテーマに切替","switch to system theme":"システムテーマに切替",Note:"ノート",note:"ノート","username's following":"{{username}} のフォロー","username's used relays":"{{username}} の使用リレイ","username's muted":"{{username}} はミュート済み",Login:"ログイン","Follows you":"あなたをフォローしています","Relay Settings":"リレイ設定","Relay set name":"リレイセット名","Add a new relay set":"新しいリレイセットを追加",Add:"追加","n relays":"{{n}} 個のリレイ",Rename:"名前変更","Copy share link":"共有リンクをコピー",Delete:"削除","Relay already exists":"リレイは既に存在します","invalid relay URL":"無効なリレイURL","Add a new relay":"新しいリレイを追加",back:"戻る","Lost in the void":"虚無の中へ","Carry me home":"家まで送って","no replies":"返信がありません","Reply to":"返信先",Search:"検索","The relays you are connected to do not support search":"接続しているリレイは検索をサポートしていません","Show more...":"さらに表示...","All users":"全ユーザー","Display replies":"返信を表示",Notes:"ノート",Replies:"返信",Notifications:"通知","no more notifications":"これ以上通知はありません","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"秘密鍵でのログインは安全ではありません。alby、nostr-keyx、nos2xなどのブラウザ拡張機能を使用してログインすることをお勧めします。秘密鍵を使用する場合は、少なくとも暗号化のためにパスワードを設定してください。","Login with Browser Extension":"ブラウザ拡張でログイン","Login with Bunker":"Bunkerでログイン","Login with Private Key":"秘密鍵でログイン","reload notes":"ノートを再読み込み","Logged in Accounts":"ログイン中のアカウント","Add an Account":"アカウントを追加","More options":"その他のオプション","Add client tag":"クライアントタグを追加","Show others this was sent via Smesh":"これがSmesh経由で送信されたことを表示","Are you sure you want to logout?":"本当にログアウトしますか?","relay sets":"リレイセット",edit:"編集",Languages:"言語",Theme:"テーマ",System:"システム",Light:"ライト",Dark:"ダーク",Temporary:"一時的","Choose a relay set":"リレイセットを選択","Switch account":"アカウント切替",Pictures:"画像","Picture note":"画像ノート","A special note for picture-first clients like Olas":"Olas のような画像優先クライアント向けの特別なノート","Picture note requires images":"画像ノートには画像が必要です",Relays:"リレイ",Image:"画像","R & W":"読&書",Read:"読む",Write:"書く","Pull relay sets":"リレイセットをプル","Select the relay sets you want to pull":"プルするリレイセットを選択","No relay sets found":"リレイセットが見つかりません","Pull n relay sets":"{{n}} 個のリレイセットをプル",Pull:"プル","Select all":"すべて選択","Relay Sets":"リレイセット","Read & Write Relays":"読み&書きリレイ","read relays description":"読みリレイはあなたに関するイベントを取得するために使用されます。他のユーザーはあなたが見るべきイベントをこのリレイに公開します。","write relays description":"書きリレイはあなたのイベントを公開するために使用されます。他のユーザーはこのリレイからあなたのイベントを取得します。","read & write relays notice":"読みリレイと書きリレイは、理想的にはそれぞれ2〜4個に保つべきです。","Don't have an account yet?":"まだアカウントをお持ちでないですか?","or simply generate a private key":"または単に秘密鍵を生成してください","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"これは秘密鍵です。誰にも共有せず、安全な場所に保管してください。紛失すると復旧できません。",Edit:"編集",Save:"保存","Display Name":"表示名",Bio:"自己紹介","Nostr Address (NIP-05)":"Nostrアドレス (NIP-05)","Invalid NIP-05 address":"無効なNIP-05アドレス","Copy private key":"秘密鍵をコピー","Enter the password to decrypt your ncryptsec":"ncryptsecを復号化するためパスワードを入力",Back:"戻る","optional: encrypt nsec":"任意:nsecを暗号化",password:"パスワード","Sign up":"サインアップ","Save to":"保存先","Enter a name for the new relay set":"新しいリレイセットの名前を入力","Save to a new relay set":"新しいリレイセットに保存",Mute:"ミュート",Muted:"ミュート済み",Unmute:"ミュート解除","Unmute user":"ユーザーのミュート解除","Append n relays":"{{n}} 個のリレイを追加",Append:"追加","Select relays to append":"追加するリレイを選択","calculating...":"計算中...","Calculate optimal read relays":"最適な読みリレイを計算","Login to set":"セットにログイン","Please login to view following feed":"フォロー中のフィードを表示するにはログインしてください","Send only to r":"{{r}} にのみ送信","Send only to these relays":"これらのリレイにのみ送信",Explore:"探索","Search relays":"リレイを検索",relayInfoBadgeAuth:"認証",relayInfoBadgeSearch:"検索",relayInfoBadgePayment:"支払い",Operator:"運営者",Contact:"連絡先",Software:"ソフトウェア",Version:"バージョン","Random Relays":"ランダムリレイ",randomRelaysRefresh:"更新","Explore more":"もっと探索","Payment page":"支払いページ","Supported NIPs":"対応NIP","Open in a":"{{a}}で開く","Cannot handle event of kind k":"種類{{k}}のイベントは処理できません","Sorry! The note cannot be found 😔":"申し訳ありません!ノートが見つかりません 😔","This user has been muted":"このユーザーはミュートされています",Wallet:"ウォレット",Sats:"サッツ",sats:"サッツ","Zap to":"Zap送信","Zap n sats":"{{n}} サッツをZap",zapComment:"コメント","Default zap amount":"デフォルトのZap金額","Default zap comment":"デフォルトのZapコメント","Lightning Address (or LNURL)":"Lightningアドレス(またはLNURL)","Quick zap":"クイックZap","If enabled, you can zap with a single click. Click and hold for custom amounts":"有効にすると、1クリックでZapできます。クリックして金額をカスタマイズします",All:"すべて",Reactions:"反応",Zaps:"Zap","Earlier notifications":"以前の通知","Temporarily display this note":"このノートを一時的に表示",buttonFollowing:"フォロー中","Are you sure you want to unfollow this user?":"このユーザーのフォローを解除しますか?","Recent Supporters":"最近のサポーター","Seen on":"見た","Temporarily display this reply":"この返信を一時的に表示","Note not found":"ノートが見つかりません","no more replies":"これ以上の返信はありません","Relay sets":"リレイセット","Favorite Relays":"お気に入りのリレイ","Following's Favorites":"フォロー中のお気に入り","no more relays":"これ以上のリレイはありません","Favorited by":"お気に入り","Post settings":"投稿設定","Media upload service":"メディアアップロードサービス","Choose a relay":"リレイを選択","no relays found":"リレイが見つかりません",video:"ビデオ","Show n new notes":"新しいノートを{{n}}件表示",YouTabName:"あなた",Bookmark:"ブックマーク","Remove bookmark":"ブックマークを削除","no bookmarks found":"ブックマークが見つかりません","no more bookmarks":"これ以上ブックマークはありません",Bookmarks:"ブックマーク一覧","Show more":"もっと見る",General:"一般",Autoplay:"自動再生","Enable video autoplay on this device":"このデバイスでのビデオ自動再生を有効にする","Paste or drop media files to upload":"メディアファイルを貼り付けるかドロップしてアップロード",Preview:"プレビュー","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"あなたは[{{eventAuthorName}}]によって署名されたイベントを公開しようとしています。現在[{{currentUsername}}]としてログインしています。よろしいですか?","Platinum Sponsors":"プラチナスポンサー",From:"から","Comment on":"にコメント","View on njump.me":"njump.meで表示","Hide content from untrusted users":"信頼できないユーザーのコンテンツを非表示","Only show content from your followed users and the users they follow":"フォローしているユーザーとそのユーザーがフォローしているユーザーのコンテンツのみを表示","Followed by":"フォロワー","Mute user privately":"ユーザーを非公開でミュート","Mute user publicly":"ユーザーを公開でミュート",Quotes:"引用","Lightning Invoice":"ライトニングインボイス","Bookmark failed":"ブックマークに失敗しました","Remove bookmark failed":"ブックマークの削除に失敗しました",Translation:"翻訳",Balance:"残高",characters:"文字",smeshTranslateApiKeyDescription:"このAPIキーは、LibreTranslateをサポートする他の場所でも使用できます。サービスURLは{{serviceUrl}}です","Top up":"チャージ","Will receive: {n} characters":"受け取る文字数: {{n}} 文字","Top up {n} sats":"チャージ {{n}} サッツ","Minimum top up is {n} sats":"最低チャージは {{n}} サッツです",Service:"サービス","Reset API key":"APIキーをリセット","Are you sure you want to reset your API key? This action cannot be undone.":"APIキーをリセットしますか?この操作は元に戻せません。",Warning:"警告","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"現在のAPIキーはすぐに無効になり、それを使用しているアプリケーションは新しいキーで更新するまで動作しなくなります。","Service address":"サービスアドレス",Pay:"支払う",interactions:"インタラクション",notifications:"通知","Show untrusted {type}":"信頼されていない{{type}}を表示","Hide untrusted {type}":"信頼されていない{{type}}を非表示","Currently hiding {type} from untrusted users.":"現在、信頼されていないユーザーからの{{type}}を非表示にしています。","Currently showing all {type}.":"現在、すべての{{type}}を表示しています。","Click continue to show all {type}.":"すべての{{type}}を表示するには続行をクリックしてください。","Click continue to hide {type} from untrusted users.":"信頼されていないユーザーからの{{type}}を非表示にするには続行をクリックしてください。","Trusted users include people you follow and people they follow.":"信頼できるユーザーには、あなたがフォローしている人とその人がフォローしている人が含まれます。",Continue:"続行","Successfully updated mute list":"ミュートリストの更新に成功しました","No pubkeys found from {url}":"URL {{url}} からのpubkeyは見つかりませんでした","Translating...":"翻訳中...",Translate:"翻訳","Show original":"原文を表示",Website:"ウェブサイト","Hide untrusted notes":"信頼されていないノートを非表示","Open in another client":"別のクライアントで開く",Community:"コミュニティ",Group:"グループ","Live event":"ライブイベント",Article:"記事",Unfavorite:"お気に入り解除","Recommended relays":"おすすめのリレイ","Blossom server URLs":"BlossomサーバーURL","You need to add at least one blossom server in order to upload media files.":"メディアファイルをアップロードするには、少なくとも1つのBlossomサーバーを追加する必要があります。","Recommended blossom servers":"おすすめのBlossomサーバー","Enter Blossom server URL":"BlossomサーバーURLを入力",Preferred:"優先","Multiple choice (select one or more)":"複数選択(1つ以上選択)",Vote:"投票","{{number}} votes":"{{number}} 票","Total votes":"総票数","Poll has ended":"投票終了","Poll ends at {{time}}":"投票終了時刻:{{time}}","Load results":"結果を読み込み","This is a poll note.":"これは投票ノートです。","Unlike regular notes, polls are not widely supported and may not display on other clients.":"通常のノートとは異なり、投票は広くサポートされておらず、他のクライアントでは表示されない場合があります。","Option {{number}}":"選択肢 {{number}}","Add Option":"選択肢を追加","Allow multiple choices":"複数選択を許可","End Date (optional)":"終了日(任意)","Clear end date":"終了日をクリア","Relay URLs (optional, comma-separated)":"リレーURL(任意、カンマ区切り)","Remove poll":"投票を削除","Refresh results":"結果を更新",Poll:"投票",Media:"メディア","Republish to ...":"再公開先 ...","Successfully republish to your write relays":"書きリレイへの再公開に成功しました","Failed to republish to your write relays: {{error}}":"書きリレイへの再公開に失敗しました: {{error}}","Successfully republish to relay set: {{name}}":"リレイセット {{name}} への再公開に成功しました","Failed to republish to relay set: {{name}}. Error: {{error}}":"リレイセット {{name}} への再公開に失敗しました。エラー: {{error}}","Successfully republish to relay: {{url}}":"リレイ {{url}} への再公開に成功しました","Failed to republish to relay: {{url}}. Error: {{error}}":"リレイ {{url}} への再公開に失敗しました。エラー: {{error}}","Write relays":"書きリレイ","No more reactions":"これ以上の反応はありません","No reactions yet":"まだ反応はありません","No more zaps":"これ以上のZapはありません","No zaps yet":"まだZapはありません","No more reposts":"これ以上のリポストはありません","No reposts yet":"まだリポストはありません",Reposts:"リポスト",FollowListNotFoundConfirmation:"フォローリストが見つかりません。新しいものを作成しますか?以前にユーザーをフォローしたことがある場合は、この操作により前のフォローリストが失われるため、確認しないでください。",MuteListNotFoundConfirmation:"ミュートリストが見つかりません。新しいものを作成しますか?以前にユーザーをミュートしたことがある場合は、この操作により前のミュートリストが失われるため、確認しないでください。","Show NSFW content by default":"デフォルトでNSFWコンテンツを表示","Custom emoji management":"カスタム絵文字管理","After changing emojis, you may need to refresh the page":"絵文字を変更した後、ページを更新する必要がある場合があります","Too many read relays":"読み取りリレイが多すぎます","Too many write relays":"書き込みリレイが多すぎます","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}} 個の読み取りリレイがあります。ほとんどのクライアントは2〜4個のリレイのみを使用するため、それ以上設定する必要はありません。","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}} 個の書き込みリレイがあります。ほとんどのクライアントは2〜4個のリレイのみを使用するため、それ以上設定する必要はありません。","Optimize Relay Settings":"リレイ設定を最適化","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"現在のリレイ設定は最適ではない可能性があります。これにより、他の人があなたの投稿を見つけにくくなり、通知が不完全になる可能性があります。","Optimize Now":"今すぐ最適化","Maybe Later":"後で","Don't remind me again":"今後表示しない",Posts:"投稿",Articles:"記事",Highlights:"ハイライト",Polls:"投票","Voice Posts":"音声投稿","Photo Posts":"写真投稿","Video Posts":"ビデオ投稿","Select All":"すべて選択","Clear All":"すべてクリア","Set as default filter":"デフォルトフィルターに設定",Apply:"適用",Reset:"リセット","Share something on this Relay":"このリレーで何かを共有する","Try deleting this note":"このノートを削除してみてください","Deletion request sent to {{count}} relays":"削除リクエストが{{count}}個のリレーに送信されました","Suitable Relays":"適切なリレー","People, keywords, or relays":"人、キーワード、またはリレー","Hide content mentioning muted users":"ミュートしたユーザーを言及するコンテンツを非表示","This note mentions a user you muted":"このノートはミュートしたユーザーを言及しています",Filter:"フィルター","mentioned you in a note":"ノートであなたに言及しました","quoted your note":"あなたのノートを引用しました","voted in your poll":"あなたの投票に投票しました","reacted to your note":"あなたのノートにリアクションしました","reposted your note":"あなたのノートをリポストしました","zapped your note":"あなたのノートにザップしました","highlighted your note":"あなたのノートをハイライトしました","zapped you":"あなたにザップしました","Mark as read":"既読にする",Report:"報告","Successfully report":"報告が成功しました","Failed to report":"報告に失敗しました",nudity:"ヌード",malware:"マルウェア",profanity:"冒涜的な内容",illegal:"違法コンテンツ",spam:"スパム",other:"その他","Notification list style":"通知リストスタイル","See extra info for each notification":"各通知の詳細情報を表示","See more notifications at a glance":"一目でより多くの通知を確認",Detailed:"詳細",Compact:"コンパクト","Submit Relay":"リレーを提出",Homepage:"ホームページ","Proof of Work (difficulty {{minPow}})":"プルーフオブワーク (難易度 {{minPow}})","via {{client}}":"{{client}} 経由","Auto-load media":"メディアの自動読み込み",Always:"常に","Wi-Fi only":"Wi-Fiのみ",Never:"しない","Click to load image":"クリックして画像を読み込む","Click to load media":"クリックしてメディアを読み込む","Click to load YouTube video":"クリックしてYouTubeビデオを読み込む","{{count}} reviews":"{{count}}件のレビュー","Write a review":"レビューを書く","No reviews yet. Be the first to write one!":"まだレビューがありません。最初のレビューを書いてみませんか!","View more reviews":"もっとレビューを見る","Failed to review":"レビュー失敗","Write a review and pick a star rating":"レビューを書いて星評価を選択してください",Submit:"送信","Reviews for {{relay}}":"{{relay}} のレビュー","No relays selected":"リレーが選択されていません","Post to":"投稿先","Write relays and {{count}} other relays":"書き込みリレーと他の {{count}} 個のリレー","{{count}} relays":"{{count}} 個のリレー","Republishing...":"再公開中...","Connected to":"接続先","Disconnect Wallet":"ウォレットの接続を解除","Are you absolutely sure?":"本当に確かですか?","You will not be able to send zaps to others.":"他の人にZapを送信できなくなります。",Disconnect:"接続解除","Start with a Rizful Vault":"Rizful Vaultで始める","or other wallets":"または他のウォレット","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vaultが接続されました!","You can now use your Rizful Vault to zap your favorite notes and creators.":"これで、Rizful Vaultを使用してお気に入りのノートやクリエイターにZapを送信できます。","Your Lightning Address":"あなたのライトニングアドレス","New to Rizful?":"Rizfulを初めて利用しますか?","Sign up for Rizful":"Rizfulにサインアップ","If you already have a Rizful account, you can skip this step.":"すでにRizfulアカウントをお持ちの場合は、このステップをスキップできます。","Get your one-time code":"ワンタイムコードを取得","Get code":"コードを取得","Connect to your Rizful Vault":"Rizful Vaultに接続","Paste your one-time code here":"ここにワンタイムコードを貼り付けてください",Connect:"接続","Set up your wallet to send and receive sats!":"ウォレットを設定してサッツを送受信しましょう!","Set up":"設定する",Pinned:"固定済み",Unpin:"固定解除",Unpinning:"固定解除中","Pinning...":"固定中...","Pinned!":"固定されました!","Failed to pin: {{error}}":"固定に失敗しました: {{error}}","Unpinning...":"固定解除中...","Unpinned!":"固定が解除されました!","Failed to unpin: {{error}}":"固定解除に失敗しました: {{error}}","Unpin from profile":"プロフィールから固定解除","Pin to profile":"プロフィールに固定",Appearance:"外観","Pure Black":"純黒",Default:"デフォルト",Red:"赤",Orange:"オレンジ",Amber:"アンバー",Yellow:"黄色",Lime:"ライム",Green:"緑",Emerald:"エメラルド",Teal:"ティール",Cyan:"シアン",Sky:"スカイ",Blue:"青",Indigo:"インディゴ",Violet:"バイオレット",Purple:"紫",Fuchsia:"フクシア",Pink:"ピンク",Rose:"ローズ","Primary color":"主要な色",Layout:"レイアウト","Two-column":"2列","Single-column":"1列",Reviews:"レビュー",Extension:"拡張機能",Remote:"リモート","Encrypted Key":"暗号化キー","Private Key":"暗号化されたキー","Welcome to Smesh":"Smeshへようこそ","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smeshはリレーを閲覧することに焦点を当てたクライアントです。興味深いリレーを探索するか、ログインしてフォロー中のフィードを表示してください。","Explore Relays":"リレーを探索","Choose a feed":"フィードを選択","and {{x}} others":"および他{{x}}人",selfZapWarning:"Smesh は、あなたが自分自身にザップした場合の結果について責任を負いません。自己責任で続行してください。😉⚡","Emoji Pack":"絵文字パック","Emoji pack added":"絵文字パックを追加しました","Add emoji pack failed":"絵文字パックの追加に失敗しました","Emoji pack removed":"絵文字パックを削除しました","Remove emoji pack failed":"絵文字パックの削除に失敗しました",Added:"追加済み","Emoji Packs":"絵文字パック","My Packs":"マイパック","Adding...":"追加中...","Removing...":"削除中...",Reload:"再読み込み","Request to Join Relay":"リレーへの参加をリクエスト","Leave Relay":"リレーを退出",Leave:"退出","Are you sure you want to leave this relay?":"このリレーを退出してもよろしいですか?","Join request sent successfully":"参加リクエストを送信しました","Failed to send join request":"参加リクエストの送信に失敗しました","Leave request sent successfully":"退出リクエストを送信しました","Failed to send leave request":"退出リクエストの送信に失敗しました","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"招待コードをお持ちの場合は入力してください。それ以外の場合は空白のままリクエストを送信してください。","Invite Code (Optional)":"招待コード(オプション)","Enter invite code":"招待コードを入力","Sending...":"送信中...","Send Request":"リクエストを送信","You can get an invite code from a relay member.":"リレーメンバーから招待コードを取得できます。","Enter the invite code you received from a relay member.":"リレーメンバーから受け取った招待コードを入力してください。","Get Invite Code":"招待コードを取得","Share this invite code with others to invite them to join this relay.":"この招待コードを他の人と共有して、このリレーへの参加を招待してください。","Invite Code":"招待コード",Copy:"コピー","This invite code can be used by others to join the relay.":"この招待コードは他の人がリレーに参加するために使用できます。","No invite code available from this relay.":"このリレーから利用可能な招待コードはありません。",Close:"閉じる","Failed to get invite code from relay":"リレーから招待コードの取得に失敗しました","Failed to get invite code":"招待コードの取得に失敗しました","Invite code copied to clipboard":"招待コードをクリップボードにコピーしました","Favicon URL":"ファビコンURL","Filter out onion relays":"Onionリレーを除外","Click to load X post":"クリックしてX投稿を読み込む","View Nostr comments":"Nostrコメントを表示","Search for notes":"ノートを検索","Search for hashtag":"ハッシュタグを検索","Go to note":"ノートへ移動","Go to relay":"リレーへ移動","View discussions about this":"このコンテンツに関する議論を表示","Open link":"リンクを開く","View Nostr discussions":"Nostr の議論を表示","Optimal relays":"最適なリレー","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"最適なリレー(あなたの書き込みリレーと言及されたユーザーの読み取りリレー)への再公開に成功しました","Failed to republish to optimal relays: {{error}}":"最適なリレーへの再公開に失敗しました:{{error}}","External Content":"外部コンテンツ",Highlight:"ハイライト","Optimal relays and {{count}} other relays":"最適なリレーと他の{{count}}個のリレー","Likely spam account (Trust score: {{percentile}}%)":"スパムの可能性が高いアカウント(信頼スコア:{{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"疑わしいアカウント(信頼スコア:{{percentile}}%)","n users":"{{count}}人のユーザー","View Details":"詳細を表示","Follow Pack Not Found":"フォローパックが見つかりません","Follow pack not found":"フォローパックが見つかりません",Users:"ユーザー",Feed:"フィード","Follow Pack":"フォローパック","Load earlier":"以前を読み込む","Last 24 hours":"過去24時間","Last {{count}} days":"過去{{count}}日間",notes:"ノート","Quick reaction":"クイックリアクション","If enabled, you can react with a single click. Click and hold for more options":"有効にすると、ワンクリックでリアクションできます。長押しで他のオプションを表示","Quick reaction emoji":"クイックリアクション絵文字","Select emoji":"絵文字を選択","NSFW content display":"NSFWコンテンツの表示","Hide completely":"完全に非表示","Show but hide content":"表示するがコンテンツを非表示","Show directly":"直接表示","Click to view":"クリックして表示","Special Follow":"特別フォロー","Unfollow Special":"特別フォロー解除","Personal Feeds":"個人フィード","Relay Feeds":"リレーフィード","Create Highlight":"ハイライトを作成","Write your thoughts about this highlight...":"このハイライトについての考えを書いてください...","Publish Highlight":"ハイライトを公開","Show replies":"返信を表示","Hide replies":"返信を非表示","Welcome to Smesh!":"Smeshへようこそ!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"まだ誰もフォローしていないため、フィードが空です。興味深いコンテンツを探索して、好きなユーザーをフォローしてみましょう!","Search Users":"ユーザーを検索","Create New Account":"新しいアカウントを作成",Important:"重要","Generate Your Account":"アカウントを生成","Your private key IS your account. Keep it safe!":"秘密鍵があなたのアカウントです。安全に保管してください!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Nostrでは、秘密鍵があなたのアカウントです。秘密鍵を紛失すると、アカウントを永久に失います。","Your Private Key":"あなたの秘密鍵","Generate new key":"新しい鍵を生成","Download Backup File":"バックアップファイルをダウンロード","Copied to Clipboard":"クリップボードにコピーしました","Copy to Clipboard":"クリップボードにコピー","I already saved my private key securely.":"秘密鍵を安全に保存しました。","Almost Done!":"もう少しで完了です!","Set a password to encrypt your key, or skip to finish":"鍵を暗号化するためのパスワードを設定するか、スキップして完了してください","Password Protection (Optional)":"パスワード保護(オプション)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"パスワードを設定すると、このブラウザで秘密鍵が暗号化されます。この手順はスキップできますが、セキュリティ強化のために設定することをお勧めします。","Password (Optional)":"パスワード(オプション)","Enter password or leave empty to skip":"パスワードを入力するか、空のままにしてスキップしてください","Confirm Password":"パスワードを確認","Re-enter password":"パスワードを再入力","Passwords do not match":"パスワードが一致しません","Finish Signup":"登録を完了","Create Your Nostr Account":"Nostrアカウントを作成","Generate your unique private key. This is your digital identity.":"あなた専用の秘密鍵を生成します。これがあなたのデジタルアイデンティティです。","Critical: Save Your Private Key":"重要:秘密鍵を保存してください","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"あなたの秘密鍵があなたのアカウントそのものです。パスワード復旧機能はありません。紛失すると、アカウントを永久に失います。安全な場所に保存してください。","I have safely backed up my private key":"秘密鍵を安全にバックアップしました","Secure Your Account":"アカウントを保護","Add an extra layer of protection with a password":"パスワードで追加の保護層を追加","Password Protection (Recommended)":"パスワード保護(推奨)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"このブラウザで秘密鍵を暗号化するパスワードを追加します。オプションですが、より良いセキュリティのために強くお勧めします。","Create a password (or skip)":"パスワードを作成(またはスキップ)","Enter your password again":"パスワードをもう一度入力","Complete Signup":"登録を完了",Recommended:"おすすめ"}},Ybe={translation:{"Welcome! 🥳":"환영합니다! 🥳",About:"정보","New Note":"새 노트 작성",Post:"노트 게시",Home:"홈","Relay settings":"릴레이 설정",Settings:"설정",SidebarRelays:"릴레이",Refresh:"새로고침",Profile:"프로필",Logout:"로그아웃",Following:"팔로잉",followings:"팔로잉",reposted:"리포스트","just now":"방금 전","minute ago_one":"{{count}}분 전","minute ago_other":"{{count}}분 전","n m":"{{n}}분","hour ago_one":"{{count}}시간 전","hour ago_other":"{{count}}시간 전","n h":"{{n}}시간","day ago_one":"{{count}}일 전","day ago_other":"{{count}}일 전","n d":"{{n}}일",date:"{{timestamp, date}}",Follow:"팔로우",Unfollow:"언팔로우","Follow failed":"팔로우 실패","Unfollow failed":"언팔로우 실패","show new notes":"새 노트 보기","loading...":"로딩 중...","Loading...":"로딩 중...","no more notes":"더 이상 노트 없음","reply to":"답글",reply:"답글",Reply:"답글","load more older replies":"이전 답글 더 보기","Write something...":"무엇인가 작성하세요...",Cancel:"취소",Mentions:"멘션","Failed to post":"게시 실패","Post successful":"게시 성공","Your post has been published":"게시물이 게시되었습니다",Repost:"리포스트",Quote:"인용","Copy event ID":"이벤트 ID 복사","Copy user ID":"사용자 ID 복사","View raw event":"원본 이벤트 보기",Like:"좋아요","switch to light theme":"라이트 테마로 전환","switch to dark theme":"다크 테마로 전환","switch to system theme":"시스템 테마로 전환",Note:"노트",note:"노트","username's following":"{{username}}님의 팔로잉","username's used relays":"{{username}}님이 사용하는 릴레이","username's muted":"{{username}}님이 차단한 사용자",Login:"로그인","Follows you":"회원님을 팔로우함","Relay Settings":"릴레이 설정","Relay set name":"릴레이 세트 이름","Add a new relay set":"새 릴레이 세트 추가",Add:"추가","n relays":"{{n}}개의 릴레이",Rename:"이름 변경","Copy share link":"공유 링크 복사",Delete:"삭제","Relay already exists":"릴레이가 이미 존재합니다","invalid relay URL":"유효하지 않은 릴레이 주소","Add a new relay":"새 릴레이 추가",back:"뒤로","Lost in the void":"공허 속에서 길을 잃음","Carry me home":"집으로 데려다줘","no replies":"답글 없음","Reply to":"답글",Search:"검색","The relays you are connected to do not support search":"연결된 릴레이가 검색을 지원하지 않습니다","Show more...":"더 보기...","All users":"모든 사용자","Display replies":"답글 표시",Notes:"노트",Replies:"답글",Notifications:"알림","no more notifications":"더 이상 알림 없음","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"개인 키 로그인은 안전하지 않습니다. alby, nostr-keyx, nos2x와 같은 브라우저 확장 프로그램을 사용하는 것이 좋습니다. 꼭 개인 키를 사용해야 한다면 최소한 암호를 설정하세요.","Login with Browser Extension":"브라우저 확장으로 로그인","Login with Bunker":"Bunker로 로그인","Login with Private Key":"개인 키로 로그인","reload notes":"노트 다시 불러오기","Logged in Accounts":"로그인된 계정","Add an Account":"계정 추가","More options":"더 많은 옵션","Add client tag":"클라이언트 태그 추가","Show others this was sent via Smesh":"이 노트가 Smesh을 통해 전송되었음을 표시","Are you sure you want to logout?":"로그아웃 하시겠습니까?","relay sets":"릴레이 세트",edit:"편집",Languages:"언어",Theme:"테마",System:"시스템",Light:"라이트",Dark:"다크",Temporary:"임시","Choose a relay set":"릴레이 세트 선택","Switch account":"계정 전환",Pictures:"사진","Picture note":"사진 노트","A special note for picture-first clients like Olas":"Olas와 같은 사진 우선 클라이언트에서 표시되는 특별한 노트","Picture note requires images":"사진 노트에는 이미지가 필요합니다",Relays:"릴레이",Image:"이미지",Normal:"일반","R & W":"읽기/쓰기",Read:"읽기 전용",Write:"쓰기 전용","Pull relay sets":"릴레이 세트 가져오기","Select the relay sets you want to pull":"가져올 릴레이 세트 선택","No relay sets found":"릴레이 세트를 찾을 수 없음","Pull n relay sets":"{{n}}개의 릴레이 세트 가져오기",Pull:"가져오기","Select all":"전체 선택","Relay Sets":"릴레이 세트",Mailbox:"메일박스","Read & Write Relays":"읽기/쓰기 릴레이","read relays description":"읽기 릴레이는 회원님과 관련된 이벤트를 찾는 데 사용됩니다. 다른 사용자는 회원님이 보길 원하는 이벤트를 회원님의 읽기 릴레이에 게시합니다.","write relays description":"쓰기 릴레이는 회원님의 이벤트를 게시하는 데 사용됩니다. 다른 사용자는 회원님의 쓰기 릴레이에서 회원님이 게시한 이벤트를 찾습니다.","read & write relays notice":"읽기 및 쓰기 릴레이는 각각 2~4개 정도가 적당합니다.","Don't have an account yet?":"아직 계정이 없으신가요?","or simply generate a private key":"또는 간단히 개인 키 생성","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"이것은 개인 키입니다. 절대 다른 사람과 공유하지 마세요. 안전하게 보관하세요. 분실 시 복구할 수 없습니다.",Edit:"편집",Save:"저장","Display Name":"표시 이름",Bio:"소개","Nostr Address (NIP-05)":"Nostr 주소 (NIP-05)","Invalid NIP-05 address":"유효하지 않은 NIP-05 주소","Copy private key":"개인 키 복사","Enter the password to decrypt your ncryptsec":"ncryptsec를 복호화할 비밀번호 입력",Back:"뒤로","password (optional): encrypt nsec":"비밀번호(선택): nsec 암호화","optional: encrypt nsec":"선택: nsec 암호화",password:"비밀번호","Sign up":"회원가입","Save to":"저장 위치","Enter a name for the new relay set":"새 릴레이 세트 이름 입력","Save to a new relay set":"새 릴레이 세트에 저장",Mute:"차단",Muted:"차단됨",Unmute:"차단 해제","Unmute user":"사용자 차단 해제","Append n relays":"{{n}}개의 릴레이 추가",Append:"추가","Select relays to append":"추가할 릴레이 선택","calculating...":"계산 중...","Calculate optimal read relays":"최적의 읽기 릴레이 계산","Login to set":"설정하려면 로그인","Please login to view following feed":"팔로잉 피드를 보려면 로그인하세요","Send only to r":"{{r}}에만 전송","Send only to these relays":"이 릴레이에만 전송",Explore:"탐색","Search relays":"릴레이 검색",relayInfoBadgeAuth:"로그인 필요",relayInfoBadgeSearch:"검색 지원",relayInfoBadgePayment:"유료",Operator:"운영자",Contact:"연락처",Software:"소프트웨어",Version:"버전","Random Relays":"무작위 릴레이",randomRelaysRefresh:"새로고침","Explore more":"더 탐색하기","Payment page":"결제 페이지","Supported NIPs":"지원 NIP","Open in a":"{{a}}에서 열기","Cannot handle event of kind k":"{{k}} 유형의 이벤트를 처리할 수 없습니다","Sorry! The note cannot be found 😔":"죄송합니다! 해당 노트를 찾을 수 없습니다 😔","This user has been muted":"이 사용자는 차단되었습니다",Wallet:"지갑",Sats:"사토시",sats:"사토시","Zap to":"잽 보내기","Zap n sats":"{{n}} 사토시 잽 보내기",zapComment:"코멘트","Default zap amount":"기본 잽 금액","Default zap comment":"기본 잽 코멘트","Lightning Address (or LNURL)":"라이트닝 주소(또는 LNURL)","Quick zap":"빠른 잽","If enabled, you can zap with a single click. Click and hold for custom amounts":"활성화하면 한 번 클릭으로 잽을 보낼 수 있습니다. 길게 누르면 금액을 직접 입력할 수 있습니다.",All:"전체",Reactions:"반응",Zaps:"잽","Earlier notifications":"이전 알림","Temporarily display this note":"이 노트 임시 표시",buttonFollowing:"팔로잉 중","Are you sure you want to unfollow this user?":"이 사용자를 언팔로우하시겠습니까?","Recent Supporters":"최근 후원자","Seen on":"출처","Temporarily display this reply":"이 답글 임시 표시","Note not found":"노트를 찾을 수 없음","no more replies":"더 이상 답글 없음","Relay sets":"릴레이 세트","Favorite Relays":"즐겨찾는 릴레이","Following's Favorites":"팔로잉의 즐겨찾기","no more relays":"더 이상 릴레이 없음","Favorited by":"즐겨찾기한 사람","Post settings":"게시 설정","Media upload service":"미디어 업로드 서비스","Choose a relay":"릴레이 선택","no relays found":"릴레이를 찾을 수 없음",video:"비디오","Show n new notes":"{{n}}개의 새 노트 보기",YouTabName:"나와 함께",Bookmark:"북마크","Remove bookmark":"북마크 제거","no bookmarks found":"북마크 없음","no more bookmarks":"더 이상 북마크 없음",Bookmarks:"북마크","Show more":"더 보기",General:"일반",Autoplay:"자동 재생","Enable video autoplay on this device":"이 기기에서 비디오 자동 재생 활성화","Paste or drop media files to upload":"미디어 파일을 붙여넣거나 드래그하여 업로드",Preview:"미리보기","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"[{{eventAuthorName}}]가 서명한 이벤트를 게시하려고 합니다. 현재 [{{currentUsername}}]로 로그인되어 있습니다. 계속하시겠습니까?","Platinum Sponsors":"플래티넘 스폰서",From:"출처","Comment on":"댓글","View on njump.me":"njump.me에서 보기","Hide content from untrusted users":"신뢰하지 않는 사용자의 콘텐츠 숨기기","Only show content from your followed users and the users they follow":"내가 팔로우하는 사용자와 그들이 팔로우하는 사용자의 콘텐츠만 표시","Followed by":"팔로워","Mute user privately":"비공개 차단","Mute user publicly":"공개 차단",Quotes:"인용","Lightning Invoice":"라이트닝 인보이스","Bookmark failed":"북마크 실패","Remove bookmark failed":"북마크 제거 실패",Translation:"번역",Balance:"잔액",characters:"글자",smeshTranslateApiKeyDescription:"이 API 키는 LibreTranslate를 지원하는 모든 곳에서 사용할 수 있습니다. 서비스 주소: {{serviceUrl}}","Top up":"충전","Will receive: {n} characters":"{{n}} 글자를 받게 됩니다","Top up {n} sats":"{{n}} 사토시 충전","Minimum top up is {n} sats":"최소 충전 금액은 {{n}} 사토시입니다",Service:"서비스","Reset API key":"API 키 재설정","Are you sure you want to reset your API key? This action cannot be undone.":"API 키를 재설정하시겠습니까? 이 작업은 되돌릴 수 없습니다.",Warning:"경고","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"현재 API 키는 즉시 무효화되며, 새 키로 업데이트하기 전까지 관련 앱이 작동하지 않습니다.","Service address":"서비스 주소",Pay:"결제",interactions:"상호작용",notifications:"알림","Show untrusted {type}":"신뢰하지 않는 {{type}} 표시","Hide untrusted {type}":"신뢰하지 않는 {{type}} 숨기기","Currently hiding {type} from untrusted users.":"현재 신뢰하지 않는 사용자의 {{type}}을(를) 숨기고 있습니다.","Currently showing all {type}.":"현재 모든 {{type}}을(를) 표시하고 있습니다.","Click continue to show all {type}.":"계속을 클릭하면 모든 {{type}}을(를) 표시합니다.","Click continue to hide {type} from untrusted users.":"계속을 클릭하면 신뢰하지 않는 사용자의 {{type}}을(를) 숨깁니다.","Trusted users include people you follow and people they follow.":"신뢰하는 사용자는 내가 팔로우하는 사람과 그들이 팔로우하는 사람을 포함합니다.",Continue:"계속","Successfully updated mute list":"차단 목록이 성공적으로 업데이트되었습니다","No pubkeys found from {url}":"{{url}}에서 pubkey를 찾을 수 없습니다","Translating...":"번역 중...",Translate:"번역","Show original":"원본 보기",Website:"웹사이트","Hide untrusted notes":"신뢰하지 않는 노트 숨기기","Open in another client":"다른 클라이언트에서 열기",Community:"커뮤니티",Group:"그룹","Live event":"라이브 이벤트",Article:"기사",Unfavorite:"즐겨찾기 취소","Recommended relays":"추천 릴레이","Blossom server URLs":"Blossom 서버 주소","You need to add at least one blossom server in order to upload media files.":"미디어 파일을 업로드하려면 최소한 하나의 Blossom 서버를 추가해야 합니다.","Recommended blossom servers":"추천 Blossom 서버","Enter Blossom server URL":"Blossom 서버 URL 입력",Preferred:"선호","Multiple choice (select one or more)":"다중 선택 (하나 이상 선택)",Vote:"투표","{{number}} votes":"{{number}} 표","Total votes":"총 투표수","Poll has ended":"투표 종료","Poll ends at {{time}}":"투표 종료 시간: {{time}}","Load results":"결과 로드","This is a poll note.":"이것은 투표 노트입니다.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"일반 노트와 달리 투표는 널리 지원되지 않으며 다른 클라이언트에서 표시되지 않을 수 있습니다.","Option {{number}}":"옵션 {{number}}","Add Option":"옵션 추가","Allow multiple choices":"다중 선택 허용","End Date (optional)":"종료 날짜 (선택사항)","Clear end date":"종료 날짜 지우기","Relay URLs (optional, comma-separated)":"릴레이 URL (선택사항, 쉼표로 구분)","Remove poll":"투표 제거","Refresh results":"결과 새로 고침",Poll:"투표",Media:"미디어","Republish to ...":"다시 게시 ...","Successfully republish to your write relays":"쓰기 릴레이에 성공적으로 다시 게시됨","Failed to republish to your write relays: {{error}}":"쓰기 릴레이에 다시 게시하지 못함: {{error}}","Successfully republish to relay set: {{name}}":"릴레이 세트에 성공적으로 다시 게시됨: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"릴레이 세트에 다시 게시하지 못함: {{name}}. 오류: {{error}}","Successfully republish to relay: {{url}}":"릴레이에 성공적으로 다시 게시됨: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"릴레이에 다시 게시하지 못함: {{url}}. 오류: {{error}}","Write relays":"쓰기 릴레이","No more reactions":"더 이상 반응이 없습니다","No reactions yet":"아직 반응이 없습니다","No more zaps":"더 이상 잽이 없습니다","No zaps yet":"아직 잽이 없습니다","No more reposts":"더 이상 리포스트가 없습니다","No reposts yet":"아직 리포스트가 없습니다",Reposts:"리포스트",FollowListNotFoundConfirmation:"팔로우 목록을 찾을 수 없습니다. 새로 만드시겠습니까? 이전에 사용자를 팔로우한 적이 있다면 이 작업으로 인해 이전 팔로우 목록을 잃게 되므로 확인하지 마시기 바랍니다.",MuteListNotFoundConfirmation:"음소거 목록을 찾을 수 없습니다. 새로 만드시겠습니까? 이전에 사용자를 음소거한 적이 있다면 이 작업으로 인해 이전 음소거 목록을 잃게 되므로 확인하지 마시기 바랍니다.","Show NSFW content by default":"기본적으로 NSFW 콘텐츠 표시","Custom emoji management":"사용자 정의 이모지 관리","After changing emojis, you may need to refresh the page":"이모지를 변경한 후 페이지를 새로고침해야 할 수 있습니다","Too many read relays":"읽기 릴레이가 너무 많습니다","Too many write relays":"쓰기 릴레이가 너무 많습니다","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}}개의 읽기 릴레이가 있습니다. 대부분의 클라이언트는 2-4개의 릴레이만 사용하므로 더 설정하는 것은 불필요합니다.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}}개의 쓰기 릴레이가 있습니다. 대부분의 클라이언트는 2-4개의 릴레이만 사용하므로 더 설정하는 것은 불필요합니다.","Optimize Relay Settings":"릴레이 설정 최적화","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"현재 릴레이 설정이 최적이 아닐 수 있습니다. 이로 인해 다른 사람들이 귀하의 게시물을 찾기 어려워지고 알림이 불완전할 수 있습니다.","Optimize Now":"지금 최적화","Maybe Later":"나중에","Don't remind me again":"다시 알리지 않기",Posts:"게시물",Articles:"기사",Highlights:"하이라이트",Polls:"투표","Voice Posts":"음성 게시물","Photo Posts":"사진 게시물","Video Posts":"비디오 게시물","Select All":"모두 선택","Clear All":"모두 지우기","Set as default filter":"기본 필터로 설정",Apply:"적용",Reset:"초기화","Share something on this Relay":"이 릴레이에서 무언가를 공유하세요","Try deleting this note":"이 노트를 삭제해 보세요","Deletion request sent to {{count}} relays":"삭제 요청이 {{count}}개의 릴레이로 전송되었습니다","Suitable Relays":"적합한 릴레이","People, keywords, or relays":"사람, 키워드 또는 릴레이","Hide content mentioning muted users":"뮤트된 사용자를 언급하는 콘텐츠 숨기기","This note mentions a user you muted":"이 노트는 뮤트한 사용자를 언급합니다",Filter:"필터","mentioned you in a note":"노트에서 당신을 언급했습니다","quoted your note":"당신의 노트를 인용했습니다","voted in your poll":"당신의 투표에 참여했습니다","reacted to your note":"당신의 노트에 반응했습니다","reposted your note":"당신의 노트를 리포스트했습니다","zapped your note":"당신의 노트를 잽했습니다","highlighted your note":"당신의 노트를 하이라이트했습니다","zapped you":"당신을 잽했습니다","Mark as read":"읽음으로 표시",Report:"신고","Successfully report":"신고가 성공적으로 완료되었습니다","Failed to report":"신고에 실패했습니다",nudity:"음란물",malware:"악성 소프트웨어",profanity:"욕설",illegal:"불법 콘텐츠",spam:"스팸",other:"기타","Notification list style":"알림 목록 스타일","See extra info for each notification":"각 알림의 추가 정보 보기","See more notifications at a glance":"한눈에 더 많은 알림 보기",Detailed:"상세",Compact:"간단","Submit Relay":"릴레이 제출",Homepage:"홈페이지","Proof of Work (difficulty {{minPow}})":"작업 증명 (난이도 {{minPow}})","via {{client}}":"{{client}} 통해","Auto-load media":"미디어 자동 로드",Always:"항상","Wi-Fi only":"Wi-Fi만",Never:"안함","Click to load image":"이미지 로드하려면 클릭","Click to load media":"미디어 로드하려면 클릭","Click to load YouTube video":"YouTube 비디오 로드하려면 클릭","{{count}} reviews":"{{count}}개 리뷰","Write a review":"리뷰 작성","No reviews yet. Be the first to write one!":"아직 리뷰가 없습니다. 첫 번째 리뷰를 작성해보세요!","View more reviews":"더 많은 리뷰 보기","Failed to review":"리뷰 실패","Write a review and pick a star rating":"리뷰를 작성하고 별점을 선택하세요",Submit:"제출","Reviews for {{relay}}":"{{relay}}에 대한 리뷰","No relays selected":"선택된 릴레이가 없습니다","Post to":"게시 대상","Write relays and {{count}} other relays":"쓰기 릴레이 및 기타 {{count}}개 릴레이","{{count}} relays":"{{count}}개 릴레이","Republishing...":"다시 게시 중...","Connected to":"연결됨","Disconnect Wallet":"지갑 연결 해제","Are you absolutely sure?":"정말 확실합니까?","You will not be able to send zaps to others.":"다른 사람에게 잽을 보낼 수 없습니다.",Disconnect:"연결 해제","Start with a Rizful Vault":"Rizful Vault로 시작하기","or other wallets":"또는 다른 지갑","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault 연결됨!","You can now use your Rizful Vault to zap your favorite notes and creators.":"이제 Rizful Vault를 사용하여 좋아하는 노트와 크리에이터에게 잽을 보낼 수 있습니다.","Your Lightning Address":"귀하의 라이트닝 주소","New to Rizful?":"Rizful이 처음이신가요?","Sign up for Rizful":"Rizful에 가입하기","If you already have a Rizful account, you can skip this step.":"이미 Rizful 계정이 있다면 이 단계를 건너뛸 수 있습니다.","Get your one-time code":"일회용 코드 받기","Get code":"코드 받기","Connect to your Rizful Vault":"Rizful Vault에 연결","Paste your one-time code here":"여기에 일회용 코드를 붙여넣기",Connect:"연결","Set up your wallet to send and receive sats!":"사츠를 보내고 받을 수 있도록 지갑을 설정하세요!","Set up":"설정하기",Pinned:"고정됨",Unpin:"고정 해제",Unpinning:"고정 해제 중","Pinning...":"고정 중...","Pinned!":"고정됨!","Failed to pin: {{error}}":"고정 실패: {{error}}","Unpinning...":"고정 해제 중...","Unpinned!":"고정 해제됨!","Failed to unpin: {{error}}":"고정 해제 실패: {{error}}","Unpin from profile":"프로필에서 고정 해제","Pin to profile":"프로필에 고정",Appearance:"외관","Pure Black":"순수한 검은색",Default:"기본",Red:"빨강",Orange:"주황",Amber:"호박색",Yellow:"노랑",Lime:"라임",Green:"초록",Emerald:"에메랄드",Teal:"청록",Cyan:"시안",Sky:"하늘색",Blue:"파랑",Indigo:"남색",Violet:"보라",Purple:"자주",Fuchsia:"자홍",Pink:"분홍",Rose:"장미","Primary color":"기본 색상",Layout:"레이아웃","Two-column":"두 열","Single-column":"한 열",Reviews:"리뷰",Extension:"확장 프로그램",Remote:"원격","Encrypted Key":"암호화된 키","Private Key":"개인 키","Welcome to Smesh":"Smesh에 오신 것을 환영합니다","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh은 릴레이 탐색에 중점을 둔 클라이언트입니다. 흥미로운 릴레이를 탐색하거나 로그인하여 팔로잉 피드를 확인하세요.","Explore Relays":"릴레이 탐색","Choose a feed":"피드 선택","and {{x}} others":"및 기타 {{x}}명",selfZapWarning:"Smesh은 자신에게 Zap을 보낼 때 발생하는 일에 대해 책임을 지지 않습니다. 본인의 책임 하에 진행하세요. 😉⚡","Emoji Pack":"이모지 팩","Emoji pack added":"이모지 팩이 추가되었습니다","Add emoji pack failed":"이모지 팩 추가 실패","Emoji pack removed":"이모지 팩이 제거되었습니다","Remove emoji pack failed":"이모지 팩 제거 실패",Added:"추가됨","Emoji Packs":"이모지 팩","My Packs":"내 팩","Adding...":"추가 중...","Removing...":"제거 중...",Reload:"다시 불러오기","Request to Join Relay":"릴레이 가입 요청","Leave Relay":"릴레이 떠나기",Leave:"나가기","Are you sure you want to leave this relay?":"이 릴레이를 떠나시겠습니까?","Join request sent successfully":"가입 요청을 성공적으로 보냈습니다","Failed to send join request":"가입 요청 전송 실패","Leave request sent successfully":"떠나기 요청을 성공적으로 보냈습니다","Failed to send leave request":"떠나기 요청 전송 실패","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"초대 코드가 있으면 입력하세요. 그렇지 않으면 비워두고 요청을 보내세요.","Invite Code (Optional)":"초대 코드 (선택 사항)","Enter invite code":"초대 코드 입력","Sending...":"전송 중...","Send Request":"요청 보내기","You can get an invite code from a relay member.":"릴레이 회원으로부터 초대 코드를 받을 수 있습니다.","Enter the invite code you received from a relay member.":"릴레이 회원으로부터 받은 초대 코드를 입력하세요.","Get Invite Code":"초대 코드 받기","Share this invite code with others to invite them to join this relay.":"이 초대 코드를 다른 사람과 공유하여 이 릴레이에 초대하세요.","Invite Code":"초대 코드",Copy:"복사","This invite code can be used by others to join the relay.":"이 초대 코드는 다른 사람이 릴레이에 가입하는 데 사용할 수 있습니다.","No invite code available from this relay.":"이 릴레이에서 사용 가능한 초대 코드가 없습니다.",Close:"닫기","Failed to get invite code from relay":"릴레이에서 초대 코드 가져오기 실패","Failed to get invite code":"초대 코드 가져오기 실패","Invite code copied to clipboard":"초대 코드가 클립보드에 복사되었습니다","Favicon URL":"파비콘 URL","Filter out onion relays":"어니언 릴레이 필터링","Click to load X post":"클릭하여 X 게시물 로드","View Nostr comments":"Nostr 댓글 보기","Search for notes":"노트 검색","Search for hashtag":"해시태그 검색","Go to note":"노트로 이동","Go to relay":"릴레이로 이동","View discussions about this":"이 콘텐츠에 대한 토론 보기","Open link":"링크 열기","View Nostr discussions":"Nostr 토론 보기","Optimal relays":"최적 릴레이","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"최적 릴레이(쓰기 릴레이 및 언급된 사용자의 읽기 릴레이)에 성공적으로 재게시되었습니다","Failed to republish to optimal relays: {{error}}":"최적 릴레이에 재게시 실패: {{error}}","External Content":"외부 콘텐츠",Highlight:"하이라이트","Optimal relays and {{count}} other relays":"최적 릴레이 및 기타 {{count}}개 릴레이","Likely spam account (Trust score: {{percentile}}%)":"스팸 계정 가능성 높음 (신뢰 점수: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"의심스러운 계정 (신뢰 점수: {{percentile}}%)","n users":"{{count}}명의 사용자","View Details":"세부 정보 보기","Follow Pack Not Found":"팔로우 팩을 찾을 수 없음","Follow pack not found":"팔로우 팩을 찾을 수 없습니다",Users:"사용자",Feed:"피드","Follow Pack":"팔로우 팩","Load earlier":"이전 데이터 로드","Last 24 hours":"최근 24시간","Last {{count}} days":"최근 {{count}}일",notes:"노트","Quick reaction":"빠른 반응","If enabled, you can react with a single click. Click and hold for more options":"활성화하면 한 번의 클릭으로 반응할 수 있습니다. 더 많은 옵션을 보려면 길게 누르세요","Quick reaction emoji":"빠른 반응 이모지","Select emoji":"이모지 선택","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"특별 팔로우","Unfollow Special":"특별 팔로우 해제","Personal Feeds":"개인 피드","Relay Feeds":"릴레이 피드","Create Highlight":"하이라이트 만들기","Write your thoughts about this highlight...":"이 하이라이트에 대한 생각을 작성하세요...","Publish Highlight":"하이라이트 게시","Show replies":"답글 표시","Hide replies":"답글 숨기기","Welcome to Smesh!":"Smesh에 오신 것을 환영합니다!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"아직 아무도 팔로우하지 않아서 피드가 비어 있습니다. 흥미로운 콘텐츠를 탐색하고 마음에 드는 사용자를 팔로우해보세요!","Search Users":"사용자 검색","Create New Account":"새 계정 만들기",Important:"중요","Generate Your Account":"계정 생성","Your private key IS your account. Keep it safe!":"개인 키가 바로 당신의 계정입니다. 안전하게 보관하세요!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Nostr에서는 개인 키가 바로 당신의 계정입니다. 개인 키를 잃으면 계정을 영구적으로 잃게 됩니다.","Your Private Key":"개인 키","Generate new key":"새 키 생성","Download Backup File":"백업 파일 다운로드","Copied to Clipboard":"클립보드에 복사됨","Copy to Clipboard":"클립보드에 복사","I already saved my private key securely.":"이미 개인 키를 안전하게 저장했습니다.","Almost Done!":"거의 완료되었습니다!","Set a password to encrypt your key, or skip to finish":"키를 암호화할 비밀번호를 설정하거나 건너뛰어 완료하세요","Password Protection (Optional)":"비밀번호 보호 (선택사항)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"비밀번호를 설정하면 이 브라우저에서 개인 키가 암호화됩니다. 이 단계를 건너뛸 수 있지만 보안 강화를 위해 설정하는 것을 권장합니다.","Password (Optional)":"비밀번호 (선택사항)","Enter password or leave empty to skip":"비밀번호를 입력하거나 비워두어 건너뛰세요","Confirm Password":"비밀번호 확인","Re-enter password":"비밀번호 재입력","Passwords do not match":"비밀번호가 일치하지 않습니다","Finish Signup":"가입 완료","Create Your Nostr Account":"Nostr 계정 만들기","Generate your unique private key. This is your digital identity.":"고유한 개인 키를 생성합니다. 이것이 당신의 디지털 신원입니다.","Critical: Save Your Private Key":"중요: 개인 키를 저장하세요","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"개인 키가 곧 계정 그 자체입니다. 비밀번호 복구 기능이 없습니다. 분실하면 계정을 영구적으로 잃게 됩니다. 안전한 곳에 저장하세요.","I have safely backed up my private key":"개인 키를 안전하게 백업했습니다","Secure Your Account":"계정 보호하기","Add an extra layer of protection with a password":"비밀번호로 추가 보호 계층 추가","Password Protection (Recommended)":"비밀번호 보호 (권장)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"이 브라우저에서 개인 키를 암호화할 비밀번호를 추가합니다. 선택사항이지만 더 나은 보안을 위해 강력히 권장합니다.","Create a password (or skip)":"비밀번호 생성(또는 건너뛰기)","Enter your password again":"비밀번호를 다시 입력하세요","Complete Signup":"가입 완료",Recommended:"추천"}},Gbe={translation:{"Welcome! 🥳":"Witamy! 🥳",About:"O Nas","New Note":"Nowa Publikacja",Post:"Publikuj",Home:"Strona Główna","Relay settings":"Ustawienia transmiterów",Settings:"Ustawienia",SidebarRelays:"Transmitery",Refresh:"Odśwież",Profile:"Twój Profil",Logout:"Wyloguj",Following:"Obserwowani",followings:"niżej wymienionych",reposted:"Udostępnił","just now":"teraz","minute ago_one":"{{count}} minutę temu","minute ago_other":"{{count}} minut temu","n m":"{{n}}m","hour ago_one":"{{count}} godzinę temu","hour ago_other":"{{count}} godzin temu","n h":"{{n}}h","day ago_one":"{{count}} dzień temu","day ago_other":"{{count}} dni temu","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Obserwuj",Unfollow:"Porzuć","Follow failed":"Obserwacja nieudana","Unfollow failed":"Porzucenie obserwacji nieudane","show new notes":"Pokaż nowe wpisy","loading...":"ładowanie...","Loading...":"Ładowanie...","no more notes":"Koniec wpisów","reply to":"Odpowiedź na",reply:"odpowiedz",Reply:"Skomentuj","load more older replies":"Pobierz więcej starszych odpowiedzi","Write something...":"Napisz coś...",Cancel:"Anuluj",Mentions:"Wzmianki","Failed to post":"Nie udało się opublikować","Post successful":"Twój wpis został wysłany.","Your post has been published":"Publikowani są jedynie użytkownicy z białej listy",Repost:"Udostępnij",Quote:"Zacytuj","Copy event ID":"Skopiuj ID wydarzenia","Copy user ID":"Skopiuj ID użytkownika","View raw event":"Pokaż szczegóły wpisu",Like:"Polub","switch to light theme":"Przełącz na jasny motyw","switch to dark theme":"Przełącz na ciemny motyw ","switch to system theme":"Przełącz na motyw systemu (automatyczny)",Note:"Cały wpis",note:"note","username's following":"{{username}} obserwuje:","username's used relays":"{{username}} użył transmiterów","username's muted":"Zablokowani przez {{username}} ",Login:"Logowanie","Follows you":"Obserwujący","Relay Settings":"Ustawienia transmiterów","Relay set name":"Wpisz nazwę grupy","Add a new relay set":"Utwórz grupę transmiterów",Add:"Dodaj","n relays":"{{n}} szt.",Rename:"Zmień nazwę","Copy share link":"Kopiuj link",Delete:"Usuń","Relay already exists":"Transmiter już istnieje","invalid relay URL":"Nieprawidłowy URL transmitera","Add a new relay":"Dodaj nowy transmiter",back:"z powrotem","Lost in the void":"Zagubiony w przestrzeni","Carry me home":"Na stronę główną","no replies":"Brak komentarzy","Reply to":"Odpowiedz do",Search:"Wyszukaj","The relays you are connected to do not support search":"Podłączone transmitery nie obsługują wyszukiwania","Show more...":"Więcej...","All users":"Wszyscy użytkownicy","Display replies":"Wyświetl komentarze",Notes:"Wpisy",Replies:"Komentarze",Notifications:"Powiadomienia","no more notifications":"Koniec powiadomień","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Logowanie za pomocą prywatnego klucza jest niebezpieczne. Zaleca się korzystanie z rozszerzenia przeglądarki, takiego jak alby, nostr-keyx lub nos2x. Jeśli musisz użyć prywatnego klucza, ustaw co najmniej hasło do szyfrowania.","Login with Browser Extension":"Logowanie z rozszerzeniem przeglądarki","Login with Bunker":"Logowanie z bunkrem","Login with Private Key":"Logowanie z prywatnym kluczem (nsec)","reload notes":"Odśwież","Logged in Accounts":"Zalogowane konta","Add an Account":"Dodaj Konto","More options":"Więcej opcji","Add client tag":"Dodaj tag klienta","Show others this was sent via Smesh":"Pokaż innym, że zostało to wysłane przez Smesh","Are you sure you want to logout?":"Czy na pewno chcesz się wylogować?","relay sets":"Zestawy transmiterów",edit:"edytuj",Languages:"Języki",Theme:"Wygląd",System:"Domyślny",Light:"Jasny",Dark:"Ciemny",Temporary:"Tymczasowe","Choose a relay set":"Wybierz zestaw transmiterów","Switch account":"Zmień konto",Pictures:"Zdjęcia","Picture note":"Wpis Graficzny","A special note for picture-first clients like Olas":"Publikacja ze zdjęciami i opisem dla klientów takich jak Olas","Picture note requires images":"Wpis graficzny wymaga obrazów",Relays:"Transmitery",Image:"grafika","R & W":"O & Z",Read:"Odczyt",Write:"Zapis","Pull relay sets":"Pobierz zestaw transmiterów","Select the relay sets you want to pull":"Wybierz zestaw transmiterów do pobrania","No relay sets found":"Nie znaleziono zestawu transmiterów","Pull n relay sets":"Pobierz {{n}} zestawów transmiterów",Pull:"Pobierz","Select all":"Wszystkie","Relay Sets":"Grupy transmiterów","Read & Write Relays":"Transmitery zapisu i odczytu","read relays description":"Transmitery odczytu służą do wyszukiwania zdarzeń dotyczących użytkownika. Inni użytkownicy będą publikować wpisy, które chcą, abyś zobaczył, w transmiterach odczytu.","write relays description":"Transmitery zapisu służą do publikowania wydarzeń. Inni użytkownicy będą wyszukiwać zdarzenia z transmiterów zapisu.","read & write relays notice":"Liczba serwerów odczytu i zapisu powinna wynosić od 2 do 4.","Don't have an account yet?":"Nie masz jeszcze konta?","or simply generate a private key":"lub wygeneruj klucz prywatny nowego konta","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Jest to klucz prywatny. Nie należy go nikomu udostępniać. Przechowuj go w bezpiecznym miejscu. W przypadku jego utraty nie będzie można go odzyskać.",Edit:"Edytuj",Save:"Zapisz","Display Name":"Twoja nazwa użytkownika",Bio:"O mnie","Nostr Address (NIP-05)":"Adres Nostr (NIP-05)","Invalid NIP-05 address":"Nieprawidłowy adres NIP-05","Copy private key":"Kopiuj klucz prywatny","Enter the password to decrypt your ncryptsec":"Wprowadź hasło, aby odszyfrować ncryptsec",Back:"Wróć","optional: encrypt nsec":"opcjonalnie: encrypt nsec",password:"hasło","Sign up":"Zarejestruj się","Save to":"Zapisz do","Enter a name for the new relay set":"Wpisz nazwę nowegej grupy transmiterów","Save to a new relay set":"Zapisz do nowego zestawu transmiterów",Mute:"Zablokuj",Muted:"Zablokowani",Unmute:"Przywróć","Unmute user":"Przywróć użytkownika ","Append n relays":"Dodaj {{n}} transmiterów",Append:"Dodaj","Select relays to append":"Wybierz transmitery do dodania","calculating...":"obliczanie...","Calculate optimal read relays":"Obliczanie optymalnego odczytu transmiterów","Login to set":"Zaloguj się","Please login to view following feed":"Zaloguj się, aby wyświetlić poniższy wpis","Send only to r":"Wyślij tylko do {{r}}","Send only to these relays":"Wyślij tylko do tych transmiterów",Explore:"Transmitery","Search relays":"Wyszukaj transmiter",relayInfoBadgeAuth:"✔️",relayInfoBadgeSearch:"Wyszukiwarka",relayInfoBadgePayment:"Płatności",Operator:"Operator",Contact:"Kontakt",Software:"Software",Version:"Wersja","Random Relays":"Losowo wybrane",randomRelaysRefresh:"Odśwież","Explore more":"Zobacz więcej","Payment page":"Strona płatności","Supported NIPs":"Obsługiwane NIP-y","Open in a":"Otwórz w {{a}}","Cannot handle event of kind k":"Nie można obsłużyć zdarzenia typu {{k}}","Sorry! The note cannot be found 😔 ":"Przepraszam! Nie można znaleźć wpisu 😔","This user has been muted":"Ten użytkownik został przyblokowany",Wallet:"Portfel",Sats:"Satoszy",sats:"satoszy","Zap to":"Zap dla użytkownika ","Zap n sats":"Zap {{n}} satoszów",zapComment:"Komentarz do zapa","Default zap amount":"Standardowa kwota zapa","Default zap comment":"Standardowy komentarz do zapa","Lightning Address (or LNURL)":"Lightning Adres (lub LNURL)","Quick zap":"Szybki zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Jeśli włączysz tę opcję, będzie można wysyłać zapa jednym kliknięciem. Naciśnij i przytrzymaj, aby wprowadzić inną kwotę",All:"Wszystkie",Reactions:"Odzewy",Zaps:"Zapy","Earlier notifications":"Wcześniejsze powiadomienia","Temporarily display this note":"Tymczas wyświetl ten wpis",buttonFollowing:"Obserwujesz","Are you sure you want to unfollow this user?":"Czy na pewno chcesz przestać obserwować tego użytkownika?","Recent Supporters":"Ostatni wspierający","Seen on":"Widziany na","Temporarily display this reply":"Tymczasowo wyświetl tę odpowiedź","Note not found":"Nie znaleziono wpisu","no more replies":"brak kolejnych odpowiedzi","Relay sets":"Zestawy transmiterów","Favorite Relays":"Ulubione transmitery","Following's Favorites":"Ulubione transmitery obserwowanych","no more relays":"brak kolejnych transmiterów","Favorited by":"Ulubione od","Post settings":"Ustawienia publikacji","Media upload service":"Usługa przesyłania mediów","Choose a relay":"Wybierz transmiter","no relays found":"Nie znaleziono transmiterów",video:"wideo","Show n new notes":"Nowych wpisów: {{n}} ",YouTabName:"Twoje",Bookmark:"Zakładka","Remove bookmark":"Usuń zakładkę","no bookmarks found":"Nie znaleziono zakładek","no more bookmarks":"Koniec zakładek",Bookmarks:"Zakładki","Show more":"Pokaż więcej",General:"Ogólne",Autoplay:"Autoodtwarzanie","Enable video autoplay on this device":"Włącz automatyczne odtwarzanie wideo na tym urządzeniu","Paste or drop media files to upload":"Wklej lub upuść pliki multimedialne, aby przesłać",Preview:"Podgląd","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Zaraz opublikujesz zdarzenie podpisane przez [{{eventAuthorName}}]. Obecnie jesteś zalogowany jako [{{currentUsername}}]. Czy jesteś pewien?","Platinum Sponsors":"Sponsorzy Platynowi",From:"Od","Comment on":"Komentarz do","View on njump.me":"Zobacz na njump.me","Hide content from untrusted users":"Ukryj treści od nieznanych użytkowników","Only show content from your followed users and the users they follow":"Pokaż tylko treści od użytkowników, których obserwujesz i ich obserwowanych","Followed by":"Obserwujący","Mute user privately":"Zablokuj użytkownika prywatnie","Mute user publicly":"Zablokuj użytkownika publicznie",Quotes:"Cytaty","Lightning Invoice":"Faktura Lightning","Bookmark failed":"Nie udało się dodać zakładki","Remove bookmark failed":"Nie udało się usunąć zakładki",Translation:"Tłumaczenie",Balance:"Saldo",characters:"znaków",smeshTranslateApiKeyDescription:"Ten klucz API możesz używać wszędzie tam, gdzie obsługiwane jest LibreTranslate. Adres usługi to {{serviceUrl}}","Top up":"Doładuj","Will receive: {n} characters":"Otrzymasz: {{n}} znaków","Top up {n} sats":"Doładuj {{n}} satoszów","Minimum top up is {n} sats":"Minimalne doładowanie to {{n}} satoszów",Service:"Usługa","Reset API key":"Zresetuj klucz API","Are you sure you want to reset your API key? This action cannot be undone.":"Czy na pewno chcesz zresetować swój klucz API? Ta akcja jest nieodwracalna.",Warning:"Ostrzeżenie","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Twój obecny klucz API stanie się nieaktywny natychmiast, a wszystkie aplikacje korzystające z niego przestaną działać, dopóki nie zaktualizujesz ich nowym kluczem.","Service address":"Adres usługi",Pay:"Zapłać",interactions:"Interakcje",notifications:"Powiadomienia","Show untrusted {type}":"Pokaż nieznane {{type}}","Hide untrusted {type}":"Ukryj nieznane {{type}}","Currently hiding {type} from untrusted users.":"Obecnie ukrywasz {{type}} od nieznanych użytkowników.","Currently showing all {type}.":"Obecnie wyświetlasz wszystkie {{type}}.","Click continue to show all {type}.":"Kliknij kontynuuj, aby wyświetlić wszystkie {{type}}.","Click continue to hide {type} from untrusted users.":"Kliknij kontynuuj, aby ukryć {{type}} od nieznanych użytkowników.","Trusted users include people you follow and people they follow.":"Zaufani użytkownicy to osoby, które obserwujesz i osoby, które oni obserwują.",Continue:"Kontynuuj","Successfully updated mute list":"Sukces aktualizacji listy zablokowanych użytkowników","No pubkeys found from {url}":"Nie znaleziono kluczy publicznych z {{url}}","Translating...":"Tłumaczenie...",Translate:"Przetłumacz","Show original":"Pokaż oryginał",Website:"Strona internetowa","Hide untrusted notes":"Ukryj wpisy od nieznanych użytkowników","Open in another client":"Otwórz w innym kliencie",Community:"Społeczność",Group:"Grupa","Live event":"Wydarzenie na żywo",Article:"Artykuł",Unfavorite:"Usuń z ulubionych","Recommended relays":"Rekomendowane transmitery","Blossom server URLs":"Adresy serwerów Blossom","You need to add at least one blossom server in order to upload media files.":"Musisz dodać przynajmniej jeden serwer Blossom, aby móc przesyłać pliki multimedialne.","Recommended blossom servers":"Zalecane serwery Blossom","Enter Blossom server URL":"Wprowadź adres URL serwera Blossom",Preferred:"Preferowany","Multiple choice (select one or more)":"Wielokrotny wybór (wybierz jeden lub więcej)",Vote:"Głosuj","{{number}} votes":"{{number}} głosów","Total votes":"Łączna liczba głosów","Poll has ended":"Ankieta zakończona","Poll ends at {{time}}":"Ankieta kończy się o {{time}}","Load results":"Załaduj wyniki","This is a poll note.":"To jest wpis ankiety.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"W przeciwieństwie do zwykłych wpisów, ankiety nie są szeroko obsługiwane i mogą nie wyświetlać się w innych klientach.","Option {{number}}":"Opcja {{number}}","Add Option":"Dodaj opcję","Allow multiple choices":"Zezwól na wielokrotny wybór","End Date (optional)":"Data zakończenia (opcjonalna)","Clear end date":"Wyczyść datę zakończenia","Relay URLs (optional, comma-separated)":"Adresy URL transmiterów (opcjonalne, oddzielone przecinkami)","Remove poll":"Usuń ankietę","Refresh results":"Odśwież wyniki",Poll:"Ankieta",Media:"media","Republish to ...":"Przekaż ponownie do ...","Successfully republish to your write relays":"Pomyślnie ponownie opublikowano na twoich transmiterach zapisu","Failed to republish to your write relays: {{error}}":"Nie udało się ponownie opublikować na twoich transmiterach zapisu: {{error}}","Successfully republish to relay set: {{name}}":"Pomyślnie ponownie opublikowano do zestawu transmiterów: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Nie udało się ponownie opublikować do zestawu transmiterów: {{name}}. Błąd: {{error}}","Successfully republish to relay: {{url}}":"Pomyślnie ponownie opublikowano do transmitera: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Nie udało się ponownie opublikować do transmitera: {{url}}. Błąd: {{error}}","Write relays":"Transmitery zapisu","No more reactions":"Brak kolejnych reakcji","No reactions yet":"Brak reakcji","No more zaps":"Brak kolejnych zapów","No zaps yet":"Brak zapów","No more reposts":"Brak kolejnych repostów","No reposts yet":"Brak repostów",Reposts:"Reposty",FollowListNotFoundConfirmation:"Lista obserwowanych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej obserwowałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy obserwowanych.",MuteListNotFoundConfirmation:"Lista przyblokowanych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej blokowałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy przyblokowanych.","Show NSFW content by default":"Domyślnie pokazuj treści NSFW","Custom emoji management":"Zarządzanie niestandardowymi emoji","After changing emojis, you may need to refresh the page":"Po zmianie emoji może być konieczne odświeżenie strony","Too many read relays":"Za dużo transmiterów odczytu","Too many write relays":"Za dużo transmiterów zapisu","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Masz {{count}} transmiterów odczytu. Większość klientów używa tylko 2-4 transmiterów, ustawianie większej liczby jest zbędne.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Masz {{count}} transmiterów zapisu. Większość klientów używa tylko 2-4 transmiterów, ustawianie większej liczby jest zbędne.","Optimize Relay Settings":"Optymalizuj ustawienia transmiterów","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Twoja obecna konfiguracja transmiterów może nie być optymalna. To może utrudnić innym znalezienie Twoich postów i może skutkować niekompletnymi powiadomieniami.","Optimize Now":"Optymalizuj teraz","Maybe Later":"Może później","Don't remind me again":"Nie przypominaj mi więcej",Posts:"Posty",Articles:"Artykuły",Highlights:"Wyróżnienia",Polls:"Ankiety","Voice Posts":"Posty głosowe","Photo Posts":"Posty ze zdjęciami","Video Posts":"Posty wideo","Select All":"Zaznacz wszystko","Clear All":"Wyczyść wszystko","Set as default filter":"Ustaw jako domyślny filtr",Apply:"Zastosuj",Reset:"Resetuj","Share something on this Relay":"Udostępnij coś na tym transmiterze","Try deleting this note":"Spróbuj usunąć ten wpis","Deletion request sent to {{count}} relays":"Żądanie usunięcia wysłano do {{count}} transmiterów","Suitable Relays":"Odpowiednie transmitery","People, keywords, or relays":"Osoby, słowa kluczowe lub transmitery","Hide content mentioning muted users":"Ukryj treści wspominające wyciszonych użytkowników","This note mentions a user you muted":"Ten wpis wspomina użytkownika, którego wyciszyłeś",Filter:"Filtr","mentioned you in a note":"wspomniał o tobie we wpisie","quoted your note":"zacytował twój wpis","voted in your poll":"zagłosował w twojej ankiecie","reacted to your note":"zareagował na twój wpis","reposted your note":"repostował twój wpis","zapped your note":"zappował twój wpis","highlighted your note":"wyróżnił twój wpis","zapped you":"zappował cię","Mark as read":"Oznacz jako przeczytane",Report:"Zgłoś","Successfully report":"Pomyślnie zgłoszono","Failed to report":"Nie udało się zgłosić",nudity:"Nagość",malware:"Złośliwe oprogramowanie",profanity:"Wulgaryzmy",illegal:"Nielegalna treść",spam:"Spam",other:"Inne","Notification list style":"Styl listy powiadomień","See extra info for each notification":"Zobacz dodatkowe informacje dla każdego powiadomienia","See more notifications at a glance":"Zobacz więcej powiadomień na pierwszy rzut oka",Detailed:"Szczegółowy",Compact:"Zwięzły","Submit Relay":"Prześlij transmiter",Homepage:"Strona główna","Proof of Work (difficulty {{minPow}})":"Dowód pracy (trudność {{minPow}})","via {{client}}":"przez {{client}}","Auto-load media":"Automatyczne ładowanie mediów",Always:"Zawsze","Wi-Fi only":"Tylko Wi-Fi",Never:"Nigdy","Click to load image":"Kliknij, aby załadować obraz","Click to load media":"Kliknij, aby załadować media","Click to load YouTube video":"Kliknij, aby załadować wideo z YouTube","{{count}} reviews":"{{count}} opinii","Write a review":"Napisz opinię","No reviews yet. Be the first to write one!":"Jeszcze brak opinii. Bądź pierwszym, który napisze!","View more reviews":"Zobacz więcej opinii","Failed to review":"Błąd opinii","Write a review and pick a star rating":"Napisz opinię i wybierz ocenę gwiazdkową",Submit:"Prześlij","Reviews for {{relay}}":"Opinie o {{relay}}","No relays selected":"Nie wybrano transmiterów","Post to":"Opublikuj na","Write relays and {{count}} other relays":"Transmitery zapisu i {{count}} innych transmitrów","{{count}} relays":"{{count}} transmiterów","Republishing...":"Ponowne publikowanie...","Connected to":"Połączono z","Disconnect Wallet":"Odłącz portfel","Are you absolutely sure?":"Czy jesteś całkowicie pewien?","You will not be able to send zaps to others.":"Nie będziesz mógł wysyłać zapów innym.",Disconnect:"Odłącz","Start with a Rizful Vault":"Zacznij od Rizful Vault","or other wallets":"Lub inne portfele","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault połączony!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Możesz teraz używać swojego Rizful Vault, aby zapować swoje ulubione wpisy i twórców.","Your Lightning Address":"Twój Lightning Adres","New to Rizful?":"Nowy w Rizful?","Sign up for Rizful":"Zarejestruj się w Rizful","If you already have a Rizful account, you can skip this step.":"Jeśli masz już konto Rizful, możesz pominąć ten krok.","Get your one-time code":"Uzyskaj swój jednorazowy kod","Get code":"Uzyskaj kod","Connect to your Rizful Vault":"Połącz się ze swoim Rizful Vault","Paste your one-time code here":"Wklej tutaj swój jednorazowy kod",Connect:"Połącz","Set up your wallet to send and receive sats!":"Skonfiguruj swój portfel, aby wysyłać i odbierać satosze!","Set up":"Skonfiguruj",Pinned:"Przypięte",Unpin:"Odepnij",Unpinning:"Odpinanie","Pinning...":"Przypinanie...","Pinned!":"Przypięte!","Failed to pin: {{error}}":"Nie udało się przypiąć: {{error}}","Unpinning...":"Odpinanie...","Unpinned!":"Odpięte!","Failed to unpin: {{error}}":"Nie udało się przypiąć: {{error}}","Unpin from profile":"Odepnij z profilu","Pin to profile":"Przypnij do profilu",Appearance:"Wygląd","Pure Black":"Czysta Czerń",Default:"Domyślny",Red:"Czerwony",Orange:"Pomarańczowy",Amber:"Bursztynowy",Yellow:"Żółty",Lime:"Limonkowy",Green:"Zielony",Emerald:"Szmaragdowy",Teal:"Morski",Cyan:"Cyjan",Sky:"Niebieski",Blue:"Niebieski",Indigo:"Indygo",Violet:"Fioletowy",Purple:"Purpurowy",Fuchsia:"Fuksja",Pink:"Różowy",Rose:"Różany","Primary color":"Kolor podstawowy",Layout:"Układ","Two-column":"Dwie kolumny","Single-column":"Jedna kolumna",Reviews:"Opinie",Extension:"Rozszerzenie",Remote:"Zdalne","Encrypted Key":"Zaszyfrowany Klucz","Private Key":"Zaszyfrowany Klucz","Welcome to Smesh":"Witamy w Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh to klient skupiający się na przeglądaniu transmiterów. Rozpocznij od odkrycia interesujących transmiterów lub zaloguj się, aby wyświetlić wpisy obserwowanych użytkowników.","Explore Relays":"Przeglądaj transmitery","Choose a feed":"Wybierz transmitery","and {{x}} others":"i {{x}} innych",selfZapWarning:"Smesh nie ponosi odpowiedzialności za to, co się stanie, jeśli zappujesz samego siebie. Kontynuuj na własne ryzyko. 😉⚡","Emoji Pack":"Pakiet Emoji","Emoji pack added":"Pakiet emoji dodany","Add emoji pack failed":"Dodawanie pakietu emoji nie powiodło się","Emoji pack removed":"Pakiet emoji usunięty","Remove emoji pack failed":"Usuwanie pakietu emoji nie powiodło się",Added:"Dodano","Emoji Packs":"Pakiety Emoji","My Packs":"Moje Pakiety","Adding...":"Dodawanie...","Removing...":"Usuwanie...",Reload:"Przeładuj","Request to Join Relay":"Poproś o dołączenie do transmitera","Leave Relay":"Opuść transmiter",Leave:"Opuść","Are you sure you want to leave this relay?":"Czy na pewno chcesz opuścić ten transmiter?","Join request sent successfully":"Prośba o dołączenie wysłana pomyślnie","Failed to send join request":"Nie udało się wysłać prośby o dołączenie","Leave request sent successfully":"Prośba o opuszczenie wysłana pomyślnie","Failed to send leave request":"Nie udało się wysłać prośby o opuszczenie","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Wprowadź kod zaproszenia, jeśli go masz, lub pozostaw puste, aby wysłać prośbę.","Invite Code (Optional)":"Kod zaproszenia (opcjonalnie)","Enter invite code":"Wprowadź kod zaproszenia","Sending...":"Wysyłanie...","Send Request":"Wyślij prośbę","You can get an invite code from a relay member.":"Możesz uzyskać kod zaproszenia od obecnego użytkownika transmitera.","Enter the invite code you received from a relay member.":"Wprowadź kod zaproszenia otrzymany od obecnego użytkownika transmitera.","Get Invite Code":"Uzyskaj Kod Zaproszenia","Share this invite code with others to invite them to join this relay.":"Udostępnij ten kod zaproszenia innym, aby zaprosić ich do dołączenia do tego transmitera.","Invite Code":"Kod Zaproszenia",Copy:"Kopiuj","This invite code can be used by others to join the relay.":"Ten kod zaproszenia może być używany przez innych do dołączenia do transmitera.","No invite code available from this relay.":"Brak dostępnego kodu zaproszenia z tego transmitera.",Close:"Zamknij","Failed to get invite code from relay":"Nie udało się uzyskać kodu zaproszenia z transmitera","Failed to get invite code":"Nie udało się uzyskać kodu zaproszenia","Invite code copied to clipboard":"Kod zaproszenia skopiowany do schowka","Favicon URL":"URL Favicon","Filter out onion relays":"Filtruj transmitery onion","Click to load X post":"Kliknij, aby załadować post X","View Nostr comments":"Wyświetl komentarze Nostr","Search for notes":"Szukaj wpisów","Search for hashtag":"Szukaj hashtaga","Go to note":"Przejdź do wpisu","Go to relay":"Przejdź do transmitera","View discussions about this":"Zobacz dyskusje o tej treści","Open link":"Otwórz link","View Nostr discussions":"Zobacz dyskusje Nostr","Optimal relays":"Optymalne transmitery","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Pomyślnie opublikowano ponownie na optymalnych transmiterach (Twoje transmitery zapisu i transmitery odczytu wspomnianych użytkowników)","Failed to republish to optimal relays: {{error}}":"Nie udało się opublikować ponownie na optymalnych transmiterach: {{error}}","External Content":"Treść zewnętrzna",Highlight:"Podświetl","Optimal relays and {{count}} other relays":"Optymalne transmitery i {{count}} innych transmiterów","Likely spam account (Trust score: {{percentile}}%)":"Prawdopodobnie konto spamowe (Wynik zaufania: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Podejrzane konto (Wynik zaufania: {{percentile}}%)","n users":"{{count}} użytkowników","View Details":"Zobacz szczegóły","Follow Pack Not Found":"Nie znaleziono pakietu obserwowanych","Follow pack not found":"Nie znaleziono pakietu obserwowanych",Users:"Użytkownicy",Feed:"Kanał","Follow Pack":"Pakiet Obserwowanych","Load earlier":"Załaduj poprzednie","Last 24 hours":"Ostatnia doba","Last {{count}} days":"Ostatnie {{count}} dni",notes:"wpisy","Quick reaction":"Szybka reakcja","If enabled, you can react with a single click. Click and hold for more options":"Jeśli włączone, możesz zareagować jednym kliknięciem. Kliknij i przytrzymaj, aby uzyskać więcej opcji","Quick reaction emoji":"Emoji szybkiej reakcji","Select emoji":"Wybierz emoji","NSFW content display":"Wyświetlanie treści NSFW","Hide completely":"Ukryj całkowicie","Show but hide content":"Pokaż, ale ukryj treść","Show directly":"Pokaż bezpośrednio","Click to view":"Wyświetl","Special Follow":"Specjalna obserwacja","Unfollow Special":"Cofnij obserwację specjalną","Personal Feeds":"Kanały osobiste","Relay Feeds":"Kanały Transmiterów","Create Highlight":"Utwórz wyróżnienie","Write your thoughts about this highlight...":"Napisz swoje przemyślenia na temat tego wyróżnienienia...","Publish Highlight":"Opublikuj wyróżnienie","Show replies":"Pokaż odpowiedzi","Hide replies":"Ukryj odpowiedzi","Welcome to Smesh!":"Witamy w Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Twój kanał jest pusty, ponieważ jeszcze nikogo nie obserwujesz. Zacznij od odkrywania ciekawych treści i obserwowania użytkowników, którzy Ci się podobają!","Search Users":"Szukaj użytkowników","Create New Account":"Utwórz nowe konto",Important:"Ważne","Generate Your Account":"Wygeneruj swoje konto","Your private key IS your account. Keep it safe!":"Twój klucz prywatny TO twoje konto. Przechowuj go bezpiecznie!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"W Nostr twój klucz prywatny TO twoje konto. Jeśli stracisz swój klucz prywatny, stracisz swoje konto na zawsze.","Your Private Key":"Twój klucz prywatny","Generate new key":"Wygeneruj nowy klucz","Download Backup File":"Pobierz plik kopii zapasowej","Copied to Clipboard":"Skopiowano do schowka","Copy to Clipboard":"Kopiuj do schowka","I already saved my private key securely.":"Już bezpiecznie zapisałem mój klucz prywatny.","Almost Done!":"Prawie gotowe!","Set a password to encrypt your key, or skip to finish":"Ustaw hasło, aby zaszyfrować swój klucz, lub pomiń, aby zakończyć","Password Protection (Optional)":"Ochrona hasłem (opcjonalnie)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Ustawienie hasła szyfruje twój klucz prywatny w tej przeglądarce. Możesz pominąć ten krok, ale zalecamy ustawienie hasła dla dodatkowego bezpieczeństwa.","Password (Optional)":"Hasło (opcjonalnie)","Enter password or leave empty to skip":"Wprowadź hasło lub pozostaw puste, aby pominąć","Confirm Password":"Potwierdź hasło","Re-enter password":"Wprowadź hasło ponownie","Passwords do not match":"Hasła nie pasują do siebie","Finish Signup":"Zakończ rejestrację","Create Your Nostr Account":"Utwórz swoje konto Nostr","Generate your unique private key. This is your digital identity.":"Wygeneruj swój unikalny klucz prywatny. To jest twoja cyfrowa tożsamość.","Critical: Save Your Private Key":"Krytyczne: Zapisz swój klucz prywatny","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Twój klucz prywatny TO JEST twoje konto. Nie ma odzyskiwania hasła. Jeśli go stracisz, na zawsze stracisz swoje konto. Proszę zapisać go w bezpiecznym miejscu.","I have safely backed up my private key":"Bezpiecznie wykonałem kopię zapasową mojego klucza prywatnego","Secure Your Account":"Zabezpiecz swoje konto","Add an extra layer of protection with a password":"Dodaj dodatkową warstwę ochrony za pomocą hasła","Password Protection (Recommended)":"Ochrona hasłem (zalecane)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Dodaj hasło, aby zaszyfrować swój klucz prywatny w tej przeglądarce. Jest to opcjonalne, ale zdecydowanie zalecane dla lepszego bezpieczeństwa.","Create a password (or skip)":"Utwórz hasło (lub pomiń)","Enter your password again":"Wprowadź hasło ponownie","Complete Signup":"Zakończ rejestrację",Recommended:"Polecane"}},qbe={translation:{"Welcome! 🥳":"Bem-vindo! 🥳",About:"Sobre","New Note":"Nova nota",Post:"Postar",Home:"Início","Relay settings":"Configurações de relay",Settings:"Configurações",SidebarRelays:"Relays",Refresh:"Atualizar",Profile:"Perfil",Logout:"Sair",Following:"Seguindo",followings:"Seguidos",reposted:"Repostado","just now":"agora mesmo","minute ago_one":"{{count}} minuto atrás","minute ago_other":"{{count}} minutos atrás","n m":"{{n}}m","hour ago_one":"{{count}} hora atrás","hour ago_other":"{{count}} horas atrás","n h":"{{n}}h","day ago_one":"{{count}} dia atrás","day ago_other":"{{count}} dias atrás","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Seguir",Unfollow:"Deixar de seguir","Follow failed":"Falha ao seguir","Unfollow failed":"Falha ao deixar de seguir","show new notes":"Ver novas notas","loading...":"Carregando...","Loading...":"Carregando...","no more notes":"Não há mais notas","reply to":"Respondendo a",reply:"Responder",Reply:"Responder","load more older replies":"Carregar mais respostas antigas","Write something...":"Escreva algo...",Cancel:"Cancelar",Mentions:"Menções","Failed to post":"Falha ao postar","Post successful":"Nota publicada com sucesso","Your post has been published":"Sua nota foi publicada",Repost:"Repostar",Quote:"Citar","Copy event ID":"Copiar ID do evento","Copy user ID":"Copiar ID do usuário","View raw event":"Ver evento bruto",Like:"Curtir","switch to light theme":"Alternar para tema claro","switch to dark theme":"Alternar para tema escuro","switch to system theme":"Alternar para tema do sistema",Note:"Nota",note:"nota","username's following":"seguindo {{username}}","username's used relays":"relays usados por {{username}}","username's muted":"{{username}} silenciado",Login:"Entrar","Follows you":"Segue você","Relay Settings":"Configurações de relay","Relay set name":"Nome do conjunto de relay","Add a new relay set":"Adicionar um novo conjunto de relay",Add:"Adicionar","n relays":"{{n}} relays",Rename:"Renomear","Copy share link":"Copiar link de compartilhamento",Delete:"Excluir","Relay already exists":"Relay já existe","invalid relay URL":"URL de relay inválida","Add a new relay":"Adicionar um novo relay",back:"voltar","Lost in the void":"Perdido no vazio","Carry me home":"Me leve para casa","no replies":"Sem respostas","Reply to":"Responder a",Search:"Pesquisar","The relays you are connected to do not support search":"Os relays aos quais você está conectado não suportam pesquisa","Show more...":"Mostrar mais...","All users":"Todos os usuários","Display replies":"Exibir respostas",Notes:"Notas",Replies:"Respostas",Notifications:"Notificações","no more notifications":"não há mais notificações","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"O uso de login com chave privada é inseguro. Recomenda-se usar uma extensão do navegador para login, como alby, nostr-keyx ou nos2x. Se você precisar usar uma chave privada, defina uma senha para criptografia no mínimo.","Login with Browser Extension":"Entrar com extensão do navegador","Login with Bunker":"Entrar com Bunker","Login with Private Key":"Entrar com chave privada","reload notes":"Recarregar notas","Logged in Accounts":"Contas conectadas","Add an Account":"Nova conta","More options":"Mais opções","Add client tag":"Adicionar tag de cliente","Show others this was sent via Smesh":"Mostrar aos outros que isso foi enviado via Smesh","Are you sure you want to logout?":"Tem certeza de que deseja sair?","relay sets":"Conjuntos de relay",edit:"Editar",Languages:"Idiomas",Theme:"Tema",System:"Sistema",Light:"Claro",Dark:"Escuro",Temporary:"Temporário","Choose a relay set":"Escolha um conjunto de relay","Switch account":"Trocar de conta",Pictures:"Imagens","Picture note":"Nota de imagem","A special note for picture-first clients like Olas":"Uma nota especial para clientes que priorizam imagens, como Olas","Picture note requires images":"Nota de imagem requer imagens",Relays:"Relays",Image:"imagem","R & W":"Leitura & Escrita",Read:"Leitura",Write:"Escrita","Pull relay sets":"Receber conjuntos de relay","Select the relay sets you want to pull":"Selecione os conjuntos de relay que deseja receber","No relay sets found":"Nenhum conjunto de relay encontrado","Pull n relay sets":"Receber {{n}} conjuntos de relay",Pull:"Receber","Select all":"Selecionar todos","Relay Sets":"Conjuntos de relay","Read & Write Relays":"Relays de Leitura & Escrita","read relays description":"Relays de leitura são usados para buscar eventos sobre você. Outros usuários publicarão os eventos que deseja ver nesses relays.","write relays description":"Relays de escrita são usados para publicar seus eventos. Outros usuários buscarão seus eventos nesses relays.","read & write relays notice":"O número de servidores de leitura e escrita deve ser mantido entre 2 e 4, idealmente.","Don't have an account yet?":"Não tem uma conta ainda?","or simply generate a private key":"ou simplesmente gere uma chave privada","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Esta é uma chave privada. Não a compartilhe com ninguém. Mantenha-a segura, pois não poderá recuperá-la se perdê-la.",Edit:"Editar",Save:"Salvar","Display Name":"Nome de exibição",Bio:"Biografia","Nostr Address (NIP-05)":"Endereço Nostr (NIP-05)","Invalid NIP-05 address":"Endereço NIP-05 inválido","Copy private key":"Copiar chave privada","Enter the password to decrypt your ncryptsec":"Digite a senha para descriptografar seu ncryptsec",Back:"Voltar","optional: encrypt nsec":"opcional: criptografar nsec",password:"Senha","Sign up":"Criar conta","Save to":"Salvar em","Enter a name for the new relay set":"Digite um nome para o novo conjunto de relay","Save to a new relay set":"Salvar em um novo conjunto de relay",Mute:"Silenciar",Muted:"Silenciados",Unmute:"Silenciado","Unmute user":"Usuário silenciado","Append n relays":"Adicionar {{n}} relays",Append:"Adicionar","Select relays to append":"Selecione os relays para adicionar","calculating...":"Calculando...","Calculate optimal read relays":"Calcular relays de leitura ideais","Login to set":"Entrar no conjunto","Please login to view following feed":"Por favor, faça login para ver o conteúdo das pessoas que você segue","Send only to r":"Enviar apenas para {{r}}","Send only to these relays":"Enviar apenas para estes relays",Explore:"Explorar","Search relays":"Pesquisar relays",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Pesquisar",relayInfoBadgePayment:"Pagamento",Operator:"Operador",Contact:"Contato",Software:"Software",Version:"Versão","Random Relays":"Relays aleatórios",randomRelaysRefresh:"Atualizar","Explore more":"Explorar mais","Payment page":"Página de pagamento","Supported NIPs":"NIPs Suportados","Open in a":"Abrir em {{a}}","Cannot handle event of kind k":"Não é possível lidar com o evento do tipo {{k}}","Sorry! The note cannot be found 😔":"Desculpe! A nota não pode ser encontrada 😔","This user has been muted":"Este usuário foi silenciado",Wallet:"Carteira",Sats:"Sats",sats:"sats","Zap to":"Zap para","Zap n sats":"Zap {{n}} sats",zapComment:"Comentário","Default zap amount":"Valor padrão do zap","Default zap comment":"Comentário padrão do zap","Lightning Address (or LNURL)":"Endereço Lightning (ou LNURL)","Quick zap":"Zap rápido","If enabled, you can zap with a single click. Click and hold for custom amounts":"Se ativado, você pode zapear com um único clique. Clique e segure para quantias personalizadas",All:"Tudo",Reactions:"Reações",Zaps:"Zaps","Earlier notifications":"Notificações anteriores","Temporarily display this note":"Exibir esta nota temporariamente",buttonFollowing:"Seguindo","Are you sure you want to unfollow this user?":"Tem certeza de que deseja deixar de seguir este usuário?","Recent Supporters":"Apoiadores recentes","Seen on":"Visto em","Temporarily display this reply":"Exibir temporariamente esta resposta","Note not found":"Nota não encontrada","no more replies":"não há mais respostas","Relay sets":"Conjuntos de relay","Favorite Relays":"Relays favoritos","Following's Favorites":"Favoritos de quem você segue","no more relays":"não há mais relays","Favorited by":"Favoritado por","Post settings":"Ajustes de publicação","Media upload service":"Serviço de upload de mídia","Choose a relay":"Escolher um relay","no relays found":"nenhum relay encontrado",video:"vídeo","Show n new notes":"Ver {{n}} novas notas",YouTabName:"Você",Bookmark:"Salvar nota","Remove bookmark":"Remover dos itens salvos","no bookmarks found":"Nenhum item salvo encontrado","no more bookmarks":"Sem mais itens salvos",Bookmarks:"Itens salvos","Show more":"Mostrar mais",General:"Geral",Autoplay:"Reprodução automática","Enable video autoplay on this device":"Habilitar reprodução automática de vídeo neste dispositivo","Paste or drop media files to upload":"Cole ou arraste arquivos de mídia para fazer upload",Preview:"Pré-visualização","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?","Platinum Sponsors":"Patrocinadores Platinum",From:"Fonte","Comment on":"Comentando","View on njump.me":"Ver em njump.me","Hide content from untrusted users":"Ocultar conteúdo de usuários não confiáveis","Only show content from your followed users and the users they follow":"Mostrar apenas conteúdo dos usuários que você segue e dos usuários que eles seguem","Followed by":"Seguido por","Mute user privately":"Silenciar usuário privadamente","Mute user publicly":"Silenciar usuário publicamente",Quotes:"Citações","Lightning Invoice":"Fatura Lightning","Bookmark failed":"Falha ao favoritar","Remove bookmark failed":"Falha ao remover favorito",Translation:"Tradução",Balance:"Saldo",characters:"caracteres",smeshTranslateApiKeyDescription:"Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}","Top up":"Carregar saldo","Will receive: {n} characters":"Receberá: {{n}} caracteres","Top up {n} sats":"Carregar {{n}} sats","Minimum top up is {n} sats":"Carregamento mínimo é {{n}} sats",Service:"Serviço","Reset API key":"Redefinir chave API","Are you sure you want to reset your API key? This action cannot be undone.":"Tem certeza de que deseja redefinir sua chave API? Esta ação não pode ser desfeita.",Warning:"Aviso","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Sua chave API atual se tornará inválida imediatamente, e qualquer aplicativo que a utilize deixará de funcionar até que você os atualize com a nova chave.","Service address":"Endereço do serviço",Pay:"Pagar",interactions:"interações",notifications:"notificações","Show untrusted {type}":"Mostrar {{type}} não confiáveis","Hide untrusted {type}":"Ocultar {{type}} não confiáveis","Currently hiding {type} from untrusted users.":"Atualmente ocultando {{type}} de usuários não confiáveis.","Currently showing all {type}.":"Atualmente mostrando todas as {{type}}.","Click continue to show all {type}.":"Clique em continuar para mostrar todas as {{type}}.","Click continue to hide {type} from untrusted users.":"Clique em continuar para ocultar {{type}} de usuários não confiáveis.","Trusted users include people you follow and people they follow.":"Usuários confiáveis incluem pessoas que você segue e pessoas que elas seguem.",Continue:"Continuar","Successfully updated mute list":"Lista de silenciados atualizada com sucesso","No pubkeys found from {url}":"Nenhum pubkey encontrado em {{url}}","Translating...":"Traduzindo...",Translate:"Traduzir","Show original":"Mostrar original",Website:"Website","Hide untrusted notes":"Ocultar notas não confiáveis","Open in another client":"Abrir em outro cliente",Community:"Comunidade",Group:"Grupo","Live event":"Evento ao vivo",Article:"Artigo",Unfavorite:"Desfavoritar","Recommended relays":"Relays recomendados","Blossom server URLs":"URLs do servidor Blossom","You need to add at least one blossom server in order to upload media files.":"Você precisa adicionar pelo menos um servidor Blossom para poder carregar arquivos de mídia.","Recommended blossom servers":"Servidores Blossom recomendados","Enter Blossom server URL":"Inserir URL do servidor Blossom",Preferred:"Preferido","Multiple choice (select one or more)":"Múltipla escolha (selecione um ou mais)",Vote:"Votar","{{number}} votes":"{{number}} votos","Total votes":"Total de votos","Poll has ended":"A enquete terminou","Poll ends at {{time}}":"A enquete termina em {{time}}","Load results":"Carregar resultados","This is a poll note.":"Esta é uma nota de enquete.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Ao contrário das notas regulares, as enquetes não são amplamente suportadas e podem não ser exibidas em outros clientes.","Option {{number}}":"Opção {{number}}","Add Option":"Adicionar Opção","Allow multiple choices":"Permitir múltiplas escolhas","End Date (optional)":"Data de término (opcional)","Clear end date":"Limpar data de término","Relay URLs (optional, comma-separated)":"URLs de relay (opcional, separadas por vírgulas)","Remove poll":"Remover enquete","Refresh results":"Atualizar resultados",Poll:"Enquete",Media:"Mídia","Republish to ...":"Republicar em ...","Successfully republish to your write relays":"Successfully republish to your write relays","Failed to republish to your write relays: {{error}}":"Failed to republish to your write relays: {{error}}","Successfully republish to relay set: {{name}}":"Successfully republish to relay set: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Failed to republish to relay set: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Successfully republish to relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Failed to republish to relay: {{url}}. Error: {{error}}","Write relays":"Relays de escrita","No more reactions":"Sem mais reações","No reactions yet":"Ainda sem reações","No more zaps":"Sem mais zaps","No zaps yet":"Ainda sem zaps","No more reposts":"Sem mais reposts","No reposts yet":"Ainda sem reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Lista de seguindo não encontrada. Deseja criar uma nova? Se você seguiu usuários antes, por favor NÃO confirme, pois esta operação fará você perder sua lista de seguindo anterior.",MuteListNotFoundConfirmation:"Lista de silenciados não encontrada. Deseja criar uma nova? Se você silenciou usuários antes, por favor NÃO confirme, pois esta operação fará você perder sua lista de silenciados anterior.","Show NSFW content by default":"Mostrar conteúdo NSFW por padrão","Custom emoji management":"Gerenciamento de emojis personalizados","After changing emojis, you may need to refresh the page":"Após alterar os emojis, você pode precisar atualizar a página","Too many read relays":"Muitos relays de leitura","Too many write relays":"Muitos relays de escrita","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Você tem {{count}} relays de leitura. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Você tem {{count}} relays de escrita. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","Optimize Relay Settings":"Otimizar configurações de relay","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Sua configuração atual de relay pode não ser ideal. Isso pode tornar difícil para outros encontrarem suas postagens e pode resultar em notificações incompletas.","Optimize Now":"Otimizar agora","Maybe Later":"Talvez mais tarde","Don't remind me again":"Não me lembrar novamente",Posts:"Notas",Articles:"Artigos",Highlights:"Marcações",Polls:"Enquetes","Voice Posts":"Áudios","Photo Posts":"Fotos","Video Posts":"Vídeos","Select All":"Selecionar tudo","Clear All":"Limpar tudo","Set as default filter":"Definir como filtro padrão",Apply:"Aplicar",Reset:"Redefinir","Share something on this Relay":"Compartilhe algo neste Relay","Try deleting this note":"Solicitar exclusão desta nota","Deletion request sent to {{count}} relays":"Pedido de exclusão enviado para {{count}} relays","Suitable Relays":"Relays adequados","People, keywords, or relays":"Pessoas, palavras-chave ou relays","Hide content mentioning muted users":"Ocultar conteúdo que menciona usuários silenciados","This note mentions a user you muted":"Esta nota menciona um usuário que você silenciou",Filter:"Filtro","mentioned you in a note":"mencionou você em uma nota","quoted your note":"citou sua nota","voted in your poll":"votou na sua enquete","reacted to your note":"reagiu à sua nota","reposted your note":"republicou sua nota","zapped your note":"zappeou sua nota","highlighted your note":"destacou sua nota","zapped you":"zappeou você","Mark as read":"Marcar como lida",Report:"Denunciar","Successfully report":"Denúncia enviada com sucesso","Failed to report":"Falha ao enviar denúncia",nudity:"Nudez",malware:"Malware",profanity:"Blasfêmia",illegal:"Conteúdo ilegal",spam:"Spam",other:"Outro","Notification list style":"Estilo da lista de notificações","See extra info for each notification":"Ver informações extras para cada notificação","See more notifications at a glance":"Ver mais notificações rapidamente",Detailed:"Detalhado",Compact:"Compacto","Submit Relay":"Enviar Relay",Homepage:"Página inicial","Proof of Work (difficulty {{minPow}})":"Prova de Trabalho (dificuldade {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Carregamento automático de mídia",Always:"Sempre","Wi-Fi only":"Apenas Wi-Fi",Never:"Nunca","Click to load image":"Carregar imagem","Click to load media":"Carregar mídia","Click to load YouTube video":"Carregar vídeo do YouTube","{{count}} reviews":"{{count}} avaliações","Write a review":"Escrever uma avaliação","No reviews yet. Be the first to write one!":"Ainda não há avaliações. Seja o primeiro a escrever uma!","View more reviews":"Ver mais avaliações","Failed to review":"Falha ao avaliar","Write a review and pick a star rating":"Escreva uma avaliação e escolha uma classificação por estrelas",Submit:"Enviar","Reviews for {{relay}}":"Avaliações para {{relay}}","No relays selected":"Nenhum relay selecionado","Post to":"Postar em","Write relays and {{count}} other relays":"Relays de escrita e {{count}} outros relays","{{count}} relays":"{{count}} relays","Republishing...":"Republicando...","Connected to":"Conectado a","Disconnect Wallet":"Desconectar carteira","Are you absolutely sure?":"Você tem certeza absoluta?","You will not be able to send zaps to others.":"Você não poderá enviar zaps para outros.",Disconnect:"Desconectar","Start with a Rizful Vault":"Comece com um Cofre Rizful","or other wallets":"ou outras carteiras","Rizful Vault":"Cofre Rizful","Rizful Vault connected!":"Cofre Rizful conectado!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Você pode agora usar seu Cofre Rizful para zapear suas notas e criadores favoritos.","Your Lightning Address":"Seu Endereço Lightning","New to Rizful?":"Novo no Rizful?","Sign up for Rizful":"Inscreva-se no Rizful","If you already have a Rizful account, you can skip this step.":"Se você já tem uma conta Rizful, pode pular esta etapa.","Get your one-time code":"Obtenha seu código único","Get code":"Obter código","Connect to your Rizful Vault":"Conecte-se ao seu Cofre Rizful","Paste your one-time code here":"Cole seu código único aqui",Connect:"Conectar","Set up your wallet to send and receive sats!":"Configure sua carteira para enviar e receber sats!","Set up":"Configurar",Pinned:"Fixado",Unpin:"Desafixar",Unpinning:"Desafixando","Pinning...":"Fixando...","Pinned!":"Fixado!","Failed to pin: {{error}}":"Falha ao fixar: {{error}}","Unpinning...":"Desafixando...","Unpinned!":"Desafixado!","Failed to unpin: {{error}}":"Falha ao desafixar: {{error}}","Unpin from profile":"Desafixar do perfil","Pin to profile":"Fixar no perfil",Appearance:"Aparência","Pure Black":"Preto Puro",Default:"Padrão",Red:"Vermelho",Orange:"Laranja",Amber:"Âmbar",Yellow:"Amarelo",Lime:"Lima",Green:"Verde",Emerald:"Esmeralda",Teal:"Turquesa",Cyan:"Ciano",Sky:"Céu",Blue:"Azul",Indigo:"Índigo",Violet:"Violeta",Purple:"Roxo",Fuchsia:"Fúcsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Cor primária",Layout:"Layout","Two-column":"Coluna dupla","Single-column":"Coluna única",Reviews:"Avaliações",Extension:"Extensão",Remote:"Remoto","Encrypted Key":"Chave Criptografada","Private Key":"Chave Privada","Welcome to Smesh":"Bem-vindo ao Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh é um cliente focado em navegar relays. Comece explorando relays interessantes ou faça login para ver o conteúdo das pessoas que você segue.","Explore Relays":"Explorar Relays","Choose a feed":"Escolha um feed","and {{x}} others":"e {{x}} outros",selfZapWarning:"Smesh não é responsável pelo que acontece se você zapear a si mesmo. Prossiga por sua conta e risco. 😉⚡","Emoji Pack":"Pacote de Emojis","Emoji pack added":"Pacote de emojis adicionado","Add emoji pack failed":"Falha ao adicionar pacote de emojis","Emoji pack removed":"Pacote de emojis removido","Remove emoji pack failed":"Falha ao remover pacote de emojis",Added:"Adicionado","Emoji Packs":"Pacotes de Emojis","My Packs":"Meus Pacotes","Adding...":"Adicionando...","Removing...":"Removendo...",Reload:"Recarregar","Request to Join Relay":"Solicitar entrada no Relay","Leave Relay":"Sair do Relay",Leave:"Sair","Are you sure you want to leave this relay?":"Tem certeza de que deseja sair deste relay?","Join request sent successfully":"Solicitação de entrada enviada com sucesso","Failed to send join request":"Falha ao enviar solicitação de entrada","Leave request sent successfully":"Solicitação de saída enviada com sucesso","Failed to send leave request":"Falha ao enviar solicitação de saída","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Digite um código de convite se tiver um. Caso contrário, deixe em branco para enviar uma solicitação.","Invite Code (Optional)":"Código de Convite (Opcional)","Enter invite code":"Digite o código de convite","Sending...":"Enviando...","Send Request":"Enviar Solicitação","You can get an invite code from a relay member.":"Você pode obter um código de convite de um membro do relay.","Enter the invite code you received from a relay member.":"Digite o código de convite que você recebeu de um membro do relay.","Get Invite Code":"Obter Código de Convite","Share this invite code with others to invite them to join this relay.":"Compartilhe este código de convite com outros para convidá-los a participar deste relay.","Invite Code":"Código de Convite",Copy:"Copiar","This invite code can be used by others to join the relay.":"Este código de convite pode ser usado por outros para participar do relay.","No invite code available from this relay.":"Nenhum código de convite disponível deste relay.",Close:"Fechar","Failed to get invite code from relay":"Falha ao obter código de convite do relay","Failed to get invite code":"Falha ao obter código de convite","Invite code copied to clipboard":"Código de convite copiado para a área de transferência","Favicon URL":"URL do Favicon","Filter out onion relays":"Filtrar relays onion","Click to load X post":"Clique para carregar a postagem do X","View Nostr comments":"Comentários do link","Search for notes":"Buscar notas","Search for hashtag":"Buscar hashtag","Go to note":"Ir para nota","Go to relay":"Ir para relay","View discussions about this":"Ver discussões sobre este conteúdo","Open link":"Abrir link","View Nostr discussions":"Comentários do link","Optimal relays":"Relays ideais","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republicado com sucesso nos relays ideais (seus relays de escrita e os relays de leitura dos usuários mencionados)","Failed to republish to optimal relays: {{error}}":"Falha ao republicar nos relays ideais: {{error}}","External Content":"Conteúdo externo",Highlight:"Marcação","Optimal relays and {{count}} other relays":"Relays ideais e {{count}} outros relays","Likely spam account (Trust score: {{percentile}}%)":"Provável conta de spam (Pontuação de confiança: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Conta suspeita (Pontuação de confiança: {{percentile}}%)","n users":"{{count}} usuários","View Details":"Ver detalhes","Follow Pack Not Found":"Pacote de seguir não encontrado","Follow pack not found":"Pacote de seguir não encontrado",Users:"Usuários",Feed:"Feed","Follow Pack":"Pacote de Seguir","Load earlier":"Carregar anterior","Last 24 hours":"Últimas 24 horas","Last {{count}} days":"Últimos {{count}} dias",notes:"notas","Quick reaction":"Reação rápida","If enabled, you can react with a single click. Click and hold for more options":"Se ativado, você pode reagir com um único clique. Clique e segure para mais opções","Quick reaction emoji":"Emoji de reação rápida","Select emoji":"Selecionar emoji","NSFW content display":"Exibição de conteúdo NSFW","Hide completely":"Ocultar completamente","Show but hide content":"Mostrar, mas ocultar conteúdo","Show directly":"Mostrar diretamente","Click to view":"Clique para ver","Special Follow":"Favoritos","Unfollow Special":"Desfavoritar","Personal Feeds":"Meus feeds","Relay Feeds":"Feeds de relays","Create Highlight":"Criar Destaque","Write your thoughts about this highlight...":"Escreva seus pensamentos sobre este destaque...","Publish Highlight":"Publicar Destaque","Show replies":"Mostrar respostas","Hide replies":"Ocultar respostas","Welcome to Smesh!":"Bem-vindo ao Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Seu feed está vazio porque você ainda não está seguindo ninguém. Comece explorando conteúdo interessante e seguindo usuários que você gosta!","Search Users":"Buscar Usuários","Create New Account":"Criar nova conta",Important:"Importante","Generate Your Account":"Gerar sua conta","Your private key IS your account. Keep it safe!":"Sua chave privada É sua conta. Mantenha-a segura!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"No Nostr, sua chave privada É sua conta. Se você perder sua chave privada, perderá sua conta para sempre.","Your Private Key":"Sua chave privada","Generate new key":"Gerar nova chave","Download Backup File":"Baixar arquivo de backup","Copied to Clipboard":"Copiado para a área de transferência","Copy to Clipboard":"Copiar para a área de transferência","I already saved my private key securely.":"Já salvei minha chave privada com segurança.","Almost Done!":"Quase pronto!","Set a password to encrypt your key, or skip to finish":"Defina uma senha para criptografar sua chave ou pule para finalizar","Password Protection (Optional)":"Proteção por senha (opcional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Definir uma senha criptografa sua chave privada neste navegador. Você pode pular esta etapa, mas recomendamos definir uma para maior segurança.","Password (Optional)":"Senha (opcional)","Enter password or leave empty to skip":"Digite a senha ou deixe em branco para pular","Confirm Password":"Confirmar senha","Re-enter password":"Digite a senha novamente","Passwords do not match":"As senhas não coincidem","Finish Signup":"Concluir cadastro","Create Your Nostr Account":"Criando sua conta Nostr","Generate your unique private key. This is your digital identity.":"Sua chave privada única foi gerada. Ela é sua identidade digital.","Critical: Save Your Private Key":"Importante: Salve a sua chave privada.","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Sua chave privada é a sua conta. Não há recuperação de senha, se você perdê-la, perderá sua conta para sempre. Por favor, salve-a em um local seguro.","I have safely backed up my private key":"Fiz backup seguro da minha chave privada","Secure Your Account":"Proteja sua conta","Add an extra layer of protection with a password":"Adicione uma camada extra de proteção com uma senha","Password Protection (Recommended)":"Proteção por senha (recomendado)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Adicione uma senha para criptografar sua chave privada neste navegador. Isso é opcional, mas fortemente recomendado para melhor segurança.","Create a password (or skip)":"Crie uma senha (opcional)","Enter your password again":"Digite sua senha novamente","Complete Signup":"Concluir cadastro",Recommended:"Recomendado"}},Kbe={translation:{"Welcome! 🥳":"Bem-vindo! 🥳",About:"Sobre","New Note":"Nova Nota",Post:"Postar",Home:"Início","Relay settings":"Configurações de Relé",Settings:"Configurações",SidebarRelays:"Relés",Refresh:"Atualizar",Profile:"Perfil",Logout:"Sair",Following:"Seguindo",followings:"seguidos",reposted:"repostado","just now":"agora mesmo","minute ago_one":"{{count}} minuto atrás","minute ago_other":"{{count}} minutos atrás","n m":"{{n}}m","hour ago_one":"{{count}} hora atrás","hour ago_other":"{{count}} horas atrás","n h":"{{n}}h","day ago_one":"{{count}} dia atrás","day ago_other":"{{count}} dias atrás","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Seguir",Unfollow:"Deixar de Seguir","Follow failed":"Falha ao Seguir","Unfollow failed":"Falha ao Deixar de Seguir","show new notes":"mostrar novas notas","loading...":"carregando...","Loading...":"Carregando...","no more notes":"não há mais notas","reply to":"responder a",reply:"responder",Reply:"Responder","load more older replies":"carregar mais respostas antigas","Write something...":"Escreva algo...",Cancel:"Cancelar",Mentions:"Menções","Failed to post":"Falha ao postar","Post successful":"Postagem bem-sucedida","Your post has been published":"Sua postagem foi publicada",Repost:"Repostar",Quote:"Citar","Copy event ID":"Copiar ID do evento","Copy user ID":"Copiar ID do usuário","View raw event":"Ver evento bruto",Like:"Curtir","switch to light theme":"alternar para tema claro","switch to dark theme":"alternar para tema escuro","switch to system theme":"alternar para tema do sistema",Note:"Nota",note:"nota","username's following":"seguindo de {{username}}","username's used relays":"relés usados por {{username}}","username's muted":"{{username}} silenciado",Login:"Entrar","Follows you":"Segue você","Relay Settings":"Configurações de Relé","Relay set name":"Nome do conjunto de relé","Add a new relay set":"Adicionar um novo conjunto de relé",Add:"Adicionar","n relays":"{{n}} relés",Rename:"Renomear","Copy share link":"Copiar link de compartilhamento",Delete:"Excluir","Relay already exists":"Relé já existe","invalid relay URL":"URL de relé inválida","Add a new relay":"Adicionar um novo relé",back:"voltar","Lost in the void":"Perdido no vazio","Carry me home":"Me leve para casa","no replies":"sem respostas","Reply to":"Responder a",Search:"Pesquisar","The relays you are connected to do not support search":"Os relés aos quais você está conectado não suportam pesquisa","Show more...":"Mostrar mais...","All users":"Todos os usuários","Display replies":"Exibir respostas",Notes:"Notas",Replies:"Respostas",Notifications:"Notificações","no more notifications":"não há mais notificações","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x.":"O uso de login com chave privada é inseguro. Recomenda-se usar uma extensão de navegador para login, como alby, nostr-keyx ou nos2x. Se você precisar usar uma chave privada, defina uma senha para criptografia pelo menos.","Login with Browser Extension":"Entrar com Extensão do Navegador","Login with Bunker":"Entrar com Bunker","Login with Private Key":"Entrar com Chave Privada","reload notes":"recarregar notas","Logged in Accounts":"Contas Conectadas","Add an Account":"Adicionar uma Conta","More options":"Mais opções","Add client tag":"Adicionar tag de cliente","Show others this was sent via Smesh":"Mostrar aos outros que isso foi enviado via Smesh","Are you sure you want to logout?":"Tem certeza de que deseja sair?","relay sets":"conjuntos de relé",edit:"editar",Languages:"Idiomas",Theme:"Tema",System:"Sistema",Light:"Claro",Dark:"Escuro",Temporary:"Temporário","Choose a relay set":"Escolha um conjunto de relé","Switch account":"Trocar de Conta",Pictures:"Imagens","Picture note":"Nota de Imagem","A special note for picture-first clients like Olas":"Uma nota especial para clientes que priorizam imagens, como Olas","Picture note requires images":"Nota de imagem requer imagens",Relays:"Relés",Image:"imagem","R & W":"Leitura & Escrita",Read:"Ler",Write:"Escrever","Pull relay sets":"Receber conjuntos de relé","Select the relay sets you want to pull":"Selecione os conjuntos de relé que deseja receber","No relay sets found":"Nenhum conjunto de relé encontrado","Pull n relay sets":"Receber {{n}} conjuntos de relé",Pull:"Receber","Select all":"Selecionar todos","Relay Sets":"Conjuntos de relé","Read & Write Relays":"Relés de Leitura & Escrita","read relays description":"Relés de leitura são usados para buscar eventos sobre você. Outros usuários publicarão os eventos que deseja ver nesses relés.","write relays description":"Relés de escrita são usados para publicar seus eventos. Outros usuários buscarão seus eventos nesses relés.","read & write relays notice":"O número de servidores de leitura e escrita deve ser mantido entre 2 e 4, idealmente.","Don't have an account yet?":"Não tem uma conta ainda?","or simply generate a private key":"ou simplesmente gere uma chave privada","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Esta é uma chave privada. Não a compartilhe com ninguém. Mantenha-a segura, pois não poderá recuperá-la se perdê-la.",Edit:"Editar",Save:"Salvar","Display Name":"Nome de Exibição",Bio:"Biografia","Nostr Address (NIP-05)":"Endereço Nostr (NIP-05)","Invalid NIP-05 address":"Endereço NIP-05 inválido","Copy private key":"Copiar chave privada","Enter the password to decrypt your ncryptsec":"Digite a senha para descriptografar seu ncryptsec",Back:"Voltar","optional: encrypt nsec":"opcional: criptografar nsec",password:"senha","Sign up":"Registrar-se","Save to":"Salvar em","Enter a name for the new relay set":"Digite um nome para o novo conjunto de relé","Save to a new relay set":"Salvar em um novo conjunto de relé",Mute:"Silenciar",Muted:"Silenciado",Unmute:"Ativar som","Unmute user":"Ativar som do usuário","Append n relays":"Adicionar {{n}} relés",Append:"Adicionar","Select relays to append":"Selecione os relés para adicionar","calculating...":"calculando...","Calculate optimal read relays":"Calcular relés de leitura ideais","Login to set":"Entrar no conjunto","Please login to view following feed":"Por favor, faça login para ver o feed de seguidores","Send only to r":"Enviar apenas para {{r}}","Send only to these relays":"Enviar apenas para estes relés",Explore:"Explorar","Search relays":"Pesquisar relés",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Pesquisar",relayInfoBadgePayment:"Pagamento",Operator:"Operador",Contact:"Contato",Software:"Software",Version:"Versão","Random Relays":"Relés Aleatórios",randomRelaysRefresh:"Atualizar","Explore more":"Explorar mais","Payment page":"Página de Pagamento","Supported NIPs":"NIPs Suportados","Open in a":"Abrir em {{a}}","Cannot handle event of kind k":"Não é possível lidar com o evento do tipo {{k}}","Sorry! The note cannot be found 😔":"Desculpe! A nota não pode ser encontrada 😔","This user has been muted":"Este usuário foi silenciado",Wallet:"Carteira",Sats:"Sats",sats:"sats","Zap to":"Zap para","Zap n sats":"Zap {{n}} sats",zapComment:"Comentário","Default zap amount":"Valor padrão do zap","Default zap comment":"Comentário padrão do zap","Lightning Address (or LNURL)":"Endereço Lightning (ou LNURL)","Quick zap":"Zap Rápido","If enabled, you can zap with a single click. Click and hold for custom amounts":"Se ativado, você pode zapar com um único clique. Clique e segure para quantias personalizadas",All:"Tudo",Reactions:"Reações",Zaps:"Zaps","Earlier notifications":"Notificações anteriores","Temporarily display this note":"Exibir esta nota temporariamente",buttonFollowing:"Seguindo","Are you sure you want to unfollow this user?":"Tem certeza de que deseja deixar de seguir este usuário?","Recent Supporters":"Apoiadores Recentes","Seen on":"Visto em","Temporarily display this reply":"Exibir temporariamente esta resposta","Note not found":"Nota não encontrada","no more replies":"não há mais respostas","Relay sets":"Conjuntos de Relé","Favorite Relays":"Relés Favoritos","Following's Favorites":"Favoritos de quem você segue","no more relays":"não há mais relés","Favorited by":"Favoritado por","Post settings":"Configurações de Postagem","Media upload service":"Serviço de Upload de Mídia","Choose a relay":"Escolher um Relé","no relays found":"nenhum relé encontrado",video:"vídeo","Show n new notes":"Mostrar {{n}} novas notas",YouTabName:"Você",Bookmark:"Favorito","Remove bookmark":"Remover favorito","no bookmarks found":"Nenhum favorito encontrado","no more bookmarks":"Sem mais favoritos",Bookmarks:"Favoritos","Show more":"Mostrar mais",General:"Geral",Autoplay:"Reprodução Automática","Enable video autoplay on this device":"Habilitar reprodução automática de vídeo neste dispositivo","Paste or drop media files to upload":"Cole ou solte arquivos de mídia para fazer upload",Preview:"Pré-visualização","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?","Platinum Sponsors":"Patrocinadores Platinum",From:"De","Comment on":"Comentar em","View on njump.me":"Ver em njump.me","Hide content from untrusted users":"Esconder conteúdo de usuários não confiáveis","Only show content from your followed users and the users they follow":"Mostrar apenas conteúdo dos usuários que você segue e dos usuários que eles seguem","Followed by":"Seguido por","Mute user privately":"Silenciar usuário privadamente","Mute user publicly":"Silenciar usuário publicamente",Quotes:"Citações","Lightning Invoice":"Fatura Lightning","Bookmark failed":"Falha ao favoritar","Remove bookmark failed":"Falha ao remover favorito",Translation:"Tradução",Balance:"Saldo",characters:"caracteres",smeshTranslateApiKeyDescription:"Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}","Top up":"Carregar","Will receive: {n} characters":"Receberá: {{n}} caracteres","Top up {n} sats":"Carregar {{n}} sats","Minimum top up is {n} sats":"O carregamento mínimo é de {{n}} sats",Service:"Serviço","Reset API key":"Redefinir chave API","Are you sure you want to reset your API key? This action cannot be undone.":"Tem certeza de que deseja redefinir sua chave API? Esta ação não pode ser desfeita.",Warning:"Aviso","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Sua chave API atual se tornará inválida imediatamente, e qualquer aplicativo que a utilize deixará de funcionar até que você os atualize com a nova chave.","Service address":"Endereço do serviço",Pay:"Pagar",interactions:"interações",notifications:"notificações","Show untrusted {type}":"Mostrar {{type}} não confiáveis","Hide untrusted {type}":"Esconder {{type}} não confiáveis","Currently hiding {type} from untrusted users.":"Atualmente escondendo {{type}} de usuários não confiáveis.","Currently showing all {type}.":"Atualmente mostrando todos os {{type}}.","Click continue to show all {type}.":"Clique em continuar para mostrar todos os {{type}}.","Click continue to hide {type} from untrusted users.":"Clique em continuar para esconder {{type}} de usuários não confiáveis.","Trusted users include people you follow and people they follow.":"Usuários confiáveis incluem pessoas que você segue e pessoas que elas seguem.",Continue:"Continuar","Successfully updated mute list":"Lista de silenciados atualizada com sucesso","No pubkeys found from {url}":"Nenhum pubkey encontrado em {{url}}","Translating...":"Traduzindo...",Translate:"Traduzir","Show original":"Mostrar original",Website:"Website","Hide untrusted notes":"Esconder notas não confiáveis","Open in another client":"Abrir em outro cliente",Community:"Comunidade",Group:"Grupo","Live event":"Evento ao vivo",Article:"Artigo",Unfavorite:"Desfavoritar","Recommended relays":"Relés recomendados","Blossom server URLs":"URLs do servidor Blossom","You need to add at least one blossom server in order to upload media files.":"Você precisa adicionar pelo menos um servidor Blossom para poder carregar arquivos de mídia.","Recommended blossom servers":"Servidores Blossom recomendados","Enter Blossom server URL":"Inserir URL do servidor Blossom",Preferred:"Preferido","Multiple choice (select one or more)":"Múltipla escolha (selecione um ou mais)",Vote:"Votar","{{number}} votes":"{{number}} votos","Total votes":"Total de votos","Poll has ended":"A sondagem terminou","Poll ends at {{time}}":"A sondagem termina em {{time}}","Load results":"Carregar resultados","This is a poll note.":"Esta é uma nota de sondagem.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Ao contrário das notas regulares, as sondagens não são amplamente suportadas e podem não ser exibidas noutros clientes.","Option {{number}}":"Opção {{number}}","Add Option":"Adicionar Opção","Allow multiple choices":"Permitir múltiplas escolhas","End Date (optional)":"Data de fim (opcional)","Clear end date":"Limpar data de fim","Relay URLs (optional, comma-separated)":"URLs de relay (opcional, separadas por vírgulas)","Remove poll":"Remover sondagem","Refresh results":"Atualizar resultados",Poll:"Sondagem",Media:"mídia","Republish to ...":"Transmitir para...","Successfully republish to your write relays":"Transmitido com sucesso para seus relays de escrita","Failed to republish to your write relays: {{error}}":"Falha ao transmitir para seus relays de escrita: {{error}}","Successfully republish to relay set: {{name}}":"Transmitido com sucesso para o conjunto de relé: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Falha ao transmitir para o conjunto de relé: {{name}}. Erro: {{error}}","Successfully republish to relay: {{url}}":"Transmitido com sucesso para o relé: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Falha ao transmitir para o relé: {{url}}. Erro: {{error}}","Write relays":"Relés de escrita","No more reactions":"Sem mais reações","No reactions yet":"Ainda sem reações","No more zaps":"Sem mais zaps","No zaps yet":"Ainda sem zaps","No more reposts":"Sem mais reposts","No reposts yet":"Ainda sem reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Lista de seguir não encontrada. Deseja criar uma nova? Se seguiu utilizadores anteriormente, por favor NÃO confirme, pois esta operação fará com que perca a sua lista de seguir anterior.",MuteListNotFoundConfirmation:"Lista de silenciados não encontrada. Deseja criar uma nova? Se silenciou utilizadores anteriormente, por favor NÃO confirme, pois esta operação fará com que perca a sua lista de silenciados anterior.","Show NSFW content by default":"Mostrar conteúdo NSFW por padrão","Custom emoji management":"Gestão de emojis personalizados","After changing emojis, you may need to refresh the page":"Após alterar os emojis, poderá ser necessário actualizar a página","Too many read relays":"Demasiados relays de leitura","Too many write relays":"Demasiados relays de escrita","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tem {{count}} relays de leitura. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tem {{count}} relays de escrita. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","Optimize Relay Settings":"Optimizar definições de relay","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"A sua configuração actual de relay pode não ser ideal. Isto pode tornar difícil para outros encontrarem as suas publicações e pode resultar em notificações incompletas.","Optimize Now":"Optimizar agora","Maybe Later":"Talvez mais tarde","Don't remind me again":"Não me relembrar novamente",Posts:"Publicações",Articles:"Artigos",Highlights:"Destaques",Polls:"Inquéritos","Voice Posts":"Áudios","Photo Posts":"Fotos","Video Posts":"Vídeos","Select All":"Seleccionar tudo","Clear All":"Limpar tudo","Set as default filter":"Definir como filtro predefinido",Apply:"Aplicar",Reset:"Repor","Share something on this Relay":"Partilhe algo neste Relay","Try deleting this note":"Tente eliminar esta nota","Deletion request sent to {{count}} relays":"Pedido de eliminação enviado para {{count}} relays","Suitable Relays":"Relays adequados","People, keywords, or relays":"Pessoas, palavras-chave ou relays","Hide content mentioning muted users":"Ocultar conteúdo que menciona utilizadores silenciados","This note mentions a user you muted":"Esta nota menciona um utilizador que silenciou",Filter:"Filtro","mentioned you in a note":"mencionou-o numa nota","quoted your note":"citou a sua nota","voted in your poll":"votou na sua sondagem","reacted to your note":"reagiu à sua nota","reposted your note":"republicou a sua nota","zapped your note":"zappeou a sua nota","highlighted your note":"destacou a sua nota","zapped you":"zappeou-o","Mark as read":"Marcar como lida",Report:"Denunciar","Successfully report":"Denúncia enviada com sucesso","Failed to report":"Falha ao enviar denúncia",nudity:"Nudez",malware:"Malware",profanity:"Blasfémia",illegal:"Conteúdo ilegal",spam:"Spam",other:"Outro","Notification list style":"Estilo da lista de notificações","See extra info for each notification":"Ver informações extra para cada notificação","See more notifications at a glance":"Ver mais notificações rapidamente",Detailed:"Detalhado",Compact:"Compacto","Submit Relay":"Enviar Relay",Homepage:"Página inicial","Proof of Work (difficulty {{minPow}})":"Prova de Trabalho (dificuldade {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Carregamento automático de multimédia",Always:"Sempre","Wi-Fi only":"Apenas Wi-Fi",Never:"Nunca","Click to load image":"Clique para carregar a imagem","Click to load media":"Clique para carregar a mídia","Click to load YouTube video":"Clique para carregar o vídeo do YouTube","{{count}} reviews":"{{count}} avaliações","Write a review":"Escrever uma avaliação","No reviews yet. Be the first to write one!":"Ainda não há avaliações. Seja o primeiro a escrever uma!","View more reviews":"Ver mais avaliações","Failed to review":"Falha ao avaliar","Write a review and pick a star rating":"Escreva uma avaliação e escolha uma classificação por estrelas",Submit:"Enviar","Reviews for {{relay}}":"Avaliações para {{relay}}","No relays selected":"Nenhum relay selecionado","Post to":"Publicar para","Write relays and {{count}} other relays":"Relays de escrita e {{count}} outros relays","{{count}} relays":"{{count}} relays","Republishing...":"Republicando...","Connected to":"Conectado a","Disconnect Wallet":"Desconectar Carteira","Are you absolutely sure?":"Tem certeza absoluta?","You will not be able to send zaps to others.":"Você não poderá enviar zaps para outros.",Disconnect:"Desconectar","Start with a Rizful Vault":"Comece com um Cofre Rizful","or other wallets":"outras carteiras","Rizful Vault":"Cofre Rizful","Rizful Vault connected!":"Cofre Rizful conectado!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Agora você pode usar seu Cofre Rizful para zapear suas notas e criadores favoritos.","Your Lightning Address":"Seu Endereço Lightning","New to Rizful?":"Novo no Rizful?","Sign up for Rizful":"Inscreva-se no Rizful","If you already have a Rizful account, you can skip this step.":"Se você já tem uma conta Rizful, pode pular esta etapa.","Get your one-time code":"Obtenha seu código único","Get code":"Obter código","Connect to your Rizful Vault":"Conecte-se ao seu Cofre Rizful","Paste your one-time code here":"Cole seu código único aqui",Connect:"Conectar","Set up your wallet to send and receive sats!":"Configure a sua carteira para enviar e receber sats!","Set up":"Configurar",Pinned:"Fixado",Unpin:"Desafixar",Unpinning:"Desafixando","Pinning...":"Fixando...","Pinned!":"Fixado!","Failed to pin: {{error}}":"Falha ao fixar: {{error}}","Unpinning...":"Desafixando...","Unpinned!":"Desafixado!","Failed to unpin: {{error}}":"Falha ao desafixar: {{error}}","Unpin from profile":"Desafixar do perfil","Pin to profile":"Fixar no perfil",Appearance:"Aparência","Pure Black":"Preto Puro",Default:"Padrão",Red:"Vermelho",Orange:"Laranja",Amber:"Âmbar",Yellow:"Amarelo",Lime:"Lima",Green:"Verde",Emerald:"Esmeralda",Teal:"Turquesa",Cyan:"Ciano",Sky:"Céu",Blue:"Azul",Indigo:"Índigo",Violet:"Violeta",Purple:"Roxo",Fuchsia:"Fúcsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Cor primária",Layout:"Layout","Two-column":"Coluna dupla","Single-column":"Coluna única",Reviews:"Avaliações",Extension:"Extensão",Remote:"Remoto","Encrypted Key":"Chave Criptografada","Private Key":"Chave Privada","Welcome to Smesh":"Bem-vindo ao Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh é um cliente focado em explorar relays. Comece por explorar relays interessantes ou inicie sessão para ver o seu feed de seguidos.","Explore Relays":"Explorar Relays","Choose a feed":"Escolha um feed","and {{x}} others":"e {{x}} outros",selfZapWarning:"Smesh não é responsável pelo que acontece se você zap a si mesmo. Prossiga por sua conta e risco. 😉⚡","Emoji Pack":"Pacote de Emojis","Emoji pack added":"Pacote de emojis adicionado","Add emoji pack failed":"Falha ao adicionar pacote de emojis","Emoji pack removed":"Pacote de emojis removido","Remove emoji pack failed":"Falha ao remover pacote de emojis",Added:"Adicionado","Emoji Packs":"Pacotes de Emojis","My Packs":"Os Meus Pacotes","Adding...":"A adicionar...","Removing...":"A remover...",Reload:"Recarregar","Request to Join Relay":"Solicitar adesão ao Relay","Leave Relay":"Sair do Relay",Leave:"Sair","Are you sure you want to leave this relay?":"Tem a certeza de que deseja sair deste relay?","Join request sent successfully":"Pedido de adesão enviado com sucesso","Failed to send join request":"Falha ao enviar pedido de adesão","Leave request sent successfully":"Pedido de saída enviado com sucesso","Failed to send leave request":"Falha ao enviar pedido de saída","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Introduza um código de convite se tiver um. Caso contrário, deixe em branco para enviar um pedido.","Invite Code (Optional)":"Código de Convite (Opcional)","Enter invite code":"Introduza o código de convite","Sending...":"A enviar...","Send Request":"Enviar Pedido","You can get an invite code from a relay member.":"Pode obter um código de convite de um membro do relay.","Enter the invite code you received from a relay member.":"Introduza o código de convite que recebeu de um membro do relay.","Get Invite Code":"Obter Código de Convite","Share this invite code with others to invite them to join this relay.":"Partilhe este código de convite com outros para os convidar a aderir a este relay.","Invite Code":"Código de Convite",Copy:"Copiar","This invite code can be used by others to join the relay.":"Este código de convite pode ser usado por outros para aderir ao relay.","No invite code available from this relay.":"Nenhum código de convite disponível deste relay.",Close:"Fechar","Failed to get invite code from relay":"Falha ao obter código de convite do relay","Failed to get invite code":"Falha ao obter código de convite","Invite code copied to clipboard":"Código de convite copiado para a área de transferência","Favicon URL":"URL do Favicon","Filter out onion relays":"Filtrar relays onion","Click to load X post":"Clique para carregar a publicação do X","View Nostr comments":"Ver comentários do Nostr","Search for notes":"Pesquisar notas","Search for hashtag":"Pesquisar hashtag","Go to note":"Ir para nota","Go to relay":"Ir para relay","View discussions about this":"Ver discussões sobre este conteúdo","Open link":"Abrir ligação","View Nostr discussions":"Ver discussões do Nostr","Optimal relays":"Relays ideais","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republicado com sucesso nos relays ideais (os seus relays de escrita e os relays de leitura dos utilizadores mencionados)","Failed to republish to optimal relays: {{error}}":"Falha ao republicar nos relays ideais: {{error}}","External Content":"Conteúdo externo",Highlight:"Destacar","Optimal relays and {{count}} other relays":"Relays ideais e {{count}} outros relays","Likely spam account (Trust score: {{percentile}}%)":"Provável conta de spam (Pontuação de confiança: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Conta suspeita (Pontuação de confiança: {{percentile}}%)","n users":"{{count}} utilizadores","View Details":"Ver detalhes","Follow Pack Not Found":"Pacote de seguir não encontrado","Follow pack not found":"Pacote de seguir não encontrado",Users:"Utilizadores",Feed:"Feed","Follow Pack":"Pacote de Seguir","Load earlier":"Carregar anterior","Last 24 hours":"Últimas 24 horas","Last {{count}} days":"Últimos {{count}} dias",notes:"notas","Quick reaction":"Reação rápida","If enabled, you can react with a single click. Click and hold for more options":"Se ativado, pode reagir com um único clique. Clique e mantenha premido para mais opções","Quick reaction emoji":"Emoji de reação rápida","Select emoji":"Selecionar emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Seguir Especial","Unfollow Special":"Deixar de Seguir Especial","Personal Feeds":"Feeds Pessoais","Relay Feeds":"Feeds de Relays","Create Highlight":"Criar Destaque","Write your thoughts about this highlight...":"Escreva os seus pensamentos sobre este destaque...","Publish Highlight":"Publicar Destaque","Show replies":"Mostrar respostas","Hide replies":"Ocultar respostas","Welcome to Smesh!":"Bem-vindo ao Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"O seu feed está vazio porque ainda não está a seguir ninguém. Comece por explorar conteúdo interessante e siga utilizadores de que gosta!","Search Users":"Procurar Utilizadores","Create New Account":"Criar nova conta",Important:"Importante","Generate Your Account":"Gerar a sua conta","Your private key IS your account. Keep it safe!":"A sua chave privada É a sua conta. Mantenha-a segura!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"No Nostr, a sua chave privada É a sua conta. Se perder a sua chave privada, perde a sua conta para sempre.","Your Private Key":"A sua chave privada","Generate new key":"Gerar nova chave","Download Backup File":"Transferir ficheiro de cópia de segurança","Copied to Clipboard":"Copiado para a área de transferência","Copy to Clipboard":"Copiar para a área de transferência","I already saved my private key securely.":"Já guardei a minha chave privada de forma segura.","Almost Done!":"Quase pronto!","Set a password to encrypt your key, or skip to finish":"Defina uma palavra-passe para encriptar a sua chave ou ignore para finalizar","Password Protection (Optional)":"Proteção por palavra-passe (opcional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Definir uma palavra-passe encripta a sua chave privada neste navegador. Pode ignorar este passo, mas recomendamos que defina uma para maior segurança.","Password (Optional)":"Palavra-passe (opcional)","Enter password or leave empty to skip":"Introduza a palavra-passe ou deixe vazio para ignorar","Confirm Password":"Confirmar palavra-passe","Re-enter password":"Introduza novamente a palavra-passe","Passwords do not match":"As palavras-passe não coincidem","Finish Signup":"Concluir registo","Create Your Nostr Account":"Crie a sua conta Nostr","Generate your unique private key. This is your digital identity.":"Gere a sua chave privada única. Esta é a sua identidade digital.","Critical: Save Your Private Key":"Crítico: Guarde a sua chave privada","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"A sua chave privada É a sua conta. Não há recuperação de palavra-passe. Se a perder, perderá a sua conta para sempre. Por favor, guarde-a num local seguro.","I have safely backed up my private key":"Fiz uma cópia de segurança da minha chave privada","Secure Your Account":"Proteja a sua conta","Add an extra layer of protection with a password":"Adicione uma camada extra de proteção com uma palavra-passe","Password Protection (Recommended)":"Proteção por palavra-passe (recomendado)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Adicione uma palavra-passe para encriptar a sua chave privada neste navegador. Isto é opcional, mas fortemente recomendado para melhor segurança.","Create a password (or skip)":"Crie uma palavra-passe (ou ignore)","Enter your password again":"Introduza novamente a sua palavra-passe","Complete Signup":"Concluir registo",Recommended:"Recomendado"}},Zbe={translation:{"Welcome! 🥳":"Добро пожаловать! 🥳",About:"О нас","New Note":"Новая заметка",Post:"Опубликовать",Home:"Главная","Relay settings":"Настройки ретрансляции",Settings:"Настройки",SidebarRelays:"Ретрансляторы",Refresh:"Обновить",Profile:"Профиль",Logout:"Выйти",Following:"Подписки",followings:"подписки",reposted:"репостнул","just now":"только что","minute ago_one":"{{count}} минуту назад","minute ago_other":"{{count}} минут назад","n m":"{{n}}м","hour ago_one":"{{count}} час назад","hour ago_other":"{{count}} часов назад","n h":"{{n}}ч","day ago_one":"{{count}} день назад","day ago_other":"{{count}} дней назад","n d":"{{n}}д",date:"{{timestamp, date}}",Follow:"Подписаться",Unfollow:"Отписаться","Follow failed":"Ошибка подписки","Unfollow failed":"Ошибка отписки","show new notes":"показать новые заметки","loading...":"загрузка...","Loading...":"Загрузка...","no more notes":"больше нет заметок","reply to":"ответить",reply:"ответить",Reply:"Ответить","load more older replies":"загрузить больше старых ответов","Write something...":"Напишите что-нибудь...",Cancel:"Отмена",Mentions:"Упоминания","Failed to post":"Ошибка публикации","Post successful":"Успешно опубликовано","Your post has been published":"Ваш пост опубликован",Repost:"Репост",Quote:"Цитировать","Copy event ID":"Копировать ID события","Copy user ID":"Копировать ID пользователя","View raw event":"Посмотреть исходное событие",Like:"Нравится","switch to light theme":"переключить на светлую тему","switch to dark theme":"переключить на тёмную тему","switch to system theme":"переключить на системную тему",Note:"Заметка",note:"заметка","username's following":"Подписки пользователя {{username}}","username's used relays":"Ретрансляторы пользователя {{username}}","username's muted":"{{username}} заблокирован",Login:"Войти","Follows you":"Подписан на вас","Relay Settings":"Настройки ретрансляторов","Relay set name":"Имя набора ретрансляторов","Add a new relay set":"Добавить новый набор ретрансляторов",Add:"Добавить","n relays":"{{n}} ретрансляторов",Rename:"Переименовать","Copy share link":"Скопировать ссылку для обмена",Delete:"Удалить","Relay already exists":"Ретранслятор уже существует","invalid relay URL":"неверный URL ретранслятора","Add a new relay":"Добавить новый ретранслятор",back:"назад","Lost in the void":"Потерялся в пустоте","Carry me home":"Отведи меня домой","no replies":"нет ответов","Reply to":"Ответить",Search:"Поиск","The relays you are connected to do not support search":"Подключённые ретрансляторы не поддерживают поиск","Show more...":"Показать больше...","All users":"Все пользователи","Display replies":"Показать ответы",Notes:"Заметки",Replies:"Ответы",Notifications:"Уведомления","no more notifications":"нет новых уведомлений","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Использование входа с приватным ключом небезопасно. Рекомендуется использовать расширение браузера для входа, такое как alby, nostr-keyx или nos2x. Если вы всё же хотите использовать приватный ключ, установите хотя бы пароль для шифрования.","Login with Browser Extension":"Войти через расширение браузера","Login with Bunker":"Войти через Bunker","Login with Private Key":"Войти с приватным ключом","reload notes":"перезагрузить заметки","Logged in Accounts":"Вошедшие аккаунты","Add an Account":"Добавить аккаунт","More options":"Больше опций","Add client tag":"Добавить тег клиента","Show others this was sent via Smesh":"Показать другим, что сообщение отправлено через Smesh","Are you sure you want to logout?":"Вы уверены, что хотите выйти?","relay sets":"наборы ретрансляторов",edit:"редактировать",Languages:"Языки",Theme:"Тема",System:"Система",Light:"Светлая",Dark:"Тёмная",Temporary:"Временная","Choose a relay set":"Выберите набор ретрансляторов","Switch account":"Сменить аккаунт",Pictures:"Изображения","Picture note":"Заметка с изображением","A special note for picture-first clients like Olas":"Особенная заметка для клиентов с приоритетом изображений, таких как Olas","Picture note requires images":"Заметка с изображением требует наличия изображений",Relays:"Ретрансляторы",Image:"изображение","R & W":"Чтение & Запись",Read:"Читать",Write:"Писать","Pull relay sets":"Получить наборы ретрансляторов","Select the relay sets you want to pull":"Выберите наборы ретрансляторов для получения","No relay sets found":"Наборы ретрансляторов не найдены","Pull n relay sets":"Получить {{n}} наборов ретрансляторов",Pull:"Получить","Select all":"Выбрать все","Relay Sets":"Наборы ретрансляторов","Read & Write Relays":"Ретрансляторы для чтения и записи","read relays description":"Ретрансляторы для чтения используются для получения событий о вас. Другие пользователи публикуют события, которые вы должны увидеть, через ваши ретрансляторы для чтения.","write relays description":"Ретрансляторы для записи используются для публикации ваших событий. Другие пользователи получают ваши события через ретрансляторы для записи.","read & write relays notice":"Количество серверов для чтения и записи должно быть оптимально от 2 до 4.","Don't have an account yet?":"Ещё нет аккаунта?","or simply generate a private key":"или просто сгенерируйте приватный ключ","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Это приватный ключ. Не делитесь им с другими. Храните его в надёжном месте – восстановить его будет невозможно.",Edit:"Редактировать",Save:"Сохранить","Display Name":"Отображаемое имя",Bio:"О себе","Nostr Address (NIP-05)":"Адрес Nostr (NIP-05)","Invalid NIP-05 address":"Неверный адрес NIP-05","Copy private key":"Скопировать приватный ключ","Enter the password to decrypt your ncryptsec":"Введите пароль для расшифровки вашего ncryptsec",Back:"Назад","optional: encrypt nsec":"необязательно: зашифровать nsec",password:"пароль","Sign up":"Зарегистрироваться","Save to":"Сохранить в","Enter a name for the new relay set":"Введите имя нового набора ретрансляторов","Save to a new relay set":"Сохранить в новый набор ретрансляторов",Mute:"Заглушить",Muted:"Заглушено",Unmute:"Отменить заглушку","Mute user":"Заглушить пользователя","Unmute user":"Снять заглушку с пользователя","Append n relays":"Добавить {{n}} ретрансляторов",Append:"Добавить","Select relays to append":"Выберите ретрансляторы для добавления","calculating...":"вычисление...","Calculate optimal read relays":"Рассчитать оптимальные ретрансляторы для чтения","Login to set":"Войти в набор","Please login to view following feed":"Войдите, чтобы увидеть ленту подписок","Send only to r":"Отправить только на {{r}}","Send only to these relays":"Отправить только на эти ретрансляторы",Explore:"Обзор","Search relays":"Поиск ретрансляторов",relayInfoBadgeAuth:"Авторизация",relayInfoBadgeSearch:"Поиск",relayInfoBadgePayment:"Платежи",Operator:"Оператор",Contact:"Контакты",Software:"Программное обеспечение",Version:"Версия","Random Relays":"Случайные ретрансляторы",randomRelaysRefresh:"Обновить","Explore more":"Исследовать больше","Payment page":"Страница оплаты","Supported NIPs":"Поддерживаемые NIP","Open in a":"Открыть в {{a}}","Cannot handle event of kind k":"Невозможно обработать событие типа {{k}}","Sorry! The note cannot be found 😔":"Извините! Заметка не найдена 😔","This user has been muted":"Этот пользователь заглушен",Wallet:"Кошелёк",Sats:"Сатс",sats:"сатс","Zap to":"Зап отправить","Zap n sats":"Зап {{n}} сатс",zapComment:"Комментарий","Default zap amount":"Стандартная сумма для зап","Default zap comment":"Стандартный комментарий для зап","Lightning Address (or LNURL)":"Lightning-адрес (или LNURL)","Quick zap":"Быстрый зап","If enabled, you can zap with a single click. Click and hold for custom amounts":"Если включено, вы можете отправить зап одним нажатием. Нажмите и удерживайте для выбора суммы",All:"Все",Reactions:"Реакции",Zaps:"Запы","Earlier notifications":"Ранние уведомления","Temporarily display this note":"Временно отобразить эту заметку",buttonFollowing:"Подписан","Are you sure you want to unfollow this user?":"Вы уверены, что хотите отписаться от этого пользователя?","Recent Supporters":"Недавние спонсоры","Seen on":"Просмотрено на","Temporarily display this reply":"Временно отобразить этот ответ","Note not found":"Заметка не найдена","no more replies":"больше нет ответов","Relay sets":"Наборы ретрансляторов","Favorite Relays":"Избранные ретрансляторы","Following's Favorites":"Избранные ретрансляторы подписчиков","no more relays":"больше нет ретрансляторов","Favorited by":"Избранные у","Post settings":"Настройки публикации","Media upload service":"Служба загрузки медиафайлов","Choose a relay":"Выберите ретранслятор","no relays found":"ретрансляторы не найдены",video:"видео","Show n new notes":"Показать {{n}} новых заметок",YouTabName:"Вы",Bookmark:"Закладка","Remove bookmark":"Удалить закладку","no bookmarks found":"Закладки не найдены","no more bookmarks":"Больше нет закладок",Bookmarks:"Закладки","Show more":"Показать больше",General:"Общие",Autoplay:"Автовоспроизведение","Enable video autoplay on this device":"Включить автовоспроизведение видео на этом устройстве","Paste or drop media files to upload":"Вставьте или перетащите медиафайлы для загрузки",Preview:"Предварительный просмотр","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Вы собираетесь опубликовать событие, подписанное [{{eventAuthorName}}]. Вы в данный момент вошли как [{{currentUsername}}]. Вы уверены?","Platinum Sponsors":"Платиновые спонсоры",From:"От","Comment on":"Прокомментировать","View on njump.me":"Посмотреть на njump.me","Hide content from untrusted users":"Скрыть контент от недоверенных пользователей","Only show content from your followed users and the users they follow":"Показывать только контент от пользователей, на которых вы подписаны, и от пользователей, на которых они подписаны","Followed by":"Подписан на","Mute user privately":"Заглушить пользователя приватно","Mute user publicly":"Заглушить пользователя публично",Quotes:"Цитаты","Lightning Invoice":"Lightning-счет","Bookmark failed":"Не удалось добавить закладку","Remove bookmark failed":"Не удалось удалить закладку",Translation:"Перевод",Balance:"Баланс",characters:"символов",smeshTranslateApiKeyDescription:"Вы можете использовать этот API-ключ в любом другом месте, которое поддерживает LibreTranslate. URL сервиса: {{serviceUrl}}","Top up":"Пополнить","Will receive: {n} characters":"Получите: {{n}} символов","Top up {n} sats":"Пополнить на {{n}} сатс","Minimum top up is {n} sats":"Минимальное пополнение составляет {{n}} сатс",Service:"Сервис","Reset API key":"Сбросить API-ключ","Are you sure you want to reset your API key? This action cannot be undone.":"Вы уверены, что хотите сбросить ваш API-ключ? Это действие не может быть отменено.",Warning:"Предупреждение","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Ваш текущий API-ключ станет недействительным немедленно, и любые приложения, использующие его, перестанут работать, пока вы не обновите их новым ключом.","Service address":"Адрес сервиса",Pay:"Оплатить",interactions:"взаимодействия",notifications:"уведомления","Show untrusted {type}":"Показать недоверенные {{type}}","Hide untrusted {type}":"Скрыть недоверенные {{type}}","Currently hiding {type} from untrusted users.":"В настоящее время скрываются {{type}} от недоверенных пользователей.","Currently showing all {type}.":"В настоящее время отображаются все {{type}}.","Click continue to show all {type}.":'Нажмите "Продолжить", чтобы показать все {{type}}.',"Click continue to hide {type} from untrusted users.":'Нажмите "Продолжить", чтобы скрыть {{type}} от недоверенных пользователей.',"Trusted users include people you follow and people they follow.":"Доверенные пользователи включают людей, на которых вы подписаны, и людей, на которых они подписаны.",Continue:"Продолжить","Successfully updated mute list":"Успешно обновлен список заглушенных пользователей","No pubkeys found from {url}":"Не найдено pubkeys из {{url}}","Translating...":"Перевод...",Translate:"Перевести","Show original":"Показать оригинал",Website:"Веб-сайт","Hide untrusted notes":"Скрыть недоверенные заметки","Open in another client":"Открыть в другом клиенте",Community:"Сообщество",Group:"Группа","Live event":"Живое событие",Article:"Статья",Unfavorite:"Убрать из избранного","Recommended relays":"Рекомендуемые ретрансляторы","Blossom server URLs":"URLs сервера Blossom","You need to add at least one blossom server in order to upload media files.":"Вам нужно добавить хотя бы один сервер Blossom, чтобы загружать медиафайлы.","Recommended blossom servers":"Рекомендуемые серверы Blossom","Enter Blossom server URL":"Введите URL сервера Blossom",Preferred:"Предпочтительный","Multiple choice (select one or more)":"Множественный выбор (выберите один или несколько)",Vote:"Голосовать","{{number}} votes":"{{number}} голосов","Total votes":"Всего голосов","Poll has ended":"Опрос завершён","Poll ends at {{time}}":"Опрос завершается {{time}}","Load results":"Загрузить результаты","This is a poll note.":"Это заметка с опросом.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"В отличие от обычных заметок, опросы не получили широкой поддержки и могут не отображаться в других клиентах.","Option {{number}}":"Вариант {{number}}","Add Option":"Добавить вариант","Allow multiple choices":"Разрешить множественный выбор","End Date (optional)":"Дата окончания (необязательно)","Clear end date":"Очистить дату окончания","Relay URLs (optional, comma-separated)":"URL релеев (необязательно, через запятую)","Remove poll":"Удалить опрос","Refresh results":"Обновить результаты",Poll:"Опрос",Media:"медиа","Republish to ...":"Ретранслировать в ...","Successfully republish to your write relays":"Успешно ретранслировано в ваши ретрансляторы для записи","Failed to republish to your write relays: {{error}}":"Не удалось ретранслировать в ваши ретрансляторы для записи: {{error}}","Successfully republish to relay set: {{name}}":"Успешно ретранслировано в набор ретрансляторов: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Не удалось ретранслировать в набор ретрансляторов: {{name}}. Ошибка: {{error}}","Successfully republish to relay: {{url}}":"Успешно ретранслировано в ретранслятор: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Не удалось ретранслировать в ретранслятор: {{url}}. Ошибка: {{error}}","Write relays":"Ретрансляторы для записи","No more reactions":"Больше нет реакций","No reactions yet":"Пока нет реакций","No more zaps":"Больше нет запов","No zaps yet":"Пока нет запов","No more reposts":"Больше нет репостов","No reposts yet":"Пока нет репостов",Reposts:"Репосты",FollowListNotFoundConfirmation:"Список подписок не найден. Хотите создать новый? Если вы уже подписывались на пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка подписок.",MuteListNotFoundConfirmation:"Список заблокированных не найден. Хотите создать новый? Если вы уже блокировали пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка заблокированных.","Show NSFW content by default":"Показывать контент NSFW по умолчанию","Custom emoji management":"Управление пользовательскими эмодзи","After changing emojis, you may need to refresh the page":"После изменения эмодзи может потребоваться обновить страницу","Too many read relays":"Слишком много релеев для чтения","Too many write relays":"Слишком много релеев для записи","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"У вас {{count}} релеев для чтения. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"У вас {{count}} релеев для записи. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.","Optimize Relay Settings":"Оптимизировать настройки релеев","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Ваша текущая конфигурация релеев может быть не оптимальной. Это может затруднить поиск ваших сообщений другими пользователями и привести к неполным уведомлениям.","Optimize Now":"Оптимизировать сейчас","Maybe Later":"Возможно, позже","Don't remind me again":"Больше не напоминать",Posts:"Посты",Articles:"Статьи",Highlights:"Выделения",Polls:"Опросы","Voice Posts":"Голосовые посты","Photo Posts":"Фото посты","Video Posts":"Видео посты","Select All":"Выбрать все","Clear All":"Очистить все","Set as default filter":"Установить как фильтр по умолчанию",Apply:"Применить",Reset:"Сбросить","Share something on this Relay":"Поделиться чем-то на этом релее","Try deleting this note":"Попробуйте удалить эту заметку","Deletion request sent to {{count}} relays":"Запрос на удаление отправлен на {{count}} релеев","Suitable Relays":"Подходящие релея","People, keywords, or relays":"Люди, ключевые слова или релея","Hide content mentioning muted users":"Скрыть контент, упоминающий заглушённых пользователей","This note mentions a user you muted":"Эта заметка упоминает пользователя, которого вы заглушили",Filter:"Фильтр","mentioned you in a note":"упомянул вас в заметке","quoted your note":"процитировал вашу заметку","voted in your poll":"проголосовал в вашем опросе","reacted to your note":"отреагировал на вашу заметку","reposted your note":"репостнул вашу заметку","zapped your note":"заппил вашу заметку","highlighted your note":"выделил вашу заметку","zapped you":"заппил вас","Mark as read":"Отметить как прочитанное",Report:"Пожаловаться","Successfully report":"Жалоба успешно отправлена","Failed to report":"Не удалось отправить жалобу",nudity:"Обнаженность",malware:"Вредоносное ПО",profanity:"Ненормативная лексика",illegal:"Незаконный контент",spam:"Спам",other:"Другое","Notification list style":"Стиль списка уведомлений","See extra info for each notification":"Просмотреть дополнительную информацию для каждого уведомления","See more notifications at a glance":"Увидеть больше уведомлений с первого взгляда",Detailed:"Подробный",Compact:"Компактный","Submit Relay":"Отправить релей",Homepage:"Домашняя страница","Proof of Work (difficulty {{minPow}})":"Доказательство работы (сложность {{minPow}})","via {{client}}":"через {{client}}","Auto-load media":"Автозагрузка медиа",Always:"Всегда","Wi-Fi only":"Только Wi-Fi",Never:"Никогда","Click to load image":"Нажмите, чтобы загрузить изображение","Click to load media":"Нажмите, чтобы загрузить медиа","Click to load YouTube video":"Нажмите, чтобы загрузить видео YouTube","{{count}} reviews":"{{count}} отзывов","Write a review":"Написать отзыв","No reviews yet. Be the first to write one!":"Отзывов пока нет. Станьте первым, кто напишет отзыв!","View more reviews":"Посмотреть больше отзывов","Failed to review":"Ошибка отзыва","Write a review and pick a star rating":"Напишите отзыв и выберите звездный рейтинг",Submit:"Отправить","Reviews for {{relay}}":"Отзывы для {{relay}}","No relays selected":"Ретрансляторы не выбраны","Post to":"Опубликовать в","Write relays and {{count}} other relays":"Ретрансляторы записи и {{count}} других ретрансляторов","{{count}} relays":"{{count}} ретрансляторов","Republishing...":"Ретрансляция...","Connected to":"Подключено к","Disconnect Wallet":"Отключить кошелёк","Are you absolutely sure?":"Вы абсолютно уверены?","You will not be able to send zaps to others.":"Вы не сможете отправлять запы другим.",Disconnect:"Отключить","Start with a Rizful Vault":"Начать с Rizful Vault","or other wallets":"или другие кошельки","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault подключён!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Теперь вы можете использовать свой Rizful Vault, чтобы заппить ваши любимые заметки и создателей.","Your Lightning Address":"Ваш Lightning-адрес","New to Rizful?":"Новичок в Rizful?","Sign up for Rizful":"Зарегистрируйтесь на Rizful","If you already have a Rizful account, you can skip this step.":"Если у вас уже есть аккаунт Rizful, вы можете пропустить этот шаг.","Get your one-time code":"Получите ваш одноразовый код","Get code":"Получить код","Connect to your Rizful Vault":"Подключитесь к вашему Rizful Vault","Paste your one-time code here":"Вставьте ваш одноразовый код здесь",Connect:"Подключить","Set up your wallet to send and receive sats!":"Настройте свой кошелёк, чтобы отправлять и получать саты!","Set up":"Настроить",Pinned:"Закреплено",Unpin:"Открепить",Unpinning:"Открепление","Pinning...":"Закрепление...","Pinned!":"Закреплено!","Failed to pin: {{error}}":"Не удалось закрепить: {{error}}","Unpinning...":"Открепление...","Unpinned!":"Откреплено!","Failed to unpin: {{error}}":"Не удалось открепить: {{error}}","Unpin from profile":"Открепить из профиля","Pin to profile":"Закрепить в профиле",Appearance:"Внешний вид","Pure Black":"Чистый Черный",Default:"По умолчанию",Red:"Красный",Orange:"Оранжевый",Amber:"Янтарный",Yellow:"Желтый",Lime:"Лаймовый",Green:"Зеленый",Emerald:"Изумрудный",Teal:"Бирюзовый",Cyan:"Голубой",Sky:"Небесный",Blue:"Синий",Indigo:"Индиго",Violet:"Фиолетовый",Purple:"Пурпурный",Fuchsia:"Фуксия",Pink:"Розовый",Rose:"Роза","Primary color":"Основной цвет",Layout:"Макет","Two-column":"Две колонки","Single-column":"Одна колонка",Reviews:"Отзывы",Extension:"Расширение",Remote:"Удалённый","Encrypted Key":"Зашифрованный ключ","Private Key":"Приватный ключ","Welcome to Smesh":"Добро пожаловать в Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh — это клиент, ориентированный на просмотр relay. Начните с изучения интересных relay или войдите, чтобы увидеть ленту подписок.","Explore Relays":"Исследовать Relay","Choose a feed":"Выберите ленту","and {{x}} others":"и {{x}} других",selfZapWarning:"Smesh не несет ответственности за то, что произойдет, если вы отправите zap самому себе. Продолжайте на свой страх и риск. 😉⚡","Emoji Pack":"Набор эмодзи","Emoji pack added":"Набор эмодзи добавлен","Add emoji pack failed":"Не удалось добавить набор эмодзи","Emoji pack removed":"Набор эмодзи удален","Remove emoji pack failed":"Не удалось удалить набор эмодзи",Added:"Добавлено","Emoji Packs":"Наборы эмодзи","My Packs":"Мои наборы","Adding...":"Добавление...","Removing...":"Удаление...",Reload:"Перезагрузить","Request to Join Relay":"Запросить присоединение к релею","Leave Relay":"Покинуть релей",Leave:"Выйти","Are you sure you want to leave this relay?":"Вы уверены, что хотите покинуть этот релей?","Join request sent successfully":"Запрос на присоединение успешно отправлен","Failed to send join request":"Не удалось отправить запрос на присоединение","Leave request sent successfully":"Запрос на выход успешно отправлен","Failed to send leave request":"Не удалось отправить запрос на выход","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Введите код приглашения, если он у вас есть. В противном случае оставьте поле пустым для отправки запроса.","Invite Code (Optional)":"Код приглашения (необязательно)","Enter invite code":"Введите код приглашения","Sending...":"Отправка...","Send Request":"Отправить запрос","You can get an invite code from a relay member.":"Вы можете получить код приглашения у члена релея.","Enter the invite code you received from a relay member.":"Введите код приглашения, который вы получили от члена релея.","Get Invite Code":"Получить Код Приглашения","Share this invite code with others to invite them to join this relay.":"Поделитесь этим кодом приглашения с другими, чтобы пригласить их присоединиться к этому релею.","Invite Code":"Код Приглашения",Copy:"Копировать","This invite code can be used by others to join the relay.":"Этот код приглашения может быть использован другими для присоединения к релею.","No invite code available from this relay.":"Нет доступного кода приглашения от этого релея.",Close:"Закрыть","Failed to get invite code from relay":"Не удалось получить код приглашения от релея","Failed to get invite code":"Не удалось получить код приглашения","Invite code copied to clipboard":"Код приглашения скопирован в буфер обмена","Favicon URL":"URL фавикона","Filter out onion relays":"Фильтровать onion-релеи","Click to load X post":"Нажмите, чтобы загрузить пост X","View Nostr comments":"Просмотреть комментарии Nostr","Search for notes":"Искать заметки","Search for hashtag":"Искать хэштег","Go to note":"Перейти к заметке","Go to relay":"Перейти к релею","View discussions about this":"Просмотреть обсуждения об этом контенте","Open link":"Открыть ссылку","View Nostr discussions":"Просмотреть обсуждения Nostr","Optimal relays":"Оптимальные релеи","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Успешно опубликовано в оптимальные релеи (ваши релеи для записи и релеи для чтения упомянутых пользователей)","Failed to republish to optimal relays: {{error}}":"Не удалось опубликовать в оптимальные релеи: {{error}}","External Content":"Внешний контент",Highlight:"Выделить","Optimal relays and {{count}} other relays":"Оптимальные релеи и {{count}} других релеев","Likely spam account (Trust score: {{percentile}}%)":"Вероятно спам-аккаунт (Оценка доверия: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Подозрительный аккаунт (Оценка доверия: {{percentile}}%)","n users":"{{count}} пользователей","View Details":"Посмотреть детали","Follow Pack Not Found":"Пакет подписок не найден","Follow pack not found":"Пакет подписок не найден",Users:"Пользователи",Feed:"Лента","Follow Pack":"Пакет Подписок","Load earlier":"Загрузить ранее","Last 24 hours":"Последние 24 часа","Last {{count}} days":"Последние {{count}} дней",notes:"заметки","Quick reaction":"Быстрая реакция","If enabled, you can react with a single click. Click and hold for more options":"Если включено, вы можете реагировать одним щелчком. Нажмите и удерживайте для дополнительных параметров","Quick reaction emoji":"Эмодзи быстрой реакции","Select emoji":"Выбрать эмодзи","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Особая Подписка","Unfollow Special":"Отменить Особую Подписку","Personal Feeds":"Личные Ленты","Relay Feeds":"Ленты Релеев","Create Highlight":"Создать Выделение","Write your thoughts about this highlight...":"Напишите свои мысли об этом выделении...","Publish Highlight":"Опубликовать Выделение","Show replies":"Показать ответы","Hide replies":"Скрыть ответы","Welcome to Smesh!":"Добро пожаловать в Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Ваша лента пуста, потому что вы еще ни на кого не подписаны. Начните с изучения интересного контента и подписки на понравившихся пользователей!","Search Users":"Поиск пользователей","Create New Account":"Создать новый аккаунт",Important:"Важно","Generate Your Account":"Создать аккаунт","Your private key IS your account. Keep it safe!":"Ваш приватный ключ — это ваш аккаунт. Храните его в безопасности!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"В Nostr ваш приватный ключ — это ваш аккаунт. Если вы потеряете приватный ключ, вы навсегда потеряете свой аккаунт.","Your Private Key":"Ваш приватный ключ","Generate new key":"Создать новый ключ","Download Backup File":"Скачать файл резервной копии","Copied to Clipboard":"Скопировано в буфер обмена","Copy to Clipboard":"Копировать в буфер обмена","I already saved my private key securely.":"Я уже сохранил свой приватный ключ в безопасном месте.","Almost Done!":"Почти готово!","Set a password to encrypt your key, or skip to finish":"Установите пароль для шифрования ключа или пропустите, чтобы завершить","Password Protection (Optional)":"Защита паролем (необязательно)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Установка пароля шифрует ваш приватный ключ в этом браузере. Вы можете пропустить этот шаг, но мы рекомендуем установить пароль для дополнительной безопасности.","Password (Optional)":"Пароль (необязательно)","Enter password or leave empty to skip":"Введите пароль или оставьте пустым, чтобы пропустить","Confirm Password":"Подтвердите пароль","Re-enter password":"Введите пароль повторно","Passwords do not match":"Пароли не совпадают","Finish Signup":"Завершить регистрацию","Create Your Nostr Account":"Создайте свой аккаунт Nostr","Generate your unique private key. This is your digital identity.":"Сгенерируйте ваш уникальный приватный ключ. Это ваша цифровая личность.","Critical: Save Your Private Key":"Критично: Сохраните ваш приватный ключ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Ваш приватный ключ И ЕСТЬ ваш аккаунт. Восстановление пароля невозможно. Если вы его потеряете, вы навсегда потеряете свой аккаунт. Пожалуйста, сохраните его в безопасном месте.","I have safely backed up my private key":"Я безопасно сохранил свой приватный ключ","Secure Your Account":"Защитите ваш аккаунт","Add an extra layer of protection with a password":"Добавьте дополнительный уровень защиты с помощью пароля","Password Protection (Recommended)":"Защита паролем (рекомендуется)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Добавьте пароль для шифрования вашего приватного ключа в этом браузере. Это необязательно, но настоятельно рекомендуется для лучшей безопасности.","Create a password (or skip)":"Создайте пароль (или пропустите)","Enter your password again":"Введите пароль еще раз","Complete Signup":"Завершить регистрацию",Recommended:"Рекомендуемые"}},Qbe={translation:{"Welcome! 🥳":"Добродошли! 🥳",About:"О апликацији","New Note":"Нова белешка",Post:"Објави",Home:"Почетна","Relay settings":"Подешавања релеја",Settings:"Подешавања",SidebarRelays:"Релеји",Refresh:"Освежи",Profile:"Профил",Logout:"Одјава",Following:"Пратим",followings:"праћења",reposted:"поделио/ла","just now":"управо сад","minute ago_one":"пре {{count}} минут","minute ago_other":"пре {{count}} минута","n m":"{{n}}м","hour ago_one":"пре {{count}} сат","hour ago_other":"пре {{count}} сати","n h":"{{n}}с","day ago_one":"пре {{count}} дан","day ago_other":"пре {{count}} дана","n d":"{{n}}д",date:"{{timestamp, date}}",Follow:"Прати",Unfollow:"Отпрати","Follow failed":"Праћење неуспешно","Unfollow failed":"Отпраћивање неуспешно","show new notes":"прикажи нове белешке","loading...":"учитавање...","Loading...":"Учитавање...","no more notes":"нема више белешки","reply to":"одговори на",reply:"одговор",Reply:"Одговори","load more older replies":"учитај старије одговоре","Write something...":"Напиши нешто...",Cancel:"Откажи",Mentions:"Помињања","Failed to post":"Објављивање неуспешно","Post successful":"Успешно објављено","Your post has been published":"Твоја објава је објављена",Repost:"Подели",Quote:"Цитирај","Copy event ID":"Копирај ID догађаја","Copy user ID":"Копирај ID корисника","View raw event":"Прикажи сиров догађај",Like:"Свиђа ми се","switch to light theme":"пребаци на светлу тему","switch to dark theme":"пребаци на тамну тему","switch to system theme":"пребаци на системску тему",Note:"Белешка",note:"белешка","username's following":"праћења корисника {{username}}","username's used relays":"релеји корисника {{username}}","username's muted":"утишани од стране {{username}}",Login:"Пријава","Follows you":"Прати те","Relay Settings":"Подешавања релеја","Relay set name":"Назив скупа релеја","Add a new relay set":"Додај нови скуп релеја",Add:"Додај","n relays":"{{n}} релеја",Rename:"Преименуј","Copy share link":"Копирај линк за дељење",Delete:"Обриши","Relay already exists":"Релеј већ постоји","invalid relay URL":"неисправан URL релеја","Add a new relay":"Додај нови релеј",back:"назад","Lost in the void":"Изгубљен у празнини","Carry me home":"Однеси ме кући","no replies":"нема одговора","Reply to":"Одговори на",Search:"Претрага","The relays you are connected to do not support search":"Релеји на које сте повезани не подржавају претрагу","Show more...":"Прикажи више...","All users":"Сви корисници","Display replies":"Прикажи одговоре",Notes:"Белешке",Replies:"Одговори",Notifications:"Обавештења","no more notifications":"нема више обавештења","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Пријава приватним кључем није безбедна. Препоручује се коришћење екстензије прегледача за пријаву, као што су alby, nostr-keyx или nos2x. Ако морате да користите приватни кључ, барем подесите лозинку за шифровање.","Login with Browser Extension":"Пријава преко екстензије прегледача","Login with Bunker":"Пријава преко Bunker-а","Login with Private Key":"Пријава приватним кључем","Custom relay (optional)":"Прилагођени релеј (опционо)","Copy this connection string to your signer app":"Копирајте овај низ за повезивање у вашу апликацију за потписивање","reload notes":"поново учитај белешке","Logged in Accounts":"Пријављени налози","Add an Account":"Додај налог","More options":"Више опција","Add client tag":"Додај ознаку клијента","Show others this was sent via Smesh":"Покажи другима да је ово послато преко Smesh","Are you sure you want to logout?":"Да ли сте сигурни да желите да се одјавите?","relay sets":"скупови релеја",edit:"уреди",Languages:"Језици",Theme:"Тема",System:"Системска",Light:"Светла",Dark:"Тамна",Temporary:"Привремено","Choose a relay set":"Изаберите скуп релеја","Switch account":"Промени налог",Pictures:"Слике","Picture note":"Белешка са сликом","A special note for picture-first clients like Olas":"Посебна белешка за клијенте фокусиране на слике као што је Olas","Picture note requires images":"Белешка са сликом захтева слике",Relays:"Релеји",Image:"Слика","R & W":"Ч & П",Read:"Читање",Write:"Писање","Pull relay sets":"Повуци скупове релеја","Select the relay sets you want to pull":"Изаберите скупове релеја које желите да повучете","No relay sets found":"Нису пронађени скупови релеја","Pull n relay sets":"Повуци {{n}} скупова релеја",Pull:"Повуци","Select all":"Изабери све","Relay Sets":"Скупови релеја","Read & Write Relays":"Релеји за читање и писање","read relays description":"Релеји за читање се користе за проналажење догађаја о вама. Други корисници ће објављивати догађаје које желе да видите на вашим релејима за читање.","write relays description":"Релеји за писање се користе за објављивање ваших догађаја. Други корисници ће тражити ваше догађаје на вашим релејима за писање.","read & write relays notice":"Број релеја за читање и писање би идеално требало да буде између 2 и 4.","Don't have an account yet?":"Немате још налог?","or simply generate a private key":"или једноставно генеришите приватни кључ","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ово је приватни кључ. Не делите га ни са ким. Чувајте га на сигурном. Нећете моћи да га повратите ако га изгубите.",Edit:"Уреди",Save:"Сачувај","Display Name":"Приказно име",Bio:"Биографија","Nostr Address (NIP-05)":"Nostr адреса (NIP-05)","Invalid NIP-05 address":"Неисправна NIP-05 адреса","Copy private key":"Копирај приватни кључ","Enter the password to decrypt your ncryptsec":"Унесите лозинку за дешифровање вашег ncryptsec",Back:"Назад","optional: encrypt nsec":"опционо: шифруј nsec",password:"лозинка","Sign up":"Регистрација","Save to":"Сачувај у","Enter a name for the new relay set":"Унесите назив за нови скуп релеја","Save to a new relay set":"Сачувај у нови скуп релеја",Mute:"Утишај",Muted:"Утишан",Unmute:"Укључи","Unmute user":"Укључи корисника","Append n relays":"Додај {{n}} релеја",Append:"Додај","Select relays to append":"Изаберите релеје за додавање","calculating...":"рачунам...","Calculate optimal read relays":"Израчунај оптималне релеје за читање","Login to set":"Пријавите се да подесите","Please login to view following feed":"Пријавите се да видите фид праћених","Send only to r":"Пошаљи само на {{r}}","Send only to these relays":"Пошаљи само на ове релеје",Explore:"Истражи","Search relays":"Претражи релеје",relayInfoBadgeAuth:"Ауторизација",relayInfoBadgeSearch:"Претрага",relayInfoBadgePayment:"Плаћање",Operator:"Оператер",Contact:"Контакт",Software:"Софтвер",Version:"Верзија","Random Relays":"Насумични релеји",randomRelaysRefresh:"Освежи","Explore more":"Истражи више","Payment page":"Страница за плаћање","Supported NIPs":"Подржани NIPs","Open in a":"Отвори у {{a}}","Cannot handle event of kind k":"Не могу да обрадим догађај врсте {{k}}","Sorry! The note cannot be found 😔":"Извините! Белешка није пронађена 😔","This user has been muted":"Овај корисник је утишан",Wallet:"Новчаник",Sats:"Сатошија",sats:"сатошија","Zap to":"Запуј на","Zap n sats":"Запуј {{n}} сатошија",zapComment:"Коментар","Default zap amount":"Подразумевани износ запа","Default zap comment":"Подразумевани коментар запа","Lightning Address (or LNURL)":"Lightning адреса (или LNURL)","Quick zap":"Брзи зап","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ако је укључено, можете да запујете једним кликом. Кликните и држите за прилагођене износе",All:"Све",Reactions:"Реакције",Zaps:"Запови","Earlier notifications":"Раније обавештења","Temporarily display this note":"Привремено прикажи ову белешку",buttonFollowing:"Пратим","Are you sure you want to unfollow this user?":"Да ли сте сигурни да желите да отпратите овог корисника?","Recent Supporters":"Недавни подржаваоци","Seen on":"Виђено на","Temporarily display this reply":"Привремено прикажи овај одговор","Note not found":"Белешка није пронађена","no more replies":"нема више одговора","Relay sets":"Скупови релеја","Favorite Relays":"Омиљени релеји","Following's Favorites":"Омиљени праћених","no more relays":"нема више релеја","Favorited by":"Омиљен од стране","Post settings":"Подешавања објаве","Media upload service":"Сервис за постављање медија","Choose a relay":"Изаберите релеј","no relays found":"нису пронађени релеји",video:"видео","Show n new notes":"Прикажи {{n}} нових белешки","n new notes above":"{{n}} нових белешки изнад",YouTabName:"Ви",Bookmark:"Обележи","Remove bookmark":"Уклони обележивач","no bookmarks found":"нису пронађени обележивачи","no more bookmarks":"нема више обележивача",Bookmarks:"Обележивачи","Show more":"Прикажи више",General:"Опште",Autoplay:"Аутоматска репродукција","Enable video autoplay on this device":"Укључи аутоматску репродукцију видеа на овом уређају","Paste or drop media files to upload":"Налепите или превуците медијске фајлове за постављање",Preview:"Преглед","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Управо ћете објавити догађај потписан од стране [{{eventAuthorName}}]. Тренутно сте пријављени као [{{currentUsername}}]. Да ли сте сигурни?",From:"Од","Comment on":"Коментар на","View on njump.me":"Прикажи на njump.me","Hide content from untrusted users":"Сакриј садржај од непоузданих корисника","Only show content from your followed users and the users they follow":"Прикажи садржај само од корисника које пратите и корисника које они прате","Followed by":"Праћен од","Mute user privately":"Утишај корисника приватно","Mute user publicly":"Утишај корисника јавно",Quotes:"Цитати","Lightning Invoice":"Lightning рачун","Bookmark failed":"Обележавање неуспешно","Remove bookmark failed":"Уклањање обележивача неуспешно",Pay:"Плати",interactions:"интеракције",notifications:"обавештења","Show untrusted {type}":"Прикажи непоуздане {{type}}","Hide untrusted {type}":"Сакриј непоуздане {{type}}","Currently hiding {type} from untrusted users.":"Тренутно скривам {{type}} од непоузданих корисника.","Currently showing all {type}.":"Тренутно приказујем све {{type}}.","Click continue to show all {type}.":"Кликните настави да прикажете све {{type}}.","Click continue to hide {type} from untrusted users.":"Кликните настави да сакријете {{type}} од непоузданих корисника.","Trusted users include people you follow and people they follow.":"Поуздани корисници укључују људе које пратите и људе које они прате.",Continue:"Настави","Successfully updated mute list":"Листа утишаних успешно ажурирана","No pubkeys found from {url}":"Нису пронађени јавни кључеви са {{url}}",Website:"Веб-сајт","Hide untrusted notes":"Сакриј непоуздане белешке","Hide untrusted interactions":"Сакриј непоуздане интеракције","Hide untrusted notifications":"Сакриј непоуздана обавештења","Open in another client":"Отвори у другом клијенту",Community:"Заједница",Group:"Група","Live event":"Догађај уживо",Article:"Чланак",Unfavorite:"Уклони из омиљених","Recommended relays":"Препоручени релеји","Blossom server URLs":"URL адресе Blossom сервера","You need to add at least one blossom server in order to upload media files.":"Морате додати барем један Blossom сервер да бисте могли да постављате медијске фајлове.","Recommended blossom servers":"Препоручени Blossom сервери","Enter Blossom server URL":"Унесите URL Blossom сервера",Preferred:"Преферирани","Multiple choice (select one or more)":"Вишеструки избор (изаберите један или више)",Vote:"Гласај","{{number}} votes":"{{number}} гласова","Total votes":"Укупно гласова","Poll has ended":"Анкета је завршена","Poll ends at {{time}}":"Анкета се завршава у {{time}}","Load results":"Учитај резултате","This is a poll note.":"Ово је белешка са анкетом.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"За разлику од обичних белешки, анкете нису широко подржане и можда се неће приказати на другим клијентима.","Option {{number}}":"Опција {{number}}","Add Option":"Додај опцију","Allow multiple choices":"Дозволи вишеструки избор","End Date (optional)":"Датум завршетка (опционо)","Clear end date":"Обриши датум завршетка","Relay URLs (optional, comma-separated)":"URL адресе релеја (опционо, раздвојене зарезом)","Remove poll":"Уклони анкету","Refresh results":"Освежи резултате",Poll:"Анкета",Media:"Медија","Republish to ...":"Поново објави на ...","Successfully republish to your write relays":"Успешно поново објављено на ваше релеје за писање","Failed to republish to your write relays: {{error}}":"Неуспешно поновно објављивање на ваше релеје за писање: {{error}}","Successfully republish to relay set: {{name}}":"Успешно поново објављено на скуп релеја: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Неуспешно поновно објављивање на скуп релеја: {{name}}. Грешка: {{error}}","Successfully republish to relay: {{url}}":"Успешно поново објављено на релеј: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Неуспешно поновно објављивање на релеј: {{url}}. Грешка: {{error}}","Write relays":"Релеји за писање","No more reactions":"Нема више реакција","No reactions yet":"Још нема реакција","No more zaps":"Нема више запова","No zaps yet":"Још нема запова","No more reposts":"Нема више дељења","No reposts yet":"Још нема дељења",Reposts:"Дељења",FollowListNotFoundConfirmation:"Листа праћених није пронађена. Да ли желите да направите нову? Ако сте раније пратили кориснике, НЕМОЈТЕ потврдити јер ће ова операција довести до губитка претходне листе праћених.",MuteListNotFoundConfirmation:"Листа утишаних није пронађена. Да ли желите да направите нову? Ако сте раније утишавали кориснике, НЕМОЈТЕ потврдити јер ће ова операција довести до губитка претходне листе утишаних.","Show NSFW content by default":"Подразумевано приказуј NSFW садржај","Custom emoji management":"Управљање прилагођеним емоџијима","After changing emojis, you may need to refresh the page":"После промене емоџија, можда ћете морати да освежите страницу","Too many read relays":"Превише релеја за читање","Too many write relays":"Превише релеја за писање","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релеја за читање. Већина клијената користи само 2-4 релеја, подешавање више је непотребно.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релеја за писање. Већина клијената користи само 2-4 релеја, подешавање више је непотребно.","Optimize Relay Settings":"Оптимизуј подешавања релеја","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Тренутна конфигурација релеја можда није оптимална. Ово може отежати другима да пронађу ваше објаве и може довести до непотпуних обавештења.","Optimize Now":"Оптимизуј сада","Maybe Later":"Можда касније","Don't remind me again":"Не подсећај ме поново",Posts:"Објаве",Articles:"Чланци",Highlights:"Истицања",Polls:"Анкете","Voice Posts":"Гласовне објаве","Photo Posts":"Фото објаве","Video Posts":"Видео објаве","Select All":"Изабери све","Clear All":"Обриши све","Set as default filter":"Постави као подразумевани филтер",Apply:"Примени",Reset:"Ресетуј","Share something on this Relay":"Поделите нешто на овом релеју","Try deleting this note":"Покушај да обришеш ову белешку","Deletion request sent to {{count}} relays":"Захтев за брисање послат на {{count}} релеја","Suitable Relays":"Одговарајући релеји","People, keywords, or relays":"Људи, кључне речи или релеји","Hide content mentioning muted users":"Сакриј садржај који помиње утишане кориснике","This note mentions a user you muted":"Ова белешка помиње корисника кога сте утишали",Filter:"Филтер","mentioned you in a note":"вас је поменуо/ла у белешци","quoted your note":"цитирао/ла вашу белешку","voted in your poll":"гласао/ла у вашој анкети","reacted to your note":"реаговао/ла на вашу белешку","reposted your note":"поделио/ла вашу белешку","zapped your note":"запувао/ла вашу белешку","highlighted your note":"истакао/ла вашу белешку","zapped you":"запувао/ла вас","Mark as read":"Означи као прочитано",Report:"Пријави","Successfully report":"Успешно пријављено","Failed to report":"Пријављивање неуспешно",nudity:"Голотиња",malware:"Малвер",profanity:"Псовке",illegal:"Незаконит садржај",spam:"Спам",other:"Остало","Notification list style":"Стил листе обавештења","See extra info for each notification":"Видите додатне информације за свако обавештење","See more notifications at a glance":"Видите више обавештења на један поглед",Detailed:"Детаљно",Compact:"Компактно","Submit Relay":"Предложи релеј",Homepage:"Почетна страница","Proof of Work (difficulty {{minPow}})":"Доказ рада (тежина {{minPow}})","via {{client}}":"преко {{client}}","Auto-load media":"Аутоматско учитавање медија",Always:"Увек","Wi-Fi only":"Само на Wi-Fi",Never:"Никада","Click to load image":"Кликни за учитавање слике","Click to load media":"Кликни за учитавање медија","Click to load YouTube video":"Кликни за учитавање YouTube видеа","Click to load X post":"Кликни за учитавање X објаве","{{count}} reviews":"{{count}} рецензија","Write a review":"Напиши рецензију","No reviews yet. Be the first to write one!":"Још нема рецензија. Будите први који ће написати!","View more reviews":"Прикажи више рецензија","Failed to review":"Рецензија неуспешна","Write a review and pick a star rating":"Напишите рецензију и изаберите оцену",Submit:"Пошаљи","Reviews for {{relay}}":"Рецензије за {{relay}}","No relays selected":"Нису изабрани релеји","Post to":"Објави на","Write relays and {{count}} other relays":"Релеји за писање и {{count}} других релеја","{{count}} relays":"{{count}} релеја","Republishing...":"Поновно објављивање...","Connected to":"Повезан на","Disconnect Wallet":"Одспоји новчаник","Are you absolutely sure?":"Да ли сте потпуно сигурни?","You will not be able to send zaps to others.":"Нећете моћи да шаљете запове другима.",Disconnect:"Одспоји","Start with a Rizful Vault":"Почните са Rizful Vault","or other wallets":"или други новчаници","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault повезан!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Сада можете да користите свој Rizful Vault да запујете омиљене белешке и ауторе.","Your Lightning Address":"Ваша Lightning адреса","New to Rizful?":"Нови на Rizful?","Sign up for Rizful":"Региструјте се на Rizful","If you already have a Rizful account, you can skip this step.":"Ако већ имате Rizful налог, можете прескочити овај корак.","Get your one-time code":"Добијте ваш једнократни код","Get code":"Добиј код","Connect to your Rizful Vault":"Повежите се на ваш Rizful Vault","Paste your one-time code here":"Налепите ваш једнократни код овде",Connect:"Повежи","Connect Wallet":"Повежи новчаник","Set up your wallet to send and receive sats!":"Подесите новчаник за слање и примање сатошија!","Set up":"Подеси",Pinned:"Закачено",Unpin:"Откачи",Unpinning:"Откачивање","Pinning...":"Качење...","Pinned!":"Закачено!","Failed to pin: {{error}}":"Качење неуспешно: {{error}}","Unpinning...":"Откачивање...","Unpinned!":"Откачено!","Failed to unpin: {{error}}":"Откачивање неуспешно: {{error}}","Unpin from profile":"Откачи са профила","Pin to profile":"Закачи на профил",Appearance:"Изглед","Pure Black":"Потпуно црна",Default:"Подразумевано",Red:"Црвена",Orange:"Наранџаста",Amber:"Ћилибар",Yellow:"Жута",Lime:"Лимета",Green:"Зелена",Emerald:"Смарагдна",Teal:"Тиркизна",Cyan:"Цијан",Sky:"Небеска",Blue:"Плава",Indigo:"Индиго",Violet:"Љубичаста",Purple:"Пурпурна",Fuchsia:"Фуксија",Pink:"Розе",Rose:"Ружичаста","Primary color":"Примарна боја",Layout:"Распоред","Two-column":"Две колоне","Single-column":"Једна колона",Reviews:"Рецензије",Extension:"Екстензија",Remote:"Даљински","Encrypted Key":"Шифрован кључ","Private Key":"Приватни кључ","Welcome to Smesh":"Добродошли на Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh је клијент фокусиран на прегледање релеја. Почните истраживањем занимљивих релеја или се пријавите да видите фид праћених.","Explore Relays":"Истражи релеје","Choose a feed":"Изаберите фид","and {{x}} others":"и {{x}} других",selfZapWarning:"Smesh не одговара за последице самозаповања. Настављате на сопствену одговорност. 😉⚡","Emoji Pack":"Пакет емоџија","Emoji pack added":"Пакет емоџија додат","Add emoji pack failed":"Додавање пакета емоџија неуспешно","Emoji pack removed":"Пакет емоџија уклоњен","Remove emoji pack failed":"Уклањање пакета емоџија неуспешно",Added:"Додато","Emoji Packs":"Пакети емоџија","My Packs":"Моји пакети","Adding...":"Додавање...","Removing...":"Уклањање...",Reload:"Поново учитај","Request to Join Relay":"Захтев за приступ релеју","Leave Relay":"Напусти релеј",Leave:"Напусти","Are you sure you want to leave this relay?":"Да ли сте сигурни да желите да напустите овај релеј?","Join request sent successfully":"Захтев за приступ успешно послат","Failed to send join request":"Слање захтева за приступ неуспешно","Leave request sent successfully":"Захтев за напуштање успешно послат","Failed to send leave request":"Слање захтева за напуштање неуспешно","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Унесите позивни код ако га имате. У супротном, оставите празно да пошаљете захтев.","Invite Code (Optional)":"Позивни код (опционо)","Enter invite code":"Унесите позивни код","Sending...":"Слање...","Send Request":"Пошаљи захтев","You can get an invite code from a relay member.":"Позивни код можете добити од члана релеја.","Enter the invite code you received from a relay member.":"Унесите позивни код који сте добили од члана релеја.","Get Invite Code":"Добиј позивни код","Share this invite code with others to invite them to join this relay.":"Поделите овај позивни код са другима да их позовете да се придруже овом релеју.","Invite Code":"Позивни код",Copy:"Копирај","This invite code can be used by others to join the relay.":"Овај позивни код други могу користити да се придруже релеју.","No invite code available from this relay.":"Нема доступног позивног кода за овај релеј.",Close:"Затвори","Failed to get invite code from relay":"Добијање позивног кода са релеја неуспешно","Failed to get invite code":"Добијање позивног кода неуспешно","Invite code copied to clipboard":"Позивни код копиран у привремену меморију","Favicon URL":"URL фавикона","Filter out onion relays":"Филтрирај онион релеје","View Nostr comments":"Прикажи Nostr коментаре","Search for notes":"Претражи белешке","Search for hashtag":"Претражи хештег","Go to note":"Иди на белешку","Go to relay":"Иди на релеј","View discussions about this":"Прикажи дискусије о овоме","Open link":"Отвори линк","View Nostr discussions":"Прикажи Nostr дискусије","Optimal relays":"Оптимални релеји","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Успешно поново објављено на оптималне релеје (ваши релеји за писање и релеји за читање поменутих корисника)","Failed to republish to optimal relays: {{error}}":"Неуспешно поновно објављивање на оптималне релеје: {{error}}","External Content":"Спољашњи садржај",Highlight:"Истицање","Optimal relays and {{count}} other relays":"Оптимални релеји и {{count}} других релеја","Likely spam account (Trust score: {{percentile}}%)":"Вероватно спам налог (Оцена поверења: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Сумњив налог (Оцена поверења: {{percentile}}%)","n users":"{{count}} корисника","n users_one":"{{count}} корисник","n users_other":"{{count}} корисника","View Details":"Прикажи детаље","Follow Pack Not Found":"Пакет праћених није пронађен","Follow pack not found":"Пакет праћених није пронађен",Users:"Корисници",Feed:"Фид","Follow Pack":"Пакет праћених","Load earlier":"Учитај раније","Last 24 hours":"Последња 24 сата","Last {{count}} days":"Последњих {{count}} дана",notes:"белешке","Quick reaction":"Брза реакција","If enabled, you can react with a single click. Click and hold for more options":"Ако је укључено, можете реаговати једним кликом. Кликните и држите за више опција","Quick reaction emoji":"Емоџи за брзу реакцију","Select emoji":"Изаберите емоџи","NSFW content display":"Приказ NSFW садржаја","Hide completely":"Потпуно сакриј","Show but hide content":"Прикажи али сакриј садржај","Show directly":"Прикажи директно","Click to view":"Кликни за приказ","Special Follow":"Посебно праћење","Unfollow Special":"Отпрати посебно","Personal Feeds":"Лични фидови","Relay Feeds":"Фидови релеја","Create Highlight":"Направи истицање","Write your thoughts about this highlight...":"Напишите своје мисли о овом истицању...","Publish Highlight":"Објави истицање","Show replies":"Прикажи одговоре","Hide replies":"Сакриј одговоре","Welcome to Smesh!":"Добродошли на Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Ваш фид је празан јер још не пратите никога. Почните истраживањем занимљивог садржаја и праћењем корисника који вам се допадају!","Search Users":"Претражи кориснике","Create New Account":"Направи нови налог",Important:"Важно","Generate Your Account":"Генериши свој налог","Your private key IS your account. Keep it safe!":"Ваш приватни кључ ЈЕСТЕ ваш налог. Чувајте га на сигурном!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"У Nostr мрежи, ваш приватни кључ ЈЕСТЕ ваш налог. Ако изгубите приватни кључ, заувек губите налог.","Your Private Key":"Ваш приватни кључ","Generate new key":"Генериши нови кључ","Download Backup File":"Преузми резервну копију","Copied to Clipboard":"Копирано у привремену меморију","Copy to Clipboard":"Копирај у привремену меморију","I already saved my private key securely.":"Већ сам безбедно сачувао/ла свој приватни кључ.","Almost Done!":"Скоро готово!","Set a password to encrypt your key, or skip to finish":"Подесите лозинку за шифровање кључа, или прескочите да завршите","Password Protection (Optional)":"Заштита лозинком (опционо)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Подешавање лозинке шифрује ваш приватни кључ у овом прегледачу. Можете прескочити овај корак, али препоручујемо да подесите лозинку за додатну безбедност.","Password (Optional)":"Лозинка (опционо)","Enter password or leave empty to skip":"Унесите лозинку или оставите празно да прескочите","Confirm Password":"Потврдите лозинку","Re-enter password":"Поново унесите лозинку","Passwords do not match":"Лозинке се не подударају","Finish Signup":"Заврши регистрацију","Create Your Nostr Account":"Направите свој Nostr налог","Generate your unique private key. This is your digital identity.":"Генеришите свој јединствени приватни кључ. Ово је ваш дигитални идентитет.","Critical: Save Your Private Key":"Критично: Сачувајте свој приватни кључ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Ваш приватни кључ ЈЕСТЕ ваш налог. Не постоји опоравак лозинке. Ако га изгубите, заувек губите налог. Сачувајте га на безбедном месту.","I have safely backed up my private key":"Безбедно сам направио/ла резервну копију свог приватног кључа","Secure Your Account":"Обезбедите свој налог","Add an extra layer of protection with a password":"Додајте додатни ниво заштите лозинком","Password Protection (Recommended)":"Заштита лозинком (препоручено)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Додајте лозинку за шифровање приватног кључа у овом прегледачу. Ово је опционо, али се снажно препоручује за бољу безбедност.","Create a password (or skip)":"Направите лозинку (или прескочите)","Enter your password again":"Поново унесите лозинку","Complete Signup":"Заврши регистрацију",Recommended:"Препоручено"}},Jbe={translation:{"Welcome! 🥳":"ยินดีต้อนรับ! 🥳",About:"เกี่ยวกับ","New Note":"โน้ตใหม่",Post:"โพสต์",Home:"หน้าหลัก","Relay settings":"การตั้งค่ารีเลย์",Settings:"การตั้งค่า",SidebarRelays:"รีเลย์",Refresh:"รีเฟรช",Profile:"โปรไฟล์",Logout:"ออกจากระบบ",Following:"กำลังติดตาม",followings:"กำลังติดตาม",reposted:"รีโพสต์","just now":"เมื่อสักครู่","minute ago_one":"{{count}} นาทีที่แล้ว","minute ago_other":"{{count}} นาทีที่แล้ว","n m":"{{n}}น","hour ago_one":"{{count}} ชั่วโมงที่แล้ว","hour ago_other":"{{count}} ชั่วโมงที่แล้ว","n h":"{{n}}ชม","day ago_one":"{{count}} วันที่แล้ว","day ago_other":"{{count}} วันที่แล้ว","n d":"{{n}}วัน",date:"{{timestamp, date}}",Follow:"ติดตาม",Unfollow:"เลิกติดตาม","Follow failed":"ติดตามไม่สำเร็จ","Unfollow failed":"เลิกติดตามไม่สำเร็จ","show new notes":"แสดงโน้ตใหม่","loading...":"กำลังโหลด...","Loading...":"กำลังโหลด...","no more notes":"ไม่มีโน้ตเพิ่มเติม","reply to":"ตอบกลับถึง",reply:"ตอบกลับ",Reply:"ตอบกลับ","load more older replies":"โหลดการตอบกลับเพิ่มเติม","Write something...":"เขียนอะไรบางอย่าง...",Cancel:"ยกเลิก",Mentions:"การกล่าวถึง","Failed to post":"โพสต์ไม่สำเร็จ","Post successful":"โพสต์สำเร็จ","Your post has been published":"โพสต์ของคุณถูกเผยแพร่แล้ว",Repost:"รีโพสต์",Quote:"อ้างอิง","Copy event ID":"คัดลอก ID เหตุการณ์","Copy user ID":"คัดลอก ID ผู้ใช้","View raw event":"ดูเหตุการณ์ดิบ",Like:"ถูกใจ","switch to light theme":"เปลี่ยนเป็นธีมสว่าง","switch to dark theme":"เปลี่ยนเป็นธีมมืด","switch to system theme":"เปลี่ยนเป็นธีมระบบ",Note:"โน้ต",note:"โน้ต","username's following":"ผู้ที่ {{username}} กำลังติดตาม","username's used relays":"รีเลย์ที่ {{username}} ใช้งาน","username's muted":"ผู้ที่ {{username}} ปิดเสียง",Login:"เข้าสู่ระบบ","Follows you":"ติดตามคุณ","Relay Settings":"การตั้งค่ารีเลย์","Relay set name":"ชื่อชุดรีเลย์","Add a new relay set":"เพิ่มชุดรีเลย์ใหม่",Add:"เพิ่ม","n relays":"{{n}} รีเลย์",Rename:"เปลี่ยนชื่อ","Copy share link":"คัดลอกลิงก์แชร์",Delete:"ลบ","Relay already exists":"รีเลย์มีอยู่แล้ว","invalid relay URL":"URL รีเลย์ไม่ถูกต้อง","Add a new relay":"เพิ่มรีเลย์ใหม่",back:"ย้อนกลับ","Lost in the void":"หลงอยู่ในความว่างเปล่า","Carry me home":"พาฉันกลับบ้าน","no replies":"ไม่มีการตอบกลับ","Reply to":"ตอบกลับถึง",Search:"ค้นหา","The relays you are connected to do not support search":"รีเลย์ที่คุณเชื่อมต่อไม่รองรับการค้นหา","Show more...":"แสดงเพิ่มเติม...","All users":"ผู้ใช้ทั้งหมด","Display replies":"แสดงการตอบกลับ",Notes:"โน้ต",Replies:"การตอบกลับ",Notifications:"การแจ้งเตือน","no more notifications":"ไม่มีการแจ้งเตือนเพิ่มเติม","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"การเข้าสู่ระบบด้วยคีย์ส่วนตัวไม่ปลอดภัย แนะนำให้ใช้ส่วนขยายเบราว์เซอร์สำหรับการเข้าสู่ระบบ เช่น alby, nostr-keyx หรือ nos2x หากคุณต้องใช้คีย์ส่วนตัว โปรดตั้งรหัสผ่านเพื่อเข้ารหัสอย่างน้อย","Login with Browser Extension":"เข้าสู่ระบบด้วยส่วนขยายเบราว์เซอร์","Login with Bunker":"เข้าสู่ระบบด้วย Bunker","Login with Private Key":"เข้าสู่ระบบด้วยคีย์ส่วนตัว","reload notes":"โหลดโน้ตใหม่","Logged in Accounts":"บัญชีที่เข้าสู่ระบบ","Add an Account":"เพิ่มบัญชี","More options":"ตัวเลือกเพิ่มเติม","Add client tag":"เพิ่มแท็กไคลเอนต์","Show others this was sent via Smesh":"แสดงให้ผู้อื่นเห็นว่าส่งผ่าน Smesh","Are you sure you want to logout?":"คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?","relay sets":"ชุดรีเลย์",edit:"แก้ไข",Languages:"ภาษา",Theme:"ธีม",System:"ระบบ",Light:"สว่าง",Dark:"มืด",Temporary:"ชั่วคราว","Choose a relay set":"เลือกชุดรีเลย์","Switch account":"สลับบัญชี",Pictures:"รูปภาพ","Picture note":"โน้ตรูปภาพ","A special note for picture-first clients like Olas":"หมายเหตุพิเศษสำหรับไคลเอนต์ที่เน้นรูปภาพเช่น Olas","Picture note requires images":"โน้ตรูปภาพต้องมีรูปภาพ",Relays:"รีเลย์",Image:"รูปภาพ","R & W":"อ่าน & เขียน",Read:"อ่าน",Write:"เขียน","Pull relay sets":"ดึงชุดรีเลย์","Select the relay sets you want to pull":"เลือกชุดรีเลย์ที่ต้องการดึง","No relay sets found":"ไม่พบชุดรีเลย์","Pull n relay sets":"ดึงชุดรีเลย์ {{n}} ชุด",Pull:"ดึง","Select all":"เลือกทั้งหมด","Relay Sets":"ชุดรีเลย์","Read & Write Relays":"รีเลย์อ่านและเขียน","read relays description":"รีเลย์อ่านใช้สำหรับค้นหาเหตุการณ์เกี่ยวกับคุณ ผู้ใช้อื่นจะเผยแพร่เหตุการณ์ที่ต้องการให้คุณเห็นไปยังรีเลย์อ่านของคุณ","write relays description":"รีเลย์เขียนใช้สำหรับเผยแพร่เหตุการณ์ของคุณ ผู้ใช้อื่นจะค้นหาเหตุการณ์ของคุณจากรีเลย์เขียนของคุณ","read & write relays notice":"จำนวนเซิร์ฟเวอร์อ่านและเขียนควรอยู่ระหว่าง 2 ถึง 4","Don't have an account yet?":"ยังไม่มีบัญชี?","or simply generate a private key":"หรือสร้างคีย์ส่วนตัว","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"นี่คือคีย์ส่วนตัว อย่าแบ่งปันกับใคร เก็บไว้ให้ปลอดภัย หากสูญหายจะไม่สามารถกู้คืนได้",Edit:"แก้ไข",Save:"บันทึก","Display Name":"ชื่อที่แสดง",Bio:"ประวัติ","Nostr Address (NIP-05)":"ที่อยู่ Nostr (NIP-05)","Invalid NIP-05 address":"ที่อยู่ NIP-05 ไม่ถูกต้อง","Copy private key":"คัดลอกคีย์ส่วนตัว","Enter the password to decrypt your ncryptsec":"กรอกรหัสผ่านเพื่อถอดรหัส ncryptsec ของคุณ",Back:"ย้อนกลับ","optional: encrypt nsec":"ตัวเลือก: เข้ารหัส nsec",password:"รหัสผ่าน","Sign up":"สมัครสมาชิก","Save to":"บันทึกไปที่","Enter a name for the new relay set":"กรอกชื่อชุดรีเลย์ใหม่","Save to a new relay set":"บันทึกไปยังชุดรีเลย์ใหม่",Mute:"ปิดเสียง",Muted:"ปิดเสียงแล้ว",Unmute:"ยกเลิกปิดเสียง","Unmute user":"ยกเลิกปิดเสียงผู้ใช้","Append n relays":"เพิ่มรีเลย์ {{n}}",Append:"เพิ่ม","Select relays to append":"เลือกรีเลย์ที่จะเพิ่ม","calculating...":"กำลังคำนวณ...","Calculate optimal read relays":"คำนวณรีเลย์อ่านที่เหมาะสม","Login to set":"เข้าสู่ระบบเพื่อกำหนด","Please login to view following feed":"กรุณาเข้าสู่ระบบเพื่อดูฟีดที่ติดตาม","Send only to r":"ส่งเฉพาะไปยัง {{r}}","Send only to these relays":"ส่งเฉพาะไปยังรีเลย์เหล่านี้",Explore:"สำรวจ","Search relays":"ค้นหารีเลย์",relayInfoBadgeAuth:"ยืนยันตัวตน",relayInfoBadgeSearch:"ค้นหา",relayInfoBadgePayment:"ชำระเงิน",Operator:"ผู้ดำเนินการ",Contact:"ติดต่อ",Software:"ซอฟต์แวร์",Version:"เวอร์ชัน","Random Relays":"รีเลย์สุ่ม",randomRelaysRefresh:"รีเฟรช","Explore more":"สำรวจเพิ่มเติม","Payment page":"หน้าชำระเงิน","Supported NIPs":"NIP ที่รองรับ","Open in a":"เปิดใน {{a}}","Cannot handle event of kind k":"ไม่สามารถจัดการเหตุการณ์ประเภท {{k}}","Sorry! The note cannot be found 😔":"ขออภัย! ไม่พบโน้ต 😔","This user has been muted":"ผู้ใช้นี้ถูกปิดเสียง",Wallet:"กระเป๋าสตางค์",Sats:"ซาตส์",sats:"ซาตส์","Zap to":"ส่งซาตส์ไปยัง","Zap n sats":"ส่ง {{n}} ซาตส์",zapComment:"ความคิดเห็น","Default zap amount":"จำนวนซาตส์เริ่มต้น","Default zap comment":"ความคิดเห็นเริ่มต้น","Lightning Address (or LNURL)":"ที่อยู่ Lightning (หรือ LNURL)","Quick zap":"ส่งซาตส์ด่วน","If enabled, you can zap with a single click. Click and hold for custom amounts":"หากเปิดใช้งาน คุณสามารถส่งซาตส์ด้วยคลิกเดียว กดค้างเพื่อกำหนดจำนวนเอง",All:"ทั้งหมด",Reactions:"ปฏิกิริยา",Zaps:"ซาตส์","Earlier notifications":"การแจ้งเตือนก่อนหน้า","Temporarily display this note":"แสดงโน้ตนี้ชั่วคราว",buttonFollowing:"กำลังติดตาม","Are you sure you want to unfollow this user?":"คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตามผู้ใช้นี้?","Recent Supporters":"ผู้สนับสนุนล่าสุด","Seen on":"เห็นเมื่อ","Temporarily display this reply":"แสดงการตอบกลับนี้ชั่วคราว","Note not found":"ไม่พบโน้ต","no more replies":"ไม่มีการตอบกลับเพิ่มเติม","Relay sets":"ชุดรีเลย์","Favorite Relays":"รีเลย์โปรด","Following's Favorites":"รายการโปรดของผู้ที่ติดตาม","no more relays":"ไม่มีรีเลย์เพิ่มเติม","Favorited by":"ถูกเพิ่มเป็นรายการโปรดโดย","Post settings":"การตั้งค่าโพสต์","Media upload service":"บริการอัปโหลดสื่อ","Choose a relay":"เลือกรีเลย์","no relays found":"ไม่พบรีเลย์",video:"วิดีโอ","Show n new notes":"แสดงโน้ตใหม่ {{n}} รายการ",YouTabName:"คุณ",Bookmark:"บุ๊กมาร์ก","Remove bookmark":"ลบบุ๊กมาร์ก","no bookmarks found":"ไม่พบบุ๊กมาร์ก","no more bookmarks":"ไม่มีบุ๊กมาร์กเพิ่มเติม",Bookmarks:"บุ๊กมาร์ก","Show more":"แสดงเพิ่มเติม",General:"ทั่วไป",Autoplay:"เล่นอัตโนมัติ","Enable video autoplay on this device":"เปิดใช้งานเล่นวิดีโออัตโนมัติบนอุปกรณ์นี้","Paste or drop media files to upload":"วางหรือหย่อนไฟล์สื่อเพื่ออัปโหลด",Preview:"ดูตัวอย่าง","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"คุณกำลังจะเผยแพร่เหตุการณ์ที่ลงนามโดย [{{eventAuthorName}}] ขณะนี้คุณเข้าสู่ระบบเป็น [{{currentUsername}}] คุณแน่ใจหรือไม่?","Platinum Sponsors":"ผู้สนับสนุนระดับแพลตินัม",From:"จาก","Comment on":"แสดงความคิดเห็นใน","View on njump.me":"ดูบน njump.me","Hide content from untrusted users":"ซ่อนเนื้อหาจากผู้ใช้ที่ไม่น่าเชื่อถือ","Only show content from your followed users and the users they follow":"แสดงเฉพาะเนื้อหาจากผู้ใช้ที่คุณติดตามและผู้ใช้ที่พวกเขาติดตาม","Followed by":"ติดตามโดย","Mute user privately":"ปิดเสียงผู้ใช้แบบส่วนตัว","Mute user publicly":"ปิดเสียงผู้ใช้แบบสาธารณะ",Quotes:"คำพูด","Lightning Invoice":"ใบแจ้งหนี้ Lightning","Bookmark failed":"บุ๊กมาร์กไม่สำเร็จ","Remove bookmark failed":"ลบบุ๊กมาร์กไม่สำเร็จ",Translation:"การแปล",Balance:"ยอดคงเหลือ",characters:"ตัวอักษร",smeshTranslateApiKeyDescription:"คุณสามารถใช้ API key นี้กับที่อื่นที่รองรับ LibreTranslate ที่อยู่บริการคือ {{serviceUrl}}","Top up":"เติมเงิน","Will receive: {n} characters":"จะได้รับ: {{n}} ตัวอักษร","Top up {n} sats":"เติมเงิน {{n}} ซาตส์","Minimum top up is {n} sats":"เติมเงินขั้นต่ำ {{n}} ซาตส์",Service:"บริการ","Reset API key":"รีเซ็ต API key","Are you sure you want to reset your API key? This action cannot be undone.":"คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ต API key? การกระทำนี้ไม่สามารถย้อนกลับได้",Warning:"คำเตือน","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"API key ปัจจุบันของคุณจะใช้ไม่ได้ทันที และแอปพลิเคชันที่ใช้งานจะหยุดทำงานจนกว่าคุณจะอัปเดตด้วยคีย์ใหม่","Service address":"ที่อยู่บริการ",Pay:"ชำระเงิน",interactions:"การโต้ตอบ",notifications:"การแจ้งเตือน","Show untrusted {type}":"แสดง {{type}} ที่ไม่น่าเชื่อถือ","Hide untrusted {type}":"ซ่อน {{type}} ที่ไม่น่าเชื่อถือ","Currently hiding {type} from untrusted users.":"ขณะนี้กำลังซ่อน {{type}} จากผู้ใช้ที่ไม่น่าเชื่อถือ","Currently showing all {type}.":"ขณะนี้แสดง {{type}} ทั้งหมด","Click continue to show all {type}.":"คลิกดำเนินการต่อเพื่อแสดง {{type}} ทั้งหมด","Click continue to hide {type} from untrusted users.":"คลิกดำเนินการต่อเพื่อซ่อน {{type}} จากผู้ใช้ที่ไม่น่าเชื่อถือ","Trusted users include people you follow and people they follow.":"ผู้ใช้ที่เชื่อถือได้รวมถึงผู้ที่คุณติดตามและผู้ที่พวกเขาติดตาม",Continue:"ดำเนินการต่อ","Successfully updated mute list":"อัปเดตรายการปิดเสียงสำเร็จ","No pubkeys found from {url}":"ไม่พบ pubkeys จาก {{url}}","Translating...":"กำลังแปล...",Translate:"แปล","Show original":"แสดงต้นฉบับ",Website:"เว็บไซต์","Hide untrusted notes":"ซ่อนโน้ตที่ไม่น่าเชื่อถือ","Open in another client":"เปิดในไคลเอนต์อื่น",Community:"ชุมชน",Group:"กลุ่ม","Live event":"เหตุการณ์สด",Article:"บทความ",Unfavorite:"เลิกชื่นชอบ","Recommended relays":"รีเลย์ที่แนะนำ","Blossom server URLs":"URL ของเซิร์ฟเวอร์ Blossom","You need to add at least one blossom server in order to upload media files.":"คุณต้องเพิ่มเซิร์ฟเวอร์ Blossom อย่างน้อยหนึ่งตัวเพื่ออัปโหลดไฟล์สื่อ","Recommended blossom servers":"เซิร์ฟเวอร์ Blossom ที่แนะนำ","Enter Blossom server URL":"ป้อน URL ของเซิร์ฟเวอร์ Blossom",Preferred:"ที่ชื่นชอบ","Multiple choice (select one or more)":"ตัวเลือกหลายรายการ (เลือกหนึ่งหรือมากกว่า)",Vote:"โหวต","{{number}} votes":"{{number}} คะแนน","Total votes":"คะแนนรวม","Poll has ended":"การโพลล์สิ้นสุดแล้ว","Poll ends at {{time}}":"การโพลล์สิ้นสุดเวลา {{time}}","Load results":"โหลดผลลัพธ์","This is a poll note.":"นี่คือโน้ตโพลล์","Unlike regular notes, polls are not widely supported and may not display on other clients.":"ไม่เหมือนโน้ตธรรมดา โพลล์ไม่ได้รับการสนับสนุนอย่างแพร่หลายและอาจไม่แสดงในไคลเอนต์อื่น","Option {{number}}":"ตัวเลือก {{number}}","Add Option":"เพิ่มตัวเลือก","Allow multiple choices":"อนุญาตให้เลือกหลายรายการ","End Date (optional)":"วันที่สิ้นสุด (ไม่บังคับ)","Clear end date":"ล้างวันที่สิ้นสุด","Relay URLs (optional, comma-separated)":"URL รีเลย์ (ไม่บังคับ, คั่นด้วยจุลภาค)","Remove poll":"ลบโพลล์","Refresh results":"รีเฟรชผลลัพธ์",Poll:"โพลล์",Media:"สื่อ","Republish to ...":"เผยแพร่ซ้ำไปยัง ...","Successfully republish to your write relays":"Successfully republish to your write relays","Failed to republish to your write relays: {{error}}":"Failed to republish to your write relays: {{error}}","Successfully republish to relay set: {{name}}":"Successfully republish to relay set: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Failed to republish to relay set: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Successfully republish to relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Failed to republish to relay: {{url}}. Error: {{error}}","Write relays":"รีเลย์การเขียน","No more reactions":"ไม่มีปฏิกิริยาเพิ่มเติม","No reactions yet":"ยังไม่มีปฏิกิริยา","No more zaps":"ไม่มีซาตส์เพิ่มเติม","No zaps yet":"ยังไม่มีซาตส์","No more reposts":"ไม่มีการรีโพสต์เพิ่มเติม","No reposts yet":"ยังไม่มีการรีโพสต์",Reposts:"การรีโพสต์",FollowListNotFoundConfirmation:"ไม่พบรายการติดตาม คุณต้องการสร้างรายการใหม่หรือไม่? หากคุณเคยติดตามผู้ใช้มาก่อน กรุณาอย่ายืนยัน เพราะการดำเนินการนี้จะทำให้คุณสูญเสียรายการติดตามก่อนหน้านี้",MuteListNotFoundConfirmation:"ไม่พบรายการปิดเสียง คุณต้องการสร้างรายการใหม่หรือไม่? หากคุณเคยปิดเสียงผู้ใช้มาก่อน กรุณาอย่ายืนยัน เพราะการดำเนินการนี้จะทำให้คุณสูญเสียรายการปิดเสียงก่อนหน้านี้","Show NSFW content by default":"แสดงเนื้อหา NSFW โดยค่าเริ่มต้น","Custom emoji management":"จัดการอีโมจิที่กำหนดเอง","After changing emojis, you may need to refresh the page":"หลังจากเปลี่ยนอีโมจิแล้ว คุณอาจต้องรีเฟรชหน้า","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"ปรับแต่งการตั้งค่า Relay ให้เหมาะสม","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"การตั้งค่า relay ปัจจุบันของคุณอาจไม่เหมาะสม อาจทำให้คนอื่นหาโพสต์ของคุณได้ยากและอาจส่งผลให้การแจ้งเตือนไม่สมบูรณ์","Optimize Now":"ปรับแต่งตอนนี้","Maybe Later":"ทีหลังค่อยว่า","Don't remind me again":"ไม่ต้องเตือนอีก",Posts:"โพสต์",Articles:"บทความ",Highlights:"ไฮไลต์",Polls:"โพล","Voice Posts":"โพสต์เสียง","Photo Posts":"โพสต์รูปภาพ","Video Posts":"โพสต์วิดีโอ","Select All":"เลือกทั้งหมด","Clear All":"ล้างทั้งหมด","Set as default filter":"ตั้งเป็นตัวกรองเริ่มต้น",Apply:"ใช้",Reset:"รีเซ็ต","Share something on this Relay":"แชร์บางอย่างบนรีเลย์นี้","Try deleting this note":"ลองลบโน้ตนี้ดู","Deletion request sent to {{count}} relays":"คำขอลบถูกส่งไปยังรีเลย์ {{count}} รายการ","Suitable Relays":"รีเลย์ที่เหมาะสม","People, keywords, or relays":"ผู้คน คีย์เวิร์ด หรือรีเลย์","Hide content mentioning muted users":"ซ่อนเนื้อหาที่กล่าวถึงผู้ใช้ที่ปิดเสียง","This note mentions a user you muted":"โน้ตนี้กล่าวถึงผู้ใช้ที่คุณปิดเสียง",Filter:"ตัวกรอง","mentioned you in a note":"ได้กล่าวถึงคุณในโน้ต","quoted your note":"ได้ยกคำพูดจากโน้ตของคุณ","voted in your poll":"ได้โหวตในการสำรวจของคุณ","reacted to your note":"ได้แสดงปฏิกิริยาต่อโน้ตของคุณ","reposted your note":"ได้รีโพสต์โน้ตของคุณ","zapped your note":"ได้แซปโน้ตของคุณ","highlighted your note":"ได้ไฮไลต์โน้ตของคุณ","zapped you":"ได้แซปคุณ","Mark as read":"ทำเครื่องหมายว่าอ่านแล้ว",Report:"รายงาน","Successfully report":"รายงานสำเร็จ","Failed to report":"การรายงานล้มเหลว",nudity:"ภาพลามก",malware:"มัลแวร์",profanity:"คำหยาบคาย",illegal:"เนื้อหาผิดกฎหมาย",spam:"สแปม",other:"อื่นๆ","Notification list style":"รูปแบบรายการการแจ้งเตือน","See extra info for each notification":"ดูข้อมูลเพิ่มเติมสำหรับการแจ้งเตือนแต่ละรายการ","See more notifications at a glance":"ดูการแจ้งเตือนเพิ่มเติมในแวบเดียว",Detailed:"รายละเอียด",Compact:"กะทัดรัด","Submit Relay":"ส่งรีเลย์",Homepage:"หน้าแรก","Proof of Work (difficulty {{minPow}})":"หลักฐานการทำงาน (ความยาก {{minPow}})","via {{client}}":"ผ่าน {{client}}","Auto-load media":"โหลดสื่ออัตโนมัติ",Always:"เสมอ","Wi-Fi only":"Wi-Fi เท่านั้น",Never:"ไม่เลย","Click to load image":"คลิกเพื่อโหลดรูปภาพ","Click to load media":"คลิกเพื่อโหลดสื่อ","Click to load YouTube video":"คลิกเพื่อโหลดวิดีโอ YouTube","{{count}} reviews":"{{count}} รีวิว","Write a review":"เขียนรีวิว","No reviews yet. Be the first to write one!":"ยังไม่มีรีวิว เป็นคนแรกที่เขียนรีวิวสิ!","View more reviews":"ดูรีวิวเพิ่มเติม","Failed to review":"รีวิวล้มเหลว","Write a review and pick a star rating":"เขียนรีวิวและเลือกคะแนนดาว",Submit:"ส่ง","Reviews for {{relay}}":"รีวิวสำหรับ {{relay}}","No relays selected":"ไม่ได้เลือกรีเลย์","Post to":"โพสต์ไปยัง","Write relays and {{count}} other relays":"รีเลย์เขียนและรีเลย์อื่น ๆ {{count}} ตัว","{{count}} relays":"รีเลย์ {{count}} ตัว","Republishing...":"กำลังเผยแพร่ซ้ำ...","Connected to":"เชื่อมต่อกับ","Disconnect Wallet":"ตัดการเชื่อมต่อกระเป๋าสตางค์","Are you absolutely sure?":"คุณแน่ใจอย่างยิ่งหรือไม่?","You will not be able to send zaps to others.":"คุณจะไม่สามารถส่งซาตส์ไปยังผู้อื่นได้",Disconnect:"ตัดการเชื่อมต่อ","Start with a Rizful Vault":"เริ่มต้นด้วย Rizful Vault","or other wallets":"หรือกระเป๋าสตางค์อื่นๆ","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault เชื่อมต่อแล้ว!","You can now use your Rizful Vault to zap your favorite notes and creators.":"คุณสามารถใช้ Rizful Vault ของคุณเพื่อส่งซาตส์ไปยังโน้ตและผู้สร้างที่คุณชื่นชอบได้แล้ว","Your Lightning Address":"ที่อยู่ Lightning ของคุณ","New to Rizful?":"ใหม่กับ Rizful?","Sign up for Rizful":"สมัครสมาชิก Rizful","If you already have a Rizful account, you can skip this step.":"หากคุณมีบัญชี Rizful อยู่แล้ว คุณสามารถข้ามขั้นตอนนี้ได้","Get your one-time code":"รับรหัสใช้ครั้งเดียวของคุณ","Get code":"รับรหัส","Connect to your Rizful Vault":"เชื่อมต่อกับ Rizful Vault ของคุณ","Paste your one-time code here":"วางรหัสใช้ครั้งเดียวของคุณที่นี่",Connect:"เชื่อมต่อ","Set up your wallet to send and receive sats!":"ตั้งค่ากระเป๋าของคุณเพื่อส่งและรับ sats!","Set up":"ตั้งค่า",Pinned:"ปักหมุดแล้ว",Unpin:"ยกเลิกปักหมุด",Unpinning:"กำลังยกเลิกปักหมุด","Pinning...":"กำลังปักหมุด...","Pinned!":"ปักหมุดแล้ว!","Failed to pin: {{error}}":"ไม่สามารถปักหมุดได้: {{error}}","Unpinning...":"กำลังยกเลิกปักหมุด...","Unpinned!":"ยกเลิกปักหมุดแล้ว!","Failed to unpin: {{error}}":"ไม่สามารถยกเลิกปักหมุดได้: {{error}}","Unpin from profile":"ยกเลิกปักหมุดจากโปรไฟล์","Pin to profile":"ปักหมุดไปที่โปรไฟล์",Appearance:"รูปลักษณ์","Pure Black":"สีดำล้วน",Default:"ค่าเริ่มต้น",Red:"แดง",Orange:"ส้ม",Amber:"อำพัน",Yellow:"เหลือง",Lime:"มะนาว",Green:"เขียว",Emerald:"มรกต",Teal:"ฟ้าเขียว",Cyan:"ฟ้าน้ำทะเล",Sky:"ฟ้า",Blue:"น้ำเงิน",Indigo:"คราม",Violet:"ม่วงอ่อน",Purple:"ม่วง",Fuchsia:"บานเย็น",Pink:"ชมพู",Rose:"กุหลาบ","Primary color":"สีหลัก",Layout:"เค้าโครง","Two-column":"สองคอลัมน์","Single-column":"คอลัมน์เดียว",Reviews:"รีวิว",Extension:"ส่วนขยาย",Remote:"ระยะไกล","Encrypted Key":"คีย์ที่เข้ารหัส","Private Key":"คีย์ส่วนตัว","Welcome to Smesh":"ยินดีต้อนรับสู่ Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh เป็นไคลเอนต์ที่เน้นการเรียกดูรีเลย์ เริ่มต้นด้วยการสำรวจรีเลย์ที่น่าสนใจ หรือเข้าสู่ระบบเพื่อดูฟีดที่คุณติดตาม","Explore Relays":"สำรวจรีเลย์","Choose a feed":"เลือกฟีด","and {{x}} others":"และอื่น ๆ {{x}} รายการ",selfZapWarning:"Smesh ไม่รับผิดชอบต่อสิ่งที่เกิดขึ้นหากคุณ zap ตัวเอง ดำเนินการด้วยความเสี่ยงของคุณเอง 😉⚡","Emoji Pack":"แพ็คอีโมจิ","Emoji pack added":"เพิ่มแพ็คอีโมจิแล้ว","Add emoji pack failed":"การเพิ่มแพ็คอีโมจิล้มเหลว","Emoji pack removed":"ลบแพ็คอีโมจิแล้ว","Remove emoji pack failed":"การลบแพ็คอีโมจิล้มเหลว",Added:"เพิ่มแล้ว","Emoji Packs":"แพ็คอีโมจิ","My Packs":"แพ็คของฉัน","Adding...":"กำลังเพิ่ม...","Removing...":"กำลังลบ...",Reload:"โหลดใหม่","Request to Join Relay":"ขอเข้าร่วมรีเลย์","Leave Relay":"ออกจากรีเลย์",Leave:"ออก","Are you sure you want to leave this relay?":"คุณแน่ใจหรือไม่ว่าต้องการออกจากรีเลย์นี้?","Join request sent successfully":"ส่งคำขอเข้าร่วมสำเร็จแล้ว","Failed to send join request":"การส่งคำขอเข้าร่วมล้มเหลว","Leave request sent successfully":"ส่งคำขอออกสำเร็จแล้ว","Failed to send leave request":"การส่งคำขอออกล้มเหลว","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"ป้อนรหัสเชิญหากคุณมี มิฉะนั้นให้เว้นว่างไว้เพื่อส่งคำขอ","Invite Code (Optional)":"รหัสเชิญ (ไม่บังคับ)","Enter invite code":"ป้อนรหัสเชิญ","Sending...":"กำลังส่ง...","Send Request":"ส่งคำขอ","You can get an invite code from a relay member.":"คุณสามารถรับรหัสเชิญจากสมาชิกรีเลย์","Enter the invite code you received from a relay member.":"ป้อนรหัสเชิญที่คุณได้รับจากสมาชิกรีเลย์","Get Invite Code":"รับรหัสเชิญ","Share this invite code with others to invite them to join this relay.":"แชร์รหัสเชิญนี้กับผู้อื่นเพื่อเชิญพวกเขาเข้าร่วมรีเลย์นี้","Invite Code":"รหัสเชิญ",Copy:"คัดลอก","This invite code can be used by others to join the relay.":"รหัสเชิญนี้สามารถใช้โดยผู้อื่นเพื่อเข้าร่วมรีเลย์","No invite code available from this relay.":"ไม่มีรหัสเชิญที่ใช้ได้จากรีเลย์นี้",Close:"ปิด","Failed to get invite code from relay":"ไม่สามารถรับรหัสเชิญจากรีเลย์","Failed to get invite code":"ไม่สามารถรับรหัสเชิญ","Invite code copied to clipboard":"คัดลอกรหัสเชิญไปยังคลิปบอร์ดแล้ว","Favicon URL":"URL ไอคอน","Filter out onion relays":"กรองรีเลย์ onion","Click to load X post":"คลิกเพื่อโหลดโพสต์ X","View Nostr comments":"ดูความคิดเห็น Nostr","Search for notes":"ค้นหาโน้ต","Search for hashtag":"ค้นหาแฮชแท็ก","Go to note":"ไปที่โน้ต","Go to relay":"ไปที่รีเลย์","View discussions about this":"ดูการสนทนาเกี่ยวกับเนื้อหานี้","Open link":"เปิดลิงก์","View Nostr discussions":"ดูการสนทนา Nostr","Optimal relays":"รีเลย์ที่เหมาะสม","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"เผยแพร่ซ้ำไปยังรีเลย์ที่เหมาะสมสำเร็จ (รีเลย์เขียนของคุณและรีเลย์อ่านของผู้ใช้ที่กล่าวถึง)","Failed to republish to optimal relays: {{error}}":"เผยแพร่ซ้ำไปยังรีเลย์ที่เหมาะสมล้มเหลว: {{error}}","External Content":"เนื้อหาภายนอก",Highlight:"ไฮไลต์","Optimal relays and {{count}} other relays":"รีเลย์ที่เหมาะสมและรีเลย์อื่น {{count}} รายการ","Likely spam account (Trust score: {{percentile}}%)":"น่าจะเป็นบัญชีสแปม (คะแนนความน่าเชื่อถือ: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"บัญชีที่น่าสงสัย (คะแนนความน่าเชื่อถือ: {{percentile}}%)","n users":"{{count}} ผู้ใช้","View Details":"ดูรายละเอียด","Follow Pack Not Found":"ไม่พบแพ็คการติดตาม","Follow pack not found":"ไม่พบแพ็คการติดตาม",Users:"ผู้ใช้",Feed:"ฟีด","Follow Pack":"แพ็คการติดตาม","Load earlier":"โหลดข้อมูลก่อนหน้า","Last 24 hours":"24 ชั่วโมงที่แล้ว","Last {{count}} days":"{{count}} วันที่แล้ว",notes:"โน้ต","Quick reaction":"รีแอคชั่นด่วน","If enabled, you can react with a single click. Click and hold for more options":"หากเปิดใช้งาน คุณสามารถรีแอคได้ด้วยคลิกเดียว คลิกค้างไว้สำหรับตัวเลือกเพิ่มเติม","Quick reaction emoji":"อีโมจิรีแอคชั่นด่วน","Select emoji":"เลือกอีโมจิ","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"ติดตามพิเศษ","Unfollow Special":"ยกเลิกติดตามพิเศษ","Personal Feeds":"ฟีดส่วนตัว","Relay Feeds":"ฟีดรีเลย์","Create Highlight":"สร้างไฮไลท์","Write your thoughts about this highlight...":"เขียนความคิดของคุณเกี่ยวกับไฮไลท์นี้...","Publish Highlight":"เผยแพร่ไฮไลท์","Show replies":"แสดงการตอบกลับ","Hide replies":"ซ่อนการตอบกลับ","Welcome to Smesh!":"ยินดีต้อนรับสู่ Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"ฟีดของคุณว่างเปล่าเพราะคุณยังไม่ได้ติดตามใครเลย เริ่มต้นด้วยการสำรวจเนื้อหาที่น่าสนใจและติดตามผู้ใช้ที่คุณชอบ!","Search Users":"ค้นหาผู้ใช้","Create New Account":"สร้างบัญชีใหม่",Important:"สำคัญ","Generate Your Account":"สร้างบัญชีของคุณ","Your private key IS your account. Keep it safe!":"คีย์ส่วนตัวของคุณคือบัญชีของคุณ เก็บไว้ให้ปลอดภัย!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"ใน Nostr คีย์ส่วนตัวของคุณคือบัญชีของคุณ หากคุณสูญเสียคีย์ส่วนตัว คุณจะสูญเสียบัญชีของคุณตลอดไป","Your Private Key":"คีย์ส่วนตัวของคุณ","Generate new key":"สร้างคีย์ใหม่","Download Backup File":"ดาวน์โหลดไฟล์สำรอง","Copied to Clipboard":"คัดลอกไปยังคลิปบอร์ดแล้ว","Copy to Clipboard":"คัดลอกไปยังคลิปบอร์ด","I already saved my private key securely.":"ฉันได้บันทึกคีย์ส่วนตัวของฉันอย่างปลอดภัยแล้ว","Almost Done!":"เกือบเสร็จแล้ว!","Set a password to encrypt your key, or skip to finish":"ตั้งรหัสผ่านเพื่อเข้ารหัสคีย์ของคุณ หรือข้ามเพื่อเสร็จสิ้น","Password Protection (Optional)":"การป้องกันด้วยรหัสผ่าน (ไม่บังคับ)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"การตั้งรหัสผ่านจะเข้ารหัสคีย์ส่วนตัวของคุณในเบราว์เซอร์นี้ คุณสามารถข้ามขั้นตอนนี้ได้ แต่เราแนะนำให้ตั้งรหัสผ่านเพื่อความปลอดภัยเพิ่มเติม","Password (Optional)":"รหัสผ่าน (ไม่บังคับ)","Enter password or leave empty to skip":"ป้อนรหัสผ่านหรือเว้นว่างเพื่อข้าม","Confirm Password":"ยืนยันรหัสผ่าน","Re-enter password":"ป้อนรหัสผ่านอีกครั้ง","Passwords do not match":"รหัสผ่านไม่ตรงกัน","Finish Signup":"เสร็จสิ้นการลงทะเบียน","Create Your Nostr Account":"สร้างบัญชี Nostr ของคุณ","Generate your unique private key. This is your digital identity.":"สร้างคีย์ส่วนตัวที่ไม่ซ้ำของคุณ นี่คือตัวตนดิจิทัลของคุณ","Critical: Save Your Private Key":"สำคัญมาก: บันทึกคีย์ส่วนตัวของคุณ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"คีย์ส่วนตัวของคุณคือบัญชีของคุณ ไม่มีการกู้คืนรหัสผ่าน หากคุณทำหาย คุณจะสูญเสียบัญชีของคุณตลอดไป โปรดบันทึกไว้ในที่ปลอดภัย","I have safely backed up my private key":"ฉันได้สำรองคีย์ส่วนตัวของฉันอย่างปลอดภัยแล้ว","Secure Your Account":"รักษาความปลอดภัยบัญชีของคุณ","Add an extra layer of protection with a password":"เพิ่มชั้นความปลอดภัยเพิ่มเติมด้วยรหัสผ่าน","Password Protection (Recommended)":"การป้องกันด้วยรหัสผ่าน (แนะนำ)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"เพิ่มรหัสผ่านเพื่อเข้ารหัสคีย์ส่วนตัวของคุณในเบราว์เซอร์นี้ เป็นตัวเลือก แต่แนะนำอย่างยิ่งเพื่อความปลอดภัยที่ดีขึ้น","Create a password (or skip)":"สร้างรหัสผ่าน (หรือข้าม)","Enter your password again":"ป้อนรหัสผ่านของคุณอีกครั้ง","Complete Signup":"เสร็จสิ้นการลงทะเบียน",Recommended:"แนะนำ"}},Xbe={translation:{"Welcome! 🥳":"来都来了",About:"关于","New Note":"发布新笔记",Post:"发布笔记",Home:"主页","Relay settings":"服务器设置",Settings:"设置",SidebarRelays:"服务器",Refresh:"刷新列表",Profile:"个人资料",Logout:"退出登录",Following:"关注",followings:"关注",reposted:"转发","just now":"刚刚","minute ago_one":"{{count}} 分钟前","minute ago_other":"{{count}} 分钟前","n m":"{{n}}分","hour ago_one":"{{count}} 小时前","hour ago_other":"{{count}} 小时前","n h":"{{n}}时","day ago_one":"{{count}} 天前","day ago_other":"{{count}} 天前","n d":"{{n}}天",date:"{{timestamp, date}}",Follow:"关注",Unfollow:"取消关注","Follow failed":"关注失败","Unfollow failed":"取消关注失败","show new notes":"显示新笔记","loading...":"加载中...","Loading...":"加载中...","no more notes":"到底了","reply to":"回复",reply:"回复",Reply:"回复","load more older replies":"加载更多早期回复","Write something...":"写点什么...",Cancel:"取消",Mentions:"提及","Failed to post":"发布失败","Post successful":"发布成功","Your post has been published":"您的笔记已发布",Repost:"转发",Quote:"引用","Copy event ID":"复制事件 ID","Copy user ID":"复制用户 ID","View raw event":"查看原始事件",Like:"点赞","switch to light theme":"切换到浅色主题","switch to dark theme":"切换到深色主题","switch to system theme":"切换到系统主题",Note:"笔记",note:"笔记","username's following":"{{username}} 的关注","username's used relays":"{{username}} 使用的服务器","username's muted":"{{username}} 屏蔽的用户",Login:"登录","Follows you":"关注了你","Relay Settings":"服务器设置","Relay set name":"服务器组名","Add a new relay set":"添加新的服务器组",Add:"添加","n relays":"{{n}} 个服务器",Rename:"重命名","Copy share link":"复制分享链接",Delete:"删除","Relay already exists":"服务器已存在","invalid relay URL":"无效的服务器地址","Add a new relay":"添加新的服务器",back:"返回","Lost in the void":"迷失在虚空中","Carry me home":"带我回家","no replies":"暂无回复","Reply to":"回复",Search:"搜索","The relays you are connected to do not support search":"您连接的服务器不支持搜索","Show more...":"查看更多...","All users":"所有用户","Display replies":"显示回复",Notes:"笔记",Replies:"回复",Notifications:"通知","no more notifications":"到底了","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"使用私钥登录不安全。建议使用浏览器插件登录,如 alby、nostr-keyx 或 nos2x。如果必须使用私钥,请至少设置一个密码进行加密。","Login with Browser Extension":"浏览器插件登录","Login with Bunker":"Bunker 登录","Login with Private Key":"私钥登录","reload notes":"重新加载笔记","Logged in Accounts":"已登录账户","Add an Account":"添加账户","More options":"更多选项","Add client tag":"添加客户端标签","Show others this was sent via Smesh":"告诉别人这是通过 Smesh 发送的","Are you sure you want to logout?":"确定要退出登录吗?","relay sets":"服务器组",edit:"编辑",Languages:"语言",Theme:"主题",System:"系统",Light:"浅色",Dark:"深色",Temporary:"临时","Choose a relay set":"选择一个服务器组","Switch account":"切换账户",Pictures:"图片","Picture note":"图片笔记","A special note for picture-first clients like Olas":"一种可以在图片优先客户端 (如 Olas) 中显示的特殊笔记","Picture note requires images":"图片笔记需要有图片",Relays:"服务器",Image:"图片",Normal:"普通","R & W":"读写",Read:"只读",Write:"只写","Pull relay sets":"拉取服务器组","Select the relay sets you want to pull":"选择要拉取的服务器组","No relay sets found":"未找到服务器组","Pull n relay sets":"拉取 {{n}} 个服务器组",Pull:"拉取","Select all":"全选","Relay Sets":"服务器组",Mailbox:"邮箱","Read & Write Relays":"读写服务器","read relays description":"读服务器用于寻找与您有关的事件。其他用户会将想要您看到的事件发布到您的读服务器,比如回复、点赞转发……","write relays description":"写服务器用于发布您的事件。其他用户会从您的写服务器寻找您发布的事件。","read & write relays notice":"读服务器和写服务器的数量都应尽量保持在 2 到 4 个之间。","Don't have an account yet?":"还没有账户?","or simply generate a private key":"或者简单生成一个私钥","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"这是私钥,请勿与他人分享。请妥善保管,否则将无法找回。",Edit:"编辑",Save:"保存","Display Name":"昵称",Bio:"简介","Nostr Address (NIP-05)":"Nostr 地址 (NIP-05)","Invalid NIP-05 address":"无效的 NIP-05 地址","Copy private key":"复制私钥","Enter the password to decrypt your ncryptsec":"输入密码以解密您的 ncryptsec",Back:"返回","password (optional): encrypt nsec":"密码 (可选): 加密 nsec","optional: encrypt nsec":"可选: 加密 nsec",password:"密码","Sign up":"注册","Save to":"保存到","Enter a name for the new relay set":"输入新服务器组的名称","Save to a new relay set":"保存到新服务器组",Mute:"屏蔽",Muted:"已屏蔽",Unmute:"取消屏蔽","Unmute user":"取消屏蔽用户","Append n relays":"追加 {{n}} 个服务器",Append:"追加","Select relays to append":"选择要追加的服务器","calculating...":"计算中...","Calculate optimal read relays":"计算最佳读服务器","Login to set":"登录后设置","Please login to view following feed":"请登录以查看关注动态","Send only to r":"只发送到 {{r}}","Send only to these relays":"只发送到这些服务器",Explore:"探索","Search relays":"搜索服务器",relayInfoBadgeAuth:"需登陆",relayInfoBadgeSearch:"支持搜索",relayInfoBadgePayment:"需付费",Operator:"管理员",Contact:"联系方式",Software:"软件",Version:"版本","Random Relays":"随机服务器",randomRelaysRefresh:"换一批","Explore more":"探索更多","Payment page":"付款页面","Supported NIPs":"支持的 NIP","Open in a":"在 {{a}} 中打开","Cannot handle event of kind k":"无法处理类型为 {{k}} 的事件","Sorry! The note cannot be found 😔":"抱歉!找不到该笔记 😔","This user has been muted":"该用户已被屏蔽",Wallet:"钱包",Sats:"聪",sats:"聪","Zap to":"打闪给","Zap n sats":"打闪 {{n}} 聪",zapComment:"附言","Default zap amount":"默认打闪金额","Default zap comment":"默认打闪附言","Lightning Address (or LNURL)":"闪电地址 (或 LNURL)","Quick zap":"快速打闪","If enabled, you can zap with a single click. Click and hold for custom amounts":"如果启用,您单击即可打闪。长按以设置自定义金额",All:"全部",Reactions:"互动",Zaps:"打闪","Earlier notifications":"更早的通知","Temporarily display this note":"临时显示此笔记",buttonFollowing:"已关注","Are you sure you want to unfollow this user?":"确定要取消关注此用户吗?","Recent Supporters":"最近的支持者","Seen on":"来自","Temporarily display this reply":"临时显示此回复","Note not found":"未找到该笔记","no more replies":"没有更多回复了","Relay sets":"服务器组","Favorite Relays":"收藏的服务器","Following's Favorites":"关注人的收藏","no more relays":"没有更多服务器了","Favorited by":"收藏自","Post settings":"发布设置","Media upload service":"媒体上传服务","Choose a relay":"选择一个服务器","no relays found":"未找到服务器",video:"视频","Show n new notes":"显示 {{n}} 条新笔记",YouTabName:"与你",Bookmark:"收藏","Remove bookmark":"取消收藏","no bookmarks found":"暂无收藏","no more bookmarks":"到底了",Bookmarks:"收藏","Show more":"显示更多",General:"常规",Autoplay:"自动播放","Enable video autoplay on this device":"在此设备上启用视频自动播放","Paste or drop media files to upload":"支持粘贴或拖放媒体文件进行上传",Preview:"预览","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"您即将发布一条由 [{{eventAuthorName}}] 签名的事件。您当前以 [{{currentUsername}}] 登录。确定吗?","Platinum Sponsors":"白金赞助商",From:"来自","Comment on":"评论于","View on njump.me":"在 njump.me 上查看","Hide content from untrusted users":"隐藏不受信任用户的内容","Only show content from your followed users and the users they follow":"仅显示您关注的用户及其关注的用户的内容","Followed by":"关注者","Mute user privately":"悄悄屏蔽","Mute user publicly":"公开屏蔽",Quotes:"引用","Lightning Invoice":"闪电发票","Bookmark failed":"收藏失败","Remove bookmark failed":"取消收藏失败",Translation:"翻译",Balance:"余额",characters:"字符",smeshTranslateApiKeyDescription:"您可以在任何支持 LibreTranslate 的地方使用此 API key。服务地址是 {{serviceUrl}}","Top up":"充值","Will receive: {n} characters":"将获得: {{n}} 字符","Top up {n} sats":"充值 {{n}} 聪","Minimum top up is {n} sats":"最低充值金额为 {{n}} 聪",Service:"服务","Reset API key":"重置 API key","Are you sure you want to reset your API key? This action cannot be undone.":"您确定要重置您的 API key?此操作无法撤销。",Warning:"警告","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"您当前的 API key 将立即失效,任何使用它的应用程序将停止工作,直到您用新 key 更新它们。","Service address":"服务地址",Pay:"支付",interactions:"互动",notifications:"通知","Show untrusted {type}":"显示不受信任的{{type}}","Hide untrusted {type}":"隐藏不受信任的{{type}}","Currently hiding {type} from untrusted users.":"当前隐藏来自不受信任用户的{{type}}。","Currently showing all {type}.":"当前显示所有{{type}}。","Click continue to show all {type}.":"点击继续显示所有{{type}}。","Click continue to hide {type} from untrusted users.":"点击继续隐藏来自不受信任用户的{{type}}。","Trusted users include people you follow and people they follow.":"受信任的用户包括您关注的人和他们关注的人。",Continue:"继续","Successfully updated mute list":"成功更新屏蔽列表","No pubkeys found from {url}":"在 {{url}} 中未找到 pubkeys","Translating...":"翻译中...",Translate:"翻译","Show original":"显示原文",Website:"网站","Hide untrusted notes":"隐藏不受信任的笔记","Open in another client":"在其他客户端打开",Community:"社区",Group:"群组","Live event":"直播",Article:"文章",Unfavorite:"取消收藏","Recommended relays":"推荐服务器","Blossom server URLs":"Blossom 服务器地址","You need to add at least one blossom server in order to upload media files.":"您需要添加至少一个 Blossom 服务器才能上传媒体文件。","Recommended blossom servers":"推荐的 Blossom 服务器","Enter Blossom server URL":"输入 Blossom 服务器 URL",Preferred:"首选","Multiple choice (select one or more)":"多选 (选择一个或多个)",Vote:"投票","{{number}} votes":"{{number}} 次投票","Total votes":"总票数","Poll has ended":"投票已结束","Poll ends at {{time}}":"投票结束时间:{{time}}","Load results":"加载结果","This is a poll note.":"这是一个投票帖子。","Unlike regular notes, polls are not widely supported and may not display on other clients.":"与普通帖子不同,投票功能暂时没有得到广泛的支持,可能无法在其他客户端中显示。","Option {{number}}":"选项 {{number}}","Add Option":"添加选项","Allow multiple choices":"允许多选","End Date (optional)":"结束日期(可选)","Clear end date":"清除结束日期","Relay URLs (optional, comma-separated)":"中继服务器 URL(可选,逗号分隔)","Remove poll":"移除投票","Refresh results":"刷新结果",Poll:"投票",Media:"媒体","Republish to ...":"重新发布到 ...","Successfully republish to your write relays":"成功重新发布到您的写服务器","Failed to republish to your write relays: {{error}}":"重新发布到您的写服务器失败: {{error}}","Successfully republish to relay set: {{name}}":"成功重新发布到服务器组: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"重新发布到服务器组: {{name}} 失败。错误: {{error}}","Successfully republish to relay: {{url}}":"成功重新发布到服务器: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"重新发布到服务器: {{url}} 失败。错误: {{error}}","Write relays":"写服务器","No more reactions":"没有更多互动了","No reactions yet":"暂无互动","No more zaps":"没有更多打闪了","No zaps yet":"暂无打闪","No more reposts":"没有更多转发了","No reposts yet":"暂无转发",Reposts:"转发",FollowListNotFoundConfirmation:"未找到关注列表。你想创建一个新的吗?如果你之前已经关注了用户,请不要确认,因为此操作会导致你丢失之前的关注列表。",MuteListNotFoundConfirmation:"未找到屏蔽列表。你想创建一个新的吗?如果你之前已经屏蔽了用户,请不要确认,因为此操作会导致你丢失之前的屏蔽列表。","Show NSFW content by default":"默认显示 NSFW 内容","Custom emoji management":"自定义表情符号管理","After changing emojis, you may need to refresh the page":"更改表情符号后,您可能需要刷新页面","Too many read relays":"读取中继过多","Too many write relays":"写入中继过多","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 个读取中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 个写入中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。","Optimize Relay Settings":"优化中继设置","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"您当前的中继配置可能不是最优的。这可能导致其他人难以找到您发布的内容,也可能导致您无法获取完整的通知列表。","Optimize Now":"立即优化","Maybe Later":"稍后处理","Don't remind me again":"不再提醒",Posts:"帖子",Articles:"文章",Highlights:"高亮",Polls:"投票","Voice Posts":"语音帖子","Photo Posts":"图片帖子","Video Posts":"视频帖子","Select All":"全选","Clear All":"清空","Set as default filter":"设为默认过滤器",Apply:"应用",Reset:"重置","Share something on this Relay":"在此服务器上分享点什么","Try deleting this note":"尝试删除此笔记","Deletion request sent to {{count}} relays":"删除请求已发送到 {{count}} 个服务器","Suitable Relays":"适合的服务器","People, keywords, or relays":"用户、关键词或服务器","Hide content mentioning muted users":"隐藏提及已屏蔽用户的内容","This note mentions a user you muted":"此笔记提及了您已屏蔽的用户",Filter:"过滤器","mentioned you in a note":"在笔记中提及了您","quoted your note":"引用了您的笔记","voted in your poll":"在您的投票中投票","reacted to your note":"对您的笔记做出了反应","reposted your note":"转发了您的笔记","zapped your note":"打闪了您的笔记","highlighted your note":"高亮了您的笔记","zapped you":"给您打闪","Mark as read":"标记为已读",Report:"举报","Successfully report":"举报成功","Failed to report":"举报失败",nudity:"色情内容",malware:"恶意软件",profanity:"亵渎言论",illegal:"违法内容",spam:"垃圾信息",other:"其他","Notification list style":"通知列表样式","See extra info for each notification":"查看每条通知的详细信息","See more notifications at a glance":"一目了然地查看更多通知",Detailed:"详细",Compact:"紧凑","Submit Relay":"提交服务器",Homepage:"主页","Proof of Work (difficulty {{minPow}})":"工作量证明 (难度 {{minPow}})","via {{client}}":"来自 {{client}}","Auto-load media":"自动加载媒体文件",Always:"始终","Wi-Fi only":"仅WiFi",Never:"从不","Click to load image":"点击加载图片","Click to load media":"点击加载音视频","Click to load YouTube video":"点击加载 YouTube 视频","{{count}} reviews":"{{count}} 条评价","Write a review":"写评价","No reviews yet. Be the first to write one!":"还没有评价,成为第一个评价的人吧!","View more reviews":"查看更多评价","Failed to review":"评价失败","Write a review and pick a star rating":"写下评价并选择星级评分",Submit:"提交","Reviews for {{relay}}":"关于 {{relay}} 的评价","No relays selected":"未选择服务器","Post to":"发布到","Write relays and {{count}} other relays":"写服务器和其他 {{count}} 个服务器","{{count}} relays":"{{count}} 个服务器","Republishing...":"正在重新发布...","Connected to":"已连接到","Disconnect Wallet":"断开钱包连接","Are you absolutely sure?":"您确定吗?","You will not be able to send zaps to others.":"您将无法向他人发送打闪。",Disconnect:"断开连接","Start with a Rizful Vault":"从 Rizful 钱包开始","or other wallets":"或其他钱包","Rizful Vault":"Rizful 钱包","Rizful Vault connected!":"Rizful 钱包已连接!","You can now use your Rizful Vault to zap your favorite notes and creators.":"您现在可以使用您的 Rizful 钱包为您喜欢的笔记和创作者打闪。","Your Lightning Address":"您的闪电地址","New to Rizful?":"第一次使用 Rizful?","Sign up for Rizful":"注册 Rizful","If you already have a Rizful account, you can skip this step.":"如果您已经有一个 Rizful 账户,可以跳过此步骤。","Get your one-time code":"获取一次性代码","Get code":"获取代码","Connect to your Rizful Vault":"连接到您的 Rizful 钱包","Paste your one-time code here":"将您的一次性代码粘贴到此处",Connect:"连接","Set up your wallet to send and receive sats!":"设置你的钱包以发送和接收 sats!","Set up":"去设置",Pinned:"已置顶",Unpin:"取消置顶",Unpinning:"取消置顶中","Pinning...":"置顶中...","Pinned!":"已置顶!","Failed to pin: {{error}}":"置顶失败: {{error}}","Unpinning...":"取消置顶中...","Unpinned!":"已取消置顶!","Failed to unpin: {{error}}":"取消置顶失败: {{error}}","Unpin from profile":"从个人资料取消置顶","Pin to profile":"置顶到个人资料",Appearance:"外观","Pure Black":"纯黑",Default:"默认",Red:"红色",Orange:"橙色",Amber:"琥珀色",Yellow:"黄色",Lime:"青柠色",Green:"绿色",Emerald:"翡翠色",Teal:"蓝绿色",Cyan:"青色",Sky:"天空色",Blue:"蓝色",Indigo:"靛蓝色",Violet:"紫罗兰色",Purple:"紫色",Fuchsia:"紫红色",Pink:"粉色",Rose:"玫瑰色","Primary color":"主色调",Layout:"布局","Two-column":"双栏","Single-column":"单栏",Reviews:"评价",Extension:"扩展",Remote:"远程","Encrypted Key":"加密私钥","Private Key":"私钥","Welcome to Smesh":"欢迎来到 Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh 是一个专注于浏览服务器的客户端。从探索有趣的服务器开始,或者登录查看你的关注动态。","Explore Relays":"探索服务器","Choose a feed":"选择一个动态","and {{x}} others":"和其他 {{x}} 人",selfZapWarning:"Smesh 对您给自己打赏所发生的事情概不负责。风险自负。😉⚡","Emoji Pack":"表情包","Emoji pack added":"表情包已添加","Add emoji pack failed":"添加表情包失败","Emoji pack removed":"表情包已移除","Remove emoji pack failed":"移除表情包失败",Added:"已添加","Emoji Packs":"表情包","My Packs":"我的表情包","Adding...":"添加中...","Removing...":"移除中...",Reload:"重新加载","Request to Join Relay":"申请加入中继器","Leave Relay":"离开中继器",Leave:"离开","Are you sure you want to leave this relay?":"您确定要离开此中继器吗?","Join request sent successfully":"加入请求已成功发送","Failed to send join request":"发送加入请求失败","Leave request sent successfully":"离开请求已成功发送","Failed to send leave request":"发送离开请求失败","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"如果您有邀请码,请输入。否则,留空以发送请求。","Invite Code (Optional)":"邀请码(可选)","Enter invite code":"输入邀请码","Sending...":"发送中...","Send Request":"发送请求","You can get an invite code from a relay member.":"您可以从中继器成员获取邀请码。","Enter the invite code you received from a relay member.":"输入您从中继器成员处获得的邀请码。","Get Invite Code":"获取邀请码","Share this invite code with others to invite them to join this relay.":"将此邀请码分享给他人以邀请他们加入此中继器。","Invite Code":"邀请码",Copy:"复制","This invite code can be used by others to join the relay.":"此邀请码可供他人用于加入中继器。","No invite code available from this relay.":"此中继器没有可用的邀请码。",Close:"关闭","Failed to get invite code from relay":"从中继器获取邀请码失败","Failed to get invite code":"获取邀请码失败","Invite code copied to clipboard":"邀请码已复制到剪贴板","Favicon URL":"网站图标 URL","Filter out onion relays":"过滤洋葱中继","Click to load X post":"点击加载 X 帖子","View Nostr comments":"查看 Nostr 评论","Search for notes":"搜索笔记","Search for hashtag":"搜索话题标签","Go to note":"跳转到笔记","Go to relay":"跳转到中继器","View discussions about this":"查看关于此内容的讨论","Open link":"打开链接","View Nostr discussions":"查看 Nostr 讨论","Optimal relays":"最佳中继器","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"成功重新发布到最佳中继器(你的写入中继器和被提及用户的读取中继器)","Failed to republish to optimal relays: {{error}}":"重新发布到最佳中继器失败:{{error}}","External Content":"外部内容",Highlight:"高亮","Optimal relays and {{count}} other relays":"最佳中继器和其他 {{count}} 个中继器","Likely spam account (Trust score: {{percentile}}%)":"疑似垃圾账号(信任分数:{{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"可疑账号(信任分数:{{percentile}}%)","n users":"{{count}} 位用户","View Details":"查看详情","Follow Pack Not Found":"未找到关注包","Follow pack not found":"未找到关注包",Users:"用户",Feed:"动态","Follow Pack":"关注包","Load earlier":"加载更早","Last 24 hours":"最近 24 小时","Last {{count}} days":"最近 {{count}} 天",notes:"笔记","Quick reaction":"快速点赞","If enabled, you can react with a single click. Click and hold for more options":"启用后,您可以通过单击进行点赞。长按以获取更多选项","Quick reaction emoji":"快速点赞表情","Select emoji":"选择表情","NSFW content display":"NSFW 内容显示","Hide completely":"完全隐藏","Show but hide content":"显示但隐藏内容","Show directly":"直接显示","Click to view":"点击查看","Special Follow":"特别关注","Unfollow Special":"取消特别关注","Personal Feeds":"个人订阅","Relay Feeds":"中继订阅","Create Highlight":"创建高亮","Write your thoughts about this highlight...":"写下你对这段高亮的想法...","Publish Highlight":"发布高亮","Show replies":"显示回复","Hide replies":"隐藏回复","Welcome to Smesh!":"欢迎来到 Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"你的动态是空的,因为你还没有关注任何人。开始探索有趣的内容并关注你喜欢的用户吧!","Search Users":"搜索用户","Create New Account":"创建新账户",Important:"重要","Generate Your Account":"生成你的账户","Your private key IS your account. Keep it safe!":"你的私钥就是你的账户。请妥善保管!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"在 Nostr 中,你的私钥就是你的账户。如果你丢失了私钥,你将永远失去你的账户。","Your Private Key":"你的私钥","Generate new key":"生成新密钥","Download Backup File":"下载备份文件","Copied to Clipboard":"已复制到剪贴板","Copy to Clipboard":"复制到剪贴板","I already saved my private key securely.":"我已经安全地保存了我的私钥。","Almost Done!":"即将完成!","Set a password to encrypt your key, or skip to finish":"设置密码来加密你的密钥,或跳过以完成","Password Protection (Optional)":"密码保护(可选)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"设置密码会在此浏览器中加密你的私钥。你可以跳过此步骤,但我们建议设置密码以增强安全性。","Password (Optional)":"密码(可选)","Enter password or leave empty to skip":"输入密码或留空以跳过","Confirm Password":"确认密码","Re-enter password":"重新输入密码","Passwords do not match":"密码不匹配","Finish Signup":"完成注册","Create Your Nostr Account":"创建你的 Nostr 账户","Generate your unique private key. This is your digital identity.":"生成你的专属私钥。这是你的数字身份。","Critical: Save Your Private Key":"重要:保存你的私钥","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"你的私钥就是你的账户。没有密码找回功能。如果丢失,你将永远失去你的账户。请将其保存在安全的地方。","I have safely backed up my private key":"我已安全备份我的私钥","Secure Your Account":"保护你的账户","Add an extra layer of protection with a password":"使用密码添加额外的保护层","Password Protection (Recommended)":"密码保护(推荐)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"添加密码以在此浏览器中加密你的私钥。这是可选的,但强烈建议设置以获得更好的安全性。","Create a password (or skip)":"创建密码(或跳过)","Enter your password again":"再次输入你的密码","Complete Signup":"完成注册",Recommended:"推荐"}},e2e={translation:{"Welcome! 🥳":"來都來了",About:"關於","New Note":"發布新筆記",Post:"發布筆記",Home:"主頁","Relay settings":"伺服器設定",Settings:"設定",SidebarRelays:"伺服器",Refresh:"刷新列表",Profile:"個人資料",Logout:"登出",Following:"關注",followings:"關注",reposted:"轉發","just now":"剛剛","minute ago_one":"{{count}} 分鐘前","minute ago_other":"{{count}} 分鐘前","n m":"{{n}}分","hour ago_one":"{{count}} 小時前","hour ago_other":"{{count}} 小時前","n h":"{{n}}時","day ago_one":"{{count}} 天前","day ago_other":"{{count}} 天前","n d":"{{n}}天",date:"{{timestamp, date}}",Follow:"關注",Unfollow:"取消關注","Follow failed":"關注失敗","Unfollow failed":"取消關注失敗","show new notes":"顯示新筆記","loading...":"載入中...","Loading...":"載入中...","no more notes":"到底了","reply to":"回覆",reply:"回覆",Reply:"回覆","load more older replies":"載入更多早期回覆","Write something...":"寫點什麼...",Cancel:"取消",Mentions:"提及","Failed to post":"發布失敗","Post successful":"發布成功","Your post has been published":"您的筆記已發布",Repost:"轉發",Quote:"引用","Copy event ID":"複製事件 ID","Copy user ID":"複製使用者 ID","View raw event":"檢視原始事件",Like:"按讚","switch to light theme":"切換到淺色主題","switch to dark theme":"切換到深色主題","switch to system theme":"切換到系統主題",Note:"筆記",note:"筆記","username's following":"{{username}} 的關注","username's used relays":"{{username}} 使用的伺服器","username's muted":"{{username}} 封鎖的使用者",Login:"登入","Follows you":"關注了你","Relay Settings":"伺服器設定","Relay set name":"伺服器組名","Add a new relay set":"新增新的伺服器組",Add:"新增","n relays":"{{n}} 個伺服器",Rename:"重新命名","Copy share link":"複製分享連結",Delete:"刪除","Relay already exists":"伺服器已存在","invalid relay URL":"無效的伺服器位址","Add a new relay":"新增新的伺服器",back:"返回","Lost in the void":"迷失在虛空中","Carry me home":"帶我回家","no replies":"暫無回覆","Reply to":"回覆",Search:"搜尋","The relays you are connected to do not support search":"您連接的伺服器不支援搜尋","Show more...":"檢視更多...","All users":"所有使用者","Display replies":"顯示回覆",Notes:"筆記",Replies:"回覆",Notifications:"通知","no more notifications":"到底了","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"使用私鑰登入不安全。建議使用瀏覽器擴充功能登入,如 alby、nostr-keyx 或 nos2x。如果必須使用私鑰,請至少設定一個密碼進行加密。","Login with Browser Extension":"瀏覽器擴充功能登入","Login with Bunker":"Bunker 登入","Login with Private Key":"私鑰登入","reload notes":"重新載入筆記","Logged in Accounts":"已登入帳戶","Add an Account":"新增帳戶","More options":"更多選項","Add client tag":"新增客戶端標籤","Show others this was sent via Smesh":"告訴別人這是透過 Smesh 發送的","Are you sure you want to logout?":"確定要登出嗎?","relay sets":"伺服器組",edit:"編輯",Languages:"語言",Theme:"主題",System:"系統",Light:"淺色",Dark:"深色",Temporary:"臨時","Choose a relay set":"選擇一個伺服器組","Switch account":"切換帳戶",Pictures:"圖片","Picture note":"圖片筆記","A special note for picture-first clients like Olas":"一種可以在圖片優先客戶端(如 Olas)中顯示的特殊筆記","Picture note requires images":"圖片筆記需要有圖片",Relays:"伺服器",Image:"圖片",Normal:"普通","R & W":"讀寫",Read:"唯讀",Write:"只寫","Pull relay sets":"拉取伺服器組","Select the relay sets you want to pull":"選擇要拉取的伺服器組","No relay sets found":"未找到伺服器組","Pull n relay sets":"拉取 {{n}} 個伺服器組",Pull:"拉取","Select all":"全選","Relay Sets":"伺服器組",Mailbox:"信箱","Read & Write Relays":"讀寫伺服器","read relays description":"讀取伺服器用於尋找與您有關的事件。其他使用者會將想要您看到的事件發布到您的讀取伺服器,例如回覆、按讚轉發……","write relays description":"寫入伺服器用於發布您的事件。其他使用者會從您的寫入伺服器尋找您發布的事件。","read & write relays notice":"讀取伺服器和寫入伺服器的數量都應盡量保持在 2 到 4 個之間。","Don't have an account yet?":"還沒有帳戶?","or simply generate a private key":"或者簡單產生一個私鑰","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"這是私鑰,請勿與他人分享。請妥善保管,否則將無法找回。",Edit:"編輯",Save:"儲存","Display Name":"暱稱",Bio:"簡介","Nostr Address (NIP-05)":"Nostr 位址 (NIP-05)","Invalid NIP-05 address":"無效的 NIP-05 位址","Copy private key":"複製私鑰","Enter the password to decrypt your ncryptsec":"輸入密碼以解密您的 ncryptsec",Back:"返回","password (optional): encrypt nsec":"密碼(可選):加密 nsec","optional: encrypt nsec":"可選:加密 nsec",password:"密碼","Sign up":"註冊","Save to":"儲存到","Enter a name for the new relay set":"輸入新伺服器組的名稱","Save to a new relay set":"儲存到新伺服器組",Mute:"封鎖",Muted:"已封鎖",Unmute:"取消封鎖","Unmute user":"取消封鎖使用者","Append n relays":"追加 {{n}} 個伺服器",Append:"追加","Select relays to append":"選擇要追加的伺服器","calculating...":"計算中...","Calculate optimal read relays":"計算最佳讀取伺服器","Login to set":"登入後設定","Please login to view following feed":"請登入以檢視關注動態","Send only to r":"只發送到 {{r}}","Send only to these relays":"只發送到這些伺服器",Explore:"探索","Search relays":"搜尋伺服器",relayInfoBadgeAuth:"需登入",relayInfoBadgeSearch:"支援搜尋",relayInfoBadgePayment:"需付費",Operator:"管理員",Contact:"聯絡方式",Software:"軟體",Version:"版本","Random Relays":"隨機伺服器",randomRelaysRefresh:"換一批","Explore more":"探索更多","Payment page":"付款頁面","Supported NIPs":"支援的 NIP","Open in a":"在 {{a}} 中開啟","Cannot handle event of kind k":"無法處理類型為 {{k}} 的事件","Sorry! The note cannot be found 😔":"抱歉!找不到該筆記 😔","This user has been muted":"該使用者已被封鎖",Wallet:"錢包",Sats:"聰",sats:"聰","Zap to":"打閃給","Zap n sats":"打閃 {{n}} 聰",zapComment:"附言","Default zap amount":"預設打閃金額","Default zap comment":"預設打閃附言","Lightning Address (or LNURL)":"閃電位址(或 LNURL)","Quick zap":"快速打閃","If enabled, you can zap with a single click. Click and hold for custom amounts":"如果啟用,您單擊即可打閃。長按以設定自訂金額",All:"全部",Reactions:"互動",Zaps:"打閃","Earlier notifications":"更早的通知","Temporarily display this note":"臨時顯示此筆記",buttonFollowing:"已關注","Are you sure you want to unfollow this user?":"確定要取消關注此使用者嗎?","Recent Supporters":"最近的支持者","Seen on":"來自","Temporarily display this reply":"臨時顯示此回覆","Note not found":"未找到該筆記","no more replies":"沒有更多回覆了","Relay sets":"伺服器組","Favorite Relays":"收藏的伺服器","Following's Favorites":"關注人的收藏","no more relays":"沒有更多伺服器了","Favorited by":"收藏自","Post settings":"發布設定","Media upload service":"媒體上傳服務","Choose a relay":"選擇一個伺服器","no relays found":"未找到伺服器",video:"影片","Show n new notes":"顯示 {{n}} 條新筆記",YouTabName:"與你",Bookmark:"收藏","Remove bookmark":"取消收藏","no bookmarks found":"暫無收藏","no more bookmarks":"到底了",Bookmarks:"收藏","Show more":"顯示更多",General:"常規",Autoplay:"自動播放","Enable video autoplay on this device":"在此裝置上啟用影片自動播放","Paste or drop media files to upload":"支援貼上或拖放媒體檔案進行上傳",Preview:"預覽","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"您即將發布一條由 [{{eventAuthorName}}] 簽名的事件。您目前以 [{{currentUsername}}] 登入。確定嗎?","Platinum Sponsors":"白金贊助商",From:"來自","Comment on":"評論於","View on njump.me":"在 njump.me 上檢視","Hide content from untrusted users":"隱藏不受信任使用者的內容","Only show content from your followed users and the users they follow":"僅顯示您關注的使用者及其關注的使用者的內容","Followed by":"關注者","Mute user privately":"悄悄封鎖","Mute user publicly":"公開封鎖",Quotes:"引用","Lightning Invoice":"閃電發票","Bookmark failed":"收藏失敗","Remove bookmark failed":"取消收藏失敗",Translation:"翻譯",Balance:"餘額",characters:"字元",smeshTranslateApiKeyDescription:"您可以在任何支援 LibreTranslate 的地方使用此 API key。服務位址是 {{serviceUrl}}","Top up":"充值","Will receive: {n} characters":"將獲得:{{n}} 字元","Top up {n} sats":"充值 {{n}} 聰","Minimum top up is {n} sats":"最低充值金額為 {{n}} 聰",Service:"服務","Reset API key":"重設 API key","Are you sure you want to reset your API key? This action cannot be undone.":"您確定要重設您的 API key?此操作無法復原。",Warning:"警告","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"您目前的 API key 將立即失效,任何使用它的應用程式將停止工作,直到您用新 key 更新它們。","Service address":"服務位址",Pay:"支付",interactions:"互動",notifications:"通知","Show untrusted {type}":"顯示不受信任的{{type}}","Hide untrusted {type}":"隱藏不受信任的{{type}}","Currently hiding {type} from untrusted users.":"目前隱藏來自不受信任使用者的{{type}}。","Currently showing all {type}.":"目前顯示所有{{type}}。","Click continue to show all {type}.":"點擊繼續顯示所有{{type}}。","Click continue to hide {type} from untrusted users.":"點擊繼續隱藏來自不受信任使用者的{{type}}。","Trusted users include people you follow and people they follow.":"受信任的使用者包括您關注的人和他們關注的人。",Continue:"繼續","Successfully updated mute list":"成功更新封鎖列表","No pubkeys found from {url}":"在 {{url}} 中未找到 pubkeys","Translating...":"翻譯中...",Translate:"翻譯","Show original":"顯示原文",Website:"網站","Hide untrusted notes":"隱藏不受信任的筆記","Open in another client":"在其他客戶端開啟",Community:"社群",Group:"群組","Live event":"直播",Article:"文章",Unfavorite:"取消收藏","Recommended relays":"推薦伺服器","Blossom server URLs":"Blossom 伺服器位址","You need to add at least one blossom server in order to upload media files.":"您需要新增至少一個 Blossom 伺服器才能上傳媒體檔案。","Recommended blossom servers":"推薦的 Blossom 伺服器","Enter Blossom server URL":"輸入 Blossom 伺服器 URL",Preferred:"首選","Multiple choice (select one or more)":"多選(選擇一個或多個)",Vote:"投票","{{number}} votes":"{{number}} 次投票","Total votes":"總票數","Poll has ended":"投票已結束","Poll ends at {{time}}":"投票結束時間:{{time}}","Load results":"載入結果","This is a poll note.":"這是一個投票帖子。","Unlike regular notes, polls are not widely supported and may not display on other clients.":"與普通帖子不同,投票功能暫時沒有得到廣泛的支援,可能無法在其他客戶端中顯示。","Option {{number}}":"選項 {{number}}","Add Option":"新增選項","Allow multiple choices":"允許多選","End Date (optional)":"結束日期(可選)","Clear end date":"清除結束日期","Relay URLs (optional, comma-separated)":"中繼伺服器 URL(可選,逗號分隔)","Remove poll":"移除投票","Refresh results":"刷新結果",Poll:"投票",Media:"媒體","Republish to ...":"重新發布到 ...","Successfully republish to your write relays":"成功重新發布到您的寫入伺服器","Failed to republish to your write relays: {{error}}":"重新發布到您的寫入伺服器失敗:{{error}}","Successfully republish to relay set: {{name}}":"成功重新發布到伺服器組:{{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"重新發布到伺服器組:{{name}} 失敗。錯誤:{{error}}","Successfully republish to relay: {{url}}":"成功重新發布到伺服器:{{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"重新發布到伺服器:{{url}} 失敗。錯誤:{{error}}","Write relays":"寫入伺服器","No more reactions":"沒有更多互動了","No reactions yet":"暫無互動","No more zaps":"沒有更多打閃了","No zaps yet":"暫無打閃","No more reposts":"沒有更多轉發了","No reposts yet":"暫無轉發",Reposts:"轉發",FollowListNotFoundConfirmation:"未找到關注列表。你想建立一個新的嗎?如果你之前已經關注了使用者,請不要確認,因為此操作會導致你遺失之前的關注列表。",MuteListNotFoundConfirmation:"未找到封鎖列表。你想建立一個新的嗎?如果你之前已經封鎖了使用者,請不要確認,因為此操作會導致你遺失之前的封鎖列表。","Show NSFW content by default":"預設顯示 NSFW 內容","Custom emoji management":"自訂表情符號管理","After changing emojis, you may need to refresh the page":"更改表情符號後,您可能需要刷新頁面","Too many read relays":"讀取中繼過多","Too many write relays":"寫入中繼過多","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 個讀取中繼。大多數客戶端只使用 2-4 個中繼,設定更多是不必要的。","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 個寫入中繼。大多數客戶端只使用 2-4 個中繼,設定更多是不必要的。","Optimize Relay Settings":"最佳化中繼設定","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"您目前的中繼配置可能不是最佳的。這可能導致其他人難以找到您發布的內容,也可能導致您無法獲取完整的通知列表。","Optimize Now":"立即最佳化","Maybe Later":"稍後處理","Don't remind me again":"不再提醒",Posts:"帖子",Articles:"文章",Highlights:"精選",Polls:"投票","Voice Posts":"語音帖子","Photo Posts":"圖片帖子","Video Posts":"影片帖子","Select All":"全選","Clear All":"清空","Set as default filter":"設為預設過濾器",Apply:"套用",Reset:"重設","Share something on this Relay":"在此伺服器上分享點什麼","Try deleting this note":"嘗試刪除此筆記","Deletion request sent to {{count}} relays":"刪除請求已發送到 {{count}} 個伺服器","Suitable Relays":"適合的伺服器","People, keywords, or relays":"使用者、關鍵詞或伺服器","Hide content mentioning muted users":"隱藏提及已封鎖使用者的內容","This note mentions a user you muted":"此筆記提及了您已封鎖的使用者",Filter:"過濾器","mentioned you in a note":"在筆記中提及了您","quoted your note":"引用了您的筆記","voted in your poll":"在您的投票中投票","reacted to your note":"對您的筆記做出了反應","reposted your note":"轉發了您的筆記","zapped your note":"打閃了您的筆記","zapped you":"給您打閃","Mark as read":"標記為已讀",Report:"檢舉","Successfully report":"檢舉成功","Failed to report":"檢舉失敗",nudity:"色情內容",malware:"惡意軟體",profanity:"褻瀆言論",illegal:"違法內容",spam:"垃圾訊息",other:"其他","Notification list style":"通知列表樣式","See extra info for each notification":"檢視每條通知的詳細資訊","See more notifications at a glance":"一目了然地檢視更多通知",Detailed:"詳細",Compact:"緊湊","Submit Relay":"提交伺服器",Homepage:"主頁","Proof of Work (difficulty {{minPow}})":"工作量證明(難度 {{minPow}})","via {{client}}":"來自 {{client}}","Auto-load media":"自動載入媒體檔案",Always:"始終","Wi-Fi only":"僅WiFi",Never:"從不","Click to load image":"點擊載入圖片","Click to load media":"點擊載入音視訊","Click to load YouTube video":"點擊載入 YouTube 影片","{{count}} reviews":"{{count}} 條評價","Write a review":"寫評價","No reviews yet. Be the first to write one!":"還沒有評價,成為第一個評價的人吧!","View more reviews":"檢視更多評價","Failed to review":"評價失敗","Write a review and pick a star rating":"寫下評價並選擇星級評分",Submit:"提交","Reviews for {{relay}}":"關於 {{relay}} 的評價","No relays selected":"未選擇伺服器","Post to":"發布到","Write relays and {{count}} other relays":"寫入伺服器和其他 {{count}} 個伺服器","{{count}} relays":"{{count}} 個伺服器","Republishing...":"正在重新發布...","Connected to":"已連接到","Disconnect Wallet":"中斷錢包連接","Are you absolutely sure?":"您確定嗎?","You will not be able to send zaps to others.":"您將無法向他人發送打閃。",Disconnect:"中斷連接","Start with a Rizful Vault":"從 Rizful 錢包開始","or other wallets":"或其他錢包","Rizful Vault":"Rizful 錢包","Rizful Vault connected!":"Rizful 錢包已連接!","You can now use your Rizful Vault to zap your favorite notes and creators.":"您現在可以使用您的 Rizful 錢包為您喜歡的筆記和創作者打閃。","Your Lightning Address":"您的閃電位址","New to Rizful?":"第一次使用 Rizful?","Sign up for Rizful":"註冊 Rizful","If you already have a Rizful account, you can skip this step.":"如果您已經有一個 Rizful 帳戶,可以跳過此步驟。","Get your one-time code":"獲取一次性代碼","Get code":"獲取代碼","Connect to your Rizful Vault":"連接到您的 Rizful 錢包","Paste your one-time code here":"將您的一次性代碼貼上到此處",Connect:"連接","Set up your wallet to send and receive sats!":"設定你的錢包以發送和接收 sats!","Set up":"去設定",Pinned:"已置頂",Unpin:"取消置頂",Unpinning:"取消置頂中","Pinning...":"置頂中...","Pinned!":"已置頂!","Failed to pin: {{error}}":"置頂失敗:{{error}}","Unpinning...":"取消置頂中...","Unpinned!":"已取消置頂!","Failed to unpin: {{error}}":"取消置頂失敗:{{error}}","Unpin from profile":"從個人資料取消置頂","Pin to profile":"置頂到個人資料",Appearance:"外觀","Pure Black":"純黑",Default:"預設",Red:"紅色",Orange:"橙色",Amber:"琥珀色",Yellow:"黃色",Lime:"青檸色",Green:"綠色",Emerald:"翡翠色",Teal:"藍綠色",Cyan:"青色",Sky:"天空色",Blue:"藍色",Indigo:"靛藍色",Violet:"紫羅蘭色",Purple:"紫色",Fuchsia:"紫紅色",Pink:"粉色",Rose:"玫瑰色","Primary color":"主色調",Layout:"版面配置","Two-column":"雙欄","Single-column":"單欄",Reviews:"評價",Extension:"擴充功能",Remote:"遠端","Encrypted Key":"加密私鑰","Private Key":"私鑰","Welcome to Smesh":"歡迎來到 Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh 是一個專注於瀏覽伺服器的客戶端。從探索有趣的伺服器開始,或者登入檢視你的關注動態。","Explore Relays":"探索伺服器","Choose a feed":"選擇一個動態","and {{x}} others":"和其他 {{x}} 人",selfZapWarning:"Smesh 對您給自己打賞所發生的事情概不負責。風險自負。😉⚡","Emoji Pack":"表情包","Emoji pack added":"表情包已新增","Add emoji pack failed":"新增表情包失敗","Emoji pack removed":"表情包已移除","Remove emoji pack failed":"移除表情包失敗",Added:"已新增","Emoji Packs":"表情包","My Packs":"我的表情包","Adding...":"新增中...","Removing...":"移除中...",Reload:"重新載入","Request to Join Relay":"申請加入中繼器","Leave Relay":"離開中繼器",Leave:"離開","Are you sure you want to leave this relay?":"您確定要離開此中繼器嗎?","Join request sent successfully":"加入請求已成功發送","Failed to send join request":"發送加入請求失敗","Leave request sent successfully":"離開請求已成功發送","Failed to send leave request":"發送離開請求失敗","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"如果您有邀請碼,請輸入。否則,留空以發送請求。","Invite Code (Optional)":"邀請碼(可選)","Enter invite code":"輸入邀請碼","Sending...":"發送中...","Send Request":"發送請求","You can get an invite code from a relay member.":"您可以從中繼器成員獲取邀請碼。","Enter the invite code you received from a relay member.":"輸入您從中繼器成員處獲得的邀請碼。","Get Invite Code":"獲取邀請碼","Share this invite code with others to invite them to join this relay.":"將此邀請碼分享給他人以邀請他們加入此中繼器。","Invite Code":"邀請碼",Copy:"複製","This invite code can be used by others to join the relay.":"此邀請碼可供他人用於加入中繼器。","No invite code available from this relay.":"此中繼器沒有可用的邀請碼。",Close:"關閉","Failed to get invite code from relay":"從中繼器獲取邀請碼失敗","Failed to get invite code":"獲取邀請碼失敗","Invite code copied to clipboard":"邀請碼已複製到剪貼簿","Favicon URL":"網站圖示 URL","Filter out onion relays":"過濾洋蔥中繼","Click to load X post":"點擊載入 X 帖子","View Nostr comments":"檢視 Nostr 評論","Search for notes":"搜尋筆記","Search for hashtag":"搜尋話題標籤","Go to note":"跳轉到筆記","Go to relay":"跳轉到中繼器","View discussions about this":"檢視關於此內容的討論","Open link":"開啟連結","View Nostr discussions":"檢視 Nostr 討論","Optimal relays":"最佳中繼器","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"成功重新發布到最佳中繼器(你的寫入中繼器和被提及使用者的讀取中繼器)","Failed to republish to optimal relays: {{error}}":"重新發布到最佳中繼器失敗:{{error}}","External Content":"外部內容",Highlight:"精選","Optimal relays and {{count}} other relays":"最佳中繼器和其他 {{count}} 個中繼器","Likely spam account (Trust score: {{percentile}}%)":"疑似垃圾帳號(信任分數:{{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"可疑帳號(信任分數:{{percentile}}%)","n users":"{{count}} 位使用者","View Details":"檢視詳情","Follow Pack Not Found":"未找到關注包","Follow pack not found":"未找到關注包",Users:"使用者",Feed:"動態","Follow Pack":"關注包","Load earlier":"載入更早","Last 24 hours":"最近 24 小時","Last {{count}} days":"最近 {{count}} 天",notes:"筆記","Quick reaction":"快速按讚","If enabled, you can react with a single click. Click and hold for more options":"啟用後,您可以透過單擊進行按讚。長按以獲取更多選項","Quick reaction emoji":"快速按讚表情","Select emoji":"選擇表情","NSFW content display":"NSFW 內容顯示","Hide completely":"完全隱藏","Show but hide content":"顯示但隱藏內容","Show directly":"直接顯示","Click to view":"點擊檢視","Special Follow":"特別關注","Unfollow Special":"取消特別關注","Personal Feeds":"個人訂閱","Relay Feeds":"中繼訂閱","Welcome to Smesh!":"歡迎來到 Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"你的動態是空的,因為你還沒有關注任何人。開始探索有趣的內容並關注你喜歡的用戶吧!","Search Users":"搜尋用戶","Create New Account":"建立新帳戶",Important:"重要","Generate Your Account":"生成你的帳戶","Your private key IS your account. Keep it safe!":"你的私鑰就是你的帳戶。請妥善保管!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"在 Nostr 中,你的私鑰就是你的帳戶。如果你遺失了私鑰,你將永遠失去你的帳戶。","Your Private Key":"你的私鑰","Generate new key":"生成新金鑰","Download Backup File":"下載備份檔案","Copied to Clipboard":"已複製到剪貼簿","Copy to Clipboard":"複製到剪貼簿","I already saved my private key securely.":"我已經安全地儲存了我的私鑰。","Almost Done!":"即將完成!","Set a password to encrypt your key, or skip to finish":"設定密碼來加密你的金鑰,或跳過以完成","Password Protection (Optional)":"密碼保護(可選)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"設定密碼會在此瀏覽器中加密你的私鑰。你可以跳過此步驟,但我們建議設定密碼以增強安全性。","Password (Optional)":"密碼(可選)","Enter password or leave empty to skip":"輸入密碼或留空以跳過","Confirm Password":"確認密碼","Re-enter password":"重新輸入密碼","Passwords do not match":"密碼不符合","Finish Signup":"完成註冊","Create Your Nostr Account":"建立你的 Nostr 帳戶","Generate your unique private key. This is your digital identity.":"生成你的專屬私鑰。這是你的數位身份。","Critical: Save Your Private Key":"重要:儲存你的私鑰","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"你的私鑰就是你的帳戶。沒有密碼找回功能。如果遺失,你將永遠失去你的帳戶。請將其儲存在安全的地方。","I have safely backed up my private key":"我已安全備份我的私鑰","Secure Your Account":"保護你的帳戶","Add an extra layer of protection with a password":"使用密碼新增額外的保護層","Password Protection (Recommended)":"密碼保護(推薦)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"新增密碼以在此瀏覽器中加密你的私鑰。這是可選的,但強烈建議設定以獲得更好的安全性。","Create a password (or skip)":"建立密碼(或跳過)","Enter your password again":"再次輸入你的密碼","Complete Signup":"完成註冊",Recommended:"推薦"}},t2e={ar:{resource:Dbe,name:"العربية"},bg:{resource:Lbe,name:"Български"},de:{resource:Pbe,name:"Deutsch"},en:{resource:Obe,name:"English"},es:{resource:zbe,name:"Español"},fa:{resource:Fbe,name:"فارسی"},fr:{resource:Bbe,name:"Français"},hi:{resource:Ube,name:"हिन्दी"},hr:{resource:$be,name:"Hrvatski"},hu:{resource:Vbe,name:"Magyar"},it:{resource:Hbe,name:"Italiano"},ja:{resource:Wbe,name:"日本語"},ko:{resource:Ybe,name:"한국어"},pl:{resource:Gbe,name:"Polski"},"pt-BR":{resource:qbe,name:"Português (Brasil)"},"pt-PT":{resource:Kbe,name:"Português (Portugal)"},ru:{resource:Zbe,name:"Русский"},sr:{resource:Qbe,name:"Српски"},th:{resource:Jbe,name:"ไทย"},zh:{resource:Xbe,name:"简体中文"},"zh-TW":{resource:e2e,name:"繁體中文"}},zR={},bJ={},xJ=[];for(const[t,e]of Object.entries(t2e)){const n=t;zR[n]=e.name,bJ[n]=e.resource,xJ.push(n)}ca.use(gJ).use(Abe).init({fallbackLng:"en",resources:bJ,interpolation:{escapeValue:!1},detection:{convertDetectedLanguage:t=>(console.log("Detected language:",t),t.startsWith("zh")?["zh","zh-CN","zh-SG"].includes(t)?"zh":"zh-TW":xJ.find(n=>t.startsWith(n))||"en")}});var aJ;(aJ=ca.services.formatter)==null||aJ.add("date",(t,e)=>{switch(e){case"zh":case"zh-TW":case"ja":return En(t).format("YYYY年MM月DD日");case"bg":case"hr":case"pl":case"de":case"ru":case"sr":return En(t).format("DD.MM.YYYY");case"fa":case"hu":return En(t).format("YYYY/MM/DD");case"it":case"es":case"fr":case"pt-BR":case"pt-PT":case"ar":case"hi":case"th":return En(t).format("DD/MM/YYYY");case"ko":return En(t).format("YYYY년 MM월 DD일");default:return En(t).format("MMM D, YYYY")}});Array.prototype.findLast||(Array.prototype.findLast=function(t,e){if(this==null)throw new TypeError("Array.prototype.findLast called on null or undefined");if(typeof t!="function")throw new TypeError("predicate must be a function");const n=Object(this),r=n.length>>>0;let o;for(let s=r-1;s>=0;s--)if(o=n[s],t.call(e,o,s,n))return o});if(typeof AggregateError>"u"){class t extends Error{constructor(r,o){super(o);je(this,"errors");this.errors=r,this.name="AggregateError"}}globalThis.AggregateError=t}Promise.any||(Promise.any=function(t){return new Promise((e,n)=>{const r=[];let o=t.length;if(o===0)return n(new AggregateError([],"All promises were rejected"));t.forEach((s,a)=>{Promise.resolve(s).then(e).catch(i=>{r[a]=i,o-=1,o===0&&n(new AggregateError(r,"All promises were rejected"))})})})});function qF(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function kJ(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function n2e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");qF(t.outputLen),qF(t.blockLen)}function ik(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function r2e(t,e){kJ(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const xI=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const jJ=t=>t instanceof Uint8Array,kI=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),xu=(t,e)=>t<<32-e|t>>>e,o2e=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!o2e)throw new Error("Non little-endian hardware is not supported");function s2e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function FR(t){if(typeof t=="string"&&(t=s2e(t)),!jJ(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function a2e(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!jJ(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}let CJ=class{clone(){return this._cloneInto()}};function i2e(t){const e=r=>t().update(FR(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function SJ(t=32){if(xI&&typeof xI.getRandomValues=="function")return xI.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function l2e(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}let c2e=class extends CJ{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=kI(this.buffer)}update(e){ik(this);const{view:n,buffer:r,blockLen:o}=this;e=FR(e);const s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=kI(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ik(this),r2e(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;l2e(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=kI(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}};const u2e=(t,e,n)=>t&e^~t&n,f2e=(t,e,n)=>t&e^t&n^e&n,d2e=new Uint32Array([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]),Qd=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Jd=new Uint32Array(64);let p2e=class extends c2e{constructor(){super(64,32,8,!1),this.A=Qd[0]|0,this.B=Qd[1]|0,this.C=Qd[2]|0,this.D=Qd[3]|0,this.E=Qd[4]|0,this.F=Qd[5]|0,this.G=Qd[6]|0,this.H=Qd[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)Jd[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=Jd[f-15],g=Jd[f-2],w=xu(m,7)^xu(m,18)^m>>>3,b=xu(g,17)^xu(g,19)^g>>>10;Jd[f]=b+Jd[f-7]+w+Jd[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=xu(i,6)^xu(i,11)^xu(i,25),g=d+m+u2e(i,l,u)+d2e[f]+Jd[f]|0,b=(xu(r,2)^xu(r,13)^xu(r,22))+f2e(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){Jd.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const s_=i2e(()=>new p2e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const EJ=BigInt(0),aC=BigInt(1),h2e=BigInt(2),iC=t=>t instanceof Uint8Array,m2e=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Kc(t){if(!iC(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=m2e[t[n]];return e}function NJ(t){const e=t.toString(16);return e.length&1?`0${e}`:e}function BR(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function ad(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}function Si(t){return BR(Kc(t))}function UR(t){if(!iC(t))throw new Error("Uint8Array expected");return BR(Kc(Uint8Array.from(t).reverse()))}function Jp(t,e){return ad(t.toString(16).padStart(e*2,"0"))}function $R(t,e){return Jp(t,e).reverse()}function g2e(t){return ad(NJ(t))}function ka(t,e,n){let r;if(typeof e=="string")try{r=ad(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(iC(e))r=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);const o=r.length;if(typeof n=="number"&&o!==n)throw new Error(`${t} expected ${n} bytes, got ${o}`);return r}function ig(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!iC(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}function y2e(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function v2e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function w2e(t){let e;for(e=0;t>EJ;t>>=aC,e+=1);return e}function b2e(t,e){return t>>BigInt(e)&aC}const x2e=(t,e,n)=>t|(n?aC:EJ)<<BigInt(e),VR=t=>(h2e<<BigInt(t-1))-aC,jI=t=>new Uint8Array(t),KF=t=>Uint8Array.from(t);function IJ(t,e,n){if(typeof t!="number"||t<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 n!="function")throw new Error("hmacFn must be a function");let r=jI(t),o=jI(t),s=0;const a=()=>{r.fill(1),o.fill(0),s=0},i=(...f)=>n(o,r,...f),l=(f=jI())=>{o=i(KF([0]),f),r=i(),f.length!==0&&(o=i(KF([1]),f),r=i())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0;const m=[];for(;f<e;){r=i();const g=r.slice();m.push(g),f+=r.length}return ig(...m)};return(f,m)=>{a(),l(f);let g;for(;!(g=m(u()));)l();return a(),g}}const k2e={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function L2(t,e,n={}){const r=(o,s,a)=>{const i=k2e[s];if(typeof i!="function")throw new Error(`Invalid validator "${s}", expected function`);const l=t[o];if(!(a&&l===void 0)&&!i(l,t))throw new Error(`Invalid param ${String(o)}=${l} (${typeof l}), expected ${s}`)};for(const[o,s]of Object.entries(e))r(o,s,!1);for(const[o,s]of Object.entries(n))r(o,s,!0);return t}const j2e=Object.freeze(Object.defineProperty({__proto__:null,bitGet:b2e,bitLen:w2e,bitMask:VR,bitSet:x2e,bytesToHex:Kc,bytesToNumberBE:Si,bytesToNumberLE:UR,concatBytes:ig,createHmacDrbg:IJ,ensureBytes:ka,equalBytes:y2e,hexToBytes:ad,hexToNumber:BR,numberToBytesBE:Jp,numberToBytesLE:$R,numberToHexUnpadded:NJ,numberToVarBytesBE:g2e,utf8ToBytes:v2e,validateObject:L2},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ts=BigInt(0),Bo=BigInt(1),xm=BigInt(2),C2e=BigInt(3),a_=BigInt(4),ZF=BigInt(5),QF=BigInt(8);BigInt(9);BigInt(16);function ra(t,e){const n=t%e;return n>=Ts?n:e+n}function S2e(t,e,n){if(n<=Ts||e<Ts)throw new Error("Expected power/modulo > 0");if(n===Bo)return Ts;let r=Bo;for(;e>Ts;)e&Bo&&(r=r*t%n),t=t*t%n,e>>=Bo;return r}function Ml(t,e,n){let r=t;for(;e-- >Ts;)r*=r,r%=n;return r}function i_(t,e){if(t===Ts||e<=Ts)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=ra(t,e),r=e,o=Ts,s=Bo;for(;n!==Ts;){const i=r/n,l=r%n,u=o-s*i;r=n,n=l,o=s,s=u}if(r!==Bo)throw new Error("invert: does not exist");return ra(o,e)}function E2e(t){const e=(t-Bo)/xm;let n,r,o;for(n=t-Bo,r=0;n%xm===Ts;n/=xm,r++);for(o=xm;o<t&&S2e(o,e,t)!==t-Bo;o++);if(r===1){const a=(t+Bo)/a_;return function(l,u){const d=l.pow(u,a);if(!l.eql(l.sqr(d),u))throw new Error("Cannot find square root");return d}}const s=(n+Bo)/xm;return function(i,l){if(i.pow(l,e)===i.neg(i.ONE))throw new Error("Cannot find square root");let u=r,d=i.pow(i.mul(i.ONE,o),n),f=i.pow(l,s),m=i.pow(l,n);for(;!i.eql(m,i.ONE);){if(i.eql(m,i.ZERO))return i.ZERO;let g=1;for(let b=i.sqr(m);g<u&&!i.eql(b,i.ONE);g++)b=i.sqr(b);const w=i.pow(d,Bo<<BigInt(u-g-1));d=i.sqr(w),f=i.mul(f,w),m=i.mul(m,d),u=g}return f}}function N2e(t){if(t%a_===C2e){const e=(t+Bo)/a_;return function(r,o){const s=r.pow(o,e);if(!r.eql(r.sqr(s),o))throw new Error("Cannot find square root");return s}}if(t%QF===ZF){const e=(t-ZF)/QF;return function(r,o){const s=r.mul(o,xm),a=r.pow(s,e),i=r.mul(o,a),l=r.mul(r.mul(i,xm),a),u=r.mul(i,r.sub(l,r.ONE));if(!r.eql(r.sqr(u),o))throw new Error("Cannot find square root");return u}}return E2e(t)}const I2e=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function A2e(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=I2e.reduce((r,o)=>(r[o]="function",r),e);return L2(t,n)}function _2e(t,e,n){if(n<Ts)throw new Error("Expected power > 0");if(n===Ts)return t.ONE;if(n===Bo)return e;let r=t.ONE,o=e;for(;n>Ts;)n&Bo&&(r=t.mul(r,o)),o=t.sqr(o),n>>=Bo;return r}function M2e(t,e){const n=new Array(e.length),r=e.reduce((s,a,i)=>t.is0(a)?s:(n[i]=s,t.mul(s,a)),t.ONE),o=t.inv(r);return e.reduceRight((s,a,i)=>t.is0(a)?s:(n[i]=t.mul(s,n[i]),t.mul(s,a)),o),n}function AJ(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function R2e(t,e,n=!1,r={}){if(t<=Ts)throw new Error(`Expected Field ORDER > 0, got ${t}`);const{nBitLength:o,nByteLength:s}=AJ(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const a=N2e(t),i=Object.freeze({ORDER:t,BITS:o,BYTES:s,MASK:VR(o),ZERO:Ts,ONE:Bo,create:l=>ra(l,t),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return Ts<=l&&l<t},is0:l=>l===Ts,isOdd:l=>(l&Bo)===Bo,neg:l=>ra(-l,t),eql:(l,u)=>l===u,sqr:l=>ra(l*l,t),add:(l,u)=>ra(l+u,t),sub:(l,u)=>ra(l-u,t),mul:(l,u)=>ra(l*u,t),pow:(l,u)=>_2e(i,l,u),div:(l,u)=>ra(l*i_(u,t),t),sqrN:l=>l*l,addN:(l,u)=>l+u,subN:(l,u)=>l-u,mulN:(l,u)=>l*u,inv:l=>i_(l,t),sqrt:r.sqrt||(l=>a(i,l)),invertBatch:l=>M2e(i,l),cmov:(l,u,d)=>d?u:l,toBytes:l=>n?$R(l,s):Jp(l,s),fromBytes:l=>{if(l.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${l.length}`);return n?UR(l):Si(l)}});return Object.freeze(i)}function _J(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function MJ(t){const e=_J(t);return e+Math.ceil(e/2)}function T2e(t,e,n=!1){const r=t.length,o=_J(e),s=MJ(e);if(r<16||r<s||r>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${r}`);const a=n?Si(t):UR(t),i=ra(a,e-Bo)+Bo;return n?$R(i,o):Jp(i,o)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const D2e=BigInt(0),CI=BigInt(1);function L2e(t,e){const n=(o,s)=>{const a=s.negate();return o?a:s},r=o=>{const s=Math.ceil(e/o)+1,a=2**(o-1);return{windows:s,windowSize:a}};return{constTimeNegate:n,unsafeLadder(o,s){let a=t.ZERO,i=o;for(;s>D2e;)s&CI&&(a=a.add(i)),i=i.double(),s>>=CI;return a},precomputeWindow(o,s){const{windows:a,windowSize:i}=r(s),l=[];let u=o,d=u;for(let f=0;f<a;f++){d=u,l.push(d);for(let m=1;m<i;m++)d=d.add(u),l.push(d);u=d.double()}return l},wNAF(o,s,a){const{windows:i,windowSize:l}=r(o);let u=t.ZERO,d=t.BASE;const f=BigInt(2**o-1),m=2**o,g=BigInt(o);for(let w=0;w<i;w++){const b=w*l;let j=Number(a&f);a>>=g,j>l&&(j-=m,a+=CI);const S=b,I=b+Math.abs(j)-1,N=w%2!==0,M=j<0;j===0?d=d.add(n(N,s[S])):u=u.add(n(M,s[I]))}return{p:u,f:d}},wNAFCached(o,s,a,i){const l=o._WINDOW_SIZE||1;let u=s.get(o);return u||(u=this.precomputeWindow(o,l),l!==1&&s.set(o,i(u))),this.wNAF(l,u,a)}}}function RJ(t){return A2e(t.Fp),L2(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...AJ(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function P2e(t){const e=RJ(t);L2(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:o}=e;if(n){if(!r.eql(o,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:O2e,hexToBytes:z2e}=j2e,Dm={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){const{Err:e}=Dm;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");const n=t[1],r=t.subarray(2,n+2);if(!n||r.length!==n)throw new e("Invalid signature integer: wrong length");if(r[0]&128)throw new e("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:O2e(r),l:t.subarray(n+2)}},toSig(t){const{Err:e}=Dm,n=typeof t=="string"?z2e(t):t;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||n[0]!=48)throw new e("Invalid signature tag");if(n[1]!==r-2)throw new e("Invalid signature: incorrect length");const{d:o,l:s}=Dm._parseInt(n.subarray(2)),{d:a,l:i}=Dm._parseInt(s);if(i.length)throw new e("Invalid signature: left bytes after parsing");return{r:o,s:a}},hexFromSig(t){const e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,n=u=>{const d=u.toString(16);return d.length&1?`0${d}`:d},r=e(n(t.s)),o=e(n(t.r)),s=r.length/2,a=o.length/2,i=n(s),l=n(a);return`30${n(a+s+4)}02${l}${o}02${i}${r}`}},qf=BigInt(0),Ll=BigInt(1);BigInt(2);const JF=BigInt(3);BigInt(4);function F2e(t){const e=P2e(t),{Fp:n}=e,r=e.toBytes||((w,b,j)=>{const S=b.toAffine();return ig(Uint8Array.from([4]),n.toBytes(S.x),n.toBytes(S.y))}),o=e.fromBytes||(w=>{const b=w.subarray(1),j=n.fromBytes(b.subarray(0,n.BYTES)),S=n.fromBytes(b.subarray(n.BYTES,2*n.BYTES));return{x:j,y:S}});function s(w){const{a:b,b:j}=e,S=n.sqr(w),I=n.mul(S,w);return n.add(n.add(I,n.mul(w,b)),j)}if(!n.eql(n.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return typeof w=="bigint"&&qf<w&&w<e.n}function i(w){if(!a(w))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function l(w){const{allowedPrivateKeyLengths:b,nByteLength:j,wrapPrivateKey:S,n:I}=e;if(b&&typeof w!="bigint"){if(w instanceof Uint8Array&&(w=Kc(w)),typeof w!="string"||!b.includes(w.length))throw new Error("Invalid key");w=w.padStart(j*2,"0")}let N;try{N=typeof w=="bigint"?w:Si(ka("private key",w,j))}catch{throw new Error(`private key must be ${j} bytes, hex or bigint, not ${typeof w}`)}return S&&(N=ra(N,I)),i(N),N}const u=new Map;function d(w){if(!(w instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(b,j,S){if(this.px=b,this.py=j,this.pz=S,b==null||!n.isValid(b))throw new Error("x required");if(j==null||!n.isValid(j))throw new Error("y required");if(S==null||!n.isValid(S))throw new Error("z required")}static fromAffine(b){const{x:j,y:S}=b||{};if(!b||!n.isValid(j)||!n.isValid(S))throw new Error("invalid affine point");if(b instanceof f)throw new Error("projective point not allowed");const I=N=>n.eql(N,n.ZERO);return I(j)&&I(S)?f.ZERO:new f(j,S,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(b){const j=n.invertBatch(b.map(S=>S.pz));return b.map((S,I)=>S.toAffine(j[I])).map(f.fromAffine)}static fromHex(b){const j=f.fromAffine(o(ka("pointHex",b)));return j.assertValidity(),j}static fromPrivateKey(b){return f.BASE.multiply(l(b))}_setWindowSize(b){this._WINDOW_SIZE=b,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:b,y:j}=this.toAffine();if(!n.isValid(b)||!n.isValid(j))throw new Error("bad point: x or y not FE");const S=n.sqr(j),I=s(b);if(!n.eql(S,I))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:b}=this.toAffine();if(n.isOdd)return!n.isOdd(b);throw new Error("Field doesn't support isOdd")}equals(b){d(b);const{px:j,py:S,pz:I}=this,{px:N,py:M,pz:D}=b,P=n.eql(n.mul(j,D),n.mul(N,I)),L=n.eql(n.mul(S,D),n.mul(M,I));return P&&L}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:b,b:j}=e,S=n.mul(j,JF),{px:I,py:N,pz:M}=this;let D=n.ZERO,P=n.ZERO,L=n.ZERO,F=n.mul(I,I),T=n.mul(N,N),R=n.mul(M,M),z=n.mul(I,N);return z=n.add(z,z),L=n.mul(I,M),L=n.add(L,L),D=n.mul(b,L),P=n.mul(S,R),P=n.add(D,P),D=n.sub(T,P),P=n.add(T,P),P=n.mul(D,P),D=n.mul(z,D),L=n.mul(S,L),R=n.mul(b,R),z=n.sub(F,R),z=n.mul(b,z),z=n.add(z,L),L=n.add(F,F),F=n.add(L,F),F=n.add(F,R),F=n.mul(F,z),P=n.add(P,F),R=n.mul(N,M),R=n.add(R,R),F=n.mul(R,z),D=n.sub(D,F),L=n.mul(R,T),L=n.add(L,L),L=n.add(L,L),new f(D,P,L)}add(b){d(b);const{px:j,py:S,pz:I}=this,{px:N,py:M,pz:D}=b;let P=n.ZERO,L=n.ZERO,F=n.ZERO;const T=e.a,R=n.mul(e.b,JF);let z=n.mul(j,N),G=n.mul(S,M),Z=n.mul(I,D),W=n.add(j,S),U=n.add(N,M);W=n.mul(W,U),U=n.add(z,G),W=n.sub(W,U),U=n.add(j,I);let ee=n.add(N,D);return U=n.mul(U,ee),ee=n.add(z,Z),U=n.sub(U,ee),ee=n.add(S,I),P=n.add(M,D),ee=n.mul(ee,P),P=n.add(G,Z),ee=n.sub(ee,P),F=n.mul(T,U),P=n.mul(R,Z),F=n.add(P,F),P=n.sub(G,F),F=n.add(G,F),L=n.mul(P,F),G=n.add(z,z),G=n.add(G,z),Z=n.mul(T,Z),U=n.mul(R,U),G=n.add(G,Z),Z=n.sub(z,Z),Z=n.mul(T,Z),U=n.add(U,Z),z=n.mul(G,U),L=n.add(L,z),z=n.mul(ee,U),P=n.mul(W,P),P=n.sub(P,z),z=n.mul(W,G),F=n.mul(ee,F),F=n.add(F,z),new f(P,L,F)}subtract(b){return this.add(b.negate())}is0(){return this.equals(f.ZERO)}wNAF(b){return g.wNAFCached(this,u,b,j=>{const S=n.invertBatch(j.map(I=>I.pz));return j.map((I,N)=>I.toAffine(S[N])).map(f.fromAffine)})}multiplyUnsafe(b){const j=f.ZERO;if(b===qf)return j;if(i(b),b===Ll)return this;const{endo:S}=e;if(!S)return g.unsafeLadder(this,b);let{k1neg:I,k1:N,k2neg:M,k2:D}=S.splitScalar(b),P=j,L=j,F=this;for(;N>qf||D>qf;)N&Ll&&(P=P.add(F)),D&Ll&&(L=L.add(F)),F=F.double(),N>>=Ll,D>>=Ll;return I&&(P=P.negate()),M&&(L=L.negate()),L=new f(n.mul(L.px,S.beta),L.py,L.pz),P.add(L)}multiply(b){i(b);let j=b,S,I;const{endo:N}=e;if(N){const{k1neg:M,k1:D,k2neg:P,k2:L}=N.splitScalar(j);let{p:F,f:T}=this.wNAF(D),{p:R,f:z}=this.wNAF(L);F=g.constTimeNegate(M,F),R=g.constTimeNegate(P,R),R=new f(n.mul(R.px,N.beta),R.py,R.pz),S=F.add(R),I=T.add(z)}else{const{p:M,f:D}=this.wNAF(j);S=M,I=D}return f.normalizeZ([S,I])[0]}multiplyAndAddUnsafe(b,j,S){const I=f.BASE,N=(D,P)=>P===qf||P===Ll||!D.equals(I)?D.multiplyUnsafe(P):D.multiply(P),M=N(this,j).add(N(b,S));return M.is0()?void 0:M}toAffine(b){const{px:j,py:S,pz:I}=this,N=this.is0();b==null&&(b=N?n.ONE:n.inv(I));const M=n.mul(j,b),D=n.mul(S,b),P=n.mul(I,b);if(N)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:M,y:D}}isTorsionFree(){const{h:b,isTorsionFree:j}=e;if(b===Ll)return!0;if(j)return j(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:b,clearCofactor:j}=e;return b===Ll?this:j?j(f,this):this.multiplyUnsafe(e.h)}toRawBytes(b=!0){return this.assertValidity(),r(f,this,b)}toHex(b=!0){return Kc(this.toRawBytes(b))}}f.BASE=new f(e.Gx,e.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const m=e.nBitLength,g=L2e(f,e.endo?Math.ceil(m/2):m);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:a}}function B2e(t){const e=RJ(t);return L2(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function U2e(t){const e=B2e(t),{Fp:n,n:r}=e,o=n.BYTES+1,s=2*n.BYTES+1;function a(U){return qf<U&&U<n.ORDER}function i(U){return ra(U,r)}function l(U){return i_(U,r)}const{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:m}=F2e({...e,toBytes(U,ee,$){const H=ee.toAffine(),Y=n.toBytes(H.x),q=ig;return $?q(Uint8Array.from([ee.hasEvenY()?2:3]),Y):q(Uint8Array.from([4]),Y,n.toBytes(H.y))},fromBytes(U){const ee=U.length,$=U[0],H=U.subarray(1);if(ee===o&&($===2||$===3)){const Y=Si(H);if(!a(Y))throw new Error("Point is not on curve");const q=f(Y);let J=n.sqrt(q);const ne=(J&Ll)===Ll;return($&1)===1!==ne&&(J=n.neg(J)),{x:Y,y:J}}else if(ee===s&&$===4){const Y=n.fromBytes(H.subarray(0,n.BYTES)),q=n.fromBytes(H.subarray(n.BYTES,2*n.BYTES));return{x:Y,y:q}}else throw new Error(`Point of length ${ee} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),g=U=>Kc(Jp(U,e.nByteLength));function w(U){const ee=r>>Ll;return U>ee}function b(U){return w(U)?i(-U):U}const j=(U,ee,$)=>Si(U.slice(ee,$));class S{constructor(ee,$,H){this.r=ee,this.s=$,this.recovery=H,this.assertValidity()}static fromCompact(ee){const $=e.nByteLength;return ee=ka("compactSignature",ee,$*2),new S(j(ee,0,$),j(ee,$,2*$))}static fromDER(ee){const{r:$,s:H}=Dm.toSig(ka("DER",ee));return new S($,H)}assertValidity(){if(!m(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!m(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(ee){return new S(this.r,this.s,ee)}recoverPublicKey(ee){const{r:$,s:H,recovery:Y}=this,q=L(ka("msgHash",ee));if(Y==null||![0,1,2,3].includes(Y))throw new Error("recovery id invalid");const J=Y===2||Y===3?$+e.n:$;if(J>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const ne=(Y&1)===0?"02":"03",re=u.fromHex(ne+g(J)),de=l(J),Ee=i(-q*de),we=i(H*de),xe=u.BASE.multiplyAndAddUnsafe(re,Ee,we);if(!xe)throw new Error("point at infinify");return xe.assertValidity(),xe}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new S(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return ad(this.toDERHex())}toDERHex(){return Dm.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ad(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}const I={isValidPrivateKey(U){try{return d(U),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{const U=MJ(e.n);return T2e(e.randomBytes(U),e.n)},precompute(U=8,ee=u.BASE){return ee._setWindowSize(U),ee.multiply(BigInt(3)),ee}};function N(U,ee=!0){return u.fromPrivateKey(U).toRawBytes(ee)}function M(U){const ee=U instanceof Uint8Array,$=typeof U=="string",H=(ee||$)&&U.length;return ee?H===o||H===s:$?H===2*o||H===2*s:U instanceof u}function D(U,ee,$=!0){if(M(U))throw new Error("first arg must be private key");if(!M(ee))throw new Error("second arg must be public key");return u.fromHex(ee).multiply(d(U)).toRawBytes($)}const P=e.bits2int||function(U){const ee=Si(U),$=U.length*8-e.nBitLength;return $>0?ee>>BigInt($):ee},L=e.bits2int_modN||function(U){return i(P(U))},F=VR(e.nBitLength);function T(U){if(typeof U!="bigint")throw new Error("bigint expected");if(!(qf<=U&&U<F))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Jp(U,e.nByteLength)}function R(U,ee,$=z){if(["recovered","canonical"].some(pe=>pe in $))throw new Error("sign() legacy options not supported");const{hash:H,randomBytes:Y}=e;let{lowS:q,prehash:J,extraEntropy:ne}=$;q==null&&(q=!0),U=ka("msgHash",U),J&&(U=ka("prehashed msgHash",H(U)));const re=L(U),de=d(ee),Ee=[T(de),T(re)];if(ne!=null){const pe=ne===!0?Y(n.BYTES):ne;Ee.push(ka("extraEntropy",pe))}const we=ig(...Ee),xe=re;function ce(pe){const he=P(pe);if(!m(he))return;const ke=l(he),le=u.BASE.multiply(he).toAffine(),ye=i(le.x);if(ye===qf)return;const ve=i(ke*i(xe+ye*de));if(ve===qf)return;let Ie=(le.x===ye?0:2)|Number(le.y&Ll),Ve=ve;return q&&w(ve)&&(Ve=b(ve),Ie^=1),new S(ye,Ve,Ie)}return{seed:we,k2sig:ce}}const z={lowS:e.lowS,prehash:!1},G={lowS:e.lowS,prehash:!1};function Z(U,ee,$=z){const{seed:H,k2sig:Y}=R(U,ee,$),q=e;return IJ(q.hash.outputLen,q.nByteLength,q.hmac)(H,Y)}u.BASE._setWindowSize(8);function W(U,ee,$,H=G){var le;const Y=U;if(ee=ka("msgHash",ee),$=ka("publicKey",$),"strict"in H)throw new Error("options.strict was renamed to lowS");const{lowS:q,prehash:J}=H;let ne,re;try{if(typeof Y=="string"||Y instanceof Uint8Array)try{ne=S.fromDER(Y)}catch(ye){if(!(ye instanceof Dm.Err))throw ye;ne=S.fromCompact(Y)}else if(typeof Y=="object"&&typeof Y.r=="bigint"&&typeof Y.s=="bigint"){const{r:ye,s:ve}=Y;ne=new S(ye,ve)}else throw new Error("PARSE");re=u.fromHex($)}catch(ye){if(ye.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(q&&ne.hasHighS())return!1;J&&(ee=e.hash(ee));const{r:de,s:Ee}=ne,we=L(ee),xe=l(Ee),ce=i(we*xe),pe=i(de*xe),he=(le=u.BASE.multiplyAndAddUnsafe(re,ce,pe))==null?void 0:le.toAffine();return he?i(he.x)===de:!1}return{CURVE:e,getPublicKey:N,getSharedSecret:D,sign:Z,verify:W,ProjectivePoint:u,Signature:S,utils:I}}let TJ=class extends CJ{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,n2e(e);const r=FR(n);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 o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?e.create().update(r).digest():r);for(let a=0;a<s.length;a++)s[a]^=54;this.iHash.update(s),this.oHash=e.create();for(let a=0;a<s.length;a++)s[a]^=106;this.oHash.update(s),s.fill(0)}update(e){return ik(this),this.iHash.update(e),this}digestInto(e){ik(this),kJ(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:n,iHash:r,finished:o,destroyed:s,blockLen:a,outputLen:i}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=a,e.outputLen=i,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const DJ=(t,e,n)=>new TJ(t,e).update(n).digest();DJ.create=(t,e)=>new TJ(t,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function $2e(t){return{hash:t,hmac:(e,...n)=>DJ(t,e,a2e(...n)),randomBytes:SJ}}function V2e(t,e){const n=r=>U2e({...t,...$2e(r)});return Object.freeze({...n(e),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const lC=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),lk=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),LJ=BigInt(1),ck=BigInt(2),XF=(t,e)=>(t+e/ck)/e;function PJ(t){const e=lC,n=BigInt(3),r=BigInt(6),o=BigInt(11),s=BigInt(22),a=BigInt(23),i=BigInt(44),l=BigInt(88),u=t*t*t%e,d=u*u*t%e,f=Ml(d,n,e)*d%e,m=Ml(f,n,e)*d%e,g=Ml(m,ck,e)*u%e,w=Ml(g,o,e)*g%e,b=Ml(w,s,e)*w%e,j=Ml(b,i,e)*b%e,S=Ml(j,l,e)*j%e,I=Ml(S,i,e)*b%e,N=Ml(I,n,e)*d%e,M=Ml(N,a,e)*w%e,D=Ml(M,r,e)*u%e,P=Ml(D,ck,e);if(!l_.eql(l_.sqr(P),t))throw new Error("Cannot find square root");return P}const l_=R2e(lC,void 0,void 0,{sqrt:PJ}),ql=V2e({a:BigInt(0),b:BigInt(7),Fp:l_,n:lk,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=lk,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-LJ*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,a=BigInt("0x100000000000000000000000000000000"),i=XF(s*t,e),l=XF(-r*t,e);let u=ra(t-i*n-l*o,e),d=ra(-i*r-l*s,e);const f=u>a,m=d>a;if(f&&(u=e-u),m&&(d=e-d),u>a||d>a)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:m,k2:d}}}},s_),cC=BigInt(0),OJ=t=>typeof t=="bigint"&&cC<t&&t<lC,H2e=t=>typeof t=="bigint"&&cC<t&&t<lk,eB={};function uk(t,...e){let n=eB[t];if(n===void 0){const r=s_(Uint8Array.from(t,o=>o.charCodeAt(0)));n=ig(r,r),eB[t]=n}return s_(ig(n,...e))}const HR=t=>t.toRawBytes(!0).slice(1),c_=t=>Jp(t,32),SI=t=>ra(t,lC),wb=t=>ra(t,lk),WR=ql.ProjectivePoint,W2e=(t,e,n)=>WR.BASE.multiplyAndAddUnsafe(t,e,n);function u_(t){let e=ql.utils.normPrivateKeyToScalar(t),n=WR.fromPrivateKey(e);return{scalar:n.hasEvenY()?e:wb(-e),bytes:HR(n)}}function zJ(t){if(!OJ(t))throw new Error("bad x: need 0 < x < p");const e=SI(t*t),n=SI(e*t+BigInt(7));let r=PJ(n);r%ck!==cC&&(r=SI(-r));const o=new WR(t,r,LJ);return o.assertValidity(),o}function FJ(...t){return wb(Si(uk("BIP0340/challenge",...t)))}function Y2e(t){return u_(t).bytes}function G2e(t,e,n=SJ(32)){const r=ka("message",t),{bytes:o,scalar:s}=u_(e),a=ka("auxRand",n,32),i=c_(s^Si(uk("BIP0340/aux",a))),l=uk("BIP0340/nonce",i,o,r),u=wb(Si(l));if(u===cC)throw new Error("sign failed: k is zero");const{bytes:d,scalar:f}=u_(u),m=FJ(d,o,r),g=new Uint8Array(64);if(g.set(d,0),g.set(c_(wb(f+m*s)),32),!BJ(g,r,o))throw new Error("sign: Invalid signature produced");return g}function BJ(t,e,n){const r=ka("signature",t,64),o=ka("message",e),s=ka("publicKey",n,32);try{const a=zJ(Si(s)),i=Si(r.subarray(0,32));if(!OJ(i))return!1;const l=Si(r.subarray(32,64));if(!H2e(l))return!1;const u=FJ(c_(i),HR(a),o),d=W2e(a,l,wb(-u));return!(!d||!d.hasEvenY()||d.toAffine().x!==i)}catch{return!1}}const Ga={getPublicKey:Y2e,sign:G2e,verify:BJ,utils:{randomPrivateKey:ql.utils.randomPrivateKey,lift_x:zJ,pointToBytes:HR,numberToBytesBE:Jp,bytesToNumberBE:Si,taggedHash:uk,mod:ra}},EI=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const YR=t=>t instanceof Uint8Array,NI=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),m3=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ku=(t,e)=>t<<32-e|t>>>e,q2e=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!q2e)throw new Error("Non little-endian hardware is not supported");const K2e=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Lr(t){if(!YR(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=K2e[t[n]];return e}function lg(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}function Z2e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function cg(t){if(typeof t=="string"&&(t=Z2e(t)),!YR(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function vh(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!YR(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}let UJ=class{clone(){return this._cloneInto()}};const Q2e=t=>Object.prototype.toString.call(t)==="[object Object]"&&t.constructor===Object;function $J(t,e){if(e!==void 0&&(typeof e!="object"||!Q2e(e)))throw new Error("Options should be object or undefined");return Object.assign(t,e)}function VJ(t){const e=r=>t().update(cg(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function bb(t=32){if(EI&&typeof EI.getRandomValues=="function")return EI.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function f_(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function J2e(t){if(typeof t!="boolean")throw new Error(`Expected boolean, not ${t}`)}function HJ(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function X2e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");f_(t.outputLen),f_(t.blockLen)}function exe(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function txe(t,e){HJ(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const qo={number:f_,bool:J2e,bytes:HJ,hash:X2e,exists:exe,output:txe};function nxe(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}let rxe=class extends UJ{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=m3(this.buffer)}update(e){qo.exists(this);const{view:n,buffer:r,blockLen:o}=this;e=cg(e);const s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=m3(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){qo.exists(this),qo.output(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;nxe(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=m3(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}};const oxe=(t,e,n)=>t&e^~t&n,sxe=(t,e,n)=>t&e^t&n^e&n,axe=new Uint32Array([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]),Xd=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ep=new Uint32Array(64);let WJ=class extends rxe{constructor(){super(64,32,8,!1),this.A=Xd[0]|0,this.B=Xd[1]|0,this.C=Xd[2]|0,this.D=Xd[3]|0,this.E=Xd[4]|0,this.F=Xd[5]|0,this.G=Xd[6]|0,this.H=Xd[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)ep[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=ep[f-15],g=ep[f-2],w=ku(m,7)^ku(m,18)^m>>>3,b=ku(g,17)^ku(g,19)^g>>>10;ep[f]=b+ep[f-7]+w+ep[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=ku(i,6)^ku(i,11)^ku(i,25),g=d+m+oxe(i,l,u)+axe[f]+ep[f]|0,b=(ku(r,2)^ku(r,13)^ku(r,22))+sxe(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){ep.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},ixe=class extends WJ{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}};const gl=VJ(()=>new WJ);VJ(()=>new ixe);/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ty(t){if(!Number.isSafeInteger(t))throw new Error(`Wrong integer: ${t}`)}function hd(...t){const e=(o,s)=>a=>o(s(a)),n=Array.from(t).reverse().reduce((o,s)=>o?e(o,s.encode):s.encode,void 0),r=t.reduce((o,s)=>o?e(o,s.decode):s.decode,void 0);return{encode:n,decode:r}}function md(t){return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return e.map(n=>{if(Ty(n),n<0||n>=t.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${t.length})`);return t[n]})},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("alphabet.decode input should be array of strings");return e.map(n=>{if(typeof n!="string")throw new Error(`alphabet.decode: not string element=${n}`);const r=t.indexOf(n);if(r===-1)throw new Error(`Unknown letter: "${n}". Allowed: ${t}`);return r})}}}function gd(t=""){if(typeof t!="string")throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("join.encode input should be array of strings");for(let n of e)if(typeof n!="string")throw new Error(`join.encode: non-string input=${n}`);return e.join(t)},decode:e=>{if(typeof e!="string")throw new Error("join.decode input should be string");return e.split(t)}}}function uC(t,e="="){if(Ty(t),typeof e!="string")throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let r of n)if(typeof r!="string")throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*t%8;)n.push(e);return n},decode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let o of n)if(typeof o!="string")throw new Error(`padding.decode: non-string input=${o}`);let r=n.length;if(r*t%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if(!((r-1)*t%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function YJ(t){if(typeof t!="function")throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>t(e)}}function tB(t,e,n){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(t))throw new Error("convertRadix: data should be array");if(!t.length)return[];let r=0;const o=[],s=Array.from(t);for(s.forEach(a=>{if(Ty(a),a<0||a>=e)throw new Error(`Wrong integer: ${a}`)});;){let a=0,i=!0;for(let l=r;l<s.length;l++){const u=s[l],d=e*a+u;if(!Number.isSafeInteger(d)||e*a/e!==a||d-u!==e*a)throw new Error("convertRadix: carry overflow");if(a=d%n,s[l]=Math.floor(d/n),!Number.isSafeInteger(s[l])||s[l]*n+a!==d)throw new Error("convertRadix: carry overflow");if(i)s[l]?i=!1:r=l;else continue}if(o.push(a),i)break}for(let a=0;a<t.length-1&&t[a]===0;a++)o.push(0);return o.reverse()}const GJ=(t,e)=>e?GJ(e,t%e):t,fk=(t,e)=>t+(e-GJ(t,e));function d_(t,e,n,r){if(!Array.isArray(t))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(fk(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${fk(e,n)}`);let o=0,s=0;const a=2**n-1,i=[];for(const l of t){if(Ty(l),l>=2**e)throw new Error(`convertRadix2: invalid data word=${l} from=${e}`);if(o=o<<e|l,s+e>32)throw new Error(`convertRadix2: carry overflow pos=${s} from=${e}`);for(s+=e;s>=n;s-=n)i.push((o>>s-n&a)>>>0);o&=2**s-1}if(o=o<<n-s&a,!r&&s>=e)throw new Error("Excess padding");if(!r&&o)throw new Error(`Non-zero padding: ${o}`);return r&&s>0&&i.push(o>>>0),i}function lxe(t){return Ty(t),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return tB(Array.from(e),2**8,t)},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(tB(e,t,2**8))}}}function wh(t,e=!1){if(Ty(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(fk(8,t)>32||fk(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return d_(Array.from(n),8,t,!e)},decode:n=>{if(!Array.isArray(n)||n.length&&typeof n[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(d_(n,t,8,e))}}}function nB(t){if(typeof t!="function")throw new Error("unsafeWrapper fn should be function");return function(...e){try{return t.apply(null,e)}catch{}}}const cxe=hd(wh(4),md("0123456789ABCDEF"),gd("")),uxe=hd(wh(5),md("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),uC(5),gd(""));hd(wh(5),md("0123456789ABCDEFGHIJKLMNOPQRSTUV"),uC(5),gd(""));hd(wh(5),md("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),gd(""),YJ(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const es=hd(wh(6),md("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),uC(6),gd("")),fxe=hd(wh(6),md("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),uC(6),gd("")),GR=t=>hd(lxe(58),md(t),gd("")),p_=GR("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");GR("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");GR("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const rB=[0,2,3,5,6,7,9,10,11],dxe={encode(t){let e="";for(let n=0;n<t.length;n+=8){const r=t.subarray(n,n+8);e+=p_.encode(r).padStart(rB[r.length],"1")}return e},decode(t){let e=[];for(let n=0;n<t.length;n+=11){const r=t.slice(n,n+11),o=rB.indexOf(r.length),s=p_.decode(r);for(let a=0;a<s.length-o;a++)if(s[a]!==0)throw new Error("base58xmr: wrong padding");e=e.concat(Array.from(s.slice(s.length-o)))}return Uint8Array.from(e)}},h_=hd(md("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),gd("")),oB=[996825010,642813549,513874426,1027748829,705979059];function tw(t){const e=t>>25;let n=(t&33554431)<<5;for(let r=0;r<oB.length;r++)(e>>r&1)===1&&(n^=oB[r]);return n}function sB(t,e,n=1){const r=t.length;let o=1;for(let s=0;s<r;s++){const a=t.charCodeAt(s);if(a<33||a>126)throw new Error(`Invalid prefix (${t})`);o=tw(o)^a>>5}o=tw(o);for(let s=0;s<r;s++)o=tw(o)^t.charCodeAt(s)&31;for(let s of e)o=tw(o)^s;for(let s=0;s<6;s++)o=tw(o);return o^=n,h_.encode(d_([o%2**30],30,5,!1))}function qJ(t){const e=t==="bech32"?1:734539939,n=wh(5),r=n.decode,o=n.encode,s=nB(r);function a(d,f,m=90){if(typeof d!="string")throw new Error(`bech32.encode prefix should be string, not ${typeof d}`);if(!Array.isArray(f)||f.length&&typeof f[0]!="number")throw new Error(`bech32.encode words should be array of numbers, not ${typeof f}`);const g=d.length+7+f.length;if(m!==!1&&g>m)throw new TypeError(`Length ${g} exceeds limit ${m}`);return d=d.toLowerCase(),`${d}1${h_.encode(f)}${sB(d,f,e)}`}function i(d,f=90){if(typeof d!="string")throw new Error(`bech32.decode input should be string, not ${typeof d}`);if(d.length<8||f!==!1&&d.length>f)throw new TypeError(`Wrong string length: ${d.length} (${d}). Expected (8..${f})`);const m=d.toLowerCase();if(d!==m&&d!==d.toUpperCase())throw new Error("String must be lowercase or uppercase");d=m;const g=d.lastIndexOf("1");if(g===0||g===-1)throw new Error('Letter "1" must be present between prefix and data only');const w=d.slice(0,g),b=d.slice(g+1);if(b.length<6)throw new Error("Data must be at least 6 characters long");const j=h_.decode(b).slice(0,-6),S=sB(w,j,e);if(!b.endsWith(S))throw new Error(`Invalid checksum in ${d}: expected "${S}"`);return{prefix:w,words:j}}const l=nB(i);function u(d){const{prefix:f,words:m}=i(d,!1);return{prefix:f,words:m,bytes:r(m)}}return{encode:a,decode:i,decodeToBytes:u,decodeUnsafe:l,fromWords:r,fromWordsUnsafe:s,toWords:o}}const Pr=qJ("bech32");qJ("bech32m");const pxe={encode:t=>new TextDecoder().decode(t),decode:t=>new TextEncoder().encode(t)},hxe=hd(wh(4),md("0123456789abcdef"),gd(""),YJ(t=>{if(typeof t!="string"||t.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()})),mxe={utf8:pxe,hex:hxe,base16:cxe,base32:uxe,base64:es,base64url:fxe,base58:p_,base58xmr:dxe};`${Object.keys(mxe).join(", ")}`;function II(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`positive integer expected, not ${t}`)}function aB(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}function KJ(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Ka(t,...e){if(!KJ(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function iB(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function gxe(t,e){Ka(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */const Ea=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),yxe=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),vxe=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!vxe)throw new Error("Non little-endian hardware is not supported");function wxe(t){if(typeof t!="string")throw new Error(`string expected, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function m_(t){if(typeof t=="string")t=wxe(t);else if(KJ(t))t=t.slice();else throw new Error(`Uint8Array expected, got ${typeof t}`);return t}function bxe(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function fC(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}const ZJ=(t,e)=>(Object.assign(e,t),e);function lB(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=4,u=0;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}const Up=16,xxe=283;function qR(t){return t<<1^xxe&-(t>>7)}function d0(t,e){let n=0;for(;e>0;e>>=1)n^=t&-(e&1),t=qR(t);return n}const g_=(()=>{let t=new Uint8Array(256);for(let n=0,r=1;n<256;n++,r^=qR(r))t[n]=r;const e=new Uint8Array(256);e[0]=99;for(let n=0;n<255;n++){let r=t[255-n];r|=r<<8,e[t[n]]=(r^r>>4^r>>5^r>>6^r>>7^99)&255}return e})(),kxe=g_.map((t,e)=>g_.indexOf(e)),jxe=t=>t<<24|t>>>8,AI=t=>t<<8|t>>>24;function QJ(t,e){if(t.length!==256)throw new Error("Wrong sbox length");const n=new Uint32Array(256).map((u,d)=>e(t[d])),r=n.map(AI),o=r.map(AI),s=o.map(AI),a=new Uint32Array(256*256),i=new Uint32Array(256*256),l=new Uint16Array(256*256);for(let u=0;u<256;u++)for(let d=0;d<256;d++){const f=u*256+d;a[f]=n[u]^r[d],i[f]=o[u]^s[d],l[f]=t[u]<<8|t[d]}return{sbox:t,sbox2:l,T0:n,T1:r,T2:o,T3:s,T01:a,T23:i}}const KR=QJ(g_,t=>d0(t,3)<<24|t<<16|t<<8|d0(t,2)),JJ=QJ(kxe,t=>d0(t,11)<<24|d0(t,13)<<16|d0(t,9)<<8|d0(t,14)),Cxe=(()=>{const t=new Uint8Array(16);for(let e=0,n=1;e<16;e++,n=qR(n))t[e]=n;return t})();function XJ(t){Ka(t);const e=t.length;if(![16,24,32].includes(e))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${e}`);const{sbox2:n}=KR,r=Ea(t),o=r.length,s=i=>Bu(n,i,i,i,i),a=new Uint32Array(e+28);a.set(r);for(let i=o;i<a.length;i++){let l=a[i-1];i%o===0?l=s(jxe(l))^Cxe[i/o-1]:o>6&&i%o===4&&(l=s(l)),a[i]=a[i-o]^l}return a}function Sxe(t){const e=XJ(t),n=e.slice(),r=e.length,{sbox2:o}=KR,{T0:s,T1:a,T2:i,T3:l}=JJ;for(let u=0;u<r;u+=4)for(let d=0;d<4;d++)n[u+d]=e[r-u-4+d];e.fill(0);for(let u=4;u<r-4;u++){const d=n[u],f=Bu(o,d,d,d,d);n[u]=s[f&255]^a[f>>>8&255]^i[f>>>16&255]^l[f>>>24]}return n}function Tp(t,e,n,r,o,s){return t[n<<8&65280|r>>>8&255]^e[o>>>8&65280|s>>>24&255]}function Bu(t,e,n,r,o){return t[e&255|n&65280]|t[r>>>16&255|o>>>16&65280]<<16}function cB(t,e,n,r,o){const{sbox2:s,T01:a,T23:i}=KR;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],o^=t[l++];const u=t.length/4-2;for(let w=0;w<u;w++){const b=t[l++]^Tp(a,i,e,n,r,o),j=t[l++]^Tp(a,i,n,r,o,e),S=t[l++]^Tp(a,i,r,o,e,n),I=t[l++]^Tp(a,i,o,e,n,r);e=b,n=j,r=S,o=I}const d=t[l++]^Bu(s,e,n,r,o),f=t[l++]^Bu(s,n,r,o,e),m=t[l++]^Bu(s,r,o,e,n),g=t[l++]^Bu(s,o,e,n,r);return{s0:d,s1:f,s2:m,s3:g}}function Exe(t,e,n,r,o){const{sbox2:s,T01:a,T23:i}=JJ;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],o^=t[l++];const u=t.length/4-2;for(let w=0;w<u;w++){const b=t[l++]^Tp(a,i,e,o,r,n),j=t[l++]^Tp(a,i,n,e,o,r),S=t[l++]^Tp(a,i,r,n,e,o),I=t[l++]^Tp(a,i,o,r,n,e);e=b,n=j,r=S,o=I}const d=t[l++]^Bu(s,e,o,r,n),f=t[l++]^Bu(s,n,e,o,r),m=t[l++]^Bu(s,r,n,e,o),g=t[l++]^Bu(s,o,r,n,e);return{s0:d,s1:f,s2:m,s3:g}}function eX(t,e){if(!e)return new Uint8Array(t);if(Ka(e),e.length<t)throw new Error(`aes: wrong destination length, expected at least ${t}, got: ${e.length}`);return e}function Nxe(t){if(Ka(t),t.length%Up!==0)throw new Error(`aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size ${Up}`)}function Ixe(t,e,n){let r=t.length;const o=r%Up;if(!e&&o!==0)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");const s=Ea(t);if(e){let l=Up-o;l||(l=Up),r=r+l}const a=eX(r,n),i=Ea(a);return{b:s,o:i,out:a}}function Axe(t,e){if(!e)return t;const n=t.length;if(!n)throw new Error("aes/pcks5: empty ciphertext not allowed");const r=t[n-1];if(r<=0||r>16)throw new Error(`aes/pcks5: wrong padding byte: ${r}`);const o=t.subarray(0,-r);for(let s=0;s<r;s++)if(t[n-s-1]!==r)throw new Error("aes/pcks5: wrong padding");return o}function _xe(t){const e=new Uint8Array(16),n=Ea(e);e.set(t);const r=Up-t.length;for(let o=Up-r;o<Up;o++)e[o]=r;return n}const dC=ZJ({blockSize:16,nonceLength:16},function(e,n,r={}){Ka(e),Ka(n,16);const o=!r.disablePadding;return{encrypt:(s,a)=>{const i=XJ(e),{b:l,o:u,out:d}=Ixe(s,o,a),f=Ea(n);let m=f[0],g=f[1],w=f[2],b=f[3],j=0;for(;j+4<=l.length;)m^=l[j+0],g^=l[j+1],w^=l[j+2],b^=l[j+3],{s0:m,s1:g,s2:w,s3:b}=cB(i,m,g,w,b),u[j++]=m,u[j++]=g,u[j++]=w,u[j++]=b;if(o){const S=_xe(s.subarray(j*4));m^=S[0],g^=S[1],w^=S[2],b^=S[3],{s0:m,s1:g,s2:w,s3:b}=cB(i,m,g,w,b),u[j++]=m,u[j++]=g,u[j++]=w,u[j++]=b}return i.fill(0),d},decrypt:(s,a)=>{Nxe(s);const i=Sxe(e),l=Ea(n),u=eX(s.length,a),d=Ea(s),f=Ea(u);let m=l[0],g=l[1],w=l[2],b=l[3];for(let j=0;j+4<=d.length;){const S=m,I=g,N=w,M=b;m=d[j+0],g=d[j+1],w=d[j+2],b=d[j+3];const{s0:D,s1:P,s2:L,s3:F}=Exe(i,m,g,w,b);f[j++]=D^S,f[j++]=P^I,f[j++]=L^N,f[j++]=F^M}return i.fill(0),Axe(u,o)}}}),qs=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class Mxe{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=m_(e),Ka(e,32);const n=qs(e,0),r=qs(e,2),o=qs(e,4),s=qs(e,6),a=qs(e,8),i=qs(e,10),l=qs(e,12),u=qs(e,14);this.r[0]=n&8191,this.r[1]=(n>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|s<<9)&8191,this.r[4]=(s>>>4|a<<12)&255,this.r[5]=a>>>1&8190,this.r[6]=(a>>>14|i<<2)&8191,this.r[7]=(i>>>11|l<<5)&8065,this.r[8]=(l>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let d=0;d<8;d++)this.pad[d]=qs(e,16+2*d)}process(e,n,r=!1){const o=r?0:2048,{h:s,r:a}=this,i=a[0],l=a[1],u=a[2],d=a[3],f=a[4],m=a[5],g=a[6],w=a[7],b=a[8],j=a[9],S=qs(e,n+0),I=qs(e,n+2),N=qs(e,n+4),M=qs(e,n+6),D=qs(e,n+8),P=qs(e,n+10),L=qs(e,n+12),F=qs(e,n+14);let T=s[0]+(S&8191),R=s[1]+((S>>>13|I<<3)&8191),z=s[2]+((I>>>10|N<<6)&8191),G=s[3]+((N>>>7|M<<9)&8191),Z=s[4]+((M>>>4|D<<12)&8191),W=s[5]+(D>>>1&8191),U=s[6]+((D>>>14|P<<2)&8191),ee=s[7]+((P>>>11|L<<5)&8191),$=s[8]+((L>>>8|F<<8)&8191),H=s[9]+(F>>>5|o),Y=0,q=Y+T*i+R*(5*j)+z*(5*b)+G*(5*w)+Z*(5*g);Y=q>>>13,q&=8191,q+=W*(5*m)+U*(5*f)+ee*(5*d)+$*(5*u)+H*(5*l),Y+=q>>>13,q&=8191;let J=Y+T*l+R*i+z*(5*j)+G*(5*b)+Z*(5*w);Y=J>>>13,J&=8191,J+=W*(5*g)+U*(5*m)+ee*(5*f)+$*(5*d)+H*(5*u),Y+=J>>>13,J&=8191;let ne=Y+T*u+R*l+z*i+G*(5*j)+Z*(5*b);Y=ne>>>13,ne&=8191,ne+=W*(5*w)+U*(5*g)+ee*(5*m)+$*(5*f)+H*(5*d),Y+=ne>>>13,ne&=8191;let re=Y+T*d+R*u+z*l+G*i+Z*(5*j);Y=re>>>13,re&=8191,re+=W*(5*b)+U*(5*w)+ee*(5*g)+$*(5*m)+H*(5*f),Y+=re>>>13,re&=8191;let de=Y+T*f+R*d+z*u+G*l+Z*i;Y=de>>>13,de&=8191,de+=W*(5*j)+U*(5*b)+ee*(5*w)+$*(5*g)+H*(5*m),Y+=de>>>13,de&=8191;let Ee=Y+T*m+R*f+z*d+G*u+Z*l;Y=Ee>>>13,Ee&=8191,Ee+=W*i+U*(5*j)+ee*(5*b)+$*(5*w)+H*(5*g),Y+=Ee>>>13,Ee&=8191;let we=Y+T*g+R*m+z*f+G*d+Z*u;Y=we>>>13,we&=8191,we+=W*l+U*i+ee*(5*j)+$*(5*b)+H*(5*w),Y+=we>>>13,we&=8191;let xe=Y+T*w+R*g+z*m+G*f+Z*d;Y=xe>>>13,xe&=8191,xe+=W*u+U*l+ee*i+$*(5*j)+H*(5*b),Y+=xe>>>13,xe&=8191;let ce=Y+T*b+R*w+z*g+G*m+Z*f;Y=ce>>>13,ce&=8191,ce+=W*d+U*u+ee*l+$*i+H*(5*j),Y+=ce>>>13,ce&=8191;let pe=Y+T*j+R*b+z*w+G*g+Z*m;Y=pe>>>13,pe&=8191,pe+=W*f+U*d+ee*u+$*l+H*i,Y+=pe>>>13,pe&=8191,Y=(Y<<2)+Y|0,Y=Y+q|0,q=Y&8191,Y=Y>>>13,J+=Y,s[0]=q,s[1]=J,s[2]=ne,s[3]=re,s[4]=de,s[5]=Ee,s[6]=we,s[7]=xe,s[8]=ce,s[9]=pe}finalize(){const{h:e,pad:n}=this,r=new Uint16Array(10);let o=e[1]>>>13;e[1]&=8191;for(let i=2;i<10;i++)e[i]+=o,o=e[i]>>>13,e[i]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let i=1;i<10;i++)r[i]=e[i]+o,o=r[i]>>>13,r[i]&=8191;r[9]-=8192;let s=(o^1)-1;for(let i=0;i<10;i++)r[i]&=s;s=~s;for(let i=0;i<10;i++)e[i]=e[i]&s|r[i];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let a=e[0]+n[0];e[0]=a&65535;for(let i=1;i<8;i++)a=(e[i]+n[i]|0)+(a>>>16)|0,e[i]=a&65535}update(e){iB(this);const{buffer:n,blockLen:r}=this;e=m_(e);const o=e.length;for(let s=0;s<o;){const a=Math.min(r-this.pos,o-s);if(a===r){for(;r<=o-s;s+=r)this.process(e,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(e){iB(this),gxe(e,this),this.finished=!0;const{buffer:n,h:r}=this;let{pos:o}=this;if(o){for(n[o++]=1;o<16;o++)n[o]=0;this.process(n,0,!0)}this.finalize();let s=0;for(let a=0;a<8;a++)e[s++]=r[a]>>>0,e[s++]=r[a]>>>8;return e}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}}function Rxe(t){const e=(r,o)=>t(o).update(m_(r)).digest(),n=t(new Uint8Array(32));return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}const Txe=Rxe(t=>new Mxe(t)),tX=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),Dxe=tX("expand 16-byte k"),Lxe=tX("expand 32-byte k"),Pxe=Ea(Dxe),nX=Ea(Lxe);nX.slice();function ln(t,e){return t<<e|t>>>32-e}function y_(t){return t.byteOffset%4===0}const e6=64,Oxe=16,rX=2**32-1,uB=new Uint32Array;function zxe(t,e,n,r,o,s,a,i){const l=o.length,u=new Uint8Array(e6),d=Ea(u),f=y_(o)&&y_(s),m=f?Ea(o):uB,g=f?Ea(s):uB;for(let w=0;w<l;a++){if(t(e,n,r,d,a,i),a>=rX)throw new Error("arx: counter overflow");const b=Math.min(e6,l-w);if(f&&b===e6){const j=w/4;if(w%4!==0)throw new Error("arx: invalid block position");for(let S=0,I;S<Oxe;S++)I=j+S,g[I]=m[I]^d[S];w+=e6;continue}for(let j=0,S;j<b;j++)S=w+j,s[S]=o[S]^u[j];w+=b}}function oX(t,e){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:s,rounds:a}=bxe({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return II(o),II(a),aB(s),aB(n),(i,l,u,d,f=0)=>{Ka(i),Ka(l),Ka(u);const m=u.length;if(d||(d=new Uint8Array(m)),Ka(d),II(f),f<0||f>=rX)throw new Error("arx: counter overflow");if(d.length<m)throw new Error(`arx: output (${d.length}) is shorter than data (${m})`);const g=[];let w=i.length,b,j;if(w===32)b=i.slice(),g.push(b),j=nX;else if(w===16&&n)b=new Uint8Array(32),b.set(i),b.set(i,16),j=Pxe,g.push(b);else throw new Error(`arx: invalid 32-byte key, got length=${w}`);y_(l)||(l=l.slice(),g.push(l));const S=Ea(b);if(r){if(l.length!==24)throw new Error("arx: extended nonce must be 24 bytes");r(j,S,Ea(l.subarray(0,16)),S),l=l.subarray(16)}const I=16-o;if(I!==l.length)throw new Error(`arx: nonce must be ${I} or 16 bytes`);if(I!==12){const M=new Uint8Array(12);M.set(l,s?0:12-l.length),l=M,g.push(l)}const N=Ea(l);for(zxe(t,j,S,N,u,d,f,a);g.length>0;)g.pop().fill(0);return d}}function sX(t,e,n,r,o,s=20){let a=t[0],i=t[1],l=t[2],u=t[3],d=e[0],f=e[1],m=e[2],g=e[3],w=e[4],b=e[5],j=e[6],S=e[7],I=o,N=n[0],M=n[1],D=n[2],P=a,L=i,F=l,T=u,R=d,z=f,G=m,Z=g,W=w,U=b,ee=j,$=S,H=I,Y=N,q=M,J=D;for(let re=0;re<s;re+=2)P=P+R|0,H=ln(H^P,16),W=W+H|0,R=ln(R^W,12),P=P+R|0,H=ln(H^P,8),W=W+H|0,R=ln(R^W,7),L=L+z|0,Y=ln(Y^L,16),U=U+Y|0,z=ln(z^U,12),L=L+z|0,Y=ln(Y^L,8),U=U+Y|0,z=ln(z^U,7),F=F+G|0,q=ln(q^F,16),ee=ee+q|0,G=ln(G^ee,12),F=F+G|0,q=ln(q^F,8),ee=ee+q|0,G=ln(G^ee,7),T=T+Z|0,J=ln(J^T,16),$=$+J|0,Z=ln(Z^$,12),T=T+Z|0,J=ln(J^T,8),$=$+J|0,Z=ln(Z^$,7),P=P+z|0,J=ln(J^P,16),ee=ee+J|0,z=ln(z^ee,12),P=P+z|0,J=ln(J^P,8),ee=ee+J|0,z=ln(z^ee,7),L=L+G|0,H=ln(H^L,16),$=$+H|0,G=ln(G^$,12),L=L+G|0,H=ln(H^L,8),$=$+H|0,G=ln(G^$,7),F=F+Z|0,Y=ln(Y^F,16),W=W+Y|0,Z=ln(Z^W,12),F=F+Z|0,Y=ln(Y^F,8),W=W+Y|0,Z=ln(Z^W,7),T=T+R|0,q=ln(q^T,16),U=U+q|0,R=ln(R^U,12),T=T+R|0,q=ln(q^T,8),U=U+q|0,R=ln(R^U,7);let ne=0;r[ne++]=a+P|0,r[ne++]=i+L|0,r[ne++]=l+F|0,r[ne++]=u+T|0,r[ne++]=d+R|0,r[ne++]=f+z|0,r[ne++]=m+G|0,r[ne++]=g+Z|0,r[ne++]=w+W|0,r[ne++]=b+U|0,r[ne++]=j+ee|0,r[ne++]=S+$|0,r[ne++]=I+H|0,r[ne++]=N+Y|0,r[ne++]=M+q|0,r[ne++]=D+J|0}function Fxe(t,e,n,r){let o=t[0],s=t[1],a=t[2],i=t[3],l=e[0],u=e[1],d=e[2],f=e[3],m=e[4],g=e[5],w=e[6],b=e[7],j=n[0],S=n[1],I=n[2],N=n[3];for(let D=0;D<20;D+=2)o=o+l|0,j=ln(j^o,16),m=m+j|0,l=ln(l^m,12),o=o+l|0,j=ln(j^o,8),m=m+j|0,l=ln(l^m,7),s=s+u|0,S=ln(S^s,16),g=g+S|0,u=ln(u^g,12),s=s+u|0,S=ln(S^s,8),g=g+S|0,u=ln(u^g,7),a=a+d|0,I=ln(I^a,16),w=w+I|0,d=ln(d^w,12),a=a+d|0,I=ln(I^a,8),w=w+I|0,d=ln(d^w,7),i=i+f|0,N=ln(N^i,16),b=b+N|0,f=ln(f^b,12),i=i+f|0,N=ln(N^i,8),b=b+N|0,f=ln(f^b,7),o=o+u|0,N=ln(N^o,16),w=w+N|0,u=ln(u^w,12),o=o+u|0,N=ln(N^o,8),w=w+N|0,u=ln(u^w,7),s=s+d|0,j=ln(j^s,16),b=b+j|0,d=ln(d^b,12),s=s+d|0,j=ln(j^s,8),b=b+j|0,d=ln(d^b,7),a=a+f|0,S=ln(S^a,16),m=m+S|0,f=ln(f^m,12),a=a+f|0,S=ln(S^a,8),m=m+S|0,f=ln(f^m,7),i=i+l|0,I=ln(I^i,16),g=g+I|0,l=ln(l^g,12),i=i+l|0,I=ln(I^i,8),g=g+I|0,l=ln(l^g,7);let M=0;r[M++]=o,r[M++]=s,r[M++]=a,r[M++]=i,r[M++]=j,r[M++]=S,r[M++]=I,r[M++]=N}const Dy=oX(sX,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Bxe=oX(sX,{counterRight:!1,counterLength:8,extendNonceFn:Fxe,allowShortKeys:!1}),Uxe=new Uint8Array(16),fB=(t,e)=>{t.update(e);const n=e.length%16;n&&t.update(Uxe.subarray(n))},$xe=new Uint8Array(32);function dB(t,e,n,r,o){const s=t(e,n,$xe),a=Txe.create(s);o&&fB(a,o),fB(a,r);const i=new Uint8Array(16),l=yxe(i);lB(l,0,BigInt(o?o.length:0),!0),lB(l,8,BigInt(r.length),!0),a.update(i);const u=a.digest();return s.fill(0),u}const Vxe=t=>(e,n,r)=>(Ka(e,32),Ka(n),{encrypt:(s,a)=>{const i=s.length,l=i+16;a?Ka(a,l):a=new Uint8Array(l),t(e,n,s,a,1);const u=dB(t,e,n,a.subarray(0,-16),r);return a.set(u,i),a},decrypt:(s,a)=>{const i=s.length,l=i-16;if(i<16)throw new Error("encrypted data must be at least 16 bytes");a?Ka(a,l):a=new Uint8Array(l);const u=s.subarray(0,-16),d=s.subarray(-16),f=dB(t,e,n,u,r);if(!fC(d,f))throw new Error("invalid tag");return t(e,n,u,a,1),a}}),aX=ZJ({blockSize:64,nonceLength:24,tagLength:16},Vxe(Bxe));let iX=class extends UJ{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,qo.hash(e);const r=cg(n);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 o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?e.create().update(r).digest():r);for(let a=0;a<s.length;a++)s[a]^=54;this.iHash.update(s),this.oHash=e.create();for(let a=0;a<s.length;a++)s[a]^=106;this.oHash.update(s),s.fill(0)}update(e){return qo.exists(this),this.iHash.update(e),this}digestInto(e){qo.exists(this),qo.bytes(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:n,iHash:r,finished:o,destroyed:s,blockLen:a,outputLen:i}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=a,e.outputLen=i,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const Ly=(t,e,n)=>new iX(t,e).update(n).digest();Ly.create=(t,e)=>new iX(t,e);function lX(t,e,n){return qo.hash(t),Ly(t,cg(n),cg(e))}const _I=new Uint8Array([0]),pB=new Uint8Array;function cX(t,e,n,r=32){if(qo.hash(t),qo.number(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=pB);const s=new Uint8Array(o*t.outputLen),a=Ly.create(t,e),i=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)_I[0]=u+1,i.update(u===0?pB:l).update(n).update(_I).digestInto(l),s.set(l,t.outputLen*u),a._cloneInto(i);return a.destroy(),i.destroy(),l.fill(0),_I.fill(0),s.slice(0,r)}var Hxe=Object.defineProperty,ho=(t,e)=>{for(var n in e)Hxe(t,n,{get:e[n],enumerable:!0})},wm=Symbol("verified"),Wxe=t=>t instanceof Object;function pC(t){if(!Wxe(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]!="string")return!1}return!0}var Yxe={};ho(Yxe,{Queue:()=>fX,QueueNode:()=>uX,binarySearch:()=>ZR,bytesToHex:()=>Lr,hexToBytes:()=>lg,insertEventIntoAscendingList:()=>qxe,insertEventIntoDescendingList:()=>Gxe,normalizeURL:()=>km,utf8Decoder:()=>Zf,utf8Encoder:()=>Zc});var Zf=new TextDecoder("utf-8"),Zc=new TextEncoder;function km(t){try{t.indexOf("://")===-1&&(t="wss://"+t);let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{throw new Error(`Invalid URL: ${t}`)}}function Gxe(t,e){const[n,r]=ZR(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:o.created_at-e.created_at);return r||t.splice(n,0,e),t}function qxe(t,e){const[n,r]=ZR(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:e.created_at-o.created_at);return r||t.splice(n,0,e),t}function ZR(t,e){let n=0,r=t.length-1;for(;n<=r;){const o=Math.floor((n+r)/2),s=e(t[o]);if(s===0)return[o,!0];s<0?r=o-1:n=o+1}return[n,!1]}var uX=class{constructor(e){je(this,"value");je(this,"next",null);je(this,"prev",null);this.value=e}},fX=class{constructor(){je(this,"first");je(this,"last");this.first=null,this.last=null}enqueue(e){const n=new uX(e);return this.last?this.last===this.first?(this.last=n,this.last.prev=this.first,this.first.next=n):(n.prev=this.last,this.last.next=n,this.last=n):(this.first=n,this.last=n),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const n=this.first;return this.first=null,this.last=null,n.value}const e=this.first;return this.first=e.next,this.first&&(this.first.prev=null),e.value}},Kxe=class{generateSecretKey(){return Ga.utils.randomPrivateKey()}getPublicKey(e){return Lr(Ga.getPublicKey(e))}finalizeEvent(e,n){const r=e;return r.pubkey=Lr(Ga.getPublicKey(n)),r.id=g3(r),r.sig=Lr(Ga.sign(g3(r),n)),r[wm]=!0,r}verifyEvent(e){if(typeof e[wm]=="boolean")return e[wm];const n=g3(e);if(n!==e.id)return e[wm]=!1,!1;try{const r=Ga.verify(e.sig,n,e.pubkey);return e[wm]=r,r}catch{return e[wm]=!1,!1}}};function Zxe(t){if(!pC(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function g3(t){let e=gl(Zc.encode(Zxe(t)));return Lr(e)}var hC=new Kxe,dX=hC.generateSecretKey,ug=hC.getPublicKey,_i=hC.finalizeEvent,Py=hC.verifyEvent,$e={};ho($e,{Application:()=>K4e,BadgeAward:()=>o4e,BadgeDefinition:()=>$4e,BlockedRelaysList:()=>E4e,BookmarkList:()=>j4e,Bookmarksets:()=>F4e,Calendar:()=>n6e,CalendarEventRSVP:()=>r6e,ChannelCreation:()=>vX,ChannelHideMessage:()=>xX,ChannelMessage:()=>bX,ChannelMetadata:()=>wX,ChannelMuteUser:()=>kX,ClassifiedListing:()=>J4e,ClientAuth:()=>CX,CommunitiesList:()=>C4e,CommunityDefinition:()=>a6e,CommunityPostApproval:()=>d4e,Contacts:()=>t4e,CreateOrUpdateProduct:()=>W4e,CreateOrUpdateStall:()=>H4e,Curationsets:()=>B4e,Date:()=>e6e,DirectMessageRelaysList:()=>_4e,DraftClassifiedListing:()=>X4e,DraftLong:()=>G4e,Emojisets:()=>q4e,EncryptedDirectMessage:()=>n4e,EventDeletion:()=>r4e,FileMetadata:()=>a4e,FileServerPreference:()=>M4e,Followsets:()=>P4e,GenericRepost:()=>tT,Genericlists:()=>O4e,GiftWrap:()=>jX,HTTPAuth:()=>nT,Handlerinformation:()=>s6e,Handlerrecommendation:()=>o6e,Highlights:()=>w4e,InterestsList:()=>I4e,Interestsets:()=>V4e,JobFeedback:()=>m4e,JobRequest:()=>p4e,JobResult:()=>h4e,Label:()=>f4e,LightningPubRPC:()=>T4e,LiveChatMessage:()=>i4e,LiveEvent:()=>Z4e,LongFormArticle:()=>Y4e,Metadata:()=>Xxe,Mutelist:()=>b4e,NWCWalletInfo:()=>R4e,NWCWalletRequest:()=>SX,NWCWalletResponse:()=>D4e,NostrConnect:()=>L4e,OpenTimestamps:()=>s4e,Pinlist:()=>x4e,PrivateDirectMessage:()=>yX,ProblemTracker:()=>l4e,ProfileBadges:()=>U4e,PublicChatsList:()=>S4e,Reaction:()=>eT,RecommendRelay:()=>e4e,RelayList:()=>k4e,Relaysets:()=>z4e,Report:()=>c4e,Reporting:()=>u4e,Repost:()=>XR,Seal:()=>gX,SearchRelaysList:()=>N4e,ShortTextNote:()=>mX,Time:()=>t6e,UserEmojiList:()=>A4e,UserStatuses:()=>Q4e,Zap:()=>v4e,ZapGoal:()=>g4e,ZapRequest:()=>y4e,classifyKind:()=>Qxe,isAddressableKind:()=>JR,isEphemeralKind:()=>hX,isKind:()=>Jxe,isRegularKind:()=>pX,isReplaceableKind:()=>QR});function pX(t){return 1e3<=t&&t<1e4||[1,2,4,5,6,7,8,16,40,41,42,43,44].includes(t)}function QR(t){return[0,3].includes(t)||1e4<=t&&t<2e4}function hX(t){return 2e4<=t&&t<3e4}function JR(t){return 3e4<=t&&t<4e4}function Qxe(t){return pX(t)?"regular":QR(t)?"replaceable":hX(t)?"ephemeral":JR(t)?"parameterized":"unknown"}function Jxe(t,e){const n=e instanceof Array?e:[e];return pC(t)&&n.includes(t.kind)||!1}var Xxe=0,mX=1,e4e=2,t4e=3,n4e=4,r4e=5,XR=6,eT=7,o4e=8,gX=13,yX=14,tT=16,vX=40,wX=41,bX=42,xX=43,kX=44,s4e=1040,jX=1059,a4e=1063,i4e=1311,l4e=1971,c4e=1984,u4e=1984,f4e=1985,d4e=4550,p4e=5999,h4e=6999,m4e=7e3,g4e=9041,y4e=9734,v4e=9735,w4e=9802,b4e=1e4,x4e=10001,k4e=10002,j4e=10003,C4e=10004,S4e=10005,E4e=10006,N4e=10007,I4e=10015,A4e=10030,_4e=10050,M4e=10096,R4e=13194,T4e=21e3,CX=22242,SX=23194,D4e=23195,L4e=24133,nT=27235,P4e=3e4,O4e=30001,z4e=30002,F4e=30003,B4e=30004,U4e=30008,$4e=30009,V4e=30015,H4e=30017,W4e=30018,Y4e=30023,G4e=30024,q4e=30030,K4e=30078,Z4e=30311,Q4e=30315,J4e=30402,X4e=30403,e6e=31922,t6e=31923,n6e=31924,r6e=31925,o6e=31989,s6e=31990,a6e=34550;function EX(t,e){if(t.ids&&t.ids.indexOf(e.id)===-1||t.kinds&&t.kinds.indexOf(e.kind)===-1||t.authors&&t.authors.indexOf(e.pubkey)===-1)return!1;for(let n in t)if(n[0]==="#"){let r=n.slice(1),o=t[`#${r}`];if(o&&!e.tags.find(([s,a])=>s===n.slice(1)&&o.indexOf(a)!==-1))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>t.until)}function dk(t,e){for(let n=0;n<t.length;n++)if(EX(t[n],e))return!0;return!1}var i6e={};ho(i6e,{getHex64:()=>mC,getInt:()=>NX,getSubscriptionId:()=>IX,matchEventId:()=>l6e,matchEventKind:()=>u6e,matchEventPubkey:()=>c6e});function mC(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,o=t.slice(r).indexOf('"')+r+1;return t.slice(o,o+64)}function NX(t,e){let n=e.length,r=t.indexOf(`"${e}":`)+n+3,o=t.slice(r),s=Math.min(o.indexOf(","),o.indexOf("}"));return parseInt(o.slice(0,s),10)}function IX(t){let e=t.slice(0,22).indexOf('"EVENT"');if(e===-1)return null;let n=t.slice(e+7+1).indexOf('"');if(n===-1)return null;let r=e+7+1+n,o=t.slice(r+1,80).indexOf('"');if(o===-1)return null;let s=r+1+o;return t.slice(r+1,s)}function l6e(t,e){return e===mC(t,"id")}function c6e(t,e){return e===mC(t,"pubkey")}function u6e(t,e){return e===NX(t,"kind")}var f6e={};ho(f6e,{makeAuthEvent:()=>AX});function AX(t,e){return{kind:CX,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}async function d6e(){return new Promise(t=>{const e=new MessageChannel,n=()=>{e.port1.removeEventListener("message",n),t()};e.port1.addEventListener("message",n),e.port2.postMessage(0),e.port1.start()})}var p6e=t=>(t[wm]=!0,!0),_X=class extends Error{constructor(e,n){super(`Tried to send message '${e} on a closed connection to ${n}.`),this.name="SendingOnClosedConnection"}},MX=class{constructor(e,n){je(this,"url");je(this,"_connected",!1);je(this,"onclose",null);je(this,"onnotice",e=>console.debug(`NOTICE from ${this.url}: ${e}`));je(this,"baseEoseTimeout",4400);je(this,"connectionTimeout",4400);je(this,"publishTimeout",4400);je(this,"pingFrequency",2e4);je(this,"pingTimeout",2e4);je(this,"openSubs",new Map);je(this,"enablePing");je(this,"connectionTimeoutHandle");je(this,"connectionPromise");je(this,"openCountRequests",new Map);je(this,"openEventPublishes",new Map);je(this,"ws");je(this,"incomingMessageQueue",new fX);je(this,"queueRunning",!1);je(this,"challenge");je(this,"authPromise");je(this,"serial",0);je(this,"verifyEvent");je(this,"_WebSocket");this.url=km(e),this.verifyEvent=n.verifyEvent,this._WebSocket=n.websocketImplementation||WebSocket,this.enablePing=n.enablePing}static async connect(e,n){const r=new MX(e,n);return await r.connect(),r}closeAllSubscriptions(e){for(let[n,r]of this.openSubs)r.close(e);this.openSubs.clear();for(let[n,r]of this.openEventPublishes)r.reject(new Error(e));this.openEventPublishes.clear();for(let[n,r]of this.openCountRequests)r.reject(new Error(e));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.authPromise=void 0,this.connectionPromise=new Promise((e,n)=>{this.connectionTimeoutHandle=setTimeout(()=>{var r;n("connection timed out"),this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new this._WebSocket(this.url)}catch(r){clearTimeout(this.connectionTimeoutHandle),n(r);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,this.enablePing&&this.pingpong(),e()},this.ws.onerror=r=>{var o;clearTimeout(this.connectionTimeoutHandle),n(r.message||"websocket error"),this._connected=!1,this.connectionPromise=void 0,(o=this.onclose)==null||o.call(this),this.closeAllSubscriptions("relay connection errored")},this.ws.onclose=r=>{var o;clearTimeout(this.connectionTimeoutHandle),n(r.message||"websocket closed"),this._connected=!1,this.connectionPromise=void 0,(o=this.onclose)==null||o.call(this),this.closeAllSubscriptions("relay connection closed")},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async waitForPingPong(){return new Promise((e,n)=>{this.ws&&this.ws.on&&this.ws.on("pong",()=>e(!0))||n("ws can't listen for pong"),this.ws&&this.ws.ping&&this.ws.ping()})}async waitForDummyReq(){return new Promise((e,n)=>{const r=this.subscribe([{ids:["a".repeat(64)]}],{oneose:()=>{r.close(),e(!0)},eoseTimeout:this.pingTimeout+1e3})})}async pingpong(){var e,n,r;((e=this.ws)==null?void 0:e.readyState)===1&&(await Promise.any([this.ws&&this.ws.ping&&this.ws.on?this.waitForPingPong():this.waitForDummyReq(),new Promise(s=>setTimeout(()=>s(!1),this.pingTimeout))])?setTimeout(()=>this.pingpong(),this.pingFrequency):(this.closeAllSubscriptions("pingpong timed out"),this._connected=!1,(n=this.onclose)==null||n.call(this),(r=this.ws)==null||r.close()))}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await d6e();this.queueRunning=!1}handleNext(){var r,o;const e=this.incomingMessageQueue.dequeue();if(!e)return!1;const n=IX(e);if(n){const s=this.openSubs.get(n);if(!s)return;const a=mC(e,"id"),i=(r=s.alreadyHaveEvent)==null?void 0:r.call(s,a);if((o=s.receivedEvent)==null||o.call(s,this,a),i)return}try{let s=JSON.parse(e);switch(s[0]){case"EVENT":{const a=this.openSubs.get(s[1]),i=s[2];this.verifyEvent(i)&&dk(a.filters,i)&&a.onevent(i);return}case"COUNT":{const a=s[1],i=s[2],l=this.openCountRequests.get(a);l&&(l.resolve(i.count),this.openCountRequests.delete(a));return}case"EOSE":{const a=this.openSubs.get(s[1]);if(!a)return;a.receivedEose();return}case"OK":{const a=s[1],i=s[2],l=s[3],u=this.openEventPublishes.get(a);u&&(clearTimeout(u.timeout),i?u.resolve(l):u.reject(new Error(l)),this.openEventPublishes.delete(a));return}case"CLOSED":{const a=s[1],i=this.openSubs.get(a);if(!i)return;i.closed=!0,i.close(s[2]);return}case"NOTICE":this.onnotice(s[1]);return;case"AUTH":{this.challenge=s[1];return}}}catch{return}}async send(e){if(!this.connectionPromise)throw new _X(e,this.url);this.connectionPromise.then(()=>{var n;(n=this.ws)==null||n.send(e)})}async auth(e){const n=this.challenge;if(!n)throw new Error("can't perform auth, no challenge was received");return this.authPromise?this.authPromise:(this.authPromise=new Promise(async(r,o)=>{try{let s=await e(AX(this.url,n)),a=setTimeout(()=>{let i=this.openEventPublishes.get(s.id);i&&(i.reject(new Error("auth timed out")),this.openEventPublishes.delete(s.id))},this.publishTimeout);this.openEventPublishes.set(s.id,{resolve:r,reject:o,timeout:a}),this.send('["AUTH",'+JSON.stringify(s)+"]")}catch(s){console.warn("subscribe auth function failed:",s)}}),this.authPromise)}async publish(e){const n=new Promise((r,o)=>{const s=setTimeout(()=>{const a=this.openEventPublishes.get(e.id);a&&(a.reject(new Error("publish timed out")),this.openEventPublishes.delete(e.id))},this.publishTimeout);this.openEventPublishes.set(e.id,{resolve:r,reject:o,timeout:s})});return this.send('["EVENT",'+JSON.stringify(e)+"]"),n}async count(e,n){this.serial++;const r=(n==null?void 0:n.id)||"count:"+this.serial,o=new Promise((s,a)=>{this.openCountRequests.set(r,{resolve:s,reject:a})});return this.send('["COUNT","'+r+'",'+JSON.stringify(e).substring(1)),o}subscribe(e,n){const r=this.prepareSubscription(e,n);return r.fire(),r}prepareSubscription(e,n){this.serial++;const r=n.id||(n.label?n.label+":":"sub:")+this.serial,o=new h6e(this,r,e,n);return this.openSubs.set(r,o),o}close(){var e,n;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(e=this.onclose)==null||e.call(this),(n=this.ws)==null||n.close()}_onmessage(e){this.incomingMessageQueue.enqueue(e.data),this.queueRunning||this.runQueue()}},h6e=class{constructor(e,n,r,o){je(this,"relay");je(this,"id");je(this,"closed",!1);je(this,"eosed",!1);je(this,"filters");je(this,"alreadyHaveEvent");je(this,"receivedEvent");je(this,"onevent");je(this,"oneose");je(this,"onclose");je(this,"eoseTimeout");je(this,"eoseTimeoutHandle");this.relay=e,this.filters=r,this.id=n,this.alreadyHaveEvent=o.alreadyHaveEvent,this.receivedEvent=o.receivedEvent,this.eoseTimeout=o.eoseTimeout||e.baseEoseTimeout,this.oneose=o.oneose,this.onclose=o.onclose,this.onevent=o.onevent||(s=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,s)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var e;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(e=this.oneose)==null||e.call(this))}close(e="closed by caller"){var n;if(!this.closed&&this.relay.connected){try{this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]")}catch(r){if(!(r instanceof _X))throw r}this.closed=!0}this.relay.openSubs.delete(this.id),(n=this.onclose)==null||n.call(this,e)}},m6e;try{m6e=WebSocket}catch{}var g6e=class{constructor(t){je(this,"relays",new Map);je(this,"seenOn",new Map);je(this,"trackRelays",!1);je(this,"verifyEvent");je(this,"enablePing");je(this,"trustedRelayURLs",new Set);je(this,"_WebSocket");this.verifyEvent=t.verifyEvent,this._WebSocket=t.websocketImplementation,this.enablePing=t.enablePing}async ensureRelay(t,e){t=km(t);let n=this.relays.get(t);return n||(n=new MX(t,{verifyEvent:this.trustedRelayURLs.has(t)?p6e:this.verifyEvent,websocketImplementation:this._WebSocket,enablePing:this.enablePing}),n.onclose=()=>{this.relays.delete(t)},e!=null&&e.connectionTimeout&&(n.connectionTimeout=e.connectionTimeout),this.relays.set(t,n)),await n.connect(),n}close(t){t.map(km).forEach(e=>{var n;(n=this.relays.get(e))==null||n.close(),this.relays.delete(e)})}subscribe(t,e,n){n.onauth=n.onauth||n.doauth;const r=[];for(let o=0;o<t.length;o++){const s=km(t[o]);r.find(a=>a.url===s)||r.push({url:s,filter:e})}return this.subscribeMap(r,n)}subscribeMany(t,e,n){n.onauth=n.onauth||n.doauth;const r=[],o=[];for(let s=0;s<t.length;s++){const a=km(t[s]);o.indexOf(a)===-1&&(o.push(a),r.push({url:a,filter:e}))}return this.subscribeMap(r,n)}subscribeMap(t,e){e.onauth=e.onauth||e.doauth;const n=new Map;for(const m of t){const{url:g,filter:w}=m;n.has(g)||n.set(g,[]),n.get(g).push(w)}const r=Array.from(n.entries()).map(([m,g])=>({url:m,filters:g}));this.trackRelays&&(e.receivedEvent=(m,g)=>{let w=this.seenOn.get(g);w||(w=new Set,this.seenOn.set(g,w)),w.add(m)});const o=new Set,s=[],a=[];let i=m=>{var g;a[m]||(a[m]=!0,a.filter(w=>w).length===t.length&&((g=e.oneose)==null||g.call(e),i=()=>{}))};const l=[];let u=(m,g)=>{var w;l[m]||(i(m),l[m]=g,l.filter(b=>b).length===t.length&&((w=e.onclose)==null||w.call(e,l),u=()=>{}))};const d=m=>{var w;if((w=e.alreadyHaveEvent)!=null&&w.call(e,m))return!0;const g=o.has(m);return o.add(m),g},f=Promise.all(r.map(async({url:m,filters:g},w)=>{let b;try{b=await this.ensureRelay(m,{connectionTimeout:e.maxWait?Math.max(e.maxWait*.8,e.maxWait-1e3):void 0})}catch(S){u(w,(S==null?void 0:S.message)||String(S));return}let j=b.subscribe(g,{...e,oneose:()=>i(w),onclose:S=>{S.startsWith("auth-required: ")&&e.onauth?b.auth(e.onauth).then(()=>{b.subscribe(g,{...e,oneose:()=>i(w),onclose:I=>{u(w,I)},alreadyHaveEvent:d,eoseTimeout:e.maxWait})}).catch(I=>{u(w,`auth was required and attempted, but failed with: ${I}`)}):u(w,S)},alreadyHaveEvent:d,eoseTimeout:e.maxWait});s.push(j)}));return{async close(m){await f,s.forEach(g=>{g.close(m)})}}}subscribeEose(t,e,n){n.onauth=n.onauth||n.doauth;const r=this.subscribe(t,e,{...n,oneose(){r.close("closed automatically on eose")}});return r}subscribeManyEose(t,e,n){n.onauth=n.onauth||n.doauth;const r=this.subscribeMany(t,e,{...n,oneose(){r.close("closed automatically on eose")}});return r}async querySync(t,e,n){return new Promise(async r=>{const o=[];this.subscribeEose(t,e,{...n,onevent(s){o.push(s)},onclose(s){r(o)}})})}async get(t,e,n){e.limit=1;const r=await this.querySync(t,e,n);return r.sort((o,s)=>s.created_at-o.created_at),r[0]||null}publish(t,e,n){return t.map(km).map(async(r,o,s)=>{if(s.indexOf(r)!==o)return Promise.reject("duplicate url");let a=await this.ensureRelay(r);return a.publish(e).catch(async i=>{if(i instanceof Error&&i.message.startsWith("auth-required: ")&&(n!=null&&n.onauth))return await a.auth(n.onauth),a.publish(e);throw i}).then(i=>{if(this.trackRelays){let l=this.seenOn.get(e.id);l||(l=new Set,this.seenOn.set(e.id,l)),l.add(a)}return i})})}listConnectionStatus(){const t=new Map;return this.relays.forEach((e,n)=>t.set(n,e.connected)),t}destroy(){this.relays.forEach(t=>t.close()),this.relays=new Map}},RX;try{RX=WebSocket}catch{}var TX=class extends g6e{constructor(t){super({verifyEvent:Py,websocketImplementation:RX,...t})}},jr={};ho(jr,{BECH32_REGEX:()=>DX,Bech32MaxSize:()=>rT,NostrTypeGuard:()=>y6e,decode:()=>gC,decodeNostrURI:()=>w6e,encodeBytes:()=>vC,naddrEncode:()=>S6e,neventEncode:()=>C6e,noteEncode:()=>k6e,nprofileEncode:()=>j6e,npubEncode:()=>x6e,nsecEncode:()=>b6e});var y6e={isNProfile:t=>/^nprofile1[a-z\d]+$/.test(t||""),isNEvent:t=>/^nevent1[a-z\d]+$/.test(t||""),isNAddr:t=>/^naddr1[a-z\d]+$/.test(t||""),isNSec:t=>/^nsec1[a-z\d]{58}$/.test(t||""),isNPub:t=>/^npub1[a-z\d]{58}$/.test(t||""),isNote:t=>/^note1[a-z\d]+$/.test(t||""),isNcryptsec:t=>/^ncryptsec1[a-z\d]+$/.test(t||"")},rT=5e3,DX=/[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;function v6e(t){const e=new Uint8Array(4);return e[0]=t>>24&255,e[1]=t>>16&255,e[2]=t>>8&255,e[3]=t&255,e}function w6e(t){try{return t.startsWith("nostr:")&&(t=t.substring(6)),gC(t)}catch{return{type:"invalid",data:null}}}function gC(t){var o,s,a,i,l,u,d;let{prefix:e,words:n}=Pr.decode(t,rT),r=new Uint8Array(Pr.fromWords(n));switch(e){case"nprofile":{let f=MI(r);if(!((o=f[0])!=null&&o[0]))throw new Error("missing TLV 0 for nprofile");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:Lr(f[0][0]),relays:f[1]?f[1].map(m=>Zf.decode(m)):[]}}}case"nevent":{let f=MI(r);if(!((s=f[0])!=null&&s[0]))throw new Error("missing TLV 0 for nevent");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(f[2]&&f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(f[3]&&f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:Lr(f[0][0]),relays:f[1]?f[1].map(m=>Zf.decode(m)):[],author:(a=f[2])!=null&&a[0]?Lr(f[2][0]):void 0,kind:(i=f[3])!=null&&i[0]?parseInt(Lr(f[3][0]),16):void 0}}}case"naddr":{let f=MI(r);if(!((l=f[0])!=null&&l[0]))throw new Error("missing TLV 0 for naddr");if(!((u=f[2])!=null&&u[0]))throw new Error("missing TLV 2 for naddr");if(f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!((d=f[3])!=null&&d[0]))throw new Error("missing TLV 3 for naddr");if(f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:Zf.decode(f[0][0]),pubkey:Lr(f[2][0]),kind:parseInt(Lr(f[3][0]),16),relays:f[1]?f[1].map(m=>Zf.decode(m)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:Lr(r)};default:throw new Error(`unknown prefix ${e}`)}}function MI(t){let e={},n=t;for(;n.length>0;){let r=n[0],o=n[1],s=n.slice(2,2+o);if(n=n.slice(2+o),s.length<o)throw new Error(`not enough data to read on TLV ${r}`);e[r]=e[r]||[],e[r].push(s)}return e}function b6e(t){return vC("nsec",t)}function x6e(t){return vC("npub",lg(t))}function k6e(t){return vC("note",lg(t))}function yC(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,rT)}function vC(t,e){return yC(t,e)}function j6e(t){let e=oT({0:[lg(t.pubkey)],1:(t.relays||[]).map(n=>Zc.encode(n))});return yC("nprofile",e)}function C6e(t){let e;t.kind!==void 0&&(e=v6e(t.kind));let n=oT({0:[lg(t.id)],1:(t.relays||[]).map(r=>Zc.encode(r)),2:t.author?[lg(t.author)]:[],3:e?[new Uint8Array(e)]:[]});return yC("nevent",n)}function S6e(t){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,t.kind,!1);let n=oT({0:[Zc.encode(t.identifier)],1:(t.relays||[]).map(r=>Zc.encode(r)),2:[lg(t.pubkey)],3:[new Uint8Array(e)]});return yC("naddr",n)}function oT(t){let e=[];return Object.entries(t).reverse().forEach(([n,r])=>{r.forEach(o=>{let s=new Uint8Array(o.length+2);s.set([parseInt(n)],0),s.set([o.length],1),s.set(o,2),e.push(s)})}),vh(...e)}var T0={};ho(T0,{decrypt:()=>E6e,encrypt:()=>LX});function LX(t,e,n){const r=t instanceof Uint8Array?Lr(t):t,o=ql.getSharedSecret(r,"02"+e),s=PX(o);let a=Uint8Array.from(bb(16)),i=Zc.encode(n),l=dC(s,a).encrypt(i),u=es.encode(new Uint8Array(l)),d=es.encode(new Uint8Array(a.buffer));return`${u}?iv=${d}`}function E6e(t,e,n){const r=t instanceof Uint8Array?Lr(t):t;let[o,s]=n.split("?iv="),a=ql.getSharedSecret(r,"02"+e),i=PX(a),l=es.decode(s),u=es.decode(o),d=dC(i,l).decrypt(u);return Zf.decode(d)}function PX(t){return t.slice(1,33)}var N6e={};ho(N6e,{NIP05_REGEX:()=>sT,isNip05:()=>I6e,isValid:()=>M6e,queryProfile:()=>OX,searchDomain:()=>_6e,useFetchImplementation:()=>A6e});var sT=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,I6e=t=>sT.test(t||""),wC;try{wC=fetch}catch{}function A6e(t){wC=t}async function _6e(t,e=""){try{const n=`https://${t}/.well-known/nostr.json?name=${e}`,r=await wC(n,{redirect:"manual"});if(r.status!==200)throw Error("Wrong response code");return(await r.json()).names}catch{return{}}}async function OX(t){var o;const e=t.match(sT);if(!e)return null;const[,n="_",r]=e;try{const s=`https://${r}/.well-known/nostr.json?name=${n}`,a=await wC(s,{redirect:"manual"});if(a.status!==200)throw Error("Wrong response code");const i=await a.json(),l=i.names[n];return l?{pubkey:l,relays:(o=i.relays)==null?void 0:o[l]}:null}catch{return null}}async function M6e(t,e){const n=await OX(e);return n?n.pubkey===t:!1}var R6e={};ho(R6e,{parse:()=>T6e});function T6e(t){const e={reply:void 0,root:void 0,mentions:[],profiles:[],quotes:[]};let n,r;for(let o=t.tags.length-1;o>=0;o--){const s=t.tags[o];if(s[0]==="e"&&s[1]){const[a,i,l,u,d]=s,f={id:i,relays:l?[l]:[],author:d};if(u==="root"){e.root=f;continue}if(u==="reply"){e.reply=f;continue}if(u==="mention"){e.mentions.push(f);continue}n?r=f:n=f,e.mentions.push(f);continue}if(s[0]==="q"&&s[1]){const[a,i,l]=s;e.quotes.push({id:i,relays:l?[l]:[]})}if(s[0]==="p"&&s[1]){e.profiles.push({pubkey:s[1],relays:s[2]?[s[2]]:[]});continue}}return e.root||(e.root=r||n||e.reply),e.reply||(e.reply=n||e.root),[e.reply,e.root].forEach(o=>{if(!o)return;let s=e.mentions.indexOf(o);if(s!==-1&&e.mentions.splice(s,1),o.author){let a=e.profiles.find(i=>i.pubkey===o.author);a&&a.relays&&(o.relays||(o.relays=[]),a.relays.forEach(i=>{var l;((l=o.relays)==null?void 0:l.indexOf(i))===-1&&o.relays.push(i)}),a.relays=o.relays)}}),e.mentions.forEach(o=>{if(o.author){let s=e.profiles.find(a=>a.pubkey===o.author);s&&s.relays&&(o.relays||(o.relays=[]),s.relays.forEach(a=>{o.relays.indexOf(a)===-1&&o.relays.push(a)}),s.relays=o.relays)}}),e}var D6e={};ho(D6e,{fetchRelayInformation:()=>P6e,useFetchImplementation:()=>L6e});var zX;try{zX=fetch}catch{}function L6e(t){zX=t}async function P6e(t){return await(await fetch(t.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}var O6e={};ho(O6e,{fastEventHash:()=>BX,getPow:()=>FX,minePow:()=>z6e});function FX(t){let e=0;for(let n=0;n<64;n+=8){const r=parseInt(t.substring(n,n+8),16);if(r===0)e+=32;else{e+=Math.clz32(r);break}}return e}function z6e(t,e){let n=0;const r=t,o=["nonce",n.toString(),e.toString()];for(r.tags.push(o);;){const s=Math.floor(new Date().getTime()/1e3);if(s!==r.created_at&&(n=0,r.created_at=s),o[1]=(++n).toString(),r.id=BX(r),FX(r.id)>=e)break}return r}function BX(t){return Lr(gl(Zc.encode(JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content]))))}var F6e={};ho(F6e,{unwrapEvent:()=>Q6e,unwrapManyEvents:()=>J6e,wrapEvent:()=>XX,wrapManyEvents:()=>Z6e});var B6e={};ho(B6e,{createRumor:()=>KX,createSeal:()=>ZX,createWrap:()=>QX,unwrapEvent:()=>uT,unwrapManyEvents:()=>JX,wrapEvent:()=>pk,wrapManyEvents:()=>q6e});var U6e={};ho(U6e,{decrypt:()=>cT,encrypt:()=>lT,getConversationKey:()=>aT,v2:()=>Y6e});var UX=1,$X=65535;function aT(t,e){const n=ql.getSharedSecret(t,"02"+e).subarray(1,33);return lX(gl,n,"nip44-v2")}function VX(t,e){const n=cX(gl,t,e,76);return{chacha_key:n.subarray(0,32),chacha_nonce:n.subarray(32,44),hmac_key:n.subarray(44,76)}}function iT(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("expected positive integer");if(t<=32)return 32;const e=1<<Math.floor(Math.log2(t-1))+1,n=e<=256?32:e/8;return n*(Math.floor((t-1)/n)+1)}function $6e(t){if(!Number.isSafeInteger(t)||t<UX||t>$X)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,t,!1),e}function V6e(t){const e=Zc.encode(t),n=e.length,r=$6e(n),o=new Uint8Array(iT(n)-n);return vh(r,e,o)}function H6e(t){const e=new DataView(t.buffer).getUint16(0),n=t.subarray(2,2+e);if(e<UX||e>$X||n.length!==e||t.length!==2+iT(e))throw new Error("invalid padding");return Zf.decode(n)}function HX(t,e,n){if(n.length!==32)throw new Error("AAD associated data must be 32 bytes");const r=vh(n,e);return Ly(gl,t,r)}function W6e(t){if(typeof t!="string")throw new Error("payload must be a valid string");const e=t.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if(t[0]==="#")throw new Error("unknown encryption version");let n;try{n=es.decode(t)}catch(s){throw new Error("invalid base64: "+s.message)}const r=n.length;if(r<99||r>65603)throw new Error("invalid data length: "+r);const o=n[0];if(o!==2)throw new Error("unknown encryption version "+o);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}function lT(t,e,n=bb(32)){const{chacha_key:r,chacha_nonce:o,hmac_key:s}=VX(e,n),a=V6e(t),i=Dy(r,o,a),l=HX(s,i,n);return es.encode(vh(new Uint8Array([2]),n,i,l))}function cT(t,e){const{nonce:n,ciphertext:r,mac:o}=W6e(t),{chacha_key:s,chacha_nonce:a,hmac_key:i}=VX(e,n),l=HX(i,r,n);if(!fC(l,o))throw new Error("invalid MAC");const u=Dy(s,a,r);return H6e(u)}var Y6e={utils:{getConversationKey:aT,calcPaddedLen:iT},encrypt:lT,decrypt:cT},G6e=2880*60,WX=()=>Math.round(Date.now()/1e3),YX=()=>Math.round(WX()-Math.random()*G6e),GX=(t,e)=>aT(t,e),qX=(t,e,n)=>lT(JSON.stringify(t),GX(e,n)),hB=(t,e)=>JSON.parse(cT(t.content,GX(e,t.pubkey)));function KX(t,e){const n={created_at:WX(),content:"",tags:[],...t,pubkey:ug(e)};return n.id=g3(n),n}function ZX(t,e,n){return _i({kind:gX,content:qX(t,e,n),created_at:YX(),tags:[]},e)}function QX(t,e){const n=dX();return _i({kind:jX,content:qX(t,n,e),created_at:YX(),tags:[["p",e]]},n)}function pk(t,e,n){const r=KX(t,e),o=ZX(r,e,n);return QX(o,n)}function q6e(t,e,n){if(!n||n.length===0)throw new Error("At least one recipient is required.");const r=ug(e),o=[pk(t,e,r)];return n.forEach(s=>{o.push(pk(t,e,s))}),o}function uT(t,e){const n=hB(t,e);return hB(n,e)}function JX(t,e){let n=[];return t.forEach(r=>{n.push(uT(r,e))}),n.sort((r,o)=>r.created_at-o.created_at),n}function K6e(t,e,n,r){const o={created_at:Math.ceil(Date.now()/1e3),kind:yX,tags:[],content:e};return(Array.isArray(t)?t:[t]).forEach(({publicKey:a,relayUrl:i})=>{o.tags.push(i?["p",a,i]:["p",a])}),r&&o.tags.push(["e",r.eventId,r.relayUrl||"","reply"]),n&&o.tags.push(["subject",n]),o}function XX(t,e,n,r,o){const s=K6e(e,n,r,o);return pk(s,t,e.publicKey)}function Z6e(t,e,n,r,o){if(!e||e.length===0)throw new Error("At least one recipient is required.");return[{publicKey:ug(t)},...e].map(a=>XX(t,a,n,r,o))}var Q6e=uT,J6e=JX,X6e={};ho(X6e,{finishRepostEvent:()=>e3e,getRepostedEvent:()=>t3e,getRepostedEventPointer:()=>eee});function e3e(t,e,n,r){var a;let o;const s=[...t.tags??[],["e",e.id,n],["p",e.pubkey]];return e.kind===mX?o=XR:(o=tT,s.push(["k",String(e.kind)])),_i({kind:o,tags:s,content:t.content===""||(a=e.tags)!=null&&a.find(i=>i[0]==="-")?"":JSON.stringify(e),created_at:t.created_at},r)}function eee(t){if(![XR,tT].includes(t.kind))return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(e!==void 0)return{id:e[1],relays:[e[2],n==null?void 0:n[2]].filter(r=>typeof r=="string"),author:n==null?void 0:n[1]}}function t3e(t,{skipVerification:e}={}){const n=eee(t);if(n===void 0||t.content==="")return;let r;try{r=JSON.parse(t.content)}catch{return}if(r.id===n.id&&!(!e&&!Py(r)))return r}var n3e={};ho(n3e,{NOSTR_URI_REGEX:()=>fT,parse:()=>o3e,test:()=>r3e});var fT=new RegExp(`nostr:(${DX.source})`);function r3e(t){return typeof t=="string"&&new RegExp(`^${fT.source}$`).test(t)}function o3e(t){const e=t.match(new RegExp(`^${fT.source}$`));if(!e)throw new Error(`Invalid Nostr URI: ${t}`);return{uri:e[0],value:e[1],decoded:gC(e[1])}}var s3e={};ho(s3e,{finishReactionEvent:()=>a3e,getReactedEventPointer:()=>i3e});function a3e(t,e,n){const r=e.tags.filter(o=>o.length>=2&&(o[0]==="e"||o[0]==="p"));return _i({...t,kind:eT,tags:[...t.tags??[],...r,["e",e.id],["p",e.pubkey]],content:t.content??"+"},n)}function i3e(t){if(t.kind!==eT)return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(!(e===void 0||n===void 0))return{id:e[1],relays:[e[2],n[2]].filter(r=>r!==void 0),author:n[1]}}var l3e={};ho(l3e,{parse:()=>u3e});var c3e=/\W/m,mB=/\W |\W$|$|,| /m;function*u3e(t){const e=t.length;let n=0,r=0;for(;r<e;){let o=t.indexOf(":",r);if(o===-1)break;if(t.substring(o-5,o)==="nostr"){const s=t.substring(o+60).match(c3e),a=s?o+60+s.index:e;try{let i,{data:l,type:u}=gC(t.substring(o+1,a));switch(u){case"npub":i={pubkey:l};break;case"nsec":case"note":r=a+1;continue;default:i=l}n!==o-5&&(yield{type:"text",text:t.substring(n,o-5)}),yield{type:"reference",pointer:i},r=a,n=r;continue}catch{r=o+1;continue}}else if(t.substring(o-5,o)==="https"||t.substring(o-4,o)==="http"){const s=t.substring(o+4).match(mB),a=s?o+4+s.index:e,i=t[o-1]==="s"?5:4;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid url");if(n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),/\.(png|jpe?g|gif|webp)$/i.test(l.pathname)){yield{type:"image",url:l.toString()},r=a,n=r;continue}if(/\.(mp4|avi|webm|mkv)$/i.test(l.pathname)){yield{type:"video",url:l.toString()},r=a,n=r;continue}if(/\.(mp3|aac|ogg|opus)$/i.test(l.pathname)){yield{type:"audio",url:l.toString()},r=a,n=r;continue}yield{type:"url",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else if(t.substring(o-3,o)==="wss"||t.substring(o-2,o)==="ws"){const s=t.substring(o+4).match(mB),a=s?o+4+s.index:e,i=t[o-1]==="s"?3:2;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid ws url");n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),yield{type:"relay",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else{r=o+1;continue}}n!==e&&(yield{type:"text",text:t.substring(n)})}var f3e={};ho(f3e,{channelCreateEvent:()=>d3e,channelHideMessageEvent:()=>m3e,channelMessageEvent:()=>h3e,channelMetadataEvent:()=>p3e,channelMuteUserEvent:()=>g3e});var d3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:vX,tags:[...t.tags??[]],content:n,created_at:t.created_at},e)},p3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:wX,tags:[["e",t.channel_create_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},h3e=(t,e)=>{const n=[["e",t.channel_create_event_id,t.relay_url,"root"]];return t.reply_to_channel_message_event_id&&n.push(["e",t.reply_to_channel_message_event_id,t.relay_url,"reply"]),_i({kind:bX,tags:[...n,...t.tags??[]],content:t.content,created_at:t.created_at},e)},m3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:xX,tags:[["e",t.channel_message_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},g3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:kX,tags:[["p",t.pubkey_to_mute],...t.tags??[]],content:n,created_at:t.created_at},e)},y3e={};ho(y3e,{EMOJI_SHORTCODE_REGEX:()=>tee,matchAll:()=>v3e,regex:()=>dT,replaceAll:()=>w3e});var tee=/:(\w+):/,dT=()=>new RegExp(`\\B${tee.source}\\B`,"g");function*v3e(t){const e=t.matchAll(dT());for(const n of e)try{const[r,o]=n;yield{shortcode:r,name:o,start:n.index,end:n.index+r.length}}catch{}}function w3e(t,e){return t.replaceAll(dT(),(n,r)=>e({shortcode:n,name:r}))}var b3e={};ho(b3e,{useFetchImplementation:()=>x3e,validateGithub:()=>k3e});var pT;try{pT=fetch}catch{}function x3e(t){pT=t}async function k3e(t,e,n){try{return await(await pT(`https://gist.github.com/${e}/${n}/raw`)).text()===`Verifying that I control the following Nostr public key: ${t}`}catch{return!1}}var j3e={};ho(j3e,{makeNwcRequestEvent:()=>S3e,parseConnectionString:()=>C3e});function C3e(t){const{host:e,pathname:n,searchParams:r}=new URL(t),o=n||e,s=r.get("relay"),a=r.get("secret");if(!o||!s||!a)throw new Error("invalid connection string");return{pubkey:o,relay:s,secret:a}}async function S3e(t,e,n){const o=LX(e,t,JSON.stringify({method:"pay_invoice",params:{invoice:n}})),s={kind:SX,created_at:Math.round(Date.now()/1e3),content:o,tags:[["p",t]]};return _i(s,e)}var E3e={};ho(E3e,{normalizeIdentifier:()=>N3e});function N3e(t){return t=t.trim().toLowerCase(),t=t.normalize("NFKC"),Array.from(t).map(e=>new RegExp("\\p{Letter}","u").test(e)||new RegExp("\\p{Number}","u").test(e)?e:"-").join("")}var I3e={};ho(I3e,{getSatoshisAmountFromBolt11:()=>D3e,getZapEndpoint:()=>_3e,makeZapReceipt:()=>T3e,makeZapRequest:()=>M3e,useFetchImplementation:()=>A3e,validateZapRequest:()=>R3e});var hT;try{hT=fetch}catch{}function A3e(t){hT=t}async function _3e(t){try{let e="",{lud06:n,lud16:r}=JSON.parse(t.content);if(n){let{words:a}=Pr.decode(n,1e3),i=Pr.fromWords(a);e=Zf.decode(i)}else if(r){let[a,i]=r.split("@");e=new URL(`/.well-known/lnurlp/${a}`,`https://${i}`).toString()}else return null;let s=await(await hT(e)).json();if(s.allowsNostr&&s.nostrPubkey)return s.callback}catch{}return null}function M3e(t){let e={kind:9734,created_at:Math.round(Date.now()/1e3),content:t.comment||"",tags:[["p","pubkey"in t?t.pubkey:t.event.pubkey],["amount",t.amount.toString()],["relays",...t.relays]]};if("event"in t){if(e.tags.push(["e",t.event.id]),QR(t.event.kind)){const n=["a",`${t.event.kind}:${t.event.pubkey}:`];e.tags.push(n)}else if(JR(t.event.kind)){let n=t.event.tags.find(([o,s])=>o==="d"&&s);if(!n)throw new Error("d tag not found or is empty");const r=["a",`${t.event.kind}:${t.event.pubkey}:${n[1]}`];e.tags.push(r)}e.tags.push(["k",t.event.kind.toString()])}return e}function R3e(t){let e;try{e=JSON.parse(t)}catch{return"Invalid zap request JSON."}if(!pC(e))return"Zap request is not a valid Nostr event.";if(!Py(e))return"Invalid signature on zap request.";let n=e.tags.find(([s,a])=>s==="p"&&a);if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let r=e.tags.find(([s,a])=>s==="e"&&a);return r&&!r[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([s,a])=>s==="relays"&&a)?null:"Zap request doesn't have a 'relays' tag."}function T3e({zapRequest:t,preimage:e,bolt11:n,paidAt:r}){let o=JSON.parse(t),s=o.tags.filter(([i])=>i==="e"||i==="p"||i==="a"),a={kind:9735,created_at:Math.round(r.getTime()/1e3),content:"",tags:[...s,["P",o.pubkey],["bolt11",n],["description",t]]};return e&&a.tags.push(["preimage",e]),a}function D3e(t){if(t.length<50)return 0;t=t.substring(0,50);const e=t.lastIndexOf("1");if(e===-1)return 0;const n=t.substring(0,e);if(!n.startsWith("lnbc"))return 0;const r=n.substring(4);if(r.length<1)return 0;const o=r[r.length-1],s=o.charCodeAt(0)-48,a=s>=0&&s<=9;let i=r.length-1;if(a&&i++,i<1)return 0;const l=parseInt(r.substring(0,i));switch(o){case"m":return l*1e5;case"u":return l*100;case"n":return l/10;case"p":return l/1e4;default:return l*1e8}}var L3e={};ho(L3e,{getToken:()=>P3e,hashPayload:()=>mT,unpackEventFromToken:()=>ree,validateEvent:()=>cee,validateEventKind:()=>see,validateEventMethodTag:()=>iee,validateEventPayloadTag:()=>lee,validateEventTimestamp:()=>oee,validateEventUrlTag:()=>aee,validateToken:()=>O3e});var nee="Nostr ";async function P3e(t,e,n,r=!1,o){const s={kind:nT,tags:[["u",t],["method",e]],created_at:Math.round(new Date().getTime()/1e3),content:""};o&&s.tags.push(["payload",mT(o)]);const a=await n(s);return(r?nee:"")+es.encode(Zc.encode(JSON.stringify(a)))}async function O3e(t,e,n){const r=await ree(t).catch(s=>{throw s});return await cee(r,e,n).catch(s=>{throw s})}async function ree(t){if(!t)throw new Error("Missing token");t=t.replace(nee,"");const e=Zf.decode(es.decode(t));if(!e||e.length===0||!e.startsWith("{"))throw new Error("Invalid token");return JSON.parse(e)}function oee(t){return t.created_at?Math.round(new Date().getTime()/1e3)-t.created_at<60:!1}function see(t){return t.kind===nT}function aee(t,e){const n=t.tags.find(r=>r[0]==="u");return n?n.length>0&&n[1]===e:!1}function iee(t,e){const n=t.tags.find(r=>r[0]==="method");return n?n.length>0&&n[1].toLowerCase()===e.toLowerCase():!1}function mT(t){const e=gl(Zc.encode(JSON.stringify(t)));return Lr(e)}function lee(t,e){const n=t.tags.find(o=>o[0]==="payload");if(!n)return!1;const r=mT(e);return n.length>0&&n[1]===r}async function cee(t,e,n,r){if(!Py(t))throw new Error("Invalid nostr event, signature invalid");if(!see(t))throw new Error("Invalid nostr event, kind invalid");if(!oee(t))throw new Error("Invalid nostr event, created_at timestamp invalid");if(!aee(t,e))throw new Error("Invalid nostr event, url tag invalid");if(!iee(t,n))throw new Error("Invalid nostr event, method tag invalid");if(r&&typeof r=="object"&&Object.keys(r).length>0&&!lee(t,r))throw new Error("Invalid nostr event, payload tag does not match request body hash");return!0}const hk=["https://blossom.band/","https://blossom.primal.net/","https://nostr.media/"],xt={THEME_SETTING:"themeSetting",RELAY_SETS:"relaySets",ACCOUNTS:"accounts",CURRENT_ACCOUNT:"currentAccount",ADD_CLIENT_TAG:"addClientTag",NOTE_LIST_MODE:"noteListMode",DEFAULT_ZAP_SATS:"defaultZapSats",DEFAULT_ZAP_COMMENT:"defaultZapComment",QUICK_ZAP:"quickZap",LAST_READ_NOTIFICATION_TIME_MAP:"lastReadNotificationTimeMap",ACCOUNT_FEED_INFO_MAP:"accountFeedInfoMap",AUTOPLAY:"autoplay",HIDE_UNTRUSTED_INTERACTIONS:"hideUntrustedInteractions",HIDE_UNTRUSTED_NOTIFICATIONS:"hideUntrustedNotifications",MEDIA_UPLOAD_SERVICE_CONFIG_MAP:"mediaUploadServiceConfigMap",HIDE_UNTRUSTED_NOTES:"hideUntrustedNotes",DISMISSED_TOO_MANY_RELAYS_ALERT:"dismissedTooManyRelaysAlert",SHOW_KINDS:"showKinds",SHOW_KINDS_VERSION:"showKindsVersion",HIDE_CONTENT_MENTIONING_MUTED_USERS:"hideContentMentioningMutedUsers",NOTIFICATION_LIST_STYLE:"notificationListStyle",MEDIA_AUTO_LOAD_POLICY:"mediaAutoLoadPolicy",SHOWN_CREATE_WALLET_GUIDE_TOAST_PUBKEYS:"shownCreateWalletGuideToastPubkeys",SIDEBAR_COLLAPSE:"sidebarCollapse",PRIMARY_COLOR:"primaryColor",ENABLE_SINGLE_COLUMN_LAYOUT:"enableSingleColumnLayout",FALLBACK_RELAY_COUNT:"fallbackRelayCount",FAVICON_URL_TEMPLATE:"faviconUrlTemplate",FILTER_OUT_ONION_RELAYS:"filterOutOnionRelays",QUICK_REACTION:"quickReaction",QUICK_REACTION_EMOJI:"quickReactionEmoji",NSFW_DISPLAY_POLICY:"nsfwDisplayPolicy",PREFER_NIP44:"preferNip44",DM_CONVERSATION_FILTER:"dmConversationFilter",DM_LAST_SEEN_TIMESTAMP:"dmLastSeenTimestamp",GRAPH_QUERIES_ENABLED:"graphQueriesEnabled",SOCIAL_GRAPH_PROXIMITY:"socialGraphProximity",SOCIAL_GRAPH_INCLUDE_MODE:"socialGraphIncludeMode",NRC_ONLY_CONFIG_SYNC:"nrcOnlyConfigSync",AUTO_INSERT_NEW_NOTES:"autoInsertNewNotes",VERBOSE_LOGGING:"verboseLogging",ENABLE_MARKDOWN:"enableMarkdown",SEARCH_RELAYS:"searchRelays",LLM_CONFIG_MAP:"llmConfigMap",OUTBOX_MODE:"outboxMode",DEFAULT_SHOW_NSFW:"defaultShowNsfw",PINNED_PUBKEYS:"pinnedPubkeys",HIDE_UNTRUSTED_EVENTS:"hideUntrustedEvents",ACCOUNT_RELAY_LIST_EVENT_MAP:"accountRelayListEventMap",ACCOUNT_FOLLOW_LIST_EVENT_MAP:"accountFollowListEventMap",ACCOUNT_MUTE_LIST_EVENT_MAP:"accountMuteListEventMap",ACCOUNT_MUTE_DECRYPTED_TAGS_MAP:"accountMuteDecryptedTagsMap",ACCOUNT_PROFILE_EVENT_MAP:"accountProfileEventMap",ACTIVE_RELAY_SET_ID:"activeRelaySetId",FEED_TYPE:"feedType"},Xp={NOTIFICATIONS_SEEN_AT:"seen_notifications_at",SETTINGS:"smesh_settings",DM_DELETED_MESSAGES:"dm_deleted_messages",DM_RELAY_HINT:"smesh_dm_relays"},uee=["wss://search.nos.today/","wss://relay.ditto.pub/","wss://relay.nostrcheck.me/","wss://relay.nostr.band/","wss://relay.orly.dev/"],gt={SEAL:13,PRIVATE_DM:14,EXTERNAL_CONTENT_REACTION:17,PICTURE:20,VIDEO:21,SHORT_VIDEO:22,POLL:1068,POLL_RESPONSE:1018,COMMENT:1111,VOICE:1222,GIFT_WRAP:1059,VOICE_COMMENT:1244,PINNED_USERS:10010,FAVORITE_RELAYS:10012,BLOSSOM_SERVER_LIST:10063,FOLLOW_PACK:39089,RELAY_REVIEW:31987,GROUP_METADATA:39e3,ADDRESSABLE_NORMAL_VIDEO:34235,ADDRESSABLE_SHORT_VIDEO:34236},v_=[$e.ShortTextNote,$e.Repost,$e.GenericRepost,gt.PICTURE,gt.VIDEO,gt.SHORT_VIDEO,gt.POLL,gt.COMMENT,gt.VOICE,gt.VOICE_COMMENT,$e.Highlights,$e.LongFormArticle,gt.ADDRESSABLE_NORMAL_VIDEO,gt.ADDRESSABLE_SHORT_VIDEO],z3e=[...v_,gt.RELAY_REVIEW,$e.Emojisets,gt.FOLLOW_PACK],F3e=/https?:\/\/[\w\p{L}\p{N}\p{M}&.\-/?=#@%+_:!~*]+[^\s.,;:'")\]}!?,。;:"'!?】)]/giu,B3e=/wss?:\/\/[\w\p{L}\p{N}\p{M}&.\-/?=#@%+_:!~*]+[^\s.,;:'")\]}!?,。;:"'!?】)]/giu,U3e=/:[a-zA-Z0-9_-]+:/g,fee=/nostr:(note1[a-z0-9]{58}|nevent1[a-z0-9]+|naddr1[a-z0-9]+)/g,dee=/nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+)/g,$3e=/#[\p{L}\p{N}\p{M}_]+/gu,V3e=/(ln(?:bc|tb|bcrt))([0-9]+[munp]?)?1([02-9ac-hj-np-z]+)/g,H3e=/https?:\/\/(?:(?:www|m)\.)?(?:youtube\.com\/(?:watch\?[^#\s]*|embed\/[\w-]+|shorts\/[\w-]+|live\/[\w-]+)|youtu\.be\/[\w-]+)(?:\?[^#\s]*)?(?:#[^\s]*)?/gi,W3e=/https?:\/\/(?:www\.)?(twitter\.com|x\.com)\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)(?:[?#].*)?/gi,bC="4c800257a588a82849d049817c2bdaad984b25a45ad9f6dad66e47d3b47e3b2f",Y3e=["https://mockingyou.com","https://nostpic.com","https://nostr.build","https://nostrcheck.me","https://nostrmedia.com","https://files.sovbit.host"],G3e="https://nostr.build",mk="https://{hostname}/favicon.ico",Wm={MULTIPLE_CHOICE:"multiplechoice",SINGLE_CHOICE:"singlechoice"},Dp={COMPACT:"compact",DETAILED:"detailed"},Yu={ALWAYS:"always",WIFI_ONLY:"wifi-only",NEVER:"never"},Ul={HIDE:"hide",HIDE_CONTENT:"hide_content",SHOW:"show"},q3e=10,gk={DEFAULT:{name:"Default",light:{primary:"38 92% 50%","primary-hover":"38 92% 60%","primary-foreground":"0 0% 10%",ring:"38 92% 50%"},dark:{primary:"38 92% 50%","primary-hover":"38 92% 60%","primary-foreground":"240 5.9% 10%",ring:"38 92% 50%"}},RED:{name:"Red",light:{primary:"0 65% 55%","primary-hover":"0 65% 65%","primary-foreground":"0 0% 98%",ring:"0 65% 55%"},dark:{primary:"0 65% 55%","primary-hover":"0 65% 65%","primary-foreground":"240 5.9% 10%",ring:"0 65% 55%"}},ORANGE:{name:"Orange",light:{primary:"30 100% 50%","primary-hover":"30 100% 60%","primary-foreground":"0 0% 98%",ring:"30 100% 50%"},dark:{primary:"30 100% 50%","primary-hover":"30 100% 60%","primary-foreground":"240 5.9% 10%",ring:"30 100% 50%"}},AMBER:{name:"Amber",light:{primary:"42 100% 50%","primary-hover":"42 100% 60%","primary-foreground":"0 0% 98%",ring:"42 100% 50%"},dark:{primary:"42 100% 50%","primary-hover":"42 100% 60%","primary-foreground":"240 5.9% 10%",ring:"42 100% 50%"}},YELLOW:{name:"Yellow",light:{primary:"54 100% 50%","primary-hover":"54 100% 60%","primary-foreground":"0 0% 10%",ring:"54 100% 50%"},dark:{primary:"54 100% 50%","primary-hover":"54 100% 60%","primary-foreground":"240 5.9% 10%",ring:"54 100% 50%"}},LIME:{name:"Lime",light:{primary:"90 60% 50%","primary-hover":"90 60% 60%","primary-foreground":"0 0% 98%",ring:"90 60% 50%"},dark:{primary:"90 60% 50%","primary-hover":"90 60% 60%","primary-foreground":"240 5.9% 10%",ring:"90 60% 50%"}},GREEN:{name:"Green",light:{primary:"140 60% 40%","primary-hover":"140 60% 50%","primary-foreground":"0 0% 98%",ring:"140 60% 40%"},dark:{primary:"140 60% 40%","primary-hover":"140 60% 50%","primary-foreground":"240 5.9% 10%",ring:"140 60% 40%"}},EMERALD:{name:"Emerald",light:{primary:"160 70% 40%","primary-hover":"160 70% 50%","primary-foreground":"0 0% 98%",ring:"160 70% 40%"},dark:{primary:"160 70% 40%","primary-hover":"160 70% 50%","primary-foreground":"240 5.9% 10%",ring:"160 70% 40%"}},TEAL:{name:"Teal",light:{primary:"180 70% 40%","primary-hover":"180 70% 50%","primary-foreground":"0 0% 98%",ring:"180 70% 40%"},dark:{primary:"180 70% 40%","primary-hover":"180 70% 50%","primary-foreground":"240 5.9% 10%",ring:"180 70% 40%"}},CYAN:{name:"Cyan",light:{primary:"200 70% 40%","primary-hover":"200 70% 50%","primary-foreground":"0 0% 98%",ring:"200 70% 40%"},dark:{primary:"200 70% 40%","primary-hover":"200 70% 50%","primary-foreground":"240 5.9% 10%",ring:"200 70% 40%"}},SKY:{name:"Sky",light:{primary:"210 70% 50%","primary-hover":"210 70% 60%","primary-foreground":"0 0% 98%",ring:"210 70% 50%"},dark:{primary:"210 70% 50%","primary-hover":"210 70% 60%","primary-foreground":"240 5.9% 10%",ring:"210 70% 50%"}},BLUE:{name:"Blue",light:{primary:"220 80% 50%","primary-hover":"220 80% 60%","primary-foreground":"0 0% 98%",ring:"220 80% 50%"},dark:{primary:"220 80% 50%","primary-hover":"220 80% 60%","primary-foreground":"240 5.9% 10%",ring:"220 80% 50%"}},INDIGO:{name:"Indigo",light:{primary:"230 80% 50%","primary-hover":"230 80% 60%","primary-foreground":"0 0% 98%",ring:"230 80% 50%"},dark:{primary:"230 80% 50%","primary-hover":"230 80% 60%","primary-foreground":"240 5.9% 10%",ring:"230 80% 50%"}},VIOLET:{name:"Violet",light:{primary:"250 80% 50%","primary-hover":"250 80% 60%","primary-foreground":"0 0% 98%",ring:"250 80% 50%"},dark:{primary:"250 80% 50%","primary-hover":"250 80% 60%","primary-foreground":"240 5.9% 10%",ring:"250 80% 50%"}},PURPLE:{name:"Purple",light:{primary:"280 80% 50%","primary-hover":"280 80% 60%","primary-foreground":"0 0% 98%",ring:"280 80% 50%"},dark:{primary:"280 80% 50%","primary-hover":"280 80% 60%","primary-foreground":"240 5.9% 10%",ring:"280 80% 50%"}},FUCHSIA:{name:"Fuchsia",light:{primary:"310 80% 50%","primary-hover":"310 80% 60%","primary-foreground":"0 0% 98%",ring:"310 80% 50%"},dark:{primary:"310 80% 50%","primary-hover":"310 80% 60%","primary-foreground":"240 5.9% 10%",ring:"310 80% 50%"}},PINK:{name:"Pink",light:{primary:"330 80% 60%","primary-hover":"330 80% 70%","primary-foreground":"0 0% 10%",ring:"330 80% 60%"},dark:{primary:"330 80% 60%","primary-hover":"330 80% 70%","primary-foreground":"240 5.9% 10%",ring:"330 80% 60%"}},ROSE:{name:"Rose",light:{primary:"350 80% 60%","primary-hover":"350 80% 70%","primary-foreground":"0 0% 10%",ring:"350 80% 60%"},dark:{primary:"350 80% 60%","primary-hover":"350 80% 70%","primary-foreground":"240 5.9% 10%",ring:"350 80% 60%"}}},pee=400;class Oy extends Error{constructor(e){super(e),this.name=this.constructor.name}}class um extends Oy{constructor(e){super(`Invalid pubkey: "${e.slice(0,20)}${e.length>20?"...":""}"`)}}class K3e extends Oy{constructor(e){super(`Invalid relay URL: "${e}"`)}}class t6 extends Oy{constructor(e){super(`Invalid event ID: "${e.slice(0,20)}${e.length>20?"...":""}"`)}}class gB extends Oy{constructor(e){super(`Invalid timestamp: ${e}`)}}class Vt{constructor(e){this._value=e}static fromHex(e){if(!/^[0-9a-f]{64}$/.test(e))throw new um(e);return new Vt(e)}static fromNpub(e){try{const{type:n,data:r}=jr.decode(e);if(n!=="npub")throw new um(e);return new Vt(r)}catch(n){throw n instanceof um?n:new um(e)}}static fromNprofile(e){try{const{type:n,data:r}=jr.decode(e);if(n!=="nprofile")throw new um(e);return new Vt(r.pubkey)}catch(n){throw n instanceof um?n:new um(e)}}static tryFromString(e){try{return e.startsWith("npub1")?Vt.fromNpub(e):e.startsWith("nprofile1")?Vt.fromNprofile(e):Vt.fromHex(e)}catch{return null}}static isValidHex(e){return/^[0-9a-f]{64}$/.test(e)}get hex(){return this._value}get npub(){return jr.npubEncode(this._value)}get formatted(){return`${this._value.slice(0,8)}...${this._value.slice(-4)}`}formatNpub(e=12){const n=this.npub;if(e<12&&(e=12),e>=63)return n;const r=Math.floor((e-5)/2)+5,o=e-r;return n.slice(0,r)+"..."+n.slice(-o)}equals(e){return this._value===e._value}toString(){return this._value}toJSON(){return this._value}}let Ko=class Aw{constructor(e){this._value=e}static create(e){const n=Aw.normalize(e);if(!n)throw new K3e(e);return new Aw(n)}static tryCreate(e){try{return Aw.create(e)}catch{return null}}static isValid(e){return Aw.normalize(e)!==null}static normalize(e){try{const n=e.trim();if(!n)return null;const r=new URL(n);if(!["ws:","wss:"].includes(r.protocol))return null;let o=`${r.protocol}//${r.host.toLowerCase()}`;return r.pathname&&r.pathname!=="/"&&(o+=r.pathname.replace(/\/$/,"")),o}catch{return null}}get value(){return this._value}get shortForm(){return this._value.replace(/^wss?:\/\//,"")}get isSecure(){return this._value.startsWith("wss:")}get isOnion(){return this._value.includes(".onion")}get isLocalNetwork(){return this._value.includes("localhost")||this._value.includes("127.0.0.1")||this._value.includes("192.168.")||this._value.includes("10.")||this._value.includes("172.16.")}get hostname(){try{return new URL(this._value).hostname}catch{return this._value}}equals(e){return this._value===e._value}toString(){return this._value}toJSON(){return this._value}};class Lu{constructor(e,n,r,o=[]){this._hex=e,this._kind=n,this._author=r,this._relayHints=o}static fromHex(e){if(!/^[0-9a-f]{64}$/.test(e))throw new t6(e);return new Lu(e)}static fromBech32(e){try{const{type:n,data:r}=jr.decode(e);switch(n){case"note":return new Lu(r);case"nevent":{const o=(r.relays||[]).map(s=>Ko.tryCreate(s)).filter(s=>s!==null);return new Lu(r.id,r.kind,r.author&&Vt.tryFromString(r.author)||void 0,o)}default:throw new t6(e)}}catch(n){throw n instanceof t6?n:new t6(e)}}static tryFromString(e){try{return e.startsWith("note1")||e.startsWith("nevent1")?Lu.fromBech32(e):Lu.fromHex(e)}catch{return null}}static isValidHex(e){return/^[0-9a-f]{64}$/.test(e)}get hex(){return this._hex}get kind(){return this._kind}get author(){return this._author}get relayHints(){return this._relayHints}get formatted(){return`${this._hex.slice(0,8)}...${this._hex.slice(-4)}`}toBech32(){var e;return this._kind!==void 0||this._author||this._relayHints.length>0?jr.neventEncode({id:this._hex,kind:this._kind,author:(e=this._author)==null?void 0:e.hex,relays:this._relayHints.map(n=>n.value)}):jr.noteEncode(this._hex)}toNote(){return jr.noteEncode(this._hex)}equals(e){return this._hex===e._hex}toString(){return this._hex}toJSON(){return this._hex}}class _o{constructor(e){this._unix=e}static now(){return new _o(Math.floor(Date.now()/1e3))}static fromUnix(e){if(e<0||!Number.isFinite(e))throw new gB(e);return new _o(Math.floor(e))}static fromDate(e){const n=Math.floor(e.getTime()/1e3);if(n<0)throw new gB(n);return new _o(n)}static fromMillis(e){return _o.fromUnix(e/1e3)}static tryFromUnix(e){try{return _o.fromUnix(e)}catch{return null}}get unix(){return this._unix}get millis(){return this._unix*1e3}get date(){return new Date(this._unix*1e3)}isBefore(e){return this._unix<e._unix}isAfter(e){return this._unix>e._unix}isFuture(){return this._unix>_o.now()._unix}isPast(){return this._unix<_o.now()._unix}secondsFrom(e){return this._unix-e._unix}addSeconds(e){return new _o(this._unix+e)}addMinutes(e){return this.addSeconds(e*60)}addHours(e){return this.addSeconds(e*3600)}addDays(e){return this.addSeconds(e*86400)}formatRelative(){const n=_o.now()._unix-this._unix;return n<0?"in the future":n<60?"just now":n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.floor(n/3600)}h`:n<604800?`${Math.floor(n/86400)}d`:n<2592e3?`${Math.floor(n/604800)}w`:n<31536e3?`${Math.floor(n/2592e3)}mo`:`${Math.floor(n/31536e3)}y`}toISOString(){return this.date.toISOString()}toLocaleDateString(e,n){return this.date.toLocaleDateString(e,n)}toLocaleTimeString(e,n){return this.date.toLocaleTimeString(e,n)}equals(e){return this._unix===e._unix}valueOf(){return this._unix}toString(){return String(this._unix)}toJSON(){return this._unix}}class yf{constructor(){je(this,"occurredAt");this.occurredAt=_o.now()}}class Z3e{constructor(){je(this,"handlers",new Map);je(this,"allHandlers",new Set)}async dispatch(e){const n=e.eventType,r=this.handlers.get(n);if(r)for(const o of r)try{await o(e)}catch(s){console.error(`Error in event handler for ${n}:`,s)}for(const o of this.allHandlers)try{await o(e)}catch(s){console.error(`Error in all-event handler for ${n}:`,s)}}on(e,n){let r=this.handlers.get(e);r||(r=new Set,this.handlers.set(e,r)),r.add(n)}off(e,n){const r=this.handlers.get(e);r&&(r.delete(n),r.size===0&&this.handlers.delete(e))}onAll(e){this.allHandlers.add(e)}offAll(e){this.allHandlers.delete(e)}clear(){this.handlers.clear(),this.allHandlers.clear()}}const Wt=new Z3e,Q3e=t=>Ko.tryCreate(t);class hee extends Oy{constructor(){super("Cannot follow yourself")}}class yk extends Oy{constructor(){super("Cannot mute yourself")}}class D0{constructor(e,n,r=""){je(this,"_entries");je(this,"_content");this._owner=e,this._entries=new Map;for(const o of n)this._entries.set(o.pubkey.hex,o);this._content=r}static empty(e){return new D0(e,[])}static fromEvent(e){if(e.kind!==$e.Contacts)throw new Error(`Expected kind ${$e.Contacts}, got ${e.kind}`);const n=Vt.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="p"&&o[1]){const s=Vt.tryFromString(o[1]);s&&r.push({pubkey:s,relayHint:o[2]||void 0,petname:o[3]||void 0})}return new D0(n,r,e.content)}get owner(){return this._owner}get count(){return this._entries.size}get content(){return this._content}getFollowing(){return Array.from(this._entries.values()).map(e=>e.pubkey)}getEntries(){return Array.from(this._entries.values())}isFollowing(e){return this._entries.has(e.hex)}getEntry(e){return this._entries.get(e.hex)}follow(e,n,r){if(e.equals(this._owner))throw new hee;return this._entries.has(e.hex)?{type:"no_change"}:(this._entries.set(e.hex,{pubkey:e,relayHint:n,petname:r}),{type:"added",pubkey:e})}unfollow(e){return this._entries.has(e.hex)?(this._entries.delete(e.hex),{type:"removed",pubkey:e}):{type:"no_change"}}setPetname(e,n){const r=this._entries.get(e.hex);return r?(this._entries.set(e.hex,{...r,petname:n}),!0):!1}toTags(){return Array.from(this._entries.values()).map(e=>{const n=["p",e.pubkey.hex];return e.relayHint?(n.push(e.relayHint),e.petname&&n.push(e.petname)):e.petname&&n.push("",e.petname),n})}toDraftEvent(){return{kind:$e.Contacts,content:this._content,created_at:_o.now().unix,tags:this.toTags()}}cloneFor(e){const n=this.getEntries().filter(r=>!r.pubkey.equals(e));return new D0(e,n,this._content)}merge(e){for(const n of e.getEntries())!n.pubkey.equals(this._owner)&&!this._entries.has(n.pubkey.hex)&&this._entries.set(n.pubkey.hex,n)}}class ny{constructor(e,n,r){je(this,"_publicMutes");je(this,"_privateMutes");this._owner=e,this._publicMutes=new Map,this._privateMutes=new Map;for(const o of n)this._publicMutes.set(o.hex,o);for(const o of r)this._privateMutes.set(o.hex,o)}static empty(e){return new ny(e,[],[])}static fromEvent(e,n=[]){if(e.kind!==$e.Mutelist)throw new Error(`Expected kind ${$e.Mutelist}, got ${e.kind}`);const r=Vt.fromHex(e.pubkey),o=[],s=[];for(const a of e.tags)if(a[0]==="p"&&a[1]){const i=Vt.tryFromString(a[1]);i&&o.push(i)}for(const a of n)if(a[0]==="p"&&a[1]){const i=Vt.tryFromString(a[1]);i&&s.push(i)}return new ny(r,o,s)}get owner(){return this._owner}get count(){return this._publicMutes.size+this._privateMutes.size}get publicCount(){return this._publicMutes.size}get privateCount(){return this._privateMutes.size}getAllMuted(){return[...this.getPublicMuted(),...this.getPrivateMuted()]}getPublicMuted(){return Array.from(this._publicMutes.values())}getPrivateMuted(){return Array.from(this._privateMutes.values())}isMuted(e){return this._publicMutes.has(e.hex)||this._privateMutes.has(e.hex)}getMuteVisibility(e){return this._publicMutes.has(e.hex)?"public":this._privateMutes.has(e.hex)?"private":null}mutePublicly(e){if(e.equals(this._owner))throw new yk;return this._publicMutes.has(e.hex)?{type:"no_change"}:this._privateMutes.has(e.hex)?(this._privateMutes.delete(e.hex),this._publicMutes.set(e.hex,e),{type:"visibility_changed",pubkey:e,from:"private",to:"public"}):(this._publicMutes.set(e.hex,e),{type:"muted",pubkey:e,visibility:"public"})}mutePrivately(e){if(e.equals(this._owner))throw new yk;return this._privateMutes.has(e.hex)?{type:"no_change"}:this._publicMutes.has(e.hex)?(this._publicMutes.delete(e.hex),this._privateMutes.set(e.hex,e),{type:"visibility_changed",pubkey:e,from:"public",to:"private"}):(this._privateMutes.set(e.hex,e),{type:"muted",pubkey:e,visibility:"private"})}unmute(e){return this._publicMutes.has(e.hex)?(this._publicMutes.delete(e.hex),{type:"unmuted",pubkey:e}):this._privateMutes.has(e.hex)?(this._privateMutes.delete(e.hex),{type:"unmuted",pubkey:e}):{type:"no_change"}}switchToPrivate(e){return this.mutePrivately(e)}switchToPublic(e){return this.mutePublicly(e)}toPublicTags(){return Array.from(this._publicMutes.values()).map(e=>["p",e.hex])}toPrivateTags(){return Array.from(this._privateMutes.values()).map(e=>["p",e.hex])}toDraftEvent(e=""){return{kind:$e.Mutelist,content:e,created_at:_o.now().unix,tags:this.toPublicTags()}}hasPrivateMutes(){return this._privateMutes.size>0}}class xb{constructor(e,n,r,o=""){je(this,"_publicPins");je(this,"_privatePins");je(this,"_encryptedContent");this._owner=e,this._publicPins=new Map,this._privatePins=new Map,this._encryptedContent=o;for(const s of n)this._publicPins.set(s.pubkey.hex,s);for(const s of r)this._privatePins.set(s.pubkey.hex,s)}static empty(e){return new xb(e,[],[])}static fromEvent(e){if(e.kind!==gt.PINNED_USERS)throw new Error(`Expected kind ${gt.PINNED_USERS}, got ${e.kind}`);const n=Vt.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="p"&&o[1]){const s=Vt.tryFromString(o[1]);s&&r.push({pubkey:s,isPrivate:!1})}return new xb(n,r,[],e.content)}get owner(){return this._owner}get count(){return this._publicPins.size+this._privatePins.size}get publicCount(){return this._publicPins.size}get privateCount(){return this._privatePins.size}get encryptedContent(){return this._encryptedContent}setPrivatePins(e){this._privatePins.clear();for(const n of e)if(n[0]==="p"&&n[1]){const r=Vt.tryFromString(n[1]);r&&this._privatePins.set(r.hex,{pubkey:r,isPrivate:!0})}}getPinnedPubkeys(){const e=new Map(this._publicPins);for(const[n,r]of this._privatePins)e.set(n,r);return Array.from(e.values()).map(n=>n.pubkey)}getEntries(){const e=new Map(this._publicPins);for(const[n,r]of this._privatePins)e.set(n,r);return Array.from(e.values())}getPublicEntries(){return Array.from(this._publicPins.values())}getPrivateEntries(){return Array.from(this._privatePins.values())}isPinned(e){return this._publicPins.has(e.hex)||this._privatePins.has(e.hex)}pin(e){if(e.equals(this._owner))throw new Error("Cannot pin self");return this.isPinned(e)?{type:"no_change"}:(this._publicPins.set(e.hex,{pubkey:e,isPrivate:!1}),{type:"pinned",pubkey:e})}unpin(e){const n=this._publicPins.delete(e.hex),r=this._privatePins.delete(e.hex);return n||r?{type:"unpinned",pubkey:e}:{type:"no_change"}}toTags(){return Array.from(this._publicPins.values()).map(e=>["p",e.pubkey.hex])}toPrivateTags(){return Array.from(this._privatePins.values()).map(e=>["p",e.pubkey.hex])}setEncryptedContent(e){this._encryptedContent=e}toDraftEvent(){return{kind:gt.PINNED_USERS,content:this._encryptedContent,created_at:_o.now().unix,tags:this.toTags()}}}function J3e(t){if(!t||t.kind!==gt.PINNED_USERS)return null;try{return xb.fromEvent(t)}catch{return null}}const yB=t=>{if(!t)return null;try{return D0.fromEvent(t)}catch{return null}},X3e=t=>new Set(t.getFollowing().map(e=>e.hex)),eke=(t,e=[])=>{if(!t)return null;try{return ny.fromEvent(t,e)}catch{return null}},tke=t=>new Set(t.getAllMuted().map(e=>e.hex)),nke=t=>new Set(t.getPinnedPubkeys().map(e=>e.hex));let w_=class y3{constructor(e,n,r){je(this,"_relays");this._id=e,this._name=n,this._relays=new Map;for(const o of r)this._relays.set(o.value,o)}static create(e,n){const r=n||crypto.randomUUID().replace(/-/g,"").slice(0,12);return new y3(r,e.trim()||"Unnamed Set",[])}static createWithRelays(e,n,r){const o=y3.create(e,r);for(const s of n){const a=Ko.tryCreate(s);a&&o._relays.set(a.value,a)}return o}static fromEvent(e){if(e.kind!==$e.Relaysets)throw new Error(`Expected kind ${$e.Relaysets}, got ${e.kind}`);let n="",r="";const o=[];for(const s of e.tags)if(s[0]==="d"&&s[1])n=s[1];else if(s[0]==="title"&&s[1])r=s[1];else if(s[0]==="relay"&&s[1]){const a=Ko.tryCreate(s[1]);a&&o.push(a)}return new y3(n||"unknown",r||"Unnamed Set",o)}get id(){return this._id}get name(){return this._name}get count(){return this._relays.size}get isEmpty(){return this._relays.size===0}getRelays(){return Array.from(this._relays.values())}getRelayUrls(){return Array.from(this._relays.keys())}hasRelay(e){return this._relays.has(e.value)}hasRelayUrl(e){const n=Ko.tryCreate(e);return n?this._relays.has(n.value):!1}rename(e){this._name=e.trim()||"Unnamed Set"}addRelay(e){return this._relays.has(e.value)?{type:"no_change"}:(this._relays.set(e.value,e),{type:"added",relay:e})}addRelayUrl(e){const n=Ko.tryCreate(e);return n?this.addRelay(n):null}removeRelay(e){return this._relays.has(e.value)?(this._relays.delete(e.value),{type:"removed",relay:e}):{type:"no_change"}}removeRelayUrl(e){const n=Ko.tryCreate(e);return n?this.removeRelay(n):null}setRelays(e){this._relays.clear();for(const n of e)this._relays.set(n.value,n)}toATag(e){return["a",`${$e.Relaysets}:${e}:${this._id}`]}toTags(){const e=[["d",this._id],["title",this._name]];for(const n of this._relays.values())e.push(["relay",n.value]);return e}toDraftEvent(){return{kind:$e.Relaysets,content:"",created_at:_o.now().unix,tags:this.toTags()}}},rke=class v3{constructor(e,n){je(this,"_relays");this._owner=e,this._relays=new Map;for(const r of n)this._relays.set(r.relay.value,r)}static empty(e){return new v3(e,[])}static fromUrls(e,n){const r=[];for(const o of n){const s=Ko.tryCreate(o);s&&r.push({relay:s,scope:"both"})}return new v3(e,r)}static fromEvent(e,n=!1){if(e.kind!==$e.RelayList)throw new Error(`Expected kind ${$e.RelayList}, got ${e.kind}`);const r=Vt.fromHex(e.pubkey),o=[];for(const s of e.tags)if(s[0]==="r"&&s[1]){const a=Ko.tryCreate(s[1]);if(!a||n&&a.isOnion)continue;let i="both";s[2]==="read"?i="read":s[2]==="write"&&(i="write"),o.push({relay:a,scope:i})}return new v3(r,o)}get owner(){return this._owner}get count(){return this._relays.size}getEntries(){return Array.from(this._relays.values())}getAllRelays(){return Array.from(this._relays.values()).map(e=>e.relay)}getAllUrls(){return Array.from(this._relays.keys())}getReadRelays(){return Array.from(this._relays.values()).filter(e=>e.scope==="read"||e.scope==="both").map(e=>e.relay)}getReadUrls(){return this.getReadRelays().map(e=>e.value)}getWriteRelays(){return Array.from(this._relays.values()).filter(e=>e.scope==="write"||e.scope==="both").map(e=>e.relay)}getWriteUrls(){return this.getWriteRelays().map(e=>e.value)}hasRelay(e){return this._relays.has(e.value)}getScope(e){const n=this._relays.get(e.value);return n?n.scope:null}setRelay(e,n){const r=this._relays.get(e.value);if(r){if(r.scope===n)return{type:"no_change"};const o=r.scope;return this._relays.set(e.value,{relay:e,scope:n}),{type:"scope_changed",relay:e,from:o,to:n}}return this._relays.set(e.value,{relay:e,scope:n}),{type:"added",relay:e,scope:n}}setRelayUrl(e,n){const r=Ko.tryCreate(e);return r?this.setRelay(r,n):null}removeRelay(e){return this._relays.has(e.value)?(this._relays.delete(e.value),{type:"removed",relay:e}):{type:"no_change"}}removeRelayUrl(e){const n=Ko.tryCreate(e);return n?this.removeRelay(n):null}setEntries(e){this._relays.clear();for(const n of e)this._relays.set(n.relay.value,n)}toTags(){return Array.from(this._relays.values()).map(e=>e.scope==="both"?["r",e.relay.value]:["r",e.relay.value,e.scope])}toDraftEvent(){return{kind:$e.RelayList,content:"",created_at:_o.now().unix,tags:this.toTags()}}toLegacyFormat(){return{read:this.getReadUrls(),write:this.getWriteUrls(),originalRelays:Array.from(this._relays.values()).map(e=>({url:e.relay.value,scope:e.scope}))}}};class $p{constructor(e,n,r){je(this,"_relays");je(this,"_sets");je(this,"_setOrder");this._owner=e,this._relays=new Map,this._sets=new Map,this._setOrder=[];for(const o of n)this._relays.set(o.value,o);for(const o of r)this._sets.set(o.id,o),this._setOrder.push(o.id)}static empty(e){return new $p(e,[],[])}static fromUrls(e,n){const r=[];for(const o of n){const s=Ko.tryCreate(o);s&&!r.some(a=>a.value===s.value)&&r.push(s)}return new $p(e,r,[])}static fromEvent(e,n=[]){const r=Vt.fromHex(e.pubkey),o=[],s=[];for(const i of e.tags)if(i[0]==="relay"&&i[1]){const l=Ko.tryCreate(i[1]);l&&!o.some(u=>u.value===l.value)&&o.push(l)}else if(i[0]==="a"&&i[1]){const[l,,u]=i[1].split(":");l===$e.Relaysets.toString()&&u&&!s.includes(u)&&s.push(u)}const a=[];for(const i of s){const l=n.find(u=>u.id===i);l&&a.push(l)}return new $p(r,o,a)}get owner(){return this._owner}get relayCount(){return this._relays.size}get setCount(){return this._sets.size}getRelays(){return Array.from(this._relays.values())}getRelayUrls(){return Array.from(this._relays.keys())}getSets(){return this._setOrder.map(e=>this._sets.get(e)).filter(Boolean)}getSet(e){return this._sets.get(e)}getAllUniqueRelays(){const e=new Map;for(const n of this._relays.values())e.set(n.value,n);for(const n of this._sets.values())for(const r of n.getRelays())e.set(r.value,r);return Array.from(e.values())}hasRelay(e){return this._relays.has(e.value)}hasSet(e){return this._sets.has(e)}addRelay(e){return this._relays.has(e.value)?{type:"no_change"}:(this._relays.set(e.value,e),{type:"relay_added",relay:e})}addRelays(e){return e.map(n=>this.addRelay(n))}addRelayUrl(e){const n=Ko.tryCreate(e);return n?this.addRelay(n):null}removeRelay(e){return this._relays.has(e.value)?(this._relays.delete(e.value),{type:"relay_removed",relay:e}):{type:"no_change"}}removeRelays(e){return e.map(n=>this.removeRelay(n))}addSet(e){return this._sets.has(e.id)?{type:"no_change"}:(this._sets.set(e.id,e),this._setOrder.push(e.id),{type:"set_added",set:e})}removeSet(e){if(!this._sets.has(e))return{type:"no_change"};this._sets.delete(e);const n=this._setOrder.indexOf(e);return n!==-1&&this._setOrder.splice(n,1),{type:"set_removed",setId:e}}updateSet(e){return this._sets.has(e.id)?(this._sets.set(e.id,e),!0):!1}reorderRelays(e){this._relays.clear();for(const n of e)this._relays.set(n.value,n)}reorderSets(e){this._setOrder.length=0;for(const n of e)this._sets.has(n.id)&&this._setOrder.push(n.id)}toTags(e){const n=[];for(const r of this._relays.values())n.push(["relay",r.value]);for(const r of this._setOrder)this._sets.get(r)&&n.push(["a",`${$e.Relaysets}:${e}:${r}`]);return n}toDraftEvent(e){return{kind:10012,content:"",created_at:_o.now().unix,tags:this.toTags(e)}}}const mee=t=>{if(!t)return null;try{return w_.fromEvent(t)}catch{return null}},oke=(t,e)=>({id:t.id,aTag:t.toATag(e),name:t.name,relayUrls:t.getRelayUrls()}),ske=(t,e=[])=>{const n=e.map(r=>mee(r)).filter(Boolean);return $p.fromEvent(t,n)},ake=(t,e=[])=>{if(!t)return null;try{return ske(t,e)}catch{return null}},ike=t=>{const e=Q3e(t);return e?e.value:null},vB=["nsec","nip-07","browser-nsec","ncryptsec","npub","bunker"],Ss=class Ss{constructor(e){this._value=e}static fromString(e){if(!Ss.isValid(e))throw new Error(`Invalid signer type: ${e}`);return new Ss(e)}static tryFromString(e){try{return Ss.fromString(e)}catch{return null}}static isValid(e){return vB.includes(e)}static all(){return vB.map(e=>new Ss(e))}get value(){return this._value}get canSign(){return this._value!=="npub"}get storesKeysLocally(){return["nsec","browser-nsec","ncryptsec"].includes(this._value)}get isRemote(){return this._value==="nip-07"||this._value==="bunker"}get isViewOnly(){return this._value==="npub"}get displayName(){switch(this._value){case"nsec":return"Private Key";case"nip-07":return"Browser Extension";case"browser-nsec":return"Browser Key";case"ncryptsec":return"Encrypted Key";case"npub":return"View Only";case"bunker":return"Remote Signer"}}equals(e){return this._value===e._value}toString(){return this._value}toJSON(){return this._value}};je(Ss,"NSEC",new Ss("nsec")),je(Ss,"NIP07",new Ss("nip-07")),je(Ss,"BROWSER_NSEC",new Ss("browser-nsec")),je(Ss,"NCRYPTSEC",new Ss("ncryptsec")),je(Ss,"NPUB",new Ss("npub")),je(Ss,"BUNKER",new Ss("bunker"));let wB=Ss,gee=class w3{constructor(e,n,r=""){je(this,"_entries");je(this,"_content");this._owner=e,this._entries=new Map;for(const o of n)this._entries.set(o.id,o);this._content=r}static empty(e){return new w3(e,[])}static fromEvent(e){if(e.kind!==$e.BookmarkList)throw new Error(`Expected kind ${$e.BookmarkList}, got ${e.kind}`);const n=Vt.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="e"&&o[1]){const s=Lu.tryFromString(o[1]);if(s){const a=o[2]?Vt.tryFromString(o[2]):void 0;r.push({type:"event",id:s.hex,pubkey:a||void 0,relayHint:o[3]||void 0})}}else o[0]==="a"&&o[1]&&r.push({type:"replaceable",id:o[1],relayHint:o[2]||void 0});return new w3(n,r,e.content)}static tryFromEvent(e){if(!e)return null;try{return w3.fromEvent(e)}catch{return null}}get owner(){return this._owner}get count(){return this._entries.size}get content(){return this._content}getEntries(){return Array.from(this._entries.values())}getEventIds(){return Array.from(this._entries.values()).filter(e=>e.type==="event").map(e=>e.id)}getReplaceableCoordinates(){return Array.from(this._entries.values()).filter(e=>e.type==="replaceable").map(e=>e.id)}hasEventId(e){return this._entries.has(e)}hasCoordinate(e){return this._entries.has(e)}isBookmarked(e){return this._entries.has(e)}addEvent(e,n,r){const o=e.hex;if(this._entries.has(o))return{type:"no_change"};const s={type:"event",id:o,pubkey:n,relayHint:r};return this._entries.set(o,s),{type:"added",entry:s}}addReplaceable(e,n){if(this._entries.has(e))return{type:"no_change"};const r={type:"replaceable",id:e,relayHint:n};return this._entries.set(e,r),{type:"added",entry:r}}addFromEvent(e){var o;if(this.isReplaceableKind(e.kind)){const s=((o=e.tags.find(i=>i[0]==="d"))==null?void 0:o[1])||"",a=`${e.kind}:${e.pubkey}:${s}`;return this.addReplaceable(a)}const n=Lu.tryFromString(e.id);if(!n)return{type:"no_change"};const r=Vt.tryFromString(e.pubkey);return this.addEvent(n,r||void 0)}remove(e){return this._entries.has(e)?(this._entries.delete(e),{type:"removed",id:e}):{type:"no_change"}}removeFromEvent(e){var n;if(this.isReplaceableKind(e.kind)){const r=((n=e.tags.find(s=>s[0]==="d"))==null?void 0:n[1])||"",o=`${e.kind}:${e.pubkey}:${r}`;return this.remove(o)}return this.remove(e.id)}isReplaceableKind(e){return e>=1e4&&e<2e4||e>=3e4&&e<4e4}toTags(){const e=[];for(const n of this._entries.values())if(n.type==="event"){const r=["e",n.id];n.pubkey?(r.push(n.pubkey.hex),n.relayHint&&r.push(n.relayHint)):n.relayHint&&r.push("",n.relayHint),e.push(r)}else{const r=["a",n.id];n.relayHint&&r.push(n.relayHint),e.push(r)}return e}toDraftEvent(){return{kind:$e.BookmarkList,content:this._content,created_at:_o.now().unix,tags:this.toTags()}}};const bB=5;class yee extends Error{constructor(){super("Cannot pin content from other users"),this.name="CannotPinOthersContentError"}}class vee extends Error{constructor(){super("Can only pin short text notes"),this.name="CanOnlyPinNotesError"}}class L0{constructor(e,n,r=""){je(this,"_entries");je(this,"_order");je(this,"_content");this._owner=e,this._entries=new Map,this._order=[];for(const o of n)this._entries.set(o.eventId.hex,o),this._order.push(o.eventId.hex);this._content=r}static empty(e){return new L0(e,[])}static fromEvent(e){if(e.kind!==$e.Pinlist)throw new Error(`Expected kind ${$e.Pinlist}, got ${e.kind}`);const n=Vt.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="e"&&o[1]){const s=Lu.tryFromString(o[1]);if(s&&!r.some(a=>a.eventId.hex===s.hex)){const a=o[2]?Vt.tryFromString(o[2]):void 0;r.push({eventId:s,pubkey:a||void 0,relayHint:o[3]||void 0})}}return new L0(n,r,e.content)}static tryFromEvent(e){if(!e)return null;try{return L0.fromEvent(e)}catch{return null}}get owner(){return this._owner}get count(){return this._entries.size}get isFull(){return this._entries.size>=bB}get content(){return this._content}getEntries(){return this._order.map(e=>this._entries.get(e)).filter(Boolean)}getEventIds(){return[...this._order]}getEventIdSet(){return new Set(this._order)}isPinned(e){return this._entries.has(e)}pin(e){if(e.pubkey!==this._owner.hex)throw new yee;if(e.kind!==$e.ShortTextNote)throw new vee;const n=Lu.fromHex(e.id);if(this._entries.has(n.hex))return{type:"no_change"};const r={eventId:n,pubkey:this._owner,relayHint:void 0},o=[];for(;this._entries.size>=bB;){const s=this._order.shift();if(s){const a=this._entries.get(s);a&&o.push(a),this._entries.delete(s)}}return this._entries.set(n.hex,r),this._order.push(n.hex),o.length>0?{type:"limit_exceeded",removed:o}:{type:"pinned",entry:r}}unpin(e){if(!this._entries.has(e))return{type:"no_change"};this._entries.delete(e);const n=this._order.indexOf(e);return n!==-1&&this._order.splice(n,1),{type:"unpinned",eventId:e}}unpinEvent(e){return this.unpin(e.id)}toTags(){const e=[];for(const n of this._order){const r=this._entries.get(n);if(r){const o=["e",r.eventId.hex];r.pubkey?(o.push(r.pubkey.hex),r.relayHint&&o.push(r.relayHint)):r.relayHint&&o.push("",r.relayHint),e.push(o)}}return e}toDraftEvent(){return{kind:$e.Pinlist,content:this._content,created_at:_o.now().unix,tags:this.toTags()}}}class lke extends yf{constructor(n,r,o){super();je(this,"eventType","content.event_bookmarked");this.actor=n,this.bookmarkedEventId=r,this.bookmarkType=o}}class cke extends yf{constructor(n,r){super();je(this,"eventType","content.event_unbookmarked");this.actor=n,this.unbookmarkedEventId=r}}class xB extends yf{constructor(n,r){super();je(this,"eventType","content.bookmark_list_published");this.owner=n,this.bookmarkCount=r}}class kB extends yf{constructor(n,r){super();je(this,"eventType","content.note_pinned");this.actor=n,this.pinnedEventId=r}}class uke extends yf{constructor(n,r){super();je(this,"eventType","content.note_unpinned");this.actor=n,this.unpinnedEventId=r}}class fke extends yf{constructor(n,r){super();je(this,"eventType","content.pins_limit_exceeded");this.actor=n,this.removedEventIds=r}}class jB extends yf{constructor(n,r){super();je(this,"eventType","content.pin_list_published");this.owner=n,this.pinCount=r}}const CB=t=>gee.tryFromEvent(t),RI=t=>L0.tryFromEvent(t),z1=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,wee=new Set,b_=typeof process=="object"&&process?process:{},bee=(t,e,n,r)=>{typeof b_.emitWarning=="function"?b_.emitWarning(t,e,n,r):console.error(`[${n}] ${e}: ${t}`)};let vk=globalThis.AbortController,SB=globalThis.AbortSignal;var iJ;if(typeof vk>"u"){SB=class{constructor(){je(this,"onabort");je(this,"_onabort",[]);je(this,"reason");je(this,"aborted",!1)}addEventListener(r,o){this._onabort.push(o)}},vk=class{constructor(){je(this,"signal",new SB);e()}abort(r){var o,s;if(!this.signal.aborted){this.signal.reason=r,this.signal.aborted=!0;for(const a of this.signal._onabort)a(r);(s=(o=this.signal).onabort)==null||s.call(o,r)}}};let t=((iJ=b_.env)==null?void 0:iJ.LRU_CACHE_IGNORE_AC_WARNING)!=="1";const e=()=>{t&&(t=!1,bee("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}const dke=t=>!wee.has(t),hp=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),xee=t=>hp(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?b3:null:null;class b3 extends Array{constructor(e){super(e),this.fill(0)}}var Q0;const Am=class Am{constructor(e,n){je(this,"heap");je(this,"length");if(!Le(Am,Q0))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(e),this.length=0}static create(e){const n=xee(e);if(!n)return[];kn(Am,Q0,!0);const r=new Am(e,n);return kn(Am,Q0,!1),r}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}};Q0=new WeakMap,gr(Am,Q0,!1);let x_=Am;var lJ,cJ,Rc,Qi,Tc,Dc,J0,X0,ds,Lc,Ho,ro,Ln,Wa,Ji,wa,Es,Pc,Ns,Oc,zc,Xi,Fc,Rp,Ya,Kt,k_,$m,Gf,T2,el,kee,Vm,ey,D2,mp,gp,j_,x3,k3,to,C_,_w,yp,S_,ty;let zy=(ty=class{constructor(e){gr(this,Kt);gr(this,Rc);gr(this,Qi);gr(this,Tc);gr(this,Dc);gr(this,J0);gr(this,X0);je(this,"ttl");je(this,"ttlResolution");je(this,"ttlAutopurge");je(this,"updateAgeOnGet");je(this,"updateAgeOnHas");je(this,"allowStale");je(this,"noDisposeOnSet");je(this,"noUpdateTTL");je(this,"maxEntrySize");je(this,"sizeCalculation");je(this,"noDeleteOnFetchRejection");je(this,"noDeleteOnStaleGet");je(this,"allowStaleOnFetchAbort");je(this,"allowStaleOnFetchRejection");je(this,"ignoreFetchAbort");gr(this,ds);gr(this,Lc);gr(this,Ho);gr(this,ro);gr(this,Ln);gr(this,Wa);gr(this,Ji);gr(this,wa);gr(this,Es);gr(this,Pc);gr(this,Ns);gr(this,Oc);gr(this,zc);gr(this,Xi);gr(this,Fc);gr(this,Rp);gr(this,Ya);gr(this,$m,()=>{});gr(this,Gf,()=>{});gr(this,T2,()=>{});gr(this,el,()=>!1);gr(this,Vm,e=>{});gr(this,ey,(e,n,r)=>{});gr(this,D2,(e,n,r,o)=>{if(r||o)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});je(this,lJ,"LRUCache");const{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:s,updateAgeOnGet:a,updateAgeOnHas:i,allowStale:l,dispose:u,disposeAfter:d,noDisposeOnSet:f,noUpdateTTL:m,maxSize:g=0,maxEntrySize:w=0,sizeCalculation:b,fetchMethod:j,memoMethod:S,noDeleteOnFetchRejection:I,noDeleteOnStaleGet:N,allowStaleOnFetchRejection:M,allowStaleOnFetchAbort:D,ignoreFetchAbort:P}=e;if(n!==0&&!hp(n))throw new TypeError("max option must be a nonnegative integer");const L=n?xee(n):Array;if(!L)throw new Error("invalid max value: "+n);if(kn(this,Rc,n),kn(this,Qi,g),this.maxEntrySize=w||Le(this,Qi),this.sizeCalculation=b,this.sizeCalculation){if(!Le(this,Qi)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(S!==void 0&&typeof S!="function")throw new TypeError("memoMethod must be a function if defined");if(kn(this,X0,S),j!==void 0&&typeof j!="function")throw new TypeError("fetchMethod must be a function if specified");if(kn(this,J0,j),kn(this,Rp,!!j),kn(this,Ho,new Map),kn(this,ro,new Array(n).fill(void 0)),kn(this,Ln,new Array(n).fill(void 0)),kn(this,Wa,new L(n)),kn(this,Ji,new L(n)),kn(this,wa,0),kn(this,Es,0),kn(this,Pc,x_.create(n)),kn(this,ds,0),kn(this,Lc,0),typeof u=="function"&&kn(this,Tc,u),typeof d=="function"?(kn(this,Dc,d),kn(this,Ns,[])):(kn(this,Dc,void 0),kn(this,Ns,void 0)),kn(this,Fc,!!Le(this,Tc)),kn(this,Ya,!!Le(this,Dc)),this.noDisposeOnSet=!!f,this.noUpdateTTL=!!m,this.noDeleteOnFetchRejection=!!I,this.allowStaleOnFetchRejection=!!M,this.allowStaleOnFetchAbort=!!D,this.ignoreFetchAbort=!!P,this.maxEntrySize!==0){if(Le(this,Qi)!==0&&!hp(Le(this,Qi)))throw new TypeError("maxSize must be a positive integer if specified");if(!hp(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");sn(this,Kt,kee).call(this)}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!N,this.updateAgeOnGet=!!a,this.updateAgeOnHas=!!i,this.ttlResolution=hp(o)||o===0?o:1,this.ttlAutopurge=!!s,this.ttl=r||0,this.ttl){if(!hp(this.ttl))throw new TypeError("ttl must be a positive integer if specified");sn(this,Kt,k_).call(this)}if(Le(this,Rc)===0&&this.ttl===0&&Le(this,Qi)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!Le(this,Rc)&&!Le(this,Qi)){const F="LRU_CACHE_UNBOUNDED";dke(F)&&(wee.add(F),bee("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",F,ty))}}static unsafeExposeInternals(e){return{starts:Le(e,zc),ttls:Le(e,Xi),sizes:Le(e,Oc),keyMap:Le(e,Ho),keyList:Le(e,ro),valList:Le(e,Ln),next:Le(e,Wa),prev:Le(e,Ji),get head(){return Le(e,wa)},get tail(){return Le(e,Es)},free:Le(e,Pc),isBackgroundFetch:n=>{var r;return sn(r=e,Kt,to).call(r,n)},backgroundFetch:(n,r,o,s)=>{var a;return sn(a=e,Kt,k3).call(a,n,r,o,s)},moveToTail:n=>{var r;return sn(r=e,Kt,_w).call(r,n)},indexes:n=>{var r;return sn(r=e,Kt,mp).call(r,n)},rindexes:n=>{var r;return sn(r=e,Kt,gp).call(r,n)},isStale:n=>{var r;return Le(r=e,el).call(r,n)}}}get max(){return Le(this,Rc)}get maxSize(){return Le(this,Qi)}get calculatedSize(){return Le(this,Lc)}get size(){return Le(this,ds)}get fetchMethod(){return Le(this,J0)}get memoMethod(){return Le(this,X0)}get dispose(){return Le(this,Tc)}get disposeAfter(){return Le(this,Dc)}getRemainingTTL(e){return Le(this,Ho).has(e)?1/0:0}*entries(){for(const e of sn(this,Kt,mp).call(this))Le(this,Ln)[e]!==void 0&&Le(this,ro)[e]!==void 0&&!sn(this,Kt,to).call(this,Le(this,Ln)[e])&&(yield[Le(this,ro)[e],Le(this,Ln)[e]])}*rentries(){for(const e of sn(this,Kt,gp).call(this))Le(this,Ln)[e]!==void 0&&Le(this,ro)[e]!==void 0&&!sn(this,Kt,to).call(this,Le(this,Ln)[e])&&(yield[Le(this,ro)[e],Le(this,Ln)[e]])}*keys(){for(const e of sn(this,Kt,mp).call(this)){const n=Le(this,ro)[e];n!==void 0&&!sn(this,Kt,to).call(this,Le(this,Ln)[e])&&(yield n)}}*rkeys(){for(const e of sn(this,Kt,gp).call(this)){const n=Le(this,ro)[e];n!==void 0&&!sn(this,Kt,to).call(this,Le(this,Ln)[e])&&(yield n)}}*values(){for(const e of sn(this,Kt,mp).call(this))Le(this,Ln)[e]!==void 0&&!sn(this,Kt,to).call(this,Le(this,Ln)[e])&&(yield Le(this,Ln)[e])}*rvalues(){for(const e of sn(this,Kt,gp).call(this))Le(this,Ln)[e]!==void 0&&!sn(this,Kt,to).call(this,Le(this,Ln)[e])&&(yield Le(this,Ln)[e])}[(cJ=Symbol.iterator,lJ=Symbol.toStringTag,cJ)](){return this.entries()}find(e,n={}){for(const r of sn(this,Kt,mp).call(this)){const o=Le(this,Ln)[r],s=sn(this,Kt,to).call(this,o)?o.__staleWhileFetching:o;if(s!==void 0&&e(s,Le(this,ro)[r],this))return this.get(Le(this,ro)[r],n)}}forEach(e,n=this){for(const r of sn(this,Kt,mp).call(this)){const o=Le(this,Ln)[r],s=sn(this,Kt,to).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&e.call(n,s,Le(this,ro)[r],this)}}rforEach(e,n=this){for(const r of sn(this,Kt,gp).call(this)){const o=Le(this,Ln)[r],s=sn(this,Kt,to).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&e.call(n,s,Le(this,ro)[r],this)}}purgeStale(){let e=!1;for(const n of sn(this,Kt,gp).call(this,{allowStale:!0}))Le(this,el).call(this,n)&&(sn(this,Kt,yp).call(this,Le(this,ro)[n],"expire"),e=!0);return e}info(e){const n=Le(this,Ho).get(e);if(n===void 0)return;const r=Le(this,Ln)[n],o=sn(this,Kt,to).call(this,r)?r.__staleWhileFetching:r;if(o===void 0)return;const s={value:o};if(Le(this,Xi)&&Le(this,zc)){const a=Le(this,Xi)[n],i=Le(this,zc)[n];if(a&&i){const l=a-(z1.now()-i);s.ttl=l,s.start=Date.now()}}return Le(this,Oc)&&(s.size=Le(this,Oc)[n]),s}dump(){const e=[];for(const n of sn(this,Kt,mp).call(this,{allowStale:!0})){const r=Le(this,ro)[n],o=Le(this,Ln)[n],s=sn(this,Kt,to).call(this,o)?o.__staleWhileFetching:o;if(s===void 0||r===void 0)continue;const a={value:s};if(Le(this,Xi)&&Le(this,zc)){a.ttl=Le(this,Xi)[n];const i=z1.now()-Le(this,zc)[n];a.start=Math.floor(Date.now()-i)}Le(this,Oc)&&(a.size=Le(this,Oc)[n]),e.unshift([r,a])}return e}load(e){this.clear();for(const[n,r]of e){if(r.start){const o=Date.now()-r.start;r.start=z1.now()-o}this.set(n,r.value,r)}}set(e,n,r={}){var m,g,w,b,j;if(n===void 0)return this.delete(e),this;const{ttl:o=this.ttl,start:s,noDisposeOnSet:a=this.noDisposeOnSet,sizeCalculation:i=this.sizeCalculation,status:l}=r;let{noUpdateTTL:u=this.noUpdateTTL}=r;const d=Le(this,D2).call(this,e,n,r.size||0,i);if(this.maxEntrySize&&d>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=!0),sn(this,Kt,yp).call(this,e,"set"),this;let f=Le(this,ds)===0?void 0:Le(this,Ho).get(e);if(f===void 0)f=Le(this,ds)===0?Le(this,Es):Le(this,Pc).length!==0?Le(this,Pc).pop():Le(this,ds)===Le(this,Rc)?sn(this,Kt,x3).call(this,!1):Le(this,ds),Le(this,ro)[f]=e,Le(this,Ln)[f]=n,Le(this,Ho).set(e,f),Le(this,Wa)[Le(this,Es)]=f,Le(this,Ji)[f]=Le(this,Es),kn(this,Es,f),Q4(this,ds)._++,Le(this,ey).call(this,f,d,l),l&&(l.set="add"),u=!1;else{sn(this,Kt,_w).call(this,f);const S=Le(this,Ln)[f];if(n!==S){if(Le(this,Rp)&&sn(this,Kt,to).call(this,S)){S.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:I}=S;I!==void 0&&!a&&(Le(this,Fc)&&((m=Le(this,Tc))==null||m.call(this,I,e,"set")),Le(this,Ya)&&((g=Le(this,Ns))==null||g.push([I,e,"set"])))}else a||(Le(this,Fc)&&((w=Le(this,Tc))==null||w.call(this,S,e,"set")),Le(this,Ya)&&((b=Le(this,Ns))==null||b.push([S,e,"set"])));if(Le(this,Vm).call(this,f),Le(this,ey).call(this,f,d,l),Le(this,Ln)[f]=n,l){l.set="replace";const I=S&&sn(this,Kt,to).call(this,S)?S.__staleWhileFetching:S;I!==void 0&&(l.oldValue=I)}}else l&&(l.set="update")}if(o!==0&&!Le(this,Xi)&&sn(this,Kt,k_).call(this),Le(this,Xi)&&(u||Le(this,T2).call(this,f,o,s),l&&Le(this,Gf).call(this,l,f)),!a&&Le(this,Ya)&&Le(this,Ns)){const S=Le(this,Ns);let I;for(;I=S==null?void 0:S.shift();)(j=Le(this,Dc))==null||j.call(this,...I)}return this}pop(){var e;try{for(;Le(this,ds);){const n=Le(this,Ln)[Le(this,wa)];if(sn(this,Kt,x3).call(this,!0),sn(this,Kt,to).call(this,n)){if(n.__staleWhileFetching)return n.__staleWhileFetching}else if(n!==void 0)return n}}finally{if(Le(this,Ya)&&Le(this,Ns)){const n=Le(this,Ns);let r;for(;r=n==null?void 0:n.shift();)(e=Le(this,Dc))==null||e.call(this,...r)}}}has(e,n={}){const{updateAgeOnHas:r=this.updateAgeOnHas,status:o}=n,s=Le(this,Ho).get(e);if(s!==void 0){const a=Le(this,Ln)[s];if(sn(this,Kt,to).call(this,a)&&a.__staleWhileFetching===void 0)return!1;if(Le(this,el).call(this,s))o&&(o.has="stale",Le(this,Gf).call(this,o,s));else return r&&Le(this,$m).call(this,s),o&&(o.has="hit",Le(this,Gf).call(this,o,s)),!0}else o&&(o.has="miss");return!1}peek(e,n={}){const{allowStale:r=this.allowStale}=n,o=Le(this,Ho).get(e);if(o===void 0||!r&&Le(this,el).call(this,o))return;const s=Le(this,Ln)[o];return sn(this,Kt,to).call(this,s)?s.__staleWhileFetching:s}async fetch(e,n={}){const{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:i=this.noDisposeOnSet,size:l=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:d=this.noUpdateTTL,noDeleteOnFetchRejection:f=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:w=this.allowStaleOnFetchAbort,context:b,forceRefresh:j=!1,status:S,signal:I}=n;if(!Le(this,Rp))return S&&(S.fetch="get"),this.get(e,{allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,status:S});const N={allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,ttl:a,noDisposeOnSet:i,size:l,sizeCalculation:u,noUpdateTTL:d,noDeleteOnFetchRejection:f,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:w,ignoreFetchAbort:g,status:S,signal:I};let M=Le(this,Ho).get(e);if(M===void 0){S&&(S.fetch="miss");const D=sn(this,Kt,k3).call(this,e,M,N,b);return D.__returned=D}else{const D=Le(this,Ln)[M];if(sn(this,Kt,to).call(this,D)){const R=r&&D.__staleWhileFetching!==void 0;return S&&(S.fetch="inflight",R&&(S.returnedStale=!0)),R?D.__staleWhileFetching:D.__returned=D}const P=Le(this,el).call(this,M);if(!j&&!P)return S&&(S.fetch="hit"),sn(this,Kt,_w).call(this,M),o&&Le(this,$m).call(this,M),S&&Le(this,Gf).call(this,S,M),D;const L=sn(this,Kt,k3).call(this,e,M,N,b),T=L.__staleWhileFetching!==void 0&&r;return S&&(S.fetch=P?"stale":"refresh",T&&P&&(S.returnedStale=!0)),T?L.__staleWhileFetching:L.__returned=L}}async forceFetch(e,n={}){const r=await this.fetch(e,n);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(e,n={}){const r=Le(this,X0);if(!r)throw new Error("no memoMethod provided to constructor");const{context:o,forceRefresh:s,...a}=n,i=this.get(e,a);if(!s&&i!==void 0)return i;const l=r(e,i,{options:a,context:o});return this.set(e,l,a),l}get(e,n={}){const{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:a}=n,i=Le(this,Ho).get(e);if(i!==void 0){const l=Le(this,Ln)[i],u=sn(this,Kt,to).call(this,l);return a&&Le(this,Gf).call(this,a,i),Le(this,el).call(this,i)?(a&&(a.get="stale"),u?(a&&r&&l.__staleWhileFetching!==void 0&&(a.returnedStale=!0),r?l.__staleWhileFetching:void 0):(s||sn(this,Kt,yp).call(this,e,"expire"),a&&r&&(a.returnedStale=!0),r?l:void 0)):(a&&(a.get="hit"),u?l.__staleWhileFetching:(sn(this,Kt,_w).call(this,i),o&&Le(this,$m).call(this,i),l))}else a&&(a.get="miss")}delete(e){return sn(this,Kt,yp).call(this,e,"delete")}clear(){return sn(this,Kt,S_).call(this,"delete")}},Rc=new WeakMap,Qi=new WeakMap,Tc=new WeakMap,Dc=new WeakMap,J0=new WeakMap,X0=new WeakMap,ds=new WeakMap,Lc=new WeakMap,Ho=new WeakMap,ro=new WeakMap,Ln=new WeakMap,Wa=new WeakMap,Ji=new WeakMap,wa=new WeakMap,Es=new WeakMap,Pc=new WeakMap,Ns=new WeakMap,Oc=new WeakMap,zc=new WeakMap,Xi=new WeakMap,Fc=new WeakMap,Rp=new WeakMap,Ya=new WeakMap,Kt=new WeakSet,k_=function(){const e=new b3(Le(this,Rc)),n=new b3(Le(this,Rc));kn(this,Xi,e),kn(this,zc,n),kn(this,T2,(s,a,i=z1.now())=>{if(n[s]=a!==0?i:0,e[s]=a,a!==0&&this.ttlAutopurge){const l=setTimeout(()=>{Le(this,el).call(this,s)&&sn(this,Kt,yp).call(this,Le(this,ro)[s],"expire")},a+1);l.unref&&l.unref()}}),kn(this,$m,s=>{n[s]=e[s]!==0?z1.now():0}),kn(this,Gf,(s,a)=>{if(e[a]){const i=e[a],l=n[a];if(!i||!l)return;s.ttl=i,s.start=l,s.now=r||o();const u=s.now-l;s.remainingTTL=i-u}});let r=0;const o=()=>{const s=z1.now();if(this.ttlResolution>0){r=s;const a=setTimeout(()=>r=0,this.ttlResolution);a.unref&&a.unref()}return s};this.getRemainingTTL=s=>{const a=Le(this,Ho).get(s);if(a===void 0)return 0;const i=e[a],l=n[a];if(!i||!l)return 1/0;const u=(r||o())-l;return i-u},kn(this,el,s=>{const a=n[s],i=e[s];return!!i&&!!a&&(r||o())-a>i})},$m=new WeakMap,Gf=new WeakMap,T2=new WeakMap,el=new WeakMap,kee=function(){const e=new b3(Le(this,Rc));kn(this,Lc,0),kn(this,Oc,e),kn(this,Vm,n=>{kn(this,Lc,Le(this,Lc)-e[n]),e[n]=0}),kn(this,D2,(n,r,o,s)=>{if(sn(this,Kt,to).call(this,r))return 0;if(!hp(o))if(s){if(typeof s!="function")throw new TypeError("sizeCalculation must be a function");if(o=s(r,n),!hp(o))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return o}),kn(this,ey,(n,r,o)=>{if(e[n]=r,Le(this,Qi)){const s=Le(this,Qi)-e[n];for(;Le(this,Lc)>s;)sn(this,Kt,x3).call(this,!0)}kn(this,Lc,Le(this,Lc)+e[n]),o&&(o.entrySize=r,o.totalCalculatedSize=Le(this,Lc))})},Vm=new WeakMap,ey=new WeakMap,D2=new WeakMap,mp=function*({allowStale:e=this.allowStale}={}){if(Le(this,ds))for(let n=Le(this,Es);!(!sn(this,Kt,j_).call(this,n)||((e||!Le(this,el).call(this,n))&&(yield n),n===Le(this,wa)));)n=Le(this,Ji)[n]},gp=function*({allowStale:e=this.allowStale}={}){if(Le(this,ds))for(let n=Le(this,wa);!(!sn(this,Kt,j_).call(this,n)||((e||!Le(this,el).call(this,n))&&(yield n),n===Le(this,Es)));)n=Le(this,Wa)[n]},j_=function(e){return e!==void 0&&Le(this,Ho).get(Le(this,ro)[e])===e},x3=function(e){var s,a;const n=Le(this,wa),r=Le(this,ro)[n],o=Le(this,Ln)[n];return Le(this,Rp)&&sn(this,Kt,to).call(this,o)?o.__abortController.abort(new Error("evicted")):(Le(this,Fc)||Le(this,Ya))&&(Le(this,Fc)&&((s=Le(this,Tc))==null||s.call(this,o,r,"evict")),Le(this,Ya)&&((a=Le(this,Ns))==null||a.push([o,r,"evict"]))),Le(this,Vm).call(this,n),e&&(Le(this,ro)[n]=void 0,Le(this,Ln)[n]=void 0,Le(this,Pc).push(n)),Le(this,ds)===1?(kn(this,wa,kn(this,Es,0)),Le(this,Pc).length=0):kn(this,wa,Le(this,Wa)[n]),Le(this,Ho).delete(r),Q4(this,ds)._--,n},k3=function(e,n,r,o){const s=n===void 0?void 0:Le(this,Ln)[n];if(sn(this,Kt,to).call(this,s))return s;const a=new vk,{signal:i}=r;i==null||i.addEventListener("abort",()=>a.abort(i.reason),{signal:a.signal});const l={signal:a.signal,options:r,context:o},u=(b,j=!1)=>{const{aborted:S}=a.signal,I=r.ignoreFetchAbort&&b!==void 0;if(r.status&&(S&&!j?(r.status.fetchAborted=!0,r.status.fetchError=a.signal.reason,I&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),S&&!I&&!j)return f(a.signal.reason);const N=g;return Le(this,Ln)[n]===g&&(b===void 0?N.__staleWhileFetching?Le(this,Ln)[n]=N.__staleWhileFetching:sn(this,Kt,yp).call(this,e,"fetch"):(r.status&&(r.status.fetchUpdated=!0),this.set(e,b,l.options))),b},d=b=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=b),f(b)),f=b=>{const{aborted:j}=a.signal,S=j&&r.allowStaleOnFetchAbort,I=S||r.allowStaleOnFetchRejection,N=I||r.noDeleteOnFetchRejection,M=g;if(Le(this,Ln)[n]===g&&(!N||M.__staleWhileFetching===void 0?sn(this,Kt,yp).call(this,e,"fetch"):S||(Le(this,Ln)[n]=M.__staleWhileFetching)),I)return r.status&&M.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),M.__staleWhileFetching;if(M.__returned===M)throw b},m=(b,j)=>{var I;const S=(I=Le(this,J0))==null?void 0:I.call(this,e,s,l);S&&S instanceof Promise&&S.then(N=>b(N===void 0?void 0:N),j),a.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(b(void 0),r.allowStaleOnFetchAbort&&(b=N=>u(N,!0)))})};r.status&&(r.status.fetchDispatched=!0);const g=new Promise(m).then(u,d),w=Object.assign(g,{__abortController:a,__staleWhileFetching:s,__returned:void 0});return n===void 0?(this.set(e,w,{...l.options,status:void 0}),n=Le(this,Ho).get(e)):Le(this,Ln)[n]=w,w},to=function(e){if(!Le(this,Rp))return!1;const n=e;return!!n&&n instanceof Promise&&n.hasOwnProperty("__staleWhileFetching")&&n.__abortController instanceof vk},C_=function(e,n){Le(this,Ji)[n]=e,Le(this,Wa)[e]=n},_w=function(e){e!==Le(this,Es)&&(e===Le(this,wa)?kn(this,wa,Le(this,Wa)[e]):sn(this,Kt,C_).call(this,Le(this,Ji)[e],Le(this,Wa)[e]),sn(this,Kt,C_).call(this,Le(this,Es),e),kn(this,Es,e))},yp=function(e,n){var o,s,a,i;let r=!1;if(Le(this,ds)!==0){const l=Le(this,Ho).get(e);if(l!==void 0)if(r=!0,Le(this,ds)===1)sn(this,Kt,S_).call(this,n);else{Le(this,Vm).call(this,l);const u=Le(this,Ln)[l];if(sn(this,Kt,to).call(this,u)?u.__abortController.abort(new Error("deleted")):(Le(this,Fc)||Le(this,Ya))&&(Le(this,Fc)&&((o=Le(this,Tc))==null||o.call(this,u,e,n)),Le(this,Ya)&&((s=Le(this,Ns))==null||s.push([u,e,n]))),Le(this,Ho).delete(e),Le(this,ro)[l]=void 0,Le(this,Ln)[l]=void 0,l===Le(this,Es))kn(this,Es,Le(this,Ji)[l]);else if(l===Le(this,wa))kn(this,wa,Le(this,Wa)[l]);else{const d=Le(this,Ji)[l];Le(this,Wa)[d]=Le(this,Wa)[l];const f=Le(this,Wa)[l];Le(this,Ji)[f]=Le(this,Ji)[l]}Q4(this,ds)._--,Le(this,Pc).push(l)}}if(Le(this,Ya)&&((a=Le(this,Ns))!=null&&a.length)){const l=Le(this,Ns);let u;for(;u=l==null?void 0:l.shift();)(i=Le(this,Dc))==null||i.call(this,...u)}return r},S_=function(e){var n,r,o;for(const s of sn(this,Kt,gp).call(this,{allowStale:!0})){const a=Le(this,Ln)[s];if(sn(this,Kt,to).call(this,a))a.__abortController.abort(new Error("deleted"));else{const i=Le(this,ro)[s];Le(this,Fc)&&((n=Le(this,Tc))==null||n.call(this,a,i,e)),Le(this,Ya)&&((r=Le(this,Ns))==null||r.push([a,i,e]))}}if(Le(this,Ho).clear(),Le(this,Ln).fill(void 0),Le(this,ro).fill(void 0),Le(this,Xi)&&Le(this,zc)&&(Le(this,Xi).fill(0),Le(this,zc).fill(0)),Le(this,Oc)&&Le(this,Oc).fill(0),kn(this,wa,0),kn(this,Es,0),Le(this,Pc).length=0,kn(this,Lc,0),kn(this,ds,0),Le(this,Ya)&&Le(this,Ns)){const s=Le(this,Ns);let a;for(;a=s==null?void 0:s.shift();)(o=Le(this,Dc))==null||o.call(this,...a)}},ty);new TextDecoder("utf-8");var pke=new TextEncoder;function hke(t){let e=0;for(let n=0;n<64;n+=8){const r=parseInt(t.substring(n,n+8),16);if(r===0)e+=32;else{e+=Math.clz32(r);break}}return e}function mke(t){return Lr(gl(pke.encode(JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content]))))}var gke=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","#","$","%","*","+",",","-",".",":",";","=","?","@","[","]","^","_","{","|","}","~"],Mw=t=>{let e=0;for(let n=0;n<t.length;n++){let r=t[n],o=gke.indexOf(r);e=e*83+o}return e},TI=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},DI=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(e*12.92*255+.5):Math.trunc((1.055*Math.pow(e,.4166666666666667)-.055)*255+.5)},yke=t=>t<0?-1:1,LI=(t,e)=>yke(t)*Math.pow(Math.abs(t),e),EB=class extends Error{constructor(e){super(e),this.name="ValidationError",this.message=e}},jee=t=>{if(!t||t.length<6)throw new EB("The blurhash string must be at least 6 characters");let e=Mw(t[0]),n=Math.floor(e/9)+1,r=e%9+1;if(t.length!==4+2*r*n)throw new EB(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*r*n}`)},vke=t=>{try{jee(t)}catch(e){return{result:!1,errorReason:e.message}}return{result:!0}},wke=t=>{let e=t>>16,n=t>>8&255,r=t&255;return[TI(e),TI(n),TI(r)]},bke=(t,e)=>{let n=Math.floor(t/361),r=Math.floor(t/19)%19,o=t%19;return[LI((n-9)/9,2)*e,LI((r-9)/9,2)*e,LI((o-9)/9,2)*e]},xke=(t,e,n,r)=>{jee(t),r=r|1;let o=Mw(t[0]),s=Math.floor(o/9)+1,a=o%9+1,i=(Mw(t[1])+1)/166,l=new Array(a*s);for(let f=0;f<l.length;f++)if(f===0){let m=Mw(t.substring(2,6));l[f]=wke(m)}else{let m=Mw(t.substring(4+f*2,6+f*2));l[f]=bke(m,i*r)}let u=e*4,d=new Uint8ClampedArray(u*n);for(let f=0;f<n;f++)for(let m=0;m<e;m++){let g=0,w=0,b=0;for(let N=0;N<s;N++)for(let M=0;M<a;M++){let D=Math.cos(Math.PI*m*M/e)*Math.cos(Math.PI*f*N/n),P=l[M+N*a];g+=P[0]*D,w+=P[1]*D,b+=P[2]*D}let j=DI(g),S=DI(w),I=DI(b);d[4*m+0+f*u]=j,d[4*m+1+f*u]=S,d[4*m+2+f*u]=I,d[4*m+3+f*u]=255}return d},kke=xke;function Fy(t){try{const e=new URL(t).protocol;return e==="ws:"||e==="wss:"}catch{return!1}}function jke(t){try{return new URL(t).hostname.endsWith(".onion")}catch{return!1}}function so(t){try{t.indexOf("://")===-1&&(t.startsWith("localhost:")||t.startsWith("localhost/")||t.startsWith("127.")||t.startsWith("192.168.")?t="ws://"+t:t="wss://"+t);const e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),e.protocol==="https:"?e.protocol="wss:":e.protocol==="http:"&&(e.protocol="ws:"),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{return console.error("Invalid URL:",t),""}}function ry(t){try{t.indexOf("://")===-1&&(t="https://"+t);const e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),e.protocol==="wss:"?e.protocol="https:":e.protocol==="ws:"&&(e.protocol="http:"),(e.port==="80"&&e.protocol==="http:"||e.port==="443"&&e.protocol==="https:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{return console.error("Invalid URL:",t),""}}function Aa(t){return t.replace("wss://","").replace("ws://","").replace("https://","").replace("http://","").replace(/\/$/,"")}function NB(t){try{const n=new URL(t).hostname;if(n==="localhost"||n==="::1")return!0;const r=n.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(r){const[,o,s,a,i]=r.map(Number);return o===10||o===172&&s>=16&&s<=31||o===192&&s===168||o===127&&s===0&&a===0&&i===1}return!!(n.includes(":")&&(n==="::1"||n.startsWith("fe80:")||n.startsWith("fc")||n.startsWith("fd")))}catch{return!1}}function Cke(t){try{return[".jpg",".jpeg",".png",".gif",".webp",".heic",".svg"].some(n=>new URL(t).pathname.toLowerCase().endsWith(n))}catch{return!1}}function Ske(t){try{return[".mp4",".webm",".ogg",".mov",".mp3",".wav",".flac",".aac",".m4a",".opus",".wma",".3gp"].some(n=>new URL(t).pathname.toLowerCase().endsWith(n))}catch{return!1}}const kb=(t,e=40)=>{try{const n=new URL(t);let r=n.hostname,o=n.pathname;if(r.startsWith("www.")&&(r=r.slice(4)),!o||o==="/")return r;o.endsWith("/")&&(o=o.slice(0,-1));const s=r+o;return s.length>e?r+o.slice(0,e-r.length-3)+"...":s}catch{let n=t;return n.startsWith("https://")?n=n.slice(8):n.startsWith("http://")&&(n=n.slice(7)),n.startsWith("www.")&&(n=n.slice(4)),n.length>e?n.slice(0,e-3)+"...":n}};function In(t){return e=>e[0]===t}function nc(t){try{const[,e,n,r,o]=t;let s;return r&&Vt.isValidHex(r)?s=r:o&&Vt.isValidHex(o)&&(s=o),jr.neventEncode({id:e,relays:n?[n]:void 0,author:s})}catch{return}}function eh(t){try{const[,e,n]=t,[r,o,...s]=e.split(":"),a=s.join(":");return jr.naddrEncode({kind:Number(r),pubkey:o,identifier:a,relays:n?[n]:void 0})}catch{return}}function Cee(t,e){if(t[0]!=="imeta")return null;const n={pubkey:e};for(let r=1;r<t.length;r++){const o=t[r],s=o.indexOf(" ");if(s<0)continue;const a=o.substring(0,s),i=o.substring(s+1);switch(a){case"url":n.url=i;break;case"x":n.sha256=i;break;case"variant":n.variant=i;break;case"thumbhash":try{n.thumbHash=es.decode(i)}catch{}break;case"blurhash":{vke(i).result&&(n.blurHash=i);break}case"dim":{const[l,u]=i.split("x").map(Number);l&&u&&(n.dim={width:l,height:u});break}}}return n.url?n:null}function See(t){return Array.from(new Set(t.filter(In("p")).map(([,e])=>e).filter(e=>!!e&&Vt.isValidHex(e)).reverse()))}function th(t=[]){return t.map(e=>e.length<3||e[0]!=="emoji"?null:{shortcode:e[1],url:e[2]}).filter(Boolean)}function Eee(t=[]){return t.filter(In("server")).map(([,e])=>e?ry(e):"").filter(Boolean)}const IB=new zy({max:1e4}),AB=new zy({max:1e4}),_B=new zy({max:1e4});function Nee(t){return t.tags.some(([e,n])=>e==="content-warning"||e==="t"&&n.toLowerCase()==="nsfw")}function E_(t){if([gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind))return!0;if(t.kind!==$e.ShortTextNote)return!1;const e=_B.get(t.id);if(e!==void 0)return e;const n=!!P2(t);return _B.set(t.id,n),n}function Fs(t){return isNaN(t)?!1:$e.isReplaceableKind(t)||$e.isAddressableKind(t)}function gT(t){return t.tags.some(([e])=>e==="-")}function Xu(t,e){for(const[n,r]of t.tags)if(n==="p"&&e.has(r))return!0;return!1}function MB(t){if(!t)return;if(t.kind===gt.COMMENT||t.kind===gt.VOICE_COMMENT)return t.tags.find(In("e"))??t.tags.find(In("E"));if(t.kind!==$e.ShortTextNote)return;let e=t.tags.find(([n,,,r])=>n==="e"&&r==="reply");if(!e){const n=Ree(t);e=t.tags.findLast(([r,o,,s])=>r==="e"&&!!o&&s!=="mention"&&!n.includes(o))}return e}function Eke(t){if(!(!t||t.kind!==$e.ShortTextNote))return t.tags.find(([e,,,n])=>e==="a"&&n==="reply")}function Nke(t){if(!(!t||![$e.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(In("a"))??t.tags.find(In("A"))}function Iee(t){if(!(!t||![$e.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(In("i"))??t.tags.find(In("I"))}function P2(t){var o;if(!t)return;if(t.kind===$e.ShortTextNote){const s=Eke(t)??MB(t)??_ee(t);return s?{type:s[0]==="e"?"e":"a",tag:s}:void 0}const e=(o=t.tags.find(In("k")))==null?void 0:o[1];if(e&&Fs(parseInt(e))){const s=Nke(t);return s?{type:"a",tag:s}:void 0}const n=MB(t);if(n)return{type:"e",tag:n};const r=Iee(t);return r?{type:"i",tag:r}:void 0}function Aee(t){const e=P2(t);if(e)return e.type==="e"?nc(e.tag):eh(e.tag)}function RB(t){if(!t)return;if(t.kind===gt.COMMENT||t.kind===gt.VOICE_COMMENT)return t.tags.find(In("E"));if(t.kind!==$e.ShortTextNote)return;let e=t.tags.find(([n,,,r])=>n==="e"&&r==="root");if(!e){const n=Ree(t);e=t.tags.find(([r,o])=>r==="e"&&!!o&&!n.includes(o))}return e}function _ee(t){if(!(!t||t.kind!==$e.ShortTextNote))return t.tags.find(([e,,,n])=>e==="a"&&n==="root")}function Ike(t){if(!(!t||![$e.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(In("A"))}function Ake(t){if(!(!t||![$e.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(In("I"))}function yT(t){var o;if(!t)return;if(t.kind===$e.ShortTextNote){const s=_ee(t)??RB(t);return s?{type:s[0]==="e"?"e":"a",tag:s}:void 0}const e=(o=t.tags.find(In("K")))==null?void 0:o[1];if(e&&Fs(parseInt(e))){const s=Ike(t);return s?{type:"a",tag:s}:void 0}const n=RB(t);if(n)return{type:"e",tag:n};const r=Ake(t);return r?{type:"i",tag:r}:void 0}function _ke(t){const e=yT(t);if(e)return e.type==="e"?nc(e.tag):eh(e.tag)}function Mee(t){const e=Aee(t);if(e)return{parentEventId:e};const n=Iee(t);return{parentExternalContent:n==null?void 0:n[1]}}function Qo(t){return Fs(t.kind)?ti(t):t.id}function xC([,t]){return t}function vT(t,e,n=""){return`${t}:${e}:${n}`}function ti(t){var n;const e=(n=t.tags.find(In("d")))==null?void 0:n[1];return vT(t.kind,t.pubkey,e)}function fg(t){var n;const e=Oe.getEventHints(t.id).slice(0,2);if(Fs(t.kind)){const r=((n=t.tags.find(In("d")))==null?void 0:n[1])??"";return jr.naddrEncode({pubkey:t.pubkey,kind:t.kind,identifier:r,relays:e})}return jr.neventEncode({id:t.id,author:t.pubkey,kind:t.kind,relays:e})}function Mke(t){var e;return(e=t.tags.find(In("client")))==null?void 0:e[1]}function wT(t){const e=[];return t.tags.forEach(n=>{const r=Cee(n,t.pubkey);r&&e.push(r)}),e}function Ree(t){const e=IB.get(t.id);if(e)return e;const n=[],r=/nostr:(note1[a-z0-9]{58}|nevent1[a-z0-9]+)/g;return(t.content.match(r)||[]).forEach(o=>{try{const{type:s,data:a}=jr.decode(o.split(":")[1]);s==="nevent"?n.push(a.id):s==="note"&&n.push(a)}catch{}}),IB.set(t.id,n),n}function Rke(t){const e=AB.get(t.id);if(e)return e;const n=new Set;(t.content.match(dee)||[]).forEach(o=>{try{const{type:s,data:a}=jr.decode(o.split(":")[1]);s==="npub"?n.add(a):s==="nprofile"&&n.add(a.pubkey)}catch{}});const r=Array.from(n);return AB.set(t.id,r),r}function Tke(t){return t.sort((e,n)=>n.created_at-e.created_at)[0]}function By(t){var e;return((e=t.tags.find(In("d")))==null?void 0:e[1])??""}function Tee(t){return{id:"",kind:1,pubkey:"",content:"",created_at:0,tags:[],sig:"",...t}}async function Dke(t,e){let n=0;const r=t,o=["nonce",n.toString(),e.toString()];return r.tags.push(o),new Promise(s=>{const a=()=>{let i=0;for(;i<1e3;){const l=Math.floor(new Date().getTime()/1e3);if(l!==r.created_at&&(n=0,r.created_at=l),o[1]=(++n).toString(),r.id=mke(r),hke(r.id)>=e){s(r);return}i++}setTimeout(a,0)};a()})}function dg(t,e){return t.created_at!==e.created_at?t.created_at-e.created_at:t.id!==e.id?t.id<e.id?1:-1:0}function Lke(t){return t.sort((e,n)=>dg(n,e))}function Dee(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(e=0;e<o;e++)t[e]&&(n=Dee(t[e]))&&(r&&(r+=" "),r+=n)}else for(n in t)t[n]&&(r&&(r+=" "),r+=n);return r}function Lee(){for(var t,e,n=0,r="",o=arguments.length;n<o;n++)(t=arguments[n])&&(e=Dee(t))&&(r&&(r+=" "),r+=e);return r}function Pke(t){return t.split("-").map(e=>String.fromCodePoint(parseInt(e,16))).join("")}const bT="-",Oke=t=>{const e=Fke(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:a=>{const i=a.split(bT);return i[0]===""&&i.length!==1&&i.shift(),Pee(i,e)||zke(a)},getConflictingClassGroupIds:(a,i)=>{const l=n[a]||[];return i&&r[a]?[...l,...r[a]]:l}}},Pee=(t,e)=>{var a;if(t.length===0)return e.classGroupId;const n=t[0],r=e.nextPart.get(n),o=r?Pee(t.slice(1),r):void 0;if(o)return o;if(e.validators.length===0)return;const s=t.join(bT);return(a=e.validators.find(({validator:i})=>i(s)))==null?void 0:a.classGroupId},TB=/^\[(.+)\]$/,zke=t=>{if(TB.test(t)){const e=TB.exec(t)[1],n=e==null?void 0:e.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}},Fke=t=>{const{theme:e,prefix:n}=t,r={nextPart:new Map,validators:[]};return Uke(Object.entries(t.classGroups),n).forEach(([s,a])=>{N_(a,r,s,e)}),r},N_=(t,e,n,r)=>{t.forEach(o=>{if(typeof o=="string"){const s=o===""?e:DB(e,o);s.classGroupId=n;return}if(typeof o=="function"){if(Bke(o)){N_(o(r),e,n,r);return}e.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([s,a])=>{N_(a,DB(e,s),n,r)})})},DB=(t,e)=>{let n=t;return e.split(bT).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Bke=t=>t.isThemeGetter,Uke=(t,e)=>e?t.map(([n,r])=>{const o=r.map(s=>typeof s=="string"?e+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([a,i])=>[e+a,i])):s);return[n,o]}):t,$ke=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,r=new Map;const o=(s,a)=>{n.set(s,a),e++,e>t&&(e=0,r=n,n=new Map)};return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=r.get(s))!==void 0)return o(s,a),a},set(s,a){n.has(s)?n.set(s,a):o(s,a)}}},Oee="!",Vke=t=>{const{separator:e,experimentalParseClassName:n}=t,r=e.length===1,o=e[0],s=e.length,a=i=>{const l=[];let u=0,d=0,f;for(let j=0;j<i.length;j++){let S=i[j];if(u===0){if(S===o&&(r||i.slice(j,j+s)===e)){l.push(i.slice(d,j)),d=j+s;continue}if(S==="/"){f=j;continue}}S==="["?u++:S==="]"&&u--}const m=l.length===0?i:i.substring(d),g=m.startsWith(Oee),w=g?m.substring(1):m,b=f&&f>d?f-d:void 0;return{modifiers:l,hasImportantModifier:g,baseClassName:w,maybePostfixModifierPosition:b}};return n?i=>n({className:i,parseClassName:a}):a},Hke=t=>{if(t.length<=1)return t;const e=[];let n=[];return t.forEach(r=>{r[0]==="["?(e.push(...n.sort(),r),n=[]):n.push(r)}),e.push(...n.sort()),e},Wke=t=>({cache:$ke(t.cacheSize),parseClassName:Vke(t),...Oke(t)}),Yke=/\s+/,Gke=(t,e)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=e,s=[],a=t.trim().split(Yke);let i="";for(let l=a.length-1;l>=0;l-=1){const u=a[l],{modifiers:d,hasImportantModifier:f,baseClassName:m,maybePostfixModifierPosition:g}=n(u);let w=!!g,b=r(w?m.substring(0,g):m);if(!b){if(!w){i=u+(i.length>0?" "+i:i);continue}if(b=r(m),!b){i=u+(i.length>0?" "+i:i);continue}w=!1}const j=Hke(d).join(":"),S=f?j+Oee:j,I=S+b;if(s.includes(I))continue;s.push(I);const N=o(b,w);for(let M=0;M<N.length;++M){const D=N[M];s.push(S+D)}i=u+(i.length>0?" "+i:i)}return i};function qke(){let t=0,e,n,r="";for(;t<arguments.length;)(e=arguments[t++])&&(n=zee(e))&&(r&&(r+=" "),r+=n);return r}const zee=t=>{if(typeof t=="string")return t;let e,n="";for(let r=0;r<t.length;r++)t[r]&&(e=zee(t[r]))&&(n&&(n+=" "),n+=e);return n};function Kke(t,...e){let n,r,o,s=a;function a(l){const u=e.reduce((d,f)=>f(d),t());return n=Wke(u),r=n.cache.get,o=n.cache.set,s=i,i(l)}function i(l){const u=r(l);if(u)return u;const d=Gke(l,n);return o(l,d),d}return function(){return s(qke.apply(null,arguments))}}const eo=t=>{const e=n=>n[t]||[];return e.isThemeGetter=!0,e},Fee=/^\[(?:([a-z-]+):)?(.+)\]$/i,Zke=/^\d+\/\d+$/,Qke=new Set(["px","full","screen"]),Jke=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Xke=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,eje=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,tje=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,nje=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Of=t=>P0(t)||Qke.has(t)||Zke.test(t),tp=t=>Uy(t,"length",uje),P0=t=>!!t&&!Number.isNaN(Number(t)),PI=t=>Uy(t,"number",P0),nw=t=>!!t&&Number.isInteger(Number(t)),rje=t=>t.endsWith("%")&&P0(t.slice(0,-1)),Bn=t=>Fee.test(t),np=t=>Jke.test(t),oje=new Set(["length","size","percentage"]),sje=t=>Uy(t,oje,Bee),aje=t=>Uy(t,"position",Bee),ije=new Set(["image","url"]),lje=t=>Uy(t,ije,dje),cje=t=>Uy(t,"",fje),rw=()=>!0,Uy=(t,e,n)=>{const r=Fee.exec(t);return r?r[1]?typeof e=="string"?r[1]===e:e.has(r[1]):n(r[2]):!1},uje=t=>Xke.test(t)&&!eje.test(t),Bee=()=>!1,fje=t=>tje.test(t),dje=t=>nje.test(t),pje=()=>{const t=eo("colors"),e=eo("spacing"),n=eo("blur"),r=eo("brightness"),o=eo("borderColor"),s=eo("borderRadius"),a=eo("borderSpacing"),i=eo("borderWidth"),l=eo("contrast"),u=eo("grayscale"),d=eo("hueRotate"),f=eo("invert"),m=eo("gap"),g=eo("gradientColorStops"),w=eo("gradientColorStopPositions"),b=eo("inset"),j=eo("margin"),S=eo("opacity"),I=eo("padding"),N=eo("saturate"),M=eo("scale"),D=eo("sepia"),P=eo("skew"),L=eo("space"),F=eo("translate"),T=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto",Bn,e],G=()=>[Bn,e],Z=()=>["",Of,tp],W=()=>["auto",P0,Bn],U=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ee=()=>["solid","dashed","dotted","double","none"],$=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],H=()=>["start","end","center","between","around","evenly","stretch"],Y=()=>["","0",Bn],q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>[P0,Bn];return{cacheSize:500,separator:":",theme:{colors:[rw],spacing:[Of,tp],blur:["none","",np,Bn],brightness:J(),borderColor:[t],borderRadius:["none","","full",np,Bn],borderSpacing:G(),borderWidth:Z(),contrast:J(),grayscale:Y(),hueRotate:J(),invert:Y(),gap:G(),gradientColorStops:[t],gradientColorStopPositions:[rje,tp],inset:z(),margin:z(),opacity:J(),padding:G(),saturate:J(),scale:J(),sepia:Y(),skew:J(),space:G(),translate:G()},classGroups:{aspect:[{aspect:["auto","square","video",Bn]}],container:["container"],columns:[{columns:[np]}],"break-after":[{"break-after":q()}],"break-before":[{"break-before":q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...U(),Bn]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",nw,Bn]}],basis:[{basis:z()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Bn]}],grow:[{grow:Y()}],shrink:[{shrink:Y()}],order:[{order:["first","last","none",nw,Bn]}],"grid-cols":[{"grid-cols":[rw]}],"col-start-end":[{col:["auto",{span:["full",nw,Bn]},Bn]}],"col-start":[{"col-start":W()}],"col-end":[{"col-end":W()}],"grid-rows":[{"grid-rows":[rw]}],"row-start-end":[{row:["auto",{span:[nw,Bn]},Bn]}],"row-start":[{"row-start":W()}],"row-end":[{"row-end":W()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Bn]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Bn]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...H()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...H(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...H(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[I]}],px:[{px:[I]}],py:[{py:[I]}],ps:[{ps:[I]}],pe:[{pe:[I]}],pt:[{pt:[I]}],pr:[{pr:[I]}],pb:[{pb:[I]}],pl:[{pl:[I]}],m:[{m:[j]}],mx:[{mx:[j]}],my:[{my:[j]}],ms:[{ms:[j]}],me:[{me:[j]}],mt:[{mt:[j]}],mr:[{mr:[j]}],mb:[{mb:[j]}],ml:[{ml:[j]}],"space-x":[{"space-x":[L]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[L]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Bn,e]}],"min-w":[{"min-w":[Bn,e,"min","max","fit"]}],"max-w":[{"max-w":[Bn,e,"none","full","min","max","fit","prose",{screen:[np]},np]}],h:[{h:[Bn,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Bn,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Bn,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Bn,e,"auto","min","max","fit"]}],"font-size":[{text:["base",np,tp]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",PI]}],"font-family":[{font:[rw]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Bn]}],"line-clamp":[{"line-clamp":["none",P0,PI]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Of,Bn]}],"list-image":[{"list-image":["none",Bn]}],"list-style-type":[{list:["none","disc","decimal",Bn]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[S]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[S]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Of,tp]}],"underline-offset":[{"underline-offset":["auto",Of,Bn]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:G()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Bn]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Bn]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[S]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...U(),aje]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",sje]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},lje]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[w]}],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[g]}],"gradient-via":[{via:[g]}],"gradient-to":[{to:[g]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[S]}],"border-style":[{border:[...ee(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[S]}],"divide-style":[{divide:ee()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...ee()]}],"outline-offset":[{"outline-offset":[Of,Bn]}],"outline-w":[{outline:[Of,tp]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[S]}],"ring-offset-w":[{"ring-offset":[Of,tp]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",np,cje]}],"shadow-color":[{shadow:[rw]}],opacity:[{opacity:[S]}],"mix-blend":[{"mix-blend":[...$(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":$()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",np,Bn]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[f]}],saturate:[{saturate:[N]}],sepia:[{sepia:[D]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[S]}],"backdrop-saturate":[{"backdrop-saturate":[N]}],"backdrop-sepia":[{"backdrop-sepia":[D]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Bn]}],duration:[{duration:J()}],ease:[{ease:["linear","in","out","in-out",Bn]}],delay:[{delay:J()}],animate:[{animate:["none","spin","ping","pulse","bounce",Bn]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[M]}],"scale-x":[{"scale-x":[M]}],"scale-y":[{"scale-y":[M]}],rotate:[{rotate:[nw,Bn]}],"translate-x":[{"translate-x":[F]}],"translate-y":[{"translate-y":[F]}],"skew-x":[{"skew-x":[P]}],"skew-y":[{"skew-y":[P]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Bn]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Bn]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":G()}],"scroll-mx":[{"scroll-mx":G()}],"scroll-my":[{"scroll-my":G()}],"scroll-ms":[{"scroll-ms":G()}],"scroll-me":[{"scroll-me":G()}],"scroll-mt":[{"scroll-mt":G()}],"scroll-mr":[{"scroll-mr":G()}],"scroll-mb":[{"scroll-mb":G()}],"scroll-ml":[{"scroll-ml":G()}],"scroll-p":[{"scroll-p":G()}],"scroll-px":[{"scroll-px":G()}],"scroll-py":[{"scroll-py":G()}],"scroll-ps":[{"scroll-ps":G()}],"scroll-pe":[{"scroll-pe":G()}],"scroll-pt":[{"scroll-pt":G()}],"scroll-pr":[{"scroll-pr":G()}],"scroll-pb":[{"scroll-pb":G()}],"scroll-pl":[{"scroll-pl":G()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Bn]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Of,tp,PI]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},hje=Kke(pje);function Te(...t){return hje(Lee(t))}function mje(){if(typeof window>"u"||!window.navigator)return!1;const t=window.navigator.userAgent,e=window.navigator.vendor;return/Safari/.test(t)&&/Apple Computer/.test(e)&&!/Chrome/.test(t)}function gje(){if(typeof window>"u"||!window.navigator)return!1;const t=window.navigator.userAgent;return/torbrowser/i.test(t)}function uu(){return typeof window>"u"||!window.navigator?!1:"ontouchstart"in window||navigator.maxTouchPoints>0}function yje(t){const e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function vje(t){const e=t.getBoundingClientRect();return e.top<(window.innerHeight||document.documentElement.clientHeight)&&e.bottom>0&&e.left<(window.innerWidth||document.documentElement.clientWidth)&&e.right>0}function Uee(){return typeof window>"u"||!navigator.connection?!1:typeof navigator.connection.type=="string"}function oy(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}function wje(){return!1}function xT(t){if(t.startsWith(":")){const e=t.indexOf(":",1);if(e<0)return;const n=t.slice(1,e),r=t.slice(e+1);return{shortcode:n,url:r}}else return Pke(t)}/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function bje(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function kC(t,...e){if(!bje(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function LB(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function xje(t,e){kC(t);const n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function I_(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function OI(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ju(t,e){return t<<32-e|t>>>e}const $ee=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",kje=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function jje(t){if(kC(t),$ee)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=kje[t[n]];return e}const zf={_0:48,_9:57,A:65,F:70,a:97,f:102};function PB(t){if(t>=zf._0&&t<=zf._9)return t-zf._0;if(t>=zf.A&&t<=zf.F)return t-(zf.A-10);if(t>=zf.a&&t<=zf.f)return t-(zf.a-10)}function s0(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if($ee)return Uint8Array.fromHex(t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let o=0,s=0;o<n;o++,s+=2){const a=PB(t.charCodeAt(s)),i=PB(t.charCodeAt(s+1));if(a===void 0||i===void 0){const l=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+l+'" at index '+s)}r[o]=a*16+i}return r}function Cje(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Vee(t){return typeof t=="string"&&(t=Cje(t)),kC(t),t}let Sje=class{};function Eje(t){const e=r=>t().update(Vee(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Nje(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}function Ije(t,e,n){return t&e^~t&n}function Aje(t,e,n){return t&e^t&n^e&n}class _je extends Sje{constructor(e,n,r,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(e),this.view=OI(this.buffer)}update(e){LB(this),e=Vee(e),kC(e);const{view:n,buffer:r,blockLen:o}=this,s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=OI(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){LB(this),xje(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,I_(this.buffer.subarray(a)),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;Nje(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=OI(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.destroyed=a,e.finished=s,e.length=o,e.pos=i,o%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}}const rp=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Mje=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]),op=new Uint32Array(64);let Hee=class extends _je{constructor(e=32){super(64,e,8,!1),this.A=rp[0]|0,this.B=rp[1]|0,this.C=rp[2]|0,this.D=rp[3]|0,this.E=rp[4]|0,this.F=rp[5]|0,this.G=rp[6]|0,this.H=rp[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)op[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=op[f-15],g=op[f-2],w=ju(m,7)^ju(m,18)^m>>>3,b=ju(g,17)^ju(g,19)^g>>>10;op[f]=b+op[f-7]+w+op[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=ju(i,6)^ju(i,11)^ju(i,25),g=d+m+Ije(i,l,u)+Mje[f]+op[f]|0,b=(ju(r,2)^ju(r,13)^ju(r,22))+Aje(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){I_(op)}destroy(){this.set(0,0,0,0,0,0,0,0),I_(this.buffer)}};const jb=Eje(()=>new Hee),Rje=Object.freeze(Object.defineProperty({__proto__:null,SHA256:Hee,sha256:jb},Symbol.toStringTag,{value:"Module"}));var zI,OB;function Tje(){if(OB)return zI;OB=1;var t=(function(){function g(b,j){if(typeof b!="function")throw new TypeError("DataLoader must be constructed with a function which accepts "+("Array<key> and returns Promise<Array<value>>, but got: "+b+"."));this._batchLoadFn=b,this._maxBatchSize=i(j),this._batchScheduleFn=l(j),this._cacheKeyFn=u(j),this._cacheMap=d(j),this._batch=null,this.name=f(j)}var w=g.prototype;return w.load=function(j){if(j==null)throw new TypeError("The loader.load() function must be called with a value, "+("but got: "+String(j)+"."));var S=r(this),I=this._cacheMap,N;if(I){N=this._cacheKeyFn(j);var M=I.get(N);if(M){var D=S.cacheHits||(S.cacheHits=[]);return new Promise(function(L){D.push(function(){L(M)})})}}S.keys.push(j);var P=new Promise(function(L,F){S.callbacks.push({resolve:L,reject:F})});return I&&I.set(N,P),P},w.loadMany=function(j){if(!m(j))throw new TypeError("The loader.loadMany() function must be called with Array<key> "+("but got: "+j+"."));for(var S=[],I=0;I<j.length;I++)S.push(this.load(j[I]).catch(function(N){return N}));return Promise.all(S)},w.clear=function(j){var S=this._cacheMap;if(S){var I=this._cacheKeyFn(j);S.delete(I)}return this},w.clearAll=function(){var j=this._cacheMap;return j&&j.clear(),this},w.prime=function(j,S){var I=this._cacheMap;if(I){var N=this._cacheKeyFn(j);if(I.get(N)===void 0){var M;S instanceof Error?(M=Promise.reject(S),M.catch(function(){})):M=Promise.resolve(S),I.set(N,M)}}return this},g})(),e=typeof process=="object"&&typeof process.nextTick=="function"?function(g){n||(n=Promise.resolve()),n.then(function(){process.nextTick(g)})}:typeof setImmediate=="function"?function(g){setImmediate(g)}:function(g){setTimeout(g)},n;function r(g){var w=g._batch;if(w!==null&&!w.hasDispatched&&w.keys.length<g._maxBatchSize)return w;var b={hasDispatched:!1,keys:[],callbacks:[]};return g._batch=b,g._batchScheduleFn(function(){o(g,b)}),b}function o(g,w){if(w.hasDispatched=!0,w.keys.length===0){a(w);return}var b;try{b=g._batchLoadFn(w.keys)}catch(j){return s(g,w,new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function "+("errored synchronously: "+String(j)+".")))}if(!b||typeof b.then!="function")return s(g,w,new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did "+("not return a Promise: "+String(b)+".")));b.then(function(j){if(!m(j))throw new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did "+("not return a Promise of an Array: "+String(j)+"."));if(j.length!==w.keys.length)throw new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys."+(`
18
19 Keys:
20 `+String(w.keys))+(`
21
22 Values:
23 `+String(j)));a(w);for(var S=0;S<w.callbacks.length;S++){var I=j[S];I instanceof Error?w.callbacks[S].reject(I):w.callbacks[S].resolve(I)}}).catch(function(j){s(g,w,j)})}function s(g,w,b){a(w);for(var j=0;j<w.keys.length;j++)g.clear(w.keys[j]),w.callbacks[j].reject(b)}function a(g){if(g.cacheHits)for(var w=0;w<g.cacheHits.length;w++)g.cacheHits[w]()}function i(g){var w=!g||g.batch!==!1;if(!w)return 1;var b=g&&g.maxBatchSize;if(b===void 0)return 1/0;if(typeof b!="number"||b<1)throw new TypeError("maxBatchSize must be a positive number: "+b);return b}function l(g){var w=g&&g.batchScheduleFn;if(w===void 0)return e;if(typeof w!="function")throw new TypeError("batchScheduleFn must be a function: "+w);return w}function u(g){var w=g&&g.cacheKeyFn;if(w===void 0)return function(b){return b};if(typeof w!="function")throw new TypeError("cacheKeyFn must be a function: "+w);return w}function d(g){var w=!g||g.cache!==!1;if(!w)return null;var b=g&&g.cacheMap;if(b===void 0)return new Map;if(b!==null){var j=["get","set","delete","clear"],S=j.filter(function(I){return b&&typeof b[I]!="function"});if(S.length!==0)throw new TypeError("Custom cacheMap missing methods: "+S.join(", "))}return b}function f(g){return g&&g.name?g.name:null}function m(g){return typeof g=="object"&&g!==null&&typeof g.length=="number"&&(g.length===0||g.length>0&&Object.prototype.hasOwnProperty.call(g,g.length-1))}return zI=t,zI}var Dje=Tje();const Pu=tc(Dje);var To;function j3(t){return typeof t<"u"?t:!0}function zB(t){const e=Array(t);for(let n=0;n<t;n++)e[n]=fo();return e}function fo(){return Object.create(null)}function Lje(t,e){return e.length-t.length}function _a(t){return typeof t=="string"}function nh(t){return typeof t=="object"}function kT(t){return typeof t=="function"}function Wee(t,e){var n=Pje;if(t&&(e&&(t=C3(t,e)),this.H&&(t=C3(t,this.H)),this.J&&1<t.length&&(t=C3(t,this.J)),n||n==="")){if(e=t.split(n),this.filter){t=this.filter,n=e.length;const r=[];for(let o=0,s=0;o<n;o++){const a=e[o];a&&!t[a]&&(r[s++]=a)}t=r}else t=e;return t}return t}const Pje=/[\p{Z}\p{S}\p{P}\p{C}]+/u,Oje=/[\u0300-\u036f]/g;function FB(t,e){const n=Object.keys(t),r=n.length,o=[];let s="",a=0;for(let i=0,l,u;i<r;i++)l=n[i],(u=t[l])?(o[a++]=Fo(e?"(?!\\b)"+l+"(\\b|_)":l),o[a++]=u):s+=(s?"|":"")+l;return s&&(o[a++]=Fo(e?"(?!\\b)("+s+")(\\b|_)":"("+s+")"),o[a]=""),o}function C3(t,e){for(let n=0,r=e.length;n<r&&(t=t.replace(e[n],e[n+1]),t);n+=2);return t}function Fo(t){return new RegExp(t,"g")}function Yee(t){let e="",n="";for(let r=0,o=t.length,s;r<o;r++)(s=t[r])!==n&&(e+=n=s);return e}var zje={encode:Gee,F:!1,G:""};function Gee(t){return Wee.call(this,(""+t).toLowerCase(),!1)}const Fje={},$y={};function qee(t){ow(t,"add"),ow(t,"append"),ow(t,"search"),ow(t,"update"),ow(t,"remove")}function ow(t,e){t[e+"Async"]=function(){const n=this,r=arguments;var o=r[r.length-1];let s;return kT(o)&&(s=o,delete r[r.length-1]),o=new Promise(function(a){setTimeout(function(){n.async=!0;const i=n[e].apply(n,r);n.async=!1,a(i)})}),s?(o.then(s),this):o}}function Kee(t,e,n,r){const o=t.length;let s=[],a,i,l=0;r&&(r=[]);for(let u=o-1;0<=u;u--){const d=t[u],f=d.length,m=fo();let g=!a;for(let w=0;w<f;w++){const b=d[w],j=b.length;if(j)for(let S=0,I,N;S<j;S++)if(N=b[S],a){if(a[N]){if(!u){if(n)n--;else if(s[l++]=N,l===e)return s}(u||r)&&(m[N]=1),g=!0}if(r&&(I=(i[N]||0)+1,i[N]=I,I<o)){const M=r[I-2]||(r[I-2]=[]);M[M.length]=N}}else m[N]=1}if(r)a||(i=m);else if(!g)return[];a=m}if(r)for(let u=r.length-1,d,f;0<=u;u--){d=r[u],f=d.length;for(let m=0,g;m<f;m++)if(g=d[m],!a[g]){if(n)n--;else if(s[l++]=g,l===e)return s;a[g]=1}}return s}function Bje(t,e){const n=fo(),r=fo(),o=[];for(let s=0;s<t.length;s++)n[t[s]]=1;for(let s=0,a;s<e.length;s++){a=e[s];for(let i=0,l;i<a.length;i++)l=a[i],n[l]&&!r[l]&&(r[l]=1,o[o.length]=l)}return o}function jC(t){this.l=t!==!0&&t,this.cache=fo(),this.h=[]}function Zee(t,e,n){nh(t)&&(t=t.query);let r=this.cache.get(t);return r||(r=this.search(t,e,n),this.cache.set(t,r)),r}jC.prototype.set=function(t,e){if(!this.cache[t]){var n=this.h.length;for(n===this.l?delete this.cache[this.h[n-1]]:n++,--n;0<n;n--)this.h[n]=this.h[n-1];this.h[0]=t}this.cache[t]=e};jC.prototype.get=function(t){const e=this.cache[t];if(this.l&&e&&(t=this.h.indexOf(t))){const n=this.h[t-1];this.h[t-1]=this.h[t],this.h[t]=n}return e};const Uje={memory:{charset:"latin:extra",D:3,B:4,m:!1},performance:{D:3,B:3,s:!1,context:{depth:2,D:1}},match:{charset:"latin:extra",G:"reverse"},score:{charset:"latin:advanced",D:20,B:3,context:{depth:3,D:9}},default:{}};function Qee(t,e,n,r,o,s,a,i){setTimeout(function(){const l=t(n?n+"."+r:r,JSON.stringify(a));l&&l.then?l.then(function(){e.export(t,e,n,o,s+1,i)}):e.export(t,e,n,o,s+1,i)})}function pg(t,e){if(!(this instanceof pg))return new pg(t);var n;if(t){_a(t)?t=Uje[t]:(n=t.preset)&&(t=Object.assign({},n[n],t)),n=t.charset;var r=t.lang;_a(n)&&(n.indexOf(":")===-1&&(n+=":default"),n=$y[n]),_a(r)&&(r=Fje[r])}else t={};let o,s,a=t.context||{};if(this.encode=t.encode||n&&n.encode||Gee,this.register=e||fo(),this.D=o=t.resolution||9,this.G=e=n&&n.G||t.tokenize||"strict",this.depth=e==="strict"&&a.depth,this.l=j3(a.bidirectional),this.s=s=j3(t.optimize),this.m=j3(t.fastupdate),this.B=t.minlength||1,this.C=t.boost,this.map=s?zB(o):fo(),this.A=o=a.resolution||1,this.h=s?zB(o):fo(),this.F=n&&n.F||t.rtl,this.H=(e=t.matcher||r&&r.H)&&FB(e,!1),this.J=(e=t.stemmer||r&&r.J)&&FB(e,!0),n=e=t.filter||r&&r.filter){n=e,r=fo();for(let i=0,l=n.length;i<l;i++)r[n[i]]=1;n=r}this.filter=n,this.cache=(e=t.cache)&&new jC(e)}To=pg.prototype;To.append=function(t,e){return this.add(t,e,!0)};To.add=function(t,e,n,r){if(e&&(t||t===0)){if(!r&&!n&&this.register[t])return this.update(t,e);if(e=this.encode(e),r=e.length){const u=fo(),d=fo(),f=this.depth,m=this.D;for(let g=0;g<r;g++){let w=e[this.F?r-1-g:g];var o=w.length;if(w&&o>=this.B&&(f||!d[w])){var s=n6(m,r,g),a="";switch(this.G){case"full":if(2<o){for(s=0;s<o;s++)for(var i=o;i>s;i--)if(i-s>=this.B){var l=n6(m,r,g,o,s);a=w.substring(s,i),sw(this,d,a,l,t,n)}break}case"reverse":if(1<o){for(i=o-1;0<i;i--)a=w[i]+a,a.length>=this.B&&sw(this,d,a,n6(m,r,g,o,i),t,n);a=""}case"forward":if(1<o){for(i=0;i<o;i++)a+=w[i],a.length>=this.B&&sw(this,d,a,s,t,n);break}default:if(this.C&&(s=Math.min(s/this.C(e,w,g)|0,m-1)),sw(this,d,w,s,t,n),f&&1<r&&g<r-1){for(o=fo(),a=this.A,s=w,i=Math.min(f+1,r-g),o[s]=1,l=1;l<i;l++)if((w=e[this.F?r-1-g-l:g+l])&&w.length>=this.B&&!o[w]){o[w]=1;const b=this.l&&w>s;sw(this,u,b?s:w,n6(a+(r/2>a?0:1),r,g,i-1,l-1),t,n,b?w:s)}}}}}this.m||(this.register[t]=1)}}return this};function n6(t,e,n,r,o){return n&&1<t?e+(r||0)<=t?n+(o||0):(t-1)/(e+(r||0))*(n+(o||0))+1|0:0}function sw(t,e,n,r,o,s,a){let i=a?t.h:t.map;(!e[n]||a&&!e[n][a])&&(t.s&&(i=i[r]),a?(e=e[n]||(e[n]=fo()),e[a]=1,i=i[a]||(i[a]=fo())):e[n]=1,i=i[n]||(i[n]=[]),t.s||(i=i[r]||(i[r]=[])),s&&i.includes(o)||(i[i.length]=o,t.m&&(t=t.register[o]||(t.register[o]=[]),t[t.length]=i)))}To.search=function(t,e,n){n||(!e&&nh(t)?(n=t,t=n.query):nh(e)&&(n=e));let r=[],o,s,a=0;if(n){t=n.query||t,e=n.limit,a=n.offset||0;var i=n.context;s=n.suggest}if(t&&(t=this.encode(""+t),o=t.length,1<o)){n=fo();var l=[];for(let d=0,f=0,m;d<o;d++)if((m=t[d])&&m.length>=this.B&&!n[m])if(this.s||s||this.map[m])l[f++]=m,n[m]=1;else return r;t=l,o=t.length}if(!o)return r;e||(e=100),i=this.depth&&1<o&&i!==!1,n=0;let u;i?(u=t[0],n=1):1<o&&t.sort(Lje);for(let d,f;n<o;n++){if(f=t[n],i?(d=BB(this,r,s,e,a,o===2,f,u),s&&d===!1&&r.length||(u=f)):d=BB(this,r,s,e,a,o===1,f),d)return d;if(s&&n===o-1){if(l=r.length,!l){if(i){i=0,n=-1;continue}return r}if(l===1)return Jee(r[0],e,a)}}return Kee(r,e,a,s)};function BB(t,e,n,r,o,s,a,i){let l=[],u=i?t.h:t.map;if(t.s||(u=UB(u,a,i,t.l)),u){let d=0;const f=Math.min(u.length,i?t.A:t.D);for(let m=0,g=0,w,b;m<f&&!((w=u[m])&&(t.s&&(w=UB(w,a,i,t.l)),o&&w&&s&&(b=w.length,b<=o?(o-=b,w=null):(w=w.slice(o),o=0)),w&&(l[d++]=w,s&&(g+=w.length,g>=r))));m++);if(d){if(s)return Jee(l,r,0);e[e.length]=l;return}}return!n&&l}function Jee(t,e,n){return t=t.length===1?t[0]:[].concat.apply([],t),n||t.length>e?t.slice(n,n+e):t}function UB(t,e,n,r){return n?(r=r&&e>n,t=(t=t[r?e:n])&&t[r?n:e]):t=t[e],t}To.contain=function(t){return!!this.register[t]};To.update=function(t,e){return this.remove(t).add(t,e)};To.remove=function(t,e){const n=this.register[t];if(n){if(this.m)for(let r=0,o;r<n.length;r++)o=n[r],o.splice(o.indexOf(t),1);else wk(this.map,t,this.D,this.s),this.depth&&wk(this.h,t,this.A,this.s);if(e||delete this.register[t],this.cache){e=this.cache;for(let r=0,o,s;r<e.h.length;r++)s=e.h[r],o=e.cache[s],o.includes(t)&&(e.h.splice(r--,1),delete e.cache[s])}}return this};function wk(t,e,n,r,o){let s=0;if(t.constructor===Array)if(o)e=t.indexOf(e),e!==-1?1<t.length&&(t.splice(e,1),s++):s++;else{o=Math.min(t.length,n);for(let a=0,i;a<o;a++)(i=t[a])&&(s=wk(i,e,n,r,o),r||s||delete t[a])}else for(let a in t)(s=wk(t[a],e,n,r,o))||delete t[a];return s}To.searchCache=Zee;To.export=function(t,e,n,r,o,s){let a=!0;typeof s>"u"&&(a=new Promise(u=>{s=u}));let i,l;switch(o||(o=0)){case 0:if(i="reg",this.m){l=fo();for(let u in this.register)l[u]=1}else l=this.register;break;case 1:i="cfg",l={doc:0,opt:this.s?1:0};break;case 2:i="map",l=this.map;break;case 3:i="ctx",l=this.h;break;default:typeof n>"u"&&s&&s();return}return Qee(t,e||this,n,i,r,o,l,s),a};To.import=function(t,e){if(e)switch(_a(e)&&(e=JSON.parse(e)),t){case"cfg":this.s=!!e.opt;break;case"reg":this.m=!1,this.register=e;break;case"map":this.map=e;break;case"ctx":this.h=e}};qee(pg.prototype);function $je(t){t=t.data;var e=self._index;const n=t.args;var r=t.task;switch(r){case"init":r=t.options||{},t=t.factory,e=r.encode,r.cache=!1,e&&e.indexOf("function")===0&&(r.encode=Function("return "+e)()),t?(Function("return "+t)()(self),self._index=new self.FlexSearch.Index(r),delete self.FlexSearch):self._index=new pg(r);break;default:t=t.id,e=e[r].apply(e,n),postMessage(r==="search"?{id:t,msg:e}:{id:t})}}let $B=0;function Cb(t){if(!(this instanceof Cb))return new Cb(t);var e;t?kT(e=t.encode)&&(t.encode=e.toString()):t={},(e=(self||window)._factory)&&(e=e.toString());const n=typeof window>"u"&&self.exports,r=this;this.o=Vje(e,n,t.worker),this.h=fo(),this.o&&(n?this.o.on("message",function(o){r.h[o.id](o.msg),delete r.h[o.id]}):this.o.onmessage=function(o){o=o.data,r.h[o.id](o.msg),delete r.h[o.id]},this.o.postMessage({task:"init",factory:e,options:t}))}O2("add");O2("append");O2("search");O2("update");O2("remove");function O2(t){Cb.prototype[t]=Cb.prototype[t+"Async"]=function(){const e=this,n=[].slice.call(arguments);var r=n[n.length-1];let o;return kT(r)&&(o=r,n.splice(n.length-1,1)),r=new Promise(function(s){setTimeout(function(){e.h[++$B]=s,e.o.postMessage({task:t,id:$B,args:n})})}),o?(r.then(o),this):r}}function Vje(t,e,n){let r;try{r=e?new(require("worker_threads")).Worker(__dirname+"/node/node.js"):t?new Worker(URL.createObjectURL(new Blob(["onmessage="+$je.toString()],{type:"text/javascript"}))):new Worker(_a(n)?n:"worker/worker.js",{type:"module"})}catch{}return r}function bk(t){if(!(this instanceof bk))return new bk(t);var e=t.document||t.doc||t,n;this.K=[],this.h=[],this.A=[],this.register=fo(),this.key=(n=e.key||e.id)&&r6(n,this.A)||"id",this.m=j3(t.fastupdate),this.C=(n=e.store)&&n!==!0&&[],this.store=n&&fo(),this.I=(n=e.tag)&&r6(n,this.A),this.l=n&&fo(),this.cache=(n=t.cache)&&new jC(n),t.cache=!1,this.o=t.worker,this.async=!1,n=fo();let r=e.index||e.field||e;_a(r)&&(r=[r]);for(let o=0,s,a;o<r.length;o++)s=r[o],_a(s)||(a=s,s=s.field),a=nh(a)?Object.assign({},t,a):t,this.o&&(n[s]=new Cb(a),n[s].o||(this.o=!1)),this.o||(n[s]=new pg(a,this.register)),this.K[o]=r6(s,this.A),this.h[o]=s;if(this.C)for(t=e.store,_a(t)&&(t=[t]),e=0;e<t.length;e++)this.C[e]=r6(t[e],this.A);this.index=n}function r6(t,e){const n=t.split(":");let r=0;for(let o=0;o<n.length;o++)t=n[o],0<=t.indexOf("[]")&&(t=t.substring(0,t.length-2))&&(e[r]=!0),t&&(n[r++]=t);return r<n.length&&(n.length=r),1<r?n:n[0]}function A_(t,e){if(_a(e))t=t[e];else for(let n=0;t&&n<e.length;n++)t=t[e[n]];return t}function __(t,e,n,r,o){if(t=t[o],r===n.length-1)e[o]=t;else if(t)if(t.constructor===Array)for(e=e[o]=Array(t.length),o=0;o<t.length;o++)__(t,e,n,r,o);else e=e[o]||(e[o]=fo()),o=n[++r],__(t,e,n,r,o)}function M_(t,e,n,r,o,s,a,i){if(t=t[a])if(r===e.length-1){if(t.constructor===Array){if(n[r]){for(e=0;e<t.length;e++)o.add(s,t[e],!0,!0);return}t=t.join(" ")}o.add(s,t,i,!0)}else if(t.constructor===Array)for(a=0;a<t.length;a++)M_(t,e,n,r,o,s,a,i);else a=e[++r],M_(t,e,n,r,o,s,a,i)}To=bk.prototype;To.add=function(t,e,n){if(nh(t)&&(e=t,t=A_(e,this.key)),e&&(t||t===0)){if(!n&&this.register[t])return this.update(t,e);for(let r=0,o,s;r<this.h.length;r++)s=this.h[r],o=this.K[r],_a(o)&&(o=[o]),M_(e,o,this.A,0,this.index[s],t,o[0],n);if(this.I){let r=A_(e,this.I),o=fo();_a(r)&&(r=[r]);for(let s=0,a,i;s<r.length;s++)if(a=r[s],!o[a]&&(o[a]=1,i=this.l[a]||(this.l[a]=[]),!n||!i.includes(t))&&(i[i.length]=t,this.m)){const l=this.register[t]||(this.register[t]=[]);l[l.length]=i}}if(this.store&&(!n||!this.store[t])){let r;if(this.C){r=fo();for(let o=0,s;o<this.C.length;o++)s=this.C[o],_a(s)?r[s]=e[s]:__(e,r,s,0,s[0])}this.store[t]=r||e}}return this};To.append=function(t,e){return this.add(t,e,!0)};To.update=function(t,e){return this.remove(t).add(t,e)};To.remove=function(t){if(nh(t)&&(t=A_(t,this.key)),this.register[t]){for(var e=0;e<this.h.length&&(this.index[this.h[e]].remove(t,!this.o),!this.m);e++);if(this.I&&!this.m)for(let n in this.l){e=this.l[n];const r=e.indexOf(t);r!==-1&&(1<e.length?e.splice(r,1):delete this.l[n])}this.store&&delete this.store[t],delete this.register[t]}return this};To.search=function(t,e,n,r){n||(!e&&nh(t)?(n=t,t=""):nh(e)&&(n=e,e=0));let o=[],s=[],a,i,l,u,d,f,m=0;if(n)if(n.constructor===Array)l=n,n=null;else{if(t=n.query||t,l=(a=n.pluck)||n.index||n.field,u=n.tag,i=this.store&&n.enrich,d=n.bool==="and",e=n.limit||e||100,f=n.offset||0,u&&(_a(u)&&(u=[u]),!t)){for(let w=0,b;w<u.length;w++)(b=Hje.call(this,u[w],e,f,i))&&(o[o.length]=b,m++);return m?o:[]}_a(l)&&(l=[l])}l||(l=this.h),d=d&&(1<l.length||u&&1<u.length);const g=!r&&(this.o||this.async)&&[];for(let w=0,b,j,S;w<l.length;w++){let I;if(j=l[w],_a(j)||(I=j,j=I.field,t=I.query||t,e=I.limit||e,i=I.enrich||i),g)g[w]=this.index[j].searchAsync(t,e,I||n);else{if(r?b=r[w]:b=this.index[j].search(t,e,I||n),S=b&&b.length,u&&S){const N=[];let M=0;d&&(N[0]=[b]);for(let D=0,P,L;D<u.length;D++)P=u[D],(S=(L=this.l[P])&&L.length)&&(M++,N[N.length]=d?[L]:L);M&&(b=d?Kee(N,e||100,f||0):Bje(b,N),S=b.length)}if(S)s[m]=j,o[m++]=b;else if(d)return[]}}if(g){const w=this;return new Promise(function(b){Promise.all(g).then(function(j){b(w.search(t,e,n,j))})})}if(!m)return[];if(a&&(!i||!this.store))return o[0];for(let w=0,b;w<s.length;w++){if(b=o[w],b.length&&i&&(b=Xee.call(this,b)),a)return b;o[w]={field:s[w],result:b}}return o};function Hje(t,e,n,r){let o=this.l[t],s=o&&o.length-n;if(s&&0<s)return(s>e||n)&&(o=o.slice(n,n+e)),r&&(o=Xee.call(this,o)),{tag:t,result:o}}function Xee(t){const e=Array(t.length);for(let n=0,r;n<t.length;n++)r=t[n],e[n]={id:r,doc:this.store[r]};return e}To.contain=function(t){return!!this.register[t]};To.get=function(t){return this.store[t]};To.set=function(t,e){return this.store[t]=e,this};To.searchCache=Zee;To.export=function(t,e,n,r,o,s){let a;if(typeof s>"u"&&(a=new Promise(i=>{s=i})),o||(o=0),r||(r=0),r<this.h.length){const i=this.h[r],l=this.index[i];e=this,setTimeout(function(){l.export(t,e,o?i:"",r,o++,s)||(r++,o=1,e.export(t,e,i,r,o,s))})}else{let i,l;switch(o){case 1:i="tag",l=this.l,n=null;break;case 2:i="store",l=this.store,n=null;break;default:s();return}Qee(t,this,n,i,r,o,l,s)}return a};To.import=function(t,e){if(e)switch(_a(e)&&(e=JSON.parse(e)),t){case"tag":this.l=e;break;case"reg":this.m=!1,this.register=e;for(let r=0,o;r<this.h.length;r++)o=this.index[this.h[r]],o.register=e,o.m=!1;break;case"store":this.store=e;break;default:t=t.split(".");const n=t[0];t=t[1],n&&t&&this.index[n].import(t,e)}};qee(bk.prototype);var Wje={encode:ete,F:!1,G:""};const Yje=[Fo("[àáâãäå]"),"a",Fo("[èéêë]"),"e",Fo("[ìíîï]"),"i",Fo("[òóôõöő]"),"o",Fo("[ùúûüű]"),"u",Fo("[ýŷÿ]"),"y",Fo("ñ"),"n",Fo("[çc]"),"k",Fo("ß"),"s",Fo(" & ")," and "];function ete(t){var e=t=""+t;return e.normalize&&(e=e.normalize("NFD").replace(Oje,"")),Wee.call(this,e.toLowerCase(),!t.normalize&&Yje)}var Gje={encode:tte,F:!1,G:"strict"};const qje=/[^a-z0-9]+/,VB={b:"p",v:"f",w:"f",z:"s",x:"s",ß:"s",d:"t",n:"m",c:"k",g:"k",j:"k",q:"k",i:"e",y:"e",u:"o"};function tte(t){t=ete.call(this,t).join(" ");const e=[];if(t){const n=t.split(qje),r=n.length;for(let o=0,s,a=0;o<r;o++)if((t=n[o])&&(!this.filter||!this.filter[t])){s=t[0];let i=VB[s]||s,l=i;for(let u=1;u<t.length;u++){s=t[u];const d=VB[s]||s;d&&d!==l&&(i+=d,l=d)}e[a++]=i}}return e}var Kje={encode:nte,F:!1,G:""};const Zje=[Fo("ae"),"a",Fo("oe"),"o",Fo("sh"),"s",Fo("th"),"t",Fo("ph"),"f",Fo("pf"),"f",Fo("(?![aeo])h(?![aeo])"),"",Fo("(?!^[aeo])h(?!^[aeo])"),""];function nte(t,e){return t&&(t=tte.call(this,t).join(" "),2<t.length&&(t=C3(t,Zje)),e||(1<t.length&&(t=Yee(t)),t&&(t=t.split(" ")))),t||[]}var Qje={encode:Xje,F:!1,G:""};const Jje=Fo("(?!\\b)[aeo]");function Xje(t){return t&&(t=nte.call(this,t,!0),1<t.length&&(t=t.replace(Jje,"")),1<t.length&&(t=Yee(t)),t&&(t=t.split(" "))),t||[]}$y["latin:default"]=zje;$y["latin:simple"]=Wje;$y["latin:balance"]=Gje;$y["latin:advanced"]=Kje;$y["latin:extra"]=Qje;const rte={Index:pg},lt={PROFILE_EVENTS:"profileEvents",RELAY_LIST_EVENTS:"relayListEvents",FOLLOW_LIST_EVENTS:"followListEvents",MUTE_LIST_EVENTS:"muteListEvents",BOOKMARK_LIST_EVENTS:"bookmarkListEvents",BLOSSOM_SERVER_LIST_EVENTS:"blossomServerListEvents",USER_EMOJI_LIST_EVENTS:"userEmojiListEvents",EMOJI_SET_EVENTS:"emojiSetEvents",PIN_LIST_EVENTS:"pinListEvents",FAVORITE_RELAYS:"favoriteRelays",RELAY_SETS:"relaySets",FOLLOWING_FAVORITE_RELAYS:"followingFavoriteRelays",RELAY_INFOS:"relayInfos",DECRYPTED_CONTENTS:"decryptedContents",PINNED_USERS_EVENTS:"pinnedUsersEvents",DM_EVENTS:"dmEvents",DM_CONVERSATIONS:"dmConversations",DM_MESSAGES:"dmMessages",UNWRAPPED_GIFT_WRAPS:"unwrappedGiftWraps",DM_DELETED_STATE:"dmDeletedState",CACHED_EVENTS:"cachedEvents",RELAY_STATS:"relayStats",MANAGED_RELAYS:"managedRelays",MUTE_DECRYPTED_TAGS:"muteDecryptedTags",RELAY_INFO_EVENTS:"relayInfoEvents"},Np=class Np{constructor(){je(this,"db",null);je(this,"initPromise",null)}static getInstance(){return Np.instance||(Np.instance=new Np,Np.instance.init()),Np.instance}init(){return this.initPromise||(this.initPromise=new Promise((e,n)=>{const r=window.indexedDB.open("smesh",16);r.onerror=o=>{n(o)},r.onsuccess=()=>{this.db=r.result,e()},r.onupgradeneeded=()=>{const o=r.result;if(o.objectStoreNames.contains(lt.PROFILE_EVENTS)||o.createObjectStore(lt.PROFILE_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.RELAY_LIST_EVENTS)||o.createObjectStore(lt.RELAY_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.FOLLOW_LIST_EVENTS)||o.createObjectStore(lt.FOLLOW_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.MUTE_LIST_EVENTS)||o.createObjectStore(lt.MUTE_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.BOOKMARK_LIST_EVENTS)||o.createObjectStore(lt.BOOKMARK_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.DECRYPTED_CONTENTS)||o.createObjectStore(lt.DECRYPTED_CONTENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.FAVORITE_RELAYS)||o.createObjectStore(lt.FAVORITE_RELAYS,{keyPath:"key"}),o.objectStoreNames.contains(lt.RELAY_SETS)||o.createObjectStore(lt.RELAY_SETS,{keyPath:"key"}),o.objectStoreNames.contains(lt.FOLLOWING_FAVORITE_RELAYS)||o.createObjectStore(lt.FOLLOWING_FAVORITE_RELAYS,{keyPath:"key"}),o.objectStoreNames.contains(lt.BLOSSOM_SERVER_LIST_EVENTS)||o.createObjectStore(lt.BLOSSOM_SERVER_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.USER_EMOJI_LIST_EVENTS)||o.createObjectStore(lt.USER_EMOJI_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.EMOJI_SET_EVENTS)||o.createObjectStore(lt.EMOJI_SET_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.RELAY_INFOS)||o.createObjectStore(lt.RELAY_INFOS,{keyPath:"key"}),o.objectStoreNames.contains(lt.PIN_LIST_EVENTS)||o.createObjectStore(lt.PIN_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.PINNED_USERS_EVENTS)||o.createObjectStore(lt.PINNED_USERS_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.DM_EVENTS)||o.createObjectStore(lt.DM_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(lt.DM_CONVERSATIONS)||o.createObjectStore(lt.DM_CONVERSATIONS,{keyPath:"key"}),o.objectStoreNames.contains(lt.DM_MESSAGES)||o.createObjectStore(lt.DM_MESSAGES,{keyPath:"key"}),o.objectStoreNames.contains(lt.UNWRAPPED_GIFT_WRAPS)||o.createObjectStore(lt.UNWRAPPED_GIFT_WRAPS,{keyPath:"key"}),o.objectStoreNames.contains(lt.DM_DELETED_STATE)||o.createObjectStore(lt.DM_DELETED_STATE,{keyPath:"key"}),!o.objectStoreNames.contains(lt.CACHED_EVENTS)){const s=o.createObjectStore(lt.CACHED_EVENTS,{keyPath:"id"});s.createIndex("kind","kind",{unique:!1}),s.createIndex("pubkey","pubkey",{unique:!1}),s.createIndex("created_at","created_at",{unique:!1})}o.objectStoreNames.contains(lt.RELAY_STATS)||o.createObjectStore(lt.RELAY_STATS,{keyPath:"key"}),o.objectStoreNames.contains(lt.MANAGED_RELAYS)||o.createObjectStore(lt.MANAGED_RELAYS,{keyPath:"key"}),o.objectStoreNames.contains(lt.RELAY_INFO_EVENTS)&&o.deleteObjectStore(lt.RELAY_INFO_EVENTS),o.objectStoreNames.contains(lt.MUTE_DECRYPTED_TAGS)&&o.deleteObjectStore(lt.MUTE_DECRYPTED_TAGS),this.db=o}}),setTimeout(()=>this.cleanUp(),1e3*60)),this.initPromise}async putNullReplaceableEvent(e,n,r){const o=this.getStoreNameByKind(n);return o?(await this.initPromise,new Promise((s,a)=>{if(!this.db)return a("database not initialized");const i=this.db.transaction(o,"readwrite"),l=i.objectStore(o),u=this.getReplaceableEventKey(e,r),d=l.get(u);d.onsuccess=()=>{const f=d.result;if(f)return i.commit(),s(f.value);const m=l.put(this.formatValue(u,null));m.onsuccess=()=>{i.commit(),s(null)},m.onerror=g=>{i.commit(),a(g)}},d.onerror=f=>{i.commit(),a(f)}})):Promise.reject("store name not found")}async putReplaceableEvent(e){const n=this.getStoreNameByKind(e.kind);return n?(await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(n,"readwrite"),a=s.objectStore(n),i=this.getReplaceableEventKeyFromEvent(e),l=a.get(i);l.onsuccess=()=>{const u=l.result;if(u!=null&&u.value&&u.value.created_at>=e.created_at)return s.commit(),r(u.value);const d=a.put(this.formatValue(i,e));d.onsuccess=()=>{s.commit(),r(e)},d.onerror=f=>{s.commit(),o(f)}},l.onerror=u=>{s.commit(),o(u)}})):Promise.reject("store name not found")}async getReplaceableEventByCoordinate(e){const[n,r,...o]=e.split(":"),s=o.length>0?o.join(":"):void 0;return this.getReplaceableEvent(r,parseInt(n),s)}async getReplaceableEvent(e,n,r){const o=this.getStoreNameByKind(n);if(o)return await this.initPromise,new Promise((s,a)=>{if(!this.db)return a("database not initialized");const i=this.db.transaction(o,"readonly"),l=i.objectStore(o),u=this.getReplaceableEventKey(e,r),d=l.get(u);d.onsuccess=()=>{var f;i.commit(),s((f=d.result)==null?void 0:f.value)},d.onerror=f=>{i.commit(),a(f)}})}async getManyReplaceableEvents(e,n){const r=this.getStoreNameByKind(n);return r?(await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(r,"readonly"),i=a.objectStore(r),l=new Array(e.length).fill(void 0);let u=0;e.forEach((d,f)=>{const m=i.get(this.getReplaceableEventKey(d));m.onsuccess=()=>{var w;const g=(w=m.result)==null?void 0:w.value;(g||g===null)&&(l[f]=g),++u===e.length&&(a.commit(),o(l))},m.onerror=()=>{++u===e.length&&(a.commit(),o(l))}})})):Promise.reject("store name not found")}async getDecryptedContent(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.DECRYPTED_CONTENTS,"readonly"),a=o.objectStore(lt.DECRYPTED_CONTENTS).get(e);a.onsuccess=()=>{var i;o.commit(),n((i=a.result)==null?void 0:i.value)},a.onerror=i=>{o.commit(),r(i)}})}async putDecryptedContent(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(lt.DECRYPTED_CONTENTS,"readwrite"),i=s.objectStore(lt.DECRYPTED_CONTENTS).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}async iterateProfileEvents(e){if(await this.initPromise,!!this.db)return new Promise((n,r)=>{const o=this.db.transaction(lt.PROFILE_EVENTS,"readwrite"),a=o.objectStore(lt.PROFILE_EVENTS).openCursor();a.onsuccess=i=>{const l=i.target.result;if(l){const u=l.value.value;u&&e(u),l.continue()}else o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async putFollowingFavoriteRelays(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(lt.FOLLOWING_FAVORITE_RELAYS,"readwrite"),i=s.objectStore(lt.FOLLOWING_FAVORITE_RELAYS).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}async getFollowingFavoriteRelays(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.FOLLOWING_FAVORITE_RELAYS,"readonly"),a=o.objectStore(lt.FOLLOWING_FAVORITE_RELAYS).get(e);a.onsuccess=()=>{var i;o.commit(),n((i=a.result)==null?void 0:i.value)},a.onerror=i=>{o.commit(),r(i)}})}async putRelayInfo(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.RELAY_INFOS,"readwrite"),a=o.objectStore(lt.RELAY_INFOS).put(this.formatValue(e.url,e));a.onsuccess=()=>{o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async getRelayInfo(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.RELAY_INFOS,"readonly"),a=o.objectStore(lt.RELAY_INFOS).get(e);a.onsuccess=()=>{var i;o.commit(),n((i=a.result)==null?void 0:i.value)},a.onerror=i=>{o.commit(),r(i)}})}async putDMEvent(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.DM_EVENTS,"readwrite"),a=o.objectStore(lt.DM_EVENTS).put(this.formatValue(e.id,e));a.onsuccess=()=>{o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async getDMEvent(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.DM_EVENTS,"readonly"),a=o.objectStore(lt.DM_EVENTS).get(e);a.onsuccess=()=>{var i;o.commit(),n(((i=a.result)==null?void 0:i.value)??null)},a.onerror=i=>{o.commit(),r(i)}})}async getAllDMEvents(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.DM_EVENTS,"readonly"),a=o.objectStore(lt.DM_EVENTS).openCursor(),i=[];a.onsuccess=l=>{const u=l.target.result;if(u){const d=u.value.value;d&&(d.pubkey===e||d.tags.some(m=>m[0]==="p"&&m[1]===e))&&i.push(d),u.continue()}else o.commit(),n(i)},a.onerror=l=>{o.commit(),r(l)}})}async putDMConversation(e,n,r,o,s){return await this.initPromise,new Promise((a,i)=>{if(!this.db)return i("database not initialized");const l=this.db.transaction(lt.DM_CONVERSATIONS,"readwrite"),u=l.objectStore(lt.DM_CONVERSATIONS),d=`${e}:${n}`,f=u.put(this.formatValue(d,{partnerPubkey:n,lastMessageAt:r,lastMessagePreview:o,encryptionType:s}));f.onsuccess=()=>{l.commit(),a()},f.onerror=m=>{l.commit(),i(m)}})}async getDMConversations(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.DM_CONVERSATIONS,"readonly"),a=o.objectStore(lt.DM_CONVERSATIONS).openCursor(),i=[];a.onsuccess=l=>{const u=l.target.result;if(u){if(u.key.startsWith(`${e}:`)){const f=u.value.value;f&&i.push(f)}u.continue()}else o.commit(),i.sort((d,f)=>f.lastMessageAt-d.lastMessageAt),n(i)},a.onerror=l=>{o.commit(),r(l)}})}async putConversationRelaySettings(e,n,r){return await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(lt.DM_CONVERSATIONS,"readwrite"),i=a.objectStore(lt.DM_CONVERSATIONS),l=`${e}:${n}:relays`,u=i.put(this.formatValue(l,{selectedRelays:r}));u.onsuccess=()=>{a.commit(),o()},u.onerror=d=>{a.commit(),s(d)}})}async getConversationRelaySettings(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(lt.DM_CONVERSATIONS,"readonly"),a=s.objectStore(lt.DM_CONVERSATIONS),i=`${e}:${n}:relays`,l=a.get(i);l.onsuccess=()=>{var d;s.commit();const u=(d=l.result)==null?void 0:d.value;r((u==null?void 0:u.selectedRelays)??null)},l.onerror=u=>{s.commit(),o(u)}})}async putConversationEncryptionPreference(e,n,r){return await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(lt.DM_CONVERSATIONS,"readwrite"),i=a.objectStore(lt.DM_CONVERSATIONS),l=`${e}:${n}:encryption`,u=i.put(this.formatValue(l,{preference:r}));u.onsuccess=()=>{a.commit(),o()},u.onerror=d=>{a.commit(),s(d)}})}async getConversationEncryptionPreference(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(lt.DM_CONVERSATIONS,"readonly"),a=s.objectStore(lt.DM_CONVERSATIONS),i=`${e}:${n}:encryption`,l=a.get(i);l.onsuccess=()=>{var d;s.commit();const u=(d=l.result)==null?void 0:d.value;r((u==null?void 0:u.preference)??null)},l.onerror=u=>{s.commit(),o(u)}})}async putConversationMessages(e,n,r){return await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(lt.DM_MESSAGES,"readwrite"),i=a.objectStore(lt.DM_MESSAGES),l=`${e}:${n}`,u=i.put(this.formatValue(l,r));u.onsuccess=()=>{a.commit(),o()},u.onerror=d=>{a.commit(),s(d)}})}async getConversationMessages(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(lt.DM_MESSAGES,"readonly"),a=s.objectStore(lt.DM_MESSAGES),i=`${e}:${n}`,l=a.get(i);l.onsuccess=()=>{var u;s.commit(),r(((u=l.result)==null?void 0:u.value)??null)},l.onerror=u=>{s.commit(),o(u)}})}async putUnwrappedGiftWrap(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(lt.UNWRAPPED_GIFT_WRAPS,"readwrite"),i=s.objectStore(lt.UNWRAPPED_GIFT_WRAPS).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}async getUnwrappedGiftWrap(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.UNWRAPPED_GIFT_WRAPS,"readonly"),a=o.objectStore(lt.UNWRAPPED_GIFT_WRAPS).get(e);a.onsuccess=()=>{var i;o.commit(),n(((i=a.result)==null?void 0:i.value)??null)},a.onerror=i=>{o.commit(),r(i)}})}async clearAllDMCaches(){if(await this.initPromise,!this.db)return;const e=[lt.DM_EVENTS,lt.DM_CONVERSATIONS,lt.DM_MESSAGES,lt.UNWRAPPED_GIFT_WRAPS,lt.DECRYPTED_CONTENTS],n=this.db.transaction(e,"readwrite");await Promise.all(e.map(r=>new Promise((o,s)=>{const i=n.objectStore(r).clear();i.onsuccess=()=>o(),i.onerror=l=>s(l)}))),n.commit()}async getDeletedMessagesState(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(lt.DM_DELETED_STATE,"readonly"),a=o.objectStore(lt.DM_DELETED_STATE).get(e);a.onsuccess=()=>{var i;o.commit(),n(((i=a.result)==null?void 0:i.value)??null)},a.onerror=i=>{o.commit(),r(i)}})}async putDeletedMessagesState(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(lt.DM_DELETED_STATE,"readwrite"),i=s.objectStore(lt.DM_DELETED_STATE).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}getReplaceableEventKeyFromEvent(e){if([$e.Metadata,$e.Contacts].includes(e.kind)||e.kind>=1e4&&e.kind<2e4)return this.getReplaceableEventKey(e.pubkey);const[,n]=e.tags.find(In("d"))??[];return this.getReplaceableEventKey(e.pubkey,n)}getReplaceableEventKey(e,n){return n===void 0?e:`${e}:${n}`}getStoreNameByKind(e){switch(e){case $e.Metadata:return lt.PROFILE_EVENTS;case $e.RelayList:return lt.RELAY_LIST_EVENTS;case $e.Contacts:return lt.FOLLOW_LIST_EVENTS;case $e.Mutelist:return lt.MUTE_LIST_EVENTS;case gt.BLOSSOM_SERVER_LIST:return lt.BLOSSOM_SERVER_LIST_EVENTS;case $e.Relaysets:return lt.RELAY_SETS;case gt.FAVORITE_RELAYS:return lt.FAVORITE_RELAYS;case $e.BookmarkList:return lt.BOOKMARK_LIST_EVENTS;case $e.UserEmojiList:return lt.USER_EMOJI_LIST_EVENTS;case $e.Emojisets:return lt.EMOJI_SET_EVENTS;case $e.Pinlist:return lt.PIN_LIST_EVENTS;case gt.PINNED_USERS:return lt.PINNED_USERS_EVENTS;default:return}}formatValue(e,n){return{key:e,value:n,addedAt:Date.now()}}async queryEventsForNRC(e){if(await this.initPromise,!this.db)return[];const n=[lt.PROFILE_EVENTS,lt.RELAY_LIST_EVENTS,lt.FOLLOW_LIST_EVENTS,lt.MUTE_LIST_EVENTS,lt.BOOKMARK_LIST_EVENTS,lt.BLOSSOM_SERVER_LIST_EVENTS,lt.USER_EMOJI_LIST_EVENTS,lt.EMOJI_SET_EVENTS,lt.PIN_LIST_EVENTS,lt.PINNED_USERS_EVENTS,lt.FAVORITE_RELAYS,lt.RELAY_SETS,lt.DM_EVENTS],r=[],o=this.db.transaction(n,"readonly");await Promise.all(n.map(a=>new Promise(i=>{const u=o.objectStore(a).openCursor();u.onsuccess=d=>{const f=d.target.result;if(f){const m=f.value;m.value&&dk(e,m.value)&&r.push(m.value),f.continue()}else i()},u.onerror=()=>{i()}}))),r.sort((a,i)=>i.created_at-a.created_at);const s=Math.min(...e.map(a=>a.limit??1/0));return s!==1/0&&s>0?r.slice(0,s):r}async putCachedEvent(e){if(await this.initPromise,!!this.db)return new Promise((n,r)=>{const o=this.db.transaction(lt.CACHED_EVENTS,"readwrite"),a=o.objectStore(lt.CACHED_EVENTS).put(e);a.onsuccess=()=>{o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async putCachedEvents(e){if(e.length!==0&&(await this.initPromise,!!this.db))return new Promise(n=>{const r=this.db.transaction(lt.CACHED_EVENTS,"readwrite"),o=r.objectStore(lt.CACHED_EVENTS);let s=0;for(const a of e){const i=o.put(a);i.onsuccess=()=>{s++,s===e.length&&(r.commit(),n())},i.onerror=()=>{s++,s===e.length&&(r.commit(),n())}}})}async getCachedEvent(e){return await this.initPromise,this.db?new Promise((n,r)=>{const o=this.db.transaction(lt.CACHED_EVENTS,"readonly"),a=o.objectStore(lt.CACHED_EVENTS).get(e);a.onsuccess=()=>{o.commit(),n(a.result??null)},a.onerror=i=>{o.commit(),r(i)}}):null}async queryCachedEvents(e){return await this.initPromise,this.db?new Promise(n=>{const r=this.db.transaction(lt.CACHED_EVENTS,"readonly"),s=r.objectStore(lt.CACHED_EVENTS).openCursor(),a=[];s.onsuccess=i=>{const l=i.target.result;if(l){const u=l.value;u&&dk(e,u)&&a.push(u),l.continue()}else{r.commit(),a.sort((d,f)=>f.created_at-d.created_at);const u=Math.min(...e.map(d=>d.limit??1/0));u!==1/0&&u>0?n(a.slice(0,u)):n(a)}},s.onerror=()=>{r.commit(),n([])}}):[]}async cleanupExpiredCache(e=7){if(await this.initPromise,!this.db)return 0;const n=Math.floor(Date.now()/1e3)-e*24*60*60;return new Promise(r=>{const o=this.db.transaction(lt.CACHED_EVENTS,"readwrite"),a=o.objectStore(lt.CACHED_EVENTS).index("created_at"),i=IDBKeyRange.upperBound(n),l=a.openCursor(i);let u=0;l.onsuccess=d=>{const f=d.target.result;f?(f.delete(),u++,f.continue()):(o.commit(),r(u))},l.onerror=()=>{o.commit(),r(u)}})}async getCachedEventCount(){return await this.initPromise,this.db?new Promise(e=>{const n=this.db.transaction(lt.CACHED_EVENTS,"readonly"),o=n.objectStore(lt.CACHED_EVENTS).count();o.onsuccess=()=>{n.commit(),e(o.result)},o.onerror=()=>{n.commit(),e(0)}}):0}async cleanUp(){if(await this.initPromise,!this.db)return;const e=[{name:lt.PROFILE_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:lt.RELAY_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:lt.FOLLOW_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:lt.BLOSSOM_SERVER_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:lt.RELAY_INFOS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:lt.PIN_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30}];this.cleanupExpiredCache(7);const n=this.db.transaction(e.map(r=>r.name),"readwrite");await Promise.allSettled(e.map(({name:r,expirationTimestamp:o})=>o<0?Promise.resolve():new Promise((s,a)=>{const l=n.objectStore(r).openCursor();l.onsuccess=u=>{const d=u.target.result;d?(d.value.addedAt<o&&d.delete(),d.continue()):s()},l.onerror=u=>{a(u)}})))}async putRelayStats(e,n){if(await this.initPromise,!this.db)return;this.db.transaction(lt.RELAY_STATS,"readwrite").objectStore(lt.RELAY_STATS).put({key:e,value:n,addedAt:Date.now()})}async getAllRelayStats(){return await this.initPromise,this.db?new Promise((e,n)=>{const s=this.db.transaction(lt.RELAY_STATS,"readonly").objectStore(lt.RELAY_STATS).getAll();s.onsuccess=()=>e(s.result??[]),s.onerror=()=>n(s.error)}):[]}async deleteRelayStats(e){if(await this.initPromise,!this.db)return;this.db.transaction(lt.RELAY_STATS,"readwrite").objectStore(lt.RELAY_STATS).delete(e)}async putManagedRelay(e,n){if(await this.initPromise,!this.db)return;this.db.transaction(lt.MANAGED_RELAYS,"readwrite").objectStore(lt.MANAGED_RELAYS).put({key:e,value:n,addedAt:Date.now()})}async getAllManagedRelays(){return await this.initPromise,this.db?new Promise((e,n)=>{const s=this.db.transaction(lt.MANAGED_RELAYS,"readonly").objectStore(lt.MANAGED_RELAYS).getAll();s.onsuccess=()=>e(s.result??[]),s.onerror=()=>n(s.error)}):[]}async deleteManagedRelay(e){if(await this.initPromise,!this.db)return;this.db.transaction(lt.MANAGED_RELAYS,"readwrite").objectStore(lt.MANAGED_RELAYS).delete(e)}};je(Np,"instance");let R_=Np;const At=R_.getInstance();function Ap(t,e){return(t==null?void 0:t.pubkey)===(e==null?void 0:e.pubkey)&&(t==null?void 0:t.signerType)===(e==null?void 0:e.signerType)}const HB="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";function yd(t=32){let e="";for(let n=0;n<t;n++)e+=HB[Math.floor(Math.random()*HB.length)];return e}const Ru=class Ru{constructor(){je(this,"relaySets",[]);je(this,"themeSetting","system");je(this,"accounts",[]);je(this,"currentAccount",null);je(this,"noteListMode","posts");je(this,"lastReadNotificationTimeMap",{});je(this,"defaultZapSats",21);je(this,"defaultZapComment","Zap!");je(this,"quickZap",!1);je(this,"accountFeedInfoMap",{});je(this,"autoplay",!0);je(this,"hideUntrustedInteractions",!1);je(this,"hideUntrustedNotifications",!1);je(this,"hideUntrustedNotes",!1);je(this,"mediaUploadServiceConfigMap",{});je(this,"dismissedTooManyRelaysAlert",!1);je(this,"showKinds",[]);je(this,"hideContentMentioningMutedUsers",!1);je(this,"notificationListStyle",Dp.DETAILED);je(this,"mediaAutoLoadPolicy",Yu.ALWAYS);je(this,"shownCreateWalletGuideToastPubkeys",new Set);je(this,"sidebarCollapse",!1);je(this,"primaryColor","DEFAULT");je(this,"enableSingleColumnLayout",!0);je(this,"faviconUrlTemplate",mk);je(this,"filterOutOnionRelays",!gje());je(this,"autoInsertNewNotes",!1);je(this,"quickReaction",!1);je(this,"quickReactionEmoji","+");je(this,"nsfwDisplayPolicy",Ul.HIDE_CONTENT);je(this,"preferNip44",!1);je(this,"dmConversationFilter","all");je(this,"graphQueriesEnabled",!0);je(this,"socialGraphProximity",null);je(this,"socialGraphIncludeMode",!0);je(this,"nrcOnlyConfigSync",!1);je(this,"verboseLogging",!1);je(this,"enableMarkdown",!0);je(this,"addClientTag",!0);je(this,"searchRelays",null);je(this,"fallbackRelayCount",7);je(this,"llmConfigMap",{});je(this,"outboxMode","automatic");return Ru.instance||(this.init(),Ru.instance=this),Ru.instance}init(){this.themeSetting=window.localStorage.getItem(xt.THEME_SETTING)??"system";const e=window.localStorage.getItem(xt.ACCOUNTS);try{this.accounts=e?JSON.parse(e):[]}catch{this.accounts=[]}const n=window.localStorage.getItem(xt.CURRENT_ACCOUNT);try{this.currentAccount=n?JSON.parse(n):null}catch{this.currentAccount=null}const r=window.localStorage.getItem(xt.NOTE_LIST_MODE);this.noteListMode=r&&["postsAndReplies","you"].includes(r)?r:"postsAndReplies";const o=window.localStorage.getItem(xt.LAST_READ_NOTIFICATION_TIME_MAP)??"{}";try{this.lastReadNotificationTimeMap=JSON.parse(o)}catch{this.lastReadNotificationTimeMap={}}const s=window.localStorage.getItem(xt.RELAY_SETS);if(s)try{this.relaySets=JSON.parse(s)}catch{this.relaySets=[]}else{let L=[];const F=window.localStorage.getItem("relayGroups");if(F){let T;try{T=JSON.parse(F)}catch{T=[]}L=T.map(R=>({id:yd(),aTag:[],name:R.groupName,relayUrls:R.relayUrls}))}L.length||(L=[]),window.localStorage.setItem(xt.RELAY_SETS,JSON.stringify(L)),this.relaySets=L}const a=window.localStorage.getItem(xt.DEFAULT_ZAP_SATS);if(a){const L=parseInt(a);isNaN(L)||(this.defaultZapSats=L)}this.defaultZapComment=window.localStorage.getItem(xt.DEFAULT_ZAP_COMMENT)??"Zap!",this.quickZap=window.localStorage.getItem(xt.QUICK_ZAP)==="true";const i=window.localStorage.getItem(xt.ACCOUNT_FEED_INFO_MAP)??"{}";try{this.accountFeedInfoMap=JSON.parse(i)}catch{this.accountFeedInfoMap={}}this.autoplay=window.localStorage.getItem(xt.AUTOPLAY)!=="false",this.enableMarkdown=window.localStorage.getItem(xt.ENABLE_MARKDOWN)!=="false";const l=window.localStorage.getItem(xt.HIDE_UNTRUSTED_EVENTS)==="true",u=window.localStorage.getItem(xt.HIDE_UNTRUSTED_INTERACTIONS),d=window.localStorage.getItem(xt.HIDE_UNTRUSTED_NOTIFICATIONS),f=window.localStorage.getItem(xt.HIDE_UNTRUSTED_NOTES);this.hideUntrustedInteractions=u?u==="true":l,this.hideUntrustedNotifications=d?d==="true":l,this.hideUntrustedNotes=f?f==="true":l;const m=window.localStorage.getItem(xt.MEDIA_UPLOAD_SERVICE_CONFIG_MAP);if(m)try{this.mediaUploadServiceConfigMap=JSON.parse(m)}catch{}const g=window.localStorage.getItem(xt.LLM_CONFIG_MAP);if(g)try{this.llmConfigMap=JSON.parse(g)}catch{}const w=window.localStorage.getItem(xt.NSFW_DISPLAY_POLICY);if(w&&Object.values(Ul).includes(w))this.nsfwDisplayPolicy=w;else{const L=window.localStorage.getItem(xt.DEFAULT_SHOW_NSFW);this.nsfwDisplayPolicy=L==="true"?Ul.SHOW:Ul.HIDE_CONTENT,window.localStorage.setItem(xt.NSFW_DISPLAY_POLICY,this.nsfwDisplayPolicy)}this.dismissedTooManyRelaysAlert=window.localStorage.getItem(xt.DISMISSED_TOO_MANY_RELAYS_ALERT)==="true";const b=window.localStorage.getItem(xt.SHOW_KINDS);if(!b)this.showKinds=v_;else{const L=window.localStorage.getItem(xt.SHOW_KINDS_VERSION),F=L?parseInt(L):0;let T;try{T=JSON.parse(b)}catch{T=v_}const R=new Set(T);F<1&&(R.add(gt.VIDEO),R.add(gt.SHORT_VIDEO)),F<2&&R.has(gt.VIDEO)&&(R.add(gt.ADDRESSABLE_NORMAL_VIDEO),R.add(gt.ADDRESSABLE_SHORT_VIDEO)),F<3&&R.has(24236)&&(R.delete(24236),R.add(gt.ADDRESSABLE_SHORT_VIDEO)),F<4&&R.has($e.Repost)&&R.add($e.GenericRepost),this.showKinds=Array.from(R)}window.localStorage.setItem(xt.SHOW_KINDS,JSON.stringify(this.showKinds)),window.localStorage.setItem(xt.SHOW_KINDS_VERSION,"4"),this.hideContentMentioningMutedUsers=window.localStorage.getItem(xt.HIDE_CONTENT_MENTIONING_MUTED_USERS)==="true",this.notificationListStyle=window.localStorage.getItem(xt.NOTIFICATION_LIST_STYLE)===Dp.COMPACT?Dp.COMPACT:Dp.DETAILED;const j=window.localStorage.getItem(xt.MEDIA_AUTO_LOAD_POLICY);j&&Object.values(Yu).includes(j)&&(this.mediaAutoLoadPolicy=j);const S=window.localStorage.getItem(xt.SHOWN_CREATE_WALLET_GUIDE_TOAST_PUBKEYS);if(S)try{this.shownCreateWalletGuideToastPubkeys=new Set(JSON.parse(S))}catch{this.shownCreateWalletGuideToastPubkeys=new Set}this.sidebarCollapse=window.localStorage.getItem(xt.SIDEBAR_COLLAPSE)==="true",this.primaryColor=window.localStorage.getItem(xt.PRIMARY_COLOR)??"DEFAULT",this.enableSingleColumnLayout=window.localStorage.getItem(xt.ENABLE_SINGLE_COLUMN_LAYOUT)!=="false",this.faviconUrlTemplate=window.localStorage.getItem(xt.FAVICON_URL_TEMPLATE)??mk;const I=window.localStorage.getItem(xt.FILTER_OUT_ONION_RELAYS);I&&(this.filterOutOnionRelays=I!=="false"),this.autoInsertNewNotes=window.localStorage.getItem(xt.AUTO_INSERT_NEW_NOTES)==="true",this.quickReaction=window.localStorage.getItem(xt.QUICK_REACTION)==="true";const N=window.localStorage.getItem(xt.QUICK_REACTION_EMOJI)??"+";N.startsWith("{")?this.quickReactionEmoji=JSON.parse(N):this.quickReactionEmoji=N,this.preferNip44=window.localStorage.getItem(xt.PREFER_NIP44)==="true",this.dmConversationFilter=window.localStorage.getItem(xt.DM_CONVERSATION_FILTER)||"all",this.graphQueriesEnabled=window.localStorage.getItem(xt.GRAPH_QUERIES_ENABLED)!=="false";const M=window.localStorage.getItem(xt.SOCIAL_GRAPH_PROXIMITY);if(M){const L=parseInt(M);!isNaN(L)&&L>=1&&L<=2&&(this.socialGraphProximity=L)}this.socialGraphIncludeMode=window.localStorage.getItem(xt.SOCIAL_GRAPH_INCLUDE_MODE)!=="false",this.nrcOnlyConfigSync=window.localStorage.getItem(xt.NRC_ONLY_CONFIG_SYNC)==="true",this.verboseLogging=window.localStorage.getItem(xt.VERBOSE_LOGGING)==="true",this.addClientTag=window.localStorage.getItem(xt.ADD_CLIENT_TAG)!=="false";const D=window.localStorage.getItem(xt.SEARCH_RELAYS);if(D)try{this.searchRelays=JSON.parse(D)}catch{this.searchRelays=null}const P=window.localStorage.getItem(xt.FALLBACK_RELAY_COUNT);if(P){const L=parseInt(P);!isNaN(L)&&L>=3&&L<=50&&(this.fallbackRelayCount=L)}this.outboxMode=window.localStorage.getItem(xt.OUTBOX_MODE)??"automatic",window.localStorage.removeItem(xt.PINNED_PUBKEYS),window.localStorage.removeItem(xt.ACCOUNT_PROFILE_EVENT_MAP),window.localStorage.removeItem(xt.ACCOUNT_FOLLOW_LIST_EVENT_MAP),window.localStorage.removeItem(xt.ACCOUNT_RELAY_LIST_EVENT_MAP),window.localStorage.removeItem(xt.ACCOUNT_MUTE_LIST_EVENT_MAP),window.localStorage.removeItem(xt.ACCOUNT_MUTE_DECRYPTED_TAGS_MAP),window.localStorage.removeItem(xt.ACTIVE_RELAY_SET_ID),window.localStorage.removeItem(xt.FEED_TYPE)}getRelaySets(){return this.relaySets}setRelaySets(e){this.relaySets=e,window.localStorage.setItem(xt.RELAY_SETS,JSON.stringify(this.relaySets))}getThemeSetting(){return this.themeSetting}setThemeSetting(e){window.localStorage.setItem(xt.THEME_SETTING,e),this.themeSetting=e}getNoteListMode(){return this.noteListMode}setNoteListMode(e){window.localStorage.setItem(xt.NOTE_LIST_MODE,e),this.noteListMode=e}getAccounts(){return this.accounts}findAccount(e){return this.accounts.find(n=>Ap(n,e))}getCurrentAccount(){return this.currentAccount}getAccountNsec(e){const n=this.accounts.find(r=>r.pubkey===e&&r.signerType==="nsec");return n==null?void 0:n.nsec}getAccountNcryptsec(e){const n=this.accounts.find(r=>r.pubkey===e&&r.signerType==="ncryptsec");return n==null?void 0:n.ncryptsec}addAccount(e){const n=this.accounts.findIndex(r=>Ap(r,e));return n!==-1?this.accounts[n]=e:this.accounts.push(e),window.localStorage.setItem(xt.ACCOUNTS,JSON.stringify(this.accounts)),this.accounts}removeAccount(e){return this.accounts=this.accounts.filter(n=>!Ap(n,e)),window.localStorage.setItem(xt.ACCOUNTS,JSON.stringify(this.accounts)),this.accounts}switchAccount(e){if(Ap(this.currentAccount,e))return;const n=this.accounts.find(r=>Ap(r,e));n&&(this.currentAccount=n,window.localStorage.setItem(xt.CURRENT_ACCOUNT,JSON.stringify(n)))}getDefaultZapSats(){return this.defaultZapSats}setDefaultZapSats(e){this.defaultZapSats=e,window.localStorage.setItem(xt.DEFAULT_ZAP_SATS,e.toString())}getDefaultZapComment(){return this.defaultZapComment}setDefaultZapComment(e){this.defaultZapComment=e,window.localStorage.setItem(xt.DEFAULT_ZAP_COMMENT,e)}getQuickZap(){return this.quickZap}setQuickZap(e){this.quickZap=e,window.localStorage.setItem(xt.QUICK_ZAP,e.toString())}getLastReadNotificationTime(e){return this.lastReadNotificationTimeMap[e]??0}setLastReadNotificationTime(e,n){this.lastReadNotificationTimeMap[e]=n,window.localStorage.setItem(xt.LAST_READ_NOTIFICATION_TIME_MAP,JSON.stringify(this.lastReadNotificationTimeMap))}getFeedInfo(e){return this.accountFeedInfoMap[e]}setFeedInfo(e,n){this.accountFeedInfoMap[n??"default"]=e,window.localStorage.setItem(xt.ACCOUNT_FEED_INFO_MAP,JSON.stringify(this.accountFeedInfoMap))}getAutoplay(){return this.autoplay}setAutoplay(e){this.autoplay=e,window.localStorage.setItem(xt.AUTOPLAY,e.toString())}getHideUntrustedInteractions(){return this.hideUntrustedInteractions}setHideUntrustedInteractions(e){this.hideUntrustedInteractions=e,window.localStorage.setItem(xt.HIDE_UNTRUSTED_INTERACTIONS,e.toString())}getHideUntrustedNotifications(){return this.hideUntrustedNotifications}setHideUntrustedNotifications(e){this.hideUntrustedNotifications=e,window.localStorage.setItem(xt.HIDE_UNTRUSTED_NOTIFICATIONS,e.toString())}getHideUntrustedNotes(){return this.hideUntrustedNotes}setHideUntrustedNotes(e){this.hideUntrustedNotes=e,window.localStorage.setItem(xt.HIDE_UNTRUSTED_NOTES,e.toString())}getMediaUploadServiceConfig(e){const n={type:"blossom"};if(!e)return n;const r=window.localStorage.getItem(xt.MEDIA_UPLOAD_SERVICE_CONFIG_MAP);if(r)try{return JSON.parse(r)[e]??n}catch{return n}return n}setMediaUploadServiceConfig(e,n){return this.mediaUploadServiceConfigMap[e]=n,window.localStorage.setItem(xt.MEDIA_UPLOAD_SERVICE_CONFIG_MAP,JSON.stringify(this.mediaUploadServiceConfigMap)),n}getLlmConfig(e){if(!e)return null;const n=window.localStorage.getItem(xt.LLM_CONFIG_MAP);if(n)try{return JSON.parse(n)[e]??null}catch{return null}return null}setLlmConfig(e,n){this.llmConfigMap[e]=n,window.localStorage.setItem(xt.LLM_CONFIG_MAP,JSON.stringify(this.llmConfigMap))}getDismissedTooManyRelaysAlert(){return this.dismissedTooManyRelaysAlert}setDismissedTooManyRelaysAlert(e){this.dismissedTooManyRelaysAlert=e,window.localStorage.setItem(xt.DISMISSED_TOO_MANY_RELAYS_ALERT,e.toString())}getShowKinds(){return this.showKinds}setShowKinds(e){this.showKinds=e,window.localStorage.setItem(xt.SHOW_KINDS,JSON.stringify(e))}getHideContentMentioningMutedUsers(){return this.hideContentMentioningMutedUsers}setHideContentMentioningMutedUsers(e){this.hideContentMentioningMutedUsers=e,window.localStorage.setItem(xt.HIDE_CONTENT_MENTIONING_MUTED_USERS,e.toString())}getNotificationListStyle(){return this.notificationListStyle}setNotificationListStyle(e){this.notificationListStyle=e,window.localStorage.setItem(xt.NOTIFICATION_LIST_STYLE,e)}getMediaAutoLoadPolicy(){return this.mediaAutoLoadPolicy}setMediaAutoLoadPolicy(e){this.mediaAutoLoadPolicy=e,window.localStorage.setItem(xt.MEDIA_AUTO_LOAD_POLICY,e)}hasShownCreateWalletGuideToast(e){return this.shownCreateWalletGuideToastPubkeys.has(e)}markCreateWalletGuideToastAsShown(e){this.shownCreateWalletGuideToastPubkeys.has(e)||(this.shownCreateWalletGuideToastPubkeys.add(e),window.localStorage.setItem(xt.SHOWN_CREATE_WALLET_GUIDE_TOAST_PUBKEYS,JSON.stringify(Array.from(this.shownCreateWalletGuideToastPubkeys))))}getSidebarCollapse(){return this.sidebarCollapse}setSidebarCollapse(e){this.sidebarCollapse=e,window.localStorage.setItem(xt.SIDEBAR_COLLAPSE,e.toString())}getPrimaryColor(){return this.primaryColor}setPrimaryColor(e){this.primaryColor=e,window.localStorage.setItem(xt.PRIMARY_COLOR,e)}getEnableSingleColumnLayout(){return this.enableSingleColumnLayout}setEnableSingleColumnLayout(e){this.enableSingleColumnLayout=e,window.localStorage.setItem(xt.ENABLE_SINGLE_COLUMN_LAYOUT,e.toString())}getFaviconUrlTemplate(){return this.faviconUrlTemplate}setFaviconUrlTemplate(e){this.faviconUrlTemplate=e,window.localStorage.setItem(xt.FAVICON_URL_TEMPLATE,e)}getFilterOutOnionRelays(){return this.filterOutOnionRelays}setFilterOutOnionRelays(e){this.filterOutOnionRelays=e,window.localStorage.setItem(xt.FILTER_OUT_ONION_RELAYS,e.toString())}getAutoInsertNewNotes(){return this.autoInsertNewNotes}setAutoInsertNewNotes(e){this.autoInsertNewNotes=e,window.localStorage.setItem(xt.AUTO_INSERT_NEW_NOTES,e.toString())}getQuickReaction(){return this.quickReaction}setQuickReaction(e){this.quickReaction=e,window.localStorage.setItem(xt.QUICK_REACTION,e.toString())}getQuickReactionEmoji(){return this.quickReactionEmoji}setQuickReactionEmoji(e){this.quickReactionEmoji=e,window.localStorage.setItem(xt.QUICK_REACTION_EMOJI,typeof e=="string"?e:JSON.stringify(e))}getNsfwDisplayPolicy(){return this.nsfwDisplayPolicy}setNsfwDisplayPolicy(e){this.nsfwDisplayPolicy=e,window.localStorage.setItem(xt.NSFW_DISPLAY_POLICY,e)}getPreferNip44(){return this.preferNip44}setPreferNip44(e){this.preferNip44=e,window.localStorage.setItem(xt.PREFER_NIP44,e.toString())}getDMConversationFilter(){return this.dmConversationFilter}setDMConversationFilter(e){this.dmConversationFilter=e,window.localStorage.setItem(xt.DM_CONVERSATION_FILTER,e)}getDMLastSeenTimestamp(e){const n=window.localStorage.getItem(xt.DM_LAST_SEEN_TIMESTAMP);if(!n)return 0;try{return JSON.parse(n)[e]??0}catch{return 0}}setDMLastSeenTimestamp(e,n){const r=window.localStorage.getItem(xt.DM_LAST_SEEN_TIMESTAMP);let o={};if(r)try{o=JSON.parse(r)}catch{}o[e]=n,window.localStorage.setItem(xt.DM_LAST_SEEN_TIMESTAMP,JSON.stringify(o))}getGraphQueriesEnabled(){return this.graphQueriesEnabled}setGraphQueriesEnabled(e){this.graphQueriesEnabled=e,window.localStorage.setItem(xt.GRAPH_QUERIES_ENABLED,e.toString())}getSocialGraphProximity(){return this.socialGraphProximity}setSocialGraphProximity(e){this.socialGraphProximity=e,e===null?window.localStorage.removeItem(xt.SOCIAL_GRAPH_PROXIMITY):window.localStorage.setItem(xt.SOCIAL_GRAPH_PROXIMITY,e.toString())}getSocialGraphIncludeMode(){return this.socialGraphIncludeMode}setSocialGraphIncludeMode(e){this.socialGraphIncludeMode=e,window.localStorage.setItem(xt.SOCIAL_GRAPH_INCLUDE_MODE,e.toString())}getNrcOnlyConfigSync(){return this.nrcOnlyConfigSync}setNrcOnlyConfigSync(e){this.nrcOnlyConfigSync=e,window.localStorage.setItem(xt.NRC_ONLY_CONFIG_SYNC,e.toString())}getVerboseLogging(){return this.verboseLogging}setVerboseLogging(e){this.verboseLogging=e,window.localStorage.setItem(xt.VERBOSE_LOGGING,e.toString())}getEnableMarkdown(){return this.enableMarkdown}setEnableMarkdown(e){this.enableMarkdown=e,window.localStorage.setItem(xt.ENABLE_MARKDOWN,e.toString())}getAddClientTag(){return this.addClientTag}setAddClientTag(e){this.addClientTag=e,window.localStorage.setItem(xt.ADD_CLIENT_TAG,e.toString())}getSearchRelays(){return this.searchRelays??[]}setSearchRelays(e){this.searchRelays=e,e===null?window.localStorage.removeItem(xt.SEARCH_RELAYS):window.localStorage.setItem(xt.SEARCH_RELAYS,JSON.stringify(e))}hasCustomSearchRelays(){return this.searchRelays!==null&&this.searchRelays.length>0}getFallbackRelayCount(){return this.fallbackRelayCount}setFallbackRelayCount(e){this.fallbackRelayCount=Math.max(3,Math.min(50,e)),window.localStorage.setItem(xt.FALLBACK_RELAY_COUNT,this.fallbackRelayCount.toString())}getOutboxMode(){return this.outboxMode}setOutboxMode(e){this.outboxMode=e,window.localStorage.setItem(xt.OUTBOX_MODE,e)}getNrcRendezvousUrl(){return window.localStorage.getItem(Ru.NRC_RENDEZVOUS_KEY)||""}setNrcRendezvousUrl(e){e?window.localStorage.setItem(Ru.NRC_RENDEZVOUS_KEY,e):window.localStorage.removeItem(Ru.NRC_RENDEZVOUS_KEY)}};je(Ru,"instance"),je(Ru,"NRC_RENDEZVOUS_KEY","nrc:rendezvousUrl");let T_=Ru;const Ze=new T_,S3="smesh-settings-changed";function cr(){window.dispatchEvent(new CustomEvent(S3))}const eCe={outbox:0,inbox:1,both:2},tCe={pending:0,approved:1,rejected:2},nCe=["outbox","inbox","both","outbox"],rCe=["pending","approved","rejected","pending"],oCe=.99,sCe=10,aCe=[{url:"https://api.ipify.org?format=json",parse:t=>{try{return JSON.parse(t).ip}catch{return null}}},{url:"https://ifconfig.me/ip",parse:t=>t.trim()},{url:"https://icanhazip.com",parse:t=>t.trim()}];function ote(t){const e=t.split(".");return e.length!==4?"00000000":e.map(n=>{const r=parseInt(n,10);return isNaN(r)||r<0||r>255?"00":r.toString(16).padStart(2,"0")}).join("")}function iCe(t){const e=t.split("."),n=new Uint8Array(4);for(let r=0;r<4;r++){const o=parseInt(e[r],10);n[r]=isNaN(o)?0:o&255}return n}function WB(t){return`${t[0]}.${t[1]}.${t[2]}.${t[3]}`}const lCe=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;class cCe{constructor(){je(this,"cachedIp",null);je(this,"detectPromise",null)}getCurrentIpHex(){return this.cachedIp?ote(this.cachedIp):null}getCurrentIp(){return this.cachedIp}async detect(){return this.cachedIp?this.cachedIp:this.detectPromise?this.detectPromise:(this.detectPromise=this.raceDetect(),this.cachedIp=await this.detectPromise,this.detectPromise=null,this.cachedIp)}async raceDetect(){const e=new AbortController,n=setTimeout(()=>e.abort(),5e3);try{return await Promise.any(aCe.map(async o=>{const s=await fetch(o.url,{signal:e.signal});if(!s.ok)throw new Error(`${o.url}: ${s.status}`);const a=await s.text(),i=o.parse(a);if(!i||!lCe.test(i))throw new Error(`${o.url}: invalid IP "${i}"`);return i}))}catch{return null}finally{clearTimeout(n)}}}const FI=new cCe,uCe=1e4;class fCe{constructor(){je(this,"entries",new Map);je(this,"dirtyUrls",new Set);je(this,"flushTimer",null);je(this,"initPromise",null)}async init(){return this.initPromise?this.initPromise:(this.initPromise=this.loadFromDb(),this.initPromise)}async loadFromDb(){const e=await At.getAllRelayStats();for(const n of e){const r=n.value;if(!r||!r.url)continue;const o=new Map;if(Array.isArray(r.networkStats))for(const[s,a]of r.networkStats)o.set(s,{...a});this.entries.set(r.url,{url:r.url,direction:r.direction??"outbox",relayIp:r.relayIp??null,networkStats:o,manualExclude:r.manualExclude??!1,status:r.status??"pending",reason:r.reason??"",addedAt:r.addedAt??Date.now(),updatedAt:r.updatedAt??Date.now()})}}getOrCreateEntry(e){e=so(e);let n=this.entries.get(e);return n||(n={url:e,direction:"outbox",relayIp:null,networkStats:new Map,manualExclude:!1,status:"pending",reason:"",addedAt:Date.now(),updatedAt:Date.now()},this.entries.set(e,n)),n}recordPublishSuccess(e){this.recordStat(e,"publishSuccess")}recordPublishFailure(e){this.recordStat(e,"publishFailure")}recordFetchSuccess(e){this.recordStat(e,"fetchSuccess")}recordFetchFailure(e){this.recordStat(e,"fetchFailure")}recordStat(e,n){const r=this.getOrCreateEntry(e),o=FI.getCurrentIpHex()??"unknown";let s=r.networkStats.get(o);s||(s={publishSuccess:0,publishFailure:0,fetchSuccess:0,fetchFailure:0,lastSeen:Date.now()},r.networkStats.set(o,s)),s[n]++,s.lastSeen=Date.now(),r.updatedAt=Date.now(),this.dirtyUrls.add(e),this.scheduleFlush()}getFailureRate(e){const n=this.entries.get(so(e));if(!n)return 0;const r=FI.getCurrentIpHex()??"unknown",o=n.networkStats.get(r);if(!o)return 0;const s=o.publishSuccess+o.publishFailure+o.fetchSuccess+o.fetchFailure;return s===0?0:(o.publishFailure+o.fetchFailure)/s}isAutoDisabled(e){const n=this.entries.get(so(e));if(!n)return!1;const r=FI.getCurrentIpHex()??"unknown",o=n.networkStats.get(r);if(!o)return!1;const s=o.publishSuccess+o.publishFailure+o.fetchSuccess+o.fetchFailure;return s<=sCe?!1:(o.publishFailure+o.fetchFailure)/s>=oCe}getEntry(e){return this.entries.get(so(e))}getAllEntries(){return Array.from(this.entries.values())}setRelayIp(e,n){e=so(e);const r=this.getOrCreateEntry(e);r.relayIp=n,r.updatedAt=Date.now(),this.dirtyUrls.add(e),this.scheduleFlush()}updateEntry(e,n){const r=this.getOrCreateEntry(e);n.status!==void 0&&(r.status=n.status),n.direction!==void 0&&(r.direction=n.direction),n.manualExclude!==void 0&&(r.manualExclude=n.manualExclude),n.reason!==void 0&&(r.reason=n.reason),r.updatedAt=Date.now(),this.dirtyUrls.add(e),this.scheduleFlush()}scheduleFlush(){this.flushTimer||(this.flushTimer=setTimeout(()=>{this.flushTimer=null,this.flush()},uCe))}async flush(){if(this.dirtyUrls.size===0)return;const e=Array.from(this.dirtyUrls);this.dirtyUrls.clear();for(const n of e){const r=this.entries.get(n);if(!r)continue;const o={url:r.url,direction:r.direction,relayIp:r.relayIp,networkStats:Array.from(r.networkStats.entries()),manualExclude:r.manualExclude,status:r.status,reason:r.reason,addedAt:r.addedAt,updatedAt:r.updatedAt};await At.putRelayStats(n,o)}}encodeBinary(){const e=this.getAllEntries(),n=new TextEncoder;let r=0;const o=[];for(const u of e){const d=n.encode(u.url);o.push(d),r+=1+d.length+1+4+1+u.networkStats.size*12}const s=new ArrayBuffer(r),a=new DataView(s),i=new Uint8Array(s);let l=0;for(let u=0;u<e.length;u++){const d=e[u],f=o[u];a.setUint8(l,f.length),l+=1,i.set(f,l),l+=f.length;const m=eCe[d.direction]??0,g=tCe[d.status]??0,w=d.manualExclude?1:0,b=(m&3)<<6|(g&3)<<4|(w&1)<<3;a.setUint8(l,b),l+=1;const j=iCe(d.relayIp??"0.0.0.0");i.set(j,l),l+=4,a.setUint8(l,Math.min(d.networkStats.size,255)),l+=1;let S=0;for(const[I,N]of d.networkStats){if(S>=255)break;const M=dCe(I);i.set(M,l),l+=4,a.setUint16(l,Math.min(N.publishSuccess,65535)),l+=2,a.setUint16(l,Math.min(N.publishFailure,65535)),l+=2,a.setUint16(l,Math.min(N.fetchSuccess,65535)),l+=2,a.setUint16(l,Math.min(N.fetchFailure,65535)),l+=2,S++}}return new Uint8Array(s,0,l)}decodeBinary(e){const n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new TextDecoder;let o=0;for(;o<e.length&&!(o+1>e.length);){const s=n.getUint8(o);if(o+=1,o+s>e.length)break;const a=r.decode(e.subarray(o,o+s));if(o+=s,o+6>e.length)break;const i=n.getUint8(o);o+=1;const l=i>>6&3,u=i>>4&3,d=i>>3&1,f=nCe[l],m=rCe[u],g=d===1,w=WB(e.subarray(o,o+4)),b=w==="0.0.0.0"?null:w;o+=4;const j=n.getUint8(o);o+=1;const S=new Map;for(let N=0;N<j&&!(o+12>e.length);N++){const M=e.subarray(o,o+4),D=ote(WB(M));o+=4;const P=n.getUint16(o);o+=2;const L=n.getUint16(o);o+=2;const F=n.getUint16(o);o+=2;const T=n.getUint16(o);o+=2,S.set(D,{publishSuccess:P,publishFailure:L,fetchSuccess:F,fetchFailure:T,lastSeen:Date.now()})}const I=this.entries.get(a);if(I){for(const[N,M]of S){const D=I.networkStats.get(N);D?(D.publishSuccess=Math.max(D.publishSuccess,M.publishSuccess),D.publishFailure=Math.max(D.publishFailure,M.publishFailure),D.fetchSuccess=Math.max(D.fetchSuccess,M.fetchSuccess),D.fetchFailure=Math.max(D.fetchFailure,M.fetchFailure),D.lastSeen=Math.max(D.lastSeen,M.lastSeen)):I.networkStats.set(N,M)}b&&!I.relayIp&&(I.relayIp=b),I.updatedAt=Date.now()}else this.entries.set(a,{url:a,direction:f,relayIp:b,networkStats:S,manualExclude:g,status:m,reason:"",addedAt:Date.now(),updatedAt:Date.now()});this.dirtyUrls.add(a)}this.dirtyUrls.size>0&&this.scheduleFlush()}}function dCe(t){const e=new Uint8Array(4);if(t.length!==8)return e;for(let n=0;n<4;n++){const r=parseInt(t.slice(n*2,n*2+2),16);e[n]=isNaN(r)?0:r&255}return e}const qr=new fCe;class pCe{filterRelayUrls(e,n,r){const o=Ze.getOutboxMode(),s=r?new Set([...r].map(so)):void 0,a=[];for(let i of e){if(i=so(i),s!=null&&s.has(i)){a.push(i);continue}const l=qr.getEntry(i);if(!(l!=null&&l.manualExclude)&&!qr.isAutoDisabled(i)){if(o==="automatic"){l||this.addPending(i,n),a.push(i);continue}(l==null?void 0:l.status)==="approved"?a.push(i):(l==null?void 0:l.status)==="rejected"||this.addPending(i,n)}}return a}addPending(e,n,r){const o=qr.getEntry(e);if(!o){const s=qr.getOrCreateEntry(e);s.direction=n,r&&(s.reason=r);return}o.direction!==n&&o.direction!=="both"&&qr.updateEntry(e,{direction:"both"}),r&&!o.reason&&qr.updateEntry(e,{reason:r})}approve(e){qr.updateEntry(e,{status:"approved"})}reject(e){qr.updateEntry(e,{status:"rejected"})}resetStatus(e){qr.updateEntry(e,{status:"pending"})}setManualExclude(e,n){qr.updateEntry(e,{manualExclude:n})}bulkApprove(e){for(const n of e)this.approve(n)}bulkReject(e){for(const n of e)this.reject(n)}getPendingRelays(){return qr.getAllEntries().filter(e=>e.status==="pending")}getApprovedRelays(){return qr.getAllEntries().filter(e=>e.status==="approved")}getRejectedRelays(){return qr.getAllEntries().filter(e=>e.status==="rejected")}getExcludedRelays(){return qr.getAllEntries().filter(e=>e.manualExclude)}getAutoDisabledRelays(){return qr.getAllEntries().filter(e=>qr.isAutoDisabled(e.url))}}const ki=new pCe;var hCe=new TextDecoder("utf-8"),mCe=new TextEncoder,ste=1,ate=65535;function gCe(t,e){const n=ql.getSharedSecret(t,"02"+e).subarray(1,33);return lX(gl,n,"nip44-v2")}function ite(t,e){const n=cX(gl,t,e,76);return{chacha_key:n.subarray(0,32),chacha_nonce:n.subarray(32,44),hmac_key:n.subarray(44,76)}}function jT(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("expected positive integer");if(t<=32)return 32;const e=1<<Math.floor(Math.log2(t-1))+1,n=e<=256?32:e/8;return n*(Math.floor((t-1)/n)+1)}function yCe(t){if(!Number.isSafeInteger(t)||t<ste||t>ate)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,t,!1),e}function vCe(t){const e=mCe.encode(t),n=e.length,r=yCe(n),o=new Uint8Array(jT(n)-n);return vh(r,e,o)}function wCe(t){const e=new DataView(t.buffer).getUint16(0),n=t.subarray(2,2+e);if(e<ste||e>ate||n.length!==e||t.length!==2+jT(e))throw new Error("invalid padding");return hCe.decode(n)}function lte(t,e,n){if(n.length!==32)throw new Error("AAD associated data must be 32 bytes");const r=vh(n,e);return Ly(gl,t,r)}function bCe(t){if(typeof t!="string")throw new Error("payload must be a valid string");const e=t.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if(t[0]==="#")throw new Error("unknown encryption version");let n;try{n=es.decode(t)}catch(s){throw new Error("invalid base64: "+s.message)}const r=n.length;if(r<99||r>65603)throw new Error("invalid data length: "+r);const o=n[0];if(o!==2)throw new Error("unknown encryption version "+o);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}function xCe(t,e,n=bb(32)){const{chacha_key:r,chacha_nonce:o,hmac_key:s}=ite(e,n),a=vCe(t),i=Dy(r,o,a),l=lte(s,i,n);return es.encode(vh(new Uint8Array([2]),n,i,l))}function kCe(t,e){const{nonce:n,ciphertext:r,mac:o}=bCe(t),{chacha_key:s,chacha_nonce:a,hmac_key:i}=ite(e,n),l=lte(i,r,n);if(!fC(l,o))throw new Error("invalid MAC");const u=Dy(s,a,r);return wCe(u)}var Lm={utils:{getConversationKey:gCe,calcPaddedLen:jT},encrypt:xCe,decrypt:kCe};const D_=24891,xk=24892;function jCe(t){var n;const e=(n=t.tags.find(r=>r[0]==="d"))==null?void 0:n[1];return(e==null?void 0:e.startsWith("device:"))??!1}function CCe(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Kc(t)}function cte(t){const e=ad(t),n=ug(e);return{privkey:e,pubkey:n}}function YB(t,e){return Lm.utils.getConversationKey(t,e)}function GB(t,e,n,r){const o=n||CCe(),{pubkey:s}=cte(o),a=new URLSearchParams;return a.set("relay",e),a.set("secret",o),r&&a.set("name",r),{uri:`nostr+relayconnect://${t}?${a.toString()}`,secret:o,clientPubkey:s}}function ute(t){let e;try{e=new URL(t)}catch{throw new Error("Invalid URI format")}if(e.protocol!=="nostr+relayconnect:")throw new Error("Invalid URI scheme, expected nostr+relayconnect://");const n=e.hostname;if(!/^[0-9a-fA-F]{64}$/.test(n))throw new Error("Invalid relay pubkey in URI");const r=e.searchParams.get("relay");if(!r)throw new Error("Missing relay parameter in URI");try{new URL(r)}catch{throw new Error("Invalid rendezvous relay URL")}const o=e.searchParams.get("name")||void 0,s=e.searchParams.get("secret");if(!s)throw new Error("Missing secret parameter in URI");if(!/^[0-9a-fA-F]{64}$/.test(s))throw new Error("Invalid secret format, expected 64 hex characters");const{privkey:a,pubkey:i}=cte(s);return{relayPubkey:n,rendezvousUrl:r,secret:s,clientPubkey:i,clientPrivkey:a,deviceName:o}}function BI(){const t=crypto.getRandomValues(new Uint8Array(8));return Kc(t)}function SCe(){return crypto.randomUUID()}const UI=6e4;class Ym{constructor(e){je(this,"uri");je(this,"ws",null);je(this,"sessionId");je(this,"connected",!1);je(this,"subId",null);je(this,"pendingEvents",[]);je(this,"onProgress");je(this,"resolveSync");je(this,"rejectSync");je(this,"chunkBuffers",new Map);je(this,"syncTimeout",null);je(this,"lastActivityTime",0);je(this,"idsMode",!1);je(this,"resolveIDs");je(this,"rejectIDs");je(this,"sendingEvents",!1);je(this,"eventsSentCount",0);je(this,"eventsToSend",[]);je(this,"resolveSend");this.uri=ute(e),this.sessionId=SCe()}getRelayPubkey(){return this.uri.relayPubkey}getRendezvousUrl(){return this.uri.rendezvousUrl}async sync(e,n,r=UI){return this.onProgress=n,this.pendingEvents=[],this.chunkBuffers.clear(),this.lastActivityTime=Date.now(),new Promise((o,s)=>{this.resolveSync=o,this.rejectSync=s,this.syncTimeout=setTimeout(()=>{Date.now()-this.lastActivityTime>3e4?(console.error("[NRC Client] Sync timeout - no activity for 30s"),this.disconnect(),s(new Error("Sync timeout - connection stalled"))):(console.log("[NRC Client] Sync still active, extending timeout"),this.syncTimeout=setTimeout(()=>{this.disconnect(),s(new Error("Sync timeout"))},r))},r),this.connect().then(()=>{this.sendREQ(e)}).catch(a=>{this.clearSyncTimeout(),s(a)})})}async requestIDs(e,n,r=UI){return this.onProgress=n,this.chunkBuffers.clear(),this.lastActivityTime=Date.now(),this.idsMode=!0,new Promise((o,s)=>{this.resolveIDs=o,this.rejectIDs=s,this.syncTimeout=setTimeout(()=>{this.disconnect(),s(new Error("IDS request timeout"))},r),this.connect().then(()=>{this.sendIDSRequest(e)}).catch(a=>{this.clearSyncTimeout(),s(a)})})}sendIDSRequest(e){var r,o;if(!this.ws||!this.connected){(r=this.rejectIDs)==null||r.call(this,new Error("Not connected"));return}(o=this.onProgress)==null||o.call(this,{phase:"requesting",eventsReceived:0,message:"Requesting event IDs..."}),this.subId=BI();const n={type:"IDS",payload:["IDS",this.subId,...e]};this.sendEncryptedRequest(n).catch(s=>{var a;console.error("[NRC Client] Failed to send IDS:",s),(a=this.rejectIDs)==null||a.call(this,s)})}async sendEvents(e,n,r=UI){return e.length===0?0:(this.onProgress=n,this.chunkBuffers.clear(),this.lastActivityTime=Date.now(),this.sendingEvents=!0,this.eventsSentCount=0,this.eventsToSend=[...e],new Promise((o,s)=>{this.resolveSend=o,this.syncTimeout=setTimeout(()=>{this.disconnect(),s(new Error("Send events timeout"))},r),this.connect().then(()=>{this.sendNextEvent()}).catch(a=>{this.clearSyncTimeout(),s(a)})}))}sendNextEvent(){var r,o,s;if(this.eventsToSend.length===0){this.clearSyncTimeout(),(r=this.onProgress)==null||r.call(this,{phase:"complete",eventsReceived:0,eventsSent:this.eventsSentCount,message:`Sent ${this.eventsSentCount} events`}),(o=this.resolveSend)==null||o.call(this,this.eventsSentCount),this.disconnect();return}const e=this.eventsToSend.shift();(s=this.onProgress)==null||s.call(this,{phase:"sending",eventsReceived:0,eventsSent:this.eventsSentCount,message:`Sending event ${this.eventsSentCount+1}...`});const n={type:"EVENT",payload:["EVENT",e]};this.sendEncryptedRequest(n).catch(a=>{console.error("[NRC Client] Failed to send EVENT:",a),this.sendNextEvent()})}clearSyncTimeout(){this.syncTimeout&&(clearTimeout(this.syncTimeout),this.syncTimeout=null)}updateActivity(){this.lastActivityTime=Date.now()}async connect(){var n;if(this.connected)return;(n=this.onProgress)==null||n.call(this,{phase:"connecting",eventsReceived:0,message:"Connecting to rendezvous relay..."});const e=this.uri.rendezvousUrl;return new Promise((r,o)=>{let s=e;e.startsWith("http://")?s="ws://"+e.slice(7):e.startsWith("https://")?s="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(s="wss://"+e),console.log(`[NRC Client] Connecting to: ${s}`);const a=new WebSocket(s),i=setTimeout(()=>{a.close(),o(new Error("Connection timeout"))},1e4);a.onopen=()=>{clearTimeout(i),this.ws=a,this.connected=!0;const l=BI(),u=this.uri.clientPubkey;if(!u){o(new Error("Client pubkey not available"));return}a.send(JSON.stringify(["REQ",l,{kinds:[xk],"#p":[u],since:Math.floor(Date.now()/1e3)-60}])),console.log(`[NRC Client] Connected, subscribed for responses to ${u.slice(0,8)}...`),r()},a.onerror=l=>{clearTimeout(i),console.error("[NRC Client] WebSocket error:",l),o(new Error("WebSocket error"))},a.onclose=()=>{this.connected=!1,this.ws=null,console.log("[NRC Client] WebSocket closed")},a.onmessage=l=>{this.handleMessage(l.data)}})}sendREQ(e){var r,o,s,a;if(!this.ws||!this.connected){(r=this.rejectSync)==null||r.call(this,new Error("Not connected"));return}console.log(`[NRC Client] Sending REQ to listener pubkey: ${(o=this.uri.relayPubkey)==null?void 0:o.slice(0,8)}...`),console.log(`[NRC Client] Our client pubkey: ${(s=this.uri.clientPubkey)==null?void 0:s.slice(0,8)}...`),console.log("[NRC Client] Filters:",JSON.stringify(e)),(a=this.onProgress)==null||a.call(this,{phase:"requesting",eventsReceived:0,message:"Requesting events..."}),this.subId=BI();const n={type:"REQ",payload:["REQ",this.subId,...e]};this.sendEncryptedRequest(n).catch(i=>{var l;console.error("[NRC Client] Failed to send request:",i),(l=this.rejectSync)==null||l.call(this,i)})}async sendEncryptedRequest(e){var i,l;if(!this.ws)throw new Error("Not connected");if(!this.uri.clientPrivkey||!this.uri.clientPubkey)throw new Error("Missing keys");const n=JSON.stringify(e),r=YB(this.uri.clientPrivkey,this.uri.relayPubkey),o=Lm.encrypt(n,r),s={kind:D_,content:o,tags:[["p",this.uri.relayPubkey],["encryption","nip44_v2"],["session",this.sessionId]],created_at:Math.floor(Date.now()/1e3),pubkey:this.uri.clientPubkey},a=_i(s,this.uri.clientPrivkey);this.ws.send(JSON.stringify(["EVENT",a])),console.log(`[NRC Client] Sent encrypted REQ, event id: ${(i=a.id)==null?void 0:i.slice(0,8)}..., p-tag: ${(l=this.uri.relayPubkey)==null?void 0:l.slice(0,8)}...`)}handleMessage(e){var n,r,o;try{const s=JSON.parse(e);if(!Array.isArray(s))return;const[a,...i]=s;if(a==="EVENT"){const[l,u]=i;if(console.log(`[NRC Client] Received EVENT on sub ${l}, kind ${u.kind}, from ${(n=u.pubkey)==null?void 0:n.slice(0,8)}...`),u.kind===xk){const d=(r=u.tags.find(f=>f[0]==="p"))==null?void 0:r[1];console.log(`[NRC Client] Response p-tag: ${d==null?void 0:d.slice(0,8)}..., our pubkey: ${(o=this.uri.clientPubkey)==null?void 0:o.slice(0,8)}...`),this.handleResponse(u)}else console.log(`[NRC Client] Ignoring event kind ${u.kind}`)}else a==="EOSE"?console.log("[NRC Client] Received EOSE from relay subscription"):a==="OK"?console.log("[NRC Client] Event published:",i):a==="NOTICE"&&console.log("[NRC Client] Relay notice:",i[0])}catch(s){console.error("[NRC Client] Failed to parse message:",s)}}handleResponse(e){var n;console.log(`[NRC Client] Attempting to decrypt response from ${(n=e.pubkey)==null?void 0:n.slice(0,8)}...`),this.decryptAndProcessResponse(e).catch(r=>{console.error("[NRC Client] Failed to handle response:",r)})}async decryptAndProcessResponse(e){if(!this.uri.clientPrivkey)throw new Error("Missing private key for decryption");const n=YB(this.uri.clientPrivkey,this.uri.relayPubkey),r=Lm.decrypt(e.content,n),o=JSON.parse(r);if(console.log(`[NRC Client] Received response: ${o.type}`),o.type==="CHUNK"){this.handleChunk(o);return}this.processResponse(o)}handleChunk(e){const n=e.payload[0];if(!n||n.type!=="CHUNK"){console.error("[NRC Client] Invalid chunk message");return}const{messageId:r,index:o,total:s,data:a}=n;let i=this.chunkBuffers.get(r);if(i||(i={chunks:new Map,total:s,receivedAt:Date.now()},this.chunkBuffers.set(r,i)),i.chunks.set(o,a),this.updateActivity(),console.log(`[NRC Client] Received chunk ${o+1}/${s} for message ${r.slice(0,8)}`),i.chunks.size===i.total){const u=[];for(let f=0;f<i.total;f++){const m=i.chunks.get(f);if(!m){console.error(`[NRC Client] Missing chunk ${f} for message ${r}`),this.chunkBuffers.delete(r);return}u.push(m)}const d=u.join("");try{const f=decodeURIComponent(escape(atob(d))),m=JSON.parse(f);console.log(`[NRC Client] Reassembled chunked message: ${m.type}`),this.processResponse(m)}catch(f){console.error("[NRC Client] Failed to reassemble chunked message:",f)}this.chunkBuffers.delete(r)}const l=Date.now();for(const[u,d]of this.chunkBuffers)l-d.receivedAt>6e4&&(console.warn(`[NRC Client] Discarding stale chunk buffer: ${u}`),this.chunkBuffers.delete(u))}processResponse(e){var n,r,o;switch(this.updateActivity(),e.type){case"EVENT":{const[,,s]=e.payload;s&&(this.pendingEvents.push(s),(n=this.onProgress)==null||n.call(this,{phase:"receiving",eventsReceived:this.pendingEvents.length,message:`Received ${this.pendingEvents.length} events...`}));break}case"EOSE":{console.log(`[NRC Client] EOSE received, got ${this.pendingEvents.length} events`),this.complete();break}case"NOTICE":{const[,s]=e.payload;console.log(`[NRC Client] Notice: ${s}`),(r=this.onProgress)==null||r.call(this,{phase:"error",eventsReceived:this.pendingEvents.length,message:s});break}case"OK":{if(this.sendingEvents){const[,s,a,i]=e.payload;a?(this.eventsSentCount++,console.log(`[NRC Client] Event ${s==null?void 0:s.slice(0,8)} stored successfully`)):console.warn(`[NRC Client] Event ${s==null?void 0:s.slice(0,8)} failed: ${i}`),this.sendNextEvent()}break}case"IDS":{if(this.idsMode){const[,,s]=e.payload;console.log(`[NRC Client] Received IDS response with ${(s==null?void 0:s.length)||0} entries`),this.clearSyncTimeout(),(o=this.resolveIDs)==null||o.call(this,s||[]),this.disconnect()}break}default:console.log(`[NRC Client] Unknown response type: ${e.type}`)}}complete(){var e,n;this.clearSyncTimeout(),(e=this.onProgress)==null||e.call(this,{phase:"complete",eventsReceived:this.pendingEvents.length,message:`Synced ${this.pendingEvents.length} events`}),(n=this.resolveSync)==null||n.call(this,this.pendingEvents),this.disconnect()}disconnect(){this.clearSyncTimeout(),this.ws&&(this.ws.close(),this.ws=null),this.connected=!1}}async function qB(t,e,n){return new Ym(t).sync(e,n)}async function ECe(t,e){const n=new Ym(t);try{const r=await n.sync([{kinds:[0],limit:1}],e,15e3);return console.log(`[NRC] Test connection successful, received ${r.length} events`),!0}catch(r){throw console.error("[NRC] Test connection failed:",r),r}}async function NCe(t,e,n){return new Ym(t).requestIDs(e,n)}async function ICe(t,e,n){return new Ym(t).sendEvents(e,n)}const KB="nrc-cache-relays",ACe=400,_Ce=50,ZB=100;class MCe extends EventTarget{constructor(){super();je(this,"configs",[]);je(this,"pushQueue",[]);je(this,"pushInProgress",!1);je(this,"pushTimeout",null);je(this,"seenEventIds",new Set);this.loadConfigs()}loadConfigs(){try{const n=window.localStorage.getItem(KB);n&&(this.configs=JSON.parse(n))}catch(n){console.error("[NRC Cache] Failed to load configs:",n),this.configs=[]}}saveConfigs(){try{window.localStorage.setItem(KB,JSON.stringify(this.configs))}catch(n){console.error("[NRC Cache] Failed to save configs:",n)}}getAll(){return[...this.configs]}getQueryFirstRelays(){return this.configs.filter(n=>n.enabled&&n.queryFirst)}getPushRelays(){return this.configs.filter(n=>n.enabled&&n.pushEvents)}add(n){const r={...n,id:crypto.randomUUID()};return this.configs.push(r),this.saveConfigs(),this.dispatchEvent(new CustomEvent("configsChanged")),r}update(n,r){const o=this.configs.findIndex(s=>s.id===n);o>=0&&(this.configs[o]={...this.configs[o],...r},this.saveConfigs(),this.dispatchEvent(new CustomEvent("configsChanged")))}remove(n){this.configs=this.configs.filter(r=>r.id!==n),this.saveConfigs(),this.dispatchEvent(new CustomEvent("configsChanged"))}async queryWithTimeout(n,r=ACe){const o=this.getQueryFirstRelays();if(o.length===0)return{events:[],fromCache:!1};const s=o.map(async i=>{try{const u=await new Ym(i.uri).sync(n,void 0,r+5e3);return this.update(i.id,{lastConnected:Date.now(),lastError:void 0}),{events:u,relayId:i.id}}catch(l){const u=l instanceof Error?l.message:String(l);throw console.warn(`[NRC Cache] Query failed for ${i.label}:`,u),this.update(i.id,{lastError:u}),l}}),a=new Promise((i,l)=>{setTimeout(()=>l(new Error("Cache query timeout")),r)});try{const i=await Promise.race([Promise.any(s),a]);if(i&&"events"in i)return console.log(`[NRC Cache] Got ${i.events.length} events from cache relay in <${r}ms`),{events:i.events,fromCache:!0,relayId:i.relayId}}catch{console.log("[NRC Cache] No cache relay responded in time")}return{events:[],fromCache:!1}}queueEventForPush(n){this.seenEventIds.has(n.id)||(this.seenEventIds.add(n.id),this.pushQueue.push(n),!this.pushTimeout&&!this.pushInProgress&&(this.pushTimeout=setTimeout(()=>{this.pushTimeout=null,this.processPushQueue()},ZB)))}queueEventsForPush(n){for(const r of n)this.queueEventForPush(r)}async processPushQueue(){if(this.pushQueue.length===0||this.pushInProgress)return;const n=this.getPushRelays();if(n.length===0){this.pushQueue=[];return}this.pushInProgress=!0;const r=this.pushQueue.splice(0,_Ce);console.log(`[NRC Cache] Pushing ${r.length} events to ${n.length} cache relays`);const o=n.map(async s=>{try{const i=await new Ym(s.uri).sendEvents(r,l=>{l.phase==="error"&&console.warn(`[NRC Cache] Push error to ${s.label}: ${l.message}`)});return console.log(`[NRC Cache] Pushed ${i}/${r.length} events to ${s.label}`),this.update(s.id,{lastConnected:Date.now(),lastError:void 0}),i}catch(a){const i=a instanceof Error?a.message:String(a);return console.warn(`[NRC Cache] Push failed to ${s.label}:`,i),this.update(s.id,{lastError:i}),0}});await Promise.allSettled(o),this.pushInProgress=!1,this.pushQueue.length>0&&(this.pushTimeout=setTimeout(()=>{this.pushTimeout=null,this.processPushQueue()},ZB))}async testConnection(n,r){try{const s=await new Ym(n).sync([{kinds:[0],limit:1}],r,15e3);return console.log(`[NRC Cache] Test connection successful, received ${s.length} events`),!0}catch(o){throw console.error("[NRC Cache] Test connection failed:",o),o}}clearSeenCache(){this.seenEventIds.size>1e4&&this.seenEventIds.clear()}getPushQueueStatus(){return{queueSize:this.pushQueue.length,inProgress:this.pushInProgress}}}const fs=new MCe,aw=["wss://relay.orly.dev/","wss://relay.damus.io/","wss://relay.nostr.band/","wss://nos.lol/","wss://nostr.wine/","wss://relay.snort.social/","wss://purplepag.es/"],o6="relay-discovery-cache",RCe=1440*60*1e3;class TCe{constructor(){je(this,"abortController",null)}normalizeUrl(e){try{let r=new URL(e.trim()).href;return r.endsWith("/")||(r+="/"),r.toLowerCase()}catch{return""}}extractRelaysFromEvent(e){const n=[];for(const r of e.tags)if(r[0]==="r"&&r[1]){const o=this.normalizeUrl(r[1]);o&&o.startsWith("wss://")&&n.push(o)}return n}async queryRelayLists(e,n){const r=[],o=new Map,s=new Set,a=e.map(async(i,l)=>{var u;if(!((u=this.abortController)!=null&&u.signal.aborted))try{const d=await Oe.fetchEvents([i],{kinds:[$e.RelayList],limit:500});for(const f of d){if(s.has(f.id))continue;s.add(f.id),r.push(f);const m=this.extractRelaysFromEvent(f);for(const g of m)o.set(g,(o.get(g)||0)+1)}n==null||n(l+1,e.length,r.length)}catch(d){console.warn(`[RelayDiscovery] Failed to query ${i}:`,d)}});return await Promise.allSettled(a),{events:r,relayFrequency:o}}async discover(e){this.abort(),this.abortController=new AbortController;const n=new Map;let r=0;e==null||e({phase:"phase1",relaysQueried:0,totalRelays:aw.length,eventsFound:0,uniqueRelaysFound:0});const o=await this.queryRelayLists(aw,(l,u,d)=>{e==null||e({phase:"phase1",relaysQueried:l,totalRelays:u,eventsFound:d,uniqueRelaysFound:n.size})});if(this.abortController.signal.aborted)return this.getEmptyResult();for(const[l,u]of o.relayFrequency)n.set(l,(n.get(l)||0)+u);r+=o.events.length;const s=Array.from(n.entries()).sort((l,u)=>u[1]-l[1]).slice(0,50).map(([l])=>l).filter(l=>!aw.includes(l));if(s.length>0&&!this.abortController.signal.aborted){e==null||e({phase:"phase2",relaysQueried:0,totalRelays:s.length,eventsFound:r,uniqueRelaysFound:n.size});const l=await this.queryRelayLists(s,(u,d,f)=>{e==null||e({phase:"phase2",relaysQueried:u,totalRelays:d,eventsFound:r+f,uniqueRelaysFound:n.size})});for(const[u,d]of l.relayFrequency)n.set(u,(n.get(u)||0)+d);r+=l.events.length}const a=Array.from(n.entries()).map(([l,u])=>({url:l,count:u,percentage:Math.round(u/r*100*10)/10})).sort((l,u)=>u.count-l.count),i={relays:a,totalEvents:r,timestamp:Date.now()};return this.saveToCache(i),e==null||e({phase:"complete",relaysQueried:aw.length+s.length,totalRelays:aw.length+s.length,eventsFound:r,uniqueRelaysFound:a.length}),i}abort(){this.abortController&&(this.abortController.abort(),this.abortController=null)}getCachedResult(){try{const e=localStorage.getItem(o6);if(!e)return null;const n=JSON.parse(e);return Date.now()-n.cachedAt>RCe?(localStorage.removeItem(o6),null):{relays:n.relays,totalEvents:n.totalEvents,timestamp:n.timestamp}}catch{return null}}saveToCache(e){try{const n={...e,cachedAt:Date.now()};localStorage.setItem(o6,JSON.stringify(n))}catch(n){console.warn("[RelayDiscovery] Failed to cache result:",n)}}getTopRelays(e){const n=this.getCachedResult();return!n||n.relays.length===0?[]:n.relays.slice(0,e).map(r=>r.url)}getRelayBatches(e,n,r,o){const s=this.getCachedResult();if(!s||s.relays.length===0)return[];const a=s.relays.map(l=>l.url).filter(l=>!o.has(l)).slice(n,n+r),i=[];for(let l=0;l<a.length;l+=e)i.push(a.slice(l,l+e));return i}async discoverIfNeeded(){const e=this.getCachedResult();if(!(e&&e.relays.length>0)){console.log("[RelayDiscovery] No cached result, starting background discovery...");try{await this.discover(),console.log("[RelayDiscovery] Background discovery complete")}catch(n){console.warn("[RelayDiscovery] Background discovery failed:",n)}}}clearCache(){localStorage.removeItem(o6)}exportAsPlaintext(e){return e.map(n=>n.url).join(`
24 `)}downloadAsFile(e,n="nostr-relays.txt"){const r=this.exportAsPlaintext(e),o=new Blob([r],{type:"text/plain"}),s=URL.createObjectURL(o),a=document.createElement("a");a.href=s,a.download=n,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(s)}getEmptyResult(){return{relays:[],totalEvents:0,timestamp:Date.now()}}}const Wf=new TCe;class DCe{constructor(e){je(this,"cache",new Map);this.maxSize=e}get(e){const n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){const r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}has(e){return this.cache.has(e)}delete(e){return this.cache.delete(e)}clear(){this.cache.clear()}}class LCe{constructor(){je(this,"memoryCache");je(this,"pendingFetches",new Map);je(this,"staleAfterMs",1440*60*1e3);this.memoryCache=new DCe(500)}async getRelayList(e){const n=this.memoryCache.get(e);if(n)return n;const r=await At.getReplaceableEvent(e,$e.RelayList);if(r){const o=this.eventToCachedRelayList(r);return this.memoryCache.set(e,o),o}return null}isStale(e){return Date.now()-e.fetchedAt>this.staleAfterMs}async fetchRelayList(e,n){const r=this.pendingFetches.get(e);if(r)return r;const o=this.doFetchRelayList(e,n);this.pendingFetches.set(e,o);try{return await o}finally{this.pendingFetches.delete(e)}}async doFetchRelayList(e,n){try{const r=await Oe.fetchRelayListEvent(e);if(!r)return await At.putNullReplaceableEvent(e,$e.RelayList),null;await At.putReplaceableEvent(r);const o=this.eventToCachedRelayList(r);return this.memoryCache.set(e,o),o}catch(r){return console.warn(`Failed to fetch relay list for ${e}:`,r),null}}async fetchRelayLists(e,n){const r=new Map,o=[];for(const s of e){const a=await this.getRelayList(s);a&&!this.isStale(a)?r.set(s,a):o.push(s)}if(o.length>0){const s=o.map(i=>this.fetchRelayList(i,n).then(l=>({pubkey:i,result:l}))),a=await Promise.all(s);for(const{pubkey:i,result:l}of a)l&&r.set(i,l)}return r}async getWriteRelaysForRecipients(e){const n=await this.fetchRelayLists(e),r=new Set;for(const o of n.values())for(const s of o.write)r.add(s);return Array.from(r)}async setRelayList(e){if(e.kind!==$e.RelayList)return;await At.putReplaceableEvent(e);const n=this.eventToCachedRelayList(e);this.memoryCache.set(e.pubkey,n)}eventToCachedRelayList(e){const n=rke.fromEvent(e);return{pubkey:e.pubkey,read:n.getReadUrls(),write:n.getWriteUrls(),fetchedAt:Date.now(),event:e}}clearCache(){this.memoryCache.clear()}}const $I=new LCe,PCe=["wss://relay.orly.dev/","wss://relay.damus.io/","wss://relay.nostr.band/","wss://nos.lol/","wss://nostr.wine/"],Ip=class Ip extends EventTarget{constructor(){super();je(this,"signer");je(this,"pubkey");je(this,"currentRelays",[]);je(this,"lastPublishFailedRelays",Promise.resolve([]));je(this,"pool");je(this,"timelines",{});je(this,"replaceableEventCacheMap",new Map);je(this,"eventCacheMap",new Map);je(this,"eventDataLoader",new Pu(n=>Promise.all(n.map(r=>this._fetchEvent(r))),{cacheMap:this.eventCacheMap}));je(this,"fetchEventFromBigRelaysDataloader",new Pu(this.fetchEventsFromBigRelays.bind(this),{cache:!1,batchScheduleFn:n=>setTimeout(n,50)}));je(this,"userIndex",new rte.Index({tokenize:"forward"}));je(this,"followingFavoriteRelaysCache",new zy({max:10,fetchMethod:this._fetchFollowingFavoriteRelays.bind(this)}));je(this,"profileDataloader",new Pu(async n=>(await Promise.allSettled(n.map(o=>this._fetchProfile(o)))).map(o=>o.status==="fulfilled"?o.value:null)));je(this,"replaceableEventFromBigRelaysDataloader",new Pu(this.replaceableEventFromBigRelaysBatchLoadFn.bind(this),{batchScheduleFn:n=>setTimeout(n,50),maxBatchSize:500,cacheKeyFn:({pubkey:n,kind:r})=>`${n}:${r}`}));je(this,"replaceableEventDataLoader",new Pu(this.replaceableEventBatchLoadFn.bind(this),{cacheKeyFn:({pubkey:n,kind:r,d:o})=>`${r}:${n}:${o??""}`}));this.pool=new TX,this.pool.trackRelays=!0}static getInstance(){return Ip.instance||(Ip.instance=new Ip,Ip.instance.init()),Ip.instance}async init(){await qr.init(),await At.iterateProfileEvents(n=>this.addUsernameToIndex(n))}getFallbackRelays(){const n=Ze.getFallbackRelayCount(),r=Wf.getTopRelays(n);return r.length>0?r:PCe}async determineTargetRelays(n,{specifiedRelayUrls:r,additionalRelayUrls:o}={}){var l;if(n.kind===$e.Report){const u=(l=n.tags.find(In("e")))==null?void 0:l[1];if(u)return this.getSeenEventRelayUrls(u)}const s=[$e.Contacts,$e.Mutelist,$e.RelayList,30002,gt.FAVORITE_RELAYS,30078];if(Ze.getNrcOnlyConfigSync()&&s.includes(n.kind))return[];const a=new Set;if(r!=null&&r.length)r.forEach(u=>a.add(u));else{if(o==null||o.forEach(d=>a.add(d)),(await this.fetchRelayList(n.pubkey)).write.forEach(d=>a.add(d)),![$e.Contacts,$e.Mutelist,gt.PINNED_USERS].includes(n.kind)){const d=[];n.tags.forEach(([f,m])=>{["p","P"].includes(f)&&m&&Vt.isValidHex(m)&&!d.includes(m)&&d.push(m)}),d.length>0&&(await $I.getWriteRelaysForRecipients(d)).slice(0,10).forEach(m=>a.add(m))}n.kind===gt.COMMENT&&n.tags.find(In("I"))&&n.tags.forEach(f=>{var m;(f[0]==="e"||f[0]==="a"||f[0]==="E"||f[0]==="A")&&((m=f[2])!=null&&m.startsWith("wss://"))&&a.add(f[2])})}!a.size&&this.currentRelays.length>0&&this.currentRelays.forEach(u=>a.add(u));const i=new Set(this.currentRelays);return ki.filterRelayUrls(Array.from(a),"outbox",i)}async determineRelaysByFilter(n){var o,s;const r=new Set(this.currentRelays);if(n.search)return Ze.getSearchRelays();if((o=n.authors)!=null&&o.length){const a=await this.fetchRelayLists(n.authors),i=Array.from(new Set(a.flatMap(u=>u.write.slice(0,5)))),l=ki.filterRelayUrls(i,"inbox",r);return l.length>0?l:this.currentRelays}else if((s=n["#p"])!=null&&s.length){const a=await this.fetchRelayLists(n["#p"]),i=Array.from(new Set(a.flatMap(u=>u.read.slice(0,5)))),l=ki.filterRelayUrls(i,"inbox",r);return l.length>0?l:this.currentRelays}return this.currentRelays.length>0?this.currentRelays:this.getFallbackRelays()}async publishEvent(n,r){const o=Array.from(new Set(n)),s=3e3,a=new Map(o.map(l=>[l,"pending"]));let i;await new Promise((l,u)=>{let d=!1;const f=setTimeout(()=>{d||(d=!0,u(new Error("Publish timed out: no relay acknowledged within 3 seconds")))},s),m=w=>{a.set(w,"success"),qr.recordPublishSuccess(w),d||(d=!0,clearTimeout(f),this.emitNewEvent(r),l())},g=(w,b)=>{if(a.set(w,b),qr.recordPublishFailure(w),[...a.values()].filter(S=>S==="pending").length===0&&!d){d=!0,clearTimeout(f);const S=[...a.entries()].filter(([,I])=>I!=="success");u(new AggregateError(S.map(([I,N])=>new Error(`${I}: ${N instanceof Error?N.message:String(N)}`))))}};i=Promise.allSettled(o.map(async w=>{const b=this,j=await this.pool.ensureRelay(w,{connectionTimeout:s}).catch(N=>{console.debug(`[publishEvent] Failed to connect to ${w}:`,(N==null?void 0:N.message)||N)});if(!j){g(w,new Error("Cannot connect to relay"));return}j.publishTimeout=s;let S=!1;const I=async()=>{try{await j.publish(r),b.trackEventSeenOn(r.id,j),console.debug(`[publishEvent] Success on ${w}`),m(w)}catch(N){if(!S&&N instanceof Error&&N.message.startsWith("auth-required")&&b.signer){console.debug(`[publishEvent] Auth required on ${w}, authenticating...`);try{return await j.auth(M=>b.signer.signEvent(M)),S=!0,await I()}catch(M){console.debug(`[publishEvent] Auth failed on ${w}:`,M),g(w,M instanceof Error?M:new Error(String(M)))}}else console.debug(`[publishEvent] Failed on ${w}:`,N instanceof Error?N.message:N),g(w,N instanceof Error?N:new Error(String(N)))}};return I()}))}),this.lastPublishFailedRelays=i.then(()=>[...a.entries()].filter(([,l])=>l!=="success").map(([l])=>l))}emitNewEvent(n){this.dispatchEvent(new CustomEvent("newEvent",{detail:n}))}async signHttpAuth(n,r,o=""){var a;if(!this.signer)throw new Error("Please login first to sign the event");const s=await((a=this.signer)==null?void 0:a.signEvent({content:o,kind:$e.HTTPAuth,created_at:En().unix(),tags:[["u",n],["method",r]]}));return"Nostr "+btoa(JSON.stringify(s))}generateTimelineKey(n,r){const o={};Object.entries(r).sort().forEach(([d,f])=>{d!=="limit"&&(Array.isArray(f)&&(o[d]=[...f].sort()),o[d]=f)});const s=JSON.stringify({urls:[...n].sort(),filter:o}),i=new TextEncoder().encode(s),l=jb(i);return Array.from(new Uint8Array(l)).map(d=>d.toString(16).padStart(2,"0")).join("")}generateMultipleTimelinesKey(n){const r=n.map(({urls:l,filter:u})=>this.generateTimelineKey(l,u)),s=new TextEncoder().encode(JSON.stringify(r.sort())),a=jb(s);return Array.from(new Uint8Array(a)).map(l=>l.toString(16).padStart(2,"0")).join("")}async subscribeTimeline(n,{onEvents:r,onNew:o,onClose:s},{startLogin:a,needSort:i=!0}={}){const l=new Set,u=n.length,d=Math.floor(u/2);let f=[],m=0;const g=await Promise.all(n.map(({urls:b,filter:j})=>this._subscribeTimeline(b,j,{onEvents:(S,I)=>{I&&m++,f=this.mergeTimelines(f,S),m>=d&&r(f,m>=u)},onNew:S=>{l.has(S.id)||(l.add(S.id),o(S))},onClose:s},{startLogin:a,needSort:i}))),w=this.generateMultipleTimelinesKey(n);return this.timelines[w]=g.map(b=>b.timelineKey),{closer:()=>{r=()=>{},o=()=>{},g.forEach(b=>{b.closer()})},timelineKey:w}}mergeTimelines(n,r){if(n.length===0)return[...r];if(r.length===0)return[...n];const o=[];let s=0,a=0;for(;s<n.length&&a<r.length;){const i=dg(n[s],r[a]);i>0?(o.push(n[s]),s++):i<0?(o.push(r[a]),a++):(o.push(n[s]),s++,a++)}return o}async loadMoreTimeline(n,r,o){const s=this.timelines[n];if(!s)return[];if(!Array.isArray(s))return this._loadMoreTimeline(n,r,o);const a=await Promise.all(s.map(u=>this._loadMoreTimeline(u,r,o))),i=new Set,l=[];return a.forEach(u=>{u.forEach(d=>{i.has(d.id)||(i.add(d.id),l.push(d))})}),l.sort((u,d)=>d.created_at-u.created_at).slice(0,o)}subscribe(n,r,{onevent:o,oneose:s,onclose:a,startLogin:i,onAllClose:l}){const u=Array.from(new Set(n)),d=Array.isArray(r)?r:[r],f=this,m=new Set;let g=u.length,w=0,b=!1,j=0;const S=[],I=[];u.forEach(M=>{let D=!1;I.push(P());async function P(){const L=await f.pool.ensureRelay(M,{connectionTimeout:5e3}).catch(()=>{});return L?L.subscribe(d,{receivedEvent:(F,T)=>{f.trackEventSeenOn(T,F)},alreadyHaveEvent:F=>m.has(F)?!0:(m.add(F),!1),onevent:F=>{o==null||o(F)},oneose:()=>{qr.recordFetchSuccess(M),!b&&(w++,b=w>=g,s==null||s(b))},onclose:F=>{if(F.startsWith("auth-required")&&!D){if(f.signer){L.auth(async T=>{const R=await f.signer.signEvent(T);if(!R)throw new Error("sign event failed");return R}).then(()=>{D=!0,b||(g++,I.push(P()))}).catch(()=>{});return}if(i){i();return}}qr.recordFetchFailure(M),j++,S.push(F),a==null||a(M,F),j>=g&&(l==null||l(S))},eoseTimeout:1e4}):(qr.recordFetchFailure(M),b||(w++,b=w>=g,s==null||s(b)),{close:()=>{}})}});const N=M=>{const P=M.detail;if(!dk(d,P))return;const L=P.id;m.has(L)||(m.add(L),o==null||o(P))};return this.addEventListener("newEvent",N),{close:()=>{this.removeEventListener("newEvent",N),I.forEach(M=>{M.then(D=>{D.close()}).catch(D=>{console.error(D)})})}}}async _subscribeTimeline(n,r,{onEvents:o,onNew:s,onClose:a},{startLogin:i,needSort:l=!0}={}){const u=Array.from(new Set(n)),d=this.generateTimelineKey(u,r),f=this.timelines[d];let m=[],g;f&&!Array.isArray(f)&&f.refs.length&&l&&(m=(await this.eventDataLoader.loadMany(f.refs.map(([D])=>D))).filter(D=>!!D&&!(D instanceof Error)),m.length&&(o([...m],!1),g=m[0].created_at+1));const w=this;let b=[],j=null,S=0,I=null;const N=()=>{I===null&&(I=setTimeout(()=>{if(I=null,j||b.length===S)return;S=b.length;const D=l?[...b].sort((L,F)=>F.created_at-L.created_at).slice(0,r.limit):[...b],P=m.length>0?D.concat(m).slice(0,r.limit):D;o(P,!1)},150))},M=this.subscribe(u,g?{...r,since:g}:r,{startLogin:i,onevent:D=>{if(w.addEventToCache(D),!j){b.push(D),N();return}D.created_at>j&&s(D);const P=w.timelines[d];if(!P||Array.isArray(P)||!P.refs.length)return;let L=0;for(const F of P.refs){if(D.created_at>F[1]||D.created_at===F[1]&&D.id<F[0])break;if(D.created_at===F[1]&&D.id===F[0])return;L++}L>=P.refs.length||P.refs.splice(L,0,[D.id,D.created_at])},oneose:D=>{if(I!==null&&(clearTimeout(I),I=null),D&&!j&&(j=En().unix()),!l)return o([...b],!!j);if(!D)return b=b.sort((T,R)=>R.created_at-T.created_at).slice(0,r.limit),o([...b.concat(m).slice(0,r.limit)],!1);b=b.sort((T,R)=>R.created_at-T.created_at).slice(0,r.limit);const P=w.timelines[d];if(!P||Array.isArray(P)||!P.refs.length)return w.timelines[d]={refs:b.map(T=>[T.id,T.created_at]),filter:r,urls:n},o([...b],!0);const L=P.refs[0][1],F=b.filter(T=>T.created_at>L).map(T=>[T.id,T.created_at]);b.length>=r.limit?(P.refs=F,o([...b],!0)):(P.refs=F.concat(P.refs),o([...b.concat(m).slice(0,r.limit)],!0))},onclose:a});return{timelineKey:d,closer:()=>{I!==null&&(clearTimeout(I),I=null),o=()=>{},s=()=>{},M.close()}}}async _loadMoreTimeline(n,r,o){const s=this.timelines[n];if(!s||Array.isArray(s))return[];const{filter:a,urls:i,refs:l}=s,u=l.findIndex(([,g])=>g<=r),d=u>=0?(await this.eventDataLoader.loadMany(l.slice(u,u+o).map(([g])=>g))).filter(g=>!!g&&!(g instanceof Error)):[];if(d.length>=o)return d;r=d.length?d[d.length-1].created_at-1:r,o=o-d.length;let f=await this.query(i,{...a,until:r,limit:o});f.forEach(g=>{this.addEventToCache(g)}),f=f.sort((g,w)=>w.created_at-g.created_at).slice(0,o);const m=l.length>0?l[l.length-1][1]:En().unix();return s.refs.push(...f.filter(g=>g.created_at<m).map(g=>[g.id,g.created_at])),[...d,...f]}getSeenEventRelays(n){var r;return Array.from(((r=this.pool.seenOn.get(n))==null?void 0:r.values())||[])}getSeenEventRelayUrls(n){return this.getSeenEventRelays(n).map(r=>r.url)}getEventHints(n){return this.getSeenEventRelayUrls(n).filter(r=>!NB(r))}getEventHint(n){return this.getSeenEventRelayUrls(n).find(r=>!NB(r))??""}trackEventSeenOn(n,r){let o=this.pool.seenOn.get(n);o||(o=new Set,this.pool.seenOn.set(n,o)),o.add(r)}async query(n,r,o){return await new Promise(s=>{const a=[],i=this.subscribe(n,r,{onevent(l){o==null||o(l),a.push(l)},oneose:l=>{l&&(i.close(),s(a))},onAllClose:()=>{s(a)}})})}async queryWithCacheRelays(n,r,{onevent:o,skipCache:s=!1}={}){const a=Array.isArray(r)?r:[r],i=new Set,l=[],u=g=>{i.has(g.id)||(i.add(g.id),l.push(g),o==null||o(g))};if(!s)try{const g=await At.queryCachedEvents(a);for(const w of g)u(w);g.length>0&&console.log(`[ClientService] Found ${g.length} events in IndexedDB cache`)}catch(g){console.warn("[ClientService] IndexedDB cache query failed:",g)}const d=await fs.queryWithTimeout(a,400);if(d.fromCache&&d.events.length>0){for(const g of d.events)u(g);console.log(`[ClientService] Got ${d.events.length} events from NRC cache relay`)}const f=await this.query(n,r),m=[];for(const g of f)i.has(g.id)||(u(g),m.push(g));return m.length>0&&(At.putCachedEvents(m).catch(g=>{console.warn("[ClientService] Failed to cache events:",g)}),fs.queueEventsForPush(m)),l}async fetchEvents(n,r,{onevent:o,cache:s=!1,useCacheRelay:a=!1}={}){const i=Array.from(new Set(n));let l=i.length>0?i:this.currentRelays;if(l.length===0&&(l=this.getFallbackRelays()),a){const d=await this.queryWithCacheRelays(l,r,{onevent:o});return s&&d.forEach(f=>{this.addEventToCache(f)}),d}const u=await this.query(l,r,o);return s&&u.forEach(d=>{this.addEventToCache(d)}),u}async fetchEvent(n){if(!/^[0-9a-f]{64}$/.test(n)){let r,o;const{type:s,data:a}=jr.decode(n);switch(s){case"note":r=a;break;case"nevent":r=a.id;break;case"naddr":o=vT(a.kind,a.pubkey,a.identifier);break}if(o){const i=this.replaceableEventCacheMap.get(o);if(i)return i;const l=await At.getReplaceableEventByCoordinate(o);if(l)return this.replaceableEventCacheMap.set(o,l),l}else if(r){const i=this.eventCacheMap.get(r);if(i)return i}}return this.eventDataLoader.load(n)}addEventToCache(n){if(this.eventDataLoader.prime(n.id,Promise.resolve(n)),Fs(n.kind)){const r=ti(n),o=this.replaceableEventCacheMap.get(r);(!o||dg(n,o)>0)&&this.replaceableEventCacheMap.set(r,n)}}getReplaeableEventFromCache(n){return this.replaceableEventCacheMap.get(n)}async fetchEventById(n,r){const o=await this.fetchEventFromBigRelaysDataloader.load(r);return o||this.fetchEventFromRelays(n,{ids:[r],limit:1})}async _fetchEvent(n){var i;let r,o=[],s;if(/^[0-9a-f]{64}$/.test(n))r={ids:[n]};else{const{type:l,data:u}=jr.decode(n);switch(l){case"note":r={ids:[u]};break;case"nevent":r={ids:[u.id]},u.relays&&(o=u.relays),u.author&&(s=u.author);break;case"naddr":r={authors:[u.pubkey],kinds:[u.kind],limit:1},s=u.pubkey,u.identifier&&(r["#d"]=[u.identifier]),u.relays&&(o=u.relays)}}if(!r)throw new Error("Invalid id");let a;if((i=r.ids)!=null&&i.length&&(a=await this.fetchEventById(o,r.ids[0])),!a&&s){const l=await this.fetchRelayList(s);a=await this.fetchEventFromRelays(l.write.slice(0,5),r)}if(!a){const l=new Set([...this.currentRelays,...this.getFallbackRelays(),...o]),u=Wf.getRelayBatches(10,0,50,l);for(const d of u){if(d.length===0)continue;const f=await Promise.race([this.query(d,r),new Promise(m=>setTimeout(()=>m([]),5e3))]);if(f.length>0&&(a=f.sort((m,g)=>g.created_at-m.created_at)[0],a)){this.addEventToCache(a);break}}}return a&&a.id!==n&&this.addEventToCache(a),a||this.eventCacheMap.delete(n),a}async fetchEventFromRelays(n,r){return n.length?(await this.query(n,r)).sort((s,a)=>a.created_at-s.created_at)[0]:void 0}async fetchEventsFromBigRelays(n){const r=this.currentRelays.length>0?this.currentRelays:this.getFallbackRelays(),o=await this.query(r,{ids:Array.from(new Set(n)),limit:n.length}),s=new Map;for(const a of o)s.set(a.id,a);return n.map(a=>s.get(a))}async fetchFollowingFavoriteRelays(n){return this.followingFavoriteRelaysCache.fetch(n)}async _fetchFollowingFavoriteRelays(n){const r=async()=>{const s=await this.fetchFollowings(n),a=await this.fetchEvents([],{authors:s,kinds:[gt.FAVORITE_RELAYS,$e.Relaysets],limit:1e3}),i=new Set,l=new Set,u=[];a.sort((m,g)=>g.created_at-m.created_at).forEach(m=>{if(m.kind===gt.FAVORITE_RELAYS){if(i.has(m.pubkey))return;i.add(m.pubkey)}else if(m.kind===$e.Relaysets){if(l.has(m.pubkey))return;l.add(m.pubkey)}else return;u.push(m)});const d=new Map;u.forEach(m=>{m.tags.forEach(([g,w])=>{if(g==="relay"&&w&&Fy(w)){const b=so(w);d.set(b,(d.get(b)||new Set).add(m.pubkey))}})});const f=Array.from(d.entries()).sort((m,g)=>g[1].size-m[1].size).map(([m,g])=>[m,Array.from(g)]);return At.putFollowingFavoriteRelays(n,f),f},o=await At.getFollowingFavoriteRelays(n);return o?(r(),o):r()}async initUserIndexFromFollowings(n,r){const o=await this.fetchFollowings(n,!1);for(let s=0;s*20<o.length;s++){if(r.aborted)return;await Promise.all(o.slice(s*20,(s+1)*20).map(a=>this.fetchProfile(a,!1,!1))),await new Promise(a=>setTimeout(a,1e3))}}async searchProfiles(n,r){const s=(await this.query(n,{...r,kinds:[$e.Metadata]})).sort((a,i)=>i.created_at-a.created_at);return await Promise.allSettled(s.map(a=>this.addUsernameToIndex(a))),s.forEach(a=>this.updateProfileEventCache(a)),s.map(a=>B0(a))}async searchNpubsFromLocal(n,r=100){return(await this.userIndex.searchAsync(n,{limit:r})).map(s=>{var a;return(a=Vt.tryFromString(s))==null?void 0:a.npub}).filter(Boolean)}async searchProfilesFromLocal(n,r=100){const o=await this.searchNpubsFromLocal(n,r);return(await Promise.all(o.map(a=>this.fetchProfile(a)))).filter(a=>!!a)}async addUsernameToIndex(n){var r,o,s;try{const a=JSON.parse(n.content),i=[((r=a.display_name)==null?void 0:r.trim())??"",((o=a.name)==null?void 0:o.trim())??"",((s=a.nip05)==null?void 0:s.split("@").map(l=>l.trim()).join(" "))??""].join(" ");if(!i)return;await this.userIndex.addAsync(n.pubkey,i)}catch{return}}async _fetchProfileEvent(n){let r,o=[];if(/^[0-9a-f]{64}$/.test(n))r=n;else{const{data:i,type:l}=jr.decode(n);switch(l){case"npub":r=i;break;case"nprofile":r=i.pubkey,i.relays&&(o=i.relays);break}}if(!r)throw new Error("Invalid id");if(o.length>0){const i=await this.fetchEventFromRelays(o.slice(0,3),{authors:[r],kinds:[$e.Metadata],limit:1});if(i)return this.addUsernameToIndex(i),At.putReplaceableEvent(i),i}const s=await $I.getRelayList(r);if(s&&s.write.length>0){const i=await this.fetchEventFromRelays(s.write.slice(0,5),{authors:[r],kinds:[$e.Metadata],limit:1});if(i)return this.addUsernameToIndex(i),At.putReplaceableEvent(i),i}const a=await this.replaceableEventFromBigRelaysDataloader.load({pubkey:r,kind:$e.Metadata});if(a)return this.addUsernameToIndex(a),a}async fetchProfile(n,r=!1,o=!0){if(r)return this._fetchProfile(n);const s=Vt.tryFromString(n);if(!s)throw new Error("Invalid id");const a=await At.getReplaceableEvent(s.hex,$e.Metadata);return a?(o&&this.profileDataloader.load(n),B0(a)):await this.profileDataloader.load(n)}async _fetchProfile(n){const r=await this._fetchProfileEvent(n);if(r)return B0(r);const o=Vt.tryFromString(n);return o?{pubkey:o.hex,npub:o.npub,username:o.formatNpub(12)}:null}async updateProfileEventCache(n){await this.updateReplaceableEventFromBigRelaysCache(n)}async fetchRelayList(n){const[r]=await this.fetchRelayLists([n]);return r}async fetchRelayLists(n){return(await this.fetchReplaceableEventsFromBigRelays(n,$e.RelayList)).map(o=>{if(o)return $I.setRelayList(o),M3(o,Ze.getFilterOutOnionRelays());const s=this.getFallbackRelays();return{write:s,read:s,originalRelays:[]}})}async forceUpdateRelayListEvent(n){await this.replaceableEventFromBigRelaysBatchLoadFn([{pubkey:n,kind:$e.RelayList}])}async updateRelayListCache(n){return await this.updateReplaceableEventFromBigRelaysCache(n)}async replaceableEventFromBigRelaysBatchLoadFn(n){const r=new Map;n.forEach(({pubkey:a,kind:i})=>{r.has(i)||r.set(i,[]),r.get(i).push(a)});const o=new Map,s=this.currentRelays.length>0?this.currentRelays:this.getFallbackRelays();return await Promise.allSettled(Array.from(r.entries()).map(async([a,i])=>{const l=await this.query(s,{authors:i,kinds:[a]});for(const u of l){const d=`${u.pubkey}:${u.kind}`,f=o.get(d);(!f||f.created_at<u.created_at)&&o.set(d,u)}})),n.map(({pubkey:a,kind:i})=>{const l=`${a}:${i}`,u=o.get(l);return u?(At.putReplaceableEvent(u),u):(At.putNullReplaceableEvent(a,i),null)})}async fetchReplaceableEventsFromBigRelays(n,r){const o=await At.getManyReplaceableEvents(n,r),s=new Map,a=[];return n.forEach((l,u)=>{o[u]===void 0?s.set(l,u):a.push(l)}),(await this.replaceableEventFromBigRelaysDataloader.loadMany(Array.from(s.keys()).map(l=>({pubkey:l,kind:r})))).forEach(l=>{if(l&&!(l instanceof Error)){const u=s.get(l.pubkey);u!==void 0&&(o[u]=l)}}),this.replaceableEventFromBigRelaysDataloader.loadMany(a.map(l=>({pubkey:l,kind:r}))),o}async updateReplaceableEventFromBigRelaysCache(n){const r=await At.putReplaceableEvent(n);return r.id!==n.id||(this.replaceableEventFromBigRelaysDataloader.clear({pubkey:n.pubkey,kind:n.kind}),this.replaceableEventFromBigRelaysDataloader.prime({pubkey:n.pubkey,kind:n.kind},Promise.resolve(n))),r}async replaceableEventBatchLoadFn(n){const r=new Map;n.forEach(({pubkey:s,kind:a,d:i})=>{r.has(s)||r.set(s,[]),r.get(s).push({kind:a,d:i})});const o=new Map;return await Promise.allSettled(Array.from(r.entries()).map(async([s,a])=>{const i=new Map;a.forEach(({kind:g,d:w})=>{i.has(g)||i.set(g,[]),w&&i.get(g).push(w)});const l=Array.from(i.entries()).map(([g,w])=>w.length>0?{authors:[s],kinds:[g],"#d":w}:{authors:[s],kinds:[g]}),u=await this.fetchRelayList(s);let d=u.write.length>0?u.write:this.currentRelays;d.length===0&&(d=this.getFallbackRelays());const f=d.slice(0,5),m=await this.query(f,l);for(const g of m){const w=ti(g),b=o.get(w);(!b||b.created_at<g.created_at)&&o.set(w,g)}})),n.map(({pubkey:s,kind:a,d:i})=>{const l=`${a}:${s}:${i??""}`,u=o.get(l);return a===$e.Pinlist?u??null:u?(At.putReplaceableEvent(u),u):(At.putNullReplaceableEvent(s,a,i),null)})}async fetchReplaceableEvent(n,r,o,s=!0){const a=await At.getReplaceableEvent(n,r,o);return a!==void 0?(s&&this.replaceableEventDataLoader.load({pubkey:n,kind:r,d:o}),a):await this.replaceableEventDataLoader.load({pubkey:n,kind:r,d:o})}async updateReplaceableEventCache(n){(await At.putReplaceableEvent(n)).id===n.id&&(this.replaceableEventDataLoader.clear({pubkey:n.pubkey,kind:n.kind}),this.replaceableEventDataLoader.prime({pubkey:n.pubkey,kind:n.kind},Promise.resolve(n)))}async fetchFollowListEvent(n,r=!0){return await this.fetchReplaceableEvent(n,$e.Contacts,void 0,r)}async fetchFollowings(n,r=!0){const o=await this.fetchFollowListEvent(n,r);return o?See(o.tags):[]}async updateFollowListCache(n){await this.updateReplaceableEventCache(n)}async fetchMuteListEvent(n){return await this.fetchReplaceableEvent(n,$e.Mutelist)}async fetchBookmarkListEvent(n){return this.fetchReplaceableEvent(n,$e.BookmarkList)}async fetchBlossomServerListEvent(n){return await this.fetchReplaceableEvent(n,gt.BLOSSOM_SERVER_LIST)}async fetchBlossomServerList(n){const r=await this.fetchBlossomServerListEvent(n);return r?Eee(r.tags):[]}async fetchPinListEvent(n){return this.fetchReplaceableEvent(n,$e.Pinlist)}async fetchRelayListEvent(n){return this.fetchReplaceableEvent(n,$e.RelayList)}async fetchFavoriteRelaysEvent(n){return this.fetchReplaceableEvent(n,gt.FAVORITE_RELAYS)}async fetchUserEmojiListEvent(n){return this.fetchReplaceableEvent(n,$e.UserEmojiList)}async fetchPinnedUsersList(n){return this.fetchReplaceableEvent(n,gt.PINNED_USERS)}async updateBlossomServerListEventCache(n){await this.updateReplaceableEventCache(n)}async fetchEmojiSetEvents(n,r=!0){const o=n.map(s=>{const[a,i,l=""]=s.split(":");if(!i||!a)return null;const u=parseInt(a,10);return u!==$e.Emojisets?null:{pubkey:i,kind:u,d:l}}).filter(Boolean);return await Promise.all(o.map(({pubkey:s,kind:a,d:i})=>this.fetchReplaceableEvent(s,a,i,r)))}async generateSubRequestsForPubkeys(n,r){if(mje()){let l=this.currentRelays;if(r){const u=await this.fetchRelayList(r);l=u.read.length>0?u.read.slice(0,5):this.currentRelays}return[{urls:l,filter:{authors:n}}]}const o=await this.fetchRelayLists(n),s={};o.forEach((l,u)=>{l.write.slice(0,4).forEach(d=>{s[d]||(s[d]=new Set),s[d].add(n[u])})});const a=Object.keys(s).length,i=new Map;return Object.entries(s).sort(([,l],[,u])=>u.size-l.size).forEach(([l,u])=>{a>10&&u.size<10&&Array.from(u).every(d=>(i.get(d)??0)>=2)?delete s[l]:u.forEach(d=>{i.set(d,(i.get(d)??0)+1)})}),Object.entries(s).map(([l,u])=>({urls:[l],filter:{authors:Array.from(u)}}))}};je(Ip,"instance");let L_=Ip;const Oe=L_.getInstance(),OCe=Object.freeze(Object.defineProperty({__proto__:null,default:Oe},Symbol.toStringTag,{value:"Module"}));function P_(t){return[].concat(t)}function CT(t){return t.startsWith(":")}function fte(t){return CC(t)&&(t==="*"||t.length>1&&":>~.+*".includes(t.slice(0,1))||mte(t))}function dte(t,e){return(CC(e)||typeof e=="number")&&!hte(t)&&!CT(t)&&!pte(t)}function pte(t){return t.startsWith("@media")}function zCe(t){return t==="."}function hte(t){return t==="--"}function CC(t){return t+""===t}function mte(t){return CC(t)&&(t.startsWith("&")||CT(t))}function kk(t,e=""){return t.filter(Boolean).join(e)}function gte(t,e){let n=0;if(e.length===0)return n.toString();for(let r=0;r<e.length;r++){const o=e.charCodeAt(r);n=(n<<5)-n+o,n=n&n}return`${t??"cl"}_${n.toString(36)}`}function FCe(t,e){return t==="content"?`"${e}"`:e}function BCe(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function QB(t,e){return`${t}:${e}`}function UCe(t){return t?`.${t}`:""}function $Ce(t,e){return t?`${t}
25 ${e}`:e}var yte=class vte{constructor(e,n,r,o){this.sheet=e,this.property=n,this.value=r,this.selector=o,this.property=n,this.value=r,this.joined=QB(n,r);const s=this.selector.preconditions.concat(this.selector.postconditions);this.hash=this.selector.hasConditions?this.selector.scopeClassName:gte(this.sheet.name,this.joined),this.key=kk([this.joined,s,this.hash])}toString(){let e=O_(this.selector.preconditions,{right:this.hash});return e=O_(this.selector.postconditions,{left:e}),`${e} {${vte.genRule(this.property,this.value)}}`}static genRule(e,n){const r=BCe(e);return QB(r,FCe(e,n))+";"}};function O_(t,{left:e="",right:n=""}={}){const r=t.reduce((o,s)=>CT(s)?o+s:mte(s)?o+s.slice(1):kk([o,s]," "),e);return kk([r,UCe(n)]," ")}var VCe=class E3{constructor(e,n=null,{preconditions:r,postconditions:o}={}){this.sheet=e,this.preconditions=[],this.scopeClassName=null,this.scopeName=null,this.postconditions=[],this.preconditions=r?P_(r):[],this.postconditions=o?P_(o):[],this.setScope(n)}setScope(e){return e?(this.scopeClassName||(this.scopeName=e,this.scopeClassName=gte(this.sheet.name,e+this.sheet.count)),this):this}get hasConditions(){return this.preconditions.length>0||this.postconditions.length>0}addScope(e){return new E3(this.sheet,e,{preconditions:this.preconditions,postconditions:this.postconditions})}addPrecondition(e){return new E3(this.sheet,this.scopeClassName,{postconditions:this.postconditions,preconditions:this.preconditions.concat(e)})}addPostcondition(e){return new E3(this.sheet,this.scopeClassName,{preconditions:this.preconditions,postconditions:this.postconditions.concat(e)})}createRule(e,n){return new yte(this.sheet,e,n,this)}},HCe=class{constructor(e,n){this.name=e,this.rootNode=n,this.storedStyles={},this.storedClasses={},this.style="",this.count=0,this.id=`flairup-${e}`,this.styleTag=this.createStyleTag()}getStyle(){return this.style}append(e){this.style=$Ce(this.style,e)}apply(){this.count++,this.styleTag&&(this.styleTag.innerHTML=this.style)}isApplied(){return!!this.styleTag}createStyleTag(){if(typeof document>"u"||this.isApplied()||this.rootNode===null)return this.styleTag;const e=document.createElement("style");return e.type="text/css",e.id=this.id,(this.rootNode??document.head).appendChild(e),e}addRule(e){const n=this.storedClasses[e.key];return CC(n)?n:(this.storedClasses[e.key]=e.hash,this.storedStyles[e.hash]=[e.property,e.value],this.append(e.toString()),e.hash)}};function ST(t,e){for(const n in t)e(n.trim(),t[n])}function sr(...t){const e=t.reduce((n,r)=>(r instanceof Set?n.push(...r):typeof r=="string"?n.push(r):Array.isArray(r)?n.push(sr(...r)):typeof r=="object"&&Object.entries(r).forEach(([o,s])=>{s&&n.push(o)}),n),[]);return kk(e," ").trim()}function WCe(t,e){const n=new HCe(t,e);return{create:r,getStyle:n.getStyle.bind(n),isApplied:n.isApplied.bind(n)};function r(o){const s={};return wte(n,o,new VCe(n)).forEach(([i,l,u])=>{SC(n,l,u).forEach(d=>{a(i,d)})}),n.apply(),s;function a(i,l){s[i]=s[i]??new Set,s[i].add(l)}}}function wte(t,e,n){const r=[];return ST(e,(o,s)=>{if(fte(o))return wte(t,s,n.addPrecondition(o)).forEach(a=>r.push(a));r.push([o,e[o],n.addScope(o)])}),r}function SC(t,e,n){const r=new Set;return ST(e,(o,s)=>{let a=[];if(fte(o))a=SC(t,s,n.addPostcondition(o));else if(zCe(o))a=P_(s);else if(pte(o))a=GCe(t,s,o,n);else if(hte(o))a=YCe(t,s,n);else if(dte(o,s)){const i=n.createRule(o,s);t.addRule(i),r.add(i.hash)}return bte(a,r)}),r}function bte(t,e){return t.forEach(n=>e.add(n)),e}function YCe(t,e,n){const r=new Set,o=[];if(ST(e,(s,a)=>{if(dte(s,a)){o.push(yte.genRule(s,a));return}const i=SC(t,a??{},n);bte(i,r)}),!n.scopeClassName)return r;if(o.length){const s=o.join(" ");t.append(`${O_(n.preconditions,{right:n.scopeClassName})} {${s}}`)}return r.add(n.scopeClassName),r}function GCe(t,e,n,r){t.append(n+" {");const o=SC(t,e,r);return t.append("}"),o}function So(){return So=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},So.apply(this,arguments)}function qCe(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,z_(t,e)}function z_(t,e){return z_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},z_(t,e)}function xte(t,e){if(t==null)return{};var n={},r=Object.keys(t),o,s;for(s=0;s<r.length;s++)o=r[s],!(e.indexOf(o)>=0)&&(n[o]=t[o]);return n}function KCe(t,e){if(t){if(typeof t=="string")return JB(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return JB(t,e)}}function JB(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ZCe(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=KCe(t))||e){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
26 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Qn;(function(t){t.hiddenOnSearch="epr-hidden-on-search",t.searchActive="epr-search-active",t.hidden="epr-hidden",t.visible="epr-visible",t.active="epr-active",t.emoji="epr-emoji",t.category="epr-emoji-category",t.label="epr-emoji-category-label",t.categoryContent="epr-emoji-category-content",t.emojiHasVariations="epr-emoji-has-variations",t.scrollBody="epr-body",t.emojiList="epr-emoji-list",t.external="__EmojiPicker__",t.emojiPicker="EmojiPickerReact",t.open="epr-open",t.vertical="epr-vertical",t.horizontal="epr-horizontal",t.variationPicker="epr-emoji-variation-picker",t.darkTheme="epr-dark-theme",t.autoTheme="epr-auto-theme"})(Qn||(Qn={}));function Ta(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.map(function(r){return"."+r}).join("")}var mo=WCe("epr",null),N3={display:"none",opacity:"0",pointerEvents:"none",visibility:"hidden",overflow:"hidden"},ET=mo.create({hidden:So({".":Qn.hidden},N3)}),QCe=h.memo(function(){return h.createElement("style",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:mo.getStyle()}})}),Fg=mo.create({".epr-main":{":has(input:not(:placeholder-shown))":{categoryBtn:{":hover":{opacity:"1",backgroundPositionY:"var(--epr-category-navigation-button-size)"}},hiddenOnSearch:So({".":Qn.hiddenOnSearch},N3)},":has(input(:placeholder-shown))":{visibleOnSearchOnly:N3}},hiddenOnReactions:{transition:"all 0.5s ease-in-out"},".epr-reactions":{hiddenOnReactions:{height:"0px",width:"0px",opacity:"0",pointerEvents:"none",overflow:"hidden"}},".EmojiPickerReact:not(.epr-search-active)":{categoryBtn:{":hover":{opacity:"1",backgroundPositionY:"var(--epr-category-navigation-button-size)"},"&.epr-active":{opacity:"1",backgroundPositionY:"var(--epr-category-navigation-button-size)"}},visibleOnSearchOnly:So({".":"epr-visible-on-search-only"},N3)}});function rh(t,e){var n,r;return{".epr-dark-theme":(n={},n[t]=e,n),".epr-auto-theme":(r={},r[t]={"@media (prefers-color-scheme: dark)":e},r)}}function kte(t,e){var n,r,o=(n=t.customEmojis)!=null?n:[],s=(r=e.customEmojis)!=null?r:[];return t.open===e.open&&t.emojiVersion===e.emojiVersion&&t.reactionsDefaultOpen===e.reactionsDefaultOpen&&t.searchPlaceHolder===e.searchPlaceHolder&&t.searchPlaceholder===e.searchPlaceholder&&t.defaultSkinTone===e.defaultSkinTone&&t.skinTonesDisabled===e.skinTonesDisabled&&t.autoFocusSearch===e.autoFocusSearch&&t.emojiStyle===e.emojiStyle&&t.theme===e.theme&&t.suggestedEmojisMode===e.suggestedEmojisMode&&t.lazyLoadEmojis===e.lazyLoadEmojis&&t.className===e.className&&t.height===e.height&&t.width===e.width&&t.style===e.style&&t.searchDisabled===e.searchDisabled&&t.skinTonePickerLocation===e.skinTonePickerLocation&&o.length===s.length}var JCe=["1f44d","2764-fe0f","1f603","1f622","1f64f","1f44e","1f621"],sy;(function(t){t.RECENT="recent",t.FREQUENT="frequent"})(sy||(sy={}));var Ci;(function(t){t.NATIVE="native",t.APPLE="apple",t.TWITTER="twitter",t.GOOGLE="google",t.FACEBOOK="facebook"})(Ci||(Ci={}));var Vp;(function(t){t.DARK="dark",t.LIGHT="light",t.AUTO="auto"})(Vp||(Vp={}));var zl;(function(t){t.NEUTRAL="neutral",t.LIGHT="1f3fb",t.MEDIUM_LIGHT="1f3fc",t.MEDIUM="1f3fd",t.MEDIUM_DARK="1f3fe",t.DARK="1f3ff"})(zl||(zl={}));var Zn;(function(t){t.SUGGESTED="suggested",t.CUSTOM="custom",t.SMILEYS_PEOPLE="smileys_people",t.ANIMALS_NATURE="animals_nature",t.FOOD_DRINK="food_drink",t.TRAVEL_PLACES="travel_places",t.ACTIVITIES="activities",t.OBJECTS="objects",t.SYMBOLS="symbols",t.FLAGS="flags"})(Zn||(Zn={}));var hg;(function(t){t.SEARCH="SEARCH",t.PREVIEW="PREVIEW"})(hg||(hg={}));var Rl,XCe=[Zn.SUGGESTED,Zn.CUSTOM,Zn.SMILEYS_PEOPLE,Zn.ANIMALS_NATURE,Zn.FOOD_DRINK,Zn.TRAVEL_PLACES,Zn.ACTIVITIES,Zn.OBJECTS,Zn.SYMBOLS,Zn.FLAGS],eSe={name:"Recently Used",category:Zn.SUGGESTED},jte=(Rl={},Rl[Zn.SUGGESTED]={category:Zn.SUGGESTED,name:"Frequently Used"},Rl[Zn.CUSTOM]={category:Zn.CUSTOM,name:"Custom Emojis"},Rl[Zn.SMILEYS_PEOPLE]={category:Zn.SMILEYS_PEOPLE,name:"Smileys & People"},Rl[Zn.ANIMALS_NATURE]={category:Zn.ANIMALS_NATURE,name:"Animals & Nature"},Rl[Zn.FOOD_DRINK]={category:Zn.FOOD_DRINK,name:"Food & Drink"},Rl[Zn.TRAVEL_PLACES]={category:Zn.TRAVEL_PLACES,name:"Travel & Places"},Rl[Zn.ACTIVITIES]={category:Zn.ACTIVITIES,name:"Activities"},Rl[Zn.OBJECTS]={category:Zn.OBJECTS,name:"Objects"},Rl[Zn.SYMBOLS]={category:Zn.SYMBOLS,name:"Symbols"},Rl[Zn.FLAGS]={category:Zn.FLAGS,name:"Flags"},Rl);function Cte(t){return XCe.map(function(e){return So({},jte[e],t&&t[e]&&t[e])})}function NT(t){return t.category}function Ste(t){return t.name}function tSe(t,e){var n;t===void 0&&(t=[]),e===void 0&&(e={});var r={};e.suggestionMode===sy.RECENT&&(r[Zn.SUGGESTED]=eSe);var o=Cte(r);return(n=t)!=null&&n.length?t.map(function(s){return typeof s=="string"?XB(s,r[s]):So({},XB(s.category,r[s.category]),s)}):o}function XB(t,e){return e===void 0&&(e={}),Object.assign(jte[t],e)}var nSe="https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/",rSe="https://cdn.jsdelivr.net/npm/emoji-datasource-facebook/img/facebook/64/",oSe="https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/",sSe="https://cdn.jsdelivr.net/npm/emoji-datasource-google/img/google/64/";function aSe(t){switch(t){case Ci.TWITTER:return oSe;case Ci.GOOGLE:return sSe;case Ci.FACEBOOK:return rSe;case Ci.APPLE:default:return nSe}}var iSe=[],lSe=[{n:["grinning","grinning face"],u:"1f600",a:"1.0"},{n:["smiley","smiling face with open mouth"],u:"1f603",a:"0.6"},{n:["smile","smiling face with open mouth and smiling eyes"],u:"1f604",a:"0.6"},{n:["grin","grinning face with smiling eyes"],u:"1f601",a:"0.6"},{n:["laughing","satisfied","smiling face with open mouth and tightly-closed eyes"],u:"1f606",a:"0.6"},{n:["sweat smile","smiling face with open mouth and cold sweat"],u:"1f605",a:"0.6"},{n:["rolling on the floor laughing"],u:"1f923",a:"3.0"},{n:["joy","face with tears of joy"],u:"1f602",a:"0.6"},{n:["slightly smiling face"],u:"1f642",a:"1.0"},{n:["upside-down face","upside down face"],u:"1f643",a:"1.0"},{n:["melting face"],u:"1fae0",a:"14.0"},{n:["wink","winking face"],u:"1f609",a:"0.6"},{n:["blush","smiling face with smiling eyes"],u:"1f60a",a:"0.6"},{n:["innocent","smiling face with halo"],u:"1f607",a:"1.0"},{n:["smiling face with 3 hearts","smiling face with smiling eyes and three hearts"],u:"1f970",a:"11.0"},{n:["heart eyes","smiling face with heart-shaped eyes"],u:"1f60d",a:"0.6"},{n:["star-struck","grinning face with star eyes"],u:"1f929",a:"5.0"},{n:["kissing heart","face throwing a kiss"],u:"1f618",a:"0.6"},{n:["kissing","kissing face"],u:"1f617",a:"1.0"},{n:["relaxed","white smiling face"],u:"263a-fe0f",a:"0.6"},{n:["kissing closed eyes","kissing face with closed eyes"],u:"1f61a",a:"0.6"},{n:["kissing smiling eyes","kissing face with smiling eyes"],u:"1f619",a:"1.0"},{n:["smiling face with tear"],u:"1f972",a:"13.0"},{n:["yum","face savouring delicious food"],u:"1f60b",a:"0.6"},{n:["stuck out tongue","face with stuck-out tongue"],u:"1f61b",a:"1.0"},{n:["stuck out tongue winking eye","face with stuck-out tongue and winking eye"],u:"1f61c",a:"0.6"},{n:["zany face","grinning face with one large and one small eye"],u:"1f92a",a:"5.0"},{n:["stuck out tongue closed eyes","face with stuck-out tongue and tightly-closed eyes"],u:"1f61d",a:"0.6"},{n:["money-mouth face","money mouth face"],u:"1f911",a:"1.0"},{n:["hugging face"],u:"1f917",a:"1.0"},{n:["face with hand over mouth","smiling face with smiling eyes and hand covering mouth"],u:"1f92d",a:"5.0"},{n:["face with open eyes and hand over mouth"],u:"1fae2",a:"14.0"},{n:["face with peeking eye"],u:"1fae3",a:"14.0"},{n:["shushing face","face with finger covering closed lips"],u:"1f92b",a:"5.0"},{n:["thinking face"],u:"1f914",a:"1.0"},{n:["saluting face"],u:"1fae1",a:"14.0"},{n:["zipper-mouth face","zipper mouth face"],u:"1f910",a:"1.0"},{n:["face with raised eyebrow","face with one eyebrow raised"],u:"1f928",a:"5.0"},{n:["neutral face"],u:"1f610",a:"0.7"},{n:["expressionless","expressionless face"],u:"1f611",a:"1.0"},{n:["no mouth","face without mouth"],u:"1f636",a:"1.0"},{n:["dotted line face"],u:"1fae5",a:"14.0"},{n:["face in clouds"],u:"1f636-200d-1f32b-fe0f",a:"13.1"},{n:["smirk","smirking face"],u:"1f60f",a:"0.6"},{n:["unamused","unamused face"],u:"1f612",a:"0.6"},{n:["face with rolling eyes"],u:"1f644",a:"1.0"},{n:["grimacing","grimacing face"],u:"1f62c",a:"1.0"},{n:["face exhaling"],u:"1f62e-200d-1f4a8",a:"13.1"},{n:["lying face"],u:"1f925",a:"3.0"},{n:["relieved","relieved face"],u:"1f60c",a:"0.6"},{n:["pensive","pensive face"],u:"1f614",a:"0.6"},{n:["sleepy","sleepy face"],u:"1f62a",a:"0.6"},{n:["drooling face"],u:"1f924",a:"3.0"},{n:["sleeping","sleeping face"],u:"1f634",a:"1.0"},{n:["mask","face with medical mask"],u:"1f637",a:"0.6"},{n:["face with thermometer"],u:"1f912",a:"1.0"},{n:["face with head-bandage","face with head bandage"],u:"1f915",a:"1.0"},{n:["nauseated face"],u:"1f922",a:"3.0"},{n:["face vomiting","face with open mouth vomiting"],u:"1f92e",a:"5.0"},{n:["sneezing face"],u:"1f927",a:"3.0"},{n:["hot face","overheated face"],u:"1f975",a:"11.0"},{n:["cold face","freezing face"],u:"1f976",a:"11.0"},{n:["woozy face","face with uneven eyes and wavy mouth"],u:"1f974",a:"11.0"},{n:["dizzy face"],u:"1f635",a:"0.6"},{n:["face with spiral eyes"],u:"1f635-200d-1f4ab",a:"13.1"},{n:["exploding head","shocked face with exploding head"],u:"1f92f",a:"5.0"},{n:["face with cowboy hat"],u:"1f920",a:"3.0"},{n:["partying face","face with party horn and party hat"],u:"1f973",a:"11.0"},{n:["disguised face"],u:"1f978",a:"13.0"},{n:["sunglasses","smiling face with sunglasses"],u:"1f60e",a:"1.0"},{n:["nerd face"],u:"1f913",a:"1.0"},{n:["face with monocle"],u:"1f9d0",a:"5.0"},{n:["confused","confused face"],u:"1f615",a:"1.0"},{n:["face with diagonal mouth"],u:"1fae4",a:"14.0"},{n:["worried","worried face"],u:"1f61f",a:"1.0"},{n:["slightly frowning face"],u:"1f641",a:"1.0"},{n:["frowning face","white frowning face"],u:"2639-fe0f",a:"0.7"},{n:["open mouth","face with open mouth"],u:"1f62e",a:"1.0"},{n:["hushed","hushed face"],u:"1f62f",a:"1.0"},{n:["astonished","astonished face"],u:"1f632",a:"0.6"},{n:["flushed","flushed face"],u:"1f633",a:"0.6"},{n:["pleading face","face with pleading eyes"],u:"1f97a",a:"11.0"},{n:["face holding back tears"],u:"1f979",a:"14.0"},{n:["frowning","frowning face with open mouth"],u:"1f626",a:"1.0"},{n:["anguished","anguished face"],u:"1f627",a:"1.0"},{n:["fearful","fearful face"],u:"1f628",a:"0.6"},{n:["cold sweat","face with open mouth and cold sweat"],u:"1f630",a:"0.6"},{n:["disappointed relieved","disappointed but relieved face"],u:"1f625",a:"0.6"},{n:["cry","crying face"],u:"1f622",a:"0.6"},{n:["sob","loudly crying face"],u:"1f62d",a:"0.6"},{n:["scream","face screaming in fear"],u:"1f631",a:"0.6"},{n:["confounded","confounded face"],u:"1f616",a:"0.6"},{n:["persevere","persevering face"],u:"1f623",a:"0.6"},{n:["disappointed","disappointed face"],u:"1f61e",a:"0.6"},{n:["sweat","face with cold sweat"],u:"1f613",a:"0.6"},{n:["weary","weary face"],u:"1f629",a:"0.6"},{n:["tired face"],u:"1f62b",a:"0.6"},{n:["yawning face"],u:"1f971",a:"12.0"},{n:["triumph","face with look of triumph"],u:"1f624",a:"0.6"},{n:["rage","pouting face"],u:"1f621",a:"0.6"},{n:["angry","angry face"],u:"1f620",a:"0.6"},{n:["face with symbols on mouth","serious face with symbols covering mouth"],u:"1f92c",a:"5.0"},{n:["smiling imp","smiling face with horns"],u:"1f608",a:"1.0"},{n:["imp"],u:"1f47f",a:"0.6"},{n:["skull"],u:"1f480",a:"0.6"},{n:["skull and crossbones"],u:"2620-fe0f",a:"1.0"},{n:["poop","shit","hankey","pile of poo"],u:"1f4a9",a:"0.6"},{n:["clown face"],u:"1f921",a:"3.0"},{n:["japanese ogre"],u:"1f479",a:"0.6"},{n:["japanese goblin"],u:"1f47a",a:"0.6"},{n:["ghost"],u:"1f47b",a:"0.6"},{n:["alien","extraterrestrial alien"],u:"1f47d",a:"0.6"},{n:["alien monster","space invader"],u:"1f47e",a:"0.6"},{n:["robot face"],u:"1f916",a:"1.0"},{n:["smiley cat","smiling cat face with open mouth"],u:"1f63a",a:"0.6"},{n:["smile cat","grinning cat face with smiling eyes"],u:"1f638",a:"0.6"},{n:["joy cat","cat face with tears of joy"],u:"1f639",a:"0.6"},{n:["heart eyes cat","smiling cat face with heart-shaped eyes"],u:"1f63b",a:"0.6"},{n:["smirk cat","cat face with wry smile"],u:"1f63c",a:"0.6"},{n:["kissing cat","kissing cat face with closed eyes"],u:"1f63d",a:"0.6"},{n:["scream cat","weary cat face"],u:"1f640",a:"0.6"},{n:["crying cat face"],u:"1f63f",a:"0.6"},{n:["pouting cat","pouting cat face"],u:"1f63e",a:"0.6"},{n:["see no evil","see-no-evil monkey"],u:"1f648",a:"0.6"},{n:["hear no evil","hear-no-evil monkey"],u:"1f649",a:"0.6"},{n:["speak no evil","speak-no-evil monkey"],u:"1f64a",a:"0.6"},{n:["kiss","kiss mark"],u:"1f48b",a:"0.6"},{n:["love letter"],u:"1f48c",a:"0.6"},{n:["cupid","heart with arrow"],u:"1f498",a:"0.6"},{n:["gift heart","heart with ribbon"],u:"1f49d",a:"0.6"},{n:["sparkling heart"],u:"1f496",a:"0.6"},{n:["heartpulse","growing heart"],u:"1f497",a:"0.6"},{n:["heartbeat","beating heart"],u:"1f493",a:"0.6"},{n:["revolving hearts"],u:"1f49e",a:"0.6"},{n:["two hearts"],u:"1f495",a:"0.6"},{n:["heart decoration"],u:"1f49f",a:"0.6"},{n:["heart exclamation","heavy heart exclamation mark ornament"],u:"2763-fe0f",a:"1.0"},{n:["broken heart"],u:"1f494",a:"0.6"},{n:["heart on fire"],u:"2764-fe0f-200d-1f525",a:"13.1"},{n:["mending heart"],u:"2764-fe0f-200d-1fa79",a:"13.1"},{n:["heart","heavy black heart"],u:"2764-fe0f",a:"0.6"},{n:["orange heart"],u:"1f9e1",a:"5.0"},{n:["yellow heart"],u:"1f49b",a:"0.6"},{n:["green heart"],u:"1f49a",a:"0.6"},{n:["blue heart"],u:"1f499",a:"0.6"},{n:["purple heart"],u:"1f49c",a:"0.6"},{n:["brown heart"],u:"1f90e",a:"12.0"},{n:["black heart"],u:"1f5a4",a:"3.0"},{n:["white heart"],u:"1f90d",a:"12.0"},{n:["100","hundred points symbol"],u:"1f4af",a:"0.6"},{n:["anger","anger symbol"],u:"1f4a2",a:"0.6"},{n:["boom","collision","collision symbol"],u:"1f4a5",a:"0.6"},{n:["dizzy","dizzy symbol"],u:"1f4ab",a:"0.6"},{n:["sweat drops","splashing sweat symbol"],u:"1f4a6",a:"0.6"},{n:["dash","dash symbol"],u:"1f4a8",a:"0.6"},{n:["hole"],u:"1f573-fe0f",a:"0.7"},{n:["bomb"],u:"1f4a3",a:"0.6"},{n:["speech balloon"],u:"1f4ac",a:"0.6"},{n:["eye in speech bubble","eye-in-speech-bubble"],u:"1f441-fe0f-200d-1f5e8-fe0f",a:"2.0"},{n:["left speech bubble"],u:"1f5e8-fe0f",a:"2.0"},{n:["right anger bubble"],u:"1f5ef-fe0f",a:"0.7"},{n:["thought balloon"],u:"1f4ad",a:"1.0"},{n:["zzz","sleeping symbol"],u:"1f4a4",a:"0.6"},{n:["wave","waving hand sign"],u:"1f44b",v:["1f44b-1f3fb","1f44b-1f3fc","1f44b-1f3fd","1f44b-1f3fe","1f44b-1f3ff"],a:"0.6"},{n:["raised back of hand"],u:"1f91a",v:["1f91a-1f3fb","1f91a-1f3fc","1f91a-1f3fd","1f91a-1f3fe","1f91a-1f3ff"],a:"3.0"},{n:["hand with fingers splayed","raised hand with fingers splayed"],u:"1f590-fe0f",v:["1f590-1f3fb","1f590-1f3fc","1f590-1f3fd","1f590-1f3fe","1f590-1f3ff"],a:"0.7"},{n:["hand","raised hand"],u:"270b",v:["270b-1f3fb","270b-1f3fc","270b-1f3fd","270b-1f3fe","270b-1f3ff"],a:"0.6"},{n:["spock-hand","raised hand with part between middle and ring fingers"],u:"1f596",v:["1f596-1f3fb","1f596-1f3fc","1f596-1f3fd","1f596-1f3fe","1f596-1f3ff"],a:"1.0"},{n:["rightwards hand"],u:"1faf1",v:["1faf1-1f3fb","1faf1-1f3fc","1faf1-1f3fd","1faf1-1f3fe","1faf1-1f3ff"],a:"14.0"},{n:["leftwards hand"],u:"1faf2",v:["1faf2-1f3fb","1faf2-1f3fc","1faf2-1f3fd","1faf2-1f3fe","1faf2-1f3ff"],a:"14.0"},{n:["palm down hand"],u:"1faf3",v:["1faf3-1f3fb","1faf3-1f3fc","1faf3-1f3fd","1faf3-1f3fe","1faf3-1f3ff"],a:"14.0"},{n:["palm up hand"],u:"1faf4",v:["1faf4-1f3fb","1faf4-1f3fc","1faf4-1f3fd","1faf4-1f3fe","1faf4-1f3ff"],a:"14.0"},{n:["ok hand","ok hand sign"],u:"1f44c",v:["1f44c-1f3fb","1f44c-1f3fc","1f44c-1f3fd","1f44c-1f3fe","1f44c-1f3ff"],a:"0.6"},{n:["pinched fingers"],u:"1f90c",v:["1f90c-1f3fb","1f90c-1f3fc","1f90c-1f3fd","1f90c-1f3fe","1f90c-1f3ff"],a:"13.0"},{n:["pinching hand"],u:"1f90f",v:["1f90f-1f3fb","1f90f-1f3fc","1f90f-1f3fd","1f90f-1f3fe","1f90f-1f3ff"],a:"12.0"},{n:["v","victory hand"],u:"270c-fe0f",v:["270c-1f3fb","270c-1f3fc","270c-1f3fd","270c-1f3fe","270c-1f3ff"],a:"0.6"},{n:["crossed fingers","hand with index and middle fingers crossed"],u:"1f91e",v:["1f91e-1f3fb","1f91e-1f3fc","1f91e-1f3fd","1f91e-1f3fe","1f91e-1f3ff"],a:"3.0"},{n:["hand with index finger and thumb crossed"],u:"1faf0",v:["1faf0-1f3fb","1faf0-1f3fc","1faf0-1f3fd","1faf0-1f3fe","1faf0-1f3ff"],a:"14.0"},{n:["i love you hand sign"],u:"1f91f",v:["1f91f-1f3fb","1f91f-1f3fc","1f91f-1f3fd","1f91f-1f3fe","1f91f-1f3ff"],a:"5.0"},{n:["the horns","sign of the horns"],u:"1f918",v:["1f918-1f3fb","1f918-1f3fc","1f918-1f3fd","1f918-1f3fe","1f918-1f3ff"],a:"1.0"},{n:["call me hand"],u:"1f919",v:["1f919-1f3fb","1f919-1f3fc","1f919-1f3fd","1f919-1f3fe","1f919-1f3ff"],a:"3.0"},{n:["point left","white left pointing backhand index"],u:"1f448",v:["1f448-1f3fb","1f448-1f3fc","1f448-1f3fd","1f448-1f3fe","1f448-1f3ff"],a:"0.6"},{n:["point right","white right pointing backhand index"],u:"1f449",v:["1f449-1f3fb","1f449-1f3fc","1f449-1f3fd","1f449-1f3fe","1f449-1f3ff"],a:"0.6"},{n:["point up 2","white up pointing backhand index"],u:"1f446",v:["1f446-1f3fb","1f446-1f3fc","1f446-1f3fd","1f446-1f3fe","1f446-1f3ff"],a:"0.6"},{n:["middle finger","reversed hand with middle finger extended"],u:"1f595",v:["1f595-1f3fb","1f595-1f3fc","1f595-1f3fd","1f595-1f3fe","1f595-1f3ff"],a:"1.0"},{n:["point down","white down pointing backhand index"],u:"1f447",v:["1f447-1f3fb","1f447-1f3fc","1f447-1f3fd","1f447-1f3fe","1f447-1f3ff"],a:"0.6"},{n:["point up","white up pointing index"],u:"261d-fe0f",v:["261d-1f3fb","261d-1f3fc","261d-1f3fd","261d-1f3fe","261d-1f3ff"],a:"0.6"},{n:["index pointing at the viewer"],u:"1faf5",v:["1faf5-1f3fb","1faf5-1f3fc","1faf5-1f3fd","1faf5-1f3fe","1faf5-1f3ff"],a:"14.0"},{n:["+1","thumbsup","thumbs up sign"],u:"1f44d",v:["1f44d-1f3fb","1f44d-1f3fc","1f44d-1f3fd","1f44d-1f3fe","1f44d-1f3ff"],a:"0.6"},{n:["-1","thumbsdown","thumbs down sign"],u:"1f44e",v:["1f44e-1f3fb","1f44e-1f3fc","1f44e-1f3fd","1f44e-1f3fe","1f44e-1f3ff"],a:"0.6"},{n:["fist","raised fist"],u:"270a",v:["270a-1f3fb","270a-1f3fc","270a-1f3fd","270a-1f3fe","270a-1f3ff"],a:"0.6"},{n:["punch","facepunch","fisted hand sign"],u:"1f44a",v:["1f44a-1f3fb","1f44a-1f3fc","1f44a-1f3fd","1f44a-1f3fe","1f44a-1f3ff"],a:"0.6"},{n:["left-facing fist"],u:"1f91b",v:["1f91b-1f3fb","1f91b-1f3fc","1f91b-1f3fd","1f91b-1f3fe","1f91b-1f3ff"],a:"3.0"},{n:["right-facing fist"],u:"1f91c",v:["1f91c-1f3fb","1f91c-1f3fc","1f91c-1f3fd","1f91c-1f3fe","1f91c-1f3ff"],a:"3.0"},{n:["clap","clapping hands sign"],u:"1f44f",v:["1f44f-1f3fb","1f44f-1f3fc","1f44f-1f3fd","1f44f-1f3fe","1f44f-1f3ff"],a:"0.6"},{n:["raised hands","person raising both hands in celebration"],u:"1f64c",v:["1f64c-1f3fb","1f64c-1f3fc","1f64c-1f3fd","1f64c-1f3fe","1f64c-1f3ff"],a:"0.6"},{n:["heart hands"],u:"1faf6",v:["1faf6-1f3fb","1faf6-1f3fc","1faf6-1f3fd","1faf6-1f3fe","1faf6-1f3ff"],a:"14.0"},{n:["open hands","open hands sign"],u:"1f450",v:["1f450-1f3fb","1f450-1f3fc","1f450-1f3fd","1f450-1f3fe","1f450-1f3ff"],a:"0.6"},{n:["palms up together"],u:"1f932",v:["1f932-1f3fb","1f932-1f3fc","1f932-1f3fd","1f932-1f3fe","1f932-1f3ff"],a:"5.0"},{n:["handshake"],u:"1f91d",v:["1f91d-1f3fb","1f91d-1f3fc","1f91d-1f3fd","1f91d-1f3fe","1f91d-1f3ff","1faf1-1f3fb-200d-1faf2-1f3fc","1faf1-1f3fb-200d-1faf2-1f3fd","1faf1-1f3fb-200d-1faf2-1f3fe","1faf1-1f3fb-200d-1faf2-1f3ff","1faf1-1f3fc-200d-1faf2-1f3fb","1faf1-1f3fc-200d-1faf2-1f3fd","1faf1-1f3fc-200d-1faf2-1f3fe","1faf1-1f3fc-200d-1faf2-1f3ff","1faf1-1f3fd-200d-1faf2-1f3fb","1faf1-1f3fd-200d-1faf2-1f3fc","1faf1-1f3fd-200d-1faf2-1f3fe","1faf1-1f3fd-200d-1faf2-1f3ff","1faf1-1f3fe-200d-1faf2-1f3fb","1faf1-1f3fe-200d-1faf2-1f3fc","1faf1-1f3fe-200d-1faf2-1f3fd","1faf1-1f3fe-200d-1faf2-1f3ff","1faf1-1f3ff-200d-1faf2-1f3fb","1faf1-1f3ff-200d-1faf2-1f3fc","1faf1-1f3ff-200d-1faf2-1f3fd","1faf1-1f3ff-200d-1faf2-1f3fe"],a:"3.0"},{n:["pray","person with folded hands"],u:"1f64f",v:["1f64f-1f3fb","1f64f-1f3fc","1f64f-1f3fd","1f64f-1f3fe","1f64f-1f3ff"],a:"0.6"},{n:["writing hand"],u:"270d-fe0f",v:["270d-1f3fb","270d-1f3fc","270d-1f3fd","270d-1f3fe","270d-1f3ff"],a:"0.7"},{n:["nail care","nail polish"],u:"1f485",v:["1f485-1f3fb","1f485-1f3fc","1f485-1f3fd","1f485-1f3fe","1f485-1f3ff"],a:"0.6"},{n:["selfie"],u:"1f933",v:["1f933-1f3fb","1f933-1f3fc","1f933-1f3fd","1f933-1f3fe","1f933-1f3ff"],a:"3.0"},{n:["muscle","flexed biceps"],u:"1f4aa",v:["1f4aa-1f3fb","1f4aa-1f3fc","1f4aa-1f3fd","1f4aa-1f3fe","1f4aa-1f3ff"],a:"0.6"},{n:["mechanical arm"],u:"1f9be",a:"12.0"},{n:["mechanical leg"],u:"1f9bf",a:"12.0"},{n:["leg"],u:"1f9b5",v:["1f9b5-1f3fb","1f9b5-1f3fc","1f9b5-1f3fd","1f9b5-1f3fe","1f9b5-1f3ff"],a:"11.0"},{n:["foot"],u:"1f9b6",v:["1f9b6-1f3fb","1f9b6-1f3fc","1f9b6-1f3fd","1f9b6-1f3fe","1f9b6-1f3ff"],a:"11.0"},{n:["ear"],u:"1f442",v:["1f442-1f3fb","1f442-1f3fc","1f442-1f3fd","1f442-1f3fe","1f442-1f3ff"],a:"0.6"},{n:["ear with hearing aid"],u:"1f9bb",v:["1f9bb-1f3fb","1f9bb-1f3fc","1f9bb-1f3fd","1f9bb-1f3fe","1f9bb-1f3ff"],a:"12.0"},{n:["nose"],u:"1f443",v:["1f443-1f3fb","1f443-1f3fc","1f443-1f3fd","1f443-1f3fe","1f443-1f3ff"],a:"0.6"},{n:["brain"],u:"1f9e0",a:"5.0"},{n:["anatomical heart"],u:"1fac0",a:"13.0"},{n:["lungs"],u:"1fac1",a:"13.0"},{n:["tooth"],u:"1f9b7",a:"11.0"},{n:["bone"],u:"1f9b4",a:"11.0"},{n:["eyes"],u:"1f440",a:"0.6"},{n:["eye"],u:"1f441-fe0f",a:"0.7"},{n:["tongue"],u:"1f445",a:"0.6"},{n:["lips","mouth"],u:"1f444",a:"0.6"},{n:["biting lip"],u:"1fae6",a:"14.0"},{n:["baby"],u:"1f476",v:["1f476-1f3fb","1f476-1f3fc","1f476-1f3fd","1f476-1f3fe","1f476-1f3ff"],a:"0.6"},{n:["child"],u:"1f9d2",v:["1f9d2-1f3fb","1f9d2-1f3fc","1f9d2-1f3fd","1f9d2-1f3fe","1f9d2-1f3ff"],a:"5.0"},{n:["boy"],u:"1f466",v:["1f466-1f3fb","1f466-1f3fc","1f466-1f3fd","1f466-1f3fe","1f466-1f3ff"],a:"0.6"},{n:["girl"],u:"1f467",v:["1f467-1f3fb","1f467-1f3fc","1f467-1f3fd","1f467-1f3fe","1f467-1f3ff"],a:"0.6"},{n:["adult"],u:"1f9d1",v:["1f9d1-1f3fb","1f9d1-1f3fc","1f9d1-1f3fd","1f9d1-1f3fe","1f9d1-1f3ff"],a:"5.0"},{n:["person with blond hair"],u:"1f471",v:["1f471-1f3fb","1f471-1f3fc","1f471-1f3fd","1f471-1f3fe","1f471-1f3ff"],a:"0.6"},{n:["man"],u:"1f468",v:["1f468-1f3fb","1f468-1f3fc","1f468-1f3fd","1f468-1f3fe","1f468-1f3ff"],a:"0.6"},{n:["bearded person"],u:"1f9d4",v:["1f9d4-1f3fb","1f9d4-1f3fc","1f9d4-1f3fd","1f9d4-1f3fe","1f9d4-1f3ff"],a:"5.0"},{n:["man: beard","man with beard"],u:"1f9d4-200d-2642-fe0f",v:["1f9d4-1f3fb-200d-2642-fe0f","1f9d4-1f3fc-200d-2642-fe0f","1f9d4-1f3fd-200d-2642-fe0f","1f9d4-1f3fe-200d-2642-fe0f","1f9d4-1f3ff-200d-2642-fe0f"],a:"13.1"},{n:["woman: beard","woman with beard"],u:"1f9d4-200d-2640-fe0f",v:["1f9d4-1f3fb-200d-2640-fe0f","1f9d4-1f3fc-200d-2640-fe0f","1f9d4-1f3fd-200d-2640-fe0f","1f9d4-1f3fe-200d-2640-fe0f","1f9d4-1f3ff-200d-2640-fe0f"],a:"13.1"},{n:["man: red hair","red haired man"],u:"1f468-200d-1f9b0",v:["1f468-1f3fb-200d-1f9b0","1f468-1f3fc-200d-1f9b0","1f468-1f3fd-200d-1f9b0","1f468-1f3fe-200d-1f9b0","1f468-1f3ff-200d-1f9b0"],a:"11.0"},{n:["man: curly hair","curly haired man"],u:"1f468-200d-1f9b1",v:["1f468-1f3fb-200d-1f9b1","1f468-1f3fc-200d-1f9b1","1f468-1f3fd-200d-1f9b1","1f468-1f3fe-200d-1f9b1","1f468-1f3ff-200d-1f9b1"],a:"11.0"},{n:["man: white hair","white haired man"],u:"1f468-200d-1f9b3",v:["1f468-1f3fb-200d-1f9b3","1f468-1f3fc-200d-1f9b3","1f468-1f3fd-200d-1f9b3","1f468-1f3fe-200d-1f9b3","1f468-1f3ff-200d-1f9b3"],a:"11.0"},{n:["bald man","man: bald"],u:"1f468-200d-1f9b2",v:["1f468-1f3fb-200d-1f9b2","1f468-1f3fc-200d-1f9b2","1f468-1f3fd-200d-1f9b2","1f468-1f3fe-200d-1f9b2","1f468-1f3ff-200d-1f9b2"],a:"11.0"},{n:["woman"],u:"1f469",v:["1f469-1f3fb","1f469-1f3fc","1f469-1f3fd","1f469-1f3fe","1f469-1f3ff"],a:"0.6"},{n:["woman: red hair","red haired woman"],u:"1f469-200d-1f9b0",v:["1f469-1f3fb-200d-1f9b0","1f469-1f3fc-200d-1f9b0","1f469-1f3fd-200d-1f9b0","1f469-1f3fe-200d-1f9b0","1f469-1f3ff-200d-1f9b0"],a:"11.0"},{n:["person: red hair","red haired person"],u:"1f9d1-200d-1f9b0",v:["1f9d1-1f3fb-200d-1f9b0","1f9d1-1f3fc-200d-1f9b0","1f9d1-1f3fd-200d-1f9b0","1f9d1-1f3fe-200d-1f9b0","1f9d1-1f3ff-200d-1f9b0"],a:"12.1"},{n:["woman: curly hair","curly haired woman"],u:"1f469-200d-1f9b1",v:["1f469-1f3fb-200d-1f9b1","1f469-1f3fc-200d-1f9b1","1f469-1f3fd-200d-1f9b1","1f469-1f3fe-200d-1f9b1","1f469-1f3ff-200d-1f9b1"],a:"11.0"},{n:["person: curly hair","curly haired person"],u:"1f9d1-200d-1f9b1",v:["1f9d1-1f3fb-200d-1f9b1","1f9d1-1f3fc-200d-1f9b1","1f9d1-1f3fd-200d-1f9b1","1f9d1-1f3fe-200d-1f9b1","1f9d1-1f3ff-200d-1f9b1"],a:"12.1"},{n:["woman: white hair","white haired woman"],u:"1f469-200d-1f9b3",v:["1f469-1f3fb-200d-1f9b3","1f469-1f3fc-200d-1f9b3","1f469-1f3fd-200d-1f9b3","1f469-1f3fe-200d-1f9b3","1f469-1f3ff-200d-1f9b3"],a:"11.0"},{n:["person: white hair","white haired person"],u:"1f9d1-200d-1f9b3",v:["1f9d1-1f3fb-200d-1f9b3","1f9d1-1f3fc-200d-1f9b3","1f9d1-1f3fd-200d-1f9b3","1f9d1-1f3fe-200d-1f9b3","1f9d1-1f3ff-200d-1f9b3"],a:"12.1"},{n:["bald woman","woman: bald"],u:"1f469-200d-1f9b2",v:["1f469-1f3fb-200d-1f9b2","1f469-1f3fc-200d-1f9b2","1f469-1f3fd-200d-1f9b2","1f469-1f3fe-200d-1f9b2","1f469-1f3ff-200d-1f9b2"],a:"11.0"},{n:["bald person","person: bald"],u:"1f9d1-200d-1f9b2",v:["1f9d1-1f3fb-200d-1f9b2","1f9d1-1f3fc-200d-1f9b2","1f9d1-1f3fd-200d-1f9b2","1f9d1-1f3fe-200d-1f9b2","1f9d1-1f3ff-200d-1f9b2"],a:"12.1"},{n:["woman: blond hair","blond-haired-woman"],u:"1f471-200d-2640-fe0f",v:["1f471-1f3fb-200d-2640-fe0f","1f471-1f3fc-200d-2640-fe0f","1f471-1f3fd-200d-2640-fe0f","1f471-1f3fe-200d-2640-fe0f","1f471-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man: blond hair","blond-haired-man"],u:"1f471-200d-2642-fe0f",v:["1f471-1f3fb-200d-2642-fe0f","1f471-1f3fc-200d-2642-fe0f","1f471-1f3fd-200d-2642-fe0f","1f471-1f3fe-200d-2642-fe0f","1f471-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["older adult"],u:"1f9d3",v:["1f9d3-1f3fb","1f9d3-1f3fc","1f9d3-1f3fd","1f9d3-1f3fe","1f9d3-1f3ff"],a:"5.0"},{n:["older man"],u:"1f474",v:["1f474-1f3fb","1f474-1f3fc","1f474-1f3fd","1f474-1f3fe","1f474-1f3ff"],a:"0.6"},{n:["older woman"],u:"1f475",v:["1f475-1f3fb","1f475-1f3fc","1f475-1f3fd","1f475-1f3fe","1f475-1f3ff"],a:"0.6"},{n:["person frowning"],u:"1f64d",v:["1f64d-1f3fb","1f64d-1f3fc","1f64d-1f3fd","1f64d-1f3fe","1f64d-1f3ff"],a:"0.6"},{n:["man frowning","man-frowning"],u:"1f64d-200d-2642-fe0f",v:["1f64d-1f3fb-200d-2642-fe0f","1f64d-1f3fc-200d-2642-fe0f","1f64d-1f3fd-200d-2642-fe0f","1f64d-1f3fe-200d-2642-fe0f","1f64d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman frowning","woman-frowning"],u:"1f64d-200d-2640-fe0f",v:["1f64d-1f3fb-200d-2640-fe0f","1f64d-1f3fc-200d-2640-fe0f","1f64d-1f3fd-200d-2640-fe0f","1f64d-1f3fe-200d-2640-fe0f","1f64d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with pouting face"],u:"1f64e",v:["1f64e-1f3fb","1f64e-1f3fc","1f64e-1f3fd","1f64e-1f3fe","1f64e-1f3ff"],a:"0.6"},{n:["man pouting","man-pouting"],u:"1f64e-200d-2642-fe0f",v:["1f64e-1f3fb-200d-2642-fe0f","1f64e-1f3fc-200d-2642-fe0f","1f64e-1f3fd-200d-2642-fe0f","1f64e-1f3fe-200d-2642-fe0f","1f64e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman pouting","woman-pouting"],u:"1f64e-200d-2640-fe0f",v:["1f64e-1f3fb-200d-2640-fe0f","1f64e-1f3fc-200d-2640-fe0f","1f64e-1f3fd-200d-2640-fe0f","1f64e-1f3fe-200d-2640-fe0f","1f64e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["no good","face with no good gesture"],u:"1f645",v:["1f645-1f3fb","1f645-1f3fc","1f645-1f3fd","1f645-1f3fe","1f645-1f3ff"],a:"0.6"},{n:["man gesturing no","man-gesturing-no"],u:"1f645-200d-2642-fe0f",v:["1f645-1f3fb-200d-2642-fe0f","1f645-1f3fc-200d-2642-fe0f","1f645-1f3fd-200d-2642-fe0f","1f645-1f3fe-200d-2642-fe0f","1f645-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing no","woman-gesturing-no"],u:"1f645-200d-2640-fe0f",v:["1f645-1f3fb-200d-2640-fe0f","1f645-1f3fc-200d-2640-fe0f","1f645-1f3fd-200d-2640-fe0f","1f645-1f3fe-200d-2640-fe0f","1f645-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ok woman","face with ok gesture"],u:"1f646",v:["1f646-1f3fb","1f646-1f3fc","1f646-1f3fd","1f646-1f3fe","1f646-1f3ff"],a:"0.6"},{n:["man gesturing ok","man-gesturing-ok"],u:"1f646-200d-2642-fe0f",v:["1f646-1f3fb-200d-2642-fe0f","1f646-1f3fc-200d-2642-fe0f","1f646-1f3fd-200d-2642-fe0f","1f646-1f3fe-200d-2642-fe0f","1f646-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing ok","woman-gesturing-ok"],u:"1f646-200d-2640-fe0f",v:["1f646-1f3fb-200d-2640-fe0f","1f646-1f3fc-200d-2640-fe0f","1f646-1f3fd-200d-2640-fe0f","1f646-1f3fe-200d-2640-fe0f","1f646-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["information desk person"],u:"1f481",v:["1f481-1f3fb","1f481-1f3fc","1f481-1f3fd","1f481-1f3fe","1f481-1f3ff"],a:"0.6"},{n:["man tipping hand","man-tipping-hand"],u:"1f481-200d-2642-fe0f",v:["1f481-1f3fb-200d-2642-fe0f","1f481-1f3fc-200d-2642-fe0f","1f481-1f3fd-200d-2642-fe0f","1f481-1f3fe-200d-2642-fe0f","1f481-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman tipping hand","woman-tipping-hand"],u:"1f481-200d-2640-fe0f",v:["1f481-1f3fb-200d-2640-fe0f","1f481-1f3fc-200d-2640-fe0f","1f481-1f3fd-200d-2640-fe0f","1f481-1f3fe-200d-2640-fe0f","1f481-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["raising hand","happy person raising one hand"],u:"1f64b",v:["1f64b-1f3fb","1f64b-1f3fc","1f64b-1f3fd","1f64b-1f3fe","1f64b-1f3ff"],a:"0.6"},{n:["man raising hand","man-raising-hand"],u:"1f64b-200d-2642-fe0f",v:["1f64b-1f3fb-200d-2642-fe0f","1f64b-1f3fc-200d-2642-fe0f","1f64b-1f3fd-200d-2642-fe0f","1f64b-1f3fe-200d-2642-fe0f","1f64b-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman raising hand","woman-raising-hand"],u:"1f64b-200d-2640-fe0f",v:["1f64b-1f3fb-200d-2640-fe0f","1f64b-1f3fc-200d-2640-fe0f","1f64b-1f3fd-200d-2640-fe0f","1f64b-1f3fe-200d-2640-fe0f","1f64b-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["deaf person"],u:"1f9cf",v:["1f9cf-1f3fb","1f9cf-1f3fc","1f9cf-1f3fd","1f9cf-1f3fe","1f9cf-1f3ff"],a:"12.0"},{n:["deaf man"],u:"1f9cf-200d-2642-fe0f",v:["1f9cf-1f3fb-200d-2642-fe0f","1f9cf-1f3fc-200d-2642-fe0f","1f9cf-1f3fd-200d-2642-fe0f","1f9cf-1f3fe-200d-2642-fe0f","1f9cf-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["deaf woman"],u:"1f9cf-200d-2640-fe0f",v:["1f9cf-1f3fb-200d-2640-fe0f","1f9cf-1f3fc-200d-2640-fe0f","1f9cf-1f3fd-200d-2640-fe0f","1f9cf-1f3fe-200d-2640-fe0f","1f9cf-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["bow","person bowing deeply"],u:"1f647",v:["1f647-1f3fb","1f647-1f3fc","1f647-1f3fd","1f647-1f3fe","1f647-1f3ff"],a:"0.6"},{n:["man bowing","man-bowing"],u:"1f647-200d-2642-fe0f",v:["1f647-1f3fb-200d-2642-fe0f","1f647-1f3fc-200d-2642-fe0f","1f647-1f3fd-200d-2642-fe0f","1f647-1f3fe-200d-2642-fe0f","1f647-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bowing","woman-bowing"],u:"1f647-200d-2640-fe0f",v:["1f647-1f3fb-200d-2640-fe0f","1f647-1f3fc-200d-2640-fe0f","1f647-1f3fd-200d-2640-fe0f","1f647-1f3fe-200d-2640-fe0f","1f647-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["face palm"],u:"1f926",v:["1f926-1f3fb","1f926-1f3fc","1f926-1f3fd","1f926-1f3fe","1f926-1f3ff"],a:"3.0"},{n:["man facepalming","man-facepalming"],u:"1f926-200d-2642-fe0f",v:["1f926-1f3fb-200d-2642-fe0f","1f926-1f3fc-200d-2642-fe0f","1f926-1f3fd-200d-2642-fe0f","1f926-1f3fe-200d-2642-fe0f","1f926-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman facepalming","woman-facepalming"],u:"1f926-200d-2640-fe0f",v:["1f926-1f3fb-200d-2640-fe0f","1f926-1f3fc-200d-2640-fe0f","1f926-1f3fd-200d-2640-fe0f","1f926-1f3fe-200d-2640-fe0f","1f926-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["shrug"],u:"1f937",v:["1f937-1f3fb","1f937-1f3fc","1f937-1f3fd","1f937-1f3fe","1f937-1f3ff"],a:"3.0"},{n:["man shrugging","man-shrugging"],u:"1f937-200d-2642-fe0f",v:["1f937-1f3fb-200d-2642-fe0f","1f937-1f3fc-200d-2642-fe0f","1f937-1f3fd-200d-2642-fe0f","1f937-1f3fe-200d-2642-fe0f","1f937-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman shrugging","woman-shrugging"],u:"1f937-200d-2640-fe0f",v:["1f937-1f3fb-200d-2640-fe0f","1f937-1f3fc-200d-2640-fe0f","1f937-1f3fd-200d-2640-fe0f","1f937-1f3fe-200d-2640-fe0f","1f937-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["health worker"],u:"1f9d1-200d-2695-fe0f",v:["1f9d1-1f3fb-200d-2695-fe0f","1f9d1-1f3fc-200d-2695-fe0f","1f9d1-1f3fd-200d-2695-fe0f","1f9d1-1f3fe-200d-2695-fe0f","1f9d1-1f3ff-200d-2695-fe0f"],a:"12.1"},{n:["male-doctor","man health worker"],u:"1f468-200d-2695-fe0f",v:["1f468-1f3fb-200d-2695-fe0f","1f468-1f3fc-200d-2695-fe0f","1f468-1f3fd-200d-2695-fe0f","1f468-1f3fe-200d-2695-fe0f","1f468-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["female-doctor","woman health worker"],u:"1f469-200d-2695-fe0f",v:["1f469-1f3fb-200d-2695-fe0f","1f469-1f3fc-200d-2695-fe0f","1f469-1f3fd-200d-2695-fe0f","1f469-1f3fe-200d-2695-fe0f","1f469-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["student"],u:"1f9d1-200d-1f393",v:["1f9d1-1f3fb-200d-1f393","1f9d1-1f3fc-200d-1f393","1f9d1-1f3fd-200d-1f393","1f9d1-1f3fe-200d-1f393","1f9d1-1f3ff-200d-1f393"],a:"12.1"},{n:["man student","male-student"],u:"1f468-200d-1f393",v:["1f468-1f3fb-200d-1f393","1f468-1f3fc-200d-1f393","1f468-1f3fd-200d-1f393","1f468-1f3fe-200d-1f393","1f468-1f3ff-200d-1f393"],a:"4.0"},{n:["woman student","female-student"],u:"1f469-200d-1f393",v:["1f469-1f3fb-200d-1f393","1f469-1f3fc-200d-1f393","1f469-1f3fd-200d-1f393","1f469-1f3fe-200d-1f393","1f469-1f3ff-200d-1f393"],a:"4.0"},{n:["teacher"],u:"1f9d1-200d-1f3eb",v:["1f9d1-1f3fb-200d-1f3eb","1f9d1-1f3fc-200d-1f3eb","1f9d1-1f3fd-200d-1f3eb","1f9d1-1f3fe-200d-1f3eb","1f9d1-1f3ff-200d-1f3eb"],a:"12.1"},{n:["man teacher","male-teacher"],u:"1f468-200d-1f3eb",v:["1f468-1f3fb-200d-1f3eb","1f468-1f3fc-200d-1f3eb","1f468-1f3fd-200d-1f3eb","1f468-1f3fe-200d-1f3eb","1f468-1f3ff-200d-1f3eb"],a:"4.0"},{n:["woman teacher","female-teacher"],u:"1f469-200d-1f3eb",v:["1f469-1f3fb-200d-1f3eb","1f469-1f3fc-200d-1f3eb","1f469-1f3fd-200d-1f3eb","1f469-1f3fe-200d-1f3eb","1f469-1f3ff-200d-1f3eb"],a:"4.0"},{n:["judge"],u:"1f9d1-200d-2696-fe0f",v:["1f9d1-1f3fb-200d-2696-fe0f","1f9d1-1f3fc-200d-2696-fe0f","1f9d1-1f3fd-200d-2696-fe0f","1f9d1-1f3fe-200d-2696-fe0f","1f9d1-1f3ff-200d-2696-fe0f"],a:"12.1"},{n:["man judge","male-judge"],u:"1f468-200d-2696-fe0f",v:["1f468-1f3fb-200d-2696-fe0f","1f468-1f3fc-200d-2696-fe0f","1f468-1f3fd-200d-2696-fe0f","1f468-1f3fe-200d-2696-fe0f","1f468-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["woman judge","female-judge"],u:"1f469-200d-2696-fe0f",v:["1f469-1f3fb-200d-2696-fe0f","1f469-1f3fc-200d-2696-fe0f","1f469-1f3fd-200d-2696-fe0f","1f469-1f3fe-200d-2696-fe0f","1f469-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["farmer"],u:"1f9d1-200d-1f33e",v:["1f9d1-1f3fb-200d-1f33e","1f9d1-1f3fc-200d-1f33e","1f9d1-1f3fd-200d-1f33e","1f9d1-1f3fe-200d-1f33e","1f9d1-1f3ff-200d-1f33e"],a:"12.1"},{n:["man farmer","male-farmer"],u:"1f468-200d-1f33e",v:["1f468-1f3fb-200d-1f33e","1f468-1f3fc-200d-1f33e","1f468-1f3fd-200d-1f33e","1f468-1f3fe-200d-1f33e","1f468-1f3ff-200d-1f33e"],a:"4.0"},{n:["woman farmer","female-farmer"],u:"1f469-200d-1f33e",v:["1f469-1f3fb-200d-1f33e","1f469-1f3fc-200d-1f33e","1f469-1f3fd-200d-1f33e","1f469-1f3fe-200d-1f33e","1f469-1f3ff-200d-1f33e"],a:"4.0"},{n:["cook"],u:"1f9d1-200d-1f373",v:["1f9d1-1f3fb-200d-1f373","1f9d1-1f3fc-200d-1f373","1f9d1-1f3fd-200d-1f373","1f9d1-1f3fe-200d-1f373","1f9d1-1f3ff-200d-1f373"],a:"12.1"},{n:["man cook","male-cook"],u:"1f468-200d-1f373",v:["1f468-1f3fb-200d-1f373","1f468-1f3fc-200d-1f373","1f468-1f3fd-200d-1f373","1f468-1f3fe-200d-1f373","1f468-1f3ff-200d-1f373"],a:"4.0"},{n:["woman cook","female-cook"],u:"1f469-200d-1f373",v:["1f469-1f3fb-200d-1f373","1f469-1f3fc-200d-1f373","1f469-1f3fd-200d-1f373","1f469-1f3fe-200d-1f373","1f469-1f3ff-200d-1f373"],a:"4.0"},{n:["mechanic"],u:"1f9d1-200d-1f527",v:["1f9d1-1f3fb-200d-1f527","1f9d1-1f3fc-200d-1f527","1f9d1-1f3fd-200d-1f527","1f9d1-1f3fe-200d-1f527","1f9d1-1f3ff-200d-1f527"],a:"12.1"},{n:["man mechanic","male-mechanic"],u:"1f468-200d-1f527",v:["1f468-1f3fb-200d-1f527","1f468-1f3fc-200d-1f527","1f468-1f3fd-200d-1f527","1f468-1f3fe-200d-1f527","1f468-1f3ff-200d-1f527"],a:"4.0"},{n:["woman mechanic","female-mechanic"],u:"1f469-200d-1f527",v:["1f469-1f3fb-200d-1f527","1f469-1f3fc-200d-1f527","1f469-1f3fd-200d-1f527","1f469-1f3fe-200d-1f527","1f469-1f3ff-200d-1f527"],a:"4.0"},{n:["factory worker"],u:"1f9d1-200d-1f3ed",v:["1f9d1-1f3fb-200d-1f3ed","1f9d1-1f3fc-200d-1f3ed","1f9d1-1f3fd-200d-1f3ed","1f9d1-1f3fe-200d-1f3ed","1f9d1-1f3ff-200d-1f3ed"],a:"12.1"},{n:["man factory worker","male-factory-worker"],u:"1f468-200d-1f3ed",v:["1f468-1f3fb-200d-1f3ed","1f468-1f3fc-200d-1f3ed","1f468-1f3fd-200d-1f3ed","1f468-1f3fe-200d-1f3ed","1f468-1f3ff-200d-1f3ed"],a:"4.0"},{n:["woman factory worker","female-factory-worker"],u:"1f469-200d-1f3ed",v:["1f469-1f3fb-200d-1f3ed","1f469-1f3fc-200d-1f3ed","1f469-1f3fd-200d-1f3ed","1f469-1f3fe-200d-1f3ed","1f469-1f3ff-200d-1f3ed"],a:"4.0"},{n:["office worker"],u:"1f9d1-200d-1f4bc",v:["1f9d1-1f3fb-200d-1f4bc","1f9d1-1f3fc-200d-1f4bc","1f9d1-1f3fd-200d-1f4bc","1f9d1-1f3fe-200d-1f4bc","1f9d1-1f3ff-200d-1f4bc"],a:"12.1"},{n:["man office worker","male-office-worker"],u:"1f468-200d-1f4bc",v:["1f468-1f3fb-200d-1f4bc","1f468-1f3fc-200d-1f4bc","1f468-1f3fd-200d-1f4bc","1f468-1f3fe-200d-1f4bc","1f468-1f3ff-200d-1f4bc"],a:"4.0"},{n:["woman office worker","female-office-worker"],u:"1f469-200d-1f4bc",v:["1f469-1f3fb-200d-1f4bc","1f469-1f3fc-200d-1f4bc","1f469-1f3fd-200d-1f4bc","1f469-1f3fe-200d-1f4bc","1f469-1f3ff-200d-1f4bc"],a:"4.0"},{n:["scientist"],u:"1f9d1-200d-1f52c",v:["1f9d1-1f3fb-200d-1f52c","1f9d1-1f3fc-200d-1f52c","1f9d1-1f3fd-200d-1f52c","1f9d1-1f3fe-200d-1f52c","1f9d1-1f3ff-200d-1f52c"],a:"12.1"},{n:["man scientist","male-scientist"],u:"1f468-200d-1f52c",v:["1f468-1f3fb-200d-1f52c","1f468-1f3fc-200d-1f52c","1f468-1f3fd-200d-1f52c","1f468-1f3fe-200d-1f52c","1f468-1f3ff-200d-1f52c"],a:"4.0"},{n:["woman scientist","female-scientist"],u:"1f469-200d-1f52c",v:["1f469-1f3fb-200d-1f52c","1f469-1f3fc-200d-1f52c","1f469-1f3fd-200d-1f52c","1f469-1f3fe-200d-1f52c","1f469-1f3ff-200d-1f52c"],a:"4.0"},{n:["technologist"],u:"1f9d1-200d-1f4bb",v:["1f9d1-1f3fb-200d-1f4bb","1f9d1-1f3fc-200d-1f4bb","1f9d1-1f3fd-200d-1f4bb","1f9d1-1f3fe-200d-1f4bb","1f9d1-1f3ff-200d-1f4bb"],a:"12.1"},{n:["man technologist","male-technologist"],u:"1f468-200d-1f4bb",v:["1f468-1f3fb-200d-1f4bb","1f468-1f3fc-200d-1f4bb","1f468-1f3fd-200d-1f4bb","1f468-1f3fe-200d-1f4bb","1f468-1f3ff-200d-1f4bb"],a:"4.0"},{n:["woman technologist","female-technologist"],u:"1f469-200d-1f4bb",v:["1f469-1f3fb-200d-1f4bb","1f469-1f3fc-200d-1f4bb","1f469-1f3fd-200d-1f4bb","1f469-1f3fe-200d-1f4bb","1f469-1f3ff-200d-1f4bb"],a:"4.0"},{n:["singer"],u:"1f9d1-200d-1f3a4",v:["1f9d1-1f3fb-200d-1f3a4","1f9d1-1f3fc-200d-1f3a4","1f9d1-1f3fd-200d-1f3a4","1f9d1-1f3fe-200d-1f3a4","1f9d1-1f3ff-200d-1f3a4"],a:"12.1"},{n:["man singer","male-singer"],u:"1f468-200d-1f3a4",v:["1f468-1f3fb-200d-1f3a4","1f468-1f3fc-200d-1f3a4","1f468-1f3fd-200d-1f3a4","1f468-1f3fe-200d-1f3a4","1f468-1f3ff-200d-1f3a4"],a:"4.0"},{n:["woman singer","female-singer"],u:"1f469-200d-1f3a4",v:["1f469-1f3fb-200d-1f3a4","1f469-1f3fc-200d-1f3a4","1f469-1f3fd-200d-1f3a4","1f469-1f3fe-200d-1f3a4","1f469-1f3ff-200d-1f3a4"],a:"4.0"},{n:["artist"],u:"1f9d1-200d-1f3a8",v:["1f9d1-1f3fb-200d-1f3a8","1f9d1-1f3fc-200d-1f3a8","1f9d1-1f3fd-200d-1f3a8","1f9d1-1f3fe-200d-1f3a8","1f9d1-1f3ff-200d-1f3a8"],a:"12.1"},{n:["man artist","male-artist"],u:"1f468-200d-1f3a8",v:["1f468-1f3fb-200d-1f3a8","1f468-1f3fc-200d-1f3a8","1f468-1f3fd-200d-1f3a8","1f468-1f3fe-200d-1f3a8","1f468-1f3ff-200d-1f3a8"],a:"4.0"},{n:["woman artist","female-artist"],u:"1f469-200d-1f3a8",v:["1f469-1f3fb-200d-1f3a8","1f469-1f3fc-200d-1f3a8","1f469-1f3fd-200d-1f3a8","1f469-1f3fe-200d-1f3a8","1f469-1f3ff-200d-1f3a8"],a:"4.0"},{n:["pilot"],u:"1f9d1-200d-2708-fe0f",v:["1f9d1-1f3fb-200d-2708-fe0f","1f9d1-1f3fc-200d-2708-fe0f","1f9d1-1f3fd-200d-2708-fe0f","1f9d1-1f3fe-200d-2708-fe0f","1f9d1-1f3ff-200d-2708-fe0f"],a:"12.1"},{n:["man pilot","male-pilot"],u:"1f468-200d-2708-fe0f",v:["1f468-1f3fb-200d-2708-fe0f","1f468-1f3fc-200d-2708-fe0f","1f468-1f3fd-200d-2708-fe0f","1f468-1f3fe-200d-2708-fe0f","1f468-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["woman pilot","female-pilot"],u:"1f469-200d-2708-fe0f",v:["1f469-1f3fb-200d-2708-fe0f","1f469-1f3fc-200d-2708-fe0f","1f469-1f3fd-200d-2708-fe0f","1f469-1f3fe-200d-2708-fe0f","1f469-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["astronaut"],u:"1f9d1-200d-1f680",v:["1f9d1-1f3fb-200d-1f680","1f9d1-1f3fc-200d-1f680","1f9d1-1f3fd-200d-1f680","1f9d1-1f3fe-200d-1f680","1f9d1-1f3ff-200d-1f680"],a:"12.1"},{n:["man astronaut","male-astronaut"],u:"1f468-200d-1f680",v:["1f468-1f3fb-200d-1f680","1f468-1f3fc-200d-1f680","1f468-1f3fd-200d-1f680","1f468-1f3fe-200d-1f680","1f468-1f3ff-200d-1f680"],a:"4.0"},{n:["woman astronaut","female-astronaut"],u:"1f469-200d-1f680",v:["1f469-1f3fb-200d-1f680","1f469-1f3fc-200d-1f680","1f469-1f3fd-200d-1f680","1f469-1f3fe-200d-1f680","1f469-1f3ff-200d-1f680"],a:"4.0"},{n:["firefighter"],u:"1f9d1-200d-1f692",v:["1f9d1-1f3fb-200d-1f692","1f9d1-1f3fc-200d-1f692","1f9d1-1f3fd-200d-1f692","1f9d1-1f3fe-200d-1f692","1f9d1-1f3ff-200d-1f692"],a:"12.1"},{n:["man firefighter","male-firefighter"],u:"1f468-200d-1f692",v:["1f468-1f3fb-200d-1f692","1f468-1f3fc-200d-1f692","1f468-1f3fd-200d-1f692","1f468-1f3fe-200d-1f692","1f468-1f3ff-200d-1f692"],a:"4.0"},{n:["woman firefighter","female-firefighter"],u:"1f469-200d-1f692",v:["1f469-1f3fb-200d-1f692","1f469-1f3fc-200d-1f692","1f469-1f3fd-200d-1f692","1f469-1f3fe-200d-1f692","1f469-1f3ff-200d-1f692"],a:"4.0"},{n:["cop","police officer"],u:"1f46e",v:["1f46e-1f3fb","1f46e-1f3fc","1f46e-1f3fd","1f46e-1f3fe","1f46e-1f3ff"],a:"0.6"},{n:["man police officer","male-police-officer"],u:"1f46e-200d-2642-fe0f",v:["1f46e-1f3fb-200d-2642-fe0f","1f46e-1f3fc-200d-2642-fe0f","1f46e-1f3fd-200d-2642-fe0f","1f46e-1f3fe-200d-2642-fe0f","1f46e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman police officer","female-police-officer"],u:"1f46e-200d-2640-fe0f",v:["1f46e-1f3fb-200d-2640-fe0f","1f46e-1f3fc-200d-2640-fe0f","1f46e-1f3fd-200d-2640-fe0f","1f46e-1f3fe-200d-2640-fe0f","1f46e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["detective","sleuth or spy"],u:"1f575-fe0f",v:["1f575-1f3fb","1f575-1f3fc","1f575-1f3fd","1f575-1f3fe","1f575-1f3ff"],a:"0.7"},{n:["man detective","male-detective"],u:"1f575-fe0f-200d-2642-fe0f",v:["1f575-1f3fb-200d-2642-fe0f","1f575-1f3fc-200d-2642-fe0f","1f575-1f3fd-200d-2642-fe0f","1f575-1f3fe-200d-2642-fe0f","1f575-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman detective","female-detective"],u:"1f575-fe0f-200d-2640-fe0f",v:["1f575-1f3fb-200d-2640-fe0f","1f575-1f3fc-200d-2640-fe0f","1f575-1f3fd-200d-2640-fe0f","1f575-1f3fe-200d-2640-fe0f","1f575-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["guardsman"],u:"1f482",v:["1f482-1f3fb","1f482-1f3fc","1f482-1f3fd","1f482-1f3fe","1f482-1f3ff"],a:"0.6"},{n:["man guard","male-guard"],u:"1f482-200d-2642-fe0f",v:["1f482-1f3fb-200d-2642-fe0f","1f482-1f3fc-200d-2642-fe0f","1f482-1f3fd-200d-2642-fe0f","1f482-1f3fe-200d-2642-fe0f","1f482-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman guard","female-guard"],u:"1f482-200d-2640-fe0f",v:["1f482-1f3fb-200d-2640-fe0f","1f482-1f3fc-200d-2640-fe0f","1f482-1f3fd-200d-2640-fe0f","1f482-1f3fe-200d-2640-fe0f","1f482-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ninja"],u:"1f977",v:["1f977-1f3fb","1f977-1f3fc","1f977-1f3fd","1f977-1f3fe","1f977-1f3ff"],a:"13.0"},{n:["construction worker"],u:"1f477",v:["1f477-1f3fb","1f477-1f3fc","1f477-1f3fd","1f477-1f3fe","1f477-1f3ff"],a:"0.6"},{n:["man construction worker","male-construction-worker"],u:"1f477-200d-2642-fe0f",v:["1f477-1f3fb-200d-2642-fe0f","1f477-1f3fc-200d-2642-fe0f","1f477-1f3fd-200d-2642-fe0f","1f477-1f3fe-200d-2642-fe0f","1f477-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman construction worker","female-construction-worker"],u:"1f477-200d-2640-fe0f",v:["1f477-1f3fb-200d-2640-fe0f","1f477-1f3fc-200d-2640-fe0f","1f477-1f3fd-200d-2640-fe0f","1f477-1f3fe-200d-2640-fe0f","1f477-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with crown"],u:"1fac5",v:["1fac5-1f3fb","1fac5-1f3fc","1fac5-1f3fd","1fac5-1f3fe","1fac5-1f3ff"],a:"14.0"},{n:["prince"],u:"1f934",v:["1f934-1f3fb","1f934-1f3fc","1f934-1f3fd","1f934-1f3fe","1f934-1f3ff"],a:"3.0"},{n:["princess"],u:"1f478",v:["1f478-1f3fb","1f478-1f3fc","1f478-1f3fd","1f478-1f3fe","1f478-1f3ff"],a:"0.6"},{n:["man with turban"],u:"1f473",v:["1f473-1f3fb","1f473-1f3fc","1f473-1f3fd","1f473-1f3fe","1f473-1f3ff"],a:"0.6"},{n:["man wearing turban","man-wearing-turban"],u:"1f473-200d-2642-fe0f",v:["1f473-1f3fb-200d-2642-fe0f","1f473-1f3fc-200d-2642-fe0f","1f473-1f3fd-200d-2642-fe0f","1f473-1f3fe-200d-2642-fe0f","1f473-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman wearing turban","woman-wearing-turban"],u:"1f473-200d-2640-fe0f",v:["1f473-1f3fb-200d-2640-fe0f","1f473-1f3fc-200d-2640-fe0f","1f473-1f3fd-200d-2640-fe0f","1f473-1f3fe-200d-2640-fe0f","1f473-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man with gua pi mao"],u:"1f472",v:["1f472-1f3fb","1f472-1f3fc","1f472-1f3fd","1f472-1f3fe","1f472-1f3ff"],a:"0.6"},{n:["person with headscarf"],u:"1f9d5",v:["1f9d5-1f3fb","1f9d5-1f3fc","1f9d5-1f3fd","1f9d5-1f3fe","1f9d5-1f3ff"],a:"5.0"},{n:["man in tuxedo","person in tuxedo"],u:"1f935",v:["1f935-1f3fb","1f935-1f3fc","1f935-1f3fd","1f935-1f3fe","1f935-1f3ff"],a:"3.0"},{n:["man in tuxedo"],u:"1f935-200d-2642-fe0f",v:["1f935-1f3fb-200d-2642-fe0f","1f935-1f3fc-200d-2642-fe0f","1f935-1f3fd-200d-2642-fe0f","1f935-1f3fe-200d-2642-fe0f","1f935-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman in tuxedo"],u:"1f935-200d-2640-fe0f",v:["1f935-1f3fb-200d-2640-fe0f","1f935-1f3fc-200d-2640-fe0f","1f935-1f3fd-200d-2640-fe0f","1f935-1f3fe-200d-2640-fe0f","1f935-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["bride with veil"],u:"1f470",v:["1f470-1f3fb","1f470-1f3fc","1f470-1f3fd","1f470-1f3fe","1f470-1f3ff"],a:"0.6"},{n:["man with veil"],u:"1f470-200d-2642-fe0f",v:["1f470-1f3fb-200d-2642-fe0f","1f470-1f3fc-200d-2642-fe0f","1f470-1f3fd-200d-2642-fe0f","1f470-1f3fe-200d-2642-fe0f","1f470-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman with veil"],u:"1f470-200d-2640-fe0f",v:["1f470-1f3fb-200d-2640-fe0f","1f470-1f3fc-200d-2640-fe0f","1f470-1f3fd-200d-2640-fe0f","1f470-1f3fe-200d-2640-fe0f","1f470-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["pregnant woman"],u:"1f930",v:["1f930-1f3fb","1f930-1f3fc","1f930-1f3fd","1f930-1f3fe","1f930-1f3ff"],a:"3.0"},{n:["pregnant man"],u:"1fac3",v:["1fac3-1f3fb","1fac3-1f3fc","1fac3-1f3fd","1fac3-1f3fe","1fac3-1f3ff"],a:"14.0"},{n:["pregnant person"],u:"1fac4",v:["1fac4-1f3fb","1fac4-1f3fc","1fac4-1f3fd","1fac4-1f3fe","1fac4-1f3ff"],a:"14.0"},{n:["breast-feeding"],u:"1f931",v:["1f931-1f3fb","1f931-1f3fc","1f931-1f3fd","1f931-1f3fe","1f931-1f3ff"],a:"5.0"},{n:["woman feeding baby"],u:"1f469-200d-1f37c",v:["1f469-1f3fb-200d-1f37c","1f469-1f3fc-200d-1f37c","1f469-1f3fd-200d-1f37c","1f469-1f3fe-200d-1f37c","1f469-1f3ff-200d-1f37c"],a:"13.0"},{n:["man feeding baby"],u:"1f468-200d-1f37c",v:["1f468-1f3fb-200d-1f37c","1f468-1f3fc-200d-1f37c","1f468-1f3fd-200d-1f37c","1f468-1f3fe-200d-1f37c","1f468-1f3ff-200d-1f37c"],a:"13.0"},{n:["person feeding baby"],u:"1f9d1-200d-1f37c",v:["1f9d1-1f3fb-200d-1f37c","1f9d1-1f3fc-200d-1f37c","1f9d1-1f3fd-200d-1f37c","1f9d1-1f3fe-200d-1f37c","1f9d1-1f3ff-200d-1f37c"],a:"13.0"},{n:["angel","baby angel"],u:"1f47c",v:["1f47c-1f3fb","1f47c-1f3fc","1f47c-1f3fd","1f47c-1f3fe","1f47c-1f3ff"],a:"0.6"},{n:["santa","father christmas"],u:"1f385",v:["1f385-1f3fb","1f385-1f3fc","1f385-1f3fd","1f385-1f3fe","1f385-1f3ff"],a:"0.6"},{n:["mrs claus","mother christmas"],u:"1f936",v:["1f936-1f3fb","1f936-1f3fc","1f936-1f3fd","1f936-1f3fe","1f936-1f3ff"],a:"3.0"},{n:["mx claus"],u:"1f9d1-200d-1f384",v:["1f9d1-1f3fb-200d-1f384","1f9d1-1f3fc-200d-1f384","1f9d1-1f3fd-200d-1f384","1f9d1-1f3fe-200d-1f384","1f9d1-1f3ff-200d-1f384"],a:"13.0"},{n:["superhero"],u:"1f9b8",v:["1f9b8-1f3fb","1f9b8-1f3fc","1f9b8-1f3fd","1f9b8-1f3fe","1f9b8-1f3ff"],a:"11.0"},{n:["man superhero","male superhero"],u:"1f9b8-200d-2642-fe0f",v:["1f9b8-1f3fb-200d-2642-fe0f","1f9b8-1f3fc-200d-2642-fe0f","1f9b8-1f3fd-200d-2642-fe0f","1f9b8-1f3fe-200d-2642-fe0f","1f9b8-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman superhero","female superhero"],u:"1f9b8-200d-2640-fe0f",v:["1f9b8-1f3fb-200d-2640-fe0f","1f9b8-1f3fc-200d-2640-fe0f","1f9b8-1f3fd-200d-2640-fe0f","1f9b8-1f3fe-200d-2640-fe0f","1f9b8-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["supervillain"],u:"1f9b9",v:["1f9b9-1f3fb","1f9b9-1f3fc","1f9b9-1f3fd","1f9b9-1f3fe","1f9b9-1f3ff"],a:"11.0"},{n:["man supervillain","male supervillain"],u:"1f9b9-200d-2642-fe0f",v:["1f9b9-1f3fb-200d-2642-fe0f","1f9b9-1f3fc-200d-2642-fe0f","1f9b9-1f3fd-200d-2642-fe0f","1f9b9-1f3fe-200d-2642-fe0f","1f9b9-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman supervillain","female supervillain"],u:"1f9b9-200d-2640-fe0f",v:["1f9b9-1f3fb-200d-2640-fe0f","1f9b9-1f3fc-200d-2640-fe0f","1f9b9-1f3fd-200d-2640-fe0f","1f9b9-1f3fe-200d-2640-fe0f","1f9b9-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["mage"],u:"1f9d9",v:["1f9d9-1f3fb","1f9d9-1f3fc","1f9d9-1f3fd","1f9d9-1f3fe","1f9d9-1f3ff"],a:"5.0"},{n:["man mage","male mage"],u:"1f9d9-200d-2642-fe0f",v:["1f9d9-1f3fb-200d-2642-fe0f","1f9d9-1f3fc-200d-2642-fe0f","1f9d9-1f3fd-200d-2642-fe0f","1f9d9-1f3fe-200d-2642-fe0f","1f9d9-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman mage","female mage"],u:"1f9d9-200d-2640-fe0f",v:["1f9d9-1f3fb-200d-2640-fe0f","1f9d9-1f3fc-200d-2640-fe0f","1f9d9-1f3fd-200d-2640-fe0f","1f9d9-1f3fe-200d-2640-fe0f","1f9d9-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fairy"],u:"1f9da",v:["1f9da-1f3fb","1f9da-1f3fc","1f9da-1f3fd","1f9da-1f3fe","1f9da-1f3ff"],a:"5.0"},{n:["man fairy","male fairy"],u:"1f9da-200d-2642-fe0f",v:["1f9da-1f3fb-200d-2642-fe0f","1f9da-1f3fc-200d-2642-fe0f","1f9da-1f3fd-200d-2642-fe0f","1f9da-1f3fe-200d-2642-fe0f","1f9da-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman fairy","female fairy"],u:"1f9da-200d-2640-fe0f",v:["1f9da-1f3fb-200d-2640-fe0f","1f9da-1f3fc-200d-2640-fe0f","1f9da-1f3fd-200d-2640-fe0f","1f9da-1f3fe-200d-2640-fe0f","1f9da-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["vampire"],u:"1f9db",v:["1f9db-1f3fb","1f9db-1f3fc","1f9db-1f3fd","1f9db-1f3fe","1f9db-1f3ff"],a:"5.0"},{n:["man vampire","male vampire"],u:"1f9db-200d-2642-fe0f",v:["1f9db-1f3fb-200d-2642-fe0f","1f9db-1f3fc-200d-2642-fe0f","1f9db-1f3fd-200d-2642-fe0f","1f9db-1f3fe-200d-2642-fe0f","1f9db-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman vampire","female vampire"],u:"1f9db-200d-2640-fe0f",v:["1f9db-1f3fb-200d-2640-fe0f","1f9db-1f3fc-200d-2640-fe0f","1f9db-1f3fd-200d-2640-fe0f","1f9db-1f3fe-200d-2640-fe0f","1f9db-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["merperson"],u:"1f9dc",v:["1f9dc-1f3fb","1f9dc-1f3fc","1f9dc-1f3fd","1f9dc-1f3fe","1f9dc-1f3ff"],a:"5.0"},{n:["merman"],u:"1f9dc-200d-2642-fe0f",v:["1f9dc-1f3fb-200d-2642-fe0f","1f9dc-1f3fc-200d-2642-fe0f","1f9dc-1f3fd-200d-2642-fe0f","1f9dc-1f3fe-200d-2642-fe0f","1f9dc-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["mermaid"],u:"1f9dc-200d-2640-fe0f",v:["1f9dc-1f3fb-200d-2640-fe0f","1f9dc-1f3fc-200d-2640-fe0f","1f9dc-1f3fd-200d-2640-fe0f","1f9dc-1f3fe-200d-2640-fe0f","1f9dc-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["elf"],u:"1f9dd",v:["1f9dd-1f3fb","1f9dd-1f3fc","1f9dd-1f3fd","1f9dd-1f3fe","1f9dd-1f3ff"],a:"5.0"},{n:["man elf","male elf"],u:"1f9dd-200d-2642-fe0f",v:["1f9dd-1f3fb-200d-2642-fe0f","1f9dd-1f3fc-200d-2642-fe0f","1f9dd-1f3fd-200d-2642-fe0f","1f9dd-1f3fe-200d-2642-fe0f","1f9dd-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman elf","female elf"],u:"1f9dd-200d-2640-fe0f",v:["1f9dd-1f3fb-200d-2640-fe0f","1f9dd-1f3fc-200d-2640-fe0f","1f9dd-1f3fd-200d-2640-fe0f","1f9dd-1f3fe-200d-2640-fe0f","1f9dd-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["genie"],u:"1f9de",a:"5.0"},{n:["man genie","male genie"],u:"1f9de-200d-2642-fe0f",a:"5.0"},{n:["woman genie","female genie"],u:"1f9de-200d-2640-fe0f",a:"5.0"},{n:["zombie"],u:"1f9df",a:"5.0"},{n:["man zombie","male zombie"],u:"1f9df-200d-2642-fe0f",a:"5.0"},{n:["woman zombie","female zombie"],u:"1f9df-200d-2640-fe0f",a:"5.0"},{n:["troll"],u:"1f9cc",a:"14.0"},{n:["massage","face massage"],u:"1f486",v:["1f486-1f3fb","1f486-1f3fc","1f486-1f3fd","1f486-1f3fe","1f486-1f3ff"],a:"0.6"},{n:["man getting massage","man-getting-massage"],u:"1f486-200d-2642-fe0f",v:["1f486-1f3fb-200d-2642-fe0f","1f486-1f3fc-200d-2642-fe0f","1f486-1f3fd-200d-2642-fe0f","1f486-1f3fe-200d-2642-fe0f","1f486-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting massage","woman-getting-massage"],u:"1f486-200d-2640-fe0f",v:["1f486-1f3fb-200d-2640-fe0f","1f486-1f3fc-200d-2640-fe0f","1f486-1f3fd-200d-2640-fe0f","1f486-1f3fe-200d-2640-fe0f","1f486-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["haircut"],u:"1f487",v:["1f487-1f3fb","1f487-1f3fc","1f487-1f3fd","1f487-1f3fe","1f487-1f3ff"],a:"0.6"},{n:["man getting haircut","man-getting-haircut"],u:"1f487-200d-2642-fe0f",v:["1f487-1f3fb-200d-2642-fe0f","1f487-1f3fc-200d-2642-fe0f","1f487-1f3fd-200d-2642-fe0f","1f487-1f3fe-200d-2642-fe0f","1f487-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting haircut","woman-getting-haircut"],u:"1f487-200d-2640-fe0f",v:["1f487-1f3fb-200d-2640-fe0f","1f487-1f3fc-200d-2640-fe0f","1f487-1f3fd-200d-2640-fe0f","1f487-1f3fe-200d-2640-fe0f","1f487-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["walking","pedestrian"],u:"1f6b6",v:["1f6b6-1f3fb","1f6b6-1f3fc","1f6b6-1f3fd","1f6b6-1f3fe","1f6b6-1f3ff"],a:"0.6"},{n:["man walking","man-walking"],u:"1f6b6-200d-2642-fe0f",v:["1f6b6-1f3fb-200d-2642-fe0f","1f6b6-1f3fc-200d-2642-fe0f","1f6b6-1f3fd-200d-2642-fe0f","1f6b6-1f3fe-200d-2642-fe0f","1f6b6-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman walking","woman-walking"],u:"1f6b6-200d-2640-fe0f",v:["1f6b6-1f3fb-200d-2640-fe0f","1f6b6-1f3fc-200d-2640-fe0f","1f6b6-1f3fd-200d-2640-fe0f","1f6b6-1f3fe-200d-2640-fe0f","1f6b6-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["standing person"],u:"1f9cd",v:["1f9cd-1f3fb","1f9cd-1f3fc","1f9cd-1f3fd","1f9cd-1f3fe","1f9cd-1f3ff"],a:"12.0"},{n:["man standing"],u:"1f9cd-200d-2642-fe0f",v:["1f9cd-1f3fb-200d-2642-fe0f","1f9cd-1f3fc-200d-2642-fe0f","1f9cd-1f3fd-200d-2642-fe0f","1f9cd-1f3fe-200d-2642-fe0f","1f9cd-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman standing"],u:"1f9cd-200d-2640-fe0f",v:["1f9cd-1f3fb-200d-2640-fe0f","1f9cd-1f3fc-200d-2640-fe0f","1f9cd-1f3fd-200d-2640-fe0f","1f9cd-1f3fe-200d-2640-fe0f","1f9cd-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["kneeling person"],u:"1f9ce",v:["1f9ce-1f3fb","1f9ce-1f3fc","1f9ce-1f3fd","1f9ce-1f3fe","1f9ce-1f3ff"],a:"12.0"},{n:["man kneeling"],u:"1f9ce-200d-2642-fe0f",v:["1f9ce-1f3fb-200d-2642-fe0f","1f9ce-1f3fc-200d-2642-fe0f","1f9ce-1f3fd-200d-2642-fe0f","1f9ce-1f3fe-200d-2642-fe0f","1f9ce-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman kneeling"],u:"1f9ce-200d-2640-fe0f",v:["1f9ce-1f3fb-200d-2640-fe0f","1f9ce-1f3fc-200d-2640-fe0f","1f9ce-1f3fd-200d-2640-fe0f","1f9ce-1f3fe-200d-2640-fe0f","1f9ce-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["person with white cane","person with probing cane"],u:"1f9d1-200d-1f9af",v:["1f9d1-1f3fb-200d-1f9af","1f9d1-1f3fc-200d-1f9af","1f9d1-1f3fd-200d-1f9af","1f9d1-1f3fe-200d-1f9af","1f9d1-1f3ff-200d-1f9af"],a:"12.1"},{n:["man with white cane","man with probing cane"],u:"1f468-200d-1f9af",v:["1f468-1f3fb-200d-1f9af","1f468-1f3fc-200d-1f9af","1f468-1f3fd-200d-1f9af","1f468-1f3fe-200d-1f9af","1f468-1f3ff-200d-1f9af"],a:"12.0"},{n:["woman with white cane","woman with probing cane"],u:"1f469-200d-1f9af",v:["1f469-1f3fb-200d-1f9af","1f469-1f3fc-200d-1f9af","1f469-1f3fd-200d-1f9af","1f469-1f3fe-200d-1f9af","1f469-1f3ff-200d-1f9af"],a:"12.0"},{n:["person in motorized wheelchair"],u:"1f9d1-200d-1f9bc",v:["1f9d1-1f3fb-200d-1f9bc","1f9d1-1f3fc-200d-1f9bc","1f9d1-1f3fd-200d-1f9bc","1f9d1-1f3fe-200d-1f9bc","1f9d1-1f3ff-200d-1f9bc"],a:"12.1"},{n:["man in motorized wheelchair"],u:"1f468-200d-1f9bc",v:["1f468-1f3fb-200d-1f9bc","1f468-1f3fc-200d-1f9bc","1f468-1f3fd-200d-1f9bc","1f468-1f3fe-200d-1f9bc","1f468-1f3ff-200d-1f9bc"],a:"12.0"},{n:["woman in motorized wheelchair"],u:"1f469-200d-1f9bc",v:["1f469-1f3fb-200d-1f9bc","1f469-1f3fc-200d-1f9bc","1f469-1f3fd-200d-1f9bc","1f469-1f3fe-200d-1f9bc","1f469-1f3ff-200d-1f9bc"],a:"12.0"},{n:["person in manual wheelchair"],u:"1f9d1-200d-1f9bd",v:["1f9d1-1f3fb-200d-1f9bd","1f9d1-1f3fc-200d-1f9bd","1f9d1-1f3fd-200d-1f9bd","1f9d1-1f3fe-200d-1f9bd","1f9d1-1f3ff-200d-1f9bd"],a:"12.1"},{n:["man in manual wheelchair"],u:"1f468-200d-1f9bd",v:["1f468-1f3fb-200d-1f9bd","1f468-1f3fc-200d-1f9bd","1f468-1f3fd-200d-1f9bd","1f468-1f3fe-200d-1f9bd","1f468-1f3ff-200d-1f9bd"],a:"12.0"},{n:["woman in manual wheelchair"],u:"1f469-200d-1f9bd",v:["1f469-1f3fb-200d-1f9bd","1f469-1f3fc-200d-1f9bd","1f469-1f3fd-200d-1f9bd","1f469-1f3fe-200d-1f9bd","1f469-1f3ff-200d-1f9bd"],a:"12.0"},{n:["runner","running"],u:"1f3c3",v:["1f3c3-1f3fb","1f3c3-1f3fc","1f3c3-1f3fd","1f3c3-1f3fe","1f3c3-1f3ff"],a:"0.6"},{n:["man running","man-running"],u:"1f3c3-200d-2642-fe0f",v:["1f3c3-1f3fb-200d-2642-fe0f","1f3c3-1f3fc-200d-2642-fe0f","1f3c3-1f3fd-200d-2642-fe0f","1f3c3-1f3fe-200d-2642-fe0f","1f3c3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman running","woman-running"],u:"1f3c3-200d-2640-fe0f",v:["1f3c3-1f3fb-200d-2640-fe0f","1f3c3-1f3fc-200d-2640-fe0f","1f3c3-1f3fd-200d-2640-fe0f","1f3c3-1f3fe-200d-2640-fe0f","1f3c3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["dancer"],u:"1f483",v:["1f483-1f3fb","1f483-1f3fc","1f483-1f3fd","1f483-1f3fe","1f483-1f3ff"],a:"0.6"},{n:["man dancing"],u:"1f57a",v:["1f57a-1f3fb","1f57a-1f3fc","1f57a-1f3fd","1f57a-1f3fe","1f57a-1f3ff"],a:"3.0"},{n:["person in suit levitating","man in business suit levitating"],u:"1f574-fe0f",v:["1f574-1f3fb","1f574-1f3fc","1f574-1f3fd","1f574-1f3fe","1f574-1f3ff"],a:"0.7"},{n:["dancers","woman with bunny ears"],u:"1f46f",a:"0.6"},{n:["men with bunny ears","men-with-bunny-ears-partying","man-with-bunny-ears-partying"],u:"1f46f-200d-2642-fe0f",a:"4.0"},{n:["women with bunny ears","women-with-bunny-ears-partying","woman-with-bunny-ears-partying"],u:"1f46f-200d-2640-fe0f",a:"4.0"},{n:["person in steamy room"],u:"1f9d6",v:["1f9d6-1f3fb","1f9d6-1f3fc","1f9d6-1f3fd","1f9d6-1f3fe","1f9d6-1f3ff"],a:"5.0"},{n:["man in steamy room"],u:"1f9d6-200d-2642-fe0f",v:["1f9d6-1f3fb-200d-2642-fe0f","1f9d6-1f3fc-200d-2642-fe0f","1f9d6-1f3fd-200d-2642-fe0f","1f9d6-1f3fe-200d-2642-fe0f","1f9d6-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in steamy room"],u:"1f9d6-200d-2640-fe0f",v:["1f9d6-1f3fb-200d-2640-fe0f","1f9d6-1f3fc-200d-2640-fe0f","1f9d6-1f3fd-200d-2640-fe0f","1f9d6-1f3fe-200d-2640-fe0f","1f9d6-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["person climbing"],u:"1f9d7",v:["1f9d7-1f3fb","1f9d7-1f3fc","1f9d7-1f3fd","1f9d7-1f3fe","1f9d7-1f3ff"],a:"5.0"},{n:["man climbing"],u:"1f9d7-200d-2642-fe0f",v:["1f9d7-1f3fb-200d-2642-fe0f","1f9d7-1f3fc-200d-2642-fe0f","1f9d7-1f3fd-200d-2642-fe0f","1f9d7-1f3fe-200d-2642-fe0f","1f9d7-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman climbing"],u:"1f9d7-200d-2640-fe0f",v:["1f9d7-1f3fb-200d-2640-fe0f","1f9d7-1f3fc-200d-2640-fe0f","1f9d7-1f3fd-200d-2640-fe0f","1f9d7-1f3fe-200d-2640-fe0f","1f9d7-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fencer"],u:"1f93a",a:"3.0"},{n:["horse racing"],u:"1f3c7",v:["1f3c7-1f3fb","1f3c7-1f3fc","1f3c7-1f3fd","1f3c7-1f3fe","1f3c7-1f3ff"],a:"1.0"},{n:["skier"],u:"26f7-fe0f",a:"0.7"},{n:["snowboarder"],u:"1f3c2",v:["1f3c2-1f3fb","1f3c2-1f3fc","1f3c2-1f3fd","1f3c2-1f3fe","1f3c2-1f3ff"],a:"0.6"},{n:["golfer","person golfing"],u:"1f3cc-fe0f",v:["1f3cc-1f3fb","1f3cc-1f3fc","1f3cc-1f3fd","1f3cc-1f3fe","1f3cc-1f3ff"],a:"0.7"},{n:["man golfing","man-golfing"],u:"1f3cc-fe0f-200d-2642-fe0f",v:["1f3cc-1f3fb-200d-2642-fe0f","1f3cc-1f3fc-200d-2642-fe0f","1f3cc-1f3fd-200d-2642-fe0f","1f3cc-1f3fe-200d-2642-fe0f","1f3cc-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman golfing","woman-golfing"],u:"1f3cc-fe0f-200d-2640-fe0f",v:["1f3cc-1f3fb-200d-2640-fe0f","1f3cc-1f3fc-200d-2640-fe0f","1f3cc-1f3fd-200d-2640-fe0f","1f3cc-1f3fe-200d-2640-fe0f","1f3cc-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["surfer"],u:"1f3c4",v:["1f3c4-1f3fb","1f3c4-1f3fc","1f3c4-1f3fd","1f3c4-1f3fe","1f3c4-1f3ff"],a:"0.6"},{n:["man surfing","man-surfing"],u:"1f3c4-200d-2642-fe0f",v:["1f3c4-1f3fb-200d-2642-fe0f","1f3c4-1f3fc-200d-2642-fe0f","1f3c4-1f3fd-200d-2642-fe0f","1f3c4-1f3fe-200d-2642-fe0f","1f3c4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman surfing","woman-surfing"],u:"1f3c4-200d-2640-fe0f",v:["1f3c4-1f3fb-200d-2640-fe0f","1f3c4-1f3fc-200d-2640-fe0f","1f3c4-1f3fd-200d-2640-fe0f","1f3c4-1f3fe-200d-2640-fe0f","1f3c4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["rowboat"],u:"1f6a3",v:["1f6a3-1f3fb","1f6a3-1f3fc","1f6a3-1f3fd","1f6a3-1f3fe","1f6a3-1f3ff"],a:"1.0"},{n:["man rowing boat","man-rowing-boat"],u:"1f6a3-200d-2642-fe0f",v:["1f6a3-1f3fb-200d-2642-fe0f","1f6a3-1f3fc-200d-2642-fe0f","1f6a3-1f3fd-200d-2642-fe0f","1f6a3-1f3fe-200d-2642-fe0f","1f6a3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman rowing boat","woman-rowing-boat"],u:"1f6a3-200d-2640-fe0f",v:["1f6a3-1f3fb-200d-2640-fe0f","1f6a3-1f3fc-200d-2640-fe0f","1f6a3-1f3fd-200d-2640-fe0f","1f6a3-1f3fe-200d-2640-fe0f","1f6a3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["swimmer"],u:"1f3ca",v:["1f3ca-1f3fb","1f3ca-1f3fc","1f3ca-1f3fd","1f3ca-1f3fe","1f3ca-1f3ff"],a:"0.6"},{n:["man swimming","man-swimming"],u:"1f3ca-200d-2642-fe0f",v:["1f3ca-1f3fb-200d-2642-fe0f","1f3ca-1f3fc-200d-2642-fe0f","1f3ca-1f3fd-200d-2642-fe0f","1f3ca-1f3fe-200d-2642-fe0f","1f3ca-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman swimming","woman-swimming"],u:"1f3ca-200d-2640-fe0f",v:["1f3ca-1f3fb-200d-2640-fe0f","1f3ca-1f3fc-200d-2640-fe0f","1f3ca-1f3fd-200d-2640-fe0f","1f3ca-1f3fe-200d-2640-fe0f","1f3ca-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with ball","person bouncing ball"],u:"26f9-fe0f",v:["26f9-1f3fb","26f9-1f3fc","26f9-1f3fd","26f9-1f3fe","26f9-1f3ff"],a:"0.7"},{n:["man bouncing ball","man-bouncing-ball"],u:"26f9-fe0f-200d-2642-fe0f",v:["26f9-1f3fb-200d-2642-fe0f","26f9-1f3fc-200d-2642-fe0f","26f9-1f3fd-200d-2642-fe0f","26f9-1f3fe-200d-2642-fe0f","26f9-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bouncing ball","woman-bouncing-ball"],u:"26f9-fe0f-200d-2640-fe0f",v:["26f9-1f3fb-200d-2640-fe0f","26f9-1f3fc-200d-2640-fe0f","26f9-1f3fd-200d-2640-fe0f","26f9-1f3fe-200d-2640-fe0f","26f9-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["weight lifter","person lifting weights"],u:"1f3cb-fe0f",v:["1f3cb-1f3fb","1f3cb-1f3fc","1f3cb-1f3fd","1f3cb-1f3fe","1f3cb-1f3ff"],a:"0.7"},{n:["man lifting weights","man-lifting-weights"],u:"1f3cb-fe0f-200d-2642-fe0f",v:["1f3cb-1f3fb-200d-2642-fe0f","1f3cb-1f3fc-200d-2642-fe0f","1f3cb-1f3fd-200d-2642-fe0f","1f3cb-1f3fe-200d-2642-fe0f","1f3cb-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman lifting weights","woman-lifting-weights"],u:"1f3cb-fe0f-200d-2640-fe0f",v:["1f3cb-1f3fb-200d-2640-fe0f","1f3cb-1f3fc-200d-2640-fe0f","1f3cb-1f3fd-200d-2640-fe0f","1f3cb-1f3fe-200d-2640-fe0f","1f3cb-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["bicyclist"],u:"1f6b4",v:["1f6b4-1f3fb","1f6b4-1f3fc","1f6b4-1f3fd","1f6b4-1f3fe","1f6b4-1f3ff"],a:"1.0"},{n:["man biking","man-biking"],u:"1f6b4-200d-2642-fe0f",v:["1f6b4-1f3fb-200d-2642-fe0f","1f6b4-1f3fc-200d-2642-fe0f","1f6b4-1f3fd-200d-2642-fe0f","1f6b4-1f3fe-200d-2642-fe0f","1f6b4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman biking","woman-biking"],u:"1f6b4-200d-2640-fe0f",v:["1f6b4-1f3fb-200d-2640-fe0f","1f6b4-1f3fc-200d-2640-fe0f","1f6b4-1f3fd-200d-2640-fe0f","1f6b4-1f3fe-200d-2640-fe0f","1f6b4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["mountain bicyclist"],u:"1f6b5",v:["1f6b5-1f3fb","1f6b5-1f3fc","1f6b5-1f3fd","1f6b5-1f3fe","1f6b5-1f3ff"],a:"1.0"},{n:["man mountain biking","man-mountain-biking"],u:"1f6b5-200d-2642-fe0f",v:["1f6b5-1f3fb-200d-2642-fe0f","1f6b5-1f3fc-200d-2642-fe0f","1f6b5-1f3fd-200d-2642-fe0f","1f6b5-1f3fe-200d-2642-fe0f","1f6b5-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman mountain biking","woman-mountain-biking"],u:"1f6b5-200d-2640-fe0f",v:["1f6b5-1f3fb-200d-2640-fe0f","1f6b5-1f3fc-200d-2640-fe0f","1f6b5-1f3fd-200d-2640-fe0f","1f6b5-1f3fe-200d-2640-fe0f","1f6b5-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person doing cartwheel"],u:"1f938",v:["1f938-1f3fb","1f938-1f3fc","1f938-1f3fd","1f938-1f3fe","1f938-1f3ff"],a:"3.0"},{n:["man cartwheeling","man-cartwheeling"],u:"1f938-200d-2642-fe0f",v:["1f938-1f3fb-200d-2642-fe0f","1f938-1f3fc-200d-2642-fe0f","1f938-1f3fd-200d-2642-fe0f","1f938-1f3fe-200d-2642-fe0f","1f938-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman cartwheeling","woman-cartwheeling"],u:"1f938-200d-2640-fe0f",v:["1f938-1f3fb-200d-2640-fe0f","1f938-1f3fc-200d-2640-fe0f","1f938-1f3fd-200d-2640-fe0f","1f938-1f3fe-200d-2640-fe0f","1f938-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["wrestlers"],u:"1f93c",a:"3.0"},{n:["men wrestling","man-wrestling"],u:"1f93c-200d-2642-fe0f",a:"4.0"},{n:["women wrestling","woman-wrestling"],u:"1f93c-200d-2640-fe0f",a:"4.0"},{n:["water polo"],u:"1f93d",v:["1f93d-1f3fb","1f93d-1f3fc","1f93d-1f3fd","1f93d-1f3fe","1f93d-1f3ff"],a:"3.0"},{n:["man playing water polo","man-playing-water-polo"],u:"1f93d-200d-2642-fe0f",v:["1f93d-1f3fb-200d-2642-fe0f","1f93d-1f3fc-200d-2642-fe0f","1f93d-1f3fd-200d-2642-fe0f","1f93d-1f3fe-200d-2642-fe0f","1f93d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing water polo","woman-playing-water-polo"],u:"1f93d-200d-2640-fe0f",v:["1f93d-1f3fb-200d-2640-fe0f","1f93d-1f3fc-200d-2640-fe0f","1f93d-1f3fd-200d-2640-fe0f","1f93d-1f3fe-200d-2640-fe0f","1f93d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["handball"],u:"1f93e",v:["1f93e-1f3fb","1f93e-1f3fc","1f93e-1f3fd","1f93e-1f3fe","1f93e-1f3ff"],a:"3.0"},{n:["man playing handball","man-playing-handball"],u:"1f93e-200d-2642-fe0f",v:["1f93e-1f3fb-200d-2642-fe0f","1f93e-1f3fc-200d-2642-fe0f","1f93e-1f3fd-200d-2642-fe0f","1f93e-1f3fe-200d-2642-fe0f","1f93e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing handball","woman-playing-handball"],u:"1f93e-200d-2640-fe0f",v:["1f93e-1f3fb-200d-2640-fe0f","1f93e-1f3fc-200d-2640-fe0f","1f93e-1f3fd-200d-2640-fe0f","1f93e-1f3fe-200d-2640-fe0f","1f93e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["juggling"],u:"1f939",v:["1f939-1f3fb","1f939-1f3fc","1f939-1f3fd","1f939-1f3fe","1f939-1f3ff"],a:"3.0"},{n:["man juggling","man-juggling"],u:"1f939-200d-2642-fe0f",v:["1f939-1f3fb-200d-2642-fe0f","1f939-1f3fc-200d-2642-fe0f","1f939-1f3fd-200d-2642-fe0f","1f939-1f3fe-200d-2642-fe0f","1f939-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman juggling","woman-juggling"],u:"1f939-200d-2640-fe0f",v:["1f939-1f3fb-200d-2640-fe0f","1f939-1f3fc-200d-2640-fe0f","1f939-1f3fd-200d-2640-fe0f","1f939-1f3fe-200d-2640-fe0f","1f939-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person in lotus position"],u:"1f9d8",v:["1f9d8-1f3fb","1f9d8-1f3fc","1f9d8-1f3fd","1f9d8-1f3fe","1f9d8-1f3ff"],a:"5.0"},{n:["man in lotus position"],u:"1f9d8-200d-2642-fe0f",v:["1f9d8-1f3fb-200d-2642-fe0f","1f9d8-1f3fc-200d-2642-fe0f","1f9d8-1f3fd-200d-2642-fe0f","1f9d8-1f3fe-200d-2642-fe0f","1f9d8-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in lotus position"],u:"1f9d8-200d-2640-fe0f",v:["1f9d8-1f3fb-200d-2640-fe0f","1f9d8-1f3fc-200d-2640-fe0f","1f9d8-1f3fd-200d-2640-fe0f","1f9d8-1f3fe-200d-2640-fe0f","1f9d8-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["bath"],u:"1f6c0",v:["1f6c0-1f3fb","1f6c0-1f3fc","1f6c0-1f3fd","1f6c0-1f3fe","1f6c0-1f3ff"],a:"0.6"},{n:["sleeping accommodation"],u:"1f6cc",v:["1f6cc-1f3fb","1f6cc-1f3fc","1f6cc-1f3fd","1f6cc-1f3fe","1f6cc-1f3ff"],a:"1.0"},{n:["people holding hands"],u:"1f9d1-200d-1f91d-200d-1f9d1",v:["1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff"],a:"12.0"},{n:["women holding hands","two women holding hands"],u:"1f46d",v:["1f46d-1f3fb","1f46d-1f3fc","1f46d-1f3fd","1f46d-1f3fe","1f46d-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe"],a:"1.0"},{n:["couple","man and woman holding hands","woman and man holding hands"],u:"1f46b",v:["1f46b-1f3fb","1f46b-1f3fc","1f46b-1f3fd","1f46b-1f3fe","1f46b-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"0.6"},{n:["men holding hands","two men holding hands"],u:"1f46c",v:["1f46c-1f3fb","1f46c-1f3fc","1f46c-1f3fd","1f46c-1f3fe","1f46c-1f3ff","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"1.0"},{n:["kiss","couplekiss"],u:"1f48f",v:["1f48f-1f3fb","1f48f-1f3fc","1f48f-1f3fd","1f48f-1f3fe","1f48f-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-kiss-man","kiss: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["man-kiss-man","kiss: man, man"],u:"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-kiss-woman","kiss: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"],a:"2.0"},{n:["couple with heart"],u:"1f491",v:["1f491-1f3fb","1f491-1f3fc","1f491-1f3fd","1f491-1f3fe","1f491-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-heart-man","couple with heart: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["man-heart-man","couple with heart: man, man"],u:"1f468-200d-2764-fe0f-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-heart-woman","couple with heart: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff"],a:"2.0"},{n:["family"],u:"1f46a",a:"0.6"},{n:["man-woman-boy","family: man, woman, boy"],u:"1f468-200d-1f469-200d-1f466",a:"2.0"},{n:["man-woman-girl","family: man, woman, girl"],u:"1f468-200d-1f469-200d-1f467",a:"2.0"},{n:["man-woman-girl-boy","family: man, woman, girl, boy"],u:"1f468-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["man-woman-boy-boy","family: man, woman, boy, boy"],u:"1f468-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["man-woman-girl-girl","family: man, woman, girl, girl"],u:"1f468-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-man-boy","family: man, man, boy"],u:"1f468-200d-1f468-200d-1f466",a:"2.0"},{n:["man-man-girl","family: man, man, girl"],u:"1f468-200d-1f468-200d-1f467",a:"2.0"},{n:["man-man-girl-boy","family: man, man, girl, boy"],u:"1f468-200d-1f468-200d-1f467-200d-1f466",a:"2.0"},{n:["man-man-boy-boy","family: man, man, boy, boy"],u:"1f468-200d-1f468-200d-1f466-200d-1f466",a:"2.0"},{n:["man-man-girl-girl","family: man, man, girl, girl"],u:"1f468-200d-1f468-200d-1f467-200d-1f467",a:"2.0"},{n:["woman-woman-boy","family: woman, woman, boy"],u:"1f469-200d-1f469-200d-1f466",a:"2.0"},{n:["woman-woman-girl","family: woman, woman, girl"],u:"1f469-200d-1f469-200d-1f467",a:"2.0"},{n:["woman-woman-girl-boy","family: woman, woman, girl, boy"],u:"1f469-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["woman-woman-boy-boy","family: woman, woman, boy, boy"],u:"1f469-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["woman-woman-girl-girl","family: woman, woman, girl, girl"],u:"1f469-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-boy","family: man, boy"],u:"1f468-200d-1f466",a:"4.0"},{n:["man-boy-boy","family: man, boy, boy"],u:"1f468-200d-1f466-200d-1f466",a:"4.0"},{n:["man-girl","family: man, girl"],u:"1f468-200d-1f467",a:"4.0"},{n:["man-girl-boy","family: man, girl, boy"],u:"1f468-200d-1f467-200d-1f466",a:"4.0"},{n:["man-girl-girl","family: man, girl, girl"],u:"1f468-200d-1f467-200d-1f467",a:"4.0"},{n:["woman-boy","family: woman, boy"],u:"1f469-200d-1f466",a:"4.0"},{n:["woman-boy-boy","family: woman, boy, boy"],u:"1f469-200d-1f466-200d-1f466",a:"4.0"},{n:["woman-girl","family: woman, girl"],u:"1f469-200d-1f467",a:"4.0"},{n:["woman-girl-boy","family: woman, girl, boy"],u:"1f469-200d-1f467-200d-1f466",a:"4.0"},{n:["woman-girl-girl","family: woman, girl, girl"],u:"1f469-200d-1f467-200d-1f467",a:"4.0"},{n:["speaking head","speaking head in silhouette"],u:"1f5e3-fe0f",a:"0.7"},{n:["bust in silhouette"],u:"1f464",a:"0.6"},{n:["busts in silhouette"],u:"1f465",a:"1.0"},{n:["people hugging"],u:"1fac2",a:"13.0"},{n:["footprints"],u:"1f463",a:"0.6"}],cSe=[{n:["monkey face"],u:"1f435",a:"0.6"},{n:["monkey"],u:"1f412",a:"0.6"},{n:["gorilla"],u:"1f98d",a:"3.0"},{n:["orangutan"],u:"1f9a7",a:"12.0"},{n:["dog","dog face"],u:"1f436",a:"0.6"},{n:["dog","dog2"],u:"1f415",a:"0.7"},{n:["guide dog"],u:"1f9ae",a:"12.0"},{n:["service dog"],u:"1f415-200d-1f9ba",a:"12.0"},{n:["poodle"],u:"1f429",a:"0.6"},{n:["wolf","wolf face"],u:"1f43a",a:"0.6"},{n:["fox face"],u:"1f98a",a:"3.0"},{n:["raccoon"],u:"1f99d",a:"11.0"},{n:["cat","cat face"],u:"1f431",a:"0.6"},{n:["cat","cat2"],u:"1f408",a:"0.7"},{n:["black cat"],u:"1f408-200d-2b1b",a:"13.0"},{n:["lion face"],u:"1f981",a:"1.0"},{n:["tiger","tiger face"],u:"1f42f",a:"0.6"},{n:["tiger","tiger2"],u:"1f405",a:"1.0"},{n:["leopard"],u:"1f406",a:"1.0"},{n:["horse","horse face"],u:"1f434",a:"0.6"},{n:["horse","racehorse"],u:"1f40e",a:"0.6"},{n:["unicorn face"],u:"1f984",a:"1.0"},{n:["zebra face"],u:"1f993",a:"5.0"},{n:["deer"],u:"1f98c",a:"3.0"},{n:["bison"],u:"1f9ac",a:"13.0"},{n:["cow","cow face"],u:"1f42e",a:"0.6"},{n:["ox"],u:"1f402",a:"1.0"},{n:["water buffalo"],u:"1f403",a:"1.0"},{n:["cow","cow2"],u:"1f404",a:"1.0"},{n:["pig","pig face"],u:"1f437",a:"0.6"},{n:["pig","pig2"],u:"1f416",a:"1.0"},{n:["boar"],u:"1f417",a:"0.6"},{n:["pig nose"],u:"1f43d",a:"0.6"},{n:["ram"],u:"1f40f",a:"1.0"},{n:["sheep"],u:"1f411",a:"0.6"},{n:["goat"],u:"1f410",a:"1.0"},{n:["dromedary camel"],u:"1f42a",a:"1.0"},{n:["camel","bactrian camel"],u:"1f42b",a:"0.6"},{n:["llama"],u:"1f999",a:"11.0"},{n:["giraffe face"],u:"1f992",a:"5.0"},{n:["elephant"],u:"1f418",a:"0.6"},{n:["mammoth"],u:"1f9a3",a:"13.0"},{n:["rhinoceros"],u:"1f98f",a:"3.0"},{n:["hippopotamus"],u:"1f99b",a:"11.0"},{n:["mouse","mouse face"],u:"1f42d",a:"0.6"},{n:["mouse","mouse2"],u:"1f401",a:"1.0"},{n:["rat"],u:"1f400",a:"1.0"},{n:["hamster","hamster face"],u:"1f439",a:"0.6"},{n:["rabbit","rabbit face"],u:"1f430",a:"0.6"},{n:["rabbit","rabbit2"],u:"1f407",a:"1.0"},{n:["chipmunk"],u:"1f43f-fe0f",a:"0.7"},{n:["beaver"],u:"1f9ab",a:"13.0"},{n:["hedgehog"],u:"1f994",a:"5.0"},{n:["bat"],u:"1f987",a:"3.0"},{n:["bear","bear face"],u:"1f43b",a:"0.6"},{n:["polar bear"],u:"1f43b-200d-2744-fe0f",a:"13.0"},{n:["koala"],u:"1f428",a:"0.6"},{n:["panda face"],u:"1f43c",a:"0.6"},{n:["sloth"],u:"1f9a5",a:"12.0"},{n:["otter"],u:"1f9a6",a:"12.0"},{n:["skunk"],u:"1f9a8",a:"12.0"},{n:["kangaroo"],u:"1f998",a:"11.0"},{n:["badger"],u:"1f9a1",a:"11.0"},{n:["feet","paw prints"],u:"1f43e",a:"0.6"},{n:["turkey"],u:"1f983",a:"1.0"},{n:["chicken"],u:"1f414",a:"0.6"},{n:["rooster"],u:"1f413",a:"1.0"},{n:["hatching chick"],u:"1f423",a:"0.6"},{n:["baby chick"],u:"1f424",a:"0.6"},{n:["hatched chick","front-facing baby chick"],u:"1f425",a:"0.6"},{n:["bird"],u:"1f426",a:"0.6"},{n:["penguin"],u:"1f427",a:"0.6"},{n:["dove","dove of peace"],u:"1f54a-fe0f",a:"0.7"},{n:["eagle"],u:"1f985",a:"3.0"},{n:["duck"],u:"1f986",a:"3.0"},{n:["swan"],u:"1f9a2",a:"11.0"},{n:["owl"],u:"1f989",a:"3.0"},{n:["dodo"],u:"1f9a4",a:"13.0"},{n:["feather"],u:"1fab6",a:"13.0"},{n:["flamingo"],u:"1f9a9",a:"12.0"},{n:["peacock"],u:"1f99a",a:"11.0"},{n:["parrot"],u:"1f99c",a:"11.0"},{n:["frog","frog face"],u:"1f438",a:"0.6"},{n:["crocodile"],u:"1f40a",a:"1.0"},{n:["turtle"],u:"1f422",a:"0.6"},{n:["lizard"],u:"1f98e",a:"3.0"},{n:["snake"],u:"1f40d",a:"0.6"},{n:["dragon face"],u:"1f432",a:"0.6"},{n:["dragon"],u:"1f409",a:"1.0"},{n:["sauropod"],u:"1f995",a:"5.0"},{n:["t-rex"],u:"1f996",a:"5.0"},{n:["whale","spouting whale"],u:"1f433",a:"0.6"},{n:["whale","whale2"],u:"1f40b",a:"1.0"},{n:["dolphin","flipper"],u:"1f42c",a:"0.6"},{n:["seal"],u:"1f9ad",a:"13.0"},{n:["fish"],u:"1f41f",a:"0.6"},{n:["tropical fish"],u:"1f420",a:"0.6"},{n:["blowfish"],u:"1f421",a:"0.6"},{n:["shark"],u:"1f988",a:"3.0"},{n:["octopus"],u:"1f419",a:"0.6"},{n:["shell","spiral shell"],u:"1f41a",a:"0.6"},{n:["coral"],u:"1fab8",a:"14.0"},{n:["snail"],u:"1f40c",a:"0.6"},{n:["butterfly"],u:"1f98b",a:"3.0"},{n:["bug"],u:"1f41b",a:"0.6"},{n:["ant"],u:"1f41c",a:"0.6"},{n:["bee","honeybee"],u:"1f41d",a:"0.6"},{n:["beetle"],u:"1fab2",a:"13.0"},{n:["ladybug","lady beetle"],u:"1f41e",a:"0.6"},{n:["cricket"],u:"1f997",a:"5.0"},{n:["cockroach"],u:"1fab3",a:"13.0"},{n:["spider"],u:"1f577-fe0f",a:"0.7"},{n:["spider web"],u:"1f578-fe0f",a:"0.7"},{n:["scorpion"],u:"1f982",a:"1.0"},{n:["mosquito"],u:"1f99f",a:"11.0"},{n:["fly"],u:"1fab0",a:"13.0"},{n:["worm"],u:"1fab1",a:"13.0"},{n:["microbe"],u:"1f9a0",a:"11.0"},{n:["bouquet"],u:"1f490",a:"0.6"},{n:["cherry blossom"],u:"1f338",a:"0.6"},{n:["white flower"],u:"1f4ae",a:"0.6"},{n:["lotus"],u:"1fab7",a:"14.0"},{n:["rosette"],u:"1f3f5-fe0f",a:"0.7"},{n:["rose"],u:"1f339",a:"0.6"},{n:["wilted flower"],u:"1f940",a:"3.0"},{n:["hibiscus"],u:"1f33a",a:"0.6"},{n:["sunflower"],u:"1f33b",a:"0.6"},{n:["blossom"],u:"1f33c",a:"0.6"},{n:["tulip"],u:"1f337",a:"0.6"},{n:["seedling"],u:"1f331",a:"0.6"},{n:["potted plant"],u:"1fab4",a:"13.0"},{n:["evergreen tree"],u:"1f332",a:"1.0"},{n:["deciduous tree"],u:"1f333",a:"1.0"},{n:["palm tree"],u:"1f334",a:"0.6"},{n:["cactus"],u:"1f335",a:"0.6"},{n:["ear of rice"],u:"1f33e",a:"0.6"},{n:["herb"],u:"1f33f",a:"0.6"},{n:["shamrock"],u:"2618-fe0f",a:"1.0"},{n:["four leaf clover"],u:"1f340",a:"0.6"},{n:["maple leaf"],u:"1f341",a:"0.6"},{n:["fallen leaf"],u:"1f342",a:"0.6"},{n:["leaves","leaf fluttering in wind"],u:"1f343",a:"0.6"},{n:["empty nest"],u:"1fab9",a:"14.0"},{n:["nest with eggs"],u:"1faba",a:"14.0"}],uSe=[{n:["grapes"],u:"1f347",a:"0.6"},{n:["melon"],u:"1f348",a:"0.6"},{n:["watermelon"],u:"1f349",a:"0.6"},{n:["tangerine"],u:"1f34a",a:"0.6"},{n:["lemon"],u:"1f34b",a:"1.0"},{n:["banana"],u:"1f34c",a:"0.6"},{n:["pineapple"],u:"1f34d",a:"0.6"},{n:["mango"],u:"1f96d",a:"11.0"},{n:["apple","red apple"],u:"1f34e",a:"0.6"},{n:["green apple"],u:"1f34f",a:"0.6"},{n:["pear"],u:"1f350",a:"1.0"},{n:["peach"],u:"1f351",a:"0.6"},{n:["cherries"],u:"1f352",a:"0.6"},{n:["strawberry"],u:"1f353",a:"0.6"},{n:["blueberries"],u:"1fad0",a:"13.0"},{n:["kiwifruit"],u:"1f95d",a:"3.0"},{n:["tomato"],u:"1f345",a:"0.6"},{n:["olive"],u:"1fad2",a:"13.0"},{n:["coconut"],u:"1f965",a:"5.0"},{n:["avocado"],u:"1f951",a:"3.0"},{n:["eggplant","aubergine"],u:"1f346",a:"0.6"},{n:["potato"],u:"1f954",a:"3.0"},{n:["carrot"],u:"1f955",a:"3.0"},{n:["corn","ear of maize"],u:"1f33d",a:"0.6"},{n:["hot pepper"],u:"1f336-fe0f",a:"0.7"},{n:["bell pepper"],u:"1fad1",a:"13.0"},{n:["cucumber"],u:"1f952",a:"3.0"},{n:["leafy green"],u:"1f96c",a:"11.0"},{n:["broccoli"],u:"1f966",a:"5.0"},{n:["garlic"],u:"1f9c4",a:"12.0"},{n:["onion"],u:"1f9c5",a:"12.0"},{n:["mushroom"],u:"1f344",a:"0.6"},{n:["peanuts"],u:"1f95c",a:"3.0"},{n:["beans"],u:"1fad8",a:"14.0"},{n:["chestnut"],u:"1f330",a:"0.6"},{n:["bread"],u:"1f35e",a:"0.6"},{n:["croissant"],u:"1f950",a:"3.0"},{n:["baguette bread"],u:"1f956",a:"3.0"},{n:["flatbread"],u:"1fad3",a:"13.0"},{n:["pretzel"],u:"1f968",a:"5.0"},{n:["bagel"],u:"1f96f",a:"11.0"},{n:["pancakes"],u:"1f95e",a:"3.0"},{n:["waffle"],u:"1f9c7",a:"12.0"},{n:["cheese wedge"],u:"1f9c0",a:"1.0"},{n:["meat on bone"],u:"1f356",a:"0.6"},{n:["poultry leg"],u:"1f357",a:"0.6"},{n:["cut of meat"],u:"1f969",a:"5.0"},{n:["bacon"],u:"1f953",a:"3.0"},{n:["hamburger"],u:"1f354",a:"0.6"},{n:["fries","french fries"],u:"1f35f",a:"0.6"},{n:["pizza","slice of pizza"],u:"1f355",a:"0.6"},{n:["hotdog","hot dog"],u:"1f32d",a:"1.0"},{n:["sandwich"],u:"1f96a",a:"5.0"},{n:["taco"],u:"1f32e",a:"1.0"},{n:["burrito"],u:"1f32f",a:"1.0"},{n:["tamale"],u:"1fad4",a:"13.0"},{n:["stuffed flatbread"],u:"1f959",a:"3.0"},{n:["falafel"],u:"1f9c6",a:"12.0"},{n:["egg"],u:"1f95a",a:"3.0"},{n:["cooking","fried egg"],u:"1f373",a:"0.6"},{n:["shallow pan of food"],u:"1f958",a:"3.0"},{n:["stew","pot of food"],u:"1f372",a:"0.6"},{n:["fondue"],u:"1fad5",a:"13.0"},{n:["bowl with spoon"],u:"1f963",a:"5.0"},{n:["green salad"],u:"1f957",a:"3.0"},{n:["popcorn"],u:"1f37f",a:"1.0"},{n:["butter"],u:"1f9c8",a:"12.0"},{n:["salt","salt shaker"],u:"1f9c2",a:"11.0"},{n:["canned food"],u:"1f96b",a:"5.0"},{n:["bento","bento box"],u:"1f371",a:"0.6"},{n:["rice cracker"],u:"1f358",a:"0.6"},{n:["rice ball"],u:"1f359",a:"0.6"},{n:["rice","cooked rice"],u:"1f35a",a:"0.6"},{n:["curry","curry and rice"],u:"1f35b",a:"0.6"},{n:["ramen","steaming bowl"],u:"1f35c",a:"0.6"},{n:["spaghetti"],u:"1f35d",a:"0.6"},{n:["sweet potato","roasted sweet potato"],u:"1f360",a:"0.6"},{n:["oden"],u:"1f362",a:"0.6"},{n:["sushi"],u:"1f363",a:"0.6"},{n:["fried shrimp"],u:"1f364",a:"0.6"},{n:["fish cake","fish cake with swirl design"],u:"1f365",a:"0.6"},{n:["moon cake"],u:"1f96e",a:"11.0"},{n:["dango"],u:"1f361",a:"0.6"},{n:["dumpling"],u:"1f95f",a:"5.0"},{n:["fortune cookie"],u:"1f960",a:"5.0"},{n:["takeout box"],u:"1f961",a:"5.0"},{n:["crab"],u:"1f980",a:"1.0"},{n:["lobster"],u:"1f99e",a:"11.0"},{n:["shrimp"],u:"1f990",a:"3.0"},{n:["squid"],u:"1f991",a:"3.0"},{n:["oyster"],u:"1f9aa",a:"12.0"},{n:["icecream","soft ice cream"],u:"1f366",a:"0.6"},{n:["shaved ice"],u:"1f367",a:"0.6"},{n:["ice cream"],u:"1f368",a:"0.6"},{n:["doughnut"],u:"1f369",a:"0.6"},{n:["cookie"],u:"1f36a",a:"0.6"},{n:["birthday","birthday cake"],u:"1f382",a:"0.6"},{n:["cake","shortcake"],u:"1f370",a:"0.6"},{n:["cupcake"],u:"1f9c1",a:"11.0"},{n:["pie"],u:"1f967",a:"5.0"},{n:["chocolate bar"],u:"1f36b",a:"0.6"},{n:["candy"],u:"1f36c",a:"0.6"},{n:["lollipop"],u:"1f36d",a:"0.6"},{n:["custard"],u:"1f36e",a:"0.6"},{n:["honey pot"],u:"1f36f",a:"0.6"},{n:["baby bottle"],u:"1f37c",a:"1.0"},{n:["glass of milk"],u:"1f95b",a:"3.0"},{n:["coffee","hot beverage"],u:"2615",a:"0.6"},{n:["teapot"],u:"1fad6",a:"13.0"},{n:["tea","teacup without handle"],u:"1f375",a:"0.6"},{n:["sake","sake bottle and cup"],u:"1f376",a:"0.6"},{n:["champagne","bottle with popping cork"],u:"1f37e",a:"1.0"},{n:["wine glass"],u:"1f377",a:"0.6"},{n:["cocktail","cocktail glass"],u:"1f378",a:"0.6"},{n:["tropical drink"],u:"1f379",a:"0.6"},{n:["beer","beer mug"],u:"1f37a",a:"0.6"},{n:["beers","clinking beer mugs"],u:"1f37b",a:"0.6"},{n:["clinking glasses"],u:"1f942",a:"3.0"},{n:["tumbler glass"],u:"1f943",a:"3.0"},{n:["pouring liquid"],u:"1fad7",a:"14.0"},{n:["cup with straw"],u:"1f964",a:"5.0"},{n:["bubble tea"],u:"1f9cb",a:"13.0"},{n:["beverage box"],u:"1f9c3",a:"12.0"},{n:["mate drink"],u:"1f9c9",a:"12.0"},{n:["ice cube"],u:"1f9ca",a:"12.0"},{n:["chopsticks"],u:"1f962",a:"5.0"},{n:["knife fork plate","fork and knife with plate"],u:"1f37d-fe0f",a:"0.7"},{n:["fork and knife"],u:"1f374",a:"0.6"},{n:["spoon"],u:"1f944",a:"3.0"},{n:["hocho","knife"],u:"1f52a",a:"0.6"},{n:["jar"],u:"1fad9",a:"14.0"},{n:["amphora"],u:"1f3fa",a:"1.0"}],fSe=[{n:["earth africa","earth globe europe-africa"],u:"1f30d",a:"0.7"},{n:["earth americas","earth globe americas"],u:"1f30e",a:"0.7"},{n:["earth asia","earth globe asia-australia"],u:"1f30f",a:"0.6"},{n:["globe with meridians"],u:"1f310",a:"1.0"},{n:["world map"],u:"1f5fa-fe0f",a:"0.7"},{n:["japan","silhouette of japan"],u:"1f5fe",a:"0.6"},{n:["compass"],u:"1f9ed",a:"11.0"},{n:["snow-capped mountain","snow capped mountain"],u:"1f3d4-fe0f",a:"0.7"},{n:["mountain"],u:"26f0-fe0f",a:"0.7"},{n:["volcano"],u:"1f30b",a:"0.6"},{n:["mount fuji"],u:"1f5fb",a:"0.6"},{n:["camping"],u:"1f3d5-fe0f",a:"0.7"},{n:["beach with umbrella"],u:"1f3d6-fe0f",a:"0.7"},{n:["desert"],u:"1f3dc-fe0f",a:"0.7"},{n:["desert island"],u:"1f3dd-fe0f",a:"0.7"},{n:["national park"],u:"1f3de-fe0f",a:"0.7"},{n:["stadium"],u:"1f3df-fe0f",a:"0.7"},{n:["classical building"],u:"1f3db-fe0f",a:"0.7"},{n:["building construction"],u:"1f3d7-fe0f",a:"0.7"},{n:["brick","bricks"],u:"1f9f1",a:"11.0"},{n:["rock"],u:"1faa8",a:"13.0"},{n:["wood"],u:"1fab5",a:"13.0"},{n:["hut"],u:"1f6d6",a:"13.0"},{n:["houses","house buildings"],u:"1f3d8-fe0f",a:"0.7"},{n:["derelict house","derelict house building"],u:"1f3da-fe0f",a:"0.7"},{n:["house","house building"],u:"1f3e0",a:"0.6"},{n:["house with garden"],u:"1f3e1",a:"0.6"},{n:["office","office building"],u:"1f3e2",a:"0.6"},{n:["post office","japanese post office"],u:"1f3e3",a:"0.6"},{n:["european post office"],u:"1f3e4",a:"1.0"},{n:["hospital"],u:"1f3e5",a:"0.6"},{n:["bank"],u:"1f3e6",a:"0.6"},{n:["hotel"],u:"1f3e8",a:"0.6"},{n:["love hotel"],u:"1f3e9",a:"0.6"},{n:["convenience store"],u:"1f3ea",a:"0.6"},{n:["school"],u:"1f3eb",a:"0.6"},{n:["department store"],u:"1f3ec",a:"0.6"},{n:["factory"],u:"1f3ed",a:"0.6"},{n:["japanese castle"],u:"1f3ef",a:"0.6"},{n:["european castle"],u:"1f3f0",a:"0.6"},{n:["wedding"],u:"1f492",a:"0.6"},{n:["tokyo tower"],u:"1f5fc",a:"0.6"},{n:["statue of liberty"],u:"1f5fd",a:"0.6"},{n:["church"],u:"26ea",a:"0.6"},{n:["mosque"],u:"1f54c",a:"1.0"},{n:["hindu temple"],u:"1f6d5",a:"12.0"},{n:["synagogue"],u:"1f54d",a:"1.0"},{n:["shinto shrine"],u:"26e9-fe0f",a:"0.7"},{n:["kaaba"],u:"1f54b",a:"1.0"},{n:["fountain"],u:"26f2",a:"0.6"},{n:["tent"],u:"26fa",a:"0.6"},{n:["foggy"],u:"1f301",a:"0.6"},{n:["night with stars"],u:"1f303",a:"0.6"},{n:["cityscape"],u:"1f3d9-fe0f",a:"0.7"},{n:["sunrise over mountains"],u:"1f304",a:"0.6"},{n:["sunrise"],u:"1f305",a:"0.6"},{n:["city sunset","cityscape at dusk"],u:"1f306",a:"0.6"},{n:["city sunrise","sunset over buildings"],u:"1f307",a:"0.6"},{n:["bridge at night"],u:"1f309",a:"0.6"},{n:["hotsprings","hot springs"],u:"2668-fe0f",a:"0.6"},{n:["carousel horse"],u:"1f3a0",a:"0.6"},{n:["playground slide"],u:"1f6dd",a:"14.0"},{n:["ferris wheel"],u:"1f3a1",a:"0.6"},{n:["roller coaster"],u:"1f3a2",a:"0.6"},{n:["barber","barber pole"],u:"1f488",a:"0.6"},{n:["circus tent"],u:"1f3aa",a:"0.6"},{n:["steam locomotive"],u:"1f682",a:"1.0"},{n:["railway car"],u:"1f683",a:"0.6"},{n:["high-speed train","bullettrain side"],u:"1f684",a:"0.6"},{n:["bullettrain front","high-speed train with bullet nose"],u:"1f685",a:"0.6"},{n:["train","train2"],u:"1f686",a:"1.0"},{n:["metro"],u:"1f687",a:"0.6"},{n:["light rail"],u:"1f688",a:"1.0"},{n:["station"],u:"1f689",a:"0.6"},{n:["tram"],u:"1f68a",a:"1.0"},{n:["monorail"],u:"1f69d",a:"1.0"},{n:["mountain railway"],u:"1f69e",a:"1.0"},{n:["train","tram car"],u:"1f68b",a:"1.0"},{n:["bus"],u:"1f68c",a:"0.6"},{n:["oncoming bus"],u:"1f68d",a:"0.7"},{n:["trolleybus"],u:"1f68e",a:"1.0"},{n:["minibus"],u:"1f690",a:"1.0"},{n:["ambulance"],u:"1f691",a:"0.6"},{n:["fire engine"],u:"1f692",a:"0.6"},{n:["police car"],u:"1f693",a:"0.6"},{n:["oncoming police car"],u:"1f694",a:"0.7"},{n:["taxi"],u:"1f695",a:"0.6"},{n:["oncoming taxi"],u:"1f696",a:"1.0"},{n:["car","red car","automobile"],u:"1f697",a:"0.6"},{n:["oncoming automobile"],u:"1f698",a:"0.7"},{n:["blue car","recreational vehicle"],u:"1f699",a:"0.6"},{n:["pickup truck"],u:"1f6fb",a:"13.0"},{n:["truck","delivery truck"],u:"1f69a",a:"0.6"},{n:["articulated lorry"],u:"1f69b",a:"1.0"},{n:["tractor"],u:"1f69c",a:"1.0"},{n:["racing car"],u:"1f3ce-fe0f",a:"0.7"},{n:["motorcycle","racing motorcycle"],u:"1f3cd-fe0f",a:"0.7"},{n:["motor scooter"],u:"1f6f5",a:"3.0"},{n:["manual wheelchair"],u:"1f9bd",a:"12.0"},{n:["motorized wheelchair"],u:"1f9bc",a:"12.0"},{n:["auto rickshaw"],u:"1f6fa",a:"12.0"},{n:["bike","bicycle"],u:"1f6b2",a:"0.6"},{n:["scooter"],u:"1f6f4",a:"3.0"},{n:["skateboard"],u:"1f6f9",a:"11.0"},{n:["roller skate"],u:"1f6fc",a:"13.0"},{n:["busstop","bus stop"],u:"1f68f",a:"0.6"},{n:["motorway"],u:"1f6e3-fe0f",a:"0.7"},{n:["railway track"],u:"1f6e4-fe0f",a:"0.7"},{n:["oil drum"],u:"1f6e2-fe0f",a:"0.7"},{n:["fuelpump","fuel pump"],u:"26fd",a:"0.6"},{n:["wheel"],u:"1f6de",a:"14.0"},{n:["rotating light","police cars revolving light"],u:"1f6a8",a:"0.6"},{n:["traffic light","horizontal traffic light"],u:"1f6a5",a:"0.6"},{n:["vertical traffic light"],u:"1f6a6",a:"1.0"},{n:["octagonal sign"],u:"1f6d1",a:"3.0"},{n:["construction","construction sign"],u:"1f6a7",a:"0.6"},{n:["anchor"],u:"2693",a:"0.6"},{n:["ring buoy"],u:"1f6df",a:"14.0"},{n:["boat","sailboat"],u:"26f5",a:"0.6"},{n:["canoe"],u:"1f6f6",a:"3.0"},{n:["speedboat"],u:"1f6a4",a:"0.6"},{n:["passenger ship"],u:"1f6f3-fe0f",a:"0.7"},{n:["ferry"],u:"26f4-fe0f",a:"0.7"},{n:["motor boat"],u:"1f6e5-fe0f",a:"0.7"},{n:["ship"],u:"1f6a2",a:"0.6"},{n:["airplane"],u:"2708-fe0f",a:"0.6"},{n:["small airplane"],u:"1f6e9-fe0f",a:"0.7"},{n:["airplane departure"],u:"1f6eb",a:"1.0"},{n:["airplane arriving"],u:"1f6ec",a:"1.0"},{n:["parachute"],u:"1fa82",a:"12.0"},{n:["seat"],u:"1f4ba",a:"0.6"},{n:["helicopter"],u:"1f681",a:"1.0"},{n:["suspension railway"],u:"1f69f",a:"1.0"},{n:["mountain cableway"],u:"1f6a0",a:"1.0"},{n:["aerial tramway"],u:"1f6a1",a:"1.0"},{n:["satellite"],u:"1f6f0-fe0f",a:"0.7"},{n:["rocket"],u:"1f680",a:"0.6"},{n:["flying saucer"],u:"1f6f8",a:"5.0"},{n:["bellhop bell"],u:"1f6ce-fe0f",a:"0.7"},{n:["luggage"],u:"1f9f3",a:"11.0"},{n:["hourglass"],u:"231b",a:"0.6"},{n:["hourglass flowing sand","hourglass with flowing sand"],u:"23f3",a:"0.6"},{n:["watch"],u:"231a",a:"0.6"},{n:["alarm clock"],u:"23f0",a:"0.6"},{n:["stopwatch"],u:"23f1-fe0f",a:"1.0"},{n:["timer clock"],u:"23f2-fe0f",a:"1.0"},{n:["mantelpiece clock"],u:"1f570-fe0f",a:"0.7"},{n:["clock12","clock face twelve oclock"],u:"1f55b",a:"0.6"},{n:["clock1230","clock face twelve-thirty"],u:"1f567",a:"0.7"},{n:["clock1","clock face one oclock"],u:"1f550",a:"0.6"},{n:["clock130","clock face one-thirty"],u:"1f55c",a:"0.7"},{n:["clock2","clock face two oclock"],u:"1f551",a:"0.6"},{n:["clock230","clock face two-thirty"],u:"1f55d",a:"0.7"},{n:["clock3","clock face three oclock"],u:"1f552",a:"0.6"},{n:["clock330","clock face three-thirty"],u:"1f55e",a:"0.7"},{n:["clock4","clock face four oclock"],u:"1f553",a:"0.6"},{n:["clock430","clock face four-thirty"],u:"1f55f",a:"0.7"},{n:["clock5","clock face five oclock"],u:"1f554",a:"0.6"},{n:["clock530","clock face five-thirty"],u:"1f560",a:"0.7"},{n:["clock6","clock face six oclock"],u:"1f555",a:"0.6"},{n:["clock630","clock face six-thirty"],u:"1f561",a:"0.7"},{n:["clock7","clock face seven oclock"],u:"1f556",a:"0.6"},{n:["clock730","clock face seven-thirty"],u:"1f562",a:"0.7"},{n:["clock8","clock face eight oclock"],u:"1f557",a:"0.6"},{n:["clock830","clock face eight-thirty"],u:"1f563",a:"0.7"},{n:["clock9","clock face nine oclock"],u:"1f558",a:"0.6"},{n:["clock930","clock face nine-thirty"],u:"1f564",a:"0.7"},{n:["clock10","clock face ten oclock"],u:"1f559",a:"0.6"},{n:["clock1030","clock face ten-thirty"],u:"1f565",a:"0.7"},{n:["clock11","clock face eleven oclock"],u:"1f55a",a:"0.6"},{n:["clock1130","clock face eleven-thirty"],u:"1f566",a:"0.7"},{n:["new moon","new moon symbol"],u:"1f311",a:"0.6"},{n:["waxing crescent moon","waxing crescent moon symbol"],u:"1f312",a:"1.0"},{n:["first quarter moon","first quarter moon symbol"],u:"1f313",a:"0.6"},{n:["moon","waxing gibbous moon","waxing gibbous moon symbol"],u:"1f314",a:"0.6"},{n:["full moon","full moon symbol"],u:"1f315",a:"0.6"},{n:["waning gibbous moon","waning gibbous moon symbol"],u:"1f316",a:"1.0"},{n:["last quarter moon","last quarter moon symbol"],u:"1f317",a:"1.0"},{n:["waning crescent moon","waning crescent moon symbol"],u:"1f318",a:"1.0"},{n:["crescent moon"],u:"1f319",a:"0.6"},{n:["new moon with face"],u:"1f31a",a:"1.0"},{n:["first quarter moon with face"],u:"1f31b",a:"0.6"},{n:["last quarter moon with face"],u:"1f31c",a:"0.7"},{n:["thermometer"],u:"1f321-fe0f",a:"0.7"},{n:["sunny","black sun with rays"],u:"2600-fe0f",a:"0.6"},{n:["full moon with face"],u:"1f31d",a:"1.0"},{n:["sun with face"],u:"1f31e",a:"1.0"},{n:["ringed planet"],u:"1fa90",a:"12.0"},{n:["star","white medium star"],u:"2b50",a:"0.6"},{n:["star2","glowing star"],u:"1f31f",a:"0.6"},{n:["stars","shooting star"],u:"1f320",a:"0.6"},{n:["milky way"],u:"1f30c",a:"0.6"},{n:["cloud"],u:"2601-fe0f",a:"0.6"},{n:["partly sunny","sun behind cloud"],u:"26c5",a:"0.6"},{n:["thunder cloud and rain","cloud with lightning and rain"],u:"26c8-fe0f",a:"0.7"},{n:["mostly sunny","sun small cloud","sun behind small cloud"],u:"1f324-fe0f",a:"0.7"},{n:["barely sunny","sun behind cloud","sun behind large cloud"],u:"1f325-fe0f",a:"0.7"},{n:["partly sunny rain","sun behind rain cloud"],u:"1f326-fe0f",a:"0.7"},{n:["rain cloud","cloud with rain"],u:"1f327-fe0f",a:"0.7"},{n:["snow cloud","cloud with snow"],u:"1f328-fe0f",a:"0.7"},{n:["lightning","lightning cloud","cloud with lightning"],u:"1f329-fe0f",a:"0.7"},{n:["tornado","tornado cloud"],u:"1f32a-fe0f",a:"0.7"},{n:["fog"],u:"1f32b-fe0f",a:"0.7"},{n:["wind face","wind blowing face"],u:"1f32c-fe0f",a:"0.7"},{n:["cyclone"],u:"1f300",a:"0.6"},{n:["rainbow"],u:"1f308",a:"0.6"},{n:["closed umbrella"],u:"1f302",a:"0.6"},{n:["umbrella"],u:"2602-fe0f",a:"0.7"},{n:["umbrella with rain drops"],u:"2614",a:"0.6"},{n:["umbrella on ground"],u:"26f1-fe0f",a:"0.7"},{n:["zap","high voltage sign"],u:"26a1",a:"0.6"},{n:["snowflake"],u:"2744-fe0f",a:"0.6"},{n:["snowman"],u:"2603-fe0f",a:"0.7"},{n:["snowman without snow"],u:"26c4",a:"0.6"},{n:["comet"],u:"2604-fe0f",a:"1.0"},{n:["fire"],u:"1f525",a:"0.6"},{n:["droplet"],u:"1f4a7",a:"0.6"},{n:["ocean","water wave"],u:"1f30a",a:"0.6"}],dSe=[{n:["jack-o-lantern","jack o lantern"],u:"1f383",a:"0.6"},{n:["christmas tree"],u:"1f384",a:"0.6"},{n:["fireworks"],u:"1f386",a:"0.6"},{n:["sparkler","firework sparkler"],u:"1f387",a:"0.6"},{n:["firecracker"],u:"1f9e8",a:"11.0"},{n:["sparkles"],u:"2728",a:"0.6"},{n:["balloon"],u:"1f388",a:"0.6"},{n:["tada","party popper"],u:"1f389",a:"0.6"},{n:["confetti ball"],u:"1f38a",a:"0.6"},{n:["tanabata tree"],u:"1f38b",a:"0.6"},{n:["bamboo","pine decoration"],u:"1f38d",a:"0.6"},{n:["dolls","japanese dolls"],u:"1f38e",a:"0.6"},{n:["flags","carp streamer"],u:"1f38f",a:"0.6"},{n:["wind chime"],u:"1f390",a:"0.6"},{n:["rice scene","moon viewing ceremony"],u:"1f391",a:"0.6"},{n:["red envelope","red gift envelope"],u:"1f9e7",a:"11.0"},{n:["ribbon"],u:"1f380",a:"0.6"},{n:["gift","wrapped present"],u:"1f381",a:"0.6"},{n:["reminder ribbon"],u:"1f397-fe0f",a:"0.7"},{n:["admission tickets"],u:"1f39f-fe0f",a:"0.7"},{n:["ticket"],u:"1f3ab",a:"0.6"},{n:["medal","military medal"],u:"1f396-fe0f",a:"0.7"},{n:["trophy"],u:"1f3c6",a:"0.6"},{n:["sports medal"],u:"1f3c5",a:"1.0"},{n:["first place medal"],u:"1f947",a:"3.0"},{n:["second place medal"],u:"1f948",a:"3.0"},{n:["third place medal"],u:"1f949",a:"3.0"},{n:["soccer","soccer ball"],u:"26bd",a:"0.6"},{n:["baseball"],u:"26be",a:"0.6"},{n:["softball"],u:"1f94e",a:"11.0"},{n:["basketball","basketball and hoop"],u:"1f3c0",a:"0.6"},{n:["volleyball"],u:"1f3d0",a:"1.0"},{n:["football","american football"],u:"1f3c8",a:"0.6"},{n:["rugby football"],u:"1f3c9",a:"1.0"},{n:["tennis","tennis racquet and ball"],u:"1f3be",a:"0.6"},{n:["flying disc"],u:"1f94f",a:"11.0"},{n:["bowling"],u:"1f3b3",a:"0.6"},{n:["cricket bat and ball"],u:"1f3cf",a:"1.0"},{n:["field hockey stick and ball"],u:"1f3d1",a:"1.0"},{n:["ice hockey stick and puck"],u:"1f3d2",a:"1.0"},{n:["lacrosse","lacrosse stick and ball"],u:"1f94d",a:"11.0"},{n:["table tennis paddle and ball"],u:"1f3d3",a:"1.0"},{n:["badminton racquet and shuttlecock"],u:"1f3f8",a:"1.0"},{n:["boxing glove"],u:"1f94a",a:"3.0"},{n:["martial arts uniform"],u:"1f94b",a:"3.0"},{n:["goal net"],u:"1f945",a:"3.0"},{n:["golf","flag in hole"],u:"26f3",a:"0.6"},{n:["ice skate"],u:"26f8-fe0f",a:"0.7"},{n:["fishing pole and fish"],u:"1f3a3",a:"0.6"},{n:["diving mask"],u:"1f93f",a:"12.0"},{n:["running shirt with sash"],u:"1f3bd",a:"0.6"},{n:["ski","ski and ski boot"],u:"1f3bf",a:"0.6"},{n:["sled"],u:"1f6f7",a:"5.0"},{n:["curling stone"],u:"1f94c",a:"5.0"},{n:["dart","direct hit"],u:"1f3af",a:"0.6"},{n:["yo-yo"],u:"1fa80",a:"12.0"},{n:["kite"],u:"1fa81",a:"12.0"},{n:["8ball","billiards"],u:"1f3b1",a:"0.6"},{n:["crystal ball"],u:"1f52e",a:"0.6"},{n:["magic wand"],u:"1fa84",a:"13.0"},{n:["nazar amulet"],u:"1f9ff",a:"11.0"},{n:["hamsa"],u:"1faac",a:"14.0"},{n:["video game"],u:"1f3ae",a:"0.6"},{n:["joystick"],u:"1f579-fe0f",a:"0.7"},{n:["slot machine"],u:"1f3b0",a:"0.6"},{n:["game die"],u:"1f3b2",a:"0.6"},{n:["jigsaw","jigsaw puzzle piece"],u:"1f9e9",a:"11.0"},{n:["teddy bear"],u:"1f9f8",a:"11.0"},{n:["pinata"],u:"1fa85",a:"13.0"},{n:["mirror ball"],u:"1faa9",a:"14.0"},{n:["nesting dolls"],u:"1fa86",a:"13.0"},{n:["spades","black spade suit"],u:"2660-fe0f",a:"0.6"},{n:["hearts","black heart suit"],u:"2665-fe0f",a:"0.6"},{n:["diamonds","black diamond suit"],u:"2666-fe0f",a:"0.6"},{n:["clubs","black club suit"],u:"2663-fe0f",a:"0.6"},{n:["chess pawn"],u:"265f-fe0f",a:"11.0"},{n:["black joker","playing card black joker"],u:"1f0cf",a:"0.6"},{n:["mahjong","mahjong tile red dragon"],u:"1f004",a:"0.6"},{n:["flower playing cards"],u:"1f3b4",a:"0.6"},{n:["performing arts"],u:"1f3ad",a:"0.6"},{n:["framed picture","frame with picture"],u:"1f5bc-fe0f",a:"0.7"},{n:["art","artist palette"],u:"1f3a8",a:"0.6"},{n:["thread","spool of thread"],u:"1f9f5",a:"11.0"},{n:["sewing needle"],u:"1faa1",a:"13.0"},{n:["yarn","ball of yarn"],u:"1f9f6",a:"11.0"},{n:["knot"],u:"1faa2",a:"13.0"}],pSe=[{n:["eyeglasses"],u:"1f453",a:"0.6"},{n:["sunglasses","dark sunglasses"],u:"1f576-fe0f",a:"0.7"},{n:["goggles"],u:"1f97d",a:"11.0"},{n:["lab coat"],u:"1f97c",a:"11.0"},{n:["safety vest"],u:"1f9ba",a:"12.0"},{n:["necktie"],u:"1f454",a:"0.6"},{n:["shirt","tshirt","t-shirt"],u:"1f455",a:"0.6"},{n:["jeans"],u:"1f456",a:"0.6"},{n:["scarf"],u:"1f9e3",a:"5.0"},{n:["gloves"],u:"1f9e4",a:"5.0"},{n:["coat"],u:"1f9e5",a:"5.0"},{n:["socks"],u:"1f9e6",a:"5.0"},{n:["dress"],u:"1f457",a:"0.6"},{n:["kimono"],u:"1f458",a:"0.6"},{n:["sari"],u:"1f97b",a:"12.0"},{n:["one-piece swimsuit"],u:"1fa71",a:"12.0"},{n:["briefs"],u:"1fa72",a:"12.0"},{n:["shorts"],u:"1fa73",a:"12.0"},{n:["bikini"],u:"1f459",a:"0.6"},{n:["womans clothes"],u:"1f45a",a:"0.6"},{n:["purse"],u:"1f45b",a:"0.6"},{n:["handbag"],u:"1f45c",a:"0.6"},{n:["pouch"],u:"1f45d",a:"0.6"},{n:["shopping bags"],u:"1f6cd-fe0f",a:"0.7"},{n:["school satchel"],u:"1f392",a:"0.6"},{n:["thong sandal"],u:"1fa74",a:"13.0"},{n:["shoe","mans shoe"],u:"1f45e",a:"0.6"},{n:["athletic shoe"],u:"1f45f",a:"0.6"},{n:["hiking boot"],u:"1f97e",a:"11.0"},{n:["flat shoe","womans flat shoe"],u:"1f97f",a:"11.0"},{n:["high heel","high-heeled shoe"],u:"1f460",a:"0.6"},{n:["sandal","womans sandal"],u:"1f461",a:"0.6"},{n:["ballet shoes"],u:"1fa70",a:"12.0"},{n:["boot","womans boots"],u:"1f462",a:"0.6"},{n:["crown"],u:"1f451",a:"0.6"},{n:["womans hat"],u:"1f452",a:"0.6"},{n:["tophat","top hat"],u:"1f3a9",a:"0.6"},{n:["mortar board","graduation cap"],u:"1f393",a:"0.6"},{n:["billed cap"],u:"1f9e2",a:"5.0"},{n:["military helmet"],u:"1fa96",a:"13.0"},{n:["rescue worker’s helmet","helmet with white cross"],u:"26d1-fe0f",a:"0.7"},{n:["prayer beads"],u:"1f4ff",a:"1.0"},{n:["lipstick"],u:"1f484",a:"0.6"},{n:["ring"],u:"1f48d",a:"0.6"},{n:["gem","gem stone"],u:"1f48e",a:"0.6"},{n:["mute","speaker with cancellation stroke"],u:"1f507",a:"1.0"},{n:["speaker"],u:"1f508",a:"0.7"},{n:["sound","speaker with one sound wave"],u:"1f509",a:"1.0"},{n:["loud sound","speaker with three sound waves"],u:"1f50a",a:"0.6"},{n:["loudspeaker","public address loudspeaker"],u:"1f4e2",a:"0.6"},{n:["mega","cheering megaphone"],u:"1f4e3",a:"0.6"},{n:["postal horn"],u:"1f4ef",a:"1.0"},{n:["bell"],u:"1f514",a:"0.6"},{n:["no bell","bell with cancellation stroke"],u:"1f515",a:"1.0"},{n:["musical score"],u:"1f3bc",a:"0.6"},{n:["musical note"],u:"1f3b5",a:"0.6"},{n:["notes","multiple musical notes"],u:"1f3b6",a:"0.6"},{n:["studio microphone"],u:"1f399-fe0f",a:"0.7"},{n:["level slider"],u:"1f39a-fe0f",a:"0.7"},{n:["control knobs"],u:"1f39b-fe0f",a:"0.7"},{n:["microphone"],u:"1f3a4",a:"0.6"},{n:["headphone","headphones"],u:"1f3a7",a:"0.6"},{n:["radio"],u:"1f4fb",a:"0.6"},{n:["saxophone"],u:"1f3b7",a:"0.6"},{n:["accordion"],u:"1fa97",a:"13.0"},{n:["guitar"],u:"1f3b8",a:"0.6"},{n:["musical keyboard"],u:"1f3b9",a:"0.6"},{n:["trumpet"],u:"1f3ba",a:"0.6"},{n:["violin"],u:"1f3bb",a:"0.6"},{n:["banjo"],u:"1fa95",a:"12.0"},{n:["drum with drumsticks"],u:"1f941",a:"3.0"},{n:["long drum"],u:"1fa98",a:"13.0"},{n:["iphone","mobile phone"],u:"1f4f1",a:"0.6"},{n:["calling","mobile phone with rightwards arrow at left"],u:"1f4f2",a:"0.6"},{n:["phone","telephone","black telephone"],u:"260e-fe0f",a:"0.6"},{n:["telephone receiver"],u:"1f4de",a:"0.6"},{n:["pager"],u:"1f4df",a:"0.6"},{n:["fax","fax machine"],u:"1f4e0",a:"0.6"},{n:["battery"],u:"1f50b",a:"0.6"},{n:["low battery"],u:"1faab",a:"14.0"},{n:["electric plug"],u:"1f50c",a:"0.6"},{n:["computer","personal computer"],u:"1f4bb",a:"0.6"},{n:["desktop computer"],u:"1f5a5-fe0f",a:"0.7"},{n:["printer"],u:"1f5a8-fe0f",a:"0.7"},{n:["keyboard"],u:"2328-fe0f",a:"1.0"},{n:["computer mouse","three button mouse"],u:"1f5b1-fe0f",a:"0.7"},{n:["trackball"],u:"1f5b2-fe0f",a:"0.7"},{n:["minidisc"],u:"1f4bd",a:"0.6"},{n:["floppy disk"],u:"1f4be",a:"0.6"},{n:["cd","optical disc"],u:"1f4bf",a:"0.6"},{n:["dvd"],u:"1f4c0",a:"0.6"},{n:["abacus"],u:"1f9ee",a:"11.0"},{n:["movie camera"],u:"1f3a5",a:"0.6"},{n:["film frames"],u:"1f39e-fe0f",a:"0.7"},{n:["film projector"],u:"1f4fd-fe0f",a:"0.7"},{n:["clapper","clapper board"],u:"1f3ac",a:"0.6"},{n:["tv","television"],u:"1f4fa",a:"0.6"},{n:["camera"],u:"1f4f7",a:"0.6"},{n:["camera with flash"],u:"1f4f8",a:"1.0"},{n:["video camera"],u:"1f4f9",a:"0.6"},{n:["vhs","videocassette"],u:"1f4fc",a:"0.6"},{n:["mag","left-pointing magnifying glass"],u:"1f50d",a:"0.6"},{n:["mag right","right-pointing magnifying glass"],u:"1f50e",a:"0.6"},{n:["candle"],u:"1f56f-fe0f",a:"0.7"},{n:["bulb","electric light bulb"],u:"1f4a1",a:"0.6"},{n:["flashlight","electric torch"],u:"1f526",a:"0.6"},{n:["lantern","izakaya lantern"],u:"1f3ee",a:"0.6"},{n:["diya lamp"],u:"1fa94",a:"12.0"},{n:["notebook with decorative cover"],u:"1f4d4",a:"0.6"},{n:["closed book"],u:"1f4d5",a:"0.6"},{n:["book","open book"],u:"1f4d6",a:"0.6"},{n:["green book"],u:"1f4d7",a:"0.6"},{n:["blue book"],u:"1f4d8",a:"0.6"},{n:["orange book"],u:"1f4d9",a:"0.6"},{n:["books"],u:"1f4da",a:"0.6"},{n:["notebook"],u:"1f4d3",a:"0.6"},{n:["ledger"],u:"1f4d2",a:"0.6"},{n:["page with curl"],u:"1f4c3",a:"0.6"},{n:["scroll"],u:"1f4dc",a:"0.6"},{n:["page facing up"],u:"1f4c4",a:"0.6"},{n:["newspaper"],u:"1f4f0",a:"0.6"},{n:["rolled-up newspaper","rolled up newspaper"],u:"1f5de-fe0f",a:"0.7"},{n:["bookmark tabs"],u:"1f4d1",a:"0.6"},{n:["bookmark"],u:"1f516",a:"0.6"},{n:["label"],u:"1f3f7-fe0f",a:"0.7"},{n:["moneybag","money bag"],u:"1f4b0",a:"0.6"},{n:["coin"],u:"1fa99",a:"13.0"},{n:["yen","banknote with yen sign"],u:"1f4b4",a:"0.6"},{n:["dollar","banknote with dollar sign"],u:"1f4b5",a:"0.6"},{n:["euro","banknote with euro sign"],u:"1f4b6",a:"1.0"},{n:["pound","banknote with pound sign"],u:"1f4b7",a:"1.0"},{n:["money with wings"],u:"1f4b8",a:"0.6"},{n:["credit card"],u:"1f4b3",a:"0.6"},{n:["receipt"],u:"1f9fe",a:"11.0"},{n:["chart","chart with upwards trend and yen sign"],u:"1f4b9",a:"0.6"},{n:["email","envelope"],u:"2709-fe0f",a:"0.6"},{n:["e-mail","e-mail symbol"],u:"1f4e7",a:"0.6"},{n:["incoming envelope"],u:"1f4e8",a:"0.6"},{n:["envelope with arrow","envelope with downwards arrow above"],u:"1f4e9",a:"0.6"},{n:["outbox tray"],u:"1f4e4",a:"0.6"},{n:["inbox tray"],u:"1f4e5",a:"0.6"},{n:["package"],u:"1f4e6",a:"0.6"},{n:["mailbox","closed mailbox with raised flag"],u:"1f4eb",a:"0.6"},{n:["mailbox closed","closed mailbox with lowered flag"],u:"1f4ea",a:"0.6"},{n:["mailbox with mail","open mailbox with raised flag"],u:"1f4ec",a:"0.7"},{n:["mailbox with no mail","open mailbox with lowered flag"],u:"1f4ed",a:"0.7"},{n:["postbox"],u:"1f4ee",a:"0.6"},{n:["ballot box with ballot"],u:"1f5f3-fe0f",a:"0.7"},{n:["pencil","pencil2"],u:"270f-fe0f",a:"0.6"},{n:["black nib"],u:"2712-fe0f",a:"0.6"},{n:["fountain pen","lower left fountain pen"],u:"1f58b-fe0f",a:"0.7"},{n:["pen","lower left ballpoint pen"],u:"1f58a-fe0f",a:"0.7"},{n:["paintbrush","lower left paintbrush"],u:"1f58c-fe0f",a:"0.7"},{n:["crayon","lower left crayon"],u:"1f58d-fe0f",a:"0.7"},{n:["memo","pencil"],u:"1f4dd",a:"0.6"},{n:["briefcase"],u:"1f4bc",a:"0.6"},{n:["file folder"],u:"1f4c1",a:"0.6"},{n:["open file folder"],u:"1f4c2",a:"0.6"},{n:["card index dividers"],u:"1f5c2-fe0f",a:"0.7"},{n:["date","calendar"],u:"1f4c5",a:"0.6"},{n:["calendar","tear-off calendar"],u:"1f4c6",a:"0.6"},{n:["spiral notepad","spiral note pad"],u:"1f5d2-fe0f",a:"0.7"},{n:["spiral calendar","spiral calendar pad"],u:"1f5d3-fe0f",a:"0.7"},{n:["card index"],u:"1f4c7",a:"0.6"},{n:["chart with upwards trend"],u:"1f4c8",a:"0.6"},{n:["chart with downwards trend"],u:"1f4c9",a:"0.6"},{n:["bar chart"],u:"1f4ca",a:"0.6"},{n:["clipboard"],u:"1f4cb",a:"0.6"},{n:["pushpin"],u:"1f4cc",a:"0.6"},{n:["round pushpin"],u:"1f4cd",a:"0.6"},{n:["paperclip"],u:"1f4ce",a:"0.6"},{n:["linked paperclips"],u:"1f587-fe0f",a:"0.7"},{n:["straight ruler"],u:"1f4cf",a:"0.6"},{n:["triangular ruler"],u:"1f4d0",a:"0.6"},{n:["scissors","black scissors"],u:"2702-fe0f",a:"0.6"},{n:["card file box"],u:"1f5c3-fe0f",a:"0.7"},{n:["file cabinet"],u:"1f5c4-fe0f",a:"0.7"},{n:["wastebasket"],u:"1f5d1-fe0f",a:"0.7"},{n:["lock"],u:"1f512",a:"0.6"},{n:["unlock","open lock"],u:"1f513",a:"0.6"},{n:["lock with ink pen"],u:"1f50f",a:"0.6"},{n:["closed lock with key"],u:"1f510",a:"0.6"},{n:["key"],u:"1f511",a:"0.6"},{n:["old key"],u:"1f5dd-fe0f",a:"0.7"},{n:["hammer"],u:"1f528",a:"0.6"},{n:["axe"],u:"1fa93",a:"12.0"},{n:["pick"],u:"26cf-fe0f",a:"0.7"},{n:["hammer and pick"],u:"2692-fe0f",a:"1.0"},{n:["hammer and wrench"],u:"1f6e0-fe0f",a:"0.7"},{n:["dagger","dagger knife"],u:"1f5e1-fe0f",a:"0.7"},{n:["crossed swords"],u:"2694-fe0f",a:"1.0"},{n:["gun","pistol"],u:"1f52b",a:"0.6"},{n:["boomerang"],u:"1fa83",a:"13.0"},{n:["bow and arrow"],u:"1f3f9",a:"1.0"},{n:["shield"],u:"1f6e1-fe0f",a:"0.7"},{n:["carpentry saw"],u:"1fa9a",a:"13.0"},{n:["wrench"],u:"1f527",a:"0.6"},{n:["screwdriver"],u:"1fa9b",a:"13.0"},{n:["nut and bolt"],u:"1f529",a:"0.6"},{n:["gear"],u:"2699-fe0f",a:"1.0"},{n:["clamp","compression"],u:"1f5dc-fe0f",a:"0.7"},{n:["scales","balance scale"],u:"2696-fe0f",a:"1.0"},{n:["probing cane"],u:"1f9af",a:"12.0"},{n:["link","link symbol"],u:"1f517",a:"0.6"},{n:["chains"],u:"26d3-fe0f",a:"0.7"},{n:["hook"],u:"1fa9d",a:"13.0"},{n:["toolbox"],u:"1f9f0",a:"11.0"},{n:["magnet"],u:"1f9f2",a:"11.0"},{n:["ladder"],u:"1fa9c",a:"13.0"},{n:["alembic"],u:"2697-fe0f",a:"1.0"},{n:["test tube"],u:"1f9ea",a:"11.0"},{n:["petri dish"],u:"1f9eb",a:"11.0"},{n:["dna","dna double helix"],u:"1f9ec",a:"11.0"},{n:["microscope"],u:"1f52c",a:"1.0"},{n:["telescope"],u:"1f52d",a:"1.0"},{n:["satellite antenna"],u:"1f4e1",a:"0.6"},{n:["syringe"],u:"1f489",a:"0.6"},{n:["drop of blood"],u:"1fa78",a:"12.0"},{n:["pill"],u:"1f48a",a:"0.6"},{n:["adhesive bandage"],u:"1fa79",a:"12.0"},{n:["crutch"],u:"1fa7c",a:"14.0"},{n:["stethoscope"],u:"1fa7a",a:"12.0"},{n:["x-ray"],u:"1fa7b",a:"14.0"},{n:["door"],u:"1f6aa",a:"0.6"},{n:["elevator"],u:"1f6d7",a:"13.0"},{n:["mirror"],u:"1fa9e",a:"13.0"},{n:["window"],u:"1fa9f",a:"13.0"},{n:["bed"],u:"1f6cf-fe0f",a:"0.7"},{n:["couch and lamp"],u:"1f6cb-fe0f",a:"0.7"},{n:["chair"],u:"1fa91",a:"12.0"},{n:["toilet"],u:"1f6bd",a:"0.6"},{n:["plunger"],u:"1faa0",a:"13.0"},{n:["shower"],u:"1f6bf",a:"1.0"},{n:["bathtub"],u:"1f6c1",a:"1.0"},{n:["mouse trap"],u:"1faa4",a:"13.0"},{n:["razor"],u:"1fa92",a:"12.0"},{n:["lotion bottle"],u:"1f9f4",a:"11.0"},{n:["safety pin"],u:"1f9f7",a:"11.0"},{n:["broom"],u:"1f9f9",a:"11.0"},{n:["basket"],u:"1f9fa",a:"11.0"},{n:["roll of paper"],u:"1f9fb",a:"11.0"},{n:["bucket"],u:"1faa3",a:"13.0"},{n:["soap","bar of soap"],u:"1f9fc",a:"11.0"},{n:["bubbles"],u:"1fae7",a:"14.0"},{n:["toothbrush"],u:"1faa5",a:"13.0"},{n:["sponge"],u:"1f9fd",a:"11.0"},{n:["fire extinguisher"],u:"1f9ef",a:"11.0"},{n:["shopping trolley"],u:"1f6d2",a:"3.0"},{n:["smoking","smoking symbol"],u:"1f6ac",a:"0.6"},{n:["coffin"],u:"26b0-fe0f",a:"1.0"},{n:["headstone"],u:"1faa6",a:"13.0"},{n:["funeral urn"],u:"26b1-fe0f",a:"1.0"},{n:["moyai"],u:"1f5ff",a:"0.6"},{n:["placard"],u:"1faa7",a:"13.0"},{n:["identification card"],u:"1faaa",a:"14.0"}],hSe=[{n:["atm","automated teller machine"],u:"1f3e7",a:"0.6"},{n:["put litter in its place","put litter in its place symbol"],u:"1f6ae",a:"1.0"},{n:["potable water","potable water symbol"],u:"1f6b0",a:"1.0"},{n:["wheelchair","wheelchair symbol"],u:"267f",a:"0.6"},{n:["mens","mens symbol"],u:"1f6b9",a:"0.6"},{n:["womens","womens symbol"],u:"1f6ba",a:"0.6"},{n:["restroom"],u:"1f6bb",a:"0.6"},{n:["baby symbol"],u:"1f6bc",a:"0.6"},{n:["wc","water closet"],u:"1f6be",a:"0.6"},{n:["passport control"],u:"1f6c2",a:"1.0"},{n:["customs"],u:"1f6c3",a:"1.0"},{n:["baggage claim"],u:"1f6c4",a:"1.0"},{n:["left luggage"],u:"1f6c5",a:"1.0"},{n:["warning","warning sign"],u:"26a0-fe0f",a:"0.6"},{n:["children crossing"],u:"1f6b8",a:"1.0"},{n:["no entry"],u:"26d4",a:"0.6"},{n:["no entry sign"],u:"1f6ab",a:"0.6"},{n:["no bicycles"],u:"1f6b3",a:"1.0"},{n:["no smoking","no smoking symbol"],u:"1f6ad",a:"0.6"},{n:["do not litter","do not litter symbol"],u:"1f6af",a:"1.0"},{n:["non-potable water","non-potable water symbol"],u:"1f6b1",a:"1.0"},{n:["no pedestrians"],u:"1f6b7",a:"1.0"},{n:["no mobile phones"],u:"1f4f5",a:"1.0"},{n:["underage","no one under eighteen symbol"],u:"1f51e",a:"0.6"},{n:["radioactive","radioactive sign"],u:"2622-fe0f",a:"1.0"},{n:["biohazard","biohazard sign"],u:"2623-fe0f",a:"1.0"},{n:["arrow up","upwards black arrow"],u:"2b06-fe0f",a:"0.6"},{n:["north east arrow","arrow upper right"],u:"2197-fe0f",a:"0.6"},{n:["arrow right","black rightwards arrow"],u:"27a1-fe0f",a:"0.6"},{n:["south east arrow","arrow lower right"],u:"2198-fe0f",a:"0.6"},{n:["arrow down","downwards black arrow"],u:"2b07-fe0f",a:"0.6"},{n:["south west arrow","arrow lower left"],u:"2199-fe0f",a:"0.6"},{n:["arrow left","leftwards black arrow"],u:"2b05-fe0f",a:"0.6"},{n:["north west arrow","arrow upper left"],u:"2196-fe0f",a:"0.6"},{n:["up down arrow","arrow up down"],u:"2195-fe0f",a:"0.6"},{n:["left right arrow"],u:"2194-fe0f",a:"0.6"},{n:["leftwards arrow with hook"],u:"21a9-fe0f",a:"0.6"},{n:["arrow right hook","rightwards arrow with hook"],u:"21aa-fe0f",a:"0.6"},{n:["arrow heading up","arrow pointing rightwards then curving upwards"],u:"2934-fe0f",a:"0.6"},{n:["arrow heading down","arrow pointing rightwards then curving downwards"],u:"2935-fe0f",a:"0.6"},{n:["arrows clockwise","clockwise downwards and upwards open circle arrows"],u:"1f503",a:"0.6"},{n:["arrows counterclockwise","anticlockwise downwards and upwards open circle arrows"],u:"1f504",a:"1.0"},{n:["back","back with leftwards arrow above"],u:"1f519",a:"0.6"},{n:["end","end with leftwards arrow above"],u:"1f51a",a:"0.6"},{n:["on","on with exclamation mark with left right arrow above"],u:"1f51b",a:"0.6"},{n:["soon","soon with rightwards arrow above"],u:"1f51c",a:"0.6"},{n:["top","top with upwards arrow above"],u:"1f51d",a:"0.6"},{n:["place of worship"],u:"1f6d0",a:"1.0"},{n:["atom symbol"],u:"269b-fe0f",a:"1.0"},{n:["om","om symbol"],u:"1f549-fe0f",a:"0.7"},{n:["star of david"],u:"2721-fe0f",a:"0.7"},{n:["wheel of dharma"],u:"2638-fe0f",a:"0.7"},{n:["yin yang"],u:"262f-fe0f",a:"0.7"},{n:["latin cross"],u:"271d-fe0f",a:"0.7"},{n:["orthodox cross"],u:"2626-fe0f",a:"1.0"},{n:["star and crescent"],u:"262a-fe0f",a:"0.7"},{n:["peace symbol"],u:"262e-fe0f",a:"1.0"},{n:["menorah with nine branches"],u:"1f54e",a:"1.0"},{n:["six pointed star","six pointed star with middle dot"],u:"1f52f",a:"0.6"},{n:["aries"],u:"2648",a:"0.6"},{n:["taurus"],u:"2649",a:"0.6"},{n:["gemini"],u:"264a",a:"0.6"},{n:["cancer"],u:"264b",a:"0.6"},{n:["leo"],u:"264c",a:"0.6"},{n:["virgo"],u:"264d",a:"0.6"},{n:["libra"],u:"264e",a:"0.6"},{n:["scorpius"],u:"264f",a:"0.6"},{n:["sagittarius"],u:"2650",a:"0.6"},{n:["capricorn"],u:"2651",a:"0.6"},{n:["aquarius"],u:"2652",a:"0.6"},{n:["pisces"],u:"2653",a:"0.6"},{n:["ophiuchus"],u:"26ce",a:"0.6"},{n:["twisted rightwards arrows"],u:"1f500",a:"1.0"},{n:["repeat","clockwise rightwards and leftwards open circle arrows"],u:"1f501",a:"1.0"},{n:["repeat one","clockwise rightwards and leftwards open circle arrows with circled one overlay"],u:"1f502",a:"1.0"},{n:["arrow forward","black right-pointing triangle"],u:"25b6-fe0f",a:"0.6"},{n:["fast forward","black right-pointing double triangle"],u:"23e9",a:"0.6"},{n:["next track button","black right pointing double triangle with vertical bar"],u:"23ed-fe0f",a:"0.7"},{n:["play or pause button","black right pointing triangle with double vertical bar"],u:"23ef-fe0f",a:"1.0"},{n:["arrow backward","black left-pointing triangle"],u:"25c0-fe0f",a:"0.6"},{n:["rewind","black left-pointing double triangle"],u:"23ea",a:"0.6"},{n:["last track button","black left pointing double triangle with vertical bar"],u:"23ee-fe0f",a:"0.7"},{n:["arrow up small","up-pointing small red triangle"],u:"1f53c",a:"0.6"},{n:["arrow double up","black up-pointing double triangle"],u:"23eb",a:"0.6"},{n:["arrow down small","down-pointing small red triangle"],u:"1f53d",a:"0.6"},{n:["arrow double down","black down-pointing double triangle"],u:"23ec",a:"0.6"},{n:["pause button","double vertical bar"],u:"23f8-fe0f",a:"0.7"},{n:["stop button","black square for stop"],u:"23f9-fe0f",a:"0.7"},{n:["record button","black circle for record"],u:"23fa-fe0f",a:"0.7"},{n:["eject","eject button"],u:"23cf-fe0f",a:"1.0"},{n:["cinema"],u:"1f3a6",a:"0.6"},{n:["low brightness","low brightness symbol"],u:"1f505",a:"1.0"},{n:["high brightness","high brightness symbol"],u:"1f506",a:"1.0"},{n:["signal strength","antenna with bars"],u:"1f4f6",a:"0.6"},{n:["vibration mode"],u:"1f4f3",a:"0.6"},{n:["mobile phone off"],u:"1f4f4",a:"0.6"},{n:["female sign"],u:"2640-fe0f",a:"4.0"},{n:["male sign"],u:"2642-fe0f",a:"4.0"},{n:["transgender symbol"],u:"26a7-fe0f",a:"13.0"},{n:["heavy multiplication x"],u:"2716-fe0f",a:"0.6"},{n:["heavy plus sign"],u:"2795",a:"0.6"},{n:["heavy minus sign"],u:"2796",a:"0.6"},{n:["heavy division sign"],u:"2797",a:"0.6"},{n:["heavy equals sign"],u:"1f7f0",a:"14.0"},{n:["infinity"],u:"267e-fe0f",a:"11.0"},{n:["bangbang","double exclamation mark"],u:"203c-fe0f",a:"0.6"},{n:["interrobang","exclamation question mark"],u:"2049-fe0f",a:"0.6"},{n:["question","black question mark ornament"],u:"2753",a:"0.6"},{n:["grey question","white question mark ornament"],u:"2754",a:"0.6"},{n:["grey exclamation","white exclamation mark ornament"],u:"2755",a:"0.6"},{n:["exclamation","heavy exclamation mark","heavy exclamation mark symbol"],u:"2757",a:"0.6"},{n:["wavy dash"],u:"3030-fe0f",a:"0.6"},{n:["currency exchange"],u:"1f4b1",a:"0.6"},{n:["heavy dollar sign"],u:"1f4b2",a:"0.6"},{n:["medical symbol","staff of aesculapius"],u:"2695-fe0f",a:"4.0"},{n:["recycle","black universal recycling symbol"],u:"267b-fe0f",a:"0.6"},{n:["fleur-de-lis","fleur de lis"],u:"269c-fe0f",a:"1.0"},{n:["trident","trident emblem"],u:"1f531",a:"0.6"},{n:["name badge"],u:"1f4db",a:"0.6"},{n:["beginner","japanese symbol for beginner"],u:"1f530",a:"0.6"},{n:["o","heavy large circle"],u:"2b55",a:"0.6"},{n:["white check mark","white heavy check mark"],u:"2705",a:"0.6"},{n:["ballot box with check"],u:"2611-fe0f",a:"0.6"},{n:["heavy check mark"],u:"2714-fe0f",a:"0.6"},{n:["x","cross mark"],u:"274c",a:"0.6"},{n:["negative squared cross mark"],u:"274e",a:"0.6"},{n:["curly loop"],u:"27b0",a:"0.6"},{n:["loop","double curly loop"],u:"27bf",a:"1.0"},{n:["part alternation mark"],u:"303d-fe0f",a:"0.6"},{n:["eight spoked asterisk"],u:"2733-fe0f",a:"0.6"},{n:["eight pointed black star"],u:"2734-fe0f",a:"0.6"},{n:["sparkle"],u:"2747-fe0f",a:"0.6"},{n:["copyright","copyright sign"],u:"00a9-fe0f",a:"0.6"},{n:["registered","registered sign"],u:"00ae-fe0f",a:"0.6"},{n:["tm","trade mark sign"],u:"2122-fe0f",a:"0.6"},{n:["hash","hash key"],u:"0023-fe0f-20e3",a:"0.6"},{n:["keycap: *","keycap star"],u:"002a-fe0f-20e3",a:"2.0"},{n:["zero","keycap 0"],u:"0030-fe0f-20e3",a:"0.6"},{n:["one","keycap 1"],u:"0031-fe0f-20e3",a:"0.6"},{n:["two","keycap 2"],u:"0032-fe0f-20e3",a:"0.6"},{n:["three","keycap 3"],u:"0033-fe0f-20e3",a:"0.6"},{n:["four","keycap 4"],u:"0034-fe0f-20e3",a:"0.6"},{n:["five","keycap 5"],u:"0035-fe0f-20e3",a:"0.6"},{n:["six","keycap 6"],u:"0036-fe0f-20e3",a:"0.6"},{n:["seven","keycap 7"],u:"0037-fe0f-20e3",a:"0.6"},{n:["eight","keycap 8"],u:"0038-fe0f-20e3",a:"0.6"},{n:["nine","keycap 9"],u:"0039-fe0f-20e3",a:"0.6"},{n:["keycap ten"],u:"1f51f",a:"0.6"},{n:["capital abcd","input symbol for latin capital letters"],u:"1f520",a:"0.6"},{n:["abcd","input symbol for latin small letters"],u:"1f521",a:"0.6"},{n:["1234","input symbol for numbers"],u:"1f522",a:"0.6"},{n:["symbols","input symbol for symbols"],u:"1f523",a:"0.6"},{n:["abc","input symbol for latin letters"],u:"1f524",a:"0.6"},{n:["a","negative squared latin capital letter a"],u:"1f170-fe0f",a:"0.6"},{n:["ab","negative squared ab"],u:"1f18e",a:"0.6"},{n:["b","negative squared latin capital letter b"],u:"1f171-fe0f",a:"0.6"},{n:["cl","squared cl"],u:"1f191",a:"0.6"},{n:["cool","squared cool"],u:"1f192",a:"0.6"},{n:["free","squared free"],u:"1f193",a:"0.6"},{n:["information source"],u:"2139-fe0f",a:"0.6"},{n:["id","squared id"],u:"1f194",a:"0.6"},{n:["m","circled latin capital letter m"],u:"24c2-fe0f",a:"0.6"},{n:["new","squared new"],u:"1f195",a:"0.6"},{n:["ng","squared ng"],u:"1f196",a:"0.6"},{n:["o2","negative squared latin capital letter o"],u:"1f17e-fe0f",a:"0.6"},{n:["ok","squared ok"],u:"1f197",a:"0.6"},{n:["parking","negative squared latin capital letter p"],u:"1f17f-fe0f",a:"0.6"},{n:["sos","squared sos"],u:"1f198",a:"0.6"},{n:["up","squared up with exclamation mark"],u:"1f199",a:"0.6"},{n:["vs","squared vs"],u:"1f19a",a:"0.6"},{n:["koko","squared katakana koko"],u:"1f201",a:"0.6"},{n:["sa","squared katakana sa"],u:"1f202-fe0f",a:"0.6"},{n:["u6708","squared cjk unified ideograph-6708"],u:"1f237-fe0f",a:"0.6"},{n:["u6709","squared cjk unified ideograph-6709"],u:"1f236",a:"0.6"},{n:["u6307","squared cjk unified ideograph-6307"],u:"1f22f",a:"0.6"},{n:["ideograph advantage","circled ideograph advantage"],u:"1f250",a:"0.6"},{n:["u5272","squared cjk unified ideograph-5272"],u:"1f239",a:"0.6"},{n:["u7121","squared cjk unified ideograph-7121"],u:"1f21a",a:"0.6"},{n:["u7981","squared cjk unified ideograph-7981"],u:"1f232",a:"0.6"},{n:["accept","circled ideograph accept"],u:"1f251",a:"0.6"},{n:["u7533","squared cjk unified ideograph-7533"],u:"1f238",a:"0.6"},{n:["u5408","squared cjk unified ideograph-5408"],u:"1f234",a:"0.6"},{n:["u7a7a","squared cjk unified ideograph-7a7a"],u:"1f233",a:"0.6"},{n:["congratulations","circled ideograph congratulation"],u:"3297-fe0f",a:"0.6"},{n:["secret","circled ideograph secret"],u:"3299-fe0f",a:"0.6"},{n:["u55b6","squared cjk unified ideograph-55b6"],u:"1f23a",a:"0.6"},{n:["u6e80","squared cjk unified ideograph-6e80"],u:"1f235",a:"0.6"},{n:["red circle","large red circle"],u:"1f534",a:"0.6"},{n:["large orange circle"],u:"1f7e0",a:"12.0"},{n:["large yellow circle"],u:"1f7e1",a:"12.0"},{n:["large green circle"],u:"1f7e2",a:"12.0"},{n:["large blue circle"],u:"1f535",a:"0.6"},{n:["large purple circle"],u:"1f7e3",a:"12.0"},{n:["large brown circle"],u:"1f7e4",a:"12.0"},{n:["black circle","medium black circle"],u:"26ab",a:"0.6"},{n:["white circle","medium white circle"],u:"26aa",a:"0.6"},{n:["large red square"],u:"1f7e5",a:"12.0"},{n:["large orange square"],u:"1f7e7",a:"12.0"},{n:["large yellow square"],u:"1f7e8",a:"12.0"},{n:["large green square"],u:"1f7e9",a:"12.0"},{n:["large blue square"],u:"1f7e6",a:"12.0"},{n:["large purple square"],u:"1f7ea",a:"12.0"},{n:["large brown square"],u:"1f7eb",a:"12.0"},{n:["black large square"],u:"2b1b",a:"0.6"},{n:["white large square"],u:"2b1c",a:"0.6"},{n:["black medium square"],u:"25fc-fe0f",a:"0.6"},{n:["white medium square"],u:"25fb-fe0f",a:"0.6"},{n:["black medium small square"],u:"25fe",a:"0.6"},{n:["white medium small square"],u:"25fd",a:"0.6"},{n:["black small square"],u:"25aa-fe0f",a:"0.6"},{n:["white small square"],u:"25ab-fe0f",a:"0.6"},{n:["large orange diamond"],u:"1f536",a:"0.6"},{n:["large blue diamond"],u:"1f537",a:"0.6"},{n:["small orange diamond"],u:"1f538",a:"0.6"},{n:["small blue diamond"],u:"1f539",a:"0.6"},{n:["small red triangle","up-pointing red triangle"],u:"1f53a",a:"0.6"},{n:["small red triangle down","down-pointing red triangle"],u:"1f53b",a:"0.6"},{n:["diamond shape with a dot inside"],u:"1f4a0",a:"0.6"},{n:["radio button"],u:"1f518",a:"0.6"},{n:["white square button"],u:"1f533",a:"0.6"},{n:["black square button"],u:"1f532",a:"0.6"}],mSe=[{n:["chequered flag","checkered flag"],u:"1f3c1",a:"0.6"},{n:["triangular flag on post"],u:"1f6a9",a:"0.6"},{n:["crossed flags"],u:"1f38c",a:"0.6"},{n:["waving black flag"],u:"1f3f4",a:"1.0"},{n:["white flag","waving white flag"],u:"1f3f3-fe0f",a:"0.7"},{n:["rainbow flag","rainbow-flag"],u:"1f3f3-fe0f-200d-1f308",a:"4.0"},{n:["transgender flag"],u:"1f3f3-fe0f-200d-26a7-fe0f",a:"13.0"},{n:["pirate flag"],u:"1f3f4-200d-2620-fe0f",a:"11.0"},{n:["flag-ac","ascension island flag"],u:"1f1e6-1f1e8",a:"2.0"},{n:["flag-ad","andorra flag"],u:"1f1e6-1f1e9",a:"2.0"},{n:["flag-ae","united arab emirates flag"],u:"1f1e6-1f1ea",a:"2.0"},{n:["flag-af","afghanistan flag"],u:"1f1e6-1f1eb",a:"2.0"},{n:["flag-ag","antigua & barbuda flag"],u:"1f1e6-1f1ec",a:"2.0"},{n:["flag-ai","anguilla flag"],u:"1f1e6-1f1ee",a:"2.0"},{n:["flag-al","albania flag"],u:"1f1e6-1f1f1",a:"2.0"},{n:["flag-am","armenia flag"],u:"1f1e6-1f1f2",a:"2.0"},{n:["flag-ao","angola flag"],u:"1f1e6-1f1f4",a:"2.0"},{n:["flag-aq","antarctica flag"],u:"1f1e6-1f1f6",a:"2.0"},{n:["flag-ar","argentina flag"],u:"1f1e6-1f1f7",a:"2.0"},{n:["flag-as","american samoa flag"],u:"1f1e6-1f1f8",a:"2.0"},{n:["flag-at","austria flag"],u:"1f1e6-1f1f9",a:"2.0"},{n:["flag-au","australia flag"],u:"1f1e6-1f1fa",a:"2.0"},{n:["flag-aw","aruba flag"],u:"1f1e6-1f1fc",a:"2.0"},{n:["flag-ax","åland islands flag"],u:"1f1e6-1f1fd",a:"2.0"},{n:["flag-az","azerbaijan flag"],u:"1f1e6-1f1ff",a:"2.0"},{n:["flag-ba","bosnia & herzegovina flag"],u:"1f1e7-1f1e6",a:"2.0"},{n:["flag-bb","barbados flag"],u:"1f1e7-1f1e7",a:"2.0"},{n:["flag-bd","bangladesh flag"],u:"1f1e7-1f1e9",a:"2.0"},{n:["flag-be","belgium flag"],u:"1f1e7-1f1ea",a:"2.0"},{n:["flag-bf","burkina faso flag"],u:"1f1e7-1f1eb",a:"2.0"},{n:["flag-bg","bulgaria flag"],u:"1f1e7-1f1ec",a:"2.0"},{n:["flag-bh","bahrain flag"],u:"1f1e7-1f1ed",a:"2.0"},{n:["flag-bi","burundi flag"],u:"1f1e7-1f1ee",a:"2.0"},{n:["flag-bj","benin flag"],u:"1f1e7-1f1ef",a:"2.0"},{n:["flag-bl","st. barthélemy flag"],u:"1f1e7-1f1f1",a:"2.0"},{n:["flag-bm","bermuda flag"],u:"1f1e7-1f1f2",a:"2.0"},{n:["flag-bn","brunei flag"],u:"1f1e7-1f1f3",a:"2.0"},{n:["flag-bo","bolivia flag"],u:"1f1e7-1f1f4",a:"2.0"},{n:["flag-bq","caribbean netherlands flag"],u:"1f1e7-1f1f6",a:"2.0"},{n:["flag-br","brazil flag"],u:"1f1e7-1f1f7",a:"2.0"},{n:["flag-bs","bahamas flag"],u:"1f1e7-1f1f8",a:"2.0"},{n:["flag-bt","bhutan flag"],u:"1f1e7-1f1f9",a:"2.0"},{n:["flag-bv","bouvet island flag"],u:"1f1e7-1f1fb",a:"2.0"},{n:["flag-bw","botswana flag"],u:"1f1e7-1f1fc",a:"2.0"},{n:["flag-by","belarus flag"],u:"1f1e7-1f1fe",a:"2.0"},{n:["flag-bz","belize flag"],u:"1f1e7-1f1ff",a:"2.0"},{n:["flag-ca","canada flag"],u:"1f1e8-1f1e6",a:"2.0"},{n:["flag-cc","cocos (keeling) islands flag"],u:"1f1e8-1f1e8",a:"2.0"},{n:["flag-cd","congo - kinshasa flag"],u:"1f1e8-1f1e9",a:"2.0"},{n:["flag-cf","central african republic flag"],u:"1f1e8-1f1eb",a:"2.0"},{n:["flag-cg","congo - brazzaville flag"],u:"1f1e8-1f1ec",a:"2.0"},{n:["flag-ch","switzerland flag"],u:"1f1e8-1f1ed",a:"2.0"},{n:["flag-ci","côte d’ivoire flag"],u:"1f1e8-1f1ee",a:"2.0"},{n:["flag-ck","cook islands flag"],u:"1f1e8-1f1f0",a:"2.0"},{n:["flag-cl","chile flag"],u:"1f1e8-1f1f1",a:"2.0"},{n:["flag-cm","cameroon flag"],u:"1f1e8-1f1f2",a:"2.0"},{n:["cn","flag-cn","china flag"],u:"1f1e8-1f1f3",a:"0.6"},{n:["flag-co","colombia flag"],u:"1f1e8-1f1f4",a:"2.0"},{n:["flag-cp","clipperton island flag"],u:"1f1e8-1f1f5",a:"2.0"},{n:["flag-cr","costa rica flag"],u:"1f1e8-1f1f7",a:"2.0"},{n:["flag-cu","cuba flag"],u:"1f1e8-1f1fa",a:"2.0"},{n:["flag-cv","cape verde flag"],u:"1f1e8-1f1fb",a:"2.0"},{n:["flag-cw","curaçao flag"],u:"1f1e8-1f1fc",a:"2.0"},{n:["flag-cx","christmas island flag"],u:"1f1e8-1f1fd",a:"2.0"},{n:["flag-cy","cyprus flag"],u:"1f1e8-1f1fe",a:"2.0"},{n:["flag-cz","czechia flag"],u:"1f1e8-1f1ff",a:"2.0"},{n:["de","flag-de","germany flag"],u:"1f1e9-1f1ea",a:"0.6"},{n:["flag-dg","diego garcia flag"],u:"1f1e9-1f1ec",a:"2.0"},{n:["flag-dj","djibouti flag"],u:"1f1e9-1f1ef",a:"2.0"},{n:["flag-dk","denmark flag"],u:"1f1e9-1f1f0",a:"2.0"},{n:["flag-dm","dominica flag"],u:"1f1e9-1f1f2",a:"2.0"},{n:["flag-do","dominican republic flag"],u:"1f1e9-1f1f4",a:"2.0"},{n:["flag-dz","algeria flag"],u:"1f1e9-1f1ff",a:"2.0"},{n:["flag-ea","ceuta & melilla flag"],u:"1f1ea-1f1e6",a:"2.0"},{n:["flag-ec","ecuador flag"],u:"1f1ea-1f1e8",a:"2.0"},{n:["flag-ee","estonia flag"],u:"1f1ea-1f1ea",a:"2.0"},{n:["flag-eg","egypt flag"],u:"1f1ea-1f1ec",a:"2.0"},{n:["flag-eh","western sahara flag"],u:"1f1ea-1f1ed",a:"2.0"},{n:["flag-er","eritrea flag"],u:"1f1ea-1f1f7",a:"2.0"},{n:["es","flag-es","spain flag"],u:"1f1ea-1f1f8",a:"0.6"},{n:["flag-et","ethiopia flag"],u:"1f1ea-1f1f9",a:"2.0"},{n:["flag-eu","european union flag"],u:"1f1ea-1f1fa",a:"2.0"},{n:["flag-fi","finland flag"],u:"1f1eb-1f1ee",a:"2.0"},{n:["flag-fj","fiji flag"],u:"1f1eb-1f1ef",a:"2.0"},{n:["flag-fk","falkland islands flag"],u:"1f1eb-1f1f0",a:"2.0"},{n:["flag-fm","micronesia flag"],u:"1f1eb-1f1f2",a:"2.0"},{n:["flag-fo","faroe islands flag"],u:"1f1eb-1f1f4",a:"2.0"},{n:["fr","flag-fr","france flag"],u:"1f1eb-1f1f7",a:"0.6"},{n:["flag-ga","gabon flag"],u:"1f1ec-1f1e6",a:"2.0"},{n:["gb","uk","flag-gb","united kingdom flag"],u:"1f1ec-1f1e7",a:"0.6"},{n:["flag-gd","grenada flag"],u:"1f1ec-1f1e9",a:"2.0"},{n:["flag-ge","georgia flag"],u:"1f1ec-1f1ea",a:"2.0"},{n:["flag-gf","french guiana flag"],u:"1f1ec-1f1eb",a:"2.0"},{n:["flag-gg","guernsey flag"],u:"1f1ec-1f1ec",a:"2.0"},{n:["flag-gh","ghana flag"],u:"1f1ec-1f1ed",a:"2.0"},{n:["flag-gi","gibraltar flag"],u:"1f1ec-1f1ee",a:"2.0"},{n:["flag-gl","greenland flag"],u:"1f1ec-1f1f1",a:"2.0"},{n:["flag-gm","gambia flag"],u:"1f1ec-1f1f2",a:"2.0"},{n:["flag-gn","guinea flag"],u:"1f1ec-1f1f3",a:"2.0"},{n:["flag-gp","guadeloupe flag"],u:"1f1ec-1f1f5",a:"2.0"},{n:["flag-gq","equatorial guinea flag"],u:"1f1ec-1f1f6",a:"2.0"},{n:["flag-gr","greece flag"],u:"1f1ec-1f1f7",a:"2.0"},{n:["flag-gs","south georgia & south sandwich islands flag"],u:"1f1ec-1f1f8",a:"2.0"},{n:["flag-gt","guatemala flag"],u:"1f1ec-1f1f9",a:"2.0"},{n:["flag-gu","guam flag"],u:"1f1ec-1f1fa",a:"2.0"},{n:["flag-gw","guinea-bissau flag"],u:"1f1ec-1f1fc",a:"2.0"},{n:["flag-gy","guyana flag"],u:"1f1ec-1f1fe",a:"2.0"},{n:["flag-hk","hong kong sar china flag"],u:"1f1ed-1f1f0",a:"2.0"},{n:["flag-hm","heard & mcdonald islands flag"],u:"1f1ed-1f1f2",a:"2.0"},{n:["flag-hn","honduras flag"],u:"1f1ed-1f1f3",a:"2.0"},{n:["flag-hr","croatia flag"],u:"1f1ed-1f1f7",a:"2.0"},{n:["flag-ht","haiti flag"],u:"1f1ed-1f1f9",a:"2.0"},{n:["flag-hu","hungary flag"],u:"1f1ed-1f1fa",a:"2.0"},{n:["flag-ic","canary islands flag"],u:"1f1ee-1f1e8",a:"2.0"},{n:["flag-id","indonesia flag"],u:"1f1ee-1f1e9",a:"2.0"},{n:["flag-ie","ireland flag"],u:"1f1ee-1f1ea",a:"2.0"},{n:["flag-il","israel flag"],u:"1f1ee-1f1f1",a:"2.0"},{n:["flag-im","isle of man flag"],u:"1f1ee-1f1f2",a:"2.0"},{n:["flag-in","india flag"],u:"1f1ee-1f1f3",a:"2.0"},{n:["flag-io","british indian ocean territory flag"],u:"1f1ee-1f1f4",a:"2.0"},{n:["flag-iq","iraq flag"],u:"1f1ee-1f1f6",a:"2.0"},{n:["flag-ir","iran flag"],u:"1f1ee-1f1f7",a:"2.0"},{n:["flag-is","iceland flag"],u:"1f1ee-1f1f8",a:"2.0"},{n:["it","flag-it","italy flag"],u:"1f1ee-1f1f9",a:"0.6"},{n:["flag-je","jersey flag"],u:"1f1ef-1f1ea",a:"2.0"},{n:["flag-jm","jamaica flag"],u:"1f1ef-1f1f2",a:"2.0"},{n:["flag-jo","jordan flag"],u:"1f1ef-1f1f4",a:"2.0"},{n:["jp","flag-jp","japan flag"],u:"1f1ef-1f1f5",a:"0.6"},{n:["flag-ke","kenya flag"],u:"1f1f0-1f1ea",a:"2.0"},{n:["flag-kg","kyrgyzstan flag"],u:"1f1f0-1f1ec",a:"2.0"},{n:["flag-kh","cambodia flag"],u:"1f1f0-1f1ed",a:"2.0"},{n:["flag-ki","kiribati flag"],u:"1f1f0-1f1ee",a:"2.0"},{n:["flag-km","comoros flag"],u:"1f1f0-1f1f2",a:"2.0"},{n:["flag-kn","st. kitts & nevis flag"],u:"1f1f0-1f1f3",a:"2.0"},{n:["flag-kp","north korea flag"],u:"1f1f0-1f1f5",a:"2.0"},{n:["kr","flag-kr","south korea flag"],u:"1f1f0-1f1f7",a:"0.6"},{n:["flag-kw","kuwait flag"],u:"1f1f0-1f1fc",a:"2.0"},{n:["flag-ky","cayman islands flag"],u:"1f1f0-1f1fe",a:"2.0"},{n:["flag-kz","kazakhstan flag"],u:"1f1f0-1f1ff",a:"2.0"},{n:["flag-la","laos flag"],u:"1f1f1-1f1e6",a:"2.0"},{n:["flag-lb","lebanon flag"],u:"1f1f1-1f1e7",a:"2.0"},{n:["flag-lc","st. lucia flag"],u:"1f1f1-1f1e8",a:"2.0"},{n:["flag-li","liechtenstein flag"],u:"1f1f1-1f1ee",a:"2.0"},{n:["flag-lk","sri lanka flag"],u:"1f1f1-1f1f0",a:"2.0"},{n:["flag-lr","liberia flag"],u:"1f1f1-1f1f7",a:"2.0"},{n:["flag-ls","lesotho flag"],u:"1f1f1-1f1f8",a:"2.0"},{n:["flag-lt","lithuania flag"],u:"1f1f1-1f1f9",a:"2.0"},{n:["flag-lu","luxembourg flag"],u:"1f1f1-1f1fa",a:"2.0"},{n:["flag-lv","latvia flag"],u:"1f1f1-1f1fb",a:"2.0"},{n:["flag-ly","libya flag"],u:"1f1f1-1f1fe",a:"2.0"},{n:["flag-ma","morocco flag"],u:"1f1f2-1f1e6",a:"2.0"},{n:["flag-mc","monaco flag"],u:"1f1f2-1f1e8",a:"2.0"},{n:["flag-md","moldova flag"],u:"1f1f2-1f1e9",a:"2.0"},{n:["flag-me","montenegro flag"],u:"1f1f2-1f1ea",a:"2.0"},{n:["flag-mf","st. martin flag"],u:"1f1f2-1f1eb",a:"2.0"},{n:["flag-mg","madagascar flag"],u:"1f1f2-1f1ec",a:"2.0"},{n:["flag-mh","marshall islands flag"],u:"1f1f2-1f1ed",a:"2.0"},{n:["flag-mk","north macedonia flag"],u:"1f1f2-1f1f0",a:"2.0"},{n:["flag-ml","mali flag"],u:"1f1f2-1f1f1",a:"2.0"},{n:["flag-mm","myanmar (burma) flag"],u:"1f1f2-1f1f2",a:"2.0"},{n:["flag-mn","mongolia flag"],u:"1f1f2-1f1f3",a:"2.0"},{n:["flag-mo","macao sar china flag"],u:"1f1f2-1f1f4",a:"2.0"},{n:["flag-mp","northern mariana islands flag"],u:"1f1f2-1f1f5",a:"2.0"},{n:["flag-mq","martinique flag"],u:"1f1f2-1f1f6",a:"2.0"},{n:["flag-mr","mauritania flag"],u:"1f1f2-1f1f7",a:"2.0"},{n:["flag-ms","montserrat flag"],u:"1f1f2-1f1f8",a:"2.0"},{n:["flag-mt","malta flag"],u:"1f1f2-1f1f9",a:"2.0"},{n:["flag-mu","mauritius flag"],u:"1f1f2-1f1fa",a:"2.0"},{n:["flag-mv","maldives flag"],u:"1f1f2-1f1fb",a:"2.0"},{n:["flag-mw","malawi flag"],u:"1f1f2-1f1fc",a:"2.0"},{n:["flag-mx","mexico flag"],u:"1f1f2-1f1fd",a:"2.0"},{n:["flag-my","malaysia flag"],u:"1f1f2-1f1fe",a:"2.0"},{n:["flag-mz","mozambique flag"],u:"1f1f2-1f1ff",a:"2.0"},{n:["flag-na","namibia flag"],u:"1f1f3-1f1e6",a:"2.0"},{n:["flag-nc","new caledonia flag"],u:"1f1f3-1f1e8",a:"2.0"},{n:["flag-ne","niger flag"],u:"1f1f3-1f1ea",a:"2.0"},{n:["flag-nf","norfolk island flag"],u:"1f1f3-1f1eb",a:"2.0"},{n:["flag-ng","nigeria flag"],u:"1f1f3-1f1ec",a:"2.0"},{n:["flag-ni","nicaragua flag"],u:"1f1f3-1f1ee",a:"2.0"},{n:["flag-nl","netherlands flag"],u:"1f1f3-1f1f1",a:"2.0"},{n:["flag-no","norway flag"],u:"1f1f3-1f1f4",a:"2.0"},{n:["flag-np","nepal flag"],u:"1f1f3-1f1f5",a:"2.0"},{n:["flag-nr","nauru flag"],u:"1f1f3-1f1f7",a:"2.0"},{n:["flag-nu","niue flag"],u:"1f1f3-1f1fa",a:"2.0"},{n:["flag-nz","new zealand flag"],u:"1f1f3-1f1ff",a:"2.0"},{n:["flag-om","oman flag"],u:"1f1f4-1f1f2",a:"2.0"},{n:["flag-pa","panama flag"],u:"1f1f5-1f1e6",a:"2.0"},{n:["flag-pe","peru flag"],u:"1f1f5-1f1ea",a:"2.0"},{n:["flag-pf","french polynesia flag"],u:"1f1f5-1f1eb",a:"2.0"},{n:["flag-pg","papua new guinea flag"],u:"1f1f5-1f1ec",a:"2.0"},{n:["flag-ph","philippines flag"],u:"1f1f5-1f1ed",a:"2.0"},{n:["flag-pk","pakistan flag"],u:"1f1f5-1f1f0",a:"2.0"},{n:["flag-pl","poland flag"],u:"1f1f5-1f1f1",a:"2.0"},{n:["flag-pm","st. pierre & miquelon flag"],u:"1f1f5-1f1f2",a:"2.0"},{n:["flag-pn","pitcairn islands flag"],u:"1f1f5-1f1f3",a:"2.0"},{n:["flag-pr","puerto rico flag"],u:"1f1f5-1f1f7",a:"2.0"},{n:["flag-ps","palestinian territories flag"],u:"1f1f5-1f1f8",a:"2.0"},{n:["flag-pt","portugal flag"],u:"1f1f5-1f1f9",a:"2.0"},{n:["flag-pw","palau flag"],u:"1f1f5-1f1fc",a:"2.0"},{n:["flag-py","paraguay flag"],u:"1f1f5-1f1fe",a:"2.0"},{n:["flag-qa","qatar flag"],u:"1f1f6-1f1e6",a:"2.0"},{n:["flag-re","réunion flag"],u:"1f1f7-1f1ea",a:"2.0"},{n:["flag-ro","romania flag"],u:"1f1f7-1f1f4",a:"2.0"},{n:["flag-rs","serbia flag"],u:"1f1f7-1f1f8",a:"2.0"},{n:["ru","flag-ru","russia flag"],u:"1f1f7-1f1fa",a:"0.6"},{n:["flag-rw","rwanda flag"],u:"1f1f7-1f1fc",a:"2.0"},{n:["flag-sa","saudi arabia flag"],u:"1f1f8-1f1e6",a:"2.0"},{n:["flag-sb","solomon islands flag"],u:"1f1f8-1f1e7",a:"2.0"},{n:["flag-sc","seychelles flag"],u:"1f1f8-1f1e8",a:"2.0"},{n:["flag-sd","sudan flag"],u:"1f1f8-1f1e9",a:"2.0"},{n:["flag-se","sweden flag"],u:"1f1f8-1f1ea",a:"2.0"},{n:["flag-sg","singapore flag"],u:"1f1f8-1f1ec",a:"2.0"},{n:["flag-sh","st. helena flag"],u:"1f1f8-1f1ed",a:"2.0"},{n:["flag-si","slovenia flag"],u:"1f1f8-1f1ee",a:"2.0"},{n:["flag-sj","svalbard & jan mayen flag"],u:"1f1f8-1f1ef",a:"2.0"},{n:["flag-sk","slovakia flag"],u:"1f1f8-1f1f0",a:"2.0"},{n:["flag-sl","sierra leone flag"],u:"1f1f8-1f1f1",a:"2.0"},{n:["flag-sm","san marino flag"],u:"1f1f8-1f1f2",a:"2.0"},{n:["flag-sn","senegal flag"],u:"1f1f8-1f1f3",a:"2.0"},{n:["flag-so","somalia flag"],u:"1f1f8-1f1f4",a:"2.0"},{n:["flag-sr","suriname flag"],u:"1f1f8-1f1f7",a:"2.0"},{n:["flag-ss","south sudan flag"],u:"1f1f8-1f1f8",a:"2.0"},{n:["flag-st","são tomé & príncipe flag"],u:"1f1f8-1f1f9",a:"2.0"},{n:["flag-sv","el salvador flag"],u:"1f1f8-1f1fb",a:"2.0"},{n:["flag-sx","sint maarten flag"],u:"1f1f8-1f1fd",a:"2.0"},{n:["flag-sy","syria flag"],u:"1f1f8-1f1fe",a:"2.0"},{n:["flag-sz","eswatini flag"],u:"1f1f8-1f1ff",a:"2.0"},{n:["flag-ta","tristan da cunha flag"],u:"1f1f9-1f1e6",a:"2.0"},{n:["flag-tc","turks & caicos islands flag"],u:"1f1f9-1f1e8",a:"2.0"},{n:["flag-td","chad flag"],u:"1f1f9-1f1e9",a:"2.0"},{n:["flag-tf","french southern territories flag"],u:"1f1f9-1f1eb",a:"2.0"},{n:["flag-tg","togo flag"],u:"1f1f9-1f1ec",a:"2.0"},{n:["flag-th","thailand flag"],u:"1f1f9-1f1ed",a:"2.0"},{n:["flag-tj","tajikistan flag"],u:"1f1f9-1f1ef",a:"2.0"},{n:["flag-tk","tokelau flag"],u:"1f1f9-1f1f0",a:"2.0"},{n:["flag-tl","timor-leste flag"],u:"1f1f9-1f1f1",a:"2.0"},{n:["flag-tm","turkmenistan flag"],u:"1f1f9-1f1f2",a:"2.0"},{n:["flag-tn","tunisia flag"],u:"1f1f9-1f1f3",a:"2.0"},{n:["flag-to","tonga flag"],u:"1f1f9-1f1f4",a:"2.0"},{n:["flag-tr","turkey flag"],u:"1f1f9-1f1f7",a:"2.0"},{n:["flag-tt","trinidad & tobago flag"],u:"1f1f9-1f1f9",a:"2.0"},{n:["flag-tv","tuvalu flag"],u:"1f1f9-1f1fb",a:"2.0"},{n:["flag-tw","taiwan flag"],u:"1f1f9-1f1fc",a:"2.0"},{n:["flag-tz","tanzania flag"],u:"1f1f9-1f1ff",a:"2.0"},{n:["flag-ua","ukraine flag"],u:"1f1fa-1f1e6",a:"2.0"},{n:["flag-ug","uganda flag"],u:"1f1fa-1f1ec",a:"2.0"},{n:["flag-um","u.s. outlying islands flag"],u:"1f1fa-1f1f2",a:"2.0"},{n:["flag-un","united nations flag"],u:"1f1fa-1f1f3",a:"4.0"},{n:["us","flag-us","united states flag"],u:"1f1fa-1f1f8",a:"0.6"},{n:["flag-uy","uruguay flag"],u:"1f1fa-1f1fe",a:"2.0"},{n:["flag-uz","uzbekistan flag"],u:"1f1fa-1f1ff",a:"2.0"},{n:["flag-va","vatican city flag"],u:"1f1fb-1f1e6",a:"2.0"},{n:["flag-vc","st. vincent & grenadines flag"],u:"1f1fb-1f1e8",a:"2.0"},{n:["flag-ve","venezuela flag"],u:"1f1fb-1f1ea",a:"2.0"},{n:["flag-vg","british virgin islands flag"],u:"1f1fb-1f1ec",a:"2.0"},{n:["flag-vi","u.s. virgin islands flag"],u:"1f1fb-1f1ee",a:"2.0"},{n:["flag-vn","vietnam flag"],u:"1f1fb-1f1f3",a:"2.0"},{n:["flag-vu","vanuatu flag"],u:"1f1fb-1f1fa",a:"2.0"},{n:["flag-wf","wallis & futuna flag"],u:"1f1fc-1f1eb",a:"2.0"},{n:["flag-ws","samoa flag"],u:"1f1fc-1f1f8",a:"2.0"},{n:["flag-xk","kosovo flag"],u:"1f1fd-1f1f0",a:"2.0"},{n:["flag-ye","yemen flag"],u:"1f1fe-1f1ea",a:"2.0"},{n:["flag-yt","mayotte flag"],u:"1f1fe-1f1f9",a:"2.0"},{n:["flag-za","south africa flag"],u:"1f1ff-1f1e6",a:"2.0"},{n:["flag-zm","zambia flag"],u:"1f1ff-1f1f2",a:"2.0"},{n:["flag-zw","zimbabwe flag"],u:"1f1ff-1f1fc",a:"2.0"},{n:["england flag","flag-england"],u:"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f",a:"5.0"},{n:["scotland flag","flag-scotland"],u:"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f",a:"5.0"},{n:["wales flag","flag-wales"],u:"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f",a:"5.0"}],Sb={custom:iSe,smileys_people:lSe,animals_nature:cSe,food_drink:uSe,travel_places:fSe,activities:dSe,objects:pSe,symbols:hSe,flags:mSe},jk=[zl.NEUTRAL,zl.LIGHT,zl.MEDIUM_LIGHT,zl.MEDIUM,zl.MEDIUM_DARK,zl.DARK],gSe=Object.entries(zl).reduce(function(t,e){var n=e[0],r=e[1];return t[r]=n,t},{}),ySe=jk.reduce(function(t,e){var n;return Object.assign(t,(n={},n[e]=e,n))},{}),$l;(function(t){t.name="n",t.unified="u",t.variations="v",t.added_in="a",t.imgUrl="imgUrl"})($l||($l={}));var Vw={};setTimeout(function(){EC.reduce(function(t,e){return Ete(e),t},Vw)});function Ete(t){var e=z2(t).flat().join("").toLowerCase().replace(/[^a-zA-Z\d]/g,"").split("");e.forEach(function(n){var r;Vw[n]=(r=Vw[n])!=null?r:{},Vw[n][Xa(t)]=t})}function z2(t){var e;return(e=t[$l.name])!=null?e:[]}function vSe(t){return parseFloat(t[$l.added_in])}function F_(t){return t?z2(t)[0]:""}function IT(t){var e=t.split("-"),n=e.splice(1,1),r=n[0];return ySe[r]?e.join("-"):t}function Xa(t,e){var n,r=t[$l.unified];return!e||!Vy(t)?r:(n=bSe(t,e))!=null?n:r}function wSe(t){var e;return(e=Sb==null?void 0:Sb[t])!=null?e:[]}function Nte(t,e){return""+aSe(e)+t+".png"}function F2(t){var e;return(e=t[$l.variations])!=null?e:[]}function Vy(t){return F2(t).length>0}function bSe(t,e){return e?F2(t).find(function(n){return n.includes(e)}):Xa(t)}function ay(t){if(t){if(O0[t])return O0[t];var e=IT(t);return O0[e]}}var EC=Object.values(Sb).flat();function xSe(t){Sb[Zn.CUSTOM].length=0,t.forEach(function(e){var n=kSe(e);Sb[Zn.CUSTOM].push(n),!O0[n[$l.unified]]&&(EC.push(n),O0[n[$l.unified]]=n,Ete(n))})}function kSe(t){var e;return e={},e[$l.name]=t.names.map(function(n){return n.toLowerCase()}),e[$l.unified]=t.id.toLowerCase(),e[$l.added_in]="0",e[$l.imgUrl]=t.imgUrl,e}var O0={};setTimeout(function(){EC.reduce(function(t,e){return t[Xa(e)]=e,Vy(e)&&F2(e).forEach(function(n){t[n]=e}),t},O0)});function jSe(t){var e=t.split("-"),n=e[1];return jk.includes(n)?n:null}var CSe=["2640-fe0f","2642-fe0f","2695-fe0f"],Ck="Search",SSe="No results found",Ite=" found. Use up and down arrow keys to navigate.",ESe="1 result"+Ite,NSe="%n results"+Ite;function eU(t){var e,n;t===void 0&&(t={});var r=Ate(),o=Object.assign(r.previewConfig,(e=t.previewConfig)!=null?e:{}),s=Object.assign(r,t),a=tSe(t.categories,{suggestionMode:s.suggestedEmojisMode});s.hiddenEmojis.forEach(function(l){s.unicodeToHide.add(l)}),xSe((n=s.customEmojis)!=null?n:[]);var i=s.searchDisabled?hg.PREVIEW:s.skinTonePickerLocation;return So({},s,{categories:a,previewConfig:o,skinTonePickerLocation:i})}function Ate(){return{autoFocusSearch:!0,categories:Cte(),className:"",customEmojis:[],defaultSkinTone:zl.NEUTRAL,emojiStyle:Ci.APPLE,emojiVersion:null,getEmojiUrl:Nte,height:450,lazyLoadEmojis:!1,previewConfig:So({},ISe),searchDisabled:!1,searchPlaceHolder:Ck,searchPlaceholder:Ck,skinTonePickerLocation:hg.SEARCH,skinTonesDisabled:!1,style:{},suggestedEmojisMode:sy.FREQUENT,theme:Vp.LIGHT,unicodeToHide:new Set(CSe),width:350,reactionsDefaultOpen:!1,reactions:JCe,open:!0,allowExpandReactions:!0,hiddenEmojis:[]}}var ISe={defaultEmoji:"1f60a",defaultCaption:"What's your mood?",showPreview:!0},ASe=["children"],_te=h.createContext(Ate());function _Se(t){var e=t.children,n=xte(t,ASe),r=MSe(n);return h.createElement(_te.Provider,{value:r},e)}function MSe(t){var e,n=h.useState(function(){return eU(t)}),r=n[0],o=n[1];return h.useEffect(function(){kte(r,t)||o(eU(t))},[(e=t.customEmojis)==null?void 0:e.length,t.open,t.emojiVersion,t.reactionsDefaultOpen,t.searchPlaceHolder,t.searchPlaceholder,t.defaultSkinTone,t.skinTonesDisabled,t.autoFocusSearch,t.emojiStyle,t.theme,t.suggestedEmojisMode,t.lazyLoadEmojis,t.className,t.height,t.width,t.searchDisabled,t.skinTonePickerLocation,t.allowExpandReactions]),r}function Do(){return h.useContext(_te)}var Mte=Be.createContext({});function Rte(){var t=Be.useContext(Mte);return t}function RSe(t){var e=Be.useRef({onEmojiClick:t.onEmojiClick||s6,onReactionClick:t.onReactionClick||t.onEmojiClick,onSkinToneChange:t.onSkinToneChange||s6});return Be.useEffect(function(){e.current.onEmojiClick=t.onEmojiClick||s6,e.current.onReactionClick=t.onReactionClick||t.onEmojiClick},[t.onEmojiClick,t.onReactionClick]),Be.useEffect(function(){e.current.onSkinToneChange=t.onSkinToneChange||s6},[t.onSkinToneChange]),e}function s6(){}var Eb;(function(t){t.REACTIONS="reactions",t.PICKER="picker"})(Eb||(Eb={}));function TSe(){var t,e=Do(),n=e.searchPlaceHolder,r=e.searchPlaceholder;return(t=[n,r].find(function(o){return o!==Ck}))!=null?t:Ck}function DSe(){var t=Do(),e=t.defaultSkinTone;return e}function Tte(){var t=Do(),e=t.allowExpandReactions;return e}function Dte(){var t=Do(),e=t.skinTonesDisabled;return e}function Bg(){var t=Do(),e=t.emojiStyle;return e}function LSe(){var t=Do(),e=t.autoFocusSearch;return e}function Lte(){var t=Do(),e=t.categories;return e}function PSe(){var t=Do(),e=t.customEmojis;return e}function OSe(){var t=Do(),e=t.open;return e}function zSe(t){var e,n=Rte(),r=n.current,o=(e=t===Eb.REACTIONS?r.onReactionClick:r.onEmojiClick)!=null?e:r.onEmojiClick;return o||function(){}}function FSe(){var t=Rte(),e=t.current;return e.onSkinToneChange||function(){}}function Pte(){var t=Do(),e=t.previewConfig;return e}function BSe(){var t=Do(),e=t.theme;return e}function USe(){var t=Do(),e=t.suggestedEmojisMode;return e}function $Se(){var t=Do(),e=t.lazyLoadEmojis;return e}function VSe(){var t=Do(),e=t.className;return e}function HSe(){var t=Do(),e=t.height,n=t.width,r=t.style;return So({height:tU(e),width:tU(n)},r)}function WSe(){var t=Do(),e=t.reactionsDefaultOpen;return e}function YSe(){var t=Do(),e=t.emojiVersion;return e}function Ote(){var t=Do(),e=t.searchDisabled;return e}function zte(){var t=Do(),e=t.skinTonePickerLocation;return e}function GSe(){var t=Do(),e=t.unicodeToHide;return e}function qSe(){var t=Do(),e=t.reactions;return e}function Ug(){var t=Do(),e=t.getEmojiUrl;return e}function tU(t){return typeof t=="number"?t+"px":t}function KSe(t){var e=t>0,n=t>1;return e?n?NSe.replace("%n",t.toString()):ESe:SSe}function nU(t,e){e===void 0&&(e=0);var n=h.useState(t),r=n[0],o=n[1],s=h.useRef(null);function a(i){return new Promise(function(l){var u;s.current&&clearTimeout(s.current),s.current=(u=window)==null?void 0:u.setTimeout(function(){o(i),l(i)},e)})}return[r,a]}function ZSe(){var t=GSe();return function(e){return t.has(e)}}function Fte(){var t=h.useRef({}),e=YSe();return h.useMemo(function(){var n=parseFloat(""+e);return!e||Number.isNaN(n)?t.current:EC.reduce(function(r,o){return JSe(o,n)&&(r[Xa(o)]=!0),r},t.current)},[e])}function QSe(){var t=Fte(),e=ZSe();return function(r){var o=IT(Xa(r));return!!(t[o]||e(o))}}function JSe(t,e){return vSe(t)>e}function XSe(t){h.useEffect(function(){t(!0)},[t])}function eEe(t){var e=t.children,n=Fte(),r=DSe(),o=WSe(),s=h.useRef(Vw),a=h.useRef(!1),i=h.useRef(!1),l=h.useRef(n),u=nU(Date.now(),200),d=nU("",100),f=h.useState(!1),m=h.useState(r),g=h.useState(null),w=h.useState(new Set),b=h.useState(null),j=h.useState(o),S=h.useState(!1),I=S[0],N=S[1];return XSe(N),h.createElement(rc.Provider,{value:{activeCategoryState:g,activeSkinTone:m,disallowClickRef:a,disallowMouseRef:i,disallowedEmojisRef:l,emojiVariationPickerState:b,emojisThatFailedToLoadState:w,filterRef:s,isPastInitialLoad:I,searchTerm:d,skinToneFanOpenState:f,suggestedUpdateState:u,reactionsModeState:j}},e)}var rc=h.createContext({activeCategoryState:[null,function(){}],activeSkinTone:[zl.NEUTRAL,function(){}],disallowClickRef:{current:!1},disallowMouseRef:{current:!1},disallowedEmojisRef:{current:{}},emojiVariationPickerState:[null,function(){}],emojisThatFailedToLoadState:[new Set,function(){}],filterRef:{current:{}},isPastInitialLoad:!0,searchTerm:["",function(){return new Promise(function(){})}],skinToneFanOpenState:[!1,function(){}],suggestedUpdateState:[Date.now(),function(){}],reactionsModeState:[!1,function(){}]});function AT(){var t=h.useContext(rc),e=t.filterRef;return e}function tEe(){var t=h.useContext(rc),e=t.disallowClickRef;return e}function _T(){var t=h.useContext(rc),e=t.disallowMouseRef;return e}function NC(){var t=h.useContext(rc),e=t.reactionsModeState;return e}function IC(){var t=h.useContext(rc),e=t.searchTerm;return e}function MT(){var t=h.useContext(rc),e=t.activeSkinTone;return e}function Bte(){var t=h.useContext(rc),e=t.emojisThatFailedToLoadState;return e}function nEe(){var t=h.useContext(rc),e=t.isPastInitialLoad;return e}function Hy(){var t=h.useContext(rc),e=t.emojiVariationPickerState;return e}function B2(){var t=h.useContext(rc),e=t.skinToneFanOpenState;return e}function Ute(){var t=h.useContext(rc),e=t.suggestedUpdateState,n=e[0],r=e[1];return[n,function(){r(Date.now())}]}function AC(){var t=IC(),e=t[0];return!!e}function yl(t){t&&requestAnimationFrame(function(){t.focus()})}function $te(t){if(t){var e=t.previousElementSibling;yl(e)}}function Vte(t){if(t){var e=t.nextElementSibling;yl(e)}}function Hte(t){if(t){var e=t.firstElementChild;yl(e)}}function Nb(){return document.activeElement}function rEe(t){var e=t.children,n=h.useRef(null),r=h.useRef(null),o=h.useRef(null),s=h.useRef(null),a=h.useRef(null),i=h.useRef(null),l=h.useRef(null),u=h.useRef(null);return h.createElement(Wte.Provider,{value:{AnchoredEmojiRef:r,BodyRef:o,CategoryNavigationRef:i,PickerMainRef:n,SearchInputRef:s,SkinTonePickerRef:a,VariationPickerRef:l,ReactionsRef:u}},e)}var Wte=h.createContext({AnchoredEmojiRef:h.createRef(),BodyRef:h.createRef(),CategoryNavigationRef:h.createRef(),PickerMainRef:h.createRef(),SearchInputRef:h.createRef(),SkinTonePickerRef:h.createRef(),VariationPickerRef:h.createRef(),ReactionsRef:h.createRef()});function bh(){return h.useContext(Wte)}function U2(){return bh().PickerMainRef}function _C(){return bh().AnchoredEmojiRef}function Yte(){var t=_C();return function(e){e===null&&t.current!==null&&yl(t.current),t.current=e}}function oc(){return bh().BodyRef}function oEe(){return bh().ReactionsRef}function xh(){return bh().SearchInputRef}function RT(){return bh().SkinTonePickerRef}function TT(){return bh().CategoryNavigationRef}function sEe(){return bh().VariationPickerRef}function Gte(t,e){e===void 0&&(e=0);var n=lne(t);n&&requestAnimationFrame(function(){n.scrollTop=e})}function aEe(t,e){var n=lne(t);n&&requestAnimationFrame(function(){n.scrollTop=n.scrollTop+e})}function iEe(){var t=oc();return h.useCallback(function(e){requestAnimationFrame(function(){t.current&&(t.current.scrollTop=e)})},[t])}function MC(t){if(!(!t||!QEe(t))&&!t.closest(Ta(Qn.variationPicker))){var e=une(t),n=cne(t);aEe(e,-(FT(kh(t))-n))}}function RC(t){var e=VT(t);yl(e),MC(e)}function lEe(t){var e=VT(t);yl(e),e==null||e.click()}function cEe(t){yl(hne(t))}function uEe(t){if(t){var e=mne(t);if(!e)return RC(DC(t));yl(e),MC(e)}}function fEe(t){if(t){var e=$T(t);if(!e)return cEe(TC(t));yl(e),MC(e)}}function dEe(t,e){if(t){var n=hEe(t);if(!n)return e();yl(n),MC(n)}}function pEe(t){if(t){var e=mEe(t);return yl(e)}}function hEe(t){if(!t)return null;var e=gne(t),n=kh(e),r=one(e,t),o=sne(e,t),s=rne(e,t);if(o===0){var a=TC(n);return a?ane(iy(a),-1,s,r):null}return WEe(iy(e),o,s,r)}function mEe(t){if(!t)return null;var e=gne(t),n=kh(e),r=one(e,t),o=sne(e,t),s=rne(e,t);if(!$Ee(e,t)){var a=DC(n);return a?ane(iy(a),0,s,r):null}var i=HEe(iy(e),o,s,r);return i}function $g(){var t=Hy(),e=t[0],n=t[1],r=B2(),o=r[0],s=r[1],a=h.useCallback(function(){e&&n(null),o&&s(!1)},[e,o,n,s]);return a}function qte(){var t=Hy(),e=t[0],n=B2(),r=n[0];return function(){return!!e||r}}function gEe(){var t=_T();return function(){t.current=!0}}function Kte(){var t=_T();return function(){t.current=!1}}function Zte(){var t=_T();return function(){return t.current}}function yEe(){var t=oc(),e=Kte(),n=Zte();h.useEffect(function(){var r=t.current;r==null||r.addEventListener("mousemove",o,{passive:!0});function o(){n()&&e()}return function(){r==null||r.removeEventListener("mousemove",o)}},[t,e,n])}function Vg(){var t=xh();return h.useCallback(function(){yl(t.current)},[t])}function vEe(){var t=RT();return h.useCallback(function(){t.current&&Hte(t.current)},[t])}function Qte(){var t=TT();return h.useCallback(function(){t.current&&Hte(t.current)},[t])}function wEe(){var t=AT();return function e(n){if(typeof n=="function")return e(n(t.current));t.current=n}}function Jte(){var t=DT(),e=xh(),n=Vg();return function(){e.current&&(e.current.value=""),t(""),n()}}function bEe(){var t=xh(),e=DT();return function(r){t.current?(t.current.value=""+t.current.value+r,e(B_(t.current.value))):e(B_(r))}}function xEe(){var t=xh(),e=AT(),n=wEe(),r=DT(),o=IC(),s=o[0],a=NEe(e.current,s);return{onChange:i,searchTerm:s,SearchInputRef:t,statusSearchResults:a};function i(l){var u=e.current,d=l.toLowerCase();if(u!=null&&u[d]||d.length<=1)return r(d);var f=EEe(d,u);if(!f)return r(d);n(function(m){var g;return Object.assign(m,(g={},g[d]=kEe(f,d),g))}),r(d)}}function DT(){var t=IC(),e=t[1],n=U2();return function(o){requestAnimationFrame(function(){e(o&&(o==null?void 0:o.toLowerCase())).then(function(){Gte(n.current,0)})})}}function kEe(t,e){var n={};for(var r in t){var o=t[r];jEe(o,e)&&(n[r]=o)}return n}function jEe(t,e){return z2(t).some(function(n){return n.includes(e)})}function CEe(){var t=AT(),e=t.current,n=IC(),r=n[0];return function(o){return SEe(o,e,r)}}function SEe(t,e,n){var r;return!e||!n?!1:!((r=e[n])!=null&&r[t])}function EEe(t,e){if(!e)return null;if(e[t])return e[t];var n=Object.keys(e).sort(function(r,o){return o.length-r.length}).find(function(r){return t.includes(r)});return n?e[n]:null}function B_(t){return!t||typeof t!="string"?"":t.trim().toLowerCase()}function NEe(t,e){var n;if(!(t!=null&&t[e]))return"";var r=((n=Object.entries(t==null?void 0:t[e]))==null?void 0:n.length)||0;return KSe(r)}function Xte(){var t=Yte(),e=Hy(),n=e[1];return function(o){var s=zT(o),a=s[0];a&&(t(o),n(a))}}function LT(){var t=zte();return t===hg.SEARCH}function ene(){var t=zte();return t===hg.PREVIEW}var Zo;(function(t){t.ArrowDown="ArrowDown",t.ArrowUp="ArrowUp",t.ArrowLeft="ArrowLeft",t.ArrowRight="ArrowRight",t.Escape="Escape",t.Enter="Enter",t.Space=" "})(Zo||(Zo={}));function IEe(){AEe(),_Ee(),MEe(),REe(),TEe()}function AEe(){var t=U2(),e=Jte(),n=iEe(),r=xh(),o=Vg(),s=qte(),a=gEe(),i=$g(),l=h.useMemo(function(){return function(d){var f=d.key;switch(a(),f){case Zo.Escape:if(d.preventDefault(),s()){i();return}e(),n(0),o();break}}},[n,e,i,o,s,a]);h.useEffect(function(){var u=t.current;if(u)return u.addEventListener("keydown",l),function(){u.removeEventListener("keydown",l)}},[t,r,n,l])}function _Ee(){var t=vEe(),e=U2(),n=oc(),r=xh(),o=B2(),s=o[1],a=tne(),i=LT(),l=h.useMemo(function(){return function(d){var f=d.key;switch(f){case Zo.ArrowRight:if(!i)return;d.preventDefault(),s(!0),t();break;case Zo.ArrowDown:d.preventDefault(),a();break;case Zo.Enter:d.preventDefault(),lEe(n.current);break}}},[t,a,s,n,i]);h.useEffect(function(){var u=r.current;if(u)return u.addEventListener("keydown",l),function(){u.removeEventListener("keydown",l)}},[e,r,l])}function MEe(){var t=RT(),e=Vg(),n=xh(),r=tne(),o=B2(),s=o[0],a=o[1],i=ene(),l=LT(),u=PT(),d=h.useMemo(function(){return(function(m){var g=m.key;if(l)switch(g){case Zo.ArrowLeft:if(m.preventDefault(),!s)return e();rU(e);break;case Zo.ArrowRight:if(m.preventDefault(),!s)return e();oU();break;case Zo.ArrowDown:m.preventDefault(),s&&a(!1),r();break;default:u(m);break}if(i)switch(g){case Zo.ArrowUp:if(m.preventDefault(),!s)return e();rU(e);break;case Zo.ArrowDown:if(m.preventDefault(),!s)return e();oU();break;default:u(m);break}})},[s,e,a,r,u,i,l]);h.useEffect(function(){var f=t.current;if(f)return f.addEventListener("keydown",d),function(){f.removeEventListener("keydown",d)}},[t,n,s,d])}function REe(){var t=Vg(),e=TT(),n=oc(),r=PT(),o=h.useMemo(function(){return function(a){var i=a.key;switch(i){case Zo.ArrowUp:a.preventDefault(),t();break;case Zo.ArrowRight:a.preventDefault(),Vte(Nb());break;case Zo.ArrowLeft:a.preventDefault(),$te(Nb());break;case Zo.ArrowDown:a.preventDefault(),RC(n.current);break;default:r(a);break}}},[n,t,r]);h.useEffect(function(){var s=e.current;if(s)return s.addEventListener("keydown",o),function(){s.removeEventListener("keydown",o)}},[e,n,o])}function TEe(){var t=oc(),e=DEe(),n=Xte(),r=qte(),o=$g(),s=PT(),a=h.useMemo(function(){return(function(l){var u=l.key,d=Vc(Nb());switch(u){case Zo.ArrowRight:l.preventDefault(),uEe(d);break;case Zo.ArrowLeft:l.preventDefault(),fEe(d);break;case Zo.ArrowDown:if(l.preventDefault(),r()){o();break}pEe(d);break;case Zo.ArrowUp:if(l.preventDefault(),r()){o();break}dEe(d,e);break;case Zo.Space:l.preventDefault(),n(l.target);break;default:s(l);break}})},[e,s,n,r,o]);h.useEffect(function(){var i=t.current;if(i)return i.addEventListener("keydown",a),function(){i.removeEventListener("keydown",a)}},[t,a])}function tne(){var t=Qte(),e=AC(),n=oc();return h.useCallback(function(){return e?RC(n.current):t()},[n,t,e])}function DEe(){var t=Vg(),e=Qte(),n=AC();return h.useCallback(function(){return n?t():e()},[t,n,e])}function rU(t){var e=Nb();e&&(GEe(e)||t(),Vte(e))}function oU(){var t=Nb();t&&$te(t)}function PT(){var t=bEe(),e=Vg(),n=Ote(),r=$g();return function(s){var a=s.key;LEe(s)||n||a.match(/(^[a-zA-Z0-9]$){1}/)&&(s.preventDefault(),r(),e(),t(a))}}function LEe(t){var e=t.metaKey,n=t.ctrlKey,r=t.altKey;return e||n||r}function PEe(t,e,n){if(e&&n!==Ci.NATIVE){var r=Xa(e);sU.has(r)||(F2(e).forEach(function(o){var s=t(o,n);OEe(s)}),sU.add(r))}}var sU=new Set;function OEe(t){var e=new Image;e.src=t}function zEe(){var t=oc(),e=Bg(),n=Ug();h.useEffect(function(){if(e===Ci.NATIVE)return;var r=t.current;return r==null||r.addEventListener("focusin",o),function(){r==null||r.removeEventListener("focusin",o)};function o(s){var a=Vc(s.target);if(a){var i=zT(a),l=i[0];l&&Vy(l)&&PEe(n,l,e)}}},[t,e,n])}var FEe=["width","height"],nne=40;function BEe(t){var e=t.children;return h.createElement(eEe,null,h.createElement(UEe,null,e))}function UEe(t){var e,n=t.children,r=NC(),o=r[0],s=BSe(),a=AC(),i=U2(),l=VSe(),u=HSe();IEe(),zEe();var d=u||{},f=d.width,m=d.height,g=xte(d,FEe);return h.createElement("aside",{className:sr(iw.main,iw.baseVariables,s===Vp.DARK&&iw.darkTheme,s===Vp.AUTO&&iw.autoThemeDark,(e={},e[Qn.searchActive]=a,e),o&&iw.reactionsMenu,l),ref:i,style:So({},g,!o&&{height:m,width:f})},n)}var aU={"--epr-emoji-variation-picker-bg-color":"var(--epr-dark-emoji-variation-picker-bg-color)","--epr-hover-bg-color-reduced-opacity":"var(--epr-dark-hover-bg-color-reduced-opacity)","--epr-highlight-color":"var(--epr-dark-highlight-color)","--epr-text-color":"var(--epr-dark-text-color)","--epr-hover-bg-color":"var(--epr-dark-hover-bg-color)","--epr-focus-bg-color":"var(--epr-dark-focus-bg-color)","--epr-search-input-bg-color":"var(--epr-dark-search-input-bg-color)","--epr-category-label-bg-color":"var(--epr-dark-category-label-bg-color)","--epr-picker-border-color":"var(--epr-dark-picker-border-color)","--epr-bg-color":"var(--epr-dark-bg-color)","--epr-reactions-bg-color":"var(--epr-dark-reactions-bg-color)","--epr-search-input-bg-color-active":"var(--epr-dark-search-input-bg-color-active)","--epr-emoji-variation-indicator-color":"var(--epr-dark-emoji-variation-indicator-color)","--epr-category-icon-active-color":"var(--epr-dark-category-icon-active-color)","--epr-skin-tone-picker-menu-color":"var(--epr-dark-skin-tone-picker-menu-color)","--epr-skin-tone-outer-border-color":"var(--epr-dark-skin-tone-outer-border-color)","--epr-skin-tone-inner-border-color":"var(--epr-dark-skin-tone-inner-border-color)"},iw=mo.create({main:{".":["epr-main",Qn.emojiPicker],position:"relative",display:"flex",flexDirection:"column",borderWidth:"1px",borderStyle:"solid",borderRadius:"var(--epr-picker-border-radius)",borderColor:"var(--epr-picker-border-color)",backgroundColor:"var(--epr-bg-color)",overflow:"hidden",transition:"all 0.3s ease-in-out, background-color 0.1s ease-in-out","*":{boxSizing:"border-box",fontFamily:"sans-serif"}},baseVariables:{"--":{"--epr-highlight-color":"#007aeb","--epr-hover-bg-color":"#e5f0fa","--epr-hover-bg-color-reduced-opacity":"#e5f0fa80","--epr-focus-bg-color":"#e0f0ff","--epr-text-color":"#858585","--epr-search-input-bg-color":"#f6f6f6","--epr-picker-border-color":"#e7e7e7","--epr-bg-color":"#fff","--epr-reactions-bg-color":"#ffffff90","--epr-category-icon-active-color":"#6aa8de","--epr-skin-tone-picker-menu-color":"#ffffff95","--epr-skin-tone-outer-border-color":"#555555","--epr-skin-tone-inner-border-color":"var(--epr-bg-color)","--epr-horizontal-padding":"10px","--epr-picker-border-radius":"8px","--epr-search-border-color":"var(--epr-highlight-color)","--epr-header-padding":"15px var(--epr-horizontal-padding)","--epr-active-skin-tone-indicator-border-color":"var(--epr-highlight-color)","--epr-active-skin-hover-color":"var(--epr-hover-bg-color)","--epr-search-input-bg-color-active":"var(--epr-search-input-bg-color)","--epr-search-input-padding":"0 30px","--epr-search-input-border-radius":"8px","--epr-search-input-height":"40px","--epr-search-input-text-color":"var(--epr-text-color)","--epr-search-input-placeholder-color":"var(--epr-text-color)","--epr-search-bar-inner-padding":"var(--epr-horizontal-padding)","--epr-category-navigation-button-size":"30px","--epr-emoji-variation-picker-height":"45px","--epr-emoji-variation-picker-bg-color":"var(--epr-bg-color)","--epr-preview-height":"70px","--epr-preview-text-size":"14px","--epr-preview-text-padding":"0 var(--epr-horizontal-padding)","--epr-preview-border-color":"var(--epr-picker-border-color)","--epr-preview-text-color":"var(--epr-text-color)","--epr-category-padding":"0 var(--epr-horizontal-padding)","--epr-category-label-bg-color":"#ffffffe6","--epr-category-label-text-color":"var(--epr-text-color)","--epr-category-label-padding":"0 var(--epr-horizontal-padding)","--epr-category-label-height":nne+"px","--epr-emoji-size":"30px","--epr-emoji-padding":"5px","--epr-emoji-fullsize":"calc(var(--epr-emoji-size) + var(--epr-emoji-padding) * 2)","--epr-emoji-hover-color":"var(--epr-hover-bg-color)","--epr-emoji-variation-indicator-color":"var(--epr-picker-border-color)","--epr-emoji-variation-indicator-color-hover":"var(--epr-text-color)","--epr-header-overlay-z-index":"3","--epr-emoji-variations-indictator-z-index":"1","--epr-category-label-z-index":"2","--epr-skin-variation-picker-z-index":"5","--epr-preview-z-index":"6","--epr-dark":"#000","--epr-dark-emoji-variation-picker-bg-color":"var(--epr-dark)","--epr-dark-highlight-color":"#c0c0c0","--epr-dark-text-color":"var(--epr-highlight-color)","--epr-dark-hover-bg-color":"#363636f6","--epr-dark-hover-bg-color-reduced-opacity":"#36363680","--epr-dark-focus-bg-color":"#474747","--epr-dark-search-input-bg-color":"#333333","--epr-dark-category-label-bg-color":"#222222e6","--epr-dark-picker-border-color":"#151617","--epr-dark-bg-color":"#222222","--epr-dark-reactions-bg-color":"#22222290","--epr-dark-search-input-bg-color-active":"var(--epr-dark)","--epr-dark-emoji-variation-indicator-color":"#444","--epr-dark-category-icon-active-color":"#3271b7","--epr-dark-skin-tone-picker-menu-color":"#22222295","--epr-dark-skin-tone-outer-border-color":"var(--epr-dark-picker-border-color)","--epr-dark-skin-tone-inner-border-color":"#FFFFFF"}},autoThemeDark:{".":Qn.autoTheme,"@media (prefers-color-scheme: dark)":{"--":aU}},darkTheme:{".":Qn.darkTheme,"--":aU},reactionsMenu:{".":"epr-reactions",height:"50px",display:"inline-flex",backgroundColor:"var(--epr-reactions-bg-color)",backdropFilter:"blur(8px)","--":{"--epr-picker-border-radius":"50px"}}});function rne(t,e){if(!t||!e)return 0;var n=t.getBoundingClientRect().width,r=e.getBoundingClientRect().width;return Math.floor(n/r)}function one(t,e){if(!t||!e)return 0;var n=e.getBoundingClientRect().width,r=e.getBoundingClientRect().left,o=t.getBoundingClientRect().left;return Math.floor((r-o)/n)}function sne(t,e){if(!t||!e)return 0;var n=e.getBoundingClientRect().height,r=e.getBoundingClientRect().top,o=t.getBoundingClientRect().top;return Math.round((r-o)/n)}function $Ee(t,e){if(!t||!e)return!1;var n=e.getBoundingClientRect().height,r=e.getBoundingClientRect().top,o=t.getBoundingClientRect().top,s=t.getBoundingClientRect().height;return Math.round(r-o+n)<s}function OT(t,e,n){if(e===-1){var r=Math.floor((t.length-1)/n),o=r*n,s=t.length-1;return t.slice(o,s+1)}return t.slice(e*n,(e+1)*n)}function VEe(t,e,n){var r=e+1;return r*n>t.length?[]:OT(t,r,n)}function ane(t,e,n,r){var o=OT(t,e,n);return o[r]||o[o.length-1]||null}function HEe(t,e,n,r){var o=VEe(t,e,n);return o[r]||o[o.length-1]||null}function WEe(t,e,n,r){var o=OT(t,e-1,n);return o[r]||o[o.length-1]||null}function YEe(t,e,n){if(!t||!e.length)return null;var r=t.getBoundingClientRect().top,o=t.getBoundingClientRect().bottom,s=r+qEe(t),a=e.find(function(i){var l=i.getBoundingClientRect().top,u=i.getBoundingClientRect().bottom,d=i.clientHeight*n,f=l+d,m=u-d;return f<s?!1:f>=r&&f<=o||m>=r&&m<=o});return a||null}function GEe(t){return!!t.nextElementSibling}function qEe(t){for(var e=Array.from(t.querySelectorAll(Ta(Qn.label))),n=0,r=e;n<r.length;n++){var o=r[n],s=o.getBoundingClientRect().height;if(s>0)return s}return nne}var Sk="button"+Ta(Qn.emoji),KEe=[Sk,Ta(Qn.visible),":not("+Ta(Qn.hidden)+")"].join("");function Vc(t){var e;return(e=t==null?void 0:t.closest(Sk))!=null?e:null}function zT(t){var e=fne(t),n=BT(t);if(!e)return[];var r=ay(n??e);return r?[r,n]:[]}function ZEe(t){var e;return!!(t!=null&&t.matches(Sk)||!(t==null||(e=t.parentElement)==null)&&e.matches(Sk))}function iU(t){var e;return(e=t==null?void 0:t.clientHeight)!=null?e:0}function ine(t){if(!t)return 0;var e=Vc(t),n=kh(e),r=FT(n);return lU(e)+lU(n)+r}function FT(t){var e,n;if(!t)return 0;var r=t.querySelector(Ta(Qn.categoryContent));return((e=t==null?void 0:t.clientHeight)!=null?e:0)-((n=r==null?void 0:r.clientHeight)!=null?n:0)}function QEe(t){return t?cne(t)<FT(kh(t)):!1}function lne(t){return t?t.matches(Ta(Qn.scrollBody))?t:t.querySelector(Ta(Qn.scrollBody)):null}function cne(t){var e,n;return t?ine(t)-((e=(n=une(t))==null?void 0:n.scrollTop)!=null?e:0):0}function une(t){var e;return t&&(e=t.closest(Ta(Qn.scrollBody)))!=null?e:null}function JEe(t){var e=Vc(t),n=kh(e);return cU(e)+cU(n)}function lU(t){var e;return(e=t==null?void 0:t.offsetTop)!=null?e:0}function cU(t){var e;return(e=t==null?void 0:t.offsetLeft)!=null?e:0}function BT(t){var e;return(e=XEe(Vc(t),"unified"))!=null?e:null}function fne(t){var e=BT(t);return e?IT(e):null}function dne(t){return t?{unified:BT(t),originalUnified:fne(t)}:{unified:null,originalUnified:null}}function XEe(t,e){var n;return(n=eNe(t)[e])!=null?n:null}function eNe(t){var e;return(e=t==null?void 0:t.dataset)!=null?e:{}}function UT(t){return t.classList.contains(Qn.visible)}function pne(t){return t?t.classList.contains(Qn.hidden):!0}function iy(t){return t?Array.from(t.querySelectorAll(KEe)):[]}function hne(t){if(!t)return null;var e=iy(t),n=e.slice(-1),r=n[0];return r?UT(r)?r:$T(r):null}function mne(t){var e=t.nextElementSibling;return e?UT(e)?e:mne(e):VT(DC(t))}function $T(t){var e=t.previousElementSibling;return e?UT(e)?e:$T(e):hne(TC(t))}function VT(t){if(!t)return null;var e=iy(t);return YEe(t,e,.1)}function TC(t){var e=kh(t);if(!e)return null;var n=e.previousElementSibling;return n?pne(n)?TC(n):n:null}function DC(t){var e=kh(t);if(!e)return null;var n=e.nextElementSibling;return n?pne(n)?DC(n):n:null}function kh(t){return t?t.closest(Ta(Qn.category)):null}function gne(t){return t?t.closest(Ta(Qn.categoryContent)):null}function yne(t){return t.split("-").map(function(e){return String.fromCodePoint(parseInt(e,16))}).join("")}var vne="epr_suggested";function wne(t){try{var e,n,r;if(!((e=window)!=null&&e.localStorage))return[];var o=JSON.parse((n=(r=window)==null?void 0:r.localStorage.getItem(vne))!=null?n:"[]");return t===sy.FREQUENT?o.sort(function(s,a){return a.count-s.count}):o}catch{return[]}}function tNe(t,e){var n=wne(),r=Xa(t,e),o=Xa(t),s=n.find(function(l){var u=l.unified;return u===r}),a;s?a=[s].concat(n.filter(function(l){return l!==s})):(s={unified:r,original:o,count:0},a=[s].concat(n)),s.count++,a.length=Math.min(a.length,14);try{var i;(i=window)==null||i.localStorage.setItem(vne,JSON.stringify(a))}catch{}}function nNe(t){return t.category===Zn.CUSTOM}function bne(t){return t.imgUrl!==void 0}function xne(t,e){var n=h.useRef(),r=Xte(),o=tEe(),s=Hy(),a=s[1],i=$g(),l=MT(),u=l[0],d=zSe(e),f=Ute(),m=f[1],g=Ug(),w=Bg(),b=h.useCallback(function(N){if(!o.current){i();var M=uU(N),D=M[0],P=M[1];if(!(!D||!P)){var L=jSe(P)||u;m(),tNe(D,L),d(rNe(D,L,w,g),N)}}},[u,i,o,d,m,g,w]),j=h.useCallback(function(N){var M;n.current&&clearTimeout(n.current);var D=uU(N),P=D[0];!P||!Vy(P)||(n.current=(M=window)==null?void 0:M.setTimeout(function(){o.current=!0,n.current=void 0,i(),r(N.target),a(P)},500))},[o,i,r,a]),S=h.useCallback(function(){n.current?(clearTimeout(n.current),n.current=void 0):o.current&&requestAnimationFrame(function(){o.current=!1})},[o]);h.useEffect(function(){if(t.current){var I=t.current;return I.addEventListener("click",b,{passive:!0}),I.addEventListener("mousedown",j,{passive:!0}),I.addEventListener("mouseup",S,{passive:!0}),function(){I==null||I.removeEventListener("click",b),I==null||I.removeEventListener("mousedown",j),I==null||I.removeEventListener("mouseup",S)}}},[t,b,j,S])}function uU(t){var e=t==null?void 0:t.target;return ZEe(e)?zT(e):[]}function rNe(t,e,n,r){var o=z2(t);if(bne(t)){var s=Xa(t);return{activeSkinTone:e,emoji:s,getImageUrl:function(){return t.imgUrl},imageUrl:t.imgUrl,isCustom:!0,names:o,unified:s,unifiedWithoutSkinTone:s}}var a=Xa(t,e);return{activeSkinTone:e,emoji:yne(a),getImageUrl:function(l){return l===void 0&&(l=n??Ci.APPLE),r(a,l)},imageUrl:r(a,n??Ci.APPLE),isCustom:!1,names:o,unified:a,unifiedWithoutSkinTone:Xa(t)}}function $2(t){return h.createElement("button",Object.assign({type:"button"},t,{className:sr(oNe.button,t.className)}),t.children)}var oNe=mo.create({button:{".":"epr-btn",cursor:"pointer",border:"0",background:"none",outline:"none"}});function sNe(t){var e,n=t.emojiNames,r=t.unified,o=t.hidden,s=t.hiddenOnSearch,a=t.showVariations,i=a===void 0?!0:a,l=t.hasVariations,u=t.children,d=t.className,f=t.noBackground,m=f===void 0?!1:f;return h.createElement($2,{className:sr(VI.emoji,o&&ET.hidden,s&&Fg.hiddenOnSearch,(e={},e[Qn.visible]=!o&&!s,e),!!(l&&i)&&VI.hasVariations,m&&VI.noBackground,d),"data-unified":r,"aria-label":aNe(n),"data-full-name":n},u)}function aNe(t){var e;return t[0].match("flag-")&&(e=t[1])!=null?e:t[0]}var VI=mo.create({emoji:{".":Qn.emoji,position:"relative",width:"var(--epr-emoji-fullsize)",height:"var(--epr-emoji-fullsize)",boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",maxWidth:"var(--epr-emoji-fullsize)",maxHeight:"var(--epr-emoji-fullsize)",borderRadius:"8px",overflow:"hidden",transition:"background-color 0.2s",":hover":{backgroundColor:"var(--epr-emoji-hover-color)"},":focus":{backgroundColor:"var(--epr-focus-bg-color)"}},noBackground:{background:"none",":hover":{backgroundColor:"transparent",background:"none"},":focus":{backgroundColor:"transparent",background:"none"}},hasVariations:{".":Qn.emojiHasVariations,":after":{content:"",display:"block",width:"0",height:"0",right:"0px",bottom:"1px",position:"absolute",borderLeft:"4px solid transparent",borderRight:"4px solid transparent",transform:"rotate(135deg)",borderBottom:"4px solid var(--epr-emoji-variation-indicator-color)",zIndex:"var(--epr-emoji-variations-indictator-z-index)"},":hover:after":{borderBottom:"4px solid var(--epr-emoji-variation-indicator-color-hover)"}}}),Ek=mo.create({external:{".":Qn.external,fontSize:"0"},common:{alignSelf:"center",justifySelf:"center",display:"block"}});function fU(t){var e=t.emojiName,n=t.style,r=t.lazyLoad,o=r===void 0?!1:r,s=t.imgUrl,a=t.onError,i=t.className;return h.createElement("img",{src:s,alt:e,className:sr(iNe.emojiImag,Ek.external,Ek.common,i),loading:o?"lazy":"eager",onError:a,style:n})}var iNe=mo.create({emojiImag:{".":"epr-emoji-img",maxWidth:"var(--epr-emoji-fullsize)",maxHeight:"var(--epr-emoji-fullsize)",minWidth:"var(--epr-emoji-fullsize)",minHeight:"var(--epr-emoji-fullsize)",padding:"var(--epr-emoji-padding)"}});function lNe(t){var e=t.unified,n=t.style,r=t.className;return h.createElement("span",{className:sr(cNe.nativeEmoji,Ek.common,Ek.external,r),"data-unified":e,style:n},yne(e))}var cNe=mo.create({nativeEmoji:{".":"epr-emoji-native",fontFamily:'"Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "EmojiOne Color", "Android Emoji"!important',position:"relative",lineHeight:"100%",fontSize:"var(--epr-emoji-size)",textAlign:"center",alignSelf:"center",justifySelf:"center",letterSpacing:"0",padding:"var(--epr-emoji-padding)"}});function U_(t){var e=t.emoji,n=t.unified,r=t.emojiStyle,o=t.size,s=t.lazyLoad,a=t.getEmojiUrl,i=a===void 0?Nte:a,l=t.className,u=Bte(),d=u[1],f={};o&&(f.width=f.height=f.fontSize=o+"px");var m=e||ay(n);if(!m)return null;if(bne(m))return h.createElement(fU,{style:f,emojiName:n,emojiStyle:Ci.NATIVE,lazyLoad:s,imgUrl:m.imgUrl,onError:g,className:l});return h.createElement(h.Fragment,null,r===Ci.NATIVE?h.createElement(lNe,{unified:n,style:f,className:l}):h.createElement(fU,{style:f,emojiName:F_(m),emojiStyle:r,lazyLoad:s,imgUrl:i(n,r),onError:g,className:l}));function g(){d(function(w){return new Set(w).add(n)})}}function LC(t){var e=t.emoji,n=t.unified,r=t.hidden,o=t.hiddenOnSearch,s=t.emojiStyle,a=t.showVariations,i=a===void 0?!0:a,l=t.size,u=t.lazyLoad,d=t.getEmojiUrl,f=t.className,m=t.noBackground,g=m===void 0?!1:m,w=Vy(e);return h.createElement(sNe,{hasVariations:w,showVariations:i,hidden:r,hiddenOnSearch:o,emojiNames:z2(e),unified:n,noBackground:g},h.createElement(U_,{unified:n,emoji:e,size:l,emojiStyle:s,lazyLoad:u,getEmojiUrl:d,className:f}))}var uNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjgwcHgiIHZpZXdCb3g9IjAgMCAyMCA4MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgODAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjODY4Njg2IiBkPSJNNS43LDEwLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40QzYsMTAuOSw2LjEsMTEsNi4zLDExaDMuNHYzLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40CgljMC4xLDAuMSwwLjIsMC4yLDAuNCwwLjJjMC4zLDAsMC41LTAuMiwwLjUtMC41di0zLjRoMy40YzAuMywwLDAuNS0wLjIsMC41LTAuNXMtMC4yLTAuNS0wLjUtMC41aC0zLjRWNi43YzAtMC4zLTAuMi0wLjUtMC41LTAuNQoJQzkuOCw2LDkuNiw2LjIsOS42LDYuNXYzLjRINi4yQzUuOSw5LjksNS43LDEwLjEsNS43LDEwLjRMNS43LDEwLjR6Ii8+CjxwYXRoIGZpbGw9IiMzMzcxQjciIGQ9Ik01LjcsMzAuNGMwLDAuMSwwLjEsMC4zLDAuMiwwLjRTNi4xLDMxLDYuMywzMWgzLjR2My40YzAsMC4xLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMiwwLjIsMC40LDAuMgoJYzAuMywwLDAuNS0wLjIsMC41LTAuNXYtMy40aDMuNGMwLjMsMCwwLjUtMC4yLDAuNS0wLjVzLTAuMi0wLjUtMC41LTAuNWgtMy40di0zLjRjMC0wLjMtMC4yLTAuNS0wLjUtMC41cy0wLjUsMC4yLTAuNSwwLjV2My40SDYuMgoJQzUuOSwyOS45LDUuNywzMC4xLDUuNywzMC40TDUuNywzMC40eiIvPgo8cGF0aCBmaWxsPSIjQzBDMEJGIiBkPSJNNS43LDUwLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40QzYsNTAuOSw2LjEsNTEsNi4zLDUxaDMuNHYzLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40CgljMC4xLDAuMSwwLjIsMC4yLDAuNCwwLjJjMC4zLDAsMC41LTAuMiwwLjUtMC41di0zLjRoMy40YzAuMywwLDAuNS0wLjIsMC41LTAuNXMtMC4yLTAuNS0wLjUtMC41aC0zLjR2LTMuNGMwLTAuMy0wLjItMC41LTAuNS0wLjUKCXMtMC41LDAuMi0wLjUsMC41djMuNEg2LjJDNS45LDQ5LjksNS43LDUwLjEsNS43LDUwLjRMNS43LDUwLjR6Ii8+CjxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik01LjcsNzAuNGMwLDAuMSwwLjEsMC4zLDAuMiwwLjRTNi4xLDcxLDYuMyw3MWgzLjR2My40YzAsMC4xLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMiwwLjIsMC40LDAuMgoJYzAuMywwLDAuNS0wLjIsMC41LTAuNXYtMy40aDMuNGMwLjMsMCwwLjUtMC4yLDAuNS0wLjVzLTAuMi0wLjUtMC41LTAuNWgtMy40di0zLjRjMC0wLjMtMC4yLTAuNS0wLjUtMC41cy0wLjUsMC4yLTAuNSwwLjV2My40SDYuNAoJQzUuOSw2OS45LDUuNyw3MC4xLDUuNyw3MC40TDUuNyw3MC40eiIvPgo8L3N2Zz4=";function fNe(){var t=NC(),e=t[1];return h.createElement($2,{"aria-label":"Show all Emojis",title:"Show all Emojis",tabIndex:0,className:sr(dNe.plusSign),onClick:function(){return e(!1)}})}var dNe=mo.create(So({plusSign:{fontSize:"20px",padding:"17px",color:"var(--epr-text-color)",borderRadius:"50%",textAlign:"center",lineHeight:"100%",width:"20px",height:"20px",display:"flex",justifyContent:"center",alignItems:"center",transition:"background-color 0.2s ease-in-out",":after":{content:"",minWidth:"20px",minHeight:"20px",backgroundImage:"url("+uNe+")",backgroundColor:"transparent",backgroundRepeat:"no-repeat",backgroundSize:"20px",backgroundPositionY:"0"},":hover":{color:"var(--epr-highlight-color)",backgroundColor:"var(--epr-hover-bg-color-reduced-opacity)",":after":{backgroundPositionY:"-20px"}},":focus":{color:"var(--epr-highlight-color)",backgroundColor:"var(--epr-hover-bg-color-reduced-opacity)",":after":{backgroundPositionY:"-40px"}}}},rh("plusSign",{":after":{backgroundPositionY:"-40px"},":hover:after":{backgroundPositionY:"-60px"}})));function pNe(){var t=NC(),e=t[0],n=oEe(),r=qSe();xne(n,Eb.REACTIONS);var o=Bg(),s=Tte(),a=Ug();return e?h.createElement("ul",{className:sr(dU.list,!e&&ET.hidden),ref:n},r.map(function(i){return h.createElement("li",{key:i},h.createElement(LC,{emoji:ay(i),emojiStyle:o,unified:i,showVariations:!1,className:sr(dU.emojiButton),noBackground:!0,getEmojiUrl:a}))}),s?h.createElement("li",null,h.createElement(fNe,null)):null):null}var dU=mo.create({list:{listStyle:"none",margin:"0",padding:"0 5px",display:"flex",justifyContent:"space-between",alignItems:"center",height:"100%"},emojiButton:{":hover":{transform:"scale(1.2)"},":focus":{transform:"scale(1.2)"},":active":{transform:"scale(1.1)"},transition:"transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.5)"}});function hNe(t){var e=$g();h.useEffect(function(){var n=t.current;if(!n)return;n.addEventListener("scroll",r,{passive:!0});function r(){e()}return function(){n==null||n.removeEventListener("scroll",r)}},[t,e])}function mNe(){var t=Bte(),e=t[0],n=CEe();return function(r){var o=Xa(r),s=e.has(o),a=n(o);return{failedToLoad:s,filteredOut:a,hidden:s||a}}}function kne(t){var e=t.categoryConfig,n=t.children,r=t.hidden,o=t.hiddenOnSearch,s=NT(e),a=Ste(e);return h.createElement("li",{className:sr(HI.category,r&&ET.hidden,o&&Fg.hiddenOnSearch),"data-name":s,"aria-label":a},h.createElement("h2",{className:sr(HI.label)},a),h.createElement("div",{className:sr(HI.categoryContent)},n))}var HI=mo.create({category:{".":Qn.category,":not(:has(.epr-visible))":{display:"none"}},categoryContent:{".":Qn.categoryContent,display:"grid",gridGap:"0",gridTemplateColumns:"repeat(auto-fill, var(--epr-emoji-fullsize))",justifyContent:"space-between",margin:"var(--epr-category-padding)",position:"relative"},label:{".":Qn.label,alignItems:"center",backdropFilter:"blur(3px)",backgroundColor:"var(--epr-category-label-bg-color)",color:"var(--epr-category-label-text-color)",display:"flex",fontSize:"16px",fontWeight:"bold",height:"var(--epr-category-label-height)",margin:"0",padding:"var(--epr-category-label-padding)",position:"sticky",textTransform:"capitalize",top:"0",width:"100%",zIndex:"var(--epr-category-label-z-index)"}}),WI=!1;function gNe(){var t=h.useState(WI),e=t[0],n=t[1];return h.useEffect(function(){n(!0),WI=!0},[]),e||WI}function yNe(t){var e=t.categoryConfig,n=Ute(),r=n[0],o=gNe(),s=USe(),a=Ug(),i=h.useMemo(function(){var u;return(u=wne(s))!=null?u:[]},[r,s]),l=Bg();return o?h.createElement(kne,{categoryConfig:e,hiddenOnSearch:!0,hidden:i.length===0},i.map(function(u){var d=ay(u.original);return d?h.createElement(LC,{showVariations:!1,unified:u.unified,emojiStyle:l,emoji:d,key:u.unified,getEmojiUrl:a}):null})):null}function vNe(){var t=Lte(),e=h.useRef(0);return h.createElement("ul",{className:sr(bNe.emojiList)},t.map(function(n){var r=NT(n);return r===Zn.SUGGESTED?h.createElement(yNe,{key:r,categoryConfig:n}):h.createElement(h.Suspense,{key:r},h.createElement(wNe,{category:r,categoryConfig:n,renderdCategoriesCountRef:e}))}))}function wNe(t){var e=t.category,n=t.categoryConfig,r=t.renderdCategoriesCountRef,o=mNe(),s=$Se(),a=Bg(),i=nEe(),l=MT(),u=l[0],d=QSe(),f=Ug(),m=!Dte(),g=!i&&r.current>0?[]:wSe(e);g.length>0&&r.current++;var w=0,b=g.map(function(j){var S=Xa(j,u),I=o(j),N=I.failedToLoad,M=I.filteredOut,D=I.hidden,P=d(j);return(D||P)&&w++,P?null:h.createElement(LC,{showVariations:m,key:S,emoji:j,unified:S,hidden:N,hiddenOnSearch:M,emojiStyle:a,lazyLoad:s,getEmojiUrl:f})});return h.createElement(kne,{categoryConfig:n,hidden:w===b.length},b)}var bNe=mo.create({emojiList:{".":Qn.emojiList,listStyle:"none",margin:"0",padding:"0"}}),xNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MHB4IgoJIGhlaWdodD0iMTVweCIgdmlld0JveD0iMCAwIDUwIDE1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MCAxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJMYXllcl8xIj4KPC9nPgo8ZyBpZD0iTGF5ZXJfMiI+Cgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBzdHJva2U9IiNFOEU3RTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEuODYtMC40M2w5LjgzLDExLjUzYzAuNTksMC42OSwxLjU2LDAuNjksMi4xNCwwbDkuODMtMTEuNTMiLz4KCTxwYXRoIGZpbGw9IiMwMTAyMDIiIHN0cm9rZT0iIzE1MTYxNyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMjYuODYtMC40M2w5LjgzLDExLjUzYzAuNTksMC42OSwxLjU2LDAuNjksMi4xNCwwbDkuODMtMTEuNTMiLz4KPC9nPgo8L3N2Zz4=",z0;(function(t){t[t.Up=0]="Up",t[t.Down=1]="Down"})(z0||(z0={}));function kNe(){var t=_C(),e=sEe(),n=Hy(),r=n[0],o=Bg(),s=CNe(e),a=s.getTop,i=s.getMenuDirection,l=Yte(),u=jNe(e),d=Ug(),f=Vc(t.current),m=!!(r&&f&&Vy(r)&&f.classList.contains(Qn.emojiHasVariations));h.useEffect(function(){m&&RC(e.current)},[e,m,t]);var g,w;return!m&&t.current?l(null):(g=a(),w=u()),h.createElement("div",{ref:e,className:sr(a6.variationPicker,i()===z0.Down&&a6.pointingUp,m&&a6.visible),style:{top:g}},m&&r?[Xa(r)].concat(F2(r)).slice(0,6).map(function(b){return h.createElement(LC,{key:b,emoji:r,unified:b,emojiStyle:o,showVariations:!1,getEmojiUrl:d})}):null,h.createElement("div",{className:sr(a6.pointer),style:w}))}function jNe(t){var e=_C();return function(){var r={};if(!t.current)return r;if(e.current){var o=Vc(e.current),s=JEe(o);if(!o)return r;r.left=s+(o==null?void 0:o.clientWidth)/2}return r}}function CNe(t){var e=_C(),n=oc(),r=z0.Up;return{getMenuDirection:o,getTop:s};function o(){return r}function s(){r=z0.Up;var a=0;if(!t.current)return 0;var i=iU(t.current);if(e.current){var l,u=n.current,d=Vc(e.current),f=iU(d);a=ine(d);var m=(l=u==null?void 0:u.scrollTop)!=null?l:0;m>a-i&&(r=z0.Down,a+=f+i)}return a-i}}var a6=mo.create(So({variationPicker:{".":Qn.variationPicker,position:"absolute",right:"15px",left:"15px",padding:"5px",boxShadow:"0px 2px 5px rgba(0, 0, 0, 0.2)",borderRadius:"3px",display:"flex",alignItems:"center",justifyContent:"space-around",opacity:"0",visibility:"hidden",pointerEvents:"none",top:"-100%",border:"1px solid var(--epr-picker-border-color)",height:"var(--epr-emoji-variation-picker-height)",zIndex:"var(--epr-skin-variation-picker-z-index)",background:"var(--epr-emoji-variation-picker-bg-color)",transform:"scale(0.9)",transition:"transform 0.1s ease-out, opacity 0.2s ease-out"},visible:{opacity:"1",visibility:"visible",pointerEvents:"all",transform:"scale(1)"},pointingUp:{".":"pointing-up",transformOrigin:"center 0%",transform:"scale(0.9)"},".pointing-up":{pointer:{top:"0",transform:"rotate(180deg) translateY(100%) translateX(18px)"}},pointer:{".":"epr-emoji-pointer",content:"",position:"absolute",width:"25px",height:"15px",backgroundRepeat:"no-repeat",backgroundPosition:"0 0",backgroundSize:"50px 15px",top:"100%",transform:"translateX(-18px)",backgroundImage:"url("+xNe+")"}},rh("pointer",{backgroundPosition:"-25px 0"})));function SNe(){var t=oc();return hNe(t),xne(t,Eb.PICKER),yEe(),h.createElement("div",{className:sr(ENe.body,Fg.hiddenOnReactions),ref:t},h.createElement(kNe,null),h.createElement(vNe,null))}var ENe=mo.create({body:{".":Qn.scrollBody,flex:"1",overflowY:"scroll",overflowX:"hidden",position:"relative"}});function NNe(t,e){if(!t||!e)return 0;var n=t.getBoundingClientRect(),r=e.getBoundingClientRect();return r.height-(n.y-r.y)}function INe(t,e){var n=oc(),r=Zte(),o=Kte();h.useEffect(function(){if(!t)return;var s=n.current;s==null||s.addEventListener("keydown",l,{passive:!0}),s==null||s.addEventListener("mouseover",u,!0),s==null||s.addEventListener("focus",a,!0),s==null||s.addEventListener("mouseout",i,{passive:!0}),s==null||s.addEventListener("blur",i,!0);function a(d){var f=Vc(d.target);if(!f)return i();var m=dne(f),g=m.unified,w=m.originalUnified;if(!g||!w)return i();e({unified:g,originalUnified:w})}function i(d){if(d){var f=d.relatedTarget;if(!Vc(f))return e(null)}e(null)}function l(d){d.key==="Escape"&&e(null)}function u(d){if(!r()){var f=Vc(d.target);if(f){var m=NNe(f,s),g=f.getBoundingClientRect().height;if(m<g)return ANe(f,e);yl(f)}}}return function(){s==null||s.removeEventListener("mouseover",u),s==null||s.removeEventListener("mouseout",i),s==null||s.removeEventListener("focus",a,!0),s==null||s.removeEventListener("blur",i,!0),s==null||s.removeEventListener("keydown",l)}},[n,t,e,r,o])}function ANe(t,e){var n,r=dne(t),o=r.unified,s=r.originalUnified;!o||!s||((n=document.activeElement)==null||n.blur==null||n.blur(),e({unified:o,originalUnified:s}))}var i6,Ib;(function(t){t.ROW="FlexRow",t.COLUMN="FlexColumn"})(Ib||(Ib={}));function jne(t){var e=t.children,n=t.className,r=t.style,o=r===void 0?{}:r,s=t.direction,a=s===void 0?Ib.ROW:s;return h.createElement("div",{style:So({},o),className:sr(pU.flex,n,pU[a])},e)}var pU=mo.create((i6={flex:{display:"flex"}},i6[Ib.ROW]={flexDirection:"row"},i6[Ib.COLUMN]={flexDirection:"column"},i6));function _Ne(t){var e=t.className,n=t.style,r=n===void 0?{}:n;return h.createElement("div",{style:So({flex:1},r),className:sr(e)})}function MNe(t){var e=t.children,n=t.className,r=t.style;return h.createElement("div",{style:So({},r,{position:"absolute"}),className:n},e)}function PC(t){var e=t.children,n=t.className,r=t.style;return h.createElement("div",{style:So({},r,{position:"relative"}),className:n},e)}function RNe(t){var e=t.isOpen,n=t.onClick,r=t.isActive,o=t.skinToneVariation,s=t.style;return h.createElement($2,{style:s,onClick:n,className:sr("epr-tone-"+o,YI.tone,!e&&YI.closedTone,r&&YI.active),"aria-pressed":r,"aria-label":"Skin tone "+gSe[o]})}var YI=mo.create({closedTone:{opacity:"0",zIndex:"0"},active:{".":"epr-active",zIndex:"1",opacity:"1"},tone:{".":"epr-tone",width:"var(--epr-skin-tone-size)",display:"block",cursor:"pointer",borderRadius:"4px",height:"var(--epr-skin-tone-size)",position:"absolute",right:"0",transition:"transform 0.3s ease-in-out, opacity 0.35s ease-in-out",zIndex:"0",border:"1px solid var(--epr-skin-tone-outer-border-color)",boxShadow:"inset 0px 0px 0 1px var(--epr-skin-tone-inner-border-color)",":hover":{boxShadow:"0 0 0 3px var(--epr-active-skin-hover-color), inset 0px 0px 0 1px var(--epr-skin-tone-inner-border-color)"},":focus":{boxShadow:"0 0 0 3px var(--epr-focus-bg-color)"},"&.epr-tone-neutral":{backgroundColor:"#ffd225"},"&.epr-tone-1f3fb":{backgroundColor:"#ffdfbd"},"&.epr-tone-1f3fc":{backgroundColor:"#e9c197"},"&.epr-tone-1f3fd":{backgroundColor:"#c88e62"},"&.epr-tone-1f3fe":{backgroundColor:"#a86637"},"&.epr-tone-1f3ff":{backgroundColor:"#60463a"}}}),Rw=28;function TNe(){return h.createElement(PC,{style:{height:Rw}},h.createElement(MNe,{style:{bottom:0,right:0}},h.createElement(Cne,{direction:Ab.VERTICAL})))}function Cne(t){var e=t.direction,n=e===void 0?Ab.HORIZONTAL:e,r=RT(),o=Dte(),s=B2(),a=s[0],i=s[1],l=MT(),u=l[0],d=l[1],f=FSe(),m=$g(),g=Vg();if(o)return null;var w=Rw*jk.length+"px",b=a?w:Rw+"px",j=n===Ab.VERTICAL;return h.createElement(PC,{className:sr(lw.skinTones,j&&lw.vertical,a&&lw.open,j&&a&&lw.verticalShadow),style:j?{flexBasis:b,height:b}:{flexBasis:b}},h.createElement("div",{className:sr(lw.select),ref:r},jk.map(function(S,I){var N=S===u;return h.createElement(RNe,{key:S,skinToneVariation:S,isOpen:a,style:{transform:sr(j?"translateY(-"+I*(a?Rw:0)+"px)":"translateX(-"+I*(a?Rw:0)+"px)",a&&N&&"scale(1.3)")},isActive:N,onClick:function(){a?(d(S),f(S),g()):i(!0),m()}})})))}var Ab;(function(t){t.VERTICAL="epr-vertical",t.HORIZONTAL="epr-horizontal"})(Ab||(Ab={}));var lw=mo.create({skinTones:{".":"epr-skin-tones","--":{"--epr-skin-tone-size":"15px"},display:"flex",alignItems:"center",justifyContent:"flex-end",transition:"all 0.3s ease-in-out",padding:"10px 0"},vertical:{padding:"9px",alignItems:"flex-end",flexDirection:"column",borderRadius:"6px",border:"1px solid var(--epr-bg-color)"},verticalShadow:{boxShadow:"0px 0 7px var(--epr-picker-border-color)"},open:{backdropFilter:"blur(5px)",background:"var(--epr-skin-tone-picker-menu-color)",".epr-active":{border:"1px solid var(--epr-active-skin-tone-indicator-border-color)"}},select:{".":"epr-skin-tone-select",position:"relative",width:"var(--epr-skin-tone-size)",height:"var(--epr-skin-tone-size)"}});function DNe(){var t=Pte(),e=ene();return t.showPreview?h.createElement(jne,{className:sr(I3.preview,Fg.hiddenOnReactions)},h.createElement(LNe,null),h.createElement(_Ne,null),e?h.createElement(TNe,null):null):null}function LNe(){var t,e=Pte(),n=h.useState(null),r=n[0],o=n[1],s=Bg(),a=Hy(),i=a[0],l=Ug();INe(e.showPreview,o);var u=ay((t=r==null?void 0:r.unified)!=null?t:r==null?void 0:r.originalUnified),d=u!=null&&r!=null;return h.createElement(f,null);function f(){var m=i??ay(e.defaultEmoji);if(!m)return null;var g=i?F_(i):e.defaultCaption;return h.createElement(h.Fragment,null,h.createElement("div",null,d?h.createElement(U_,{unified:r==null?void 0:r.unified,emoji:u,emojiStyle:s,size:45,getEmojiUrl:l,className:sr(I3.emoji)}):m?h.createElement(U_,{unified:Xa(m),emoji:m,emojiStyle:s,size:45,getEmojiUrl:l,className:sr(I3.emoji)}):null),h.createElement("div",{className:sr(I3.label)},d?F_(u):g))}}var I3=mo.create({preview:{alignItems:"center",borderTop:"1px solid var(--epr-preview-border-color)",height:"var(--epr-preview-height)",padding:"0 var(--epr-horizontal-padding)",position:"relative",zIndex:"var(--epr-preview-z-index)"},label:{color:"var(--epr-preview-text-color)",fontSize:"var(--epr-preview-text-size)",padding:"var(--epr-preview-text-padding)",textTransform:"capitalize"},emoji:{padding:"0"}});function PNe(t){var e;return(e=t==null?void 0:t.getAttribute("data-name"))!=null?e:null}function ONe(t){var e=oc();h.useEffect(function(){var n=new Map,r=e.current,o=new IntersectionObserver(function(s){if(r){for(var a=ZCe(s),i;!(i=a()).done;){var l=i.value,u=PNe(l.target);n.set(u,l.intersectionRatio)}var d=Array.from(n),f=d[d.length-1];if(f[1]==1)return t(f[0]);for(var m=0,g=d;m<g.length;m++){var w=g[m],b=w[0],j=w[1];if(j){t(b);break}}}},{threshold:[0,1]});r==null||r.querySelectorAll(Ta(Qn.category)).forEach(function(s){o.observe(s)})},[e,t])}function zNe(){var t=oc(),e=U2();return function(r){var o;if(t.current){var s=(o=t.current)==null?void 0:o.querySelector('[data-name="'+r+'"]');if(s){var a=s.offsetTop||0;Gte(e.current,a)}}}}function FNe(){var t=PSe();return t?t.length===0:!1}var BNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSI4MHB4IiB2aWV3Qm94PSIwIDAgMjAwIDgwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMDAgODAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iTGF5ZXJfMTEiPgoJPGc+CgkJPHBhdGggZmlsbD0iIzMzNzFCNyIgc3Ryb2tlPSIjMzM3MUI3IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTIuOCwyOS41YzAuNiwwLDEuMS0wLjUsMS4xLTEuMQoJCQljMC0wLjYtMC41LTEuMi0xLjEtMS4yYy0wLjYsMC0xLjIsMC41LTEuMiwxLjJDMTEuNiwyOSwxMi4yLDI5LjUsMTIuOCwyOS41eiBNMTIuOCwyOGMwLjIsMCwwLjQsMC4yLDAuNCwwLjQKCQkJYzAsMC4yLTAuMiwwLjQtMC40LDAuNGMtMC4yLDAtMC40LTAuMi0wLjQtMC40QzEyLjQsMjguMSwxMi42LDI4LDEyLjgsMjh6Ii8+CgkJPHBhdGggZmlsbD0iIzMzNzFCNyIgc3Ryb2tlPSIjMzM3MUI3IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTAsMjNjLTMuOCwwLTcsMy4xLTcsN2MwLDMuOCwzLjEsNyw3LDcKCQkJczctMy4xLDctN0MxNywyNi4yLDEzLjgsMjMsMTAsMjN6IE0xMCwzNi4yYy0zLjQsMC02LjItMi44LTYuMi02LjJjMC0zLjQsMi44LTYuMiw2LjItNi4yczYuMiwyLjgsNi4yLDYuMgoJCQlDMTYuMiwzMy40LDEzLjQsMzYuMiwxMCwzNi4yeiIvPgoJCTxwYXRoIGZpbGw9IiMzMzcxQjciIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE0LjYsMzEuMmMtMC4xLTAuMS0wLjItMC4yLTAuMy0wLjJINS43CgkJCWMtMC4xLDAtMC4yLDAuMS0wLjMsMC4yYy0wLjEsMC4xLTAuMSwwLjIsMCwwLjRjMC43LDIsMi41LDMuMyw0LjYsMy4zczMuOS0xLjMsNC42LTMuM0MxNC43LDMxLjUsMTQuNywzMS4zLDE0LjYsMzEuMnogTTEwLDM0LjEKCQkJYy0xLjYsMC0zLTAuOS0zLjctMi4yaDcuM0MxMywzMy4yLDExLjYsMzQuMSwxMCwzNC4xeiIvPgoJCTxwYXRoIGZpbGw9IiMzMzcxQjciIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTcuMiwyOS41YzAuNiwwLDEuMi0wLjUsMS4yLTEuMQoJCQljMC0wLjYtMC41LTEuMi0xLjItMS4yYy0wLjYsMC0xLjEsMC41LTEuMSwxLjJDNi4xLDI5LDYuNiwyOS41LDcuMiwyOS41eiBNNy4yLDI4YzAuMiwwLDAuNCwwLjIsMC40LDAuNGMwLDAuMi0wLjIsMC40LTAuNCwwLjQKCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRDNi44LDI4LjEsNywyOCw3LjIsMjh6Ii8+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNNjQuMSwzMy40bDIuMywwYzAuMiwwLDAuNCwwLjIsMC40LDAuNHYyLjFjMCwwLjItMC4yLDAuNC0wLjQsMC40aC0yLjMKCQkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40di0yLjFDNjMuNywzMy42LDYzLjgsMzMuNCw2NC4xLDMzLjR6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTczLjUsMzMuNWgyLjRjMC4yLDAsMC40LDAuMiwwLjQsMC40djJjMCwwLjItMC4yLDAuNC0wLjQsMC40aC0yLjQKCQkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40bDAtMkM3My4xLDMzLjYsNzMuMywzMy41LDczLjUsMzMuNXoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNNjMuNywyOC40aDEyLjZ2NUg2My43VjI4LjR6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTY1LjUsMjMuNmg4LjljMSwwLDEuOSwwLjgsMS45LDEuOXYzLjFINjMuN3YtMy4xQzYzLjcsMjQuNSw2NC41LDIzLjYsNjUuNSwyMy42eiIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjMzM3MUI3IiBjeD0iNjYuMiIgY3k9IjMwLjkiIHJ4PSIwLjkiIHJ5PSIxIi8+CgkJCTxlbGxpcHNlIGZpbGw9IiMzMzcxQjciIGN4PSI3My44IiBjeT0iMzAuOSIgcng9IjAuOSIgcnk9IjEiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNOTYuNCwzMGMwLDMuNi0yLjksNi41LTYuNCw2LjVzLTYuNC0yLjktNi40LTYuNXMyLjktNi41LDYuNC02LjVTOTYuNCwyNi40LDk2LjQsMzB6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTk2LjMsMjguNmMwLDAsMCwwLjEsMCwwLjFjLTAuOSwwLjEtMi45LDAuMS00LjYtMS4xYy0xLjEtMC44LTItMS43LTIuNi0yLjUKCQkJCWMtMC4zLTAuNC0wLjYtMC44LTAuNy0xYy0wLjEtMC4xLTAuMS0wLjEtMC4xLTAuMmMwLjUtMC4xLDEuMi0wLjIsMi0wLjFjMS4yLDAsMi41LDAuMywzLjUsMS4xYzEsMC44LDEuNywxLjgsMi4xLDIuOAoJCQkJQzk2LjEsMjcuOSw5Ni4yLDI4LjMsOTYuMywyOC42eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik04NCwzMi4yYzAsMCwwLTAuMSwwLTAuMWMwLjktMC4yLDIuOS0wLjQsNC43LDAuNmMxLjEsMC43LDEuOSwxLjUsMi40LDIuMwoJCQkJYzAuNCwwLjUsMC42LDEsMC43LDEuM2MtMC40LDAuMS0xLDAuMi0xLjcsMC4zYy0xLDAtMi4xLTAuMS0zLjItMC44cy0xLjktMS42LTIuNC0yLjVDODQuMiwzMi44LDg0LjEsMzIuNSw4NCwzMi4yeiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTExNi4zLDI2LjhsLTEuNCwybC0wLjgtMC44bC0wLjYtMC42bDAsMC45bC0wLjEsOC4yaC02LjgKCQkJCWwtMC4xLTguMmwwLTAuOWwtMC42LDAuNmwtMC44LDAuOGwtMS40LTJsMi42LTIuOWMwLjEtMC4xLDAuMi0wLjEsMC4zLTAuMWgxLjNsMC40LDAuN2MwLjcsMS4zLDIuNiwxLjMsMy4zLTAuMWwwLjMtMC42aDEuMgoJCQkJYzAuMSwwLDAuMiwwLDAuMywwLjFsMC4zLTAuM2wtMC4zLDAuM0wxMTYuMywyNi44eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMTAuMSwyNy43aDJ2MC45YzAsMC40LTAuNCwwLjctMSwwLjdjLTAuNiwwLTEtMC4zLTEtMC43TDExMC4xLDI3LjdMMTEwLjEsMjcuN3oiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNMTI2LjgsMzQuM2MwLDEuMi0xLDIuMi0yLjIsMi4ycy0yLjItMS0yLjItMi4yczEtMi4yLDIuMi0yLjJTMTI2LjgsMzMuMSwxMjYuOCwzNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMzcuNiwzNC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJjLTEuMiwwLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMgoJCQkJQzEzNi42LDMyLjEsMTM3LjYsMzMuMSwxMzcuNiwzNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMjYuOCwyNC40djkuOSIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMzcuNywyNC40djkuOSIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMjYuOCwyMy41aDEwLjh2Mi43aC0xMC44QzEyNi44LDI2LjIsMTI2LjgsMjMuNSwxMjYuOCwyMy41eiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSIjMzM3MUI3IiBkPSJNMTcwLjgsMjMuMUwxNzAuOCwyMy4xYy0wLjMsMC0wLjUsMC0wLjgsMGMtMi4xLDAtNCwxLTUuMywyLjVsLTAuMSwwbC0wLjEtMC4xbC0xLTEuMmwtMC4zLDMuNGwzLjQsMC4zCgkJCQlsLTEuMS0xLjNsLTAuMS0wLjFsMC4xLTAuMWMxLjEtMS41LDMtMi4zLDUtMi4xbDAsMGMzLjIsMC4zLDUuNSwzLjEsNS4yLDYuM2MtMC4zLDMtMy4xLDUuMy02LjEsNS4xYy0zLjEtMC4yLTUuNC0yLjktNS4zLTYKCQkJCWwtMS4zLTAuMWMtMC4yLDMuOCwyLjYsNy4xLDYuMyw3LjRjMy45LDAuMyw3LjMtMi42LDcuNi02LjVDMTc3LjIsMjYuOCwxNzQuNCwyMy41LDE3MC44LDIzLjF6Ii8+CgkJCTxwYXRoIGZpbGw9IiMzMzcxQjciIGQ9Ik0xNzAuMywyNy40YzAtMC4zLTAuMy0wLjYtMC42LTAuNnMtMC42LDAuMy0wLjYsMC42djMuMmMwLDAuMiwwLjEsMC4zLDAuMiwwLjRjMC4xLDAuMSwwLjMsMC4yLDAuNCwwLjIKCQkJCWgyLjRjMC40LDAsMC42LTAuMywwLjYtMC42YzAtMC40LTAuMy0wLjYtMC42LTAuNmgtMS42aC0wLjJ2LTAuMkwxNzAuMywyNy40TDE3MC4zLDI3LjR6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTE4Ni4yLDIzLjRoNy43YzEuNSwwLDIuNywxLjIsMi43LDIuN3Y3LjdjMCwxLjUtMS4yLDIuNy0yLjcsMi43aC03LjcKCQkJCWMtMS41LDAtMi43LTEuMi0yLjctMi43di03LjdDMTgzLjQsMjQuNiwxODQuNywyMy40LDE4Ni4yLDIzLjR6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiMzMzcxQjciIGN4PSIxODYiIGN5PSIyOC45IiByeD0iMC43IiByeT0iMC43Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiMzMzcxQjciIGN4PSIxOTQiIGN5PSIyNi43IiByeD0iMC43IiByeT0iMC43Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTg2LDMzLjNsMC40LTAuM2MwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMSwwLjQKCQkJCWMwLjUsMC4yLDEsMC4yLDEuNS0wLjFsMC44LTAuNWMwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMS44LDAuOCIvPgoJCTwvZz4KCTwvZz4KCTxwYXRoIGZpbGw9IiMzMzcxQjciIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLXdpZHRoPSIwLjI1IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xNTYsMjQuM2MtMC4yLTAuMS0wLjQtMC4xLTAuNSwwCgkJYzAsMC0wLjIsMC4xLTAuOSwwLjJjLTAuNywwLTIuNC0wLjEtMy44LTAuNmMtMC44LTAuMy0xLjctMC41LTIuNS0wLjVjLTAuMiwwLTAuNCwwLTAuNSwwYy0xLjMsMC0yLjUsMC4zLTMuNiwxCgkJYy0wLjIsMC4xLTAuMiwwLjItMC4yLDAuNHYxMS42YzAsMC4zLDAuMSwwLjUsMC4zLDAuNWMwLjYsMCwwLjUtMC40LDAuNS0wLjZ2LTUuN2MwLjctMC4zLDMuMi0xLjEsNS44LTAuMQoJCWMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjgsMCwxLjMtMC4zLDEuMy0wLjNjMC4yLTAuMSwwLjMtMC4yLDAuMy0wLjR2LTUuN0MxNTYuMiwyNC42LDE1Ni4xLDI0LjQsMTU2LDI0LjN6IE0xNTUuNiwzMC4yCgkJYy0wLjEsMC0wLjcsMC4xLTEsMC4xYy0wLjcsMC0yLjQtMC4xLTMuOC0wLjZjLTIuNS0xLTUtMC41LTYuMi0wLjF2LTQuOWMwLjktMC41LDIuMi0wLjcsMy4yLTAuN2MwLjEsMCwwLjMsMCwwLjQsMAoJCWMwLjcsMCwxLjUsMC4yLDIuMiwwLjRjMS42LDAuNiwzLjUsMC43LDQuMywwLjdjMC4yLDAsMC44LDAsMS0wLjFWMzAuMnoiLz4KCTxnPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTQ4LjEsMjMuNWgzLjdjMi41LDAsNC41LDIsNC41LDQuNWMwLDAuNS0wLjQsMC45LTAuOSwwLjlINDQuNWMtMC41LDAtMC45LTAuNC0wLjktMC45CgkJCUM0My42LDI1LjUsNDUuNiwyMy41LDQ4LjEsMjMuNXoiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQzLjUsMjguOGMtMC4yLDAuMS0wLjUsMS4yLDAsMS41YzEuNCwxLDguNSwwLjgsMTEuMywwLjYKCQkJYzAuOC0wLjEsMS42LTAuNCwxLjctMS4yYzAtMC4zLTAuMS0wLjYtMC42LTAuOSIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwzMC42TDQzLjMsMzFjLTAuMiwwLjUsMC4yLDEsMC43LDAuOWMwLjMtMC4xLDAuNSwwLDAuNywwLjMKCQkJbDAuMSwwLjJjMC4zLDAuNSwxLDAuNiwxLjUsMC4ybDAsMGMwLjMtMC4yLDAuNy0wLjMsMS0wLjJsMC44LDAuM2MwLjQsMC4yLDAuOCwwLjEsMS4yLDBsMC41LTAuMmMwLjQtMC4yLDAuOS0wLjIsMS4zLDBsMC41LDAuMgoJCQljMC40LDAuMiwwLjgsMC4yLDEuMiwwbDAuMi0wLjFjMC4zLTAuMiwwLjgtMC4yLDEuMSwwLjFsMC4yLDAuMmMwLjMsMC4zLDAuOCwwLjIsMS0wLjJsMC4xLTAuMmMwLjEtMC4yLDAtMC4zLDAuMi0wLjMKCQkJYzAuNSwwLDEuMi0wLjMsMS4xLTAuN2wtMC40LTEuMSIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwzMi4yYy0wLjEsMC4yLTAuMywwLjgsMCwxLjFjMC4zLDAuNCwzLDEuMSw2LjQsMS4xCgkJCWMyLjIsMCw0LjYtMC4zLDYtMC42YzAuNS0wLjEsMC45LTAuNSwwLjgtMC45YzAtMC4yLTAuMi0wLjUtMC40LTAuNyIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwzMy4zYzAsMC41LDAuNiwyLjMsMS4zLDIuN2MxLjgsMC44LDUuNywwLjcsOC4xLDAuNQoJCQljMS4zLTAuMSwyLjUtMC43LDMuMi0xLjhjMC4zLTAuNSwwLjUtMSwwLjUtMS40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjUxLjYiIGN5PSIyNi41IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjUzIiBjeT0iMjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjMzM3MUI3IiBjeD0iNTMiIGN5PSIyNy4yIiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjU0LjMiIGN5PSIyNi41IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjUwLjkiIGN5PSIyNSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJPC9nPgoJPGc+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNMjQuMiwzMXYtNy42YzAuMSwwLjEsMC44LDAuOSwyLjgsMy4xYzIuNS0xLjYsNS42LTAuNyw2LjksMGwyLjQtMy4xdjcuMQoJCQljMCwxLjItMC4xLDIuNS0wLjksMy40Yy0xLDEuMi0yLjcsMi41LTUuMywyLjVjLTIuOSwwLTQuNS0xLjUtNS4zLTIuOUMyNC4yLDMyLjksMjQuMiwzMiwyNC4yLDMxeiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjEuMiwzMGw1LjQsMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDM0LjFsNS40LTEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzguOCwzMGwtNS40LDEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzguOCwzNC4xbC01LjQtMS4yIi8+CgkJPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMzMzcxQjciIGQ9Ik0yOS41LDMyLjRMMjksMzEuN2MtMC4yLTAuMywwLTAuNiwwLjMtMC42aDEuNAoJCQljMC4zLDAsMC41LDAuNCwwLjMsMC42bC0wLjcsMWwwLDBjLTAuNywxLjItMi42LDEuMS0zLjEtMC4zbC0wLjEtMC4yYy0wLjEtMC4yLDAtMC40LDAuMi0wLjVzMC40LDAsMC41LDAuMmwwLjEsMC4yCgkJCUMyOC4zLDMyLjgsMjkuMSwzMi45LDI5LjUsMzIuNHoiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTMyLjQsMzIuMWwtMC4xLDAuMmMtMC40LDEtMS44LDEuMS0yLjMsMC4yIi8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjI3LjYiIGN5PSIyOS43IiByeD0iMC43IiByeT0iMC43Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjMyLjQiIGN5PSIyOS43IiByeD0iMC43IiByeT0iMC43Ii8+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBmaWxsPSIjQzBDMEJGIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS13aWR0aD0iMC4xIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xMi44LDQ5LjVjMC42LDAsMS4xLTAuNSwxLjEtMS4xCgkJCWMwLTAuNi0wLjUtMS4yLTEuMS0xLjJjLTAuNiwwLTEuMiwwLjUtMS4yLDEuMkMxMS42LDQ5LDEyLjIsNDkuNSwxMi44LDQ5LjV6IE0xMi44LDQ4YzAuMiwwLDAuNCwwLjIsMC40LDAuNAoJCQljMCwwLjItMC4yLDAuNC0wLjQsMC40Yy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRDMTIuNCw0OC4xLDEyLjYsNDgsMTIuOCw0OHoiLz4KCQk8cGF0aCBmaWxsPSIjQzBDMEJGIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS13aWR0aD0iMC4xIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xNC42LDUxLjJjLTAuMS0wLjEtMC4yLTAuMi0wLjMtMC4ySDUuNwoJCQljLTAuMSwwLTAuMiwwLjEtMC4zLDAuMmMtMC4xLDAuMS0wLjEsMC4yLDAsMC40YzAuNywyLDIuNSwzLjMsNC42LDMuM3MzLjktMS4zLDQuNi0zLjNDMTQuNyw1MS41LDE0LjcsNTEuMywxNC42LDUxLjJ6IE0xMCw1NC4xCgkJCWMtMS42LDAtMy0wLjktMy43LTIuMmg3LjNDMTMsNTMuMiwxMS42LDU0LjEsMTAsNTQuMXoiLz4KCQk8cGF0aCBmaWxsPSIjQzBDMEJGIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS13aWR0aD0iMC4xIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik03LjIsNDkuNWMwLjYsMCwxLjItMC41LDEuMi0xLjEKCQkJYzAtMC42LTAuNS0xLjItMS4yLTEuMmMtMC42LDAtMS4xLDAuNS0xLjEsMS4yQzYuMSw0OSw2LjYsNDkuNSw3LjIsNDkuNXogTTcuMiw0OGMwLjIsMCwwLjQsMC4yLDAuNCwwLjRjMCwwLjItMC4yLDAuNC0wLjQsMC40CgkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40QzYuOCw0OC4xLDcsNDgsNy4yLDQ4eiIvPgoJCTxwYXRoIGZpbGw9IiNDMEMwQkYiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEwLDQzYy0zLjgsMC03LDMuMS03LDdjMCwzLjgsMy4xLDcsNyw3CgkJCXM3LTMuMSw3LTdDMTcsNDYuMiwxMy44LDQzLDEwLDQzeiBNMTAsNTYuMmMtMy40LDAtNi4yLTIuOC02LjItNi4yYzAtMy40LDIuOC02LjIsNi4yLTYuMnM2LjIsMi44LDYuMiw2LjIKCQkJQzE2LjIsNTMuNCwxMy40LDU2LjIsMTAsNTYuMnoiLz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik02NC4xLDUzLjRsMi4zLDBjMC4yLDAsMC40LDAuMiwwLjQsMC40djIuMWMwLDAuMi0wLjIsMC40LTAuNCwwLjRoLTIuMwoJCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjR2LTIuMUM2My43LDUzLjYsNjMuOCw1My40LDY0LjEsNTMuNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNNzMuNSw1My41aDIuNGMwLjIsMCwwLjQsMC4yLDAuNCwwLjR2MmMwLDAuMi0wLjIsMC40LTAuNCwwLjRoLTIuNAoJCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRsMC0yQzczLjEsNTMuNiw3My4zLDUzLjUsNzMuNSw1My41eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik02My43LDQ4LjRoMTIuNnY1SDYzLjdWNDguNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNNjUuNSw0My42aDguOWMxLDAsMS45LDAuOCwxLjksMS45djMuMUg2My43di0zLjFDNjMuNyw0NC41LDY0LjUsNDMuNiw2NS41LDQzLjZ6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiNDMEMwQkYiIGN4PSI2Ni4yIiBjeT0iNTAuOSIgcng9IjAuOSIgcnk9IjEiLz4KCQkJPGVsbGlwc2UgZmlsbD0iI0MwQzBCRiIgY3g9IjczLjgiIGN5PSI1MC45IiByeD0iMC45IiByeT0iMSIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik05Ni40LDUwYzAsMy42LTIuOSw2LjUtNi40LDYuNXMtNi40LTIuOS02LjQtNi41czIuOS02LjUsNi40LTYuNVM5Ni40LDQ2LjQsOTYuNCw1MHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNOTYuMyw0OC42YzAsMCwwLDAuMSwwLDAuMWMtMC45LDAuMS0yLjksMC4xLTQuNi0xLjJjLTEuMS0wLjgtMi0xLjctMi42LTIuNQoJCQkJYy0wLjMtMC40LTAuNi0wLjgtMC43LTFjLTAuMS0wLjEtMC4xLTAuMi0wLjEtMC4yYzAuNS0wLjEsMS4yLTAuMiwyLTAuMmMxLjIsMCwyLjUsMC4zLDMuNSwxLjFjMSwwLjgsMS43LDEuOCwyLjEsMi44CgkJCQlDOTYuMSw0Ny45LDk2LjIsNDguMyw5Ni4zLDQ4LjZ6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTg0LDUyLjJjMCwwLDAtMC4xLDAtMC4xYzAuOS0wLjIsMi45LTAuNCw0LjcsMC42YzEuMSwwLjcsMS45LDEuNSwyLjQsMi4zCgkJCQljMC40LDAuNSwwLjYsMSwwLjcsMS4zYy0wLjQsMC4xLTEsMC4yLTEuNywwLjNjLTEsMC0yLjEtMC4xLTMuMi0wLjhzLTEuOS0xLjYtMi40LTIuNUM4NC4yLDUyLjgsODQuMSw1Mi41LDg0LDUyLjJ6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTE2LjMsNDYuOGwtMS40LDJsLTAuOC0wLjhsLTAuNi0wLjdsMCwwLjlsLTAuMSw4LjJoLTYuOAoJCQkJbC0wLjEtOC4ybDAtMC45bC0wLjYsMC43bC0wLjgsMC44bC0xLjQtMmwyLjYtMi45YzAuMS0wLjEsMC4yLTAuMSwwLjMtMC4xaDEuM2wwLjQsMC43YzAuNywxLjMsMi42LDEuMywzLjMtMC4xbDAuMy0wLjZoMS4yCgkJCQljMC4xLDAsMC4yLDAsMC4zLDAuMWwwLjMtMC4zbC0wLjMsMC4zTDExNi4zLDQ2Ljh6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTExMC4xLDQ3LjdoMnYwLjljMCwwLjQtMC40LDAuNy0xLDAuN2MtMC42LDAtMS0wLjMtMS0wLjdMMTEwLjEsNDcuN0wxMTAuMSw0Ny43eiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik0xMjYuOCw1NC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJzLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMlMxMjYuOCw1My4xLDEyNi44LDU0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEzNy42LDU0LjNjMCwxLjItMSwyLjItMi4yLDIuMmMtMS4yLDAtMi4yLTEtMi4yLTIuMnMxLTIuMiwyLjItMi4yCgkJCQlDMTM2LjYsNTIuMSwxMzcuNiw1My4xLDEzNy42LDU0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEyNi44LDQ0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEzNy43LDQ0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEyNi44LDQzLjVoMTAuOHYyLjdoLTEwLjhDMTI2LjgsNDYuMiwxMjYuOCw0My41LDEyNi44LDQzLjV6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9IiNDMEMwQkYiIGQ9Ik0xNzAuOCw0My4xTDE3MC44LDQzLjFjLTAuMywwLTAuNSwwLTAuOCwwYy0yLjEsMC00LDEtNS4zLDIuNWwtMC4xLDBsLTAuMS0wLjFsLTEtMS4ybC0wLjMsMy40bDMuNCwwLjMKCQkJCWwtMS4xLTEuM2wtMC4xLTAuMWwwLjEtMC4xYzEuMS0xLjUsMy0yLjMsNS0yLjFsMCwwYzMuMiwwLjMsNS41LDMuMSw1LjIsNi4zYy0wLjMsMy0zLjEsNS4zLTYuMSw1LjFjLTMuMS0wLjItNS40LTIuOS01LjMtNgoJCQkJbC0xLjMtMC4xYy0wLjIsMy44LDIuNiw3LjEsNi4zLDcuNGMzLjksMC4zLDcuMy0yLjYsNy42LTYuNUMxNzcuMiw0Ni44LDE3NC40LDQzLjUsMTcwLjgsNDMuMXoiLz4KCQkJPHBhdGggZmlsbD0iI0MwQzBCRiIgZD0iTTE3MC4zLDQ3LjRjMC0wLjMtMC4zLTAuNi0wLjYtMC42cy0wLjYsMC4zLTAuNiwwLjZ2My4yYzAsMC4yLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMywwLjIsMC40LDAuMgoJCQkJaDIuNGMwLjQsMCwwLjYtMC4zLDAuNi0wLjZjMC0wLjMtMC4zLTAuNi0wLjYtMC42aC0xLjZoLTAuMnYtMC4yTDE3MC4zLDQ3LjRMMTcwLjMsNDcuNHoiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNMTg2LjIsNDMuNGg3LjdjMS41LDAsMi43LDEuMiwyLjcsMi43djcuN2MwLDEuNS0xLjIsMi43LTIuNywyLjdoLTcuNwoJCQkJYy0xLjUsMC0yLjctMS4yLTIuNy0yLjd2LTcuN0MxODMuNCw0NC43LDE4NC43LDQzLjQsMTg2LjIsNDMuNHoiLz4KCQkJPGVsbGlwc2UgZmlsbD0iI0MwQzBCRiIgY3g9IjE4NiIgY3k9IjQ4LjkiIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPGVsbGlwc2UgZmlsbD0iI0MwQzBCRiIgY3g9IjE5NCIgY3k9IjQ2LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xODYsNTMuM2wwLjQtMC4zYzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLDAuNAoJCQkJYzAuNSwwLjIsMSwwLjIsMS41LTAuMWwwLjgtMC41YzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLjgsMC44Ii8+CgkJPC9nPgoJPC9nPgoJPHBhdGggZmlsbD0iI0MwQzBCRiIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2Utd2lkdGg9IjAuMjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE1Niw0NC4zYy0wLjItMC4xLTAuNC0wLjEtMC41LDAKCQljMCwwLTAuMiwwLjEtMC45LDAuMmMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0wLjgtMC4zLTEuNy0wLjUtMi41LTAuNWMtMC4yLDAtMC40LDAtMC41LDBjLTEuMywwLTIuNSwwLjMtMy42LDEKCQljLTAuMiwwLjEtMC4yLDAuMi0wLjIsMC40djExLjZjMCwwLjMsMC4xLDAuNSwwLjMsMC41YzAuNiwwLDAuNS0wLjQsMC41LTAuNnYtNS43YzAuNy0wLjMsMy4yLTEuMSw1LjgtMC4xCgkJYzEuNiwwLjYsMy41LDAuNyw0LjMsMC43YzAuOCwwLDEuMy0wLjMsMS4zLTAuM2MwLjItMC4xLDAuMy0wLjIsMC4zLTAuNHYtNS43QzE1Ni4yLDQ0LjYsMTU2LjEsNDQuNCwxNTYsNDQuM3ogTTE1NS42LDUwLjIKCQljLTAuMSwwLTAuNywwLjEtMSwwLjFjLTAuNywwLTIuNC0wLjEtMy44LTAuNmMtMi41LTEtNS0wLjUtNi4yLTAuMXYtNC45YzAuOS0wLjUsMi4yLTAuNywzLjItMC43YzAuMSwwLDAuMywwLDAuNCwwCgkJYzAuNywwLDEuNSwwLjIsMi4yLDAuNGMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjIsMCwwLjgsMCwxLTAuMVY1MC4yeiIvPgoJPGc+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNNDguMSw0My41aDMuN2MyLjUsMCw0LjUsMiw0LjUsNC41YzAsMC41LTAuNCwwLjktMC45LDAuOUg0NC41Yy0wLjUsMC0wLjktMC40LTAuOS0wLjkKCQkJQzQzLjYsNDUuNSw0NS42LDQzLjUsNDguMSw0My41eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSw0OC44Yy0wLjIsMC4xLTAuNSwxLjIsMCwxLjVjMS40LDEsOC41LDAuOCwxMS4zLDAuNgoJCQljMC44LTAuMSwxLjYtMC40LDEuNy0xLjJjMC0wLjMtMC4xLTAuNi0wLjYtMC45Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDUwLjZMNDMuMyw1MWMtMC4yLDAuNSwwLjIsMSwwLjcsMC45YzAuMy0wLjEsMC41LDAsMC43LDAuMwoJCQlsMC4xLDAuMmMwLjMsMC41LDEsMC42LDEuNSwwLjJsMCwwYzAuMy0wLjIsMC43LTAuMywxLTAuMmwwLjgsMC4zYzAuNCwwLjIsMC44LDAuMSwxLjIsMGwwLjUtMC4yYzAuNC0wLjIsMC45LTAuMiwxLjMsMGwwLjUsMC4yCgkJCWMwLjQsMC4yLDAuOCwwLjIsMS4yLDBsMC4yLTAuMWMwLjMtMC4yLDAuOC0wLjIsMS4xLDAuMWwwLjIsMC4yYzAuMywwLjMsMC44LDAuMiwxLTAuMmwwLjEtMC4yYzAuMS0wLjIsMC0wLjMsMC4yLTAuMwoJCQljMC41LDAsMS4yLTAuMywxLjEtMC43bC0wLjQtMS4xIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDUyLjJjLTAuMSwwLjItMC4zLDAuOCwwLDEuMWMwLjMsMC40LDMsMS4xLDYuNCwxLjEKCQkJYzIuMiwwLDQuNi0wLjMsNi0wLjZjMC41LTAuMSwwLjktMC41LDAuOC0wLjljMC0wLjItMC4yLTAuNS0wLjQtMC43Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDUzLjNjMCwwLjUsMC42LDIuMywxLjMsMi43YzEuOCwwLjgsNS43LDAuNyw4LjEsMC41CgkJCWMxLjMtMC4xLDIuNS0wLjcsMy4yLTEuOGMwLjMtMC41LDAuNS0xLDAuNS0xLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTEuNiIgY3k9IjQ2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTMiIGN5PSI0NSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJCTxlbGxpcHNlIGZpbGw9IiNDMEMwQkYiIGN4PSI1MyIgY3k9IjQ3LjIiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTQuMyIgY3k9IjQ2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTAuOSIgY3k9IjQ1IiByeD0iMC4zIiByeT0iMC40Ii8+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik0yNC4yLDUxdi03LjZjMC4xLDAuMSwwLjgsMC45LDIuOCwzLjFjMi41LTEuNyw1LjYtMC43LDYuOSwwbDIuNC0zLjF2Ny4xCgkJCWMwLDEuMi0wLjEsMi41LTAuOSwzLjRjLTEsMS4yLTIuNywyLjUtNS4zLDIuNWMtMi45LDAtNC41LTEuNS01LjMtMi45QzI0LjIsNTIuOSwyNC4yLDUyLDI0LjIsNTF6Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDUwbDUuNCwxLjIiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTIxLjIsNTQuMWw1LjQtMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDUwbC01LjQsMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDU0LjFsLTUuNC0xLjIiLz4KCQk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0MwQzBCRiIgZD0iTTI5LjUsNTIuNEwyOSw1MS43Yy0wLjItMC4zLDAtMC42LDAuMy0wLjZoMS40CgkJCWMwLjMsMCwwLjUsMC40LDAuMywwLjZsLTAuNywxbDAsMGMtMC43LDEuMi0yLjYsMS4xLTMuMS0wLjNsLTAuMS0wLjJjLTAuMS0wLjIsMC0wLjQsMC4yLTAuNXMwLjQsMCwwLjUsMC4ybDAuMSwwLjIKCQkJQzI4LjMsNTIuOCwyOS4xLDUyLjksMjkuNSw1Mi40eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzIuNCw1Mi4xbC0wLjEsMC4yYy0wLjQsMS0xLjgsMS4xLTIuMywwLjIiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iMjcuNiIgY3k9IjQ5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iMzIuNCIgY3k9IjQ5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCTwvZz4KCTxnPgoJCTxwYXRoIGZpbGw9IiM2QUE5REQiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE0LjYsNzEuMmMtMC4xLTAuMS0wLjItMC4yLTAuMy0wLjJINS43CgkJCWMtMC4xLDAtMC4yLDAuMS0wLjMsMC4yYy0wLjEsMC4xLTAuMSwwLjIsMCwwLjRjMC43LDIsMi41LDMuMyw0LjYsMy4zczMuOS0xLjMsNC42LTMuM0MxNC43LDcxLjUsMTQuNyw3MS4zLDE0LjYsNzEuMnogTTEwLDc0LjEKCQkJYy0xLjYsMC0zLTAuOS0zLjctMi4yaDcuM0MxMyw3My4yLDExLjYsNzQuMSwxMCw3NC4xeiIvPgoJCTxwYXRoIGZpbGw9IiM2QUE5REQiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEyLjgsNjkuNWMwLjYsMCwxLjEtMC41LDEuMS0xLjEKCQkJYzAtMC42LTAuNS0xLjItMS4xLTEuMmMtMC42LDAtMS4yLDAuNS0xLjIsMS4yQzExLjYsNjksMTIuMiw2OS41LDEyLjgsNjkuNXogTTEyLjgsNjhjMC4yLDAsMC40LDAuMiwwLjQsMC40CgkJCWMwLDAuMi0wLjIsMC40LTAuNCwwLjRjLTAuMiwwLTAuNC0wLjItMC40LTAuNEMxMi40LDY4LjEsMTIuNiw2OCwxMi44LDY4eiIvPgoJCTxwYXRoIGZpbGw9IiM2QUE5REQiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTcuMiw2OS41YzAuNiwwLDEuMi0wLjUsMS4yLTEuMQoJCQljMC0wLjYtMC41LTEuMi0xLjItMS4yYy0wLjYsMC0xLjEsMC41LTEuMSwxLjJDNi4xLDY5LDYuNiw2OS41LDcuMiw2OS41eiBNNy4yLDY4YzAuMiwwLDAuNCwwLjIsMC40LDAuNGMwLDAuMi0wLjIsMC40LTAuNCwwLjQKCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRDNi44LDY4LjEsNyw2OCw3LjIsNjh6Ii8+CgkJPHBhdGggZmlsbD0iIzZBQTlERCIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTAsNjNjLTMuOCwwLTcsMy4xLTcsN2MwLDMuOCwzLjEsNyw3LDcKCQkJczctMy4xLDctN0MxNyw2Ni4yLDEzLjgsNjMsMTAsNjN6IE0xMCw3Ni4yYy0zLjQsMC02LjItMi44LTYuMi02LjJjMC0zLjQsMi44LTYuMiw2LjItNi4yczYuMiwyLjgsNi4yLDYuMgoJCQlDMTYuMiw3My40LDEzLjQsNzYuMiwxMCw3Ni4yeiIvPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTY0LjEsNzMuNGwyLjMsMGMwLjIsMCwwLjQsMC4yLDAuNCwwLjR2Mi4xYzAsMC4yLTAuMiwwLjQtMC40LDAuNGgtMi4zCgkJCQljLTAuMiwwLTAuNC0wLjItMC40LTAuNHYtMi4xQzYzLjcsNzMuNiw2My44LDczLjQsNjQuMSw3My40eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik03My41LDczLjVoMi40YzAuMiwwLDAuNCwwLjIsMC40LDAuNHYyLjFjMCwwLjItMC4yLDAuNC0wLjQsMC40aC0yLjQKCQkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40bDAtMi4xQzczLjEsNzMuNiw3My4zLDczLjUsNzMuNSw3My41eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik02My43LDY4LjRoMTIuNnY1SDYzLjdWNjguNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNNjUuNSw2My42aDguOWMxLDAsMS45LDAuOCwxLjksMS45djMuMUg2My43di0zLjFDNjMuNyw2NC41LDY0LjUsNjMuNiw2NS41LDYzLjZ6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM2QUE5REQiIGN4PSI2Ni4yIiBjeT0iNzAuOSIgcng9IjAuOSIgcnk9IjAuOSIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNzMuOCIgY3k9IjcwLjkiIHJ4PSIwLjkiIHJ5PSIwLjkiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNOTYuNCw3MGMwLDMuNi0yLjksNi41LTYuNCw2LjVzLTYuNC0yLjktNi40LTYuNXMyLjktNi41LDYuNC02LjVTOTYuNCw2Ni40LDk2LjQsNzB6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTk2LjMsNjguNmMwLDAsMCwwLjEsMCwwLjFjLTAuOSwwLjEtMi45LDAuMS00LjYtMS4yYy0xLjEtMC44LTItMS43LTIuNi0yLjUKCQkJCWMtMC4zLTAuNC0wLjYtMC44LTAuNy0xLjFjLTAuMS0wLjEtMC4xLTAuMi0wLjEtMC4yYzAuNS0wLjEsMS4yLTAuMiwyLTAuMmMxLjIsMCwyLjUsMC4zLDMuNSwxLjFjMSwwLjgsMS43LDEuOCwyLjEsMi44CgkJCQlDOTYuMSw2Ny45LDk2LjIsNjguMyw5Ni4zLDY4LjZ6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTg0LDcyLjJjMCwwLDAtMC4xLDAtMC4xYzAuOS0wLjIsMi45LTAuNCw0LjcsMC42YzEuMSwwLjcsMS45LDEuNSwyLjQsMi4zCgkJCQljMC40LDAuNSwwLjYsMSwwLjcsMS4zYy0wLjQsMC4xLTEsMC4yLTEuNywwLjNjLTEsMC0yLjEtMC4xLTMuMi0wLjhzLTEuOS0xLjYtMi40LTIuNUM4NC4yLDcyLjgsODQuMSw3Mi40LDg0LDcyLjJ6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTE2LjMsNjYuOGwtMS40LDJsLTAuOC0wLjhsLTAuNi0wLjdsMCwwLjlsLTAuMSw4LjJoLTYuOAoJCQkJbC0wLjEtOC4ybDAtMC45bC0wLjYsMC43bC0wLjgsMC44bC0xLjQtMmwyLjYtMi45YzAuMS0wLjEsMC4yLTAuMSwwLjMtMC4xaDEuM2wwLjQsMC43YzAuNywxLjMsMi42LDEuMywzLjMtMC4xbDAuMy0wLjZoMS4yCgkJCQljMC4xLDAsMC4yLDAsMC4zLDAuMWwwLjMtMC4zbC0wLjMsMC4zTDExNi4zLDY2Ljh6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTExMC4xLDY3LjdoMnYwLjljMCwwLjQtMC40LDAuNy0xLDAuN2MtMC42LDAtMS0wLjMtMS0wLjdMMTEwLjEsNjcuN0wxMTAuMSw2Ny43eiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik0xMjYuOCw3NC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJzLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMlMxMjYuOCw3My4xLDEyNi44LDc0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEzNy42LDc0LjNjMCwxLjItMSwyLjItMi4yLDIuMmMtMS4yLDAtMi4yLTEtMi4yLTIuMnMxLTIuMiwyLjItMi4yCgkJCQlDMTM2LjYsNzIuMSwxMzcuNiw3My4xLDEzNy42LDc0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEyNi44LDY0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEzNy43LDY0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEyNi44LDYzLjVoMTAuOHYyLjdoLTEwLjhDMTI2LjgsNjYuMiwxMjYuOCw2My41LDEyNi44LDYzLjV6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik0xNzAuOCw2My4xTDE3MC44LDYzLjFjLTAuMywwLTAuNSwwLTAuOCwwYy0yLjEsMC00LDEtNS4zLDIuNWwtMC4xLDBsLTAuMS0wLjFsLTEtMS4ybC0wLjMsMy40bDMuNCwwLjMKCQkJCWwtMS4xLTEuM2wtMC4xLTAuMWwwLjEtMC4xYzEuMS0xLjQsMy0yLjMsNS0yLjFsMCwwYzMuMiwwLjMsNS41LDMuMSw1LjIsNi4zYy0wLjMsMy0zLjEsNS4zLTYuMSw1LjFjLTMuMS0wLjItNS40LTIuOS01LjMtNgoJCQkJbC0xLjMtMC4xYy0wLjIsMy44LDIuNiw3LjEsNi4zLDcuNGMzLjksMC4zLDcuMy0yLjYsNy42LTYuNUMxNzcuMiw2Ni44LDE3NC40LDYzLjUsMTcwLjgsNjMuMXoiLz4KCQkJPHBhdGggZmlsbD0iIzZBQTlERCIgZD0iTTE3MC4zLDY3LjRjMC0wLjMtMC4zLTAuNi0wLjYtMC42cy0wLjYsMC4zLTAuNiwwLjZ2My4yYzAsMC4yLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMywwLjIsMC40LDAuMgoJCQkJaDIuNGMwLjQsMCwwLjYtMC4zLDAuNi0wLjZTMTcyLjQsNzAsMTcyLDcwaC0xLjZoLTAuMnYtMC4yTDE3MC4zLDY3LjRMMTcwLjMsNjcuNHoiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNMTg2LjIsNjMuNGg3LjdjMS41LDAsMi43LDEuMiwyLjcsMi43djcuN2MwLDEuNS0xLjIsMi43LTIuNywyLjdoLTcuNwoJCQkJYy0xLjUsMC0yLjctMS4yLTIuNy0yLjd2LTcuN0MxODMuNCw2NC43LDE4NC43LDYzLjQsMTg2LjIsNjMuNHoiLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzZBQTlERCIgY3g9IjE4NiIgY3k9IjY4LjkiIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzZBQTlERCIgY3g9IjE5NCIgY3k9IjY2LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xODYsNzMuM2wwLjQtMC4zYzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLDAuNAoJCQkJYzAuNSwwLjIsMSwwLjIsMS41LTAuMWwwLjgtMC41YzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLjgsMC44Ii8+CgkJPC9nPgoJPC9nPgoJPHBhdGggZmlsbD0iIzZBQTlERCIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2Utd2lkdGg9IjAuMjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE1Niw2NC4zYy0wLjItMC4xLTAuNC0wLjEtMC41LDAKCQljMCwwLTAuMiwwLjEtMC45LDAuMmMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0wLjgtMC4zLTEuNy0wLjUtMi41LTAuNWMtMC4yLDAtMC40LDAtMC41LDBjLTEuMywwLTIuNSwwLjMtMy42LDEKCQljLTAuMiwwLjEtMC4yLDAuMi0wLjIsMC40djExLjZjMCwwLjMsMC4xLDAuNSwwLjMsMC41YzAuNiwwLDAuNS0wLjQsMC41LTAuNnYtNS43YzAuNy0wLjMsMy4yLTEuMSw1LjgtMC4xCgkJYzEuNiwwLjYsMy41LDAuNyw0LjMsMC43YzAuOCwwLDEuMy0wLjMsMS4zLTAuM2MwLjItMC4xLDAuMy0wLjIsMC4zLTAuNHYtNS43QzE1Ni4yLDY0LjYsMTU2LjEsNjQuNCwxNTYsNjQuM3ogTTE1NS42LDcwLjIKCQljLTAuMSwwLTAuNywwLjEtMSwwLjFjLTAuNywwLTIuNC0wLjEtMy44LTAuNmMtMi41LTEtNS0wLjUtNi4yLTAuMXYtNC45YzAuOS0wLjUsMi4yLTAuNywzLjItMC43YzAuMSwwLDAuMywwLDAuNCwwCgkJYzAuNywwLDEuNSwwLjIsMi4yLDAuNGMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjIsMCwwLjgsMCwxLTAuMVY3MC4yeiIvPgoJPGc+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNNDguMSw2My41aDMuN2MyLjUsMCw0LjUsMiw0LjUsNC41YzAsMC41LTAuNCwwLjktMC45LDAuOUg0NC41Yy0wLjUsMC0wLjktMC40LTAuOS0wLjkKCQkJQzQzLjYsNjUuNSw0NS42LDYzLjUsNDguMSw2My41eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSw2OC44Yy0wLjIsMC4xLTAuNSwxLjIsMCwxLjVjMS40LDAuOSw4LjUsMC44LDExLjMsMC42CgkJCWMwLjgtMC4xLDEuNi0wLjQsMS43LTEuMmMwLTAuMy0wLjEtMC42LTAuNi0wLjkiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQzLjUsNzAuNkw0My4zLDcxYy0wLjIsMC41LDAuMiwxLDAuNywwLjljMC4zLTAuMSwwLjUsMC4xLDAuNywwLjMKCQkJbDAuMSwwLjJjMC4zLDAuNSwxLDAuNiwxLjUsMC4ybDAsMGMwLjMtMC4yLDAuNy0wLjMsMS0wLjJsMC44LDAuM2MwLjQsMC4yLDAuOCwwLjEsMS4yLDBsMC41LTAuMmMwLjQtMC4yLDAuOS0wLjIsMS4zLDBsMC41LDAuMgoJCQljMC40LDAuMiwwLjgsMC4yLDEuMi0wLjFsMC4yLTAuMWMwLjMtMC4yLDAuOC0wLjIsMS4xLDAuMWwwLjIsMC4yYzAuMywwLjMsMC44LDAuMiwxLTAuMmwwLjEtMC4yYzAuMS0wLjIsMC0wLjMsMC4yLTAuMwoJCQljMC41LDAsMS4yLTAuMywxLjEtMC43bC0wLjQtMS4xIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDcyLjJjLTAuMSwwLjItMC4zLDAuOCwwLDEuMWMwLjMsMC40LDMsMS4xLDYuNCwxLjEKCQkJYzIuMiwwLDQuNi0wLjMsNi0wLjZjMC41LTAuMSwwLjktMC40LDAuOC0wLjljMC0wLjItMC4yLTAuNS0wLjQtMC43Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDczLjNjMCwwLjUsMC42LDIuMywxLjMsMi43YzEuOCwwLjgsNS43LDAuNyw4LjEsMC41CgkJCWMxLjMtMC4xLDIuNS0wLjcsMy4yLTEuOGMwLjMtMC41LDAuNS0xLDAuNS0xLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTEuNiIgY3k9IjY2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTMiIGN5PSI2NSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJCTxlbGxpcHNlIGZpbGw9IiM2QUE5REQiIGN4PSI1MyIgY3k9IjY3LjIiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTQuMyIgY3k9IjY2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTAuOSIgY3k9IjY1IiByeD0iMC4zIiByeT0iMC40Ii8+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik0yNC4yLDcxdi03LjZjMC4xLDAuMSwwLjgsMC45LDIuOCwzLjFjMi41LTEuNyw1LjYtMC43LDYuOSwwbDIuNC0zLjF2Ny4xCgkJCWMwLDEuMi0wLjEsMi41LTAuOSwzLjRjLTEsMS4yLTIuNywyLjUtNS4zLDIuNWMtMi45LDAtNC41LTEuNS01LjMtMi45QzI0LjIsNzIuOSwyNC4yLDcyLDI0LjIsNzF6Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDcwLjFsNS40LDEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjEuMiw3NC4xbDUuNC0xLjIiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTM4LjgsNzAuMWwtNS40LDEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzguOCw3NC4xbC01LjQtMS4yIi8+CgkJPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM2QUE5REQiIGQ9Ik0yOS41LDcyLjRMMjksNzEuN2MtMC4yLTAuMywwLTAuNiwwLjMtMC42aDEuNAoJCQljMC4zLDAsMC41LDAuNCwwLjMsMC42bC0wLjcsMWwwLDBjLTAuNywxLjItMi42LDEuMS0zLjEtMC4zbC0wLjEtMC4yYy0wLjEtMC4yLDAtMC40LDAuMi0wLjVjMC4yLTAuMSwwLjQsMCwwLjUsMC4ybDAuMSwwLjIKCQkJQzI4LjMsNzIuOCwyOS4xLDcyLjksMjkuNSw3Mi40eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzIuNCw3Mi4xbC0wLjEsMC4yYy0wLjQsMS0xLjgsMS4xLTIuMywwLjIiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iMjcuNiIgY3k9IjY5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iMzIuNCIgY3k9IjY5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCTwvZz4KPC9nPgo8Zz4KCTxwYXRoIGZpbGw9IiM4Njg2ODYiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEyLjgsOS41YzAuNiwwLDEuMS0wLjUsMS4xLTEuMgoJCWMwLTAuNi0wLjUtMS4xLTEuMS0xLjFjLTAuNiwwLTEuMiwwLjUtMS4yLDEuMVMxMi4yLDkuNSwxMi44LDkuNXogTTEyLjgsNy45YzAuMiwwLDAuNCwwLjIsMC40LDAuNGMwLDAuMi0wLjIsMC40LTAuNCwwLjQKCQljLTAuMiwwLTAuNC0wLjItMC40LTAuNEMxMi40LDguMSwxMi42LDcuOSwxMi44LDcuOXoiLz4KCTxwYXRoIGZpbGw9IiM4Njg2ODYiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTcuMiw5LjVjMC42LDAsMS4yLTAuNSwxLjItMS4yCgkJYzAtMC42LTAuNS0xLjEtMS4yLTEuMWMtMC42LDAtMS4xLDAuNS0xLjEsMS4xUzYuNiw5LjUsNy4yLDkuNXogTTcuMiw3LjljMC4yLDAsMC40LDAuMiwwLjQsMC40YzAsMC4yLTAuMiwwLjQtMC40LDAuNAoJCUM3LDguNyw2LjgsOC41LDYuOCw4LjNDNi44LDguMSw3LDcuOSw3LjIsNy45eiIvPgoJPHBhdGggZmlsbD0iIzg2ODY4NiIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTQuNiwxMS4yYy0wLjEtMC4xLTAuMi0wLjItMC4zLTAuMkg1LjcKCQljLTAuMSwwLTAuMiwwLjEtMC4zLDAuMmMtMC4xLDAuMS0wLjEsMC4yLDAsMC40YzAuNywyLDIuNSwzLjMsNC42LDMuM3MzLjktMS4zLDQuNi0zLjNDMTQuNywxMS40LDE0LjcsMTEuMywxNC42LDExLjJ6IE0xMCwxNC4xCgkJYy0xLjYsMC0zLTAuOS0zLjctMi4yaDcuM0MxMywxMy4yLDExLjYsMTQuMSwxMCwxNC4xeiIvPgoJPHBhdGggZmlsbD0iIzg2ODY4NiIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTAsM2MtMy44LDAtNywzLjEtNyw3czMuMSw3LDcsN3M3LTMuMSw3LTcKCQlTMTMuOCwzLDEwLDN6IE0xMCwxNi4yYy0zLjQsMC02LjItMi44LTYuMi02LjJTNi42LDMuOCwxMCwzLjhzNi4yLDIuOCw2LjIsNi4yUzEzLjQsMTYuMiwxMCwxNi4yeiIvPgo8L2c+CjxnIGlkPSJDYXJfMDAwMDAwMTg5MzUzOTUwODU0MTM0MTM3NTAwMDAwMDA4MjUyNzM4Nzc4NDI3NzU3MTVfIj4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik02NC4xLDEzLjRsMi4zLDBjMC4yLDAsMC40LDAuMiwwLjQsMC40djIuMWMwLDAuMi0wLjIsMC40LTAuNCwwLjRoLTIuMwoJCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjR2LTIuMUM2My43LDEzLjYsNjMuOCwxMy40LDY0LjEsMTMuNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNNzMuNSwxMy40aDIuNGMwLjIsMCwwLjQsMC4yLDAuNCwwLjR2Mi4xYzAsMC4yLTAuMiwwLjQtMC40LDAuNGgtMi40CgkJCQljLTAuMiwwLTAuNC0wLjItMC40LTAuNGwwLTIuMUM3My4xLDEzLjYsNzMuMywxMy40LDczLjUsMTMuNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNNjMuNyw4LjRoMTIuNnY1SDYzLjdWOC40eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik02NS41LDMuNmg4LjljMSwwLDEuOSwwLjgsMS45LDEuOXYzLjFINjMuN1Y1LjVDNjMuNyw0LjQsNjQuNSwzLjYsNjUuNSwzLjZ6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSI2Ni4yIiBjeT0iMTAuOSIgcng9IjAuOSIgcnk9IjAuOSIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iNzMuOCIgY3k9IjEwLjkiIHJ4PSIwLjkiIHJ5PSIwLjkiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPGcgaWQ9IkFjdGl2aXRpZXMiPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTk2LjQsMTBjMCwzLjYtMi45LDYuNS02LjQsNi41cy02LjQtMi45LTYuNC02LjVzMi45LTYuNSw2LjQtNi41Uzk2LjQsNi40LDk2LjQsMTB6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTk2LjMsOC42YzAsMCwwLDAuMSwwLDAuMWMtMC45LDAuMS0yLjksMC4xLTQuNi0xLjJjLTEuMS0wLjgtMi0xLjctMi42LTIuNQoJCQkJYy0wLjMtMC40LTAuNi0wLjgtMC43LTEuMWMtMC4xLTAuMS0wLjEtMC4yLTAuMS0wLjJjMC41LTAuMSwxLjItMC4yLDItMC4yYzEuMiwwLDIuNSwwLjMsMy41LDEuMWMxLDAuOCwxLjcsMS44LDIuMSwyLjgKCQkJCUM5Ni4xLDcuOSw5Ni4yLDguMyw5Ni4zLDguNnoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNODQsMTIuMWMwLDAsMC0wLjEsMC0wLjFjMC45LTAuMiwyLjktMC40LDQuNywwLjZjMS4xLDAuNiwxLjksMS41LDIuNCwyLjMKCQkJCWMwLjQsMC41LDAuNiwxLDAuNywxLjNjLTAuNCwwLjEtMSwwLjItMS43LDAuM2MtMSwwLTIuMS0wLjEtMy4yLTAuOGMtMS4xLTAuNi0xLjktMS42LTIuNC0yLjVDODQuMiwxMi44LDg0LjEsMTIuNCw4NCwxMi4xeiIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8ZyBpZD0iT2JqZWN0c18wMDAwMDA2NDMxMjM3MTczOTEzMDMxNTI1MDAwMDAxMDIyNTg4OTAzMjIyODYzMjk3NV8iPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTE2LjMsNi44bC0xLjQsMkwxMTQuMSw4bC0wLjYtMC43bDAsMC45bC0wLjEsOC4yaC02LjhsLTAuMS04LjIKCQkJCWwwLTAuOUwxMDUuOSw4bC0wLjgsMC44bC0xLjQtMmwyLjYtMi45YzAuMS0wLjEsMC4yLTAuMSwwLjMtMC4xaDEuM2wwLjQsMC43YzAuNywxLjMsMi42LDEuMywzLjMtMC4xbDAuMy0wLjZoMS4yCgkJCQljMC4xLDAsMC4yLDAsMC4zLDAuMWwwLjMtMC4zbC0wLjMsMC4zTDExNi4zLDYuOHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNMTEwLjEsNy43aDJ2MC45YzAsMC40LTAuNCwwLjctMSwwLjdjLTAuNiwwLTEtMC4zLTEtMC43TDExMC4xLDcuN0wxMTAuMSw3Ljd6Ii8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnIGlkPSJTeW1ib2xzXzAwMDAwMDk2NzQ2OTA3ODY5OTI5OTIxMTgwMDAwMDA2NDg0ODEyODMwMjgyNTgyNDE2XyI+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNMTI2LjgsMTQuM2MwLDEuMi0xLDIuMi0yLjIsMi4ycy0yLjItMS0yLjItMi4yczEtMi4yLDIuMi0yLjJTMTI2LjgsMTMuMSwxMjYuOCwxNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik0xMzcuNiwxNC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJjLTEuMiwwLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMgoJCQkJQzEzNi42LDEyLjEsMTM3LjYsMTMuMSwxMzcuNiwxNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik0xMjYuOCw0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTEzNy43LDQuNHY5LjkiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNMTI2LjgsMy41aDEwLjh2Mi43aC0xMC44QzEyNi44LDYuMiwxMjYuOCwzLjUsMTI2LjgsMy41eiIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8ZyBpZD0iUmVjZW50cyI+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0iIzg2ODY4NiIgZD0iTTE3MC44LDMuMUwxNzAuOCwzLjFjLTAuMywwLTAuNSwwLTAuOCwwYy0yLjEsMC00LDEtNS4zLDIuNWwtMC4xLDBsLTAuMS0wLjFsLTEtMS4ybC0wLjMsMy40bDMuNCwwLjMKCQkJCWwtMS4xLTEuM2wtMC4xLTAuMWwwLjEtMC4xYzEuMS0xLjQsMy0yLjMsNS0yLjFsMCwwYzMuMiwwLjMsNS41LDMuMSw1LjIsNi4zYy0wLjMsMy0zLjEsNS4zLTYuMSw1LjFjLTMuMS0wLjItNS40LTIuOS01LjMtNgoJCQkJTDE2Myw5LjVjLTAuMiwzLjgsMi42LDcuMSw2LjMsNy40YzMuOSwwLjQsNy4zLTIuNiw3LjYtNi41QzE3Ny4yLDYuOCwxNzQuNCwzLjUsMTcwLjgsMy4xeiIvPgoJCQk8cGF0aCBmaWxsPSIjODY4Njg2IiBkPSJNMTcwLjMsNy40YzAtMC4zLTAuMy0wLjYtMC42LTAuNlMxNjksNy4xLDE2OSw3LjR2My4yYzAsMC4yLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMywwLjIsMC40LDAuMgoJCQkJaDIuNGMwLjQsMCwwLjYtMC4zLDAuNi0wLjZzLTAuMy0wLjYtMC42LTAuNmgtMS42aC0wLjJWOS44TDE3MC4zLDcuNEwxNzAuMyw3LjR6Ii8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnIGlkPSJDdXN0b21fMDAwMDAxODEwODcyMjk0MzQzMDIzMzY3ODAwMDAwMDUxNTIyNzc5NDU5NDA2NzQ0ODhfIj4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik0xODYuMiwzLjRoNy43YzEuNSwwLDIuNywxLjIsMi43LDIuN3Y3LjdjMCwxLjUtMS4yLDIuNy0yLjcsMi43aC03LjcKCQkJCWMtMS41LDAtMi43LTEuMi0yLjctMi43VjYuMUMxODMuNCw0LjYsMTg0LjcsMy40LDE4Ni4yLDMuNHoiLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzg2ODY4NiIgY3g9IjE4NiIgY3k9IjguOSIgcng9IjAuNyIgcnk9IjAuNyIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iMTk0IiBjeT0iNi43IiByeD0iMC43IiByeT0iMC43Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTg2LDEzLjNsMC40LTAuM2MwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMSwwLjQKCQkJCWMwLjUsMC4yLDEsMC4yLDEuNS0wLjFsMC44LTAuNWMwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMS44LDAuOCIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8cGF0aCBmaWxsPSIjODY4Njg2IiBzdHJva2U9IiM4Njg2ODYiIHN0cm9rZS13aWR0aD0iMC4yNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTU2LDQuM2MtMC4yLTAuMS0wLjQtMC4xLTAuNSwwCgljMCwwLTAuMiwwLjEtMC45LDAuMWMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0wLjgtMC4zLTEuNy0wLjUtMi41LTAuNWMtMC4yLDAtMC40LDAtMC41LDBjLTEuMywwLTIuNSwwLjMtMy42LDEKCWMtMC4yLDAuMS0wLjIsMC4yLTAuMiwwLjR2MTEuNmMwLDAuMywwLjEsMC41LDAuMywwLjVjMC42LDAsMC41LTAuNCwwLjUtMC42di01LjdjMC43LTAuMywzLjItMS4xLDUuOC0wLjFjMS42LDAuNiwzLjUsMC43LDQuMywwLjcKCWMwLjgsMCwxLjMtMC4zLDEuMy0wLjNjMC4yLTAuMSwwLjMtMC4yLDAuMy0wLjRWNC43QzE1Ni4yLDQuNSwxNTYuMSw0LjQsMTU2LDQuM3ogTTE1NS42LDEwLjJjLTAuMSwwLTAuNywwLjEtMSwwLjEKCWMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0yLjUtMS01LTAuNS02LjItMC4xVjQuN2MwLjktMC41LDIuMi0wLjcsMy4yLTAuN2MwLjEsMCwwLjMsMCwwLjQsMGMwLjcsMCwxLjUsMC4yLDIuMiwwLjQKCWMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjIsMCwwLjgsMCwxLTAuMVYxMC4yeiIvPgo8ZyBpZD0iRm9vZCI+Cgk8ZyBpZD0iTGF5ZXJfMTIiPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik00OC4xLDMuNWgzLjdjMi41LDAsNC41LDIsNC41LDQuNWMwLDAuNS0wLjQsMC45LTAuOSwwLjlINDQuNWMtMC41LDAtMC45LTAuNC0wLjktMC45CgkJCQlDNDMuNiw1LjUsNDUuNiwzLjUsNDguMSwzLjV6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSw4LjdjLTAuMiwwLjEtMC41LDEuMiwwLDEuNWMxLjQsMC45LDguNSwwLjgsMTEuMywwLjYKCQkJCWMwLjgtMC4xLDEuNi0wLjQsMS43LTEuMmMwLTAuMy0wLjEtMC42LTAuNi0wLjkiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDEwLjZMNDMuMywxMWMtMC4yLDAuNSwwLjIsMSwwLjcsMC45CgkJCQljMC4zLTAuMSwwLjUsMC4xLDAuNywwLjNsMC4xLDAuMmMwLjMsMC41LDEsMC42LDEuNSwwLjJsMCwwYzAuMy0wLjIsMC43LTAuMywxLTAuMmwwLjgsMC4zYzAuNCwwLjEsMC44LDAuMSwxLjIsMGwwLjUtMC4yCgkJCQljMC40LTAuMiwwLjktMC4yLDEuMywwbDAuNSwwLjJjMC40LDAuMiwwLjgsMC4xLDEuMi0wLjFsMC4yLTAuMWMwLjMtMC4yLDAuOC0wLjEsMS4xLDAuMWwwLjIsMC4yYzAuMywwLjMsMC44LDAuMiwxLTAuMmwwLjEtMC4yCgkJCQljMC4xLTAuMiwwLTAuMywwLjItMC40YzAuNSwwLDEuMi0wLjMsMS4xLTAuN2wtMC40LTEuMSIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQzLjUsMTIuMWMtMC4xLDAuMi0wLjMsMC44LDAsMS4xYzAuMywwLjQsMywxLjEsNi40LDEuMQoJCQkJYzIuMiwwLDQuNi0wLjMsNi0wLjZjMC41LTAuMSwwLjktMC40LDAuOC0wLjljMC0wLjItMC4yLTAuNS0wLjQtMC43Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwxMy4zYzAsMC41LDAuNiwyLjQsMS4zLDIuNmMxLjgsMC44LDUuNywwLjcsOC4xLDAuNQoJCQkJYzEuMy0wLjEsMi41LTAuNywzLjItMS44YzAuMy0wLjUsMC41LTEsMC41LTEuNCIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iNTEuNiIgY3k9IjYuNSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iNTMiIGN5PSI0LjkiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzg2ODY4NiIgY3g9IjUzIiBjeT0iNy4yIiByeD0iMC4zIiByeT0iMC40Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSI1NC4zIiBjeT0iNi41IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSI1MC45IiBjeT0iNC45IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnIGlkPSJBbmltYWxzIj4KCTxnPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTI0LjIsMTFWMy41YzAuMSwwLjEsMC44LDAuOSwyLjgsMy4xYzIuNS0xLjcsNS42LTAuNyw2LjksMGwyLjQtMy4xdjcuMQoJCQljMCwxLjItMC4xLDIuNS0wLjksMy40Yy0xLDEuMi0yLjcsMi41LTUuMywyLjVjLTIuOSwwLTQuNS0xLjUtNS4zLTIuOUMyNC4yLDEyLjksMjQuMiwxMS45LDI0LjIsMTF6Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDEwbDUuNCwxLjIiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTIxLjIsMTQuMWw1LjQtMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDEwbC01LjQsMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDE0LjFsLTUuNC0xLjIiLz4KCQk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzg2ODY4NiIgZD0iTTI5LjUsMTIuNEwyOSwxMS43Yy0wLjItMC4zLDAtMC42LDAuMy0wLjZoMS40CgkJCWMwLjMsMCwwLjUsMC40LDAuMywwLjZsLTAuNywxbDAsMGMtMC43LDEuMi0yLjYsMS4xLTMuMS0wLjNsLTAuMS0wLjJjLTAuMS0wLjIsMC0wLjQsMC4yLTAuNXMwLjQsMCwwLjUsMC4ybDAuMSwwLjIKCQkJQzI4LjMsMTIuNywyOS4xLDEyLjksMjkuNSwxMi40eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzIuNCwxMi4xbC0wLjEsMC4yYy0wLjQsMS0xLjgsMS4xLTIuMywwLjIiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iMjcuNiIgY3k9IjkuNyIgcng9IjAuNyIgcnk9IjAuNyIvPgoJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSIzMi40IiBjeT0iOS43IiByeD0iMC43IiByeT0iMC43Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+";function UNe(t){var e,n=t.isActiveCategory,r=t.category,o=t.allowNavigation,s=t.categoryConfig,a=t.onClick;return h.createElement($2,{tabIndex:o?0:-1,className:sr(VNe.catBtn,Fg.categoryBtn,"epr-icn-"+r,(e={},e[Qn.active]=n,e)),onClick:a,"aria-label":Ste(s),"aria-selected":n,role:"tab","aria-controls":"epr-category-nav-id"})}var hU={backgroundPositionY:"calc(var(--epr-category-navigation-button-size) * 3)"},$Ne={backgroundPositionY:"calc(var(--epr-category-navigation-button-size) * 2)"},mU={":not(.epr-search-active)":{catBtn:{":hover":hU,"&.epr-active":hU}}},VNe=mo.create(So({catBtn:{".":"epr-cat-btn",display:"inline-block",transition:"opacity 0.2s ease-in-out",position:"relative",height:"var(--epr-category-navigation-button-size)",width:"var(--epr-category-navigation-button-size)",backgroundSize:"calc(var(--epr-category-navigation-button-size) * 10)",outline:"none",backgroundPosition:"0 0",backgroundImage:"url("+BNe+")",":focus:before":{content:"",position:"absolute",top:"-2px",left:"-2px",right:"-2px",bottom:"-2px",border:"2px solid var(--epr-category-icon-active-color)",borderRadius:"50%"},"&.epr-icn-suggested":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -8)"},"&.epr-icn-custom":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -9)"},"&.epr-icn-activities":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -4)"},"&.epr-icn-animals_nature":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -1)"},"&.epr-icn-flags":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -7)"},"&.epr-icn-food_drink":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -2)"},"&.epr-icn-objects":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -5)"},"&.epr-icn-smileys_people":{backgroundPositionX:"0px"},"&.epr-icn-symbols":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -6)"},"&.epr-icn-travel_places":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -3)"}}},rh("catBtn",$Ne),{".epr-dark-theme":So({},mU),".epr-auto-theme":So({},mU)}));function HNe(){var t=h.useState(null),e=t[0],n=t[1],r=zNe();ONe(n);var o=AC(),s=Lte(),a=TT(),i=FNe();return h.createElement("div",{className:sr(WNe.nav),role:"tablist","aria-label":"Category navigation",id:"epr-category-nav-id",ref:a},s.map(function(l){var u=NT(l),d=u===e;if(nNe(l)&&i)return null;var f=!o&&!d;return h.createElement(UNe,{key:u,category:u,isActiveCategory:d,allowNavigation:f,categoryConfig:l,onClick:function(){n(u),r(u)}})}))}var WNe=mo.create({nav:{".":"epr-category-nav",display:"flex",flexDirection:"row",justifyContent:"space-around",padding:"var(--epr-header-padding)"},".epr-search-active":{nav:{opacity:"0.3",cursor:"default",pointerEvents:"none"}},".epr-main:has(input:not(:placeholder-shown))":{nav:{opacity:"0.3",cursor:"default",pointerEvents:"none"}}}),Sne="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjgwcHgiIHZpZXdCb3g9IjAgMCAyMCA4MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgODAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjODY4Njg2IiBkPSJNNi45OCwxMy41OWMwLjEsMC4xLDAuMjQsMC4xNSwwLjM3LDAuMTVzMC4yNy0wLjA1LDAuMzctMC4xNWwyLjQyLTIuNDJsMi40MywyLjQzCgljMC4xLDAuMSwwLjI0LDAuMTUsMC4zNywwLjE1YzAuMTQsMCwwLjI3LTAuMDUsMC4zNy0wLjE1YzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1bC0yLjQzLTIuNDNMMTMuMzIsOAoJYzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1Yy0wLjIxLTAuMjEtMC41NC0wLjIxLTAuNzUsMGwtMi40MiwyLjQyTDcuNzQsNy4yN2MtMC4yMS0wLjIxLTAuNTQtMC4yMS0wLjc1LDAKCWMtMC4yMSwwLjIxLTAuMjEsMC41NCwwLDAuNzVsMi40MSwyLjQxbC0yLjQyLDIuNDJDNi43NywxMy4wNSw2Ljc3LDEzLjM5LDYuOTgsMTMuNTlMNi45OCwxMy41OXoiLz4KPHBhdGggZmlsbD0iIzg2ODY4NiIgZD0iTTEwLjE1LDE4LjQzYzQuNDEsMCw4LTMuNTksOC04YzAtNC40MS0zLjU5LTgtOC04Yy00LjQxLDAtOCwzLjU5LTgsOEMyLjE1LDE0Ljg0LDUuNzQsMTguNDMsMTAuMTUsMTguNDN6CgkgTTEwLjE1LDMuNDljMy44MywwLDYuOTQsMy4xMSw2Ljk0LDYuOTRjMCwzLjgzLTMuMTEsNi45NC02Ljk0LDYuOTRjLTMuODMsMC02Ljk0LTMuMTEtNi45NC02Ljk0QzMuMjEsNi42LDYuMzMsMy40OSwxMC4xNSwzLjQ5CglMMTAuMTUsMy40OXoiLz4KPHBhdGggZmlsbD0iIzMzNzFCNyIgZD0iTTYuOTgsMzMuNTljMC4xLDAuMSwwLjI0LDAuMTUsMC4zNywwLjE1czAuMjctMC4wNSwwLjM3LTAuMTVsMi40Mi0yLjQybDIuNDMsMi40MwoJYzAuMSwwLjEsMC4yNCwwLjE1LDAuMzcsMC4xNWMwLjE0LDAsMC4yNy0wLjA1LDAuMzctMC4xNWMwLjIxLTAuMjEsMC4yMS0wLjU0LDAtMC43NWwtMi40My0yLjQzTDEzLjMyLDI4CgljMC4yMS0wLjIxLDAuMjEtMC41NCwwLTAuNzVjLTAuMjEtMC4yMS0wLjU0LTAuMjEtMC43NSwwbC0yLjQyLDIuNDJsLTIuNDEtMi40MWMtMC4yMS0wLjIxLTAuNTQtMC4yMS0wLjc1LDAKCWMtMC4yMSwwLjIxLTAuMjEsMC41NCwwLDAuNzVsMi40MSwyLjQxbC0yLjQyLDIuNDJDNi43NywzMy4wNSw2Ljc3LDMzLjM5LDYuOTgsMzMuNTlMNi45OCwzMy41OXoiLz4KPHBhdGggZmlsbD0iIzMzNzFCNyIgZD0iTTEwLjE1LDM4LjQzYzQuNDEsMCw4LTMuNTksOC04YzAtNC40MS0zLjU5LTgtOC04Yy00LjQxLDAtOCwzLjU5LTgsOEMyLjE1LDM0Ljg0LDUuNzQsMzguNDMsMTAuMTUsMzguNDN6CgkgTTEwLjE1LDIzLjQ5YzMuODMsMCw2Ljk0LDMuMTEsNi45NCw2Ljk0YzAsMy44My0zLjExLDYuOTQtNi45NCw2Ljk0Yy0zLjgzLDAtNi45NC0zLjExLTYuOTQtNi45NAoJQzMuMjEsMjYuNiw2LjMzLDIzLjQ5LDEwLjE1LDIzLjQ5TDEwLjE1LDIzLjQ5eiIvPgo8cGF0aCBmaWxsPSIjQzBDMEJGIiBkPSJNNi45OCw1My41OWMwLjEsMC4xLDAuMjQsMC4xNSwwLjM3LDAuMTVzMC4yNy0wLjA1LDAuMzctMC4xNWwyLjQyLTIuNDJsMi40MywyLjQzCgljMC4xLDAuMSwwLjI0LDAuMTUsMC4zNywwLjE1YzAuMTQsMCwwLjI3LTAuMDUsMC4zNy0wLjE1YzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1bC0yLjQzLTIuNDNMMTMuMzIsNDgKCWMwLjIxLTAuMjEsMC4yMS0wLjU0LDAtMC43NWMtMC4yMS0wLjIxLTAuNTQtMC4yMS0wLjc1LDBsLTIuNDIsMi40MmwtMi40MS0yLjQxYy0wLjIxLTAuMjEtMC41NC0wLjIxLTAuNzUsMAoJYy0wLjIxLDAuMjEtMC4yMSwwLjU0LDAsMC43NWwyLjQxLDIuNDFsLTIuNDIsMi40MkM2Ljc3LDUzLjA1LDYuNzcsNTMuMzksNi45OCw1My41OUw2Ljk4LDUzLjU5eiIvPgo8cGF0aCBmaWxsPSIjQzBDMEJGIiBkPSJNMTAuMTUsNTguNDNjNC40MSwwLDgtMy41OSw4LThjMC00LjQxLTMuNTktOC04LThjLTQuNDEsMC04LDMuNTktOCw4QzIuMTUsNTQuODQsNS43NCw1OC40MywxMC4xNSw1OC40M3oKCSBNMTAuMTUsNDMuNDljMy44MywwLDYuOTQsMy4xMSw2Ljk0LDYuOTRjMCwzLjgzLTMuMTEsNi45NC02Ljk0LDYuOTRjLTMuODMsMC02Ljk0LTMuMTEtNi45NC02Ljk0CglDMy4yMSw0Ni42LDYuMzMsNDMuNDksMTAuMTUsNDMuNDlMMTAuMTUsNDMuNDl6Ii8+CjxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik02Ljk4LDczLjU5YzAuMSwwLjEsMC4yNCwwLjE1LDAuMzcsMC4xNXMwLjI3LTAuMDUsMC4zNy0wLjE1bDIuNDItMi40MmwyLjQzLDIuNDMKCWMwLjEsMC4xLDAuMjQsMC4xNSwwLjM3LDAuMTVjMC4xNCwwLDAuMjctMC4wNSwwLjM3LTAuMTVjMC4yMS0wLjIxLDAuMjEtMC41NCwwLTAuNzVsLTIuNDMtMi40M0wxMy4zMiw2OAoJYzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1Yy0wLjIxLTAuMjEtMC41NC0wLjIxLTAuNzUsMGwtMi40MiwyLjQybC0yLjQxLTIuNDFjLTAuMjEtMC4yMS0wLjU0LTAuMjEtMC43NSwwCgljLTAuMjEsMC4yMS0wLjIxLDAuNTQsMCwwLjc1bDIuNDEsMi40MWwtMi40MiwyLjQyQzYuNzcsNzMuMDUsNi43Nyw3My4zOSw2Ljk4LDczLjU5TDYuOTgsNzMuNTl6Ii8+CjxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik0xMC4xNSw3OC40M2M0LjQxLDAsOC0zLjU5LDgtOGMwLTQuNDEtMy41OS04LTgtOGMtNC40MSwwLTgsMy41OS04LDhDMi4xNSw3NC44NCw1Ljc0LDc4LjQzLDEwLjE1LDc4LjQzegoJIE0xMC4xNSw2My40OWMzLjgzLDAsNi45NCwzLjExLDYuOTQsNi45NGMwLDMuODMtMy4xMSw2Ljk0LTYuOTQsNi45NGMtMy44MywwLTYuOTQtMy4xMS02Ljk0LTYuOTQKCUMzLjIxLDY2LjYsNi4zMyw2My40OSwxMC4xNSw2My40OUwxMC4xNSw2My40OXoiLz4KPC9zdmc+";function YNe(){var t=Jte();return h.createElement($2,{className:sr(gU.btnClearSearch,Fg.visibleOnSearchOnly),onClick:t,"aria-label":"Clear",title:"Clear"},h.createElement("div",{className:sr(gU.icnClearnSearch)}))}var GNe={":hover":{"> .epr-icn-clear-search":{backgroundPositionY:"-60px"}}},gU=mo.create(So({btnClearSearch:{".":"epr-btn-clear-search",position:"absolute",right:"var(--epr-search-bar-inner-padding)",height:"30px",width:"30px",display:"flex",alignItems:"center",justifyContent:"center",top:"50%",transform:"translateY(-50%)",padding:"0",borderRadius:"50%",":hover":{background:"var(--epr-hover-bg-color)"},":focus":{background:"var(--epr-hover-bg-color)"}},icnClearnSearch:{".":"epr-icn-clear-search",backgroundColor:"transparent",backgroundRepeat:"no-repeat",backgroundSize:"20px",height:"20px",width:"20px",backgroundImage:"url("+Sne+")",":hover":{backgroundPositionY:"-20px"},":focus":{backgroundPositionY:"-20px"}}},rh("icnClearnSearch",{backgroundPositionY:"-40px"}),rh("btnClearSearch",GNe))),GI=Ta(Qn.emojiPicker)+" "+Ta(Qn.emojiList),Ene=["button",Ta(Qn.emoji)].join(""),qNe=Ta(Qn.category);function KNe(t){var e=t.value;if(!e)return null;var n=ZNe(e);return h.createElement("style",null,`
27 `+GI+" "+Ene+` {
28 display: none;
29 }
30
31
32 `+GI+" "+n+` {
33 display: flex;
34 }
35
36 `+GI+" "+qNe+":not(:has("+n+`)) {
37 display: none;
38 }
39 `)}function ZNe(t){return[Ene,'[data-full-name*="',B_(t),'"]'].join("")}var QNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjQwcHgiIHZpZXdCb3g9IjAgMCAyMCA0MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgNDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzg2ODY4NiIgZD0iTTEyLDguODFjMCwyLjA4LTEuNjgsMy43Ni0zLjc2LDMuNzZjLTIuMDgsMC0zLjc2LTEuNjgtMy43Ni0zLjc2CgljMC0yLjA4LDEuNjgtMy43NiwzLjc2LTMuNzZDMTAuMzIsNS4wNSwxMiw2LjczLDEyLDguODF6IE0xMS4yMywxMi43MmMtMC44MywwLjY0LTEuODcsMS4wMS0yLjk5LDEuMDFjLTIuNzIsMC00LjkyLTIuMi00LjkyLTQuOTIKCWMwLTIuNzIsMi4yLTQuOTIsNC45Mi00LjkyYzIuNzIsMCw0LjkyLDIuMiw0LjkyLDQuOTJjMCwxLjEzLTAuMzgsMi4xNi0xLjAxLDIuOTlsMy45NCwzLjkzYzAuMjUsMC4yNSwwLjI1LDAuNjYsMCwwLjkyCgljLTAuMjUsMC4yNS0wLjY2LDAuMjUtMC45MiwwTDExLjIzLDEyLjcyeiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0MwQzBCRiIgZD0iTTEyLDI4LjgxYzAsMi4wOC0xLjY4LDMuNzYtMy43NiwzLjc2Yy0yLjA4LDAtMy43Ni0xLjY4LTMuNzYtMy43NgoJYzAtMi4wOCwxLjY4LTMuNzYsMy43Ni0zLjc2QzEwLjMyLDI1LjA1LDEyLDI2LjczLDEyLDI4LjgxeiBNMTEuMjMsMzIuNzJjLTAuODMsMC42NC0xLjg3LDEuMDEtMi45OSwxLjAxCgljLTIuNzIsMC00LjkyLTIuMi00LjkyLTQuOTJjMC0yLjcyLDIuMi00LjkyLDQuOTItNC45MmMyLjcyLDAsNC45MiwyLjIsNC45Miw0LjkyYzAsMS4xMy0wLjM4LDIuMTYtMS4wMSwyLjk5bDMuOTQsMy45MwoJYzAuMjUsMC4yNSwwLjI1LDAuNjYsMCwwLjkyYy0wLjI1LDAuMjUtMC42NiwwLjI1LTAuOTIsMEwxMS4yMywzMi43MnoiLz4KPC9zdmc+";function JNe(){return h.createElement("div",{className:sr(XNe.icnSearch)})}var XNe=mo.create(So({icnSearch:{".":"epr-icn-search",content:"",position:"absolute",top:"50%",left:"var(--epr-search-bar-inner-padding)",transform:"translateY(-50%)",width:"20px",height:"20px",backgroundRepeat:"no-repeat",backgroundPosition:"0 0",backgroundSize:"20px",backgroundImage:"url("+QNe+")"}},rh("icnSearch",{backgroundPositionY:"-20px"})));function eIe(){var t=Ote(),e=LT();return t?null:h.createElement(jne,{className:sr(A3.overlay)},h.createElement(tIe,null),e?h.createElement(Cne,null):null)}function tIe(){var t=h.useState(0),e=t[0],n=t[1],r=$g(),o=xh(),s=TSe(),a=LSe(),i=xEe(),l=i.statusSearchResults,u=i.searchTerm,d=i.onChange,f=o==null?void 0:o.current,m=f==null?void 0:f.value;return h.createElement(PC,{className:sr(A3.searchContainer)},h.createElement(KNe,{value:m}),h.createElement("input",{autoFocus:a,"aria-label":"Type to search for an emoji",onFocus:r,className:sr(A3.search),type:"text","aria-controls":"epr-search-id",placeholder:s,onChange:function(w){n(e+1),setTimeout(function(){var b,j;d((b=w==null||(j=w.target)==null?void 0:j.value)!=null?b:m)})},ref:o}),u?h.createElement("div",{role:"status",className:sr("epr-status-search-results",A3.visuallyHidden),"aria-live":"polite",id:"epr-search-id","aria-atomic":"true"},l):null,h.createElement(JNe,null),h.createElement(YNe,null))}var A3=mo.create(So({overlay:{padding:"var(--epr-header-padding)",zIndex:"var(--epr-header-overlay-z-index)"},searchContainer:{".":"epr-search-container",flex:"1",display:"block",minWidth:"0"},visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",overflow:"hidden",position:"absolute",whiteSpace:"nowrap",width:"1px"},search:{outline:"none",transition:"all 0.2s ease-in-out",color:"var(--epr-search-input-text-color)",borderRadius:"var(--epr-search-input-border-radius)",padding:"var(--epr-search-input-padding)",height:"var(--epr-search-input-height)",backgroundColor:"var(--epr-search-input-bg-color)",border:"1px solid var(--epr-search-input-bg-color)",width:"100%",":focus":{backgroundColor:"var(--epr-search-input-bg-color-active)",border:"1px solid var(--epr-search-border-color)"},"::placeholder":{color:"var(--epr-search-input-placeholder-color)"}},btnClearSearch:{".":"epr-btn-clear-search",position:"absolute",right:"var(--epr-search-bar-inner-padding)",height:"30px",width:"30px",display:"flex",alignItems:"center",justifyContent:"center",top:"50%",transform:"translateY(-50%)",padding:"0",borderRadius:"50%",":hover":{background:"var(--epr-hover-bg-color)"},":focus":{background:"var(--epr-hover-bg-color)"}},icnClearnSearch:{".":"epr-icn-clear-search",backgroundColor:"transparent",backgroundRepeat:"no-repeat",backgroundSize:"20px",height:"20px",width:"20px",backgroundImage:"url("+Sne+")",":hover":{backgroundPositionY:"-20px"},":focus":{backgroundPositionY:"-20px"}}},rh("icnClearnSearch",{backgroundPositionY:"-40px"}),rh("btnClearSearch",{":hover > .epr-icn-clear-search":{backgroundPositionY:"-60px"}})));function nIe(){return h.createElement(PC,{className:sr("epr-header",Fg.hiddenOnReactions)},h.createElement(eIe,null),h.createElement(HNe,null))}function rIe(t){return h.createElement(rEe,null,h.createElement(QCe,null),h.createElement(_Se,Object.assign({},t),h.createElement(oIe,null)))}function oIe(){var t=NC(),e=t[0],n=Tte(),r=h.useState(!e),o=r[0],s=r[1],a=OSe();return h.useEffect(function(){e&&!n||o||s(!0)},[o,n,e]),a?h.createElement(BEe,null,h.createElement(pNe,null),h.createElement(sIe,{renderAll:o})):null}function sIe(t){var e=t.renderAll;return e?h.createElement(h.Fragment,null,h.createElement(nIe,null),h.createElement(SNe,null),h.createElement(DNe,null)):null}var aIe=h.memo(rIe,kte),iIe=(function(t){qCe(e,t);function e(r){var o;return o=t.call(this,r)||this,o.state={hasError:!1},o}e.getDerivedStateFromError=function(){return{hasError:!0}};var n=e.prototype;return n.componentDidCatch=function(o,s){console.error("Emoji Picker React failed to render:",o,s)},n.render=function(){return this.state.hasError?null:this.props.children},e})(h.Component);function lIe(t){var e=RSe({onEmojiClick:t.onEmojiClick,onReactionClick:t.onReactionClick,onSkinToneChange:t.onSkinToneChange});return h.createElement(iIe,null,h.createElement(Mte.Provider,{value:e},h.createElement(aIe,Object.assign({},t))))}var Nne=(t=>(t.RECENT="recent",t.FREQUENT="frequent",t))(Nne||{}),xp=(t=>(t.NEUTRAL="neutral",t.LIGHT="1f3fb",t.MEDIUM_LIGHT="1f3fc",t.MEDIUM="1f3fd",t.MEDIUM_DARK="1f3fe",t.DARK="1f3ff",t))(xp||{}),kr=(t=>(t.SUGGESTED="suggested",t.CUSTOM="custom",t.SMILEYS_PEOPLE="smileys_people",t.ANIMALS_NATURE="animals_nature",t.FOOD_DRINK="food_drink",t.TRAVEL_PLACES="travel_places",t.ACTIVITIES="activities",t.OBJECTS="objects",t.SYMBOLS="symbols",t.FLAGS="flags",t))(kr||{});kr.SUGGESTED,kr.CUSTOM,kr.SMILEYS_PEOPLE,kr.ANIMALS_NATURE,kr.FOOD_DRINK,kr.TRAVEL_PLACES,kr.ACTIVITIES,kr.OBJECTS,kr.SYMBOLS,kr.FLAGS;kr.SUGGESTED;kr.SUGGESTED+"",kr.SUGGESTED,kr.CUSTOM+"",kr.CUSTOM,kr.SMILEYS_PEOPLE+"",kr.SMILEYS_PEOPLE,kr.ANIMALS_NATURE+"",kr.ANIMALS_NATURE,kr.FOOD_DRINK+"",kr.FOOD_DRINK,kr.TRAVEL_PLACES+"",kr.TRAVEL_PLACES,kr.ACTIVITIES+"",kr.ACTIVITIES,kr.OBJECTS+"",kr.OBJECTS,kr.SYMBOLS+"",kr.SYMBOLS,kr.FLAGS+"",kr.FLAGS;const cIe={custom:[],smileys_people:[{n:["grinning","grinning face"],u:"1f600",a:"1.0"},{n:["smiley","smiling face with open mouth"],u:"1f603",a:"0.6"},{n:["smile","smiling face with open mouth and smiling eyes"],u:"1f604",a:"0.6"},{n:["grin","grinning face with smiling eyes"],u:"1f601",a:"0.6"},{n:["laughing","satisfied","smiling face with open mouth and tightly-closed eyes"],u:"1f606",a:"0.6"},{n:["sweat smile","smiling face with open mouth and cold sweat"],u:"1f605",a:"0.6"},{n:["rolling on the floor laughing"],u:"1f923",a:"3.0"},{n:["joy","face with tears of joy"],u:"1f602",a:"0.6"},{n:["slightly smiling face"],u:"1f642",a:"1.0"},{n:["upside-down face","upside down face"],u:"1f643",a:"1.0"},{n:["melting face"],u:"1fae0",a:"14.0"},{n:["wink","winking face"],u:"1f609",a:"0.6"},{n:["blush","smiling face with smiling eyes"],u:"1f60a",a:"0.6"},{n:["innocent","smiling face with halo"],u:"1f607",a:"1.0"},{n:["smiling face with 3 hearts","smiling face with smiling eyes and three hearts"],u:"1f970",a:"11.0"},{n:["heart eyes","smiling face with heart-shaped eyes"],u:"1f60d",a:"0.6"},{n:["star-struck","grinning face with star eyes"],u:"1f929",a:"5.0"},{n:["kissing heart","face throwing a kiss"],u:"1f618",a:"0.6"},{n:["kissing","kissing face"],u:"1f617",a:"1.0"},{n:["relaxed","white smiling face"],u:"263a-fe0f",a:"0.6"},{n:["kissing closed eyes","kissing face with closed eyes"],u:"1f61a",a:"0.6"},{n:["kissing smiling eyes","kissing face with smiling eyes"],u:"1f619",a:"1.0"},{n:["smiling face with tear"],u:"1f972",a:"13.0"},{n:["yum","face savouring delicious food"],u:"1f60b",a:"0.6"},{n:["stuck out tongue","face with stuck-out tongue"],u:"1f61b",a:"1.0"},{n:["stuck out tongue winking eye","face with stuck-out tongue and winking eye"],u:"1f61c",a:"0.6"},{n:["zany face","grinning face with one large and one small eye"],u:"1f92a",a:"5.0"},{n:["stuck out tongue closed eyes","face with stuck-out tongue and tightly-closed eyes"],u:"1f61d",a:"0.6"},{n:["money-mouth face","money mouth face"],u:"1f911",a:"1.0"},{n:["hugging face"],u:"1f917",a:"1.0"},{n:["face with hand over mouth","smiling face with smiling eyes and hand covering mouth"],u:"1f92d",a:"5.0"},{n:["face with open eyes and hand over mouth"],u:"1fae2",a:"14.0"},{n:["face with peeking eye"],u:"1fae3",a:"14.0"},{n:["shushing face","face with finger covering closed lips"],u:"1f92b",a:"5.0"},{n:["thinking face"],u:"1f914",a:"1.0"},{n:["saluting face"],u:"1fae1",a:"14.0"},{n:["zipper-mouth face","zipper mouth face"],u:"1f910",a:"1.0"},{n:["face with raised eyebrow","face with one eyebrow raised"],u:"1f928",a:"5.0"},{n:["neutral face"],u:"1f610",a:"0.7"},{n:["expressionless","expressionless face"],u:"1f611",a:"1.0"},{n:["no mouth","face without mouth"],u:"1f636",a:"1.0"},{n:["dotted line face"],u:"1fae5",a:"14.0"},{n:["face in clouds"],u:"1f636-200d-1f32b-fe0f",a:"13.1"},{n:["smirk","smirking face"],u:"1f60f",a:"0.6"},{n:["unamused","unamused face"],u:"1f612",a:"0.6"},{n:["face with rolling eyes"],u:"1f644",a:"1.0"},{n:["grimacing","grimacing face"],u:"1f62c",a:"1.0"},{n:["face exhaling"],u:"1f62e-200d-1f4a8",a:"13.1"},{n:["lying face"],u:"1f925",a:"3.0"},{n:["relieved","relieved face"],u:"1f60c",a:"0.6"},{n:["pensive","pensive face"],u:"1f614",a:"0.6"},{n:["sleepy","sleepy face"],u:"1f62a",a:"0.6"},{n:["drooling face"],u:"1f924",a:"3.0"},{n:["sleeping","sleeping face"],u:"1f634",a:"1.0"},{n:["mask","face with medical mask"],u:"1f637",a:"0.6"},{n:["face with thermometer"],u:"1f912",a:"1.0"},{n:["face with head-bandage","face with head bandage"],u:"1f915",a:"1.0"},{n:["nauseated face"],u:"1f922",a:"3.0"},{n:["face vomiting","face with open mouth vomiting"],u:"1f92e",a:"5.0"},{n:["sneezing face"],u:"1f927",a:"3.0"},{n:["hot face","overheated face"],u:"1f975",a:"11.0"},{n:["cold face","freezing face"],u:"1f976",a:"11.0"},{n:["woozy face","face with uneven eyes and wavy mouth"],u:"1f974",a:"11.0"},{n:["dizzy face"],u:"1f635",a:"0.6"},{n:["face with spiral eyes"],u:"1f635-200d-1f4ab",a:"13.1"},{n:["exploding head","shocked face with exploding head"],u:"1f92f",a:"5.0"},{n:["face with cowboy hat"],u:"1f920",a:"3.0"},{n:["partying face","face with party horn and party hat"],u:"1f973",a:"11.0"},{n:["disguised face"],u:"1f978",a:"13.0"},{n:["sunglasses","smiling face with sunglasses"],u:"1f60e",a:"1.0"},{n:["nerd face"],u:"1f913",a:"1.0"},{n:["face with monocle"],u:"1f9d0",a:"5.0"},{n:["confused","confused face"],u:"1f615",a:"1.0"},{n:["face with diagonal mouth"],u:"1fae4",a:"14.0"},{n:["worried","worried face"],u:"1f61f",a:"1.0"},{n:["slightly frowning face"],u:"1f641",a:"1.0"},{n:["frowning face","white frowning face"],u:"2639-fe0f",a:"0.7"},{n:["open mouth","face with open mouth"],u:"1f62e",a:"1.0"},{n:["hushed","hushed face"],u:"1f62f",a:"1.0"},{n:["astonished","astonished face"],u:"1f632",a:"0.6"},{n:["flushed","flushed face"],u:"1f633",a:"0.6"},{n:["pleading face","face with pleading eyes"],u:"1f97a",a:"11.0"},{n:["face holding back tears"],u:"1f979",a:"14.0"},{n:["frowning","frowning face with open mouth"],u:"1f626",a:"1.0"},{n:["anguished","anguished face"],u:"1f627",a:"1.0"},{n:["fearful","fearful face"],u:"1f628",a:"0.6"},{n:["cold sweat","face with open mouth and cold sweat"],u:"1f630",a:"0.6"},{n:["disappointed relieved","disappointed but relieved face"],u:"1f625",a:"0.6"},{n:["cry","crying face"],u:"1f622",a:"0.6"},{n:["sob","loudly crying face"],u:"1f62d",a:"0.6"},{n:["scream","face screaming in fear"],u:"1f631",a:"0.6"},{n:["confounded","confounded face"],u:"1f616",a:"0.6"},{n:["persevere","persevering face"],u:"1f623",a:"0.6"},{n:["disappointed","disappointed face"],u:"1f61e",a:"0.6"},{n:["sweat","face with cold sweat"],u:"1f613",a:"0.6"},{n:["weary","weary face"],u:"1f629",a:"0.6"},{n:["tired face"],u:"1f62b",a:"0.6"},{n:["yawning face"],u:"1f971",a:"12.0"},{n:["triumph","face with look of triumph"],u:"1f624",a:"0.6"},{n:["rage","pouting face"],u:"1f621",a:"0.6"},{n:["angry","angry face"],u:"1f620",a:"0.6"},{n:["face with symbols on mouth","serious face with symbols covering mouth"],u:"1f92c",a:"5.0"},{n:["smiling imp","smiling face with horns"],u:"1f608",a:"1.0"},{n:["imp"],u:"1f47f",a:"0.6"},{n:["skull"],u:"1f480",a:"0.6"},{n:["skull and crossbones"],u:"2620-fe0f",a:"1.0"},{n:["poop","shit","hankey","pile of poo"],u:"1f4a9",a:"0.6"},{n:["clown face"],u:"1f921",a:"3.0"},{n:["japanese ogre"],u:"1f479",a:"0.6"},{n:["japanese goblin"],u:"1f47a",a:"0.6"},{n:["ghost"],u:"1f47b",a:"0.6"},{n:["alien","extraterrestrial alien"],u:"1f47d",a:"0.6"},{n:["alien monster","space invader"],u:"1f47e",a:"0.6"},{n:["robot face"],u:"1f916",a:"1.0"},{n:["smiley cat","smiling cat face with open mouth"],u:"1f63a",a:"0.6"},{n:["smile cat","grinning cat face with smiling eyes"],u:"1f638",a:"0.6"},{n:["joy cat","cat face with tears of joy"],u:"1f639",a:"0.6"},{n:["heart eyes cat","smiling cat face with heart-shaped eyes"],u:"1f63b",a:"0.6"},{n:["smirk cat","cat face with wry smile"],u:"1f63c",a:"0.6"},{n:["kissing cat","kissing cat face with closed eyes"],u:"1f63d",a:"0.6"},{n:["scream cat","weary cat face"],u:"1f640",a:"0.6"},{n:["crying cat face"],u:"1f63f",a:"0.6"},{n:["pouting cat","pouting cat face"],u:"1f63e",a:"0.6"},{n:["see no evil","see-no-evil monkey"],u:"1f648",a:"0.6"},{n:["hear no evil","hear-no-evil monkey"],u:"1f649",a:"0.6"},{n:["speak no evil","speak-no-evil monkey"],u:"1f64a",a:"0.6"},{n:["kiss","kiss mark"],u:"1f48b",a:"0.6"},{n:["love letter"],u:"1f48c",a:"0.6"},{n:["cupid","heart with arrow"],u:"1f498",a:"0.6"},{n:["gift heart","heart with ribbon"],u:"1f49d",a:"0.6"},{n:["sparkling heart"],u:"1f496",a:"0.6"},{n:["heartpulse","growing heart"],u:"1f497",a:"0.6"},{n:["heartbeat","beating heart"],u:"1f493",a:"0.6"},{n:["revolving hearts"],u:"1f49e",a:"0.6"},{n:["two hearts"],u:"1f495",a:"0.6"},{n:["heart decoration"],u:"1f49f",a:"0.6"},{n:["heart exclamation","heavy heart exclamation mark ornament"],u:"2763-fe0f",a:"1.0"},{n:["broken heart"],u:"1f494",a:"0.6"},{n:["heart on fire"],u:"2764-fe0f-200d-1f525",a:"13.1"},{n:["mending heart"],u:"2764-fe0f-200d-1fa79",a:"13.1"},{n:["heart","heavy black heart"],u:"2764-fe0f",a:"0.6"},{n:["orange heart"],u:"1f9e1",a:"5.0"},{n:["yellow heart"],u:"1f49b",a:"0.6"},{n:["green heart"],u:"1f49a",a:"0.6"},{n:["blue heart"],u:"1f499",a:"0.6"},{n:["purple heart"],u:"1f49c",a:"0.6"},{n:["brown heart"],u:"1f90e",a:"12.0"},{n:["black heart"],u:"1f5a4",a:"3.0"},{n:["white heart"],u:"1f90d",a:"12.0"},{n:["100","hundred points symbol"],u:"1f4af",a:"0.6"},{n:["anger","anger symbol"],u:"1f4a2",a:"0.6"},{n:["boom","collision","collision symbol"],u:"1f4a5",a:"0.6"},{n:["dizzy","dizzy symbol"],u:"1f4ab",a:"0.6"},{n:["sweat drops","splashing sweat symbol"],u:"1f4a6",a:"0.6"},{n:["dash","dash symbol"],u:"1f4a8",a:"0.6"},{n:["hole"],u:"1f573-fe0f",a:"0.7"},{n:["bomb"],u:"1f4a3",a:"0.6"},{n:["speech balloon"],u:"1f4ac",a:"0.6"},{n:["eye in speech bubble","eye-in-speech-bubble"],u:"1f441-fe0f-200d-1f5e8-fe0f",a:"2.0"},{n:["left speech bubble"],u:"1f5e8-fe0f",a:"2.0"},{n:["right anger bubble"],u:"1f5ef-fe0f",a:"0.7"},{n:["thought balloon"],u:"1f4ad",a:"1.0"},{n:["zzz","sleeping symbol"],u:"1f4a4",a:"0.6"},{n:["wave","waving hand sign"],u:"1f44b",v:["1f44b-1f3fb","1f44b-1f3fc","1f44b-1f3fd","1f44b-1f3fe","1f44b-1f3ff"],a:"0.6"},{n:["raised back of hand"],u:"1f91a",v:["1f91a-1f3fb","1f91a-1f3fc","1f91a-1f3fd","1f91a-1f3fe","1f91a-1f3ff"],a:"3.0"},{n:["hand with fingers splayed","raised hand with fingers splayed"],u:"1f590-fe0f",v:["1f590-1f3fb","1f590-1f3fc","1f590-1f3fd","1f590-1f3fe","1f590-1f3ff"],a:"0.7"},{n:["hand","raised hand"],u:"270b",v:["270b-1f3fb","270b-1f3fc","270b-1f3fd","270b-1f3fe","270b-1f3ff"],a:"0.6"},{n:["spock-hand","raised hand with part between middle and ring fingers"],u:"1f596",v:["1f596-1f3fb","1f596-1f3fc","1f596-1f3fd","1f596-1f3fe","1f596-1f3ff"],a:"1.0"},{n:["rightwards hand"],u:"1faf1",v:["1faf1-1f3fb","1faf1-1f3fc","1faf1-1f3fd","1faf1-1f3fe","1faf1-1f3ff"],a:"14.0"},{n:["leftwards hand"],u:"1faf2",v:["1faf2-1f3fb","1faf2-1f3fc","1faf2-1f3fd","1faf2-1f3fe","1faf2-1f3ff"],a:"14.0"},{n:["palm down hand"],u:"1faf3",v:["1faf3-1f3fb","1faf3-1f3fc","1faf3-1f3fd","1faf3-1f3fe","1faf3-1f3ff"],a:"14.0"},{n:["palm up hand"],u:"1faf4",v:["1faf4-1f3fb","1faf4-1f3fc","1faf4-1f3fd","1faf4-1f3fe","1faf4-1f3ff"],a:"14.0"},{n:["ok hand","ok hand sign"],u:"1f44c",v:["1f44c-1f3fb","1f44c-1f3fc","1f44c-1f3fd","1f44c-1f3fe","1f44c-1f3ff"],a:"0.6"},{n:["pinched fingers"],u:"1f90c",v:["1f90c-1f3fb","1f90c-1f3fc","1f90c-1f3fd","1f90c-1f3fe","1f90c-1f3ff"],a:"13.0"},{n:["pinching hand"],u:"1f90f",v:["1f90f-1f3fb","1f90f-1f3fc","1f90f-1f3fd","1f90f-1f3fe","1f90f-1f3ff"],a:"12.0"},{n:["v","victory hand"],u:"270c-fe0f",v:["270c-1f3fb","270c-1f3fc","270c-1f3fd","270c-1f3fe","270c-1f3ff"],a:"0.6"},{n:["crossed fingers","hand with index and middle fingers crossed"],u:"1f91e",v:["1f91e-1f3fb","1f91e-1f3fc","1f91e-1f3fd","1f91e-1f3fe","1f91e-1f3ff"],a:"3.0"},{n:["hand with index finger and thumb crossed"],u:"1faf0",v:["1faf0-1f3fb","1faf0-1f3fc","1faf0-1f3fd","1faf0-1f3fe","1faf0-1f3ff"],a:"14.0"},{n:["i love you hand sign"],u:"1f91f",v:["1f91f-1f3fb","1f91f-1f3fc","1f91f-1f3fd","1f91f-1f3fe","1f91f-1f3ff"],a:"5.0"},{n:["the horns","sign of the horns"],u:"1f918",v:["1f918-1f3fb","1f918-1f3fc","1f918-1f3fd","1f918-1f3fe","1f918-1f3ff"],a:"1.0"},{n:["call me hand"],u:"1f919",v:["1f919-1f3fb","1f919-1f3fc","1f919-1f3fd","1f919-1f3fe","1f919-1f3ff"],a:"3.0"},{n:["point left","white left pointing backhand index"],u:"1f448",v:["1f448-1f3fb","1f448-1f3fc","1f448-1f3fd","1f448-1f3fe","1f448-1f3ff"],a:"0.6"},{n:["point right","white right pointing backhand index"],u:"1f449",v:["1f449-1f3fb","1f449-1f3fc","1f449-1f3fd","1f449-1f3fe","1f449-1f3ff"],a:"0.6"},{n:["point up 2","white up pointing backhand index"],u:"1f446",v:["1f446-1f3fb","1f446-1f3fc","1f446-1f3fd","1f446-1f3fe","1f446-1f3ff"],a:"0.6"},{n:["middle finger","reversed hand with middle finger extended"],u:"1f595",v:["1f595-1f3fb","1f595-1f3fc","1f595-1f3fd","1f595-1f3fe","1f595-1f3ff"],a:"1.0"},{n:["point down","white down pointing backhand index"],u:"1f447",v:["1f447-1f3fb","1f447-1f3fc","1f447-1f3fd","1f447-1f3fe","1f447-1f3ff"],a:"0.6"},{n:["point up","white up pointing index"],u:"261d-fe0f",v:["261d-1f3fb","261d-1f3fc","261d-1f3fd","261d-1f3fe","261d-1f3ff"],a:"0.6"},{n:["index pointing at the viewer"],u:"1faf5",v:["1faf5-1f3fb","1faf5-1f3fc","1faf5-1f3fd","1faf5-1f3fe","1faf5-1f3ff"],a:"14.0"},{n:["+1","thumbsup","thumbs up sign"],u:"1f44d",v:["1f44d-1f3fb","1f44d-1f3fc","1f44d-1f3fd","1f44d-1f3fe","1f44d-1f3ff"],a:"0.6"},{n:["-1","thumbsdown","thumbs down sign"],u:"1f44e",v:["1f44e-1f3fb","1f44e-1f3fc","1f44e-1f3fd","1f44e-1f3fe","1f44e-1f3ff"],a:"0.6"},{n:["fist","raised fist"],u:"270a",v:["270a-1f3fb","270a-1f3fc","270a-1f3fd","270a-1f3fe","270a-1f3ff"],a:"0.6"},{n:["punch","facepunch","fisted hand sign"],u:"1f44a",v:["1f44a-1f3fb","1f44a-1f3fc","1f44a-1f3fd","1f44a-1f3fe","1f44a-1f3ff"],a:"0.6"},{n:["left-facing fist"],u:"1f91b",v:["1f91b-1f3fb","1f91b-1f3fc","1f91b-1f3fd","1f91b-1f3fe","1f91b-1f3ff"],a:"3.0"},{n:["right-facing fist"],u:"1f91c",v:["1f91c-1f3fb","1f91c-1f3fc","1f91c-1f3fd","1f91c-1f3fe","1f91c-1f3ff"],a:"3.0"},{n:["clap","clapping hands sign"],u:"1f44f",v:["1f44f-1f3fb","1f44f-1f3fc","1f44f-1f3fd","1f44f-1f3fe","1f44f-1f3ff"],a:"0.6"},{n:["raised hands","person raising both hands in celebration"],u:"1f64c",v:["1f64c-1f3fb","1f64c-1f3fc","1f64c-1f3fd","1f64c-1f3fe","1f64c-1f3ff"],a:"0.6"},{n:["heart hands"],u:"1faf6",v:["1faf6-1f3fb","1faf6-1f3fc","1faf6-1f3fd","1faf6-1f3fe","1faf6-1f3ff"],a:"14.0"},{n:["open hands","open hands sign"],u:"1f450",v:["1f450-1f3fb","1f450-1f3fc","1f450-1f3fd","1f450-1f3fe","1f450-1f3ff"],a:"0.6"},{n:["palms up together"],u:"1f932",v:["1f932-1f3fb","1f932-1f3fc","1f932-1f3fd","1f932-1f3fe","1f932-1f3ff"],a:"5.0"},{n:["handshake"],u:"1f91d",v:["1f91d-1f3fb","1f91d-1f3fc","1f91d-1f3fd","1f91d-1f3fe","1f91d-1f3ff","1faf1-1f3fb-200d-1faf2-1f3fc","1faf1-1f3fb-200d-1faf2-1f3fd","1faf1-1f3fb-200d-1faf2-1f3fe","1faf1-1f3fb-200d-1faf2-1f3ff","1faf1-1f3fc-200d-1faf2-1f3fb","1faf1-1f3fc-200d-1faf2-1f3fd","1faf1-1f3fc-200d-1faf2-1f3fe","1faf1-1f3fc-200d-1faf2-1f3ff","1faf1-1f3fd-200d-1faf2-1f3fb","1faf1-1f3fd-200d-1faf2-1f3fc","1faf1-1f3fd-200d-1faf2-1f3fe","1faf1-1f3fd-200d-1faf2-1f3ff","1faf1-1f3fe-200d-1faf2-1f3fb","1faf1-1f3fe-200d-1faf2-1f3fc","1faf1-1f3fe-200d-1faf2-1f3fd","1faf1-1f3fe-200d-1faf2-1f3ff","1faf1-1f3ff-200d-1faf2-1f3fb","1faf1-1f3ff-200d-1faf2-1f3fc","1faf1-1f3ff-200d-1faf2-1f3fd","1faf1-1f3ff-200d-1faf2-1f3fe"],a:"3.0"},{n:["pray","person with folded hands"],u:"1f64f",v:["1f64f-1f3fb","1f64f-1f3fc","1f64f-1f3fd","1f64f-1f3fe","1f64f-1f3ff"],a:"0.6"},{n:["writing hand"],u:"270d-fe0f",v:["270d-1f3fb","270d-1f3fc","270d-1f3fd","270d-1f3fe","270d-1f3ff"],a:"0.7"},{n:["nail care","nail polish"],u:"1f485",v:["1f485-1f3fb","1f485-1f3fc","1f485-1f3fd","1f485-1f3fe","1f485-1f3ff"],a:"0.6"},{n:["selfie"],u:"1f933",v:["1f933-1f3fb","1f933-1f3fc","1f933-1f3fd","1f933-1f3fe","1f933-1f3ff"],a:"3.0"},{n:["muscle","flexed biceps"],u:"1f4aa",v:["1f4aa-1f3fb","1f4aa-1f3fc","1f4aa-1f3fd","1f4aa-1f3fe","1f4aa-1f3ff"],a:"0.6"},{n:["mechanical arm"],u:"1f9be",a:"12.0"},{n:["mechanical leg"],u:"1f9bf",a:"12.0"},{n:["leg"],u:"1f9b5",v:["1f9b5-1f3fb","1f9b5-1f3fc","1f9b5-1f3fd","1f9b5-1f3fe","1f9b5-1f3ff"],a:"11.0"},{n:["foot"],u:"1f9b6",v:["1f9b6-1f3fb","1f9b6-1f3fc","1f9b6-1f3fd","1f9b6-1f3fe","1f9b6-1f3ff"],a:"11.0"},{n:["ear"],u:"1f442",v:["1f442-1f3fb","1f442-1f3fc","1f442-1f3fd","1f442-1f3fe","1f442-1f3ff"],a:"0.6"},{n:["ear with hearing aid"],u:"1f9bb",v:["1f9bb-1f3fb","1f9bb-1f3fc","1f9bb-1f3fd","1f9bb-1f3fe","1f9bb-1f3ff"],a:"12.0"},{n:["nose"],u:"1f443",v:["1f443-1f3fb","1f443-1f3fc","1f443-1f3fd","1f443-1f3fe","1f443-1f3ff"],a:"0.6"},{n:["brain"],u:"1f9e0",a:"5.0"},{n:["anatomical heart"],u:"1fac0",a:"13.0"},{n:["lungs"],u:"1fac1",a:"13.0"},{n:["tooth"],u:"1f9b7",a:"11.0"},{n:["bone"],u:"1f9b4",a:"11.0"},{n:["eyes"],u:"1f440",a:"0.6"},{n:["eye"],u:"1f441-fe0f",a:"0.7"},{n:["tongue"],u:"1f445",a:"0.6"},{n:["lips","mouth"],u:"1f444",a:"0.6"},{n:["biting lip"],u:"1fae6",a:"14.0"},{n:["baby"],u:"1f476",v:["1f476-1f3fb","1f476-1f3fc","1f476-1f3fd","1f476-1f3fe","1f476-1f3ff"],a:"0.6"},{n:["child"],u:"1f9d2",v:["1f9d2-1f3fb","1f9d2-1f3fc","1f9d2-1f3fd","1f9d2-1f3fe","1f9d2-1f3ff"],a:"5.0"},{n:["boy"],u:"1f466",v:["1f466-1f3fb","1f466-1f3fc","1f466-1f3fd","1f466-1f3fe","1f466-1f3ff"],a:"0.6"},{n:["girl"],u:"1f467",v:["1f467-1f3fb","1f467-1f3fc","1f467-1f3fd","1f467-1f3fe","1f467-1f3ff"],a:"0.6"},{n:["adult"],u:"1f9d1",v:["1f9d1-1f3fb","1f9d1-1f3fc","1f9d1-1f3fd","1f9d1-1f3fe","1f9d1-1f3ff"],a:"5.0"},{n:["person with blond hair"],u:"1f471",v:["1f471-1f3fb","1f471-1f3fc","1f471-1f3fd","1f471-1f3fe","1f471-1f3ff"],a:"0.6"},{n:["man"],u:"1f468",v:["1f468-1f3fb","1f468-1f3fc","1f468-1f3fd","1f468-1f3fe","1f468-1f3ff"],a:"0.6"},{n:["bearded person"],u:"1f9d4",v:["1f9d4-1f3fb","1f9d4-1f3fc","1f9d4-1f3fd","1f9d4-1f3fe","1f9d4-1f3ff"],a:"5.0"},{n:["man: beard","man with beard"],u:"1f9d4-200d-2642-fe0f",v:["1f9d4-1f3fb-200d-2642-fe0f","1f9d4-1f3fc-200d-2642-fe0f","1f9d4-1f3fd-200d-2642-fe0f","1f9d4-1f3fe-200d-2642-fe0f","1f9d4-1f3ff-200d-2642-fe0f"],a:"13.1"},{n:["woman: beard","woman with beard"],u:"1f9d4-200d-2640-fe0f",v:["1f9d4-1f3fb-200d-2640-fe0f","1f9d4-1f3fc-200d-2640-fe0f","1f9d4-1f3fd-200d-2640-fe0f","1f9d4-1f3fe-200d-2640-fe0f","1f9d4-1f3ff-200d-2640-fe0f"],a:"13.1"},{n:["man: red hair","red haired man"],u:"1f468-200d-1f9b0",v:["1f468-1f3fb-200d-1f9b0","1f468-1f3fc-200d-1f9b0","1f468-1f3fd-200d-1f9b0","1f468-1f3fe-200d-1f9b0","1f468-1f3ff-200d-1f9b0"],a:"11.0"},{n:["man: curly hair","curly haired man"],u:"1f468-200d-1f9b1",v:["1f468-1f3fb-200d-1f9b1","1f468-1f3fc-200d-1f9b1","1f468-1f3fd-200d-1f9b1","1f468-1f3fe-200d-1f9b1","1f468-1f3ff-200d-1f9b1"],a:"11.0"},{n:["man: white hair","white haired man"],u:"1f468-200d-1f9b3",v:["1f468-1f3fb-200d-1f9b3","1f468-1f3fc-200d-1f9b3","1f468-1f3fd-200d-1f9b3","1f468-1f3fe-200d-1f9b3","1f468-1f3ff-200d-1f9b3"],a:"11.0"},{n:["bald man","man: bald"],u:"1f468-200d-1f9b2",v:["1f468-1f3fb-200d-1f9b2","1f468-1f3fc-200d-1f9b2","1f468-1f3fd-200d-1f9b2","1f468-1f3fe-200d-1f9b2","1f468-1f3ff-200d-1f9b2"],a:"11.0"},{n:["woman"],u:"1f469",v:["1f469-1f3fb","1f469-1f3fc","1f469-1f3fd","1f469-1f3fe","1f469-1f3ff"],a:"0.6"},{n:["woman: red hair","red haired woman"],u:"1f469-200d-1f9b0",v:["1f469-1f3fb-200d-1f9b0","1f469-1f3fc-200d-1f9b0","1f469-1f3fd-200d-1f9b0","1f469-1f3fe-200d-1f9b0","1f469-1f3ff-200d-1f9b0"],a:"11.0"},{n:["person: red hair","red haired person"],u:"1f9d1-200d-1f9b0",v:["1f9d1-1f3fb-200d-1f9b0","1f9d1-1f3fc-200d-1f9b0","1f9d1-1f3fd-200d-1f9b0","1f9d1-1f3fe-200d-1f9b0","1f9d1-1f3ff-200d-1f9b0"],a:"12.1"},{n:["woman: curly hair","curly haired woman"],u:"1f469-200d-1f9b1",v:["1f469-1f3fb-200d-1f9b1","1f469-1f3fc-200d-1f9b1","1f469-1f3fd-200d-1f9b1","1f469-1f3fe-200d-1f9b1","1f469-1f3ff-200d-1f9b1"],a:"11.0"},{n:["person: curly hair","curly haired person"],u:"1f9d1-200d-1f9b1",v:["1f9d1-1f3fb-200d-1f9b1","1f9d1-1f3fc-200d-1f9b1","1f9d1-1f3fd-200d-1f9b1","1f9d1-1f3fe-200d-1f9b1","1f9d1-1f3ff-200d-1f9b1"],a:"12.1"},{n:["woman: white hair","white haired woman"],u:"1f469-200d-1f9b3",v:["1f469-1f3fb-200d-1f9b3","1f469-1f3fc-200d-1f9b3","1f469-1f3fd-200d-1f9b3","1f469-1f3fe-200d-1f9b3","1f469-1f3ff-200d-1f9b3"],a:"11.0"},{n:["person: white hair","white haired person"],u:"1f9d1-200d-1f9b3",v:["1f9d1-1f3fb-200d-1f9b3","1f9d1-1f3fc-200d-1f9b3","1f9d1-1f3fd-200d-1f9b3","1f9d1-1f3fe-200d-1f9b3","1f9d1-1f3ff-200d-1f9b3"],a:"12.1"},{n:["bald woman","woman: bald"],u:"1f469-200d-1f9b2",v:["1f469-1f3fb-200d-1f9b2","1f469-1f3fc-200d-1f9b2","1f469-1f3fd-200d-1f9b2","1f469-1f3fe-200d-1f9b2","1f469-1f3ff-200d-1f9b2"],a:"11.0"},{n:["bald person","person: bald"],u:"1f9d1-200d-1f9b2",v:["1f9d1-1f3fb-200d-1f9b2","1f9d1-1f3fc-200d-1f9b2","1f9d1-1f3fd-200d-1f9b2","1f9d1-1f3fe-200d-1f9b2","1f9d1-1f3ff-200d-1f9b2"],a:"12.1"},{n:["woman: blond hair","blond-haired-woman"],u:"1f471-200d-2640-fe0f",v:["1f471-1f3fb-200d-2640-fe0f","1f471-1f3fc-200d-2640-fe0f","1f471-1f3fd-200d-2640-fe0f","1f471-1f3fe-200d-2640-fe0f","1f471-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man: blond hair","blond-haired-man"],u:"1f471-200d-2642-fe0f",v:["1f471-1f3fb-200d-2642-fe0f","1f471-1f3fc-200d-2642-fe0f","1f471-1f3fd-200d-2642-fe0f","1f471-1f3fe-200d-2642-fe0f","1f471-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["older adult"],u:"1f9d3",v:["1f9d3-1f3fb","1f9d3-1f3fc","1f9d3-1f3fd","1f9d3-1f3fe","1f9d3-1f3ff"],a:"5.0"},{n:["older man"],u:"1f474",v:["1f474-1f3fb","1f474-1f3fc","1f474-1f3fd","1f474-1f3fe","1f474-1f3ff"],a:"0.6"},{n:["older woman"],u:"1f475",v:["1f475-1f3fb","1f475-1f3fc","1f475-1f3fd","1f475-1f3fe","1f475-1f3ff"],a:"0.6"},{n:["person frowning"],u:"1f64d",v:["1f64d-1f3fb","1f64d-1f3fc","1f64d-1f3fd","1f64d-1f3fe","1f64d-1f3ff"],a:"0.6"},{n:["man frowning","man-frowning"],u:"1f64d-200d-2642-fe0f",v:["1f64d-1f3fb-200d-2642-fe0f","1f64d-1f3fc-200d-2642-fe0f","1f64d-1f3fd-200d-2642-fe0f","1f64d-1f3fe-200d-2642-fe0f","1f64d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman frowning","woman-frowning"],u:"1f64d-200d-2640-fe0f",v:["1f64d-1f3fb-200d-2640-fe0f","1f64d-1f3fc-200d-2640-fe0f","1f64d-1f3fd-200d-2640-fe0f","1f64d-1f3fe-200d-2640-fe0f","1f64d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with pouting face"],u:"1f64e",v:["1f64e-1f3fb","1f64e-1f3fc","1f64e-1f3fd","1f64e-1f3fe","1f64e-1f3ff"],a:"0.6"},{n:["man pouting","man-pouting"],u:"1f64e-200d-2642-fe0f",v:["1f64e-1f3fb-200d-2642-fe0f","1f64e-1f3fc-200d-2642-fe0f","1f64e-1f3fd-200d-2642-fe0f","1f64e-1f3fe-200d-2642-fe0f","1f64e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman pouting","woman-pouting"],u:"1f64e-200d-2640-fe0f",v:["1f64e-1f3fb-200d-2640-fe0f","1f64e-1f3fc-200d-2640-fe0f","1f64e-1f3fd-200d-2640-fe0f","1f64e-1f3fe-200d-2640-fe0f","1f64e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["no good","face with no good gesture"],u:"1f645",v:["1f645-1f3fb","1f645-1f3fc","1f645-1f3fd","1f645-1f3fe","1f645-1f3ff"],a:"0.6"},{n:["man gesturing no","man-gesturing-no"],u:"1f645-200d-2642-fe0f",v:["1f645-1f3fb-200d-2642-fe0f","1f645-1f3fc-200d-2642-fe0f","1f645-1f3fd-200d-2642-fe0f","1f645-1f3fe-200d-2642-fe0f","1f645-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing no","woman-gesturing-no"],u:"1f645-200d-2640-fe0f",v:["1f645-1f3fb-200d-2640-fe0f","1f645-1f3fc-200d-2640-fe0f","1f645-1f3fd-200d-2640-fe0f","1f645-1f3fe-200d-2640-fe0f","1f645-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ok woman","face with ok gesture"],u:"1f646",v:["1f646-1f3fb","1f646-1f3fc","1f646-1f3fd","1f646-1f3fe","1f646-1f3ff"],a:"0.6"},{n:["man gesturing ok","man-gesturing-ok"],u:"1f646-200d-2642-fe0f",v:["1f646-1f3fb-200d-2642-fe0f","1f646-1f3fc-200d-2642-fe0f","1f646-1f3fd-200d-2642-fe0f","1f646-1f3fe-200d-2642-fe0f","1f646-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing ok","woman-gesturing-ok"],u:"1f646-200d-2640-fe0f",v:["1f646-1f3fb-200d-2640-fe0f","1f646-1f3fc-200d-2640-fe0f","1f646-1f3fd-200d-2640-fe0f","1f646-1f3fe-200d-2640-fe0f","1f646-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["information desk person"],u:"1f481",v:["1f481-1f3fb","1f481-1f3fc","1f481-1f3fd","1f481-1f3fe","1f481-1f3ff"],a:"0.6"},{n:["man tipping hand","man-tipping-hand"],u:"1f481-200d-2642-fe0f",v:["1f481-1f3fb-200d-2642-fe0f","1f481-1f3fc-200d-2642-fe0f","1f481-1f3fd-200d-2642-fe0f","1f481-1f3fe-200d-2642-fe0f","1f481-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman tipping hand","woman-tipping-hand"],u:"1f481-200d-2640-fe0f",v:["1f481-1f3fb-200d-2640-fe0f","1f481-1f3fc-200d-2640-fe0f","1f481-1f3fd-200d-2640-fe0f","1f481-1f3fe-200d-2640-fe0f","1f481-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["raising hand","happy person raising one hand"],u:"1f64b",v:["1f64b-1f3fb","1f64b-1f3fc","1f64b-1f3fd","1f64b-1f3fe","1f64b-1f3ff"],a:"0.6"},{n:["man raising hand","man-raising-hand"],u:"1f64b-200d-2642-fe0f",v:["1f64b-1f3fb-200d-2642-fe0f","1f64b-1f3fc-200d-2642-fe0f","1f64b-1f3fd-200d-2642-fe0f","1f64b-1f3fe-200d-2642-fe0f","1f64b-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman raising hand","woman-raising-hand"],u:"1f64b-200d-2640-fe0f",v:["1f64b-1f3fb-200d-2640-fe0f","1f64b-1f3fc-200d-2640-fe0f","1f64b-1f3fd-200d-2640-fe0f","1f64b-1f3fe-200d-2640-fe0f","1f64b-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["deaf person"],u:"1f9cf",v:["1f9cf-1f3fb","1f9cf-1f3fc","1f9cf-1f3fd","1f9cf-1f3fe","1f9cf-1f3ff"],a:"12.0"},{n:["deaf man"],u:"1f9cf-200d-2642-fe0f",v:["1f9cf-1f3fb-200d-2642-fe0f","1f9cf-1f3fc-200d-2642-fe0f","1f9cf-1f3fd-200d-2642-fe0f","1f9cf-1f3fe-200d-2642-fe0f","1f9cf-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["deaf woman"],u:"1f9cf-200d-2640-fe0f",v:["1f9cf-1f3fb-200d-2640-fe0f","1f9cf-1f3fc-200d-2640-fe0f","1f9cf-1f3fd-200d-2640-fe0f","1f9cf-1f3fe-200d-2640-fe0f","1f9cf-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["bow","person bowing deeply"],u:"1f647",v:["1f647-1f3fb","1f647-1f3fc","1f647-1f3fd","1f647-1f3fe","1f647-1f3ff"],a:"0.6"},{n:["man bowing","man-bowing"],u:"1f647-200d-2642-fe0f",v:["1f647-1f3fb-200d-2642-fe0f","1f647-1f3fc-200d-2642-fe0f","1f647-1f3fd-200d-2642-fe0f","1f647-1f3fe-200d-2642-fe0f","1f647-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bowing","woman-bowing"],u:"1f647-200d-2640-fe0f",v:["1f647-1f3fb-200d-2640-fe0f","1f647-1f3fc-200d-2640-fe0f","1f647-1f3fd-200d-2640-fe0f","1f647-1f3fe-200d-2640-fe0f","1f647-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["face palm"],u:"1f926",v:["1f926-1f3fb","1f926-1f3fc","1f926-1f3fd","1f926-1f3fe","1f926-1f3ff"],a:"3.0"},{n:["man facepalming","man-facepalming"],u:"1f926-200d-2642-fe0f",v:["1f926-1f3fb-200d-2642-fe0f","1f926-1f3fc-200d-2642-fe0f","1f926-1f3fd-200d-2642-fe0f","1f926-1f3fe-200d-2642-fe0f","1f926-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman facepalming","woman-facepalming"],u:"1f926-200d-2640-fe0f",v:["1f926-1f3fb-200d-2640-fe0f","1f926-1f3fc-200d-2640-fe0f","1f926-1f3fd-200d-2640-fe0f","1f926-1f3fe-200d-2640-fe0f","1f926-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["shrug"],u:"1f937",v:["1f937-1f3fb","1f937-1f3fc","1f937-1f3fd","1f937-1f3fe","1f937-1f3ff"],a:"3.0"},{n:["man shrugging","man-shrugging"],u:"1f937-200d-2642-fe0f",v:["1f937-1f3fb-200d-2642-fe0f","1f937-1f3fc-200d-2642-fe0f","1f937-1f3fd-200d-2642-fe0f","1f937-1f3fe-200d-2642-fe0f","1f937-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman shrugging","woman-shrugging"],u:"1f937-200d-2640-fe0f",v:["1f937-1f3fb-200d-2640-fe0f","1f937-1f3fc-200d-2640-fe0f","1f937-1f3fd-200d-2640-fe0f","1f937-1f3fe-200d-2640-fe0f","1f937-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["health worker"],u:"1f9d1-200d-2695-fe0f",v:["1f9d1-1f3fb-200d-2695-fe0f","1f9d1-1f3fc-200d-2695-fe0f","1f9d1-1f3fd-200d-2695-fe0f","1f9d1-1f3fe-200d-2695-fe0f","1f9d1-1f3ff-200d-2695-fe0f"],a:"12.1"},{n:["male-doctor","man health worker"],u:"1f468-200d-2695-fe0f",v:["1f468-1f3fb-200d-2695-fe0f","1f468-1f3fc-200d-2695-fe0f","1f468-1f3fd-200d-2695-fe0f","1f468-1f3fe-200d-2695-fe0f","1f468-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["female-doctor","woman health worker"],u:"1f469-200d-2695-fe0f",v:["1f469-1f3fb-200d-2695-fe0f","1f469-1f3fc-200d-2695-fe0f","1f469-1f3fd-200d-2695-fe0f","1f469-1f3fe-200d-2695-fe0f","1f469-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["student"],u:"1f9d1-200d-1f393",v:["1f9d1-1f3fb-200d-1f393","1f9d1-1f3fc-200d-1f393","1f9d1-1f3fd-200d-1f393","1f9d1-1f3fe-200d-1f393","1f9d1-1f3ff-200d-1f393"],a:"12.1"},{n:["man student","male-student"],u:"1f468-200d-1f393",v:["1f468-1f3fb-200d-1f393","1f468-1f3fc-200d-1f393","1f468-1f3fd-200d-1f393","1f468-1f3fe-200d-1f393","1f468-1f3ff-200d-1f393"],a:"4.0"},{n:["woman student","female-student"],u:"1f469-200d-1f393",v:["1f469-1f3fb-200d-1f393","1f469-1f3fc-200d-1f393","1f469-1f3fd-200d-1f393","1f469-1f3fe-200d-1f393","1f469-1f3ff-200d-1f393"],a:"4.0"},{n:["teacher"],u:"1f9d1-200d-1f3eb",v:["1f9d1-1f3fb-200d-1f3eb","1f9d1-1f3fc-200d-1f3eb","1f9d1-1f3fd-200d-1f3eb","1f9d1-1f3fe-200d-1f3eb","1f9d1-1f3ff-200d-1f3eb"],a:"12.1"},{n:["man teacher","male-teacher"],u:"1f468-200d-1f3eb",v:["1f468-1f3fb-200d-1f3eb","1f468-1f3fc-200d-1f3eb","1f468-1f3fd-200d-1f3eb","1f468-1f3fe-200d-1f3eb","1f468-1f3ff-200d-1f3eb"],a:"4.0"},{n:["woman teacher","female-teacher"],u:"1f469-200d-1f3eb",v:["1f469-1f3fb-200d-1f3eb","1f469-1f3fc-200d-1f3eb","1f469-1f3fd-200d-1f3eb","1f469-1f3fe-200d-1f3eb","1f469-1f3ff-200d-1f3eb"],a:"4.0"},{n:["judge"],u:"1f9d1-200d-2696-fe0f",v:["1f9d1-1f3fb-200d-2696-fe0f","1f9d1-1f3fc-200d-2696-fe0f","1f9d1-1f3fd-200d-2696-fe0f","1f9d1-1f3fe-200d-2696-fe0f","1f9d1-1f3ff-200d-2696-fe0f"],a:"12.1"},{n:["man judge","male-judge"],u:"1f468-200d-2696-fe0f",v:["1f468-1f3fb-200d-2696-fe0f","1f468-1f3fc-200d-2696-fe0f","1f468-1f3fd-200d-2696-fe0f","1f468-1f3fe-200d-2696-fe0f","1f468-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["woman judge","female-judge"],u:"1f469-200d-2696-fe0f",v:["1f469-1f3fb-200d-2696-fe0f","1f469-1f3fc-200d-2696-fe0f","1f469-1f3fd-200d-2696-fe0f","1f469-1f3fe-200d-2696-fe0f","1f469-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["farmer"],u:"1f9d1-200d-1f33e",v:["1f9d1-1f3fb-200d-1f33e","1f9d1-1f3fc-200d-1f33e","1f9d1-1f3fd-200d-1f33e","1f9d1-1f3fe-200d-1f33e","1f9d1-1f3ff-200d-1f33e"],a:"12.1"},{n:["man farmer","male-farmer"],u:"1f468-200d-1f33e",v:["1f468-1f3fb-200d-1f33e","1f468-1f3fc-200d-1f33e","1f468-1f3fd-200d-1f33e","1f468-1f3fe-200d-1f33e","1f468-1f3ff-200d-1f33e"],a:"4.0"},{n:["woman farmer","female-farmer"],u:"1f469-200d-1f33e",v:["1f469-1f3fb-200d-1f33e","1f469-1f3fc-200d-1f33e","1f469-1f3fd-200d-1f33e","1f469-1f3fe-200d-1f33e","1f469-1f3ff-200d-1f33e"],a:"4.0"},{n:["cook"],u:"1f9d1-200d-1f373",v:["1f9d1-1f3fb-200d-1f373","1f9d1-1f3fc-200d-1f373","1f9d1-1f3fd-200d-1f373","1f9d1-1f3fe-200d-1f373","1f9d1-1f3ff-200d-1f373"],a:"12.1"},{n:["man cook","male-cook"],u:"1f468-200d-1f373",v:["1f468-1f3fb-200d-1f373","1f468-1f3fc-200d-1f373","1f468-1f3fd-200d-1f373","1f468-1f3fe-200d-1f373","1f468-1f3ff-200d-1f373"],a:"4.0"},{n:["woman cook","female-cook"],u:"1f469-200d-1f373",v:["1f469-1f3fb-200d-1f373","1f469-1f3fc-200d-1f373","1f469-1f3fd-200d-1f373","1f469-1f3fe-200d-1f373","1f469-1f3ff-200d-1f373"],a:"4.0"},{n:["mechanic"],u:"1f9d1-200d-1f527",v:["1f9d1-1f3fb-200d-1f527","1f9d1-1f3fc-200d-1f527","1f9d1-1f3fd-200d-1f527","1f9d1-1f3fe-200d-1f527","1f9d1-1f3ff-200d-1f527"],a:"12.1"},{n:["man mechanic","male-mechanic"],u:"1f468-200d-1f527",v:["1f468-1f3fb-200d-1f527","1f468-1f3fc-200d-1f527","1f468-1f3fd-200d-1f527","1f468-1f3fe-200d-1f527","1f468-1f3ff-200d-1f527"],a:"4.0"},{n:["woman mechanic","female-mechanic"],u:"1f469-200d-1f527",v:["1f469-1f3fb-200d-1f527","1f469-1f3fc-200d-1f527","1f469-1f3fd-200d-1f527","1f469-1f3fe-200d-1f527","1f469-1f3ff-200d-1f527"],a:"4.0"},{n:["factory worker"],u:"1f9d1-200d-1f3ed",v:["1f9d1-1f3fb-200d-1f3ed","1f9d1-1f3fc-200d-1f3ed","1f9d1-1f3fd-200d-1f3ed","1f9d1-1f3fe-200d-1f3ed","1f9d1-1f3ff-200d-1f3ed"],a:"12.1"},{n:["man factory worker","male-factory-worker"],u:"1f468-200d-1f3ed",v:["1f468-1f3fb-200d-1f3ed","1f468-1f3fc-200d-1f3ed","1f468-1f3fd-200d-1f3ed","1f468-1f3fe-200d-1f3ed","1f468-1f3ff-200d-1f3ed"],a:"4.0"},{n:["woman factory worker","female-factory-worker"],u:"1f469-200d-1f3ed",v:["1f469-1f3fb-200d-1f3ed","1f469-1f3fc-200d-1f3ed","1f469-1f3fd-200d-1f3ed","1f469-1f3fe-200d-1f3ed","1f469-1f3ff-200d-1f3ed"],a:"4.0"},{n:["office worker"],u:"1f9d1-200d-1f4bc",v:["1f9d1-1f3fb-200d-1f4bc","1f9d1-1f3fc-200d-1f4bc","1f9d1-1f3fd-200d-1f4bc","1f9d1-1f3fe-200d-1f4bc","1f9d1-1f3ff-200d-1f4bc"],a:"12.1"},{n:["man office worker","male-office-worker"],u:"1f468-200d-1f4bc",v:["1f468-1f3fb-200d-1f4bc","1f468-1f3fc-200d-1f4bc","1f468-1f3fd-200d-1f4bc","1f468-1f3fe-200d-1f4bc","1f468-1f3ff-200d-1f4bc"],a:"4.0"},{n:["woman office worker","female-office-worker"],u:"1f469-200d-1f4bc",v:["1f469-1f3fb-200d-1f4bc","1f469-1f3fc-200d-1f4bc","1f469-1f3fd-200d-1f4bc","1f469-1f3fe-200d-1f4bc","1f469-1f3ff-200d-1f4bc"],a:"4.0"},{n:["scientist"],u:"1f9d1-200d-1f52c",v:["1f9d1-1f3fb-200d-1f52c","1f9d1-1f3fc-200d-1f52c","1f9d1-1f3fd-200d-1f52c","1f9d1-1f3fe-200d-1f52c","1f9d1-1f3ff-200d-1f52c"],a:"12.1"},{n:["man scientist","male-scientist"],u:"1f468-200d-1f52c",v:["1f468-1f3fb-200d-1f52c","1f468-1f3fc-200d-1f52c","1f468-1f3fd-200d-1f52c","1f468-1f3fe-200d-1f52c","1f468-1f3ff-200d-1f52c"],a:"4.0"},{n:["woman scientist","female-scientist"],u:"1f469-200d-1f52c",v:["1f469-1f3fb-200d-1f52c","1f469-1f3fc-200d-1f52c","1f469-1f3fd-200d-1f52c","1f469-1f3fe-200d-1f52c","1f469-1f3ff-200d-1f52c"],a:"4.0"},{n:["technologist"],u:"1f9d1-200d-1f4bb",v:["1f9d1-1f3fb-200d-1f4bb","1f9d1-1f3fc-200d-1f4bb","1f9d1-1f3fd-200d-1f4bb","1f9d1-1f3fe-200d-1f4bb","1f9d1-1f3ff-200d-1f4bb"],a:"12.1"},{n:["man technologist","male-technologist"],u:"1f468-200d-1f4bb",v:["1f468-1f3fb-200d-1f4bb","1f468-1f3fc-200d-1f4bb","1f468-1f3fd-200d-1f4bb","1f468-1f3fe-200d-1f4bb","1f468-1f3ff-200d-1f4bb"],a:"4.0"},{n:["woman technologist","female-technologist"],u:"1f469-200d-1f4bb",v:["1f469-1f3fb-200d-1f4bb","1f469-1f3fc-200d-1f4bb","1f469-1f3fd-200d-1f4bb","1f469-1f3fe-200d-1f4bb","1f469-1f3ff-200d-1f4bb"],a:"4.0"},{n:["singer"],u:"1f9d1-200d-1f3a4",v:["1f9d1-1f3fb-200d-1f3a4","1f9d1-1f3fc-200d-1f3a4","1f9d1-1f3fd-200d-1f3a4","1f9d1-1f3fe-200d-1f3a4","1f9d1-1f3ff-200d-1f3a4"],a:"12.1"},{n:["man singer","male-singer"],u:"1f468-200d-1f3a4",v:["1f468-1f3fb-200d-1f3a4","1f468-1f3fc-200d-1f3a4","1f468-1f3fd-200d-1f3a4","1f468-1f3fe-200d-1f3a4","1f468-1f3ff-200d-1f3a4"],a:"4.0"},{n:["woman singer","female-singer"],u:"1f469-200d-1f3a4",v:["1f469-1f3fb-200d-1f3a4","1f469-1f3fc-200d-1f3a4","1f469-1f3fd-200d-1f3a4","1f469-1f3fe-200d-1f3a4","1f469-1f3ff-200d-1f3a4"],a:"4.0"},{n:["artist"],u:"1f9d1-200d-1f3a8",v:["1f9d1-1f3fb-200d-1f3a8","1f9d1-1f3fc-200d-1f3a8","1f9d1-1f3fd-200d-1f3a8","1f9d1-1f3fe-200d-1f3a8","1f9d1-1f3ff-200d-1f3a8"],a:"12.1"},{n:["man artist","male-artist"],u:"1f468-200d-1f3a8",v:["1f468-1f3fb-200d-1f3a8","1f468-1f3fc-200d-1f3a8","1f468-1f3fd-200d-1f3a8","1f468-1f3fe-200d-1f3a8","1f468-1f3ff-200d-1f3a8"],a:"4.0"},{n:["woman artist","female-artist"],u:"1f469-200d-1f3a8",v:["1f469-1f3fb-200d-1f3a8","1f469-1f3fc-200d-1f3a8","1f469-1f3fd-200d-1f3a8","1f469-1f3fe-200d-1f3a8","1f469-1f3ff-200d-1f3a8"],a:"4.0"},{n:["pilot"],u:"1f9d1-200d-2708-fe0f",v:["1f9d1-1f3fb-200d-2708-fe0f","1f9d1-1f3fc-200d-2708-fe0f","1f9d1-1f3fd-200d-2708-fe0f","1f9d1-1f3fe-200d-2708-fe0f","1f9d1-1f3ff-200d-2708-fe0f"],a:"12.1"},{n:["man pilot","male-pilot"],u:"1f468-200d-2708-fe0f",v:["1f468-1f3fb-200d-2708-fe0f","1f468-1f3fc-200d-2708-fe0f","1f468-1f3fd-200d-2708-fe0f","1f468-1f3fe-200d-2708-fe0f","1f468-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["woman pilot","female-pilot"],u:"1f469-200d-2708-fe0f",v:["1f469-1f3fb-200d-2708-fe0f","1f469-1f3fc-200d-2708-fe0f","1f469-1f3fd-200d-2708-fe0f","1f469-1f3fe-200d-2708-fe0f","1f469-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["astronaut"],u:"1f9d1-200d-1f680",v:["1f9d1-1f3fb-200d-1f680","1f9d1-1f3fc-200d-1f680","1f9d1-1f3fd-200d-1f680","1f9d1-1f3fe-200d-1f680","1f9d1-1f3ff-200d-1f680"],a:"12.1"},{n:["man astronaut","male-astronaut"],u:"1f468-200d-1f680",v:["1f468-1f3fb-200d-1f680","1f468-1f3fc-200d-1f680","1f468-1f3fd-200d-1f680","1f468-1f3fe-200d-1f680","1f468-1f3ff-200d-1f680"],a:"4.0"},{n:["woman astronaut","female-astronaut"],u:"1f469-200d-1f680",v:["1f469-1f3fb-200d-1f680","1f469-1f3fc-200d-1f680","1f469-1f3fd-200d-1f680","1f469-1f3fe-200d-1f680","1f469-1f3ff-200d-1f680"],a:"4.0"},{n:["firefighter"],u:"1f9d1-200d-1f692",v:["1f9d1-1f3fb-200d-1f692","1f9d1-1f3fc-200d-1f692","1f9d1-1f3fd-200d-1f692","1f9d1-1f3fe-200d-1f692","1f9d1-1f3ff-200d-1f692"],a:"12.1"},{n:["man firefighter","male-firefighter"],u:"1f468-200d-1f692",v:["1f468-1f3fb-200d-1f692","1f468-1f3fc-200d-1f692","1f468-1f3fd-200d-1f692","1f468-1f3fe-200d-1f692","1f468-1f3ff-200d-1f692"],a:"4.0"},{n:["woman firefighter","female-firefighter"],u:"1f469-200d-1f692",v:["1f469-1f3fb-200d-1f692","1f469-1f3fc-200d-1f692","1f469-1f3fd-200d-1f692","1f469-1f3fe-200d-1f692","1f469-1f3ff-200d-1f692"],a:"4.0"},{n:["cop","police officer"],u:"1f46e",v:["1f46e-1f3fb","1f46e-1f3fc","1f46e-1f3fd","1f46e-1f3fe","1f46e-1f3ff"],a:"0.6"},{n:["man police officer","male-police-officer"],u:"1f46e-200d-2642-fe0f",v:["1f46e-1f3fb-200d-2642-fe0f","1f46e-1f3fc-200d-2642-fe0f","1f46e-1f3fd-200d-2642-fe0f","1f46e-1f3fe-200d-2642-fe0f","1f46e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman police officer","female-police-officer"],u:"1f46e-200d-2640-fe0f",v:["1f46e-1f3fb-200d-2640-fe0f","1f46e-1f3fc-200d-2640-fe0f","1f46e-1f3fd-200d-2640-fe0f","1f46e-1f3fe-200d-2640-fe0f","1f46e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["detective","sleuth or spy"],u:"1f575-fe0f",v:["1f575-1f3fb","1f575-1f3fc","1f575-1f3fd","1f575-1f3fe","1f575-1f3ff"],a:"0.7"},{n:["man detective","male-detective"],u:"1f575-fe0f-200d-2642-fe0f",v:["1f575-1f3fb-200d-2642-fe0f","1f575-1f3fc-200d-2642-fe0f","1f575-1f3fd-200d-2642-fe0f","1f575-1f3fe-200d-2642-fe0f","1f575-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman detective","female-detective"],u:"1f575-fe0f-200d-2640-fe0f",v:["1f575-1f3fb-200d-2640-fe0f","1f575-1f3fc-200d-2640-fe0f","1f575-1f3fd-200d-2640-fe0f","1f575-1f3fe-200d-2640-fe0f","1f575-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["guardsman"],u:"1f482",v:["1f482-1f3fb","1f482-1f3fc","1f482-1f3fd","1f482-1f3fe","1f482-1f3ff"],a:"0.6"},{n:["man guard","male-guard"],u:"1f482-200d-2642-fe0f",v:["1f482-1f3fb-200d-2642-fe0f","1f482-1f3fc-200d-2642-fe0f","1f482-1f3fd-200d-2642-fe0f","1f482-1f3fe-200d-2642-fe0f","1f482-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman guard","female-guard"],u:"1f482-200d-2640-fe0f",v:["1f482-1f3fb-200d-2640-fe0f","1f482-1f3fc-200d-2640-fe0f","1f482-1f3fd-200d-2640-fe0f","1f482-1f3fe-200d-2640-fe0f","1f482-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ninja"],u:"1f977",v:["1f977-1f3fb","1f977-1f3fc","1f977-1f3fd","1f977-1f3fe","1f977-1f3ff"],a:"13.0"},{n:["construction worker"],u:"1f477",v:["1f477-1f3fb","1f477-1f3fc","1f477-1f3fd","1f477-1f3fe","1f477-1f3ff"],a:"0.6"},{n:["man construction worker","male-construction-worker"],u:"1f477-200d-2642-fe0f",v:["1f477-1f3fb-200d-2642-fe0f","1f477-1f3fc-200d-2642-fe0f","1f477-1f3fd-200d-2642-fe0f","1f477-1f3fe-200d-2642-fe0f","1f477-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman construction worker","female-construction-worker"],u:"1f477-200d-2640-fe0f",v:["1f477-1f3fb-200d-2640-fe0f","1f477-1f3fc-200d-2640-fe0f","1f477-1f3fd-200d-2640-fe0f","1f477-1f3fe-200d-2640-fe0f","1f477-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with crown"],u:"1fac5",v:["1fac5-1f3fb","1fac5-1f3fc","1fac5-1f3fd","1fac5-1f3fe","1fac5-1f3ff"],a:"14.0"},{n:["prince"],u:"1f934",v:["1f934-1f3fb","1f934-1f3fc","1f934-1f3fd","1f934-1f3fe","1f934-1f3ff"],a:"3.0"},{n:["princess"],u:"1f478",v:["1f478-1f3fb","1f478-1f3fc","1f478-1f3fd","1f478-1f3fe","1f478-1f3ff"],a:"0.6"},{n:["man with turban"],u:"1f473",v:["1f473-1f3fb","1f473-1f3fc","1f473-1f3fd","1f473-1f3fe","1f473-1f3ff"],a:"0.6"},{n:["man wearing turban","man-wearing-turban"],u:"1f473-200d-2642-fe0f",v:["1f473-1f3fb-200d-2642-fe0f","1f473-1f3fc-200d-2642-fe0f","1f473-1f3fd-200d-2642-fe0f","1f473-1f3fe-200d-2642-fe0f","1f473-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman wearing turban","woman-wearing-turban"],u:"1f473-200d-2640-fe0f",v:["1f473-1f3fb-200d-2640-fe0f","1f473-1f3fc-200d-2640-fe0f","1f473-1f3fd-200d-2640-fe0f","1f473-1f3fe-200d-2640-fe0f","1f473-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man with gua pi mao"],u:"1f472",v:["1f472-1f3fb","1f472-1f3fc","1f472-1f3fd","1f472-1f3fe","1f472-1f3ff"],a:"0.6"},{n:["person with headscarf"],u:"1f9d5",v:["1f9d5-1f3fb","1f9d5-1f3fc","1f9d5-1f3fd","1f9d5-1f3fe","1f9d5-1f3ff"],a:"5.0"},{n:["man in tuxedo","person in tuxedo"],u:"1f935",v:["1f935-1f3fb","1f935-1f3fc","1f935-1f3fd","1f935-1f3fe","1f935-1f3ff"],a:"3.0"},{n:["man in tuxedo"],u:"1f935-200d-2642-fe0f",v:["1f935-1f3fb-200d-2642-fe0f","1f935-1f3fc-200d-2642-fe0f","1f935-1f3fd-200d-2642-fe0f","1f935-1f3fe-200d-2642-fe0f","1f935-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman in tuxedo"],u:"1f935-200d-2640-fe0f",v:["1f935-1f3fb-200d-2640-fe0f","1f935-1f3fc-200d-2640-fe0f","1f935-1f3fd-200d-2640-fe0f","1f935-1f3fe-200d-2640-fe0f","1f935-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["bride with veil"],u:"1f470",v:["1f470-1f3fb","1f470-1f3fc","1f470-1f3fd","1f470-1f3fe","1f470-1f3ff"],a:"0.6"},{n:["man with veil"],u:"1f470-200d-2642-fe0f",v:["1f470-1f3fb-200d-2642-fe0f","1f470-1f3fc-200d-2642-fe0f","1f470-1f3fd-200d-2642-fe0f","1f470-1f3fe-200d-2642-fe0f","1f470-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman with veil"],u:"1f470-200d-2640-fe0f",v:["1f470-1f3fb-200d-2640-fe0f","1f470-1f3fc-200d-2640-fe0f","1f470-1f3fd-200d-2640-fe0f","1f470-1f3fe-200d-2640-fe0f","1f470-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["pregnant woman"],u:"1f930",v:["1f930-1f3fb","1f930-1f3fc","1f930-1f3fd","1f930-1f3fe","1f930-1f3ff"],a:"3.0"},{n:["pregnant man"],u:"1fac3",v:["1fac3-1f3fb","1fac3-1f3fc","1fac3-1f3fd","1fac3-1f3fe","1fac3-1f3ff"],a:"14.0"},{n:["pregnant person"],u:"1fac4",v:["1fac4-1f3fb","1fac4-1f3fc","1fac4-1f3fd","1fac4-1f3fe","1fac4-1f3ff"],a:"14.0"},{n:["breast-feeding"],u:"1f931",v:["1f931-1f3fb","1f931-1f3fc","1f931-1f3fd","1f931-1f3fe","1f931-1f3ff"],a:"5.0"},{n:["woman feeding baby"],u:"1f469-200d-1f37c",v:["1f469-1f3fb-200d-1f37c","1f469-1f3fc-200d-1f37c","1f469-1f3fd-200d-1f37c","1f469-1f3fe-200d-1f37c","1f469-1f3ff-200d-1f37c"],a:"13.0"},{n:["man feeding baby"],u:"1f468-200d-1f37c",v:["1f468-1f3fb-200d-1f37c","1f468-1f3fc-200d-1f37c","1f468-1f3fd-200d-1f37c","1f468-1f3fe-200d-1f37c","1f468-1f3ff-200d-1f37c"],a:"13.0"},{n:["person feeding baby"],u:"1f9d1-200d-1f37c",v:["1f9d1-1f3fb-200d-1f37c","1f9d1-1f3fc-200d-1f37c","1f9d1-1f3fd-200d-1f37c","1f9d1-1f3fe-200d-1f37c","1f9d1-1f3ff-200d-1f37c"],a:"13.0"},{n:["angel","baby angel"],u:"1f47c",v:["1f47c-1f3fb","1f47c-1f3fc","1f47c-1f3fd","1f47c-1f3fe","1f47c-1f3ff"],a:"0.6"},{n:["santa","father christmas"],u:"1f385",v:["1f385-1f3fb","1f385-1f3fc","1f385-1f3fd","1f385-1f3fe","1f385-1f3ff"],a:"0.6"},{n:["mrs claus","mother christmas"],u:"1f936",v:["1f936-1f3fb","1f936-1f3fc","1f936-1f3fd","1f936-1f3fe","1f936-1f3ff"],a:"3.0"},{n:["mx claus"],u:"1f9d1-200d-1f384",v:["1f9d1-1f3fb-200d-1f384","1f9d1-1f3fc-200d-1f384","1f9d1-1f3fd-200d-1f384","1f9d1-1f3fe-200d-1f384","1f9d1-1f3ff-200d-1f384"],a:"13.0"},{n:["superhero"],u:"1f9b8",v:["1f9b8-1f3fb","1f9b8-1f3fc","1f9b8-1f3fd","1f9b8-1f3fe","1f9b8-1f3ff"],a:"11.0"},{n:["man superhero","male superhero"],u:"1f9b8-200d-2642-fe0f",v:["1f9b8-1f3fb-200d-2642-fe0f","1f9b8-1f3fc-200d-2642-fe0f","1f9b8-1f3fd-200d-2642-fe0f","1f9b8-1f3fe-200d-2642-fe0f","1f9b8-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman superhero","female superhero"],u:"1f9b8-200d-2640-fe0f",v:["1f9b8-1f3fb-200d-2640-fe0f","1f9b8-1f3fc-200d-2640-fe0f","1f9b8-1f3fd-200d-2640-fe0f","1f9b8-1f3fe-200d-2640-fe0f","1f9b8-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["supervillain"],u:"1f9b9",v:["1f9b9-1f3fb","1f9b9-1f3fc","1f9b9-1f3fd","1f9b9-1f3fe","1f9b9-1f3ff"],a:"11.0"},{n:["man supervillain","male supervillain"],u:"1f9b9-200d-2642-fe0f",v:["1f9b9-1f3fb-200d-2642-fe0f","1f9b9-1f3fc-200d-2642-fe0f","1f9b9-1f3fd-200d-2642-fe0f","1f9b9-1f3fe-200d-2642-fe0f","1f9b9-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman supervillain","female supervillain"],u:"1f9b9-200d-2640-fe0f",v:["1f9b9-1f3fb-200d-2640-fe0f","1f9b9-1f3fc-200d-2640-fe0f","1f9b9-1f3fd-200d-2640-fe0f","1f9b9-1f3fe-200d-2640-fe0f","1f9b9-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["mage"],u:"1f9d9",v:["1f9d9-1f3fb","1f9d9-1f3fc","1f9d9-1f3fd","1f9d9-1f3fe","1f9d9-1f3ff"],a:"5.0"},{n:["man mage","male mage"],u:"1f9d9-200d-2642-fe0f",v:["1f9d9-1f3fb-200d-2642-fe0f","1f9d9-1f3fc-200d-2642-fe0f","1f9d9-1f3fd-200d-2642-fe0f","1f9d9-1f3fe-200d-2642-fe0f","1f9d9-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman mage","female mage"],u:"1f9d9-200d-2640-fe0f",v:["1f9d9-1f3fb-200d-2640-fe0f","1f9d9-1f3fc-200d-2640-fe0f","1f9d9-1f3fd-200d-2640-fe0f","1f9d9-1f3fe-200d-2640-fe0f","1f9d9-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fairy"],u:"1f9da",v:["1f9da-1f3fb","1f9da-1f3fc","1f9da-1f3fd","1f9da-1f3fe","1f9da-1f3ff"],a:"5.0"},{n:["man fairy","male fairy"],u:"1f9da-200d-2642-fe0f",v:["1f9da-1f3fb-200d-2642-fe0f","1f9da-1f3fc-200d-2642-fe0f","1f9da-1f3fd-200d-2642-fe0f","1f9da-1f3fe-200d-2642-fe0f","1f9da-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman fairy","female fairy"],u:"1f9da-200d-2640-fe0f",v:["1f9da-1f3fb-200d-2640-fe0f","1f9da-1f3fc-200d-2640-fe0f","1f9da-1f3fd-200d-2640-fe0f","1f9da-1f3fe-200d-2640-fe0f","1f9da-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["vampire"],u:"1f9db",v:["1f9db-1f3fb","1f9db-1f3fc","1f9db-1f3fd","1f9db-1f3fe","1f9db-1f3ff"],a:"5.0"},{n:["man vampire","male vampire"],u:"1f9db-200d-2642-fe0f",v:["1f9db-1f3fb-200d-2642-fe0f","1f9db-1f3fc-200d-2642-fe0f","1f9db-1f3fd-200d-2642-fe0f","1f9db-1f3fe-200d-2642-fe0f","1f9db-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman vampire","female vampire"],u:"1f9db-200d-2640-fe0f",v:["1f9db-1f3fb-200d-2640-fe0f","1f9db-1f3fc-200d-2640-fe0f","1f9db-1f3fd-200d-2640-fe0f","1f9db-1f3fe-200d-2640-fe0f","1f9db-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["merperson"],u:"1f9dc",v:["1f9dc-1f3fb","1f9dc-1f3fc","1f9dc-1f3fd","1f9dc-1f3fe","1f9dc-1f3ff"],a:"5.0"},{n:["merman"],u:"1f9dc-200d-2642-fe0f",v:["1f9dc-1f3fb-200d-2642-fe0f","1f9dc-1f3fc-200d-2642-fe0f","1f9dc-1f3fd-200d-2642-fe0f","1f9dc-1f3fe-200d-2642-fe0f","1f9dc-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["mermaid"],u:"1f9dc-200d-2640-fe0f",v:["1f9dc-1f3fb-200d-2640-fe0f","1f9dc-1f3fc-200d-2640-fe0f","1f9dc-1f3fd-200d-2640-fe0f","1f9dc-1f3fe-200d-2640-fe0f","1f9dc-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["elf"],u:"1f9dd",v:["1f9dd-1f3fb","1f9dd-1f3fc","1f9dd-1f3fd","1f9dd-1f3fe","1f9dd-1f3ff"],a:"5.0"},{n:["man elf","male elf"],u:"1f9dd-200d-2642-fe0f",v:["1f9dd-1f3fb-200d-2642-fe0f","1f9dd-1f3fc-200d-2642-fe0f","1f9dd-1f3fd-200d-2642-fe0f","1f9dd-1f3fe-200d-2642-fe0f","1f9dd-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman elf","female elf"],u:"1f9dd-200d-2640-fe0f",v:["1f9dd-1f3fb-200d-2640-fe0f","1f9dd-1f3fc-200d-2640-fe0f","1f9dd-1f3fd-200d-2640-fe0f","1f9dd-1f3fe-200d-2640-fe0f","1f9dd-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["genie"],u:"1f9de",a:"5.0"},{n:["man genie","male genie"],u:"1f9de-200d-2642-fe0f",a:"5.0"},{n:["woman genie","female genie"],u:"1f9de-200d-2640-fe0f",a:"5.0"},{n:["zombie"],u:"1f9df",a:"5.0"},{n:["man zombie","male zombie"],u:"1f9df-200d-2642-fe0f",a:"5.0"},{n:["woman zombie","female zombie"],u:"1f9df-200d-2640-fe0f",a:"5.0"},{n:["troll"],u:"1f9cc",a:"14.0"},{n:["massage","face massage"],u:"1f486",v:["1f486-1f3fb","1f486-1f3fc","1f486-1f3fd","1f486-1f3fe","1f486-1f3ff"],a:"0.6"},{n:["man getting massage","man-getting-massage"],u:"1f486-200d-2642-fe0f",v:["1f486-1f3fb-200d-2642-fe0f","1f486-1f3fc-200d-2642-fe0f","1f486-1f3fd-200d-2642-fe0f","1f486-1f3fe-200d-2642-fe0f","1f486-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting massage","woman-getting-massage"],u:"1f486-200d-2640-fe0f",v:["1f486-1f3fb-200d-2640-fe0f","1f486-1f3fc-200d-2640-fe0f","1f486-1f3fd-200d-2640-fe0f","1f486-1f3fe-200d-2640-fe0f","1f486-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["haircut"],u:"1f487",v:["1f487-1f3fb","1f487-1f3fc","1f487-1f3fd","1f487-1f3fe","1f487-1f3ff"],a:"0.6"},{n:["man getting haircut","man-getting-haircut"],u:"1f487-200d-2642-fe0f",v:["1f487-1f3fb-200d-2642-fe0f","1f487-1f3fc-200d-2642-fe0f","1f487-1f3fd-200d-2642-fe0f","1f487-1f3fe-200d-2642-fe0f","1f487-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting haircut","woman-getting-haircut"],u:"1f487-200d-2640-fe0f",v:["1f487-1f3fb-200d-2640-fe0f","1f487-1f3fc-200d-2640-fe0f","1f487-1f3fd-200d-2640-fe0f","1f487-1f3fe-200d-2640-fe0f","1f487-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["walking","pedestrian"],u:"1f6b6",v:["1f6b6-1f3fb","1f6b6-1f3fc","1f6b6-1f3fd","1f6b6-1f3fe","1f6b6-1f3ff"],a:"0.6"},{n:["man walking","man-walking"],u:"1f6b6-200d-2642-fe0f",v:["1f6b6-1f3fb-200d-2642-fe0f","1f6b6-1f3fc-200d-2642-fe0f","1f6b6-1f3fd-200d-2642-fe0f","1f6b6-1f3fe-200d-2642-fe0f","1f6b6-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman walking","woman-walking"],u:"1f6b6-200d-2640-fe0f",v:["1f6b6-1f3fb-200d-2640-fe0f","1f6b6-1f3fc-200d-2640-fe0f","1f6b6-1f3fd-200d-2640-fe0f","1f6b6-1f3fe-200d-2640-fe0f","1f6b6-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["standing person"],u:"1f9cd",v:["1f9cd-1f3fb","1f9cd-1f3fc","1f9cd-1f3fd","1f9cd-1f3fe","1f9cd-1f3ff"],a:"12.0"},{n:["man standing"],u:"1f9cd-200d-2642-fe0f",v:["1f9cd-1f3fb-200d-2642-fe0f","1f9cd-1f3fc-200d-2642-fe0f","1f9cd-1f3fd-200d-2642-fe0f","1f9cd-1f3fe-200d-2642-fe0f","1f9cd-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman standing"],u:"1f9cd-200d-2640-fe0f",v:["1f9cd-1f3fb-200d-2640-fe0f","1f9cd-1f3fc-200d-2640-fe0f","1f9cd-1f3fd-200d-2640-fe0f","1f9cd-1f3fe-200d-2640-fe0f","1f9cd-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["kneeling person"],u:"1f9ce",v:["1f9ce-1f3fb","1f9ce-1f3fc","1f9ce-1f3fd","1f9ce-1f3fe","1f9ce-1f3ff"],a:"12.0"},{n:["man kneeling"],u:"1f9ce-200d-2642-fe0f",v:["1f9ce-1f3fb-200d-2642-fe0f","1f9ce-1f3fc-200d-2642-fe0f","1f9ce-1f3fd-200d-2642-fe0f","1f9ce-1f3fe-200d-2642-fe0f","1f9ce-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman kneeling"],u:"1f9ce-200d-2640-fe0f",v:["1f9ce-1f3fb-200d-2640-fe0f","1f9ce-1f3fc-200d-2640-fe0f","1f9ce-1f3fd-200d-2640-fe0f","1f9ce-1f3fe-200d-2640-fe0f","1f9ce-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["person with white cane","person with probing cane"],u:"1f9d1-200d-1f9af",v:["1f9d1-1f3fb-200d-1f9af","1f9d1-1f3fc-200d-1f9af","1f9d1-1f3fd-200d-1f9af","1f9d1-1f3fe-200d-1f9af","1f9d1-1f3ff-200d-1f9af"],a:"12.1"},{n:["man with white cane","man with probing cane"],u:"1f468-200d-1f9af",v:["1f468-1f3fb-200d-1f9af","1f468-1f3fc-200d-1f9af","1f468-1f3fd-200d-1f9af","1f468-1f3fe-200d-1f9af","1f468-1f3ff-200d-1f9af"],a:"12.0"},{n:["woman with white cane","woman with probing cane"],u:"1f469-200d-1f9af",v:["1f469-1f3fb-200d-1f9af","1f469-1f3fc-200d-1f9af","1f469-1f3fd-200d-1f9af","1f469-1f3fe-200d-1f9af","1f469-1f3ff-200d-1f9af"],a:"12.0"},{n:["person in motorized wheelchair"],u:"1f9d1-200d-1f9bc",v:["1f9d1-1f3fb-200d-1f9bc","1f9d1-1f3fc-200d-1f9bc","1f9d1-1f3fd-200d-1f9bc","1f9d1-1f3fe-200d-1f9bc","1f9d1-1f3ff-200d-1f9bc"],a:"12.1"},{n:["man in motorized wheelchair"],u:"1f468-200d-1f9bc",v:["1f468-1f3fb-200d-1f9bc","1f468-1f3fc-200d-1f9bc","1f468-1f3fd-200d-1f9bc","1f468-1f3fe-200d-1f9bc","1f468-1f3ff-200d-1f9bc"],a:"12.0"},{n:["woman in motorized wheelchair"],u:"1f469-200d-1f9bc",v:["1f469-1f3fb-200d-1f9bc","1f469-1f3fc-200d-1f9bc","1f469-1f3fd-200d-1f9bc","1f469-1f3fe-200d-1f9bc","1f469-1f3ff-200d-1f9bc"],a:"12.0"},{n:["person in manual wheelchair"],u:"1f9d1-200d-1f9bd",v:["1f9d1-1f3fb-200d-1f9bd","1f9d1-1f3fc-200d-1f9bd","1f9d1-1f3fd-200d-1f9bd","1f9d1-1f3fe-200d-1f9bd","1f9d1-1f3ff-200d-1f9bd"],a:"12.1"},{n:["man in manual wheelchair"],u:"1f468-200d-1f9bd",v:["1f468-1f3fb-200d-1f9bd","1f468-1f3fc-200d-1f9bd","1f468-1f3fd-200d-1f9bd","1f468-1f3fe-200d-1f9bd","1f468-1f3ff-200d-1f9bd"],a:"12.0"},{n:["woman in manual wheelchair"],u:"1f469-200d-1f9bd",v:["1f469-1f3fb-200d-1f9bd","1f469-1f3fc-200d-1f9bd","1f469-1f3fd-200d-1f9bd","1f469-1f3fe-200d-1f9bd","1f469-1f3ff-200d-1f9bd"],a:"12.0"},{n:["runner","running"],u:"1f3c3",v:["1f3c3-1f3fb","1f3c3-1f3fc","1f3c3-1f3fd","1f3c3-1f3fe","1f3c3-1f3ff"],a:"0.6"},{n:["man running","man-running"],u:"1f3c3-200d-2642-fe0f",v:["1f3c3-1f3fb-200d-2642-fe0f","1f3c3-1f3fc-200d-2642-fe0f","1f3c3-1f3fd-200d-2642-fe0f","1f3c3-1f3fe-200d-2642-fe0f","1f3c3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman running","woman-running"],u:"1f3c3-200d-2640-fe0f",v:["1f3c3-1f3fb-200d-2640-fe0f","1f3c3-1f3fc-200d-2640-fe0f","1f3c3-1f3fd-200d-2640-fe0f","1f3c3-1f3fe-200d-2640-fe0f","1f3c3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["dancer"],u:"1f483",v:["1f483-1f3fb","1f483-1f3fc","1f483-1f3fd","1f483-1f3fe","1f483-1f3ff"],a:"0.6"},{n:["man dancing"],u:"1f57a",v:["1f57a-1f3fb","1f57a-1f3fc","1f57a-1f3fd","1f57a-1f3fe","1f57a-1f3ff"],a:"3.0"},{n:["person in suit levitating","man in business suit levitating"],u:"1f574-fe0f",v:["1f574-1f3fb","1f574-1f3fc","1f574-1f3fd","1f574-1f3fe","1f574-1f3ff"],a:"0.7"},{n:["dancers","woman with bunny ears"],u:"1f46f",a:"0.6"},{n:["men with bunny ears","men-with-bunny-ears-partying","man-with-bunny-ears-partying"],u:"1f46f-200d-2642-fe0f",a:"4.0"},{n:["women with bunny ears","women-with-bunny-ears-partying","woman-with-bunny-ears-partying"],u:"1f46f-200d-2640-fe0f",a:"4.0"},{n:["person in steamy room"],u:"1f9d6",v:["1f9d6-1f3fb","1f9d6-1f3fc","1f9d6-1f3fd","1f9d6-1f3fe","1f9d6-1f3ff"],a:"5.0"},{n:["man in steamy room"],u:"1f9d6-200d-2642-fe0f",v:["1f9d6-1f3fb-200d-2642-fe0f","1f9d6-1f3fc-200d-2642-fe0f","1f9d6-1f3fd-200d-2642-fe0f","1f9d6-1f3fe-200d-2642-fe0f","1f9d6-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in steamy room"],u:"1f9d6-200d-2640-fe0f",v:["1f9d6-1f3fb-200d-2640-fe0f","1f9d6-1f3fc-200d-2640-fe0f","1f9d6-1f3fd-200d-2640-fe0f","1f9d6-1f3fe-200d-2640-fe0f","1f9d6-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["person climbing"],u:"1f9d7",v:["1f9d7-1f3fb","1f9d7-1f3fc","1f9d7-1f3fd","1f9d7-1f3fe","1f9d7-1f3ff"],a:"5.0"},{n:["man climbing"],u:"1f9d7-200d-2642-fe0f",v:["1f9d7-1f3fb-200d-2642-fe0f","1f9d7-1f3fc-200d-2642-fe0f","1f9d7-1f3fd-200d-2642-fe0f","1f9d7-1f3fe-200d-2642-fe0f","1f9d7-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman climbing"],u:"1f9d7-200d-2640-fe0f",v:["1f9d7-1f3fb-200d-2640-fe0f","1f9d7-1f3fc-200d-2640-fe0f","1f9d7-1f3fd-200d-2640-fe0f","1f9d7-1f3fe-200d-2640-fe0f","1f9d7-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fencer"],u:"1f93a",a:"3.0"},{n:["horse racing"],u:"1f3c7",v:["1f3c7-1f3fb","1f3c7-1f3fc","1f3c7-1f3fd","1f3c7-1f3fe","1f3c7-1f3ff"],a:"1.0"},{n:["skier"],u:"26f7-fe0f",a:"0.7"},{n:["snowboarder"],u:"1f3c2",v:["1f3c2-1f3fb","1f3c2-1f3fc","1f3c2-1f3fd","1f3c2-1f3fe","1f3c2-1f3ff"],a:"0.6"},{n:["golfer","person golfing"],u:"1f3cc-fe0f",v:["1f3cc-1f3fb","1f3cc-1f3fc","1f3cc-1f3fd","1f3cc-1f3fe","1f3cc-1f3ff"],a:"0.7"},{n:["man golfing","man-golfing"],u:"1f3cc-fe0f-200d-2642-fe0f",v:["1f3cc-1f3fb-200d-2642-fe0f","1f3cc-1f3fc-200d-2642-fe0f","1f3cc-1f3fd-200d-2642-fe0f","1f3cc-1f3fe-200d-2642-fe0f","1f3cc-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman golfing","woman-golfing"],u:"1f3cc-fe0f-200d-2640-fe0f",v:["1f3cc-1f3fb-200d-2640-fe0f","1f3cc-1f3fc-200d-2640-fe0f","1f3cc-1f3fd-200d-2640-fe0f","1f3cc-1f3fe-200d-2640-fe0f","1f3cc-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["surfer"],u:"1f3c4",v:["1f3c4-1f3fb","1f3c4-1f3fc","1f3c4-1f3fd","1f3c4-1f3fe","1f3c4-1f3ff"],a:"0.6"},{n:["man surfing","man-surfing"],u:"1f3c4-200d-2642-fe0f",v:["1f3c4-1f3fb-200d-2642-fe0f","1f3c4-1f3fc-200d-2642-fe0f","1f3c4-1f3fd-200d-2642-fe0f","1f3c4-1f3fe-200d-2642-fe0f","1f3c4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman surfing","woman-surfing"],u:"1f3c4-200d-2640-fe0f",v:["1f3c4-1f3fb-200d-2640-fe0f","1f3c4-1f3fc-200d-2640-fe0f","1f3c4-1f3fd-200d-2640-fe0f","1f3c4-1f3fe-200d-2640-fe0f","1f3c4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["rowboat"],u:"1f6a3",v:["1f6a3-1f3fb","1f6a3-1f3fc","1f6a3-1f3fd","1f6a3-1f3fe","1f6a3-1f3ff"],a:"1.0"},{n:["man rowing boat","man-rowing-boat"],u:"1f6a3-200d-2642-fe0f",v:["1f6a3-1f3fb-200d-2642-fe0f","1f6a3-1f3fc-200d-2642-fe0f","1f6a3-1f3fd-200d-2642-fe0f","1f6a3-1f3fe-200d-2642-fe0f","1f6a3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman rowing boat","woman-rowing-boat"],u:"1f6a3-200d-2640-fe0f",v:["1f6a3-1f3fb-200d-2640-fe0f","1f6a3-1f3fc-200d-2640-fe0f","1f6a3-1f3fd-200d-2640-fe0f","1f6a3-1f3fe-200d-2640-fe0f","1f6a3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["swimmer"],u:"1f3ca",v:["1f3ca-1f3fb","1f3ca-1f3fc","1f3ca-1f3fd","1f3ca-1f3fe","1f3ca-1f3ff"],a:"0.6"},{n:["man swimming","man-swimming"],u:"1f3ca-200d-2642-fe0f",v:["1f3ca-1f3fb-200d-2642-fe0f","1f3ca-1f3fc-200d-2642-fe0f","1f3ca-1f3fd-200d-2642-fe0f","1f3ca-1f3fe-200d-2642-fe0f","1f3ca-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman swimming","woman-swimming"],u:"1f3ca-200d-2640-fe0f",v:["1f3ca-1f3fb-200d-2640-fe0f","1f3ca-1f3fc-200d-2640-fe0f","1f3ca-1f3fd-200d-2640-fe0f","1f3ca-1f3fe-200d-2640-fe0f","1f3ca-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with ball","person bouncing ball"],u:"26f9-fe0f",v:["26f9-1f3fb","26f9-1f3fc","26f9-1f3fd","26f9-1f3fe","26f9-1f3ff"],a:"0.7"},{n:["man bouncing ball","man-bouncing-ball"],u:"26f9-fe0f-200d-2642-fe0f",v:["26f9-1f3fb-200d-2642-fe0f","26f9-1f3fc-200d-2642-fe0f","26f9-1f3fd-200d-2642-fe0f","26f9-1f3fe-200d-2642-fe0f","26f9-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bouncing ball","woman-bouncing-ball"],u:"26f9-fe0f-200d-2640-fe0f",v:["26f9-1f3fb-200d-2640-fe0f","26f9-1f3fc-200d-2640-fe0f","26f9-1f3fd-200d-2640-fe0f","26f9-1f3fe-200d-2640-fe0f","26f9-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["weight lifter","person lifting weights"],u:"1f3cb-fe0f",v:["1f3cb-1f3fb","1f3cb-1f3fc","1f3cb-1f3fd","1f3cb-1f3fe","1f3cb-1f3ff"],a:"0.7"},{n:["man lifting weights","man-lifting-weights"],u:"1f3cb-fe0f-200d-2642-fe0f",v:["1f3cb-1f3fb-200d-2642-fe0f","1f3cb-1f3fc-200d-2642-fe0f","1f3cb-1f3fd-200d-2642-fe0f","1f3cb-1f3fe-200d-2642-fe0f","1f3cb-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman lifting weights","woman-lifting-weights"],u:"1f3cb-fe0f-200d-2640-fe0f",v:["1f3cb-1f3fb-200d-2640-fe0f","1f3cb-1f3fc-200d-2640-fe0f","1f3cb-1f3fd-200d-2640-fe0f","1f3cb-1f3fe-200d-2640-fe0f","1f3cb-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["bicyclist"],u:"1f6b4",v:["1f6b4-1f3fb","1f6b4-1f3fc","1f6b4-1f3fd","1f6b4-1f3fe","1f6b4-1f3ff"],a:"1.0"},{n:["man biking","man-biking"],u:"1f6b4-200d-2642-fe0f",v:["1f6b4-1f3fb-200d-2642-fe0f","1f6b4-1f3fc-200d-2642-fe0f","1f6b4-1f3fd-200d-2642-fe0f","1f6b4-1f3fe-200d-2642-fe0f","1f6b4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman biking","woman-biking"],u:"1f6b4-200d-2640-fe0f",v:["1f6b4-1f3fb-200d-2640-fe0f","1f6b4-1f3fc-200d-2640-fe0f","1f6b4-1f3fd-200d-2640-fe0f","1f6b4-1f3fe-200d-2640-fe0f","1f6b4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["mountain bicyclist"],u:"1f6b5",v:["1f6b5-1f3fb","1f6b5-1f3fc","1f6b5-1f3fd","1f6b5-1f3fe","1f6b5-1f3ff"],a:"1.0"},{n:["man mountain biking","man-mountain-biking"],u:"1f6b5-200d-2642-fe0f",v:["1f6b5-1f3fb-200d-2642-fe0f","1f6b5-1f3fc-200d-2642-fe0f","1f6b5-1f3fd-200d-2642-fe0f","1f6b5-1f3fe-200d-2642-fe0f","1f6b5-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman mountain biking","woman-mountain-biking"],u:"1f6b5-200d-2640-fe0f",v:["1f6b5-1f3fb-200d-2640-fe0f","1f6b5-1f3fc-200d-2640-fe0f","1f6b5-1f3fd-200d-2640-fe0f","1f6b5-1f3fe-200d-2640-fe0f","1f6b5-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person doing cartwheel"],u:"1f938",v:["1f938-1f3fb","1f938-1f3fc","1f938-1f3fd","1f938-1f3fe","1f938-1f3ff"],a:"3.0"},{n:["man cartwheeling","man-cartwheeling"],u:"1f938-200d-2642-fe0f",v:["1f938-1f3fb-200d-2642-fe0f","1f938-1f3fc-200d-2642-fe0f","1f938-1f3fd-200d-2642-fe0f","1f938-1f3fe-200d-2642-fe0f","1f938-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman cartwheeling","woman-cartwheeling"],u:"1f938-200d-2640-fe0f",v:["1f938-1f3fb-200d-2640-fe0f","1f938-1f3fc-200d-2640-fe0f","1f938-1f3fd-200d-2640-fe0f","1f938-1f3fe-200d-2640-fe0f","1f938-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["wrestlers"],u:"1f93c",a:"3.0"},{n:["men wrestling","man-wrestling"],u:"1f93c-200d-2642-fe0f",a:"4.0"},{n:["women wrestling","woman-wrestling"],u:"1f93c-200d-2640-fe0f",a:"4.0"},{n:["water polo"],u:"1f93d",v:["1f93d-1f3fb","1f93d-1f3fc","1f93d-1f3fd","1f93d-1f3fe","1f93d-1f3ff"],a:"3.0"},{n:["man playing water polo","man-playing-water-polo"],u:"1f93d-200d-2642-fe0f",v:["1f93d-1f3fb-200d-2642-fe0f","1f93d-1f3fc-200d-2642-fe0f","1f93d-1f3fd-200d-2642-fe0f","1f93d-1f3fe-200d-2642-fe0f","1f93d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing water polo","woman-playing-water-polo"],u:"1f93d-200d-2640-fe0f",v:["1f93d-1f3fb-200d-2640-fe0f","1f93d-1f3fc-200d-2640-fe0f","1f93d-1f3fd-200d-2640-fe0f","1f93d-1f3fe-200d-2640-fe0f","1f93d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["handball"],u:"1f93e",v:["1f93e-1f3fb","1f93e-1f3fc","1f93e-1f3fd","1f93e-1f3fe","1f93e-1f3ff"],a:"3.0"},{n:["man playing handball","man-playing-handball"],u:"1f93e-200d-2642-fe0f",v:["1f93e-1f3fb-200d-2642-fe0f","1f93e-1f3fc-200d-2642-fe0f","1f93e-1f3fd-200d-2642-fe0f","1f93e-1f3fe-200d-2642-fe0f","1f93e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing handball","woman-playing-handball"],u:"1f93e-200d-2640-fe0f",v:["1f93e-1f3fb-200d-2640-fe0f","1f93e-1f3fc-200d-2640-fe0f","1f93e-1f3fd-200d-2640-fe0f","1f93e-1f3fe-200d-2640-fe0f","1f93e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["juggling"],u:"1f939",v:["1f939-1f3fb","1f939-1f3fc","1f939-1f3fd","1f939-1f3fe","1f939-1f3ff"],a:"3.0"},{n:["man juggling","man-juggling"],u:"1f939-200d-2642-fe0f",v:["1f939-1f3fb-200d-2642-fe0f","1f939-1f3fc-200d-2642-fe0f","1f939-1f3fd-200d-2642-fe0f","1f939-1f3fe-200d-2642-fe0f","1f939-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman juggling","woman-juggling"],u:"1f939-200d-2640-fe0f",v:["1f939-1f3fb-200d-2640-fe0f","1f939-1f3fc-200d-2640-fe0f","1f939-1f3fd-200d-2640-fe0f","1f939-1f3fe-200d-2640-fe0f","1f939-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person in lotus position"],u:"1f9d8",v:["1f9d8-1f3fb","1f9d8-1f3fc","1f9d8-1f3fd","1f9d8-1f3fe","1f9d8-1f3ff"],a:"5.0"},{n:["man in lotus position"],u:"1f9d8-200d-2642-fe0f",v:["1f9d8-1f3fb-200d-2642-fe0f","1f9d8-1f3fc-200d-2642-fe0f","1f9d8-1f3fd-200d-2642-fe0f","1f9d8-1f3fe-200d-2642-fe0f","1f9d8-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in lotus position"],u:"1f9d8-200d-2640-fe0f",v:["1f9d8-1f3fb-200d-2640-fe0f","1f9d8-1f3fc-200d-2640-fe0f","1f9d8-1f3fd-200d-2640-fe0f","1f9d8-1f3fe-200d-2640-fe0f","1f9d8-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["bath"],u:"1f6c0",v:["1f6c0-1f3fb","1f6c0-1f3fc","1f6c0-1f3fd","1f6c0-1f3fe","1f6c0-1f3ff"],a:"0.6"},{n:["sleeping accommodation"],u:"1f6cc",v:["1f6cc-1f3fb","1f6cc-1f3fc","1f6cc-1f3fd","1f6cc-1f3fe","1f6cc-1f3ff"],a:"1.0"},{n:["people holding hands"],u:"1f9d1-200d-1f91d-200d-1f9d1",v:["1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff"],a:"12.0"},{n:["women holding hands","two women holding hands"],u:"1f46d",v:["1f46d-1f3fb","1f46d-1f3fc","1f46d-1f3fd","1f46d-1f3fe","1f46d-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe"],a:"1.0"},{n:["couple","man and woman holding hands","woman and man holding hands"],u:"1f46b",v:["1f46b-1f3fb","1f46b-1f3fc","1f46b-1f3fd","1f46b-1f3fe","1f46b-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"0.6"},{n:["men holding hands","two men holding hands"],u:"1f46c",v:["1f46c-1f3fb","1f46c-1f3fc","1f46c-1f3fd","1f46c-1f3fe","1f46c-1f3ff","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"1.0"},{n:["kiss","couplekiss"],u:"1f48f",v:["1f48f-1f3fb","1f48f-1f3fc","1f48f-1f3fd","1f48f-1f3fe","1f48f-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-kiss-man","kiss: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["man-kiss-man","kiss: man, man"],u:"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-kiss-woman","kiss: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"],a:"2.0"},{n:["couple with heart"],u:"1f491",v:["1f491-1f3fb","1f491-1f3fc","1f491-1f3fd","1f491-1f3fe","1f491-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-heart-man","couple with heart: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["man-heart-man","couple with heart: man, man"],u:"1f468-200d-2764-fe0f-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-heart-woman","couple with heart: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff"],a:"2.0"},{n:["family"],u:"1f46a",a:"0.6"},{n:["man-woman-boy","family: man, woman, boy"],u:"1f468-200d-1f469-200d-1f466",a:"2.0"},{n:["man-woman-girl","family: man, woman, girl"],u:"1f468-200d-1f469-200d-1f467",a:"2.0"},{n:["man-woman-girl-boy","family: man, woman, girl, boy"],u:"1f468-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["man-woman-boy-boy","family: man, woman, boy, boy"],u:"1f468-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["man-woman-girl-girl","family: man, woman, girl, girl"],u:"1f468-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-man-boy","family: man, man, boy"],u:"1f468-200d-1f468-200d-1f466",a:"2.0"},{n:["man-man-girl","family: man, man, girl"],u:"1f468-200d-1f468-200d-1f467",a:"2.0"},{n:["man-man-girl-boy","family: man, man, girl, boy"],u:"1f468-200d-1f468-200d-1f467-200d-1f466",a:"2.0"},{n:["man-man-boy-boy","family: man, man, boy, boy"],u:"1f468-200d-1f468-200d-1f466-200d-1f466",a:"2.0"},{n:["man-man-girl-girl","family: man, man, girl, girl"],u:"1f468-200d-1f468-200d-1f467-200d-1f467",a:"2.0"},{n:["woman-woman-boy","family: woman, woman, boy"],u:"1f469-200d-1f469-200d-1f466",a:"2.0"},{n:["woman-woman-girl","family: woman, woman, girl"],u:"1f469-200d-1f469-200d-1f467",a:"2.0"},{n:["woman-woman-girl-boy","family: woman, woman, girl, boy"],u:"1f469-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["woman-woman-boy-boy","family: woman, woman, boy, boy"],u:"1f469-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["woman-woman-girl-girl","family: woman, woman, girl, girl"],u:"1f469-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-boy","family: man, boy"],u:"1f468-200d-1f466",a:"4.0"},{n:["man-boy-boy","family: man, boy, boy"],u:"1f468-200d-1f466-200d-1f466",a:"4.0"},{n:["man-girl","family: man, girl"],u:"1f468-200d-1f467",a:"4.0"},{n:["man-girl-boy","family: man, girl, boy"],u:"1f468-200d-1f467-200d-1f466",a:"4.0"},{n:["man-girl-girl","family: man, girl, girl"],u:"1f468-200d-1f467-200d-1f467",a:"4.0"},{n:["woman-boy","family: woman, boy"],u:"1f469-200d-1f466",a:"4.0"},{n:["woman-boy-boy","family: woman, boy, boy"],u:"1f469-200d-1f466-200d-1f466",a:"4.0"},{n:["woman-girl","family: woman, girl"],u:"1f469-200d-1f467",a:"4.0"},{n:["woman-girl-boy","family: woman, girl, boy"],u:"1f469-200d-1f467-200d-1f466",a:"4.0"},{n:["woman-girl-girl","family: woman, girl, girl"],u:"1f469-200d-1f467-200d-1f467",a:"4.0"},{n:["speaking head","speaking head in silhouette"],u:"1f5e3-fe0f",a:"0.7"},{n:["bust in silhouette"],u:"1f464",a:"0.6"},{n:["busts in silhouette"],u:"1f465",a:"1.0"},{n:["people hugging"],u:"1fac2",a:"13.0"},{n:["footprints"],u:"1f463",a:"0.6"}],animals_nature:[{n:["monkey face"],u:"1f435",a:"0.6"},{n:["monkey"],u:"1f412",a:"0.6"},{n:["gorilla"],u:"1f98d",a:"3.0"},{n:["orangutan"],u:"1f9a7",a:"12.0"},{n:["dog","dog face"],u:"1f436",a:"0.6"},{n:["dog","dog2"],u:"1f415",a:"0.7"},{n:["guide dog"],u:"1f9ae",a:"12.0"},{n:["service dog"],u:"1f415-200d-1f9ba",a:"12.0"},{n:["poodle"],u:"1f429",a:"0.6"},{n:["wolf","wolf face"],u:"1f43a",a:"0.6"},{n:["fox face"],u:"1f98a",a:"3.0"},{n:["raccoon"],u:"1f99d",a:"11.0"},{n:["cat","cat face"],u:"1f431",a:"0.6"},{n:["cat","cat2"],u:"1f408",a:"0.7"},{n:["black cat"],u:"1f408-200d-2b1b",a:"13.0"},{n:["lion face"],u:"1f981",a:"1.0"},{n:["tiger","tiger face"],u:"1f42f",a:"0.6"},{n:["tiger","tiger2"],u:"1f405",a:"1.0"},{n:["leopard"],u:"1f406",a:"1.0"},{n:["horse","horse face"],u:"1f434",a:"0.6"},{n:["horse","racehorse"],u:"1f40e",a:"0.6"},{n:["unicorn face"],u:"1f984",a:"1.0"},{n:["zebra face"],u:"1f993",a:"5.0"},{n:["deer"],u:"1f98c",a:"3.0"},{n:["bison"],u:"1f9ac",a:"13.0"},{n:["cow","cow face"],u:"1f42e",a:"0.6"},{n:["ox"],u:"1f402",a:"1.0"},{n:["water buffalo"],u:"1f403",a:"1.0"},{n:["cow","cow2"],u:"1f404",a:"1.0"},{n:["pig","pig face"],u:"1f437",a:"0.6"},{n:["pig","pig2"],u:"1f416",a:"1.0"},{n:["boar"],u:"1f417",a:"0.6"},{n:["pig nose"],u:"1f43d",a:"0.6"},{n:["ram"],u:"1f40f",a:"1.0"},{n:["sheep"],u:"1f411",a:"0.6"},{n:["goat"],u:"1f410",a:"1.0"},{n:["dromedary camel"],u:"1f42a",a:"1.0"},{n:["camel","bactrian camel"],u:"1f42b",a:"0.6"},{n:["llama"],u:"1f999",a:"11.0"},{n:["giraffe face"],u:"1f992",a:"5.0"},{n:["elephant"],u:"1f418",a:"0.6"},{n:["mammoth"],u:"1f9a3",a:"13.0"},{n:["rhinoceros"],u:"1f98f",a:"3.0"},{n:["hippopotamus"],u:"1f99b",a:"11.0"},{n:["mouse","mouse face"],u:"1f42d",a:"0.6"},{n:["mouse","mouse2"],u:"1f401",a:"1.0"},{n:["rat"],u:"1f400",a:"1.0"},{n:["hamster","hamster face"],u:"1f439",a:"0.6"},{n:["rabbit","rabbit face"],u:"1f430",a:"0.6"},{n:["rabbit","rabbit2"],u:"1f407",a:"1.0"},{n:["chipmunk"],u:"1f43f-fe0f",a:"0.7"},{n:["beaver"],u:"1f9ab",a:"13.0"},{n:["hedgehog"],u:"1f994",a:"5.0"},{n:["bat"],u:"1f987",a:"3.0"},{n:["bear","bear face"],u:"1f43b",a:"0.6"},{n:["polar bear"],u:"1f43b-200d-2744-fe0f",a:"13.0"},{n:["koala"],u:"1f428",a:"0.6"},{n:["panda face"],u:"1f43c",a:"0.6"},{n:["sloth"],u:"1f9a5",a:"12.0"},{n:["otter"],u:"1f9a6",a:"12.0"},{n:["skunk"],u:"1f9a8",a:"12.0"},{n:["kangaroo"],u:"1f998",a:"11.0"},{n:["badger"],u:"1f9a1",a:"11.0"},{n:["feet","paw prints"],u:"1f43e",a:"0.6"},{n:["turkey"],u:"1f983",a:"1.0"},{n:["chicken"],u:"1f414",a:"0.6"},{n:["rooster"],u:"1f413",a:"1.0"},{n:["hatching chick"],u:"1f423",a:"0.6"},{n:["baby chick"],u:"1f424",a:"0.6"},{n:["hatched chick","front-facing baby chick"],u:"1f425",a:"0.6"},{n:["bird"],u:"1f426",a:"0.6"},{n:["penguin"],u:"1f427",a:"0.6"},{n:["dove","dove of peace"],u:"1f54a-fe0f",a:"0.7"},{n:["eagle"],u:"1f985",a:"3.0"},{n:["duck"],u:"1f986",a:"3.0"},{n:["swan"],u:"1f9a2",a:"11.0"},{n:["owl"],u:"1f989",a:"3.0"},{n:["dodo"],u:"1f9a4",a:"13.0"},{n:["feather"],u:"1fab6",a:"13.0"},{n:["flamingo"],u:"1f9a9",a:"12.0"},{n:["peacock"],u:"1f99a",a:"11.0"},{n:["parrot"],u:"1f99c",a:"11.0"},{n:["frog","frog face"],u:"1f438",a:"0.6"},{n:["crocodile"],u:"1f40a",a:"1.0"},{n:["turtle"],u:"1f422",a:"0.6"},{n:["lizard"],u:"1f98e",a:"3.0"},{n:["snake"],u:"1f40d",a:"0.6"},{n:["dragon face"],u:"1f432",a:"0.6"},{n:["dragon"],u:"1f409",a:"1.0"},{n:["sauropod"],u:"1f995",a:"5.0"},{n:["t-rex"],u:"1f996",a:"5.0"},{n:["whale","spouting whale"],u:"1f433",a:"0.6"},{n:["whale","whale2"],u:"1f40b",a:"1.0"},{n:["dolphin","flipper"],u:"1f42c",a:"0.6"},{n:["seal"],u:"1f9ad",a:"13.0"},{n:["fish"],u:"1f41f",a:"0.6"},{n:["tropical fish"],u:"1f420",a:"0.6"},{n:["blowfish"],u:"1f421",a:"0.6"},{n:["shark"],u:"1f988",a:"3.0"},{n:["octopus"],u:"1f419",a:"0.6"},{n:["shell","spiral shell"],u:"1f41a",a:"0.6"},{n:["coral"],u:"1fab8",a:"14.0"},{n:["snail"],u:"1f40c",a:"0.6"},{n:["butterfly"],u:"1f98b",a:"3.0"},{n:["bug"],u:"1f41b",a:"0.6"},{n:["ant"],u:"1f41c",a:"0.6"},{n:["bee","honeybee"],u:"1f41d",a:"0.6"},{n:["beetle"],u:"1fab2",a:"13.0"},{n:["ladybug","lady beetle"],u:"1f41e",a:"0.6"},{n:["cricket"],u:"1f997",a:"5.0"},{n:["cockroach"],u:"1fab3",a:"13.0"},{n:["spider"],u:"1f577-fe0f",a:"0.7"},{n:["spider web"],u:"1f578-fe0f",a:"0.7"},{n:["scorpion"],u:"1f982",a:"1.0"},{n:["mosquito"],u:"1f99f",a:"11.0"},{n:["fly"],u:"1fab0",a:"13.0"},{n:["worm"],u:"1fab1",a:"13.0"},{n:["microbe"],u:"1f9a0",a:"11.0"},{n:["bouquet"],u:"1f490",a:"0.6"},{n:["cherry blossom"],u:"1f338",a:"0.6"},{n:["white flower"],u:"1f4ae",a:"0.6"},{n:["lotus"],u:"1fab7",a:"14.0"},{n:["rosette"],u:"1f3f5-fe0f",a:"0.7"},{n:["rose"],u:"1f339",a:"0.6"},{n:["wilted flower"],u:"1f940",a:"3.0"},{n:["hibiscus"],u:"1f33a",a:"0.6"},{n:["sunflower"],u:"1f33b",a:"0.6"},{n:["blossom"],u:"1f33c",a:"0.6"},{n:["tulip"],u:"1f337",a:"0.6"},{n:["seedling"],u:"1f331",a:"0.6"},{n:["potted plant"],u:"1fab4",a:"13.0"},{n:["evergreen tree"],u:"1f332",a:"1.0"},{n:["deciduous tree"],u:"1f333",a:"1.0"},{n:["palm tree"],u:"1f334",a:"0.6"},{n:["cactus"],u:"1f335",a:"0.6"},{n:["ear of rice"],u:"1f33e",a:"0.6"},{n:["herb"],u:"1f33f",a:"0.6"},{n:["shamrock"],u:"2618-fe0f",a:"1.0"},{n:["four leaf clover"],u:"1f340",a:"0.6"},{n:["maple leaf"],u:"1f341",a:"0.6"},{n:["fallen leaf"],u:"1f342",a:"0.6"},{n:["leaves","leaf fluttering in wind"],u:"1f343",a:"0.6"},{n:["empty nest"],u:"1fab9",a:"14.0"},{n:["nest with eggs"],u:"1faba",a:"14.0"}],food_drink:[{n:["grapes"],u:"1f347",a:"0.6"},{n:["melon"],u:"1f348",a:"0.6"},{n:["watermelon"],u:"1f349",a:"0.6"},{n:["tangerine"],u:"1f34a",a:"0.6"},{n:["lemon"],u:"1f34b",a:"1.0"},{n:["banana"],u:"1f34c",a:"0.6"},{n:["pineapple"],u:"1f34d",a:"0.6"},{n:["mango"],u:"1f96d",a:"11.0"},{n:["apple","red apple"],u:"1f34e",a:"0.6"},{n:["green apple"],u:"1f34f",a:"0.6"},{n:["pear"],u:"1f350",a:"1.0"},{n:["peach"],u:"1f351",a:"0.6"},{n:["cherries"],u:"1f352",a:"0.6"},{n:["strawberry"],u:"1f353",a:"0.6"},{n:["blueberries"],u:"1fad0",a:"13.0"},{n:["kiwifruit"],u:"1f95d",a:"3.0"},{n:["tomato"],u:"1f345",a:"0.6"},{n:["olive"],u:"1fad2",a:"13.0"},{n:["coconut"],u:"1f965",a:"5.0"},{n:["avocado"],u:"1f951",a:"3.0"},{n:["eggplant","aubergine"],u:"1f346",a:"0.6"},{n:["potato"],u:"1f954",a:"3.0"},{n:["carrot"],u:"1f955",a:"3.0"},{n:["corn","ear of maize"],u:"1f33d",a:"0.6"},{n:["hot pepper"],u:"1f336-fe0f",a:"0.7"},{n:["bell pepper"],u:"1fad1",a:"13.0"},{n:["cucumber"],u:"1f952",a:"3.0"},{n:["leafy green"],u:"1f96c",a:"11.0"},{n:["broccoli"],u:"1f966",a:"5.0"},{n:["garlic"],u:"1f9c4",a:"12.0"},{n:["onion"],u:"1f9c5",a:"12.0"},{n:["mushroom"],u:"1f344",a:"0.6"},{n:["peanuts"],u:"1f95c",a:"3.0"},{n:["beans"],u:"1fad8",a:"14.0"},{n:["chestnut"],u:"1f330",a:"0.6"},{n:["bread"],u:"1f35e",a:"0.6"},{n:["croissant"],u:"1f950",a:"3.0"},{n:["baguette bread"],u:"1f956",a:"3.0"},{n:["flatbread"],u:"1fad3",a:"13.0"},{n:["pretzel"],u:"1f968",a:"5.0"},{n:["bagel"],u:"1f96f",a:"11.0"},{n:["pancakes"],u:"1f95e",a:"3.0"},{n:["waffle"],u:"1f9c7",a:"12.0"},{n:["cheese wedge"],u:"1f9c0",a:"1.0"},{n:["meat on bone"],u:"1f356",a:"0.6"},{n:["poultry leg"],u:"1f357",a:"0.6"},{n:["cut of meat"],u:"1f969",a:"5.0"},{n:["bacon"],u:"1f953",a:"3.0"},{n:["hamburger"],u:"1f354",a:"0.6"},{n:["fries","french fries"],u:"1f35f",a:"0.6"},{n:["pizza","slice of pizza"],u:"1f355",a:"0.6"},{n:["hotdog","hot dog"],u:"1f32d",a:"1.0"},{n:["sandwich"],u:"1f96a",a:"5.0"},{n:["taco"],u:"1f32e",a:"1.0"},{n:["burrito"],u:"1f32f",a:"1.0"},{n:["tamale"],u:"1fad4",a:"13.0"},{n:["stuffed flatbread"],u:"1f959",a:"3.0"},{n:["falafel"],u:"1f9c6",a:"12.0"},{n:["egg"],u:"1f95a",a:"3.0"},{n:["cooking","fried egg"],u:"1f373",a:"0.6"},{n:["shallow pan of food"],u:"1f958",a:"3.0"},{n:["stew","pot of food"],u:"1f372",a:"0.6"},{n:["fondue"],u:"1fad5",a:"13.0"},{n:["bowl with spoon"],u:"1f963",a:"5.0"},{n:["green salad"],u:"1f957",a:"3.0"},{n:["popcorn"],u:"1f37f",a:"1.0"},{n:["butter"],u:"1f9c8",a:"12.0"},{n:["salt","salt shaker"],u:"1f9c2",a:"11.0"},{n:["canned food"],u:"1f96b",a:"5.0"},{n:["bento","bento box"],u:"1f371",a:"0.6"},{n:["rice cracker"],u:"1f358",a:"0.6"},{n:["rice ball"],u:"1f359",a:"0.6"},{n:["rice","cooked rice"],u:"1f35a",a:"0.6"},{n:["curry","curry and rice"],u:"1f35b",a:"0.6"},{n:["ramen","steaming bowl"],u:"1f35c",a:"0.6"},{n:["spaghetti"],u:"1f35d",a:"0.6"},{n:["sweet potato","roasted sweet potato"],u:"1f360",a:"0.6"},{n:["oden"],u:"1f362",a:"0.6"},{n:["sushi"],u:"1f363",a:"0.6"},{n:["fried shrimp"],u:"1f364",a:"0.6"},{n:["fish cake","fish cake with swirl design"],u:"1f365",a:"0.6"},{n:["moon cake"],u:"1f96e",a:"11.0"},{n:["dango"],u:"1f361",a:"0.6"},{n:["dumpling"],u:"1f95f",a:"5.0"},{n:["fortune cookie"],u:"1f960",a:"5.0"},{n:["takeout box"],u:"1f961",a:"5.0"},{n:["crab"],u:"1f980",a:"1.0"},{n:["lobster"],u:"1f99e",a:"11.0"},{n:["shrimp"],u:"1f990",a:"3.0"},{n:["squid"],u:"1f991",a:"3.0"},{n:["oyster"],u:"1f9aa",a:"12.0"},{n:["icecream","soft ice cream"],u:"1f366",a:"0.6"},{n:["shaved ice"],u:"1f367",a:"0.6"},{n:["ice cream"],u:"1f368",a:"0.6"},{n:["doughnut"],u:"1f369",a:"0.6"},{n:["cookie"],u:"1f36a",a:"0.6"},{n:["birthday","birthday cake"],u:"1f382",a:"0.6"},{n:["cake","shortcake"],u:"1f370",a:"0.6"},{n:["cupcake"],u:"1f9c1",a:"11.0"},{n:["pie"],u:"1f967",a:"5.0"},{n:["chocolate bar"],u:"1f36b",a:"0.6"},{n:["candy"],u:"1f36c",a:"0.6"},{n:["lollipop"],u:"1f36d",a:"0.6"},{n:["custard"],u:"1f36e",a:"0.6"},{n:["honey pot"],u:"1f36f",a:"0.6"},{n:["baby bottle"],u:"1f37c",a:"1.0"},{n:["glass of milk"],u:"1f95b",a:"3.0"},{n:["coffee","hot beverage"],u:"2615",a:"0.6"},{n:["teapot"],u:"1fad6",a:"13.0"},{n:["tea","teacup without handle"],u:"1f375",a:"0.6"},{n:["sake","sake bottle and cup"],u:"1f376",a:"0.6"},{n:["champagne","bottle with popping cork"],u:"1f37e",a:"1.0"},{n:["wine glass"],u:"1f377",a:"0.6"},{n:["cocktail","cocktail glass"],u:"1f378",a:"0.6"},{n:["tropical drink"],u:"1f379",a:"0.6"},{n:["beer","beer mug"],u:"1f37a",a:"0.6"},{n:["beers","clinking beer mugs"],u:"1f37b",a:"0.6"},{n:["clinking glasses"],u:"1f942",a:"3.0"},{n:["tumbler glass"],u:"1f943",a:"3.0"},{n:["pouring liquid"],u:"1fad7",a:"14.0"},{n:["cup with straw"],u:"1f964",a:"5.0"},{n:["bubble tea"],u:"1f9cb",a:"13.0"},{n:["beverage box"],u:"1f9c3",a:"12.0"},{n:["mate drink"],u:"1f9c9",a:"12.0"},{n:["ice cube"],u:"1f9ca",a:"12.0"},{n:["chopsticks"],u:"1f962",a:"5.0"},{n:["knife fork plate","fork and knife with plate"],u:"1f37d-fe0f",a:"0.7"},{n:["fork and knife"],u:"1f374",a:"0.6"},{n:["spoon"],u:"1f944",a:"3.0"},{n:["hocho","knife"],u:"1f52a",a:"0.6"},{n:["jar"],u:"1fad9",a:"14.0"},{n:["amphora"],u:"1f3fa",a:"1.0"}],travel_places:[{n:["earth africa","earth globe europe-africa"],u:"1f30d",a:"0.7"},{n:["earth americas","earth globe americas"],u:"1f30e",a:"0.7"},{n:["earth asia","earth globe asia-australia"],u:"1f30f",a:"0.6"},{n:["globe with meridians"],u:"1f310",a:"1.0"},{n:["world map"],u:"1f5fa-fe0f",a:"0.7"},{n:["japan","silhouette of japan"],u:"1f5fe",a:"0.6"},{n:["compass"],u:"1f9ed",a:"11.0"},{n:["snow-capped mountain","snow capped mountain"],u:"1f3d4-fe0f",a:"0.7"},{n:["mountain"],u:"26f0-fe0f",a:"0.7"},{n:["volcano"],u:"1f30b",a:"0.6"},{n:["mount fuji"],u:"1f5fb",a:"0.6"},{n:["camping"],u:"1f3d5-fe0f",a:"0.7"},{n:["beach with umbrella"],u:"1f3d6-fe0f",a:"0.7"},{n:["desert"],u:"1f3dc-fe0f",a:"0.7"},{n:["desert island"],u:"1f3dd-fe0f",a:"0.7"},{n:["national park"],u:"1f3de-fe0f",a:"0.7"},{n:["stadium"],u:"1f3df-fe0f",a:"0.7"},{n:["classical building"],u:"1f3db-fe0f",a:"0.7"},{n:["building construction"],u:"1f3d7-fe0f",a:"0.7"},{n:["brick","bricks"],u:"1f9f1",a:"11.0"},{n:["rock"],u:"1faa8",a:"13.0"},{n:["wood"],u:"1fab5",a:"13.0"},{n:["hut"],u:"1f6d6",a:"13.0"},{n:["houses","house buildings"],u:"1f3d8-fe0f",a:"0.7"},{n:["derelict house","derelict house building"],u:"1f3da-fe0f",a:"0.7"},{n:["house","house building"],u:"1f3e0",a:"0.6"},{n:["house with garden"],u:"1f3e1",a:"0.6"},{n:["office","office building"],u:"1f3e2",a:"0.6"},{n:["post office","japanese post office"],u:"1f3e3",a:"0.6"},{n:["european post office"],u:"1f3e4",a:"1.0"},{n:["hospital"],u:"1f3e5",a:"0.6"},{n:["bank"],u:"1f3e6",a:"0.6"},{n:["hotel"],u:"1f3e8",a:"0.6"},{n:["love hotel"],u:"1f3e9",a:"0.6"},{n:["convenience store"],u:"1f3ea",a:"0.6"},{n:["school"],u:"1f3eb",a:"0.6"},{n:["department store"],u:"1f3ec",a:"0.6"},{n:["factory"],u:"1f3ed",a:"0.6"},{n:["japanese castle"],u:"1f3ef",a:"0.6"},{n:["european castle"],u:"1f3f0",a:"0.6"},{n:["wedding"],u:"1f492",a:"0.6"},{n:["tokyo tower"],u:"1f5fc",a:"0.6"},{n:["statue of liberty"],u:"1f5fd",a:"0.6"},{n:["church"],u:"26ea",a:"0.6"},{n:["mosque"],u:"1f54c",a:"1.0"},{n:["hindu temple"],u:"1f6d5",a:"12.0"},{n:["synagogue"],u:"1f54d",a:"1.0"},{n:["shinto shrine"],u:"26e9-fe0f",a:"0.7"},{n:["kaaba"],u:"1f54b",a:"1.0"},{n:["fountain"],u:"26f2",a:"0.6"},{n:["tent"],u:"26fa",a:"0.6"},{n:["foggy"],u:"1f301",a:"0.6"},{n:["night with stars"],u:"1f303",a:"0.6"},{n:["cityscape"],u:"1f3d9-fe0f",a:"0.7"},{n:["sunrise over mountains"],u:"1f304",a:"0.6"},{n:["sunrise"],u:"1f305",a:"0.6"},{n:["city sunset","cityscape at dusk"],u:"1f306",a:"0.6"},{n:["city sunrise","sunset over buildings"],u:"1f307",a:"0.6"},{n:["bridge at night"],u:"1f309",a:"0.6"},{n:["hotsprings","hot springs"],u:"2668-fe0f",a:"0.6"},{n:["carousel horse"],u:"1f3a0",a:"0.6"},{n:["playground slide"],u:"1f6dd",a:"14.0"},{n:["ferris wheel"],u:"1f3a1",a:"0.6"},{n:["roller coaster"],u:"1f3a2",a:"0.6"},{n:["barber","barber pole"],u:"1f488",a:"0.6"},{n:["circus tent"],u:"1f3aa",a:"0.6"},{n:["steam locomotive"],u:"1f682",a:"1.0"},{n:["railway car"],u:"1f683",a:"0.6"},{n:["high-speed train","bullettrain side"],u:"1f684",a:"0.6"},{n:["bullettrain front","high-speed train with bullet nose"],u:"1f685",a:"0.6"},{n:["train","train2"],u:"1f686",a:"1.0"},{n:["metro"],u:"1f687",a:"0.6"},{n:["light rail"],u:"1f688",a:"1.0"},{n:["station"],u:"1f689",a:"0.6"},{n:["tram"],u:"1f68a",a:"1.0"},{n:["monorail"],u:"1f69d",a:"1.0"},{n:["mountain railway"],u:"1f69e",a:"1.0"},{n:["train","tram car"],u:"1f68b",a:"1.0"},{n:["bus"],u:"1f68c",a:"0.6"},{n:["oncoming bus"],u:"1f68d",a:"0.7"},{n:["trolleybus"],u:"1f68e",a:"1.0"},{n:["minibus"],u:"1f690",a:"1.0"},{n:["ambulance"],u:"1f691",a:"0.6"},{n:["fire engine"],u:"1f692",a:"0.6"},{n:["police car"],u:"1f693",a:"0.6"},{n:["oncoming police car"],u:"1f694",a:"0.7"},{n:["taxi"],u:"1f695",a:"0.6"},{n:["oncoming taxi"],u:"1f696",a:"1.0"},{n:["car","red car","automobile"],u:"1f697",a:"0.6"},{n:["oncoming automobile"],u:"1f698",a:"0.7"},{n:["blue car","recreational vehicle"],u:"1f699",a:"0.6"},{n:["pickup truck"],u:"1f6fb",a:"13.0"},{n:["truck","delivery truck"],u:"1f69a",a:"0.6"},{n:["articulated lorry"],u:"1f69b",a:"1.0"},{n:["tractor"],u:"1f69c",a:"1.0"},{n:["racing car"],u:"1f3ce-fe0f",a:"0.7"},{n:["motorcycle","racing motorcycle"],u:"1f3cd-fe0f",a:"0.7"},{n:["motor scooter"],u:"1f6f5",a:"3.0"},{n:["manual wheelchair"],u:"1f9bd",a:"12.0"},{n:["motorized wheelchair"],u:"1f9bc",a:"12.0"},{n:["auto rickshaw"],u:"1f6fa",a:"12.0"},{n:["bike","bicycle"],u:"1f6b2",a:"0.6"},{n:["scooter"],u:"1f6f4",a:"3.0"},{n:["skateboard"],u:"1f6f9",a:"11.0"},{n:["roller skate"],u:"1f6fc",a:"13.0"},{n:["busstop","bus stop"],u:"1f68f",a:"0.6"},{n:["motorway"],u:"1f6e3-fe0f",a:"0.7"},{n:["railway track"],u:"1f6e4-fe0f",a:"0.7"},{n:["oil drum"],u:"1f6e2-fe0f",a:"0.7"},{n:["fuelpump","fuel pump"],u:"26fd",a:"0.6"},{n:["wheel"],u:"1f6de",a:"14.0"},{n:["rotating light","police cars revolving light"],u:"1f6a8",a:"0.6"},{n:["traffic light","horizontal traffic light"],u:"1f6a5",a:"0.6"},{n:["vertical traffic light"],u:"1f6a6",a:"1.0"},{n:["octagonal sign"],u:"1f6d1",a:"3.0"},{n:["construction","construction sign"],u:"1f6a7",a:"0.6"},{n:["anchor"],u:"2693",a:"0.6"},{n:["ring buoy"],u:"1f6df",a:"14.0"},{n:["boat","sailboat"],u:"26f5",a:"0.6"},{n:["canoe"],u:"1f6f6",a:"3.0"},{n:["speedboat"],u:"1f6a4",a:"0.6"},{n:["passenger ship"],u:"1f6f3-fe0f",a:"0.7"},{n:["ferry"],u:"26f4-fe0f",a:"0.7"},{n:["motor boat"],u:"1f6e5-fe0f",a:"0.7"},{n:["ship"],u:"1f6a2",a:"0.6"},{n:["airplane"],u:"2708-fe0f",a:"0.6"},{n:["small airplane"],u:"1f6e9-fe0f",a:"0.7"},{n:["airplane departure"],u:"1f6eb",a:"1.0"},{n:["airplane arriving"],u:"1f6ec",a:"1.0"},{n:["parachute"],u:"1fa82",a:"12.0"},{n:["seat"],u:"1f4ba",a:"0.6"},{n:["helicopter"],u:"1f681",a:"1.0"},{n:["suspension railway"],u:"1f69f",a:"1.0"},{n:["mountain cableway"],u:"1f6a0",a:"1.0"},{n:["aerial tramway"],u:"1f6a1",a:"1.0"},{n:["satellite"],u:"1f6f0-fe0f",a:"0.7"},{n:["rocket"],u:"1f680",a:"0.6"},{n:["flying saucer"],u:"1f6f8",a:"5.0"},{n:["bellhop bell"],u:"1f6ce-fe0f",a:"0.7"},{n:["luggage"],u:"1f9f3",a:"11.0"},{n:["hourglass"],u:"231b",a:"0.6"},{n:["hourglass flowing sand","hourglass with flowing sand"],u:"23f3",a:"0.6"},{n:["watch"],u:"231a",a:"0.6"},{n:["alarm clock"],u:"23f0",a:"0.6"},{n:["stopwatch"],u:"23f1-fe0f",a:"1.0"},{n:["timer clock"],u:"23f2-fe0f",a:"1.0"},{n:["mantelpiece clock"],u:"1f570-fe0f",a:"0.7"},{n:["clock12","clock face twelve oclock"],u:"1f55b",a:"0.6"},{n:["clock1230","clock face twelve-thirty"],u:"1f567",a:"0.7"},{n:["clock1","clock face one oclock"],u:"1f550",a:"0.6"},{n:["clock130","clock face one-thirty"],u:"1f55c",a:"0.7"},{n:["clock2","clock face two oclock"],u:"1f551",a:"0.6"},{n:["clock230","clock face two-thirty"],u:"1f55d",a:"0.7"},{n:["clock3","clock face three oclock"],u:"1f552",a:"0.6"},{n:["clock330","clock face three-thirty"],u:"1f55e",a:"0.7"},{n:["clock4","clock face four oclock"],u:"1f553",a:"0.6"},{n:["clock430","clock face four-thirty"],u:"1f55f",a:"0.7"},{n:["clock5","clock face five oclock"],u:"1f554",a:"0.6"},{n:["clock530","clock face five-thirty"],u:"1f560",a:"0.7"},{n:["clock6","clock face six oclock"],u:"1f555",a:"0.6"},{n:["clock630","clock face six-thirty"],u:"1f561",a:"0.7"},{n:["clock7","clock face seven oclock"],u:"1f556",a:"0.6"},{n:["clock730","clock face seven-thirty"],u:"1f562",a:"0.7"},{n:["clock8","clock face eight oclock"],u:"1f557",a:"0.6"},{n:["clock830","clock face eight-thirty"],u:"1f563",a:"0.7"},{n:["clock9","clock face nine oclock"],u:"1f558",a:"0.6"},{n:["clock930","clock face nine-thirty"],u:"1f564",a:"0.7"},{n:["clock10","clock face ten oclock"],u:"1f559",a:"0.6"},{n:["clock1030","clock face ten-thirty"],u:"1f565",a:"0.7"},{n:["clock11","clock face eleven oclock"],u:"1f55a",a:"0.6"},{n:["clock1130","clock face eleven-thirty"],u:"1f566",a:"0.7"},{n:["new moon","new moon symbol"],u:"1f311",a:"0.6"},{n:["waxing crescent moon","waxing crescent moon symbol"],u:"1f312",a:"1.0"},{n:["first quarter moon","first quarter moon symbol"],u:"1f313",a:"0.6"},{n:["moon","waxing gibbous moon","waxing gibbous moon symbol"],u:"1f314",a:"0.6"},{n:["full moon","full moon symbol"],u:"1f315",a:"0.6"},{n:["waning gibbous moon","waning gibbous moon symbol"],u:"1f316",a:"1.0"},{n:["last quarter moon","last quarter moon symbol"],u:"1f317",a:"1.0"},{n:["waning crescent moon","waning crescent moon symbol"],u:"1f318",a:"1.0"},{n:["crescent moon"],u:"1f319",a:"0.6"},{n:["new moon with face"],u:"1f31a",a:"1.0"},{n:["first quarter moon with face"],u:"1f31b",a:"0.6"},{n:["last quarter moon with face"],u:"1f31c",a:"0.7"},{n:["thermometer"],u:"1f321-fe0f",a:"0.7"},{n:["sunny","black sun with rays"],u:"2600-fe0f",a:"0.6"},{n:["full moon with face"],u:"1f31d",a:"1.0"},{n:["sun with face"],u:"1f31e",a:"1.0"},{n:["ringed planet"],u:"1fa90",a:"12.0"},{n:["star","white medium star"],u:"2b50",a:"0.6"},{n:["star2","glowing star"],u:"1f31f",a:"0.6"},{n:["stars","shooting star"],u:"1f320",a:"0.6"},{n:["milky way"],u:"1f30c",a:"0.6"},{n:["cloud"],u:"2601-fe0f",a:"0.6"},{n:["partly sunny","sun behind cloud"],u:"26c5",a:"0.6"},{n:["thunder cloud and rain","cloud with lightning and rain"],u:"26c8-fe0f",a:"0.7"},{n:["mostly sunny","sun small cloud","sun behind small cloud"],u:"1f324-fe0f",a:"0.7"},{n:["barely sunny","sun behind cloud","sun behind large cloud"],u:"1f325-fe0f",a:"0.7"},{n:["partly sunny rain","sun behind rain cloud"],u:"1f326-fe0f",a:"0.7"},{n:["rain cloud","cloud with rain"],u:"1f327-fe0f",a:"0.7"},{n:["snow cloud","cloud with snow"],u:"1f328-fe0f",a:"0.7"},{n:["lightning","lightning cloud","cloud with lightning"],u:"1f329-fe0f",a:"0.7"},{n:["tornado","tornado cloud"],u:"1f32a-fe0f",a:"0.7"},{n:["fog"],u:"1f32b-fe0f",a:"0.7"},{n:["wind face","wind blowing face"],u:"1f32c-fe0f",a:"0.7"},{n:["cyclone"],u:"1f300",a:"0.6"},{n:["rainbow"],u:"1f308",a:"0.6"},{n:["closed umbrella"],u:"1f302",a:"0.6"},{n:["umbrella"],u:"2602-fe0f",a:"0.7"},{n:["umbrella with rain drops"],u:"2614",a:"0.6"},{n:["umbrella on ground"],u:"26f1-fe0f",a:"0.7"},{n:["zap","high voltage sign"],u:"26a1",a:"0.6"},{n:["snowflake"],u:"2744-fe0f",a:"0.6"},{n:["snowman"],u:"2603-fe0f",a:"0.7"},{n:["snowman without snow"],u:"26c4",a:"0.6"},{n:["comet"],u:"2604-fe0f",a:"1.0"},{n:["fire"],u:"1f525",a:"0.6"},{n:["droplet"],u:"1f4a7",a:"0.6"},{n:["ocean","water wave"],u:"1f30a",a:"0.6"}],activities:[{n:["jack-o-lantern","jack o lantern"],u:"1f383",a:"0.6"},{n:["christmas tree"],u:"1f384",a:"0.6"},{n:["fireworks"],u:"1f386",a:"0.6"},{n:["sparkler","firework sparkler"],u:"1f387",a:"0.6"},{n:["firecracker"],u:"1f9e8",a:"11.0"},{n:["sparkles"],u:"2728",a:"0.6"},{n:["balloon"],u:"1f388",a:"0.6"},{n:["tada","party popper"],u:"1f389",a:"0.6"},{n:["confetti ball"],u:"1f38a",a:"0.6"},{n:["tanabata tree"],u:"1f38b",a:"0.6"},{n:["bamboo","pine decoration"],u:"1f38d",a:"0.6"},{n:["dolls","japanese dolls"],u:"1f38e",a:"0.6"},{n:["flags","carp streamer"],u:"1f38f",a:"0.6"},{n:["wind chime"],u:"1f390",a:"0.6"},{n:["rice scene","moon viewing ceremony"],u:"1f391",a:"0.6"},{n:["red envelope","red gift envelope"],u:"1f9e7",a:"11.0"},{n:["ribbon"],u:"1f380",a:"0.6"},{n:["gift","wrapped present"],u:"1f381",a:"0.6"},{n:["reminder ribbon"],u:"1f397-fe0f",a:"0.7"},{n:["admission tickets"],u:"1f39f-fe0f",a:"0.7"},{n:["ticket"],u:"1f3ab",a:"0.6"},{n:["medal","military medal"],u:"1f396-fe0f",a:"0.7"},{n:["trophy"],u:"1f3c6",a:"0.6"},{n:["sports medal"],u:"1f3c5",a:"1.0"},{n:["first place medal"],u:"1f947",a:"3.0"},{n:["second place medal"],u:"1f948",a:"3.0"},{n:["third place medal"],u:"1f949",a:"3.0"},{n:["soccer","soccer ball"],u:"26bd",a:"0.6"},{n:["baseball"],u:"26be",a:"0.6"},{n:["softball"],u:"1f94e",a:"11.0"},{n:["basketball","basketball and hoop"],u:"1f3c0",a:"0.6"},{n:["volleyball"],u:"1f3d0",a:"1.0"},{n:["football","american football"],u:"1f3c8",a:"0.6"},{n:["rugby football"],u:"1f3c9",a:"1.0"},{n:["tennis","tennis racquet and ball"],u:"1f3be",a:"0.6"},{n:["flying disc"],u:"1f94f",a:"11.0"},{n:["bowling"],u:"1f3b3",a:"0.6"},{n:["cricket bat and ball"],u:"1f3cf",a:"1.0"},{n:["field hockey stick and ball"],u:"1f3d1",a:"1.0"},{n:["ice hockey stick and puck"],u:"1f3d2",a:"1.0"},{n:["lacrosse","lacrosse stick and ball"],u:"1f94d",a:"11.0"},{n:["table tennis paddle and ball"],u:"1f3d3",a:"1.0"},{n:["badminton racquet and shuttlecock"],u:"1f3f8",a:"1.0"},{n:["boxing glove"],u:"1f94a",a:"3.0"},{n:["martial arts uniform"],u:"1f94b",a:"3.0"},{n:["goal net"],u:"1f945",a:"3.0"},{n:["golf","flag in hole"],u:"26f3",a:"0.6"},{n:["ice skate"],u:"26f8-fe0f",a:"0.7"},{n:["fishing pole and fish"],u:"1f3a3",a:"0.6"},{n:["diving mask"],u:"1f93f",a:"12.0"},{n:["running shirt with sash"],u:"1f3bd",a:"0.6"},{n:["ski","ski and ski boot"],u:"1f3bf",a:"0.6"},{n:["sled"],u:"1f6f7",a:"5.0"},{n:["curling stone"],u:"1f94c",a:"5.0"},{n:["dart","direct hit"],u:"1f3af",a:"0.6"},{n:["yo-yo"],u:"1fa80",a:"12.0"},{n:["kite"],u:"1fa81",a:"12.0"},{n:["8ball","billiards"],u:"1f3b1",a:"0.6"},{n:["crystal ball"],u:"1f52e",a:"0.6"},{n:["magic wand"],u:"1fa84",a:"13.0"},{n:["nazar amulet"],u:"1f9ff",a:"11.0"},{n:["hamsa"],u:"1faac",a:"14.0"},{n:["video game"],u:"1f3ae",a:"0.6"},{n:["joystick"],u:"1f579-fe0f",a:"0.7"},{n:["slot machine"],u:"1f3b0",a:"0.6"},{n:["game die"],u:"1f3b2",a:"0.6"},{n:["jigsaw","jigsaw puzzle piece"],u:"1f9e9",a:"11.0"},{n:["teddy bear"],u:"1f9f8",a:"11.0"},{n:["pinata"],u:"1fa85",a:"13.0"},{n:["mirror ball"],u:"1faa9",a:"14.0"},{n:["nesting dolls"],u:"1fa86",a:"13.0"},{n:["spades","black spade suit"],u:"2660-fe0f",a:"0.6"},{n:["hearts","black heart suit"],u:"2665-fe0f",a:"0.6"},{n:["diamonds","black diamond suit"],u:"2666-fe0f",a:"0.6"},{n:["clubs","black club suit"],u:"2663-fe0f",a:"0.6"},{n:["chess pawn"],u:"265f-fe0f",a:"11.0"},{n:["black joker","playing card black joker"],u:"1f0cf",a:"0.6"},{n:["mahjong","mahjong tile red dragon"],u:"1f004",a:"0.6"},{n:["flower playing cards"],u:"1f3b4",a:"0.6"},{n:["performing arts"],u:"1f3ad",a:"0.6"},{n:["framed picture","frame with picture"],u:"1f5bc-fe0f",a:"0.7"},{n:["art","artist palette"],u:"1f3a8",a:"0.6"},{n:["thread","spool of thread"],u:"1f9f5",a:"11.0"},{n:["sewing needle"],u:"1faa1",a:"13.0"},{n:["yarn","ball of yarn"],u:"1f9f6",a:"11.0"},{n:["knot"],u:"1faa2",a:"13.0"}],objects:[{n:["eyeglasses"],u:"1f453",a:"0.6"},{n:["sunglasses","dark sunglasses"],u:"1f576-fe0f",a:"0.7"},{n:["goggles"],u:"1f97d",a:"11.0"},{n:["lab coat"],u:"1f97c",a:"11.0"},{n:["safety vest"],u:"1f9ba",a:"12.0"},{n:["necktie"],u:"1f454",a:"0.6"},{n:["shirt","tshirt","t-shirt"],u:"1f455",a:"0.6"},{n:["jeans"],u:"1f456",a:"0.6"},{n:["scarf"],u:"1f9e3",a:"5.0"},{n:["gloves"],u:"1f9e4",a:"5.0"},{n:["coat"],u:"1f9e5",a:"5.0"},{n:["socks"],u:"1f9e6",a:"5.0"},{n:["dress"],u:"1f457",a:"0.6"},{n:["kimono"],u:"1f458",a:"0.6"},{n:["sari"],u:"1f97b",a:"12.0"},{n:["one-piece swimsuit"],u:"1fa71",a:"12.0"},{n:["briefs"],u:"1fa72",a:"12.0"},{n:["shorts"],u:"1fa73",a:"12.0"},{n:["bikini"],u:"1f459",a:"0.6"},{n:["womans clothes"],u:"1f45a",a:"0.6"},{n:["purse"],u:"1f45b",a:"0.6"},{n:["handbag"],u:"1f45c",a:"0.6"},{n:["pouch"],u:"1f45d",a:"0.6"},{n:["shopping bags"],u:"1f6cd-fe0f",a:"0.7"},{n:["school satchel"],u:"1f392",a:"0.6"},{n:["thong sandal"],u:"1fa74",a:"13.0"},{n:["shoe","mans shoe"],u:"1f45e",a:"0.6"},{n:["athletic shoe"],u:"1f45f",a:"0.6"},{n:["hiking boot"],u:"1f97e",a:"11.0"},{n:["flat shoe","womans flat shoe"],u:"1f97f",a:"11.0"},{n:["high heel","high-heeled shoe"],u:"1f460",a:"0.6"},{n:["sandal","womans sandal"],u:"1f461",a:"0.6"},{n:["ballet shoes"],u:"1fa70",a:"12.0"},{n:["boot","womans boots"],u:"1f462",a:"0.6"},{n:["crown"],u:"1f451",a:"0.6"},{n:["womans hat"],u:"1f452",a:"0.6"},{n:["tophat","top hat"],u:"1f3a9",a:"0.6"},{n:["mortar board","graduation cap"],u:"1f393",a:"0.6"},{n:["billed cap"],u:"1f9e2",a:"5.0"},{n:["military helmet"],u:"1fa96",a:"13.0"},{n:["rescue worker’s helmet","helmet with white cross"],u:"26d1-fe0f",a:"0.7"},{n:["prayer beads"],u:"1f4ff",a:"1.0"},{n:["lipstick"],u:"1f484",a:"0.6"},{n:["ring"],u:"1f48d",a:"0.6"},{n:["gem","gem stone"],u:"1f48e",a:"0.6"},{n:["mute","speaker with cancellation stroke"],u:"1f507",a:"1.0"},{n:["speaker"],u:"1f508",a:"0.7"},{n:["sound","speaker with one sound wave"],u:"1f509",a:"1.0"},{n:["loud sound","speaker with three sound waves"],u:"1f50a",a:"0.6"},{n:["loudspeaker","public address loudspeaker"],u:"1f4e2",a:"0.6"},{n:["mega","cheering megaphone"],u:"1f4e3",a:"0.6"},{n:["postal horn"],u:"1f4ef",a:"1.0"},{n:["bell"],u:"1f514",a:"0.6"},{n:["no bell","bell with cancellation stroke"],u:"1f515",a:"1.0"},{n:["musical score"],u:"1f3bc",a:"0.6"},{n:["musical note"],u:"1f3b5",a:"0.6"},{n:["notes","multiple musical notes"],u:"1f3b6",a:"0.6"},{n:["studio microphone"],u:"1f399-fe0f",a:"0.7"},{n:["level slider"],u:"1f39a-fe0f",a:"0.7"},{n:["control knobs"],u:"1f39b-fe0f",a:"0.7"},{n:["microphone"],u:"1f3a4",a:"0.6"},{n:["headphone","headphones"],u:"1f3a7",a:"0.6"},{n:["radio"],u:"1f4fb",a:"0.6"},{n:["saxophone"],u:"1f3b7",a:"0.6"},{n:["accordion"],u:"1fa97",a:"13.0"},{n:["guitar"],u:"1f3b8",a:"0.6"},{n:["musical keyboard"],u:"1f3b9",a:"0.6"},{n:["trumpet"],u:"1f3ba",a:"0.6"},{n:["violin"],u:"1f3bb",a:"0.6"},{n:["banjo"],u:"1fa95",a:"12.0"},{n:["drum with drumsticks"],u:"1f941",a:"3.0"},{n:["long drum"],u:"1fa98",a:"13.0"},{n:["iphone","mobile phone"],u:"1f4f1",a:"0.6"},{n:["calling","mobile phone with rightwards arrow at left"],u:"1f4f2",a:"0.6"},{n:["phone","telephone","black telephone"],u:"260e-fe0f",a:"0.6"},{n:["telephone receiver"],u:"1f4de",a:"0.6"},{n:["pager"],u:"1f4df",a:"0.6"},{n:["fax","fax machine"],u:"1f4e0",a:"0.6"},{n:["battery"],u:"1f50b",a:"0.6"},{n:["low battery"],u:"1faab",a:"14.0"},{n:["electric plug"],u:"1f50c",a:"0.6"},{n:["computer","personal computer"],u:"1f4bb",a:"0.6"},{n:["desktop computer"],u:"1f5a5-fe0f",a:"0.7"},{n:["printer"],u:"1f5a8-fe0f",a:"0.7"},{n:["keyboard"],u:"2328-fe0f",a:"1.0"},{n:["computer mouse","three button mouse"],u:"1f5b1-fe0f",a:"0.7"},{n:["trackball"],u:"1f5b2-fe0f",a:"0.7"},{n:["minidisc"],u:"1f4bd",a:"0.6"},{n:["floppy disk"],u:"1f4be",a:"0.6"},{n:["cd","optical disc"],u:"1f4bf",a:"0.6"},{n:["dvd"],u:"1f4c0",a:"0.6"},{n:["abacus"],u:"1f9ee",a:"11.0"},{n:["movie camera"],u:"1f3a5",a:"0.6"},{n:["film frames"],u:"1f39e-fe0f",a:"0.7"},{n:["film projector"],u:"1f4fd-fe0f",a:"0.7"},{n:["clapper","clapper board"],u:"1f3ac",a:"0.6"},{n:["tv","television"],u:"1f4fa",a:"0.6"},{n:["camera"],u:"1f4f7",a:"0.6"},{n:["camera with flash"],u:"1f4f8",a:"1.0"},{n:["video camera"],u:"1f4f9",a:"0.6"},{n:["vhs","videocassette"],u:"1f4fc",a:"0.6"},{n:["mag","left-pointing magnifying glass"],u:"1f50d",a:"0.6"},{n:["mag right","right-pointing magnifying glass"],u:"1f50e",a:"0.6"},{n:["candle"],u:"1f56f-fe0f",a:"0.7"},{n:["bulb","electric light bulb"],u:"1f4a1",a:"0.6"},{n:["flashlight","electric torch"],u:"1f526",a:"0.6"},{n:["lantern","izakaya lantern"],u:"1f3ee",a:"0.6"},{n:["diya lamp"],u:"1fa94",a:"12.0"},{n:["notebook with decorative cover"],u:"1f4d4",a:"0.6"},{n:["closed book"],u:"1f4d5",a:"0.6"},{n:["book","open book"],u:"1f4d6",a:"0.6"},{n:["green book"],u:"1f4d7",a:"0.6"},{n:["blue book"],u:"1f4d8",a:"0.6"},{n:["orange book"],u:"1f4d9",a:"0.6"},{n:["books"],u:"1f4da",a:"0.6"},{n:["notebook"],u:"1f4d3",a:"0.6"},{n:["ledger"],u:"1f4d2",a:"0.6"},{n:["page with curl"],u:"1f4c3",a:"0.6"},{n:["scroll"],u:"1f4dc",a:"0.6"},{n:["page facing up"],u:"1f4c4",a:"0.6"},{n:["newspaper"],u:"1f4f0",a:"0.6"},{n:["rolled-up newspaper","rolled up newspaper"],u:"1f5de-fe0f",a:"0.7"},{n:["bookmark tabs"],u:"1f4d1",a:"0.6"},{n:["bookmark"],u:"1f516",a:"0.6"},{n:["label"],u:"1f3f7-fe0f",a:"0.7"},{n:["moneybag","money bag"],u:"1f4b0",a:"0.6"},{n:["coin"],u:"1fa99",a:"13.0"},{n:["yen","banknote with yen sign"],u:"1f4b4",a:"0.6"},{n:["dollar","banknote with dollar sign"],u:"1f4b5",a:"0.6"},{n:["euro","banknote with euro sign"],u:"1f4b6",a:"1.0"},{n:["pound","banknote with pound sign"],u:"1f4b7",a:"1.0"},{n:["money with wings"],u:"1f4b8",a:"0.6"},{n:["credit card"],u:"1f4b3",a:"0.6"},{n:["receipt"],u:"1f9fe",a:"11.0"},{n:["chart","chart with upwards trend and yen sign"],u:"1f4b9",a:"0.6"},{n:["email","envelope"],u:"2709-fe0f",a:"0.6"},{n:["e-mail","e-mail symbol"],u:"1f4e7",a:"0.6"},{n:["incoming envelope"],u:"1f4e8",a:"0.6"},{n:["envelope with arrow","envelope with downwards arrow above"],u:"1f4e9",a:"0.6"},{n:["outbox tray"],u:"1f4e4",a:"0.6"},{n:["inbox tray"],u:"1f4e5",a:"0.6"},{n:["package"],u:"1f4e6",a:"0.6"},{n:["mailbox","closed mailbox with raised flag"],u:"1f4eb",a:"0.6"},{n:["mailbox closed","closed mailbox with lowered flag"],u:"1f4ea",a:"0.6"},{n:["mailbox with mail","open mailbox with raised flag"],u:"1f4ec",a:"0.7"},{n:["mailbox with no mail","open mailbox with lowered flag"],u:"1f4ed",a:"0.7"},{n:["postbox"],u:"1f4ee",a:"0.6"},{n:["ballot box with ballot"],u:"1f5f3-fe0f",a:"0.7"},{n:["pencil","pencil2"],u:"270f-fe0f",a:"0.6"},{n:["black nib"],u:"2712-fe0f",a:"0.6"},{n:["fountain pen","lower left fountain pen"],u:"1f58b-fe0f",a:"0.7"},{n:["pen","lower left ballpoint pen"],u:"1f58a-fe0f",a:"0.7"},{n:["paintbrush","lower left paintbrush"],u:"1f58c-fe0f",a:"0.7"},{n:["crayon","lower left crayon"],u:"1f58d-fe0f",a:"0.7"},{n:["memo","pencil"],u:"1f4dd",a:"0.6"},{n:["briefcase"],u:"1f4bc",a:"0.6"},{n:["file folder"],u:"1f4c1",a:"0.6"},{n:["open file folder"],u:"1f4c2",a:"0.6"},{n:["card index dividers"],u:"1f5c2-fe0f",a:"0.7"},{n:["date","calendar"],u:"1f4c5",a:"0.6"},{n:["calendar","tear-off calendar"],u:"1f4c6",a:"0.6"},{n:["spiral notepad","spiral note pad"],u:"1f5d2-fe0f",a:"0.7"},{n:["spiral calendar","spiral calendar pad"],u:"1f5d3-fe0f",a:"0.7"},{n:["card index"],u:"1f4c7",a:"0.6"},{n:["chart with upwards trend"],u:"1f4c8",a:"0.6"},{n:["chart with downwards trend"],u:"1f4c9",a:"0.6"},{n:["bar chart"],u:"1f4ca",a:"0.6"},{n:["clipboard"],u:"1f4cb",a:"0.6"},{n:["pushpin"],u:"1f4cc",a:"0.6"},{n:["round pushpin"],u:"1f4cd",a:"0.6"},{n:["paperclip"],u:"1f4ce",a:"0.6"},{n:["linked paperclips"],u:"1f587-fe0f",a:"0.7"},{n:["straight ruler"],u:"1f4cf",a:"0.6"},{n:["triangular ruler"],u:"1f4d0",a:"0.6"},{n:["scissors","black scissors"],u:"2702-fe0f",a:"0.6"},{n:["card file box"],u:"1f5c3-fe0f",a:"0.7"},{n:["file cabinet"],u:"1f5c4-fe0f",a:"0.7"},{n:["wastebasket"],u:"1f5d1-fe0f",a:"0.7"},{n:["lock"],u:"1f512",a:"0.6"},{n:["unlock","open lock"],u:"1f513",a:"0.6"},{n:["lock with ink pen"],u:"1f50f",a:"0.6"},{n:["closed lock with key"],u:"1f510",a:"0.6"},{n:["key"],u:"1f511",a:"0.6"},{n:["old key"],u:"1f5dd-fe0f",a:"0.7"},{n:["hammer"],u:"1f528",a:"0.6"},{n:["axe"],u:"1fa93",a:"12.0"},{n:["pick"],u:"26cf-fe0f",a:"0.7"},{n:["hammer and pick"],u:"2692-fe0f",a:"1.0"},{n:["hammer and wrench"],u:"1f6e0-fe0f",a:"0.7"},{n:["dagger","dagger knife"],u:"1f5e1-fe0f",a:"0.7"},{n:["crossed swords"],u:"2694-fe0f",a:"1.0"},{n:["gun","pistol"],u:"1f52b",a:"0.6"},{n:["boomerang"],u:"1fa83",a:"13.0"},{n:["bow and arrow"],u:"1f3f9",a:"1.0"},{n:["shield"],u:"1f6e1-fe0f",a:"0.7"},{n:["carpentry saw"],u:"1fa9a",a:"13.0"},{n:["wrench"],u:"1f527",a:"0.6"},{n:["screwdriver"],u:"1fa9b",a:"13.0"},{n:["nut and bolt"],u:"1f529",a:"0.6"},{n:["gear"],u:"2699-fe0f",a:"1.0"},{n:["clamp","compression"],u:"1f5dc-fe0f",a:"0.7"},{n:["scales","balance scale"],u:"2696-fe0f",a:"1.0"},{n:["probing cane"],u:"1f9af",a:"12.0"},{n:["link","link symbol"],u:"1f517",a:"0.6"},{n:["chains"],u:"26d3-fe0f",a:"0.7"},{n:["hook"],u:"1fa9d",a:"13.0"},{n:["toolbox"],u:"1f9f0",a:"11.0"},{n:["magnet"],u:"1f9f2",a:"11.0"},{n:["ladder"],u:"1fa9c",a:"13.0"},{n:["alembic"],u:"2697-fe0f",a:"1.0"},{n:["test tube"],u:"1f9ea",a:"11.0"},{n:["petri dish"],u:"1f9eb",a:"11.0"},{n:["dna","dna double helix"],u:"1f9ec",a:"11.0"},{n:["microscope"],u:"1f52c",a:"1.0"},{n:["telescope"],u:"1f52d",a:"1.0"},{n:["satellite antenna"],u:"1f4e1",a:"0.6"},{n:["syringe"],u:"1f489",a:"0.6"},{n:["drop of blood"],u:"1fa78",a:"12.0"},{n:["pill"],u:"1f48a",a:"0.6"},{n:["adhesive bandage"],u:"1fa79",a:"12.0"},{n:["crutch"],u:"1fa7c",a:"14.0"},{n:["stethoscope"],u:"1fa7a",a:"12.0"},{n:["x-ray"],u:"1fa7b",a:"14.0"},{n:["door"],u:"1f6aa",a:"0.6"},{n:["elevator"],u:"1f6d7",a:"13.0"},{n:["mirror"],u:"1fa9e",a:"13.0"},{n:["window"],u:"1fa9f",a:"13.0"},{n:["bed"],u:"1f6cf-fe0f",a:"0.7"},{n:["couch and lamp"],u:"1f6cb-fe0f",a:"0.7"},{n:["chair"],u:"1fa91",a:"12.0"},{n:["toilet"],u:"1f6bd",a:"0.6"},{n:["plunger"],u:"1faa0",a:"13.0"},{n:["shower"],u:"1f6bf",a:"1.0"},{n:["bathtub"],u:"1f6c1",a:"1.0"},{n:["mouse trap"],u:"1faa4",a:"13.0"},{n:["razor"],u:"1fa92",a:"12.0"},{n:["lotion bottle"],u:"1f9f4",a:"11.0"},{n:["safety pin"],u:"1f9f7",a:"11.0"},{n:["broom"],u:"1f9f9",a:"11.0"},{n:["basket"],u:"1f9fa",a:"11.0"},{n:["roll of paper"],u:"1f9fb",a:"11.0"},{n:["bucket"],u:"1faa3",a:"13.0"},{n:["soap","bar of soap"],u:"1f9fc",a:"11.0"},{n:["bubbles"],u:"1fae7",a:"14.0"},{n:["toothbrush"],u:"1faa5",a:"13.0"},{n:["sponge"],u:"1f9fd",a:"11.0"},{n:["fire extinguisher"],u:"1f9ef",a:"11.0"},{n:["shopping trolley"],u:"1f6d2",a:"3.0"},{n:["smoking","smoking symbol"],u:"1f6ac",a:"0.6"},{n:["coffin"],u:"26b0-fe0f",a:"1.0"},{n:["headstone"],u:"1faa6",a:"13.0"},{n:["funeral urn"],u:"26b1-fe0f",a:"1.0"},{n:["moyai"],u:"1f5ff",a:"0.6"},{n:["placard"],u:"1faa7",a:"13.0"},{n:["identification card"],u:"1faaa",a:"14.0"}],symbols:[{n:["atm","automated teller machine"],u:"1f3e7",a:"0.6"},{n:["put litter in its place","put litter in its place symbol"],u:"1f6ae",a:"1.0"},{n:["potable water","potable water symbol"],u:"1f6b0",a:"1.0"},{n:["wheelchair","wheelchair symbol"],u:"267f",a:"0.6"},{n:["mens","mens symbol"],u:"1f6b9",a:"0.6"},{n:["womens","womens symbol"],u:"1f6ba",a:"0.6"},{n:["restroom"],u:"1f6bb",a:"0.6"},{n:["baby symbol"],u:"1f6bc",a:"0.6"},{n:["wc","water closet"],u:"1f6be",a:"0.6"},{n:["passport control"],u:"1f6c2",a:"1.0"},{n:["customs"],u:"1f6c3",a:"1.0"},{n:["baggage claim"],u:"1f6c4",a:"1.0"},{n:["left luggage"],u:"1f6c5",a:"1.0"},{n:["warning","warning sign"],u:"26a0-fe0f",a:"0.6"},{n:["children crossing"],u:"1f6b8",a:"1.0"},{n:["no entry"],u:"26d4",a:"0.6"},{n:["no entry sign"],u:"1f6ab",a:"0.6"},{n:["no bicycles"],u:"1f6b3",a:"1.0"},{n:["no smoking","no smoking symbol"],u:"1f6ad",a:"0.6"},{n:["do not litter","do not litter symbol"],u:"1f6af",a:"1.0"},{n:["non-potable water","non-potable water symbol"],u:"1f6b1",a:"1.0"},{n:["no pedestrians"],u:"1f6b7",a:"1.0"},{n:["no mobile phones"],u:"1f4f5",a:"1.0"},{n:["underage","no one under eighteen symbol"],u:"1f51e",a:"0.6"},{n:["radioactive","radioactive sign"],u:"2622-fe0f",a:"1.0"},{n:["biohazard","biohazard sign"],u:"2623-fe0f",a:"1.0"},{n:["arrow up","upwards black arrow"],u:"2b06-fe0f",a:"0.6"},{n:["north east arrow","arrow upper right"],u:"2197-fe0f",a:"0.6"},{n:["arrow right","black rightwards arrow"],u:"27a1-fe0f",a:"0.6"},{n:["south east arrow","arrow lower right"],u:"2198-fe0f",a:"0.6"},{n:["arrow down","downwards black arrow"],u:"2b07-fe0f",a:"0.6"},{n:["south west arrow","arrow lower left"],u:"2199-fe0f",a:"0.6"},{n:["arrow left","leftwards black arrow"],u:"2b05-fe0f",a:"0.6"},{n:["north west arrow","arrow upper left"],u:"2196-fe0f",a:"0.6"},{n:["up down arrow","arrow up down"],u:"2195-fe0f",a:"0.6"},{n:["left right arrow"],u:"2194-fe0f",a:"0.6"},{n:["leftwards arrow with hook"],u:"21a9-fe0f",a:"0.6"},{n:["arrow right hook","rightwards arrow with hook"],u:"21aa-fe0f",a:"0.6"},{n:["arrow heading up","arrow pointing rightwards then curving upwards"],u:"2934-fe0f",a:"0.6"},{n:["arrow heading down","arrow pointing rightwards then curving downwards"],u:"2935-fe0f",a:"0.6"},{n:["arrows clockwise","clockwise downwards and upwards open circle arrows"],u:"1f503",a:"0.6"},{n:["arrows counterclockwise","anticlockwise downwards and upwards open circle arrows"],u:"1f504",a:"1.0"},{n:["back","back with leftwards arrow above"],u:"1f519",a:"0.6"},{n:["end","end with leftwards arrow above"],u:"1f51a",a:"0.6"},{n:["on","on with exclamation mark with left right arrow above"],u:"1f51b",a:"0.6"},{n:["soon","soon with rightwards arrow above"],u:"1f51c",a:"0.6"},{n:["top","top with upwards arrow above"],u:"1f51d",a:"0.6"},{n:["place of worship"],u:"1f6d0",a:"1.0"},{n:["atom symbol"],u:"269b-fe0f",a:"1.0"},{n:["om","om symbol"],u:"1f549-fe0f",a:"0.7"},{n:["star of david"],u:"2721-fe0f",a:"0.7"},{n:["wheel of dharma"],u:"2638-fe0f",a:"0.7"},{n:["yin yang"],u:"262f-fe0f",a:"0.7"},{n:["latin cross"],u:"271d-fe0f",a:"0.7"},{n:["orthodox cross"],u:"2626-fe0f",a:"1.0"},{n:["star and crescent"],u:"262a-fe0f",a:"0.7"},{n:["peace symbol"],u:"262e-fe0f",a:"1.0"},{n:["menorah with nine branches"],u:"1f54e",a:"1.0"},{n:["six pointed star","six pointed star with middle dot"],u:"1f52f",a:"0.6"},{n:["aries"],u:"2648",a:"0.6"},{n:["taurus"],u:"2649",a:"0.6"},{n:["gemini"],u:"264a",a:"0.6"},{n:["cancer"],u:"264b",a:"0.6"},{n:["leo"],u:"264c",a:"0.6"},{n:["virgo"],u:"264d",a:"0.6"},{n:["libra"],u:"264e",a:"0.6"},{n:["scorpius"],u:"264f",a:"0.6"},{n:["sagittarius"],u:"2650",a:"0.6"},{n:["capricorn"],u:"2651",a:"0.6"},{n:["aquarius"],u:"2652",a:"0.6"},{n:["pisces"],u:"2653",a:"0.6"},{n:["ophiuchus"],u:"26ce",a:"0.6"},{n:["twisted rightwards arrows"],u:"1f500",a:"1.0"},{n:["repeat","clockwise rightwards and leftwards open circle arrows"],u:"1f501",a:"1.0"},{n:["repeat one","clockwise rightwards and leftwards open circle arrows with circled one overlay"],u:"1f502",a:"1.0"},{n:["arrow forward","black right-pointing triangle"],u:"25b6-fe0f",a:"0.6"},{n:["fast forward","black right-pointing double triangle"],u:"23e9",a:"0.6"},{n:["next track button","black right pointing double triangle with vertical bar"],u:"23ed-fe0f",a:"0.7"},{n:["play or pause button","black right pointing triangle with double vertical bar"],u:"23ef-fe0f",a:"1.0"},{n:["arrow backward","black left-pointing triangle"],u:"25c0-fe0f",a:"0.6"},{n:["rewind","black left-pointing double triangle"],u:"23ea",a:"0.6"},{n:["last track button","black left pointing double triangle with vertical bar"],u:"23ee-fe0f",a:"0.7"},{n:["arrow up small","up-pointing small red triangle"],u:"1f53c",a:"0.6"},{n:["arrow double up","black up-pointing double triangle"],u:"23eb",a:"0.6"},{n:["arrow down small","down-pointing small red triangle"],u:"1f53d",a:"0.6"},{n:["arrow double down","black down-pointing double triangle"],u:"23ec",a:"0.6"},{n:["pause button","double vertical bar"],u:"23f8-fe0f",a:"0.7"},{n:["stop button","black square for stop"],u:"23f9-fe0f",a:"0.7"},{n:["record button","black circle for record"],u:"23fa-fe0f",a:"0.7"},{n:["eject","eject button"],u:"23cf-fe0f",a:"1.0"},{n:["cinema"],u:"1f3a6",a:"0.6"},{n:["low brightness","low brightness symbol"],u:"1f505",a:"1.0"},{n:["high brightness","high brightness symbol"],u:"1f506",a:"1.0"},{n:["signal strength","antenna with bars"],u:"1f4f6",a:"0.6"},{n:["vibration mode"],u:"1f4f3",a:"0.6"},{n:["mobile phone off"],u:"1f4f4",a:"0.6"},{n:["female sign"],u:"2640-fe0f",a:"4.0"},{n:["male sign"],u:"2642-fe0f",a:"4.0"},{n:["transgender symbol"],u:"26a7-fe0f",a:"13.0"},{n:["heavy multiplication x"],u:"2716-fe0f",a:"0.6"},{n:["heavy plus sign"],u:"2795",a:"0.6"},{n:["heavy minus sign"],u:"2796",a:"0.6"},{n:["heavy division sign"],u:"2797",a:"0.6"},{n:["heavy equals sign"],u:"1f7f0",a:"14.0"},{n:["infinity"],u:"267e-fe0f",a:"11.0"},{n:["bangbang","double exclamation mark"],u:"203c-fe0f",a:"0.6"},{n:["interrobang","exclamation question mark"],u:"2049-fe0f",a:"0.6"},{n:["question","black question mark ornament"],u:"2753",a:"0.6"},{n:["grey question","white question mark ornament"],u:"2754",a:"0.6"},{n:["grey exclamation","white exclamation mark ornament"],u:"2755",a:"0.6"},{n:["exclamation","heavy exclamation mark","heavy exclamation mark symbol"],u:"2757",a:"0.6"},{n:["wavy dash"],u:"3030-fe0f",a:"0.6"},{n:["currency exchange"],u:"1f4b1",a:"0.6"},{n:["heavy dollar sign"],u:"1f4b2",a:"0.6"},{n:["medical symbol","staff of aesculapius"],u:"2695-fe0f",a:"4.0"},{n:["recycle","black universal recycling symbol"],u:"267b-fe0f",a:"0.6"},{n:["fleur-de-lis","fleur de lis"],u:"269c-fe0f",a:"1.0"},{n:["trident","trident emblem"],u:"1f531",a:"0.6"},{n:["name badge"],u:"1f4db",a:"0.6"},{n:["beginner","japanese symbol for beginner"],u:"1f530",a:"0.6"},{n:["o","heavy large circle"],u:"2b55",a:"0.6"},{n:["white check mark","white heavy check mark"],u:"2705",a:"0.6"},{n:["ballot box with check"],u:"2611-fe0f",a:"0.6"},{n:["heavy check mark"],u:"2714-fe0f",a:"0.6"},{n:["x","cross mark"],u:"274c",a:"0.6"},{n:["negative squared cross mark"],u:"274e",a:"0.6"},{n:["curly loop"],u:"27b0",a:"0.6"},{n:["loop","double curly loop"],u:"27bf",a:"1.0"},{n:["part alternation mark"],u:"303d-fe0f",a:"0.6"},{n:["eight spoked asterisk"],u:"2733-fe0f",a:"0.6"},{n:["eight pointed black star"],u:"2734-fe0f",a:"0.6"},{n:["sparkle"],u:"2747-fe0f",a:"0.6"},{n:["copyright","copyright sign"],u:"00a9-fe0f",a:"0.6"},{n:["registered","registered sign"],u:"00ae-fe0f",a:"0.6"},{n:["tm","trade mark sign"],u:"2122-fe0f",a:"0.6"},{n:["hash","hash key"],u:"0023-fe0f-20e3",a:"0.6"},{n:["keycap: *","keycap star"],u:"002a-fe0f-20e3",a:"2.0"},{n:["zero","keycap 0"],u:"0030-fe0f-20e3",a:"0.6"},{n:["one","keycap 1"],u:"0031-fe0f-20e3",a:"0.6"},{n:["two","keycap 2"],u:"0032-fe0f-20e3",a:"0.6"},{n:["three","keycap 3"],u:"0033-fe0f-20e3",a:"0.6"},{n:["four","keycap 4"],u:"0034-fe0f-20e3",a:"0.6"},{n:["five","keycap 5"],u:"0035-fe0f-20e3",a:"0.6"},{n:["six","keycap 6"],u:"0036-fe0f-20e3",a:"0.6"},{n:["seven","keycap 7"],u:"0037-fe0f-20e3",a:"0.6"},{n:["eight","keycap 8"],u:"0038-fe0f-20e3",a:"0.6"},{n:["nine","keycap 9"],u:"0039-fe0f-20e3",a:"0.6"},{n:["keycap ten"],u:"1f51f",a:"0.6"},{n:["capital abcd","input symbol for latin capital letters"],u:"1f520",a:"0.6"},{n:["abcd","input symbol for latin small letters"],u:"1f521",a:"0.6"},{n:["1234","input symbol for numbers"],u:"1f522",a:"0.6"},{n:["symbols","input symbol for symbols"],u:"1f523",a:"0.6"},{n:["abc","input symbol for latin letters"],u:"1f524",a:"0.6"},{n:["a","negative squared latin capital letter a"],u:"1f170-fe0f",a:"0.6"},{n:["ab","negative squared ab"],u:"1f18e",a:"0.6"},{n:["b","negative squared latin capital letter b"],u:"1f171-fe0f",a:"0.6"},{n:["cl","squared cl"],u:"1f191",a:"0.6"},{n:["cool","squared cool"],u:"1f192",a:"0.6"},{n:["free","squared free"],u:"1f193",a:"0.6"},{n:["information source"],u:"2139-fe0f",a:"0.6"},{n:["id","squared id"],u:"1f194",a:"0.6"},{n:["m","circled latin capital letter m"],u:"24c2-fe0f",a:"0.6"},{n:["new","squared new"],u:"1f195",a:"0.6"},{n:["ng","squared ng"],u:"1f196",a:"0.6"},{n:["o2","negative squared latin capital letter o"],u:"1f17e-fe0f",a:"0.6"},{n:["ok","squared ok"],u:"1f197",a:"0.6"},{n:["parking","negative squared latin capital letter p"],u:"1f17f-fe0f",a:"0.6"},{n:["sos","squared sos"],u:"1f198",a:"0.6"},{n:["up","squared up with exclamation mark"],u:"1f199",a:"0.6"},{n:["vs","squared vs"],u:"1f19a",a:"0.6"},{n:["koko","squared katakana koko"],u:"1f201",a:"0.6"},{n:["sa","squared katakana sa"],u:"1f202-fe0f",a:"0.6"},{n:["u6708","squared cjk unified ideograph-6708"],u:"1f237-fe0f",a:"0.6"},{n:["u6709","squared cjk unified ideograph-6709"],u:"1f236",a:"0.6"},{n:["u6307","squared cjk unified ideograph-6307"],u:"1f22f",a:"0.6"},{n:["ideograph advantage","circled ideograph advantage"],u:"1f250",a:"0.6"},{n:["u5272","squared cjk unified ideograph-5272"],u:"1f239",a:"0.6"},{n:["u7121","squared cjk unified ideograph-7121"],u:"1f21a",a:"0.6"},{n:["u7981","squared cjk unified ideograph-7981"],u:"1f232",a:"0.6"},{n:["accept","circled ideograph accept"],u:"1f251",a:"0.6"},{n:["u7533","squared cjk unified ideograph-7533"],u:"1f238",a:"0.6"},{n:["u5408","squared cjk unified ideograph-5408"],u:"1f234",a:"0.6"},{n:["u7a7a","squared cjk unified ideograph-7a7a"],u:"1f233",a:"0.6"},{n:["congratulations","circled ideograph congratulation"],u:"3297-fe0f",a:"0.6"},{n:["secret","circled ideograph secret"],u:"3299-fe0f",a:"0.6"},{n:["u55b6","squared cjk unified ideograph-55b6"],u:"1f23a",a:"0.6"},{n:["u6e80","squared cjk unified ideograph-6e80"],u:"1f235",a:"0.6"},{n:["red circle","large red circle"],u:"1f534",a:"0.6"},{n:["large orange circle"],u:"1f7e0",a:"12.0"},{n:["large yellow circle"],u:"1f7e1",a:"12.0"},{n:["large green circle"],u:"1f7e2",a:"12.0"},{n:["large blue circle"],u:"1f535",a:"0.6"},{n:["large purple circle"],u:"1f7e3",a:"12.0"},{n:["large brown circle"],u:"1f7e4",a:"12.0"},{n:["black circle","medium black circle"],u:"26ab",a:"0.6"},{n:["white circle","medium white circle"],u:"26aa",a:"0.6"},{n:["large red square"],u:"1f7e5",a:"12.0"},{n:["large orange square"],u:"1f7e7",a:"12.0"},{n:["large yellow square"],u:"1f7e8",a:"12.0"},{n:["large green square"],u:"1f7e9",a:"12.0"},{n:["large blue square"],u:"1f7e6",a:"12.0"},{n:["large purple square"],u:"1f7ea",a:"12.0"},{n:["large brown square"],u:"1f7eb",a:"12.0"},{n:["black large square"],u:"2b1b",a:"0.6"},{n:["white large square"],u:"2b1c",a:"0.6"},{n:["black medium square"],u:"25fc-fe0f",a:"0.6"},{n:["white medium square"],u:"25fb-fe0f",a:"0.6"},{n:["black medium small square"],u:"25fe",a:"0.6"},{n:["white medium small square"],u:"25fd",a:"0.6"},{n:["black small square"],u:"25aa-fe0f",a:"0.6"},{n:["white small square"],u:"25ab-fe0f",a:"0.6"},{n:["large orange diamond"],u:"1f536",a:"0.6"},{n:["large blue diamond"],u:"1f537",a:"0.6"},{n:["small orange diamond"],u:"1f538",a:"0.6"},{n:["small blue diamond"],u:"1f539",a:"0.6"},{n:["small red triangle","up-pointing red triangle"],u:"1f53a",a:"0.6"},{n:["small red triangle down","down-pointing red triangle"],u:"1f53b",a:"0.6"},{n:["diamond shape with a dot inside"],u:"1f4a0",a:"0.6"},{n:["radio button"],u:"1f518",a:"0.6"},{n:["white square button"],u:"1f533",a:"0.6"},{n:["black square button"],u:"1f532",a:"0.6"}],flags:[{n:["chequered flag","checkered flag"],u:"1f3c1",a:"0.6"},{n:["triangular flag on post"],u:"1f6a9",a:"0.6"},{n:["crossed flags"],u:"1f38c",a:"0.6"},{n:["waving black flag"],u:"1f3f4",a:"1.0"},{n:["white flag","waving white flag"],u:"1f3f3-fe0f",a:"0.7"},{n:["rainbow flag","rainbow-flag"],u:"1f3f3-fe0f-200d-1f308",a:"4.0"},{n:["transgender flag"],u:"1f3f3-fe0f-200d-26a7-fe0f",a:"13.0"},{n:["pirate flag"],u:"1f3f4-200d-2620-fe0f",a:"11.0"},{n:["flag-ac","ascension island flag"],u:"1f1e6-1f1e8",a:"2.0"},{n:["flag-ad","andorra flag"],u:"1f1e6-1f1e9",a:"2.0"},{n:["flag-ae","united arab emirates flag"],u:"1f1e6-1f1ea",a:"2.0"},{n:["flag-af","afghanistan flag"],u:"1f1e6-1f1eb",a:"2.0"},{n:["flag-ag","antigua & barbuda flag"],u:"1f1e6-1f1ec",a:"2.0"},{n:["flag-ai","anguilla flag"],u:"1f1e6-1f1ee",a:"2.0"},{n:["flag-al","albania flag"],u:"1f1e6-1f1f1",a:"2.0"},{n:["flag-am","armenia flag"],u:"1f1e6-1f1f2",a:"2.0"},{n:["flag-ao","angola flag"],u:"1f1e6-1f1f4",a:"2.0"},{n:["flag-aq","antarctica flag"],u:"1f1e6-1f1f6",a:"2.0"},{n:["flag-ar","argentina flag"],u:"1f1e6-1f1f7",a:"2.0"},{n:["flag-as","american samoa flag"],u:"1f1e6-1f1f8",a:"2.0"},{n:["flag-at","austria flag"],u:"1f1e6-1f1f9",a:"2.0"},{n:["flag-au","australia flag"],u:"1f1e6-1f1fa",a:"2.0"},{n:["flag-aw","aruba flag"],u:"1f1e6-1f1fc",a:"2.0"},{n:["flag-ax","åland islands flag"],u:"1f1e6-1f1fd",a:"2.0"},{n:["flag-az","azerbaijan flag"],u:"1f1e6-1f1ff",a:"2.0"},{n:["flag-ba","bosnia & herzegovina flag"],u:"1f1e7-1f1e6",a:"2.0"},{n:["flag-bb","barbados flag"],u:"1f1e7-1f1e7",a:"2.0"},{n:["flag-bd","bangladesh flag"],u:"1f1e7-1f1e9",a:"2.0"},{n:["flag-be","belgium flag"],u:"1f1e7-1f1ea",a:"2.0"},{n:["flag-bf","burkina faso flag"],u:"1f1e7-1f1eb",a:"2.0"},{n:["flag-bg","bulgaria flag"],u:"1f1e7-1f1ec",a:"2.0"},{n:["flag-bh","bahrain flag"],u:"1f1e7-1f1ed",a:"2.0"},{n:["flag-bi","burundi flag"],u:"1f1e7-1f1ee",a:"2.0"},{n:["flag-bj","benin flag"],u:"1f1e7-1f1ef",a:"2.0"},{n:["flag-bl","st. barthélemy flag"],u:"1f1e7-1f1f1",a:"2.0"},{n:["flag-bm","bermuda flag"],u:"1f1e7-1f1f2",a:"2.0"},{n:["flag-bn","brunei flag"],u:"1f1e7-1f1f3",a:"2.0"},{n:["flag-bo","bolivia flag"],u:"1f1e7-1f1f4",a:"2.0"},{n:["flag-bq","caribbean netherlands flag"],u:"1f1e7-1f1f6",a:"2.0"},{n:["flag-br","brazil flag"],u:"1f1e7-1f1f7",a:"2.0"},{n:["flag-bs","bahamas flag"],u:"1f1e7-1f1f8",a:"2.0"},{n:["flag-bt","bhutan flag"],u:"1f1e7-1f1f9",a:"2.0"},{n:["flag-bv","bouvet island flag"],u:"1f1e7-1f1fb",a:"2.0"},{n:["flag-bw","botswana flag"],u:"1f1e7-1f1fc",a:"2.0"},{n:["flag-by","belarus flag"],u:"1f1e7-1f1fe",a:"2.0"},{n:["flag-bz","belize flag"],u:"1f1e7-1f1ff",a:"2.0"},{n:["flag-ca","canada flag"],u:"1f1e8-1f1e6",a:"2.0"},{n:["flag-cc","cocos (keeling) islands flag"],u:"1f1e8-1f1e8",a:"2.0"},{n:["flag-cd","congo - kinshasa flag"],u:"1f1e8-1f1e9",a:"2.0"},{n:["flag-cf","central african republic flag"],u:"1f1e8-1f1eb",a:"2.0"},{n:["flag-cg","congo - brazzaville flag"],u:"1f1e8-1f1ec",a:"2.0"},{n:["flag-ch","switzerland flag"],u:"1f1e8-1f1ed",a:"2.0"},{n:["flag-ci","côte d’ivoire flag"],u:"1f1e8-1f1ee",a:"2.0"},{n:["flag-ck","cook islands flag"],u:"1f1e8-1f1f0",a:"2.0"},{n:["flag-cl","chile flag"],u:"1f1e8-1f1f1",a:"2.0"},{n:["flag-cm","cameroon flag"],u:"1f1e8-1f1f2",a:"2.0"},{n:["cn","flag-cn","china flag"],u:"1f1e8-1f1f3",a:"0.6"},{n:["flag-co","colombia flag"],u:"1f1e8-1f1f4",a:"2.0"},{n:["flag-cp","clipperton island flag"],u:"1f1e8-1f1f5",a:"2.0"},{n:["flag-cr","costa rica flag"],u:"1f1e8-1f1f7",a:"2.0"},{n:["flag-cu","cuba flag"],u:"1f1e8-1f1fa",a:"2.0"},{n:["flag-cv","cape verde flag"],u:"1f1e8-1f1fb",a:"2.0"},{n:["flag-cw","curaçao flag"],u:"1f1e8-1f1fc",a:"2.0"},{n:["flag-cx","christmas island flag"],u:"1f1e8-1f1fd",a:"2.0"},{n:["flag-cy","cyprus flag"],u:"1f1e8-1f1fe",a:"2.0"},{n:["flag-cz","czechia flag"],u:"1f1e8-1f1ff",a:"2.0"},{n:["de","flag-de","germany flag"],u:"1f1e9-1f1ea",a:"0.6"},{n:["flag-dg","diego garcia flag"],u:"1f1e9-1f1ec",a:"2.0"},{n:["flag-dj","djibouti flag"],u:"1f1e9-1f1ef",a:"2.0"},{n:["flag-dk","denmark flag"],u:"1f1e9-1f1f0",a:"2.0"},{n:["flag-dm","dominica flag"],u:"1f1e9-1f1f2",a:"2.0"},{n:["flag-do","dominican republic flag"],u:"1f1e9-1f1f4",a:"2.0"},{n:["flag-dz","algeria flag"],u:"1f1e9-1f1ff",a:"2.0"},{n:["flag-ea","ceuta & melilla flag"],u:"1f1ea-1f1e6",a:"2.0"},{n:["flag-ec","ecuador flag"],u:"1f1ea-1f1e8",a:"2.0"},{n:["flag-ee","estonia flag"],u:"1f1ea-1f1ea",a:"2.0"},{n:["flag-eg","egypt flag"],u:"1f1ea-1f1ec",a:"2.0"},{n:["flag-eh","western sahara flag"],u:"1f1ea-1f1ed",a:"2.0"},{n:["flag-er","eritrea flag"],u:"1f1ea-1f1f7",a:"2.0"},{n:["es","flag-es","spain flag"],u:"1f1ea-1f1f8",a:"0.6"},{n:["flag-et","ethiopia flag"],u:"1f1ea-1f1f9",a:"2.0"},{n:["flag-eu","european union flag"],u:"1f1ea-1f1fa",a:"2.0"},{n:["flag-fi","finland flag"],u:"1f1eb-1f1ee",a:"2.0"},{n:["flag-fj","fiji flag"],u:"1f1eb-1f1ef",a:"2.0"},{n:["flag-fk","falkland islands flag"],u:"1f1eb-1f1f0",a:"2.0"},{n:["flag-fm","micronesia flag"],u:"1f1eb-1f1f2",a:"2.0"},{n:["flag-fo","faroe islands flag"],u:"1f1eb-1f1f4",a:"2.0"},{n:["fr","flag-fr","france flag"],u:"1f1eb-1f1f7",a:"0.6"},{n:["flag-ga","gabon flag"],u:"1f1ec-1f1e6",a:"2.0"},{n:["gb","uk","flag-gb","united kingdom flag"],u:"1f1ec-1f1e7",a:"0.6"},{n:["flag-gd","grenada flag"],u:"1f1ec-1f1e9",a:"2.0"},{n:["flag-ge","georgia flag"],u:"1f1ec-1f1ea",a:"2.0"},{n:["flag-gf","french guiana flag"],u:"1f1ec-1f1eb",a:"2.0"},{n:["flag-gg","guernsey flag"],u:"1f1ec-1f1ec",a:"2.0"},{n:["flag-gh","ghana flag"],u:"1f1ec-1f1ed",a:"2.0"},{n:["flag-gi","gibraltar flag"],u:"1f1ec-1f1ee",a:"2.0"},{n:["flag-gl","greenland flag"],u:"1f1ec-1f1f1",a:"2.0"},{n:["flag-gm","gambia flag"],u:"1f1ec-1f1f2",a:"2.0"},{n:["flag-gn","guinea flag"],u:"1f1ec-1f1f3",a:"2.0"},{n:["flag-gp","guadeloupe flag"],u:"1f1ec-1f1f5",a:"2.0"},{n:["flag-gq","equatorial guinea flag"],u:"1f1ec-1f1f6",a:"2.0"},{n:["flag-gr","greece flag"],u:"1f1ec-1f1f7",a:"2.0"},{n:["flag-gs","south georgia & south sandwich islands flag"],u:"1f1ec-1f1f8",a:"2.0"},{n:["flag-gt","guatemala flag"],u:"1f1ec-1f1f9",a:"2.0"},{n:["flag-gu","guam flag"],u:"1f1ec-1f1fa",a:"2.0"},{n:["flag-gw","guinea-bissau flag"],u:"1f1ec-1f1fc",a:"2.0"},{n:["flag-gy","guyana flag"],u:"1f1ec-1f1fe",a:"2.0"},{n:["flag-hk","hong kong sar china flag"],u:"1f1ed-1f1f0",a:"2.0"},{n:["flag-hm","heard & mcdonald islands flag"],u:"1f1ed-1f1f2",a:"2.0"},{n:["flag-hn","honduras flag"],u:"1f1ed-1f1f3",a:"2.0"},{n:["flag-hr","croatia flag"],u:"1f1ed-1f1f7",a:"2.0"},{n:["flag-ht","haiti flag"],u:"1f1ed-1f1f9",a:"2.0"},{n:["flag-hu","hungary flag"],u:"1f1ed-1f1fa",a:"2.0"},{n:["flag-ic","canary islands flag"],u:"1f1ee-1f1e8",a:"2.0"},{n:["flag-id","indonesia flag"],u:"1f1ee-1f1e9",a:"2.0"},{n:["flag-ie","ireland flag"],u:"1f1ee-1f1ea",a:"2.0"},{n:["flag-il","israel flag"],u:"1f1ee-1f1f1",a:"2.0"},{n:["flag-im","isle of man flag"],u:"1f1ee-1f1f2",a:"2.0"},{n:["flag-in","india flag"],u:"1f1ee-1f1f3",a:"2.0"},{n:["flag-io","british indian ocean territory flag"],u:"1f1ee-1f1f4",a:"2.0"},{n:["flag-iq","iraq flag"],u:"1f1ee-1f1f6",a:"2.0"},{n:["flag-ir","iran flag"],u:"1f1ee-1f1f7",a:"2.0"},{n:["flag-is","iceland flag"],u:"1f1ee-1f1f8",a:"2.0"},{n:["it","flag-it","italy flag"],u:"1f1ee-1f1f9",a:"0.6"},{n:["flag-je","jersey flag"],u:"1f1ef-1f1ea",a:"2.0"},{n:["flag-jm","jamaica flag"],u:"1f1ef-1f1f2",a:"2.0"},{n:["flag-jo","jordan flag"],u:"1f1ef-1f1f4",a:"2.0"},{n:["jp","flag-jp","japan flag"],u:"1f1ef-1f1f5",a:"0.6"},{n:["flag-ke","kenya flag"],u:"1f1f0-1f1ea",a:"2.0"},{n:["flag-kg","kyrgyzstan flag"],u:"1f1f0-1f1ec",a:"2.0"},{n:["flag-kh","cambodia flag"],u:"1f1f0-1f1ed",a:"2.0"},{n:["flag-ki","kiribati flag"],u:"1f1f0-1f1ee",a:"2.0"},{n:["flag-km","comoros flag"],u:"1f1f0-1f1f2",a:"2.0"},{n:["flag-kn","st. kitts & nevis flag"],u:"1f1f0-1f1f3",a:"2.0"},{n:["flag-kp","north korea flag"],u:"1f1f0-1f1f5",a:"2.0"},{n:["kr","flag-kr","south korea flag"],u:"1f1f0-1f1f7",a:"0.6"},{n:["flag-kw","kuwait flag"],u:"1f1f0-1f1fc",a:"2.0"},{n:["flag-ky","cayman islands flag"],u:"1f1f0-1f1fe",a:"2.0"},{n:["flag-kz","kazakhstan flag"],u:"1f1f0-1f1ff",a:"2.0"},{n:["flag-la","laos flag"],u:"1f1f1-1f1e6",a:"2.0"},{n:["flag-lb","lebanon flag"],u:"1f1f1-1f1e7",a:"2.0"},{n:["flag-lc","st. lucia flag"],u:"1f1f1-1f1e8",a:"2.0"},{n:["flag-li","liechtenstein flag"],u:"1f1f1-1f1ee",a:"2.0"},{n:["flag-lk","sri lanka flag"],u:"1f1f1-1f1f0",a:"2.0"},{n:["flag-lr","liberia flag"],u:"1f1f1-1f1f7",a:"2.0"},{n:["flag-ls","lesotho flag"],u:"1f1f1-1f1f8",a:"2.0"},{n:["flag-lt","lithuania flag"],u:"1f1f1-1f1f9",a:"2.0"},{n:["flag-lu","luxembourg flag"],u:"1f1f1-1f1fa",a:"2.0"},{n:["flag-lv","latvia flag"],u:"1f1f1-1f1fb",a:"2.0"},{n:["flag-ly","libya flag"],u:"1f1f1-1f1fe",a:"2.0"},{n:["flag-ma","morocco flag"],u:"1f1f2-1f1e6",a:"2.0"},{n:["flag-mc","monaco flag"],u:"1f1f2-1f1e8",a:"2.0"},{n:["flag-md","moldova flag"],u:"1f1f2-1f1e9",a:"2.0"},{n:["flag-me","montenegro flag"],u:"1f1f2-1f1ea",a:"2.0"},{n:["flag-mf","st. martin flag"],u:"1f1f2-1f1eb",a:"2.0"},{n:["flag-mg","madagascar flag"],u:"1f1f2-1f1ec",a:"2.0"},{n:["flag-mh","marshall islands flag"],u:"1f1f2-1f1ed",a:"2.0"},{n:["flag-mk","north macedonia flag"],u:"1f1f2-1f1f0",a:"2.0"},{n:["flag-ml","mali flag"],u:"1f1f2-1f1f1",a:"2.0"},{n:["flag-mm","myanmar (burma) flag"],u:"1f1f2-1f1f2",a:"2.0"},{n:["flag-mn","mongolia flag"],u:"1f1f2-1f1f3",a:"2.0"},{n:["flag-mo","macao sar china flag"],u:"1f1f2-1f1f4",a:"2.0"},{n:["flag-mp","northern mariana islands flag"],u:"1f1f2-1f1f5",a:"2.0"},{n:["flag-mq","martinique flag"],u:"1f1f2-1f1f6",a:"2.0"},{n:["flag-mr","mauritania flag"],u:"1f1f2-1f1f7",a:"2.0"},{n:["flag-ms","montserrat flag"],u:"1f1f2-1f1f8",a:"2.0"},{n:["flag-mt","malta flag"],u:"1f1f2-1f1f9",a:"2.0"},{n:["flag-mu","mauritius flag"],u:"1f1f2-1f1fa",a:"2.0"},{n:["flag-mv","maldives flag"],u:"1f1f2-1f1fb",a:"2.0"},{n:["flag-mw","malawi flag"],u:"1f1f2-1f1fc",a:"2.0"},{n:["flag-mx","mexico flag"],u:"1f1f2-1f1fd",a:"2.0"},{n:["flag-my","malaysia flag"],u:"1f1f2-1f1fe",a:"2.0"},{n:["flag-mz","mozambique flag"],u:"1f1f2-1f1ff",a:"2.0"},{n:["flag-na","namibia flag"],u:"1f1f3-1f1e6",a:"2.0"},{n:["flag-nc","new caledonia flag"],u:"1f1f3-1f1e8",a:"2.0"},{n:["flag-ne","niger flag"],u:"1f1f3-1f1ea",a:"2.0"},{n:["flag-nf","norfolk island flag"],u:"1f1f3-1f1eb",a:"2.0"},{n:["flag-ng","nigeria flag"],u:"1f1f3-1f1ec",a:"2.0"},{n:["flag-ni","nicaragua flag"],u:"1f1f3-1f1ee",a:"2.0"},{n:["flag-nl","netherlands flag"],u:"1f1f3-1f1f1",a:"2.0"},{n:["flag-no","norway flag"],u:"1f1f3-1f1f4",a:"2.0"},{n:["flag-np","nepal flag"],u:"1f1f3-1f1f5",a:"2.0"},{n:["flag-nr","nauru flag"],u:"1f1f3-1f1f7",a:"2.0"},{n:["flag-nu","niue flag"],u:"1f1f3-1f1fa",a:"2.0"},{n:["flag-nz","new zealand flag"],u:"1f1f3-1f1ff",a:"2.0"},{n:["flag-om","oman flag"],u:"1f1f4-1f1f2",a:"2.0"},{n:["flag-pa","panama flag"],u:"1f1f5-1f1e6",a:"2.0"},{n:["flag-pe","peru flag"],u:"1f1f5-1f1ea",a:"2.0"},{n:["flag-pf","french polynesia flag"],u:"1f1f5-1f1eb",a:"2.0"},{n:["flag-pg","papua new guinea flag"],u:"1f1f5-1f1ec",a:"2.0"},{n:["flag-ph","philippines flag"],u:"1f1f5-1f1ed",a:"2.0"},{n:["flag-pk","pakistan flag"],u:"1f1f5-1f1f0",a:"2.0"},{n:["flag-pl","poland flag"],u:"1f1f5-1f1f1",a:"2.0"},{n:["flag-pm","st. pierre & miquelon flag"],u:"1f1f5-1f1f2",a:"2.0"},{n:["flag-pn","pitcairn islands flag"],u:"1f1f5-1f1f3",a:"2.0"},{n:["flag-pr","puerto rico flag"],u:"1f1f5-1f1f7",a:"2.0"},{n:["flag-ps","palestinian territories flag"],u:"1f1f5-1f1f8",a:"2.0"},{n:["flag-pt","portugal flag"],u:"1f1f5-1f1f9",a:"2.0"},{n:["flag-pw","palau flag"],u:"1f1f5-1f1fc",a:"2.0"},{n:["flag-py","paraguay flag"],u:"1f1f5-1f1fe",a:"2.0"},{n:["flag-qa","qatar flag"],u:"1f1f6-1f1e6",a:"2.0"},{n:["flag-re","réunion flag"],u:"1f1f7-1f1ea",a:"2.0"},{n:["flag-ro","romania flag"],u:"1f1f7-1f1f4",a:"2.0"},{n:["flag-rs","serbia flag"],u:"1f1f7-1f1f8",a:"2.0"},{n:["ru","flag-ru","russia flag"],u:"1f1f7-1f1fa",a:"0.6"},{n:["flag-rw","rwanda flag"],u:"1f1f7-1f1fc",a:"2.0"},{n:["flag-sa","saudi arabia flag"],u:"1f1f8-1f1e6",a:"2.0"},{n:["flag-sb","solomon islands flag"],u:"1f1f8-1f1e7",a:"2.0"},{n:["flag-sc","seychelles flag"],u:"1f1f8-1f1e8",a:"2.0"},{n:["flag-sd","sudan flag"],u:"1f1f8-1f1e9",a:"2.0"},{n:["flag-se","sweden flag"],u:"1f1f8-1f1ea",a:"2.0"},{n:["flag-sg","singapore flag"],u:"1f1f8-1f1ec",a:"2.0"},{n:["flag-sh","st. helena flag"],u:"1f1f8-1f1ed",a:"2.0"},{n:["flag-si","slovenia flag"],u:"1f1f8-1f1ee",a:"2.0"},{n:["flag-sj","svalbard & jan mayen flag"],u:"1f1f8-1f1ef",a:"2.0"},{n:["flag-sk","slovakia flag"],u:"1f1f8-1f1f0",a:"2.0"},{n:["flag-sl","sierra leone flag"],u:"1f1f8-1f1f1",a:"2.0"},{n:["flag-sm","san marino flag"],u:"1f1f8-1f1f2",a:"2.0"},{n:["flag-sn","senegal flag"],u:"1f1f8-1f1f3",a:"2.0"},{n:["flag-so","somalia flag"],u:"1f1f8-1f1f4",a:"2.0"},{n:["flag-sr","suriname flag"],u:"1f1f8-1f1f7",a:"2.0"},{n:["flag-ss","south sudan flag"],u:"1f1f8-1f1f8",a:"2.0"},{n:["flag-st","são tomé & príncipe flag"],u:"1f1f8-1f1f9",a:"2.0"},{n:["flag-sv","el salvador flag"],u:"1f1f8-1f1fb",a:"2.0"},{n:["flag-sx","sint maarten flag"],u:"1f1f8-1f1fd",a:"2.0"},{n:["flag-sy","syria flag"],u:"1f1f8-1f1fe",a:"2.0"},{n:["flag-sz","eswatini flag"],u:"1f1f8-1f1ff",a:"2.0"},{n:["flag-ta","tristan da cunha flag"],u:"1f1f9-1f1e6",a:"2.0"},{n:["flag-tc","turks & caicos islands flag"],u:"1f1f9-1f1e8",a:"2.0"},{n:["flag-td","chad flag"],u:"1f1f9-1f1e9",a:"2.0"},{n:["flag-tf","french southern territories flag"],u:"1f1f9-1f1eb",a:"2.0"},{n:["flag-tg","togo flag"],u:"1f1f9-1f1ec",a:"2.0"},{n:["flag-th","thailand flag"],u:"1f1f9-1f1ed",a:"2.0"},{n:["flag-tj","tajikistan flag"],u:"1f1f9-1f1ef",a:"2.0"},{n:["flag-tk","tokelau flag"],u:"1f1f9-1f1f0",a:"2.0"},{n:["flag-tl","timor-leste flag"],u:"1f1f9-1f1f1",a:"2.0"},{n:["flag-tm","turkmenistan flag"],u:"1f1f9-1f1f2",a:"2.0"},{n:["flag-tn","tunisia flag"],u:"1f1f9-1f1f3",a:"2.0"},{n:["flag-to","tonga flag"],u:"1f1f9-1f1f4",a:"2.0"},{n:["flag-tr","turkey flag"],u:"1f1f9-1f1f7",a:"2.0"},{n:["flag-tt","trinidad & tobago flag"],u:"1f1f9-1f1f9",a:"2.0"},{n:["flag-tv","tuvalu flag"],u:"1f1f9-1f1fb",a:"2.0"},{n:["flag-tw","taiwan flag"],u:"1f1f9-1f1fc",a:"2.0"},{n:["flag-tz","tanzania flag"],u:"1f1f9-1f1ff",a:"2.0"},{n:["flag-ua","ukraine flag"],u:"1f1fa-1f1e6",a:"2.0"},{n:["flag-ug","uganda flag"],u:"1f1fa-1f1ec",a:"2.0"},{n:["flag-um","u.s. outlying islands flag"],u:"1f1fa-1f1f2",a:"2.0"},{n:["flag-un","united nations flag"],u:"1f1fa-1f1f3",a:"4.0"},{n:["us","flag-us","united states flag"],u:"1f1fa-1f1f8",a:"0.6"},{n:["flag-uy","uruguay flag"],u:"1f1fa-1f1fe",a:"2.0"},{n:["flag-uz","uzbekistan flag"],u:"1f1fa-1f1ff",a:"2.0"},{n:["flag-va","vatican city flag"],u:"1f1fb-1f1e6",a:"2.0"},{n:["flag-vc","st. vincent & grenadines flag"],u:"1f1fb-1f1e8",a:"2.0"},{n:["flag-ve","venezuela flag"],u:"1f1fb-1f1ea",a:"2.0"},{n:["flag-vg","british virgin islands flag"],u:"1f1fb-1f1ec",a:"2.0"},{n:["flag-vi","u.s. virgin islands flag"],u:"1f1fb-1f1ee",a:"2.0"},{n:["flag-vn","vietnam flag"],u:"1f1fb-1f1f3",a:"2.0"},{n:["flag-vu","vanuatu flag"],u:"1f1fb-1f1fa",a:"2.0"},{n:["flag-wf","wallis & futuna flag"],u:"1f1fc-1f1eb",a:"2.0"},{n:["flag-ws","samoa flag"],u:"1f1fc-1f1f8",a:"2.0"},{n:["flag-xk","kosovo flag"],u:"1f1fd-1f1f0",a:"2.0"},{n:["flag-ye","yemen flag"],u:"1f1fe-1f1ea",a:"2.0"},{n:["flag-yt","mayotte flag"],u:"1f1fe-1f1f9",a:"2.0"},{n:["flag-za","south africa flag"],u:"1f1ff-1f1e6",a:"2.0"},{n:["flag-zm","zambia flag"],u:"1f1ff-1f1f2",a:"2.0"},{n:["flag-zw","zimbabwe flag"],u:"1f1ff-1f1fc",a:"2.0"},{n:["england flag","flag-england"],u:"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f",a:"5.0"},{n:["scotland flag","flag-scotland"],u:"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f",a:"5.0"},{n:["wales flag","flag-wales"],u:"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f",a:"5.0"}]},uIe=[xp.NEUTRAL,xp.LIGHT,xp.MEDIUM_LIGHT,xp.MEDIUM,xp.MEDIUM_DARK,xp.DARK];Object.entries(xp).reduce((t,[e,n])=>(t[n]=e,t),{});uIe.reduce((t,e)=>Object.assign(t,{[e]:e}),{});var OC=(t=>(t.name="n",t.unified="u",t.variations="v",t.added_in="a",t.imgUrl="imgUrl",t))(OC||{});const _3={};setTimeout(()=>{Ane.reduce((t,e)=>(fIe(e),t),_3)});function fIe(t){dIe(t).flat().join("").toLowerCase().replace(/[^a-zA-Z\d]/g,"").split("").forEach(n=>{_3[n]=_3[n]??{},_3[n][_b(t)]=t})}function dIe(t){return t[OC.name]??[]}function _b(t,e){const n=t[OC.unified];return!e||!Ine(t)?n:pIe(t,e)??n}function HT(t){return t[OC.variations]??[]}function Ine(t){return HT(t).length>0}function pIe(t,e){return e?HT(t).find(n=>n.includes(e)):_b(t)}const Ane=Object.values(cIe).flat(),hIe={};setTimeout(()=>{Ane.reduce((t,e)=>(t[_b(e)]=e,Ine(e)&&HT(e).forEach(n=>{t[n]=e}),t),hIe)});const _ne="epr_suggested";function WT(t){try{if(!(window!=null&&window.localStorage))return[];const e=JSON.parse((window==null?void 0:window.localStorage.getItem(_ne))??"[]");return t===Nne.FREQUENT?e.sort((n,r)=>r.count-n.count):e}catch{return[]}}function mIe(t,e){const n=WT(),r=_b(t,e),o=_b(t);let s=n.find(({unified:i})=>i===r),a;s?a=[s].concat(n.filter(i=>i!==s)):(s={unified:r,original:o,count:0},a=[s,...n]),s.count++,a.length=Math.min(a.length,14);try{window==null||window.localStorage.setItem(_ne,JSON.stringify(a))}catch{}}const w0=class w0{constructor(){je(this,"emojiMap",new Map);je(this,"emojiIndex",new rte.Index({tokenize:"full"}));return w0.instance||(w0.instance=this),w0.instance}async init(e){if(!e)return;const{emojis:n,emojiSetPointers:r}=l5e(e);await this.addEmojisToIndex(n);const o=await Oe.fetchEmojiSetEvents(r,!1);await Promise.allSettled(o.map(async s=>{!s||s instanceof Error||await this.addEmojisToIndex(c5e(s))}))}async searchEmojis(e=""){if(!e){const r=new Set;WT().sort((o,s)=>s.count-o.count).map(o=>xT(o.unified)).forEach(o=>{if(o&&typeof o!="string"){const s=this.getEmojiId(o);r.has(s)||r.add(s)}});for(const o of this.emojiMap.keys())r.add(o);return Array.from(r)}return(await this.emojiIndex.searchAsync(e)).filter(r=>typeof r=="string")}getEmojiById(e){if(e)return this.emojiMap.get(e)}getAllCustomEmojisForPicker(){return Array.from(this.emojiMap.values()).map(e=>({id:`:${e.shortcode}:${e.url}`,imgUrl:e.url,names:[e.shortcode]}))}isCustomEmojiId(e){return this.emojiMap.has(e)}async addEmojisToIndex(e){await Promise.allSettled(e.map(async n=>{const r=this.getEmojiId(n);this.emojiMap.set(r,n),await this.emojiIndex.addAsync(r,n.shortcode)}))}getEmojiId(e){const r=new TextEncoder().encode(`${e.shortcode}:${e.url}`.toLowerCase()),o=jb(r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")}updateSuggested(e){const n=this.getEmojiById(e);n&&mIe({n:[n.shortcode.toLowerCase()],u:`:${n.shortcode}:${n.url}`.toLowerCase(),a:"0",imgUrl:n.url},zl.NEUTRAL)}};je(w0,"instance");let $_=w0;const ef=new $_,Mne={thumb:128,"mobile-sm":512,"mobile-lg":1024,"desktop-sm":1536,"desktop-md":2048,"desktop-lg":2560},gIe={thumb:.7,"mobile-sm":.75,"mobile-lg":.8,"desktop-sm":.85,"desktop-md":.88,"desktop-lg":.9,original:.92},yU=["thumb","mobile-sm","mobile-lg","desktop-sm","desktop-md","desktop-lg","original"];async function yIe(t){return createImageBitmap(t)}function vIe(t){return t==="image/png"?"image/png":t==="image/webp"?"image/webp":t==="image/gif"?"image/png":"image/jpeg"}function wIe(t,e,n,r){return new Promise((o,s)=>{const a=t.height/t.width,i=Math.round(e*a),l=document.createElement("canvas");l.width=e,l.height=i;const u=l.getContext("2d");if(!u){s(new Error("Failed to get canvas context"));return}u.imageSmoothingEnabled=!0,u.imageSmoothingQuality="high",u.drawImage(t,0,0,e,i),l.toBlob(d=>{d?o(d):s(new Error("Failed to create blob from canvas"))},n,r)})}function bIe(t,e,n){return new Promise((r,o)=>{const s=document.createElement("canvas");s.width=t.width,s.height=t.height;const a=s.getContext("2d");if(!a){o(new Error("Failed to get canvas context"));return}a.drawImage(t,0,0),s.toBlob(i=>{i?r(i):o(new Error("Failed to create blob from canvas"))},e,n)})}function xIe(t){const e=["original"];for(const[n,r]of Object.entries(Mne))r<t&&e.push(n);return e.sort((n,r)=>yU.indexOf(n)-yU.indexOf(r))}async function kIe(t,e){const{onProgress:n}=e??{};n==null||n(0);const r=await yIe(t),o=vIe(t.type);n==null||n(10);const s=xIe(r.width),a=s.length,i=[];for(let l=0;l<s.length;l++){const u=s[l],d=gIe[u];let f,m,g;if(u==="original")f=await bIe(r,o,d),m=r.width,g=r.height;else{const b=Mne[u],j=r.height/r.width;m=b,g=Math.round(b*j),f=await wIe(r,b,o,d)}i.push({variant:u,blob:f,width:m,height:g,mimeType:o});const w=10+Math.round((l+1)/a*80);n==null||n(w)}return n==null||n(90),i}function YT(t){return["image/jpeg","image/jpg","image/png","image/webp","image/gif"].includes(t.type)}function jIe(t){return{"image/jpeg":"jpg","image/png":"png","image/webp":"webp","image/gif":"gif"}[t]??"jpg"}const Nk=1063;function CIe(t){const e=["imeta"];return e.push(`url ${t.url}`),e.push(`x ${t.sha256}`),e.push(`m ${t.mimeType}`),e.push(`dim ${t.width}x${t.height}`),e.push(`variant ${t.variant}`),t.size!==void 0&&e.push(`size ${t.size}`),t.blurhash&&e.push(`blurhash ${t.blurhash}`),e}function SIe(t,e){if(t.length===0)throw new Error("At least one variant is required");const n=["thumb","mobile-sm","mobile-lg","desktop-sm","desktop-md","desktop-lg","original"],r=[...t].sort((s,a)=>n.indexOf(s.variant)-n.indexOf(a.variant)),o=[];for(const s of r)o.push(CIe(s));for(const s of r)o.push(["x",s.sha256]);return e!=null&&e.alt&&o.push(["alt",e.alt]),{kind:Nk,content:(e==null?void 0:e.description)??"",tags:o,created_at:En().unix()}}function Rne(t){if(t.kind!==Nk)throw new Error(`Expected kind ${Nk}, got ${t.kind}`);const e=[];for(const n of t.tags){if(n[0]!=="imeta")continue;const r=new Map;for(let b=1;b<n.length;b++){const j=n[b],S=j.indexOf(" ");if(S>0){const I=j.substring(0,S),N=j.substring(S+1);r.set(I,N)}}const o=r.get("url"),s=r.get("x"),a=r.get("m"),i=r.get("dim"),l=r.get("variant");if(!o||!s||!a||!i)continue;const u=i.match(/^(\d+)x(\d+)$/);if(!u)continue;const d=parseInt(u[1],10),f=parseInt(u[2],10),m={variant:l??"original",url:o,sha256:s,width:d,height:f,mimeType:a},g=r.get("size");g&&(m.size=parseInt(g,10));const w=r.get("blurhash");w&&(m.blurhash=w),e.push(m)}return e}const EIe=24242,NIe="modulepreload",IIe=function(t){return"/"+t},vU={},Bs=function(e,n,r){let o=Promise.resolve();if(n&&n.length>0){let a=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=a(n.map(u=>{if(u=IIe(u),u in vU)return;vU[u]=!0;const d=u.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":NIe,d||(m.as="script"),m.crossOrigin="",m.href=u,l&&m.setAttribute("nonce",l),document.head.appendChild(m),d)return new Promise((g,w)=>{m.addEventListener("load",g),m.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return o.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return e().catch(s)})};function wU(t){return t.match(/^[0-9a-f]{64}$/)}const qI=Symbol.for("sha256");function zC(t){return Reflect.has(t,qI)?Reflect.get(t,qI):AIe(t).then(e=>(Reflect.set(t,qI,e),e))}async function AIe(t){let e;typeof File<"u"&&t instanceof File||t instanceof Blob?e=await t.arrayBuffer():e=t;let n;if(typeof crypto<"u"&&crypto.subtle){const r=await crypto.subtle.digest("SHA-256",e);n=new Uint8Array(r)}else{const{sha256:r}=await Bs(async()=>{const{sha256:o}=await Promise.resolve().then(()=>Rje);return{sha256:o}},void 0);n=r.create().update(new Uint8Array(e)).digest()}return jje(n)}function Tne(t){return typeof File<"u"&&t instanceof File||t instanceof Blob?t.size:t.length}function Dne(t){if(typeof File<"u"&&t instanceof File||t instanceof Blob)return t.type}function KI(t){typeof t=="string"&&(t=new URL(t));const e=Array.from(t.pathname.matchAll(/[0-9a-f]{64}/gi));return e.length>0?e[e.length-1][0]:null}const Lne=()=>Math.floor(new Date().valueOf()/1e3),_Ie=()=>Lne()+3600;function ys(t){return"Nostr "+btoa(JSON.stringify(t))}async function bU(t){return typeof t=="string"?t:zC(t)}async function V2(t,e,n){const r={created_at:Lne(),kind:EIe,content:(n==null?void 0:n.message)??"",tags:[["t",e],["expiration",String((n==null?void 0:n.expiration)??_Ie())]]};if(n!=null&&n.blobs)if(Array.isArray(n.blobs)){const o=new Set;for(const s of n.blobs){const a=await bU(s);o.has(a)||(r.tags.push(["x",a]),o.add(a))}}else r.tags.push(["x",await bU(n.blobs)]);if(n!=null&&n.servers)if(Array.isArray(n.servers))for(const o of new Set(n.servers))r.tags.push(["server",o]);else r.tags.push(["server",n.servers]);return await t(r)}async function xU(t,e,n){return Array.isArray(e)||(e=[e]),await V2(t,"get",{message:"Download Blob",...n,blobs:e.filter(r=>typeof r=="string"?wU(r):!0),servers:e.filter(r=>typeof r=="string"&&!wU(r)&&URL.canParse(r))})}async function kU(t,e,n){return await V2(t,(n==null?void 0:n.type)??"upload",{message:"Upload Blob",...n,blobs:e})}async function MIe(t,e,n){return await V2(t,"upload",{message:"Mirror Blob",...n,blobs:e})}async function jU(t,e){return await V2(t,"list",{message:"List Blobs",...e})}async function CU(t,e,n){return await V2(t,"delete",{message:"Delete Blob",...n,blobs:e})}class jh extends Error{constructor(n,r){super(typeof r=="string"?r:r.message);je(this,"response");je(this,"status");je(this,"body");this.response=n,this.status=n.status,typeof r=="object"&&(this.body=r)}static async handleErrorResponse(n){if(!n.ok)try{throw new jh(n,n.headers.get("x-reason")||"Something went wrong")}catch(r){throw r}}}var ZI={},cw={},SU;function RIe(){if(SU)return cw;SU=1,cw.byteLength=i,cw.toByteArray=u,cw.fromByteArray=m;for(var t=[],e=[],n=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=r.length;o<s;++o)t[o]=r[o],e[r.charCodeAt(o)]=o;e[45]=62,e[95]=63;function a(g){var w=g.length;if(w%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var b=g.indexOf("=");b===-1&&(b=w);var j=b===w?0:4-b%4;return[b,j]}function i(g){var w=a(g),b=w[0],j=w[1];return(b+j)*3/4-j}function l(g,w,b){return(w+b)*3/4-b}function u(g){var w,b=a(g),j=b[0],S=b[1],I=new n(l(g,j,S)),N=0,M=S>0?j-4:j,D;for(D=0;D<M;D+=4)w=e[g.charCodeAt(D)]<<18|e[g.charCodeAt(D+1)]<<12|e[g.charCodeAt(D+2)]<<6|e[g.charCodeAt(D+3)],I[N++]=w>>16&255,I[N++]=w>>8&255,I[N++]=w&255;return S===2&&(w=e[g.charCodeAt(D)]<<2|e[g.charCodeAt(D+1)]>>4,I[N++]=w&255),S===1&&(w=e[g.charCodeAt(D)]<<10|e[g.charCodeAt(D+1)]<<4|e[g.charCodeAt(D+2)]>>2,I[N++]=w>>8&255,I[N++]=w&255),I}function d(g){return t[g>>18&63]+t[g>>12&63]+t[g>>6&63]+t[g&63]}function f(g,w,b){for(var j,S=[],I=w;I<b;I+=3)j=(g[I]<<16&16711680)+(g[I+1]<<8&65280)+(g[I+2]&255),S.push(d(j));return S.join("")}function m(g){for(var w,b=g.length,j=b%3,S=[],I=16383,N=0,M=b-j;N<M;N+=I)S.push(f(g,N,N+I>M?M:N+I));return j===1?(w=g[b-1],S.push(t[w>>2]+t[w<<4&63]+"==")):j===2&&(w=(g[b-2]<<8)+g[b-1],S.push(t[w>>10]+t[w>>4&63]+t[w<<2&63]+"=")),S.join("")}return cw}var l6={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */var EU;function TIe(){return EU||(EU=1,l6.read=function(t,e,n,r,o){var s,a,i=o*8-r-1,l=(1<<i)-1,u=l>>1,d=-7,f=n?o-1:0,m=n?-1:1,g=t[e+f];for(f+=m,s=g&(1<<-d)-1,g>>=-d,d+=i;d>0;s=s*256+t[e+f],f+=m,d-=8);for(a=s&(1<<-d)-1,s>>=-d,d+=r;d>0;a=a*256+t[e+f],f+=m,d-=8);if(s===0)s=1-u;else{if(s===l)return a?NaN:(g?-1:1)*(1/0);a=a+Math.pow(2,r),s=s-u}return(g?-1:1)*a*Math.pow(2,s-r)},l6.write=function(t,e,n,r,o,s){var a,i,l,u=s*8-o-1,d=(1<<u)-1,f=d>>1,m=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=r?0:s-1,w=r?1:-1,b=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(i=isNaN(e)?1:0,a=d):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+f>=1?e+=m/l:e+=m*Math.pow(2,1-f),e*l>=2&&(a++,l/=2),a+f>=d?(i=0,a=d):a+f>=1?(i=(e*l-1)*Math.pow(2,o),a=a+f):(i=e*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;t[n+g]=i&255,g+=w,i/=256,o-=8);for(a=a<<o|i,u+=o;u>0;t[n+g]=a&255,g+=w,a/=256,u-=8);t[n+g-w]|=b*128}),l6}/*!
40 * The buffer module from node.js, for the browser.
41 *
42 * @author Feross Aboukhadijeh <https://feross.org>
43 * @license MIT
44 */var NU;function DIe(){return NU||(NU=1,(function(t){const e=RIe(),n=TIe(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=i,t.SlowBuffer=I,t.INSPECT_MAX_BYTES=50;const o=2147483647;t.kMaxLength=o,i.TYPED_ARRAY_SUPPORT=s(),!i.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 s(){try{const se=new Uint8Array(1),K={foo:function(){return 42}};return Object.setPrototypeOf(K,Uint8Array.prototype),Object.setPrototypeOf(se,K),se.foo()===42}catch{return!1}}Object.defineProperty(i.prototype,"parent",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.buffer}}),Object.defineProperty(i.prototype,"offset",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.byteOffset}});function a(se){if(se>o)throw new RangeError('The value "'+se+'" is invalid for option "size"');const K=new Uint8Array(se);return Object.setPrototypeOf(K,i.prototype),K}function i(se,K,Q){if(typeof se=="number"){if(typeof K=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return f(se)}return l(se,K,Q)}i.poolSize=8192;function l(se,K,Q){if(typeof se=="string")return m(se,K);if(ArrayBuffer.isView(se))return w(se);if(se==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se);if(et(se,ArrayBuffer)||se&&et(se.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(et(se,SharedArrayBuffer)||se&&et(se.buffer,SharedArrayBuffer)))return b(se,K,Q);if(typeof se=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const ie=se.valueOf&&se.valueOf();if(ie!=null&&ie!==se)return i.from(ie,K,Q);const Se=j(se);if(Se)return Se;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof se[Symbol.toPrimitive]=="function")return i.from(se[Symbol.toPrimitive]("string"),K,Q);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se)}i.from=function(se,K,Q){return l(se,K,Q)},Object.setPrototypeOf(i.prototype,Uint8Array.prototype),Object.setPrototypeOf(i,Uint8Array);function u(se){if(typeof se!="number")throw new TypeError('"size" argument must be of type number');if(se<0)throw new RangeError('The value "'+se+'" is invalid for option "size"')}function d(se,K,Q){return u(se),se<=0?a(se):K!==void 0?typeof Q=="string"?a(se).fill(K,Q):a(se).fill(K):a(se)}i.alloc=function(se,K,Q){return d(se,K,Q)};function f(se){return u(se),a(se<0?0:S(se)|0)}i.allocUnsafe=function(se){return f(se)},i.allocUnsafeSlow=function(se){return f(se)};function m(se,K){if((typeof K!="string"||K==="")&&(K="utf8"),!i.isEncoding(K))throw new TypeError("Unknown encoding: "+K);const Q=N(se,K)|0;let ie=a(Q);const Se=ie.write(se,K);return Se!==Q&&(ie=ie.slice(0,Se)),ie}function g(se){const K=se.length<0?0:S(se.length)|0,Q=a(K);for(let ie=0;ie<K;ie+=1)Q[ie]=se[ie]&255;return Q}function w(se){if(et(se,Uint8Array)){const K=new Uint8Array(se);return b(K.buffer,K.byteOffset,K.byteLength)}return g(se)}function b(se,K,Q){if(K<0||se.byteLength<K)throw new RangeError('"offset" is outside of buffer bounds');if(se.byteLength<K+(Q||0))throw new RangeError('"length" is outside of buffer bounds');let ie;return K===void 0&&Q===void 0?ie=new Uint8Array(se):Q===void 0?ie=new Uint8Array(se,K):ie=new Uint8Array(se,K,Q),Object.setPrototypeOf(ie,i.prototype),ie}function j(se){if(i.isBuffer(se)){const K=S(se.length)|0,Q=a(K);return Q.length===0||se.copy(Q,0,0,K),Q}if(se.length!==void 0)return typeof se.length!="number"||pt(se.length)?a(0):g(se);if(se.type==="Buffer"&&Array.isArray(se.data))return g(se.data)}function S(se){if(se>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return se|0}function I(se){return+se!=se&&(se=0),i.alloc(+se)}i.isBuffer=function(K){return K!=null&&K._isBuffer===!0&&K!==i.prototype},i.compare=function(K,Q){if(et(K,Uint8Array)&&(K=i.from(K,K.offset,K.byteLength)),et(Q,Uint8Array)&&(Q=i.from(Q,Q.offset,Q.byteLength)),!i.isBuffer(K)||!i.isBuffer(Q))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(K===Q)return 0;let ie=K.length,Se=Q.length;for(let Me=0,Ce=Math.min(ie,Se);Me<Ce;++Me)if(K[Me]!==Q[Me]){ie=K[Me],Se=Q[Me];break}return ie<Se?-1:Se<ie?1:0},i.isEncoding=function(K){switch(String(K).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}},i.concat=function(K,Q){if(!Array.isArray(K))throw new TypeError('"list" argument must be an Array of Buffers');if(K.length===0)return i.alloc(0);let ie;if(Q===void 0)for(Q=0,ie=0;ie<K.length;++ie)Q+=K[ie].length;const Se=i.allocUnsafe(Q);let Me=0;for(ie=0;ie<K.length;++ie){let Ce=K[ie];if(et(Ce,Uint8Array))Me+Ce.length>Se.length?(i.isBuffer(Ce)||(Ce=i.from(Ce)),Ce.copy(Se,Me)):Uint8Array.prototype.set.call(Se,Ce,Me);else if(i.isBuffer(Ce))Ce.copy(Se,Me);else throw new TypeError('"list" argument must be an Array of Buffers');Me+=Ce.length}return Se};function N(se,K){if(i.isBuffer(se))return se.length;if(ArrayBuffer.isView(se)||et(se,ArrayBuffer))return se.byteLength;if(typeof se!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof se);const Q=se.length,ie=arguments.length>2&&arguments[2]===!0;if(!ie&&Q===0)return 0;let Se=!1;for(;;)switch(K){case"ascii":case"latin1":case"binary":return Q;case"utf8":case"utf-8":return Qe(se).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Q*2;case"hex":return Q>>>1;case"base64":return qe(se).length;default:if(Se)return ie?-1:Qe(se).length;K=(""+K).toLowerCase(),Se=!0}}i.byteLength=N;function M(se,K,Q){let ie=!1;if((K===void 0||K<0)&&(K=0),K>this.length||((Q===void 0||Q>this.length)&&(Q=this.length),Q<=0)||(Q>>>=0,K>>>=0,Q<=K))return"";for(se||(se="utf8");;)switch(se){case"hex":return Y(this,K,Q);case"utf8":case"utf-8":return W(this,K,Q);case"ascii":return $(this,K,Q);case"latin1":case"binary":return H(this,K,Q);case"base64":return Z(this,K,Q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,K,Q);default:if(ie)throw new TypeError("Unknown encoding: "+se);se=(se+"").toLowerCase(),ie=!0}}i.prototype._isBuffer=!0;function D(se,K,Q){const ie=se[K];se[K]=se[Q],se[Q]=ie}i.prototype.swap16=function(){const K=this.length;if(K%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Q=0;Q<K;Q+=2)D(this,Q,Q+1);return this},i.prototype.swap32=function(){const K=this.length;if(K%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let Q=0;Q<K;Q+=4)D(this,Q,Q+3),D(this,Q+1,Q+2);return this},i.prototype.swap64=function(){const K=this.length;if(K%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let Q=0;Q<K;Q+=8)D(this,Q,Q+7),D(this,Q+1,Q+6),D(this,Q+2,Q+5),D(this,Q+3,Q+4);return this},i.prototype.toString=function(){const K=this.length;return K===0?"":arguments.length===0?W(this,0,K):M.apply(this,arguments)},i.prototype.toLocaleString=i.prototype.toString,i.prototype.equals=function(K){if(!i.isBuffer(K))throw new TypeError("Argument must be a Buffer");return this===K?!0:i.compare(this,K)===0},i.prototype.inspect=function(){let K="";const Q=t.INSPECT_MAX_BYTES;return K=this.toString("hex",0,Q).replace(/(.{2})/g,"$1 ").trim(),this.length>Q&&(K+=" ... "),"<Buffer "+K+">"},r&&(i.prototype[r]=i.prototype.inspect),i.prototype.compare=function(K,Q,ie,Se,Me){if(et(K,Uint8Array)&&(K=i.from(K,K.offset,K.byteLength)),!i.isBuffer(K))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof K);if(Q===void 0&&(Q=0),ie===void 0&&(ie=K?K.length:0),Se===void 0&&(Se=0),Me===void 0&&(Me=this.length),Q<0||ie>K.length||Se<0||Me>this.length)throw new RangeError("out of range index");if(Se>=Me&&Q>=ie)return 0;if(Se>=Me)return-1;if(Q>=ie)return 1;if(Q>>>=0,ie>>>=0,Se>>>=0,Me>>>=0,this===K)return 0;let Ce=Me-Se,me=ie-Q;const We=Math.min(Ce,me),Xe=this.slice(Se,Me),Re=K.slice(Q,ie);for(let ze=0;ze<We;++ze)if(Xe[ze]!==Re[ze]){Ce=Xe[ze],me=Re[ze];break}return Ce<me?-1:me<Ce?1:0};function P(se,K,Q,ie,Se){if(se.length===0)return-1;if(typeof Q=="string"?(ie=Q,Q=0):Q>2147483647?Q=2147483647:Q<-2147483648&&(Q=-2147483648),Q=+Q,pt(Q)&&(Q=Se?0:se.length-1),Q<0&&(Q=se.length+Q),Q>=se.length){if(Se)return-1;Q=se.length-1}else if(Q<0)if(Se)Q=0;else return-1;if(typeof K=="string"&&(K=i.from(K,ie)),i.isBuffer(K))return K.length===0?-1:L(se,K,Q,ie,Se);if(typeof K=="number")return K=K&255,typeof Uint8Array.prototype.indexOf=="function"?Se?Uint8Array.prototype.indexOf.call(se,K,Q):Uint8Array.prototype.lastIndexOf.call(se,K,Q):L(se,[K],Q,ie,Se);throw new TypeError("val must be string, number or Buffer")}function L(se,K,Q,ie,Se){let Me=1,Ce=se.length,me=K.length;if(ie!==void 0&&(ie=String(ie).toLowerCase(),ie==="ucs2"||ie==="ucs-2"||ie==="utf16le"||ie==="utf-16le")){if(se.length<2||K.length<2)return-1;Me=2,Ce/=2,me/=2,Q/=2}function We(Re,ze){return Me===1?Re[ze]:Re.readUInt16BE(ze*Me)}let Xe;if(Se){let Re=-1;for(Xe=Q;Xe<Ce;Xe++)if(We(se,Xe)===We(K,Re===-1?0:Xe-Re)){if(Re===-1&&(Re=Xe),Xe-Re+1===me)return Re*Me}else Re!==-1&&(Xe-=Xe-Re),Re=-1}else for(Q+me>Ce&&(Q=Ce-me),Xe=Q;Xe>=0;Xe--){let Re=!0;for(let ze=0;ze<me;ze++)if(We(se,Xe+ze)!==We(K,ze)){Re=!1;break}if(Re)return Xe}return-1}i.prototype.includes=function(K,Q,ie){return this.indexOf(K,Q,ie)!==-1},i.prototype.indexOf=function(K,Q,ie){return P(this,K,Q,ie,!0)},i.prototype.lastIndexOf=function(K,Q,ie){return P(this,K,Q,ie,!1)};function F(se,K,Q,ie){Q=Number(Q)||0;const Se=se.length-Q;ie?(ie=Number(ie),ie>Se&&(ie=Se)):ie=Se;const Me=K.length;ie>Me/2&&(ie=Me/2);let Ce;for(Ce=0;Ce<ie;++Ce){const me=parseInt(K.substr(Ce*2,2),16);if(pt(me))return Ce;se[Q+Ce]=me}return Ce}function T(se,K,Q,ie){return _e(Qe(K,se.length-Q),se,Q,ie)}function R(se,K,Q,ie){return _e(nt(K),se,Q,ie)}function z(se,K,Q,ie){return _e(qe(K),se,Q,ie)}function G(se,K,Q,ie){return _e(Ue(K,se.length-Q),se,Q,ie)}i.prototype.write=function(K,Q,ie,Se){if(Q===void 0)Se="utf8",ie=this.length,Q=0;else if(ie===void 0&&typeof Q=="string")Se=Q,ie=this.length,Q=0;else if(isFinite(Q))Q=Q>>>0,isFinite(ie)?(ie=ie>>>0,Se===void 0&&(Se="utf8")):(Se=ie,ie=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Me=this.length-Q;if((ie===void 0||ie>Me)&&(ie=Me),K.length>0&&(ie<0||Q<0)||Q>this.length)throw new RangeError("Attempt to write outside buffer bounds");Se||(Se="utf8");let Ce=!1;for(;;)switch(Se){case"hex":return F(this,K,Q,ie);case"utf8":case"utf-8":return T(this,K,Q,ie);case"ascii":case"latin1":case"binary":return R(this,K,Q,ie);case"base64":return z(this,K,Q,ie);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,K,Q,ie);default:if(Ce)throw new TypeError("Unknown encoding: "+Se);Se=(""+Se).toLowerCase(),Ce=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Z(se,K,Q){return K===0&&Q===se.length?e.fromByteArray(se):e.fromByteArray(se.slice(K,Q))}function W(se,K,Q){Q=Math.min(se.length,Q);const ie=[];let Se=K;for(;Se<Q;){const Me=se[Se];let Ce=null,me=Me>239?4:Me>223?3:Me>191?2:1;if(Se+me<=Q){let We,Xe,Re,ze;switch(me){case 1:Me<128&&(Ce=Me);break;case 2:We=se[Se+1],(We&192)===128&&(ze=(Me&31)<<6|We&63,ze>127&&(Ce=ze));break;case 3:We=se[Se+1],Xe=se[Se+2],(We&192)===128&&(Xe&192)===128&&(ze=(Me&15)<<12|(We&63)<<6|Xe&63,ze>2047&&(ze<55296||ze>57343)&&(Ce=ze));break;case 4:We=se[Se+1],Xe=se[Se+2],Re=se[Se+3],(We&192)===128&&(Xe&192)===128&&(Re&192)===128&&(ze=(Me&15)<<18|(We&63)<<12|(Xe&63)<<6|Re&63,ze>65535&&ze<1114112&&(Ce=ze))}}Ce===null?(Ce=65533,me=1):Ce>65535&&(Ce-=65536,ie.push(Ce>>>10&1023|55296),Ce=56320|Ce&1023),ie.push(Ce),Se+=me}return ee(ie)}const U=4096;function ee(se){const K=se.length;if(K<=U)return String.fromCharCode.apply(String,se);let Q="",ie=0;for(;ie<K;)Q+=String.fromCharCode.apply(String,se.slice(ie,ie+=U));return Q}function $(se,K,Q){let ie="";Q=Math.min(se.length,Q);for(let Se=K;Se<Q;++Se)ie+=String.fromCharCode(se[Se]&127);return ie}function H(se,K,Q){let ie="";Q=Math.min(se.length,Q);for(let Se=K;Se<Q;++Se)ie+=String.fromCharCode(se[Se]);return ie}function Y(se,K,Q){const ie=se.length;(!K||K<0)&&(K=0),(!Q||Q<0||Q>ie)&&(Q=ie);let Se="";for(let Me=K;Me<Q;++Me)Se+=ht[se[Me]];return Se}function q(se,K,Q){const ie=se.slice(K,Q);let Se="";for(let Me=0;Me<ie.length-1;Me+=2)Se+=String.fromCharCode(ie[Me]+ie[Me+1]*256);return Se}i.prototype.slice=function(K,Q){const ie=this.length;K=~~K,Q=Q===void 0?ie:~~Q,K<0?(K+=ie,K<0&&(K=0)):K>ie&&(K=ie),Q<0?(Q+=ie,Q<0&&(Q=0)):Q>ie&&(Q=ie),Q<K&&(Q=K);const Se=this.subarray(K,Q);return Object.setPrototypeOf(Se,i.prototype),Se};function J(se,K,Q){if(se%1!==0||se<0)throw new RangeError("offset is not uint");if(se+K>Q)throw new RangeError("Trying to access beyond buffer length")}i.prototype.readUintLE=i.prototype.readUIntLE=function(K,Q,ie){K=K>>>0,Q=Q>>>0,ie||J(K,Q,this.length);let Se=this[K],Me=1,Ce=0;for(;++Ce<Q&&(Me*=256);)Se+=this[K+Ce]*Me;return Se},i.prototype.readUintBE=i.prototype.readUIntBE=function(K,Q,ie){K=K>>>0,Q=Q>>>0,ie||J(K,Q,this.length);let Se=this[K+--Q],Me=1;for(;Q>0&&(Me*=256);)Se+=this[K+--Q]*Me;return Se},i.prototype.readUint8=i.prototype.readUInt8=function(K,Q){return K=K>>>0,Q||J(K,1,this.length),this[K]},i.prototype.readUint16LE=i.prototype.readUInt16LE=function(K,Q){return K=K>>>0,Q||J(K,2,this.length),this[K]|this[K+1]<<8},i.prototype.readUint16BE=i.prototype.readUInt16BE=function(K,Q){return K=K>>>0,Q||J(K,2,this.length),this[K]<<8|this[K+1]},i.prototype.readUint32LE=i.prototype.readUInt32LE=function(K,Q){return K=K>>>0,Q||J(K,4,this.length),(this[K]|this[K+1]<<8|this[K+2]<<16)+this[K+3]*16777216},i.prototype.readUint32BE=i.prototype.readUInt32BE=function(K,Q){return K=K>>>0,Q||J(K,4,this.length),this[K]*16777216+(this[K+1]<<16|this[K+2]<<8|this[K+3])},i.prototype.readBigUInt64LE=at(function(K){K=K>>>0,ye(K,"offset");const Q=this[K],ie=this[K+7];(Q===void 0||ie===void 0)&&ve(K,this.length-8);const Se=Q+this[++K]*2**8+this[++K]*2**16+this[++K]*2**24,Me=this[++K]+this[++K]*2**8+this[++K]*2**16+ie*2**24;return BigInt(Se)+(BigInt(Me)<<BigInt(32))}),i.prototype.readBigUInt64BE=at(function(K){K=K>>>0,ye(K,"offset");const Q=this[K],ie=this[K+7];(Q===void 0||ie===void 0)&&ve(K,this.length-8);const Se=Q*2**24+this[++K]*2**16+this[++K]*2**8+this[++K],Me=this[++K]*2**24+this[++K]*2**16+this[++K]*2**8+ie;return(BigInt(Se)<<BigInt(32))+BigInt(Me)}),i.prototype.readIntLE=function(K,Q,ie){K=K>>>0,Q=Q>>>0,ie||J(K,Q,this.length);let Se=this[K],Me=1,Ce=0;for(;++Ce<Q&&(Me*=256);)Se+=this[K+Ce]*Me;return Me*=128,Se>=Me&&(Se-=Math.pow(2,8*Q)),Se},i.prototype.readIntBE=function(K,Q,ie){K=K>>>0,Q=Q>>>0,ie||J(K,Q,this.length);let Se=Q,Me=1,Ce=this[K+--Se];for(;Se>0&&(Me*=256);)Ce+=this[K+--Se]*Me;return Me*=128,Ce>=Me&&(Ce-=Math.pow(2,8*Q)),Ce},i.prototype.readInt8=function(K,Q){return K=K>>>0,Q||J(K,1,this.length),this[K]&128?(255-this[K]+1)*-1:this[K]},i.prototype.readInt16LE=function(K,Q){K=K>>>0,Q||J(K,2,this.length);const ie=this[K]|this[K+1]<<8;return ie&32768?ie|4294901760:ie},i.prototype.readInt16BE=function(K,Q){K=K>>>0,Q||J(K,2,this.length);const ie=this[K+1]|this[K]<<8;return ie&32768?ie|4294901760:ie},i.prototype.readInt32LE=function(K,Q){return K=K>>>0,Q||J(K,4,this.length),this[K]|this[K+1]<<8|this[K+2]<<16|this[K+3]<<24},i.prototype.readInt32BE=function(K,Q){return K=K>>>0,Q||J(K,4,this.length),this[K]<<24|this[K+1]<<16|this[K+2]<<8|this[K+3]},i.prototype.readBigInt64LE=at(function(K){K=K>>>0,ye(K,"offset");const Q=this[K],ie=this[K+7];(Q===void 0||ie===void 0)&&ve(K,this.length-8);const Se=this[K+4]+this[K+5]*2**8+this[K+6]*2**16+(ie<<24);return(BigInt(Se)<<BigInt(32))+BigInt(Q+this[++K]*2**8+this[++K]*2**16+this[++K]*2**24)}),i.prototype.readBigInt64BE=at(function(K){K=K>>>0,ye(K,"offset");const Q=this[K],ie=this[K+7];(Q===void 0||ie===void 0)&&ve(K,this.length-8);const Se=(Q<<24)+this[++K]*2**16+this[++K]*2**8+this[++K];return(BigInt(Se)<<BigInt(32))+BigInt(this[++K]*2**24+this[++K]*2**16+this[++K]*2**8+ie)}),i.prototype.readFloatLE=function(K,Q){return K=K>>>0,Q||J(K,4,this.length),n.read(this,K,!0,23,4)},i.prototype.readFloatBE=function(K,Q){return K=K>>>0,Q||J(K,4,this.length),n.read(this,K,!1,23,4)},i.prototype.readDoubleLE=function(K,Q){return K=K>>>0,Q||J(K,8,this.length),n.read(this,K,!0,52,8)},i.prototype.readDoubleBE=function(K,Q){return K=K>>>0,Q||J(K,8,this.length),n.read(this,K,!1,52,8)};function ne(se,K,Q,ie,Se,Me){if(!i.isBuffer(se))throw new TypeError('"buffer" argument must be a Buffer instance');if(K>Se||K<Me)throw new RangeError('"value" argument is out of bounds');if(Q+ie>se.length)throw new RangeError("Index out of range")}i.prototype.writeUintLE=i.prototype.writeUIntLE=function(K,Q,ie,Se){if(K=+K,Q=Q>>>0,ie=ie>>>0,!Se){const me=Math.pow(2,8*ie)-1;ne(this,K,Q,ie,me,0)}let Me=1,Ce=0;for(this[Q]=K&255;++Ce<ie&&(Me*=256);)this[Q+Ce]=K/Me&255;return Q+ie},i.prototype.writeUintBE=i.prototype.writeUIntBE=function(K,Q,ie,Se){if(K=+K,Q=Q>>>0,ie=ie>>>0,!Se){const me=Math.pow(2,8*ie)-1;ne(this,K,Q,ie,me,0)}let Me=ie-1,Ce=1;for(this[Q+Me]=K&255;--Me>=0&&(Ce*=256);)this[Q+Me]=K/Ce&255;return Q+ie},i.prototype.writeUint8=i.prototype.writeUInt8=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,1,255,0),this[Q]=K&255,Q+1},i.prototype.writeUint16LE=i.prototype.writeUInt16LE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,2,65535,0),this[Q]=K&255,this[Q+1]=K>>>8,Q+2},i.prototype.writeUint16BE=i.prototype.writeUInt16BE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,2,65535,0),this[Q]=K>>>8,this[Q+1]=K&255,Q+2},i.prototype.writeUint32LE=i.prototype.writeUInt32LE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,4,4294967295,0),this[Q+3]=K>>>24,this[Q+2]=K>>>16,this[Q+1]=K>>>8,this[Q]=K&255,Q+4},i.prototype.writeUint32BE=i.prototype.writeUInt32BE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,4,4294967295,0),this[Q]=K>>>24,this[Q+1]=K>>>16,this[Q+2]=K>>>8,this[Q+3]=K&255,Q+4};function re(se,K,Q,ie,Se){le(K,ie,Se,se,Q,7);let Me=Number(K&BigInt(4294967295));se[Q++]=Me,Me=Me>>8,se[Q++]=Me,Me=Me>>8,se[Q++]=Me,Me=Me>>8,se[Q++]=Me;let Ce=Number(K>>BigInt(32)&BigInt(4294967295));return se[Q++]=Ce,Ce=Ce>>8,se[Q++]=Ce,Ce=Ce>>8,se[Q++]=Ce,Ce=Ce>>8,se[Q++]=Ce,Q}function de(se,K,Q,ie,Se){le(K,ie,Se,se,Q,7);let Me=Number(K&BigInt(4294967295));se[Q+7]=Me,Me=Me>>8,se[Q+6]=Me,Me=Me>>8,se[Q+5]=Me,Me=Me>>8,se[Q+4]=Me;let Ce=Number(K>>BigInt(32)&BigInt(4294967295));return se[Q+3]=Ce,Ce=Ce>>8,se[Q+2]=Ce,Ce=Ce>>8,se[Q+1]=Ce,Ce=Ce>>8,se[Q]=Ce,Q+8}i.prototype.writeBigUInt64LE=at(function(K,Q=0){return re(this,K,Q,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeBigUInt64BE=at(function(K,Q=0){return de(this,K,Q,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeIntLE=function(K,Q,ie,Se){if(K=+K,Q=Q>>>0,!Se){const We=Math.pow(2,8*ie-1);ne(this,K,Q,ie,We-1,-We)}let Me=0,Ce=1,me=0;for(this[Q]=K&255;++Me<ie&&(Ce*=256);)K<0&&me===0&&this[Q+Me-1]!==0&&(me=1),this[Q+Me]=(K/Ce>>0)-me&255;return Q+ie},i.prototype.writeIntBE=function(K,Q,ie,Se){if(K=+K,Q=Q>>>0,!Se){const We=Math.pow(2,8*ie-1);ne(this,K,Q,ie,We-1,-We)}let Me=ie-1,Ce=1,me=0;for(this[Q+Me]=K&255;--Me>=0&&(Ce*=256);)K<0&&me===0&&this[Q+Me+1]!==0&&(me=1),this[Q+Me]=(K/Ce>>0)-me&255;return Q+ie},i.prototype.writeInt8=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,1,127,-128),K<0&&(K=255+K+1),this[Q]=K&255,Q+1},i.prototype.writeInt16LE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,2,32767,-32768),this[Q]=K&255,this[Q+1]=K>>>8,Q+2},i.prototype.writeInt16BE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,2,32767,-32768),this[Q]=K>>>8,this[Q+1]=K&255,Q+2},i.prototype.writeInt32LE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,4,2147483647,-2147483648),this[Q]=K&255,this[Q+1]=K>>>8,this[Q+2]=K>>>16,this[Q+3]=K>>>24,Q+4},i.prototype.writeInt32BE=function(K,Q,ie){return K=+K,Q=Q>>>0,ie||ne(this,K,Q,4,2147483647,-2147483648),K<0&&(K=4294967295+K+1),this[Q]=K>>>24,this[Q+1]=K>>>16,this[Q+2]=K>>>8,this[Q+3]=K&255,Q+4},i.prototype.writeBigInt64LE=at(function(K,Q=0){return re(this,K,Q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeBigInt64BE=at(function(K,Q=0){return de(this,K,Q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ee(se,K,Q,ie,Se,Me){if(Q+ie>se.length)throw new RangeError("Index out of range");if(Q<0)throw new RangeError("Index out of range")}function we(se,K,Q,ie,Se){return K=+K,Q=Q>>>0,Se||Ee(se,K,Q,4),n.write(se,K,Q,ie,23,4),Q+4}i.prototype.writeFloatLE=function(K,Q,ie){return we(this,K,Q,!0,ie)},i.prototype.writeFloatBE=function(K,Q,ie){return we(this,K,Q,!1,ie)};function xe(se,K,Q,ie,Se){return K=+K,Q=Q>>>0,Se||Ee(se,K,Q,8),n.write(se,K,Q,ie,52,8),Q+8}i.prototype.writeDoubleLE=function(K,Q,ie){return xe(this,K,Q,!0,ie)},i.prototype.writeDoubleBE=function(K,Q,ie){return xe(this,K,Q,!1,ie)},i.prototype.copy=function(K,Q,ie,Se){if(!i.isBuffer(K))throw new TypeError("argument should be a Buffer");if(ie||(ie=0),!Se&&Se!==0&&(Se=this.length),Q>=K.length&&(Q=K.length),Q||(Q=0),Se>0&&Se<ie&&(Se=ie),Se===ie||K.length===0||this.length===0)return 0;if(Q<0)throw new RangeError("targetStart out of bounds");if(ie<0||ie>=this.length)throw new RangeError("Index out of range");if(Se<0)throw new RangeError("sourceEnd out of bounds");Se>this.length&&(Se=this.length),K.length-Q<Se-ie&&(Se=K.length-Q+ie);const Me=Se-ie;return this===K&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(Q,ie,Se):Uint8Array.prototype.set.call(K,this.subarray(ie,Se),Q),Me},i.prototype.fill=function(K,Q,ie,Se){if(typeof K=="string"){if(typeof Q=="string"?(Se=Q,Q=0,ie=this.length):typeof ie=="string"&&(Se=ie,ie=this.length),Se!==void 0&&typeof Se!="string")throw new TypeError("encoding must be a string");if(typeof Se=="string"&&!i.isEncoding(Se))throw new TypeError("Unknown encoding: "+Se);if(K.length===1){const Ce=K.charCodeAt(0);(Se==="utf8"&&Ce<128||Se==="latin1")&&(K=Ce)}}else typeof K=="number"?K=K&255:typeof K=="boolean"&&(K=Number(K));if(Q<0||this.length<Q||this.length<ie)throw new RangeError("Out of range index");if(ie<=Q)return this;Q=Q>>>0,ie=ie===void 0?this.length:ie>>>0,K||(K=0);let Me;if(typeof K=="number")for(Me=Q;Me<ie;++Me)this[Me]=K;else{const Ce=i.isBuffer(K)?K:i.from(K,Se),me=Ce.length;if(me===0)throw new TypeError('The value "'+K+'" is invalid for argument "value"');for(Me=0;Me<ie-Q;++Me)this[Me+Q]=Ce[Me%me]}return this};const ce={};function pe(se,K,Q){ce[se]=class extends Q{constructor(){super(),Object.defineProperty(this,"message",{value:K.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${se}]`,this.stack,delete this.name}get code(){return se}set code(Se){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Se,writable:!0})}toString(){return`${this.name} [${se}]: ${this.message}`}}}pe("ERR_BUFFER_OUT_OF_BOUNDS",function(se){return se?`${se} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),pe("ERR_INVALID_ARG_TYPE",function(se,K){return`The "${se}" argument must be of type number. Received type ${typeof K}`},TypeError),pe("ERR_OUT_OF_RANGE",function(se,K,Q){let ie=`The value of "${se}" is out of range.`,Se=Q;return Number.isInteger(Q)&&Math.abs(Q)>2**32?Se=he(String(Q)):typeof Q=="bigint"&&(Se=String(Q),(Q>BigInt(2)**BigInt(32)||Q<-(BigInt(2)**BigInt(32)))&&(Se=he(Se)),Se+="n"),ie+=` It must be ${K}. Received ${Se}`,ie},RangeError);function he(se){let K="",Q=se.length;const ie=se[0]==="-"?1:0;for(;Q>=ie+4;Q-=3)K=`_${se.slice(Q-3,Q)}${K}`;return`${se.slice(0,Q)}${K}`}function ke(se,K,Q){ye(K,"offset"),(se[K]===void 0||se[K+Q]===void 0)&&ve(K,se.length-(Q+1))}function le(se,K,Q,ie,Se,Me){if(se>Q||se<K){const Ce=typeof K=="bigint"?"n":"";let me;throw K===0||K===BigInt(0)?me=`>= 0${Ce} and < 2${Ce} ** ${(Me+1)*8}${Ce}`:me=`>= -(2${Ce} ** ${(Me+1)*8-1}${Ce}) and < 2 ** ${(Me+1)*8-1}${Ce}`,new ce.ERR_OUT_OF_RANGE("value",me,se)}ke(ie,Se,Me)}function ye(se,K){if(typeof se!="number")throw new ce.ERR_INVALID_ARG_TYPE(K,"number",se)}function ve(se,K,Q){throw Math.floor(se)!==se?(ye(se,Q),new ce.ERR_OUT_OF_RANGE("offset","an integer",se)):K<0?new ce.ERR_BUFFER_OUT_OF_BOUNDS:new ce.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${K}`,se)}const Ie=/[^+/0-9A-Za-z-_]/g;function Ve(se){if(se=se.split("=")[0],se=se.trim().replace(Ie,""),se.length<2)return"";for(;se.length%4!==0;)se=se+"=";return se}function Qe(se,K){K=K||1/0;let Q;const ie=se.length;let Se=null;const Me=[];for(let Ce=0;Ce<ie;++Ce){if(Q=se.charCodeAt(Ce),Q>55295&&Q<57344){if(!Se){if(Q>56319){(K-=3)>-1&&Me.push(239,191,189);continue}else if(Ce+1===ie){(K-=3)>-1&&Me.push(239,191,189);continue}Se=Q;continue}if(Q<56320){(K-=3)>-1&&Me.push(239,191,189),Se=Q;continue}Q=(Se-55296<<10|Q-56320)+65536}else Se&&(K-=3)>-1&&Me.push(239,191,189);if(Se=null,Q<128){if((K-=1)<0)break;Me.push(Q)}else if(Q<2048){if((K-=2)<0)break;Me.push(Q>>6|192,Q&63|128)}else if(Q<65536){if((K-=3)<0)break;Me.push(Q>>12|224,Q>>6&63|128,Q&63|128)}else if(Q<1114112){if((K-=4)<0)break;Me.push(Q>>18|240,Q>>12&63|128,Q>>6&63|128,Q&63|128)}else throw new Error("Invalid code point")}return Me}function nt(se){const K=[];for(let Q=0;Q<se.length;++Q)K.push(se.charCodeAt(Q)&255);return K}function Ue(se,K){let Q,ie,Se;const Me=[];for(let Ce=0;Ce<se.length&&!((K-=2)<0);++Ce)Q=se.charCodeAt(Ce),ie=Q>>8,Se=Q%256,Me.push(Se),Me.push(ie);return Me}function qe(se){return e.toByteArray(Ve(se))}function _e(se,K,Q,ie){let Se;for(Se=0;Se<ie&&!(Se+Q>=K.length||Se>=se.length);++Se)K[Se+Q]=se[Se];return Se}function et(se,K){return se instanceof K||se!=null&&se.constructor!=null&&se.constructor.name!=null&&se.constructor.name===K.name}function pt(se){return se!==se}const ht=(function(){const se="0123456789abcdef",K=new Array(256);for(let Q=0;Q<16;++Q){const ie=Q*16;for(let Se=0;Se<16;++Se)K[ie+Se]=se[Q]+se[Se]}return K})();function at(se){return typeof BigInt>"u"?De:se}function De(){throw new Error("BigInt not supported")}})(ZI)),ZI}var FC=DIe();s0("536563703235366b315f48617368546f43757276655f43617368755f");function LIe(t){return FC.Buffer.from(t).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function PIe(t){return FC.Buffer.from(t,"base64")}function OIe(t){const e=JSON.stringify(t);return zIe(FC.Buffer.from(e).toString("base64"))}function zIe(t){return t.replace(/\+/g,"-").replace(/\//g,"_").split("=")[0]}function FIe(t){return typeof t=="number"||typeof t=="string"}function Pne(t){const e=[];return GT(t,e),new Uint8Array(e)}function GT(t,e){if(t===null)e.push(246);else if(t===void 0)e.push(247);else if(typeof t=="boolean")e.push(t?245:244);else if(typeof t=="number")One(t,e);else if(typeof t=="string")zne(t,e);else if(Array.isArray(t))UIe(t,e);else if(t instanceof Uint8Array)BIe(t,e);else if(typeof t=="object")$Ie(t,e);else throw new Error("Unsupported type")}function One(t,e){if(t<24)e.push(t);else if(t<256)e.push(24,t);else if(t<65536)e.push(25,t>>8,t&255);else if(t<4294967296)e.push(26,t>>24,t>>16&255,t>>8&255,t&255);else throw new Error("Unsupported integer size")}function BIe(t,e){const n=t.length;if(n<24)e.push(64+n);else if(n<256)e.push(88,n);else if(n<65536)e.push(89,n>>8&255,n&255);else if(n<4294967296)e.push(90,n>>24&255,n>>16&255,n>>8&255,n&255);else throw new Error("Byte string too long to encode");for(let r=0;r<t.length;r++)e.push(t[r])}function zne(t,e){const n=new TextEncoder().encode(t),r=n.length;if(r<24)e.push(96+r);else if(r<256)e.push(120,r);else if(r<65536)e.push(121,r>>8&255,r&255);else if(r<4294967296)e.push(122,r>>24&255,r>>16&255,r>>8&255,r&255);else throw new Error("String too long to encode");for(let o=0;o<n.length;o++)e.push(n[o])}function UIe(t,e){const n=t.length;if(n<24)e.push(128|n);else if(n<256)e.push(152,n);else if(n<65536)e.push(153,n>>8,n&255);else throw new Error("Unsupported array length");for(const r of t)GT(r,e)}function $Ie(t,e){const n=Object.keys(t);One(n.length,e),e[e.length-1]|=160;for(const r of n)zne(r,e),GT(t[r],e)}function VIe(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength);return Ik(e,0).value}function Ik(t,e){if(e>=t.byteLength)throw new Error("Unexpected end of data");const n=t.getUint8(e++),r=n>>5,o=n&31;switch(r){case 0:return HIe(t,e,o);case 1:return WIe(t,e,o);case 2:return YIe(t,e,o);case 3:return GIe(t,e,o);case 4:return qIe(t,e,o);case 5:return KIe(t,e,o);case 7:return QIe(t,e,o);default:throw new Error(`Unsupported major type: ${r}`)}}function Wy(t,e,n){if(n<24)return{value:n,offset:e};if(n===24)return{value:t.getUint8(e++),offset:e};if(n===25){const r=t.getUint16(e,!1);return e+=2,{value:r,offset:e}}if(n===26){const r=t.getUint32(e,!1);return e+=4,{value:r,offset:e}}if(n===27){const r=t.getUint32(e,!1),o=t.getUint32(e+4,!1);return e+=8,{value:r*2**32+o,offset:e}}throw new Error(`Unsupported length: ${n}`)}function HIe(t,e,n){const{value:r,offset:o}=Wy(t,e,n);return{value:r,offset:o}}function WIe(t,e,n){const{value:r,offset:o}=Wy(t,e,n);return{value:-1-r,offset:o}}function YIe(t,e,n){const{value:r,offset:o}=Wy(t,e,n);if(o+r>t.byteLength)throw new Error("Byte string length exceeds data length");return{value:new Uint8Array(t.buffer,t.byteOffset+o,r),offset:o+r}}function GIe(t,e,n){const{value:r,offset:o}=Wy(t,e,n);if(o+r>t.byteLength)throw new Error("String length exceeds data length");const s=new Uint8Array(t.buffer,t.byteOffset+o,r);return{value:new TextDecoder().decode(s),offset:o+r}}function qIe(t,e,n){const{value:r,offset:o}=Wy(t,e,n),s=[];let a=o;for(let i=0;i<r;i++){const l=Ik(t,a);s.push(l.value),a=l.offset}return{value:s,offset:a}}function KIe(t,e,n){const{value:r,offset:o}=Wy(t,e,n),s={};let a=o;for(let i=0;i<r;i++){const l=Ik(t,a);if(!FIe(l.value))throw new Error("Invalid key type");const u=Ik(t,l.offset);s[l.value]=u.value,a=u.offset}return{value:s,offset:a}}function ZIe(t){const e=(t&31744)>>10,n=t&1023,r=t&32768?-1:1;return e===0?r*2**-14*(n/1024):e===31?n?NaN:r*(1/0):r*2**(e-15)*(1+n/1024)}function QIe(t,e,n){if(n<24)switch(n){case 20:return{value:!1,offset:e};case 21:return{value:!0,offset:e};case 22:return{value:null,offset:e};case 23:return{value:void 0,offset:e};default:throw new Error(`Unknown simple value: ${n}`)}if(n===24)return{value:t.getUint8(e++),offset:e};if(n===25){const r=ZIe(t.getUint16(e,!1));return e+=2,{value:r,offset:e}}if(n===26){const r=t.getFloat32(e,!1);return e+=4,{value:r,offset:e}}if(n===27){const r=t.getFloat64(e,!1);return e+=8,{value:r,offset:e}}throw new Error(`Unknown simple or float value: ${n}`)}let Fne=class Bne{constructor(e,n,r,o,s,a,i=!1,l){this.transport=e,this.id=n,this.amount=r,this.unit=o,this.mints=s,this.description=a,this.singleUse=i,this.nut10=l}toRawRequest(){const e={};return this.transport&&(e.t=this.transport.map(n=>({t:n.type,a:n.target,g:n.tags}))),this.id&&(e.i=this.id),this.amount&&(e.a=this.amount),this.unit&&(e.u=this.unit),this.mints&&(e.m=this.mints),this.description&&(e.d=this.description),this.singleUse&&(e.s=this.singleUse),this.nut10&&(e.nut10={k:this.nut10.kind,d:this.nut10.data,t:this.nut10.tags}),e}toEncodedRequest(){const e=this.toRawRequest(),n=Pne(e);return"creqA"+FC.Buffer.from(n).toString("base64")}getTransport(e){var n;return(n=this.transport)==null?void 0:n.find(r=>r.type===e)}static fromRawRequest(e){const n=e.t?e.t.map(o=>({type:o.t,target:o.a,tags:o.g})):void 0,r=e.nut10?{kind:e.nut10.k,data:e.nut10.d,tags:e.nut10.t}:void 0;return new Bne(n,e.i,e.a,e.u,e.m,e.d,e.s,r)}static fromEncodedRequest(e){if(!e.startsWith("creq"))throw new Error("unsupported pr: invalid prefix");if(e[4]!=="A")throw new Error("unsupported pr version");const n=e.slice(5),r=PIe(n),o=VIe(r);return this.fromRawRequest(o)}};const JIe="A",XIe="cashu";function IU(t){return/^[a-f0-9]*$/i.test(t)}function Une(t){return Array.isArray(t)?t.some(e=>!IU(e.id)):IU(t.id)}function e9e(t){const e={token:[{mint:t.mint,proofs:t.proofs}]};return t.unit&&(e.unit=t.unit),t.memo&&(e.memo=t.memo),XIe+JIe+OIe(e)}function t9e(t,e){if(Une(t.proofs)||(e==null?void 0:e.version)===3){if((e==null?void 0:e.version)===4)throw new Error("can not encode to v4 token if proofs contain non-hex keyset id");return e9e(t)}return $ne(t)}function $ne(t){if(t.proofs.forEach(a=>{if(a.dleq&&a.dleq.r==null)throw new Error("Missing blinding factor in included DLEQ proof")}),Une(t.proofs))throw new Error("can not encode to v4 token if proofs contain non-hex keyset id");const e=n9e(t),n=Pne(e),r="cashu",o="B",s=LIe(n);return r+o+s}function n9e(t){const e={},n=t.mint;for(let o=0;o<t.proofs.length;o++){const s=t.proofs[o];e[s.id]?e[s.id].push(s):e[s.id]=[s]}const r={m:n,u:t.unit||"sat",t:Object.keys(e).map(o=>({i:s0(o),p:e[o].map(s=>({a:s.amount,s:s.secret,c:s0(s.C),...s.dleq&&{d:{e:s0(s.dleq.e),s:s0(s.dleq.s),r:s0(s.dleq.r??"00")}},...s.witness&&{w:JSON.stringify(s.witness)}}))}))};return t.memo&&(r.d=t.memo),r}function r9e(t){return Fne.fromEncodedRequest(t)}const Yy=Object.freeze(Object.defineProperty({__proto__:null,PaymentRequest:Fne,decodePaymentRequest:r9e,getEncodedToken:t9e,getEncodedTokenV4:$ne},Symbol.toStringTag,{value:"Module"}));class o9e extends Error{}function s9e(t,e,n){const r=new AbortController;n&&n.addEventListener("abort",a=>r.abort(a),{once:!0});const o=setTimeout(()=>{r.abort(new o9e(e))},t);return{cancel:()=>clearTimeout(o),signal:r.signal}}function aa(t,e){if(e!=null&&e.timeout){const{cancel:n,signal:r}=s9e(e.timeout,e.timeoutMessage??"Timeout",e.signal??void 0);return fetch(t,{...e,signal:r}).finally(n)}else return fetch(t,e)}async function AU(t,e,n){var i;const r=new URL("/mirror",t),o={"X-SHA-256":e.sha256,"X-Content-Length":String(e.size),"Content-Type":"application/json"};if(e.type&&(o["X-Content-Type"]=e.type),n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=ys(await n.onAuth(t,e.sha256,e))}else o.Authorization=ys(n.auth);const s=JSON.stringify({url:e.url});let a=await aa(r,{method:"PUT",signal:n==null?void 0:n.signal,headers:o,body:s,timeout:n==null?void 0:n.timeout});switch(a.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const l=await((i=n==null?void 0:n.onAuth)==null?void 0:i.call(n,t,e.sha256,e));if(!l)throw new Error("Missing auth handler");a=await aa(r,{signal:n==null?void 0:n.signal,method:"PUT",body:s,headers:{...o,Authorization:ys(l)},timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:l}=await Bs(async()=>{const{getEncodedToken:g}=await Promise.resolve().then(()=>Yy);return{getEncodedToken:g}},void 0),{getPaymentRequestFromHeaders:u}=await Bs(async()=>{const{getPaymentRequestFromHeaders:g}=await import("./cashu-DcWEBdFq.js");return{getPaymentRequestFromHeaders:g}},[]),d=u(a.headers),f=await n.onPayment(t,e.sha256,e,d),m=l(f);a=await aa(r,{signal:n==null?void 0:n.signal,method:"PUT",body:s,headers:{...o,"X-Cashu":m},timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(a),a.json()}async function _U(t,e,n){var d;const r=new URL("/upload",t),o=await zC(e),s={"X-SHA-256":o};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");s.Authorization=ys(await n.onAuth(t,o,"upload",e))}else s.Authorization=ys(n.auth);const a={...s,"X-Content-Length":String(Tne(e))},i=Dne(e);i&&(a["X-Content-Type"]=i);let l=await aa(r,{method:"HEAD",signal:n==null?void 0:n.signal,headers:a,timeout:n==null?void 0:n.timeout}),u;switch(l.status===404&&(u=l=await aa(r,{body:e,method:"PUT",signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout})),l.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const f=await((d=n==null?void 0:n.onAuth)==null?void 0:d.call(n,t,o,"upload",e));if(!f)throw new Error("Missing auth handler");u=await aa(r,{method:"PUT",body:e,headers:{...s,Authorization:ys(f)},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:f}=await Bs(async()=>{const{getEncodedToken:j}=await Promise.resolve().then(()=>Yy);return{getEncodedToken:j}},void 0),{getPaymentRequestFromHeaders:m}=await Bs(async()=>{const{getPaymentRequestFromHeaders:j}=await import("./cashu-DcWEBdFq.js");return{getPaymentRequestFromHeaders:j}},[]),g=m(l.headers),w=await n.onPayment(t,o,e,g),b=f(w);u=await aa(r,{method:"PUT",body:e,headers:{...s,"X-Cashu":b},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}}if(l.status>=500)throw new Error("Server error");return u||(u=await aa(r,{method:"PUT",body:e,headers:{...s},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout})),await jh.handleErrorResponse(u),u.json()}async function MU(t,e,n){var a;const r=new URL("/list/"+e,t);n!=null&&n.since&&r.searchParams.append("since",String(n.since)),n!=null&&n.until&&r.searchParams.append("until",String(n.until));const o={};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=ys(await n.onAuth(t))}else o.Authorization=ys(n.auth);let s=await aa(r,{headers:o,signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});switch(s.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const i=await((a=n==null?void 0:n.onAuth)==null?void 0:a.call(n,t));if(!i)throw new Error("Missing auth handler");s=await aa(r,{headers:{...o,Authorization:ys(i)},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:i}=await Bs(async()=>{const{getEncodedToken:m}=await Promise.resolve().then(()=>Yy);return{getEncodedToken:m}},void 0),{getPaymentRequestFromHeaders:l}=await Bs(async()=>{const{getPaymentRequestFromHeaders:m}=await import("./cashu-DcWEBdFq.js");return{getPaymentRequestFromHeaders:m}},[]),u=l(s.headers),d=await n.onPayment(t,u),f=i(d);s=await aa(r,{headers:{...o,"X-Cashu":f},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(s),s.json()}async function RU(t,e,n){var a;const r=new URL("/"+e,t),o={};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=ys(await n.onAuth(t,e))}else o.Authorization=ys(n.auth);let s=await aa(r,{headers:o,signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});switch(s.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const i=await((a=n==null?void 0:n.onAuth)==null?void 0:a.call(n,t,e));if(!i)throw new Error("Missing auth handler");s=await aa(r,{headers:{...o,Authorization:ys(i)},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:i}=await Bs(async()=>{const{getEncodedToken:m}=await Promise.resolve().then(()=>Yy);return{getEncodedToken:m}},void 0),{getPaymentRequestFromHeaders:l}=await Bs(async()=>{const{getPaymentRequestFromHeaders:m}=await import("./cashu-DcWEBdFq.js");return{getPaymentRequestFromHeaders:m}},[]),u=l(s.headers),d=await n.onPayment(t,e,u),f=i(d);s=await aa(r,{headers:{...o,"X-Cashu":f},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(s),s}async function a9e(t,e,n){var a;const r=new URL("/"+e,t),o={};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=ys(await n.onAuth(t,e))}else o.Authorization=ys(n.auth);let s=await aa(r,{method:"DELETE",headers:o,signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});switch(s.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const i=await((a=n==null?void 0:n.onAuth)==null?void 0:a.call(n,t,e));if(!i)throw new Error("Missing auth handler");s=await aa(r,{signal:n==null?void 0:n.signal,method:"DELETE",headers:{...o,Authorization:ys(i)},timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:i}=await Bs(async()=>{const{getEncodedToken:m}=await Promise.resolve().then(()=>Yy);return{getEncodedToken:m}},void 0),{getPaymentRequestFromHeaders:l}=await Bs(async()=>{const{getPaymentRequestFromHeaders:m}=await import("./cashu-DcWEBdFq.js");return{getPaymentRequestFromHeaders:m}},[]),u=l(s.headers),d=await n.onPayment(t,e,u),f=i(d);s=await aa(r,{signal:n==null?void 0:n.signal,method:"DELETE",headers:{...o,"X-Cashu":f},timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(s),s.ok}class i9e extends Error{}async function TU(t,e,n){var d;const r=new URL("/media",t),o=await zC(e),s={"X-SHA-256":o};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");s.Authorization=ys(await n.onAuth(t,o,"media",e))}else s.Authorization=ys(n.auth);const a={...s,"X-Content-Length":String(Tne(e))},i=Dne(e);i&&(a["X-Content-Type"]=i);let l=await fetch(r,{method:"HEAD",signal:n==null?void 0:n.signal,headers:a}),u;if(l.status===404)throw new i9e("/media endpoint not supported");switch(l.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const f=await((d=n==null?void 0:n.onAuth)==null?void 0:d.call(n,t,o,"media",e));if(!f)throw new Error("Missing auth handler");u=await fetch(r,{signal:n==null?void 0:n.signal,method:"PUT",body:e,headers:{...s,Authorization:ys(f)}});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:f}=await Bs(async()=>{const{getEncodedToken:j}=await Promise.resolve().then(()=>Yy);return{getEncodedToken:j}},void 0),{getPaymentRequestFromHeaders:m}=await Bs(async()=>{const{getPaymentRequestFromHeaders:j}=await import("./cashu-DcWEBdFq.js");return{getPaymentRequestFromHeaders:j}},[]),g=m(l.headers),w=await n.onPayment(t,o,e,g),b=f(w);u=await fetch(r,{signal:n==null?void 0:n.signal,method:"PUT",body:e,headers:{...s,"X-Cashu":b}});break}}if(l.status>=500)throw new Error("Server error");return u||(u=await fetch(r,{signal:n==null?void 0:n.signal,method:"PUT",body:e,headers:{...s}})),await jh.handleErrorResponse(u),u.json()}const va=class va{constructor(e,n){je(this,"server");je(this,"signer");je(this,"payment");this.server=new URL("/",e),this.signer=n}async createDownloadAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await xU(this.signer,e,n)}async downloadBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(s,a)=>this.createDownloadAuth(a,{message:`Download ${a}`})),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.download),(await RU(this.server,e,r)).blob()}async createUploadAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await kU(this.signer,e,n)}async uploadBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s,a)=>this.createUploadAuth(s,{type:a})),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.upload),_U(this.server,e,r)}async createMirrorAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await MIe(this.signer,typeof e=="string"?e:e.sha256,n)}async mirrorBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s)=>this.createMirrorAuth(s)),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.mirror),AU(this.server,e,r)}async createMediaAuth(e,n){return await this.createUploadAuth(e,{...n,type:"media"})}async uploadMedia(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s,a)=>this.createUploadAuth(s,{type:a})),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.upload),TU(this.server,e,r)}static async hasBlob(e,n){return(await fetch(new URL("/"+n,e),{method:"HEAD"})).status!==404}async hasBlob(e){return va.hasBlob(this.server,e)}async createListAuth(e){if(!this.signer)throw new Error("Missing signer");return await jU(this.signer,e)}async listBlobs(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=o=>this.createListAuth()),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.list),MU(this.server,e,r)}async createDeleteAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await CU(this.signer,e,n)}async deleteBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s)=>this.createDeleteAuth(s)),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.delete),va.deleteBlob(this.server,e,r)}};je(va,"getFileSha256",zC),je(va,"createGetAuth",xU),je(va,"createUploadAuth",kU),je(va,"createListAuth",jU),je(va,"createDeleteAuth",CU),je(va,"encodeAuthorizationHeader",ys),je(va,"mirrorBlob",AU),je(va,"uploadBlob",_U),je(va,"listBlobs",MU),je(va,"downloadBlob",RU),je(va,"deleteBlob",a9e),je(va,"uploadMedia",TU);let kp=va;var fr;(function(t){t.assertEqual=o=>o;function e(o){}t.assertIs=e;function n(o){throw new Error}t.assertNever=n,t.arrayToEnum=o=>{const s={};for(const a of o)s[a]=a;return s},t.getValidEnumValues=o=>{const s=t.objectKeys(o).filter(i=>typeof o[o[i]]!="number"),a={};for(const i of s)a[i]=o[i];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const s=[];for(const a in o)Object.prototype.hasOwnProperty.call(o,a)&&s.push(a);return s},t.find=(o,s)=>{for(const a of o)if(s(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function r(o,s=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}t.joinValues=r,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(fr||(fr={}));var V_;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(V_||(V_={}));const Xt=fr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Yf=t=>{switch(typeof t){case"undefined":return Xt.undefined;case"string":return Xt.string;case"number":return isNaN(t)?Xt.nan:Xt.number;case"boolean":return Xt.boolean;case"function":return Xt.function;case"bigint":return Xt.bigint;case"symbol":return Xt.symbol;case"object":return Array.isArray(t)?Xt.array:t===null?Xt.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?Xt.promise:typeof Map<"u"&&t instanceof Map?Xt.map:typeof Set<"u"&&t instanceof Set?Xt.set:typeof Date<"u"&&t instanceof Date?Xt.date:Xt.object;default:return Xt.unknown}},Lt=fr.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),l9e=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class il extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){const n=e||function(s){return s.message},r={_errors:[]},o=s=>{for(const a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let i=r,l=0;for(;l<a.path.length;){const u=a.path[l];l===a.path.length-1?(i[u]=i[u]||{_errors:[]},i[u]._errors.push(n(a))):i[u]=i[u]||{_errors:[]},i=i[u],l++}}};return o(this),r}static assert(e){if(!(e instanceof il))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,fr.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){const n={},r=[];for(const o of this.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(e(o))):r.push(e(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}il.create=t=>new il(t);const ly=(t,e)=>{let n;switch(t.code){case Lt.invalid_type:t.received===Xt.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case Lt.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,fr.jsonStringifyReplacer)}`;break;case Lt.unrecognized_keys:n=`Unrecognized key(s) in object: ${fr.joinValues(t.keys,", ")}`;break;case Lt.invalid_union:n="Invalid input";break;case Lt.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${fr.joinValues(t.options)}`;break;case Lt.invalid_enum_value:n=`Invalid enum value. Expected ${fr.joinValues(t.options)}, received '${t.received}'`;break;case Lt.invalid_arguments:n="Invalid function arguments";break;case Lt.invalid_return_type:n="Invalid function return type";break;case Lt.invalid_date:n="Invalid date";break;case Lt.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:fr.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case Lt.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case Lt.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case Lt.custom:n="Invalid input";break;case Lt.invalid_intersection_types:n="Intersection results could not be merged";break;case Lt.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case Lt.not_finite:n="Number must be finite";break;default:n=e.defaultError,fr.assertNever(t)}return{message:n}};let Vne=ly;function c9e(t){Vne=t}function Ak(){return Vne}const _k=t=>{const{data:e,path:n,errorMaps:r,issueData:o}=t,s=[...n,...o.path||[]],a={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let i="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)i=u(a,{data:e,defaultError:i}).message;return{...o,path:s,message:i}},u9e=[];function Qt(t,e){const n=Ak(),r=_k({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===ly?void 0:ly].filter(o=>!!o)});t.common.issues.push(r)}class Da{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){const r=[];for(const o of n){if(o.status==="aborted")return Nn;o.status==="dirty"&&e.dirty(),r.push(o.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){const r=[];for(const o of n){const s=await o.key,a=await o.value;r.push({key:s,value:a})}return Da.mergeObjectSync(e,r)}static mergeObjectSync(e,n){const r={};for(const o of n){const{key:s,value:a}=o;if(s.status==="aborted"||a.status==="aborted")return Nn;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet)&&(r[s.value]=a.value)}return{status:e.value,value:r}}}const Nn=Object.freeze({status:"aborted"}),p0=t=>({status:"dirty",value:t}),ni=t=>({status:"valid",value:t}),H_=t=>t.status==="aborted",W_=t=>t.status==="dirty",mg=t=>t.status==="valid",Mb=t=>typeof Promise<"u"&&t instanceof Promise;function Mk(t,e,n,r){if(typeof e=="function"?t!==e||!0:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(t)}function Hne(t,e,n,r,o){if(typeof e=="function"?t!==e||!0:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,n),n}var dn;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(dn||(dn={}));var Tw,Dw;class tf{constructor(e,n,r,o){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const DU=(t,e)=>{if(mg(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new il(t.common.issues);return this._error=n,this._error}}};function Fn(t){if(!t)return{};const{errorMap:e,invalid_type_error:n,required_error:r,description:o}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,i)=>{var l,u;const{message:d}=t;return a.code==="invalid_enum_value"?{message:d??i.defaultError}:typeof i.data>"u"?{message:(l=d??r)!==null&&l!==void 0?l:i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:(u=d??n)!==null&&u!==void 0?u:i.defaultError}},description:o}}class Hn{get description(){return this._def.description}_getType(e){return Yf(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Yf(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Da,ctx:{common:e.parent.common,data:e.data,parsedType:Yf(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const n=this._parse(e);if(Mb(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){const n=this._parse(e);return Promise.resolve(n)}parse(e,n){const r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){var r;const o={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Yf(e)},s=this._parseSync({data:e,path:o.path,parent:o});return DU(o,s)}"~validate"(e){var n,r;const o={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Yf(e)};if(!this["~standard"].async)try{const s=this._parseSync({data:e,path:[],parent:o});return mg(s)?{value:s.value}:{issues:o.common.issues}}catch(s){!((r=(n=s==null?void 0:s.message)===null||n===void 0?void 0:n.toLowerCase())===null||r===void 0)&&r.includes("encountered")&&(this["~standard"].async=!0),o.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:o}).then(s=>mg(s)?{value:s.value}:{issues:o.common.issues})}async parseAsync(e,n){const r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Yf(e)},o=this._parse({data:e,path:r.path,parent:r}),s=await(Mb(o)?o:Promise.resolve(o));return DU(r,s)}refine(e,n){const r=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{const a=e(o),i=()=>s.addIssue({code:Lt.custom,...r(o)});return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,n){return this._refinement((r,o)=>e(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(e){return new Qc({schema:this,typeName:Sn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Gu.create(this,this._def)}nullable(){return ih.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Hc.create(this)}promise(){return uy.create(this,this._def)}or(e){return Lb.create([this,e],this._def)}and(e){return Pb.create(this,e,this._def)}transform(e){return new Qc({...Fn(this._def),schema:this,typeName:Sn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const n=typeof e=="function"?e:()=>e;return new Ub({...Fn(this._def),innerType:this,defaultValue:n,typeName:Sn.ZodDefault})}brand(){return new qT({typeName:Sn.ZodBranded,type:this,...Fn(this._def)})}catch(e){const n=typeof e=="function"?e:()=>e;return new $b({...Fn(this._def),innerType:this,catchValue:n,typeName:Sn.ZodCatch})}describe(e){const n=this.constructor;return new n({...this._def,description:e})}pipe(e){return H2.create(this,e)}readonly(){return Vb.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const f9e=/^c[^\s-]{8,}$/i,d9e=/^[0-9a-z]+$/,p9e=/^[0-9A-HJKMNP-TV-Z]{26}$/i,h9e=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,m9e=/^[a-z0-9_-]{21}$/i,g9e=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,y9e=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,v9e=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,w9e="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let QI;const b9e=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,x9e=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,k9e=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,j9e=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,C9e=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,S9e=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Wne="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",E9e=new RegExp(`^${Wne}$`);function Yne(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function N9e(t){return new RegExp(`^${Yne(t)}$`)}function Gne(t){let e=`${Wne}T${Yne(t)}`;const n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function I9e(t,e){return!!((e==="v4"||!e)&&b9e.test(t)||(e==="v6"||!e)&&k9e.test(t))}function A9e(t,e){if(!g9e.test(t))return!1;try{const[n]=t.split("."),r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||!o.typ||!o.alg||e&&o.alg!==e)}catch{return!1}}function _9e(t,e){return!!((e==="v4"||!e)&&x9e.test(t)||(e==="v6"||!e)&&j9e.test(t))}class Uc extends Hn{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==Xt.string){const s=this._getOrReturnCtx(e);return Qt(s,{code:Lt.invalid_type,expected:Xt.string,received:s.parsedType}),Nn}const r=new Da;let o;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const a=e.data.length>s.value,i=e.data.length<s.value;(a||i)&&(o=this._getOrReturnCtx(e,o),a?Qt(o,{code:Lt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&Qt(o,{code:Lt.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")v9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"email",code:Lt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")QI||(QI=new RegExp(w9e,"u")),QI.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"emoji",code:Lt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")h9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"uuid",code:Lt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")m9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"nanoid",code:Lt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")f9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"cuid",code:Lt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")d9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"cuid2",code:Lt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")p9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"ulid",code:Lt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),Qt(o,{validation:"url",code:Lt.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"regex",code:Lt.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?Gne(s).test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?E9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?N9e(s).test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?y9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"duration",code:Lt.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?I9e(e.data,s.version)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"ip",code:Lt.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?A9e(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"jwt",code:Lt.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?_9e(e.data,s.version)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"cidr",code:Lt.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?C9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"base64",code:Lt.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?S9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"base64url",code:Lt.invalid_string,message:s.message}),r.dirty()):fr.assertNever(s);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(o=>e.test(o),{validation:n,code:Lt.invalid_string,...dn.errToObj(r)})}_addCheck(e){return new Uc({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...dn.errToObj(e)})}url(e){return this._addCheck({kind:"url",...dn.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...dn.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...dn.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...dn.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...dn.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...dn.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...dn.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...dn.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...dn.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...dn.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...dn.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...dn.errToObj(e)})}datetime(e){var n,r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(n=e==null?void 0:e.offset)!==null&&n!==void 0?n:!1,local:(r=e==null?void 0:e.local)!==null&&r!==void 0?r:!1,...dn.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...dn.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...dn.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...dn.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n==null?void 0:n.position,...dn.errToObj(n==null?void 0:n.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...dn.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...dn.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...dn.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...dn.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...dn.errToObj(n)})}nonempty(e){return this.min(1,dn.errToObj(e))}trim(){return new Uc({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Uc({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Uc({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}Uc.create=t=>{var e;return new Uc({checks:[],typeName:Sn.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Fn(t)})};function M9e(t,e){const n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,o=n>r?n:r,s=parseInt(t.toFixed(o).replace(".","")),a=parseInt(e.toFixed(o).replace(".",""));return s%a/Math.pow(10,o)}class oh extends Hn{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==Xt.number){const s=this._getOrReturnCtx(e);return Qt(s,{code:Lt.invalid_type,expected:Xt.number,received:s.parsedType}),Nn}let r;const o=new Da;for(const s of this._def.checks)s.kind==="int"?fr.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?M9e(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.not_finite,message:s.message}),o.dirty()):fr.assertNever(s);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,dn.toString(n))}gt(e,n){return this.setLimit("min",e,!1,dn.toString(n))}lte(e,n){return this.setLimit("max",e,!0,dn.toString(n))}lt(e,n){return this.setLimit("max",e,!1,dn.toString(n))}setLimit(e,n,r,o){return new oh({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:dn.toString(o)}]})}_addCheck(e){return new oh({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:dn.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:dn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:dn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:dn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:dn.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:dn.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:dn.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:dn.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:dn.toString(e)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&fr.isInteger(e.value))}get isFinite(){let e=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}}oh.create=t=>new oh({checks:[],typeName:Sn.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...Fn(t)});class sh extends Hn{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==Xt.bigint)return this._getInvalidInput(e);let r;const o=new Da;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Lt.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):fr.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){const n=this._getOrReturnCtx(e);return Qt(n,{code:Lt.invalid_type,expected:Xt.bigint,received:n.parsedType}),Nn}gte(e,n){return this.setLimit("min",e,!0,dn.toString(n))}gt(e,n){return this.setLimit("min",e,!1,dn.toString(n))}lte(e,n){return this.setLimit("max",e,!0,dn.toString(n))}lt(e,n){return this.setLimit("max",e,!1,dn.toString(n))}setLimit(e,n,r,o){return new sh({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:dn.toString(o)}]})}_addCheck(e){return new sh({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:dn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:dn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:dn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:dn.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:dn.toString(n)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}sh.create=t=>{var e;return new sh({checks:[],typeName:Sn.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Fn(t)})};class Rb extends Hn{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==Xt.boolean){const r=this._getOrReturnCtx(e);return Qt(r,{code:Lt.invalid_type,expected:Xt.boolean,received:r.parsedType}),Nn}return ni(e.data)}}Rb.create=t=>new Rb({typeName:Sn.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...Fn(t)});class gg extends Hn{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==Xt.date){const s=this._getOrReturnCtx(e);return Qt(s,{code:Lt.invalid_type,expected:Xt.date,received:s.parsedType}),Nn}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return Qt(s,{code:Lt.invalid_date}),Nn}const r=new Da;let o;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Lt.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):fr.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new gg({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:dn.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:dn.toString(n)})}get minDate(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}}gg.create=t=>new gg({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:Sn.ZodDate,...Fn(t)});class Rk extends Hn{_parse(e){if(this._getType(e)!==Xt.symbol){const r=this._getOrReturnCtx(e);return Qt(r,{code:Lt.invalid_type,expected:Xt.symbol,received:r.parsedType}),Nn}return ni(e.data)}}Rk.create=t=>new Rk({typeName:Sn.ZodSymbol,...Fn(t)});class Tb extends Hn{_parse(e){if(this._getType(e)!==Xt.undefined){const r=this._getOrReturnCtx(e);return Qt(r,{code:Lt.invalid_type,expected:Xt.undefined,received:r.parsedType}),Nn}return ni(e.data)}}Tb.create=t=>new Tb({typeName:Sn.ZodUndefined,...Fn(t)});class Db extends Hn{_parse(e){if(this._getType(e)!==Xt.null){const r=this._getOrReturnCtx(e);return Qt(r,{code:Lt.invalid_type,expected:Xt.null,received:r.parsedType}),Nn}return ni(e.data)}}Db.create=t=>new Db({typeName:Sn.ZodNull,...Fn(t)});class cy extends Hn{constructor(){super(...arguments),this._any=!0}_parse(e){return ni(e.data)}}cy.create=t=>new cy({typeName:Sn.ZodAny,...Fn(t)});class Gm extends Hn{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ni(e.data)}}Gm.create=t=>new Gm({typeName:Sn.ZodUnknown,...Fn(t)});class id extends Hn{_parse(e){const n=this._getOrReturnCtx(e);return Qt(n,{code:Lt.invalid_type,expected:Xt.never,received:n.parsedType}),Nn}}id.create=t=>new id({typeName:Sn.ZodNever,...Fn(t)});class Tk extends Hn{_parse(e){if(this._getType(e)!==Xt.undefined){const r=this._getOrReturnCtx(e);return Qt(r,{code:Lt.invalid_type,expected:Xt.void,received:r.parsedType}),Nn}return ni(e.data)}}Tk.create=t=>new Tk({typeName:Sn.ZodVoid,...Fn(t)});class Hc extends Hn{_parse(e){const{ctx:n,status:r}=this._processInputParams(e),o=this._def;if(n.parsedType!==Xt.array)return Qt(n,{code:Lt.invalid_type,expected:Xt.array,received:n.parsedType}),Nn;if(o.exactLength!==null){const a=n.data.length>o.exactLength.value,i=n.data.length<o.exactLength.value;(a||i)&&(Qt(n,{code:a?Lt.too_big:Lt.too_small,minimum:i?o.exactLength.value:void 0,maximum:a?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(Qt(n,{code:Lt.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(Qt(n,{code:Lt.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,i)=>o.type._parseAsync(new tf(n,a,n.path,i)))).then(a=>Da.mergeArray(r,a));const s=[...n.data].map((a,i)=>o.type._parseSync(new tf(n,a,n.path,i)));return Da.mergeArray(r,s)}get element(){return this._def.type}min(e,n){return new Hc({...this._def,minLength:{value:e,message:dn.toString(n)}})}max(e,n){return new Hc({...this._def,maxLength:{value:e,message:dn.toString(n)}})}length(e,n){return new Hc({...this._def,exactLength:{value:e,message:dn.toString(n)}})}nonempty(e){return this.min(1,e)}}Hc.create=(t,e)=>new Hc({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Sn.ZodArray,...Fn(e)});function a0(t){if(t instanceof ko){const e={};for(const n in t.shape){const r=t.shape[n];e[n]=Gu.create(a0(r))}return new ko({...t._def,shape:()=>e})}else return t instanceof Hc?new Hc({...t._def,type:a0(t.element)}):t instanceof Gu?Gu.create(a0(t.unwrap())):t instanceof ih?ih.create(a0(t.unwrap())):t instanceof nf?nf.create(t.items.map(e=>a0(e))):t}class ko extends Hn{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),n=fr.objectKeys(e);return this._cached={shape:e,keys:n}}_parse(e){if(this._getType(e)!==Xt.object){const u=this._getOrReturnCtx(e);return Qt(u,{code:Lt.invalid_type,expected:Xt.object,received:u.parsedType}),Nn}const{status:r,ctx:o}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof id&&this._def.unknownKeys==="strip"))for(const u in o.data)a.includes(u)||i.push(u);const l=[];for(const u of a){const d=s[u],f=o.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new tf(o,f,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof id){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of i)l.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")i.length>0&&(Qt(o,{code:Lt.unrecognized_keys,keys:i}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of i){const f=o.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new tf(o,f,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key,m=await d.value;u.push({key:f,value:m,alwaysSet:d.alwaysSet})}return u}).then(u=>Da.mergeObjectSync(r,u)):Da.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(e){return dn.errToObj,new ko({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{var o,s,a,i;const l=(a=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,n,r).message)!==null&&a!==void 0?a:r.defaultError;return n.code==="unrecognized_keys"?{message:(i=dn.errToObj(e).message)!==null&&i!==void 0?i:l}:{message:l}}}:{}})}strip(){return new ko({...this._def,unknownKeys:"strip"})}passthrough(){return new ko({...this._def,unknownKeys:"passthrough"})}extend(e){return new ko({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ko({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Sn.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new ko({...this._def,catchall:e})}pick(e){const n={};return fr.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new ko({...this._def,shape:()=>n})}omit(e){const n={};return fr.objectKeys(this.shape).forEach(r=>{e[r]||(n[r]=this.shape[r])}),new ko({...this._def,shape:()=>n})}deepPartial(){return a0(this)}partial(e){const n={};return fr.objectKeys(this.shape).forEach(r=>{const o=this.shape[r];e&&!e[r]?n[r]=o:n[r]=o.optional()}),new ko({...this._def,shape:()=>n})}required(e){const n={};return fr.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Gu;)s=s._def.innerType;n[r]=s}}),new ko({...this._def,shape:()=>n})}keyof(){return qne(fr.objectKeys(this.shape))}}ko.create=(t,e)=>new ko({shape:()=>t,unknownKeys:"strip",catchall:id.create(),typeName:Sn.ZodObject,...Fn(e)});ko.strictCreate=(t,e)=>new ko({shape:()=>t,unknownKeys:"strict",catchall:id.create(),typeName:Sn.ZodObject,...Fn(e)});ko.lazycreate=(t,e)=>new ko({shape:t,unknownKeys:"strip",catchall:id.create(),typeName:Sn.ZodObject,...Fn(e)});class Lb extends Hn{_parse(e){const{ctx:n}=this._processInputParams(e),r=this._def.options;function o(s){for(const i of s)if(i.result.status==="valid")return i.result;for(const i of s)if(i.result.status==="dirty")return n.common.issues.push(...i.ctx.common.issues),i.result;const a=s.map(i=>new il(i.ctx.common.issues));return Qt(n,{code:Lt.invalid_union,unionErrors:a}),Nn}if(n.common.async)return Promise.all(r.map(async s=>{const a={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(o);{let s;const a=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&a.push(u.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const i=a.map(l=>new il(l));return Qt(n,{code:Lt.invalid_union,unionErrors:i}),Nn}}get options(){return this._def.options}}Lb.create=(t,e)=>new Lb({options:t,typeName:Sn.ZodUnion,...Fn(e)});const Uf=t=>t instanceof zb?Uf(t.schema):t instanceof Qc?Uf(t.innerType()):t instanceof Fb?[t.value]:t instanceof ah?t.options:t instanceof Bb?fr.objectValues(t.enum):t instanceof Ub?Uf(t._def.innerType):t instanceof Tb?[void 0]:t instanceof Db?[null]:t instanceof Gu?[void 0,...Uf(t.unwrap())]:t instanceof ih?[null,...Uf(t.unwrap())]:t instanceof qT||t instanceof Vb?Uf(t.unwrap()):t instanceof $b?Uf(t._def.innerType):[];class BC extends Hn{_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==Xt.object)return Qt(n,{code:Lt.invalid_type,expected:Xt.object,received:n.parsedType}),Nn;const r=this.discriminator,o=n.data[r],s=this.optionsMap.get(o);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(Qt(n,{code:Lt.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Nn)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){const o=new Map;for(const s of n){const a=Uf(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of a){if(o.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);o.set(i,s)}}return new BC({typeName:Sn.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:o,...Fn(r)})}}function Y_(t,e){const n=Yf(t),r=Yf(e);if(t===e)return{valid:!0,data:t};if(n===Xt.object&&r===Xt.object){const o=fr.objectKeys(e),s=fr.objectKeys(t).filter(i=>o.indexOf(i)!==-1),a={...t,...e};for(const i of s){const l=Y_(t[i],e[i]);if(!l.valid)return{valid:!1};a[i]=l.data}return{valid:!0,data:a}}else if(n===Xt.array&&r===Xt.array){if(t.length!==e.length)return{valid:!1};const o=[];for(let s=0;s<t.length;s++){const a=t[s],i=e[s],l=Y_(a,i);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return n===Xt.date&&r===Xt.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class Pb extends Hn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e),o=(s,a)=>{if(H_(s)||H_(a))return Nn;const i=Y_(s.value,a.value);return i.valid?((W_(s)||W_(a))&&n.dirty(),{status:n.value,value:i.data}):(Qt(r,{code:Lt.invalid_intersection_types}),Nn)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,a])=>o(s,a)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Pb.create=(t,e,n)=>new Pb({left:t,right:e,typeName:Sn.ZodIntersection,...Fn(n)});class nf extends Hn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Xt.array)return Qt(r,{code:Lt.invalid_type,expected:Xt.array,received:r.parsedType}),Nn;if(r.data.length<this._def.items.length)return Qt(r,{code:Lt.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Nn;!this._def.rest&&r.data.length>this._def.items.length&&(Qt(r,{code:Lt.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((a,i)=>{const l=this._def.items[i]||this._def.rest;return l?l._parse(new tf(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>Da.mergeArray(n,a)):Da.mergeArray(n,s)}get items(){return this._def.items}rest(e){return new nf({...this._def,rest:e})}}nf.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new nf({items:t,typeName:Sn.ZodTuple,rest:null,...Fn(e)})};class Ob extends Hn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Xt.object)return Qt(r,{code:Lt.invalid_type,expected:Xt.object,received:r.parsedType}),Nn;const o=[],s=this._def.keyType,a=this._def.valueType;for(const i in r.data)o.push({key:s._parse(new tf(r,i,r.path,i)),value:a._parse(new tf(r,r.data[i],r.path,i)),alwaysSet:i in r.data});return r.common.async?Da.mergeObjectAsync(n,o):Da.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof Hn?new Ob({keyType:e,valueType:n,typeName:Sn.ZodRecord,...Fn(r)}):new Ob({keyType:Uc.create(),valueType:e,typeName:Sn.ZodRecord,...Fn(n)})}}class Dk extends Hn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Xt.map)return Qt(r,{code:Lt.invalid_type,expected:Xt.map,received:r.parsedType}),Nn;const o=this._def.keyType,s=this._def.valueType,a=[...r.data.entries()].map(([i,l],u)=>({key:o._parse(new tf(r,i,r.path,[u,"key"])),value:s._parse(new tf(r,l,r.path,[u,"value"]))}));if(r.common.async){const i=new Map;return Promise.resolve().then(async()=>{for(const l of a){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return Nn;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),i.set(u.value,d.value)}return{status:n.value,value:i}})}else{const i=new Map;for(const l of a){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return Nn;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),i.set(u.value,d.value)}return{status:n.value,value:i}}}}Dk.create=(t,e,n)=>new Dk({valueType:e,keyType:t,typeName:Sn.ZodMap,...Fn(n)});class yg extends Hn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Xt.set)return Qt(r,{code:Lt.invalid_type,expected:Xt.set,received:r.parsedType}),Nn;const o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(Qt(r,{code:Lt.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&(Qt(r,{code:Lt.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());const s=this._def.valueType;function a(l){const u=new Set;for(const d of l){if(d.status==="aborted")return Nn;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const i=[...r.data.values()].map((l,u)=>s._parse(new tf(r,l,r.path,u)));return r.common.async?Promise.all(i).then(l=>a(l)):a(i)}min(e,n){return new yg({...this._def,minSize:{value:e,message:dn.toString(n)}})}max(e,n){return new yg({...this._def,maxSize:{value:e,message:dn.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}}yg.create=(t,e)=>new yg({valueType:t,minSize:null,maxSize:null,typeName:Sn.ZodSet,...Fn(e)});class F0 extends Hn{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==Xt.function)return Qt(n,{code:Lt.invalid_type,expected:Xt.function,received:n.parsedType}),Nn;function r(i,l){return _k({data:i,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ak(),ly].filter(u=>!!u),issueData:{code:Lt.invalid_arguments,argumentsError:l}})}function o(i,l){return _k({data:i,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ak(),ly].filter(u=>!!u),issueData:{code:Lt.invalid_return_type,returnTypeError:l}})}const s={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof uy){const i=this;return ni(async function(...l){const u=new il([]),d=await i._def.args.parseAsync(l,s).catch(g=>{throw u.addIssue(r(l,g)),u}),f=await Reflect.apply(a,this,d);return await i._def.returns._def.type.parseAsync(f,s).catch(g=>{throw u.addIssue(o(f,g)),u})})}else{const i=this;return ni(function(...l){const u=i._def.args.safeParse(l,s);if(!u.success)throw new il([r(l,u.error)]);const d=Reflect.apply(a,this,u.data),f=i._def.returns.safeParse(d,s);if(!f.success)throw new il([o(d,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new F0({...this._def,args:nf.create(e).rest(Gm.create())})}returns(e){return new F0({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new F0({args:e||nf.create([]).rest(Gm.create()),returns:n||Gm.create(),typeName:Sn.ZodFunction,...Fn(r)})}}class zb extends Hn{get schema(){return this._def.getter()}_parse(e){const{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}zb.create=(t,e)=>new zb({getter:t,typeName:Sn.ZodLazy,...Fn(e)});class Fb extends Hn{_parse(e){if(e.data!==this._def.value){const n=this._getOrReturnCtx(e);return Qt(n,{received:n.data,code:Lt.invalid_literal,expected:this._def.value}),Nn}return{status:"valid",value:e.data}}get value(){return this._def.value}}Fb.create=(t,e)=>new Fb({value:t,typeName:Sn.ZodLiteral,...Fn(e)});function qne(t,e){return new ah({values:t,typeName:Sn.ZodEnum,...Fn(e)})}class ah extends Hn{constructor(){super(...arguments),Tw.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const n=this._getOrReturnCtx(e),r=this._def.values;return Qt(n,{expected:fr.joinValues(r),received:n.parsedType,code:Lt.invalid_type}),Nn}if(Mk(this,Tw)||Hne(this,Tw,new Set(this._def.values)),!Mk(this,Tw).has(e.data)){const n=this._getOrReturnCtx(e),r=this._def.values;return Qt(n,{received:n.data,code:Lt.invalid_enum_value,options:r}),Nn}return ni(e.data)}get options(){return this._def.values}get enum(){const e={};for(const n of this._def.values)e[n]=n;return e}get Values(){const e={};for(const n of this._def.values)e[n]=n;return e}get Enum(){const e={};for(const n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return ah.create(e,{...this._def,...n})}exclude(e,n=this._def){return ah.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}}Tw=new WeakMap;ah.create=qne;class Bb extends Hn{constructor(){super(...arguments),Dw.set(this,void 0)}_parse(e){const n=fr.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==Xt.string&&r.parsedType!==Xt.number){const o=fr.objectValues(n);return Qt(r,{expected:fr.joinValues(o),received:r.parsedType,code:Lt.invalid_type}),Nn}if(Mk(this,Dw)||Hne(this,Dw,new Set(fr.getValidEnumValues(this._def.values))),!Mk(this,Dw).has(e.data)){const o=fr.objectValues(n);return Qt(r,{received:r.data,code:Lt.invalid_enum_value,options:o}),Nn}return ni(e.data)}get enum(){return this._def.values}}Dw=new WeakMap;Bb.create=(t,e)=>new Bb({values:t,typeName:Sn.ZodNativeEnum,...Fn(e)});class uy extends Hn{unwrap(){return this._def.type}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==Xt.promise&&n.common.async===!1)return Qt(n,{code:Lt.invalid_type,expected:Xt.promise,received:n.parsedType}),Nn;const r=n.parsedType===Xt.promise?n.data:Promise.resolve(n.data);return ni(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}}uy.create=(t,e)=>new uy({type:t,typeName:Sn.ZodPromise,...Fn(e)});class Qc extends Hn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Sn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:n,ctx:r}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:a=>{Qt(r,a),a.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){const a=o.transform(r.data,s);if(r.common.async)return Promise.resolve(a).then(async i=>{if(n.value==="aborted")return Nn;const l=await this._def.schema._parseAsync({data:i,path:r.path,parent:r});return l.status==="aborted"?Nn:l.status==="dirty"||n.value==="dirty"?p0(l.value):l});{if(n.value==="aborted")return Nn;const i=this._def.schema._parseSync({data:a,path:r.path,parent:r});return i.status==="aborted"?Nn:i.status==="dirty"||n.value==="dirty"?p0(i.value):i}}if(o.type==="refinement"){const a=i=>{const l=o.refinement(i,s);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(r.common.async===!1){const i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Nn:(i.status==="dirty"&&n.dirty(),a(i.value),{status:n.value,value:i.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>i.status==="aborted"?Nn:(i.status==="dirty"&&n.dirty(),a(i.value).then(()=>({status:n.value,value:i.value}))))}if(o.type==="transform")if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!mg(a))return a;const i=o.transform(a.value,s);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:i}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>mg(a)?Promise.resolve(o.transform(a.value,s)).then(i=>({status:n.value,value:i})):a);fr.assertNever(o)}}Qc.create=(t,e,n)=>new Qc({schema:t,typeName:Sn.ZodEffects,effect:e,...Fn(n)});Qc.createWithPreprocess=(t,e,n)=>new Qc({schema:e,effect:{type:"preprocess",transform:t},typeName:Sn.ZodEffects,...Fn(n)});class Gu extends Hn{_parse(e){return this._getType(e)===Xt.undefined?ni(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Gu.create=(t,e)=>new Gu({innerType:t,typeName:Sn.ZodOptional,...Fn(e)});class ih extends Hn{_parse(e){return this._getType(e)===Xt.null?ni(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ih.create=(t,e)=>new ih({innerType:t,typeName:Sn.ZodNullable,...Fn(e)});class Ub extends Hn{_parse(e){const{ctx:n}=this._processInputParams(e);let r=n.data;return n.parsedType===Xt.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Ub.create=(t,e)=>new Ub({innerType:t,typeName:Sn.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Fn(e)});class $b extends Hn{_parse(e){const{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Mb(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new il(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new il(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}$b.create=(t,e)=>new $b({innerType:t,typeName:Sn.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Fn(e)});class Lk extends Hn{_parse(e){if(this._getType(e)!==Xt.nan){const r=this._getOrReturnCtx(e);return Qt(r,{code:Lt.invalid_type,expected:Xt.nan,received:r.parsedType}),Nn}return{status:"valid",value:e.data}}}Lk.create=t=>new Lk({typeName:Sn.ZodNaN,...Fn(t)});const R9e=Symbol("zod_brand");class qT extends Hn{_parse(e){const{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class H2 extends Hn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Nn:s.status==="dirty"?(n.dirty(),p0(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?Nn:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(e,n){return new H2({in:e,out:n,typeName:Sn.ZodPipeline})}}class Vb extends Hn{_parse(e){const n=this._def.innerType._parse(e),r=o=>(mg(o)&&(o.value=Object.freeze(o.value)),o);return Mb(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}}Vb.create=(t,e)=>new Vb({innerType:t,typeName:Sn.ZodReadonly,...Fn(e)});function Kne(t,e={},n){return t?cy.create().superRefine((r,o)=>{var s,a;if(!t(r)){const i=typeof e=="function"?e(r):typeof e=="string"?{message:e}:e,l=(a=(s=i.fatal)!==null&&s!==void 0?s:n)!==null&&a!==void 0?a:!0,u=typeof i=="string"?{message:i}:i;o.addIssue({code:"custom",...u,fatal:l})}}):cy.create()}const T9e={object:ko.lazycreate};var Sn;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(Sn||(Sn={}));const D9e=(t,e={message:`Input not instance of ${t.name}`})=>Kne(n=>n instanceof t,e),Zne=Uc.create,Qne=oh.create,L9e=Lk.create,P9e=sh.create,Jne=Rb.create,O9e=gg.create,z9e=Rk.create,F9e=Tb.create,B9e=Db.create,U9e=cy.create,$9e=Gm.create,V9e=id.create,H9e=Tk.create,W9e=Hc.create,Y9e=ko.create,G9e=ko.strictCreate,q9e=Lb.create,K9e=BC.create,Z9e=Pb.create,Q9e=nf.create,J9e=Ob.create,X9e=Dk.create,eAe=yg.create,tAe=F0.create,nAe=zb.create,rAe=Fb.create,oAe=ah.create,sAe=Bb.create,aAe=uy.create,LU=Qc.create,iAe=Gu.create,lAe=ih.create,cAe=Qc.createWithPreprocess,uAe=H2.create,fAe=()=>Zne().optional(),dAe=()=>Qne().optional(),pAe=()=>Jne().optional(),hAe={string:(t=>Uc.create({...t,coerce:!0})),number:(t=>oh.create({...t,coerce:!0})),boolean:(t=>Rb.create({...t,coerce:!0})),bigint:(t=>sh.create({...t,coerce:!0})),date:(t=>gg.create({...t,coerce:!0}))},mAe=Nn;var F1=Object.freeze({__proto__:null,defaultErrorMap:ly,setErrorMap:c9e,getErrorMap:Ak,makeIssue:_k,EMPTY_PATH:u9e,addIssueToContext:Qt,ParseStatus:Da,INVALID:Nn,DIRTY:p0,OK:ni,isAborted:H_,isDirty:W_,isValid:mg,isAsync:Mb,get util(){return fr},get objectUtil(){return V_},ZodParsedType:Xt,getParsedType:Yf,ZodType:Hn,datetimeRegex:Gne,ZodString:Uc,ZodNumber:oh,ZodBigInt:sh,ZodBoolean:Rb,ZodDate:gg,ZodSymbol:Rk,ZodUndefined:Tb,ZodNull:Db,ZodAny:cy,ZodUnknown:Gm,ZodNever:id,ZodVoid:Tk,ZodArray:Hc,ZodObject:ko,ZodUnion:Lb,ZodDiscriminatedUnion:BC,ZodIntersection:Pb,ZodTuple:nf,ZodRecord:Ob,ZodMap:Dk,ZodSet:yg,ZodFunction:F0,ZodLazy:zb,ZodLiteral:Fb,ZodEnum:ah,ZodNativeEnum:Bb,ZodPromise:uy,ZodEffects:Qc,ZodTransformer:Qc,ZodOptional:Gu,ZodNullable:ih,ZodDefault:Ub,ZodCatch:$b,ZodNaN:Lk,BRAND:R9e,ZodBranded:qT,ZodPipeline:H2,ZodReadonly:Vb,custom:Kne,Schema:Hn,ZodSchema:Hn,late:T9e,get ZodFirstPartyTypeKind(){return Sn},coerce:hAe,any:U9e,array:W9e,bigint:P9e,boolean:Jne,date:O9e,discriminatedUnion:K9e,effect:LU,enum:oAe,function:tAe,instanceof:D9e,intersection:Z9e,lazy:nAe,literal:rAe,map:X9e,nan:L9e,nativeEnum:sAe,never:V9e,null:B9e,nullable:lAe,number:Qne,object:Y9e,oboolean:pAe,onumber:dAe,optional:iAe,ostring:fAe,pipeline:uAe,preprocess:cAe,promise:aAe,record:J9e,set:eAe,strictObject:G9e,string:Zne,symbol:z9e,transformer:LU,tuple:Q9e,undefined:F9e,union:q9e,unknown:$9e,void:H9e,NEVER:mAe,ZodIssueCode:Lt,quotelessJson:l9e,ZodError:il});const Ec="Upload aborted",b0=class b0{constructor(){je(this,"serviceConfig",Ze.getMediaUploadServiceConfig());je(this,"nip96ServiceUploadUrlMap",new Map);je(this,"imetaTagMap",new Map);return b0.instance||(b0.instance=this),b0.instance}setServiceConfig(e){this.serviceConfig=e}async upload(e,n){let r;return this.serviceConfig.type==="nip96"?r=await this.uploadByNip96(this.serviceConfig.service,e,n):r=await this.uploadByBlossom(e,n),r.tags.length>0&&this.imetaTagMap.set(r.url,["imeta",...r.tags.map(([o,s])=>`${o} ${s}`)]),r}async uploadByBlossom(e,n){var M,D,P,L;const r=Oe.pubkey,o=async F=>{if(!Oe.signer)throw new Error("You need to be logged in to upload media");return Oe.signer.signEvent(F)};if(!r)throw new Error("You need to be logged in to upload media");if((M=n==null?void 0:n.signal)!=null&&M.aborted)throw new Error(Ec);(D=n==null?void 0:n.onProgress)==null||D.call(n,0);let s=1,a;const i=()=>{a===void 0&&(a=window.setInterval(()=>{var F;s=Math.min(s+3,90),(F=n==null?void 0:n.onProgress)==null||F.call(n,s),s>=90&&l()},300))},l=()=>{a!==void 0&&(clearInterval(a),a=void 0)};i();let u=await Oe.fetchBlossomServerList(r);const d=new Set(u);if(hk.forEach(F=>d.add(F)),u=Array.from(d),u.length===0)throw new Error("No Blossom services available");const[f,...m]=u,g=await kp.createUploadAuth(o,e,{message:"Uploading media file"});let w,b;const j=[f,...m],S=F=>new Promise((T,R)=>{const z=new XMLHttpRequest,G=F.replace(/\/$/,"")+"/upload";z.open("PUT",G),z.setRequestHeader("Authorization","Nostr "+btoa(JSON.stringify(g))),z.setRequestHeader("Content-Type",e.type||"application/octet-stream"),z.responseType="json",z.timeout=15e3;const Z=()=>{z.abort(),R(new Error(Ec))};if(n!=null&&n.signal){if(n.signal.aborted)return Z();n.signal.addEventListener("abort",Z,{once:!0})}z.ontimeout=()=>R(new Error("Upload timed out")),z.onerror=()=>R(new Error("Network error")),z.onload=()=>{if(z.status>=200&&z.status<300){const W=z.response;W!=null&&W.url?T({url:W.url,sha256:W.sha256,size:W.size,type:W.type,nip94:W.nip94}):R(new Error("No URL in response"))}else R(new Error(`Upload failed: ${z.status} ${z.statusText}`))},z.send(e)});for(const F of j)try{w=await S(F);break}catch(T){console.error(`Blossom XHR upload failed for ${F}:`,T);try{const R=kp.uploadBlob(F,e,{auth:g}),z=new Promise((Z,W)=>setTimeout(()=>W(new Error("SDK upload timed out")),15e3)),G=await Promise.race([R,z]);w={url:G.url,sha256:G.sha256,size:G.size,type:G.type,nip94:G.nip94};break}catch(R){console.error(`Blossom SDK upload failed for ${F}:`,R),b=R instanceof Error?R:new Error(String(R))}}if(!w)throw b??new Error("All Blossom servers failed");if(l(),(P=n==null?void 0:n.onProgress)==null||P.call(n,80),w.sha256){const F=w.url?new URL(w.url).origin:f,T=j.filter(R=>R!==F);if(T.length>0){const R={url:w.url,sha256:w.sha256,size:w.size??0,type:w.type??e.type,uploaded:Date.now()};await Promise.allSettled(T.map(z=>kp.mirrorBlob(z,R,{auth:g})))}}let I=[];const N=F1.array(F1.array(F1.string())).safeParse(w.nip94??[]);return N.success&&(I=N.data),(L=n==null?void 0:n.onProgress)==null||L.call(n,100),{url:w.url,tags:I}}async uploadByNip96(e,n,r){var l,u;if((l=r==null?void 0:r.signal)!=null&&l.aborted)throw new Error(Ec);let o=this.nip96ServiceUploadUrlMap.get(e);if(!o){const d=await fetch(`${e}/.well-known/nostr/nip96.json`);if(!d.ok)throw new Error(`${Aa(e)} does not work, please try another service in your settings`);const f=await d.json();if(o=f==null?void 0:f.api_url,!o)throw new Error(`${Aa(e)} does not work, please try another service in your settings`);this.nip96ServiceUploadUrlMap.set(e,o)}if((u=r==null?void 0:r.signal)!=null&&u.aborted)throw new Error(Ec);const s=new FormData;s.append("file",n);const a=await Oe.signHttpAuth(o,"POST","Uploading media file");return await new Promise((d,f)=>{const m=new XMLHttpRequest;m.open("POST",o),m.responseType="json",m.setRequestHeader("Authorization",a);const g=()=>{try{m.abort()}catch{}f(new Error(Ec))};if(r!=null&&r.signal){if(r.signal.aborted)return g();r.signal.addEventListener("abort",g,{once:!0})}m.upload.onprogress=w=>{var b;if(w.lengthComputable){const j=Math.round(w.loaded/w.total*100);(b=r==null?void 0:r.onProgress)==null||b.call(r,j)}},m.onerror=()=>f(new Error("Network error")),m.onload=()=>{var w,b;if(m.status>=200&&m.status<300){const j=m.response;try{const S=F1.array(F1.array(F1.string())).parse(((w=j==null?void 0:j.nip94_event)==null?void 0:w.tags)??[]),I=(b=S.find(([N])=>N==="url"))==null?void 0:b[1];I?d({url:I,tags:S}):f(new Error("No url found"))}catch(S){f(S)}}else f(new Error(m.status.toString()+" "+m.statusText))},m.send(s)})}getImetaTagByUrl(e){return this.imetaTagMap.get(e)}async deleteBlob(e,n){const r=Oe.pubkey,o=async l=>{if(!Oe.signer)throw new Error("You need to be logged in to delete media");return Oe.signer.signEvent(l)};if(!r)throw new Error("You need to be logged in to delete media");let s=n;if((!s||s.length===0)&&(s=await Oe.fetchBlossomServerList(r)),s.length===0)throw new Error("No Blossom servers configured");const a=[],i=[];for(const l of s){const u=l.replace(/\/$/,""),d=`${u}/${e}`;try{const f=await kp.createDeleteAuth(o,e,{servers:[u],message:"Deleting media file"}),m=await fetch(d,{method:"DELETE",headers:{Authorization:"Nostr "+btoa(JSON.stringify(f))}});if(m.ok){a.push(l);continue}if(m.status===400||m.status===401){const g=await kp.createDeleteAuth(o,e,{message:"Deleting media file"});if((await fetch(d,{method:"DELETE",headers:{Authorization:"Nostr "+btoa(JSON.stringify(g))}})).ok){a.push(l);continue}}console.error(`Failed to delete blob from ${l}: ${m.status} ${m.statusText}`),i.push(l)}catch(f){console.error(`Error deleting blob from ${l}:`,f),i.push(l)}}return{deleted:a,failed:i}}async uploadResponsiveImage(e,n){var g,w,b,j,S,I,N,M;if(!YT(e))throw new Error("Unsupported image format. Supported: JPEG, PNG, WebP, GIF");const r=Oe.pubkey,o=Oe.signer;if(!r||!o)throw new Error("You need to be logged in to upload media");if((g=n==null?void 0:n.signal)!=null&&g.aborted)throw new Error(Ec);(w=n==null?void 0:n.onProgress)==null||w.call(n,0);const s=await kIe(e,{onProgress:D=>{var P;(P=n==null?void 0:n.onProgress)==null||P.call(n,Math.round(D*.3))}});if((b=n==null?void 0:n.signal)!=null&&b.aborted)throw new Error(Ec);let a=await Oe.fetchBlossomServerList(r);const i=new Set(a);if(hk.forEach(D=>i.add(D)),a=Array.from(i),a.length===0)throw new Error("No Blossom services available");const l=[],u=60/s.length;for(let D=0;D<s.length;D++){if((j=n==null?void 0:n.signal)!=null&&j.aborted)throw new Error(Ec);const P=s[D],L=jIe(P.mimeType),F=new File([P.blob],`image-${P.variant}.${L}`,{type:P.mimeType}),T=await this.uploadSingleBlob(F,a,n==null?void 0:n.signal);if(!T.sha256)throw new Error(`Upload failed for ${P.variant} variant: no hash returned`);l.push({variant:P.variant,url:T.url,sha256:T.sha256,width:P.width,height:P.height,mimeType:P.mimeType,size:P.blob.size});const R=30+Math.round((D+1)*u);(S=n==null?void 0:n.onProgress)==null||S.call(n,R)}if((I=n==null?void 0:n.signal)!=null&&I.aborted)throw new Error(Ec);(N=n==null?void 0:n.onProgress)==null||N.call(n,90);const d=SIe(l,{description:n==null?void 0:n.description,alt:n==null?void 0:n.alt}),f=await o.signEvent(d);let m=Oe.currentRelays.length>0?Oe.currentRelays:[];if(m.length===0)try{m=(await Oe.fetchRelayList(r)).write.slice(0,10)}catch(D){console.warn("[MediaUploadService] Failed to fetch relay list:",D)}return m.length>0?await Oe.publishEvent(m,f):console.warn("[MediaUploadService] No relays available to publish binding event - event not published"),(M=n==null?void 0:n.onProgress)==null||M.call(n,100),{event:f,variants:l}}async uploadSingleBlob(e,n,r){const o=async u=>{if(!Oe.signer)throw new Error("You need to be logged in to upload media");return Oe.signer.signEvent(u)},s=await kp.createUploadAuth(o,e,{message:"Uploading media file"});let a,i;const l=u=>new Promise((d,f)=>{const m=new XMLHttpRequest,g=u.replace(/\/$/,"")+"/upload";m.open("PUT",g),m.setRequestHeader("Authorization","Nostr "+btoa(JSON.stringify(s))),m.setRequestHeader("Content-Type",e.type||"application/octet-stream"),m.responseType="json",m.timeout=3e4;const w=()=>{m.abort(),f(new Error(Ec))};if(r){if(r.aborted)return w();r.addEventListener("abort",w,{once:!0})}m.ontimeout=()=>f(new Error("Upload timed out")),m.onerror=()=>f(new Error("Network error")),m.onload=()=>{if(m.status>=200&&m.status<300){const b=m.response;b!=null&&b.url?d({url:b.url,sha256:b.sha256,size:b.size,type:b.type}):f(new Error("No URL in response"))}else f(new Error(`Upload failed: ${m.status} ${m.statusText}`))},m.send(e)});for(const u of n)try{a=await l(u);break}catch(d){console.error(`Blossom upload failed for ${u}:`,d),i=d instanceof Error?d:new Error(String(d))}if(!a)throw i??new Error("All Blossom servers failed");return a}};je(b0,"instance");let G_=b0;const lh=new G_;function KT(t){if(t.startsWith("http"))return"web";if(t.startsWith("isbn:"))return"isbn";if(t.startsWith("isan:"))return"isan";if(t.startsWith("doi:"))return"doi";if(t.startsWith("#"))return"#";if(t.startsWith("podcast:guid:"))return"podcast:guid";if(t.startsWith("podcast:item:guid:"))return"podcast:item:guid";if(t.startsWith("podcast:publisher:guid:"))return"podcast:publisher:guid";const e=t.match(/^([a-z]+):(?:[^:]+:)?tx:[a-f0-9]+$/i);if(e)return`${e[1].toLowerCase()}:tx`;const n=t.match(/^([a-z]+):(?:[^:]+:)?address:[a-zA-Z0-9]+$/i);if(n)return`${n[1].toLowerCase()}:address`}const q_=new Map;function gAe(t){const e=Xne(t);q_.delete(e)}function UC(t){const e=Xne(t),n=q_.get(e);if(n)return JSON.parse(n);const r={...t,created_at:En().unix()};return q_.set(e,JSON.stringify(r)),r}function Xne(t){const e=JSON.stringify({content:t.content,kind:t.kind,tags:t.tags}),r=new TextEncoder().encode(e),o=jb(r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")}function ere(t,e="+"){const n=[];n.push(Hb(t.id,t.pubkey)),n.push(Hp(t.pubkey)),t.kind!==$e.ShortTextNote&&n.push(fy(t.kind)),Fs(t.kind)&&n.push(Hg(t));let r;return typeof e=="string"?r=e:(r=`:${e.shortcode}:`,n.push(XT(e))),{kind:$e.Reaction,content:r,tags:n,created_at:En().unix()}}function tre(t,e="+"){const n=[];n.push(K_(t));const r=KT(t);r&&n.push(fy(r));let o;return typeof e=="string"?o=e:(o=`:${e.shortcode}:`,n.push(XT(e))),{kind:gt.EXTERNAL_CONTENT_REACTION,content:o,tags:n,created_at:En().unix()}}function yAe(t){const e=gT(t),n=[Hb(t.id,t.pubkey),Hp(t.pubkey)];if(t.kind===$e.ShortTextNote)return{kind:$e.Repost,content:e?"":JSON.stringify(t),tags:n,created_at:En().unix()};n.push(fy(t.kind));const r=Fs(t.kind);return r&&n.push(Hg(t)),{kind:$e.GenericRepost,content:e||r?"":JSON.stringify(t),tags:n,created_at:En().unix()}}async function vAe(t,e,n={}){const{content:r,emojiTags:o}=W2(t),{quoteTags:s,rootTag:a,parentTag:i}=await ore(r,n.parentEvent),l=VC(r),u=o.concat(l.map(m=>WC(m))),d=HC(r);d&&d.length&&u.push(...$C(d)),u.push(...s),a&&u.push(a),i&&u.push(i),u.push(...e.map(m=>Hp(m))),n.addClientTag&&u.push(YC()),n.isNsfw&&u.push(GC()),n.protectedEvent&&u.push(eD());const f={kind:$e.ShortTextNote,content:r,tags:u};return UC(f)}async function wAe(t,e,n,r={}){const{content:o,emojiTags:s}=W2(t),{quoteTags:a,rootEventId:i,rootCoordinateTag:l,rootKind:u,rootPubkey:d,rootUrl:f,parentEvent:m,externalContent:g}=await RAe(o,e),w=VC(o),b=s.concat(w.map(N=>WC(N))).concat(a),j=HC(o);j&&j.length&&b.push(...$C(j)),b.push(...n.filter(N=>N!==(m==null?void 0:m.pubkey)).map(N=>Hp(N))),l?b.push(l):i&&b.push(Hb(i,d,"",!0)),d&&b.push(Hp(d,!0)),u&&b.push(fy(u,!0)),f&&b.push(K_(f,!0)),b.push(...m?[Fs(m.kind)?Hg(m):Hb(m.id,m.pubkey),Hp(m.pubkey)]:g?[K_(g)]:[]);const S=m?m.kind:g?KT(g):void 0;S&&b.push(fy(S)),r.addClientTag&&b.push(YC()),r.isNsfw&&b.push(GC()),r.protectedEvent&&b.push(eD());const I={kind:gt.COMMENT,content:o,tags:b};return UC(I)}function bAe(t,e="",n,r,o={}){const{content:s,emojiTags:a}=W2(e),i=QT(e),l=VC(s),u=a.concat(l.map(g=>WC(g))),d=HC(s);d&&d.length&&u.push(...$C(d)),u.push(...i),u.push(...r.filter(g=>g!==n.pubkey).map(g=>["p",g,"","mention"])),s&&u.push(["comment",s]);const f=Oe.getEventHint(n.id);Fs(n.kind)?u.push(["a",ti(n),f,"source"]):u.push(["e",n.id,f,"source"]),u.push(["p",n.pubkey,"","author"]),o.addClientTag&&u.push(YC()),o.isNsfw&&u.push(GC()),o.protectedEvent&&u.push(eD());const m={kind:$e.Highlights,content:t,tags:u};return UC(m)}function nre(t){return{kind:$e.RelayList,content:"",tags:t.map(({url:e,scope:n})=>DAe(e,n)),created_at:En().unix()}}function xAe(t,e){return{kind:$e.Contacts,content:e??"",created_at:En().unix(),tags:t}}function kAe(t,e){return{kind:$e.Mutelist,content:e??"",created_at:En().unix(),tags:t}}function ZT(t,e=[]){return{kind:$e.Metadata,content:t,tags:e,created_at:En().unix()}}function jAe(){return{kind:$e.Application,content:"Records read time to sync notification status across devices.",tags:[JT(Xp.NOTIFICATIONS_SEEN_AT)],created_at:En().unix()}}function CAe(t){return{kind:$e.Application,content:t,tags:[JT(Xp.SETTINGS)],created_at:En().unix()}}function SAe(t){return{kind:$e.Application,content:JSON.stringify(t),tags:[JT(Xp.DM_DELETED_MESSAGES)],created_at:En().unix()}}function PU(t,e=""){return{kind:$e.UserEmojiList,content:e,tags:t,created_at:En().unix()}}function JI(t){return{kind:gt.BLOSSOM_SERVER_LIST,content:"",tags:t.map(e=>LAe(e)),created_at:En().unix()}}async function EAe(t,e,n,{isMultipleChoice:r,relays:o,options:s,endsAt:a},{addClientTag:i,isNsfw:l}={}){const{content:u,emojiTags:d}=W2(e),{quoteTags:f}=await ore(u),m=VC(u),g=d.concat(m.map(S=>WC(S))),w=HC(u);w&&w.length&&g.push(...$C(w)),g.push(...f),g.push(...n.map(S=>Hp(S)));const b=s.filter(S=>S.trim());g.push(...b.map(S=>["option",yd(9),S.trim()])),g.push(["polltype",r?Wm.MULTIPLE_CHOICE:Wm.SINGLE_CHOICE]),a&&g.push(["endsAt",a.toString()]),o.length?o.forEach(S=>g.push(OU(S))):(await Oe.fetchRelayList(t)).read.slice(0,4).forEach(I=>{g.push(OU(I))}),i&&g.push(YC()),l&&g.push(GC());const j={content:u.trim(),kind:gt.POLL,tags:g};return UC(j)}function NAe(t,e){return{content:"",kind:gt.POLL_RESPONSE,tags:[Hb(t.id,t.pubkey),Hp(t.pubkey),...e.map(n=>PAe(n))],created_at:En().unix()}}function IAe(t){const e=[fy(t.kind)];return Fs(t.kind)?e.push(["a",ti(t)]):e.push(["e",t.id]),{kind:$e.EventDeletion,content:"Request for deletion of the event.",tags:e,created_at:En().unix()}}function AAe(t,e){const n=[];return t.kind===$e.Metadata?n.push(["p",t.pubkey,e]):(n.push(["p",t.pubkey]),n.push(["e",t.id,e]),Fs(t.kind)&&n.push(["a",ti(t),e])),{kind:$e.Report,content:"",tags:n,created_at:En().unix()}}function _Ae(t,e,n){return{kind:gt.RELAY_REVIEW,content:e,tags:[["d",t],["rating",(n/5).toString()]],created_at:En().unix()}}function rre(t){return{kind:28934,created_at:Math.floor(Date.now()/1e3),tags:[["claim",t],["-"]],content:""}}function MAe(){return{kind:28936,created_at:Math.floor(Date.now()/1e3),tags:[["-"]],content:""}}function $C(t){return t.map(e=>lh.getImetaTagByUrl(e)??null).filter(Boolean)}async function ore(t,e){let n=null,r=null;const o=QT(t);if(e){const s=yT(e);if((s==null?void 0:s.type)==="e"){r=B1(e.id,e.pubkey,"","reply");const[,a,i,,l]=s.tag;if(l)n=B1(a,l,i,"root");else{const u=nc(s.tag),d=u?await Oe.fetchEvent(u):void 0;n=d?B1(d.id,d.pubkey,i,"root"):B1(a,l,i,"root")}}else if((s==null?void 0:s.type)==="a"){r=B1(e.id,e.pubkey,"","reply");const[,a,i]=s.tag;n=TAe(a,i)}else n=B1(e.id,e.pubkey,"","root")}return{quoteTags:o,rootTag:n,parentTag:r}}async function RAe(t,e){var f,m,g,w;const{parentEvent:n,externalContent:r}=typeof e=="string"?{parentEvent:void 0,externalContent:e}:{parentEvent:e,externalContent:void 0},o=n&&[gt.COMMENT,gt.VOICE_COMMENT].includes(n.kind),s=n?o?n.tags.find(In("A")):Fs(n.kind)?Hg(n,!0):void 0:void 0,a=o?(f=n.tags.find(In("E")))==null?void 0:f[1]:n==null?void 0:n.id,i=o?(m=n.tags.find(In("K")))==null?void 0:m[1]:n?n.kind:KT(e),l=o?(g=n.tags.find(In("P")))==null?void 0:g[1]:n==null?void 0:n.pubkey,u=o?(w=n.tags.find(In("I")))==null?void 0:w[1]:r;return{quoteTags:QT(t),rootEventId:a,rootCoordinateTag:s,rootKind:i,rootPubkey:l,rootUrl:u,parentEvent:n,externalContent:r}}function QT(t){var o,s;const e=new Set,n=[],r=t.match(fee);for(const a of r||[])try{const i=a.split(":")[1],{type:l,data:u}=jr.decode(i);if(l==="nevent"){const d=u.id;if(!e.has(d)){e.add(d);const f=((o=u.relays)==null?void 0:o[0])??Oe.getEventHint(d);n.push(XI(d,f,u.author))}}else if(l==="note"){const d=u;if(!e.has(d)){e.add(d);const f=Oe.getEventHint(d);n.push(XI(d,f))}}else if(l==="naddr"){const d=vT(u.kind,u.pubkey,u.identifier);if(!e.has(d)){e.add(d);const f=(s=u.relays)==null?void 0:s[0];n.push(XI(d,f))}}}catch(i){console.error(i)}return n}function VC(t){const e=[],n=t.match(/#[\p{L}\p{N}\p{M}]+/gu);return n==null||n.forEach(r=>{const o=r.slice(1).toLowerCase();o&&e.push(o)}),e}function HC(t){return t.match(/https?:\/\/[^\s"']+\.(jpg|jpeg|png|gif|webp|heic)/gi)}function W2(t){const e=[];let n=t;const r=t.match(/:[a-zA-Z0-9]+:/g),o=new Set;return r==null||r.forEach(s=>{if(o.has(s))return;o.add(s);const a=ef.getEmojiById(s.slice(1,-1));a&&(e.push(XT(a)),n=n.replace(new RegExp(s,"g"),`:${a.shortcode}:`))}),{emojiTags:e,content:n}}function Hg(t,e=!1){const n=ti(t),r=Oe.getEventHint(t.id);return qC([e?"A":"a",n,r])}function JT(t){return["d",t]}function Hb(t,e="",n="",r=!1){return n||(n=Oe.getEventHint(t)),qC([r?"E":"e",t,n,e])}function B1(t,e="",n="",r=""){return n||(n=Oe.getEventHint(t)),qC(["e",t,n,r,e])}function TAe(t,e=""){if(!e){const n=Oe.getReplaeableEventFromCache(t);n&&(e=Oe.getEventHint(n.id))}return qC(["a",t,e,"root"])}function K_(t,e=!1){return[e?"I":"i",t]}function fy(t,e=!1){return[e?"K":"k",t.toString()]}function Hp(t,e=!1){return[e?"P":"p",t]}function XI(t,e,n){const r=["q",t];return!e||(r.push(e),!n)||r.push(n),r}function DAe(t,e){return e!=="both"?["r",t,e]:["r",t]}function WC(t){return["t",t]}function XT(t){return["emoji",t.shortcode,t.url]}function OU(t){return["relay",t]}function LAe(t){return["server",t]}function PAe(t){return["response",t]}function YC(){return["client","smesh","https://smesh.mleku.dev"]}function GC(){return["content-warning","NSFW"]}function eD(){return["-"]}function qC(t){let e=t.length-1;for(;e>=0&&t[e]==="";)e--;return t.slice(0,e+1)}var zU,e9,OAe=(zU=function(t,e){function n(T){if(!Number.isSafeInteger(T))throw new Error(`Wrong integer: ${T}`)}function r(...T){const R=(z,G)=>Z=>z(G(Z));return{encode:Array.from(T).reverse().reduce((z,G)=>z?R(z,G.encode):G.encode,void 0),decode:T.reduce((z,G)=>z?R(z,G.decode):G.decode,void 0)}}function o(T){return{encode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return R.map(z=>{if(n(z),z<0||z>=T.length)throw new Error(`Digit index outside alphabet: ${z} (alphabet: ${T.length})`);return T[z]})},decode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="string")throw new Error("alphabet.decode input should be array of strings");return R.map(z=>{if(typeof z!="string")throw new Error(`alphabet.decode: not string element=${z}`);const G=T.indexOf(z);if(G===-1)throw new Error(`Unknown letter: "${z}". Allowed: ${T}`);return G})}}}function s(T=""){if(typeof T!="string")throw new Error("join separator should be string");return{encode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="string")throw new Error("join.encode input should be array of strings");for(let z of R)if(typeof z!="string")throw new Error(`join.encode: non-string input=${z}`);return R.join(T)},decode:R=>{if(typeof R!="string")throw new Error("join.decode input should be string");return R.split(T)}}}function a(T,R="="){if(n(T),typeof R!="string")throw new Error("padding chr should be string");return{encode(z){if(!Array.isArray(z)||z.length&&typeof z[0]!="string")throw new Error("padding.encode input should be array of strings");for(let G of z)if(typeof G!="string")throw new Error(`padding.encode: non-string input=${G}`);for(;z.length*T%8;)z.push(R);return z},decode(z){if(!Array.isArray(z)||z.length&&typeof z[0]!="string")throw new Error("padding.encode input should be array of strings");for(let Z of z)if(typeof Z!="string")throw new Error(`padding.decode: non-string input=${Z}`);let G=z.length;if(G*T%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;G>0&&z[G-1]===R;G--)if(!((G-1)*T%8))throw new Error("Invalid padding: string has too much padding");return z.slice(0,G)}}}function i(T){if(typeof T!="function")throw new Error("normalize fn should be function");return{encode:R=>R,decode:R=>T(R)}}function l(T,R,z){if(R<2)throw new Error(`convertRadix: wrong from=${R}, base cannot be less than 2`);if(z<2)throw new Error(`convertRadix: wrong to=${z}, base cannot be less than 2`);if(!Array.isArray(T))throw new Error("convertRadix: data should be array");if(!T.length)return[];let G=0;const Z=[],W=Array.from(T);for(W.forEach(U=>{if(n(U),U<0||U>=R)throw new Error(`Wrong integer: ${U}`)});;){let U=0,ee=!0;for(let $=G;$<W.length;$++){const H=W[$],Y=R*U+H;if(!Number.isSafeInteger(Y)||R*U/R!==U||Y-H!=R*U)throw new Error("convertRadix: carry overflow");if(U=Y%z,W[$]=Math.floor(Y/z),!Number.isSafeInteger(W[$])||W[$]*z+U!==Y)throw new Error("convertRadix: carry overflow");ee&&(W[$]?ee=!1:G=$)}if(Z.push(U),ee)break}for(let U=0;U<T.length-1&&T[U]===0;U++)Z.push(0);return Z.reverse()}Object.defineProperty(e,"__esModule",{value:!0}),e.bytes=e.stringToBytes=e.str=e.bytesToString=e.hex=e.utf8=e.bech32m=e.bech32=e.base58check=e.base58xmr=e.base58xrp=e.base58flickr=e.base58=e.base64url=e.base64=e.base32crockford=e.base32hex=e.base32=e.base16=e.utils=e.assertNumber=void 0,e.assertNumber=n;const u=(T,R)=>R?u(R,T%R):T,d=(T,R)=>T+(R-u(T,R));function f(T,R,z,G){if(!Array.isArray(T))throw new Error("convertRadix2: data should be array");if(R<=0||R>32)throw new Error(`convertRadix2: wrong from=${R}`);if(z<=0||z>32)throw new Error(`convertRadix2: wrong to=${z}`);if(d(R,z)>32)throw new Error(`convertRadix2: carry overflow from=${R} to=${z} carryBits=${d(R,z)}`);let Z=0,W=0;const U=2**z-1,ee=[];for(const $ of T){if(n($),$>=2**R)throw new Error(`convertRadix2: invalid data word=${$} from=${R}`);if(Z=Z<<R|$,W+R>32)throw new Error(`convertRadix2: carry overflow pos=${W} from=${R}`);for(W+=R;W>=z;W-=z)ee.push((Z>>W-z&U)>>>0);Z&=2**W-1}if(Z=Z<<z-W&U,!G&&W>=R)throw new Error("Excess padding");if(!G&&Z)throw new Error(`Non-zero padding: ${Z}`);return G&&W>0&&ee.push(Z>>>0),ee}function m(T){return n(T),{encode:R=>{if(!(R instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return l(Array.from(R),256,T)},decode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(l(R,T,256))}}}function g(T,R=!1){if(n(T),T<=0||T>32)throw new Error("radix2: bits should be in (0..32]");if(d(8,T)>32||d(T,8)>32)throw new Error("radix2: carry overflow");return{encode:z=>{if(!(z instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return f(Array.from(z),8,T,!R)},decode:z=>{if(!Array.isArray(z)||z.length&&typeof z[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(f(z,T,8,R))}}}function w(T){if(typeof T!="function")throw new Error("unsafeWrapper fn should be function");return function(...R){try{return T.apply(null,R)}catch{}}}function b(T,R){if(n(T),typeof R!="function")throw new Error("checksum fn should be function");return{encode(z){if(!(z instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const G=R(z).slice(0,T),Z=new Uint8Array(z.length+T);return Z.set(z),Z.set(G,z.length),Z},decode(z){if(!(z instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const G=z.slice(0,-T),Z=R(G).slice(0,T),W=z.slice(-T);for(let U=0;U<T;U++)if(Z[U]!==W[U])throw new Error("Invalid checksum");return G}}}e.utils={alphabet:o,chain:r,checksum:b,radix:m,radix2:g,join:s,padding:a},e.base16=r(g(4),o("0123456789ABCDEF"),s("")),e.base32=r(g(5),o("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),a(5),s("")),e.base32hex=r(g(5),o("0123456789ABCDEFGHIJKLMNOPQRSTUV"),a(5),s("")),e.base32crockford=r(g(5),o("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),s(""),i(T=>T.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),e.base64=r(g(6),o("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),a(6),s("")),e.base64url=r(g(6),o("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),a(6),s(""));const j=T=>r(m(58),o(T),s(""));e.base58=j("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),e.base58flickr=j("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),e.base58xrp=j("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const S=[0,2,3,5,6,7,9,10,11];e.base58xmr={encode(T){let R="";for(let z=0;z<T.length;z+=8){const G=T.subarray(z,z+8);R+=e.base58.encode(G).padStart(S[G.length],"1")}return R},decode(T){let R=[];for(let z=0;z<T.length;z+=11){const G=T.slice(z,z+11),Z=S.indexOf(G.length),W=e.base58.decode(G);for(let U=0;U<W.length-Z;U++)if(W[U]!==0)throw new Error("base58xmr: wrong padding");R=R.concat(Array.from(W.slice(W.length-Z)))}return Uint8Array.from(R)}},e.base58check=T=>r(b(4,R=>T(T(R))),e.base58);const I=r(o("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),s("")),N=[996825010,642813549,513874426,1027748829,705979059];function M(T){const R=T>>25;let z=(33554431&T)<<5;for(let G=0;G<N.length;G++)(R>>G&1)==1&&(z^=N[G]);return z}function D(T,R,z=1){const G=T.length;let Z=1;for(let W=0;W<G;W++){const U=T.charCodeAt(W);if(U<33||U>126)throw new Error(`Invalid prefix (${T})`);Z=M(Z)^U>>5}Z=M(Z);for(let W=0;W<G;W++)Z=M(Z)^31&T.charCodeAt(W);for(let W of R)Z=M(Z)^W;for(let W=0;W<6;W++)Z=M(Z);return Z^=z,I.encode(f([Z%2**30],30,5,!1))}function P(T){const R=T==="bech32"?1:734539939,z=g(5),G=z.decode,Z=z.encode,W=w(G);function U(ee,$=90){if(typeof ee!="string")throw new Error("bech32.decode input should be string, not "+typeof ee);if(ee.length<8||$!==!1&&ee.length>$)throw new TypeError(`Wrong string length: ${ee.length} (${ee}). Expected (8..${$})`);const H=ee.toLowerCase();if(ee!==H&&ee!==ee.toUpperCase())throw new Error("String must be lowercase or uppercase");const Y=(ee=H).lastIndexOf("1");if(Y===0||Y===-1)throw new Error('Letter "1" must be present between prefix and data only');const q=ee.slice(0,Y),J=ee.slice(Y+1);if(J.length<6)throw new Error("Data must be at least 6 characters long");const ne=I.decode(J).slice(0,-6),re=D(q,ne,R);if(!J.endsWith(re))throw new Error(`Invalid checksum in ${ee}: expected "${re}"`);return{prefix:q,words:ne}}return{encode:function(ee,$,H=90){if(typeof ee!="string")throw new Error("bech32.encode prefix should be string, not "+typeof ee);if(!Array.isArray($)||$.length&&typeof $[0]!="number")throw new Error("bech32.encode words should be array of numbers, not "+typeof $);const Y=ee.length+7+$.length;if(H!==!1&&Y>H)throw new TypeError(`Length ${Y} exceeds limit ${H}`);return`${ee=ee.toLowerCase()}1${I.encode($)}${D(ee,$,R)}`},decode:U,decodeToBytes:function(ee){const{prefix:$,words:H}=U(ee,!1);return{prefix:$,words:H,bytes:G(H)}},decodeUnsafe:w(U),fromWords:G,fromWordsUnsafe:W,toWords:Z}}e.bech32=P("bech32"),e.bech32m=P("bech32m"),e.utf8={encode:T=>new TextDecoder().decode(T),decode:T=>new TextEncoder().encode(T)},e.hex=r(g(4),o("0123456789abcdef"),s(""),i(T=>{if(typeof T!="string"||T.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof T} with length ${T.length}`);return T.toLowerCase()}));const L={utf8:e.utf8,hex:e.hex,base16:e.base16,base32:e.base32,base64:e.base64,base64url:e.base64url,base58:e.base58,base58xmr:e.base58xmr},F=`Invalid encoding type. Available types: ${Object.keys(L).join(", ")}`;e.bytesToString=(T,R)=>{if(typeof T!="string"||!L.hasOwnProperty(T))throw new TypeError(F);if(!(R instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return L[T].encode(R)},e.str=e.bytesToString,e.stringToBytes=(T,R)=>{if(!L.hasOwnProperty(T))throw new TypeError(F);if(typeof R!="string")throw new TypeError("stringToBytes() expects string");return L[T].decode(R)},e.bytes=e.stringToBytes},zU(e9={exports:{}},e9.exports),e9.exports);const{bech32:Tu,hex:Nc,utf8:zAe}=OAe,FU={bech32:"bc",pubKeyHash:0,scriptHash:5,validWitnessVersions:[0]},BU={bech32:"tb",pubKeyHash:111,scriptHash:196,validWitnessVersions:[0]},UU={bech32:"tbs",pubKeyHash:111,scriptHash:196,validWitnessVersions:[0]},$U={bech32:"bcrt",pubKeyHash:111,scriptHash:196,validWitnessVersions:[0]},VU={bech32:"sb",pubKeyHash:63,scriptHash:123,validWitnessVersions:[0]},c6=["option_data_loss_protect","initial_routing_sync","option_upfront_shutdown_script","gossip_queries","var_onion_optin","gossip_queries_ex","option_static_remotekey","payment_secret","basic_mpp","option_support_large_channel"],FAe={m:BigInt(1e3),u:BigInt(1e6),n:BigInt(1e9),p:BigInt(1e12)},BAe=BigInt("2100000000000000000"),HU=BigInt(1e11),Z_={payment_hash:1,payment_secret:16,description:13,payee:19,description_hash:23,expiry:6,min_final_cltv_expiry:24,fallback_address:9,route_hint:3,feature_bits:5,metadata:27},sre={};for(let t=0,e=Object.keys(Z_);t<e.length;t++){const n=e[t],r=Z_[e[t]].toString();sre[r]=n}const UAe={1:t=>Nc.encode(Tu.fromWordsUnsafe(t)),16:t=>Nc.encode(Tu.fromWordsUnsafe(t)),13:t=>zAe.encode(Tu.fromWordsUnsafe(t)),19:t=>Nc.encode(Tu.fromWordsUnsafe(t)),23:t=>Nc.encode(Tu.fromWordsUnsafe(t)),27:t=>Nc.encode(Tu.fromWordsUnsafe(t)),6:Pk,24:Pk,3:function(t){const e=[];let n,r,o,s,a,i=Tu.fromWordsUnsafe(t);for(;i.length>0;)n=Nc.encode(i.slice(0,33)),r=Nc.encode(i.slice(33,41)),o=parseInt(Nc.encode(i.slice(41,45)),16),s=parseInt(Nc.encode(i.slice(45,49)),16),a=parseInt(Nc.encode(i.slice(49,51)),16),i=i.slice(51),e.push({pubkey:n,short_channel_id:r,fee_base_msat:o,fee_proportional_millionths:s,cltv_expiry_delta:a});return e},5:function(t){const e=t.slice().reverse().map(o=>[!!(1&o),!!(2&o),!!(4&o),!!(8&o),!!(16&o)]).reduce((o,s)=>o.concat(s),[]);for(;e.length<2*c6.length;)e.push(!1);const n={};c6.forEach((o,s)=>{let a;a=e[2*s]?"required":e[2*s+1]?"supported":"unsupported",n[o]=a});const r=e.slice(2*c6.length);return n.extra_bits={start_bit:2*c6.length,bits:r,has_required:r.reduce((o,s,a)=>a%2!=0?o||!1:o||s,!1)},n}};function $Ae(t){return e=>({tagCode:parseInt(t),words:Tu.encode("unknown",e,Number.MAX_SAFE_INTEGER)})}function Pk(t){return t.reverse().reduce((e,n,r)=>e+n*Math.pow(32,r),0)}const VAe=t=>Uint8Array.from(t.match(/.{1,2}/g).map(e=>parseInt(e,16))),HAe=t=>{if(!t)return null;try{const e=(function(f,m){if(typeof f!="string")throw new Error("Lightning Payment Request must be string");if(f.slice(0,2).toLowerCase()!=="ln")throw new Error("Not a proper lightning payment request");const g=[],w=Tu.decode(f,Number.MAX_SAFE_INTEGER);f=f.toLowerCase();const b=w.prefix;let j=w.words,S=f.slice(b.length+1),I=j.slice(-104);j=j.slice(0,-104);let N=b.match(/^ln(\S+?)(\d*)([a-zA-Z]?)$/);if(N&&!N[2]&&(N=b.match(/^ln(\S+)$/)),!N)throw new Error("Not a proper lightning payment request");g.push({name:"lightning_network",letters:"ln"});const M=N[1];let D;switch(M){case FU.bech32:D=FU;break;case BU.bech32:D=BU;break;case UU.bech32:D=UU;break;case $U.bech32:D=$U;break;case VU.bech32:D=VU}if(!D||D.bech32!==M)throw new Error("Unknown coin bech32 prefix");g.push({name:"coin_network",letters:M,value:D});const P=N[2];let L;P?(L=(function(U,ee){let $,H;if(U.slice(-1).match(/^[munp]$/))$=U.slice(-1),H=U.slice(0,-1);else{if(U.slice(-1).match(/^[^munp0-9]$/))throw new Error("Not a valid multiplier for the amount");H=U}if(!H.match(/^\d+$/))throw new Error("Not a valid human readable amount");const Y=BigInt(H),q=$?Y*HU/FAe[$]:Y*HU;if($==="p"&&Y%BigInt(10)!==BigInt(0)||q>BAe)throw new Error("Amount is outside of valid range");return q.toString()})(P+N[3]),g.push({name:"amount",letters:N[2]+N[3],value:L})):L=null,g.push({name:"separator",letters:"1"});const F=Pk(j.slice(0,7));let T,R,z,G;for(j=j.slice(7),g.push({name:"timestamp",letters:S.slice(0,7),value:F}),S=S.slice(7);j.length>0;){const U=j[0].toString();T=sre[U]||"unknown_tag",R=UAe[U]||$Ae(U),j=j.slice(1),z=Pk(j.slice(0,2)),j=j.slice(2),G=j.slice(0,z),j=j.slice(z),g.push({name:T,tag:S[0],letters:S.slice(0,3+z),value:R(G)}),S=S.slice(3+z)}g.push({name:"signature",letters:S.slice(0,104),value:Nc.encode(Tu.fromWordsUnsafe(I))}),S=S.slice(104),g.push({name:"checksum",letters:S});let Z={paymentRequest:f,sections:g,get expiry(){let U=g.find(ee=>ee.name==="expiry");if(U)return W("timestamp")+U.value},get route_hints(){return g.filter(U=>U.name==="route_hint").map(U=>U.value)}};for(let U in Z_)U!=="route_hint"&&Object.defineProperty(Z,U,{get:()=>W(U)});return Z;function W(U){let ee=g.find($=>$.name===U);return ee?ee.value:void 0}})(t);if(!e||!e.sections)return null;const n=e.sections.find(f=>f.name==="payment_hash");if((n==null?void 0:n.name)!=="payment_hash"||!n.value)return null;const r=n.value;let o=0;const s=e.sections.find(f=>f.name==="amount");(s==null?void 0:s.name)==="amount"&&s.value&&(o=parseInt(s.value)/1e3);const a=e.sections.find(f=>f.name==="timestamp");if((a==null?void 0:a.name)!=="timestamp"||!a.value)return null;const i=a.value;let l;const u=e.sections.find(f=>f.name==="expiry");(u==null?void 0:u.name)==="expiry"&&(l=u.value);const d=e.sections.find(f=>f.name==="description");return{paymentHash:r,satoshi:o,timestamp:i,expiry:l,description:(d==null?void 0:d.name)==="description"?d==null?void 0:d.value:void 0}}catch{return null}};function WU(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}const are=t=>t instanceof Uint8Array,t9=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Cu=(t,e)=>t<<32-e|t>>>e;if(new Uint8Array(new Uint32Array([287454020]).buffer)[0]!==68)throw new Error("Non little-endian hardware is not supported");const WAe=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function YAe(t){if(!are(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=WAe[t[n]];return e}function ire(t){if(typeof t=="string"&&(t=(function(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))})(t)),!are(t))throw new Error("expected Uint8Array, got "+typeof t);return t}let GAe=class{clone(){return this._cloneInto()}};function qAe(t){const e=r=>t().update(ire(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}let KAe=class extends GAe{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=t9(this.buffer)}update(e){WU(this);const{view:n,buffer:r,blockLen:o}=this,s=(e=ire(e)).length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i!==o)r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0);else{const l=t9(e);for(;o<=s-a;a+=o)this.process(l,a)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){WU(this),(function(f,m){(function(w,...b){if(!(w instanceof Uint8Array))throw new Error("Expected Uint8Array");if(b.length>0&&!b.includes(w.length))throw new Error(`Expected Uint8Array of length ${b}, not of length=${w.length}`)})(f);const g=m.outputLen;if(f.length<g)throw new Error(`digestInto() expects output buffer of length at least ${g}`)})(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;(function(f,m,g,w){if(typeof f.setBigUint64=="function")return f.setBigUint64(m,g,w);const b=BigInt(32),j=BigInt(4294967295),S=Number(g>>b&j),I=Number(g&j),N=w?0:4;f.setUint32(m+(w?4:0),S,w),f.setUint32(m+N,I,w)})(r,o-8,BigInt(8*this.length),s),this.process(r,0);const i=t9(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}};const ZAe=(t,e,n)=>t&e^t&n^e&n,QAe=new Uint32Array([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]),sp=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ap=new Uint32Array(64);let JAe=class extends KAe{constructor(){super(64,32,8,!1),this.A=0|sp[0],this.B=0|sp[1],this.C=0|sp[2],this.D=0|sp[3],this.E=0|sp[4],this.F=0|sp[5],this.G=0|sp[6],this.H=0|sp[7]}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=0|e,this.B=0|n,this.C=0|r,this.D=0|o,this.E=0|s,this.F=0|a,this.G=0|i,this.H=0|l}process(e,n){for(let m=0;m<16;m++,n+=4)ap[m]=e.getUint32(n,!1);for(let m=16;m<64;m++){const g=ap[m-15],w=ap[m-2],b=Cu(g,7)^Cu(g,18)^g>>>3,j=Cu(w,17)^Cu(w,19)^w>>>10;ap[m]=j+ap[m-7]+b+ap[m-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let m=0;m<64;m++){const g=d+(Cu(i,6)^Cu(i,11)^Cu(i,25))+((f=i)&l^~f&u)+QAe[m]+ap[m]|0,w=(Cu(r,2)^Cu(r,13)^Cu(r,22))+ZAe(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+w|0}var f;r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){ap.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const XAe=qAe(()=>new JAe);let KC=class{constructor(e){var n,r,o,s;if(this.paymentRequest=void 0,this.paymentHash=void 0,this.preimage=void 0,this.verify=void 0,this.satoshi=void 0,this.expiry=void 0,this.timestamp=void 0,this.createdDate=void 0,this.expiryDate=void 0,this.description=void 0,this.successAction=void 0,this.paymentRequest=e.pr,!this.paymentRequest)throw new Error("Invalid payment request");const a=HAe(this.paymentRequest);if(!a)throw new Error("Failed to decode payment request");this.paymentHash=a.paymentHash,this.satoshi=a.satoshi,this.timestamp=a.timestamp,this.expiry=a.expiry,this.createdDate=new Date(1e3*this.timestamp),this.expiryDate=this.expiry?new Date(1e3*(this.timestamp+this.expiry)):void 0,this.description=(n=a.description)!=null?n:null,this.verify=(r=e.verify)!=null?r:null,this.preimage=(o=e.preimage)!=null?o:null,this.successAction=(s=e.successAction)!=null?s:null}async isPaid(){if(this.preimage)return this.validatePreimage(this.preimage);if(this.verify)return await this.verifyPayment();throw new Error("Could not verify payment")}validatePreimage(e){if(!e||!this.paymentHash)return!1;try{const n=YAe(XAe(VAe(e)));return this.paymentHash===n}catch{return!1}}async verifyPayment(){try{if(!this.verify)throw new Error("LNURL verify not available");const e=await fetch(this.verify);if(!e.ok)throw new Error(`Verification request failed: ${e.status} ${e.statusText}`);const n=await e.json();return n.preimage&&(this.preimage=n.preimage),n.settled}catch(e){return console.error("Failed to check LNURL-verify",e),!1}}hasExpired(){const{expiryDate:e}=this;return!!e&&e.getTime()<Date.now()}};const tD=async t=>{const e="https://getalby.com/api/rates/"+t.toLowerCase()+".json",n=await fetch(e);if(!n.ok)throw new Error(`Failed to fetch rate: ${n.status} ${n.statusText}`);return(await n.json()).rate_float/1e8},lre=async({satoshi:t,currency:e})=>{const n=await tD(e);return Number(t)*n},e5e=async({amount:t,currency:e})=>{const n=await tD(e);return Math.floor(Number(t)/n)},t5e=async({satoshi:t,currency:e,locale:n})=>(n||(n="en"),(await lre({satoshi:t,currency:e})).toLocaleString(n,{style:"currency",currency:e}));var n5e={__proto__:null,getFiatBtcRate:tD,getFiatValue:lre,getSatoshiValue:e5e,getFormattedFiatValue:t5e};function r5e(t){try{return new KC({pr:t}).satoshi}catch(e){return console.error("Invalid Lightning invoice:",e),0}}function o5e(t){try{const e=new KC({pr:t});return{amount:e.satoshi,description:e.description}}catch(e){return console.error("Invalid Lightning invoice:",e),{amount:0,description:null}}}function Y2(t){return t<1e3?t:t<1e6?`${Math.round(t/100)/10}k`:`${Math.round(t/1e5)/10}M`}function cre(t){const{lud16:e,lud06:n}=t;let r,o;return e&&oy(e)?r=e:n&&oy(n)?r=n:n&&n.startsWith("lnurl")?o=n:e&&e.startsWith("lnurl")&&(o=e),r||o||void 0}function M3(t,e=!0){if(!t)return{write:[],read:[],originalRelays:[]};const n={write:[],read:[],originalRelays:[]};return t.tags.filter(In("r")).forEach(([,r,o])=>{if(!r||!Fy(r))return;const s=so(r);if(!s)return;const a=o==="read"?"read":o==="write"?"write":"both";n.originalRelays.push({url:s,scope:a}),!(e&&jke(s))&&(o==="write"?n.write.push(s):(o==="read"||n.write.push(s),n.read.push(s)))}),n}function B0(t){var e,n,r,o;try{const s=JSON.parse(t.content),a=((e=s.display_name)==null?void 0:e.trim())||((n=s.name)==null?void 0:n.trim())||((o=(r=s.nip05)==null?void 0:r.split("@")[0])==null?void 0:o.trim()),i=th(t.tags),l=Vt.tryFromString(t.pubkey);return{pubkey:t.pubkey,npub:(l==null?void 0:l.npub)??"",banner:s.banner,avatar:s.picture,username:a||((l==null?void 0:l.formatNpub(12))??t.pubkey.slice(0,8)),original_username:a,nip05:s.nip05,about:s.about,website:s.website?ry(s.website):void 0,lud06:s.lud06,lud16:s.lud16,lightningAddress:cre(s),created_at:t.created_at,emojis:i.length>0?i:void 0}}catch(s){console.error(t.content,s);const a=Vt.tryFromString(t.pubkey);return{pubkey:t.pubkey,npub:(a==null?void 0:a.npub)??"",username:(a==null?void 0:a.formatNpub(12))??t.pubkey.slice(0,8)}}}function s5e(t){var o;const e=By(t),n=t.tags.filter(In("relay")).map(s=>s[1]).filter(s=>s&&Fy(s)).map(s=>so(s));let r=(o=t.tags.find(In("title")))==null?void 0:o[1];return r||(r=e),{id:e,name:r,relayUrls:n,aTag:Hg(t)}}function Ok(t){if(t.kind!==$e.Zap)return null;let e,n,r,o,s,a,i,l,u;try{if(t.tags.forEach(d=>{const[f,m]=d;switch(f){case"P":e=m;break;case"p":n=m;break;case"e":r=d[1],o=nc(d);break;case"bolt11":s=m;break;case"description":l=m;break;case"preimage":u=m;break}}),!n||!s)return null;if(a=s?r5e(s):0,l)try{const d=JSON.parse(l);i=d.content,e||(e=d.pubkey)}catch{}return{senderPubkey:e,recipientPubkey:n,eventId:o,originalEventId:r,invoice:s,amount:a,comment:i,preimage:u}}catch{return null}}function nD(t){var s;let e,n,r;const o=new Set;return t.tags.forEach(([a,i])=>{a==="title"?e=i:a==="summary"?n=i:a==="image"?r=i:a==="t"&&i&&o.size<6&&o.add(i.toLocaleLowerCase())}),e||(e=((s=t.tags.find(In("d")))==null?void 0:s[1])??"no title"),{title:e,summary:n,image:r,tags:Array.from(o)}}function ure(t){var a;let e,n,r,o;const s=new Set;return t.tags.forEach(([i,l])=>{i==="title"?e=l:i==="summary"?n=l:i==="image"?r=l:i==="status"?o=l:i==="t"&&l&&s.size<6&&s.add(l.toLocaleLowerCase())}),e||(e=((a=t.tags.find(In("d")))==null?void 0:a[1])??"no title"),{title:e,summary:n,image:r,status:o,tags:Array.from(s)}}function fre(t){let e,n,r,o;const s=new Set;return t.tags.forEach(([a,i])=>{a==="name"?n=i:a==="about"?r=i:a==="picture"?o=i:a==="t"&&i?s.add(i.toLocaleLowerCase()):a==="d"&&(e=i)}),n||(n=e??"no name"),{d:e,name:n,about:r,picture:o,tags:Array.from(s)}}function dre(t){var o;let e,n,r;return t.tags.forEach(([s,a])=>{s==="name"?e=a:s==="description"?n=a:s==="image"&&(r=a)}),e||(e=((o=t.tags.find(In("d")))==null?void 0:o[1])??"no name"),{name:e,description:n,image:r}}function a5e(t){const e=[],n=[];let r=Wm.SINGLE_CHOICE,o;for(const[s,...a]of t.tags)if(s==="option"&&a.length>=2){const[i,l]=a;i&&l&&e.push({id:i,label:l})}else if(s==="relay"&&a[0])so(a[0])&&n.push(a[0]);else if(s==="polltype"&&a[0])a[0]===Wm.MULTIPLE_CHOICE&&(r=Wm.MULTIPLE_CHOICE);else if(s==="endsAt"&&a[0]){const i=parseInt(a[0]);isNaN(i)||(o=i)}return e.length===0?null:{options:e,pollType:r,relayUrls:n,endsAt:o}}function i5e(t,e,n){const r=[];for(const[o,...s]of t.tags)if(o==="response"&&s[0]){if(e&&!e.includes(s[0]))continue;r.push(s[0])}return r.length===0||r.length>1&&!n?null:{id:t.id,pubkey:t.pubkey,selectedOptionIds:r,created_at:t.created_at}}function l5e(t){const e=[],n=[];return t.tags.forEach(([r,...o])=>{r==="emoji"&&o.length>=2?e.push({shortcode:o[0],url:o[1]}):r==="a"&&o[0]&&n.push(o[0])}),{emojis:e,emojiSetPointers:n}}function rD(t){let e;const n=[];return t.tags.forEach(([r,...o])=>{r==="title"&&o[0]?e=o[0]:r==="emoji"&&o.length>=2&&n.push({shortcode:o[0],url:o[1]})}),{title:e,emojis:n}}function c5e(t){return rD(t).emojis}function zk(t){const e=t.tags.find(n=>n[0]==="rating");if(e){const n=parseFloat(e[1])*5;if(n>0&&n<=5)return n}return 0}function oD(t){var s;let e,n,r;const o=[];return t.tags.forEach(([a,i])=>{a==="title"?e=i:a==="description"?n=i:a==="image"?r=i:a==="p"&&Vt.isValidHex(i)&&o.push(i)}),e||(e=((s=t.tags.find(In("d")))==null?void 0:s[1])??"Untitled Follow Pack"),{title:e,description:n,image:r,pubkeys:o}}const n9=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const sD=t=>t instanceof Uint8Array,r9=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Su=(t,e)=>t<<32-e|t>>>e,u5e=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!u5e)throw new Error("Non little-endian hardware is not supported");const f5e=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ja(t){if(!sD(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=f5e[t[n]];return e}function vg(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}function d5e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Wb(t){if(typeof t=="string"&&(t=d5e(t)),!sD(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function ZC(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!sD(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}let pre=class{clone(){return this._cloneInto()}};function hre(t){const e=r=>t().update(Wb(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function mre(t=32){if(n9&&typeof n9.getRandomValues=="function")return n9.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function Q_(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function p5e(t){if(typeof t!="boolean")throw new Error(`Expected boolean, not ${t}`)}function gre(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function h5e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Q_(t.outputLen),Q_(t.blockLen)}function m5e(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function g5e(t,e){gre(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Uu={number:Q_,bool:p5e,bytes:gre,hash:h5e,exists:m5e,output:g5e};function y5e(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}class v5e extends pre{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=r9(this.buffer)}update(e){Uu.exists(this);const{view:n,buffer:r,blockLen:o}=this;e=Wb(e);const s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=r9(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Uu.exists(this),Uu.output(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;y5e(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=r9(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}}const w5e=(t,e,n)=>t&e^~t&n,b5e=(t,e,n)=>t&e^t&n^e&n,x5e=new Uint32Array([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]),ip=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),lp=new Uint32Array(64);class yre extends v5e{constructor(){super(64,32,8,!1),this.A=ip[0]|0,this.B=ip[1]|0,this.C=ip[2]|0,this.D=ip[3]|0,this.E=ip[4]|0,this.F=ip[5]|0,this.G=ip[6]|0,this.H=ip[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)lp[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=lp[f-15],g=lp[f-2],w=Su(m,7)^Su(m,18)^m>>>3,b=Su(g,17)^Su(g,19)^g>>>10;lp[f]=b+lp[f-7]+w+lp[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=Su(i,6)^Su(i,11)^Su(i,25),g=d+m+w5e(i,l,u)+x5e[f]+lp[f]|0,b=(Su(r,2)^Su(r,13)^Su(r,22))+b5e(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){lp.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class k5e extends yre{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const Gy=hre(()=>new yre);hre(()=>new k5e);class vre extends pre{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Uu.hash(e);const r=Wb(n);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 o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?e.create().update(r).digest():r);for(let a=0;a<s.length;a++)s[a]^=54;this.iHash.update(s),this.oHash=e.create();for(let a=0;a<s.length;a++)s[a]^=106;this.oHash.update(s),s.fill(0)}update(e){return Uu.exists(this),this.iHash.update(e),this}digestInto(e){Uu.exists(this),Uu.bytes(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:n,iHash:r,finished:o,destroyed:s,blockLen:a,outputLen:i}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=a,e.outputLen=i,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const QC=(t,e,n)=>new vre(t,e).update(n).digest();QC.create=(t,e)=>new vre(t,e);function j5e(t,e,n){return Uu.hash(t),QC(t,Wb(n),Wb(e))}const o9=new Uint8Array([0]),YU=new Uint8Array;function C5e(t,e,n,r=32){if(Uu.hash(t),Uu.number(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=YU);const s=new Uint8Array(o*t.outputLen),a=QC.create(t,e),i=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)o9[0]=u+1,i.update(u===0?YU:l).update(n).update(o9).digestInto(l),s.set(l,t.outputLen*u),a._cloneInto(i);return a.destroy(),i.destroy(),l.fill(0),o9.fill(0),s.slice(0,r)}var S5e=Object.defineProperty,go=(t,e)=>{for(var n in e)S5e(t,n,{get:e[n],enumerable:!0})},U1=Symbol("verified"),E5e=t=>t instanceof Object;function aD(t){if(!E5e(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]!="string")return!1}return!0}var N5e={};go(N5e,{Queue:()=>xre,QueueNode:()=>bre,binarySearch:()=>iD,bytesToHex:()=>ja,hexToBytes:()=>vg,insertEventIntoAscendingList:()=>A5e,insertEventIntoDescendingList:()=>I5e,normalizeURL:()=>wre,utf8Decoder:()=>Qf,utf8Encoder:()=>Jc});var Qf=new TextDecoder("utf-8"),Jc=new TextEncoder;function wre(t){try{t.indexOf("://")===-1&&(t="wss://"+t);let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{throw new Error(`Invalid URL: ${t}`)}}function I5e(t,e){const[n,r]=iD(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:o.created_at-e.created_at);return r||t.splice(n,0,e),t}function A5e(t,e){const[n,r]=iD(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:e.created_at-o.created_at);return r||t.splice(n,0,e),t}function iD(t,e){let n=0,r=t.length-1;for(;n<=r;){const o=Math.floor((n+r)/2),s=e(t[o]);if(s===0)return[o,!0];s<0?r=o-1:n=o+1}return[n,!1]}var bre=class{constructor(t){je(this,"value");je(this,"next",null);je(this,"prev",null);this.value=t}},xre=class{constructor(){je(this,"first");je(this,"last");this.first=null,this.last=null}enqueue(t){const e=new bre(t);return this.last?this.last===this.first?(this.last=e,this.last.prev=this.first,this.first.next=e):(e.prev=this.last,this.last.next=e,this.last=e):(this.first=e,this.last=e),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const e=this.first;return this.first=null,this.last=null,e.value}const t=this.first;return this.first=t.next,this.first&&(this.first.prev=null),t.value}},_5e=class{generateSecretKey(){return Ga.utils.randomPrivateKey()}getPublicKey(e){return ja(Ga.getPublicKey(e))}finalizeEvent(e,n){const r=e;return r.pubkey=ja(Ga.getPublicKey(n)),r.id=Hw(r),r.sig=ja(Ga.sign(Hw(r),n)),r[U1]=!0,r}verifyEvent(e){if(typeof e[U1]=="boolean")return e[U1];const n=Hw(e);if(n!==e.id)return e[U1]=!1,!1;try{const r=Ga.verify(e.sig,n,e.pubkey);return e[U1]=r,r}catch{return e[U1]=!1,!1}}};function M5e(t){if(!aD(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function Hw(t){let e=Gy(Jc.encode(M5e(t)));return ja(e)}var JC=new _5e,lD=JC.generateSecretKey,wg=JC.getPublicKey,sc=JC.finalizeEvent,XC=JC.verifyEvent,R5e={};go(R5e,{Application:()=>M_e,BadgeAward:()=>B5e,BadgeDefinition:()=>C_e,BlockedRelaysList:()=>l_e,BookmarkList:()=>s_e,Bookmarksets:()=>x_e,Calendar:()=>z_e,CalendarEventRSVP:()=>F_e,ChannelCreation:()=>Nre,ChannelHideMessage:()=>_re,ChannelMessage:()=>Are,ChannelMetadata:()=>Ire,ChannelMuteUser:()=>Mre,ClassifiedListing:()=>D_e,ClientAuth:()=>Tre,CommunitiesList:()=>a_e,CommunityDefinition:()=>$_e,CommunityPostApproval:()=>q5e,Contacts:()=>O5e,CreateOrUpdateProduct:()=>N_e,CreateOrUpdateStall:()=>E_e,Curationsets:()=>k_e,Date:()=>P_e,DirectMessageRelaysList:()=>d_e,DraftClassifiedListing:()=>L_e,DraftLong:()=>A_e,Emojisets:()=>__e,EncryptedDirectMessage:()=>z5e,EventDeletion:()=>F5e,FileMetadata:()=>$5e,FileServerPreference:()=>p_e,Followsets:()=>v_e,GenericRepost:()=>pD,Genericlists:()=>w_e,GiftWrap:()=>Rre,HTTPAuth:()=>hD,Handlerinformation:()=>U_e,Handlerrecommendation:()=>B_e,Highlights:()=>t_e,InterestsList:()=>u_e,Interestsets:()=>S_e,JobFeedback:()=>Q5e,JobRequest:()=>K5e,JobResult:()=>Z5e,Label:()=>G5e,LightningPubRPC:()=>m_e,LiveChatMessage:()=>V5e,LiveEvent:()=>R_e,LongFormArticle:()=>I_e,Metadata:()=>L5e,Mutelist:()=>n_e,NWCWalletInfo:()=>h_e,NWCWalletRequest:()=>Dre,NWCWalletResponse:()=>g_e,NostrConnect:()=>y_e,OpenTimestamps:()=>U5e,Pinlist:()=>r_e,PrivateDirectMessage:()=>Ere,ProblemTracker:()=>H5e,ProfileBadges:()=>j_e,PublicChatsList:()=>i_e,Reaction:()=>dD,RecommendRelay:()=>P5e,RelayList:()=>o_e,Relaysets:()=>b_e,Report:()=>W5e,Reporting:()=>Y5e,Repost:()=>fD,Seal:()=>Sre,SearchRelaysList:()=>c_e,ShortTextNote:()=>Cre,Time:()=>O_e,UserEmojiList:()=>f_e,UserStatuses:()=>T_e,Zap:()=>e_e,ZapGoal:()=>J5e,ZapRequest:()=>X5e,classifyKind:()=>T5e,isAddressableKind:()=>uD,isEphemeralKind:()=>jre,isKind:()=>D5e,isRegularKind:()=>kre,isReplaceableKind:()=>cD});function kre(t){return 1e3<=t&&t<1e4||[1,2,4,5,6,7,8,16,40,41,42,43,44].includes(t)}function cD(t){return[0,3].includes(t)||1e4<=t&&t<2e4}function jre(t){return 2e4<=t&&t<3e4}function uD(t){return 3e4<=t&&t<4e4}function T5e(t){return kre(t)?"regular":cD(t)?"replaceable":jre(t)?"ephemeral":uD(t)?"parameterized":"unknown"}function D5e(t,e){const n=e instanceof Array?e:[e];return aD(t)&&n.includes(t.kind)||!1}var L5e=0,Cre=1,P5e=2,O5e=3,z5e=4,F5e=5,fD=6,dD=7,B5e=8,Sre=13,Ere=14,pD=16,Nre=40,Ire=41,Are=42,_re=43,Mre=44,U5e=1040,Rre=1059,$5e=1063,V5e=1311,H5e=1971,W5e=1984,Y5e=1984,G5e=1985,q5e=4550,K5e=5999,Z5e=6999,Q5e=7e3,J5e=9041,X5e=9734,e_e=9735,t_e=9802,n_e=1e4,r_e=10001,o_e=10002,s_e=10003,a_e=10004,i_e=10005,l_e=10006,c_e=10007,u_e=10015,f_e=10030,d_e=10050,p_e=10096,h_e=13194,m_e=21e3,Tre=22242,Dre=23194,g_e=23195,y_e=24133,hD=27235,v_e=3e4,w_e=30001,b_e=30002,x_e=30003,k_e=30004,j_e=30008,C_e=30009,S_e=30015,E_e=30017,N_e=30018,I_e=30023,A_e=30024,__e=30030,M_e=30078,R_e=30311,T_e=30315,D_e=30402,L_e=30403,P_e=31922,O_e=31923,z_e=31924,F_e=31925,B_e=31989,U_e=31990,$_e=34550;function V_e(t,e){if(t.ids&&t.ids.indexOf(e.id)===-1||t.kinds&&t.kinds.indexOf(e.kind)===-1||t.authors&&t.authors.indexOf(e.pubkey)===-1)return!1;for(let n in t)if(n[0]==="#"){let r=n.slice(1),o=t[`#${r}`];if(o&&!e.tags.find(([s,a])=>s===n.slice(1)&&o.indexOf(a)!==-1))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>t.until)}function H_e(t,e){for(let n=0;n<t.length;n++)if(V_e(t[n],e))return!0;return!1}var W_e={};go(W_e,{getHex64:()=>eS,getInt:()=>Lre,getSubscriptionId:()=>Pre,matchEventId:()=>Y_e,matchEventKind:()=>q_e,matchEventPubkey:()=>G_e});function eS(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,o=t.slice(r).indexOf('"')+r+1;return t.slice(o,o+64)}function Lre(t,e){let n=e.length,r=t.indexOf(`"${e}":`)+n+3,o=t.slice(r),s=Math.min(o.indexOf(","),o.indexOf("}"));return parseInt(o.slice(0,s),10)}function Pre(t){let e=t.slice(0,22).indexOf('"EVENT"');if(e===-1)return null;let n=t.slice(e+7+1).indexOf('"');if(n===-1)return null;let r=e+7+1+n,o=t.slice(r+1,80).indexOf('"');if(o===-1)return null;let s=r+1+o;return t.slice(r+1,s)}function Y_e(t,e){return e===eS(t,"id")}function G_e(t,e){return e===eS(t,"pubkey")}function q_e(t,e){return e===Lre(t,"kind")}var K_e={};go(K_e,{makeAuthEvent:()=>Ore});function Ore(t,e){return{kind:Tre,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}async function Z_e(){return new Promise(t=>{const e=new MessageChannel,n=()=>{e.port1.removeEventListener("message",n),t()};e.port1.addEventListener("message",n),e.port2.postMessage(0),e.port1.start()})}var zre=class extends Error{constructor(t,e){super(`Tried to send message '${t} on a closed connection to ${e}.`),this.name="SendingOnClosedConnection"}},Fre=class{constructor(t,e){je(this,"url");je(this,"_connected",!1);je(this,"onclose",null);je(this,"onnotice",t=>console.debug(`NOTICE from ${this.url}: ${t}`));je(this,"baseEoseTimeout",4400);je(this,"connectionTimeout",4400);je(this,"publishTimeout",4400);je(this,"openSubs",new Map);je(this,"connectionTimeoutHandle");je(this,"connectionPromise");je(this,"openCountRequests",new Map);je(this,"openEventPublishes",new Map);je(this,"ws");je(this,"incomingMessageQueue",new xre);je(this,"queueRunning",!1);je(this,"challenge");je(this,"authPromise");je(this,"serial",0);je(this,"verifyEvent");je(this,"_WebSocket");this.url=wre(t),this.verifyEvent=e.verifyEvent,this._WebSocket=e.websocketImplementation||WebSocket}static async connect(t,e){const n=new Fre(t,e);return await n.connect(),n}closeAllSubscriptions(t){for(let[e,n]of this.openSubs)n.close(t);this.openSubs.clear();for(let[e,n]of this.openEventPublishes)n.reject(new Error(t));this.openEventPublishes.clear();for(let[e,n]of this.openCountRequests)n.reject(new Error(t));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.authPromise=void 0,this.connectionPromise=new Promise((t,e)=>{this.connectionTimeoutHandle=setTimeout(()=>{var n;e("connection timed out"),this.connectionPromise=void 0,(n=this.onclose)==null||n.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new this._WebSocket(this.url)}catch(n){clearTimeout(this.connectionTimeoutHandle),e(n);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,t()},this.ws.onerror=n=>{var r;clearTimeout(this.connectionTimeoutHandle),e(n.message||"websocket error"),this._connected&&(this._connected=!1,this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection errored"))},this.ws.onclose=n=>{var r;clearTimeout(this.connectionTimeoutHandle),e(n.message||"websocket closed"),this._connected&&(this._connected=!1,this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection closed"))},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await Z_e();this.queueRunning=!1}handleNext(){var n,r;const t=this.incomingMessageQueue.dequeue();if(!t)return!1;const e=Pre(t);if(e){const o=this.openSubs.get(e);if(!o)return;const s=eS(t,"id"),a=(n=o.alreadyHaveEvent)==null?void 0:n.call(o,s);if((r=o.receivedEvent)==null||r.call(o,this,s),a)return}try{let o=JSON.parse(t);switch(o[0]){case"EVENT":{const s=this.openSubs.get(o[1]),a=o[2];this.verifyEvent(a)&&H_e(s.filters,a)&&s.onevent(a);return}case"COUNT":{const s=o[1],a=o[2],i=this.openCountRequests.get(s);i&&(i.resolve(a.count),this.openCountRequests.delete(s));return}case"EOSE":{const s=this.openSubs.get(o[1]);if(!s)return;s.receivedEose();return}case"OK":{const s=o[1],a=o[2],i=o[3],l=this.openEventPublishes.get(s);l&&(clearTimeout(l.timeout),a?l.resolve(i):l.reject(new Error(i)),this.openEventPublishes.delete(s));return}case"CLOSED":{const s=o[1],a=this.openSubs.get(s);if(!a)return;a.closed=!0,a.close(o[2]);return}case"NOTICE":this.onnotice(o[1]);return;case"AUTH":{this.challenge=o[1];return}}}catch{return}}async send(t){if(!this.connectionPromise)throw new zre(t,this.url);this.connectionPromise.then(()=>{var e;(e=this.ws)==null||e.send(t)})}async auth(t){const e=this.challenge;if(!e)throw new Error("can't perform auth, no challenge was received");return this.authPromise?this.authPromise:(this.authPromise=new Promise(async(n,r)=>{try{let o=await t(Ore(this.url,e)),s=setTimeout(()=>{let a=this.openEventPublishes.get(o.id);a&&(a.reject(new Error("auth timed out")),this.openEventPublishes.delete(o.id))},this.publishTimeout);this.openEventPublishes.set(o.id,{resolve:n,reject:r,timeout:s}),this.send('["AUTH",'+JSON.stringify(o)+"]")}catch(o){console.warn("subscribe auth function failed:",o)}}),this.authPromise)}async publish(t){const e=new Promise((n,r)=>{const o=setTimeout(()=>{const s=this.openEventPublishes.get(t.id);s&&(s.reject(new Error("publish timed out")),this.openEventPublishes.delete(t.id))},this.publishTimeout);this.openEventPublishes.set(t.id,{resolve:n,reject:r,timeout:o})});return this.send('["EVENT",'+JSON.stringify(t)+"]"),e}async count(t,e){this.serial++;const n=(e==null?void 0:e.id)||"count:"+this.serial,r=new Promise((o,s)=>{this.openCountRequests.set(n,{resolve:o,reject:s})});return this.send('["COUNT","'+n+'",'+JSON.stringify(t).substring(1)),r}subscribe(t,e){const n=this.prepareSubscription(t,e);return n.fire(),n}prepareSubscription(t,e){this.serial++;const n=e.id||(e.label?e.label+":":"sub:")+this.serial,r=new Q_e(this,n,t,e);return this.openSubs.set(n,r),r}close(){var t;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(t=this.ws)==null||t.close()}_onmessage(t){this.incomingMessageQueue.enqueue(t.data),this.queueRunning||this.runQueue()}},Q_e=class{constructor(t,e,n,r){je(this,"relay");je(this,"id");je(this,"closed",!1);je(this,"eosed",!1);je(this,"filters");je(this,"alreadyHaveEvent");je(this,"receivedEvent");je(this,"onevent");je(this,"oneose");je(this,"onclose");je(this,"eoseTimeout");je(this,"eoseTimeoutHandle");this.relay=t,this.filters=n,this.id=e,this.alreadyHaveEvent=r.alreadyHaveEvent,this.receivedEvent=r.receivedEvent,this.eoseTimeout=r.eoseTimeout||t.baseEoseTimeout,this.oneose=r.oneose,this.onclose=r.onclose,this.onevent=r.onevent||(o=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,o)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var t;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(t=this.oneose)==null||t.call(this))}close(t="closed by caller"){var e;if(!this.closed&&this.relay.connected){try{this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]")}catch(n){if(!(n instanceof zre))throw n}this.closed=!0}this.relay.openSubs.delete(this.id),(e=this.onclose)==null||e.call(this,t)}},Bre;try{Bre=WebSocket}catch{}var Fk=class extends Fre{constructor(e){super(e,{verifyEvent:XC,websocketImplementation:Bre})}static async connect(e){const n=new Fk(e);return await n.connect(),n}},J_e;try{J_e=WebSocket}catch{}var J_={};go(J_,{BECH32_REGEX:()=>Ure,Bech32MaxSize:()=>mD,NostrTypeGuard:()=>X_e,decode:()=>tS,decodeNostrURI:()=>t8e,encodeBytes:()=>rS,naddrEncode:()=>i8e,neventEncode:()=>a8e,noteEncode:()=>o8e,nprofileEncode:()=>s8e,npubEncode:()=>r8e,nsecEncode:()=>n8e});var X_e={isNProfile:t=>/^nprofile1[a-z\d]+$/.test(t||""),isNEvent:t=>/^nevent1[a-z\d]+$/.test(t||""),isNAddr:t=>/^naddr1[a-z\d]+$/.test(t||""),isNSec:t=>/^nsec1[a-z\d]{58}$/.test(t||""),isNPub:t=>/^npub1[a-z\d]{58}$/.test(t||""),isNote:t=>/^note1[a-z\d]+$/.test(t||""),isNcryptsec:t=>/^ncryptsec1[a-z\d]+$/.test(t||"")},mD=5e3,Ure=/[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;function e8e(t){const e=new Uint8Array(4);return e[0]=t>>24&255,e[1]=t>>16&255,e[2]=t>>8&255,e[3]=t&255,e}function t8e(t){try{return t.startsWith("nostr:")&&(t=t.substring(6)),tS(t)}catch{return{type:"invalid",data:null}}}function tS(t){var o,s,a,i,l,u,d;let{prefix:e,words:n}=Pr.decode(t,mD),r=new Uint8Array(Pr.fromWords(n));switch(e){case"nprofile":{let f=s9(r);if(!((o=f[0])!=null&&o[0]))throw new Error("missing TLV 0 for nprofile");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:ja(f[0][0]),relays:f[1]?f[1].map(m=>Qf.decode(m)):[]}}}case"nevent":{let f=s9(r);if(!((s=f[0])!=null&&s[0]))throw new Error("missing TLV 0 for nevent");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(f[2]&&f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(f[3]&&f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:ja(f[0][0]),relays:f[1]?f[1].map(m=>Qf.decode(m)):[],author:(a=f[2])!=null&&a[0]?ja(f[2][0]):void 0,kind:(i=f[3])!=null&&i[0]?parseInt(ja(f[3][0]),16):void 0}}}case"naddr":{let f=s9(r);if(!((l=f[0])!=null&&l[0]))throw new Error("missing TLV 0 for naddr");if(!((u=f[2])!=null&&u[0]))throw new Error("missing TLV 2 for naddr");if(f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!((d=f[3])!=null&&d[0]))throw new Error("missing TLV 3 for naddr");if(f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:Qf.decode(f[0][0]),pubkey:ja(f[2][0]),kind:parseInt(ja(f[3][0]),16),relays:f[1]?f[1].map(m=>Qf.decode(m)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:ja(r)};default:throw new Error(`unknown prefix ${e}`)}}function s9(t){let e={},n=t;for(;n.length>0;){let r=n[0],o=n[1],s=n.slice(2,2+o);if(n=n.slice(2+o),s.length<o)throw new Error(`not enough data to read on TLV ${r}`);e[r]=e[r]||[],e[r].push(s)}return e}function n8e(t){return rS("nsec",t)}function r8e(t){return rS("npub",vg(t))}function o8e(t){return rS("note",vg(t))}function nS(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,mD)}function rS(t,e){return nS(t,e)}function s8e(t){let e=gD({0:[vg(t.pubkey)],1:(t.relays||[]).map(n=>Jc.encode(n))});return nS("nprofile",e)}function a8e(t){let e;t.kind!==void 0&&(e=e8e(t.kind));let n=gD({0:[vg(t.id)],1:(t.relays||[]).map(r=>Jc.encode(r)),2:t.author?[vg(t.author)]:[],3:e?[new Uint8Array(e)]:[]});return nS("nevent",n)}function i8e(t){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,t.kind,!1);let n=gD({0:[Jc.encode(t.identifier)],1:(t.relays||[]).map(r=>Jc.encode(r)),2:[vg(t.pubkey)],3:[new Uint8Array(e)]});return nS("naddr",n)}function gD(t){let e=[];return Object.entries(t).reverse().forEach(([n,r])=>{r.forEach(o=>{let s=new Uint8Array(o.length+2);s.set([parseInt(n)],0),s.set([o.length],1),s.set(o,2),e.push(s)})}),ZC(...e)}var Yb={};go(Yb,{decrypt:()=>l8e,encrypt:()=>$re});function $re(t,e,n){const r=t instanceof Uint8Array?ja(t):t,o=ql.getSharedSecret(r,"02"+e),s=Vre(o);let a=Uint8Array.from(mre(16)),i=Jc.encode(n),l=dC(s,a).encrypt(i),u=es.encode(new Uint8Array(l)),d=es.encode(new Uint8Array(a.buffer));return`${u}?iv=${d}`}function l8e(t,e,n){const r=t instanceof Uint8Array?ja(t):t;let[o,s]=n.split("?iv="),a=ql.getSharedSecret(r,"02"+e),i=Vre(a),l=es.decode(s),u=es.decode(o),d=dC(i,l).decrypt(u);return Qf.decode(d)}function Vre(t){return t.slice(1,33)}var c8e={};go(c8e,{NIP05_REGEX:()=>yD,isNip05:()=>u8e,isValid:()=>p8e,queryProfile:()=>Hre,searchDomain:()=>d8e,useFetchImplementation:()=>f8e});var yD=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,u8e=t=>yD.test(t||""),oS;try{oS=fetch}catch{}function f8e(t){oS=t}async function d8e(t,e=""){try{const n=`https://${t}/.well-known/nostr.json?name=${e}`,r=await oS(n,{redirect:"manual"});if(r.status!==200)throw Error("Wrong response code");return(await r.json()).names}catch{return{}}}async function Hre(t){var o;const e=t.match(yD);if(!e)return null;const[,n="_",r]=e;try{const s=`https://${r}/.well-known/nostr.json?name=${n}`,a=await oS(s,{redirect:"manual"});if(a.status!==200)throw Error("Wrong response code");const i=await a.json(),l=i.names[n];return l?{pubkey:l,relays:(o=i.relays)==null?void 0:o[l]}:null}catch{return null}}async function p8e(t,e){const n=await Hre(e);return n?n.pubkey===t:!1}var h8e={};go(h8e,{parse:()=>m8e});function m8e(t){const e={reply:void 0,root:void 0,mentions:[],profiles:[],quotes:[]};let n,r;for(let o=t.tags.length-1;o>=0;o--){const s=t.tags[o];if(s[0]==="e"&&s[1]){const[a,i,l,u,d]=s,f={id:i,relays:l?[l]:[],author:d};if(u==="root"){e.root=f;continue}if(u==="reply"){e.reply=f;continue}if(u==="mention"){e.mentions.push(f);continue}n?r=f:n=f,e.mentions.push(f);continue}if(s[0]==="q"&&s[1]){const[a,i,l]=s;e.quotes.push({id:i,relays:l?[l]:[]})}if(s[0]==="p"&&s[1]){e.profiles.push({pubkey:s[1],relays:s[2]?[s[2]]:[]});continue}}return e.root||(e.root=r||n||e.reply),e.reply||(e.reply=n||e.root),[e.reply,e.root].forEach(o=>{if(!o)return;let s=e.mentions.indexOf(o);if(s!==-1&&e.mentions.splice(s,1),o.author){let a=e.profiles.find(i=>i.pubkey===o.author);a&&a.relays&&(o.relays||(o.relays=[]),a.relays.forEach(i=>{var l;((l=o.relays)==null?void 0:l.indexOf(i))===-1&&o.relays.push(i)}),a.relays=o.relays)}}),e.mentions.forEach(o=>{if(o.author){let s=e.profiles.find(a=>a.pubkey===o.author);s&&s.relays&&(o.relays||(o.relays=[]),s.relays.forEach(a=>{o.relays.indexOf(a)===-1&&o.relays.push(a)}),s.relays=o.relays)}}),e}var g8e={};go(g8e,{fetchRelayInformation:()=>v8e,useFetchImplementation:()=>y8e});var Wre;try{Wre=fetch}catch{}function y8e(t){Wre=t}async function v8e(t){return await(await fetch(t.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}var w8e={};go(w8e,{fastEventHash:()=>Gre,getPow:()=>Yre,minePow:()=>b8e});function Yre(t){let e=0;for(let n=0;n<64;n+=8){const r=parseInt(t.substring(n,n+8),16);if(r===0)e+=32;else{e+=Math.clz32(r);break}}return e}function b8e(t,e){let n=0;const r=t,o=["nonce",n.toString(),e.toString()];for(r.tags.push(o);;){const s=Math.floor(new Date().getTime()/1e3);if(s!==r.created_at&&(n=0,r.created_at=s),o[1]=(++n).toString(),r.id=Gre(r),Yre(r.id)>=e)break}return r}function Gre(t){return ja(Gy(Jc.encode(JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content]))))}var x8e={};go(x8e,{unwrapEvent:()=>R8e,unwrapManyEvents:()=>T8e,wrapEvent:()=>aoe,wrapManyEvents:()=>M8e});var k8e={};go(k8e,{createRumor:()=>noe,createSeal:()=>roe,createWrap:()=>ooe,unwrapEvent:()=>kD,unwrapManyEvents:()=>soe,wrapEvent:()=>Bk,wrapManyEvents:()=>A8e});var Jf={};go(Jf,{decrypt:()=>xD,encrypt:()=>bD,getConversationKey:()=>vD,v2:()=>N8e});var qre=1,Kre=65535;function vD(t,e){const n=ql.getSharedSecret(t,"02"+e).subarray(1,33);return j5e(Gy,n,"nip44-v2")}function Zre(t,e){const n=C5e(Gy,t,e,76);return{chacha_key:n.subarray(0,32),chacha_nonce:n.subarray(32,44),hmac_key:n.subarray(44,76)}}function wD(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("expected positive integer");if(t<=32)return 32;const e=1<<Math.floor(Math.log2(t-1))+1,n=e<=256?32:e/8;return n*(Math.floor((t-1)/n)+1)}function j8e(t){if(!Number.isSafeInteger(t)||t<qre||t>Kre)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,t,!1),e}function C8e(t){const e=Jc.encode(t),n=e.length,r=j8e(n),o=new Uint8Array(wD(n)-n);return ZC(r,e,o)}function S8e(t){const e=new DataView(t.buffer).getUint16(0),n=t.subarray(2,2+e);if(e<qre||e>Kre||n.length!==e||t.length!==2+wD(e))throw new Error("invalid padding");return Qf.decode(n)}function Qre(t,e,n){if(n.length!==32)throw new Error("AAD associated data must be 32 bytes");const r=ZC(n,e);return QC(Gy,t,r)}function E8e(t){if(typeof t!="string")throw new Error("payload must be a valid string");const e=t.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if(t[0]==="#")throw new Error("unknown encryption version");let n;try{n=es.decode(t)}catch(s){throw new Error("invalid base64: "+s.message)}const r=n.length;if(r<99||r>65603)throw new Error("invalid data length: "+r);const o=n[0];if(o!==2)throw new Error("unknown encryption version "+o);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}function bD(t,e,n=mre(32)){const{chacha_key:r,chacha_nonce:o,hmac_key:s}=Zre(e,n),a=C8e(t),i=Dy(r,o,a),l=Qre(s,i,n);return es.encode(ZC(new Uint8Array([2]),n,i,l))}function xD(t,e){const{nonce:n,ciphertext:r,mac:o}=E8e(t),{chacha_key:s,chacha_nonce:a,hmac_key:i}=Zre(e,n),l=Qre(i,r,n);if(!fC(l,o))throw new Error("invalid MAC");const u=Dy(s,a,r);return S8e(u)}var N8e={utils:{getConversationKey:vD,calcPaddedLen:wD},encrypt:bD,decrypt:xD},I8e=2880*60,Jre=()=>Math.round(Date.now()/1e3),Xre=()=>Math.round(Jre()-Math.random()*I8e),eoe=(t,e)=>vD(t,e),toe=(t,e,n)=>bD(JSON.stringify(t),eoe(e,n)),GU=(t,e)=>JSON.parse(xD(t.content,eoe(e,t.pubkey)));function noe(t,e){const n={created_at:Jre(),content:"",tags:[],...t,pubkey:wg(e)};return n.id=Hw(n),n}function roe(t,e,n){return sc({kind:Sre,content:toe(t,e,n),created_at:Xre(),tags:[]},e)}function ooe(t,e){const n=lD();return sc({kind:Rre,content:toe(t,n,e),created_at:Xre(),tags:[["p",e]]},n)}function Bk(t,e,n){const r=noe(t,e),o=roe(r,e,n);return ooe(o,n)}function A8e(t,e,n){if(!n||n.length===0)throw new Error("At least one recipient is required.");const r=wg(e),o=[Bk(t,e,r)];return n.forEach(s=>{o.push(Bk(t,e,s))}),o}function kD(t,e){const n=GU(t,e);return GU(n,e)}function soe(t,e){let n=[];return t.forEach(r=>{n.push(kD(r,e))}),n.sort((r,o)=>r.created_at-o.created_at),n}function _8e(t,e,n,r){const o={created_at:Math.ceil(Date.now()/1e3),kind:Ere,tags:[],content:e};return(Array.isArray(t)?t:[t]).forEach(({publicKey:a,relayUrl:i})=>{o.tags.push(i?["p",a,i]:["p",a])}),r&&o.tags.push(["e",r.eventId,r.relayUrl||"","reply"]),n&&o.tags.push(["subject",n]),o}function aoe(t,e,n,r,o){const s=_8e(e,n,r,o);return Bk(s,t,e.publicKey)}function M8e(t,e,n,r,o){if(!e||e.length===0)throw new Error("At least one recipient is required.");return[{publicKey:wg(t)},...e].map(a=>aoe(t,a,n,r,o))}var R8e=kD,T8e=soe,D8e={};go(D8e,{finishRepostEvent:()=>L8e,getRepostedEvent:()=>P8e,getRepostedEventPointer:()=>ioe});function L8e(t,e,n,r){var a;let o;const s=[...t.tags??[],["e",e.id,n],["p",e.pubkey]];return e.kind===Cre?o=fD:(o=pD,s.push(["k",String(e.kind)])),sc({kind:o,tags:s,content:t.content===""||(a=e.tags)!=null&&a.find(i=>i[0]==="-")?"":JSON.stringify(e),created_at:t.created_at},r)}function ioe(t){if(![fD,pD].includes(t.kind))return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(e!==void 0)return{id:e[1],relays:[e[2],n==null?void 0:n[2]].filter(r=>typeof r=="string"),author:n==null?void 0:n[1]}}function P8e(t,{skipVerification:e}={}){const n=ioe(t);if(n===void 0||t.content==="")return;let r;try{r=JSON.parse(t.content)}catch{return}if(r.id===n.id&&!(!e&&!XC(r)))return r}var O8e={};go(O8e,{NOSTR_URI_REGEX:()=>jD,parse:()=>F8e,test:()=>z8e});var jD=new RegExp(`nostr:(${Ure.source})`);function z8e(t){return typeof t=="string"&&new RegExp(`^${jD.source}$`).test(t)}function F8e(t){const e=t.match(new RegExp(`^${jD.source}$`));if(!e)throw new Error(`Invalid Nostr URI: ${t}`);return{uri:e[0],value:e[1],decoded:tS(e[1])}}var B8e={};go(B8e,{finishReactionEvent:()=>U8e,getReactedEventPointer:()=>$8e});function U8e(t,e,n){const r=e.tags.filter(o=>o.length>=2&&(o[0]==="e"||o[0]==="p"));return sc({...t,kind:dD,tags:[...t.tags??[],...r,["e",e.id],["p",e.pubkey]],content:t.content??"+"},n)}function $8e(t){if(t.kind!==dD)return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(!(e===void 0||n===void 0))return{id:e[1],relays:[e[2],n[2]].filter(r=>r!==void 0),author:n[1]}}var V8e={};go(V8e,{parse:()=>W8e});var H8e=/\W/m,qU=/\W |\W$|$|,| /m;function*W8e(t){const e=t.length;let n=0,r=0;for(;r<e;){let o=t.indexOf(":",r);if(o===-1)break;if(t.substring(o-5,o)==="nostr"){const s=t.substring(o+60).match(H8e),a=s?o+60+s.index:e;try{let i,{data:l,type:u}=tS(t.substring(o+1,a));switch(u){case"npub":i={pubkey:l};break;case"nsec":case"note":r=a+1;continue;default:i=l}n!==o-5&&(yield{type:"text",text:t.substring(n,o-5)}),yield{type:"reference",pointer:i},r=a,n=r;continue}catch{r=o+1;continue}}else if(t.substring(o-5,o)==="https"||t.substring(o-4,o)==="http"){const s=t.substring(o+4).match(qU),a=s?o+4+s.index:e,i=t[o-1]==="s"?5:4;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid url");if(n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),l.pathname.endsWith(".png")||l.pathname.endsWith(".jpg")||l.pathname.endsWith(".jpeg")||l.pathname.endsWith(".gif")||l.pathname.endsWith(".webp")){yield{type:"image",url:l.toString()},r=a,n=r;continue}if(l.pathname.endsWith(".mp4")||l.pathname.endsWith(".avi")||l.pathname.endsWith(".webm")||l.pathname.endsWith(".mkv")){yield{type:"video",url:l.toString()},r=a,n=r;continue}if(l.pathname.endsWith(".mp3")||l.pathname.endsWith(".aac")||l.pathname.endsWith(".ogg")||l.pathname.endsWith(".opus")){yield{type:"audio",url:l.toString()},r=a,n=r;continue}yield{type:"url",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else if(t.substring(o-3,o)==="wss"||t.substring(o-2,o)==="ws"){const s=t.substring(o+4).match(qU),a=s?o+4+s.index:e,i=t[o-1]==="s"?3:2;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid ws url");n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),yield{type:"relay",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else{r=o+1;continue}}n!==e&&(yield{type:"text",text:t.substring(n)})}var Y8e={};go(Y8e,{channelCreateEvent:()=>G8e,channelHideMessageEvent:()=>Z8e,channelMessageEvent:()=>K8e,channelMetadataEvent:()=>q8e,channelMuteUserEvent:()=>Q8e});var G8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return sc({kind:Nre,tags:[...t.tags??[]],content:n,created_at:t.created_at},e)},q8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return sc({kind:Ire,tags:[["e",t.channel_create_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},K8e=(t,e)=>{const n=[["e",t.channel_create_event_id,t.relay_url,"root"]];return t.reply_to_channel_message_event_id&&n.push(["e",t.reply_to_channel_message_event_id,t.relay_url,"reply"]),sc({kind:Are,tags:[...n,...t.tags??[]],content:t.content,created_at:t.created_at},e)},Z8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return sc({kind:_re,tags:[["e",t.channel_message_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},Q8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return sc({kind:Mre,tags:[["p",t.pubkey_to_mute],...t.tags??[]],content:n,created_at:t.created_at},e)},J8e={};go(J8e,{EMOJI_SHORTCODE_REGEX:()=>loe,matchAll:()=>X8e,regex:()=>CD,replaceAll:()=>eMe});var loe=/:(\w+):/,CD=()=>new RegExp(`\\B${loe.source}\\B`,"g");function*X8e(t){const e=t.matchAll(CD());for(const n of e)try{const[r,o]=n;yield{shortcode:r,name:o,start:n.index,end:n.index+r.length}}catch{}}function eMe(t,e){return t.replaceAll(CD(),(n,r)=>e({shortcode:n,name:r}))}var tMe={};go(tMe,{useFetchImplementation:()=>nMe,validateGithub:()=>rMe});var SD;try{SD=fetch}catch{}function nMe(t){SD=t}async function rMe(t,e,n){try{return await(await SD(`https://gist.github.com/${e}/${n}/raw`)).text()===`Verifying that I control the following Nostr public key: ${t}`}catch{return!1}}var oMe={};go(oMe,{makeNwcRequestEvent:()=>aMe,parseConnectionString:()=>sMe});function sMe(t){const{pathname:e,searchParams:n}=new URL(t),r=e,o=n.get("relay"),s=n.get("secret");if(!r||!o||!s)throw new Error("invalid connection string");return{pubkey:r,relay:o,secret:s}}async function aMe(t,e,n){const o=$re(e,t,JSON.stringify({method:"pay_invoice",params:{invoice:n}})),s={kind:Dre,created_at:Math.round(Date.now()/1e3),content:o,tags:[["p",t]]};return sc(s,e)}var iMe={};go(iMe,{normalizeIdentifier:()=>lMe});function lMe(t){return t=t.trim().toLowerCase(),t=t.normalize("NFKC"),Array.from(t).map(e=>new RegExp("\\p{Letter}","u").test(e)||new RegExp("\\p{Number}","u").test(e)?e:"-").join("")}var cMe={};go(cMe,{getSatoshisAmountFromBolt11:()=>mMe,getZapEndpoint:()=>fMe,makeZapReceipt:()=>hMe,makeZapRequest:()=>dMe,useFetchImplementation:()=>uMe,validateZapRequest:()=>pMe});var ED;try{ED=fetch}catch{}function uMe(t){ED=t}async function fMe(t){try{let e="",{lud06:n,lud16:r}=JSON.parse(t.content);if(n){let{words:a}=Pr.decode(n,1e3),i=Pr.fromWords(a);e=Qf.decode(i)}else if(r){let[a,i]=r.split("@");e=new URL(`/.well-known/lnurlp/${a}`,`https://${i}`).toString()}else return null;let s=await(await ED(e)).json();if(s.allowsNostr&&s.nostrPubkey)return s.callback}catch{}return null}function dMe({profile:t,event:e,amount:n,relays:r,comment:o=""}){if(!n)throw new Error("amount not given");if(!t)throw new Error("profile not given");let s={kind:9734,created_at:Math.round(Date.now()/1e3),content:o,tags:[["p",t],["amount",n.toString()],["relays",...r]]};if(e&&typeof e=="string"&&s.tags.push(["e",e]),e&&typeof e=="object"){if(cD(e.kind)){const a=["a",`${e.kind}:${e.pubkey}:`];s.tags.push(a)}else if(uD(e.kind)){let a=e.tags.find(([l,u])=>l==="d"&&u);if(!a)throw new Error("d tag not found or is empty");const i=["a",`${e.kind}:${e.pubkey}:${a[1]}`];s.tags.push(i)}}return s}function pMe(t){let e;try{e=JSON.parse(t)}catch{return"Invalid zap request JSON."}if(!aD(e))return"Zap request is not a valid Nostr event.";if(!XC(e))return"Invalid signature on zap request.";let n=e.tags.find(([s,a])=>s==="p"&&a);if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let r=e.tags.find(([s,a])=>s==="e"&&a);return r&&!r[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([s,a])=>s==="relays"&&a)?null:"Zap request doesn't have a 'relays' tag."}function hMe({zapRequest:t,preimage:e,bolt11:n,paidAt:r}){let o=JSON.parse(t),s=o.tags.filter(([i])=>i==="e"||i==="p"||i==="a"),a={kind:9735,created_at:Math.round(r.getTime()/1e3),content:"",tags:[...s,["P",o.pubkey],["bolt11",n],["description",t]]};return e&&a.tags.push(["preimage",e]),a}function mMe(t){if(t.length<50)return 0;t=t.substring(0,50);const e=t.lastIndexOf("1");if(e===-1)return 0;const n=t.substring(0,e);if(!n.startsWith("lnbc"))return 0;const r=n.substring(4);if(r.length<1)return 0;const o=r[r.length-1],s=o.charCodeAt(0)-48,a=s>=0&&s<=9;let i=r.length-1;if(a&&i++,i<1)return 0;const l=parseInt(r.substring(0,i));switch(o){case"m":return l*1e5;case"u":return l*100;case"n":return l/10;case"p":return l/1e4;default:return l*1e8}}var gMe={};go(gMe,{getToken:()=>yMe,hashPayload:()=>ND,unpackEventFromToken:()=>uoe,validateEvent:()=>goe,validateEventKind:()=>doe,validateEventMethodTag:()=>hoe,validateEventPayloadTag:()=>moe,validateEventTimestamp:()=>foe,validateEventUrlTag:()=>poe,validateToken:()=>vMe});var coe="Nostr ";async function yMe(t,e,n,r=!1,o){const s={kind:hD,tags:[["u",t],["method",e]],created_at:Math.round(new Date().getTime()/1e3),content:""};o&&s.tags.push(["payload",ND(o)]);const a=await n(s);return(r?coe:"")+es.encode(Jc.encode(JSON.stringify(a)))}async function vMe(t,e,n){const r=await uoe(t).catch(s=>{throw s});return await goe(r,e,n).catch(s=>{throw s})}async function uoe(t){if(!t)throw new Error("Missing token");t=t.replace(coe,"");const e=Qf.decode(es.decode(t));if(!e||e.length===0||!e.startsWith("{"))throw new Error("Invalid token");return JSON.parse(e)}function foe(t){return t.created_at?Math.round(new Date().getTime()/1e3)-t.created_at<60:!1}function doe(t){return t.kind===hD}function poe(t,e){const n=t.tags.find(r=>r[0]==="u");return n?n.length>0&&n[1]===e:!1}function hoe(t,e){const n=t.tags.find(r=>r[0]==="method");return n?n.length>0&&n[1].toLowerCase()===e.toLowerCase():!1}function ND(t){const e=Gy(Jc.encode(JSON.stringify(t)));return ja(e)}function moe(t,e){const n=t.tags.find(o=>o[0]==="payload");if(!n)return!1;const r=ND(e);return n.length>0&&n[1]===r}async function goe(t,e,n,r){if(!XC(t))throw new Error("Invalid nostr event, signature invalid");if(!doe(t))throw new Error("Invalid nostr event, kind invalid");if(!foe(t))throw new Error("Invalid nostr event, created_at timestamp invalid");if(!poe(t,e))throw new Error("Invalid nostr event, url tag invalid");if(!hoe(t,n))throw new Error("Invalid nostr event, method tag invalid");if(r&&typeof r=="object"&&Object.keys(r).length>0&&!moe(t,r))throw new Error("Invalid nostr event, payload tag does not match request body hash");return!0}function qu(){return qu=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},qu.apply(this,arguments)}const wMe=t=>t.reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"");if(new Uint8Array(new Uint32Array([287454020]).buffer)[0]!==68)throw new Error("Non little-endian hardware is not supported");const bMe=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function yoe(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=bMe[t[n]];return e}function Ou(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=2*r,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}let vd=class extends Error{constructor(e,n){super(e),this.code=void 0,this.code=n}},R3=class extends vd{},voe=class extends vd{},ID=class extends vd{},X_=class extends ID{},e8=class extends ID{},t8=class extends vd{},n8=class extends vd{},T3=class extends vd{},woe=class extends vd{},boe=class extends vd{},Uk=class r8{static parseWalletConnectUrl(e){e=e.replace("nostrwalletconnect://","http://").replace("nostr+walletconnect://","http://").replace("nostrwalletconnect:","http://").replace("nostr+walletconnect:","http://");const n=new URL(e),r=n.searchParams.get("relay");if(!r)throw new Error("No relay URL found in connection string");const o={walletPubkey:n.host,relayUrl:r},s=n.searchParams.get("secret");s&&(o.secret=s);const a=n.searchParams.get("lud16");return a&&(o.lud16=a),o}constructor(e){this.relay=void 0,this.relayUrl=void 0,this.secret=void 0,this.lud16=void 0,this.walletPubkey=void 0,this.options=void 0,this._encryptionType=void 0,e&&e.nostrWalletConnectUrl&&(e=qu({},r8.parseWalletConnectUrl(e.nostrWalletConnectUrl),e)),this.options=qu({},e||{}),this.relayUrl=this.options.relayUrl,this.relay=new Fk(this.relayUrl),this.options.secret&&(this.secret=this.options.secret.toLowerCase().startsWith("nsec")?J_.decode(this.options.secret).data:this.options.secret),this.lud16=this.options.lud16,this.walletPubkey=this.options.walletPubkey.toLowerCase().startsWith("npub")?J_.decode(this.options.walletPubkey).data:this.options.walletPubkey,globalThis.WebSocket===void 0&&console.error("WebSocket is undefined. Make sure to `import websocket-polyfill` for nodejs environments")}get nostrWalletConnectUrl(){return this.getNostrWalletConnectUrl()}getNostrWalletConnectUrl(e=!0){let n=`nostr+walletconnect://${this.walletPubkey}?relay=${this.relayUrl}&pubkey=${this.publicKey}`;return e&&(n=`${n}&secret=${this.secret}`),this.lud16&&(n=`${n}&lud16=${this.lud16}`),n}get connected(){return this.relay.connected}get publicKey(){if(!this.secret)throw new Error("Missing secret key");return wg(Ou(this.secret))}get encryptionType(){if(!this._encryptionType)throw new Error("Missing encryption or version");return this._encryptionType}getPublicKey(){return Promise.resolve(this.publicKey)}signEvent(e){if(!this.secret)throw new Error("Missing secret key");return Promise.resolve(sc(e,Ou(this.secret)))}getEventHash(e){return Hw(e)}close(){return this.relay.close()}async encrypt(e,n){if(!this.secret)throw new Error("Missing secret");let r;if(this.encryptionType==="nip04")r=await Yb.encrypt(this.secret,e,n);else{const o=Jf.getConversationKey(Ou(this.secret),e);r=Jf.encrypt(n,o)}return r}async decrypt(e,n){if(!this.secret)throw new Error("Missing secret");let r;if(this.encryptionType==="nip04")r=await Yb.decrypt(this.secret,e,n);else{const o=Jf.getConversationKey(Ou(this.secret),e);r=Jf.decrypt(n,o)}return r}static getAuthorizationUrl(e,n={},r){if(e.indexOf("/#/")>-1)throw new Error("hash router paths not supported");const o=new URL(e);return n.name&&o.searchParams.set("name",n.name),o.searchParams.set("pubkey",r),n.returnTo&&o.searchParams.set("return_to",n.returnTo),n.budgetRenewal&&o.searchParams.set("budget_renewal",n.budgetRenewal),n.expiresAt&&o.searchParams.set("expires_at",Math.floor(n.expiresAt.getTime()/1e3).toString()),n.maxAmount&&o.searchParams.set("max_amount",n.maxAmount.toString()),n.requestMethods&&o.searchParams.set("request_methods",n.requestMethods.join(" ")),n.notificationTypes&&o.searchParams.set("notification_types",n.notificationTypes.join(" ")),n.isolated&&o.searchParams.set("isolated","true"),n.metadata&&o.searchParams.set("metadata",JSON.stringify(n.metadata)),o}static fromAuthorizationUrl(e,n={},r){r=r||yoe(lD()),n.name||(n.name=document.location.host);const o=this.getAuthorizationUrl(e,n,wg(Ou(r))),s=window.outerHeight/2+window.screenY-300,a=window.outerWidth/2+window.screenX-200;return new Promise((i,l)=>{const u=window.open(o.toString(),`${document.title} - Wallet Connect`,`height=600,width=400,top=${s},left=${a}`);if(!u)return void l(new Error("failed to execute window.open"));const d=m=>{const g=m.data;g&&g.type==="nwc:success"&&m.origin===`${o.protocol}//${o.host}`&&(g.relayUrl||l(new Error("no relayUrl in response")),g.walletPubkey||l(new Error("no walletPubkey in response")),i(new r8({relayUrl:g.relayUrl,walletPubkey:g.walletPubkey,secret:r,lud16:g.lud16})),clearInterval(f),window.removeEventListener("message",d),u&&u.close())},f=setInterval(()=>{u&&u.closed&&(clearInterval(f),window.removeEventListener("message",d),l(new Error("Popup closed")))},500);window.addEventListener("message",d)})}async getWalletServiceInfo(){var e;await this._checkConnected();const n=await new Promise((l,u)=>{const d=[],f=this.relay.subscribe([{kinds:[13194],limit:1,authors:[this.walletPubkey]}],{eoseTimeout:1e4});f.onevent=m=>{d.push(m)},f.oneose=()=>{f.close(),l(d)}});if(!n.length)throw new Error("no info event (kind 13194) returned from relay");const r=n[0].content,o=n[0].tags.find(l=>l[0]==="notifications"),s=n[0].tags.find(l=>l[0]==="v"),a=n[0].tags.find(l=>l[0]==="encryption");let i=["nip04"];return s&&s[1].includes("1.0")&&i.push("nip44_v2"),a&&(i=a[1].split(" ")),{encryptions:i,capabilities:r.split(/[ |,]/g),notifications:(o==null||(e=o[1])==null?void 0:e.split(" "))||[]}}async getInfo(){try{return await this.executeNip47Request("get_info",{},e=>!!e.methods,{replyTimeout:1e4})}catch(e){throw console.error("Failed to request get_info",e),e}}async getBudget(){try{return await this.executeNip47Request("get_budget",{},e=>e!==void 0,{replyTimeout:1e4})}catch(e){throw console.error("Failed to request get_budget",e),e}}async getBalance(){try{return await this.executeNip47Request("get_balance",{},e=>e.balance!==void 0,{replyTimeout:1e4})}catch(e){throw console.error("Failed to request get_balance",e),e}}async payInvoice(e){try{return await this.executeNip47Request("pay_invoice",e,n=>!!n)}catch(n){throw console.error("Failed to request pay_invoice",n),n}}async payKeysend(e){try{return await this.executeNip47Request("pay_keysend",e,n=>!!n.preimage)}catch(n){throw console.error("Failed to request pay_keysend",n),n}}async signMessage(e){try{return await this.executeNip47Request("sign_message",e,n=>n.message===e.message&&!!n.signature)}catch(n){throw console.error("Failed to request sign_message",n),n}}async createConnection(e){try{return await this.executeNip47Request("create_connection",e,n=>!!n.wallet_pubkey)}catch(n){throw console.error("Failed to request create_connection",n),n}}async multiPayInvoice(e){try{return{invoices:await this.executeMultiNip47Request("multi_pay_invoice",e,e.invoices.length,n=>!!n.preimage),errors:[]}}catch(n){throw console.error("Failed to request multi_pay_invoice",n),n}}async multiPayKeysend(e){try{return{keysends:await this.executeMultiNip47Request("multi_pay_keysend",e,e.keysends.length,n=>!!n.preimage),errors:[]}}catch(n){throw console.error("Failed to request multi_pay_keysend",n),n}}async makeInvoice(e){try{if(!e.amount)throw new Error("No amount specified");return await this.executeNip47Request("make_invoice",e,n=>!!n.invoice)}catch(n){throw console.error("Failed to request make_invoice",n),n}}async makeHoldInvoice(e){try{if(!e.amount)throw new Error("No amount specified");if(!e.payment_hash)throw new Error("No payment hash specified");return await this.executeNip47Request("make_hold_invoice",e,n=>!!n.invoice)}catch(n){throw console.error("Failed to request make_hold_invoice",n),n}}async settleHoldInvoice(e){try{return await this.executeNip47Request("settle_hold_invoice",e,n=>!!n)}catch(n){throw console.error("Failed to request settle_hold_invoice",n),n}}async cancelHoldInvoice(e){try{return await this.executeNip47Request("cancel_hold_invoice",e,n=>!!n)}catch(n){throw console.error("Failed to request cancel_hold_invoice",n),n}}async lookupInvoice(e){try{return await this.executeNip47Request("lookup_invoice",e,n=>!!n.invoice)}catch(n){throw console.error("Failed to request lookup_invoice",n),n}}async listTransactions(e){try{return await this.executeNip47Request("list_transactions",e,n=>!!n.transactions,{replyTimeout:1e4})}catch(n){throw console.error("Failed to request list_transactions",n),n}}async subscribeNotifications(e,n){var r=this;let o,s,a,i=!0;return(async function(){for(;i;){try{await r._checkConnected(),await r._selectEncryptionType(),a=r.relay.subscribe([{kinds:[...r.encryptionType==="nip04"?[23196]:[23197]],authors:[r.walletPubkey],"#p":[r.publicKey]}],{}),console.info("subscribed to relay"),a.onevent=async function(l){const u=await r.decrypt(r.walletPubkey,l.content);let d;try{d=JSON.parse(u)}catch(f){return void console.error("Failed to parse decrypted event content",f)}d.notification?(!n||n.indexOf(d.notification_type)>-1)&&e(d):console.error("No notification in response",d)},await new Promise(l=>{o=()=>{l()},s=()=>{console.info("relay disconnected"),o==null||o()},r.relay.onclose=s}),s!==void 0&&(r.relay.onclose=null)}catch(l){console.error("error subscribing to notifications",l||"unknown relay error")}i&&await new Promise(l=>setTimeout(l,1e3))}})(),()=>{var l;i=!1,o==null||o(),(l=a)==null||l.close()}}async executeNip47Request(e,n,r,o){var s=this;return await this._checkConnected(),await this._selectEncryptionType(),new Promise((a,i)=>{(async function(){const l={method:e,params:n},u=await s.encrypt(s.walletPubkey,JSON.stringify(l)),d={kind:23194,created_at:Math.floor(Date.now()/1e3),tags:[["p",s.walletPubkey],["v",s.encryptionType==="nip44_v2"?"1.0":"0.0"],["encryption",s.encryptionType]],content:u},f=await s.signEvent(d),m=s.relay.subscribe([{kinds:[23195],authors:[s.walletPubkey],"#e":[f.id]}],{}),g=setTimeout(function(){m.close(),i(new e8(`reply timeout: event ${f.id}`,"INTERNAL"))},(o==null?void 0:o.replyTimeout)||6e4);m.onevent=async function(b){clearTimeout(g),m.close();const j=await s.decrypt(s.walletPubkey,b.content);let S;try{S=JSON.parse(j)}catch{return clearTimeout(g),m.close(),void i(new n8("failed to deserialize response","INTERNAL"))}var I,N;S.result?r(S.result)?a(S.result):(clearTimeout(g),m.close(),i(new T3("response from NWC failed validation: "+JSON.stringify(S.result),"INTERNAL"))):(clearTimeout(g),m.close(),i(new voe(((I=S.error)==null?void 0:I.message)||"unknown Error",((N=S.error)==null?void 0:N.code)||"INTERNAL")))};const w=setTimeout(function(){m.close(),i(new X_(`publish timeout: ${f.id}`,"INTERNAL"))},(o==null?void 0:o.publishTimeout)||5e3);try{await s.relay.publish(f),clearTimeout(w)}catch(b){clearTimeout(w),i(new t8(`failed to publish: ${b}`,"INTERNAL"))}})()})}async executeMultiNip47Request(e,n,r,o,s){var a=this;await this._checkConnected(),await this._selectEncryptionType();const i=[];return new Promise((l,u)=>{(async function(){const d={method:e,params:n},f=await a.encrypt(a.walletPubkey,JSON.stringify(d)),m={kind:23194,created_at:Math.floor(Date.now()/1e3),tags:[["p",a.walletPubkey],["v",a.encryptionType==="nip44_v2"?"1.0":"0.0"],["encryption",a.encryptionType]],content:f},g=await a.signEvent(m),w=a.relay.subscribe([{kinds:[23195],authors:[a.walletPubkey],"#e":[g.id]}],{}),b=setTimeout(function(){w.close(),u(new e8(`reply timeout: event ${g.id}`,"INTERNAL"))},(s==null?void 0:s.replyTimeout)||6e4);w.onevent=async function(S){const I=await a.decrypt(a.walletPubkey,S.content);let N;try{N=JSON.parse(I)}catch{clearTimeout(b),w.close(),u(new n8("failed to deserialize response","INTERNAL"))}if(N.result){var M;if(!o(N.result))return clearTimeout(b),w.close(),void u(new T3("Response from NWC failed validation: "+JSON.stringify(N.result),"INTERNAL"));const L=(M=S.tags.find(F=>F[0]==="d"))==null?void 0:M[1];if(L===void 0)return clearTimeout(b),w.close(),void u(new T3("No d tag found in response event","INTERNAL"));i.push(qu({},N.result,{dTag:L})),i.length===r&&(clearTimeout(b),w.close(),l(i))}else{var D,P;clearTimeout(b),w.close(),u(new woe((D=N.error)==null?void 0:D.message,(P=N.error)==null?void 0:P.code))}};const j=setTimeout(function(){w.close(),u(new X_(`Publish timeout: ${g.id}`,"INTERNAL"))},(s==null?void 0:s.publishTimeout)||5e3);try{await a.relay.publish(g),clearTimeout(j)}catch(S){clearTimeout(j),u(new t8(`Failed to publish: ${S}`,"INTERNAL"))}})()})}async _checkConnected(){if(!this.secret)throw new Error("Missing secret key");if(!this.relayUrl)throw new Error("Missing relay url");try{this.relay.connected||await this.relay.connect()}catch{throw console.error("failed to connect to relay",this.relayUrl),new R3("Failed to connect to "+this.relayUrl,"OTHER")}}async _selectEncryptionType(){if(!this._encryptionType){const e=await this.getWalletServiceInfo(),n=this._findPreferredEncryptionType(e.encryptions);if(!n)throw new boe("no compatible encryption or version found between wallet and client","UNSUPPORTED_ENCRYPTION");n==="nip04"&&console.warn("NIP-04 encryption is about to be deprecated. Please upgrade your wallet service to use NIP-44 instead."),this._encryptionType=n}}_findPreferredEncryptionType(e){return e.includes("nip44_v2")?"nip44_v2":e.includes("nip04")?"nip04":null}};const xMe={get_info:"getInfo",get_balance:"getBalance",make_invoice:"makeInvoice",pay_invoice:"sendPayment",pay_keysend:"payKeysend",lookup_invoice:"lookupInvoice",list_transactions:"listTransactions",multi_pay_invoice:"sendMultiPayment",multi_pay_keysend:"multiKeysend",sign_message:"signMessage"};let kMe=class xoe{get options(){return this.client.options}static async fromAuthorizationUrl(e,n={},r){const o=await Uk.fromAuthorizationUrl(e,n,r);return new xoe({client:o})}constructor(e){this._enabled=!1,this.client=void 0,this.subscribers=void 0,this.client=(e==null?void 0:e.client)||new Uk(e),this.subscribers={}}on(e,n){this.subscribers[e]=n}notify(e,n){const r=this.subscribers[e];r&&r(n)}getPublicKey(){return this.client.getPublicKey()}signEvent(e){return this.client.signEvent(e)}async enable(){this._enabled=!0}close(){return this.client.close()}async getInfo(){await this.checkEnabled();const e=["lightning","nostr"],n="Alby JS SDK";try{const r=await this.client.getInfo(),o={methods:r.methods.map(s=>xMe[s]),node:{alias:r.alias,pubkey:r.pubkey,color:r.color},supports:e,version:n};return this.notify("getInfo",o),o}catch(r){return console.error("Using minimal getInfo",r),{methods:["sendPayment"],node:{},supports:e,version:n}}}async getBalance(){await this.checkEnabled();const e=await this.client.getBalance(),n={balance:Math.floor(e.balance/1e3),currency:"sats"};return this.notify("getBalance",n),n}async sendPayment(e){await this.checkEnabled();const n={preimage:(await this.client.payInvoice({invoice:e})).preimage};return this.notify("sendPayment",n),n}async sendPaymentAsync(e){return await this.checkEnabled(),this.client.payInvoice({invoice:e}),this.notify("sendPaymentAsync",{}),{}}async keysend(e){await this.checkEnabled();const n={preimage:(await this.client.payKeysend(KU(e))).preimage};return this.notify("keysend",n),n}async signMessage(e){await this.checkEnabled();const n=await this.client.signMessage({message:e}),r={message:n.message,signature:n.signature};return this.notify("keysend",r),r}async makeInvoice(e){var n;await this.checkEnabled();const r=typeof e=="object"?e:void 0,o=+((n=r==null?void 0:r.amount)!=null?n:e);if(!o)throw new Error("No amount specified");const s={paymentRequest:(await this.client.makeInvoice({amount:1e3*o,description:r==null?void 0:r.defaultMemo})).invoice};return this.notify("makeInvoice",s),s}async lookupInvoice(e){await this.checkEnabled();const n=await this.client.lookupInvoice({invoice:e.paymentRequest,payment_hash:e.paymentHash}),r={preimage:n.preimage,paymentRequest:n.invoice,paid:!!n.settled_at};return this.notify("lookupInvoice",r),r}async listTransactions(e){await this.checkEnabled();const n={transactions:(await this.client.listTransactions(e)).transactions.map(jMe)};return this.notify("listTransactions",n),n}async sendMultiPayment(e){await this.checkEnabled();const n=await this.client.multiPayInvoice({invoices:e.map((o,s)=>({invoice:o,id:s.toString()}))}),r={payments:n.invoices.map(o=>{const s=e[parseInt(o.dTag)];if(!s)throw new Error("Could not find paymentRequest matching response d tag");return{paymentRequest:s,preimage:o.preimage}}),errors:[]};return this.notify("sendMultiPayment",r),r}async multiKeysend(e){await this.checkEnabled();const n=await this.client.multiPayKeysend({keysends:e.map((o,s)=>qu({},KU(o),{id:s.toString()}))}),r={keysends:n.keysends.map(o=>{const s=e[parseInt(o.dTag)];if(!s)throw new Error("Could not find keysend matching response d tag");return{keysend:s,preimage:o.preimage}}),errors:[]};return this.notify("multiKeysend",r),r}lnurl(e){throw new Error("Method not implemented.")}request(e,n){throw new Error("Method not implemented.")}verifyMessage(e,n){throw new Error("Method not implemented.")}async checkEnabled(){if(!this._enabled)throw new Error("please call enable() and await the promise before calling this function")}};function jMe(t){return qu({},t,{amount:Math.floor(t.amount/1e3),fees_paid:t.fees_paid?Math.floor(t.fees_paid/1e3):0})}function KU(t){return{amount:1e3*+t.amount,pubkey:t.destination,tlv_records:t.customRecords?Object.entries(t.customRecords).map(e=>({type:parseInt(e[0]),value:wMe(new TextEncoder().encode(e[1]))})):[]}}var koe={__proto__:null,NostrWebLNProvider:kMe},sS={__proto__:null,Nip47Error:vd,Nip47NetworkError:R3,Nip47WalletError:voe,Nip47TimeoutError:ID,Nip47PublishTimeoutError:X_,Nip47ReplyTimeoutError:e8,Nip47PublishError:t8,Nip47ResponseDecodingError:n8,Nip47ResponseValidationError:T3,Nip47UnexpectedResponseError:woe,Nip47UnsupportedEncryptionError:boe,NWCClient:Uk,NWAClient:class{constructor(t){if(this.options=void 0,this.appSecretKey=void 0,this.relay=void 0,this.appSecretKey=t.appSecretKey||yoe(lD()),this.options=qu({},t,{appPubkey:wg(Ou(this.appSecretKey))}),!this.options.relayUrl)throw new Error("Missing relay url");if(!this.options.requestMethods)throw new Error("Missing request methods");this.relay=new Fk(this.options.relayUrl),globalThis.WebSocket===void 0&&console.error("WebSocket is undefined. Make sure to `import websocket-polyfill` for nodejs environments")}get connectionUri(){return this.getConnectionUri()}getConnectionUri(t=""){const e=new URLSearchParams(qu({relay:this.options.relayUrl,request_methods:this.options.requestMethods.join(" ")},this.options.name?{name:this.options.name}:{},this.options.icon?{icon:this.options.icon}:{},this.options.returnTo?{return_to:this.options.returnTo}:{},this.options.notificationTypes?{notification_types:this.options.notificationTypes.join(" ")}:{},this.options.maxAmount?{max_amount:this.options.maxAmount.toString()}:{},this.options.budgetRenewal?{budget_renewal:this.options.budgetRenewal}:{},this.options.expiresAt?{expires_at:this.options.expiresAt.toString()}:{},this.options.isolated?{isolated:this.options.isolated.toString()}:{},this.options.metadata?{metadata:JSON.stringify(this.options.metadata)}:{}));return`nostr+walletauth${t?`+${t}`:""}://${this.options.appPubkey}?${e.toString().replace(/\+/g,"%20")}`}static parseWalletAuthUrl(t){var e,n;if(!t.startsWith("nostr+walletauth"))throw new Error("Unexpected scheme. Should be nostr+walletauth:// or nostr+walletauth+specificapp://");const r=t.indexOf(":");(t=t.substring(r+1)).startsWith("//")&&(t=t.substring(2)),t="http://"+t;const o=new URL(t),s=o.host;if((s==null?void 0:s.length)!==64)throw new Error("Incorrect app pubkey found in auth string");const a=o.searchParams.get("relay");if(!a)throw new Error("No relay URL found in auth string");const i=(e=o.searchParams.get("request_methods"))==null?void 0:e.split(" ");if(i==null||!i.length)throw new Error("No request methods found in auth string");const l=(n=o.searchParams.get("notification_types"))==null?void 0:n.split(" "),u=o.searchParams.get("max_amount"),d=o.searchParams.get("expires_at"),f=o.searchParams.get("metadata");return{name:o.searchParams.get("name")||void 0,icon:o.searchParams.get("icon")||void 0,returnTo:o.searchParams.get("return_to")||void 0,relayUrl:a,appPubkey:s,requestMethods:i,notificationTypes:l,budgetRenewal:o.searchParams.get("budget_renewal"),expiresAt:d?parseInt(d):void 0,maxAmount:u?parseInt(u):void 0,isolated:o.searchParams.get("isolated")==="true",metadata:f?JSON.parse(f):void 0}}async subscribe(t){var e=this;let n,r,o=!0;return(async function(){for(;o;){try{await e._checkConnected();const s=e.relay.subscribe([{kinds:[13194],"#p":[e.options.appPubkey]}],{});console.info("subscribed to relay");const a=()=>{s.close(),e.relay.close()};s.onevent=async function(i){const l=new Uk({relayUrl:e.options.relayUrl,secret:e.appSecretKey,walletPubkey:i.pubkey});try{const u=await l.getInfo();l.options.lud16=u.lud16,l.lud16=u.lud16}catch(u){console.error("failed to fetch get_info",u)}t.onSuccess(l),a()},await new Promise(i=>{n=()=>{i()},r=()=>{console.info("relay disconnected"),n==null||n()},e.relay.onclose=r}),r!==void 0&&(e.relay.onclose=null)}catch(s){console.error("error subscribing to info event",s||"unknown relay error")}o&&await new Promise(s=>setTimeout(s,1e3))}})(),{unsub:()=>{o=!1,n==null||n()}}}async _checkConnected(){if(!this.appSecretKey)throw new Error("Missing secret key");if(!this.options.relayUrl)throw new Error("Missing relay url");try{this.relay.connected||await this.relay.connect()}catch{throw console.error("failed to connect to relay",this.options.relayUrl),new R3("Failed to connect to "+this.options.relayUrl,"OTHER")}}},NWCWalletServiceKeyPair:class{constructor(t,e){if(this.walletSecret=void 0,this.walletPubkey=void 0,this.clientPubkey=void 0,this.walletSecret=t,this.clientPubkey=e,!this.walletSecret)throw new Error("Missing wallet secret key");if(!this.clientPubkey)throw new Error("Missing client pubkey");this.walletPubkey=wg(Ou(this.walletSecret))}},NWCWalletService:class{constructor(t){this.relay=void 0,this.relayUrl=void 0,this.relayUrl=t.relayUrl,this.relay=new Fk(this.relayUrl),globalThis.WebSocket===void 0&&console.error("WebSocket is undefined. Make sure to `import websocket-polyfill` for nodejs environments")}async publishWalletServiceInfoEvent(t,e,n){try{await this._checkConnected();const r={kind:13194,created_at:Math.floor(Date.now()/1e3),tags:[["encryption","nip04 nip44_v2"],["notifications",n.join(" ")]],content:e.join(" ")},o=await this.signEvent(r,t);await this.relay.publish(o)}catch(r){throw console.error("failed to publish wallet service info event",r),r}}async subscribe(t,e){var n=this;let r,o,s,a=!0;return(async function(){for(;a;){try{console.info("checking connection to relay"),await n._checkConnected(),console.info("subscribing to relay"),s=n.relay.subscribe([{kinds:[23194],authors:[t.clientPubkey],"#p":[t.walletPubkey]}],{}),console.info("subscribed to relay"),s.onevent=async function(i){try{var l;const u=((l=i.tags.find(j=>j[0]==="encryption"))==null?void 0:l[1])||"nip04",d=await n.decrypt(t,i.content,u),f=JSON.parse(d);let m;switch(f.method){case"get_info":m=e.getInfo==null?void 0:e.getInfo();break;case"make_invoice":m=e.makeInvoice==null?void 0:e.makeInvoice(f.params);break;case"pay_invoice":m=e.payInvoice==null?void 0:e.payInvoice(f.params);break;case"pay_keysend":m=e.payKeysend==null?void 0:e.payKeysend(f.params);break;case"get_balance":m=e.getBalance==null?void 0:e.getBalance();break;case"lookup_invoice":m=e.lookupInvoice==null?void 0:e.lookupInvoice(f.params);break;case"list_transactions":m=e.listTransactions==null?void 0:e.listTransactions(f.params);break;case"sign_message":m=e.signMessage==null?void 0:e.signMessage(f.params)}let g=await m;g||(console.warn("received unsupported method",f.method),g={error:{code:"NOT_IMPLEMENTED",message:"This method is not supported by the wallet service"},result:void 0});const w={kind:23195,created_at:Math.floor(Date.now()/1e3),tags:[["e",i.id]],content:await n.encrypt(t,JSON.stringify(qu({result_type:f.method},g)),u)},b=await n.signEvent(w,t.walletSecret);await n.relay.publish(b)}catch(u){return void console.error("Failed to parse decrypted event content",u)}},await new Promise(i=>{r=()=>{i()},o=()=>{console.error("relay disconnected"),r==null||r()},n.relay.onclose=o}),o!==void 0&&(n.relay.onclose=null)}catch(i){console.error("error subscribing to requests",i||"unknown relay error")}a&&await new Promise(i=>setTimeout(i,1e3))}})(),()=>{var i;a=!1,r==null||r(),(i=s)==null||i.close()}}get connected(){return this.relay.connected}signEvent(t,e){return Promise.resolve(sc(t,Ou(e)))}close(){return this.relay.close()}async encrypt(t,e,n){let r;if(n==="nip04")r=await Yb.encrypt(t.walletSecret,t.clientPubkey,e);else{const o=Jf.getConversationKey(Ou(t.walletSecret),t.clientPubkey);r=Jf.encrypt(e,o)}return r}async decrypt(t,e,n){let r;if(n==="nip04")r=await Yb.decrypt(t.walletSecret,t.clientPubkey,e);else{const o=Jf.getConversationKey(Ou(t.walletSecret),t.clientPubkey);r=Jf.decrypt(e,o)}return r}async _checkConnected(){if(!this.relayUrl)throw new Error("Missing relay url");try{this.relay.connected||await this.relay.connect()}catch{throw console.error("failed to connect to relay",this.relayUrl),new R3("Failed to connect to "+this.relayUrl,"OTHER")}}}};const CMe={},ZU=t=>{let e;const n=new Set,r=(d,f)=>{const m=typeof d=="function"?d(e):d;if(!Object.is(m,e)){const g=e;e=f??(typeof m!="object"||m===null)?m:Object.assign({},e,m),n.forEach(w=>w(e,g))}},o=()=>e,l={setState:r,getState:o,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(CMe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=e=t(r,o,l);return l},SMe=t=>t?ZU(t):ZU;var a9={exports:{}},QU;function EMe(){return QU||(QU=1,(function(t,e){var n=(function(){var r=function(D,P){var L=236,F=17,T=D,R=s[P],z=null,G=0,Z=null,W=[],U={},ee=function(ce,pe){G=T*4+17,z=(function(he){for(var ke=new Array(he),le=0;le<he;le+=1){ke[le]=new Array(he);for(var ye=0;ye<he;ye+=1)ke[le][ye]=null}return ke})(G),$(0,0),$(G-7,0),$(0,G-7),q(),Y(),ne(ce,pe),T>=7&&J(ce),Z==null&&(Z=Ee(T,R,W)),re(Z,pe)},$=function(ce,pe){for(var he=-1;he<=7;he+=1)if(!(ce+he<=-1||G<=ce+he))for(var ke=-1;ke<=7;ke+=1)pe+ke<=-1||G<=pe+ke||(0<=he&&he<=6&&(ke==0||ke==6)||0<=ke&&ke<=6&&(he==0||he==6)||2<=he&&he<=4&&2<=ke&&ke<=4?z[ce+he][pe+ke]=!0:z[ce+he][pe+ke]=!1)},H=function(){for(var ce=0,pe=0,he=0;he<8;he+=1){ee(!0,he);var ke=i.getLostPoint(U);(he==0||ce>ke)&&(ce=ke,pe=he)}return pe},Y=function(){for(var ce=8;ce<G-8;ce+=1)z[ce][6]==null&&(z[ce][6]=ce%2==0);for(var pe=8;pe<G-8;pe+=1)z[6][pe]==null&&(z[6][pe]=pe%2==0)},q=function(){for(var ce=i.getPatternPosition(T),pe=0;pe<ce.length;pe+=1)for(var he=0;he<ce.length;he+=1){var ke=ce[pe],le=ce[he];if(z[ke][le]==null)for(var ye=-2;ye<=2;ye+=1)for(var ve=-2;ve<=2;ve+=1)ye==-2||ye==2||ve==-2||ve==2||ye==0&&ve==0?z[ke+ye][le+ve]=!0:z[ke+ye][le+ve]=!1}},J=function(ce){for(var pe=i.getBCHTypeNumber(T),he=0;he<18;he+=1){var ke=!ce&&(pe>>he&1)==1;z[Math.floor(he/3)][he%3+G-8-3]=ke}for(var he=0;he<18;he+=1){var ke=!ce&&(pe>>he&1)==1;z[he%3+G-8-3][Math.floor(he/3)]=ke}},ne=function(ce,pe){for(var he=R<<3|pe,ke=i.getBCHTypeInfo(he),le=0;le<15;le+=1){var ye=!ce&&(ke>>le&1)==1;le<6?z[le][8]=ye:le<8?z[le+1][8]=ye:z[G-15+le][8]=ye}for(var le=0;le<15;le+=1){var ye=!ce&&(ke>>le&1)==1;le<8?z[8][G-le-1]=ye:le<9?z[8][15-le-1+1]=ye:z[8][15-le-1]=ye}z[G-8][8]=!ce},re=function(ce,pe){for(var he=-1,ke=G-1,le=7,ye=0,ve=i.getMaskFunction(pe),Ie=G-1;Ie>0;Ie-=2)for(Ie==6&&(Ie-=1);;){for(var Ve=0;Ve<2;Ve+=1)if(z[ke][Ie-Ve]==null){var Qe=!1;ye<ce.length&&(Qe=(ce[ye]>>>le&1)==1);var nt=ve(ke,Ie-Ve);nt&&(Qe=!Qe),z[ke][Ie-Ve]=Qe,le-=1,le==-1&&(ye+=1,le=7)}if(ke+=he,ke<0||G<=ke){ke-=he,he=-he;break}}},de=function(ce,pe){for(var he=0,ke=0,le=0,ye=new Array(pe.length),ve=new Array(pe.length),Ie=0;Ie<pe.length;Ie+=1){var Ve=pe[Ie].dataCount,Qe=pe[Ie].totalCount-Ve;ke=Math.max(ke,Ve),le=Math.max(le,Qe),ye[Ie]=new Array(Ve);for(var nt=0;nt<ye[Ie].length;nt+=1)ye[Ie][nt]=255&ce.getBuffer()[nt+he];he+=Ve;var Ue=i.getErrorCorrectPolynomial(Qe),qe=u(ye[Ie],Ue.getLength()-1),_e=qe.mod(Ue);ve[Ie]=new Array(Ue.getLength()-1);for(var nt=0;nt<ve[Ie].length;nt+=1){var et=nt+_e.getLength()-ve[Ie].length;ve[Ie][nt]=et>=0?_e.getAt(et):0}}for(var pt=0,nt=0;nt<pe.length;nt+=1)pt+=pe[nt].totalCount;for(var ht=new Array(pt),at=0,nt=0;nt<ke;nt+=1)for(var Ie=0;Ie<pe.length;Ie+=1)nt<ye[Ie].length&&(ht[at]=ye[Ie][nt],at+=1);for(var nt=0;nt<le;nt+=1)for(var Ie=0;Ie<pe.length;Ie+=1)nt<ve[Ie].length&&(ht[at]=ve[Ie][nt],at+=1);return ht},Ee=function(ce,pe,he){for(var ke=d.getRSBlocks(ce,pe),le=f(),ye=0;ye<he.length;ye+=1){var ve=he[ye];le.put(ve.getMode(),4),le.put(ve.getLength(),i.getLengthInBits(ve.getMode(),ce)),ve.write(le)}for(var Ie=0,ye=0;ye<ke.length;ye+=1)Ie+=ke[ye].dataCount;if(le.getLengthInBits()>Ie*8)throw"code length overflow. ("+le.getLengthInBits()+">"+Ie*8+")";for(le.getLengthInBits()+4<=Ie*8&&le.put(0,4);le.getLengthInBits()%8!=0;)le.putBit(!1);for(;!(le.getLengthInBits()>=Ie*8||(le.put(L,8),le.getLengthInBits()>=Ie*8));)le.put(F,8);return de(le,ke)};U.addData=function(ce,pe){pe=pe||"Byte";var he=null;switch(pe){case"Numeric":he=m(ce);break;case"Alphanumeric":he=g(ce);break;case"Byte":he=w(ce);break;case"Kanji":he=b(ce);break;default:throw"mode:"+pe}W.push(he),Z=null},U.isDark=function(ce,pe){if(ce<0||G<=ce||pe<0||G<=pe)throw ce+","+pe;return z[ce][pe]},U.getModuleCount=function(){return G},U.make=function(){if(T<1){for(var ce=1;ce<40;ce++){for(var pe=d.getRSBlocks(ce,R),he=f(),ke=0;ke<W.length;ke++){var le=W[ke];he.put(le.getMode(),4),he.put(le.getLength(),i.getLengthInBits(le.getMode(),ce)),le.write(he)}for(var ye=0,ke=0;ke<pe.length;ke++)ye+=pe[ke].dataCount;if(he.getLengthInBits()<=ye*8)break}T=ce}ee(!1,H())},U.createTableTag=function(ce,pe){ce=ce||2,pe=typeof pe>"u"?ce*4:pe;var he="";he+='<table style="',he+=" border-width: 0px; border-style: none;",he+=" border-collapse: collapse;",he+=" padding: 0px; margin: "+pe+"px;",he+='">',he+="<tbody>";for(var ke=0;ke<U.getModuleCount();ke+=1){he+="<tr>";for(var le=0;le<U.getModuleCount();le+=1)he+='<td style="',he+=" border-width: 0px; border-style: none;",he+=" border-collapse: collapse;",he+=" padding: 0px; margin: 0px;",he+=" width: "+ce+"px;",he+=" height: "+ce+"px;",he+=" background-color: ",he+=U.isDark(ke,le)?"#000000":"#ffffff",he+=";",he+='"/>';he+="</tr>"}return he+="</tbody>",he+="</table>",he},U.createSvgTag=function(ce,pe,he,ke){var le={};typeof arguments[0]=="object"&&(le=arguments[0],ce=le.cellSize,pe=le.margin,he=le.alt,ke=le.title),ce=ce||2,pe=typeof pe>"u"?ce*4:pe,he=typeof he=="string"?{text:he}:he||{},he.text=he.text||null,he.id=he.text?he.id||"qrcode-description":null,ke=typeof ke=="string"?{text:ke}:ke||{},ke.text=ke.text||null,ke.id=ke.text?ke.id||"qrcode-title":null;var ye=U.getModuleCount()*ce+pe*2,ve,Ie,Ve,Qe,nt="",Ue;for(Ue="l"+ce+",0 0,"+ce+" -"+ce+",0 0,-"+ce+"z ",nt+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',nt+=le.scalable?"":' width="'+ye+'px" height="'+ye+'px"',nt+=' viewBox="0 0 '+ye+" "+ye+'" ',nt+=' preserveAspectRatio="xMinYMin meet"',nt+=ke.text||he.text?' role="img" aria-labelledby="'+we([ke.id,he.id].join(" ").trim())+'"':"",nt+=">",nt+=ke.text?'<title id="'+we(ke.id)+'">'+we(ke.text)+"</title>":"",nt+=he.text?'<description id="'+we(he.id)+'">'+we(he.text)+"</description>":"",nt+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',nt+='<path d="',Ve=0;Ve<U.getModuleCount();Ve+=1)for(Qe=Ve*ce+pe,ve=0;ve<U.getModuleCount();ve+=1)U.isDark(Ve,ve)&&(Ie=ve*ce+pe,nt+="M"+Ie+","+Qe+Ue);return nt+='" stroke="transparent" fill="black"/>',nt+="</svg>",nt},U.createDataURL=function(ce,pe){ce=ce||2,pe=typeof pe>"u"?ce*4:pe;var he=U.getModuleCount()*ce+pe*2,ke=pe,le=he-pe;return M(he,he,function(ye,ve){if(ke<=ye&&ye<le&&ke<=ve&&ve<le){var Ie=Math.floor((ye-ke)/ce),Ve=Math.floor((ve-ke)/ce);return U.isDark(Ve,Ie)?0:1}else return 1})},U.createImgTag=function(ce,pe,he){ce=ce||2,pe=typeof pe>"u"?ce*4:pe;var ke=U.getModuleCount()*ce+pe*2,le="";return le+="<img",le+=' src="',le+=U.createDataURL(ce,pe),le+='"',le+=' width="',le+=ke,le+='"',le+=' height="',le+=ke,le+='"',he&&(le+=' alt="',le+=we(he),le+='"'),le+="/>",le};var we=function(ce){for(var pe="",he=0;he<ce.length;he+=1){var ke=ce.charAt(he);switch(ke){case"<":pe+="<";break;case">":pe+=">";break;case"&":pe+="&";break;case'"':pe+=""";break;default:pe+=ke;break}}return pe},xe=function(ce){var pe=1;ce=typeof ce>"u"?pe*2:ce;var he=U.getModuleCount()*pe+ce*2,ke=ce,le=he-ce,ye,ve,Ie,Ve,Qe,nt={"██":"█","█ ":"▀"," █":"▄"," ":" "},Ue={"██":"▀","█ ":"▀"," █":" "," ":" "},qe="";for(ye=0;ye<he;ye+=2){for(Ie=Math.floor((ye-ke)/pe),Ve=Math.floor((ye+1-ke)/pe),ve=0;ve<he;ve+=1)Qe="█",ke<=ve&&ve<le&&ke<=ye&&ye<le&&U.isDark(Ie,Math.floor((ve-ke)/pe))&&(Qe=" "),ke<=ve&&ve<le&&ke<=ye+1&&ye+1<le&&U.isDark(Ve,Math.floor((ve-ke)/pe))?Qe+=" ":Qe+="█",qe+=ce<1&&ye+1>=le?Ue[Qe]:nt[Qe];qe+=`
45 `}return he%2&&ce>0?qe.substring(0,qe.length-he-1)+Array(he+1).join("▀"):qe.substring(0,qe.length-1)};return U.createASCII=function(ce,pe){if(ce=ce||1,ce<2)return xe(pe);ce-=1,pe=typeof pe>"u"?ce*2:pe;var he=U.getModuleCount()*ce+pe*2,ke=pe,le=he-pe,ye,ve,Ie,Ve,Qe=Array(ce+1).join("██"),nt=Array(ce+1).join(" "),Ue="",qe="";for(ye=0;ye<he;ye+=1){for(Ie=Math.floor((ye-ke)/ce),qe="",ve=0;ve<he;ve+=1)Ve=1,ke<=ve&&ve<le&&ke<=ye&&ye<le&&U.isDark(Ie,Math.floor((ve-ke)/ce))&&(Ve=0),qe+=Ve?Qe:nt;for(Ie=0;Ie<ce;Ie+=1)Ue+=qe+`
46 `}return Ue.substring(0,Ue.length-1)},U.renderTo2dContext=function(ce,pe){pe=pe||2;for(var he=U.getModuleCount(),ke=0;ke<he;ke++)for(var le=0;le<he;le++)ce.fillStyle=U.isDark(ke,le)?"black":"white",ce.fillRect(ke*pe,le*pe,pe,pe)},U};r.stringToBytesFuncs={default:function(D){for(var P=[],L=0;L<D.length;L+=1){var F=D.charCodeAt(L);P.push(F&255)}return P}},r.stringToBytes=r.stringToBytesFuncs.default,r.createStringToBytes=function(D,P){var L=(function(){for(var T=I(D),R=function(){var Y=T.read();if(Y==-1)throw"eof";return Y},z=0,G={};;){var Z=T.read();if(Z==-1)break;var W=R(),U=R(),ee=R(),$=String.fromCharCode(Z<<8|W),H=U<<8|ee;G[$]=H,z+=1}if(z!=P)throw z+" != "+P;return G})(),F=63;return function(T){for(var R=[],z=0;z<T.length;z+=1){var G=T.charCodeAt(z);if(G<128)R.push(G);else{var Z=L[T.charAt(z)];typeof Z=="number"?(Z&255)==Z?R.push(Z):(R.push(Z>>>8),R.push(Z&255)):R.push(F)}}return R}};var o={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},s={L:1,M:0,Q:3,H:2},a={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},i=(function(){var D=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],P=1335,L=7973,F=21522,T={},R=function(z){for(var G=0;z!=0;)G+=1,z>>>=1;return G};return T.getBCHTypeInfo=function(z){for(var G=z<<10;R(G)-R(P)>=0;)G^=P<<R(G)-R(P);return(z<<10|G)^F},T.getBCHTypeNumber=function(z){for(var G=z<<12;R(G)-R(L)>=0;)G^=L<<R(G)-R(L);return z<<12|G},T.getPatternPosition=function(z){return D[z-1]},T.getMaskFunction=function(z){switch(z){case a.PATTERN000:return function(G,Z){return(G+Z)%2==0};case a.PATTERN001:return function(G,Z){return G%2==0};case a.PATTERN010:return function(G,Z){return Z%3==0};case a.PATTERN011:return function(G,Z){return(G+Z)%3==0};case a.PATTERN100:return function(G,Z){return(Math.floor(G/2)+Math.floor(Z/3))%2==0};case a.PATTERN101:return function(G,Z){return G*Z%2+G*Z%3==0};case a.PATTERN110:return function(G,Z){return(G*Z%2+G*Z%3)%2==0};case a.PATTERN111:return function(G,Z){return(G*Z%3+(G+Z)%2)%2==0};default:throw"bad maskPattern:"+z}},T.getErrorCorrectPolynomial=function(z){for(var G=u([1],0),Z=0;Z<z;Z+=1)G=G.multiply(u([1,l.gexp(Z)],0));return G},T.getLengthInBits=function(z,G){if(1<=G&&G<10)switch(z){case o.MODE_NUMBER:return 10;case o.MODE_ALPHA_NUM:return 9;case o.MODE_8BIT_BYTE:return 8;case o.MODE_KANJI:return 8;default:throw"mode:"+z}else if(G<27)switch(z){case o.MODE_NUMBER:return 12;case o.MODE_ALPHA_NUM:return 11;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 10;default:throw"mode:"+z}else if(G<41)switch(z){case o.MODE_NUMBER:return 14;case o.MODE_ALPHA_NUM:return 13;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 12;default:throw"mode:"+z}else throw"type:"+G},T.getLostPoint=function(z){for(var G=z.getModuleCount(),Z=0,W=0;W<G;W+=1)for(var U=0;U<G;U+=1){for(var ee=0,$=z.isDark(W,U),H=-1;H<=1;H+=1)if(!(W+H<0||G<=W+H))for(var Y=-1;Y<=1;Y+=1)U+Y<0||G<=U+Y||H==0&&Y==0||$==z.isDark(W+H,U+Y)&&(ee+=1);ee>5&&(Z+=3+ee-5)}for(var W=0;W<G-1;W+=1)for(var U=0;U<G-1;U+=1){var q=0;z.isDark(W,U)&&(q+=1),z.isDark(W+1,U)&&(q+=1),z.isDark(W,U+1)&&(q+=1),z.isDark(W+1,U+1)&&(q+=1),(q==0||q==4)&&(Z+=3)}for(var W=0;W<G;W+=1)for(var U=0;U<G-6;U+=1)z.isDark(W,U)&&!z.isDark(W,U+1)&&z.isDark(W,U+2)&&z.isDark(W,U+3)&&z.isDark(W,U+4)&&!z.isDark(W,U+5)&&z.isDark(W,U+6)&&(Z+=40);for(var U=0;U<G;U+=1)for(var W=0;W<G-6;W+=1)z.isDark(W,U)&&!z.isDark(W+1,U)&&z.isDark(W+2,U)&&z.isDark(W+3,U)&&z.isDark(W+4,U)&&!z.isDark(W+5,U)&&z.isDark(W+6,U)&&(Z+=40);for(var J=0,U=0;U<G;U+=1)for(var W=0;W<G;W+=1)z.isDark(W,U)&&(J+=1);var ne=Math.abs(100*J/G/G-50)/5;return Z+=ne*10,Z},T})(),l=(function(){for(var D=new Array(256),P=new Array(256),L=0;L<8;L+=1)D[L]=1<<L;for(var L=8;L<256;L+=1)D[L]=D[L-4]^D[L-5]^D[L-6]^D[L-8];for(var L=0;L<255;L+=1)P[D[L]]=L;var F={};return F.glog=function(T){if(T<1)throw"glog("+T+")";return P[T]},F.gexp=function(T){for(;T<0;)T+=255;for(;T>=256;)T-=255;return D[T]},F})();function u(D,P){if(typeof D.length>"u")throw D.length+"/"+P;var L=(function(){for(var T=0;T<D.length&&D[T]==0;)T+=1;for(var R=new Array(D.length-T+P),z=0;z<D.length-T;z+=1)R[z]=D[z+T];return R})(),F={};return F.getAt=function(T){return L[T]},F.getLength=function(){return L.length},F.multiply=function(T){for(var R=new Array(F.getLength()+T.getLength()-1),z=0;z<F.getLength();z+=1)for(var G=0;G<T.getLength();G+=1)R[z+G]^=l.gexp(l.glog(F.getAt(z))+l.glog(T.getAt(G)));return u(R,0)},F.mod=function(T){if(F.getLength()-T.getLength()<0)return F;for(var R=l.glog(F.getAt(0))-l.glog(T.getAt(0)),z=new Array(F.getLength()),G=0;G<F.getLength();G+=1)z[G]=F.getAt(G);for(var G=0;G<T.getLength();G+=1)z[G]^=l.gexp(l.glog(T.getAt(G))+R);return u(z,0).mod(T)},F}var d=(function(){var D=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],P=function(T,R){var z={};return z.totalCount=T,z.dataCount=R,z},L={},F=function(T,R){switch(R){case s.L:return D[(T-1)*4+0];case s.M:return D[(T-1)*4+1];case s.Q:return D[(T-1)*4+2];case s.H:return D[(T-1)*4+3];default:return}};return L.getRSBlocks=function(T,R){var z=F(T,R);if(typeof z>"u")throw"bad rs block @ typeNumber:"+T+"/errorCorrectionLevel:"+R;for(var G=z.length/3,Z=[],W=0;W<G;W+=1)for(var U=z[W*3+0],ee=z[W*3+1],$=z[W*3+2],H=0;H<U;H+=1)Z.push(P(ee,$));return Z},L})(),f=function(){var D=[],P=0,L={};return L.getBuffer=function(){return D},L.getAt=function(F){var T=Math.floor(F/8);return(D[T]>>>7-F%8&1)==1},L.put=function(F,T){for(var R=0;R<T;R+=1)L.putBit((F>>>T-R-1&1)==1)},L.getLengthInBits=function(){return P},L.putBit=function(F){var T=Math.floor(P/8);D.length<=T&&D.push(0),F&&(D[T]|=128>>>P%8),P+=1},L},m=function(D){var P=o.MODE_NUMBER,L=D,F={};F.getMode=function(){return P},F.getLength=function(z){return L.length},F.write=function(z){for(var G=L,Z=0;Z+2<G.length;)z.put(T(G.substring(Z,Z+3)),10),Z+=3;Z<G.length&&(G.length-Z==1?z.put(T(G.substring(Z,Z+1)),4):G.length-Z==2&&z.put(T(G.substring(Z,Z+2)),7))};var T=function(z){for(var G=0,Z=0;Z<z.length;Z+=1)G=G*10+R(z.charAt(Z));return G},R=function(z){if("0"<=z&&z<="9")return z.charCodeAt(0)-48;throw"illegal char :"+z};return F},g=function(D){var P=o.MODE_ALPHA_NUM,L=D,F={};F.getMode=function(){return P},F.getLength=function(R){return L.length},F.write=function(R){for(var z=L,G=0;G+1<z.length;)R.put(T(z.charAt(G))*45+T(z.charAt(G+1)),11),G+=2;G<z.length&&R.put(T(z.charAt(G)),6)};var T=function(R){if("0"<=R&&R<="9")return R.charCodeAt(0)-48;if("A"<=R&&R<="Z")return R.charCodeAt(0)-65+10;switch(R){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+R}};return F},w=function(D){var P=o.MODE_8BIT_BYTE,L=r.stringToBytes(D),F={};return F.getMode=function(){return P},F.getLength=function(T){return L.length},F.write=function(T){for(var R=0;R<L.length;R+=1)T.put(L[R],8)},F},b=function(D){var P=o.MODE_KANJI,L=r.stringToBytesFuncs.SJIS;if(!L)throw"sjis not supported.";(function(R,z){var G=L(R);if(G.length!=2||(G[0]<<8|G[1])!=z)throw"sjis not supported."})("友",38726);var F=L(D),T={};return T.getMode=function(){return P},T.getLength=function(R){return~~(F.length/2)},T.write=function(R){for(var z=F,G=0;G+1<z.length;){var Z=(255&z[G])<<8|255&z[G+1];if(33088<=Z&&Z<=40956)Z-=33088;else if(57408<=Z&&Z<=60351)Z-=49472;else throw"illegal char at "+(G+1)+"/"+Z;Z=(Z>>>8&255)*192+(Z&255),R.put(Z,13),G+=2}if(G<z.length)throw"illegal char at "+(G+1)},T},j=function(){var D=[],P={};return P.writeByte=function(L){D.push(L&255)},P.writeShort=function(L){P.writeByte(L),P.writeByte(L>>>8)},P.writeBytes=function(L,F,T){F=F||0,T=T||L.length;for(var R=0;R<T;R+=1)P.writeByte(L[R+F])},P.writeString=function(L){for(var F=0;F<L.length;F+=1)P.writeByte(L.charCodeAt(F))},P.toByteArray=function(){return D},P.toString=function(){var L="";L+="[";for(var F=0;F<D.length;F+=1)F>0&&(L+=","),L+=D[F];return L+="]",L},P},S=function(){var D=0,P=0,L=0,F="",T={},R=function(G){F+=String.fromCharCode(z(G&63))},z=function(G){if(!(G<0)){if(G<26)return 65+G;if(G<52)return 97+(G-26);if(G<62)return 48+(G-52);if(G==62)return 43;if(G==63)return 47}throw"n:"+G};return T.writeByte=function(G){for(D=D<<8|G&255,P+=8,L+=1;P>=6;)R(D>>>P-6),P-=6},T.flush=function(){if(P>0&&(R(D<<6-P),D=0,P=0),L%3!=0)for(var G=3-L%3,Z=0;Z<G;Z+=1)F+="="},T.toString=function(){return F},T},I=function(D){var P=D,L=0,F=0,T=0,R={};R.read=function(){for(;T<8;){if(L>=P.length){if(T==0)return-1;throw"unexpected end of file./"+T}var G=P.charAt(L);if(L+=1,G=="=")return T=0,-1;if(G.match(/^\s$/))continue;F=F<<6|z(G.charCodeAt(0)),T+=6}var Z=F>>>T-8&255;return T-=8,Z};var z=function(G){if(65<=G&&G<=90)return G-65;if(97<=G&&G<=122)return G-97+26;if(48<=G&&G<=57)return G-48+52;if(G==43)return 62;if(G==47)return 63;throw"c:"+G};return R},N=function(D,P){var L=D,F=P,T=new Array(D*P),R={};R.setPixel=function(W,U,ee){T[U*L+W]=ee},R.write=function(W){W.writeString("GIF87a"),W.writeShort(L),W.writeShort(F),W.writeByte(128),W.writeByte(0),W.writeByte(0),W.writeByte(0),W.writeByte(0),W.writeByte(0),W.writeByte(255),W.writeByte(255),W.writeByte(255),W.writeString(","),W.writeShort(0),W.writeShort(0),W.writeShort(L),W.writeShort(F),W.writeByte(0);var U=2,ee=G(U);W.writeByte(U);for(var $=0;ee.length-$>255;)W.writeByte(255),W.writeBytes(ee,$,255),$+=255;W.writeByte(ee.length-$),W.writeBytes(ee,$,ee.length-$),W.writeByte(0),W.writeString(";")};var z=function(W){var U=W,ee=0,$=0,H={};return H.write=function(Y,q){if(Y>>>q)throw"length over";for(;ee+q>=8;)U.writeByte(255&(Y<<ee|$)),q-=8-ee,Y>>>=8-ee,$=0,ee=0;$=Y<<ee|$,ee=ee+q},H.flush=function(){ee>0&&U.writeByte($)},H},G=function(W){for(var U=1<<W,ee=(1<<W)+1,$=W+1,H=Z(),Y=0;Y<U;Y+=1)H.add(String.fromCharCode(Y));H.add(String.fromCharCode(U)),H.add(String.fromCharCode(ee));var q=j(),J=z(q);J.write(U,$);var ne=0,re=String.fromCharCode(T[ne]);for(ne+=1;ne<T.length;){var de=String.fromCharCode(T[ne]);ne+=1,H.contains(re+de)?re=re+de:(J.write(H.indexOf(re),$),H.size()<4095&&(H.size()==1<<$&&($+=1),H.add(re+de)),re=de)}return J.write(H.indexOf(re),$),J.write(ee,$),J.flush(),q.toByteArray()},Z=function(){var W={},U=0,ee={};return ee.add=function($){if(ee.contains($))throw"dup key:"+$;W[$]=U,U+=1},ee.size=function(){return U},ee.indexOf=function($){return W[$]},ee.contains=function($){return typeof W[$]<"u"},ee};return R},M=function(D,P,L){for(var F=N(D,P),T=0;T<P;T+=1)for(var R=0;R<D;R+=1)F.setPixel(R,T,L(R,T));var z=j();F.write(z);for(var G=S(),Z=z.toByteArray(),W=0;W<Z.length;W+=1)G.writeByte(Z[W]);return G.flush(),"data:image/gif;base64,"+G};return r})();(function(){n.stringToBytesFuncs["UTF-8"]=function(r){function o(s){for(var a=[],i=0;i<s.length;i++){var l=s.charCodeAt(i);l<128?a.push(l):l<2048?a.push(192|l>>6,128|l&63):l<55296||l>=57344?a.push(224|l>>12,128|l>>6&63,128|l&63):(i++,l=65536+((l&1023)<<10|s.charCodeAt(i)&1023),a.push(240|l>>18,128|l>>12&63,128|l>>6&63,128|l&63))}return a}return o(r)}})(),(function(r){t.exports=r()})(function(){return n})})(a9)),a9.exports}var NMe=EMe();const AD=tc(NMe);class D3{constructor(e){this._config=e}async unload(){}}const IMe=t=>{const e=[];for(let n=0,r=atob(t.replace(/[ \r\n]+$/,""));n<r.length;++n){let o=r.charCodeAt(n).toString(16);o.length===1&&(o="0"+o),e[e.length]=o}return e.join("")};let Qs;async function joe(){try{if(Qs)return Qs;const t=(await Bs(async()=>{const{default:e}=await import("./index-DdeFnpDs.js").then(n=>n.i);return{default:e}},[])).default;return Qs=new t,Qs}catch(t){throw console.error(t),new Error("LNC is not available")}}const JU="ONLY CONNECT TO TRUSTED WEBSITES";class AMe{constructor(e){this.lnc=e}enable(){return Promise.resolve()}async getInfo(){const e=await Qs.lnd.lightning.getInfo();return{methods:["enable","getBalance","getInfo","sendPayment"],version:"1.0",node:{alias:e.alias,pubkey:e.identityPubkey,color:e.color},supports:["lightning"]}}makeInvoice(e){throw new Error("Method not implemented.")}async sendPayment(e){const n=await Qs.lnd.lightning.sendPaymentSync({paymentRequest:e});if(n.paymentError)throw new Error(n.paymentError);if(!n.paymentPreimage)throw new Error("No preimage in response");if(typeof n.paymentPreimage!="string")throw new Error("expected preimage as string");return{preimage:IMe(n.paymentPreimage)}}async getBalance(){var e;const n=await Qs.lnd.lightning.channelBalance();return{balance:parseInt(((e=n.localBalance)==null?void 0:e.sat)||"0")}}keysend(e){throw new Error("Method not implemented.")}lnurl(e){throw new Error("Method not implemented.")}lookupInvoice(e){throw new Error("Method not implemented.")}signMessage(e){throw new Error("Method not implemented.")}verifyMessage(e,n){throw new Error("Method not implemented.")}}class _Me{constructor(e,n){this._instanceUrl=e,this._adminKey=n}enable(){return Promise.resolve()}async getInfo(){return{node:{alias:(await this.requestLnbits("GET","/api/v1/wallet")).name,pubkey:""},methods:["getInfo","getBalance","sendPayment"],version:"1.0",supports:["lightning"]}}async makeInvoice(e){return{paymentRequest:(await this.requestLnbits("POST","/api/v1/payments",{amount:e.amount||e.defaultAmount||+e,memo:e.defaultMemo,out:!1})).payment_request}}async sendPayment(e){const n=await this.requestLnbits("POST","/api/v1/payments",{bolt11:e,out:!0}),r=await this.requestLnbits("GET",`/api/v1/payments/${n.payment_hash}`);if(!r.preimage)throw new Error("No preimage");return{preimage:r.preimage}}async getBalance(){const e=await this.requestLnbits("GET","/api/v1/wallet");return{balance:Math.floor(e.balance/1e3)}}keysend(e){throw new Error("Method not implemented.")}lnurl(e){throw new Error("Method not implemented.")}lookupInvoice(e){throw new Error("Method not implemented.")}signMessage(e){throw new Error("Method not implemented.")}verifyMessage(e,n){throw new Error("Method not implemented.")}async requestLnbits(e,n,r){let o=null;const s=new Headers;if(s.append("Accept","application/json"),s.append("Content-Type","application/json"),s.append("X-Api-Key",this._adminKey),e==="POST")o=JSON.stringify(r);else if(r!==void 0)throw new Error("TODO: support args in GET");const a=await fetch(this._instanceUrl+n+"",{method:e,headers:s,body:o});if(!a.ok){const i=await a.json();throw console.error("errBody",i),new Error(i.detail)}return await a.json()}}function $u(){return $u=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},$u.apply(this,arguments)}class Eu extends D3{constructor(e){super(e)}async init(){if(!this._config.nwcUrl)throw new Error("no nwc URL provided");return new koe.NostrWebLNProvider({nostrWalletConnectUrl:this._config.nwcUrl})}}const MMe={"extension.generic":class extends D3{constructor(t){super(t)}init(){if(!window.webln)throw new Error("No WebLN provider available");return Promise.resolve(window.webln)}},"nwc.alby":Eu,"nwc.albyhub":Eu,"nwc.generic":Eu,"nwc.lnfi":Eu,"nwc.coinos":Eu,"nwc.flash":Eu,"nwc.primal":Eu,"nwc.cashume":Eu,"nwc.lnbits":Eu,"nwc.rizful":Eu,lnbits:class extends D3{constructor(t){super(t)}async init(){if(!this._config.lnbitsInstanceUrl)throw new Error("no lnbits URL provided");if(!this._config.lnbitsAdminKey)throw new Error("no lnbits admin key provided");return new _Me(this._config.lnbitsInstanceUrl,this._config.lnbitsAdminKey)}},lnc:class extends D3{constructor(t){super(t)}async init(){await joe();const t=new AMe(Qs);try{const e=!Qs.credentials.pairingPhrase;for(e?(console.log("Pairing phrase does not exist"),Qs.credentials.password=JU):console.log("Pairing phrase set"),await Qs.connect(),e||(Qs.credentials.password=JU);!Qs.isConnected;)console.log("Waiting to connect..."),await new Promise(n=>{setTimeout(n,100)})}catch(e){throw console.error(e),Qs.disconnect(),Qs.credentials.clear(),e}return t}async unload(){Qs.disconnect(),Qs.credentials.clear(),await super.unload()}}},o8={showBalance:!0,appName:"Bitcoin Connect"},Ht=SMe((t,e)=>({route:"/start",routeHistory:[],modalOpen:!1,currency:void 0,connected:!1,connecting:!1,error:void 0,alias:void 0,balance:void 0,connectorName:void 0,invoice:void 0,provider:void 0,connector:void 0,connectorConfig:void 0,bitcoinConnectConfig:o8,info:void 0,connectNWC:n=>e().connect({connectorName:"NWC",connectorType:"nwc.generic",nwcUrl:n}),connect:async(n,r={redirectTo:"/connected"})=>{t({connecting:!0,error:void 0});try{const o=new MMe[n.connectorType](n),s=await o.init();let a;await s.enable();try{a=await s.getInfo()}catch{console.error("Failed to request wallet info")}if(!e().connecting)return;t({connectorConfig:n,connector:o,connected:!0,connecting:!1,info:a,provider:s,connectorName:n.connectorName,route:r.redirectTo}),window.localStorage.setItem("bc:config",JSON.stringify(n))}catch(o){console.error(o),t({error:o.toString(),connecting:!1}),e().disconnect()}},disconnect:()=>{var n;(n=e().connector)==null||n.unload(),t({connectorConfig:void 0,connector:void 0,connected:!1,connecting:!1,connectorName:void 0,provider:void 0,modalOpen:!1}),window.localStorage.removeItem("bc:config")},pushRoute:n=>{e().route!==n&&t({route:n,routeHistory:[...e().routeHistory,e().route]})},popRoute(){const n=e().routeHistory,r=n.pop()||"/start";t({route:r,routeHistory:n})},clearRouteHistory(){t({route:"/start",routeHistory:[]})},setModalOpen:n=>{t({modalOpen:n})},setBitcoinConnectConfig:n=>{t({bitcoinConnectConfig:$u({},o8,n)});const r=e();r.bitcoinConnectConfig.autoConnect===!1||r.connected||r.connecting||(function(){try{const{hash:o}=window.location;if(o){const s=o.indexOf("?"),a=o.slice(s>0?s:1),i=new URLSearchParams(a),l=i.get("nwc");if(l&&l.startsWith("nostr+walletconnect://")){const{searchParams:u}=new URL(l);u.get("relay")&&u.get("secret")&&(i.delete("nwc"),window.location.hash=o.slice(0,s>0?s+1:1)+i.toString(),Ht.getState().connectNWC(l))}}}catch(o){console.error(o)}})()},setError:n=>{t({error:n})},setCurrency:n=>{n?window.localStorage.setItem("bc:currency",n):window.localStorage.removeItem("bc:currency"),t({currency:n})},supports:n=>{const{info:r,provider:o}=e();return!(r==null||!r.methods)&&r.methods.indexOf(n)>-1&&!(o==null||!o.getBalance)}}));function Tt(t,e,n,r){var o,s=arguments.length,a=s<3?e:r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,n,r);else for(var i=t.length-1;i>=0;i--)(o=t[i])&&(a=(s<3?o(a):s>3?o(e,n,a):o(e,n))||a);return s>3&&a&&Object.defineProperty(e,n,a),a}globalThis.window&&((function(){const t=window.localStorage.getItem("bc:config");if(t){const n=JSON.parse(t);Ht.getState().connect(n,{redirectTo:"/start"})}const e=window.localStorage.getItem("bc:currency");e&&Ht.getState().setCurrency(e)})(),window.addEventListener("webln:enabled",()=>{Ht.getState().connecting||Ht.getState().connect({connectorName:"Extension",connectorType:"extension.generic"},{redirectTo:"/start"})})),typeof SuppressedError=="function"&&SuppressedError;const L3=globalThis,_D=L3.ShadowRoot&&(L3.ShadyCSS===void 0||L3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Coe=Symbol(),XU=new WeakMap;class RMe{constructor(e,n,r){if(this._$cssResult$=!0,r!==Coe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o;const n=this.t;if(_D&&e===void 0){const r=n!==void 0&&n.length===1;r&&(e=XU.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&XU.set(n,e))}return e}toString(){return this.cssText}}const e$=_D?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(const r of e.cssRules)n+=r.cssText;return(r=>new RMe(typeof r=="string"?r:r+"",void 0,Coe))(n)})(t):t,{is:TMe,defineProperty:DMe,getOwnPropertyDescriptor:LMe,getOwnPropertyNames:PMe,getOwnPropertySymbols:OMe,getPrototypeOf:zMe}=Object,Wp=globalThis,t$=Wp.trustedTypes,FMe=t$?t$.emptyScript:"",i9=Wp.reactiveElementPolyfillSupport,Ww=(t,e)=>t,$k={toAttribute(t,e){switch(e){case Boolean:t=t?FMe:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},MD=(t,e)=>!TMe(t,e),n$={attribute:!0,type:String,converter:$k,reflect:!1,useDefault:!1,hasChanged:MD};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Wp.litPropertyMetadata??(Wp.litPropertyMetadata=new WeakMap);class uw extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=n$){if(n.state&&(n.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((n=Object.create(n)).wrapped=!0),this.elementProperties.set(e,n),!n.noAccessor){const r=Symbol(),o=this.getPropertyDescriptor(e,r,n);o!==void 0&&DMe(this.prototype,e,o)}}static getPropertyDescriptor(e,n,r){const{get:o,set:s}=LMe(this.prototype,e)??{get(){return this[n]},set(a){this[n]=a}};return{get:o,set(a){const i=o==null?void 0:o.call(this);s==null||s.call(this,a),this.requestUpdate(e,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??n$}static _$Ei(){if(this.hasOwnProperty(Ww("elementProperties")))return;const e=zMe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Ww("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Ww("properties"))){const n=this.properties,r=[...PMe(n),...OMe(n)];for(const o of r)this.createProperty(o,n[o])}const e=this[Symbol.metadata];if(e!==null){const n=litPropertyMetadata.get(e);if(n!==void 0)for(const[r,o]of n)this.elementProperties.set(r,o)}this._$Eh=new Map;for(const[n,r]of this.elementProperties){const o=this._$Eu(n,r);o!==void 0&&this._$Eh.set(o,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const n=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const o of r)n.unshift(e$(o))}else e!==void 0&&n.push(e$(e));return n}static _$Eu(e,n){const r=n.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(n=>this.enableUpdating=n),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(n=>n(this))}addController(e){var n;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((n=e.hostConnected)==null||n.call(e))}removeController(e){var n;(n=this._$EO)==null||n.delete(e)}_$E_(){const e=new Map,n=this.constructor.elementProperties;for(const r of n.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((n,r)=>{if(_D)n.adoptedStyleSheets=r.map(o=>o instanceof CSSStyleSheet?o:o.styleSheet);else for(const o of r){const s=document.createElement("style"),a=L3.litNonce;a!==void 0&&s.setAttribute("nonce",a),s.textContent=o.cssText,n.appendChild(s)}})(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostConnected)==null?void 0:r.call(n)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostDisconnected)==null?void 0:r.call(n)})}attributeChangedCallback(e,n,r){this._$AK(e,r)}_$ET(e,n){var s;const r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(o!==void 0&&r.reflect===!0){const a=(((s=r.converter)==null?void 0:s.toAttribute)!==void 0?r.converter:$k).toAttribute(n,r.type);this._$Em=e,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(e,n){var s,a;const r=this.constructor,o=r._$Eh.get(e);if(o!==void 0&&this._$Em!==o){const i=r.getPropertyOptions(o),l=typeof i.converter=="function"?{fromAttribute:i.converter}:((s=i.converter)==null?void 0:s.fromAttribute)!==void 0?i.converter:$k;this._$Em=o,this[o]=l.fromAttribute(n,i.type)??((a=this._$Ej)==null?void 0:a.get(o))??null,this._$Em=null}}requestUpdate(e,n,r){var o;if(e!==void 0){const s=this.constructor,a=this[e];if(r??(r=s.getPropertyOptions(e)),!((r.hasChanged??MD)(a,n)||r.useDefault&&r.reflect&&a===((o=this._$Ej)==null?void 0:o.get(e))&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,n,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,n,{useDefault:r,reflect:o,wrapped:s},a){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,a??n??this[e]),s!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(n=void 0),this._$AL.set(e,n)),o===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[s,a]of this._$Ep)this[s]=a;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[s,a]of o){const{wrapped:i}=a,l=this[s];i!==!0||this._$AL.has(s)||l===void 0||this.C(s,void 0,a,l)}}let e=!1;const n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),(r=this._$EO)==null||r.forEach(o=>{var s;return(s=o.hostUpdate)==null?void 0:s.call(o)}),this.update(n)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(n)}willUpdate(e){}_$AE(e){var n;(n=this._$EO)==null||n.forEach(r=>{var o;return(o=r.hostUpdated)==null?void 0:o.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(n=>this._$ET(n,this[n]))),this._$EM()}updated(e){}firstUpdated(e){}}uw.elementStyles=[],uw.shadowRootOptions={mode:"open"},uw[Ww("elementProperties")]=new Map,uw[Ww("finalized")]=new Map,i9==null||i9({ReactiveElement:uw}),(Wp.reactiveElementVersions??(Wp.reactiveElementVersions=[])).push("2.1.0");const Yw=globalThis,Vk=Yw.trustedTypes,r$=Vk?Vk.createPolicy("lit-html",{createHTML:t=>t}):void 0,o$="$lit$",vp=`lit$${Math.random().toFixed(9).slice(2)}$`,Soe="?"+vp,BMe=`<${Soe}>`,bg=document,Hk=()=>bg.createComment(""),Gb=t=>t===null||typeof t!="object"&&typeof t!="function",s8=Array.isArray,l9=`[
47 \f\r]`,fw=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,s$=/-->/g,a$=/>/g,fm=RegExp(`>|${l9}(?:([^\\s"'>=/]+)(${l9}*=${l9}*(?:[^
48 \f\r"'\`<>=]|("|')|))|$)`,"g"),i$=/'/g,l$=/"/g,c$=/^(?:script|style|textarea|title)$/i,qb=Symbol.for("lit-noChange"),_s=Symbol.for("lit-nothing"),u$=new WeakMap,Pm=bg.createTreeWalker(bg,129);function Eoe(t,e){if(!s8(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return r$!==void 0?r$.createHTML(e):e}class Kb{constructor({strings:e,_$litType$:n},r){let o;this.parts=[];let s=0,a=0;const i=e.length-1,l=this.parts,[u,d]=((f,m)=>{const g=f.length-1,w=[];let b,j=m===2?"<svg>":m===3?"<math>":"",S=fw;for(let I=0;I<g;I++){const N=f[I];let M,D,P=-1,L=0;for(;L<N.length&&(S.lastIndex=L,D=S.exec(N),D!==null);)L=S.lastIndex,S===fw?D[1]==="!--"?S=s$:D[1]!==void 0?S=a$:D[2]!==void 0?(c$.test(D[2])&&(b=RegExp("</"+D[2],"g")),S=fm):D[3]!==void 0&&(S=fm):S===fm?D[0]===">"?(S=b??fw,P=-1):D[1]===void 0?P=-2:(P=S.lastIndex-D[2].length,M=D[1],S=D[3]===void 0?fm:D[3]==='"'?l$:i$):S===l$||S===i$?S=fm:S===s$||S===a$?S=fw:(S=fm,b=void 0);const F=S===fm&&f[I+1].startsWith("/>")?" ":"";j+=S===fw?N+BMe:P>=0?(w.push(M),N.slice(0,P)+o$+N.slice(P)+vp+F):N+vp+(P===-2?I:F)}return[Eoe(f,j+(f[g]||"<?>")+(m===2?"</svg>":m===3?"</math>":"")),w]})(e,n);if(this.el=Kb.createElement(u,r),Pm.currentNode=this.el.content,n===2||n===3){const f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(o=Pm.nextNode())!==null&&l.length<i;){if(o.nodeType===1){if(o.hasAttributes())for(const f of o.getAttributeNames())if(f.endsWith(o$)){const m=d[a++],g=o.getAttribute(f).split(vp),w=/([.?@])?(.*)/.exec(m);l.push({type:1,index:s,name:w[2],strings:g,ctor:w[1]==="."?$Me:w[1]==="?"?VMe:w[1]==="@"?HMe:iS}),o.removeAttribute(f)}else f.startsWith(vp)&&(l.push({type:6,index:s}),o.removeAttribute(f));if(c$.test(o.tagName)){const f=o.textContent.split(vp),m=f.length-1;if(m>0){o.textContent=Vk?Vk.emptyScript:"";for(let g=0;g<m;g++)o.append(f[g],Hk()),Pm.nextNode(),l.push({type:2,index:++s});o.append(f[m],Hk())}}}else if(o.nodeType===8)if(o.data===Soe)l.push({type:2,index:s});else{let f=-1;for(;(f=o.data.indexOf(vp,f+1))!==-1;)l.push({type:7,index:s}),f+=vp.length-1}s++}}static createElement(e,n){const r=bg.createElement("template");return r.innerHTML=e,r}}function dy(t,e,n=t,r){var a,i;if(e===qb)return e;let o=r!==void 0?(a=n._$Co)==null?void 0:a[r]:n._$Cl;const s=Gb(e)?void 0:e._$litDirective$;return(o==null?void 0:o.constructor)!==s&&((i=o==null?void 0:o._$AO)==null||i.call(o,!1),s===void 0?o=void 0:(o=new s(t),o._$AT(t,n,r)),r!==void 0?(n._$Co??(n._$Co=[]))[r]=o:n._$Cl=o),o!==void 0&&(e=dy(t,o._$AS(t,e.values),o,r)),e}class UMe{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:n},parts:r}=this._$AD,o=((e==null?void 0:e.creationScope)??bg).importNode(n,!0);Pm.currentNode=o;let s=Pm.nextNode(),a=0,i=0,l=r[0];for(;l!==void 0;){if(a===l.index){let u;l.type===2?u=new aS(s,s.nextSibling,this,e):l.type===1?u=new l.ctor(s,l.name,l.strings,this,e):l.type===6&&(u=new WMe(s,this,e)),this._$AV.push(u),l=r[++i]}a!==(l==null?void 0:l.index)&&(s=Pm.nextNode(),a++)}return Pm.currentNode=bg,o}p(e){let n=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,n),n+=r.strings.length-2):r._$AI(e[n])),n++}}class aS{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,n,r,o){this.type=2,this._$AH=_s,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=r,this.options=o,this._$Cv=(o==null?void 0:o.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=dy(this,e,n),Gb(e)?e===_s||e==null||e===""?(this._$AH!==_s&&this._$AR(),this._$AH=_s):e!==this._$AH&&e!==qb&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):(r=>s8(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function")(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==_s&&Gb(this._$AH)?this._$AA.nextSibling.data=e:this.T(bg.createTextNode(e)),this._$AH=e}$(e){var s;const{values:n,_$litType$:r}=e,o=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Kb.createElement(Eoe(r.h,r.h[0]),this.options)),r);if(((s=this._$AH)==null?void 0:s._$AD)===o)this._$AH.p(n);else{const a=new UMe(o,this),i=a.u(this.options);a.p(n),this.T(i),this._$AH=a}}_$AC(e){let n=u$.get(e.strings);return n===void 0&&u$.set(e.strings,n=new Kb(e)),n}k(e){s8(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let r,o=0;for(const s of e)o===n.length?n.push(r=new aS(this.O(Hk()),this.O(Hk()),this,this.options)):r=n[o],r._$AI(s),o++;o<n.length&&(this._$AR(r&&r._$AB.nextSibling,o),n.length=o)}_$AR(e=this._$AA.nextSibling,n){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,n);e&&e!==this._$AB;){const o=e.nextSibling;e.remove(),e=o}}setConnected(e){var n;this._$AM===void 0&&(this._$Cv=e,(n=this._$AP)==null||n.call(this,e))}}class iS{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,n,r,o,s){this.type=1,this._$AH=_s,this._$AN=void 0,this.element=e,this.name=n,this._$AM=o,this.options=s,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=_s}_$AI(e,n=this,r,o){const s=this.strings;let a=!1;if(s===void 0)e=dy(this,e,n,0),a=!Gb(e)||e!==this._$AH&&e!==qb,a&&(this._$AH=e);else{const i=e;let l,u;for(e=s[0],l=0;l<s.length-1;l++)u=dy(this,i[r+l],n,l),u===qb&&(u=this._$AH[l]),a||(a=!Gb(u)||u!==this._$AH[l]),u===_s?e=_s:e!==_s&&(e+=(u??"")+s[l+1]),this._$AH[l]=u}a&&!o&&this.j(e)}j(e){e===_s?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class $Me extends iS{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===_s?void 0:e}}class VMe extends iS{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==_s)}}class HMe extends iS{constructor(e,n,r,o,s){super(e,n,r,o,s),this.type=5}_$AI(e,n=this){if((e=dy(this,e,n,0)??_s)===qb)return;const r=this._$AH,o=e===_s&&r!==_s||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,s=e!==_s&&(r===_s||o);o&&this.element.removeEventListener(this.name,this,r),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var n;typeof this._$AH=="function"?this._$AH.call(((n=this.options)==null?void 0:n.host)??this.element,e):this._$AH.handleEvent(e)}}class WMe{constructor(e,n,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){dy(this,e)}}const c9=Yw.litHtmlPolyfillSupport;c9==null||c9(Kb,aS),(Yw.litHtmlVersions??(Yw.litHtmlVersions=[])).push("3.3.0");const P3=globalThis,RD=P3.ShadowRoot&&(P3.ShadyCSS===void 0||P3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,TD=Symbol(),f$=new WeakMap;class Noe{constructor(e,n,r){if(this._$cssResult$=!0,r!==TD)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o;const n=this.t;if(RD&&e===void 0){const r=n!==void 0&&n.length===1;r&&(e=f$.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&f$.set(n,e))}return e}toString(){return this.cssText}}const lS=(t,...e)=>{const n=t.length===1?t[0]:e.reduce((r,o,s)=>r+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+t[s+1],t[0]);return new Noe(n,t,TD)},d$=RD?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(const r of e.cssRules)n+=r.cssText;return(r=>new Noe(typeof r=="string"?r:r+"",void 0,TD))(n)})(t):t,{is:YMe,defineProperty:GMe,getOwnPropertyDescriptor:qMe,getOwnPropertyNames:KMe,getOwnPropertySymbols:ZMe,getPrototypeOf:QMe}=Object,Yp=globalThis,p$=Yp.trustedTypes,JMe=p$?p$.emptyScript:"",u9=Yp.reactiveElementPolyfillSupport,Gw=(t,e)=>t,a8={toAttribute(t,e){switch(e){case Boolean:t=t?JMe:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},Ioe=(t,e)=>!YMe(t,e),h$={attribute:!0,type:String,converter:a8,reflect:!1,useDefault:!1,hasChanged:Ioe};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Yp.litPropertyMetadata??(Yp.litPropertyMetadata=new WeakMap);class i0 extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=h$){if(n.state&&(n.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((n=Object.create(n)).wrapped=!0),this.elementProperties.set(e,n),!n.noAccessor){const r=Symbol(),o=this.getPropertyDescriptor(e,r,n);o!==void 0&&GMe(this.prototype,e,o)}}static getPropertyDescriptor(e,n,r){const{get:o,set:s}=qMe(this.prototype,e)??{get(){return this[n]},set(a){this[n]=a}};return{get:o,set(a){const i=o==null?void 0:o.call(this);s==null||s.call(this,a),this.requestUpdate(e,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??h$}static _$Ei(){if(this.hasOwnProperty(Gw("elementProperties")))return;const e=QMe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Gw("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Gw("properties"))){const n=this.properties,r=[...KMe(n),...ZMe(n)];for(const o of r)this.createProperty(o,n[o])}const e=this[Symbol.metadata];if(e!==null){const n=litPropertyMetadata.get(e);if(n!==void 0)for(const[r,o]of n)this.elementProperties.set(r,o)}this._$Eh=new Map;for(const[n,r]of this.elementProperties){const o=this._$Eu(n,r);o!==void 0&&this._$Eh.set(o,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const n=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const o of r)n.unshift(d$(o))}else e!==void 0&&n.push(d$(e));return n}static _$Eu(e,n){const r=n.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(n=>this.enableUpdating=n),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(n=>n(this))}addController(e){var n;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((n=e.hostConnected)==null||n.call(e))}removeController(e){var n;(n=this._$EO)==null||n.delete(e)}_$E_(){const e=new Map,n=this.constructor.elementProperties;for(const r of n.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((n,r)=>{if(RD)n.adoptedStyleSheets=r.map(o=>o instanceof CSSStyleSheet?o:o.styleSheet);else for(const o of r){const s=document.createElement("style"),a=P3.litNonce;a!==void 0&&s.setAttribute("nonce",a),s.textContent=o.cssText,n.appendChild(s)}})(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostConnected)==null?void 0:r.call(n)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostDisconnected)==null?void 0:r.call(n)})}attributeChangedCallback(e,n,r){this._$AK(e,r)}_$ET(e,n){var s;const r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(o!==void 0&&r.reflect===!0){const a=(((s=r.converter)==null?void 0:s.toAttribute)!==void 0?r.converter:a8).toAttribute(n,r.type);this._$Em=e,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(e,n){var s,a;const r=this.constructor,o=r._$Eh.get(e);if(o!==void 0&&this._$Em!==o){const i=r.getPropertyOptions(o),l=typeof i.converter=="function"?{fromAttribute:i.converter}:((s=i.converter)==null?void 0:s.fromAttribute)!==void 0?i.converter:a8;this._$Em=o,this[o]=l.fromAttribute(n,i.type)??((a=this._$Ej)==null?void 0:a.get(o))??null,this._$Em=null}}requestUpdate(e,n,r){var o;if(e!==void 0){const s=this.constructor,a=this[e];if(r??(r=s.getPropertyOptions(e)),!((r.hasChanged??Ioe)(a,n)||r.useDefault&&r.reflect&&a===((o=this._$Ej)==null?void 0:o.get(e))&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,n,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,n,{useDefault:r,reflect:o,wrapped:s},a){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,a??n??this[e]),s!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(n=void 0),this._$AL.set(e,n)),o===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[s,a]of this._$Ep)this[s]=a;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[s,a]of o){const{wrapped:i}=a,l=this[s];i!==!0||this._$AL.has(s)||l===void 0||this.C(s,void 0,a,l)}}let e=!1;const n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),(r=this._$EO)==null||r.forEach(o=>{var s;return(s=o.hostUpdate)==null?void 0:s.call(o)}),this.update(n)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(n)}willUpdate(e){}_$AE(e){var n;(n=this._$EO)==null||n.forEach(r=>{var o;return(o=r.hostUpdated)==null?void 0:o.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(n=>this._$ET(n,this[n]))),this._$EM()}updated(e){}firstUpdated(e){}}i0.elementStyles=[],i0.shadowRootOptions={mode:"open"},i0[Gw("elementProperties")]=new Map,i0[Gw("finalized")]=new Map,u9==null||u9({ReactiveElement:i0}),(Yp.reactiveElementVersions??(Yp.reactiveElementVersions=[])).push("2.1.0");const qw=globalThis,Wk=qw.trustedTypes,m$=Wk?Wk.createPolicy("lit-html",{createHTML:t=>t}):void 0,Aoe="$lit$",_p=`lit$${Math.random().toFixed(9).slice(2)}$`,_oe="?"+_p,XMe=`<${_oe}>`,xg=document,Zb=()=>xg.createComment(""),Qb=t=>t===null||typeof t!="object"&&typeof t!="function",i8=Array.isArray,f9=`[
49 \f\r]`,dw=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,g$=/-->/g,y$=/>/g,dm=RegExp(`>|${f9}(?:([^\\s"'>=/]+)(${f9}*=${f9}*(?:[^
50 \f\r"'\`<>=]|("|')|))|$)`,"g"),v$=/'/g,w$=/"/g,Moe=/^(?:script|style|textarea|title)$/i,Roe=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),Et=Roe(1),Nr=Roe(2),py=Symbol.for("lit-noChange"),Ms=Symbol.for("lit-nothing"),b$=new WeakMap,Om=xg.createTreeWalker(xg,129);function Toe(t,e){if(!i8(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return m$!==void 0?m$.createHTML(e):e}const eRe=(t,e)=>{const n=t.length-1,r=[];let o,s=e===2?"<svg>":e===3?"<math>":"",a=dw;for(let i=0;i<n;i++){const l=t[i];let u,d,f=-1,m=0;for(;m<l.length&&(a.lastIndex=m,d=a.exec(l),d!==null);)m=a.lastIndex,a===dw?d[1]==="!--"?a=g$:d[1]!==void 0?a=y$:d[2]!==void 0?(Moe.test(d[2])&&(o=RegExp("</"+d[2],"g")),a=dm):d[3]!==void 0&&(a=dm):a===dm?d[0]===">"?(a=o??dw,f=-1):d[1]===void 0?f=-2:(f=a.lastIndex-d[2].length,u=d[1],a=d[3]===void 0?dm:d[3]==='"'?w$:v$):a===w$||a===v$?a=dm:a===g$||a===y$?a=dw:(a=dm,o=void 0);const g=a===dm&&t[i+1].startsWith("/>")?" ":"";s+=a===dw?l+XMe:f>=0?(r.push(u),l.slice(0,f)+Aoe+l.slice(f)+_p+g):l+_p+(f===-2?i:g)}return[Toe(t,s+(t[n]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]};class Jb{constructor({strings:e,_$litType$:n},r){let o;this.parts=[];let s=0,a=0;const i=e.length-1,l=this.parts,[u,d]=eRe(e,n);if(this.el=Jb.createElement(u,r),Om.currentNode=this.el.content,n===2||n===3){const f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(o=Om.nextNode())!==null&&l.length<i;){if(o.nodeType===1){if(o.hasAttributes())for(const f of o.getAttributeNames())if(f.endsWith(Aoe)){const m=d[a++],g=o.getAttribute(f).split(_p),w=/([.?@])?(.*)/.exec(m);l.push({type:1,index:s,name:w[2],strings:g,ctor:w[1]==="."?nRe:w[1]==="?"?rRe:w[1]==="@"?oRe:cS}),o.removeAttribute(f)}else f.startsWith(_p)&&(l.push({type:6,index:s}),o.removeAttribute(f));if(Moe.test(o.tagName)){const f=o.textContent.split(_p),m=f.length-1;if(m>0){o.textContent=Wk?Wk.emptyScript:"";for(let g=0;g<m;g++)o.append(f[g],Zb()),Om.nextNode(),l.push({type:2,index:++s});o.append(f[m],Zb())}}}else if(o.nodeType===8)if(o.data===_oe)l.push({type:2,index:s});else{let f=-1;for(;(f=o.data.indexOf(_p,f+1))!==-1;)l.push({type:7,index:s}),f+=_p.length-1}s++}}static createElement(e,n){const r=xg.createElement("template");return r.innerHTML=e,r}}function hy(t,e,n=t,r){var a,i;if(e===py)return e;let o=r!==void 0?(a=n._$Co)==null?void 0:a[r]:n._$Cl;const s=Qb(e)?void 0:e._$litDirective$;return(o==null?void 0:o.constructor)!==s&&((i=o==null?void 0:o._$AO)==null||i.call(o,!1),s===void 0?o=void 0:(o=new s(t),o._$AT(t,n,r)),r!==void 0?(n._$Co??(n._$Co=[]))[r]=o:n._$Cl=o),o!==void 0&&(e=hy(t,o._$AS(t,e.values),o,r)),e}class tRe{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:n},parts:r}=this._$AD,o=((e==null?void 0:e.creationScope)??xg).importNode(n,!0);Om.currentNode=o;let s=Om.nextNode(),a=0,i=0,l=r[0];for(;l!==void 0;){if(a===l.index){let u;l.type===2?u=new G2(s,s.nextSibling,this,e):l.type===1?u=new l.ctor(s,l.name,l.strings,this,e):l.type===6&&(u=new sRe(s,this,e)),this._$AV.push(u),l=r[++i]}a!==(l==null?void 0:l.index)&&(s=Om.nextNode(),a++)}return Om.currentNode=xg,o}p(e){let n=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,n),n+=r.strings.length-2):r._$AI(e[n])),n++}}class G2{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,n,r,o){this.type=2,this._$AH=Ms,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=r,this.options=o,this._$Cv=(o==null?void 0:o.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=hy(this,e,n),Qb(e)?e===Ms||e==null||e===""?(this._$AH!==Ms&&this._$AR(),this._$AH=Ms):e!==this._$AH&&e!==py&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):(r=>i8(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function")(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==Ms&&Qb(this._$AH)?this._$AA.nextSibling.data=e:this.T(xg.createTextNode(e)),this._$AH=e}$(e){var s;const{values:n,_$litType$:r}=e,o=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Jb.createElement(Toe(r.h,r.h[0]),this.options)),r);if(((s=this._$AH)==null?void 0:s._$AD)===o)this._$AH.p(n);else{const a=new tRe(o,this),i=a.u(this.options);a.p(n),this.T(i),this._$AH=a}}_$AC(e){let n=b$.get(e.strings);return n===void 0&&b$.set(e.strings,n=new Jb(e)),n}k(e){i8(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let r,o=0;for(const s of e)o===n.length?n.push(r=new G2(this.O(Zb()),this.O(Zb()),this,this.options)):r=n[o],r._$AI(s),o++;o<n.length&&(this._$AR(r&&r._$AB.nextSibling,o),n.length=o)}_$AR(e=this._$AA.nextSibling,n){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,n);e&&e!==this._$AB;){const o=e.nextSibling;e.remove(),e=o}}setConnected(e){var n;this._$AM===void 0&&(this._$Cv=e,(n=this._$AP)==null||n.call(this,e))}}class cS{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,n,r,o,s){this.type=1,this._$AH=Ms,this._$AN=void 0,this.element=e,this.name=n,this._$AM=o,this.options=s,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=Ms}_$AI(e,n=this,r,o){const s=this.strings;let a=!1;if(s===void 0)e=hy(this,e,n,0),a=!Qb(e)||e!==this._$AH&&e!==py,a&&(this._$AH=e);else{const i=e;let l,u;for(e=s[0],l=0;l<s.length-1;l++)u=hy(this,i[r+l],n,l),u===py&&(u=this._$AH[l]),a||(a=!Qb(u)||u!==this._$AH[l]),u===Ms?e=Ms:e!==Ms&&(e+=(u??"")+s[l+1]),this._$AH[l]=u}a&&!o&&this.j(e)}j(e){e===Ms?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class nRe extends cS{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===Ms?void 0:e}}class rRe extends cS{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==Ms)}}class oRe extends cS{constructor(e,n,r,o,s){super(e,n,r,o,s),this.type=5}_$AI(e,n=this){if((e=hy(this,e,n,0)??Ms)===py)return;const r=this._$AH,o=e===Ms&&r!==Ms||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,s=e!==Ms&&(r===Ms||o);o&&this.element.removeEventListener(this.name,this,r),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var n;typeof this._$AH=="function"?this._$AH.call(((n=this.options)==null?void 0:n.host)??this.element,e):this._$AH.handleEvent(e)}}class sRe{constructor(e,n,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){hy(this,e)}}const d9=qw.litHtmlPolyfillSupport;d9==null||d9(Jb,G2),(qw.litHtmlVersions??(qw.litHtmlVersions=[])).push("3.3.0");const qm=globalThis;class U0 extends i0{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var n;const e=super.createRenderRoot();return(n=this.renderOptions).renderBefore??(n.renderBefore=e.firstChild),e}update(e){const n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((r,o,s)=>{const a=(s==null?void 0:s.renderBefore)??o;let i=a._$litPart$;if(i===void 0){const l=(s==null?void 0:s.renderBefore)??null;a._$litPart$=i=new G2(o.insertBefore(Zb(),l),l,void 0,s??{})}return i._$AI(r),i})(n,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return py}}var uJ;U0._$litElement$=!0,U0.finalized=!0,(uJ=qm.litElementHydrateSupport)==null||uJ.call(qm,{LitElement:U0});const p9=qm.litElementPolyfillSupport;p9==null||p9({LitElement:U0}),(qm.litElementVersions??(qm.litElementVersions=[])).push("4.2.0");const Wn=t=>(e,n)=>{n!==void 0?n.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)},aRe={attribute:!0,type:String,converter:$k,reflect:!1,hasChanged:MD},iRe=(t=aRe,e,n)=>{const{kind:r,metadata:o}=n;let s=globalThis.litPropertyMetadata.get(o);if(s===void 0&&globalThis.litPropertyMetadata.set(o,s=new Map),r==="setter"&&((t=Object.create(t)).wrapped=!0),s.set(n.name,t),r==="accessor"){const{name:a}=n;return{set(i){const l=e.get.call(this);e.set.call(this,i),this.requestUpdate(a,l,t)},init(i){return i!==void 0&&this.C(a,void 0,t,i),i}}}if(r==="setter"){const{name:a}=n;return function(i){const l=this[a];e.call(this,i),this.requestUpdate(a,l,t)}}throw Error("Unsupported decorator location: "+r)};function Jo(t){return(e,n)=>typeof n=="object"?iRe(t,e,n):((r,o,s)=>{const a=o.hasOwnProperty(s);return o.constructor.createProperty(s,r),a?Object.getOwnPropertyDescriptor(o,s):void 0})(t,e,n)}function Xn(t){return Jo({...t,state:!0,attribute:!1})}let x$,k$;class DD extends U0{updated(e){var n;if(super.updated(e),globalThis.document&&globalThis.document.documentElement.classList.contains("dark")&&(n=this.shadowRoot)!=null&&(n=n.children)!=null&&n.length)for(const r of this.shadowRoot.children)r.classList.contains("dark")||r.classList.add("dark")}_getBrandColorLuminance(){if(!globalThis.window)return 0;const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;let n=window.getComputedStyle(this).getPropertyValue(e?"--bc-color-brand-dark":"--bc-color-brand")||window.getComputedStyle(this).getPropertyValue("--bc-color-brand")||"#196CE7";if(!n.match(/^#[0-9A-F]{6}$/i)){const r=document.createElement("div");r.style.color=n,r.style.display="none",document.body.appendChild(r),n=window.getComputedStyle(r).color,r.remove()}return(function(r){if(r.startsWith("#"))return r=r.slice(1),(.299*parseInt(r.slice(0,2),16)+.587*parseInt(r.slice(2,4),16)+.114*parseInt(r.slice(4,6),16))/255;if(r.startsWith("rgb")||r.startsWith("rgba")){const o=r.match(/\d+(\.\d+)?/g);return(.299*parseFloat(o[0])+.587*parseFloat(o[1])+.114*parseFloat(o[2]))/255}throw new Error("Unsupported luminance: "+r)})(n)}}DD.styles=[lS(x$||(x$=(t=>t)`
51 :host {
52 // global css reset in shadow DOM
53 all: initial;
54 font-variant-numeric: slashed-zero;
55 }
56 // TODO: move to individual components - only needed by a couple of icons
57 .hover-animation:hover .hover-right-up {
58 transform: translateX(2px) translateY(-2px);
59 transition: all 0.3s;
60 }
61 .hover-animation:hover .hover-right {
62 transform: translateX(3px);
63 transition: all 0.3s;
64 }
65 `))];class nr extends DD{constructor(){super(),this._modalOpen=!1,this._connected=!1,this._connecting=!1,this._connectorName=void 0,this._appName=void 0,this._appIcon=void 0,this._filters=void 0,this._error=void 0,this._connected=Ht.getState().connected,this._connecting=Ht.getState().connecting,this._connectorName=Ht.getState().connectorName,this._appName=Ht.getState().bitcoinConnectConfig.appName,this._appIcon=Ht.getState().bitcoinConnectConfig.appIcon,this._filters=Ht.getState().bitcoinConnectConfig.filters,this._error=Ht.getState().error,this._route=Ht.getState().route,this._modalOpen=Ht.getState().modalOpen,Ht.subscribe(e=>{this._connected=e.connected,this._connecting=e.connecting,this._connectorName=e.connectorName,this._appName=e.bitcoinConnectConfig.appName,this._appIcon=e.bitcoinConnectConfig.appIcon,this._filters=e.bitcoinConnectConfig.filters,this._error=e.error,this._route=e.route,this._modalOpen=e.modalOpen})}}Tt([Xn()],nr.prototype,"_modalOpen",void 0),Tt([Xn()],nr.prototype,"_connected",void 0),Tt([Xn()],nr.prototype,"_connecting",void 0),Tt([Xn()],nr.prototype,"_connectorName",void 0),Tt([Xn()],nr.prototype,"_appName",void 0),Tt([Xn()],nr.prototype,"_appIcon",void 0),Tt([Xn()],nr.prototype,"_filters",void 0),Tt([Xn()],nr.prototype,"_error",void 0),Tt([Xn()],nr.prototype,"_route",void 0);const Kw=Nr(k$||(k$=(t=>t)`
66 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path fill-rule="evenodd" clip-rule="evenodd" d="M15.4635 6.0794C17.4325 6.83684 18.8238 7.94315 18.5058 9.88813C18.3285 10.984 17.8283 11.6586 17.1374 12.0334C16.8767 12.1748 16.8191 12.6131 17.0507 12.7984C18.0431 13.592 18.4393 14.7164 17.8152 16.4238C16.9057 18.9138 14.8635 19.177 12.1521 18.6697C11.9858 18.6385 11.8223 18.7396 11.7792 18.9032L11.4563 20.1009C11.3343 20.5633 10.8605 20.8392 10.3981 20.7173C9.93541 20.5953 9.65932 20.1212 9.78149 19.6586L10.0909 18.5121C10.1354 18.3439 10.0349 18.1715 9.86676 18.1266C9.62998 18.0632 9.39019 17.9976 9.14679 17.9294C8.97646 17.8817 8.79964 17.9822 8.75452 18.1532L8.44373 19.3067C8.32182 19.7688 7.8483 20.0446 7.38616 19.9226C6.92422 19.8007 6.64851 19.3274 6.77026 18.8655L7.08988 17.677C7.13458 17.5073 7.03399 17.3333 6.86481 17.2869C6.81003 17.2718 6.75512 17.2567 6.70008 17.2415L6.69828 17.241C6.4604 17.1755 6.22001 17.1094 5.97667 17.0449L5.42127 16.8919C4.80739 16.7299 4.48576 16.0556 4.74625 15.4767C4.95488 15.013 5.47104 14.7734 5.96239 14.9043C5.97132 14.9067 5.98016 14.909 5.98891 14.9113C6.1066 14.9426 6.10094 14.9199 6.21958 14.8924C6.46112 14.8366 6.58893 14.6373 6.65055 14.4901L7.80952 10.0986L7.81254 10.0867L8.63176 6.98069C8.63683 6.96147 8.64021 6.94184 8.64116 6.92198C8.65547 6.62155 8.78957 6.31876 8.35166 6.11178C8.25682 6.06695 8.16354 6.02432 8.06217 5.99736C8.04539 5.9929 8.02808 5.98833 8.01032 5.98367C7.51444 5.85341 7.21198 5.34932 7.34263 4.85356C7.47162 4.36411 7.9731 4.07202 8.46248 4.2013L9.43668 4.47448C9.68634 4.54012 9.94146 4.60362 10.2006 4.66691C10.3681 4.70784 10.5375 4.60681 10.5815 4.44006L10.8668 3.39102C10.9889 2.9288 11.4625 2.65299 11.9247 2.77495C12.3871 2.89693 12.663 3.37062 12.541 3.83294L12.2715 4.82295C12.2273 4.99041 12.3292 5.16145 12.4975 5.20248C12.7444 5.26269 12.9911 5.32354 13.2353 5.38588C13.4 5.42795 13.5684 5.32988 13.6118 5.16547L13.8783 4.18608C14.0003 3.72357 14.4741 3.44751 14.9366 3.56948C15.3992 3.69145 15.6753 4.16533 15.5533 4.62789L15.2637 5.69461C15.2215 5.85461 15.3091 6.01999 15.4635 6.0794ZM11.2479 8.6805L11.4769 7.81121C11.5836 7.40644 11.9982 7.16477 12.403 7.27142C12.8077 7.37807 13.0494 7.79266 12.9428 8.19743L12.7137 9.06672L13.5829 9.29575C13.9877 9.4024 14.2294 9.81699 14.1227 10.2218C14.0161 10.6265 13.6015 10.8682 13.1967 10.7615L12.3275 10.5325L12.0984 11.4018C11.9918 11.8066 11.5772 12.0483 11.1724 11.9416C10.7676 11.835 10.5259 11.4204 10.6326 11.0156L10.8617 10.1463L9.99225 9.91722C9.58747 9.81056 9.34579 9.39598 9.45245 8.99121C9.5591 8.58644 9.9737 8.34477 10.3785 8.45142L11.2479 8.6805ZM13.2927 12.7001L13.0636 13.5693L12.1942 13.3403C11.7895 13.2336 11.3749 13.4753 11.2682 13.8801C11.1615 14.2848 11.4032 14.6994 11.808 14.8061L12.6774 15.0351L12.4484 15.9045C12.3417 16.3092 12.5834 16.7238 12.9882 16.8305C13.3929 16.9371 13.8075 16.6954 13.9142 16.2907L14.1432 15.4214L15.0125 15.6504C15.4172 15.757 15.8318 15.5154 15.9385 15.1106C16.0451 14.7058 15.8035 14.2912 15.3987 14.1846L14.5295 13.9556L14.7585 13.0863C14.8652 12.6815 14.6235 12.2669 14.2187 12.1603C13.8139 12.0536 13.3994 12.2953 13.2927 12.7001Z" fill="currentColor"/>
68 </svg>`));function LD(t){return[...t.v,(t.i?"!":"")+t.n].join(":")}function lRe(t,e=","){return t.map(LD).join(e)}let Doe=typeof CSS<"u"&&CSS.escape||(t=>t.replace(/[!"'`*+.,;:\\/<=>?@#$%&^|~()[\]{}]/g,"\\$&").replace(/^\d/,"\\3$& "));function Yk(t){for(var e=9,n=t.length;n--;)e=Math.imul(e^t.charCodeAt(n),1597334677);return"#"+((e^e>>>9)>>>0).toString(36)}function PD(t,e="@media "){return e+oo(t).map(n=>(typeof n=="string"&&(n={min:n}),n.raw||Object.keys(n).map(r=>`(${r}-width:${n[r]})`).join(" and "))).join(",")}function oo(t=[]){return Array.isArray(t)?t:t==null?[]:[t]}function j$(t){return t}function l8(){}let Sa={d:0,b:134217728,c:268435456,a:671088640,u:805306368,o:939524096};function Loe(t){var e;return((e=t.match(/[-=:;]/g))==null?void 0:e.length)||0}function c8(t){return Math.min(/(?:^|width[^\d]+)(\d+(?:.\d+)?)(p)?/.test(t)?Math.max(0,29.63*(+RegExp.$1/(RegExp.$2?15:1))**.137-43):0,15)<<22|Math.min(Loe(t),15)<<18}let cRe=["rst-c","st-ch","h-chi","y-lin","nk","sited","ecked","pty","ad-on","cus-w","ver","cus","cus-v","tive","sable","tiona","quire"];function OD({n:t,i:e,v:n=[]},r,o,s){t&&(t=LD({n:t,i:e,v:n})),s=[...oo(s)];for(let a of n){let i=r.theme("screens",a);for(let l of oo(i&&PD(i)||r.v(a)))s.push(l),o|=i?67108864|c8(l):a=="dark"?1073741824:l[0]=="@"?c8(l):1<<~(/:([a-z-]+)/.test(l)&&~cRe.indexOf(RegExp.$1.slice(2,7))||-18)}return{n:t,p:o,r:s,i:e}}let Poe=new Map;function u8(t){if(t.d){let e=[],n=h9(t.r.reduce((r,o)=>o[0]=="@"?(e.push(o),r):o?h9(r,s=>h9(o,a=>{let i=/(:merge\(.+?\))(:[a-z-]+|\\[.+])/.exec(a);if(i){let l=s.indexOf(i[1]);return~l?s.slice(0,l)+i[0]+s.slice(l+i[1].length):m9(s,a)}return m9(a,s)})):r,"&"),r=>m9(r,t.n?"."+Doe(t.n):""));return n&&e.push(n.replace(/:merge\((.+?)\)/g,"$1")),e.reduceRight((r,o)=>o+"{"+r+"}",t.d)}}function h9(t,e){return t.replace(/ *((?:\(.+?\)|\[.+?\]|[^,])+) *(,|$)/g,(n,r,o)=>e(r)+o)}function m9(t,e){return t.replace(/&/g,e)}let C$=new Intl.Collator("en",{numeric:!0});function Ooe(t,e){for(var n=0,r=t.length;n<r;){let o=r+n>>1;0>=zoe(t[o],e)?n=o+1:r=o}return r}function zoe(t,e){let n=t.p&Sa.o;return n!=(e.p&Sa.o)||n!=Sa.b&&n!=Sa.o?t.p-e.p||t.o-e.o||C$.compare(S$(t.n),S$(e.n))||C$.compare(E$(t.n),E$(e.n)):0}function S$(t){return(t||"").split(/:/).pop().split("/").pop()||"\0"}function E$(t){return(t||"").replace(/\W/g,e=>String.fromCharCode(127+e.charCodeAt(0)))+"\0"}function g9(t,e){return Math.round(parseInt(t,16)*e)}function Lp(t,e={}){if(typeof t=="function")return t(e);let{opacityValue:n="1",opacityVariable:r}=e,o=r?`var(${r})`:n;if(t.includes("<alpha-value>"))return t.replace("<alpha-value>",o);if(t[0]=="#"&&(t.length==4||t.length==7)){let s=(t.length-1)/3,a=[17,1,.062272][s-1];return`rgba(${[g9(t.substr(1,s),a),g9(t.substr(1+s,s),a),g9(t.substr(1+2*s,s),a),o]})`}return o=="1"?t:o=="0"?"#0000":t.replace(/^(rgb|hsl)(\([^)]+)\)$/,`$1a$2,${o})`)}function Foe(t,e,n,r,o=[]){return(function s(a,{n:i,p:l,r:u=[],i:d},f){let m=[],g="",w=0,b=0;for(let I in a||{}){var j,S;let N=a[I];if(I[0]=="@"){if(!N)continue;if(I[1]=="a"){m.push(...FD(i,l,qk(""+N),f,l,u,d,!0));continue}if(I[1]=="l"){for(let M of oo(N))m.push(...s(M,{n:i,p:(j=Sa[I[7]],l&-939524097|j),r:I[7]=="d"?[]:u,i:d},f));continue}if(I[1]=="i"){m.push(...oo(N).map(M=>({p:-1,o:0,r:[],d:I+" "+M})));continue}if(I[1]=="k"){m.push({p:Sa.d,o:0,r:[I],d:s(N,{p:Sa.d},f).map(u8).join("")});continue}if(I[1]=="f"){m.push(...oo(N).map(M=>({p:Sa.d,o:0,r:[I],d:s(M,{p:Sa.d},f).map(u8).join("")})));continue}}if(typeof N!="object"||Array.isArray(N))I=="label"&&N?i=N+Yk(JSON.stringify([l,d,a])):(N||N===0)&&(I=I.replace(/[A-Z]/g,M=>"-"+M.toLowerCase()),b+=1,w=Math.max(w,(S=I)[0]=="-"?0:Loe(S)+(/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7,8}$)|([fl].{5}l|g.{8}$|pl))/.test(S)?+!!RegExp.$1||-!!RegExp.$2:0)+1),g+=(g?";":"")+oo(N).map(M=>f.s(I,zD(""+M,f.theme)+(d?" !important":""))).join(";"));else if(I[0]=="@"||I.includes("&")){let M=l;I[0]=="@"&&(I=I.replace(/\bscreen\(([^)]+)\)/g,(D,P)=>{let L=f.theme("screens",P);return L?(M|=67108864,PD(L,"")):D}),M|=c8(I)),m.push(...s(N,{n:i,p:M,r:[...u,I],i:d},f))}else m.push(...s(N,{p:l,r:[...u,I]},f))}return m.unshift({n:i,p:l,o:Math.max(0,15-b)+1.5*Math.min(w||15,15),r:u,d:g}),m.sort(zoe)})(t,OD(e,n,r,o),n)}function zD(t,e){return t.replace(/theme\((["'`])?(.+?)\1(?:\s*,\s*(["'`])?(.+?)\3)?\)/g,(n,r,o,s,a="")=>{let i=e(o,a);return typeof i=="function"&&/color|fill|stroke/i.test(o)?Lp(i):""+oo(i).filter(l=>Object(l)!==l)})}function Boe(t,e){let n,r=[];for(let o of t)o.d&&o.n?(n==null?void 0:n.p)==o.p&&""+n.r==""+o.r?(n.c=[n.c,o.c].filter(Boolean).join(" "),n.d=n.d+";"+o.d):r.push(n={...o,n:o.n&&e}):r.push({...o,n:o.n&&e});return r}function Gk(t,e,n=Sa.u,r,o){let s=[];for(let a of t)for(let i of(function(l,u,d,f,m){let g=(function(w,b){let j=Poe.get(w.n);return j?j(w,b):b.r(w.n,w.v[0]=="dark")})(l={...l,i:l.i||m},u);return g?typeof g=="string"?({r:f,p:d}=OD(l,u,d,f),Boe(Gk(qk(g),u,d,f,l.i),l.n)):Array.isArray(g)?g.map(w=>{var b,j;return{o:0,...w,r:[...oo(f),...oo(w.r)],p:(b=d,j=w.p??d,b&-939524097|j)}}):Foe(g,l,u,d,f):[{c:LD(l),p:0,o:0,r:[]}]})(a,e,n,r,o))s.splice(Ooe(s,i),0,i);return s}function FD(t,e,n,r,o,s,a,i){return Boe((i?n.flatMap(l=>Gk([l],r,o,s,a)):Gk(n,r,o,s,a)).map(l=>l.p&Sa.o&&(l.n||e==Sa.b)?{...l,p:l.p&-939524097|e,o:0}:l),t)}function uRe(t,e,n,r){return Poe.set(t,(o,s)=>{let{n:a,p:i,r:l,i:u}=OD(o,s,e);return n&&FD(a,e,n,s,i,l,u,r)}),t}function y9(t,e,n){if(t[t.length-1]!="("){let r=[],o=!1,s=!1,a="";for(let i of t)if(i!="("&&!/[~@]$/.test(i)){if(i[0]=="!"&&(i=i.slice(1),o=!o),i.endsWith(":")){r[i=="dark:"?"unshift":"push"](i.slice(0,-1));continue}i[0]=="-"&&(i=i.slice(1),s=!s),i.endsWith("-")&&(i=i.slice(0,-1)),i&&i!="&"&&(a+=(a&&"-")+i)}a&&(s&&(a="-"+a),e[0].push({n:a,v:r.filter(fRe),i:o}))}}function fRe(t,e,n){return n.indexOf(t)==e}let N$=new Map;function qk(t){let e=N$.get(t);if(!e){let n=[],r=[[]],o=0,s=0,a=null,i=0,l=(u,d=0)=>{o!=i&&(n.push(t.slice(o,i+d)),u&&y9(n,r)),o=i+1};for(;i<t.length;i++){let u=t[i];if(s)t[i-1]!="\\"&&(s+=+(u=="[")||-(u=="]"));else if(u=="[")s+=1;else if(a)t[i-1]!="\\"&&a.test(t.slice(i))&&(a=null,o=i+RegExp.lastMatch.length);else if(u!="/"||t[i-1]=="\\"||t[i+1]!="*"&&t[i+1]!="/")if(u=="(")l(),n.push(u);else if(u==":")t[i+1]!=":"&&l(!1,1);else if(/[\s,)]/.test(u)){l(!0);let d=n.lastIndexOf("(");if(u==")"){let f=n[d-1];if(/[~@]$/.test(f)){let m=r.shift();n.length=d,y9([...n,"#"],r);let{v:g}=r[0].pop();for(let w of m)w.v.splice(+(w.v[0]=="dark")-+(g[0]=="dark"),g.length);y9([...n,uRe(f.length>1?f.slice(0,-1)+Yk(JSON.stringify([f,m])):f+"("+lRe(m)+")",Sa.a,m,/@$/.test(f))],r)}d=n.lastIndexOf("(",d-1)}n.length=d+1}else/[~@]/.test(u)&&t[i+1]=="("&&r.unshift([]);else a=t[i+1]=="*"?/^\*\//:/^[\r\n]/}l(!0),N$.set(t,e=r[0])}return e}function Yt(t,e,n){return[t,f8(e,n)]}function f8(t,e){return typeof t=="function"?t:typeof t=="string"&&/^[\w-]+$/.test(t)?(n,r)=>({[t]:e?e(n,r):d8(n,1)}):n=>t||{[n[1]]:d8(n,2)}}function d8(t,e,n=t.slice(e).find(Boolean)||t.$$||t.input){return t.input[0]=="-"?`calc(${n} * -1)`:n}function Gt(t,e,n,r){return[t,dRe(e,n,r)]}function dRe(t,e,n){let r=typeof e=="string"?(o,s)=>({[e]:n?n(o,s):o._}):e||(({1:o,_:s},a,i)=>({[o||i]:s}));return(o,s)=>{let a=Uoe(t||o[1]),i=s.theme(a,o.$$)??Pp(o.$$,a,s);if(i!=null)return o._=d8(o,0,i),r(o,s,a)}}function Cs(t,e={},n){return[t,pRe(e,n)]}function pRe(t={},e){return(n,r)=>{let{section:o=Uoe(n[0]).replace("-","")+"Color"}=t,[s,a]=(n.$$.match(/^(\[[^\]]+]|[^/]+?)(?:\/(.+))?$/)||[]).slice(1);if(!s)return;let i=r.theme(o,s)||Pp(s,o,r);if(!i||typeof i=="object")return;let{opacityVariable:l=`--tw-${n[0].replace(/-$/,"")}-opacity`,opacitySection:u=o.replace("Color","Opacity"),property:d=o,selector:f}=t,m=r.theme(u,a||"DEFAULT")||a&&Pp(a,u,r),g=e||(({_:b})=>{let j=O3(d,b);return f?{[f]:j}:j});n._={value:Lp(i,{opacityVariable:l||void 0,opacityValue:m||void 0}),color:b=>Lp(i,b),opacityVariable:l||void 0,opacityValue:m||void 0};let w=g(n,r);if(!n.dark){let b=r.d(o,s,i);b&&b!==i&&(n._={value:Lp(b,{opacityVariable:l||void 0,opacityValue:m||"1"}),color:j=>Lp(b,j),opacityVariable:l||void 0,opacityValue:m||void 0},w={"&":w,[r.v("dark")]:g(n,r)})}return w}}function O3(t,e){let n={};return typeof e=="string"?n[t]=e:(e.opacityVariable&&e.value.includes(e.opacityVariable)&&(n[e.opacityVariable]=e.opacityValue||"1"),n[t]=e.value),n}function Pp(t,e,n){if(t[0]=="["&&t.slice(-1)=="]"){if(t=Xb(zD(t.slice(1,-1),n.theme)),!e)return t;if(!(/color|fill|stroke/i.test(e)&&!/^color:/.test(t)&&!/^(#|((hsl|rgb)a?|hwb|lab|lch|color)\(|[a-z]+$)/.test(t)||/image/i.test(e)&&!/^image:/.test(t)&&!/^[a-z-]+\(/.test(t)||/weight/i.test(e)&&!/^(number|any):/.test(t)&&!/^\d+$/.test(t)||/position/i.test(e)&&/^(length|size):/.test(t)))return t.replace(/^[a-z-]+:/,"")}}function Uoe(t){return t.replace(/-./g,e=>e[1].toUpperCase())}function Xb(t){return t.includes("url(")?t.replace(/(.*?)(url\(.*?\))(.*?)/g,(e,n="",r,o="")=>Xb(n)+r+Xb(o)):t.replace(/(^|[^\\])_+/g,(e,n)=>n+" ".repeat(e.length-n.length)).replace(/\\_/g,"_").replace(/(calc|min|max|clamp)\(.+\)/g,e=>e.replace(/(-?\d*\.?\d(?!\b-.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g,"$1 $2 "))}function I$({presets:t=[],...e}){let n={darkMode:void 0,darkColor:void 0,preflight:e.preflight!==!1&&[],theme:{},variants:oo(e.variants),rules:oo(e.rules),ignorelist:oo(e.ignorelist),hash:void 0,stringify:(r,o)=>r+":"+o,finalize:[]};for(let r of oo([...t,{darkMode:e.darkMode,darkColor:e.darkColor,preflight:e.preflight!==!1&&oo(e.preflight),theme:e.theme,hash:e.hash,stringify:e.stringify,finalize:e.finalize}])){let{preflight:o,darkMode:s=n.darkMode,darkColor:a=n.darkColor,theme:i,variants:l,rules:u,ignorelist:d,hash:f=n.hash,stringify:m=n.stringify,finalize:g}=typeof r=="function"?r(n):r;n={preflight:n.preflight!==!1&&o!==!1&&[...n.preflight,...oo(o)],darkMode:s,darkColor:a,theme:{...n.theme,...i,extend:{...n.theme.extend,...i==null?void 0:i.extend}},variants:[...n.variants,...oo(l)],rules:[...n.rules,...oo(u)],ignorelist:[...n.ignorelist,...oo(d)],hash:f,stringify:m,finalize:[...n.finalize,...oo(g)]}}return n}function A$(t,e,n,r,o,s){for(let a of e){let i=n.get(a);i||n.set(a,i=r(a));let l=i(t,o,s);if(l)return l}}function hRe(t){var e;return p8(t[0],typeof(e=t[1])=="function"?e:()=>e)}function mRe(t){return Array.isArray(t)?p8(t[0],f8(t[1],t[2])):p8(t,f8(void 0,void 0))}function p8(t,e){return $oe(t,(n,r,o,s)=>{let a=r.exec(n);if(a)return a.$$=n.slice(a[0].length),a.dark=s,e(a,o)})}function $oe(t,e){let n=oo(t).map(gRe);return(r,o,s)=>{for(let a of n){let i=e(r,a,o,s);if(i)return i}}}function gRe(t){return typeof t=="string"?RegExp("^"+t+(t.includes("$")||t.slice(-1)=="-"?"":"$")):t}function v9(t){let e=t!=null&&t.cssRules?t:(t&&typeof t!="string"?t:(function(n){let r=document.querySelector(n||'style[data-twind=""]');return r&&r.tagName=="STYLE"||(r=document.createElement("style"),document.head.prepend(r)),r.dataset.twind="claimed",r})(t)).sheet;return{target:e,snapshot(){let n=Array.from(e.cssRules,r=>r.cssText);return()=>{this.clear(),n.forEach(this.insert)}},clear(){for(let n=e.cssRules.length;n--;)e.deleteRule(n)},destroy(){var n;(n=e.ownerNode)==null||n.remove()},insert(n,r){try{e.insertRule(n,r)}catch{e.insertRule(":root{}",r)}},resume:l8}}let h8={screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},columns:{auto:"auto","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},spacing:{px:"1px",0:"0px",...Yi(4,"rem",4,.5,.5),...Yi(12,"rem",4,5),14:"3.5rem",...Yi(64,"rem",4,16,4),72:"18rem",80:"20rem",96:"24rem"},durations:{75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0,0,0.2,1) infinite",pulse:"pulse 2s cubic-bezier(0.4,0,0.6,1) infinite",bounce:"bounce 1s infinite"},aspectRatio:{auto:"auto",square:"1/1",video:"16/9"},backdropBlur:yr("blur"),backdropBrightness:yr("brightness"),backdropContrast:yr("contrast"),backdropGrayscale:yr("grayscale"),backdropHueRotate:yr("hueRotate"),backdropInvert:yr("invert"),backdropOpacity:yr("opacity"),backdropSaturate:yr("saturate"),backdropSepia:yr("sepia"),backgroundColor:yr("colors"),backgroundImage:{none:"none"},backgroundOpacity:yr("opacity"),backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{none:"none",0:"0",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},brightness:{...Yi(200,"",100,0,50),...Yi(110,"",100,90,5),75:"0.75",125:"1.25"},borderColor:({theme:t})=>({DEFAULT:t("colors.gray.200","currentColor"),...t("colors")}),borderOpacity:yr("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem","1/2":"50%",full:"9999px"},borderSpacing:yr("spacing"),borderWidth:{DEFAULT:"1px",...Tl(8,"px")},boxShadow:{sm:"0 1px 2px 0 rgba(0,0,0,0.05)",DEFAULT:"0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1)",md:"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",lg:"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",xl:"0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)","2xl":"0 25px 50px -12px rgba(0,0,0,0.25)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.05)",none:"0 0 #0000"},boxShadowColor:yr("colors"),caretColor:yr("colors"),accentColor:({theme:t})=>({auto:"auto",...t("colors")}),contrast:{...Yi(200,"",100,0,50),75:"0.75",125:"1.25"},content:{none:"none"},divideColor:yr("borderColor"),divideOpacity:yr("borderOpacity"),divideWidth:yr("borderWidth"),dropShadow:{sm:"0 1px 1px rgba(0,0,0,0.05)",DEFAULT:["0 1px 2px rgba(0,0,0,0.1)","0 1px 1px rgba(0,0,0,0.06)"],md:["0 4px 3px rgba(0,0,0,0.07)","0 2px 2px rgba(0,0,0,0.06)"],lg:["0 10px 8px rgba(0,0,0,0.04)","0 4px 3px rgba(0,0,0,0.1)"],xl:["0 20px 13px rgba(0,0,0,0.03)","0 8px 5px rgba(0,0,0,0.08)"],"2xl":"0 25px 25px rgba(0,0,0,0.15)",none:"0 0 #0000"},fill:({theme:t})=>({...t("colors"),none:"none"}),grayscale:{DEFAULT:"100%",0:"0"},hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},invert:{DEFAULT:"100%",0:"0"},flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:t})=>({...t("spacing"),...pw(2,6),...pw(12,12),auto:"auto",full:"100%"}),flexGrow:{DEFAULT:1,0:0},flexShrink:{DEFAULT:1,0:0},fontFamily:{sans:'ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"'.split(","),serif:'ui-serif,Georgia,Cambria,"Times New Roman",Times,serif'.split(","),mono:'ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'.split(",")},fontSize:{xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:yr("spacing"),gradientColorStops:yr("colors"),gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridColumn:{auto:"auto","span-full":"1 / -1"},gridRow:{auto:"auto","span-full":"1 / -1"},gridTemplateColumns:{none:"none"},gridTemplateRows:{none:"none"},height:({theme:t})=>({...t("spacing"),...pw(2,6),min:"min-content",max:"max-content",fit:"fit-content",auto:"auto",full:"100%",screen:"100vh"}),inset:({theme:t})=>({...t("spacing"),...pw(2,4),auto:"auto",full:"100%"}),keyframes:{spin:{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}},ping:{"0%":{transform:"scale(1)",opacity:"1"},"75%,100%":{transform:"scale(2)",opacity:"0"}},pulse:{"0%,100%":{opacity:"1"},"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{...Yi(10,"rem",4,3),none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},margin:({theme:t})=>({auto:"auto",...t("spacing")}),maxHeight:({theme:t})=>({full:"100%",min:"min-content",max:"max-content",fit:"fit-content",screen:"100vh",...t("spacing")}),maxWidth:({theme:t,breakpoints:e})=>({...e(t("screens")),none:"none",0:"0rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch"}),minHeight:{0:"0px",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",screen:"100vh"},minWidth:{0:"0px",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"},opacity:{...Yi(100,"",100,0,10),5:"0.05",25:"0.25",75:"0.75",95:"0.95"},order:{first:"-9999",last:"9999",none:"0"},padding:yr("spacing"),placeholderColor:yr("colors"),placeholderOpacity:yr("opacity"),outlineColor:yr("colors"),outlineOffset:Tl(8,"px"),outlineWidth:Tl(8,"px"),ringColor:({theme:t})=>({...t("colors"),DEFAULT:"#3b82f6"}),ringOffsetColor:yr("colors"),ringOffsetWidth:Tl(8,"px"),ringOpacity:({theme:t})=>({...t("opacity"),DEFAULT:"0.5"}),ringWidth:{DEFAULT:"3px",...Tl(8,"px")},rotate:{...Tl(2,"deg"),...Tl(12,"deg",3),...Tl(180,"deg",45)},saturate:Yi(200,"",100,0,50),scale:{...Yi(150,"",100,0,50),...Yi(110,"",100,90,5),75:"0.75",125:"1.25"},scrollMargin:yr("spacing"),scrollPadding:yr("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{...Tl(2,"deg"),...Tl(12,"deg",3)},space:yr("spacing"),stroke:({theme:t})=>({...t("colors"),none:"none"}),strokeWidth:Yi(2),textColor:yr("colors"),textDecorationColor:yr("colors"),textDecorationThickness:{"from-font":"from-font",auto:"auto",...Tl(8,"px")},textUnderlineOffset:{auto:"auto",...Tl(8,"px")},textIndent:yr("spacing"),textOpacity:yr("opacity"),transitionDuration:({theme:t})=>({...t("durations"),DEFAULT:"150ms"}),transitionDelay:yr("durations"),transitionProperty:{none:"none",all:"all",DEFAULT:"color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter",colors:"color,background-color,border-color,text-decoration-color,fill,stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4,0,0.2,1)",linear:"linear",in:"cubic-bezier(0.4,0,1,1)",out:"cubic-bezier(0,0,0.2,1)","in-out":"cubic-bezier(0.4,0,0.2,1)"},translate:({theme:t})=>({...t("spacing"),...pw(2,4),full:"100%"}),width:({theme:t})=>({min:"min-content",max:"max-content",fit:"fit-content",screen:"100vw",...t("flexBasis")}),willChange:{scroll:"scroll-position"},zIndex:{...Yi(50,"",1,0,10),auto:"auto"}};function pw(t,e){let n={};do for(var r=1;r<t;r++)n[`${r}/${t}`]=Number((r/t*100).toFixed(6))+"%";while(++t<=e);return n}function Tl(t,e,n=0){let r={};for(;n<=t;n=2*n||1)r[n]=n+e;return r}function Yi(t,e="",n=1,r=0,o=1,s={}){for(;r<=t;r+=o)s[r]=r/n+e;return s}function yr(t){return({theme:e})=>e(t)}let yRe={"*,::before,::after":{boxSizing:"border-box",borderWidth:"0",borderStyle:"solid",borderColor:"theme(borderColor.DEFAULT, currentColor)"},"::before,::after":{"--tw-content":"''"},html:{lineHeight:1.5,WebkitTextSizeAdjust:"100%",MozTabSize:"4",tabSize:4,fontFamily:`theme(fontFamily.sans, ${h8.fontFamily.sans})`,fontFeatureSettings:"theme(fontFamily.sans[1].fontFeatureSettings, normal)"},body:{margin:"0",lineHeight:"inherit"},hr:{height:"0",color:"inherit",borderTopWidth:"1px"},"abbr:where([title])":{textDecoration:"underline dotted"},"h1,h2,h3,h4,h5,h6":{fontSize:"inherit",fontWeight:"inherit"},a:{color:"inherit",textDecoration:"inherit"},"b,strong":{fontWeight:"bolder"},"code,kbd,samp,pre":{fontFamily:`theme(fontFamily.mono, ${h8.fontFamily.mono})`,fontFeatureSettings:"theme(fontFamily.mono[1].fontFeatureSettings, normal)",fontSize:"1em"},small:{fontSize:"80%"},"sub,sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sub:{bottom:"-0.25em"},sup:{top:"-0.5em"},table:{textIndent:"0",borderColor:"inherit",borderCollapse:"collapse"},"button,input,optgroup,select,textarea":{fontFamily:"inherit",fontSize:"100%",lineHeight:"inherit",color:"inherit",margin:"0",padding:"0"},"button,select":{textTransform:"none"},"button,[type='button'],[type='reset'],[type='submit']":{WebkitAppearance:"button",backgroundColor:"transparent",backgroundImage:"none"},":-moz-focusring":{outline:"auto"},":-moz-ui-invalid":{boxShadow:"none"},progress:{verticalAlign:"baseline"},"::-webkit-inner-spin-button,::-webkit-outer-spin-button":{height:"auto"},"[type='search']":{WebkitAppearance:"textfield",outlineOffset:"-2px"},"::-webkit-search-decoration":{WebkitAppearance:"none"},"::-webkit-file-upload-button":{WebkitAppearance:"button",font:"inherit"},summary:{display:"list-item"},"blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre":{margin:"0"},fieldset:{margin:"0",padding:"0"},legend:{padding:"0"},"ol,ul,menu":{listStyle:"none",margin:"0",padding:"0"},textarea:{resize:"vertical"},"input::placeholder,textarea::placeholder":{opacity:1,color:"theme(colors.gray.400, #9ca3af)"},'button,[role="button"]':{cursor:"pointer"},":disabled":{cursor:"default"},"img,svg,video,canvas,audio,iframe,embed,object":{display:"block",verticalAlign:"middle"},"img,video":{maxWidth:"100%",height:"auto"},"[hidden]":{display:"none"}},vRe=[Yt("\\[([-\\w]+):(.+)]",({1:t,2:e},n)=>({"@layer overrides":{"&":{[t]:Pp(`[${e}]`,"",n)}}})),Yt("(group|peer)([~/][^-[]+)?",({input:t},{h:e})=>[{c:e(t)}]),Gt("aspect-","aspectRatio"),Yt("container",(t,{theme:e})=>{let{screens:n=e("screens"),center:r,padding:o}=e("container"),s={width:"100%",marginRight:r&&"auto",marginLeft:r&&"auto",...a("xs")};for(let i in n){let l=n[i];typeof l=="string"&&(s[PD(l)]={"&":{maxWidth:l,...a(i)}})}return s;function a(i){let l=o&&(typeof o=="string"?o:o[i]||o.DEFAULT);if(l)return{paddingRight:l,paddingLeft:l}}}),Gt("content-","content",({_:t})=>({"--tw-content":t,content:"var(--tw-content)"})),Yt("(?:box-)?decoration-(slice|clone)","boxDecorationBreak"),Yt("box-(border|content)","boxSizing",({1:t})=>t+"-box"),Yt("hidden",{display:"none"}),Yt("table-(auto|fixed)","tableLayout"),Yt(["(block|flex|table|grid|inline|contents|flow-root|list-item)","(inline-(block|flex|table|grid))","(table-(caption|cell|column|row|(column|row|footer|header)-group))"],"display"),"(float)-(left|right|none)","(clear)-(left|right|none|both)","(overflow(?:-[xy])?)-(auto|hidden|clip|visible|scroll)","(isolation)-(auto)",Yt("isolate","isolation"),Yt("object-(contain|cover|fill|none|scale-down)","objectFit"),Gt("object-","objectPosition"),Yt("object-(top|bottom|center|(left|right)(-(top|bottom))?)","objectPosition",u6),Yt("overscroll(-[xy])?-(auto|contain|none)",({1:t="",2:e})=>({["overscroll-behavior"+t]:e})),Yt("(static|fixed|absolute|relative|sticky)","position"),Gt("-?inset(-[xy])?(?:$|-)","inset",({1:t,_:e})=>({top:t!="-x"&&e,right:t!="-y"&&e,bottom:t!="-x"&&e,left:t!="-y"&&e})),Gt("-?(top|bottom|left|right)(?:$|-)","inset"),Yt("(visible|collapse)","visibility"),Yt("invisible",{visibility:"hidden"}),Gt("-?z-","zIndex"),Yt("flex-((row|col)(-reverse)?)","flexDirection",_$),Yt("flex-(wrap|wrap-reverse|nowrap)","flexWrap"),Gt("(flex-(?:grow|shrink))(?:$|-)"),Gt("(flex)-"),Gt("grow(?:$|-)","flexGrow"),Gt("shrink(?:$|-)","flexShrink"),Gt("basis-","flexBasis"),Gt("-?(order)-"),"-?(order)-(\\d+)",Gt("grid-cols-","gridTemplateColumns"),Yt("grid-cols-(\\d+)","gridTemplateColumns",D$),Gt("col-","gridColumn"),Yt("col-(span)-(\\d+)","gridColumn",T$),Gt("col-start-","gridColumnStart"),Yt("col-start-(auto|\\d+)","gridColumnStart"),Gt("col-end-","gridColumnEnd"),Yt("col-end-(auto|\\d+)","gridColumnEnd"),Gt("grid-rows-","gridTemplateRows"),Yt("grid-rows-(\\d+)","gridTemplateRows",D$),Gt("row-","gridRow"),Yt("row-(span)-(\\d+)","gridRow",T$),Gt("row-start-","gridRowStart"),Yt("row-start-(auto|\\d+)","gridRowStart"),Gt("row-end-","gridRowEnd"),Yt("row-end-(auto|\\d+)","gridRowEnd"),Yt("grid-flow-((row|col)(-dense)?)","gridAutoFlow",t=>u6(_$(t))),Yt("grid-flow-(dense)","gridAutoFlow"),Gt("auto-cols-","gridAutoColumns"),Gt("auto-rows-","gridAutoRows"),Gt("gap-x(?:$|-)","gap","columnGap"),Gt("gap-y(?:$|-)","gap","rowGap"),Gt("gap(?:$|-)","gap"),"(justify-(?:items|self))-",Yt("justify-","justifyContent",M$),Yt("(content|items|self)-",t=>({["align-"+t[1]]:M$(t)})),Yt("(place-(content|items|self))-",({1:t,$$:e})=>({[t]:("wun".includes(e[3])?"space-":"")+e})),Gt("p([xytrbl])?(?:$|-)","padding",$1("padding")),Gt("-?m([xytrbl])?(?:$|-)","margin",$1("margin")),Gt("-?space-(x|y)(?:$|-)","space",({1:t,_:e})=>({"&>:not([hidden])~:not([hidden])":{[`--tw-space-${t}-reverse`]:"0",["margin-"+{y:"top",x:"left"}[t]]:`calc(${e} * calc(1 - var(--tw-space-${t}-reverse)))`,["margin-"+{y:"bottom",x:"right"}[t]]:`calc(${e} * var(--tw-space-${t}-reverse))`}})),Yt("space-(x|y)-reverse",({1:t})=>({"&>:not([hidden])~:not([hidden])":{[`--tw-space-${t}-reverse`]:"1"}})),Gt("w-","width"),Gt("min-w-","minWidth"),Gt("max-w-","maxWidth"),Gt("h-","height"),Gt("min-h-","minHeight"),Gt("max-h-","maxHeight"),Gt("font-","fontWeight"),Gt("font-","fontFamily",({_:t})=>typeof(t=oo(t))[1]=="string"?{fontFamily:Sc(t)}:{fontFamily:Sc(t[0]),...t[1]}),Yt("antialiased",{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"}),Yt("subpixel-antialiased",{WebkitFontSmoothing:"auto",MozOsxFontSmoothing:"auto"}),Yt("italic","fontStyle"),Yt("not-italic",{fontStyle:"normal"}),Yt("(ordinal|slashed-zero|(normal|lining|oldstyle|proportional|tabular)-nums|(diagonal|stacked)-fractions)",({1:t,2:e="",3:n})=>e=="normal"?{fontVariantNumeric:"normal"}:{["--tw-"+(n?"numeric-fraction":"pt".includes(e[0])?"numeric-spacing":e?"numeric-figure":t)]:t,fontVariantNumeric:"var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)",...jp({"--tw-ordinal":"var(--tw-empty,/*!*/ /*!*/)","--tw-slashed-zero":"var(--tw-empty,/*!*/ /*!*/)","--tw-numeric-figure":"var(--tw-empty,/*!*/ /*!*/)","--tw-numeric-spacing":"var(--tw-empty,/*!*/ /*!*/)","--tw-numeric-fraction":"var(--tw-empty,/*!*/ /*!*/)"})}),Gt("tracking-","letterSpacing"),Gt("leading-","lineHeight"),Yt("list-(inside|outside)","listStylePosition"),Gt("list-","listStyleType"),Yt("list-","listStyleType"),Gt("placeholder-opacity-","placeholderOpacity",({_:t})=>({"&::placeholder":{"--tw-placeholder-opacity":t}})),Cs("placeholder-",{property:"color",selector:"&::placeholder"}),Yt("text-(left|center|right|justify|start|end)","textAlign"),Yt("text-(ellipsis|clip)","textOverflow"),Gt("text-opacity-","textOpacity","--tw-text-opacity"),Cs("text-",{property:"color"}),Gt("text-","fontSize",({_:t})=>typeof t=="string"?{fontSize:t}:{fontSize:t[0],...typeof t[1]=="string"?{lineHeight:t[1]}:t[1]}),Gt("indent-","textIndent"),Yt("(overline|underline|line-through)","textDecorationLine"),Yt("no-underline",{textDecorationLine:"none"}),Gt("underline-offset-","textUnderlineOffset"),Cs("decoration-",{section:"textDecorationColor",opacityVariable:!1,opacitySection:"opacity"}),Gt("decoration-","textDecorationThickness"),Yt("decoration-","textDecorationStyle"),Yt("(uppercase|lowercase|capitalize)","textTransform"),Yt("normal-case",{textTransform:"none"}),Yt("truncate",{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),Yt("align-","verticalAlign"),Yt("whitespace-","whiteSpace"),Yt("break-normal",{wordBreak:"normal",overflowWrap:"normal"}),Yt("break-words",{overflowWrap:"break-word"}),Yt("break-all",{wordBreak:"break-all"}),Yt("break-keep",{wordBreak:"keep-all"}),Cs("caret-",{opacityVariable:!1,opacitySection:"opacity"}),Cs("accent-",{opacityVariable:!1,opacitySection:"opacity"}),Yt("bg-gradient-to-([trbl]|[tb][rl])","backgroundImage",({1:t})=>`linear-gradient(to ${jm(t," ")},var(--tw-gradient-stops))`),Cs("from-",{section:"gradientColorStops",opacityVariable:!1,opacitySection:"opacity"},({_:t})=>({"--tw-gradient-from":t.value,"--tw-gradient-to":t.color({opacityValue:"0"}),"--tw-gradient-stops":"var(--tw-gradient-from),var(--tw-gradient-to)"})),Cs("via-",{section:"gradientColorStops",opacityVariable:!1,opacitySection:"opacity"},({_:t})=>({"--tw-gradient-to":t.color({opacityValue:"0"}),"--tw-gradient-stops":`var(--tw-gradient-from),${t.value},var(--tw-gradient-to)`})),Cs("to-",{section:"gradientColorStops",property:"--tw-gradient-to",opacityVariable:!1,opacitySection:"opacity"}),Yt("bg-(fixed|local|scroll)","backgroundAttachment"),Yt("bg-origin-(border|padding|content)","backgroundOrigin",({1:t})=>t+"-box"),Yt(["bg-(no-repeat|repeat(-[xy])?)","bg-repeat-(round|space)"],"backgroundRepeat"),Yt("bg-blend-","backgroundBlendMode"),Yt("bg-clip-(border|padding|content|text)","backgroundClip",({1:t})=>t+(t=="text"?"":"-box")),Gt("bg-opacity-","backgroundOpacity","--tw-bg-opacity"),Cs("bg-",{section:"backgroundColor"}),Gt("bg-","backgroundImage"),Gt("bg-","backgroundPosition"),Yt("bg-(top|bottom|center|(left|right)(-(top|bottom))?)","backgroundPosition",u6),Gt("bg-","backgroundSize"),Gt("rounded(?:$|-)","borderRadius"),Gt("rounded-([trbl]|[tb][rl])(?:$|-)","borderRadius",({1:t,_:e})=>{let n={t:["tl","tr"],r:["tr","br"],b:["bl","br"],l:["bl","tl"]}[t]||[t,t];return{[`border-${jm(n[0])}-radius`]:e,[`border-${jm(n[1])}-radius`]:e}}),Yt("border-(collapse|separate)","borderCollapse"),Gt("border-opacity(?:$|-)","borderOpacity","--tw-border-opacity"),Yt("border-(solid|dashed|dotted|double|none)","borderStyle"),Gt("border-spacing(-[xy])?(?:$|-)","borderSpacing",({1:t,_:e})=>({...jp({"--tw-border-spacing-x":"0","--tw-border-spacing-y":"0"}),["--tw-border-spacing"+(t||"-x")]:e,["--tw-border-spacing"+(t||"-y")]:e,"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"})),Cs("border-([xytrbl])-",{section:"borderColor"},$1("border","Color")),Cs("border-"),Gt("border-([xytrbl])(?:$|-)","borderWidth",$1("border","Width")),Gt("border(?:$|-)","borderWidth"),Gt("divide-opacity(?:$|-)","divideOpacity",({_:t})=>({"&>:not([hidden])~:not([hidden])":{"--tw-divide-opacity":t}})),Yt("divide-(solid|dashed|dotted|double|none)",({1:t})=>({"&>:not([hidden])~:not([hidden])":{borderStyle:t}})),Yt("divide-([xy]-reverse)",({1:t})=>({"&>:not([hidden])~:not([hidden])":{["--tw-divide-"+t]:"1"}})),Gt("divide-([xy])(?:$|-)","divideWidth",({1:t,_:e})=>{let n={x:"lr",y:"tb"}[t];return{"&>:not([hidden])~:not([hidden])":{[`--tw-divide-${t}-reverse`]:"0",[`border-${jm(n[0])}Width`]:`calc(${e} * calc(1 - var(--tw-divide-${t}-reverse)))`,[`border-${jm(n[1])}Width`]:`calc(${e} * var(--tw-divide-${t}-reverse))`}}}),Cs("divide-",{property:"borderColor",selector:"&>:not([hidden])~:not([hidden])"}),Gt("ring-opacity(?:$|-)","ringOpacity","--tw-ring-opacity"),Cs("ring-offset-",{property:"--tw-ring-offset-color",opacityVariable:!1}),Gt("ring-offset(?:$|-)","ringOffsetWidth","--tw-ring-offset-width"),Yt("ring-inset",{"--tw-ring-inset":"inset"}),Cs("ring-",{property:"--tw-ring-color"}),Gt("ring(?:$|-)","ringWidth",({_:t},{theme:e})=>({...jp({"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000","&":{"--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":e("ringOffsetWidth","","0px"),"--tw-ring-offset-color":Lp(e("ringOffsetColor","","#fff")),"--tw-ring-color":Lp(e("ringColor","","#93c5fd"),{opacityVariable:"--tw-ring-opacity"}),"--tw-ring-opacity":e("ringOpacity","","0.5")}}),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${t} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,boxShadow:"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)"})),Cs("shadow-",{section:"boxShadowColor",opacityVariable:!1,opacitySection:"opacity"},({_:t})=>({"--tw-shadow-color":t.value,"--tw-shadow":"var(--tw-shadow-colored)"})),Gt("shadow(?:$|-)","boxShadow",({_:t})=>({...jp({"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),"--tw-shadow":Sc(t),"--tw-shadow-colored":Sc(t).replace(/([^,]\s+)(?:#[a-f\d]+|(?:(?:hsl|rgb)a?|hwb|lab|lch|color|var)\(.+?\)|[a-z]+)(,|$)/g,"$1var(--tw-shadow-color)$2"),boxShadow:"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)"})),Gt("(opacity)-"),Yt("mix-blend-","mixBlendMode"),...R$(),...R$("backdrop-"),Gt("transition(?:$|-)","transitionProperty",(t,{theme:e})=>({transitionProperty:Sc(t),transitionTimingFunction:t._=="none"?void 0:Sc(e("transitionTimingFunction","")),transitionDuration:t._=="none"?void 0:Sc(e("transitionDuration",""))})),Gt("duration(?:$|-)","transitionDuration","transitionDuration",Sc),Gt("ease(?:$|-)","transitionTimingFunction","transitionTimingFunction",Sc),Gt("delay(?:$|-)","transitionDelay","transitionDelay",Sc),Gt("animate(?:$|-)","animation",(t,{theme:e,h:n,e:r})=>{let o=Sc(t),s=o.split(" "),a=e("keyframes",s[0]);return a?{["@keyframes "+(s[0]=r(n(s[0])))]:a,animation:s.join(" ")}:{animation:o}}),"(transform)-(none)",Yt("transform",m8),Yt("transform-(cpu|gpu)",({1:t})=>({"--tw-transform":Voe(t=="gpu")})),Gt("scale(-[xy])?-","scale",({1:t,_:e})=>({["--tw-scale"+(t||"-x")]:e,["--tw-scale"+(t||"-y")]:e,...m8()})),Gt("-?(rotate)-","rotate",w9),Gt("-?(translate-[xy])-","translate",w9),Gt("-?(skew-[xy])-","skew",w9),Yt("origin-(center|((top|bottom)(-(left|right))?)|left|right)","transformOrigin",u6),"(appearance)-",Gt("(columns)-"),"(columns)-(\\d+)","(break-(?:before|after|inside))-",Gt("(cursor)-"),"(cursor)-",Yt("snap-(none)","scroll-snap-type"),Yt("snap-(x|y|both)",({1:t})=>({...jp({"--tw-scroll-snap-strictness":"proximity"}),"scroll-snap-type":t+" var(--tw-scroll-snap-strictness)"})),Yt("snap-(mandatory|proximity)","--tw-scroll-snap-strictness"),Yt("snap-(?:(start|end|center)|align-(none))","scroll-snap-align"),Yt("snap-(normal|always)","scroll-snap-stop"),Yt("scroll-(auto|smooth)","scroll-behavior"),Gt("scroll-p([xytrbl])?(?:$|-)","padding",$1("scroll-padding")),Gt("-?scroll-m([xytrbl])?(?:$|-)","scroll-margin",$1("scroll-margin")),Yt("touch-(auto|none|manipulation)","touch-action"),Yt("touch-(pinch-zoom|pan-(?:(x|left|right)|(y|up|down)))",({1:t,2:e,3:n})=>({...jp({"--tw-pan-x":"var(--tw-empty,/*!*/ /*!*/)","--tw-pan-y":"var(--tw-empty,/*!*/ /*!*/)","--tw-pinch-zoom":"var(--tw-empty,/*!*/ /*!*/)","--tw-touch-action":"var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)"}),[`--tw-${e?"pan-x":n?"pan-y":t}`]:t,"touch-action":"var(--tw-touch-action)"})),Yt("outline-none",{outline:"2px solid transparent","outline-offset":"2px"}),Yt("outline",{outlineStyle:"solid"}),Yt("outline-(dashed|dotted|double)","outlineStyle"),Gt("-?(outline-offset)-"),Cs("outline-",{opacityVariable:!1,opacitySection:"opacity"}),Gt("outline-","outlineWidth"),"(pointer-events)-",Gt("(will-change)-"),"(will-change)-",["resize(?:-(none|x|y))?","resize",({1:t})=>({x:"horizontal",y:"vertical"})[t]||t||"both"],Yt("select-(none|text|all|auto)","userSelect"),Cs("fill-",{section:"fill",opacityVariable:!1,opacitySection:"opacity"}),Cs("stroke-",{section:"stroke",opacityVariable:!1,opacitySection:"opacity"}),Gt("stroke-","strokeWidth"),Yt("sr-only",{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0,0,0,0)",borderWidth:"0"}),Yt("not-sr-only",{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal",clip:"auto"})];function u6(t){return(typeof t=="string"?t:t[1]).replace(/-/g," ").trim()}function _$(t){return(typeof t=="string"?t:t[1]).replace("col","column")}function jm(t,e="-"){let n=[];for(let r of t)n.push({t:"top",r:"right",b:"bottom",l:"left"}[r]);return n.join(e)}function Sc(t){return t&&""+(t._||t)}function M$({$$:t}){return({r:"flex-","":"flex-",w:"space-",u:"space-",n:"space-"}[t[3]||""]||"")+t}function $1(t,e=""){return({1:n,_:r})=>{let o={x:"lr",y:"tb"}[n]||n+n;return o?{...O3(t+"-"+jm(o[0])+e,r),...O3(t+"-"+jm(o[1])+e,r)}:O3(t+e,r)}}function R$(t=""){let e=["blur","brightness","contrast","grayscale","hue-rotate","invert",t&&"opacity","saturate","sepia",!t&&"drop-shadow"].filter(Boolean),n={};for(let r of e)n[`--tw-${t}${r}`]="var(--tw-empty,/*!*/ /*!*/)";return n={...jp(n),[`${t}filter`]:e.map(r=>`var(--tw-${t}${r})`).join(" ")},[`(${t}filter)-(none)`,Yt(`${t}filter`,n),...e.map(r=>Gt(`${r[0]=="h"?"-?":""}(${t}${r})(?:$|-)`,r,({1:o,_:s})=>({[`--tw-${o}`]:oo(s).map(a=>`${r}(${a})`).join(" "),...n})))]}function w9({1:t,_:e}){return{["--tw-"+t]:e,...m8()}}function m8(){return{...jp({"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1","--tw-transform":Voe()}),transform:"var(--tw-transform)"}}function Voe(t){return[t?"translate3d(var(--tw-translate-x),var(--tw-translate-y),0)":"translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y))","rotate(var(--tw-rotate))","skewX(var(--tw-skew-x))","skewY(var(--tw-skew-y))","scaleX(var(--tw-scale-x))","scaleY(var(--tw-scale-y))"].join(" ")}function T$({1:t,2:e}){return`${t} ${e} / ${t} ${e}`}function D$({1:t}){return`repeat(${t},minmax(0,1fr))`}function jp(t){return{"@layer defaults":{"*,::before,::after":t,"::backdrop":t}}}let wRe=[["sticky","@supports ((position: -webkit-sticky) or (position:sticky))"],["motion-reduce","@media (prefers-reduced-motion:reduce)"],["motion-safe","@media (prefers-reduced-motion:no-preference)"],["print","@media print"],["(portrait|landscape)",({1:t})=>`@media (orientation:${t})`],["contrast-(more|less)",({1:t})=>`@media (prefers-contrast:${t})`],["(first-(letter|line)|placeholder|backdrop|before|after)",({1:t})=>`&::${t}`],["(marker|selection)",({1:t})=>`& *::${t},&::${t}`],["file","&::file-selector-button"],["(first|last|only)",({1:t})=>`&:${t}-child`],["even","&:nth-child(2n)"],["odd","&:nth-child(odd)"],["open","&[open]"],["(aria|data)-",({1:t,$$:e},n)=>e&&`&[${t}-${n.theme(t,e)||Pp(e,"",n)||`${e}="true"`}]`],["((group|peer)(~[^-[]+)?)(-\\[(.+)]|[-[].+?)(\\/.+)?",({2:t,3:e="",4:n,5:r="",6:o=e},{e:s,h:a,v:i})=>{let l=Xb(r)||(n[0]=="["?n:i(n.slice(1)));return`${(l.includes("&")?l:"&"+l).replace(/&/g,`:merge(.${s(a(t+o))})`)}${t[0]=="p"?"~":" "}&`}],["(ltr|rtl)",({1:t})=>`[dir="${t}"] &`],["supports-",({$$:t},e)=>{if(t&&(t=e.theme("supports",t)||Pp(t,"",e)),t)return t.includes(":")||(t+=":var(--tw)"),/^\w*\s*\(/.test(t)||(t=`(${t})`),`@supports ${t.replace(/\b(and|or|not)\b/g," $1 ").trim()}`}],["max-",({$$:t},e)=>{if(t&&(t=e.theme("screens",t)||Pp(t,"",e)),typeof t=="string")return`@media not all and (min-width:${t})`}],["min-",({$$:t},e)=>(t&&(t=Pp(t,"",e)),t&&`@media (min-width:${t})`)],[/^\[(.+)]$/,({1:t})=>/[&@]/.test(t)&&Xb(t).replace(/[}]+$/,"").split("{")]],bRe={__proto__:null,slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337"}};function xRe({disablePreflight:t}={}){return(function({colors:e,disablePreflight:n}={}){return{preflight:n?void 0:yRe,theme:{...h8,colors:{inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",...e}},variants:wRe,rules:vRe,finalize:r=>r.n&&r.d&&r.r.some(o=>/^&::(before|after)$/.test(o))&&!/(^|;)content:/.test(r.d)?{...r,d:"content:var(--tw-content);"+r.d}:r}})({colors:bRe,disablePreflight:t})}let kRe=typeof ShadowRoot<"u"&&(typeof ShadyCSS>"u"||ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype;function b9(t){return t.shadowRoot||t.attachShadow({mode:"open"})}const x9={"brand-light":"var(--bc-color-brand, #196CE7)","brand-dark":"var(--bc-color-brand-dark, var(--bc-color-brand, #3994FF))","brand-button-text-light":"var(--bc-color-brand-button-text)","brand-button-text-dark":"var(--bc-color-brand-button-text-dark, var(--bc-color-brand-button-text))","brand-mixed-light":"color-mix(in srgb, var(--bc-color-brand, #196CE7) var(--bc-brand-mix, 100%), black)","brand-mixed-dark":"color-mix(in srgb, var(--bc-color-brand-dark, var(--bc-color-brand, #3994FF)) var(--bc-brand-mix, 100%), white)","foreground-light":"#000","foreground-dark":"#fff","background-light":"#fff","background-dark":"#000","neutral-primary-light":"#262626","neutral-primary-dark":"#E4E4E4","neutral-secondary-light":"#525252","neutral-secondary-dark":"#A2A2A2","neutral-tertiary-light":"#A2A2A2","neutral-tertiary-dark":"#525252"},jRe={"glass-light":"linear-gradient(180deg, rgba(211, 211, 211, 0.20) 0%, rgba(255, 255, 255, 0.20) 50%);","glass-dark":"linear-gradient(180deg, rgba(211, 211, 211, 0.10) 0%, rgba(0, 0, 0, 0.20) 50%)"},Tr=()=>globalThis.window?(function(t,e=!0){let n=(function(){if(kRe)try{let l=v9(new CSSStyleSheet);return l.connect=u=>{let d=b9(u);d.adoptedStyleSheets=[...d.adoptedStyleSheets,l.target]},l.disconnect=l8,l}catch{}let s=document.createElement("style");s.media="not all",document.head.prepend(s);let a=[v9(s)],i=new WeakMap;return{get target(){return a[0].target},snapshot(){let l=a.map(u=>u.snapshot());return()=>l.forEach(u=>u())},clear(){a.forEach(l=>l.clear())},destroy(){a.forEach(l=>l.destroy())},insert(l,u,d){a[0].insert(l,u,d);let f=this.target.cssRules[u];a.forEach((m,g)=>g&&m.target.insertRule(f.cssText,u))},resume:(l,u)=>a[0].resume(l,u),connect(l){let u=document.createElement("style");b9(l).appendChild(u);let d=v9(u),{cssRules:f}=this.target;for(let m=0;m<f.length;m++)d.target.insertRule(f[m].cssText,m);a.push(d),i.set(l,d)},disconnect(l){let u=a.indexOf(i.get(l));u>=0&&a.splice(u,1)}}})(),r=(function(s,a){let i=I$(s),l=(function({theme:g,darkMode:w,darkColor:b=l8,variants:j,rules:S,hash:I,stringify:N,ignorelist:M,finalize:D}){let P=new Map,L=new Map,F=new Map,T=new Map,R=$oe(M,(Z,W)=>W.test(Z));j.push(["dark",Array.isArray(w)||w=="class"?`${oo(w)[1]||".dark"} &`:typeof w=="string"&&w!="media"?w:"@media (prefers-color-scheme:dark)"]);let z=typeof I=="function"?Z=>I(Z,Yk):I?Yk:j$;z!==j$&&D.push(Z=>{var W;return{...Z,n:Z.n&&z(Z.n),d:(W=Z.d)==null?void 0:W.replace(/--(tw(?:-[\w-]+)?)\b/g,(U,ee)=>"--"+z(ee).replace("#",""))}});let G={theme:(function({extend:Z={},...W}){let U={},ee={get colors(){return $("colors")},theme:$,negative:()=>({}),breakpoints(Y){let q={};for(let J in Y)typeof Y[J]=="string"&&(q["screen-"+J]=Y[J]);return q}};return $;function $(Y,q,J,ne){if(Y){if({1:Y,2:ne}=/^(\S+?)(?:\s*\/\s*([^/]+))?$/.exec(Y)||[,Y],/[.[]/.test(Y)){let we=[];Y.replace(/\[([^\]]+)\]|([^.[]+)/g,(xe,ce,pe=ce)=>we.push(pe)),Y=we.shift(),J=q,q=we.join("-")}let de=U[Y]||Object.assign(Object.assign(U[Y]={},H(W,Y)),H(Z,Y));if(q==null)return de;q||(q="DEFAULT");let Ee=de[q]??q.split("-").reduce((we,xe)=>we==null?void 0:we[xe],de)??J;return ne?Lp(Ee,{opacityValue:zD(ne,$)}):Ee}let re={};for(let de of[...Object.keys(W),...Object.keys(Z)])re[de]=$(de);return re}function H(Y,q){let J=Y[q];return typeof J=="function"&&(J=J(ee)),J&&/color|fill|stroke/i.test(q)?(function ne(re,de=[]){let Ee={};for(let we in re){let xe=re[we],ce=[...de,we];Ee[ce.join("-")]=xe,we=="DEFAULT"&&(ce=de,Ee[de.join("-")]=xe),typeof xe=="object"&&Object.assign(Ee,ne(xe,ce))}return Ee})(J):J}})(g),e:Doe,h:z,s:(Z,W)=>N(Z,W,G),d:(Z,W,U)=>b(Z,W,G,U),v:Z=>(P.has(Z)||P.set(Z,A$(Z,j,L,hRe,G)||"&:"+Z),P.get(Z)),r(Z,W){let U=JSON.stringify([Z,W]);return F.has(U)||F.set(U,!R(Z,G)&&A$(Z,S,T,mRe,G,W)),F.get(U)},f:Z=>D.reduce((W,U)=>U(W,G),Z)};return G})(i),u=new Map,d=[],f=new Set;function m(g){let w=l.f(g),b=u8(w);if(b&&!f.has(b)){f.add(b);let j=Ooe(d,g);a.insert(b,j,g),d.splice(j,0,g)}return w.n}return a.resume(g=>u.set(g,g),(g,w)=>{a.insert(g,d.length,w),d.push(w),f.add(g)}),Object.defineProperties(function(g){if(!u.size)for(let b of oo(i.preflight))typeof b=="function"&&(b=b(l)),b&&(typeof b=="string"?FD("",Sa.b,qk(b),l,Sa.b,[],!1,!0):Foe(b,{},l,Sa.b)).forEach(m);let w=u.get(g=""+g);if(!w){let b=new Set;for(let j of Gk(qk(g),l))b.add(j.c).add(m(j));w=[...b].filter(Boolean).join(" "),u.set(g,w).set(w,w)}return w},Object.getOwnPropertyDescriptors({get target(){return a.target},theme:l.theme,config:i,snapshot(){let g=a.snapshot(),w=new Set(f),b=new Map(u),j=[...d];return()=>{g(),f=w,u=b,d=j}},clear(){a.clear(),f=new Set,u=new Map,d=[]},destroy(){this.clear(),a.destroy()}}))})({...t,hash:t.hash??e},n),o=(function(s){let a=new MutationObserver(i);return{observe(u){a.observe(u,{attributeFilter:["class"],subtree:!0,childList:!0}),l(u),i([{target:u,type:""}])},disconnect(){a.disconnect()}};function i(u){for(let{type:d,target:f}of u)if(d[0]=="a")l(f);else for(let m of f.querySelectorAll("[class]"))l(m);a.takeRecords()}function l(u){var m;let d,f=(m=u.getAttribute)==null?void 0:m.call(u,"class");f&&(function(g,w){return g!=w&&""+g.split(" ").sort()!=""+w.split(" ").sort()})(f,d=s(f))&&u.setAttribute("class",d)}})(r);return function(s){return class extends s{connectedCallback(){var a;(a=super.connectedCallback)==null||a.call(this),n.connect(this),o.observe(b9(this))}disconnectedCallback(){var a;n.disconnect(this),(a=super.disconnectedCallback)==null||a.call(this)}constructor(...a){super(...a),this.tw=r}}}})(I$({darkMode:globalThis.bcDarkMode,theme:{fontFamily:{sans:["Inter","sans-serif"],mono:["Roboto Mono","monospace"]},extend:{borderColor:$u({},x9),backgroundColor:$u({},x9),textColor:$u({},x9),backgroundImage:$u({},jRe),animation:{darken:"darken 0.2s ease-out forwards","fade-in":"fade-in 0.2s ease-out forwards","slide-up":"slideUp 0.3s ease-out forwards"},keyframes:{darken:{"0%":{opacity:0},"100%":{opacity:.5}},lighten:{"0%":{opacity:.5},"100%":{opacity:0}},"fade-in":{"0%":{opacity:0},"100%":{opacity:1}},"fade-out":{"0%":{opacity:1},"100%":{opacity:0}},slideUp:{from:{transform:"translateY(100%)"},to:{transform:"translateY(0)"}}}}},presets:[xRe({})],hash:!1})):CRe;function CRe(t){return t}const Ma="transition-all hover:brightness-90 dark:hover:brightness-110 active:scale-95 cursor-pointer",g8="hover-animation",Mo="text-brand-mixed-light dark:text-brand-mixed-dark",Hoe="text-foreground-light dark:text-foreground-dark",e2="text-neutral-primary-light dark:text-neutral-primary-dark",$n="text-neutral-secondary-light dark:text-neutral-secondary-dark",rf="text-neutral-tertiary-light dark:text-neutral-tertiary-dark",ch="border-neutral-secondary-light dark:border-neutral-secondary-dark",BD="border-neutral-tertiary-light dark:border-neutral-tertiary-dark";let L$,P$,O$,y8=t=>t;function Woe(){return Et(L$||(L$=y8`<div
69 class="absolute top-0 left-0 w-full h-full rounded-lg border-2 pointer-events-none ${0} opacity-5"
70 ></div>`),BD)}function SRe(t){Ht.getState().connected&&t(Ht.getState().provider);const e=Ht.subscribe(async(n,r)=>{if(n.connected&&!r.connected){if(!n.provider)throw new Error("No provider available");t(n.provider)}});return()=>{e()}}function ERe(t){const e=Ht.subscribe(async(n,r)=>{!n.connected&&r.connected&&t()});return()=>{e()}}function NRe(t){const e=Ht.subscribe(async(n,r)=>{!n.modalOpen&&r.modalOpen&&t()});return()=>{e()}}function IRe(t={}){Ht.getState().setBitcoinConnectConfig(t)}function UD(){const t=document.createElement("bc-modal"),e=document.createElement("bc-connect");e.setAttribute("closable","closable"),t.appendChild(e),document.body.appendChild(t),Ht.getState().setModalOpen(!0)}function v8({invoice:t,paymentMethods:e,onPaid:n,onCancelled:r}){if(document.querySelector("bc-modal"))throw new Error("bc-modal already in DOM");const o=document.createElement("bc-modal"),s=document.createElement("bc-payment");s.setAttribute("closable","closable"),s.setAttribute("invoice",t),e&&s.setAttribute("payment-methods",e),o.appendChild(s);let a=!1;const i=u=>{a=!0,n==null||n(u.detail)};window.addEventListener("bc:onpaid",i);const l=NRe(()=>{l(),window.removeEventListener("bc:onpaid",i),a||r==null||r()});return document.body.appendChild(o),Ht.getState().setModalOpen(!0),{setPaid:u=>{s.setAttribute("paid","paid"),s.dispatchEvent(new CustomEvent("bc:onpaid",{bubbles:!0,composed:!0,detail:u}))}}}function $D(){const t=document.querySelector("bc-modal");t&&document.body.removeChild(t),Ht.getState().setModalOpen(!1),Ht.getState().clearRouteHistory(),Ht.getState().setError(void 0)}function Yoe(t){Ht.getState().connectNWC(t)}function Goe(){Ht.getState().disconnect()}let z$,ARe=t=>t,V1=class extends Tr()(nr){constructor(){super(),this._loading=!1,this._loadBalance(),this._selectedCurrency=Ht.getState().currency,Ht.subscribe((t,e)=>{this._selectedCurrency=t.currency,t.currency!==e.currency&&this._convertBalance(),t.connected!==e.connected&&t.connected&&this._loadBalance()})}render(){return Et(z$||(z$=ARe` <span
71 class="font-medium font-sans mr-2 flex justify-center items-center gap-0.5 ${0}"
72 >
73 <span class="font-mono">${0} </span></span
74 >`),Mo,this._balance||"Loading...")}async _convertBalance(){if(this._loading||this._balanceSats===void 0)return;const t=this._selectedCurrency||"sats";if(t==="BTC")this._balance=(this._balanceSats/1e8).toLocaleString(void 0,{minimumFractionDigits:8,useGrouping:!0})+" BTC";else if(t!=="sats"){try{this._loading=!0;const e=await n5e.getFiatValue({satoshi:this._balanceSats,currency:t}),n=parseFloat(e.toFixed(2));this._balance=new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(n)}catch(e){console.error(e)}this._loading=!1}else this._balance=this._balanceSats.toLocaleString(void 0,{useGrouping:!0})+" sats"}_loadBalance(){var t=this;(async function(){try{const e=Ht.getState().provider;if(e==null||!e.getBalance)return;const n=await e.getBalance();n&&(t._balanceSats=n.balance,t._convertBalance())}catch(e){t._balance="⚠️",console.error(e)}})()}};Tt([Xn()],V1.prototype,"_balance",void 0),Tt([Xn()],V1.prototype,"_balanceSats",void 0),Tt([Xn()],V1.prototype,"_loading",void 0),Tt([Xn()],V1.prototype,"_selectedCurrency",void 0),V1=Tt([Wn("bc-balance")],V1);let F$,_Re=t=>t;const kg=t=>Nr(F$||(F$=_Re`
75 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="100px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class=${0}>
76 <g transform="rotate(0 50 50)">
77 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
78 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"></animate>
79 </rect>
80 </g><g transform="rotate(30 50 50)">
81 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
82 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"></animate>
83 </rect>
84 </g><g transform="rotate(60 50 50)">
85 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
86 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.75s" repeatCount="indefinite"></animate>
87 </rect>
88 </g><g transform="rotate(90 50 50)">
89 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
90 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"></animate>
91 </rect>
92 </g><g transform="rotate(120 50 50)">
93 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
94 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"></animate>
95 </rect>
96 </g><g transform="rotate(150 50 50)">
97 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
98 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5s" repeatCount="indefinite"></animate>
99 </rect>
100 </g><g transform="rotate(180 50 50)">
101 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
102 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"></animate>
103 </rect>
104 </g><g transform="rotate(210 50 50)">
105 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
106 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"></animate>
107 </rect>
108 </g><g transform="rotate(240 50 50)">
109 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
110 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.25s" repeatCount="indefinite"></animate>
111 </rect>
112 </g><g transform="rotate(270 50 50)">
113 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
114 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"></animate>
115 </rect>
116 </g><g transform="rotate(300 50 50)">
117 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
118 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"></animate>
119 </rect>
120 </g><g transform="rotate(330 50 50)">
121 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
122 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite"></animate>
123 </rect>
124 </g>
125 </svg>`),t||"w-7 h-7");let B$,U$,$$,V$,H$,W$,Y$,G$,pm=t=>t,f6=class extends Tr()(nr){constructor(){super(),this.title="Connect Wallet",this._showBalance=void 0,this._showBalance=Ht.getState().bitcoinConnectConfig.showBalance&&Ht.getState().supports("getBalance"),Ht.subscribe(t=>{this._showBalance=t.bitcoinConnectConfig.showBalance&&t.supports("getBalance")})}render(){const t=this._connecting||!this._connected&&this._modalOpen;return Et(B$||(B$=pm`<div>
126 <div
127 class="relative inline-flex ${0} cursor-pointer
128 rounded-lg gap-2 justify-center items-center"
129 @click=${0}
130 >
131 <div
132 class="absolute top-0 left-0 w-full h-full rounded-lg pointer-events-none ${0}"
133 ></div>
134 ${0}
135 <bci-button variant="primary">
136 ${0}
137 <span class="font-semibold">
138 ${0}
139 </span>
140 </bci-button>
141 ${0}
142 </div>
143 </div>`),Ma,this._onClick,this._connected?"bg-glass-light dark:bg-glass-dark":"",this._connected?Woe():"",t?Et(U$||(U$=pm` ${0} `),kg("w-11 h-11 -mr-2 mr-1 -ml-2.5")):this._connected?null:Et($$||($$=pm`<span class="-ml-0.5">${0}</span>`),Kw),t?Et(V$||(V$=pm`Connecting...`)):this._connected?Et(H$||(H$=pm`Connected`)):Et(W$||(W$=pm`${0}`),this.title),this._connected&&this._showBalance?Et(Y$||(Y$=pm`<bc-balance class="select-none cursor-pointer"></bc-balance> `)):null)}_onClick(){UD()}};Tt([Jo()],f6.prototype,"title",void 0),Tt([Xn()],f6.prototype,"_showBalance",void 0),f6=Tt([Wn("bc-button")],f6);const MRe=Nr(G$||(G$=(t=>t)`
144 <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-6 h-6">
145 <path d="M7 16.5106L13.5511 22L23 8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
146 </svg>
147 `));let q$,K$,Z$,Q$,J$,X$,H1=t=>t,cp=class extends Tr()(nr){constructor(){super(...arguments),this.title="Pay Now",this.paymentMethods="all",this._waitingForInvoice=!1,this._paid=!1}updated(t){var e;super.updated(t),t.has("invoice")&&this.invoice&&this._waitingForInvoice&&this._launchModal(),t.has("preimage")&&this.preimage&&((e=this._setPaid)==null||e.call(this,{preimage:this.preimage}))}render(){const t=this._waitingForInvoice||this._modalOpen;return Et(q$||(q$=H1` <div class="inline-flex" @click=${0}>
148 <bci-button variant="primary">
149 ${0}
150 <span class="font-semibold">
151 ${0}
152 </span>
153 </bci-button>
154 </div>`),this._onClick,t?Et(K$||(K$=H1`${0}`),kg("w-11 h-11 -mr-2 -ml-2.5 ")):this._paid?Et(Z$||(Z$=H1`<span class="-ml-0.5">${0}</span>`),MRe):Et(Q$||(Q$=H1`<span class="-ml-0.5">${0}</span>`),Kw),t?Et(J$||(J$=H1`Loading...`)):Et(X$||(X$=H1`${0}`),this._paid?"Paid":this.title))}_onClick(){this._paid||(this._waitingForInvoice=!0,this.invoice&&this._launchModal())}_launchModal(){if(this._waitingForInvoice=!1,!this.invoice)throw new Error("No invoice available");const{setPaid:t}=v8({onPaid:()=>{this._paid=!0},invoice:this.invoice,paymentMethods:this.paymentMethods});this._setPaid=t}};Tt([Jo()],cp.prototype,"title",void 0),Tt([Jo()],cp.prototype,"invoice",void 0),Tt([Jo({type:String,attribute:"payment-methods"})],cp.prototype,"paymentMethods",void 0),Tt([Jo({})],cp.prototype,"preimage",void 0),Tt([Xn()],cp.prototype,"_waitingForInvoice",void 0),Tt([Xn()],cp.prototype,"_paid",void 0),cp=Tt([Wn("bc-pay-button")],cp);let eV,tV,RRe=t=>t,hw=class extends Tr()(DD){constructor(){super(...arguments),this.variant="secondary",this.ghost=!1,this.block=!1}render(){const t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,e=window.getComputedStyle(this).getPropertyValue(t?"--bc-color-brand-button-text-dark":"--bc-color-brand-button-text")||window.getComputedStyle(this).getPropertyValue("--bc-color-brand-button-text");return Et(eV||(eV=RRe`<button
155 class="w-full relative h-10 px-4 font-sans font-semibold rounded-lg flex justify-center items-center
156 ${0} rounded-lg w-full ${0}
157 ${0}
158 ${0}
159 "
160 >
161 ${0}
162 <!-- TODO: why can the inner border not be conditionally rendered? -->
163
164 <div
165 class="flex gap-2 ${0} justify-center items-center"
166 >
167 <slot></slot>
168 </div>
169 </button>`),this.ghost?"":"shadow",Ma,this.variant==="primary"?"bg-brand-light dark:bg-brand-dark":"",this.variant==="primary"?e?"text-brand-button-text-light dark:text-brand-button-text-dark":this._getBrandColorLuminance()>.5?"text-black":"text-white":this.variant==="secondary"?`${Mo}`:`${rf}`,this.ghost?null:this.variant==="primary"?Woe():this.variant==="secondary"?Et(P$||(P$=y8`<div
170 class="absolute -z-10 top-0 left-0 w-full h-full border-2 rounded-lg ${0}"
171 ></div>`),"border-brand-mixed-light dark:border-brand-mixed-dark"):Et(O$||(O$=y8`<div
172 class="absolute -z-10 top-0 left-0 w-full h-full border-2 rounded-lg ${0}"
173 ></div>`),BD),this.block?"w-full":"")}};Tt([Jo()],hw.prototype,"variant",void 0),Tt([Jo({type:Boolean})],hw.prototype,"ghost",void 0),Tt([Jo({type:Boolean})],hw.prototype,"block",void 0),hw=Tt([Wn("bci-button")],hw);const TRe=Nr(tV||(tV=(t=>t)`
174 <svg class="w-14 h-14" width="55" height="54" fill="none" version="1.1" viewBox="1 0 55 54" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
175 <rect x="31" y="1" width="24" height="24" rx="6" fill="#34D14A"/>
176 <path d="M40.3358 5H44.2816V11.3676H41.8352V7.04983H39.6436L40.3358 5Z" fill="#fff"/>
177 <path d="m43 21c2.4853 0 4.5-1.973 4.5-4.4068s-2.0147-4.4067-4.5-4.4067-4.5 1.9729-4.5 4.4067 2.0147 4.4068 4.5 4.4068zm2.457-4.4068c0 1.3289-1.1 2.4062-2.457 2.4062s-2.4571-1.0773-2.4571-2.4062 1.1001-2.4062 2.4571-2.4062 2.457 1.0773 2.457 2.4062z" clip-rule="evenodd" fill="#fff" fill-rule="evenodd"/>
178 <g>
179 <rect x="3" y="1" width="24" height="24" rx="6" fill="url(#paint0_linear_0_1)"/>
180 <g stroke="#000">
181 <path d="m19.114 20.571c2.1021 0 3.0589-4.6548 3.0589-6.4197 0-1.3756-0.9492-2.2093-2.1971-2.2093-1.2401 0-2.2469 0.5332-2.2594 1.1936 0 1.7428-0.3067 7.4354 1.3976 7.4354z" fill="#fff" stroke-width=".62601"/>
182 <path d="m11.436 20.571c-2.1021 0-3.0589-4.6548-3.0589-6.4197 0-1.3756 0.94922-2.2093 2.1971-2.2093 1.2401 0 2.2469 0.5332 2.2594 1.1936 0 1.7428 0.3067 7.4354-1.3976 7.4354z" fill="#fff" stroke-width=".62601"/>
183 <path d="m9.6923 13.592v-1e-4l11.02-0.0266c-0.2431 2.4089-1.5497 4.4004-3.3059 5.3171-0.5801 0.3028-0.9789 0.8289-1.3292 1.2909-0.0063 0.0083-0.0126 0.0166-0.0188 0.0248l-1e-4 1e-4c-0.2847 0.3756-0.5424 0.7119-0.8573 0.9598-0.315-0.2479-0.5727-0.5842-0.8574-0.9598v-1e-4l-0.0188-0.0248c-0.3503-0.462-0.7492-0.9881-1.3293-1.2909-1.7495-0.9132-3.0528-2.8931-3.3031-5.2904z" fill="#FFDF6F" stroke-width=".62284"/>
184 <ellipse cx="15.213" cy="13.545" rx="5.5089" ry="1.8363" fill="#000" stroke-width=".62601"/>
185 <path d="m10.789 16.633s2.7172 0.9182 4.4655 0.9182 4.4656-0.9182 4.4656-0.9182" stroke-linecap="round" stroke-width=".62601"/>
186 </g>
187 <circle transform="matrix(-1 0 0 1 11.277 4.4467)" cx="1.2457" cy="1.2457" r="1.2457" fill="#000"/>
188 <path d="m9.8238 5.5054 2.3252 2.3252" stroke="#000" stroke-width=".62284"/>
189 <circle cx="20.204" cy="5.6923" r="1.2457" fill="#000"/>
190 <path d="m20.433 5.5054-2.3253 2.3252" stroke="#000" stroke-width=".62284"/>
191 <path d="m10.385 13.125c-0.67142-0.3196-1.0622-1.0373-0.93126-1.7693 0.56176-3.1416 2.9029-5.4978 5.7057-5.4978 2.8095 0 5.1552 2.3677 5.7097 5.5207 0.1289 0.7333-0.265 1.4507-0.9387 1.7677-1.4415 0.6783-3.0516 1.0575-4.7502 1.0575-1.7164 0-3.3423-0.3871-4.7952-1.0788z" clip-rule="evenodd" fill="#FFDF6F" fill-rule="evenodd"/>
192 <path d="m20.869 11.379-0.3067 0.0539 0.3067-0.0539zm-11.109 0.0319c0.5428-3.0356 2.7866-5.2412 5.3991-5.2412v-0.62283c-2.993 0-5.4315 2.5069-6.0122 5.7544l0.61311 0.1096zm5.3991-5.2412c2.6188 0 4.8672 2.2164 5.403 5.2632l0.6134-0.1079c-0.5732-3.2592-3.0161-5.7781-6.0164-5.7781v0.62283zm4.6384 6.6952c-1.4009 0.6593-2.9658 1.0279-4.6176 1.0279v0.6229c1.7454 0 3.4007-0.3898 4.8828-1.0872l-0.2652-0.5636zm-4.6176 1.0279c-1.6691 0-3.2494-0.3763-4.6614-1.0485l-0.2677 0.5623c1.4939 0.7112 3.1654 1.1091 4.9291 1.1091v-0.6229zm5.3822-2.4599c0.1034 0.5879-0.2114 1.1717-0.7646 1.432l0.2652 0.5636c0.7943-0.3738 1.2673-1.2248 1.1128-2.1035l-0.6134 0.1079zm-11.415-0.1316c-0.15685 0.8771 0.31241 1.7285 1.1039 2.1053l0.2677-0.5623c-0.55123-0.2625-0.86344-0.8465-0.7585-1.4334l-0.61311-0.1096z" fill="#000"/>
193 <path d="m11.583 12.345c-0.5405-0.2201-0.861-0.7951-0.6738-1.3478 0.5775-1.7043 2.2621-2.9377 4.2503-2.9377s3.6727 1.2334 4.2502 2.9377c0.1873 0.5527-0.1333 1.1276-0.6737 1.3477-1.1038 0.4496-2.3112 0.6973-3.5765 0.6973s-2.4728-0.2477-3.5765-0.6972z" clip-rule="evenodd" fill="#000" fill-rule="evenodd"/>
194 <ellipse cx="16.592" cy="10.716" rx="1.0381" ry=".83045" fill="#fff"/>
195 <ellipse cx="13.62" cy="10.717" rx="1.0381" ry=".83045" fill="#fff"/>
196 </g>
197 <path d="m51.5 40h-1.5v-4c0-0.5305-0.2107-1.0392-0.5858-1.4143-0.3751-0.375-0.8838-0.5857-1.4142-0.5857h-4v-1.5c0-0.6631-0.2634-1.299-0.7322-1.7678-0.4689-0.4689-1.1048-0.7322-1.7678-0.7322s-1.2989 0.2633-1.7678 0.7322c-0.4688 0.4688-0.7322 1.1047-0.7322 1.7678v1.5h-4c-0.5304 0-1.0391 0.2107-1.4142 0.5857-0.3751 0.3751-0.5858 0.8838-0.5858 1.4143v3.8h1.5c1.5 0 2.7 1.2 2.7 2.7s-1.2 2.7-2.7 2.7h-1.5v3.8c0 0.5304 0.2107 1.0391 0.5858 1.4142 0.3751 0.375 0.8838 0.5858 1.4142 0.5858h3.8v-1.5c0-1.5 1.2-2.7 2.7-2.7s2.7 1.2 2.7 2.7v1.5h3.8c0.5304 0 1.0391-0.2108 1.4142-0.5858 0.3751-0.3751 0.5858-0.8838 0.5858-1.4142v-4h1.5c0.663 0 1.2989-0.2634 1.7678-0.7323 0.4688-0.4688 0.7322-1.1047 0.7322-1.7677 0-0.6631-0.2634-1.299-0.7322-1.7678-0.4689-0.4689-1.1048-0.7322-1.7678-0.7322z" fill="#525252"/>
198 <rect x="3" y="29.081" width="24" height="24" ry="6.0057" fill="url(#linearGradient28)" stroke-width="0"/>
199 <g transform="matrix(.25817 0 0 .25817 5.4677 38.257)" fill="#fff">
200 <path d="m0 12.6 14.013-7v-0.62903h-14.013v-4.9741h22.76v7.4611l-13.985 6.943v0.628h14.042v4.9741h-22.818z"/>
201 <path d="m40.444 10.314v-0.68599c3.8542 0 6.4164-1.6083 6.4164-4.4207 0-3.7005-2.7083-5.2062-7.5676-5.2062h-14.992v20h14.992c5.2371 0 7.5676-1.8798 7.5676-4.8259 0-3.0612-1.8692-4.8612-6.4164-4.8612zm-4.0003 5.143h-4.518v-3.343h4.518c1.4611 0 2.2156 0.6591 2.2156 1.658 0 1.2923-0.8798 1.685-2.2156 1.685zm0-7.6h-4.518v-3.3161h4.518c1.172 0 2.2156 0.29013 2.2156 1.685 0 1.3285-1.2023 1.6311-2.2156 1.6311z"/>
202 <path d="m47.92 0h13.784c8.3691 0 12.142 4.113 12.142 10 0 6.1834-4.5347 10-12.142 10h-13.784zm17.783 10c0-3.5306-2.4672-4.857-4.8634-4.857h-4.9491v9.714h4.9491c2.367 0 4.8634-1.3264 4.8634-4.857z"/>
203 </g>
204 <defs>
205 <linearGradient id="paint0_linear_0_1" x1="15" x2="15" y1="1" y2="23.857" gradientUnits="userSpaceOnUse">
206 <stop stop-color="#FFDE6E" offset=".6691"/>
207 <stop stop-color="#F8C455" offset="1"/>
208 </linearGradient>
209 <linearGradient id="linearGradient28" x1="3" x2="27" y1="36.903" y2="45.382" gradientUnits="userSpaceOnUse">
210 <stop stop-color="#916bf8" offset="0"/>
211 <stop stop-color="#9c60dd" offset=".28564"/>
212 <stop stop-color="#b44aa7" offset=".55368"/>
213 <stop stop-color="#e21f3d" offset="1"/>
214 </linearGradient>
215 </defs>
216 </svg>
217 `));let nV,DRe=t=>t;class ac extends Tr()(nr){constructor(e,n,r,o){super(),this._connectorType=e,this._title=n,this._background=r,this._icon=o}render(){return Et(nV||(nV=DRe`<div
218 class="flex flex-col justify-between items-center w-32 -mx-4 cursor-pointer ${0}"
219 @click=${0}
220 >
221 <div
222 class="w-16 h-16 drop-shadow rounded-2xl flex justify-center items-center overflow-hidden"
223 style="background: ${0};"
224 >
225 ${0}
226 </div>
227 <span
228 class="text-sm mt-3 font-sans font-medium text-center w-28 h-7 flex justify-center items-center ${0}"
229 >
230 ${0}
231 </span>
232 </div>`),Ma,this._onClick,this._background,this._icon,$n,this._title)}_connect(e){Ht.getState().connect($u({},e,{connectorName:this._title,connectorType:this._connectorType}))}}let rV,oV=class extends ac{constructor(){super("extension.generic","Browser Extensions","#ffffff",TRe)}_onClick(){this._connect({})}};oV=Tt([Wn("bc-extension-connector")],oV);const qoe=Nr(rV||(rV=(t=>t)`<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none"><path fill="#fff" d="M29.313 17.863a9.57 9.57 0 0 0-11.455-7.193c-.1.492-.196 1.008-.28 1.548-.156.96-.284 1.996-.384 3.113a53.932 53.932 0 0 0-.196 4.668c0 1.024.028 1.993.076 2.92a56.187 56.187 0 0 0 7.583-.12c1.12-.1 2.156-.227 3.116-.383.54-.088 1.056-.18 1.548-.28a9.598 9.598 0 0 0 0-4.265l-.008-.008Zm-2.772-.724a4.047 4.047 0 0 0-1.86.8c-.868.66-1.492 1.652-1.672 2.72 0 .02-.02.029-.032.024-.012 0-.024-.011-.024-.023-.284-1.82-1.755-3.241-3.531-3.525-.032-.004-.032-.052 0-.056a4.3 4.3 0 0 0 2.812-1.772 4.195 4.195 0 0 0 .723-1.769c.005-.032.052-.032.056 0 .108.688.388 1.316.784 1.852.228.309.492.58.792.817.56.444 1.228.752 1.952.876.032.004.032.052 0 .056Z"/><path fill="#fff" d="M39.984 19.305v1.372c0 2.04-2.196 3.896-6.18 5.225-1.403.468-2.983.856-4.683 1.16-.124.024-.248.044-.372.068-.464.076-.932.148-1.416.212a52.252 52.252 0 0 1-3.16.328c-.583.04-1.171.076-1.771.1a60.038 60.038 0 0 1-6.596-.1 45.756 45.756 0 0 1-1.72-.156 50.451 50.451 0 0 1-2.847-.384c-.128-.02-.252-.044-.376-.068-1.7-.3-3.28-.688-4.684-1.16C2.196 24.573 0 22.717 0 20.677v-1.372c0-2.04 2.196-3.897 6.18-5.225 1.403-.469 2.983-.857 4.683-1.16l-.06.504a47.322 47.322 0 0 0-.24 2.68c-.44.088-.864.176-1.276.276-3.88.912-6.443 2.264-7.107 3.613.664 1.348 3.227 2.7 7.107 3.608a32.59 32.59 0 0 0 2.036.416 45.84 45.84 0 0 0 4.128.52c.571.048 1.155.088 1.751.116a57.648 57.648 0 0 0 5.6 0c.596-.028 1.18-.068 1.747-.116a48.514 48.514 0 0 0 4.128-.52c.256-.044.508-.092.76-.14.44-.084.864-.176 1.276-.272 3.88-.912 6.443-2.264 7.107-3.612-.664-1.349-3.227-2.7-7.107-3.609a11.17 11.17 0 0 0-1.952-3.525c.124.02.252.044.376.068 1.7.3 3.28.689 4.684 1.16C37.804 15.417 40 17.273 40 19.314l-.016-.008Z"/><path fill="#fff" d="M27.115 11.234a11.228 11.228 0 0 0-3.524-1.952c-.908-3.881-2.26-6.446-3.608-7.11-1.348.664-2.7 3.229-3.607 7.11a32.407 32.407 0 0 0-.416 2.036 45.933 45.933 0 0 0-.52 4.129 46.919 46.919 0 0 0-.116 1.748 57.68 57.68 0 0 0 0 5.601c-1.12-.1-2.156-.228-3.112-.384a60.068 60.068 0 0 1 0-4.825c.028-.6.06-1.188.104-1.772a50.812 50.812 0 0 1 .324-3.16c.064-.48.136-.953.212-1.413.02-.124.044-.252.068-.376.3-1.7.688-3.28 1.16-4.685C15.408 2.196 17.264 0 19.303 0h1.372c2.04 0 3.896 2.196 5.224 6.181.468 1.404.856 2.985 1.16 4.685.024.124.044.252.068.376l-.012-.008ZM27.056 29.133c-.3 1.7-.688 3.28-1.16 4.685-1.328 3.984-3.184 6.18-5.224 6.18H19.3c-2.04 0-3.895-2.196-5.223-6.18-.468-1.405-.856-2.985-1.16-4.685l.504.06c.876.104 1.768.184 2.68.24.088.44.176.864.276 1.276.908 3.88 2.26 6.445 3.607 7.11 1.348-.665 2.7-3.23 3.612-7.11.096-.412.188-.836.272-1.276.912-.06 1.808-.14 2.68-.24.168-.016.336-.04.504-.06h.004Z"/></svg>`)),Koe="Alby Hub";let sV,aV=class extends ac{constructor(){super("nwc.albyhub",Koe,"#000000",qoe)}async _onClick(){Ht.getState().pushRoute("/alby-hub")}};aV=Tt([Wn("bc-alby-hub-connector")],aV);const LRe=Nr(sV||(sV=(t=>t)`<svg width="393" height="392" viewBox="0 0 393 392" fill="none" xmlns="http://www.w3.org/2000/svg">
233 <path d="M179.272 99.0639C169.038 88.8691 152.419 88.9782 142.221 99.2091L76.2474 165.414C66.0488 175.646 66.1786 191.974 76.4095 202.17L184.58 310.34C194.813 320.534 211.4 320.449 221.597 310.218L253.749 278.066C244.372 287.443 236.656 280.701 227.512 271.595L209.578 253.662C195.964 259.051 180.052 256.374 169.022 245.365L155.356 231.699C154.896 231.243 154.542 230.767 154.292 230.17C154.043 229.572 153.914 228.931 153.914 228.284C153.913 227.637 154.041 226.995 154.289 226.398C154.537 225.8 154.926 225.293 155.385 224.837L163.119 217.103L146.284 200.268C143.648 197.638 143.218 193.391 145.575 190.522C148.269 187.228 153.153 187.053 156.108 190.002L173.171 207.051L184.728 195.494L167.853 178.661C165.216 176.03 164.787 171.784 167.164 168.895C167.794 168.128 168.578 167.501 169.465 167.054C170.353 166.608 171.323 166.352 172.315 166.303C173.307 166.254 174.298 166.413 175.225 166.77C176.152 167.127 176.994 167.673 177.697 168.375L194.829 185.393L202.089 178.132C202.545 177.673 202.994 177.259 203.592 177.01C204.189 176.761 204.83 176.632 205.478 176.632C206.125 176.631 206.766 176.758 207.364 177.006C207.962 177.254 208.505 177.618 208.962 178.077L222.65 191.738C233.542 202.609 236.39 218.431 231.298 231.943L249.235 249.88C258.379 258.985 266.03 265.785 275.408 256.408L315.979 215.836C306.227 225.588 298.215 218.075 288.578 208.446L179.272 99.0639Z" fill="url(#paint0_linear_1_280)"/>
234 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
235 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
236 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
237 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
238 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
239 <defs>
240 <linearGradient id="paint0_linear_1_280" x1="192.323" y1="78.4384" x2="192.323" y2="317.939" gradientUnits="userSpaceOnUse">
241 <stop stop-color="#FFCA4A"/>
242 <stop offset="1" stop-color="#F7931A"/>
243 </linearGradient>
244 </defs>
245 </svg>`)),VD="NWC";let iV,lV=class extends ac{constructor(){super("nwc.generic",VD,"#ffffff",LRe)}async _onClick(){Ht.getState().pushRoute("/nwc")}};lV=Tt([Wn("bc-nwc-connector")],lV);const PRe=Nr(iV||(iV=(t=>t)`<svg class="w-10 h-10" width="28" height="55" viewBox="0 0 28 55" xmlns="http://www.w3.org/2000/svg"><g fill="#ffffff" fill-rule="nonzero"><path d="M27.25 30.506L11.354 53.692a.84.84 0 11-1.385-.954l15.896-23.185a.84.84 0 111.385.953zM25.16 26.374L9.629 49.082a.84.84 0 01-1.385-.954L23.776 25.42a.84.84 0 011.385.954zM20.438 1.576L2.43 27.895h16.895l-1.136 1.68H.363a.84.84 0 01-.227-1.158L19.006.622a.84.84 0 011.159-.227c.398.253.52.78.273 1.181z"></path><path d="M22.118 6.617L10.24 23.99h11.763l-1.158 1.68H7.062l1.136-1.68L20.733 5.686a.84.84 0 011.385.931z"></path></g></svg>`));let cV,uV=class extends ac{constructor(){super("lnc","Lightning Node Connect","#101727",PRe)}async _onClick(){const t=window.prompt("Enter pairing phrase");if(!t)return;const e=await joe();if(!e)throw new Error("LNC not supported");e.credentials.pairingPhrase=t,this._connect({})}};uV=Tt([Wn("bc-lnc-connector")],uV);const Zoe=Nr(cV||(cV=(t=>t)`<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
246 <path d="M256 0H0V256H256V0Z" fill="#673AB7"/>
247 <path d="M165 53H91V134.785H113.31V202L165 112.224H135.934L165 53Z" fill="white"/>
248 </svg>`)),w8="LNbits";let fV=class extends ac{constructor(){super("lnbits",w8,"#673ab7",Zoe)}async _onClick(){Ht.getState().pushRoute("/lnbits")}};fV=Tt([Wn("bc-lnbits-connector")],fV);const b8="LNbits NWC Plugin";let dV,pV=class extends ac{constructor(){super("lnbits",b8,"#673ab7",Zoe)}async _onClick(){Ht.getState().pushRoute("/lnbits-nwc")}};pV=Tt([Wn("bc-lnbits-nwc-connector")],pV);const ORe=Nr(dV||(dV=(t=>t)`<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
249 <path d="M40 17.5H34.4V23.1H40V17.5Z" fill="#041011"/>
250 <path d="M16.7 0V5.6L27.8 8.9L22.2 0H16.7Z" fill="#041011"/>
251 <path d="M29.4 35H35L36.7 25L29.4 29.4V35Z" fill="#041011"/>
252 <path d="M35 5H29.4V10.6L36.1 16.1L35 5Z" fill="#041011"/>
253 <path d="M16.7 40H22.2L27.8 29.4L16.7 34.4V40Z" fill="#041011"/>
254 <path d="M5 29.4V35H10.6L22.2 26.7L5 29.4Z" fill="#041011"/>
255 <path d="M18.9 18.6L5.6 17.5H0V23.1H5.6L18.9 18.6Z" fill="#041011"/>
256 <path d="M10.6 5H5V10.6L21.1 12.8L10.6 5Z" fill="#041011"/>
257 </svg>
258 `)),zRe="LN Link";let hV,mV=class extends ac{constructor(){super("nwc.generic",zRe,"#ffffff",ORe)}async _onClick(){Ht.getState().pushRoute("/lnfi")}};mV=Tt([Wn("bc-lnfi-nwc-connector")],mV);const FRe=Nr(hV||(hV=(t=>t)`<svg width="48" height="48" viewBox="0 0 19.05 19.05" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="#ffffff"/><g transform="translate(46.987939,-145.34756)"><path fill-rule="evenodd" clip-rule="evenodd" d="m -37.462939,146.46815 c -4.641638,0 -8.404413,3.76277 -8.404413,8.40441 0,4.64164 3.762775,8.40441 8.404413,8.40441 4.641638,0 8.40441,-3.76277 8.40441,-8.40441 0,-4.64164 -3.762772,-8.40441 -8.40441,-8.40441 z m -9.525,8.40441 c 0,-5.26053 4.264475,-9.525 9.525,-9.525 5.260525,0 9.525,4.26447 9.525,9.525 0,5.26053 -4.264475,9.525 -9.525,9.525 -5.260525,0 -9.525,-4.26447 -9.525,-9.525 z" fill="#000000"/><path fill-rule="evenodd" clip-rule="evenodd" d="m -37.462939,160.84902 c 3.300703,0 5.976461,-2.67576 5.976461,-5.97646 0,-3.30073 -2.675758,-5.97649 -5.976461,-5.97649 -3.300704,0 -5.976461,2.67576 -5.976461,5.97649 0,3.3007 2.675757,5.97646 5.976461,5.97646 z m 0,-1.21396 c 2.630249,0 4.7625,-2.13225 4.7625,-4.7625 0,-2.63025 -2.132251,-4.7625 -4.7625,-4.7625 -2.630249,0 -4.7625,2.13225 -4.7625,4.7625 0,2.63025 2.132251,4.7625 4.7625,4.7625 z" fill="#000000"/><path fill-rule="evenodd" clip-rule="evenodd" d="m -37.462913,151.4062 c 0,0 -2.6e-5,0 -2.6e-5,0 -1.914419,0 -3.466359,1.55194 -3.466359,3.46636 0,1.91442 1.55194,3.46636 3.466359,3.46636 0,0 2.6e-5,0 2.6e-5,0 z" fill="#000000"/></g></svg>`)),BRe="Coinos";let gV,yV=class extends ac{constructor(){super("nwc.coinos",BRe,"#ffffff",FRe)}async _onClick(){try{var t;const e=Ht.getState().bitcoinConnectConfig.providerConfig,n=await sS.NWCClient.fromAuthorizationUrl("https://coinos.io/apps/new",$u({},(e==null||(t=e.nwc)==null?void 0:t.authorizationUrlOptions)||{},{name:this._appName}));n.close(),await Ht.getState().connect({nwcUrl:n.nostrWalletConnectUrl,connectorName:"Coinos",connectorType:"nwc.coinos"})}catch(e){console.error(e),alert(""+e)}}};yV=Tt([Wn("bc-coinos-connector")],yV);const URe=Nr(gV||(gV=(t=>t)`<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 20630 20630" preserveAspectRatio="xMidYMid meet"><g transform="translate(0.000000,20630.000000) scale(1.000000,-1.000000)"><path fill="black" d="M5645 20623 c-856 -42 -1650 -251 -2395 -629 -502 -254 -897 -527 -1325 -915 -1015 -920 -1688 -2201 -1869 -3559 -54 -403 -51 -132 -51 -5210 0 -4938 -1 -4788 41 -5125 189 -1512 946 -2882 2129 -3850 353 -290 711 -519 1140 -730 714 -352 1468 -548 2295 -595 239 -13 9171 -13 9410 0 1083 62 2073 388 2960 975 885 585 1587 1388 2056 2350 323 662 507 1339 576 2115 19 216 19 9504 0 9730 -67 784 -266 1498 -606 2179 -566 1130 -1469 2042 -2591 2617 -701 359 -1348 545 -2205 636 -88 9 -1206 12 -4810 13 -2582 1 -4722 0 -4755 -2z"/><path fill="white" d="M13504 11628 l2333 -3 -3181 -3813 -3181 -3813 -3 2540 -2 2541 -2336 0 c-1285 0 -2334 4 -2332 8 2 4 1434 1723 3183 3820 l3180 3811 3 -2544 2 -2545 2334 -2z"/></g></svg>`)),$Re="Flash Wallet";let vV,wV=class extends ac{constructor(){super("nwc.flash",$Re,"#000000",URe)}async _onClick(){Ht.getState().pushRoute("/flash-wallet")}};wV=Tt([Wn("bc-flash-connector")],wV);const VRe=Nr(vV||(vV=(t=>t)`<svg class="w-12 h-12" width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
259 <g clip-path="url(#clip0_1_943)">
260 <path d="M155.506 253.036C146.645 254.976 137.44 255.999 127.997 255.999C102.077 255.999 77.9567 248.295 57.8008 235.051C52.7974 227.894 50.5525 223.955 48.915 221.081C48.1036 219.657 47.4413 218.495 46.6664 217.332C39.0311 205.053 35.0362 189.28 34.1651 170.748C31.4666 113.326 66.3642 76.6573 102.015 70.6387C124.613 66.8235 142.572 70.6872 156.347 78.0534C144.169 74.666 129.652 74.4622 113.102 79.2C72.9831 92.1309 59.6091 131.451 65.3414 174.994C75.3453 229.555 128.842 249.111 155.506 253.036Z" fill="url(#paint0_linear_1_943)"/>
261 <path d="M41.2387 222.111C33.7762 208.86 27.0184 189.088 26.1739 171.123C23.3092 110.164 60.5628 69.5235 100.683 62.7503C155.371 53.5175 185.775 85.8934 196.256 109.923C196.695 109.628 196.873 109.043 196.641 108.539C179.408 71.0662 143.765 45.3331 102.592 45.3331C55.8419 45.3331 14.127 78.8691 0 128.71C0.200633 165.642 16.0426 198.871 41.2387 222.111Z" fill="url(#paint1_linear_1_943)"/>
262 <path d="M199.997 233.844C190.764 240.137 180.665 245.253 169.916 248.977C164.755 248.078 159.037 246.959 155.011 246.171C153.103 245.797 151.574 245.498 150.666 245.332C126.318 240.885 82.7834 225.195 73.246 173.749C70.5513 153.063 72.4812 134.02 79.3156 118.916C86.0487 104.035 97.6686 92.6275 115.39 86.8682C135.987 81.2567 153.055 84.0378 165.732 90.8469C162.612 90.1887 159.386 89.8437 156.085 89.8437C128.652 89.8437 106.414 113.671 106.414 143.063C106.414 154.799 109.959 165.648 115.966 174.447C115.966 174.447 133.16 206.926 179.966 204.023C221.7 201.434 243.373 163.999 245.956 150.172C247.298 142.986 248 135.575 248 127.999C248 61.7256 194.274 7.99997 128.001 7.99997C77.851 7.99997 34.8866 38.7631 16.9488 82.4478C10.8898 90.3409 5.6727 99.0914 1.46875 108.554C10.8367 47.0899 63.9194 0 128.001 0C198.693 0 256 57.3073 256 127.999C256 171.996 233.803 210.805 199.997 233.844Z" fill="url(#paint2_linear_1_943)"/>
263 </g>
264 <defs>
265 <linearGradient id="paint0_linear_1_943" x1="79.9357" y1="106.044" x2="79.7404" y2="219.805" gradientUnits="userSpaceOnUse">
266 <stop offset="0.0297309" stop-color="#FA3C3C"/>
267 <stop offset="1" stop-color="#BC1870"/>
268 </linearGradient>
269 <linearGradient id="paint1_linear_1_943" x1="62.5099" y1="52.0175" x2="56.1717" y2="165.81" gradientUnits="userSpaceOnUse">
270 <stop stop-color="#FF9F2F"/>
271 <stop offset="1" stop-color="#FA3C3C"/>
272 </linearGradient>
273 <linearGradient id="paint2_linear_1_943" x1="151.999" y1="253.332" x2="152.351" y2="121.334" gradientUnits="userSpaceOnUse">
274 <stop stop-color="#5B09AD"/>
275 <stop offset="1" stop-color="#BC1870"/>
276 </linearGradient>
277 <clipPath id="clip0_1_943">
278 <rect width="256" height="256" fill="white"/>
279 </clipPath>
280 </defs>
281 </svg>
282 `)),x8="Primal Mobile";let bV,xV=class extends ac{constructor(){super("nwc.primal",x8,"#000000",VRe)}async _onClick(){Ht.getState().pushRoute("/primal")}};xV=Tt([Wn("bc-primal-connector")],xV);const HRe=Nr(bV||(bV=(t=>t)`<svg class="w-12 h-12" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
283 <rect width="17.2816" height="20" fill="url(#pattern0_6321_527)"/>
284 <defs>
285 <pattern id="pattern0_6321_527" patternContentUnits="objectBoundingBox" width="1" height="1">
286 <use xlink:href="#image0_6321_527" transform="matrix(0.00248348 0 0 0.00214592 0.08 0.05)"/>
287 </pattern>
288 <image id="image0_6321_527" width="404" height="404" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAdnJLH8AAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAH5QTFRFIyMjSkdG////6+rqsq6uhYGBeHR0a2dnNzU1VFJRLCwsop6eQD49wb6/k4+P1tTUYFxcIyMkLCorKScnLSorKigoQ0FCJSUlLSssKCUlLCkqrKmqWFZXKykpy8rLbmxsFRUXHBsbODY3Y2FhoJ2e3Nvb7e3ukpCQTkxMKCUnmJ5JnAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB+kHEQgcCEGliNcAAAoMSURBVHja7Z2LkqI6EIajiDKOiEghVQdHq5SLvv8LHpDEEfxHoNZ0JKS3dtdldIUvt86fpJsxY8aMGTNmzJgxY8aMGTNmzJgxY8Ze22KtwuabnRN+BgB3qsqs1I3tlT9eAJWl7nw5agCFZa69HTWAsjnEu3EDKKvBZdwACgTxSR2AdEVpu8t+nieuZzUbgu0rA6Ck9gU7201rCA67UQEoLdrHjwys+dgAFBbODw8IEn90AArbPPTFs58RAmDs6N0JuMsxAmBhkt27wuUYARTt4N4butdRAmDOvSeIxwmARbEgsB4nAOZ/C794oxCA78i0bdSJQLpUB2Aldcpj3ZSg3V8Y/JlwBzQF0KoEhcItPOsNoPT7Z3t0Rzs+SfSuugMoB3zU1835D+0RACiauvOnSJP+jAHA1Do+3dPJIqwCfwOY5TIsmT0pQfnTBDjhvUCkFIA8ZyzYrd3sgUDcJLDkiI6aArg9o+01CPhBEEVR+UcQ5LyPjHxWXrv6ESsv+wErXkaRX/6DsWv1wq8+4w8LQPHADxJAUk4EwmsQRlFYMnCqCpKdIhaUV6KAhVFY/HX7cfn7GkQsLF6Ul4sPBteIDQ1AUYL5vSHMCwD/hSWA4lHDIOD+4LoCUPz6CVlJJ7wBKN5QvLV4Y/EJFgbVtQECeJAArBUrS7540mtRzCzYc2mkKvSfEksJoCr9SAAoS3/INaB0+0QzcJlftuhbey4a/k9FJnOu9z6ARX7xlsC/dQG3PoC/GGofwL9M1IFGjx9TjQOqAbA97wcO9RI8U0lDygEwG1aBn8oVOIwAgM/nv41nra5agf4A2IZLJSvUCaw+BECc/rN5bmyfXtzDzRt6ahnzDwHwpm0E2cEGc9wFagMTPlPSC0D5Vc+bAK5i0K9NFjKaYYAcAFr7i0F1jyzuIOkHYOo1e7Zjdf27djGlGQdVAJh6jTrAq7sLxsHPApC5/2CPQlBT9E/B+hTRmlUvAP92N8ElvjM4oruwQr0BFOaIdZ+G3Md7QUd7AMzneud0UbvMJbCd/gCY705Bh8cBXEYAgO0yMMuZg2qhKwAxol6AMzwOAHPw348KwAm4faMCEAAnf1QA/HTkAJgBYAAYAAaAAWAAGAAGgAFgABgABoABYAAYAAaAAWAAGAAGgAFgABgABoABYAAYAAaAAWAAGAAGgAFgABgABoDOAPyxb5MLxw5gBU4JjgqADULEjAoAPyo8GSsAflLYuoJasRkBgK2Hzo3loFboCWDrwlhxCTgqriWAjQgZ0ogXwY8lLnUG4Icr+zeC9AJ1jFb06QCm/xA+wHqMINY4E35F8TIqKN5nAXiTHRpRj3boKJ3Gh6cPzRiCOQiW4Ot7fD4Ou/hG24wmtio5gMPi6R5O1bOmV3AXmoXQsGZnEPEqQb7RkSiqZEcAufvvltgTGBUIh09E56kVApBp/FHTENyY9aM/AH6auhFBhJ8ulO4GqAcQ8SEgOyHXYKY/gG/sHK6JAkkpB7AW44ODXIPM0RyAn09xHG0eVVV+ND21AJZ398L14ciQaA3An9+zqqSNqu57RF6AQgDR4lcdsL4aPzxPqVqAIgD+LnkILG3t8V2RRFd/AcCXYcFytcjrOebS/V/K8VYpAEuOZU/Tw6eomSLKKEEXqD6/QJY8Z9KYY9dASwDu1/MtORZhBVALwIWZZGakmYbUAUi/J/CObNIcK2oAZKmbX/4IB3/OsG9ID8B7gwgkxrvD75U4t7+cvx/uwjsAiyr9qmRH6NhzWj9Jp1TzYBoAkYfUjr/LPyVPOCjbFV73GdI2YvnMDbQBwCXfTuKmLbxEz2HaABDxUtsHteXsPkCumEYAVlWxem2j2q844JHm35Y/HXa7pA/8+l168miT0MsHcJ62LvPu3amitMsUALi8lf1VsZcPG0emWU6cepxCEbJfDO2OXUu7lp4Z+0wAPXWf2leEVfdm1et24Oxz16vLI/GSfSqAuJfqk9YXehO01D973jmwYexjAfTcH1CXc/kqRxoB2ef3I0ef6QOgHjdalHatXgTpJzy+NAD16d8Xqhf5b9cXT5gykwSgsarJB7o9aBjTeB8xph2ARo8HZYGYeOb/BgCdcoxU07+0NqGNUCahCdkK8NsAdNq4m6CChau9LjgloAEAuLQPZYFF+yxhiADEoLdvlQXELGGlGYA96vF2SBaw0f6w4QMQ+3tOrbIATytpLTUDMEcFC2WBhHhPJhEAnj6v3uNBWYB3mF6kFwAx6NntssCMLss6JYAl6vFgg/+aqnaG5Byail+cjctbZwkaAJigBIInJAv0XTwcCAAxd9i1Nviei4eDAbBAPd4eNfhei4fDAcALtuHi8Ab/1TpLGD4AMeitkYc0a50laACAF2zdxYEJhrsuHg4MgCjYY2dZYKEZgBUaCXm9qJ+P2iiVBeSdHkeJFXGDP6B3Dh/AGfV4E9Tg5yqdIXkAxPTPaZUFgpTqgBApADES5qxVB8wVOkMSAfDpX/1MNNQB+ewxDfUCgAVyKAsodIZkAoAC+RbJAhN1zpDUICpQIP9GTnKnnVTDAwAF8hPSAc/KnCG5YXSgQI5kgbadVEMFMEfj2wbJAjb1JmkaAFAgh66vsjUSyZGkoEAOXd+EKGgKMQAHjW/Q9XVQKJnhAxA93rnd9Z2p2TAiG8AFjW8Ocn0VrZFIjybnoj0AsLQPSjaMSAdwROPbBUUVPCpxhqQDwAI52h4UKdkwIj+g4hr5/lAWWKvYMCIfABTIYWkvVThDBCE1YyR7Q9f3W8GGEQIAuxcCeb20Vwo2jFAEVeUj4aSzLHDUDMAZVXdY2ht6Z4gCgJjsL9tLm37DCElcYSiQwxUx+jUSEgBYIEeygFg/PukFQPR48/bSJl8joQFwQgI5lAXIN4wQxRaHAjkUgajXSIgAQIFcyAK1wyXUayRU0eVhhEgoCxBvGKECAAVyKAsQr5FQAeA9XmMBGIlAIpjiRS8AWCCHIpBN6gyRAYACOZQFQtINI3Q5RqBADkUg0jUSOgBQIIeygEO5YYQwy8wBaZ7Q76FcIyEEcETVfYdkAV5ZSJwhQgAvBfIFGh7PegHAIyH0ewjXSCgBQIEc+j0R3YYR0lRbrwTyGboYawYACuThK1lgqRcALJBDv+ebyhkCT7Zd3+wiAQAUyJ3q++ry8Ipqw0jHJ3sTAN/rXLOpnCFaAFggf6UhHTQDsLU612yiDSPEALBA/kpDcjUDcOocO0eskaz0AiB8/w6rfznJhhFyAJvOgheNM0QOwO+eQimm2DBCDgAL5K88Z7kbRugBYIH8VX9xJADQFiT0nUmAxVmq9tCkFOmG3G4pZbI3AuCaZ9YhOOlU/oaRXoEC35QGetY3OOFMMwBfvVNynPQCwA59CSSaATj2Ttf7oxeAKO1LQN6GkV4Jhd+mUdp9s9WQn6UyZsyYMWPGjBkzNjD7H9D+hIrLgzibAAAAAElFTkSuQmCC"/>
289 </defs>
290 </svg>
291 `)),k8="Rizful";let kV=class extends ac{constructor(){super("nwc.rizful",k8,"#000000",HRe)}async _onClick(){Ht.getState().pushRoute("/rizful")}};kV=Tt([Wn("bc-rizful-connector")],kV);let jV,CV,SV,EV,NV,IV,AV,_V,MV,RV,TV,DV,LV,PV,OV,yi=t=>t,k9=class extends Tr()(nr){constructor(){super(...arguments),this._showAll=!1}render(){const t=[];return t.push({order:0,result:Et(jV||(jV=yi`<bc-alby-hub-connector></bc-alby-hub-connector>`))}),t.push({order:0,result:Et(CV||(CV=yi`<bc-coinos-connector></bc-coinos-connector>`))}),t.push({order:0,result:Et(SV||(SV=yi`<bc-flash-connector></bc-flash-connector>`))}),t.push({order:0,result:Et(EV||(EV=yi`<bc-primal-connector></bc-primal-connector>`))}),t.push({order:0,result:Et(NV||(NV=yi`<bc-cashu-me-connector></bc-cashu-me-connector>`))}),this._filters&&this._filters.indexOf("nwc")>-1&&t.push({order:0,result:Et(IV||(IV=yi`<bc-lnbits-nwc-connector></bc-lnbits-nwc-connector>`))}),t.push({order:0,result:Et(AV||(AV=yi`<bc-rizful-connector></bc-rizful-connector>`))}),t.push({order:0,result:Et(_V||(_V=yi`<bc-nwc-connector></bc-nwc-connector>`))}),t.push({order:10,result:Et(MV||(MV=yi`<bc-lnfi-nwc-connector></bc-lnfi-nwc-connector>`))}),this._filters&&this._filters.indexOf("nwc")!==-1||(window.webln&&t.push({order:0,result:Et(RV||(RV=yi`<bc-extension-connector></bc-extension-connector>`))}),t.push({order:7,result:Et(TV||(TV=yi`<bc-lnbits-connector></bc-lnbits-connector>`))}),t.push({order:9,result:Et(DV||(DV=yi`<bc-lnc-connector></bc-lnc-connector>`))})),t.sort((e,n)=>e.order-n.order),Et(LV||(LV=yi`
292 <div>
293 <div
294 class="flex justify-center items-start flex-wrap gap-5 ${0}"
295 >
296 ${0}
297 </div>
298 ${0}
299 </div>
300 `),this._showAll?"max-h-96 overflow-y-auto":"",(this._showAll?t:t.slice(0,9)).map(e=>e.result),!this._showAll&&t.length>9?Et(PV||(PV=yi`<div class="text-center">
301 <button
302 class="${0} text-xs font-medium mt-8 ${0}"
303 @click=${0}
304 >
305 show all (${0})
306 </button>
307 </div> `),Ma,$n,this._toggleShowAll,t.length):null)}_toggleShowAll(){this._showAll=!0}};Tt([Xn()],k9.prototype,"_showAll",void 0),k9=Tt([Wn("bc-connector-list")],k9);const WRe=Nr(OV||(OV=(t=>t)`
308 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-6 h-6">
309 <path d="M11.25 20.25H4.75C4.19772 20.25 3.75 19.8023 3.75 19.25L3.75 4.75C3.75 4.19772 4.19772 3.75 4.75 3.75L11.25 3.75" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/>
310 <path d="M20.25 12L9 12M20.25 12L15.75 16.5M20.25 12L15.75 7.5" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" class="hover-right"/>
311 </svg>`));let zV,FV,BV=t=>t;function HD(t){return Et(zV||(zV=BV`<div class="mt-12">
312 ${0}
313
314 <bci-button
315 @click=${0}
316 ghost
317 variant="neutral"
318 class=${0}
319 >
320 ${0}
321 <span class="text-sm ${0}"
322 >Disconnect</span
323 >
324 </bci-button>
325 </div>`),t?Et(FV||(FV=BV`<span class="text-xs mb-1 ${0}"
326 >Connected through
327 <span class="font-bold">${0}</span></span
328 >`),$n,t):null,YRe,g8,WRe,rf)}function YRe(){Ht.getState().setModalOpen(!1),setTimeout(()=>{Ht.getState().disconnect()},200)}const UV=t=>String.fromCodePoint(...t.split("").map(e=>127397+e.toUpperCase().charCodeAt(0)));let $V,j9,VV,HV,WV,YV,d6=t=>t,p6=(j9=class extends($V=Tr()(nr)){constructor(){super(),this._isSwitchingCurrency=!1,this._selectedCurrency=Ht.getState().currency,Ht.subscribe(t=>{this._selectedCurrency=t.currency})}render(){if(!this._isSwitchingCurrency)return Et(VV||(VV=d6`<div class="flex justify-center items-center gap-2">
329 <div
330 class="${0}"
331 @click=${0}
332 >
333 <slot></slot>
334 </div>
335 </div>`),Ma,this._showSelectVisibility);const t=(()=>{const n=[{name:"SATS",value:"sats",flag:"₿"},{name:"BTC",value:"BTC",flag:"₿"},{name:"USD",value:"USD",flag:UV("US")},{name:"EUR",value:"EUR",flag:"🇪🇺"}];return n.push(...Object.entries({JP:"JPY",CN:"CNY",GB:"GBP",CH:"CHF",IN:"INR",AE:"AED",AF:"AFN",AL:"ALL",DZ:"DZD",AO:"AOA",AR:"ARS",AM:"AMD",AW:"AWG",AU:"AUD",AZ:"AZN",BS:"BSD",BH:"BHD",BD:"BDT",BB:"BBD",BY:"BYN",BZ:"BZD",BM:"BMD",BT:"BTN",BO:"BOB",BA:"BAM",BW:"BWP",BR:"BRL",BN:"BND",BG:"BGN",BI:"BIF",CV:"CVE",KH:"KHR",CA:"CAD",KY:"KYD",CF:"XAF",CL:"CLP",CO:"COU",KM:"KMF",CD:"CDF",CR:"CRC",CU:"CUC",CW:"ANG",CZ:"CZK",DK:"DKK",DJ:"DJF",DM:"XCD",DO:"DOP",EG:"EGP",ER:"ERN",ET:"ETB",FJ:"FJD",PF:"XPF",GM:"GMD",GE:"GEL",GH:"GHS",GI:"GIP",GT:"GTQ",GN:"GNF",GY:"GYD",HN:"HNL",HK:"HKD",HU:"HUF",IS:"ISK",ID:"IDR",IR:"XDR",IQ:"IQD",IL:"ILS",JM:"JMD",JO:"JOD",KZ:"KZT",KE:"KES",KR:"KRW",KW:"KWD",KG:"KGS",LA:"LAK",LB:"LBP",LR:"LRD",LY:"LYD",MO:"MOP",MG:"MGA",MW:"MWK",MY:"MYR",MV:"MVR",MR:"MRU",MU:"MUR",MX:"MXN",MD:"MDL",MN:"MNT",MA:"MAD",MZ:"MZN",MM:"MMK",NP:"NPR",NZ:"NZD",NI:"NIO",NE:"XOF",NG:"NGN",MK:"MKD",NO:"NOK",OM:"OMR",PK:"PKR",PG:"PGK",PY:"PYG",PE:"PEN",PH:"PHP",PL:"PLN",QA:"QAR",RO:"RON",RU:"RUB",RW:"RWF",SH:"SHP",WS:"WST",ST:"STN",SA:"SAR",RS:"RSD",SC:"SCR",SL:"SLL",SG:"SGD",SB:"SBD",SO:"SOS",ZA:"ZAR",SS:"SSP",LK:"LKR",SD:"SDG",SR:"SRD",SE:"SEK",SY:"SYP",TW:"TWD",TJ:"TJS",TZ:"TZS",TH:"THB",TO:"TOP",TT:"TTD",TN:"TND",TR:"TRY",TM:"TMT",UG:"UGX",UA:"UAH",UY:"UYU",UZ:"UZS",VU:"VUV",VN:"VND",YE:"YER",ZM:"ZMW",ZW:"ZWL"}).map(([r,o])=>({name:r,value:o,flag:UV(r)}))),n})(),e=this._selectedCurrency||"sats";return Et(HV||(HV=d6`<ul
336 class="h-48 overflow-y-scroll px-4 grid grid-cols-2 gap-3 currencies-list -mb-10"
337 >
338 ${0}
339 </ul>`),t.map(n=>Et(WV||(WV=d6`
340 <li
341 class="${0} flex items-center justify-center py-2 px-4 hover:text-white hover:bg-blue-500 rounded-lg hover:border-blue-500 cursor-pointer"
342 @click=${0}
343 >
344 <span class="text-orange-400 inline-block mr-2 text-xl"
345 >${0}</span
346 ><span class="text-xl">${0}</span>
347 </li>
348 `),e===n.value?"bg-blue-500 text-white":"",()=>this._selectCurrency(n.value),n.flag,n.value)))}_showSelectVisibility(){this._isSwitchingCurrency=!0}_selectCurrency(t){Ht.getState().setCurrency(t),this._isSwitchingCurrency=!1}},j9.styles=[...$V.styles,lS(YV||(YV=d6`
349 .currencies-list {
350 mask-image: linear-gradient(
351 to bottom,
352 black calc(100% - 96px),
353 transparent 100%
354 );
355 }
356 /* width */
357 ::-webkit-scrollbar {
358 width: 6px;
359 height: 18px;
360 }
361
362 /* Track */
363 ::-webkit-scrollbar-track {
364 background: #66666666;
365 }
366
367 /* Handle */
368 ::-webkit-scrollbar-thumb {
369 background: #888;
370 }
371
372 /* Handle on hover */
373 ::-webkit-scrollbar-thumb:hover {
374 background: #555;
375 }
376 `))],j9);Tt([Xn()],p6.prototype,"_isSwitchingCurrency",void 0),Tt([Xn()],p6.prototype,"_selectedCurrency",void 0),p6=Tt([Wn("bc-currency-switcher")],p6);let GV,qV,KV,ZV,QV,JV,mw=t=>t,C9=class extends Tr()(nr){constructor(){super(),this._showBalance=void 0,this._showBalance=Ht.getState().bitcoinConnectConfig.showBalance&&Ht.getState().supports("getBalance"),Ht.subscribe(t=>{this._showBalance=t.bitcoinConnectConfig.showBalance&&t.supports("getBalance")})}render(){return Et(GV||(GV=mw`<div
377 class="flex flex-col justify-center items-center w-full font-sans"
378 >
379 ${0}
380 </div>`),this._connected?Et(qV||(qV=mw`
381 ${0}
382 ${0}
383 `),Et(this._showBalance?KV||(KV=mw`<span
384 class="text-xs font-medium mb-2 ${0}"
385 >Balance</span
386 >
387 <bc-currency-switcher>
388 <bc-balance class="text-2xl"></bc-balance>
389 </bc-currency-switcher>`):ZV||(ZV=mw` <span
390 class="text-lg font-medium mt-4 -mb-4 ${0}"
391 >Wallet Connected</span
392 >`),$n),HD(this._connectorName)):Et(QV||(QV=mw`
393 <h1
394 class="my-8 ${0} w-64 max-w-full text-center"
395 >
396 How would you like to
397 connect${0}?
398 </h1>
399
400 <bc-connector-list></bc-connector-list>
401
402 <div class="flex flex-col items-center w-full font-sans text-sm">
403 <h1 class="mt-8 ${0} text-center">
404 Don't have a bitcoin lightning wallet?
405 <a
406 class="no-underline font-bold ${0} ${0} "
407 @click=${0}
408 >Get one here</a
409 >
410 </h1>
411 </div>
412 `),e2,this._appName&&this._appName!==o8.appName?`
413 to ${this._appName}`:"",e2,Ma,Mo,()=>Ht.getState().pushRoute("/new-wallet")))}};Tt([Xn()],C9.prototype,"_showBalance",void 0),C9=Tt([Wn("bc-start")],C9);const GRe=Nr(JV||(JV=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-7 h-7">
414 <path d="M14.2929 16L10.6464 12.3536C10.4512 12.1583 10.4512 11.8417 10.6464 11.6464L14.2929 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
415 </svg>
416 `));let XV,eH,qRe=t=>t,S9=class extends Tr()(nr){constructor(){super(...arguments),this._goBack=()=>{Ht.getState().popRoute(),Ht.getState().setError(void 0)}}render(){return Et(XV||(XV=qRe`<div
417 class="flex justify-center items-center gap-2 w-full relative pb-4"
418 >
419 <div class="absolute left-8 h-full flex items-center justify-center">
420 <div
421 class="${0} ${0}"
422 @click=${0}
423 >
424 ${0}
425 </div>
426 </div>
427 <div class="font-sans font-medium ${0}">
428 ${0}
429 </div>
430 </div>`),Ma,rf,this._goBack,GRe,e2,this.heading)}};Tt([Jo()],S9.prototype,"heading",void 0),S9=Tt([Wn("bc-navbar")],S9);const tH=Nr(eH||(eH=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
431 <path d="M9.5 6H6.1C5.53995 6 5.25992 6 5.04601 6.10899C4.85785 6.20487 4.70487 6.35785 4.60899 6.54601C4.5 6.75992 4.5 7.03995 4.5 7.6V18.4C4.5 18.9601 4.5 19.2401 4.60899 19.454C4.70487 19.6422 4.85785 19.7951 5.04601 19.891C5.25992 20 5.53995 20 6.1 20H16.9C17.4601 20 17.7401 20 17.954 19.891C18.1422 19.7951 18.2951 19.6422 18.391 19.454C18.5 19.2401 18.5 18.9601 18.5 18.4V15" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/>
432 <path d="M14.5 4H20.5M20.5 4V10M20.5 4L11.5 13" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" class="hover-right-up"/>
433 </svg>`));let nH,rH,oH,sH=t=>t;function Qoe(t){const e=`border-t ${BD} ${t?"w-24":"w-full"}`;return Et(nH||(nH=sH`<div
434 class="w-full px-8 flex gap-4 justify-center items-center opacity-60 dark:opacity-60"
435 >
436 <hr class=${0} />
437 ${0}
438 </div>`),e,t?Et(rH||(rH=sH`
439 <span class=${0}>${0}</span>
440 <hr class=${0} />
441 `),rf,t,e):null)}const KRe=Nr(oH||(oH=(t=>t)`<svg width="49" height="24" viewBox="0 0 49 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-16 h-16 -my-4">
442 <ellipse opacity="0.1" cx="7.70773" cy="21.5226" rx="3.4509" ry="0.637088" fill="black"/>
443 <path d="M11.0342 18.4211C12.817 18.4211 13.6285 14.4735 13.6285 12.9767C13.6285 11.8101 12.8235 11.103 11.7652 11.103C10.7135 11.103 9.85965 11.5553 9.84905 12.1153C9.84902 13.5933 9.5889 18.4211 11.0342 18.4211Z" fill="white" stroke="currentColor" stroke-width="0.530907"/>
444 <path d="M4.52264 18.4211C2.73985 18.4211 1.9284 14.4735 1.9284 12.9767C1.9284 11.8101 2.7334 11.103 3.79171 11.103C4.84341 11.103 5.69723 11.5553 5.70784 12.1153C5.70786 13.5933 5.96799 18.4211 4.52264 18.4211Z" fill="white" stroke="currentColor" stroke-width="0.530907"/>
445 <mask id="path-4-inside-1_362_874" fill="white">
446 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.6445 12.5235C12.6735 12.2374 12.352 12.0646 12.1046 12.2113C10.8114 12.9776 9.30208 13.4175 7.68997 13.4175C6.09291 13.4175 4.59668 12.9858 3.31165 12.2326C3.06376 12.0873 2.74334 12.2612 2.77318 12.547C2.9933 14.6548 4.14156 16.4192 5.71508 17.2405C6.15438 17.4698 6.46173 17.8751 6.77033 18.282C7.0197 18.6108 7.26988 18.9407 7.59116 19.1797C7.62857 19.2075 7.66755 19.2222 7.70759 19.2222C7.74762 19.2222 7.78658 19.2075 7.82397 19.1797C8.14538 18.9407 8.39562 18.6108 8.64504 18.2819C8.9536 17.875 9.26091 17.4698 9.70016 17.2405C11.2796 16.4162 12.4305 14.6418 12.6445 12.5235Z"/>
447 </mask>
448 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.6445 12.5235C12.6735 12.2374 12.352 12.0646 12.1046 12.2113C10.8114 12.9776 9.30208 13.4175 7.68997 13.4175C6.09291 13.4175 4.59668 12.9858 3.31165 12.2326C3.06376 12.0873 2.74334 12.2612 2.77318 12.547C2.9933 14.6548 4.14156 16.4192 5.71508 17.2405C6.15438 17.4698 6.46173 17.8751 6.77033 18.282C7.0197 18.6108 7.26988 18.9407 7.59116 19.1797C7.62857 19.2075 7.66755 19.2222 7.70759 19.2222C7.74762 19.2222 7.78658 19.2075 7.82397 19.1797C8.14538 18.9407 8.39562 18.6108 8.64504 18.2819C8.9536 17.875 9.26091 17.4698 9.70016 17.2405C11.2796 16.4162 12.4305 14.6418 12.6445 12.5235Z" fill="#FFDF6F"/>
449 <path d="M5.71508 17.2405L5.96074 16.7698L5.71508 17.2405ZM6.77033 18.282L6.34731 18.6028H6.34731L6.77033 18.282ZM7.59116 19.1797L7.27429 19.6057L7.27429 19.6057L7.59116 19.1797ZM7.82397 19.1797L8.14076 19.6058L8.14076 19.6058L7.82397 19.1797ZM8.64504 18.2819L8.22202 17.9611L8.22202 17.9611L8.64504 18.2819ZM9.70016 17.2405L9.94582 17.7112H9.94582L9.70016 17.2405ZM12.1046 12.2113L12.3752 12.668L12.1046 12.2113ZM12.6445 12.5235L12.1163 12.4702L12.6445 12.5235ZM11.8339 11.7545C10.6205 12.4737 9.20424 12.8866 7.68997 12.8866V13.9484C9.39992 13.9484 11.0024 13.4815 12.3752 12.668L11.8339 11.7545ZM7.68997 12.8866C6.18981 12.8866 4.78593 12.4813 3.5801 11.7746L3.0432 12.6907C4.40743 13.4902 5.996 13.9484 7.68997 13.9484V12.8866ZM2.24515 12.6022C2.48098 14.8605 3.71574 16.7958 5.46941 17.7111L5.96074 16.7698C4.56738 16.0426 3.50562 14.4492 3.30122 12.4919L2.24515 12.6022ZM5.46941 17.7111C5.78479 17.8758 6.0236 18.1759 6.34731 18.6028L7.19335 17.9612C6.89987 17.5742 6.52397 17.0638 5.96074 16.7698L5.46941 17.7111ZM6.34731 18.6028C6.58755 18.9196 6.88185 19.3137 7.27429 19.6057L7.90804 18.7537C7.65791 18.5676 7.45184 18.302 7.19335 17.9612L6.34731 18.6028ZM7.27429 19.6057C7.38246 19.6861 7.5299 19.7531 7.70759 19.7531V18.6913C7.80519 18.6913 7.87468 18.7289 7.90803 18.7537L7.27429 19.6057ZM7.70759 19.7531C7.8852 19.7531 8.03259 19.6862 8.14076 19.6058L7.50719 18.7537C7.54057 18.7289 7.61005 18.6913 7.70759 18.6913V19.7531ZM8.14076 19.6058C8.53339 19.3138 8.82778 18.9195 9.06806 18.6027L8.22202 17.9611C7.96346 18.302 7.75738 18.5677 7.50719 18.7537L8.14076 19.6058ZM9.06806 18.6027C9.39174 18.1759 9.6305 17.8758 9.94582 17.7112L9.45451 16.7699C8.89133 17.0638 8.51547 17.5741 8.22202 17.9611L9.06806 18.6027ZM9.94582 17.7112C11.706 16.7925 12.9435 14.8462 13.1728 12.5769L12.1163 12.4702C11.9176 14.4373 10.8531 16.0399 9.45451 16.7699L9.94582 17.7112ZM3.5801 11.7746C3.28427 11.6012 2.93961 11.6167 2.67587 11.7666C2.40507 11.9206 2.20605 12.2278 2.24515 12.6022L3.30122 12.4919C3.30493 12.5275 3.29778 12.5713 3.27544 12.6121C3.25447 12.6503 3.22616 12.6752 3.20065 12.6897C3.15164 12.7176 3.09113 12.7188 3.0432 12.6907L3.5801 11.7746ZM12.3752 12.668C12.3274 12.6963 12.2669 12.6954 12.2177 12.6677C12.1921 12.6533 12.1637 12.6286 12.1426 12.5903C12.12 12.5496 12.1127 12.5057 12.1163 12.4702L13.1728 12.5769C13.2106 12.2021 13.0103 11.8954 12.7386 11.7425C12.4741 11.5936 12.1291 11.5796 11.8339 11.7545L12.3752 12.668Z" fill="black" mask="url(#path-4-inside-1_362_874)"/>
450 <ellipse cx="7.72545" cy="12.4621" rx="4.67198" ry="1.55733" fill="black" stroke="black" stroke-width="0.530907"/>
451 <path d="M3.97363 15.0811C3.97363 15.0811 6.27807 15.8597 7.76077 15.8597C9.24347 15.8597 11.5479 15.0811 11.5479 15.0811" stroke="black" stroke-width="0.530907" stroke-linecap="round"/>
452 <circle cx="1.05642" cy="1.05642" r="1.05642" transform="matrix(-1 0 0 1 4.38745 4.74609)" fill="black"/>
453 <path d="M3.15497 5.64404L5.12695 7.61603" stroke="black" stroke-width="0.528211"/>
454 <circle cx="11.9585" cy="5.80252" r="1.05642" fill="black"/>
455 <path d="M12.1522 5.64404L10.1802 7.61603" stroke="black" stroke-width="0.528211"/>
456 <path fill-rule="evenodd" clip-rule="evenodd" d="M3.63088 12.1065C3.0615 11.8354 2.73014 11.2267 2.84114 10.606C3.31755 7.94167 5.303 5.94336 7.67995 5.94336C10.0627 5.94336 12.052 7.95136 12.5222 10.6253C12.6316 11.2472 12.2975 11.8556 11.7262 12.1245C10.5037 12.6998 9.13817 13.0214 7.69756 13.0214C6.24199 13.0214 4.86309 12.6931 3.63088 12.1065Z" fill="#FFDF6F"/>
457 <path d="M12.5222 10.6253L12.7823 10.5796L12.5222 10.6253ZM11.7262 12.1245L11.8386 12.3635L11.7262 12.1245ZM2.84114 10.606L3.10112 10.6525L2.84114 10.606ZM3.63088 12.1065L3.7444 11.868L3.63088 12.1065ZM3.10112 10.6525C3.56146 8.07803 5.46436 6.20746 7.67995 6.20746V5.67925C5.14164 5.67925 3.07364 7.8053 2.58115 10.5595L3.10112 10.6525ZM7.67995 6.20746C9.90088 6.20746 11.8077 8.08716 12.2621 10.6711L12.7823 10.5796C12.2962 7.81556 10.2244 5.67925 7.67995 5.67925V6.20746ZM11.6137 11.8855C10.4257 12.4446 9.09849 12.7573 7.69756 12.7573V13.2855C9.17785 13.2855 10.5817 12.955 11.8386 12.3635L11.6137 11.8855ZM7.69756 12.7573C6.28209 12.7573 4.9419 12.4381 3.7444 11.868L3.51736 12.3449C4.78428 12.9481 6.20189 13.2855 7.69756 13.2855V12.7573ZM12.2621 10.6711C12.3498 11.1697 12.0828 11.6648 11.6137 11.8855L11.8386 12.3635C12.5122 12.0465 12.9134 11.3248 12.7823 10.5796L12.2621 10.6711ZM2.58115 10.5595C2.44814 11.3033 2.84611 12.0254 3.51736 12.3449L3.7444 11.868C3.2769 11.6455 3.01213 11.1501 3.10112 10.6525L2.58115 10.5595Z" fill="black"/>
458 <path fill-rule="evenodd" clip-rule="evenodd" d="M4.64674 11.4442C4.18843 11.2575 3.91656 10.7699 4.07537 10.3012C4.56513 8.8558 5.99378 7.80981 7.67991 7.80981C9.36604 7.80981 10.7947 8.8558 11.2845 10.3012C11.4433 10.7699 11.1714 11.2575 10.7131 11.4442C9.777 11.8254 8.75299 12.0355 7.67991 12.0355C6.60684 12.0355 5.58282 11.8254 4.64674 11.4442Z" fill="black"/>
459 <ellipse cx="8.895" cy="10.0634" rx="0.880351" ry="0.704281" fill="white"/>
460 <ellipse cx="6.37474" cy="10.0639" rx="0.880351" ry="0.704281" fill="white"/>
461 <path d="M25.3078 11.6284L24.3574 9.04272L23.4489 11.6284H25.3078ZM23.1274 5.99577H25.6712L29.2213 15.3882L26.7195 15.6398L26.0346 13.6271H22.75L22.0931 15.5H19.5633L23.1274 5.99577ZM32.463 15.5H29.9193V5.78612L32.463 5.63238V15.5ZM35.1432 15.5H33.8573V5.78612L36.4011 5.63238V14.2281L35.1432 15.5ZM35.5765 11.3629L34.8637 9.72758C35.0314 9.52259 35.2457 9.32691 35.5066 9.14055C35.7768 8.94488 36.075 8.78647 36.4011 8.66534C36.7272 8.54421 37.0627 8.48364 37.4074 8.48364C38.0783 8.48364 38.6747 8.60943 39.1965 8.86102C39.7183 9.1126 40.1283 9.49929 40.4264 10.0211C40.7339 10.5429 40.8877 11.2091 40.8877 12.0198C40.8877 12.8211 40.7339 13.492 40.4264 14.0324C40.1283 14.5729 39.709 14.9782 39.1685 15.2484C38.6374 15.5186 38.0131 15.6537 37.2956 15.6537C37.0161 15.6537 36.7366 15.6118 36.457 15.528C36.1868 15.4441 35.9166 15.3136 35.6464 15.1366C35.3855 14.9502 35.1246 14.708 34.8637 14.4098L35.5765 12.9143C35.8467 13.1659 36.1123 13.3615 36.3732 13.5013C36.6341 13.6318 36.8856 13.697 37.1279 13.697C37.3422 13.697 37.5332 13.6318 37.701 13.5013C37.8687 13.3709 38.0038 13.1799 38.1063 12.9283C38.2088 12.6767 38.26 12.3785 38.26 12.0338C38.26 11.689 38.2088 11.4001 38.1063 11.1672C38.0131 10.9249 37.8733 10.7432 37.687 10.6221C37.5099 10.501 37.2863 10.4404 37.0161 10.4404C36.7925 10.4404 36.5642 10.5243 36.3312 10.692C36.0983 10.8597 35.8467 11.0833 35.5765 11.3629ZM43.4036 15.528L43.4595 15.3742L41.0275 9.14055L43.3757 8.46967L44.7594 12.5509L46.0592 8.72125H48.589L45.6119 16.2967C45.4722 16.6601 45.2439 16.9955 44.9271 17.303C44.6103 17.6105 44.2422 17.8714 43.8229 18.0857C43.4036 18.3 42.9703 18.4584 42.5231 18.5609L41.6705 16.5902C41.8941 16.497 42.1271 16.3945 42.3693 16.2827C42.6209 16.1709 42.8445 16.0498 43.0402 15.9193C43.2359 15.7889 43.357 15.6584 43.4036 15.528Z" fill="currentColor"/>
462 </svg>
463 `));let aH,ZRe=t=>t,iH=class extends Tr()(nr){render(){return Et(aH||(aH=ZRe`<div>
464 <bc-navbar class="flex w-full" heading="About"></bc-navbar>
465 <div class="font-sans text-sm w-full">
466 <div class="px-8">
467 <div class="font-bold mb-1 ${0}">
468 How does it work?
469 </div>
470 <p class="mb-2 ${0}">
471 Bitcoin Connect is a way to connect to your lightning wallet from
472 any browser.
473 </p>
474 <div class="flex flex-col gap-3 ${0}">
475 <p>
476 💾 Your connection is saved in local storage, so next time you
477 visit the site will connect automatically.
478 </p>
479 <p>
480 💸 Make sure to set budgets and permissions for sites you do not
481 trust.
482 </p>
483 </div>
484 </div>
485
486 <div class="flex gap-4 w-full my-6 px-8">
487 <a
488 href="https://bitcoin-connect.com"
489 target="_blank"
490 class="${0} flex-1"
491 >
492 <bci-button>
493 <span class="${0}">Learn more</span>
494 ${0}
495 </bci-button>
496 </a>
497 <a
498 href="https://github.com/getAlby/bitcoin-connect"
499 target="_blank"
500 class="${0} flex-1"
501 >
502 <bci-button>
503 <span class="${0}">Use it</span>
504 ${0}
505 </bci-button>
506 </a>
507 </div>
508 ${0}
509 <div
510 class="flex w-full justify-center items-center mt-4 gap-1 font-sans"
511 >
512 <span class="block ${0}"
513 >Made with love by</span
514 >
515 <span class="${0}"> ${0} </span>
516 </div>
517 </div>
518 </div>`),Mo,$n,$n,g8,Mo,tH,g8,Mo,tH,Qoe(),rf,Hoe,KRe)}};iH=Tt([Wn("bc-help")],iH);let lH,cH,QRe=t=>t,E9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(lH||(lH=QRe`<div class="w-full">
519 <bc-navbar class="flex w-full" heading="Nostr Wallet Connect"></bc-navbar>
520 <div class="font-sans text-sm w-full">
521 <div class="px-8 pt-4 w-full">
522 <div class="mb-1 ${0}">
523 Enter your
524 <a
525 href="https://nwc.getalby.com/about"
526 target="_blank"
527 class="font-bold"
528 >Connection Secret
529 </a>
530 below
531 </div>
532
533 <input
534 value=${0}
535 @change=${0}
536 placeholder="nostr+walletconnect://..."
537 type="password"
538 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
539 />
540 <bci-button variant="primary" @click=${0}>
541 Connect
542 </bci-button>
543 </div>
544 </div>
545 </div>`),$n,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await Ht.getState().connect({nwcUrl:this._nwcUrl,connectorName:VD,connectorType:"nwc.generic"}):Ht.getState().setError("Please enter a URL")}};Tt([Xn()],E9.prototype,"_nwcUrl",void 0),E9=Tt([Wn("bc-nwc")],E9);const JRe=Nr(cH||(cH=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
546 <path d="M7.5 19C4.73858 19 2.5 16.7614 2.5 14C2.5 11.4673 4.38316 9.37436 6.82568 9.04508C7.63649 6.69118 9.87075 5 12.5 5C15.8137 5 18.5 7.68629 18.5 11C20.7091 11 22.5 12.7909 22.5 15C22.5 17.2091 20.7091 19 18.5 19H7.5Z" stroke="#196CE7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
547 </svg>`));let uH;const XRe=Nr(uH||(uH=(t=>t)`<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" fill="none"><path fill="#196CE7" d="M18.048 15.842a4.588 4.588 0 0 0-1.202-4.359l-1.35-1.356c-.25-.251-.582-.39-.936-.39h-.003c-.352 0-.683.136-.932.383l-.534.529a.126.126 0 0 1-.178 0l-1.519-1.516a.834.834 0 0 0-1.42.588c0 .222.086.431.243.588l1.514 1.511c.05.05.05.13 0 .18l-.97.963a.127.127 0 0 1-.178 0l-1.52-1.517a.834.834 0 0 0-1.42.588c0 .222.086.431.244.588L9.4 14.134c.05.05.05.13 0 .18l-.442.437c-.251.25-.39.58-.391.933-.001.353.135.685.385.935l1.35 1.357a4.597 4.597 0 0 0 2.247 1.245 4.64 4.64 0 0 0 2.17-.031l2.266 2.262c.367.367.856.568 1.377.568.52 0 1.007-.2 1.373-.565l.59-.586c.369-.366.572-.855.572-1.374.001-.52-.201-1.008-.57-1.376l-2.28-2.277Zm-1.405.948 2.508 2.505a.279.279 0 0 1 0 .397l-.59.585a.283.283 0 0 1-.398 0l-2.495-2.492a1.109 1.109 0 0 0-.79-.326c-.123 0-.246.02-.365.06-.514.172-1.065.2-1.595.08a2.934 2.934 0 0 1-1.434-.794l-.885-.89a.316.316 0 0 1 .002-.448l.655-.65.42-.418 1.576-1.565.334-.334.745-.737a.316.316 0 0 1 .447.001l.886.891a2.93 2.93 0 0 1 .709 2.992c-.133.406-.03.844.27 1.143Z"/><path fill="#196CE7" d="M14.96 21.397a.759.759 0 0 0-1.07-.001 1.829 1.829 0 0 1-2.584-.006L2.73 12.772a1.829 1.829 0 0 1 .006-2.583l6.295-6.271a1.814 1.814 0 0 1 1.288-.532h.004c.488 0 .946.192 1.29.538l7.538 7.544a.821.821 0 0 0 .585.242.827.827 0 0 0 .587-1.407l-7.658-7.72-.011-.011a3.51 3.51 0 0 0-2.432-.883 3.511 3.511 0 0 0-2.39 1.026L1.538 8.986A3.5 3.5 0 0 0 .5 11.476a3.501 3.501 0 0 0 1.026 2.493l8.576 8.618a3.502 3.502 0 0 0 2.49 1.038h.01c.938 0 1.82-.365 2.486-1.027a.752.752 0 0 0 .223-.535.752.752 0 0 0-.222-.537l-.13-.13Z"/><path fill="#196CE7" d="m24.286 10.688-2.928-8.631-.006-.019-.023-.05A2.731 2.731 0 0 0 20.482.93a2.79 2.79 0 0 0-2.469-.442c-.44.132-.832.368-1.162.7l-1.224 1.23a.844.844 0 0 0-.248.593.844.844 0 0 0 .24.596c.16.165.375.256.605.258h.005a.843.843 0 0 0 .602-.25l1.224-1.23c.25-.252.595-.361.945-.298.345.061.627.276.777.59l2.912 8.588.003.01.004.01c.07.183.105.375.105.571 0 .427-.166.828-.469 1.13l-2.006 1.997a.843.843 0 0 0-.25.6.847.847 0 0 0 1.449.602l2.006-1.997a3.276 3.276 0 0 0 .969-2.332c0-.4-.072-.794-.214-1.168Z"/></svg>`));let fH;const eTe=Nr(fH||(fH=(t=>t)`<svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.432 0h.136c1.702 0 3.074 0 4.153.143 1.12.15 2.063.468 2.812 1.209.75.74 1.071 1.673 1.222 2.781.145 1.067.145 2.424.145 4.107v7.52c0 1.683 0 3.04-.145 4.107-.15 1.107-.473 2.04-1.222 2.781-.749.74-1.692 1.06-2.812 1.209-1.08.143-2.45.143-4.153.143h-.136c-1.702 0-3.074 0-4.153-.143-1.12-.15-2.063-.468-2.812-1.209-.75-.74-1.071-1.674-1.222-2.781C4.1 18.8 4.1 17.443 4.1 15.76V8.24c0-1.683 0-3.04.145-4.107.15-1.108.473-2.04 1.222-2.781C6.216.612 7.159.292 8.279.143 9.358 0 10.73 0 12.432 0ZM6.787 2.657c.344-.34.828-.562 1.74-.684.94-.125 2.187-.127 3.973-.127s3.032.002 3.972.127c.913.122 1.397.344 1.741.684.345.34.57.82.692 1.722.126.93.128 2.162.128 3.929v7.384c0 1.767-.002 3-.128 3.929-.123.903-.347 1.381-.692 1.722-.344.34-.828.562-1.74.684-.94.125-2.187.127-3.973.127s-3.032-.002-3.972-.127c-.913-.122-1.397-.344-1.741-.684-.345-.34-.57-.82-.692-1.722-.126-.93-.128-2.162-.128-3.929V8.308c0-1.767.002-3 .128-3.929.123-.903.347-1.381.692-1.722Z" fill="#196CE7"/><path d="M9.078 19.361c0-.497.418-.9.933-.9h4.978c.515 0 .933.403.933.9s-.418.9-.933.9H10.01c-.515 0-.933-.403-.933-.9Z" fill="#196CE7"/></svg>`));let dH,pH,tTe=t=>t,hH=class extends Tr()(nr){render(){return Et(dH||(dH=tTe`<div class="w-full">
548 <bc-navbar
549 class="flex w-full"
550 heading=${0}
551 ></bc-navbar>
552 <div class="font-sans text-sm w-full">
553 <div
554 class="px-8 pt-4 w-full flex flex-col items-center justify-center gap-4"
555 >
556 <div class="mb-2 ${0}">
557 Choose how to connect
558 </div>
559
560 <bci-button @click=${0} class="w-full">
561 ${0}
562 <span class="${0}">Alby Cloud</span>
563 </bci-button>
564
565 <bci-button @click=${0} class="w-full">
566 ${0}
567 <span class="${0}">Alby Go</span>
568 </bci-button>
569
570 <bci-button @click=${0} class="w-full">
571 ${0}
572 <span class="${0}"
573 >Connection Secret</span
574 >
575 </bci-button>
576 </div>
577 </div>
578 </div>`),"Connect "+Koe,$n,this.onClickAlbyCloud,JRe,Mo,this.onClickAlbyGo,eTe,Mo,this.onClickConnectionSecret,XRe,Mo)}async onClickAlbyCloud(){try{var t;const e=Ht.getState().bitcoinConnectConfig.providerConfig,n=await sS.NWCClient.fromAuthorizationUrl("https://my.albyhub.com/apps/new",$u({},(e==null||(t=e.nwc)==null?void 0:t.authorizationUrlOptions)||{},{name:this._appName}));n.close(),await Ht.getState().connect({nwcUrl:n.nostrWalletConnectUrl,connectorName:"Alby Hub",connectorType:"nwc.albyhub"})}catch(e){console.error(e),alert(""+e)}}async onClickConnectionSecret(){Ht.getState().pushRoute("/nwc")}async onClickAlbyGo(){Ht.getState().pushRoute("/alby-go")}};hH=Tt([Wn("bc-alby-hub")],hH);const WD=Nr(pH||(pH=(t=>t)`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
579 <path d="M11.4962 11.2367C11.7716 11.1782 12.0214 11.0339 12.2098 10.8247C12.424 10.5868 12.5206 10.2261 12.7139 9.50486L13.6802 5.89873C13.8734 5.17744 13.9701 4.81679 13.9035 4.50368C13.845 4.22827 13.7007 3.97845 13.4915 3.79004C13.2536 3.57585 12.893 3.47921 12.1717 3.28594L8.56554 2.31969C7.84425 2.12642 7.4836 2.02978 7.17049 2.09633C6.89507 2.15488 6.64525 2.29911 6.45684 2.50836C6.24265 2.74624 6.14602 3.10689 5.95275 3.82818L5.5 5.50024" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
580 <path d="M11.0135 10.1009L10.0473 6.49473C9.85398 5.77344 9.75735 5.41279 9.54316 5.17491C9.35475 4.96566 9.10493 4.82142 8.82951 4.76288C8.5164 4.69633 8.15576 4.79296 7.43447 4.98623L3.82834 5.95249C3.10705 6.14576 2.7464 6.2424 2.50852 6.45659C2.29927 6.645 2.15504 6.89481 2.0965 7.17023C2.02994 7.48334 2.12658 7.84399 2.31985 8.56528L3.28611 12.1714C3.47938 12.8927 3.57601 13.2533 3.7902 13.4912C3.97861 13.7005 4.22843 13.8447 4.50385 13.9032C4.81696 13.9698 5.1776 13.8732 5.89889 13.6799L9.50502 12.7136C10.2263 12.5204 10.587 12.4237 10.8248 12.2095C11.0341 12.0211 11.1783 11.7713 11.2369 11.4959C11.3034 11.1828 11.2068 10.8221 11.0135 10.1009Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
581 </svg>`));let mH;const YD=Nr(mH||(mH=(t=>t)`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
582 <path d="M5.33341 5.33341V4.80008C5.33341 4.05334 5.33341 3.67998 5.47874 3.39476C5.60657 3.14388 5.81054 2.9399 6.06143 2.81207C6.34664 2.66675 6.72001 2.66675 7.46675 2.66675H11.2001C11.9468 2.66675 12.3202 2.66675 12.6054 2.81207C12.8563 2.9399 13.0603 3.14388 13.1881 3.39476C13.3334 3.67998 13.3334 4.05334 13.3334 4.80008V8.53342C13.3334 9.28015 13.3334 9.65352 13.1881 9.93874C13.0603 10.1896 12.8563 10.3936 12.6054 10.5214C12.3202 10.6667 11.9468 10.6667 11.2001 10.6667H10.6667M10.6667 7.46675V11.2001C10.6667 11.9468 10.6667 12.3202 10.5214 12.6054C10.3936 12.8563 10.1896 13.0603 9.93874 13.1881C9.65352 13.3334 9.28015 13.3334 8.53342 13.3334H4.80008C4.05334 13.3334 3.67998 13.3334 3.39476 13.1881C3.14388 13.0603 2.9399 12.8563 2.81207 12.6054C2.66675 12.3202 2.66675 11.9468 2.66675 11.2001V7.46675C2.66675 6.72001 2.66675 6.34664 2.81207 6.06143C2.9399 5.81054 3.14388 5.60657 3.39476 5.47874C3.67998 5.33341 4.05334 5.33341 4.80008 5.33341H8.53342C9.28015 5.33341 9.65352 5.33341 9.93874 5.47874C10.1896 5.60657 10.3936 5.81054 10.5214 6.06143C10.6667 6.34664 10.6667 6.72001 10.6667 7.46675Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
583 </svg>`));let gH,yH,vH=t=>t,h6=class extends Tr()(nr){constructor(){super(),this._hasCopiedAuthString=!1,this.initAlbyGo()}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._unsub)==null||t.call(this)}render(){return Et(gH||(gH=vH`<div class="w-full">
584 <bc-navbar class="flex w-full" heading="Connect Alby Hub with Alby Go"></bc-navbar>
585 <div class="font-sans text-sm w-full">
586 <div
587 class="px-8 pt-4 w-full flex flex-col items-center justify-center gap-4"
588 >
589 <div class="mb-2 text-center ${0}">
590 Scan with your camera, QR code scanner app, or from Alby Go -> Send
591 </div>
592
593 <div class="flex justify-center items-center">
594 ${0}
595 <p class="${0}">Waiting for connection</p>
596 </div>
597
598 ${0}
599
600 <bci-button
601 @click=${0}
602 class="
603 flex gap-1 w-full
604 mt-4
605 ${0} ${0} font-semibold text-xs"
606 >
607 ${0}
608 ${0}
609 </bci-button>
610 </div>
611 </div>
612 </div>
613 </div>`),$n,kg(`w-7 h-7 ${$n}`),$n,this.renderQR(),this._copyAuthString,Mo,Ma,this._hasCopiedAuthString?WD:YD,this._hasCopiedAuthString?"Copied!":"Copy")}renderQR(){if(!this._authString)return null;const t=this._authString;return setTimeout(()=>{var e;const n=(e=this.shadowRoot)==null?void 0:e.getElementById("qr");if(!n)return void console.error("qr canvas not found");const r=n.getContext("2d");if(!r)return void console.error("could not get context for qr canvas");const o=AD(0,"L");o.addData(t),o.make();const s=o.getModuleCount();n.width=4*s,n.height=4*s,o.renderTo2dContext(r,4)},100),Et(yH||(yH=vH`
614 <!-- add margin only on dark mode because on dark mode the qr has a white border -->
615 <canvas id="qr" class="dark:bg-white dark:p-4"></canvas>
616 `))}_copyAuthString(){this._authString&&(navigator.clipboard.writeText(this._authString),this._hasCopiedAuthString=!0,setTimeout(()=>{this._hasCopiedAuthString=!1},2e3))}async initAlbyGo(){try{var t;const e=(t=Ht.getState().bitcoinConnectConfig.providerConfig)==null||(t=t.nwc)==null?void 0:t.authorizationUrlOptions,n=e==null?void 0:e.expiresAt;let r=e==null?void 0:e.requestMethods;r||(r=["get_info","get_balance","get_budget","pay_invoice","list_transactions","lookup_invoice","make_invoice"]);const o=new sS.NWAClient({name:this._appName,icon:this._appIcon,relayUrl:"wss://relay.getalby.com/v1",requestMethods:r,notificationTypes:e==null?void 0:e.notificationTypes,maxAmount:e==null?void 0:e.maxAmount,budgetRenewal:e==null?void 0:e.budgetRenewal,expiresAt:n?Math.floor(n.getTime()/1e3):void 0,isolated:e==null?void 0:e.isolated,metadata:e==null?void 0:e.metadata,returnTo:e==null?void 0:e.returnTo});this._authString=o.getConnectionUri("alby"),window.location.href=this._authString;const{unsub:s}=await o.subscribe({onSuccess:async function(a){a.close(),Ht.getState().connect({nwcUrl:a.nostrWalletConnectUrl,connectorName:"Alby Hub",connectorType:"nwc.albyhub"})}});this._unsub=s}catch(e){console.error(e),alert(""+e)}}};Tt([Xn()],h6.prototype,"_authString",void 0),Tt([Xn()],h6.prototype,"_hasCopiedAuthString",void 0),h6=Tt([Wn("bc-alby-go")],h6);let wH,bH,nTe=t=>t,m6=class extends Tr()(nr){constructor(){super(...arguments),this._lnbitsAdminKey="",this._lnbitsUrl=""}render(){return Et(wH||(wH=nTe`<div class="w-full">
617 <bc-navbar
618 class="flex w-full"
619 heading=${0}
620 ></bc-navbar>
621 <div class="font-sans text-sm w-full">
622 <div class="px-8 pt-4 w-full">
623 <div class="mb-4 ${0}">
624 In LNbits, choose the wallet you want to connect, open it, click on
625 API docs and copy the Admin Key. Paste it below:
626 </div>
627
628 <div class="mb-1 ${0}">
629 LNbits Admin Key
630 </div>
631 <input
632 value=${0}
633 @change=${0}
634 type="password"
635 placeholder="Your 32 digit admin key"
636 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
637 />
638 <div class="mb-1 ${0}">
639 LNbits URL
640 </div>
641
642 <input
643 value=${0}
644 @change=${0}
645 placeholder="https://legend.lnbits.com"
646 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
647 />
648 <bci-button variant="primary" @click=${0}>
649 Connect
650 </bci-button>
651 </div>
652 </div>
653 </div>`),w8,e2,$n,this._lnbitsAdminKey,this._lnbitsAdminKeyChanged,ch,$n,this._lnbitsUrl,this._lnbitsUrlChanged,ch,this.onConnect)}_lnbitsAdminKeyChanged(t){this._lnbitsAdminKey=t.target.value}_lnbitsUrlChanged(t){this._lnbitsUrl=t.target.value}async onConnect(){if(!this._lnbitsAdminKey)return void Ht.getState().setError("Please enter your admin key");if(!this._lnbitsUrl)return void Ht.getState().setError("Please enter your LNbits instance URL");let t=this._lnbitsUrl;t.endsWith("/")&&(t=t.substring(0,t.length-1)),await Ht.getState().connect({lnbitsAdminKey:this._lnbitsAdminKey,lnbitsInstanceUrl:t,connectorName:w8,connectorType:"lnbits"})}};Tt([Xn()],m6.prototype,"_lnbitsAdminKey",void 0),Tt([Xn()],m6.prototype,"_lnbitsUrl",void 0),m6=Tt([Wn("bc-lnbits")],m6);const Joe=Nr(bH||(bH=(t=>t)`
654 <svg width="150" height="150" viewBox="0 0 150 150" version="1.1" xml:space="preserve"
655 xmlns:xlink="http://www.w3.org/1999/xlink"
656 xmlns="http://www.w3.org/2000/svg"
657 xmlns:svg="http://www.w3.org/2000/svg"
658 class="w-32 h-32 mt-4"
659 >
660 <circle id="ring" cx="75" cy="75" r="48.5" fill="none" stroke="currentColor" stroke-width="5" transform="rotate(-90 75 75)" stroke-dasharray="400 400" stroke-dashoffset="400">
661 <animate attributeName="stroke-dashoffset" begin="0.1s" dur="1.5s" values="500; 80; 0" fill="freeze" calcMode="spline" keyTimes="0; 0.99; 1" keySplines="0.28 0.4 0.38 1; 0 0 1 1"/>
662 <animate attributeName="r" begin="1.8s" dur=".8s" values="47; 65" fill="freeze"/>
663 <animate attributeName="stroke-width" begin="1.8s" dur=".8s" values="6; 0" fill="freeze"/>
664 </circle>
665 <circle id="circle" cx="75" cy="75" r="0" fill="currentColor" stroke="none">
666 <animate attributeName="r" begin="1.4s" dur=".5s" fill="freeze" calcMode="spline" values="0; 60; 50" keyTimes="0; 0.75; 1" keySplines="0.25 0.1 0.25 1; 0.25 0.1 0.25 1"/>
667 </circle>
668 <path id="check" d="M 51.749354,79.542286 63.437424,91.567026 98.46891,58.494402" fill="none" stroke="#ffffff" stroke-width="7" stroke-linecap="round" stroke-dasharray="65 65" stroke-dashoffset="65">
669 <animate attributeName="stroke-dashoffset" begin="1.8s" dur=".5s" values="65; 0" fill="freeze" calcMode="spline" keyTimes="0; 1" keySplines="0.42 0 0.58 1"/>
670 </path>
671 </svg>
672 `));let xH;const rTe=Nr(xH||(xH=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
673 <path d="M4.5 6.5V17C4.5 18.6569 5.84315 20 7.5 20H17.5C19.1569 20 20.5 18.6569 20.5 17V12C20.5 10.3431 19.1569 9 17.5 9H16.5M4.5 6.5C4.5 7.88071 5.61929 9 7 9H16.5M4.5 6.5C4.5 5.11929 5.61929 4 7 4H14.5C15.6046 4 16.5 4.89543 16.5 6V9" stroke="currentColor" stroke-width="2" stroke-linecap="square" stroke-linejoin="round"/>
674 <path d="M16 15.375C16.4832 15.375 16.875 14.9832 16.875 14.5C16.875 14.0168 16.4832 13.625 16 13.625C15.5168 13.625 15.125 14.0168 15.125 14.5C15.125 14.9832 15.5168 15.375 16 15.375Z" fill="white" stroke="currentColor" stroke-width="0.75"/>
675 </svg>`));let kH;const oTe=Nr(kH||(kH=(t=>t)`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
676 <path fill-rule="evenodd" clip-rule="evenodd" d="M3 6C3 4.34315 4.34315 3 6 3H8C9.65685 3 11 4.34315 11 6V8C11 9.65685 9.65685 11 8 11H6C4.34315 11 3 9.65685 3 8V6ZM6 5C5.44772 5 5 5.44772 5 6V8C5 8.55228 5.44772 9 6 9H8C8.55228 9 9 8.55228 9 8V6C9 5.44772 8.55228 5 8 5H6ZM13 6C13 4.34315 14.3431 3 16 3H18C19.6569 3 21 4.34315 21 6V8C21 9.65685 19.6569 11 18 11H16C14.3431 11 13 9.65685 13 8V6ZM16 5C15.4477 5 15 5.44772 15 6V8C15 8.55228 15.4477 9 16 9H18C18.5523 9 19 8.55228 19 8V6C19 5.44772 18.5523 5 18 5H16ZM3 16C3 14.3431 4.34315 13 6 13H8C9.65685 13 11 14.3431 11 16V18C11 19.6569 9.65685 21 8 21H6C4.34315 21 3 19.6569 3 18V16ZM6 15C5.44772 15 5 15.4477 5 16V18C5 18.5523 5.44772 19 6 19H8C8.55228 19 9 18.5523 9 18V16C9 15.4477 8.55228 15 8 15H6ZM14 13C14.5523 13 15 13.4477 15 14V15H16C16.5523 15 17 15.4477 17 16C17 16.5523 16.5523 17 16 17H14C13.4477 17 13 16.5523 13 16V14C13 13.4477 13.4477 13 14 13ZM17 14C17 13.4477 17.4477 13 18 13H20C20.5523 13 21 13.4477 21 14C21 14.5523 20.5523 15 20 15H18C17.4477 15 17 14.5523 17 14ZM17 18C17 17.4477 17.4477 17 18 17H20C20.5523 17 21 17.4477 21 18C21 18.5523 20.5523 19 20 19H19V20C19 20.5523 18.5523 21 18 21C17.4477 21 17 20.5523 17 20V18Z" fill="currentColor"/>
677 <path d="M15 20C15 20.5523 14.5523 21 14 21C13.4477 21 13 20.5523 13 20C13 19.4477 13.4477 19 14 19C14.5523 19 15 19.4477 15 20Z" fill="currentColor"/>
678 <path d="M8 17C8 17.5523 7.55228 18 7 18C6.44772 18 6 17.5523 6 17C6 16.4477 6.44772 16 7 16C7.55228 16 8 16.4477 8 17Z" fill="currentColor"/>
679 <path d="M8 7C8 7.55228 7.55228 8 7 8C6.44772 8 6 7.55228 6 7C6 6.44772 6.44772 6 7 6C7.55228 6 8 6.44772 8 7Z" fill="currentColor"/>
680 <path d="M18 7C18 7.55228 17.5523 8 17 8C16.4477 8 16 7.55228 16 7C16 6.44772 16.4477 6 17 6C17.5523 6 18 6.44772 18 7Z" fill="currentColor"/>
681 </svg>`));let jH,CH,SH,EH,NH,IH,AH,_H,MH,RH,TH,DH,LH,PH,OH,zH,FH,BH,Ks=t=>t,Ff=class extends Tr()(nr){constructor(){super(...arguments),this._hasCopiedInvoice=!1,this._isPaying=!1,this._showQR=!1,this._qr=null,this.paymentMethods="all"}updated(t){super.updated(t),t.has("paid")&&this.paid&&setTimeout(()=>{$D()},3e3)}renderHeading(t){return Et(jH||(jH=Ks`
682 <h2 class="text-2xl mb-6 ${0}">
683 <span
684 class="font-bold font-mono text-4xl align-bottom ${0}"
685 >${0}</span
686 > sats
687 </h2>
688 `),$n,Mo,t.satoshi.toLocaleString(void 0,{useGrouping:!0}))}renderPaidState(){return Et(CH||(CH=Ks`
689 <div
690 class="flex flex-col justify-center items-center ${0}"
691 >
692 <p class="font-bold">Paid!</p>
693 ${0}
694 </div>
695 `),Mo,Joe)}renderPayingState(){return Et(SH||(SH=Ks`
696 <div class="flex flex-col justify-center items-center">
697 <p class="${0} mb-5">Paying...</p>
698 ${0}
699 </div>
700 `),$n,kg(`w-48 h-48 ${Mo}`))}renderPaymentConfirmation(){return Et(EH||(EH=Ks`
701 <bci-button variant="primary" @click=${0}>
702 <span class="-ml-0.5">${0}</span>
703 Confirm Payment
704 </bci-button>
705 ${0}
706 `),this._payInvoice,Kw,HD(this._connectorName))}renderWaitingForPayment(){return Et(NH||(NH=Ks`
707 <div class="flex justify-center items-center">
708 ${0}
709 <p class="${0}">Waiting for payment</p>
710 </div>
711 `),kg(`w-7 h-7 ${Mo}`),$n)}renderConnectWalletMobile(){let t=null,e=null,n=null;return this.paymentMethods!=="all"&&this.paymentMethods!=="internal"||(t=Et(IH||(IH=Ks`
712 <bci-button block @click=${0}>
713 <span class="-ml-0.5">${0}</span>Connect Wallet
714 </bci-button>
715 `),this._onClickConnectWallet,Kw)),this.paymentMethods!=="all"&&this.paymentMethods!=="external"||(e=Et(AH||(AH=Ks`
716 <bci-button block @click=${0}>
717 ${0} Copy & Display Invoice
718 </bci-button>
719 `),this._copyAndDisplayInvoice,oTe),this._showQR&&(n=this.renderQR())),Et(_H||(_H=Ks`
720 <div class="mt-8 w-full flex flex-col gap-4">
721 ${0}
722 ${0} ${0}
723 </div>
724 ${0}
725 `),this.paymentMethods==="all"||this.paymentMethods==="external"?Et(MH||(MH=Ks`<a href="lightning:${0}">
726 <bci-button variant="primary" block>
727 ${0} Open in a Bitcoin Wallet
728 </bci-button>
729 </a>`),this.invoice,rTe):null,t,e,n)}renderConnectWalletDesktop(){let t=null;this.paymentMethods!=="all"&&this.paymentMethods!=="internal"||(t=Et(RH||(RH=Ks`
730 <div class="${0}">
731 <bci-button variant="primary" @click=${0}>
732 <span class="-ml-0.5">${0}</span>
733 Connect Wallet to Pay
734 </bci-button>
735 </div>
736 `),this.paymentMethods!=="internal"?"mt-8":"",this._onClickConnectWallet,Kw));let e=null;this.paymentMethods==="all"&&(e=Et(TH||(TH=Ks` <div class="w-full py-8">${0}</div> `),Qoe("or")));let n=null;return this.paymentMethods!=="all"&&this.paymentMethods!=="external"||(n=Et(DH||(DH=Ks`
737 <div
738 class="flex flex-col items-center ${0}"
739 >
740 <p class="font-medium ${0}">
741 Scan to Pay
742 </p>
743 ${0}
744 </div>
745 `),this.paymentMethods==="external"?"mt-8":"",$n,this.renderQR())),Et(LH||(LH=Ks` ${0} ${0} ${0} `),t,e,n)}renderQR(){if(!this._showQR||!this.invoice)return null;const t=this.invoice;return setTimeout(()=>{var e;const n=(e=this.shadowRoot)==null?void 0:e.getElementById("qr");if(!n)return void console.error("qr canvas not found");const r=n.getContext("2d");if(!r)return void console.error("could not get context for qr canvas");const o=AD(0,"L");o.addData(t),o.make();const s=o.getModuleCount();n.width=4*s,n.height=4*s,o.renderTo2dContext(r,4)},100),Et(PH||(PH=Ks`
746 <!-- add margin only on dark mode because on dark mode the qr has a white border -->
747 <a href="lightning:${0}" class="dark:mt-2">
748 <canvas id="qr" class="dark:bg-white dark:p-4"></canvas>
749 </a>
750 <a
751 @click=${0}
752 class="
753 flex gap-1
754 mt-4
755 ${0} ${0} font-semibold text-xs"
756 >
757 ${0}
758 ${0}
759 </a>
760 `),this.invoice,this._copyInvoice,Mo,Ma,this._hasCopiedInvoice?WD:YD,this._hasCopiedInvoice?"Copied!":"Copy Invoice")}renderMemo(t){return t.description?Et(OH||(OH=Ks`
761 <p class="text-center mb-6 ${0}">
762 ${0}
763 </p>
764 `),rf,t.description):null}render(){if(!this.invoice)return null;let t;try{t=new KC({pr:this.invoice})}catch(r){return console.error(r),Ht.getState().setError(r.message),null}const e=window.innerWidth<600;let n;return e||(this._showQR=!0),n=this.paid?this.renderPaidState():this._isPaying?this.renderPayingState():this._connected?this.renderPaymentConfirmation():Et(zH||(zH=Ks`
765 ${0}
766 ${0}
767 `),this.paymentMethods!=="internal"?this.renderWaitingForPayment():null,e?this.renderConnectWalletMobile():this.renderConnectWalletDesktop()),Et(FH||(FH=Ks`
768 <div class="flex flex-col justify-center items-center font-sans w-full">
769 ${0} ${0}
770 ${0}
771 </div>
772 `),this.renderHeading(t),this.renderMemo(t),n)}_onClickConnectWallet(){this.dispatchEvent(new Event("onclickconnectwallet",{bubbles:!0,composed:!0}))}_copyAndDisplayInvoice(){this._copyInvoice(),this._showQR=!0}_copyInvoice(){this.invoice&&(navigator.clipboard.writeText(this.invoice),this._hasCopiedInvoice=!0,setTimeout(()=>{this._hasCopiedInvoice=!1},2e3))}async _payInvoice(){this._isPaying=!0;try{const t=Ht.getState().provider;if(!t)throw new Error("No WebLN provider available");if(!this.invoice)throw new Error("No invoice to pay");const e=await t.sendPayment(this.invoice);if(!e.preimage)throw new Error("No preimage in result");this.dispatchEvent(new CustomEvent("bc:onpaid",{bubbles:!0,composed:!0,detail:e})),this.paid=!0}catch(t){console.error(t),Ht.getState().setError(t.message)}this._isPaying=!1}};Tt([Xn()],Ff.prototype,"_hasCopiedInvoice",void 0),Tt([Xn()],Ff.prototype,"_isPaying",void 0),Tt([Xn()],Ff.prototype,"_showQR",void 0),Tt([Xn()],Ff.prototype,"_qr",void 0),Tt([Jo({type:String})],Ff.prototype,"invoice",void 0),Tt([Jo({type:Boolean})],Ff.prototype,"paid",void 0),Tt([Jo({type:String,attribute:"payment-methods"})],Ff.prototype,"paymentMethods",void 0),Ff=Tt([Wn("bc-send-payment")],Ff);const sTe=Nr(BH||(BH=(t=>t)`<svg class="w-full h-full" width="192" height="192" viewBox="0 0 192 192" fill="none" xmlns="http://www.w3.org/2000/svg">
773 <path d="M177.882 96.0013C177.882 114.714 162.712 129.884 144 129.884C125.287 129.884 110.117 114.714 110.117 96.0013C110.117 77.2886 125.287 62.1189 144 62.1189C162.712 62.1189 177.882 77.2886 177.882 96.0013Z" fill="white"/>
774 <path fill-rule="evenodd" clip-rule="evenodd" d="M144 64.2353C126.457 64.2353 112.235 78.4568 112.235 96C112.235 113.543 126.457 127.765 144 127.765C161.543 127.765 175.765 113.543 175.765 96C175.765 78.4568 161.543 64.2353 144 64.2353ZM108 96C108 76.1177 124.118 60 144 60C163.882 60 180 76.1177 180 96C180 115.882 163.882 132 144 132C124.118 132 108 115.882 108 96Z" fill="black"/>
775 <path fill-rule="evenodd" clip-rule="evenodd" d="M144 118.589C156.475 118.589 166.588 108.476 166.588 96.0011C166.588 83.5259 156.475 73.4128 144 73.4128C131.524 73.4128 121.411 83.5259 121.411 96.0011C121.411 108.476 131.524 118.589 144 118.589ZM144 114.001C153.941 114.001 162 105.942 162 96.0011C162 86.06 153.941 78.0011 144 78.0011C134.058 78.0011 126 86.06 126 96.0011C126 105.942 134.058 114.001 144 114.001Z" fill="black"/>
776 <path fill-rule="evenodd" clip-rule="evenodd" d="M144 82.8984C136.765 82.8984 130.899 88.764 130.899 95.9996C130.899 103.235 136.765 109.101 144 109.101L144 82.8984Z" fill="black"/>
777 <path d="M55.7364 131.166C53.2442 131.712 50.6554 132 47.9994 132C40.7095 132 33.9257 129.833 28.2569 126.108C26.8497 124.095 26.2183 122.987 25.7577 122.179C25.5295 121.778 25.3433 121.452 25.1253 121.125C22.9779 117.671 21.8543 113.235 21.6093 108.023C20.8504 91.8729 30.6653 81.56 40.6919 79.8672C47.0478 78.7942 52.0988 79.8809 55.9729 81.9526C52.5479 81 48.465 80.9425 43.8103 82.275C32.5268 85.912 28.7654 96.9708 30.3776 109.217C33.1913 124.562 48.2372 130.062 55.7364 131.166Z" fill="url(#paint0_linear_1428_3405)"/>
778 <path d="M23.5983 122.469C21.4995 118.742 19.5989 113.182 19.3614 108.129C18.5557 90.9843 29.0332 79.5543 40.317 77.6493C55.698 75.0526 64.2491 84.1583 67.197 90.9166C67.3202 90.8336 67.3704 90.669 67.3053 90.5274C62.4584 79.9882 52.4338 72.7507 40.854 72.7507C27.7055 72.7507 15.9732 82.1827 12 96.2003C12.0564 106.587 16.512 115.933 23.5983 122.469Z" fill="url(#paint1_linear_1428_3405)"/>
779 <path d="M68.2493 125.768C65.6525 127.538 62.8124 128.977 59.7892 130.025C58.3376 129.772 56.7293 129.457 55.597 129.235C55.0604 129.13 54.6305 129.046 54.3751 128.999C47.5271 127.749 35.2831 123.336 32.6008 108.867C31.8428 103.049 32.3857 97.6932 34.3078 93.4449C36.2015 89.2598 39.4695 86.0514 44.4537 84.4316C50.2465 82.8534 55.0469 83.6356 58.6125 85.5507C57.7348 85.3655 56.8276 85.2684 55.8993 85.2684C48.1838 85.2684 41.9291 91.9698 41.9291 100.236C41.9291 103.537 42.9263 106.588 44.6156 109.063C44.6156 109.063 49.4514 118.198 62.6156 117.381C74.3533 116.653 80.4488 106.125 81.1752 102.236C81.5528 100.215 81.7502 98.1303 81.7502 95.9997C81.7502 77.3603 66.6399 62.25 48.0004 62.25C33.896 62.25 21.8122 70.9021 16.7672 83.1884C15.0631 85.4082 13.5958 87.8694 12.4135 90.5306C15.0482 73.244 29.9777 60 48.0004 60C67.8826 60 84.0001 76.1176 84.0001 95.9997C84.0001 108.374 77.7573 119.289 68.2493 125.768Z" fill="url(#paint2_linear_1428_3405)"/>
780 <defs>
781 <linearGradient id="paint0_linear_1428_3405" x1="34.4824" y1="89.8251" x2="34.4273" y2="121.82" gradientUnits="userSpaceOnUse">
782 <stop offset="0.0297309" stop-color="#FA3C3C"/>
783 <stop offset="1" stop-color="#BC1870"/>
784 </linearGradient>
785 <linearGradient id="paint1_linear_1428_3405" x1="29.5809" y1="74.6307" x2="27.7982" y2="106.635" gradientUnits="userSpaceOnUse">
786 <stop stop-color="#FF9F2F"/>
787 <stop offset="1" stop-color="#FA3C3C"/>
788 </linearGradient>
789 <linearGradient id="paint2_linear_1428_3405" x1="54.75" y1="131.25" x2="54.8489" y2="94.125" gradientUnits="userSpaceOnUse">
790 <stop stop-color="#5B09AD"/>
791 <stop offset="1" stop-color="#BC1870"/>
792 </linearGradient>
793 </defs>
794 </svg>`));let UH,aTe=t=>t,$H=class extends Tr()(nr){render(){return Et(UH||(UH=aTe`<div>
795 <bc-navbar
796 class="flex w-full"
797 heading="Get a bitcoin lightning wallet"
798 ></bc-navbar>
799
800 <div class="flex flex-col gap-5 w-full my-6 px-8 font-sans text-sm">
801 <div class="flex flex-row justify-center items-center space-x-4">
802 <div class="w-20 h-20 flex items-center justify-center">
803 <div
804 class="p-2 bg-black drop-shadow rounded-xl flex items-center justify-center"
805 >
806 ${0}
807 </div>
808 </div>
809 <p class="flex-1 text-sm ${0}">
810 To get the best self-custodial bitcoin lightning wallet that can
811 connect to apps, try
812 <a
813 href="https://albyhub.com"
814 target="_blank"
815 class="no-underline font-bold ${0} ${0}"
816 >Alby Hub</a
817 >.
818 </p>
819 </div>
820 <div class="flex flex-row items-center space-x-4">
821 <div class="w-20 h-20">${0}</div>
822 <p class="flex-1 text-sm ${0}">
823 For a quick setup of a custodial wallet, you can choose between
824 <a
825 href="https://primal.net"
826 target="_blank"
827 class="no-underline font-bold ${0} ${0}"
828 >Primal</a
829 >
830 or
831 <a
832 href="https://coinos.io"
833 target="_blank"
834 class="no-underline font-bold ${0} ${0}"
835 >Coinos</a
836 >.
837 </p>
838 </div>
839 </div>
840 </div>`),qoe,$n,Ma,Mo,sTe,$n,Ma,Mo,Ma,Mo)}};$H=Tt([Wn("bc-new-wallet")],$H);let VH,iTe=t=>t,N9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(VH||(VH=iTe`<div class="w-full">
841 <bc-navbar class="flex w-full" heading="LN Link"> </bc-navbar>
842 <div class="font-sans text-sm w-full">
843 <div class="px-8 pt-4 w-full">
844 <div class="mb-2 ${0}">
845 1. Add a new
846 <a
847 href="https://github.com/lnfi-network/ln-node/tree/main/LNLink"
848 target="_blank"
849 class="font-bold"
850 >Wallet Connection
851 </a>
852 from
853 <span class="${0}"
854 >LN Node => Generate NWC</span
855 >
856 and copy the Connection Secret.
857 </div>
858 <div class="mb-1 ${0}">
859 2. Paste the Connection Secret below:
860 </div>
861
862 <input
863 value=${0}
864 @change=${0}
865 placeholder="nostr+walletconnect://..."
866 type="password"
867 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
868 />
869 <bci-button variant="primary" @click=${0}>
870 Connect
871 </bci-button>
872 </div>
873 </div>
874 </div>`),$n,rf,$n,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await Ht.getState().connect({nwcUrl:this._nwcUrl,connectorName:VD,connectorType:"nwc.generic"}):Ht.getState().setError("Please enter a URL")}};Tt([Xn()],N9.prototype,"_nwcUrl",void 0),N9=Tt([Wn("bc-lnfi")],N9);let HH,lTe=t=>t,WH=class extends Tr()(nr){connectedCallback(){super.connectedCallback(),this._timeout=setTimeout(()=>{$D(),Ht.setState({route:"/start"})},3e3)}disconnectedCallback(){super.disconnectedCallback(),this._timeout&&clearTimeout(this._timeout)}render(){return Et(HH||(HH=lTe`<div
875 class="flex flex-col justify-center items-center w-full mt-8 ${0}"
876 >
877 <p class="font-bold">Connected!</p>
878 ${0}
879 </div>`),Mo,Joe)}};WH=Tt([Wn("bc-connected")],WH);let YH,GH,qH=t=>t,g6=class extends Tr()(nr){constructor(){super(),this._hasCopiedAuthString=!1,this.initAlbyGo()}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._unsub)==null||t.call(this)}render(){return Et(YH||(YH=qH`<div class="w-full">
880 <bc-navbar class="flex w-full" heading="Connect Flash Wallet"></bc-navbar>
881 <div class="font-sans text-sm w-full">
882 <div
883 class="px-8 pt-4 w-full flex flex-col items-center justify-center gap-4"
884 >
885 <div class="mb-2 text-center ${0}">
886 Scan with your camera, or by clicking "Send" in the Flash Wallet
887 </div>
888
889 <div class="flex justify-center items-center">
890 ${0}
891 <p class="${0}">Waiting for connection</p>
892 </div>
893
894
895 ${0}
896
897
898 <bci-button
899 @click=${0}
900 class="
901 flex gap-1 w-full
902 mt-4
903 ${0} ${0} font-semibold text-xs"
904 >
905 ${0}
906 ${0}
907 </bci-button>
908 </div>
909
910 <div class="flex flex-col items-center w-full font-sans text-sm">
911 <h1 class="mt-8 ${0} text-center">
912 Don't have the Flash Wallet app?
913 <a
914 class="no-underline font-bold ${0} ${0}"
915 href="https://paywithflash.com/wallet" target="_blank"
916 >Download one here</a>
917 </h1>
918 </div>
919 </div>
920 </div>
921 </div>`),$n,kg(`w-7 h-7 ${$n}`),$n,this.renderQR(),this._copyAuthString,Mo,Ma,this._hasCopiedAuthString?WD:YD,this._hasCopiedAuthString?"Copied!":"Copy",e2,Ma,Mo)}renderQR(){if(!this._authString)return null;const t=this._authString;return setTimeout(()=>{var e;const n=(e=this.shadowRoot)==null?void 0:e.getElementById("qr");if(!n)return void console.error("qr canvas not found");const r=n.getContext("2d");if(!r)return void console.error("could not get context for qr canvas");const o=AD(0,"L");o.addData(t),o.make();const s=o.getModuleCount();n.width=4*s,n.height=4*s,o.renderTo2dContext(r,4)},100),Et(GH||(GH=qH`
922 <!-- add margin only on dark mode because on dark mode the qr has a white border -->
923 <canvas id="qr" class="dark:bg-white dark:p-4"></canvas>
924 `))}_copyAuthString(){this._authString&&(navigator.clipboard.writeText(this._authString),this._hasCopiedAuthString=!0,setTimeout(()=>{this._hasCopiedAuthString=!1},2e3))}async initAlbyGo(){try{var t;const e=(t=Ht.getState().bitcoinConnectConfig.providerConfig)==null||(t=t.nwc)==null?void 0:t.authorizationUrlOptions,n=e==null?void 0:e.expiresAt;let r=e==null?void 0:e.requestMethods;r||(r=["get_info","get_balance","get_budget","pay_invoice","list_transactions","lookup_invoice","make_invoice"]);const o=new sS.NWAClient({name:this._appName,icon:this._appIcon,relayUrl:"wss://nwclay.paywithflash.com",requestMethods:r,notificationTypes:e==null?void 0:e.notificationTypes,maxAmount:e==null?void 0:e.maxAmount,budgetRenewal:e==null?void 0:e.budgetRenewal,expiresAt:n?Math.floor(n.getTime()/1e3):void 0,isolated:e==null?void 0:e.isolated,metadata:e==null?void 0:e.metadata,returnTo:e==null?void 0:e.returnTo});this._authString=o.connectionUri,window.location.href=this._authString;const{unsub:s}=await o.subscribe({onSuccess:async function(a){a.close(),Ht.getState().connect({nwcUrl:a.nostrWalletConnectUrl,connectorName:"Flash Wallet",connectorType:"nwc.flash"})}});this._unsub=s}catch(e){console.error(e),alert(""+e)}}};Tt([Xn()],g6.prototype,"_authString",void 0),Tt([Xn()],g6.prototype,"_hasCopiedAuthString",void 0),g6=Tt([Wn("bc-flash-wallet")],g6);let KH,cTe=t=>t,I9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(KH||(KH=cTe`<div class="w-full">
925 <bc-navbar
926 class="flex w-full"
927 heading=${0}
928 ></bc-navbar>
929 <div class="font-sans text-sm w-full">
930 <div class="px-8 pt-4 w-full">
931 <div class="mb-2 ${0}">
932 1. In LNBits, go to Plugins and enable the NWC plugin.
933 </div>
934 <div class="mb-1 ${0}">
935 2. Create a new connection and update the relay from "nostrclient"
936 to <span class="font-semibold">wss://relay.getalby.com/v1</span>,
937 then copy the connection secret.
938 </div>
939 <div class="mb-1 ${0}">
940 3. Paste the Connection Secret below.
941 </div>
942
943 <div class="px-8 pt-4 w-full">
944 <div class="mb-1 ${0}">
945 Enter your
946 <a
947 href="https://nwc.getalby.com/about"
948 target="_blank"
949 class="font-bold"
950 >Connection Secret
951 </a>
952 below
953 </div>
954
955 <input
956 value=${0}
957 @change=${0}
958 placeholder="nostr+walletconnect://..."
959 type="password"
960 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
961 />
962 <bci-button variant="primary" @click=${0}>
963 Connect
964 </bci-button>
965 </div>
966 </div>
967 </div>
968 </div>`),b8,$n,$n,$n,$n,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await Ht.getState().connect({nwcUrl:this._nwcUrl,connectorName:b8,connectorType:"nwc.lnbits"}):Ht.getState().setError("Please enter a URL")}};Tt([Xn()],I9.prototype,"_nwcUrl",void 0),I9=Tt([Wn("bc-lnbits-nwc")],I9);let ZH,QH,uTe=t=>t,A9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(ZH||(ZH=uTe`<div class="w-full">
969 <bc-navbar
970 class="flex w-full"
971 heading=${0}
972 ></bc-navbar>
973 <div class="font-sans text-sm w-full">
974 <div class="px-8 pt-4 w-full">
975 <div class="mb-2 ${0}">
976 1. In Primal Mobile, click on
977 <span class="font-semibold">your profile image</span> on the top
978 left, then go to
979 <span class="font-semibold">Settings -> Wallet</span>. Ensure
980 <span class="font-semibold">Use Primal wallet</span>
981 is toggled on. Scroll to
982 <span class="font-semibold">Connected Apps</span>
983 at the bottom of the page, and click
984 <span class="font-semibold">create a new wallet connection</span>.
985 Enter a name, then press next, and press
986 <span class="font-semibold">create wallet connection</span>. Then
987 press <span class="font-semibold">the copy button</span>
988 </div>
989 <div class="mb-1 ${0}">
990 2. Paste the Connection Secret below.
991 </div>
992
993 <div class="px-8 pt-4 w-full">
994 <div class="mb-1 ${0}">
995 Enter your
996 <a
997 href="https://nwc.getalby.com/about"
998 target="_blank"
999 class="font-bold"
1000 >Connection Secret
1001 </a>
1002 below
1003 </div>
1004
1005 <input
1006 value=${0}
1007 @change=${0}
1008 placeholder="nostr+walletconnect://..."
1009 type="password"
1010 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
1011 />
1012 <bci-button variant="primary" @click=${0}>
1013 Connect
1014 </bci-button>
1015 </div>
1016 </div>
1017 </div>
1018 </div>`),x8,$n,$n,$n,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await Ht.getState().connect({nwcUrl:this._nwcUrl,connectorName:x8,connectorType:"nwc.primal"}):Ht.getState().setError("Please enter a URL")}};Tt([Xn()],A9.prototype,"_nwcUrl",void 0),A9=Tt([Wn("bc-primal")],A9);const fTe=Nr(QH||(QH=(t=>t)`<svg class="w-20 h-20" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
1019 <rect width="17.2816" height="20" fill="url(#pattern0_6321_527)"/>
1020 <defs>
1021 <pattern id="pattern0_6321_527" patternContentUnits="objectBoundingBox" width="1" height="1">
1022 <use xlink:href="#image0_6321_527" transform="matrix(0.00248348 0 0 0.00214592 0.1 0.05)"/>
1023 </pattern>
1024 <image id="image0_6321_527" width="404" height="404" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAIAAAAiOjnJAAAI7ElEQVR4nOzdW4xUdwHH8XOZc+bGXrLscBnaRQKitEhECMEb2igVTUwk8cVYfJKl+mDCC4mgKcagMRF8NAs+SgwagSwPYGNMjKnRxuWlrdi6tNKWRdy1XPY+l3OMO80pgf0flpn5za3fz9PJ+e/M/Be+03P4z+mZxHM7X7SAenOaPQF0JsKCBGFBgrAgQViQICxIEBYkCAsShAUJwoIEYUGCsCBBWJAgLEgQFiQICxKEBYlEsyewGDuwq3+sbVf/YJUwtMIafqd21IphfeTpP3avfK26x65Yt3n5YxvrPaNaTU4kz3y3u9mzaCgOhZAgLEgQFiQICxKEBQnCggRhQYKwINGcBdLVT4wmUrdNo9nls36mp8qnDsLS9J3qZ6bh2t6Or/qm0VLBuTxsHG1TzQmrb+3f/ewbptFUd95PV7lObVtheW6yhqlJuE5iyxcyptH5aa/zwuJQCAnCggRhQYKwIEFYkCAsSBAWJFTrWF7KcszR2o5l29U23YrXHuN+qrDWf/qX6Z7/mkZ7+vMJ/wOmUScmScvq7upJpdM1TxBaHAohQViQICxIEBYkCAsShAUJwoIEYUGCsCBBWJAgLEgQFiQICxKEBQnCggRhQYKwINGKN7dtV+ZLpkPLKcwa/6iLcx34t9CBv1JT2Anf71lhGp2cSJ75DndNBmpGWJAgLEgQFiQICxKEBQnCggRhQUK1QPrr3780HbxlGvVTGdt1TaMLXzloXMX2fN91W25d13YcxzfeUaI451593TON9qfXfXz112RTaw7V39BfXn7rxuSo6Mk7zLqeHZ0XFodCSBAWJBp6stLf33/p0qXK9pUrV/bt21fZ3rt375EjRyrbQ0NDp06dquOLPv2pj35735ce3P/jod/+9fKrD+7fv3//gQMHKtvHjh07d+5cZfvEiRO7du2qbO/Zs2diYqKOk+w8DQ3L87xt27Y9uD+Xy0X78/l8fV+0r7dr84fWPri/u2vxr4rI5/PRZHK5XLR/w4YN0X7PM56Jo4JDISQICxKqQ+EPv7Xb79pa2f7G939T2bh582Z0pNu0adP169cr22fPno32Dw4ORvsPHTp0+vRp0QxNjh8/fvLkycr24cOHo8kcPHgwOve6ePFidJRcs2ZNFa/Snck9u+XdX83pxMstVb9SNuml0/d/o1UQBDdu3Khs5xdUtn3fj/bfe5qVzWZF04sxtSCaWDSZmZmZaJK5XK7Gc0HHdtNWb82TbV0cCiFBWJBoxNH9/E+/Xtm4O1uIzrdGRkaibwIYHBwMw7CyffTo0Wj/0NBQtH/79u0jIyNLfMXdn9n68x88G/8z9/7AVwaPvfzamw/+zIEFle3h4eELFy5UtvP5fHRYjGY4Njb20POt53a+uMRfod3xXyxIEBYkGvoPXce21z/WZ1mWm/DmC+VrY+9+KjI+Ph4d5sbGxqKfv3btWrR/eno6/slTSX/D2lWV7YHV/Y80sfUDq6LtRY+JlmWNjo5GkykWi9H+aOf4+PiiD1yZ/aBjGa8R6lS26Kj/4d0P+S6dq2/f+ub3flHHV9y8ceD8ySO1P8+Gzx6ox3Tec2jn8529srAoDoWQICxINO3DhGwm+cmPbVx8zLZiLk1OJDzXXeT9MJDP1WVin/vElsUHHNdJ3P9ZQmR+2v336OInUh35ic1DNe0cK+GnTKOO48R82WV3d29Tvq/Q9lJ+t/HfBDdH0xd+sqyxM2ppHAohQViQICxIEBYkCAsShAUJwoLE+3HtrkphGAaBadC2g9Qy47s0CKzCjPGxHYmwlioszRdujZlGe/v9Z07Mm0YnJ5JnDr+/7ppMWPVj/LAgdqhDcY4FCcKCBGFBgrAgQViQICxIEBYk2m8da25utlQqmkb9ZNL3k42dERbRfmEVCvOFgnGN23YcwmoFHAohQViQICxIEBYkCAsShAUJwoJE+61jtajYC5ctK0hmVe/h+ZnACkXPXT3Cqo+wXIy5cNl3E8/8zPhpQY1+dWjlzO2Wu6CesBrEfJeTzsQ5FiQICxKEBQnCggRhQYKwIEFYkOi0dazC/HzsCnichOelUprb5gbl0swd06DtuF1rNsc82nbKMf+T/tYvTxZny6bRl55Pzd59hJnWS6eFVSwWisVCdY9NpdOqsKywPDtpGnMSyUzfQMxjnUQxJqwnnxoJysZl/X/+OT17twmf+HAohARhQYKwIEFYkCAsSBAWJAgLErJ1rDBrhcbFlTCwg8C4phfz1V9L/IHqLFxdHHNfZMu2Je/D/79uKWbtLbSsuHWsMCjHrAn7aTuZNT64MBuEmotPVV8rF+/JLw772TdMo119q/xUxjQa/6VzOn4y2dvbJ3ryWlYw4/8svJ6VtuuZRod/1Dv+L+NoLTpt5b1NCd8oduxV0bIX5hwLEoQFCcKCBGFBgrAgQViQICxIsI61VKVSaWrSeJGv47qZTLaxM2pphLVUQbk8MzNtGvU8n7DuxaEQEoQFCcKCBGFBgrAgQViQICxINGkdK8xYYbdxMHBa8MLlePGXNTdRGDbnjsrNCeuVS5+PGd341O+yy/9hGl3Wm0tmukyj9oKaJ/jISqXixPjNxr/uQ63qzrnN+EvmUAgJwoIEYUGCsCBBWJAgLEgQFiQICxKteAXpO9eemJrIG4fXv13u/Y9p0Etl/GT1N6h1nPZ7pxVm7oTmmz+88oee0nzKNDp9yxXNqhXDmnj9cct63DSa6bllJW6bRm3H8Xzjn2O8pizZ1644NxWabxnz6p9Sk+PJxs7I4lAIFcKCBGFBgrAgQViQICxIEBYkWnEdK14YpuIuaw69mMua4zm205zLeGsTBstirj8Ow+YszrVfWFdf2GFZO0yjA9v+tnzdC9U9cyLh+r7kFsJSl8/vn51suSNPy00InYGwIEFYkCAsSBAWJAgLEoQFCcKCRPstkMZ7582BmdtVLnI6tu24qkt1dQpzrXjha6eFNTW+Ymp8RbNnAQ6F0CAsSBAWJAgLEoQFCcKCBGFBgrAgQViQICxIEBYkCAsShAUJwoIEYUGCsCBBWJAgLEj8LwAA///HwPpEhsXv3wAAAABJRU5ErkJggg=="/>
1025 </defs>
1026 </svg>
1027 `)),j8="Cashu.me";let JH=class extends ac{constructor(){super("nwc.cashume",j8,"#7f38ca",fTe)}async _onClick(){Ht.getState().pushRoute("/cashu-me")}};JH=Tt([Wn("bc-cashu-me-connector")],JH);let XH,dTe=t=>t,_9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(XH||(XH=dTe`<div class="w-full">
1028 <bc-navbar
1029 class="flex w-full"
1030 heading=${0}
1031 ></bc-navbar>
1032 <div class="font-sans text-sm w-full">
1033 <div class="px-8 pt-4 w-full">
1034 <div class="mb-2 ${0}">
1035 1. Open
1036 <a href="https://wallet.cashu.me" target="_blank" class="font-bold"
1037 >Cashu.me
1038 </a>
1039 , click on the <span class="font-semibold">hamburger menu</span> on
1040 the top left, then click
1041 <span class="font-semibold">Settings</span>. Scroll down to
1042 <span class="font-semibold">Nostr Wallet Connect</span>
1043 and enable NWC, and then press the copy button.
1044 </div>
1045 <div class="mb-1 ${0}">
1046 2. Keep the Cashu.me browser tab open while using Bitcoin Connect.
1047 </div>
1048 <div class="mb-1 ${0}">
1049 3. Paste the Connection Secret below:
1050 </div>
1051
1052 <div class="px-8 pt-4 w-full">
1053 <div class="mb-1 ${0}">
1054 Enter your
1055 <a
1056 href="https://nwc.getalby.com/about"
1057 target="_blank"
1058 class="font-bold"
1059 >Connection Secret
1060 </a>
1061 below
1062 </div>
1063
1064 <input
1065 value=${0}
1066 @change=${0}
1067 placeholder="nostr+walletconnect://..."
1068 type="password"
1069 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
1070 />
1071 <bci-button variant="primary" @click=${0}>
1072 Connect
1073 </bci-button>
1074 </div>
1075 </div>
1076 </div>
1077 </div>`),j8,$n,$n,$n,$n,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await Ht.getState().connect({nwcUrl:this._nwcUrl,connectorName:j8,connectorType:"nwc.cashume"}):Ht.getState().setError("Please enter a URL")}};Tt([Xn()],_9.prototype,"_nwcUrl",void 0),_9=Tt([Wn("bc-cashu-me")],_9);let eW,pTe=t=>t,M9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(eW||(eW=pTe`<div class="w-full">
1078 <bc-navbar
1079 class="flex w-full"
1080 heading=${0}
1081 ></bc-navbar>
1082 <div class="font-sans text-sm w-full">
1083 <div class="px-8 pt-4 w-full">
1084 <div class="mb-2 ${0}">
1085 1. Open
1086 <a href="https://rizful.com/w" target="_blank" class="font-bold"
1087 >Rizful Wallet
1088 </a>
1089 </div>
1090 <div class="mb-2 ${0}">
1091 2. Click on
1092 <span class="semibold"
1093 >Hamburger Menu -> NWC -> Get NWC codes -> New Connection</span
1094 >. Then click <span class="semibold">Get Connection Code</span> and
1095 click
1096 <span class="semibold">Copy Connection Code</span>
1097 </div>
1098
1099 <div class="mb-1 ${0}">
1100 3. Paste the Connection Secret below:
1101 </div>
1102
1103 <div class="px-8 pt-4 w-full">
1104 <div class="mb-1 ${0}">
1105 Enter your
1106 <a
1107 href="https://nwc.getalby.com/about"
1108 target="_blank"
1109 class="font-bold"
1110 >Connection Secret
1111 </a>
1112 below
1113 </div>
1114
1115 <input
1116 value=${0}
1117 @change=${0}
1118 placeholder="nostr+walletconnect://..."
1119 type="password"
1120 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
1121 />
1122 <bci-button variant="primary" @click=${0}>
1123 Connect
1124 </bci-button>
1125 </div>
1126 </div>
1127 </div>
1128 </div>`),k8,$n,$n,$n,$n,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await Ht.getState().connect({nwcUrl:this._nwcUrl,connectorName:k8,connectorType:"nwc.rizful"}):Ht.getState().setError("Please enter a URL")}};Tt([Xn()],M9.prototype,"_nwcUrl",void 0),M9=Tt([Wn("bc-rizful")],M9);let tW,nW,rW,oW,sW,aW,iW,lW,cW,uW,fW,dW,pW,hW,vi=t=>t;const hTe={"/start":Et(tW||(tW=vi`<bc-start class="flex w-full"></bc-start>`)),"/help":Et(nW||(nW=vi`<bc-help class="flex w-full"></bc-help>`)),"/nwc":Et(rW||(rW=vi`<bc-nwc class="flex w-full"></bc-nwc>`)),"/lnfi":Et(oW||(oW=vi`<bc-lnfi class="flex w-full"></bc-lnfi>`)),"/alby-hub":Et(sW||(sW=vi`<bc-alby-hub class="flex w-full"></bc-alby-hub>`)),"/alby-go":Et(aW||(aW=vi`<bc-alby-go class="flex w-full"></bc-alby-go>`)),"/lnbits":Et(iW||(iW=vi`<bc-lnbits class="flex w-full"></bc-lnbits>`)),"/lnbits-nwc":Et(lW||(lW=vi`<bc-lnbits-nwc class="flex w-full"></bc-lnbits-nwc>`)),"/flash-wallet":Et(cW||(cW=vi`<bc-flash-wallet
1129 class="flex w-full"
1130 ></bc-flash-wallet>`)),"/primal":Et(uW||(uW=vi`<bc-primal class="flex w-full"></bc-primal>`)),"/cashu-me":Et(fW||(fW=vi`<bc-cashu-me class="flex w-full"></bc-cashu-me>`)),"/rizful":Et(dW||(dW=vi`<bc-rizful class="flex w-full"></bc-rizful>`)),"/new-wallet":Et(pW||(pW=vi`<bc-new-wallet class="flex w-full"></bc-new-wallet>`)),"/connected":Et(hW||(hW=vi`<bc-connected class="flex w-full"></bc-connected>`))};let mW,gW,mTe=t=>t,yW=class extends Tr()(nr){render(){return Et(mW||(mW=mTe`<div class="flex flex-col w-full">${0}</div>`),hTe[this._route])}};yW=Tt([Wn("bc-router-outlet")],yW);const gTe=Nr(gW||(gW=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1131 <path d="M7.6665 7.16699L12.4998 12.0003M12.4998 12.0003L17.3332 16.8337M12.4998 12.0003L17.3332 7.16699M12.4998 12.0003L7.6665 16.8337" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
1132 </svg>`));let vW;const yTe=Nr(vW||(vW=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1133 <path d="M12.665 18.33C13.5404 18.3311 14.4074 18.1592 15.2162 17.8242C16.025 17.4892 16.7596 16.9977 17.3778 16.3778C17.9977 15.7596 18.4892 15.025 18.8242 14.2162C19.1592 13.4074 19.3311 12.5404 19.33 11.665C19.3311 10.7896 19.1592 9.92256 18.8242 9.11378C18.4892 8.305 17.9976 7.5704 17.3778 6.95218C16.7596 6.33235 16.025 5.84079 15.2162 5.50577C14.4074 5.17075 13.5404 4.99887 12.665 5.00001C11.7896 4.99889 10.9226 5.17078 10.1138 5.5058C9.305 5.84082 8.5704 6.33236 7.95218 6.95218C7.33236 7.5704 6.84082 8.305 6.5058 9.11378C6.17078 9.92256 5.99889 10.7896 6.00001 11.665C5.99887 12.5404 6.17075 13.4074 6.50577 14.2162C6.84079 15.025 7.33235 15.7596 7.95218 16.3778C8.5704 16.9976 9.305 17.4892 10.1138 17.8242C10.9226 18.1592 11.7896 18.3311 12.665 18.33Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
1134 <path d="M12.6649 12.9149V11.9152C12.9615 11.9152 13.2515 11.8272 13.4981 11.6625C13.7447 11.4977 13.9369 11.2635 14.0504 10.9895C14.1639 10.7155 14.1936 10.4139 14.1357 10.123C14.0779 9.83215 13.935 9.56495 13.7253 9.35523C13.5156 9.14551 13.2484 9.00269 12.9575 8.94483C12.6666 8.88697 12.3651 8.91667 12.091 9.03017C11.817 9.14366 11.5828 9.33587 11.418 9.58247C11.2532 9.82908 11.1653 10.119 11.1653 10.4156" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1135 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.6653 15.7497C12.8642 15.7497 13.055 15.6707 13.1956 15.5301C13.3363 15.3895 13.4153 15.1987 13.4153 14.9999C13.4153 14.801 13.3363 14.6103 13.1956 14.4696C13.055 14.329 12.8642 14.25 12.6653 14.25C12.4664 14.25 12.2756 14.329 12.135 14.4696C11.9943 14.6103 11.9153 14.801 11.9153 14.9999C11.9153 15.1987 11.9943 15.3895 12.135 15.5301C12.2756 15.6707 12.4664 15.7497 12.6653 15.7497Z" fill="currentColor"/>
1136 </svg>
1137 `));let wW,bW,xW,R9=t=>t,y6=class extends Tr()(nr){render(){return Et(wW||(wW=R9`<div
1138 class="flex justify-center items-center gap-2 w-full relative"
1139 >
1140 <div
1141 class="absolute right-0 h-full flex items-center justify-center gap-2"
1142 >
1143 ${0}
1144 ${0}
1145 </div>
1146 <div class="flex items-center justify-center">
1147 <slot></slot>
1148 </div>
1149 </div>`),this.showHelp?Et(bW||(bW=R9`<div
1150 class="${0} ${0}"
1151 @click=${0}
1152 >
1153 ${0}
1154 </div>`),Ma,rf,()=>Ht.getState().pushRoute("/help"),yTe):null,this.closable?Et(xW||(xW=R9`<div
1155 class="${0} ${0}"
1156 @click=${0}
1157 >
1158 ${0}
1159 </div>`),Ma,rf,this._handleClose,gTe):null)}_handleClose(){this.dispatchEvent(new Event("onclose",{bubbles:!0,composed:!0}))}};Tt([Jo({type:Boolean})],y6.prototype,"closable",void 0),Tt([Jo({type:Boolean,attribute:"show-help"})],y6.prototype,"showHelp",void 0),y6=Tt([Wn("bc-modal-header")],y6);let kW,vTe=t=>t,jW=class extends Tr()(nr){constructor(){super(...arguments),this._handleClose=()=>{$D()}}render(){return Et(kW||(kW=vTe` <div
1160 class="fixed top-0 left-0 w-full h-full flex justify-center items-end sm:items-center z-[21000]"
1161 >
1162 <div
1163 class="absolute top-0 left-0 w-full h-full -z-10 bg-black animate-darken"
1164 @click=${0}
1165 ></div>
1166 <div
1167 class="transition-all p-4 pt-6 pb-8 rounded-2xl shadow-2xl flex justify-center items-center w-full bg-white dark:bg-black max-w-md max-sm:rounded-b-none
1168 animate-fade-in max-sm:animate-slide-up"
1169 >
1170 <slot @onclose=${0}></slot>
1171 </div>
1172 </div>`),this._handleClose,this._handleClose)}};jW=Tt([Wn("bc-modal")],jW);let CW,SW,wTe=t=>t,EW=class extends Tr()(U0){render(){return Et(CW||(CW=wTe`
1173 <div class="flex flex-col items-center justify-center w-full">
1174 ${0}
1175 <p class="text-center font-sans ${0}">
1176 Connecting to wallet...
1177 </p>
1178 ${0}
1179 </div>
1180 `),kg(`w-20 h-20 ${rf} mb-4`),$n,HD(void 0))}};EW=Tt([Wn("bci-connecting")],EW);const bTe=Nr(SW||(SW=(t=>t)`<svg width="116" height="14" viewBox="0 0 116 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1181 <path d="M6.88623 4.23009C7.4526 4.23009 7.94227 4.33038 8.35525 4.53097C8.76823 4.73156 9.11041 5.00295 9.3818 5.34513C9.65319 5.68732 9.85378 6.0885 9.98357 6.54867C10.1134 7.00885 10.1783 7.50443 10.1783 8.0354C10.1783 8.84956 10.0249 9.62242 9.71809 10.354C9.4231 11.0737 9.01602 11.705 8.49685 12.2478C7.97767 12.7788 7.3641 13.2035 6.65614 13.5221C5.94817 13.8289 5.18121 13.9823 4.35525 13.9823C4.24905 13.9823 4.06026 13.9764 3.78888 13.9646C3.52929 13.9646 3.2284 13.941 2.88622 13.8938C2.54404 13.8466 2.17826 13.7758 1.78888 13.6814C1.41129 13.587 1.05141 13.4572 0.709229 13.292L3.77118 0.424778L6.51454 0L5.4172 4.56637C5.65318 4.46018 5.88917 4.37758 6.12516 4.31858C6.36115 4.25959 6.61484 4.23009 6.88623 4.23009ZM4.58534 11.8053C4.99832 11.8053 5.3877 11.705 5.75348 11.5044C6.11926 11.3038 6.43195 11.0384 6.69153 10.708C6.96292 10.3658 7.17531 9.9823 7.3287 9.55752C7.4821 9.13274 7.55879 8.69027 7.55879 8.23009C7.55879 7.66372 7.4644 7.22124 7.27561 6.90266C7.08681 6.58407 6.73873 6.42478 6.23136 6.42478C6.06616 6.42478 5.84788 6.45428 5.57649 6.51328C5.3169 6.57227 5.08091 6.69617 4.86852 6.88496L3.70038 11.7345C3.77118 11.7463 3.83018 11.7581 3.87737 11.7699C3.93637 11.7817 3.99537 11.7935 4.05436 11.8053C4.11336 11.8053 4.18416 11.8053 4.26675 11.8053C4.34935 11.8053 4.45554 11.8053 4.58534 11.8053Z" fill="currentColor"/>
1182 <path d="M13.1552 13.7345H10.5357L12.7481 4.42478H15.3853L13.1552 13.7345ZM14.4295 3.29204C14.0637 3.29204 13.7333 3.18584 13.4384 2.97345C13.1434 2.74926 12.9959 2.41298 12.9959 1.9646C12.9959 1.71681 13.0431 1.48673 13.1375 1.27434C13.2437 1.05015 13.3794 0.861357 13.5446 0.707964C13.7097 0.542772 13.8985 0.412979 14.1109 0.318584C14.3351 0.224189 14.5711 0.176991 14.8189 0.176991C15.1847 0.176991 15.5151 0.289086 15.81 0.513274C16.105 0.725664 16.2525 1.05605 16.2525 1.50442C16.2525 1.75221 16.1994 1.9882 16.0932 2.21239C15.9988 2.42478 15.869 2.61357 15.7038 2.77876C15.5387 2.93215 15.344 3.05605 15.1198 3.15044C14.9074 3.24484 14.6773 3.29204 14.4295 3.29204Z" fill="currentColor"/>
1183 <path d="M17.7251 2.1062L20.4685 1.68142L19.7959 4.42478H22.734L22.203 6.58407H19.2827L18.5039 9.84071C18.4331 10.1121 18.3859 10.3658 18.3623 10.6018C18.3505 10.8378 18.38 11.0443 18.4508 11.2212C18.5334 11.3864 18.6691 11.5162 18.8579 11.6106C19.0467 11.705 19.3063 11.7522 19.6367 11.7522C19.9198 11.7522 20.1912 11.7286 20.4508 11.6814C20.7222 11.6224 20.9936 11.5457 21.265 11.4513L21.4597 13.469C21.1057 13.5988 20.7222 13.7109 20.3092 13.8053C19.8962 13.8997 19.4066 13.9469 18.8402 13.9469C18.026 13.9469 17.3948 13.8289 16.9464 13.5929C16.498 13.3451 16.1794 13.0148 15.9906 12.6018C15.8018 12.177 15.7192 11.6932 15.7428 11.1504C15.7664 10.6077 15.849 10.0354 15.9906 9.43363L17.7251 2.1062Z" fill="currentColor"/>
1184 <path d="M22.475 10.0177C22.475 9.21534 22.6048 8.46018 22.8644 7.75221C23.124 7.04425 23.4957 6.42478 23.9794 5.89381C24.4632 5.36283 25.0473 4.94395 25.7316 4.63717C26.4278 4.33038 27.2007 4.17699 28.0502 4.17699C28.5812 4.17699 29.0532 4.23009 29.4662 4.33628C29.8909 4.43068 30.2744 4.56047 30.6166 4.72567L29.7139 6.77876C29.478 6.68437 29.2302 6.60177 28.9706 6.53097C28.7228 6.44838 28.416 6.40708 28.0502 6.40708C27.1653 6.40708 26.4691 6.70797 25.9617 7.30974C25.4544 7.89971 25.2007 8.70797 25.2007 9.73452C25.2007 10.3363 25.3305 10.826 25.5901 11.2035C25.8496 11.5693 26.3275 11.7522 27.0237 11.7522C27.3659 11.7522 27.6963 11.7168 28.0148 11.646C28.3334 11.5752 28.6166 11.4867 28.8644 11.3805L29.0591 13.4867C28.7287 13.6165 28.3629 13.7286 27.9617 13.823C27.5724 13.9292 27.0945 13.9823 26.5281 13.9823C25.7965 13.9823 25.1771 13.8761 24.6697 13.6637C24.1623 13.4513 23.7434 13.1681 23.4131 12.8142C23.0827 12.4484 22.8408 12.0236 22.6874 11.5398C22.5458 11.0561 22.475 10.5487 22.475 10.0177Z" fill="currentColor"/>
1185 <path d="M33.8569 13.9823C33.2316 13.9823 32.6888 13.8879 32.2286 13.6991C31.7684 13.5103 31.385 13.2448 31.0782 12.9027C30.7832 12.5605 30.559 12.1593 30.4056 11.6991C30.2522 11.2271 30.1755 10.708 30.1755 10.1416C30.1755 9.43363 30.2876 8.72567 30.5118 8.0177C30.7478 7.30974 31.09 6.67257 31.5383 6.1062C31.9867 5.53982 32.5354 5.07965 33.1844 4.72567C33.8333 4.35988 34.5767 4.17699 35.4145 4.17699C36.028 4.17699 36.5649 4.27139 37.0251 4.46018C37.4971 4.64897 37.8805 4.91445 38.1755 5.25664C38.4823 5.59882 38.7124 6.0059 38.8658 6.47788C39.0192 6.93805 39.0959 7.45133 39.0959 8.0177C39.0959 8.72567 38.9838 9.43363 38.7596 10.1416C38.5354 10.8496 38.205 11.4867 37.7684 12.0531C37.3319 12.6195 36.7832 13.0855 36.1224 13.4513C35.4735 13.8053 34.7183 13.9823 33.8569 13.9823ZM35.1667 6.40708C34.7773 6.40708 34.4351 6.51918 34.1401 6.74336C33.8451 6.96755 33.5973 7.25074 33.3968 7.59292C33.1962 7.9351 33.0428 8.31269 32.9366 8.72567C32.8422 9.12685 32.795 9.51033 32.795 9.87611C32.795 10.4779 32.8894 10.944 33.0782 11.2743C33.267 11.5929 33.6091 11.7522 34.1047 11.7522C34.4941 11.7522 34.8363 11.6401 35.1313 11.4159C35.4263 11.1917 35.674 10.9086 35.8746 10.5664C36.0752 10.2242 36.2227 9.85251 36.3171 9.45133C36.4233 9.03835 36.4764 8.64897 36.4764 8.28319C36.4764 7.68142 36.382 7.22124 36.1932 6.90266C36.0044 6.57227 35.6622 6.40708 35.1667 6.40708Z" fill="currentColor"/>
1186 <path d="M42.0732 13.7345H39.4537L41.6661 4.42478H44.3033L42.0732 13.7345ZM43.3475 3.29204C42.9818 3.29204 42.6514 3.18584 42.3564 2.97345C42.0614 2.74926 41.9139 2.41298 41.9139 1.9646C41.9139 1.71681 41.9611 1.48673 42.0555 1.27434C42.1617 1.05015 42.2974 0.861357 42.4626 0.707964C42.6278 0.542772 42.8166 0.412979 43.0289 0.318584C43.2531 0.224189 43.4891 0.176991 43.7369 0.176991C44.1027 0.176991 44.4331 0.289086 44.7281 0.513274C45.0231 0.725664 45.1705 1.05605 45.1705 1.50442C45.1705 1.75221 45.1174 1.9882 45.0113 2.21239C44.9169 2.42478 44.7871 2.61357 44.6219 2.77876C44.4567 2.93215 44.262 3.05605 44.0378 3.15044C43.8254 3.24484 43.5953 3.29204 43.3475 3.29204Z" fill="currentColor"/>
1187 <path d="M46.2538 4.84956C46.4544 4.79056 46.6727 4.72566 46.9087 4.65487C47.1564 4.57227 47.4278 4.50148 47.7228 4.44248C48.0296 4.37168 48.3659 4.31859 48.7317 4.28319C49.1092 4.23599 49.534 4.21239 50.006 4.21239C51.3983 4.21239 52.3541 4.61357 52.8733 5.41593C53.3924 6.21829 53.4809 7.31564 53.1387 8.70797L51.9352 13.7345H49.298L50.4662 8.81416C50.537 8.50738 50.5901 8.21239 50.6255 7.92921C50.6727 7.63422 50.6727 7.38053 50.6255 7.16814C50.5783 6.94395 50.4662 6.76696 50.2892 6.63717C50.124 6.49558 49.8644 6.42478 49.5104 6.42478C49.1682 6.42478 48.8202 6.46018 48.4662 6.53097L46.7494 13.7345H44.1122L46.2538 4.84956Z" fill="currentColor"/>
1188 <path d="M59.411 14C58.6441 14 57.9656 13.8879 57.3756 13.6637C56.7974 13.4395 56.3137 13.1209 55.9243 12.708C55.5349 12.295 55.2399 11.7994 55.0393 11.2212C54.8505 10.6313 54.7561 9.9705 54.7561 9.23894C54.7561 8.17699 54.9213 7.16224 55.2517 6.19469C55.5939 5.22714 56.0718 4.37168 56.6853 3.62832C57.3107 2.88496 58.06 2.29499 58.9331 1.85841C59.8063 1.41003 60.7798 1.18584 61.8535 1.18584C62.7739 1.18584 63.5054 1.28024 64.0482 1.46903C64.6028 1.65782 64.998 1.83481 65.234 2L64.5261 3.41593C64.2547 3.23894 63.883 3.07375 63.411 2.92035C62.9508 2.75516 62.4022 2.67257 61.765 2.67257C60.9508 2.67257 60.2193 2.86726 59.5703 3.25664C58.9213 3.63422 58.3727 4.1298 57.9243 4.74336C57.4759 5.34513 57.1337 6.0295 56.8977 6.79646C56.6617 7.55162 56.5438 8.30089 56.5438 9.04425C56.5438 11.3451 57.5408 12.4956 59.5349 12.4956C59.9597 12.4956 60.3373 12.4661 60.6677 12.4071C61.0098 12.3481 61.3107 12.2832 61.5703 12.2124C61.8299 12.1298 62.06 12.0413 62.2606 11.9469C62.4612 11.8525 62.6382 11.7699 62.7915 11.6991L63.0039 13.1858C62.8623 13.2684 62.6736 13.3569 62.4376 13.4513C62.2134 13.5457 61.9479 13.6342 61.6411 13.7168C61.3343 13.7994 60.9921 13.8643 60.6146 13.9115C60.237 13.9705 59.8358 14 59.411 14Z" fill="currentColor"/>
1189 <path d="M67.2379 13.9646C66.2703 13.9646 65.5093 13.6814 64.9547 13.115C64.4119 12.5369 64.1406 11.7463 64.1406 10.7434C64.1406 10.059 64.235 9.33924 64.4237 8.58407C64.6243 7.82891 64.937 7.13274 65.3618 6.49558C65.7866 5.85841 66.3352 5.33333 67.0078 4.92035C67.6804 4.50737 68.4945 4.30089 69.4503 4.30089C70.4178 4.30089 71.173 4.58997 71.7158 5.16814C72.2704 5.73451 72.5476 6.51918 72.5476 7.52213C72.5476 8.20649 72.4473 8.92626 72.2468 9.68142C72.058 10.4366 71.7512 11.1327 71.3264 11.7699C70.9016 12.4071 70.353 12.9322 69.6804 13.3451C69.0078 13.7581 68.1937 13.9646 67.2379 13.9646ZM67.5211 12.5664C68.0521 12.5664 68.524 12.413 68.937 12.1062C69.3618 11.7994 69.7158 11.41 69.999 10.9381C70.294 10.4543 70.5181 9.92331 70.6715 9.34513C70.8249 8.76696 70.9016 8.20649 70.9016 7.66372C70.9016 7.06195 70.7718 6.58407 70.5122 6.23009C70.2527 5.87611 69.8043 5.69912 69.1671 5.69912C68.6361 5.69912 68.1583 5.85251 67.7335 6.15929C67.3205 6.46608 66.9665 6.86136 66.6715 7.34513C66.3883 7.81711 66.1701 8.34219 66.0167 8.92036C65.8633 9.49853 65.7866 10.059 65.7866 10.6018C65.7866 11.2035 65.9164 11.6814 66.176 12.0354C66.4355 12.3894 66.8839 12.5664 67.5211 12.5664Z" fill="currentColor"/>
1190 <path d="M74.8253 13.7345H73.1793L75.3032 4.88496C75.8459 4.71977 76.43 4.58997 77.0554 4.49558C77.6926 4.38938 78.2589 4.33628 78.7545 4.33628C79.2855 4.33628 79.7398 4.41298 80.1173 4.56637C80.5067 4.70796 80.8194 4.90856 81.0554 5.16814C81.2914 5.41593 81.4625 5.72271 81.5687 6.0885C81.6867 6.44248 81.7457 6.83186 81.7457 7.25664C81.7457 7.52803 81.7221 7.81711 81.6749 8.1239C81.6277 8.41888 81.5687 8.71977 81.4979 9.02655L80.3651 13.7345H78.7191L79.7634 9.38053C79.8459 9.05015 79.9226 8.71387 79.9934 8.37168C80.076 8.0295 80.1173 7.70502 80.1173 7.39823C80.1173 6.92626 79.9875 6.53687 79.728 6.23009C79.4684 5.91151 78.9846 5.75221 78.2766 5.75221C77.9816 5.75221 77.6926 5.76991 77.4094 5.80531C77.1262 5.84071 76.8902 5.88791 76.7014 5.9469L74.8253 13.7345Z" fill="currentColor"/>
1191 <path d="M84.2197 13.7345H82.5736L84.6975 4.88496C85.2403 4.71977 85.8244 4.58997 86.4498 4.49558C87.0869 4.38938 87.6533 4.33628 88.1489 4.33628C88.6798 4.33628 89.1341 4.41298 89.5117 4.56637C89.9011 4.70796 90.2138 4.90856 90.4498 5.16814C90.6857 5.41593 90.8568 5.72271 90.963 6.0885C91.081 6.44248 91.14 6.83186 91.14 7.25664C91.14 7.52803 91.1164 7.81711 91.0692 8.1239C91.022 8.41888 90.963 8.71977 90.8922 9.02655L89.7595 13.7345H88.1135L89.1577 9.38053C89.2403 9.05015 89.317 8.71387 89.3878 8.37168C89.4704 8.0295 89.5117 7.70502 89.5117 7.39823C89.5117 6.92626 89.3819 6.53687 89.1223 6.23009C88.8627 5.91151 88.379 5.75221 87.671 5.75221C87.376 5.75221 87.0869 5.76991 86.8037 5.80531C86.5206 5.84071 86.2846 5.88791 86.0958 5.9469L84.2197 13.7345Z" fill="currentColor"/>
1192 <path d="M94.2335 8.90266C94.9179 8.87906 95.5432 8.83776 96.1096 8.77876C96.676 8.70797 97.1656 8.59587 97.5786 8.44248C97.9916 8.27729 98.3102 8.059 98.5344 7.78761C98.7704 7.51623 98.8884 7.16224 98.8884 6.72567C98.8884 6.61947 98.8648 6.50738 98.8176 6.38938C98.7822 6.27139 98.7114 6.16519 98.6052 6.0708C98.5108 5.9646 98.3751 5.88201 98.1981 5.82301C98.0211 5.75221 97.8028 5.71682 97.5432 5.71682C97.1302 5.71682 96.7409 5.80531 96.3751 5.9823C96.0211 6.15929 95.7025 6.39528 95.4193 6.69027C95.1361 6.97345 94.8943 7.30974 94.6937 7.69912C94.4931 8.0767 94.3397 8.47788 94.2335 8.90266ZM95.9149 13.9646C95.3131 13.9646 94.794 13.882 94.3574 13.7168C93.9208 13.5398 93.555 13.3038 93.26 13.0089C92.9651 12.7021 92.7468 12.3481 92.6052 11.9469C92.4636 11.5457 92.3928 11.1209 92.3928 10.6726C92.3928 9.84661 92.5167 9.05015 92.7645 8.28319C93.0123 7.51623 93.3662 6.83776 93.8264 6.24779C94.2866 5.65782 94.8471 5.19174 95.5078 4.84956C96.1686 4.49558 96.9179 4.31858 97.7556 4.31858C98.2394 4.31858 98.6524 4.38348 98.9946 4.51328C99.3485 4.63127 99.6317 4.79646 99.8441 5.00885C100.068 5.22124 100.234 5.46903 100.34 5.75221C100.446 6.0236 100.499 6.30679 100.499 6.60177C100.499 7.15634 100.399 7.62832 100.198 8.0177C99.9975 8.39528 99.732 8.71387 99.4016 8.97345C99.0713 9.23304 98.6819 9.43363 98.2335 9.57522C97.7969 9.71682 97.3367 9.82891 96.853 9.91151C96.381 9.9941 95.8972 10.0531 95.4016 10.0885C94.9179 10.1121 94.4577 10.1357 94.0211 10.1593C94.0093 10.2537 94.0034 10.3304 94.0034 10.3894C94.0034 10.4484 94.0034 10.4956 94.0034 10.531C94.0034 10.8024 94.0329 11.0619 94.0919 11.3097C94.1627 11.5457 94.2866 11.7581 94.4636 11.9469C94.6406 12.1239 94.8825 12.2655 95.1892 12.3717C95.5078 12.4779 95.9208 12.531 96.4282 12.531C96.6524 12.531 96.8825 12.5133 97.1185 12.4779C97.3662 12.4307 97.5963 12.3776 97.8087 12.3186C98.0329 12.2478 98.2276 12.1829 98.3928 12.1239C98.5698 12.0531 98.6937 11.9882 98.7645 11.9292L98.9061 13.3274C98.6701 13.4572 98.2866 13.5929 97.7556 13.7345C97.2364 13.8879 96.6229 13.9646 95.9149 13.9646Z" fill="currentColor"/>
1193 <path d="M101.199 10.4425C101.199 9.64012 101.317 8.86726 101.553 8.1239C101.801 7.38053 102.161 6.72567 102.633 6.15929C103.105 5.59292 103.683 5.14454 104.368 4.81416C105.052 4.47198 105.837 4.30089 106.722 4.30089C107.111 4.30089 107.483 4.33038 107.837 4.38938C108.191 4.43658 108.527 4.53687 108.846 4.69027L108.226 6.0708C108.037 5.9646 107.813 5.88201 107.553 5.82301C107.306 5.76401 106.981 5.73451 106.58 5.73451C106.002 5.73451 105.483 5.86431 105.022 6.1239C104.562 6.37168 104.167 6.70797 103.837 7.13274C103.518 7.54572 103.27 8.0295 103.093 8.58407C102.928 9.12685 102.846 9.69322 102.846 10.2832C102.846 10.59 102.875 10.8791 102.934 11.1504C103.005 11.4218 103.123 11.6637 103.288 11.8761C103.453 12.0767 103.671 12.236 103.943 12.354C104.226 12.472 104.58 12.531 105.005 12.531C105.217 12.531 105.441 12.5133 105.677 12.4779C105.913 12.4307 106.132 12.3776 106.332 12.3186C106.533 12.2596 106.71 12.2006 106.863 12.1416C107.028 12.0708 107.146 12.0059 107.217 11.9469L107.359 13.3451C107.135 13.4867 106.787 13.6224 106.315 13.7522C105.843 13.8938 105.306 13.9646 104.704 13.9646C104.138 13.9646 103.636 13.882 103.199 13.7168C102.763 13.5398 102.397 13.2979 102.102 12.9912C101.807 12.6726 101.583 12.3009 101.43 11.8761C101.276 11.4395 101.199 10.9617 101.199 10.4425Z" fill="currentColor"/>
1194 <path d="M111.557 13.9823C110.672 13.9823 110.023 13.7876 109.61 13.3982C109.197 13.0089 108.99 12.4425 108.99 11.6991C108.99 11.2153 109.073 10.5959 109.238 9.84071L111.132 1.9646L112.849 1.68142L112.158 4.53097H115.291L114.955 5.91151H111.822L110.849 9.9823C110.707 10.5369 110.636 11.0207 110.636 11.4336C110.636 11.823 110.742 12.1062 110.955 12.2832C111.167 12.4484 111.521 12.531 112.017 12.531C112.359 12.531 112.695 12.4779 113.026 12.3717C113.356 12.2537 113.61 12.1475 113.787 12.0531L113.91 13.4513C113.734 13.5575 113.433 13.6696 113.008 13.7876C112.583 13.9174 112.099 13.9823 111.557 13.9823Z" fill="currentColor"/>
1195 </svg>
1196
1197 `));let NW;const xTe=Nr(NW||(NW=(t=>t)`<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1198 <path d="M14.4996 8.6934C13.5646 12.4434 9.76602 14.7256 6.01514 13.7905C2.26579 12.8555 -0.0166852 9.05718 0.918793 5.30739C1.8534 1.55695 5.65197 -0.725474 9.40176 0.209458C13.1524 1.14439 15.4347 4.94318 14.4996 8.6934Z" fill="currentColor"/>
1199 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.52902 4.06707C10.5141 4.44605 11.2102 4.99957 11.0511 5.97269C10.9624 6.52101 10.7122 6.8585 10.3665 7.04603C10.236 7.1168 10.2072 7.33609 10.3231 7.42878C10.8196 7.82585 11.0179 8.38842 10.7056 9.24266C10.2505 10.4885 9.22882 10.6202 7.87222 10.3663C7.78904 10.3508 7.70726 10.4014 7.68566 10.4832L7.52414 11.0824C7.46306 11.3138 7.22603 11.4518 6.99467 11.3908C6.76319 11.3298 6.62506 11.0926 6.68618 10.8612L6.84101 10.2875C6.86324 10.2033 6.81295 10.1171 6.72884 10.0946C6.61038 10.0629 6.49041 10.0301 6.36863 9.99598C6.28341 9.9721 6.19494 10.0224 6.17237 10.108L6.01688 10.6851C5.95588 10.9163 5.71897 11.0543 5.48775 10.9932C5.25664 10.9322 5.11869 10.6955 5.17961 10.4643L5.33952 9.86967C5.36188 9.78479 5.31155 9.69775 5.22691 9.67449C5.1995 9.66696 5.17203 9.6594 5.1445 9.65182L5.1436 9.65157C5.02458 9.6188 4.90431 9.58569 4.78256 9.55341L4.50468 9.47686C4.19755 9.39585 4.03663 9.05848 4.16696 8.76881C4.27134 8.53681 4.52958 8.41694 4.77541 8.48242C4.77988 8.48361 4.7843 8.48479 4.78868 8.48595C4.84757 8.50157 4.84473 8.49023 4.90409 8.4765C5.02494 8.44855 5.08888 8.34885 5.11971 8.2752L5.69957 6.078L5.70108 6.07204L6.11095 4.51802C6.11349 4.5084 6.11518 4.49858 6.11565 4.48865C6.12282 4.33833 6.18991 4.18684 5.97081 4.08327C5.92336 4.06085 5.87669 4.03952 5.82597 4.02603C5.81758 4.0238 5.80892 4.02151 5.80003 4.01918C5.55193 3.954 5.40061 3.7018 5.46597 3.45375C5.53051 3.20887 5.78141 3.06273 6.02626 3.12741L6.51367 3.26409C6.63858 3.29693 6.76622 3.3287 6.89587 3.36037C6.97969 3.38084 7.06441 3.3303 7.08644 3.24687L7.22919 2.722C7.29025 2.49074 7.52721 2.35275 7.75848 2.41376C7.9898 2.47479 8.12784 2.71179 8.0668 2.94311L7.93196 3.43844C7.90985 3.52223 7.96087 3.6078 8.04506 3.62833C8.16859 3.65845 8.29203 3.6889 8.41417 3.72009C8.4966 3.74114 8.58086 3.69207 8.60256 3.60981L8.73588 3.11979C8.79692 2.88839 9.03398 2.75027 9.26539 2.81129C9.49683 2.87232 9.63496 3.10941 9.57392 3.34084L9.42905 3.87456C9.40794 3.95461 9.45175 4.03735 9.52902 4.06707ZM7.41985 5.36848L7.53445 4.93355C7.58781 4.73103 7.79524 4.61012 7.99776 4.66348C8.20028 4.71684 8.32119 4.92427 8.26783 5.12679L8.15323 5.56172L8.58812 5.67631C8.79064 5.72967 8.91155 5.9371 8.85819 6.13962C8.80483 6.34214 8.5974 6.46305 8.39488 6.40969L7.95999 6.2951L7.84539 6.73004C7.79203 6.93256 7.5846 7.05348 7.38208 7.00012C7.17956 6.94675 7.05865 6.73932 7.11201 6.53681L7.22661 6.10186L6.79163 5.98725C6.58911 5.93389 6.4682 5.72646 6.52156 5.52394C6.57492 5.32142 6.78235 5.20051 6.98487 5.25387L7.41985 5.36848ZM8.44291 7.37958L8.32831 7.81451L7.89332 7.6999C7.6908 7.64654 7.48337 7.76745 7.43001 7.96997C7.37665 8.17249 7.49757 8.37992 7.70008 8.43328L8.13507 8.54789L8.02046 8.98284C7.9671 9.18536 8.08802 9.39279 8.29054 9.44615C8.49305 9.49951 8.70048 9.37859 8.75385 9.17608L8.86845 8.74113L9.30334 8.85572C9.50585 8.90908 9.71328 8.78817 9.76665 8.58565C9.82001 8.38313 9.69909 8.1757 9.49658 8.12234L9.06169 8.00775L9.17629 7.57282C9.22965 7.3703 9.10873 7.16287 8.90621 7.10951C8.7037 7.05615 8.49627 7.17707 8.44291 7.37958Z" fill="white"/>
1200 </svg>`));let IW,T9,AW,_W,MW,RW,TW,gw=t=>t,D9=(T9=class extends(IW=Tr()(nr)){render(){return Et(AW||(AW=gw`<div class="w-full flex-col justify-center items-center">
1201 <bc-modal-header class="flex w-full" show-help ?closable=${0}>
1202 <div class="${0} mr-[2px]">
1203 ${0}
1204 </div>
1205 <div class="${0}">${0}</div>
1206 </bc-modal-header>
1207 <div class="flex w-full pt-8">
1208 ${0}
1209 </div>
1210 ${0}
1211 </div>`),this.closable,Mo,xTe,Hoe,bTe,Et(this._connecting?_W||(_W=gw`<bci-connecting class="flex w-full"></bci-connecting>`):MW||(MW=gw` <bc-router-outlet class="flex w-full"></bc-router-outlet>`)),this._error?Et(RW||(RW=gw`<p class="mt-4 text-center font-sans text-red-500">
1212 ${0}
1213 </p>`),this._error):null)}},T9.styles=[...IW.styles,lS(TW||(TW=gw`
1214 :host {
1215 display: flex;
1216 justify-content: center;
1217 width: 100%;
1218 }
1219 `))],T9);Tt([Jo({type:Boolean})],D9.prototype,"closable",void 0),D9=Tt([Wn("bc-connect")],D9);let DW,L9,LW,PW,OW,zW,v6=t=>t,hm=(L9=class extends(DW=Tr()(nr)){constructor(){super(),this.paymentMethods="all",this._showConnect=!1,Ht.subscribe((t,e)=>{t.connected!==e.connected&&t.connected&&(this._showConnect=!1)})}render(){return this._showConnect&&!this.paid?Et(LW||(LW=v6` <bc-connect ?closable=${0}></bc-connect>`),!0):Et(PW||(PW=v6`<div class="w-full flex-col justify-center items-center">
1220 <bc-modal-header class="flex w-full" ?closable=${0}>
1221 <p
1222 class="font-sans font-medium ${0}"
1223 >
1224 Payment Request
1225 </p>
1226 </bc-modal-header>
1227 <div class="flex flex-col justify-center items-center w-full pt-8">
1228 <bc-send-payment
1229 .invoice=${0}
1230 .paymentMethods=${0}
1231 ?paid=${0}
1232 @onclickconnectwallet=${0}
1233 ></bc-send-payment>
1234 </div>
1235 ${0}
1236 </div>`),this.closable,$n,this.invoice,this.paymentMethods,this.paid,this._onClickConnectWallet,this._error?Et(OW||(OW=v6`<p class="mt-4 text-center font-sans text-red-500">
1237 ${0}
1238 </p>`),this._error):null)}_onClickConnectWallet(){this._showConnect=!0}},L9.styles=[...DW.styles,lS(zW||(zW=v6`
1239 :host {
1240 display: flex;
1241 align-items: center;
1242 justify-content: center;
1243 width: 100%;
1244 }
1245 `))],L9);Tt([Jo({type:Boolean})],hm.prototype,"closable",void 0),Tt([Jo({type:String})],hm.prototype,"invoice",void 0),Tt([Jo({type:String,attribute:"payment-methods"})],hm.prototype,"paymentMethods",void 0),Tt([Jo({type:Boolean})],hm.prototype,"paid",void 0),Tt([Xn()],hm.prototype,"_showConnect",void 0),hm=Tt([Wn("bc-payment")],hm);const kTe={NostrWebLNProvider:koe.NostrWebLNProvider};var W1=Symbol("verified"),jTe=t=>t instanceof Object;function CTe(t){if(!jTe(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]!="string")return!1}return!0}new TextDecoder("utf-8");var STe=new TextEncoder,ETe=class{generateSecretKey(){return Ga.utils.randomPrivateKey()}getPublicKey(t){return Lr(Ga.getPublicKey(t))}finalizeEvent(t,e){const n=t;return n.pubkey=Lr(Ga.getPublicKey(e)),n.id=P9(n),n.sig=Lr(Ga.sign(P9(n),e)),n[W1]=!0,n}verifyEvent(t){if(typeof t[W1]=="boolean")return t[W1];const e=P9(t);if(e!==t.id)return t[W1]=!1,!1;try{const n=Ga.verify(t.sig,e,t.pubkey);return t[W1]=n,n}catch{return t[W1]=!1,!1}}};function NTe(t){if(!CTe(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function P9(t){let e=gl(STe.encode(NTe(t)));return Lr(e)}var uS=new ETe;uS.generateSecretKey;uS.getPublicKey;uS.finalizeEvent;uS.verifyEvent;function ITe(t){return[0,3].includes(t)||1e4<=t&&t<2e4}function ATe(t){return 3e4<=t&&t<4e4}var _Te;try{_Te=fetch}catch{}function MTe(t){let e={kind:9734,created_at:Math.round(Date.now()/1e3),content:t.comment||"",tags:[["p","pubkey"in t?t.pubkey:t.event.pubkey],["amount",t.amount.toString()],["relays",...t.relays]]};if("event"in t){if(e.tags.push(["e",t.event.id]),ITe(t.event.kind)){const n=["a",`${t.event.kind}:${t.event.pubkey}:`];e.tags.push(n)}else if(ATe(t.event.kind)){let n=t.event.tags.find(([o,s])=>o==="d"&&s);if(!n)throw new Error("d tag not found or is empty");const r=["a",`${t.event.kind}:${t.event.pubkey}:${n[1]}`];e.tags.push(r)}e.tags.push(["k",t.event.kind.toString()])}return e}var RTe=new TextDecoder("utf-8");new TextEncoder;const FW=[bC],x0=class x0{constructor(){je(this,"provider",null);je(this,"recentSupportersCache",null);je(this,"initialized",!1);return x0.instance||(x0.instance=this),x0.instance}initBitcoinConnect(){this.initialized||(this.initialized=!0,IRe({appName:"Smesh",showBalance:!1}))}async zap(e,n,r,o,s){if(!Oe.signer)throw new Error("You need to be logged in to zap");const{recipient:a,event:i}=typeof n=="string"?{recipient:n}:{recipient:n.pubkey,event:n},[l,u,d]=await Promise.all([Oe.fetchProfile(a),Oe.fetchRelayList(a),e?Oe.fetchRelayList(e):Promise.resolve({read:Oe.currentRelays,write:Oe.currentRelays})]);if(!l)throw new Error("Recipient not found");const f=await this.getZapEndpoint(l);if(!f)throw new Error("Recipient's lightning address is invalid");const{callback:m,lnurl:g}=f,w=r*1e3,b=MTe({...i?{event:i}:{pubkey:a},amount:w,relays:u.read.slice(0,4).concat(d.write.slice(0,3)).concat(Oe.currentRelays),comment:o}),j=await Oe.signer.signEvent(b),S=new URL(m);S.searchParams.append("amount",w.toString()),S.searchParams.append("nostr",JSON.stringify(j)),S.searchParams.append("lnurl",g);const N=await(await fetch(S.toString())).json();if(N.error)throw new Error(N.message);const{pr:M,verify:D,reason:P}=N;if(!M)throw new Error(P??"Failed to create invoice");if(this.provider){const{preimage:L}=await this.provider.sendPayment(M);return s==null||s(),{preimage:L,invoice:M}}return new Promise(L=>{s==null||s();let F,T;const{setPaid:R}=v8({invoice:M,onPaid:z=>{clearInterval(F),T==null||T.close(),L({preimage:z.preimage,invoice:M})},onCancelled:()=>{clearInterval(F),T==null||T.close(),L(null)}});if(D)F=setInterval(async()=>{const z=new KC({pr:M,verify:D});await z.verifyPayment()&&z.preimage&&R({preimage:z.preimage})},1e3);else{const z={kinds:[$e.Zap],"#p":[a],since:En().subtract(1,"minute").unix()};i&&(z["#e"]=[i.id]),T=Oe.subscribe(d.write.concat(Oe.currentRelays).slice(0,4),z,{onevent:G=>{const Z=Ok(G);Z&&Z.invoice===M&&R({preimage:Z.preimage??""})}})}})}async payInvoice(e,n){if(this.provider){const{preimage:r}=await this.provider.sendPayment(e);return n==null||n(),{preimage:r,invoice:e}}return new Promise(r=>{n==null||n(),v8({invoice:e,onPaid:o=>{r({preimage:o.preimage,invoice:e})},onCancelled:()=>{r(null)}})})}async fetchRecentSupporters(){if(this.recentSupportersCache)return this.recentSupportersCache;const e=await Oe.fetchRelayList(bC),n=await Oe.fetchEvents(e.read.slice(0,4),{kinds:[$e.Zap],"#p":FW,since:En().subtract(1,"month").unix()});n.sort((o,s)=>s.created_at-o.created_at);const r=new Map;return n.forEach(o=>{const s=Ok(o);if(!s||!s.senderPubkey||FW.includes(s.senderPubkey))return;const{amount:a,comment:i,senderPubkey:l}=s,u=r.get(l);u?(u.amount+=a,!u.comment&&i&&(u.comment=i)):r.set(l,{pubkey:l,amount:a,comment:i})}),this.recentSupportersCache=Array.from(r.values()).filter(o=>o.amount>=1e3).sort((o,s)=>s.amount-o.amount),this.recentSupportersCache}async getZapEndpoint(e){try{let n="";if(!e.lightningAddress)return console.warn("Profile has no lightning address",e),null;if(e.lightningAddress.includes("@")){const[s,a]=e.lightningAddress.split("@");n=new URL(`/.well-known/lnurlp/${s}`,`https://${a}`).toString()}else{const{words:s}=Pr.decode(e.lightningAddress,1e3),a=Pr.fromWords(s);n=RTe.decode(a)}const o=await(await fetch(n)).json();if(console.log("Zap endpoint:",o),o.allowsNostr!==!1&&o.callback)return{callback:o.callback,lnurl:n}}catch(n){console.error(n)}return null}};je(x0,"instance");let C8=x0;const Km=new C8;var w6={},O9={exports:{}},wi={},z9={exports:{}},F9={};/**
1246 * @license React
1247 * scheduler.production.min.js
1248 *
1249 * Copyright (c) Facebook, Inc. and its affiliates.
1250 *
1251 * This source code is licensed under the MIT license found in the
1252 * LICENSE file in the root directory of this source tree.
1253 */var BW;function TTe(){return BW||(BW=1,(function(t){function e(H,Y){var q=H.length;H.push(Y);e:for(;0<q;){var J=q-1>>>1,ne=H[J];if(0<o(ne,Y))H[J]=Y,H[q]=ne,q=J;else break e}}function n(H){return H.length===0?null:H[0]}function r(H){if(H.length===0)return null;var Y=H[0],q=H.pop();if(q!==Y){H[0]=q;e:for(var J=0,ne=H.length,re=ne>>>1;J<re;){var de=2*(J+1)-1,Ee=H[de],we=de+1,xe=H[we];if(0>o(Ee,q))we<ne&&0>o(xe,Ee)?(H[J]=xe,H[we]=q,J=we):(H[J]=Ee,H[de]=q,J=de);else if(we<ne&&0>o(xe,q))H[J]=xe,H[we]=q,J=we;else break e}}return Y}function o(H,Y){var q=H.sortIndex-Y.sortIndex;return q!==0?q:H.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,i=a.now();t.unstable_now=function(){return a.now()-i}}var l=[],u=[],d=1,f=null,m=3,g=!1,w=!1,b=!1,j=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function N(H){for(var Y=n(u);Y!==null;){if(Y.callback===null)r(u);else if(Y.startTime<=H)r(u),Y.sortIndex=Y.expirationTime,e(l,Y);else break;Y=n(u)}}function M(H){if(b=!1,N(H),!w)if(n(l)!==null)w=!0,ee(D);else{var Y=n(u);Y!==null&&$(M,Y.startTime-H)}}function D(H,Y){w=!1,b&&(b=!1,S(F),F=-1),g=!0;var q=m;try{for(N(Y),f=n(l);f!==null&&(!(f.expirationTime>Y)||H&&!z());){var J=f.callback;if(typeof J=="function"){f.callback=null,m=f.priorityLevel;var ne=J(f.expirationTime<=Y);Y=t.unstable_now(),typeof ne=="function"?f.callback=ne:f===n(l)&&r(l),N(Y)}else r(l);f=n(l)}if(f!==null)var re=!0;else{var de=n(u);de!==null&&$(M,de.startTime-Y),re=!1}return re}finally{f=null,m=q,g=!1}}var P=!1,L=null,F=-1,T=5,R=-1;function z(){return!(t.unstable_now()-R<T)}function G(){if(L!==null){var H=t.unstable_now();R=H;var Y=!0;try{Y=L(!0,H)}finally{Y?Z():(P=!1,L=null)}}else P=!1}var Z;if(typeof I=="function")Z=function(){I(G)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,U=W.port2;W.port1.onmessage=G,Z=function(){U.postMessage(null)}}else Z=function(){j(G,0)};function ee(H){L=H,P||(P=!0,Z())}function $(H,Y){F=j(function(){H(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(H){H.callback=null},t.unstable_continueExecution=function(){w||g||(w=!0,ee(D))},t.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<H?Math.floor(1e3/H):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return n(l)},t.unstable_next=function(H){switch(m){case 1:case 2:case 3:var Y=3;break;default:Y=m}var q=m;m=Y;try{return H()}finally{m=q}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(H,Y){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var q=m;m=H;try{return Y()}finally{m=q}},t.unstable_scheduleCallback=function(H,Y,q){var J=t.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?J+q:J):q=J,H){case 1:var ne=-1;break;case 2:ne=250;break;case 5:ne=1073741823;break;case 4:ne=1e4;break;default:ne=5e3}return ne=q+ne,H={id:d++,callback:Y,priorityLevel:H,startTime:q,expirationTime:ne,sortIndex:-1},q>J?(H.sortIndex=q,e(u,H),n(l)===null&&H===n(u)&&(b?(S(F),F=-1):b=!0,$(M,q-J))):(H.sortIndex=ne,e(l,H),w||g||(w=!0,ee(D))),H},t.unstable_shouldYield=z,t.unstable_wrapCallback=function(H){var Y=m;return function(){var q=m;m=Y;try{return H.apply(this,arguments)}finally{m=q}}}})(F9)),F9}var UW;function DTe(){return UW||(UW=1,z9.exports=TTe()),z9.exports}/**
1254 * @license React
1255 * react-dom.production.min.js
1256 *
1257 * Copyright (c) Facebook, Inc. and its affiliates.
1258 *
1259 * This source code is licensed under the MIT license found in the
1260 * LICENSE file in the root directory of this source tree.
1261 */var $W;function LTe(){if($W)return wi;$W=1;var t=OR(),e=DTe();function n(y){for(var k="https://reactjs.org/docs/error-decoder.html?invariant="+y,_=1;_<arguments.length;_++)k+="&args[]="+encodeURIComponent(arguments[_]);return"Minified React error #"+y+"; visit "+k+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,o={};function s(y,k){a(y,k),a(y+"Capture",k)}function a(y,k){for(o[y]=k,y=0;y<k.length;y++)r.add(k[y])}var i=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),l=Object.prototype.hasOwnProperty,u=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,d={},f={};function m(y){return l.call(f,y)?!0:l.call(d,y)?!1:u.test(y)?f[y]=!0:(d[y]=!0,!1)}function g(y,k,_,B){if(_!==null&&_.type===0)return!1;switch(typeof k){case"function":case"symbol":return!0;case"boolean":return B?!1:_!==null?!_.acceptsBooleans:(y=y.toLowerCase().slice(0,5),y!=="data-"&&y!=="aria-");default:return!1}}function w(y,k,_,B){if(k===null||typeof k>"u"||g(y,k,_,B))return!0;if(B)return!1;if(_!==null)switch(_.type){case 3:return!k;case 4:return k===!1;case 5:return isNaN(k);case 6:return isNaN(k)||1>k}return!1}function b(y,k,_,B,te,oe,ge){this.acceptsBooleans=k===2||k===3||k===4,this.attributeName=B,this.attributeNamespace=te,this.mustUseProperty=_,this.propertyName=y,this.type=k,this.sanitizeURL=oe,this.removeEmptyString=ge}var j={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(y){j[y]=new b(y,0,!1,y,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(y){var k=y[0];j[k]=new b(k,1,!1,y[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(y){j[y]=new b(y,2,!1,y.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(y){j[y]=new b(y,2,!1,y,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(y){j[y]=new b(y,3,!1,y.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(y){j[y]=new b(y,3,!0,y,null,!1,!1)}),["capture","download"].forEach(function(y){j[y]=new b(y,4,!1,y,null,!1,!1)}),["cols","rows","size","span"].forEach(function(y){j[y]=new b(y,6,!1,y,null,!1,!1)}),["rowSpan","start"].forEach(function(y){j[y]=new b(y,5,!1,y.toLowerCase(),null,!1,!1)});var S=/[\-:]([a-z])/g;function I(y){return y[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(y){var k=y.replace(S,I);j[k]=new b(k,1,!1,y,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(y){var k=y.replace(S,I);j[k]=new b(k,1,!1,y,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(y){var k=y.replace(S,I);j[k]=new b(k,1,!1,y,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(y){j[y]=new b(y,1,!1,y.toLowerCase(),null,!1,!1)}),j.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(y){j[y]=new b(y,1,!1,y.toLowerCase(),null,!0,!0)});function N(y,k,_,B){var te=j.hasOwnProperty(k)?j[k]:null;(te!==null?te.type!==0:B||!(2<k.length)||k[0]!=="o"&&k[0]!=="O"||k[1]!=="n"&&k[1]!=="N")&&(w(k,_,te,B)&&(_=null),B||te===null?m(k)&&(_===null?y.removeAttribute(k):y.setAttribute(k,""+_)):te.mustUseProperty?y[te.propertyName]=_===null?te.type===3?!1:"":_:(k=te.attributeName,B=te.attributeNamespace,_===null?y.removeAttribute(k):(te=te.type,_=te===3||te===4&&_===!0?"":""+_,B?y.setAttributeNS(B,k,_):y.setAttribute(k,_))))}var M=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,D=Symbol.for("react.element"),P=Symbol.for("react.portal"),L=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),z=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),Z=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),U=Symbol.for("react.memo"),ee=Symbol.for("react.lazy"),$=Symbol.for("react.offscreen"),H=Symbol.iterator;function Y(y){return y===null||typeof y!="object"?null:(y=H&&y[H]||y["@@iterator"],typeof y=="function"?y:null)}var q=Object.assign,J;function ne(y){if(J===void 0)try{throw Error()}catch(_){var k=_.stack.trim().match(/\n( *(at )?)/);J=k&&k[1]||""}return`
1262 `+J+y}var re=!1;function de(y,k){if(!y||re)return"";re=!0;var _=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(k)if(k=function(){throw Error()},Object.defineProperty(k.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(k,[])}catch(ft){var B=ft}Reflect.construct(y,[],k)}else{try{k.call()}catch(ft){B=ft}y.call(k.prototype)}else{try{throw Error()}catch(ft){B=ft}y()}}catch(ft){if(ft&&B&&typeof ft.stack=="string"){for(var te=ft.stack.split(`
1263 `),oe=B.stack.split(`
1264 `),ge=te.length-1,Fe=oe.length-1;1<=ge&&0<=Fe&&te[ge]!==oe[Fe];)Fe--;for(;1<=ge&&0<=Fe;ge--,Fe--)if(te[ge]!==oe[Fe]){if(ge!==1||Fe!==1)do if(ge--,Fe--,0>Fe||te[ge]!==oe[Fe]){var Ye=`
1265 `+te[ge].replace(" at new "," at ");return y.displayName&&Ye.includes("<anonymous>")&&(Ye=Ye.replace("<anonymous>",y.displayName)),Ye}while(1<=ge&&0<=Fe);break}}}finally{re=!1,Error.prepareStackTrace=_}return(y=y?y.displayName||y.name:"")?ne(y):""}function Ee(y){switch(y.tag){case 5:return ne(y.type);case 16:return ne("Lazy");case 13:return ne("Suspense");case 19:return ne("SuspenseList");case 0:case 2:case 15:return y=de(y.type,!1),y;case 11:return y=de(y.type.render,!1),y;case 1:return y=de(y.type,!0),y;default:return""}}function we(y){if(y==null)return null;if(typeof y=="function")return y.displayName||y.name||null;if(typeof y=="string")return y;switch(y){case L:return"Fragment";case P:return"Portal";case T:return"Profiler";case F:return"StrictMode";case Z:return"Suspense";case W:return"SuspenseList"}if(typeof y=="object")switch(y.$$typeof){case z:return(y.displayName||"Context")+".Consumer";case R:return(y._context.displayName||"Context")+".Provider";case G:var k=y.render;return y=y.displayName,y||(y=k.displayName||k.name||"",y=y!==""?"ForwardRef("+y+")":"ForwardRef"),y;case U:return k=y.displayName||null,k!==null?k:we(y.type)||"Memo";case ee:k=y._payload,y=y._init;try{return we(y(k))}catch{}}return null}function xe(y){var k=y.type;switch(y.tag){case 24:return"Cache";case 9:return(k.displayName||"Context")+".Consumer";case 10:return(k._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return y=k.render,y=y.displayName||y.name||"",k.displayName||(y!==""?"ForwardRef("+y+")":"ForwardRef");case 7:return"Fragment";case 5:return k;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return we(k);case 8:return k===F?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof k=="function")return k.displayName||k.name||null;if(typeof k=="string")return k}return null}function ce(y){switch(typeof y){case"boolean":case"number":case"string":case"undefined":return y;case"object":return y;default:return""}}function pe(y){var k=y.type;return(y=y.nodeName)&&y.toLowerCase()==="input"&&(k==="checkbox"||k==="radio")}function he(y){var k=pe(y)?"checked":"value",_=Object.getOwnPropertyDescriptor(y.constructor.prototype,k),B=""+y[k];if(!y.hasOwnProperty(k)&&typeof _<"u"&&typeof _.get=="function"&&typeof _.set=="function"){var te=_.get,oe=_.set;return Object.defineProperty(y,k,{configurable:!0,get:function(){return te.call(this)},set:function(ge){B=""+ge,oe.call(this,ge)}}),Object.defineProperty(y,k,{enumerable:_.enumerable}),{getValue:function(){return B},setValue:function(ge){B=""+ge},stopTracking:function(){y._valueTracker=null,delete y[k]}}}}function ke(y){y._valueTracker||(y._valueTracker=he(y))}function le(y){if(!y)return!1;var k=y._valueTracker;if(!k)return!0;var _=k.getValue(),B="";return y&&(B=pe(y)?y.checked?"true":"false":y.value),y=B,y!==_?(k.setValue(y),!0):!1}function ye(y){if(y=y||(typeof document<"u"?document:void 0),typeof y>"u")return null;try{return y.activeElement||y.body}catch{return y.body}}function ve(y,k){var _=k.checked;return q({},k,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:_??y._wrapperState.initialChecked})}function Ie(y,k){var _=k.defaultValue==null?"":k.defaultValue,B=k.checked!=null?k.checked:k.defaultChecked;_=ce(k.value!=null?k.value:_),y._wrapperState={initialChecked:B,initialValue:_,controlled:k.type==="checkbox"||k.type==="radio"?k.checked!=null:k.value!=null}}function Ve(y,k){k=k.checked,k!=null&&N(y,"checked",k,!1)}function Qe(y,k){Ve(y,k);var _=ce(k.value),B=k.type;if(_!=null)B==="number"?(_===0&&y.value===""||y.value!=_)&&(y.value=""+_):y.value!==""+_&&(y.value=""+_);else if(B==="submit"||B==="reset"){y.removeAttribute("value");return}k.hasOwnProperty("value")?Ue(y,k.type,_):k.hasOwnProperty("defaultValue")&&Ue(y,k.type,ce(k.defaultValue)),k.checked==null&&k.defaultChecked!=null&&(y.defaultChecked=!!k.defaultChecked)}function nt(y,k,_){if(k.hasOwnProperty("value")||k.hasOwnProperty("defaultValue")){var B=k.type;if(!(B!=="submit"&&B!=="reset"||k.value!==void 0&&k.value!==null))return;k=""+y._wrapperState.initialValue,_||k===y.value||(y.value=k),y.defaultValue=k}_=y.name,_!==""&&(y.name=""),y.defaultChecked=!!y._wrapperState.initialChecked,_!==""&&(y.name=_)}function Ue(y,k,_){(k!=="number"||ye(y.ownerDocument)!==y)&&(_==null?y.defaultValue=""+y._wrapperState.initialValue:y.defaultValue!==""+_&&(y.defaultValue=""+_))}var qe=Array.isArray;function _e(y,k,_,B){if(y=y.options,k){k={};for(var te=0;te<_.length;te++)k["$"+_[te]]=!0;for(_=0;_<y.length;_++)te=k.hasOwnProperty("$"+y[_].value),y[_].selected!==te&&(y[_].selected=te),te&&B&&(y[_].defaultSelected=!0)}else{for(_=""+ce(_),k=null,te=0;te<y.length;te++){if(y[te].value===_){y[te].selected=!0,B&&(y[te].defaultSelected=!0);return}k!==null||y[te].disabled||(k=y[te])}k!==null&&(k.selected=!0)}}function et(y,k){if(k.dangerouslySetInnerHTML!=null)throw Error(n(91));return q({},k,{value:void 0,defaultValue:void 0,children:""+y._wrapperState.initialValue})}function pt(y,k){var _=k.value;if(_==null){if(_=k.children,k=k.defaultValue,_!=null){if(k!=null)throw Error(n(92));if(qe(_)){if(1<_.length)throw Error(n(93));_=_[0]}k=_}k==null&&(k=""),_=k}y._wrapperState={initialValue:ce(_)}}function ht(y,k){var _=ce(k.value),B=ce(k.defaultValue);_!=null&&(_=""+_,_!==y.value&&(y.value=_),k.defaultValue==null&&y.defaultValue!==_&&(y.defaultValue=_)),B!=null&&(y.defaultValue=""+B)}function at(y){var k=y.textContent;k===y._wrapperState.initialValue&&k!==""&&k!==null&&(y.value=k)}function De(y){switch(y){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(y,k){return y==null||y==="http://www.w3.org/1999/xhtml"?De(k):y==="http://www.w3.org/2000/svg"&&k==="foreignObject"?"http://www.w3.org/1999/xhtml":y}var K,Q=(function(y){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(k,_,B,te){MSApp.execUnsafeLocalFunction(function(){return y(k,_,B,te)})}:y})(function(y,k){if(y.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in y)y.innerHTML=k;else{for(K=K||document.createElement("div"),K.innerHTML="<svg>"+k.valueOf().toString()+"</svg>",k=K.firstChild;y.firstChild;)y.removeChild(y.firstChild);for(;k.firstChild;)y.appendChild(k.firstChild)}});function ie(y,k){if(k){var _=y.firstChild;if(_&&_===y.lastChild&&_.nodeType===3){_.nodeValue=k;return}}y.textContent=k}var Se={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Me=["Webkit","ms","Moz","O"];Object.keys(Se).forEach(function(y){Me.forEach(function(k){k=k+y.charAt(0).toUpperCase()+y.substring(1),Se[k]=Se[y]})});function Ce(y,k,_){return k==null||typeof k=="boolean"||k===""?"":_||typeof k!="number"||k===0||Se.hasOwnProperty(y)&&Se[y]?(""+k).trim():k+"px"}function me(y,k){y=y.style;for(var _ in k)if(k.hasOwnProperty(_)){var B=_.indexOf("--")===0,te=Ce(_,k[_],B);_==="float"&&(_="cssFloat"),B?y.setProperty(_,te):y[_]=te}}var We=q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Xe(y,k){if(k){if(We[y]&&(k.children!=null||k.dangerouslySetInnerHTML!=null))throw Error(n(137,y));if(k.dangerouslySetInnerHTML!=null){if(k.children!=null)throw Error(n(60));if(typeof k.dangerouslySetInnerHTML!="object"||!("__html"in k.dangerouslySetInnerHTML))throw Error(n(61))}if(k.style!=null&&typeof k.style!="object")throw Error(n(62))}}function Re(y,k){if(y.indexOf("-")===-1)return typeof k.is=="string";switch(y){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ze=null;function rt(y){return y=y.target||y.srcElement||window,y.correspondingUseElement&&(y=y.correspondingUseElement),y.nodeType===3?y.parentNode:y}var vt=null,mt=null,Ot=null;function qt(y){if(y=zv(y)){if(typeof vt!="function")throw Error(n(280));var k=y.stateNode;k&&(k=d4(k),vt(y.stateNode,y.type,k))}}function kt(y){mt?Ot?Ot.push(y):Ot=[y]:mt=y}function Ct(){if(mt){var y=mt,k=Ot;if(Ot=mt=null,qt(y),k)for(y=0;y<k.length;y++)qt(k[y])}}function Pt(y,k){return y(k)}function yt(){}var $t=!1;function bt(y,k,_){if($t)return y(k,_);$t=!0;try{return Pt(y,k,_)}finally{$t=!1,(mt!==null||Ot!==null)&&(yt(),Ct())}}function Bt(y,k){var _=y.stateNode;if(_===null)return null;var B=d4(_);if(B===null)return null;_=B[k];e:switch(k){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(B=!B.disabled)||(y=y.type,B=!(y==="button"||y==="input"||y==="select"||y==="textarea")),y=!B;break e;default:y=!1}if(y)return null;if(_&&typeof _!="function")throw Error(n(231,k,typeof _));return _}var Yn=!1;if(i)try{var mn={};Object.defineProperty(mn,"passive",{get:function(){Yn=!0}}),window.addEventListener("test",mn,mn),window.removeEventListener("test",mn,mn)}catch{Yn=!1}function tn(y,k,_,B,te,oe,ge,Fe,Ye){var ft=Array.prototype.slice.call(arguments,3);try{k.apply(_,ft)}catch(It){this.onError(It)}}var Cr=!1,Vr=null,Or=!1,Zt=null,bl={onError:function(y){Cr=!0,Vr=y}};function yv(y,k,_,B,te,oe,ge,Fe,Ye){Cr=!1,Vr=null,tn.apply(bl,arguments)}function fa(y,k,_,B,te,oe,ge,Fe,Ye){if(yv.apply(this,arguments),Cr){if(Cr){var ft=Vr;Cr=!1,Vr=null}else throw Error(n(198));Or||(Or=!0,Zt=ft)}}function fi(y){var k=y,_=y;if(y.alternate)for(;k.return;)k=k.return;else{y=k;do k=y,(k.flags&4098)!==0&&(_=k.return),y=k.return;while(y)}return k.tag===3?_:null}function Uh(y){if(y.tag===13){var k=y.memoizedState;if(k===null&&(y=y.alternate,y!==null&&(k=y.memoizedState)),k!==null)return k.dehydrated}return null}function $h(y){if(fi(y)!==y)throw Error(n(188))}function xl(y){var k=y.alternate;if(!k){if(k=fi(y),k===null)throw Error(n(188));return k!==y?null:y}for(var _=y,B=k;;){var te=_.return;if(te===null)break;var oe=te.alternate;if(oe===null){if(B=te.return,B!==null){_=B;continue}break}if(te.child===oe.child){for(oe=te.child;oe;){if(oe===_)return $h(te),y;if(oe===B)return $h(te),k;oe=oe.sibling}throw Error(n(188))}if(_.return!==B.return)_=te,B=oe;else{for(var ge=!1,Fe=te.child;Fe;){if(Fe===_){ge=!0,_=te,B=oe;break}if(Fe===B){ge=!0,B=te,_=oe;break}Fe=Fe.sibling}if(!ge){for(Fe=oe.child;Fe;){if(Fe===_){ge=!0,_=oe,B=te;break}if(Fe===B){ge=!0,B=oe,_=te;break}Fe=Fe.sibling}if(!ge)throw Error(n(189))}}if(_.alternate!==B)throw Error(n(190))}if(_.tag!==3)throw Error(n(188));return _.stateNode.current===_?y:k}function Wx(y){return y=xl(y),y!==null?Yx(y):null}function Yx(y){if(y.tag===5||y.tag===6)return y;for(y=y.child;y!==null;){var k=Yx(y);if(k!==null)return k;y=y.sibling}return null}var Oi=e.unstable_scheduleCallback,ws=e.unstable_cancelCallback,Hr=e.unstable_shouldYield,Gx=e.unstable_requestPaint,Ir=e.unstable_now,vv=e.unstable_getCurrentPriorityLevel,jt=e.unstable_ImmediatePriority,qx=e.unstable_UserBlockingPriority,zr=e.unstable_NormalPriority,Nd=e.unstable_LowPriority,Kx=e.unstable_IdlePriority,ar=null,On=null;function Jn(y){if(On&&typeof On.onCommitFiberRoot=="function")try{On.onCommitFiberRoot(ar,y,void 0,(y.current.flags&128)===128)}catch{}}var Ua=Math.clz32?Math.clz32:Lo,wv=Math.log,bv=Math.LN2;function Lo(y){return y>>>=0,y===0?32:31-(wv(y)/bv|0)|0}var zi=64,c1=4194304;function Fr(y){switch(y&-y){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return y&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return y}}function Fi(y,k){var _=y.pendingLanes;if(_===0)return 0;var B=0,te=y.suspendedLanes,oe=y.pingedLanes,ge=_&268435455;if(ge!==0){var Fe=ge&~te;Fe!==0?B=Fr(Fe):(oe&=ge,oe!==0&&(B=Fr(oe)))}else ge=_&~te,ge!==0?B=Fr(ge):oe!==0&&(B=Fr(oe));if(B===0)return 0;if(k!==0&&k!==B&&(k&te)===0&&(te=B&-B,oe=k&-k,te>=oe||te===16&&(oe&4194240)!==0))return k;if((B&4)!==0&&(B|=_&16),k=y.entangledLanes,k!==0)for(y=y.entanglements,k&=B;0<k;)_=31-Ua(k),te=1<<_,B|=y[_],k&=~te;return B}function QE(y,k){switch(y){case 1:case 2:case 4:return k+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return k+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Id(y,k){for(var _=y.suspendedLanes,B=y.pingedLanes,te=y.expirationTimes,oe=y.pendingLanes;0<oe;){var ge=31-Ua(oe),Fe=1<<ge,Ye=te[ge];Ye===-1?((Fe&_)===0||(Fe&B)!==0)&&(te[ge]=QE(Fe,k)):Ye<=k&&(y.expiredLanes|=Fe),oe&=~Fe}}function Ar(y){return y=y.pendingLanes&-1073741825,y!==0?y:y&1073741824?1073741824:0}function rs(){var y=zi;return zi<<=1,(zi&4194240)===0&&(zi=64),y}function ot(y){for(var k=[],_=0;31>_;_++)k.push(y);return k}function Ne(y,k,_){y.pendingLanes|=k,k!==536870912&&(y.suspendedLanes=0,y.pingedLanes=0),y=y.eventTimes,k=31-Ua(k),y[k]=_}function pn(y,k){var _=y.pendingLanes&~k;y.pendingLanes=k,y.suspendedLanes=0,y.pingedLanes=0,y.expiredLanes&=k,y.mutableReadLanes&=k,y.entangledLanes&=k,k=y.entanglements;var B=y.eventTimes;for(y=y.expirationTimes;0<_;){var te=31-Ua(_),oe=1<<te;k[te]=0,B[te]=-1,y[te]=-1,_&=~oe}}function Eo(y,k){var _=y.entangledLanes|=k;for(y=y.entanglements;_;){var B=31-Ua(_),te=1<<B;te&k|y[B]&k&&(y[B]|=k),_&=~te}}var zn=0;function Zx(y){return y&=-y,1<y?4<y?(y&268435455)!==0?16:536870912:4:1}var u1,da,hn,Wr,xv,kv=!1,Ad=[],Bi=null,kl=null,hu=null,co=new Map,gc=new Map,Vs=[],xn="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Qx(y,k){switch(y){case"focusin":case"focusout":Bi=null;break;case"dragenter":case"dragleave":kl=null;break;case"mouseover":case"mouseout":hu=null;break;case"pointerover":case"pointerout":co.delete(k.pointerId);break;case"gotpointercapture":case"lostpointercapture":gc.delete(k.pointerId)}}function _n(y,k,_,B,te,oe){return y===null||y.nativeEvent!==oe?(y={blockedOn:k,domEventName:_,eventSystemFlags:B,nativeEvent:oe,targetContainers:[te]},k!==null&&(k=zv(k),k!==null&&da(k)),y):(y.eventSystemFlags|=B,k=y.targetContainers,te!==null&&k.indexOf(te)===-1&&k.push(te),y)}function ss(y,k,_,B,te){switch(k){case"focusin":return Bi=_n(Bi,y,k,_,B,te),!0;case"dragenter":return kl=_n(kl,y,k,_,B,te),!0;case"mouseover":return hu=_n(hu,y,k,_,B,te),!0;case"pointerover":var oe=te.pointerId;return co.set(oe,_n(co.get(oe)||null,y,k,_,B,te)),!0;case"gotpointercapture":return oe=te.pointerId,gc.set(oe,_n(gc.get(oe)||null,y,k,_,B,te)),!0}return!1}function Jx(y){var k=Jh(y.target);if(k!==null){var _=fi(k);if(_!==null){if(k=_.tag,k===13){if(k=Uh(_),k!==null){y.blockedOn=k,xv(y.priority,function(){hn(_)});return}}else if(k===3&&_.stateNode.current.memoizedState.isDehydrated){y.blockedOn=_.tag===3?_.stateNode.containerInfo:null;return}}}y.blockedOn=null}function _d(y){if(y.blockedOn!==null)return!1;for(var k=y.targetContainers;0<k.length;){var _=f1(y.domEventName,y.eventSystemFlags,k[0],y.nativeEvent);if(_===null){_=y.nativeEvent;var B=new _.constructor(_.type,_);ze=B,_.target.dispatchEvent(B),ze=null}else return k=zv(_),k!==null&&da(k),y.blockedOn=_,!1;k.shift()}return!0}function jv(y,k,_){_d(y)&&_.delete(k)}function Cf(){kv=!1,Bi!==null&&_d(Bi)&&(Bi=null),kl!==null&&_d(kl)&&(kl=null),hu!==null&&_d(hu)&&(hu=null),co.forEach(jv),gc.forEach(jv)}function Vh(y,k){y.blockedOn===k&&(y.blockedOn=null,kv||(kv=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,Cf)))}function yc(y){function k(te){return Vh(te,y)}if(0<Ad.length){Vh(Ad[0],y);for(var _=1;_<Ad.length;_++){var B=Ad[_];B.blockedOn===y&&(B.blockedOn=null)}}for(Bi!==null&&Vh(Bi,y),kl!==null&&Vh(kl,y),hu!==null&&Vh(hu,y),co.forEach(k),gc.forEach(k),_=0;_<Vs.length;_++)B=Vs[_],B.blockedOn===y&&(B.blockedOn=null);for(;0<Vs.length&&(_=Vs[0],_.blockedOn===null);)Jx(_),_.blockedOn===null&&Vs.shift()}var jl=M.ReactCurrentBatchConfig,mu=!0;function Xx(y,k,_,B){var te=zn,oe=jl.transition;jl.transition=null;try{zn=1,Sf(y,k,_,B)}finally{zn=te,jl.transition=oe}}function Hh(y,k,_,B){var te=zn,oe=jl.transition;jl.transition=null;try{zn=4,Sf(y,k,_,B)}finally{zn=te,jl.transition=oe}}function Sf(y,k,_,B){if(mu){var te=f1(y,k,_,B);if(te===null)iN(y,k,B,as,_),Qx(y,B);else if(ss(te,y,k,_,B))B.stopPropagation();else if(Qx(y,B),k&4&&-1<xn.indexOf(y)){for(;te!==null;){var oe=zv(te);if(oe!==null&&u1(oe),oe=f1(y,k,_,B),oe===null&&iN(y,k,B,as,_),oe===te)break;te=oe}te!==null&&B.stopPropagation()}else iN(y,k,B,null,_)}}var as=null;function f1(y,k,_,B){if(as=null,y=rt(B),y=Jh(y),y!==null)if(k=fi(y),k===null)y=null;else if(_=k.tag,_===13){if(y=Uh(k),y!==null)return y;y=null}else if(_===3){if(k.stateNode.current.memoizedState.isDehydrated)return k.tag===3?k.stateNode.containerInfo:null;y=null}else k!==y&&(y=null);return as=y,null}function Cv(y){switch(y){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(vv()){case jt:return 1;case qx:return 4;case zr:case Nd:return 16;case Kx:return 536870912;default:return 16}default:return 16}}var vc=null,Sv=null,d1=null;function e4(){if(d1)return d1;var y,k=Sv,_=k.length,B,te="value"in vc?vc.value:vc.textContent,oe=te.length;for(y=0;y<_&&k[y]===te[y];y++);var ge=_-y;for(B=1;B<=ge&&k[_-B]===te[oe-B];B++);return d1=te.slice(y,1<B?1-B:void 0)}function hr(y){var k=y.keyCode;return"charCode"in y?(y=y.charCode,y===0&&k===13&&(y=13)):y=k,y===10&&(y=13),32<=y||y===13?y:0}function Wh(){return!0}function Yh(){return!1}function No(y){function k(_,B,te,oe,ge){this._reactName=_,this._targetInst=te,this.type=B,this.nativeEvent=oe,this.target=ge,this.currentTarget=null;for(var Fe in y)y.hasOwnProperty(Fe)&&(_=y[Fe],this[Fe]=_?_(oe):oe[Fe]);return this.isDefaultPrevented=(oe.defaultPrevented!=null?oe.defaultPrevented:oe.returnValue===!1)?Wh:Yh,this.isPropagationStopped=Yh,this}return q(k.prototype,{preventDefault:function(){this.defaultPrevented=!0;var _=this.nativeEvent;_&&(_.preventDefault?_.preventDefault():typeof _.returnValue!="unknown"&&(_.returnValue=!1),this.isDefaultPrevented=Wh)},stopPropagation:function(){var _=this.nativeEvent;_&&(_.stopPropagation?_.stopPropagation():typeof _.cancelBubble!="unknown"&&(_.cancelBubble=!0),this.isPropagationStopped=Wh)},persist:function(){},isPersistent:Wh}),k}var Md={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(y){return y.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ut=No(Md),Rn=q({},Md,{view:0,detail:0}),is=No(Rn),Rd,p1,Gh,h1=q({},Rn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qh,button:0,buttons:0,relatedTarget:function(y){return y.relatedTarget===void 0?y.fromElement===y.srcElement?y.toElement:y.fromElement:y.relatedTarget},movementX:function(y){return"movementX"in y?y.movementX:(y!==Gh&&(Gh&&y.type==="mousemove"?(Rd=y.screenX-Gh.screenX,p1=y.screenY-Gh.screenY):p1=Rd=0,Gh=y),Rd)},movementY:function(y){return"movementY"in y?y.movementY:p1}}),t4=No(h1),Ev=q({},h1,{dataTransfer:0}),Po=No(Ev),Nv=q({},Rn,{relatedTarget:0}),Yr=No(Nv),m1=q({},Md,{animationName:0,elapsedTime:0,pseudoElement:0}),Ef=No(m1),Mr=q({},Md,{clipboardData:function(y){return"clipboardData"in y?y.clipboardData:window.clipboardData}}),yn=No(Mr),JE=q({},Md,{data:0}),Dr=No(JE),Nf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Td={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},XE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Cl(y){var k=this.nativeEvent;return k.getModifierState?k.getModifierState(y):(y=XE[y])?!!k[y]:!1}function qh(){return Cl}var n4=q({},Rn,{key:function(y){if(y.key){var k=Nf[y.key]||y.key;if(k!=="Unidentified")return k}return y.type==="keypress"?(y=hr(y),y===13?"Enter":String.fromCharCode(y)):y.type==="keydown"||y.type==="keyup"?Td[y.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qh,charCode:function(y){return y.type==="keypress"?hr(y):0},keyCode:function(y){return y.type==="keydown"||y.type==="keyup"?y.keyCode:0},which:function(y){return y.type==="keypress"?hr(y):y.type==="keydown"||y.type==="keyup"?y.keyCode:0}}),Iv=No(n4),r4=q({},h1,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Av=No(r4),eN=q({},Rn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qh}),Dd=No(eN),_v=q({},Md,{propertyName:0,elapsedTime:0,pseudoElement:0}),tN=No(_v),Kh=q({},h1,{deltaX:function(y){return"deltaX"in y?y.deltaX:"wheelDeltaX"in y?-y.wheelDeltaX:0},deltaY:function(y){return"deltaY"in y?y.deltaY:"wheelDeltaY"in y?-y.wheelDeltaY:"wheelDelta"in y?-y.wheelDelta:0},deltaZ:0,deltaMode:0}),nN=No(Kh),gu=[9,13,27,32],Ld=i&&"CompositionEvent"in window,bs=null;i&&"documentMode"in document&&(bs=document.documentMode);var o4=i&&"TextEvent"in window&&!bs,Ui=i&&(!Ld||bs&&8<bs&&11>=bs),s4=" ",g1=!1;function a4(y,k){switch(y){case"keyup":return gu.indexOf(k.keyCode)!==-1;case"keydown":return k.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Mv(y){return y=y.detail,typeof y=="object"&&"data"in y?y.data:null}var Hs=!1;function rN(y,k){switch(y){case"compositionend":return Mv(k);case"keypress":return k.which!==32?null:(g1=!0,s4);case"textInput":return y=k.data,y===s4&&g1?null:y;default:return null}}function Rv(y,k){if(Hs)return y==="compositionend"||!Ld&&a4(y,k)?(y=e4(),d1=Sv=vc=null,Hs=!1,y):null;switch(y){case"paste":return null;case"keypress":if(!(k.ctrlKey||k.altKey||k.metaKey)||k.ctrlKey&&k.altKey){if(k.char&&1<k.char.length)return k.char;if(k.which)return String.fromCharCode(k.which)}return null;case"compositionend":return Ui&&k.locale!=="ko"?null:k.data;default:return null}}var Zh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tr(y){var k=y&&y.nodeName&&y.nodeName.toLowerCase();return k==="input"?!!Zh[y.type]:k==="textarea"}function Qh(y,k,_,B){kt(B),k=c4(k,"onChange"),0<k.length&&(_=new ut("onChange","change",null,_,B),y.push({event:_,listeners:k}))}var ue=null,p=null;function v(y){BO(y,0)}function x(y){var k=w1(y);if(le(k))return y}function C(y,k){if(y==="change")return k}var E=!1;if(i){var A;if(i){var O="oninput"in document;if(!O){var V=document.createElement("div");V.setAttribute("oninput","return;"),O=typeof V.oninput=="function"}A=O}else A=!1;E=A&&(!document.documentMode||9<document.documentMode)}function X(){ue&&(ue.detachEvent("onpropertychange",ae),p=ue=null)}function ae(y){if(y.propertyName==="value"&&x(p)){var k=[];Qh(k,p,y,rt(y)),bt(v,k)}}function fe(y,k,_){y==="focusin"?(X(),ue=k,p=_,ue.attachEvent("onpropertychange",ae)):y==="focusout"&&X()}function be(y){if(y==="selectionchange"||y==="keyup"||y==="keydown")return x(p)}function Ae(y,k){if(y==="click")return x(k)}function He(y,k){if(y==="input"||y==="change")return x(k)}function Ge(y,k){return y===k&&(y!==0||1/y===1/k)||y!==y&&k!==k}var tt=typeof Object.is=="function"?Object.is:Ge;function ct(y,k){if(tt(y,k))return!0;if(typeof y!="object"||y===null||typeof k!="object"||k===null)return!1;var _=Object.keys(y),B=Object.keys(k);if(_.length!==B.length)return!1;for(B=0;B<_.length;B++){var te=_[B];if(!l.call(k,te)||!tt(y[te],k[te]))return!1}return!0}function Dt(y){for(;y&&y.firstChild;)y=y.firstChild;return y}function zt(y,k){var _=Dt(y);y=0;for(var B;_;){if(_.nodeType===3){if(B=y+_.textContent.length,y<=k&&B>=k)return{node:_,offset:k-y};y=B}e:{for(;_;){if(_.nextSibling){_=_.nextSibling;break e}_=_.parentNode}_=void 0}_=Dt(_)}}function Nt(y,k){return y&&k?y===k?!0:y&&y.nodeType===3?!1:k&&k.nodeType===3?Nt(y,k.parentNode):"contains"in y?y.contains(k):y.compareDocumentPosition?!!(y.compareDocumentPosition(k)&16):!1:!1}function Gn(){for(var y=window,k=ye();k instanceof y.HTMLIFrameElement;){try{var _=typeof k.contentWindow.location.href=="string"}catch{_=!1}if(_)y=k.contentWindow;else break;k=ye(y.document)}return k}function Mn(y){var k=y&&y.nodeName&&y.nodeName.toLowerCase();return k&&(k==="input"&&(y.type==="text"||y.type==="search"||y.type==="tel"||y.type==="url"||y.type==="password")||k==="textarea"||y.contentEditable==="true")}function pa(y){var k=Gn(),_=y.focusedElem,B=y.selectionRange;if(k!==_&&_&&_.ownerDocument&&Nt(_.ownerDocument.documentElement,_)){if(B!==null&&Mn(_)){if(k=B.start,y=B.end,y===void 0&&(y=k),"selectionStart"in _)_.selectionStart=k,_.selectionEnd=Math.min(y,_.value.length);else if(y=(k=_.ownerDocument||document)&&k.defaultView||window,y.getSelection){y=y.getSelection();var te=_.textContent.length,oe=Math.min(B.start,te);B=B.end===void 0?oe:Math.min(B.end,te),!y.extend&&oe>B&&(te=B,B=oe,oe=te),te=zt(_,oe);var ge=zt(_,B);te&&ge&&(y.rangeCount!==1||y.anchorNode!==te.node||y.anchorOffset!==te.offset||y.focusNode!==ge.node||y.focusOffset!==ge.offset)&&(k=k.createRange(),k.setStart(te.node,te.offset),y.removeAllRanges(),oe>B?(y.addRange(k),y.extend(ge.node,ge.offset)):(k.setEnd(ge.node,ge.offset),y.addRange(k)))}}for(k=[],y=_;y=y.parentNode;)y.nodeType===1&&k.push({element:y,left:y.scrollLeft,top:y.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_<k.length;_++)y=k[_],y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}var $i=i&&"documentMode"in document&&11>=document.documentMode,Oo=null,Sr=null,yo=null,Ws=!1;function If(y,k,_){var B=_.window===_?_.document:_.nodeType===9?_:_.ownerDocument;Ws||Oo==null||Oo!==ye(B)||(B=Oo,"selectionStart"in B&&Mn(B)?B={start:B.selectionStart,end:B.selectionEnd}:(B=(B.ownerDocument&&B.ownerDocument.defaultView||window).getSelection(),B={anchorNode:B.anchorNode,anchorOffset:B.anchorOffset,focusNode:B.focusNode,focusOffset:B.focusOffset}),yo&&ct(yo,B)||(yo=B,B=c4(Sr,"onSelect"),0<B.length&&(k=new ut("onSelect","select",null,k,_),y.push({event:k,listeners:B}),k.target=Oo)))}function wc(y,k){var _={};return _[y.toLowerCase()]=k.toLowerCase(),_["Webkit"+y]="webkit"+k,_["Moz"+y]="moz"+k,_}var Pd={animationend:wc("Animation","AnimationEnd"),animationiteration:wc("Animation","AnimationIteration"),animationstart:wc("Animation","AnimationStart"),transitionend:wc("Transition","TransitionEnd")},Tv={},RO={};i&&(RO=document.createElement("div").style,"AnimationEvent"in window||(delete Pd.animationend.animation,delete Pd.animationiteration.animation,delete Pd.animationstart.animation),"TransitionEvent"in window||delete Pd.transitionend.transition);function i4(y){if(Tv[y])return Tv[y];if(!Pd[y])return y;var k=Pd[y],_;for(_ in k)if(k.hasOwnProperty(_)&&_ in RO)return Tv[y]=k[_];return y}var TO=i4("animationend"),DO=i4("animationiteration"),LO=i4("animationstart"),PO=i4("transitionend"),OO=new Map,zO="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Od(y,k){OO.set(y,k),s(k,[y])}for(var oN=0;oN<zO.length;oN++){var sN=zO[oN],$ve=sN.toLowerCase(),Vve=sN[0].toUpperCase()+sN.slice(1);Od($ve,"on"+Vve)}Od(TO,"onAnimationEnd"),Od(DO,"onAnimationIteration"),Od(LO,"onAnimationStart"),Od("dblclick","onDoubleClick"),Od("focusin","onFocus"),Od("focusout","onBlur"),Od(PO,"onTransitionEnd"),a("onMouseEnter",["mouseout","mouseover"]),a("onMouseLeave",["mouseout","mouseover"]),a("onPointerEnter",["pointerout","pointerover"]),a("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dv="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Hve=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dv));function FO(y,k,_){var B=y.type||"unknown-event";y.currentTarget=_,fa(B,k,void 0,y),y.currentTarget=null}function BO(y,k){k=(k&4)!==0;for(var _=0;_<y.length;_++){var B=y[_],te=B.event;B=B.listeners;e:{var oe=void 0;if(k)for(var ge=B.length-1;0<=ge;ge--){var Fe=B[ge],Ye=Fe.instance,ft=Fe.currentTarget;if(Fe=Fe.listener,Ye!==oe&&te.isPropagationStopped())break e;FO(te,Fe,ft),oe=Ye}else for(ge=0;ge<B.length;ge++){if(Fe=B[ge],Ye=Fe.instance,ft=Fe.currentTarget,Fe=Fe.listener,Ye!==oe&&te.isPropagationStopped())break e;FO(te,Fe,ft),oe=Ye}}}if(Or)throw y=Zt,Or=!1,Zt=null,y}function Jr(y,k){var _=k[pN];_===void 0&&(_=k[pN]=new Set);var B=y+"__bubble";_.has(B)||(UO(k,y,2,!1),_.add(B))}function aN(y,k,_){var B=0;k&&(B|=4),UO(_,y,B,k)}var l4="_reactListening"+Math.random().toString(36).slice(2);function Lv(y){if(!y[l4]){y[l4]=!0,r.forEach(function(_){_!=="selectionchange"&&(Hve.has(_)||aN(_,!1,y),aN(_,!0,y))});var k=y.nodeType===9?y:y.ownerDocument;k===null||k[l4]||(k[l4]=!0,aN("selectionchange",!1,k))}}function UO(y,k,_,B){switch(Cv(k)){case 1:var te=Xx;break;case 4:te=Hh;break;default:te=Sf}_=te.bind(null,k,_,y),te=void 0,!Yn||k!=="touchstart"&&k!=="touchmove"&&k!=="wheel"||(te=!0),B?te!==void 0?y.addEventListener(k,_,{capture:!0,passive:te}):y.addEventListener(k,_,!0):te!==void 0?y.addEventListener(k,_,{passive:te}):y.addEventListener(k,_,!1)}function iN(y,k,_,B,te){var oe=B;if((k&1)===0&&(k&2)===0&&B!==null)e:for(;;){if(B===null)return;var ge=B.tag;if(ge===3||ge===4){var Fe=B.stateNode.containerInfo;if(Fe===te||Fe.nodeType===8&&Fe.parentNode===te)break;if(ge===4)for(ge=B.return;ge!==null;){var Ye=ge.tag;if((Ye===3||Ye===4)&&(Ye=ge.stateNode.containerInfo,Ye===te||Ye.nodeType===8&&Ye.parentNode===te))return;ge=ge.return}for(;Fe!==null;){if(ge=Jh(Fe),ge===null)return;if(Ye=ge.tag,Ye===5||Ye===6){B=oe=ge;continue e}Fe=Fe.parentNode}}B=B.return}bt(function(){var ft=oe,It=rt(_),Rt=[];e:{var St=OO.get(y);if(St!==void 0){var Jt=ut,an=y;switch(y){case"keypress":if(hr(_)===0)break e;case"keydown":case"keyup":Jt=Iv;break;case"focusin":an="focus",Jt=Yr;break;case"focusout":an="blur",Jt=Yr;break;case"beforeblur":case"afterblur":Jt=Yr;break;case"click":if(_.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Jt=t4;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Jt=Po;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Jt=Dd;break;case TO:case DO:case LO:Jt=Ef;break;case PO:Jt=tN;break;case"scroll":Jt=is;break;case"wheel":Jt=nN;break;case"copy":case"cut":case"paste":Jt=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Jt=Av}var cn=(k&4)!==0,zo=!cn&&y==="scroll",st=cn?St!==null?St+"Capture":null:St;cn=[];for(var Je=ft,it;Je!==null;){it=Je;var Ut=it.stateNode;if(it.tag===5&&Ut!==null&&(it=Ut,st!==null&&(Ut=Bt(Je,st),Ut!=null&&cn.push(Pv(Je,Ut,it)))),zo)break;Je=Je.return}0<cn.length&&(St=new Jt(St,an,null,_,It),Rt.push({event:St,listeners:cn}))}}if((k&7)===0){e:{if(St=y==="mouseover"||y==="pointerover",Jt=y==="mouseout"||y==="pointerout",St&&_!==ze&&(an=_.relatedTarget||_.fromElement)&&(Jh(an)||an[Af]))break e;if((Jt||St)&&(St=It.window===It?It:(St=It.ownerDocument)?St.defaultView||St.parentWindow:window,Jt?(an=_.relatedTarget||_.toElement,Jt=ft,an=an?Jh(an):null,an!==null&&(zo=fi(an),an!==zo||an.tag!==5&&an.tag!==6)&&(an=null)):(Jt=null,an=ft),Jt!==an)){if(cn=t4,Ut="onMouseLeave",st="onMouseEnter",Je="mouse",(y==="pointerout"||y==="pointerover")&&(cn=Av,Ut="onPointerLeave",st="onPointerEnter",Je="pointer"),zo=Jt==null?St:w1(Jt),it=an==null?St:w1(an),St=new cn(Ut,Je+"leave",Jt,_,It),St.target=zo,St.relatedTarget=it,Ut=null,Jh(It)===ft&&(cn=new cn(st,Je+"enter",an,_,It),cn.target=it,cn.relatedTarget=zo,Ut=cn),zo=Ut,Jt&&an)t:{for(cn=Jt,st=an,Je=0,it=cn;it;it=y1(it))Je++;for(it=0,Ut=st;Ut;Ut=y1(Ut))it++;for(;0<Je-it;)cn=y1(cn),Je--;for(;0<it-Je;)st=y1(st),it--;for(;Je--;){if(cn===st||st!==null&&cn===st.alternate)break t;cn=y1(cn),st=y1(st)}cn=null}else cn=null;Jt!==null&&$O(Rt,St,Jt,cn,!1),an!==null&&zo!==null&&$O(Rt,zo,an,cn,!0)}}e:{if(St=ft?w1(ft):window,Jt=St.nodeName&&St.nodeName.toLowerCase(),Jt==="select"||Jt==="input"&&St.type==="file")var fn=C;else if(tr(St))if(E)fn=He;else{fn=be;var vn=fe}else(Jt=St.nodeName)&&Jt.toLowerCase()==="input"&&(St.type==="checkbox"||St.type==="radio")&&(fn=Ae);if(fn&&(fn=fn(y,ft))){Qh(Rt,fn,_,It);break e}vn&&vn(y,St,ft),y==="focusout"&&(vn=St._wrapperState)&&vn.controlled&&St.type==="number"&&Ue(St,"number",St.value)}switch(vn=ft?w1(ft):window,y){case"focusin":(tr(vn)||vn.contentEditable==="true")&&(Oo=vn,Sr=ft,yo=null);break;case"focusout":yo=Sr=Oo=null;break;case"mousedown":Ws=!0;break;case"contextmenu":case"mouseup":case"dragend":Ws=!1,If(Rt,_,It);break;case"selectionchange":if($i)break;case"keydown":case"keyup":If(Rt,_,It)}var wn;if(Ld)e:{switch(y){case"compositionstart":var An="onCompositionStart";break e;case"compositionend":An="onCompositionEnd";break e;case"compositionupdate":An="onCompositionUpdate";break e}An=void 0}else Hs?a4(y,_)&&(An="onCompositionEnd"):y==="keydown"&&_.keyCode===229&&(An="onCompositionStart");An&&(Ui&&_.locale!=="ko"&&(Hs||An!=="onCompositionStart"?An==="onCompositionEnd"&&Hs&&(wn=e4()):(vc=It,Sv="value"in vc?vc.value:vc.textContent,Hs=!0)),vn=c4(ft,An),0<vn.length&&(An=new Dr(An,y,null,_,It),Rt.push({event:An,listeners:vn}),wn?An.data=wn:(wn=Mv(_),wn!==null&&(An.data=wn)))),(wn=o4?rN(y,_):Rv(y,_))&&(ft=c4(ft,"onBeforeInput"),0<ft.length&&(It=new Dr("onBeforeInput","beforeinput",null,_,It),Rt.push({event:It,listeners:ft}),It.data=wn))}BO(Rt,k)})}function Pv(y,k,_){return{instance:y,listener:k,currentTarget:_}}function c4(y,k){for(var _=k+"Capture",B=[];y!==null;){var te=y,oe=te.stateNode;te.tag===5&&oe!==null&&(te=oe,oe=Bt(y,_),oe!=null&&B.unshift(Pv(y,oe,te)),oe=Bt(y,k),oe!=null&&B.push(Pv(y,oe,te))),y=y.return}return B}function y1(y){if(y===null)return null;do y=y.return;while(y&&y.tag!==5);return y||null}function $O(y,k,_,B,te){for(var oe=k._reactName,ge=[];_!==null&&_!==B;){var Fe=_,Ye=Fe.alternate,ft=Fe.stateNode;if(Ye!==null&&Ye===B)break;Fe.tag===5&&ft!==null&&(Fe=ft,te?(Ye=Bt(_,oe),Ye!=null&&ge.unshift(Pv(_,Ye,Fe))):te||(Ye=Bt(_,oe),Ye!=null&&ge.push(Pv(_,Ye,Fe)))),_=_.return}ge.length!==0&&y.push({event:k,listeners:ge})}var Wve=/\r\n?/g,Yve=/\u0000|\uFFFD/g;function VO(y){return(typeof y=="string"?y:""+y).replace(Wve,`
1266 `).replace(Yve,"")}function u4(y,k,_){if(k=VO(k),VO(y)!==k&&_)throw Error(n(425))}function f4(){}var lN=null,cN=null;function uN(y,k){return y==="textarea"||y==="noscript"||typeof k.children=="string"||typeof k.children=="number"||typeof k.dangerouslySetInnerHTML=="object"&&k.dangerouslySetInnerHTML!==null&&k.dangerouslySetInnerHTML.__html!=null}var fN=typeof setTimeout=="function"?setTimeout:void 0,Gve=typeof clearTimeout=="function"?clearTimeout:void 0,HO=typeof Promise=="function"?Promise:void 0,qve=typeof queueMicrotask=="function"?queueMicrotask:typeof HO<"u"?function(y){return HO.resolve(null).then(y).catch(Kve)}:fN;function Kve(y){setTimeout(function(){throw y})}function dN(y,k){var _=k,B=0;do{var te=_.nextSibling;if(y.removeChild(_),te&&te.nodeType===8)if(_=te.data,_==="/$"){if(B===0){y.removeChild(te),yc(k);return}B--}else _!=="$"&&_!=="$?"&&_!=="$!"||B++;_=te}while(_);yc(k)}function zd(y){for(;y!=null;y=y.nextSibling){var k=y.nodeType;if(k===1||k===3)break;if(k===8){if(k=y.data,k==="$"||k==="$!"||k==="$?")break;if(k==="/$")return null}}return y}function WO(y){y=y.previousSibling;for(var k=0;y;){if(y.nodeType===8){var _=y.data;if(_==="$"||_==="$!"||_==="$?"){if(k===0)return y;k--}else _==="/$"&&k++}y=y.previousSibling}return null}var v1=Math.random().toString(36).slice(2),yu="__reactFiber$"+v1,Ov="__reactProps$"+v1,Af="__reactContainer$"+v1,pN="__reactEvents$"+v1,Zve="__reactListeners$"+v1,Qve="__reactHandles$"+v1;function Jh(y){var k=y[yu];if(k)return k;for(var _=y.parentNode;_;){if(k=_[Af]||_[yu]){if(_=k.alternate,k.child!==null||_!==null&&_.child!==null)for(y=WO(y);y!==null;){if(_=y[yu])return _;y=WO(y)}return k}y=_,_=y.parentNode}return null}function zv(y){return y=y[yu]||y[Af],!y||y.tag!==5&&y.tag!==6&&y.tag!==13&&y.tag!==3?null:y}function w1(y){if(y.tag===5||y.tag===6)return y.stateNode;throw Error(n(33))}function d4(y){return y[Ov]||null}var hN=[],b1=-1;function Fd(y){return{current:y}}function Xr(y){0>b1||(y.current=hN[b1],hN[b1]=null,b1--)}function Gr(y,k){b1++,hN[b1]=y.current,y.current=k}var Bd={},ha=Fd(Bd),di=Fd(!1),Xh=Bd;function x1(y,k){var _=y.type.contextTypes;if(!_)return Bd;var B=y.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===k)return B.__reactInternalMemoizedMaskedChildContext;var te={},oe;for(oe in _)te[oe]=k[oe];return B&&(y=y.stateNode,y.__reactInternalMemoizedUnmaskedChildContext=k,y.__reactInternalMemoizedMaskedChildContext=te),te}function pi(y){return y=y.childContextTypes,y!=null}function p4(){Xr(di),Xr(ha)}function YO(y,k,_){if(ha.current!==Bd)throw Error(n(168));Gr(ha,k),Gr(di,_)}function GO(y,k,_){var B=y.stateNode;if(k=k.childContextTypes,typeof B.getChildContext!="function")return _;B=B.getChildContext();for(var te in B)if(!(te in k))throw Error(n(108,xe(y)||"Unknown",te));return q({},_,B)}function h4(y){return y=(y=y.stateNode)&&y.__reactInternalMemoizedMergedChildContext||Bd,Xh=ha.current,Gr(ha,y),Gr(di,di.current),!0}function qO(y,k,_){var B=y.stateNode;if(!B)throw Error(n(169));_?(y=GO(y,k,Xh),B.__reactInternalMemoizedMergedChildContext=y,Xr(di),Xr(ha),Gr(ha,y)):Xr(di),Gr(di,_)}var _f=null,m4=!1,mN=!1;function KO(y){_f===null?_f=[y]:_f.push(y)}function Jve(y){m4=!0,KO(y)}function Ud(){if(!mN&&_f!==null){mN=!0;var y=0,k=zn;try{var _=_f;for(zn=1;y<_.length;y++){var B=_[y];do B=B(!0);while(B!==null)}_f=null,m4=!1}catch(te){throw _f!==null&&(_f=_f.slice(y+1)),Oi(jt,Ud),te}finally{zn=k,mN=!1}}return null}var k1=[],j1=0,g4=null,y4=0,Sl=[],El=0,em=null,Mf=1,Rf="";function tm(y,k){k1[j1++]=y4,k1[j1++]=g4,g4=y,y4=k}function ZO(y,k,_){Sl[El++]=Mf,Sl[El++]=Rf,Sl[El++]=em,em=y;var B=Mf;y=Rf;var te=32-Ua(B)-1;B&=~(1<<te),_+=1;var oe=32-Ua(k)+te;if(30<oe){var ge=te-te%5;oe=(B&(1<<ge)-1).toString(32),B>>=ge,te-=ge,Mf=1<<32-Ua(k)+te|_<<te|B,Rf=oe+y}else Mf=1<<oe|_<<te|B,Rf=y}function gN(y){y.return!==null&&(tm(y,1),ZO(y,1,0))}function yN(y){for(;y===g4;)g4=k1[--j1],k1[j1]=null,y4=k1[--j1],k1[j1]=null;for(;y===em;)em=Sl[--El],Sl[El]=null,Rf=Sl[--El],Sl[El]=null,Mf=Sl[--El],Sl[El]=null}var Vi=null,Hi=null,uo=!1,bc=null;function QO(y,k){var _=_l(5,null,null,0);_.elementType="DELETED",_.stateNode=k,_.return=y,k=y.deletions,k===null?(y.deletions=[_],y.flags|=16):k.push(_)}function JO(y,k){switch(y.tag){case 5:var _=y.type;return k=k.nodeType!==1||_.toLowerCase()!==k.nodeName.toLowerCase()?null:k,k!==null?(y.stateNode=k,Vi=y,Hi=zd(k.firstChild),!0):!1;case 6:return k=y.pendingProps===""||k.nodeType!==3?null:k,k!==null?(y.stateNode=k,Vi=y,Hi=null,!0):!1;case 13:return k=k.nodeType!==8?null:k,k!==null?(_=em!==null?{id:Mf,overflow:Rf}:null,y.memoizedState={dehydrated:k,treeContext:_,retryLane:1073741824},_=_l(18,null,null,0),_.stateNode=k,_.return=y,y.child=_,Vi=y,Hi=null,!0):!1;default:return!1}}function vN(y){return(y.mode&1)!==0&&(y.flags&128)===0}function wN(y){if(uo){var k=Hi;if(k){var _=k;if(!JO(y,k)){if(vN(y))throw Error(n(418));k=zd(_.nextSibling);var B=Vi;k&&JO(y,k)?QO(B,_):(y.flags=y.flags&-4097|2,uo=!1,Vi=y)}}else{if(vN(y))throw Error(n(418));y.flags=y.flags&-4097|2,uo=!1,Vi=y}}}function XO(y){for(y=y.return;y!==null&&y.tag!==5&&y.tag!==3&&y.tag!==13;)y=y.return;Vi=y}function v4(y){if(y!==Vi)return!1;if(!uo)return XO(y),uo=!0,!1;var k;if((k=y.tag!==3)&&!(k=y.tag!==5)&&(k=y.type,k=k!=="head"&&k!=="body"&&!uN(y.type,y.memoizedProps)),k&&(k=Hi)){if(vN(y))throw ez(),Error(n(418));for(;k;)QO(y,k),k=zd(k.nextSibling)}if(XO(y),y.tag===13){if(y=y.memoizedState,y=y!==null?y.dehydrated:null,!y)throw Error(n(317));e:{for(y=y.nextSibling,k=0;y;){if(y.nodeType===8){var _=y.data;if(_==="/$"){if(k===0){Hi=zd(y.nextSibling);break e}k--}else _!=="$"&&_!=="$!"&&_!=="$?"||k++}y=y.nextSibling}Hi=null}}else Hi=Vi?zd(y.stateNode.nextSibling):null;return!0}function ez(){for(var y=Hi;y;)y=zd(y.nextSibling)}function C1(){Hi=Vi=null,uo=!1}function bN(y){bc===null?bc=[y]:bc.push(y)}var Xve=M.ReactCurrentBatchConfig;function Fv(y,k,_){if(y=_.ref,y!==null&&typeof y!="function"&&typeof y!="object"){if(_._owner){if(_=_._owner,_){if(_.tag!==1)throw Error(n(309));var B=_.stateNode}if(!B)throw Error(n(147,y));var te=B,oe=""+y;return k!==null&&k.ref!==null&&typeof k.ref=="function"&&k.ref._stringRef===oe?k.ref:(k=function(ge){var Fe=te.refs;ge===null?delete Fe[oe]:Fe[oe]=ge},k._stringRef=oe,k)}if(typeof y!="string")throw Error(n(284));if(!_._owner)throw Error(n(290,y))}return y}function w4(y,k){throw y=Object.prototype.toString.call(k),Error(n(31,y==="[object Object]"?"object with keys {"+Object.keys(k).join(", ")+"}":y))}function tz(y){var k=y._init;return k(y._payload)}function nz(y){function k(st,Je){if(y){var it=st.deletions;it===null?(st.deletions=[Je],st.flags|=16):it.push(Je)}}function _(st,Je){if(!y)return null;for(;Je!==null;)k(st,Je),Je=Je.sibling;return null}function B(st,Je){for(st=new Map;Je!==null;)Je.key!==null?st.set(Je.key,Je):st.set(Je.index,Je),Je=Je.sibling;return st}function te(st,Je){return st=Kd(st,Je),st.index=0,st.sibling=null,st}function oe(st,Je,it){return st.index=it,y?(it=st.alternate,it!==null?(it=it.index,it<Je?(st.flags|=2,Je):it):(st.flags|=2,Je)):(st.flags|=1048576,Je)}function ge(st){return y&&st.alternate===null&&(st.flags|=2),st}function Fe(st,Je,it,Ut){return Je===null||Je.tag!==6?(Je=fI(it,st.mode,Ut),Je.return=st,Je):(Je=te(Je,it),Je.return=st,Je)}function Ye(st,Je,it,Ut){var fn=it.type;return fn===L?It(st,Je,it.props.children,Ut,it.key):Je!==null&&(Je.elementType===fn||typeof fn=="object"&&fn!==null&&fn.$$typeof===ee&&tz(fn)===Je.type)?(Ut=te(Je,it.props),Ut.ref=Fv(st,Je,it),Ut.return=st,Ut):(Ut=V4(it.type,it.key,it.props,null,st.mode,Ut),Ut.ref=Fv(st,Je,it),Ut.return=st,Ut)}function ft(st,Je,it,Ut){return Je===null||Je.tag!==4||Je.stateNode.containerInfo!==it.containerInfo||Je.stateNode.implementation!==it.implementation?(Je=dI(it,st.mode,Ut),Je.return=st,Je):(Je=te(Je,it.children||[]),Je.return=st,Je)}function It(st,Je,it,Ut,fn){return Je===null||Je.tag!==7?(Je=cm(it,st.mode,Ut,fn),Je.return=st,Je):(Je=te(Je,it),Je.return=st,Je)}function Rt(st,Je,it){if(typeof Je=="string"&&Je!==""||typeof Je=="number")return Je=fI(""+Je,st.mode,it),Je.return=st,Je;if(typeof Je=="object"&&Je!==null){switch(Je.$$typeof){case D:return it=V4(Je.type,Je.key,Je.props,null,st.mode,it),it.ref=Fv(st,null,Je),it.return=st,it;case P:return Je=dI(Je,st.mode,it),Je.return=st,Je;case ee:var Ut=Je._init;return Rt(st,Ut(Je._payload),it)}if(qe(Je)||Y(Je))return Je=cm(Je,st.mode,it,null),Je.return=st,Je;w4(st,Je)}return null}function St(st,Je,it,Ut){var fn=Je!==null?Je.key:null;if(typeof it=="string"&&it!==""||typeof it=="number")return fn!==null?null:Fe(st,Je,""+it,Ut);if(typeof it=="object"&&it!==null){switch(it.$$typeof){case D:return it.key===fn?Ye(st,Je,it,Ut):null;case P:return it.key===fn?ft(st,Je,it,Ut):null;case ee:return fn=it._init,St(st,Je,fn(it._payload),Ut)}if(qe(it)||Y(it))return fn!==null?null:It(st,Je,it,Ut,null);w4(st,it)}return null}function Jt(st,Je,it,Ut,fn){if(typeof Ut=="string"&&Ut!==""||typeof Ut=="number")return st=st.get(it)||null,Fe(Je,st,""+Ut,fn);if(typeof Ut=="object"&&Ut!==null){switch(Ut.$$typeof){case D:return st=st.get(Ut.key===null?it:Ut.key)||null,Ye(Je,st,Ut,fn);case P:return st=st.get(Ut.key===null?it:Ut.key)||null,ft(Je,st,Ut,fn);case ee:var vn=Ut._init;return Jt(st,Je,it,vn(Ut._payload),fn)}if(qe(Ut)||Y(Ut))return st=st.get(it)||null,It(Je,st,Ut,fn,null);w4(Je,Ut)}return null}function an(st,Je,it,Ut){for(var fn=null,vn=null,wn=Je,An=Je=0,js=null;wn!==null&&An<it.length;An++){wn.index>An?(js=wn,wn=null):js=wn.sibling;var br=St(st,wn,it[An],Ut);if(br===null){wn===null&&(wn=js);break}y&&wn&&br.alternate===null&&k(st,wn),Je=oe(br,Je,An),vn===null?fn=br:vn.sibling=br,vn=br,wn=js}if(An===it.length)return _(st,wn),uo&&tm(st,An),fn;if(wn===null){for(;An<it.length;An++)wn=Rt(st,it[An],Ut),wn!==null&&(Je=oe(wn,Je,An),vn===null?fn=wn:vn.sibling=wn,vn=wn);return uo&&tm(st,An),fn}for(wn=B(st,wn);An<it.length;An++)js=Jt(wn,st,An,it[An],Ut),js!==null&&(y&&js.alternate!==null&&wn.delete(js.key===null?An:js.key),Je=oe(js,Je,An),vn===null?fn=js:vn.sibling=js,vn=js);return y&&wn.forEach(function(Zd){return k(st,Zd)}),uo&&tm(st,An),fn}function cn(st,Je,it,Ut){var fn=Y(it);if(typeof fn!="function")throw Error(n(150));if(it=fn.call(it),it==null)throw Error(n(151));for(var vn=fn=null,wn=Je,An=Je=0,js=null,br=it.next();wn!==null&&!br.done;An++,br=it.next()){wn.index>An?(js=wn,wn=null):js=wn.sibling;var Zd=St(st,wn,br.value,Ut);if(Zd===null){wn===null&&(wn=js);break}y&&wn&&Zd.alternate===null&&k(st,wn),Je=oe(Zd,Je,An),vn===null?fn=Zd:vn.sibling=Zd,vn=Zd,wn=js}if(br.done)return _(st,wn),uo&&tm(st,An),fn;if(wn===null){for(;!br.done;An++,br=it.next())br=Rt(st,br.value,Ut),br!==null&&(Je=oe(br,Je,An),vn===null?fn=br:vn.sibling=br,vn=br);return uo&&tm(st,An),fn}for(wn=B(st,wn);!br.done;An++,br=it.next())br=Jt(wn,st,An,br.value,Ut),br!==null&&(y&&br.alternate!==null&&wn.delete(br.key===null?An:br.key),Je=oe(br,Je,An),vn===null?fn=br:vn.sibling=br,vn=br);return y&&wn.forEach(function(Rwe){return k(st,Rwe)}),uo&&tm(st,An),fn}function zo(st,Je,it,Ut){if(typeof it=="object"&&it!==null&&it.type===L&&it.key===null&&(it=it.props.children),typeof it=="object"&&it!==null){switch(it.$$typeof){case D:e:{for(var fn=it.key,vn=Je;vn!==null;){if(vn.key===fn){if(fn=it.type,fn===L){if(vn.tag===7){_(st,vn.sibling),Je=te(vn,it.props.children),Je.return=st,st=Je;break e}}else if(vn.elementType===fn||typeof fn=="object"&&fn!==null&&fn.$$typeof===ee&&tz(fn)===vn.type){_(st,vn.sibling),Je=te(vn,it.props),Je.ref=Fv(st,vn,it),Je.return=st,st=Je;break e}_(st,vn);break}else k(st,vn);vn=vn.sibling}it.type===L?(Je=cm(it.props.children,st.mode,Ut,it.key),Je.return=st,st=Je):(Ut=V4(it.type,it.key,it.props,null,st.mode,Ut),Ut.ref=Fv(st,Je,it),Ut.return=st,st=Ut)}return ge(st);case P:e:{for(vn=it.key;Je!==null;){if(Je.key===vn)if(Je.tag===4&&Je.stateNode.containerInfo===it.containerInfo&&Je.stateNode.implementation===it.implementation){_(st,Je.sibling),Je=te(Je,it.children||[]),Je.return=st,st=Je;break e}else{_(st,Je);break}else k(st,Je);Je=Je.sibling}Je=dI(it,st.mode,Ut),Je.return=st,st=Je}return ge(st);case ee:return vn=it._init,zo(st,Je,vn(it._payload),Ut)}if(qe(it))return an(st,Je,it,Ut);if(Y(it))return cn(st,Je,it,Ut);w4(st,it)}return typeof it=="string"&&it!==""||typeof it=="number"?(it=""+it,Je!==null&&Je.tag===6?(_(st,Je.sibling),Je=te(Je,it),Je.return=st,st=Je):(_(st,Je),Je=fI(it,st.mode,Ut),Je.return=st,st=Je),ge(st)):_(st,Je)}return zo}var S1=nz(!0),rz=nz(!1),b4=Fd(null),x4=null,E1=null,xN=null;function kN(){xN=E1=x4=null}function jN(y){var k=b4.current;Xr(b4),y._currentValue=k}function CN(y,k,_){for(;y!==null;){var B=y.alternate;if((y.childLanes&k)!==k?(y.childLanes|=k,B!==null&&(B.childLanes|=k)):B!==null&&(B.childLanes&k)!==k&&(B.childLanes|=k),y===_)break;y=y.return}}function N1(y,k){x4=y,xN=E1=null,y=y.dependencies,y!==null&&y.firstContext!==null&&((y.lanes&k)!==0&&(hi=!0),y.firstContext=null)}function Nl(y){var k=y._currentValue;if(xN!==y)if(y={context:y,memoizedValue:k,next:null},E1===null){if(x4===null)throw Error(n(308));E1=y,x4.dependencies={lanes:0,firstContext:y}}else E1=E1.next=y;return k}var nm=null;function SN(y){nm===null?nm=[y]:nm.push(y)}function oz(y,k,_,B){var te=k.interleaved;return te===null?(_.next=_,SN(k)):(_.next=te.next,te.next=_),k.interleaved=_,Tf(y,B)}function Tf(y,k){y.lanes|=k;var _=y.alternate;for(_!==null&&(_.lanes|=k),_=y,y=y.return;y!==null;)y.childLanes|=k,_=y.alternate,_!==null&&(_.childLanes|=k),_=y,y=y.return;return _.tag===3?_.stateNode:null}var $d=!1;function EN(y){y.updateQueue={baseState:y.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function sz(y,k){y=y.updateQueue,k.updateQueue===y&&(k.updateQueue={baseState:y.baseState,firstBaseUpdate:y.firstBaseUpdate,lastBaseUpdate:y.lastBaseUpdate,shared:y.shared,effects:y.effects})}function Df(y,k){return{eventTime:y,lane:k,tag:0,payload:null,callback:null,next:null}}function Vd(y,k,_){var B=y.updateQueue;if(B===null)return null;if(B=B.shared,(mr&2)!==0){var te=B.pending;return te===null?k.next=k:(k.next=te.next,te.next=k),B.pending=k,Tf(y,_)}return te=B.interleaved,te===null?(k.next=k,SN(B)):(k.next=te.next,te.next=k),B.interleaved=k,Tf(y,_)}function k4(y,k,_){if(k=k.updateQueue,k!==null&&(k=k.shared,(_&4194240)!==0)){var B=k.lanes;B&=y.pendingLanes,_|=B,k.lanes=_,Eo(y,_)}}function az(y,k){var _=y.updateQueue,B=y.alternate;if(B!==null&&(B=B.updateQueue,_===B)){var te=null,oe=null;if(_=_.firstBaseUpdate,_!==null){do{var ge={eventTime:_.eventTime,lane:_.lane,tag:_.tag,payload:_.payload,callback:_.callback,next:null};oe===null?te=oe=ge:oe=oe.next=ge,_=_.next}while(_!==null);oe===null?te=oe=k:oe=oe.next=k}else te=oe=k;_={baseState:B.baseState,firstBaseUpdate:te,lastBaseUpdate:oe,shared:B.shared,effects:B.effects},y.updateQueue=_;return}y=_.lastBaseUpdate,y===null?_.firstBaseUpdate=k:y.next=k,_.lastBaseUpdate=k}function j4(y,k,_,B){var te=y.updateQueue;$d=!1;var oe=te.firstBaseUpdate,ge=te.lastBaseUpdate,Fe=te.shared.pending;if(Fe!==null){te.shared.pending=null;var Ye=Fe,ft=Ye.next;Ye.next=null,ge===null?oe=ft:ge.next=ft,ge=Ye;var It=y.alternate;It!==null&&(It=It.updateQueue,Fe=It.lastBaseUpdate,Fe!==ge&&(Fe===null?It.firstBaseUpdate=ft:Fe.next=ft,It.lastBaseUpdate=Ye))}if(oe!==null){var Rt=te.baseState;ge=0,It=ft=Ye=null,Fe=oe;do{var St=Fe.lane,Jt=Fe.eventTime;if((B&St)===St){It!==null&&(It=It.next={eventTime:Jt,lane:0,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null});e:{var an=y,cn=Fe;switch(St=k,Jt=_,cn.tag){case 1:if(an=cn.payload,typeof an=="function"){Rt=an.call(Jt,Rt,St);break e}Rt=an;break e;case 3:an.flags=an.flags&-65537|128;case 0:if(an=cn.payload,St=typeof an=="function"?an.call(Jt,Rt,St):an,St==null)break e;Rt=q({},Rt,St);break e;case 2:$d=!0}}Fe.callback!==null&&Fe.lane!==0&&(y.flags|=64,St=te.effects,St===null?te.effects=[Fe]:St.push(Fe))}else Jt={eventTime:Jt,lane:St,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null},It===null?(ft=It=Jt,Ye=Rt):It=It.next=Jt,ge|=St;if(Fe=Fe.next,Fe===null){if(Fe=te.shared.pending,Fe===null)break;St=Fe,Fe=St.next,St.next=null,te.lastBaseUpdate=St,te.shared.pending=null}}while(!0);if(It===null&&(Ye=Rt),te.baseState=Ye,te.firstBaseUpdate=ft,te.lastBaseUpdate=It,k=te.shared.interleaved,k!==null){te=k;do ge|=te.lane,te=te.next;while(te!==k)}else oe===null&&(te.shared.lanes=0);sm|=ge,y.lanes=ge,y.memoizedState=Rt}}function iz(y,k,_){if(y=k.effects,k.effects=null,y!==null)for(k=0;k<y.length;k++){var B=y[k],te=B.callback;if(te!==null){if(B.callback=null,B=_,typeof te!="function")throw Error(n(191,te));te.call(B)}}}var Bv={},vu=Fd(Bv),Uv=Fd(Bv),$v=Fd(Bv);function rm(y){if(y===Bv)throw Error(n(174));return y}function NN(y,k){switch(Gr($v,k),Gr(Uv,y),Gr(vu,Bv),y=k.nodeType,y){case 9:case 11:k=(k=k.documentElement)?k.namespaceURI:se(null,"");break;default:y=y===8?k.parentNode:k,k=y.namespaceURI||null,y=y.tagName,k=se(k,y)}Xr(vu),Gr(vu,k)}function I1(){Xr(vu),Xr(Uv),Xr($v)}function lz(y){rm($v.current);var k=rm(vu.current),_=se(k,y.type);k!==_&&(Gr(Uv,y),Gr(vu,_))}function IN(y){Uv.current===y&&(Xr(vu),Xr(Uv))}var vo=Fd(0);function C4(y){for(var k=y;k!==null;){if(k.tag===13){var _=k.memoizedState;if(_!==null&&(_=_.dehydrated,_===null||_.data==="$?"||_.data==="$!"))return k}else if(k.tag===19&&k.memoizedProps.revealOrder!==void 0){if((k.flags&128)!==0)return k}else if(k.child!==null){k.child.return=k,k=k.child;continue}if(k===y)break;for(;k.sibling===null;){if(k.return===null||k.return===y)return null;k=k.return}k.sibling.return=k.return,k=k.sibling}return null}var AN=[];function _N(){for(var y=0;y<AN.length;y++)AN[y]._workInProgressVersionPrimary=null;AN.length=0}var S4=M.ReactCurrentDispatcher,MN=M.ReactCurrentBatchConfig,om=0,wo=null,ls=null,xs=null,E4=!1,Vv=!1,Hv=0,ewe=0;function ma(){throw Error(n(321))}function RN(y,k){if(k===null)return!1;for(var _=0;_<k.length&&_<y.length;_++)if(!tt(y[_],k[_]))return!1;return!0}function TN(y,k,_,B,te,oe){if(om=oe,wo=k,k.memoizedState=null,k.updateQueue=null,k.lanes=0,S4.current=y===null||y.memoizedState===null?owe:swe,y=_(B,te),Vv){oe=0;do{if(Vv=!1,Hv=0,25<=oe)throw Error(n(301));oe+=1,xs=ls=null,k.updateQueue=null,S4.current=awe,y=_(B,te)}while(Vv)}if(S4.current=A4,k=ls!==null&&ls.next!==null,om=0,xs=ls=wo=null,E4=!1,k)throw Error(n(300));return y}function DN(){var y=Hv!==0;return Hv=0,y}function wu(){var y={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xs===null?wo.memoizedState=xs=y:xs=xs.next=y,xs}function Il(){if(ls===null){var y=wo.alternate;y=y!==null?y.memoizedState:null}else y=ls.next;var k=xs===null?wo.memoizedState:xs.next;if(k!==null)xs=k,ls=y;else{if(y===null)throw Error(n(310));ls=y,y={memoizedState:ls.memoizedState,baseState:ls.baseState,baseQueue:ls.baseQueue,queue:ls.queue,next:null},xs===null?wo.memoizedState=xs=y:xs=xs.next=y}return xs}function Wv(y,k){return typeof k=="function"?k(y):k}function LN(y){var k=Il(),_=k.queue;if(_===null)throw Error(n(311));_.lastRenderedReducer=y;var B=ls,te=B.baseQueue,oe=_.pending;if(oe!==null){if(te!==null){var ge=te.next;te.next=oe.next,oe.next=ge}B.baseQueue=te=oe,_.pending=null}if(te!==null){oe=te.next,B=B.baseState;var Fe=ge=null,Ye=null,ft=oe;do{var It=ft.lane;if((om&It)===It)Ye!==null&&(Ye=Ye.next={lane:0,action:ft.action,hasEagerState:ft.hasEagerState,eagerState:ft.eagerState,next:null}),B=ft.hasEagerState?ft.eagerState:y(B,ft.action);else{var Rt={lane:It,action:ft.action,hasEagerState:ft.hasEagerState,eagerState:ft.eagerState,next:null};Ye===null?(Fe=Ye=Rt,ge=B):Ye=Ye.next=Rt,wo.lanes|=It,sm|=It}ft=ft.next}while(ft!==null&&ft!==oe);Ye===null?ge=B:Ye.next=Fe,tt(B,k.memoizedState)||(hi=!0),k.memoizedState=B,k.baseState=ge,k.baseQueue=Ye,_.lastRenderedState=B}if(y=_.interleaved,y!==null){te=y;do oe=te.lane,wo.lanes|=oe,sm|=oe,te=te.next;while(te!==y)}else te===null&&(_.lanes=0);return[k.memoizedState,_.dispatch]}function PN(y){var k=Il(),_=k.queue;if(_===null)throw Error(n(311));_.lastRenderedReducer=y;var B=_.dispatch,te=_.pending,oe=k.memoizedState;if(te!==null){_.pending=null;var ge=te=te.next;do oe=y(oe,ge.action),ge=ge.next;while(ge!==te);tt(oe,k.memoizedState)||(hi=!0),k.memoizedState=oe,k.baseQueue===null&&(k.baseState=oe),_.lastRenderedState=oe}return[oe,B]}function cz(){}function uz(y,k){var _=wo,B=Il(),te=k(),oe=!tt(B.memoizedState,te);if(oe&&(B.memoizedState=te,hi=!0),B=B.queue,ON(pz.bind(null,_,B,y),[y]),B.getSnapshot!==k||oe||xs!==null&&xs.memoizedState.tag&1){if(_.flags|=2048,Yv(9,dz.bind(null,_,B,te,k),void 0,null),ks===null)throw Error(n(349));(om&30)!==0||fz(_,k,te)}return te}function fz(y,k,_){y.flags|=16384,y={getSnapshot:k,value:_},k=wo.updateQueue,k===null?(k={lastEffect:null,stores:null},wo.updateQueue=k,k.stores=[y]):(_=k.stores,_===null?k.stores=[y]:_.push(y))}function dz(y,k,_,B){k.value=_,k.getSnapshot=B,hz(k)&&mz(y)}function pz(y,k,_){return _(function(){hz(k)&&mz(y)})}function hz(y){var k=y.getSnapshot;y=y.value;try{var _=k();return!tt(y,_)}catch{return!0}}function mz(y){var k=Tf(y,1);k!==null&&Cc(k,y,1,-1)}function gz(y){var k=wu();return typeof y=="function"&&(y=y()),k.memoizedState=k.baseState=y,y={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Wv,lastRenderedState:y},k.queue=y,y=y.dispatch=rwe.bind(null,wo,y),[k.memoizedState,y]}function Yv(y,k,_,B){return y={tag:y,create:k,destroy:_,deps:B,next:null},k=wo.updateQueue,k===null?(k={lastEffect:null,stores:null},wo.updateQueue=k,k.lastEffect=y.next=y):(_=k.lastEffect,_===null?k.lastEffect=y.next=y:(B=_.next,_.next=y,y.next=B,k.lastEffect=y)),y}function yz(){return Il().memoizedState}function N4(y,k,_,B){var te=wu();wo.flags|=y,te.memoizedState=Yv(1|k,_,void 0,B===void 0?null:B)}function I4(y,k,_,B){var te=Il();B=B===void 0?null:B;var oe=void 0;if(ls!==null){var ge=ls.memoizedState;if(oe=ge.destroy,B!==null&&RN(B,ge.deps)){te.memoizedState=Yv(k,_,oe,B);return}}wo.flags|=y,te.memoizedState=Yv(1|k,_,oe,B)}function vz(y,k){return N4(8390656,8,y,k)}function ON(y,k){return I4(2048,8,y,k)}function wz(y,k){return I4(4,2,y,k)}function bz(y,k){return I4(4,4,y,k)}function xz(y,k){if(typeof k=="function")return y=y(),k(y),function(){k(null)};if(k!=null)return y=y(),k.current=y,function(){k.current=null}}function kz(y,k,_){return _=_!=null?_.concat([y]):null,I4(4,4,xz.bind(null,k,y),_)}function zN(){}function jz(y,k){var _=Il();k=k===void 0?null:k;var B=_.memoizedState;return B!==null&&k!==null&&RN(k,B[1])?B[0]:(_.memoizedState=[y,k],y)}function Cz(y,k){var _=Il();k=k===void 0?null:k;var B=_.memoizedState;return B!==null&&k!==null&&RN(k,B[1])?B[0]:(y=y(),_.memoizedState=[y,k],y)}function Sz(y,k,_){return(om&21)===0?(y.baseState&&(y.baseState=!1,hi=!0),y.memoizedState=_):(tt(_,k)||(_=rs(),wo.lanes|=_,sm|=_,y.baseState=!0),k)}function twe(y,k){var _=zn;zn=_!==0&&4>_?_:4,y(!0);var B=MN.transition;MN.transition={};try{y(!1),k()}finally{zn=_,MN.transition=B}}function Ez(){return Il().memoizedState}function nwe(y,k,_){var B=Gd(y);if(_={lane:B,action:_,hasEagerState:!1,eagerState:null,next:null},Nz(y))Iz(k,_);else if(_=oz(y,k,_,B),_!==null){var te=Va();Cc(_,y,B,te),Az(_,k,B)}}function rwe(y,k,_){var B=Gd(y),te={lane:B,action:_,hasEagerState:!1,eagerState:null,next:null};if(Nz(y))Iz(k,te);else{var oe=y.alternate;if(y.lanes===0&&(oe===null||oe.lanes===0)&&(oe=k.lastRenderedReducer,oe!==null))try{var ge=k.lastRenderedState,Fe=oe(ge,_);if(te.hasEagerState=!0,te.eagerState=Fe,tt(Fe,ge)){var Ye=k.interleaved;Ye===null?(te.next=te,SN(k)):(te.next=Ye.next,Ye.next=te),k.interleaved=te;return}}catch{}finally{}_=oz(y,k,te,B),_!==null&&(te=Va(),Cc(_,y,B,te),Az(_,k,B))}}function Nz(y){var k=y.alternate;return y===wo||k!==null&&k===wo}function Iz(y,k){Vv=E4=!0;var _=y.pending;_===null?k.next=k:(k.next=_.next,_.next=k),y.pending=k}function Az(y,k,_){if((_&4194240)!==0){var B=k.lanes;B&=y.pendingLanes,_|=B,k.lanes=_,Eo(y,_)}}var A4={readContext:Nl,useCallback:ma,useContext:ma,useEffect:ma,useImperativeHandle:ma,useInsertionEffect:ma,useLayoutEffect:ma,useMemo:ma,useReducer:ma,useRef:ma,useState:ma,useDebugValue:ma,useDeferredValue:ma,useTransition:ma,useMutableSource:ma,useSyncExternalStore:ma,useId:ma,unstable_isNewReconciler:!1},owe={readContext:Nl,useCallback:function(y,k){return wu().memoizedState=[y,k===void 0?null:k],y},useContext:Nl,useEffect:vz,useImperativeHandle:function(y,k,_){return _=_!=null?_.concat([y]):null,N4(4194308,4,xz.bind(null,k,y),_)},useLayoutEffect:function(y,k){return N4(4194308,4,y,k)},useInsertionEffect:function(y,k){return N4(4,2,y,k)},useMemo:function(y,k){var _=wu();return k=k===void 0?null:k,y=y(),_.memoizedState=[y,k],y},useReducer:function(y,k,_){var B=wu();return k=_!==void 0?_(k):k,B.memoizedState=B.baseState=k,y={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:y,lastRenderedState:k},B.queue=y,y=y.dispatch=nwe.bind(null,wo,y),[B.memoizedState,y]},useRef:function(y){var k=wu();return y={current:y},k.memoizedState=y},useState:gz,useDebugValue:zN,useDeferredValue:function(y){return wu().memoizedState=y},useTransition:function(){var y=gz(!1),k=y[0];return y=twe.bind(null,y[1]),wu().memoizedState=y,[k,y]},useMutableSource:function(){},useSyncExternalStore:function(y,k,_){var B=wo,te=wu();if(uo){if(_===void 0)throw Error(n(407));_=_()}else{if(_=k(),ks===null)throw Error(n(349));(om&30)!==0||fz(B,k,_)}te.memoizedState=_;var oe={value:_,getSnapshot:k};return te.queue=oe,vz(pz.bind(null,B,oe,y),[y]),B.flags|=2048,Yv(9,dz.bind(null,B,oe,_,k),void 0,null),_},useId:function(){var y=wu(),k=ks.identifierPrefix;if(uo){var _=Rf,B=Mf;_=(B&~(1<<32-Ua(B)-1)).toString(32)+_,k=":"+k+"R"+_,_=Hv++,0<_&&(k+="H"+_.toString(32)),k+=":"}else _=ewe++,k=":"+k+"r"+_.toString(32)+":";return y.memoizedState=k},unstable_isNewReconciler:!1},swe={readContext:Nl,useCallback:jz,useContext:Nl,useEffect:ON,useImperativeHandle:kz,useInsertionEffect:wz,useLayoutEffect:bz,useMemo:Cz,useReducer:LN,useRef:yz,useState:function(){return LN(Wv)},useDebugValue:zN,useDeferredValue:function(y){var k=Il();return Sz(k,ls.memoizedState,y)},useTransition:function(){var y=LN(Wv)[0],k=Il().memoizedState;return[y,k]},useMutableSource:cz,useSyncExternalStore:uz,useId:Ez,unstable_isNewReconciler:!1},awe={readContext:Nl,useCallback:jz,useContext:Nl,useEffect:ON,useImperativeHandle:kz,useInsertionEffect:wz,useLayoutEffect:bz,useMemo:Cz,useReducer:PN,useRef:yz,useState:function(){return PN(Wv)},useDebugValue:zN,useDeferredValue:function(y){var k=Il();return ls===null?k.memoizedState=y:Sz(k,ls.memoizedState,y)},useTransition:function(){var y=PN(Wv)[0],k=Il().memoizedState;return[y,k]},useMutableSource:cz,useSyncExternalStore:uz,useId:Ez,unstable_isNewReconciler:!1};function xc(y,k){if(y&&y.defaultProps){k=q({},k),y=y.defaultProps;for(var _ in y)k[_]===void 0&&(k[_]=y[_]);return k}return k}function FN(y,k,_,B){k=y.memoizedState,_=_(B,k),_=_==null?k:q({},k,_),y.memoizedState=_,y.lanes===0&&(y.updateQueue.baseState=_)}var _4={isMounted:function(y){return(y=y._reactInternals)?fi(y)===y:!1},enqueueSetState:function(y,k,_){y=y._reactInternals;var B=Va(),te=Gd(y),oe=Df(B,te);oe.payload=k,_!=null&&(oe.callback=_),k=Vd(y,oe,te),k!==null&&(Cc(k,y,te,B),k4(k,y,te))},enqueueReplaceState:function(y,k,_){y=y._reactInternals;var B=Va(),te=Gd(y),oe=Df(B,te);oe.tag=1,oe.payload=k,_!=null&&(oe.callback=_),k=Vd(y,oe,te),k!==null&&(Cc(k,y,te,B),k4(k,y,te))},enqueueForceUpdate:function(y,k){y=y._reactInternals;var _=Va(),B=Gd(y),te=Df(_,B);te.tag=2,k!=null&&(te.callback=k),k=Vd(y,te,B),k!==null&&(Cc(k,y,B,_),k4(k,y,B))}};function _z(y,k,_,B,te,oe,ge){return y=y.stateNode,typeof y.shouldComponentUpdate=="function"?y.shouldComponentUpdate(B,oe,ge):k.prototype&&k.prototype.isPureReactComponent?!ct(_,B)||!ct(te,oe):!0}function Mz(y,k,_){var B=!1,te=Bd,oe=k.contextType;return typeof oe=="object"&&oe!==null?oe=Nl(oe):(te=pi(k)?Xh:ha.current,B=k.contextTypes,oe=(B=B!=null)?x1(y,te):Bd),k=new k(_,oe),y.memoizedState=k.state!==null&&k.state!==void 0?k.state:null,k.updater=_4,y.stateNode=k,k._reactInternals=y,B&&(y=y.stateNode,y.__reactInternalMemoizedUnmaskedChildContext=te,y.__reactInternalMemoizedMaskedChildContext=oe),k}function Rz(y,k,_,B){y=k.state,typeof k.componentWillReceiveProps=="function"&&k.componentWillReceiveProps(_,B),typeof k.UNSAFE_componentWillReceiveProps=="function"&&k.UNSAFE_componentWillReceiveProps(_,B),k.state!==y&&_4.enqueueReplaceState(k,k.state,null)}function BN(y,k,_,B){var te=y.stateNode;te.props=_,te.state=y.memoizedState,te.refs={},EN(y);var oe=k.contextType;typeof oe=="object"&&oe!==null?te.context=Nl(oe):(oe=pi(k)?Xh:ha.current,te.context=x1(y,oe)),te.state=y.memoizedState,oe=k.getDerivedStateFromProps,typeof oe=="function"&&(FN(y,k,oe,_),te.state=y.memoizedState),typeof k.getDerivedStateFromProps=="function"||typeof te.getSnapshotBeforeUpdate=="function"||typeof te.UNSAFE_componentWillMount!="function"&&typeof te.componentWillMount!="function"||(k=te.state,typeof te.componentWillMount=="function"&&te.componentWillMount(),typeof te.UNSAFE_componentWillMount=="function"&&te.UNSAFE_componentWillMount(),k!==te.state&&_4.enqueueReplaceState(te,te.state,null),j4(y,_,te,B),te.state=y.memoizedState),typeof te.componentDidMount=="function"&&(y.flags|=4194308)}function A1(y,k){try{var _="",B=k;do _+=Ee(B),B=B.return;while(B);var te=_}catch(oe){te=`
1267 Error generating stack: `+oe.message+`
1268 `+oe.stack}return{value:y,source:k,stack:te,digest:null}}function UN(y,k,_){return{value:y,source:null,stack:_??null,digest:k??null}}function $N(y,k){try{console.error(k.value)}catch(_){setTimeout(function(){throw _})}}var iwe=typeof WeakMap=="function"?WeakMap:Map;function Tz(y,k,_){_=Df(-1,_),_.tag=3,_.payload={element:null};var B=k.value;return _.callback=function(){O4||(O4=!0,rI=B),$N(y,k)},_}function Dz(y,k,_){_=Df(-1,_),_.tag=3;var B=y.type.getDerivedStateFromError;if(typeof B=="function"){var te=k.value;_.payload=function(){return B(te)},_.callback=function(){$N(y,k)}}var oe=y.stateNode;return oe!==null&&typeof oe.componentDidCatch=="function"&&(_.callback=function(){$N(y,k),typeof B!="function"&&(Wd===null?Wd=new Set([this]):Wd.add(this));var ge=k.stack;this.componentDidCatch(k.value,{componentStack:ge!==null?ge:""})}),_}function Lz(y,k,_){var B=y.pingCache;if(B===null){B=y.pingCache=new iwe;var te=new Set;B.set(k,te)}else te=B.get(k),te===void 0&&(te=new Set,B.set(k,te));te.has(_)||(te.add(_),y=xwe.bind(null,y,k,_),k.then(y,y))}function Pz(y){do{var k;if((k=y.tag===13)&&(k=y.memoizedState,k=k!==null?k.dehydrated!==null:!0),k)return y;y=y.return}while(y!==null);return null}function Oz(y,k,_,B,te){return(y.mode&1)===0?(y===k?y.flags|=65536:(y.flags|=128,_.flags|=131072,_.flags&=-52805,_.tag===1&&(_.alternate===null?_.tag=17:(k=Df(-1,1),k.tag=2,Vd(_,k,1))),_.lanes|=1),y):(y.flags|=65536,y.lanes=te,y)}var lwe=M.ReactCurrentOwner,hi=!1;function $a(y,k,_,B){k.child=y===null?rz(k,null,_,B):S1(k,y.child,_,B)}function zz(y,k,_,B,te){_=_.render;var oe=k.ref;return N1(k,te),B=TN(y,k,_,B,oe,te),_=DN(),y!==null&&!hi?(k.updateQueue=y.updateQueue,k.flags&=-2053,y.lanes&=~te,Lf(y,k,te)):(uo&&_&&gN(k),k.flags|=1,$a(y,k,B,te),k.child)}function Fz(y,k,_,B,te){if(y===null){var oe=_.type;return typeof oe=="function"&&!uI(oe)&&oe.defaultProps===void 0&&_.compare===null&&_.defaultProps===void 0?(k.tag=15,k.type=oe,Bz(y,k,oe,B,te)):(y=V4(_.type,null,B,k,k.mode,te),y.ref=k.ref,y.return=k,k.child=y)}if(oe=y.child,(y.lanes&te)===0){var ge=oe.memoizedProps;if(_=_.compare,_=_!==null?_:ct,_(ge,B)&&y.ref===k.ref)return Lf(y,k,te)}return k.flags|=1,y=Kd(oe,B),y.ref=k.ref,y.return=k,k.child=y}function Bz(y,k,_,B,te){if(y!==null){var oe=y.memoizedProps;if(ct(oe,B)&&y.ref===k.ref)if(hi=!1,k.pendingProps=B=oe,(y.lanes&te)!==0)(y.flags&131072)!==0&&(hi=!0);else return k.lanes=y.lanes,Lf(y,k,te)}return VN(y,k,_,B,te)}function Uz(y,k,_){var B=k.pendingProps,te=B.children,oe=y!==null?y.memoizedState:null;if(B.mode==="hidden")if((k.mode&1)===0)k.memoizedState={baseLanes:0,cachePool:null,transitions:null},Gr(M1,Wi),Wi|=_;else{if((_&1073741824)===0)return y=oe!==null?oe.baseLanes|_:_,k.lanes=k.childLanes=1073741824,k.memoizedState={baseLanes:y,cachePool:null,transitions:null},k.updateQueue=null,Gr(M1,Wi),Wi|=y,null;k.memoizedState={baseLanes:0,cachePool:null,transitions:null},B=oe!==null?oe.baseLanes:_,Gr(M1,Wi),Wi|=B}else oe!==null?(B=oe.baseLanes|_,k.memoizedState=null):B=_,Gr(M1,Wi),Wi|=B;return $a(y,k,te,_),k.child}function $z(y,k){var _=k.ref;(y===null&&_!==null||y!==null&&y.ref!==_)&&(k.flags|=512,k.flags|=2097152)}function VN(y,k,_,B,te){var oe=pi(_)?Xh:ha.current;return oe=x1(k,oe),N1(k,te),_=TN(y,k,_,B,oe,te),B=DN(),y!==null&&!hi?(k.updateQueue=y.updateQueue,k.flags&=-2053,y.lanes&=~te,Lf(y,k,te)):(uo&&B&&gN(k),k.flags|=1,$a(y,k,_,te),k.child)}function Vz(y,k,_,B,te){if(pi(_)){var oe=!0;h4(k)}else oe=!1;if(N1(k,te),k.stateNode===null)R4(y,k),Mz(k,_,B),BN(k,_,B,te),B=!0;else if(y===null){var ge=k.stateNode,Fe=k.memoizedProps;ge.props=Fe;var Ye=ge.context,ft=_.contextType;typeof ft=="object"&&ft!==null?ft=Nl(ft):(ft=pi(_)?Xh:ha.current,ft=x1(k,ft));var It=_.getDerivedStateFromProps,Rt=typeof It=="function"||typeof ge.getSnapshotBeforeUpdate=="function";Rt||typeof ge.UNSAFE_componentWillReceiveProps!="function"&&typeof ge.componentWillReceiveProps!="function"||(Fe!==B||Ye!==ft)&&Rz(k,ge,B,ft),$d=!1;var St=k.memoizedState;ge.state=St,j4(k,B,ge,te),Ye=k.memoizedState,Fe!==B||St!==Ye||di.current||$d?(typeof It=="function"&&(FN(k,_,It,B),Ye=k.memoizedState),(Fe=$d||_z(k,_,Fe,B,St,Ye,ft))?(Rt||typeof ge.UNSAFE_componentWillMount!="function"&&typeof ge.componentWillMount!="function"||(typeof ge.componentWillMount=="function"&&ge.componentWillMount(),typeof ge.UNSAFE_componentWillMount=="function"&&ge.UNSAFE_componentWillMount()),typeof ge.componentDidMount=="function"&&(k.flags|=4194308)):(typeof ge.componentDidMount=="function"&&(k.flags|=4194308),k.memoizedProps=B,k.memoizedState=Ye),ge.props=B,ge.state=Ye,ge.context=ft,B=Fe):(typeof ge.componentDidMount=="function"&&(k.flags|=4194308),B=!1)}else{ge=k.stateNode,sz(y,k),Fe=k.memoizedProps,ft=k.type===k.elementType?Fe:xc(k.type,Fe),ge.props=ft,Rt=k.pendingProps,St=ge.context,Ye=_.contextType,typeof Ye=="object"&&Ye!==null?Ye=Nl(Ye):(Ye=pi(_)?Xh:ha.current,Ye=x1(k,Ye));var Jt=_.getDerivedStateFromProps;(It=typeof Jt=="function"||typeof ge.getSnapshotBeforeUpdate=="function")||typeof ge.UNSAFE_componentWillReceiveProps!="function"&&typeof ge.componentWillReceiveProps!="function"||(Fe!==Rt||St!==Ye)&&Rz(k,ge,B,Ye),$d=!1,St=k.memoizedState,ge.state=St,j4(k,B,ge,te);var an=k.memoizedState;Fe!==Rt||St!==an||di.current||$d?(typeof Jt=="function"&&(FN(k,_,Jt,B),an=k.memoizedState),(ft=$d||_z(k,_,ft,B,St,an,Ye)||!1)?(It||typeof ge.UNSAFE_componentWillUpdate!="function"&&typeof ge.componentWillUpdate!="function"||(typeof ge.componentWillUpdate=="function"&&ge.componentWillUpdate(B,an,Ye),typeof ge.UNSAFE_componentWillUpdate=="function"&&ge.UNSAFE_componentWillUpdate(B,an,Ye)),typeof ge.componentDidUpdate=="function"&&(k.flags|=4),typeof ge.getSnapshotBeforeUpdate=="function"&&(k.flags|=1024)):(typeof ge.componentDidUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=4),typeof ge.getSnapshotBeforeUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=1024),k.memoizedProps=B,k.memoizedState=an),ge.props=B,ge.state=an,ge.context=Ye,B=ft):(typeof ge.componentDidUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=4),typeof ge.getSnapshotBeforeUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=1024),B=!1)}return HN(y,k,_,B,oe,te)}function HN(y,k,_,B,te,oe){$z(y,k);var ge=(k.flags&128)!==0;if(!B&&!ge)return te&&qO(k,_,!1),Lf(y,k,oe);B=k.stateNode,lwe.current=k;var Fe=ge&&typeof _.getDerivedStateFromError!="function"?null:B.render();return k.flags|=1,y!==null&&ge?(k.child=S1(k,y.child,null,oe),k.child=S1(k,null,Fe,oe)):$a(y,k,Fe,oe),k.memoizedState=B.state,te&&qO(k,_,!0),k.child}function Hz(y){var k=y.stateNode;k.pendingContext?YO(y,k.pendingContext,k.pendingContext!==k.context):k.context&&YO(y,k.context,!1),NN(y,k.containerInfo)}function Wz(y,k,_,B,te){return C1(),bN(te),k.flags|=256,$a(y,k,_,B),k.child}var WN={dehydrated:null,treeContext:null,retryLane:0};function YN(y){return{baseLanes:y,cachePool:null,transitions:null}}function Yz(y,k,_){var B=k.pendingProps,te=vo.current,oe=!1,ge=(k.flags&128)!==0,Fe;if((Fe=ge)||(Fe=y!==null&&y.memoizedState===null?!1:(te&2)!==0),Fe?(oe=!0,k.flags&=-129):(y===null||y.memoizedState!==null)&&(te|=1),Gr(vo,te&1),y===null)return wN(k),y=k.memoizedState,y!==null&&(y=y.dehydrated,y!==null)?((k.mode&1)===0?k.lanes=1:y.data==="$!"?k.lanes=8:k.lanes=1073741824,null):(ge=B.children,y=B.fallback,oe?(B=k.mode,oe=k.child,ge={mode:"hidden",children:ge},(B&1)===0&&oe!==null?(oe.childLanes=0,oe.pendingProps=ge):oe=H4(ge,B,0,null),y=cm(y,B,_,null),oe.return=k,y.return=k,oe.sibling=y,k.child=oe,k.child.memoizedState=YN(_),k.memoizedState=WN,y):GN(k,ge));if(te=y.memoizedState,te!==null&&(Fe=te.dehydrated,Fe!==null))return cwe(y,k,ge,B,Fe,te,_);if(oe){oe=B.fallback,ge=k.mode,te=y.child,Fe=te.sibling;var Ye={mode:"hidden",children:B.children};return(ge&1)===0&&k.child!==te?(B=k.child,B.childLanes=0,B.pendingProps=Ye,k.deletions=null):(B=Kd(te,Ye),B.subtreeFlags=te.subtreeFlags&14680064),Fe!==null?oe=Kd(Fe,oe):(oe=cm(oe,ge,_,null),oe.flags|=2),oe.return=k,B.return=k,B.sibling=oe,k.child=B,B=oe,oe=k.child,ge=y.child.memoizedState,ge=ge===null?YN(_):{baseLanes:ge.baseLanes|_,cachePool:null,transitions:ge.transitions},oe.memoizedState=ge,oe.childLanes=y.childLanes&~_,k.memoizedState=WN,B}return oe=y.child,y=oe.sibling,B=Kd(oe,{mode:"visible",children:B.children}),(k.mode&1)===0&&(B.lanes=_),B.return=k,B.sibling=null,y!==null&&(_=k.deletions,_===null?(k.deletions=[y],k.flags|=16):_.push(y)),k.child=B,k.memoizedState=null,B}function GN(y,k){return k=H4({mode:"visible",children:k},y.mode,0,null),k.return=y,y.child=k}function M4(y,k,_,B){return B!==null&&bN(B),S1(k,y.child,null,_),y=GN(k,k.pendingProps.children),y.flags|=2,k.memoizedState=null,y}function cwe(y,k,_,B,te,oe,ge){if(_)return k.flags&256?(k.flags&=-257,B=UN(Error(n(422))),M4(y,k,ge,B)):k.memoizedState!==null?(k.child=y.child,k.flags|=128,null):(oe=B.fallback,te=k.mode,B=H4({mode:"visible",children:B.children},te,0,null),oe=cm(oe,te,ge,null),oe.flags|=2,B.return=k,oe.return=k,B.sibling=oe,k.child=B,(k.mode&1)!==0&&S1(k,y.child,null,ge),k.child.memoizedState=YN(ge),k.memoizedState=WN,oe);if((k.mode&1)===0)return M4(y,k,ge,null);if(te.data==="$!"){if(B=te.nextSibling&&te.nextSibling.dataset,B)var Fe=B.dgst;return B=Fe,oe=Error(n(419)),B=UN(oe,B,void 0),M4(y,k,ge,B)}if(Fe=(ge&y.childLanes)!==0,hi||Fe){if(B=ks,B!==null){switch(ge&-ge){case 4:te=2;break;case 16:te=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:te=32;break;case 536870912:te=268435456;break;default:te=0}te=(te&(B.suspendedLanes|ge))!==0?0:te,te!==0&&te!==oe.retryLane&&(oe.retryLane=te,Tf(y,te),Cc(B,y,te,-1))}return cI(),B=UN(Error(n(421))),M4(y,k,ge,B)}return te.data==="$?"?(k.flags|=128,k.child=y.child,k=kwe.bind(null,y),te._reactRetry=k,null):(y=oe.treeContext,Hi=zd(te.nextSibling),Vi=k,uo=!0,bc=null,y!==null&&(Sl[El++]=Mf,Sl[El++]=Rf,Sl[El++]=em,Mf=y.id,Rf=y.overflow,em=k),k=GN(k,B.children),k.flags|=4096,k)}function Gz(y,k,_){y.lanes|=k;var B=y.alternate;B!==null&&(B.lanes|=k),CN(y.return,k,_)}function qN(y,k,_,B,te){var oe=y.memoizedState;oe===null?y.memoizedState={isBackwards:k,rendering:null,renderingStartTime:0,last:B,tail:_,tailMode:te}:(oe.isBackwards=k,oe.rendering=null,oe.renderingStartTime=0,oe.last=B,oe.tail=_,oe.tailMode=te)}function qz(y,k,_){var B=k.pendingProps,te=B.revealOrder,oe=B.tail;if($a(y,k,B.children,_),B=vo.current,(B&2)!==0)B=B&1|2,k.flags|=128;else{if(y!==null&&(y.flags&128)!==0)e:for(y=k.child;y!==null;){if(y.tag===13)y.memoizedState!==null&&Gz(y,_,k);else if(y.tag===19)Gz(y,_,k);else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===k)break e;for(;y.sibling===null;){if(y.return===null||y.return===k)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}B&=1}if(Gr(vo,B),(k.mode&1)===0)k.memoizedState=null;else switch(te){case"forwards":for(_=k.child,te=null;_!==null;)y=_.alternate,y!==null&&C4(y)===null&&(te=_),_=_.sibling;_=te,_===null?(te=k.child,k.child=null):(te=_.sibling,_.sibling=null),qN(k,!1,te,_,oe);break;case"backwards":for(_=null,te=k.child,k.child=null;te!==null;){if(y=te.alternate,y!==null&&C4(y)===null){k.child=te;break}y=te.sibling,te.sibling=_,_=te,te=y}qN(k,!0,_,null,oe);break;case"together":qN(k,!1,null,null,void 0);break;default:k.memoizedState=null}return k.child}function R4(y,k){(k.mode&1)===0&&y!==null&&(y.alternate=null,k.alternate=null,k.flags|=2)}function Lf(y,k,_){if(y!==null&&(k.dependencies=y.dependencies),sm|=k.lanes,(_&k.childLanes)===0)return null;if(y!==null&&k.child!==y.child)throw Error(n(153));if(k.child!==null){for(y=k.child,_=Kd(y,y.pendingProps),k.child=_,_.return=k;y.sibling!==null;)y=y.sibling,_=_.sibling=Kd(y,y.pendingProps),_.return=k;_.sibling=null}return k.child}function uwe(y,k,_){switch(k.tag){case 3:Hz(k),C1();break;case 5:lz(k);break;case 1:pi(k.type)&&h4(k);break;case 4:NN(k,k.stateNode.containerInfo);break;case 10:var B=k.type._context,te=k.memoizedProps.value;Gr(b4,B._currentValue),B._currentValue=te;break;case 13:if(B=k.memoizedState,B!==null)return B.dehydrated!==null?(Gr(vo,vo.current&1),k.flags|=128,null):(_&k.child.childLanes)!==0?Yz(y,k,_):(Gr(vo,vo.current&1),y=Lf(y,k,_),y!==null?y.sibling:null);Gr(vo,vo.current&1);break;case 19:if(B=(_&k.childLanes)!==0,(y.flags&128)!==0){if(B)return qz(y,k,_);k.flags|=128}if(te=k.memoizedState,te!==null&&(te.rendering=null,te.tail=null,te.lastEffect=null),Gr(vo,vo.current),B)break;return null;case 22:case 23:return k.lanes=0,Uz(y,k,_)}return Lf(y,k,_)}var Kz,KN,Zz,Qz;Kz=function(y,k){for(var _=k.child;_!==null;){if(_.tag===5||_.tag===6)y.appendChild(_.stateNode);else if(_.tag!==4&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===k)break;for(;_.sibling===null;){if(_.return===null||_.return===k)return;_=_.return}_.sibling.return=_.return,_=_.sibling}},KN=function(){},Zz=function(y,k,_,B){var te=y.memoizedProps;if(te!==B){y=k.stateNode,rm(vu.current);var oe=null;switch(_){case"input":te=ve(y,te),B=ve(y,B),oe=[];break;case"select":te=q({},te,{value:void 0}),B=q({},B,{value:void 0}),oe=[];break;case"textarea":te=et(y,te),B=et(y,B),oe=[];break;default:typeof te.onClick!="function"&&typeof B.onClick=="function"&&(y.onclick=f4)}Xe(_,B);var ge;_=null;for(ft in te)if(!B.hasOwnProperty(ft)&&te.hasOwnProperty(ft)&&te[ft]!=null)if(ft==="style"){var Fe=te[ft];for(ge in Fe)Fe.hasOwnProperty(ge)&&(_||(_={}),_[ge]="")}else ft!=="dangerouslySetInnerHTML"&&ft!=="children"&&ft!=="suppressContentEditableWarning"&&ft!=="suppressHydrationWarning"&&ft!=="autoFocus"&&(o.hasOwnProperty(ft)?oe||(oe=[]):(oe=oe||[]).push(ft,null));for(ft in B){var Ye=B[ft];if(Fe=te!=null?te[ft]:void 0,B.hasOwnProperty(ft)&&Ye!==Fe&&(Ye!=null||Fe!=null))if(ft==="style")if(Fe){for(ge in Fe)!Fe.hasOwnProperty(ge)||Ye&&Ye.hasOwnProperty(ge)||(_||(_={}),_[ge]="");for(ge in Ye)Ye.hasOwnProperty(ge)&&Fe[ge]!==Ye[ge]&&(_||(_={}),_[ge]=Ye[ge])}else _||(oe||(oe=[]),oe.push(ft,_)),_=Ye;else ft==="dangerouslySetInnerHTML"?(Ye=Ye?Ye.__html:void 0,Fe=Fe?Fe.__html:void 0,Ye!=null&&Fe!==Ye&&(oe=oe||[]).push(ft,Ye)):ft==="children"?typeof Ye!="string"&&typeof Ye!="number"||(oe=oe||[]).push(ft,""+Ye):ft!=="suppressContentEditableWarning"&&ft!=="suppressHydrationWarning"&&(o.hasOwnProperty(ft)?(Ye!=null&&ft==="onScroll"&&Jr("scroll",y),oe||Fe===Ye||(oe=[])):(oe=oe||[]).push(ft,Ye))}_&&(oe=oe||[]).push("style",_);var ft=oe;(k.updateQueue=ft)&&(k.flags|=4)}},Qz=function(y,k,_,B){_!==B&&(k.flags|=4)};function Gv(y,k){if(!uo)switch(y.tailMode){case"hidden":k=y.tail;for(var _=null;k!==null;)k.alternate!==null&&(_=k),k=k.sibling;_===null?y.tail=null:_.sibling=null;break;case"collapsed":_=y.tail;for(var B=null;_!==null;)_.alternate!==null&&(B=_),_=_.sibling;B===null?k||y.tail===null?y.tail=null:y.tail.sibling=null:B.sibling=null}}function ga(y){var k=y.alternate!==null&&y.alternate.child===y.child,_=0,B=0;if(k)for(var te=y.child;te!==null;)_|=te.lanes|te.childLanes,B|=te.subtreeFlags&14680064,B|=te.flags&14680064,te.return=y,te=te.sibling;else for(te=y.child;te!==null;)_|=te.lanes|te.childLanes,B|=te.subtreeFlags,B|=te.flags,te.return=y,te=te.sibling;return y.subtreeFlags|=B,y.childLanes=_,k}function fwe(y,k,_){var B=k.pendingProps;switch(yN(k),k.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ga(k),null;case 1:return pi(k.type)&&p4(),ga(k),null;case 3:return B=k.stateNode,I1(),Xr(di),Xr(ha),_N(),B.pendingContext&&(B.context=B.pendingContext,B.pendingContext=null),(y===null||y.child===null)&&(v4(k)?k.flags|=4:y===null||y.memoizedState.isDehydrated&&(k.flags&256)===0||(k.flags|=1024,bc!==null&&(aI(bc),bc=null))),KN(y,k),ga(k),null;case 5:IN(k);var te=rm($v.current);if(_=k.type,y!==null&&k.stateNode!=null)Zz(y,k,_,B,te),y.ref!==k.ref&&(k.flags|=512,k.flags|=2097152);else{if(!B){if(k.stateNode===null)throw Error(n(166));return ga(k),null}if(y=rm(vu.current),v4(k)){B=k.stateNode,_=k.type;var oe=k.memoizedProps;switch(B[yu]=k,B[Ov]=oe,y=(k.mode&1)!==0,_){case"dialog":Jr("cancel",B),Jr("close",B);break;case"iframe":case"object":case"embed":Jr("load",B);break;case"video":case"audio":for(te=0;te<Dv.length;te++)Jr(Dv[te],B);break;case"source":Jr("error",B);break;case"img":case"image":case"link":Jr("error",B),Jr("load",B);break;case"details":Jr("toggle",B);break;case"input":Ie(B,oe),Jr("invalid",B);break;case"select":B._wrapperState={wasMultiple:!!oe.multiple},Jr("invalid",B);break;case"textarea":pt(B,oe),Jr("invalid",B)}Xe(_,oe),te=null;for(var ge in oe)if(oe.hasOwnProperty(ge)){var Fe=oe[ge];ge==="children"?typeof Fe=="string"?B.textContent!==Fe&&(oe.suppressHydrationWarning!==!0&&u4(B.textContent,Fe,y),te=["children",Fe]):typeof Fe=="number"&&B.textContent!==""+Fe&&(oe.suppressHydrationWarning!==!0&&u4(B.textContent,Fe,y),te=["children",""+Fe]):o.hasOwnProperty(ge)&&Fe!=null&&ge==="onScroll"&&Jr("scroll",B)}switch(_){case"input":ke(B),nt(B,oe,!0);break;case"textarea":ke(B),at(B);break;case"select":case"option":break;default:typeof oe.onClick=="function"&&(B.onclick=f4)}B=te,k.updateQueue=B,B!==null&&(k.flags|=4)}else{ge=te.nodeType===9?te:te.ownerDocument,y==="http://www.w3.org/1999/xhtml"&&(y=De(_)),y==="http://www.w3.org/1999/xhtml"?_==="script"?(y=ge.createElement("div"),y.innerHTML="<script><\/script>",y=y.removeChild(y.firstChild)):typeof B.is=="string"?y=ge.createElement(_,{is:B.is}):(y=ge.createElement(_),_==="select"&&(ge=y,B.multiple?ge.multiple=!0:B.size&&(ge.size=B.size))):y=ge.createElementNS(y,_),y[yu]=k,y[Ov]=B,Kz(y,k,!1,!1),k.stateNode=y;e:{switch(ge=Re(_,B),_){case"dialog":Jr("cancel",y),Jr("close",y),te=B;break;case"iframe":case"object":case"embed":Jr("load",y),te=B;break;case"video":case"audio":for(te=0;te<Dv.length;te++)Jr(Dv[te],y);te=B;break;case"source":Jr("error",y),te=B;break;case"img":case"image":case"link":Jr("error",y),Jr("load",y),te=B;break;case"details":Jr("toggle",y),te=B;break;case"input":Ie(y,B),te=ve(y,B),Jr("invalid",y);break;case"option":te=B;break;case"select":y._wrapperState={wasMultiple:!!B.multiple},te=q({},B,{value:void 0}),Jr("invalid",y);break;case"textarea":pt(y,B),te=et(y,B),Jr("invalid",y);break;default:te=B}Xe(_,te),Fe=te;for(oe in Fe)if(Fe.hasOwnProperty(oe)){var Ye=Fe[oe];oe==="style"?me(y,Ye):oe==="dangerouslySetInnerHTML"?(Ye=Ye?Ye.__html:void 0,Ye!=null&&Q(y,Ye)):oe==="children"?typeof Ye=="string"?(_!=="textarea"||Ye!=="")&&ie(y,Ye):typeof Ye=="number"&&ie(y,""+Ye):oe!=="suppressContentEditableWarning"&&oe!=="suppressHydrationWarning"&&oe!=="autoFocus"&&(o.hasOwnProperty(oe)?Ye!=null&&oe==="onScroll"&&Jr("scroll",y):Ye!=null&&N(y,oe,Ye,ge))}switch(_){case"input":ke(y),nt(y,B,!1);break;case"textarea":ke(y),at(y);break;case"option":B.value!=null&&y.setAttribute("value",""+ce(B.value));break;case"select":y.multiple=!!B.multiple,oe=B.value,oe!=null?_e(y,!!B.multiple,oe,!1):B.defaultValue!=null&&_e(y,!!B.multiple,B.defaultValue,!0);break;default:typeof te.onClick=="function"&&(y.onclick=f4)}switch(_){case"button":case"input":case"select":case"textarea":B=!!B.autoFocus;break e;case"img":B=!0;break e;default:B=!1}}B&&(k.flags|=4)}k.ref!==null&&(k.flags|=512,k.flags|=2097152)}return ga(k),null;case 6:if(y&&k.stateNode!=null)Qz(y,k,y.memoizedProps,B);else{if(typeof B!="string"&&k.stateNode===null)throw Error(n(166));if(_=rm($v.current),rm(vu.current),v4(k)){if(B=k.stateNode,_=k.memoizedProps,B[yu]=k,(oe=B.nodeValue!==_)&&(y=Vi,y!==null))switch(y.tag){case 3:u4(B.nodeValue,_,(y.mode&1)!==0);break;case 5:y.memoizedProps.suppressHydrationWarning!==!0&&u4(B.nodeValue,_,(y.mode&1)!==0)}oe&&(k.flags|=4)}else B=(_.nodeType===9?_:_.ownerDocument).createTextNode(B),B[yu]=k,k.stateNode=B}return ga(k),null;case 13:if(Xr(vo),B=k.memoizedState,y===null||y.memoizedState!==null&&y.memoizedState.dehydrated!==null){if(uo&&Hi!==null&&(k.mode&1)!==0&&(k.flags&128)===0)ez(),C1(),k.flags|=98560,oe=!1;else if(oe=v4(k),B!==null&&B.dehydrated!==null){if(y===null){if(!oe)throw Error(n(318));if(oe=k.memoizedState,oe=oe!==null?oe.dehydrated:null,!oe)throw Error(n(317));oe[yu]=k}else C1(),(k.flags&128)===0&&(k.memoizedState=null),k.flags|=4;ga(k),oe=!1}else bc!==null&&(aI(bc),bc=null),oe=!0;if(!oe)return k.flags&65536?k:null}return(k.flags&128)!==0?(k.lanes=_,k):(B=B!==null,B!==(y!==null&&y.memoizedState!==null)&&B&&(k.child.flags|=8192,(k.mode&1)!==0&&(y===null||(vo.current&1)!==0?cs===0&&(cs=3):cI())),k.updateQueue!==null&&(k.flags|=4),ga(k),null);case 4:return I1(),KN(y,k),y===null&&Lv(k.stateNode.containerInfo),ga(k),null;case 10:return jN(k.type._context),ga(k),null;case 17:return pi(k.type)&&p4(),ga(k),null;case 19:if(Xr(vo),oe=k.memoizedState,oe===null)return ga(k),null;if(B=(k.flags&128)!==0,ge=oe.rendering,ge===null)if(B)Gv(oe,!1);else{if(cs!==0||y!==null&&(y.flags&128)!==0)for(y=k.child;y!==null;){if(ge=C4(y),ge!==null){for(k.flags|=128,Gv(oe,!1),B=ge.updateQueue,B!==null&&(k.updateQueue=B,k.flags|=4),k.subtreeFlags=0,B=_,_=k.child;_!==null;)oe=_,y=B,oe.flags&=14680066,ge=oe.alternate,ge===null?(oe.childLanes=0,oe.lanes=y,oe.child=null,oe.subtreeFlags=0,oe.memoizedProps=null,oe.memoizedState=null,oe.updateQueue=null,oe.dependencies=null,oe.stateNode=null):(oe.childLanes=ge.childLanes,oe.lanes=ge.lanes,oe.child=ge.child,oe.subtreeFlags=0,oe.deletions=null,oe.memoizedProps=ge.memoizedProps,oe.memoizedState=ge.memoizedState,oe.updateQueue=ge.updateQueue,oe.type=ge.type,y=ge.dependencies,oe.dependencies=y===null?null:{lanes:y.lanes,firstContext:y.firstContext}),_=_.sibling;return Gr(vo,vo.current&1|2),k.child}y=y.sibling}oe.tail!==null&&Ir()>R1&&(k.flags|=128,B=!0,Gv(oe,!1),k.lanes=4194304)}else{if(!B)if(y=C4(ge),y!==null){if(k.flags|=128,B=!0,_=y.updateQueue,_!==null&&(k.updateQueue=_,k.flags|=4),Gv(oe,!0),oe.tail===null&&oe.tailMode==="hidden"&&!ge.alternate&&!uo)return ga(k),null}else 2*Ir()-oe.renderingStartTime>R1&&_!==1073741824&&(k.flags|=128,B=!0,Gv(oe,!1),k.lanes=4194304);oe.isBackwards?(ge.sibling=k.child,k.child=ge):(_=oe.last,_!==null?_.sibling=ge:k.child=ge,oe.last=ge)}return oe.tail!==null?(k=oe.tail,oe.rendering=k,oe.tail=k.sibling,oe.renderingStartTime=Ir(),k.sibling=null,_=vo.current,Gr(vo,B?_&1|2:_&1),k):(ga(k),null);case 22:case 23:return lI(),B=k.memoizedState!==null,y!==null&&y.memoizedState!==null!==B&&(k.flags|=8192),B&&(k.mode&1)!==0?(Wi&1073741824)!==0&&(ga(k),k.subtreeFlags&6&&(k.flags|=8192)):ga(k),null;case 24:return null;case 25:return null}throw Error(n(156,k.tag))}function dwe(y,k){switch(yN(k),k.tag){case 1:return pi(k.type)&&p4(),y=k.flags,y&65536?(k.flags=y&-65537|128,k):null;case 3:return I1(),Xr(di),Xr(ha),_N(),y=k.flags,(y&65536)!==0&&(y&128)===0?(k.flags=y&-65537|128,k):null;case 5:return IN(k),null;case 13:if(Xr(vo),y=k.memoizedState,y!==null&&y.dehydrated!==null){if(k.alternate===null)throw Error(n(340));C1()}return y=k.flags,y&65536?(k.flags=y&-65537|128,k):null;case 19:return Xr(vo),null;case 4:return I1(),null;case 10:return jN(k.type._context),null;case 22:case 23:return lI(),null;case 24:return null;default:return null}}var T4=!1,ya=!1,pwe=typeof WeakSet=="function"?WeakSet:Set,rn=null;function _1(y,k){var _=y.ref;if(_!==null)if(typeof _=="function")try{_(null)}catch(B){Io(y,k,B)}else _.current=null}function ZN(y,k,_){try{_()}catch(B){Io(y,k,B)}}var Jz=!1;function hwe(y,k){if(lN=mu,y=Gn(),Mn(y)){if("selectionStart"in y)var _={start:y.selectionStart,end:y.selectionEnd};else e:{_=(_=y.ownerDocument)&&_.defaultView||window;var B=_.getSelection&&_.getSelection();if(B&&B.rangeCount!==0){_=B.anchorNode;var te=B.anchorOffset,oe=B.focusNode;B=B.focusOffset;try{_.nodeType,oe.nodeType}catch{_=null;break e}var ge=0,Fe=-1,Ye=-1,ft=0,It=0,Rt=y,St=null;t:for(;;){for(var Jt;Rt!==_||te!==0&&Rt.nodeType!==3||(Fe=ge+te),Rt!==oe||B!==0&&Rt.nodeType!==3||(Ye=ge+B),Rt.nodeType===3&&(ge+=Rt.nodeValue.length),(Jt=Rt.firstChild)!==null;)St=Rt,Rt=Jt;for(;;){if(Rt===y)break t;if(St===_&&++ft===te&&(Fe=ge),St===oe&&++It===B&&(Ye=ge),(Jt=Rt.nextSibling)!==null)break;Rt=St,St=Rt.parentNode}Rt=Jt}_=Fe===-1||Ye===-1?null:{start:Fe,end:Ye}}else _=null}_=_||{start:0,end:0}}else _=null;for(cN={focusedElem:y,selectionRange:_},mu=!1,rn=k;rn!==null;)if(k=rn,y=k.child,(k.subtreeFlags&1028)!==0&&y!==null)y.return=k,rn=y;else for(;rn!==null;){k=rn;try{var an=k.alternate;if((k.flags&1024)!==0)switch(k.tag){case 0:case 11:case 15:break;case 1:if(an!==null){var cn=an.memoizedProps,zo=an.memoizedState,st=k.stateNode,Je=st.getSnapshotBeforeUpdate(k.elementType===k.type?cn:xc(k.type,cn),zo);st.__reactInternalSnapshotBeforeUpdate=Je}break;case 3:var it=k.stateNode.containerInfo;it.nodeType===1?it.textContent="":it.nodeType===9&&it.documentElement&&it.removeChild(it.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(Ut){Io(k,k.return,Ut)}if(y=k.sibling,y!==null){y.return=k.return,rn=y;break}rn=k.return}return an=Jz,Jz=!1,an}function qv(y,k,_){var B=k.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var te=B=B.next;do{if((te.tag&y)===y){var oe=te.destroy;te.destroy=void 0,oe!==void 0&&ZN(k,_,oe)}te=te.next}while(te!==B)}}function D4(y,k){if(k=k.updateQueue,k=k!==null?k.lastEffect:null,k!==null){var _=k=k.next;do{if((_.tag&y)===y){var B=_.create;_.destroy=B()}_=_.next}while(_!==k)}}function QN(y){var k=y.ref;if(k!==null){var _=y.stateNode;switch(y.tag){case 5:y=_;break;default:y=_}typeof k=="function"?k(y):k.current=y}}function Xz(y){var k=y.alternate;k!==null&&(y.alternate=null,Xz(k)),y.child=null,y.deletions=null,y.sibling=null,y.tag===5&&(k=y.stateNode,k!==null&&(delete k[yu],delete k[Ov],delete k[pN],delete k[Zve],delete k[Qve])),y.stateNode=null,y.return=null,y.dependencies=null,y.memoizedProps=null,y.memoizedState=null,y.pendingProps=null,y.stateNode=null,y.updateQueue=null}function eF(y){return y.tag===5||y.tag===3||y.tag===4}function tF(y){e:for(;;){for(;y.sibling===null;){if(y.return===null||eF(y.return))return null;y=y.return}for(y.sibling.return=y.return,y=y.sibling;y.tag!==5&&y.tag!==6&&y.tag!==18;){if(y.flags&2||y.child===null||y.tag===4)continue e;y.child.return=y,y=y.child}if(!(y.flags&2))return y.stateNode}}function JN(y,k,_){var B=y.tag;if(B===5||B===6)y=y.stateNode,k?_.nodeType===8?_.parentNode.insertBefore(y,k):_.insertBefore(y,k):(_.nodeType===8?(k=_.parentNode,k.insertBefore(y,_)):(k=_,k.appendChild(y)),_=_._reactRootContainer,_!=null||k.onclick!==null||(k.onclick=f4));else if(B!==4&&(y=y.child,y!==null))for(JN(y,k,_),y=y.sibling;y!==null;)JN(y,k,_),y=y.sibling}function XN(y,k,_){var B=y.tag;if(B===5||B===6)y=y.stateNode,k?_.insertBefore(y,k):_.appendChild(y);else if(B!==4&&(y=y.child,y!==null))for(XN(y,k,_),y=y.sibling;y!==null;)XN(y,k,_),y=y.sibling}var Ys=null,kc=!1;function Hd(y,k,_){for(_=_.child;_!==null;)nF(y,k,_),_=_.sibling}function nF(y,k,_){if(On&&typeof On.onCommitFiberUnmount=="function")try{On.onCommitFiberUnmount(ar,_)}catch{}switch(_.tag){case 5:ya||_1(_,k);case 6:var B=Ys,te=kc;Ys=null,Hd(y,k,_),Ys=B,kc=te,Ys!==null&&(kc?(y=Ys,_=_.stateNode,y.nodeType===8?y.parentNode.removeChild(_):y.removeChild(_)):Ys.removeChild(_.stateNode));break;case 18:Ys!==null&&(kc?(y=Ys,_=_.stateNode,y.nodeType===8?dN(y.parentNode,_):y.nodeType===1&&dN(y,_),yc(y)):dN(Ys,_.stateNode));break;case 4:B=Ys,te=kc,Ys=_.stateNode.containerInfo,kc=!0,Hd(y,k,_),Ys=B,kc=te;break;case 0:case 11:case 14:case 15:if(!ya&&(B=_.updateQueue,B!==null&&(B=B.lastEffect,B!==null))){te=B=B.next;do{var oe=te,ge=oe.destroy;oe=oe.tag,ge!==void 0&&((oe&2)!==0||(oe&4)!==0)&&ZN(_,k,ge),te=te.next}while(te!==B)}Hd(y,k,_);break;case 1:if(!ya&&(_1(_,k),B=_.stateNode,typeof B.componentWillUnmount=="function"))try{B.props=_.memoizedProps,B.state=_.memoizedState,B.componentWillUnmount()}catch(Fe){Io(_,k,Fe)}Hd(y,k,_);break;case 21:Hd(y,k,_);break;case 22:_.mode&1?(ya=(B=ya)||_.memoizedState!==null,Hd(y,k,_),ya=B):Hd(y,k,_);break;default:Hd(y,k,_)}}function rF(y){var k=y.updateQueue;if(k!==null){y.updateQueue=null;var _=y.stateNode;_===null&&(_=y.stateNode=new pwe),k.forEach(function(B){var te=jwe.bind(null,y,B);_.has(B)||(_.add(B),B.then(te,te))})}}function jc(y,k){var _=k.deletions;if(_!==null)for(var B=0;B<_.length;B++){var te=_[B];try{var oe=y,ge=k,Fe=ge;e:for(;Fe!==null;){switch(Fe.tag){case 5:Ys=Fe.stateNode,kc=!1;break e;case 3:Ys=Fe.stateNode.containerInfo,kc=!0;break e;case 4:Ys=Fe.stateNode.containerInfo,kc=!0;break e}Fe=Fe.return}if(Ys===null)throw Error(n(160));nF(oe,ge,te),Ys=null,kc=!1;var Ye=te.alternate;Ye!==null&&(Ye.return=null),te.return=null}catch(ft){Io(te,k,ft)}}if(k.subtreeFlags&12854)for(k=k.child;k!==null;)oF(k,y),k=k.sibling}function oF(y,k){var _=y.alternate,B=y.flags;switch(y.tag){case 0:case 11:case 14:case 15:if(jc(k,y),bu(y),B&4){try{qv(3,y,y.return),D4(3,y)}catch(cn){Io(y,y.return,cn)}try{qv(5,y,y.return)}catch(cn){Io(y,y.return,cn)}}break;case 1:jc(k,y),bu(y),B&512&&_!==null&&_1(_,_.return);break;case 5:if(jc(k,y),bu(y),B&512&&_!==null&&_1(_,_.return),y.flags&32){var te=y.stateNode;try{ie(te,"")}catch(cn){Io(y,y.return,cn)}}if(B&4&&(te=y.stateNode,te!=null)){var oe=y.memoizedProps,ge=_!==null?_.memoizedProps:oe,Fe=y.type,Ye=y.updateQueue;if(y.updateQueue=null,Ye!==null)try{Fe==="input"&&oe.type==="radio"&&oe.name!=null&&Ve(te,oe),Re(Fe,ge);var ft=Re(Fe,oe);for(ge=0;ge<Ye.length;ge+=2){var It=Ye[ge],Rt=Ye[ge+1];It==="style"?me(te,Rt):It==="dangerouslySetInnerHTML"?Q(te,Rt):It==="children"?ie(te,Rt):N(te,It,Rt,ft)}switch(Fe){case"input":Qe(te,oe);break;case"textarea":ht(te,oe);break;case"select":var St=te._wrapperState.wasMultiple;te._wrapperState.wasMultiple=!!oe.multiple;var Jt=oe.value;Jt!=null?_e(te,!!oe.multiple,Jt,!1):St!==!!oe.multiple&&(oe.defaultValue!=null?_e(te,!!oe.multiple,oe.defaultValue,!0):_e(te,!!oe.multiple,oe.multiple?[]:"",!1))}te[Ov]=oe}catch(cn){Io(y,y.return,cn)}}break;case 6:if(jc(k,y),bu(y),B&4){if(y.stateNode===null)throw Error(n(162));te=y.stateNode,oe=y.memoizedProps;try{te.nodeValue=oe}catch(cn){Io(y,y.return,cn)}}break;case 3:if(jc(k,y),bu(y),B&4&&_!==null&&_.memoizedState.isDehydrated)try{yc(k.containerInfo)}catch(cn){Io(y,y.return,cn)}break;case 4:jc(k,y),bu(y);break;case 13:jc(k,y),bu(y),te=y.child,te.flags&8192&&(oe=te.memoizedState!==null,te.stateNode.isHidden=oe,!oe||te.alternate!==null&&te.alternate.memoizedState!==null||(nI=Ir())),B&4&&rF(y);break;case 22:if(It=_!==null&&_.memoizedState!==null,y.mode&1?(ya=(ft=ya)||It,jc(k,y),ya=ft):jc(k,y),bu(y),B&8192){if(ft=y.memoizedState!==null,(y.stateNode.isHidden=ft)&&!It&&(y.mode&1)!==0)for(rn=y,It=y.child;It!==null;){for(Rt=rn=It;rn!==null;){switch(St=rn,Jt=St.child,St.tag){case 0:case 11:case 14:case 15:qv(4,St,St.return);break;case 1:_1(St,St.return);var an=St.stateNode;if(typeof an.componentWillUnmount=="function"){B=St,_=St.return;try{k=B,an.props=k.memoizedProps,an.state=k.memoizedState,an.componentWillUnmount()}catch(cn){Io(B,_,cn)}}break;case 5:_1(St,St.return);break;case 22:if(St.memoizedState!==null){iF(Rt);continue}}Jt!==null?(Jt.return=St,rn=Jt):iF(Rt)}It=It.sibling}e:for(It=null,Rt=y;;){if(Rt.tag===5){if(It===null){It=Rt;try{te=Rt.stateNode,ft?(oe=te.style,typeof oe.setProperty=="function"?oe.setProperty("display","none","important"):oe.display="none"):(Fe=Rt.stateNode,Ye=Rt.memoizedProps.style,ge=Ye!=null&&Ye.hasOwnProperty("display")?Ye.display:null,Fe.style.display=Ce("display",ge))}catch(cn){Io(y,y.return,cn)}}}else if(Rt.tag===6){if(It===null)try{Rt.stateNode.nodeValue=ft?"":Rt.memoizedProps}catch(cn){Io(y,y.return,cn)}}else if((Rt.tag!==22&&Rt.tag!==23||Rt.memoizedState===null||Rt===y)&&Rt.child!==null){Rt.child.return=Rt,Rt=Rt.child;continue}if(Rt===y)break e;for(;Rt.sibling===null;){if(Rt.return===null||Rt.return===y)break e;It===Rt&&(It=null),Rt=Rt.return}It===Rt&&(It=null),Rt.sibling.return=Rt.return,Rt=Rt.sibling}}break;case 19:jc(k,y),bu(y),B&4&&rF(y);break;case 21:break;default:jc(k,y),bu(y)}}function bu(y){var k=y.flags;if(k&2){try{e:{for(var _=y.return;_!==null;){if(eF(_)){var B=_;break e}_=_.return}throw Error(n(160))}switch(B.tag){case 5:var te=B.stateNode;B.flags&32&&(ie(te,""),B.flags&=-33);var oe=tF(y);XN(y,oe,te);break;case 3:case 4:var ge=B.stateNode.containerInfo,Fe=tF(y);JN(y,Fe,ge);break;default:throw Error(n(161))}}catch(Ye){Io(y,y.return,Ye)}y.flags&=-3}k&4096&&(y.flags&=-4097)}function mwe(y,k,_){rn=y,sF(y)}function sF(y,k,_){for(var B=(y.mode&1)!==0;rn!==null;){var te=rn,oe=te.child;if(te.tag===22&&B){var ge=te.memoizedState!==null||T4;if(!ge){var Fe=te.alternate,Ye=Fe!==null&&Fe.memoizedState!==null||ya;Fe=T4;var ft=ya;if(T4=ge,(ya=Ye)&&!ft)for(rn=te;rn!==null;)ge=rn,Ye=ge.child,ge.tag===22&&ge.memoizedState!==null?lF(te):Ye!==null?(Ye.return=ge,rn=Ye):lF(te);for(;oe!==null;)rn=oe,sF(oe),oe=oe.sibling;rn=te,T4=Fe,ya=ft}aF(y)}else(te.subtreeFlags&8772)!==0&&oe!==null?(oe.return=te,rn=oe):aF(y)}}function aF(y){for(;rn!==null;){var k=rn;if((k.flags&8772)!==0){var _=k.alternate;try{if((k.flags&8772)!==0)switch(k.tag){case 0:case 11:case 15:ya||D4(5,k);break;case 1:var B=k.stateNode;if(k.flags&4&&!ya)if(_===null)B.componentDidMount();else{var te=k.elementType===k.type?_.memoizedProps:xc(k.type,_.memoizedProps);B.componentDidUpdate(te,_.memoizedState,B.__reactInternalSnapshotBeforeUpdate)}var oe=k.updateQueue;oe!==null&&iz(k,oe,B);break;case 3:var ge=k.updateQueue;if(ge!==null){if(_=null,k.child!==null)switch(k.child.tag){case 5:_=k.child.stateNode;break;case 1:_=k.child.stateNode}iz(k,ge,_)}break;case 5:var Fe=k.stateNode;if(_===null&&k.flags&4){_=Fe;var Ye=k.memoizedProps;switch(k.type){case"button":case"input":case"select":case"textarea":Ye.autoFocus&&_.focus();break;case"img":Ye.src&&(_.src=Ye.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(k.memoizedState===null){var ft=k.alternate;if(ft!==null){var It=ft.memoizedState;if(It!==null){var Rt=It.dehydrated;Rt!==null&&yc(Rt)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}ya||k.flags&512&&QN(k)}catch(St){Io(k,k.return,St)}}if(k===y){rn=null;break}if(_=k.sibling,_!==null){_.return=k.return,rn=_;break}rn=k.return}}function iF(y){for(;rn!==null;){var k=rn;if(k===y){rn=null;break}var _=k.sibling;if(_!==null){_.return=k.return,rn=_;break}rn=k.return}}function lF(y){for(;rn!==null;){var k=rn;try{switch(k.tag){case 0:case 11:case 15:var _=k.return;try{D4(4,k)}catch(Ye){Io(k,_,Ye)}break;case 1:var B=k.stateNode;if(typeof B.componentDidMount=="function"){var te=k.return;try{B.componentDidMount()}catch(Ye){Io(k,te,Ye)}}var oe=k.return;try{QN(k)}catch(Ye){Io(k,oe,Ye)}break;case 5:var ge=k.return;try{QN(k)}catch(Ye){Io(k,ge,Ye)}}}catch(Ye){Io(k,k.return,Ye)}if(k===y){rn=null;break}var Fe=k.sibling;if(Fe!==null){Fe.return=k.return,rn=Fe;break}rn=k.return}}var gwe=Math.ceil,L4=M.ReactCurrentDispatcher,eI=M.ReactCurrentOwner,Al=M.ReactCurrentBatchConfig,mr=0,ks=null,Vo=null,Gs=0,Wi=0,M1=Fd(0),cs=0,Kv=null,sm=0,P4=0,tI=0,Zv=null,mi=null,nI=0,R1=1/0,Pf=null,O4=!1,rI=null,Wd=null,z4=!1,Yd=null,F4=0,Qv=0,oI=null,B4=-1,U4=0;function Va(){return(mr&6)!==0?Ir():B4!==-1?B4:B4=Ir()}function Gd(y){return(y.mode&1)===0?1:(mr&2)!==0&&Gs!==0?Gs&-Gs:Xve.transition!==null?(U4===0&&(U4=rs()),U4):(y=zn,y!==0||(y=window.event,y=y===void 0?16:Cv(y.type)),y)}function Cc(y,k,_,B){if(50<Qv)throw Qv=0,oI=null,Error(n(185));Ne(y,_,B),((mr&2)===0||y!==ks)&&(y===ks&&((mr&2)===0&&(P4|=_),cs===4&&qd(y,Gs)),gi(y,B),_===1&&mr===0&&(k.mode&1)===0&&(R1=Ir()+500,m4&&Ud()))}function gi(y,k){var _=y.callbackNode;Id(y,k);var B=Fi(y,y===ks?Gs:0);if(B===0)_!==null&&ws(_),y.callbackNode=null,y.callbackPriority=0;else if(k=B&-B,y.callbackPriority!==k){if(_!=null&&ws(_),k===1)y.tag===0?Jve(uF.bind(null,y)):KO(uF.bind(null,y)),qve(function(){(mr&6)===0&&Ud()}),_=null;else{switch(Zx(B)){case 1:_=jt;break;case 4:_=qx;break;case 16:_=zr;break;case 536870912:_=Kx;break;default:_=zr}_=vF(_,cF.bind(null,y))}y.callbackPriority=k,y.callbackNode=_}}function cF(y,k){if(B4=-1,U4=0,(mr&6)!==0)throw Error(n(327));var _=y.callbackNode;if(T1()&&y.callbackNode!==_)return null;var B=Fi(y,y===ks?Gs:0);if(B===0)return null;if((B&30)!==0||(B&y.expiredLanes)!==0||k)k=$4(y,B);else{k=B;var te=mr;mr|=2;var oe=dF();(ks!==y||Gs!==k)&&(Pf=null,R1=Ir()+500,im(y,k));do try{wwe();break}catch(Fe){fF(y,Fe)}while(!0);kN(),L4.current=oe,mr=te,Vo!==null?k=0:(ks=null,Gs=0,k=cs)}if(k!==0){if(k===2&&(te=Ar(y),te!==0&&(B=te,k=sI(y,te))),k===1)throw _=Kv,im(y,0),qd(y,B),gi(y,Ir()),_;if(k===6)qd(y,B);else{if(te=y.current.alternate,(B&30)===0&&!ywe(te)&&(k=$4(y,B),k===2&&(oe=Ar(y),oe!==0&&(B=oe,k=sI(y,oe))),k===1))throw _=Kv,im(y,0),qd(y,B),gi(y,Ir()),_;switch(y.finishedWork=te,y.finishedLanes=B,k){case 0:case 1:throw Error(n(345));case 2:lm(y,mi,Pf);break;case 3:if(qd(y,B),(B&130023424)===B&&(k=nI+500-Ir(),10<k)){if(Fi(y,0)!==0)break;if(te=y.suspendedLanes,(te&B)!==B){Va(),y.pingedLanes|=y.suspendedLanes&te;break}y.timeoutHandle=fN(lm.bind(null,y,mi,Pf),k);break}lm(y,mi,Pf);break;case 4:if(qd(y,B),(B&4194240)===B)break;for(k=y.eventTimes,te=-1;0<B;){var ge=31-Ua(B);oe=1<<ge,ge=k[ge],ge>te&&(te=ge),B&=~oe}if(B=te,B=Ir()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*gwe(B/1960))-B,10<B){y.timeoutHandle=fN(lm.bind(null,y,mi,Pf),B);break}lm(y,mi,Pf);break;case 5:lm(y,mi,Pf);break;default:throw Error(n(329))}}}return gi(y,Ir()),y.callbackNode===_?cF.bind(null,y):null}function sI(y,k){var _=Zv;return y.current.memoizedState.isDehydrated&&(im(y,k).flags|=256),y=$4(y,k),y!==2&&(k=mi,mi=_,k!==null&&aI(k)),y}function aI(y){mi===null?mi=y:mi.push.apply(mi,y)}function ywe(y){for(var k=y;;){if(k.flags&16384){var _=k.updateQueue;if(_!==null&&(_=_.stores,_!==null))for(var B=0;B<_.length;B++){var te=_[B],oe=te.getSnapshot;te=te.value;try{if(!tt(oe(),te))return!1}catch{return!1}}}if(_=k.child,k.subtreeFlags&16384&&_!==null)_.return=k,k=_;else{if(k===y)break;for(;k.sibling===null;){if(k.return===null||k.return===y)return!0;k=k.return}k.sibling.return=k.return,k=k.sibling}}return!0}function qd(y,k){for(k&=~tI,k&=~P4,y.suspendedLanes|=k,y.pingedLanes&=~k,y=y.expirationTimes;0<k;){var _=31-Ua(k),B=1<<_;y[_]=-1,k&=~B}}function uF(y){if((mr&6)!==0)throw Error(n(327));T1();var k=Fi(y,0);if((k&1)===0)return gi(y,Ir()),null;var _=$4(y,k);if(y.tag!==0&&_===2){var B=Ar(y);B!==0&&(k=B,_=sI(y,B))}if(_===1)throw _=Kv,im(y,0),qd(y,k),gi(y,Ir()),_;if(_===6)throw Error(n(345));return y.finishedWork=y.current.alternate,y.finishedLanes=k,lm(y,mi,Pf),gi(y,Ir()),null}function iI(y,k){var _=mr;mr|=1;try{return y(k)}finally{mr=_,mr===0&&(R1=Ir()+500,m4&&Ud())}}function am(y){Yd!==null&&Yd.tag===0&&(mr&6)===0&&T1();var k=mr;mr|=1;var _=Al.transition,B=zn;try{if(Al.transition=null,zn=1,y)return y()}finally{zn=B,Al.transition=_,mr=k,(mr&6)===0&&Ud()}}function lI(){Wi=M1.current,Xr(M1)}function im(y,k){y.finishedWork=null,y.finishedLanes=0;var _=y.timeoutHandle;if(_!==-1&&(y.timeoutHandle=-1,Gve(_)),Vo!==null)for(_=Vo.return;_!==null;){var B=_;switch(yN(B),B.tag){case 1:B=B.type.childContextTypes,B!=null&&p4();break;case 3:I1(),Xr(di),Xr(ha),_N();break;case 5:IN(B);break;case 4:I1();break;case 13:Xr(vo);break;case 19:Xr(vo);break;case 10:jN(B.type._context);break;case 22:case 23:lI()}_=_.return}if(ks=y,Vo=y=Kd(y.current,null),Gs=Wi=k,cs=0,Kv=null,tI=P4=sm=0,mi=Zv=null,nm!==null){for(k=0;k<nm.length;k++)if(_=nm[k],B=_.interleaved,B!==null){_.interleaved=null;var te=B.next,oe=_.pending;if(oe!==null){var ge=oe.next;oe.next=te,B.next=ge}_.pending=B}nm=null}return y}function fF(y,k){do{var _=Vo;try{if(kN(),S4.current=A4,E4){for(var B=wo.memoizedState;B!==null;){var te=B.queue;te!==null&&(te.pending=null),B=B.next}E4=!1}if(om=0,xs=ls=wo=null,Vv=!1,Hv=0,eI.current=null,_===null||_.return===null){cs=1,Kv=k,Vo=null;break}e:{var oe=y,ge=_.return,Fe=_,Ye=k;if(k=Gs,Fe.flags|=32768,Ye!==null&&typeof Ye=="object"&&typeof Ye.then=="function"){var ft=Ye,It=Fe,Rt=It.tag;if((It.mode&1)===0&&(Rt===0||Rt===11||Rt===15)){var St=It.alternate;St?(It.updateQueue=St.updateQueue,It.memoizedState=St.memoizedState,It.lanes=St.lanes):(It.updateQueue=null,It.memoizedState=null)}var Jt=Pz(ge);if(Jt!==null){Jt.flags&=-257,Oz(Jt,ge,Fe,oe,k),Jt.mode&1&&Lz(oe,ft,k),k=Jt,Ye=ft;var an=k.updateQueue;if(an===null){var cn=new Set;cn.add(Ye),k.updateQueue=cn}else an.add(Ye);break e}else{if((k&1)===0){Lz(oe,ft,k),cI();break e}Ye=Error(n(426))}}else if(uo&&Fe.mode&1){var zo=Pz(ge);if(zo!==null){(zo.flags&65536)===0&&(zo.flags|=256),Oz(zo,ge,Fe,oe,k),bN(A1(Ye,Fe));break e}}oe=Ye=A1(Ye,Fe),cs!==4&&(cs=2),Zv===null?Zv=[oe]:Zv.push(oe),oe=ge;do{switch(oe.tag){case 3:oe.flags|=65536,k&=-k,oe.lanes|=k;var st=Tz(oe,Ye,k);az(oe,st);break e;case 1:Fe=Ye;var Je=oe.type,it=oe.stateNode;if((oe.flags&128)===0&&(typeof Je.getDerivedStateFromError=="function"||it!==null&&typeof it.componentDidCatch=="function"&&(Wd===null||!Wd.has(it)))){oe.flags|=65536,k&=-k,oe.lanes|=k;var Ut=Dz(oe,Fe,k);az(oe,Ut);break e}}oe=oe.return}while(oe!==null)}hF(_)}catch(fn){k=fn,Vo===_&&_!==null&&(Vo=_=_.return);continue}break}while(!0)}function dF(){var y=L4.current;return L4.current=A4,y===null?A4:y}function cI(){(cs===0||cs===3||cs===2)&&(cs=4),ks===null||(sm&268435455)===0&&(P4&268435455)===0||qd(ks,Gs)}function $4(y,k){var _=mr;mr|=2;var B=dF();(ks!==y||Gs!==k)&&(Pf=null,im(y,k));do try{vwe();break}catch(te){fF(y,te)}while(!0);if(kN(),mr=_,L4.current=B,Vo!==null)throw Error(n(261));return ks=null,Gs=0,cs}function vwe(){for(;Vo!==null;)pF(Vo)}function wwe(){for(;Vo!==null&&!Hr();)pF(Vo)}function pF(y){var k=yF(y.alternate,y,Wi);y.memoizedProps=y.pendingProps,k===null?hF(y):Vo=k,eI.current=null}function hF(y){var k=y;do{var _=k.alternate;if(y=k.return,(k.flags&32768)===0){if(_=fwe(_,k,Wi),_!==null){Vo=_;return}}else{if(_=dwe(_,k),_!==null){_.flags&=32767,Vo=_;return}if(y!==null)y.flags|=32768,y.subtreeFlags=0,y.deletions=null;else{cs=6,Vo=null;return}}if(k=k.sibling,k!==null){Vo=k;return}Vo=k=y}while(k!==null);cs===0&&(cs=5)}function lm(y,k,_){var B=zn,te=Al.transition;try{Al.transition=null,zn=1,bwe(y,k,_,B)}finally{Al.transition=te,zn=B}return null}function bwe(y,k,_,B){do T1();while(Yd!==null);if((mr&6)!==0)throw Error(n(327));_=y.finishedWork;var te=y.finishedLanes;if(_===null)return null;if(y.finishedWork=null,y.finishedLanes=0,_===y.current)throw Error(n(177));y.callbackNode=null,y.callbackPriority=0;var oe=_.lanes|_.childLanes;if(pn(y,oe),y===ks&&(Vo=ks=null,Gs=0),(_.subtreeFlags&2064)===0&&(_.flags&2064)===0||z4||(z4=!0,vF(zr,function(){return T1(),null})),oe=(_.flags&15990)!==0,(_.subtreeFlags&15990)!==0||oe){oe=Al.transition,Al.transition=null;var ge=zn;zn=1;var Fe=mr;mr|=4,eI.current=null,hwe(y,_),oF(_,y),pa(cN),mu=!!lN,cN=lN=null,y.current=_,mwe(_),Gx(),mr=Fe,zn=ge,Al.transition=oe}else y.current=_;if(z4&&(z4=!1,Yd=y,F4=te),oe=y.pendingLanes,oe===0&&(Wd=null),Jn(_.stateNode),gi(y,Ir()),k!==null)for(B=y.onRecoverableError,_=0;_<k.length;_++)te=k[_],B(te.value,{componentStack:te.stack,digest:te.digest});if(O4)throw O4=!1,y=rI,rI=null,y;return(F4&1)!==0&&y.tag!==0&&T1(),oe=y.pendingLanes,(oe&1)!==0?y===oI?Qv++:(Qv=0,oI=y):Qv=0,Ud(),null}function T1(){if(Yd!==null){var y=Zx(F4),k=Al.transition,_=zn;try{if(Al.transition=null,zn=16>y?16:y,Yd===null)var B=!1;else{if(y=Yd,Yd=null,F4=0,(mr&6)!==0)throw Error(n(331));var te=mr;for(mr|=4,rn=y.current;rn!==null;){var oe=rn,ge=oe.child;if((rn.flags&16)!==0){var Fe=oe.deletions;if(Fe!==null){for(var Ye=0;Ye<Fe.length;Ye++){var ft=Fe[Ye];for(rn=ft;rn!==null;){var It=rn;switch(It.tag){case 0:case 11:case 15:qv(8,It,oe)}var Rt=It.child;if(Rt!==null)Rt.return=It,rn=Rt;else for(;rn!==null;){It=rn;var St=It.sibling,Jt=It.return;if(Xz(It),It===ft){rn=null;break}if(St!==null){St.return=Jt,rn=St;break}rn=Jt}}}var an=oe.alternate;if(an!==null){var cn=an.child;if(cn!==null){an.child=null;do{var zo=cn.sibling;cn.sibling=null,cn=zo}while(cn!==null)}}rn=oe}}if((oe.subtreeFlags&2064)!==0&&ge!==null)ge.return=oe,rn=ge;else e:for(;rn!==null;){if(oe=rn,(oe.flags&2048)!==0)switch(oe.tag){case 0:case 11:case 15:qv(9,oe,oe.return)}var st=oe.sibling;if(st!==null){st.return=oe.return,rn=st;break e}rn=oe.return}}var Je=y.current;for(rn=Je;rn!==null;){ge=rn;var it=ge.child;if((ge.subtreeFlags&2064)!==0&&it!==null)it.return=ge,rn=it;else e:for(ge=Je;rn!==null;){if(Fe=rn,(Fe.flags&2048)!==0)try{switch(Fe.tag){case 0:case 11:case 15:D4(9,Fe)}}catch(fn){Io(Fe,Fe.return,fn)}if(Fe===ge){rn=null;break e}var Ut=Fe.sibling;if(Ut!==null){Ut.return=Fe.return,rn=Ut;break e}rn=Fe.return}}if(mr=te,Ud(),On&&typeof On.onPostCommitFiberRoot=="function")try{On.onPostCommitFiberRoot(ar,y)}catch{}B=!0}return B}finally{zn=_,Al.transition=k}}return!1}function mF(y,k,_){k=A1(_,k),k=Tz(y,k,1),y=Vd(y,k,1),k=Va(),y!==null&&(Ne(y,1,k),gi(y,k))}function Io(y,k,_){if(y.tag===3)mF(y,y,_);else for(;k!==null;){if(k.tag===3){mF(k,y,_);break}else if(k.tag===1){var B=k.stateNode;if(typeof k.type.getDerivedStateFromError=="function"||typeof B.componentDidCatch=="function"&&(Wd===null||!Wd.has(B))){y=A1(_,y),y=Dz(k,y,1),k=Vd(k,y,1),y=Va(),k!==null&&(Ne(k,1,y),gi(k,y));break}}k=k.return}}function xwe(y,k,_){var B=y.pingCache;B!==null&&B.delete(k),k=Va(),y.pingedLanes|=y.suspendedLanes&_,ks===y&&(Gs&_)===_&&(cs===4||cs===3&&(Gs&130023424)===Gs&&500>Ir()-nI?im(y,0):tI|=_),gi(y,k)}function gF(y,k){k===0&&((y.mode&1)===0?k=1:(k=c1,c1<<=1,(c1&130023424)===0&&(c1=4194304)));var _=Va();y=Tf(y,k),y!==null&&(Ne(y,k,_),gi(y,_))}function kwe(y){var k=y.memoizedState,_=0;k!==null&&(_=k.retryLane),gF(y,_)}function jwe(y,k){var _=0;switch(y.tag){case 13:var B=y.stateNode,te=y.memoizedState;te!==null&&(_=te.retryLane);break;case 19:B=y.stateNode;break;default:throw Error(n(314))}B!==null&&B.delete(k),gF(y,_)}var yF;yF=function(y,k,_){if(y!==null)if(y.memoizedProps!==k.pendingProps||di.current)hi=!0;else{if((y.lanes&_)===0&&(k.flags&128)===0)return hi=!1,uwe(y,k,_);hi=(y.flags&131072)!==0}else hi=!1,uo&&(k.flags&1048576)!==0&&ZO(k,y4,k.index);switch(k.lanes=0,k.tag){case 2:var B=k.type;R4(y,k),y=k.pendingProps;var te=x1(k,ha.current);N1(k,_),te=TN(null,k,B,y,te,_);var oe=DN();return k.flags|=1,typeof te=="object"&&te!==null&&typeof te.render=="function"&&te.$$typeof===void 0?(k.tag=1,k.memoizedState=null,k.updateQueue=null,pi(B)?(oe=!0,h4(k)):oe=!1,k.memoizedState=te.state!==null&&te.state!==void 0?te.state:null,EN(k),te.updater=_4,k.stateNode=te,te._reactInternals=k,BN(k,B,y,_),k=HN(null,k,B,!0,oe,_)):(k.tag=0,uo&&oe&&gN(k),$a(null,k,te,_),k=k.child),k;case 16:B=k.elementType;e:{switch(R4(y,k),y=k.pendingProps,te=B._init,B=te(B._payload),k.type=B,te=k.tag=Swe(B),y=xc(B,y),te){case 0:k=VN(null,k,B,y,_);break e;case 1:k=Vz(null,k,B,y,_);break e;case 11:k=zz(null,k,B,y,_);break e;case 14:k=Fz(null,k,B,xc(B.type,y),_);break e}throw Error(n(306,B,""))}return k;case 0:return B=k.type,te=k.pendingProps,te=k.elementType===B?te:xc(B,te),VN(y,k,B,te,_);case 1:return B=k.type,te=k.pendingProps,te=k.elementType===B?te:xc(B,te),Vz(y,k,B,te,_);case 3:e:{if(Hz(k),y===null)throw Error(n(387));B=k.pendingProps,oe=k.memoizedState,te=oe.element,sz(y,k),j4(k,B,null,_);var ge=k.memoizedState;if(B=ge.element,oe.isDehydrated)if(oe={element:B,isDehydrated:!1,cache:ge.cache,pendingSuspenseBoundaries:ge.pendingSuspenseBoundaries,transitions:ge.transitions},k.updateQueue.baseState=oe,k.memoizedState=oe,k.flags&256){te=A1(Error(n(423)),k),k=Wz(y,k,B,_,te);break e}else if(B!==te){te=A1(Error(n(424)),k),k=Wz(y,k,B,_,te);break e}else for(Hi=zd(k.stateNode.containerInfo.firstChild),Vi=k,uo=!0,bc=null,_=rz(k,null,B,_),k.child=_;_;)_.flags=_.flags&-3|4096,_=_.sibling;else{if(C1(),B===te){k=Lf(y,k,_);break e}$a(y,k,B,_)}k=k.child}return k;case 5:return lz(k),y===null&&wN(k),B=k.type,te=k.pendingProps,oe=y!==null?y.memoizedProps:null,ge=te.children,uN(B,te)?ge=null:oe!==null&&uN(B,oe)&&(k.flags|=32),$z(y,k),$a(y,k,ge,_),k.child;case 6:return y===null&&wN(k),null;case 13:return Yz(y,k,_);case 4:return NN(k,k.stateNode.containerInfo),B=k.pendingProps,y===null?k.child=S1(k,null,B,_):$a(y,k,B,_),k.child;case 11:return B=k.type,te=k.pendingProps,te=k.elementType===B?te:xc(B,te),zz(y,k,B,te,_);case 7:return $a(y,k,k.pendingProps,_),k.child;case 8:return $a(y,k,k.pendingProps.children,_),k.child;case 12:return $a(y,k,k.pendingProps.children,_),k.child;case 10:e:{if(B=k.type._context,te=k.pendingProps,oe=k.memoizedProps,ge=te.value,Gr(b4,B._currentValue),B._currentValue=ge,oe!==null)if(tt(oe.value,ge)){if(oe.children===te.children&&!di.current){k=Lf(y,k,_);break e}}else for(oe=k.child,oe!==null&&(oe.return=k);oe!==null;){var Fe=oe.dependencies;if(Fe!==null){ge=oe.child;for(var Ye=Fe.firstContext;Ye!==null;){if(Ye.context===B){if(oe.tag===1){Ye=Df(-1,_&-_),Ye.tag=2;var ft=oe.updateQueue;if(ft!==null){ft=ft.shared;var It=ft.pending;It===null?Ye.next=Ye:(Ye.next=It.next,It.next=Ye),ft.pending=Ye}}oe.lanes|=_,Ye=oe.alternate,Ye!==null&&(Ye.lanes|=_),CN(oe.return,_,k),Fe.lanes|=_;break}Ye=Ye.next}}else if(oe.tag===10)ge=oe.type===k.type?null:oe.child;else if(oe.tag===18){if(ge=oe.return,ge===null)throw Error(n(341));ge.lanes|=_,Fe=ge.alternate,Fe!==null&&(Fe.lanes|=_),CN(ge,_,k),ge=oe.sibling}else ge=oe.child;if(ge!==null)ge.return=oe;else for(ge=oe;ge!==null;){if(ge===k){ge=null;break}if(oe=ge.sibling,oe!==null){oe.return=ge.return,ge=oe;break}ge=ge.return}oe=ge}$a(y,k,te.children,_),k=k.child}return k;case 9:return te=k.type,B=k.pendingProps.children,N1(k,_),te=Nl(te),B=B(te),k.flags|=1,$a(y,k,B,_),k.child;case 14:return B=k.type,te=xc(B,k.pendingProps),te=xc(B.type,te),Fz(y,k,B,te,_);case 15:return Bz(y,k,k.type,k.pendingProps,_);case 17:return B=k.type,te=k.pendingProps,te=k.elementType===B?te:xc(B,te),R4(y,k),k.tag=1,pi(B)?(y=!0,h4(k)):y=!1,N1(k,_),Mz(k,B,te),BN(k,B,te,_),HN(null,k,B,!0,y,_);case 19:return qz(y,k,_);case 22:return Uz(y,k,_)}throw Error(n(156,k.tag))};function vF(y,k){return Oi(y,k)}function Cwe(y,k,_,B){this.tag=y,this.key=_,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=k,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=B,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _l(y,k,_,B){return new Cwe(y,k,_,B)}function uI(y){return y=y.prototype,!(!y||!y.isReactComponent)}function Swe(y){if(typeof y=="function")return uI(y)?1:0;if(y!=null){if(y=y.$$typeof,y===G)return 11;if(y===U)return 14}return 2}function Kd(y,k){var _=y.alternate;return _===null?(_=_l(y.tag,k,y.key,y.mode),_.elementType=y.elementType,_.type=y.type,_.stateNode=y.stateNode,_.alternate=y,y.alternate=_):(_.pendingProps=k,_.type=y.type,_.flags=0,_.subtreeFlags=0,_.deletions=null),_.flags=y.flags&14680064,_.childLanes=y.childLanes,_.lanes=y.lanes,_.child=y.child,_.memoizedProps=y.memoizedProps,_.memoizedState=y.memoizedState,_.updateQueue=y.updateQueue,k=y.dependencies,_.dependencies=k===null?null:{lanes:k.lanes,firstContext:k.firstContext},_.sibling=y.sibling,_.index=y.index,_.ref=y.ref,_}function V4(y,k,_,B,te,oe){var ge=2;if(B=y,typeof y=="function")uI(y)&&(ge=1);else if(typeof y=="string")ge=5;else e:switch(y){case L:return cm(_.children,te,oe,k);case F:ge=8,te|=8;break;case T:return y=_l(12,_,k,te|2),y.elementType=T,y.lanes=oe,y;case Z:return y=_l(13,_,k,te),y.elementType=Z,y.lanes=oe,y;case W:return y=_l(19,_,k,te),y.elementType=W,y.lanes=oe,y;case $:return H4(_,te,oe,k);default:if(typeof y=="object"&&y!==null)switch(y.$$typeof){case R:ge=10;break e;case z:ge=9;break e;case G:ge=11;break e;case U:ge=14;break e;case ee:ge=16,B=null;break e}throw Error(n(130,y==null?y:typeof y,""))}return k=_l(ge,_,k,te),k.elementType=y,k.type=B,k.lanes=oe,k}function cm(y,k,_,B){return y=_l(7,y,B,k),y.lanes=_,y}function H4(y,k,_,B){return y=_l(22,y,B,k),y.elementType=$,y.lanes=_,y.stateNode={isHidden:!1},y}function fI(y,k,_){return y=_l(6,y,null,k),y.lanes=_,y}function dI(y,k,_){return k=_l(4,y.children!==null?y.children:[],y.key,k),k.lanes=_,k.stateNode={containerInfo:y.containerInfo,pendingChildren:null,implementation:y.implementation},k}function Ewe(y,k,_,B,te){this.tag=k,this.containerInfo=y,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ot(0),this.expirationTimes=ot(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ot(0),this.identifierPrefix=B,this.onRecoverableError=te,this.mutableSourceEagerHydrationData=null}function pI(y,k,_,B,te,oe,ge,Fe,Ye){return y=new Ewe(y,k,_,Fe,Ye),k===1?(k=1,oe===!0&&(k|=8)):k=0,oe=_l(3,null,null,k),y.current=oe,oe.stateNode=y,oe.memoizedState={element:B,isDehydrated:_,cache:null,transitions:null,pendingSuspenseBoundaries:null},EN(oe),y}function Nwe(y,k,_){var B=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:P,key:B==null?null:""+B,children:y,containerInfo:k,implementation:_}}function wF(y){if(!y)return Bd;y=y._reactInternals;e:{if(fi(y)!==y||y.tag!==1)throw Error(n(170));var k=y;do{switch(k.tag){case 3:k=k.stateNode.context;break e;case 1:if(pi(k.type)){k=k.stateNode.__reactInternalMemoizedMergedChildContext;break e}}k=k.return}while(k!==null);throw Error(n(171))}if(y.tag===1){var _=y.type;if(pi(_))return GO(y,_,k)}return k}function bF(y,k,_,B,te,oe,ge,Fe,Ye){return y=pI(_,B,!0,y,te,oe,ge,Fe,Ye),y.context=wF(null),_=y.current,B=Va(),te=Gd(_),oe=Df(B,te),oe.callback=k??null,Vd(_,oe,te),y.current.lanes=te,Ne(y,te,B),gi(y,B),y}function W4(y,k,_,B){var te=k.current,oe=Va(),ge=Gd(te);return _=wF(_),k.context===null?k.context=_:k.pendingContext=_,k=Df(oe,ge),k.payload={element:y},B=B===void 0?null:B,B!==null&&(k.callback=B),y=Vd(te,k,ge),y!==null&&(Cc(y,te,ge,oe),k4(y,te,ge)),ge}function Y4(y){if(y=y.current,!y.child)return null;switch(y.child.tag){case 5:return y.child.stateNode;default:return y.child.stateNode}}function xF(y,k){if(y=y.memoizedState,y!==null&&y.dehydrated!==null){var _=y.retryLane;y.retryLane=_!==0&&_<k?_:k}}function hI(y,k){xF(y,k),(y=y.alternate)&&xF(y,k)}function Iwe(){return null}var kF=typeof reportError=="function"?reportError:function(y){console.error(y)};function mI(y){this._internalRoot=y}G4.prototype.render=mI.prototype.render=function(y){var k=this._internalRoot;if(k===null)throw Error(n(409));W4(y,k,null,null)},G4.prototype.unmount=mI.prototype.unmount=function(){var y=this._internalRoot;if(y!==null){this._internalRoot=null;var k=y.containerInfo;am(function(){W4(null,y,null,null)}),k[Af]=null}};function G4(y){this._internalRoot=y}G4.prototype.unstable_scheduleHydration=function(y){if(y){var k=Wr();y={blockedOn:null,target:y,priority:k};for(var _=0;_<Vs.length&&k!==0&&k<Vs[_].priority;_++);Vs.splice(_,0,y),_===0&&Jx(y)}};function gI(y){return!(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11)}function q4(y){return!(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11&&(y.nodeType!==8||y.nodeValue!==" react-mount-point-unstable "))}function jF(){}function Awe(y,k,_,B,te){if(te){if(typeof B=="function"){var oe=B;B=function(){var ft=Y4(ge);oe.call(ft)}}var ge=bF(k,B,y,0,null,!1,!1,"",jF);return y._reactRootContainer=ge,y[Af]=ge.current,Lv(y.nodeType===8?y.parentNode:y),am(),ge}for(;te=y.lastChild;)y.removeChild(te);if(typeof B=="function"){var Fe=B;B=function(){var ft=Y4(Ye);Fe.call(ft)}}var Ye=pI(y,0,!1,null,null,!1,!1,"",jF);return y._reactRootContainer=Ye,y[Af]=Ye.current,Lv(y.nodeType===8?y.parentNode:y),am(function(){W4(k,Ye,_,B)}),Ye}function K4(y,k,_,B,te){var oe=_._reactRootContainer;if(oe){var ge=oe;if(typeof te=="function"){var Fe=te;te=function(){var Ye=Y4(ge);Fe.call(Ye)}}W4(k,ge,y,te)}else ge=Awe(_,k,y,te,B);return Y4(ge)}u1=function(y){switch(y.tag){case 3:var k=y.stateNode;if(k.current.memoizedState.isDehydrated){var _=Fr(k.pendingLanes);_!==0&&(Eo(k,_|1),gi(k,Ir()),(mr&6)===0&&(R1=Ir()+500,Ud()))}break;case 13:am(function(){var B=Tf(y,1);if(B!==null){var te=Va();Cc(B,y,1,te)}}),hI(y,1)}},da=function(y){if(y.tag===13){var k=Tf(y,134217728);if(k!==null){var _=Va();Cc(k,y,134217728,_)}hI(y,134217728)}},hn=function(y){if(y.tag===13){var k=Gd(y),_=Tf(y,k);if(_!==null){var B=Va();Cc(_,y,k,B)}hI(y,k)}},Wr=function(){return zn},xv=function(y,k){var _=zn;try{return zn=y,k()}finally{zn=_}},vt=function(y,k,_){switch(k){case"input":if(Qe(y,_),k=_.name,_.type==="radio"&&k!=null){for(_=y;_.parentNode;)_=_.parentNode;for(_=_.querySelectorAll("input[name="+JSON.stringify(""+k)+'][type="radio"]'),k=0;k<_.length;k++){var B=_[k];if(B!==y&&B.form===y.form){var te=d4(B);if(!te)throw Error(n(90));le(B),Qe(B,te)}}}break;case"textarea":ht(y,_);break;case"select":k=_.value,k!=null&&_e(y,!!_.multiple,k,!1)}},Pt=iI,yt=am;var _we={usingClientEntryPoint:!1,Events:[zv,w1,d4,kt,Ct,iI]},Jv={findFiberByHostInstance:Jh,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Mwe={bundleType:Jv.bundleType,version:Jv.version,rendererPackageName:Jv.rendererPackageName,rendererConfig:Jv.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:M.ReactCurrentDispatcher,findHostInstanceByFiber:function(y){return y=Wx(y),y===null?null:y.stateNode},findFiberByHostInstance:Jv.findFiberByHostInstance||Iwe,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Z4=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Z4.isDisabled&&Z4.supportsFiber)try{ar=Z4.inject(Mwe),On=Z4}catch{}}return wi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_we,wi.createPortal=function(y,k){var _=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!gI(k))throw Error(n(200));return Nwe(y,k,null,_)},wi.createRoot=function(y,k){if(!gI(y))throw Error(n(299));var _=!1,B="",te=kF;return k!=null&&(k.unstable_strictMode===!0&&(_=!0),k.identifierPrefix!==void 0&&(B=k.identifierPrefix),k.onRecoverableError!==void 0&&(te=k.onRecoverableError)),k=pI(y,1,!1,null,null,_,!1,B,te),y[Af]=k.current,Lv(y.nodeType===8?y.parentNode:y),new mI(k)},wi.findDOMNode=function(y){if(y==null)return null;if(y.nodeType===1)return y;var k=y._reactInternals;if(k===void 0)throw typeof y.render=="function"?Error(n(188)):(y=Object.keys(y).join(","),Error(n(268,y)));return y=Wx(k),y=y===null?null:y.stateNode,y},wi.flushSync=function(y){return am(y)},wi.hydrate=function(y,k,_){if(!q4(k))throw Error(n(200));return K4(null,y,k,!0,_)},wi.hydrateRoot=function(y,k,_){if(!gI(y))throw Error(n(405));var B=_!=null&&_.hydratedSources||null,te=!1,oe="",ge=kF;if(_!=null&&(_.unstable_strictMode===!0&&(te=!0),_.identifierPrefix!==void 0&&(oe=_.identifierPrefix),_.onRecoverableError!==void 0&&(ge=_.onRecoverableError)),k=bF(k,null,y,1,_??null,te,!1,oe,ge),y[Af]=k.current,Lv(y),B)for(y=0;y<B.length;y++)_=B[y],te=_._getVersion,te=te(_._source),k.mutableSourceEagerHydrationData==null?k.mutableSourceEagerHydrationData=[_,te]:k.mutableSourceEagerHydrationData.push(_,te);return new G4(k)},wi.render=function(y,k,_){if(!q4(k))throw Error(n(200));return K4(null,y,k,!1,_)},wi.unmountComponentAtNode=function(y){if(!q4(y))throw Error(n(40));return y._reactRootContainer?(am(function(){K4(null,null,y,!1,function(){y._reactRootContainer=null,y[Af]=null})}),!0):!1},wi.unstable_batchedUpdates=iI,wi.unstable_renderSubtreeIntoContainer=function(y,k,_,B){if(!q4(_))throw Error(n(200));if(y==null||y._reactInternals===void 0)throw Error(n(38));return K4(y,k,_,!1,B)},wi.version="18.3.1-next-f1338f8080-20240426",wi}var VW;function Xoe(){if(VW)return O9.exports;VW=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),O9.exports=LTe(),O9.exports}var HW;function PTe(){if(HW)return w6;HW=1;var t=Xoe();return w6.createRoot=t.createRoot,w6.hydrateRoot=t.hydrateRoot,w6}var OTe=PTe();const ese=h.createContext(void 0),zTe=(t,e)=>{const n=window.document.documentElement,r=gk[t]??gk.DEFAULT,o=e==="light"?r.light:r.dark;n.style.setProperty("--primary",o.primary),n.style.setProperty("--primary-hover",o["primary-hover"]),n.style.setProperty("--primary-foreground",o["primary-foreground"]),n.style.setProperty("--ring",o.ring)};function FTe(t){return t==="pure-black"?"dark":t==="light"||t==="dark"||t==="system"?t:"system"}function BTe({children:t}){const[e,n]=h.useState(FTe(localStorage.getItem(xt.THEME_SETTING))),[r,o]=h.useState("light"),[s,a]=h.useState(localStorage.getItem(xt.PRIMARY_COLOR)??"DEFAULT");h.useEffect(()=>{if(e!=="system"){o(e);return}const u=window.matchMedia("(prefers-color-scheme: dark)"),d=f=>{o(f.matches?"dark":"light")};return u.addEventListener("change",d),o(u.matches?"dark":"light"),()=>{u.removeEventListener("change",d)}},[e]),h.useEffect(()=>{const u=window.document.documentElement;u.classList.remove("light","dark"),u.classList.add(r),r==="dark"?u.classList.add("pure-black"):u.classList.remove("pure-black")},[r]),h.useEffect(()=>{zTe(s,r)},[r,s]);const i=u=>{Ze.setThemeSetting(u),n(u),cr()},l=u=>{Ze.setPrimaryColor(u),a(u),cr()};return c.jsx(ese.Provider,{value:{theme:r,themeSetting:e,setThemeSetting:i,primaryColor:s,setPrimaryColor:l},children:t})}const vf=()=>{const t=h.useContext(ese);if(t===void 0)throw new Error("useTheme must be used within a ThemeProvider");return t};var Ds=Xoe();const GD=tc(Ds);function UTe(t){if(typeof document>"u")return;let e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}const $Te=t=>{switch(t){case"success":return WTe;case"info":return GTe;case"warning":return YTe;case"error":return qTe;default:return null}},VTe=Array(12).fill(0),HTe=({visible:t,className:e})=>Be.createElement("div",{className:["sonner-loading-wrapper",e].filter(Boolean).join(" "),"data-visible":t},Be.createElement("div",{className:"sonner-spinner"},VTe.map((n,r)=>Be.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),WTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),YTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),GTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),qTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),KTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},Be.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Be.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),ZTe=()=>{const[t,e]=Be.useState(document.hidden);return Be.useEffect(()=>{const n=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),t};let S8=1;class QTe{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{const n=this.subscribers.indexOf(e);this.subscribers.splice(n,1)}),this.publish=e=>{this.subscribers.forEach(n=>n(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var n;const{message:r,...o}=e,s=typeof(e==null?void 0:e.id)=="number"||((n=e.id)==null?void 0:n.length)>0?e.id:S8++,a=this.toasts.find(l=>l.id===s),i=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),a?this.toasts=this.toasts.map(l=>l.id===s?(this.publish({...l,...e,id:s,title:r}),{...l,...e,id:s,dismissible:i,title:r}):l):this.addToast({title:r,...o,dismissible:i,id:s}),s},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(n=>n({id:e,dismiss:!0})))):this.toasts.forEach(n=>{this.subscribers.forEach(r=>r({id:n.id,dismiss:!0}))}),e),this.message=(e,n)=>this.create({...n,message:e}),this.error=(e,n)=>this.create({...n,message:e,type:"error"}),this.success=(e,n)=>this.create({...n,type:"success",message:e}),this.info=(e,n)=>this.create({...n,type:"info",message:e}),this.warning=(e,n)=>this.create({...n,type:"warning",message:e}),this.loading=(e,n)=>this.create({...n,type:"loading",message:e}),this.promise=(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));const o=Promise.resolve(e instanceof Function?e():e);let s=r!==void 0,a;const i=o.then(async u=>{if(a=["resolve",u],Be.isValidElement(u))s=!1,this.create({id:r,type:"default",message:u});else if(XTe(u)&&!u.ok){s=!1;const f=typeof n.error=="function"?await n.error(`HTTP error! status: ${u.status}`):n.error,m=typeof n.description=="function"?await n.description(`HTTP error! status: ${u.status}`):n.description,w=typeof f=="object"&&!Be.isValidElement(f)?f:{message:f};this.create({id:r,type:"error",description:m,...w})}else if(u instanceof Error){s=!1;const f=typeof n.error=="function"?await n.error(u):n.error,m=typeof n.description=="function"?await n.description(u):n.description,w=typeof f=="object"&&!Be.isValidElement(f)?f:{message:f};this.create({id:r,type:"error",description:m,...w})}else if(n.success!==void 0){s=!1;const f=typeof n.success=="function"?await n.success(u):n.success,m=typeof n.description=="function"?await n.description(u):n.description,w=typeof f=="object"&&!Be.isValidElement(f)?f:{message:f};this.create({id:r,type:"success",description:m,...w})}}).catch(async u=>{if(a=["reject",u],n.error!==void 0){s=!1;const d=typeof n.error=="function"?await n.error(u):n.error,f=typeof n.description=="function"?await n.description(u):n.description,g=typeof d=="object"&&!Be.isValidElement(d)?d:{message:d};this.create({id:r,type:"error",description:f,...g})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),n.finally==null||n.finally.call(n)}),l=()=>new Promise((u,d)=>i.then(()=>a[0]==="reject"?d(a[1]):u(a[1])).catch(d));return typeof r!="string"&&typeof r!="number"?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(e,n)=>{const r=(n==null?void 0:n.id)||S8++;return this.create({jsx:e(r),id:r,...n}),r},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const xi=new QTe,JTe=(t,e)=>{const n=(e==null?void 0:e.id)||S8++;return xi.addToast({title:t,...e,id:n}),n},XTe=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",eDe=JTe,tDe=()=>xi.toasts,nDe=()=>xi.getActiveToasts(),on=Object.assign(eDe,{success:xi.success,info:xi.info,warning:xi.warning,error:xi.error,custom:xi.custom,message:xi.message,promise:xi.promise,dismiss:xi.dismiss,loading:xi.loading},{getHistory:tDe,getToasts:nDe});UTe("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function b6(t){return t.label!==void 0}const rDe=3,oDe="24px",sDe="16px",WW=4e3,aDe=356,iDe=14,lDe=45,cDe=200;function Nu(...t){return t.filter(Boolean).join(" ")}function uDe(t){const[e,n]=t.split("-"),r=[];return e&&r.push(e),n&&r.push(n),r}const fDe=t=>{var e,n,r,o,s,a,i,l,u;const{invert:d,toast:f,unstyled:m,interacting:g,setHeights:w,visibleToasts:b,heights:j,index:S,toasts:I,expanded:N,removeToast:M,defaultRichColors:D,closeButton:P,style:L,cancelButtonStyle:F,actionButtonStyle:T,className:R="",descriptionClassName:z="",duration:G,position:Z,gap:W,expandByDefault:U,classNames:ee,icons:$,closeButtonAriaLabel:H="Close toast"}=t,[Y,q]=Be.useState(null),[J,ne]=Be.useState(null),[re,de]=Be.useState(!1),[Ee,we]=Be.useState(!1),[xe,ce]=Be.useState(!1),[pe,he]=Be.useState(!1),[ke,le]=Be.useState(!1),[ye,ve]=Be.useState(0),[Ie,Ve]=Be.useState(0),Qe=Be.useRef(f.duration||G||WW),nt=Be.useRef(null),Ue=Be.useRef(null),qe=S===0,_e=S+1<=b,et=f.type,pt=f.dismissible!==!1,ht=f.className||"",at=f.descriptionClassName||"",De=Be.useMemo(()=>j.findIndex(kt=>kt.toastId===f.id)||0,[j,f.id]),se=Be.useMemo(()=>{var kt;return(kt=f.closeButton)!=null?kt:P},[f.closeButton,P]),K=Be.useMemo(()=>f.duration||G||WW,[f.duration,G]),Q=Be.useRef(0),ie=Be.useRef(0),Se=Be.useRef(0),Me=Be.useRef(null),[Ce,me]=Z.split("-"),We=Be.useMemo(()=>j.reduce((kt,Ct,Pt)=>Pt>=De?kt:kt+Ct.height,0),[j,De]),Xe=ZTe(),Re=f.invert||d,ze=et==="loading";ie.current=Be.useMemo(()=>De*W+We,[De,We]),Be.useEffect(()=>{Qe.current=K},[K]),Be.useEffect(()=>{de(!0)},[]),Be.useEffect(()=>{const kt=Ue.current;if(kt){const Ct=kt.getBoundingClientRect().height;return Ve(Ct),w(Pt=>[{toastId:f.id,height:Ct,position:f.position},...Pt]),()=>w(Pt=>Pt.filter(yt=>yt.toastId!==f.id))}},[w,f.id]),Be.useLayoutEffect(()=>{if(!re)return;const kt=Ue.current,Ct=kt.style.height;kt.style.height="auto";const Pt=kt.getBoundingClientRect().height;kt.style.height=Ct,Ve(Pt),w(yt=>yt.find(bt=>bt.toastId===f.id)?yt.map(bt=>bt.toastId===f.id?{...bt,height:Pt}:bt):[{toastId:f.id,height:Pt,position:f.position},...yt])},[re,f.title,f.description,w,f.id,f.jsx,f.action,f.cancel]);const rt=Be.useCallback(()=>{we(!0),ve(ie.current),w(kt=>kt.filter(Ct=>Ct.toastId!==f.id)),setTimeout(()=>{M(f)},cDe)},[f,M,w,ie]);Be.useEffect(()=>{if(f.promise&&et==="loading"||f.duration===1/0||f.type==="loading")return;let kt;return N||g||Xe?(()=>{if(Se.current<Q.current){const yt=new Date().getTime()-Q.current;Qe.current=Qe.current-yt}Se.current=new Date().getTime()})():(()=>{Qe.current!==1/0&&(Q.current=new Date().getTime(),kt=setTimeout(()=>{f.onAutoClose==null||f.onAutoClose.call(f,f),rt()},Qe.current))})(),()=>clearTimeout(kt)},[N,g,f,et,Xe,rt]),Be.useEffect(()=>{f.delete&&(rt(),f.onDismiss==null||f.onDismiss.call(f,f))},[rt,f.delete]);function vt(){var kt;if($!=null&&$.loading){var Ct;return Be.createElement("div",{className:Nu(ee==null?void 0:ee.loader,f==null||(Ct=f.classNames)==null?void 0:Ct.loader,"sonner-loader"),"data-visible":et==="loading"},$.loading)}return Be.createElement(HTe,{className:Nu(ee==null?void 0:ee.loader,f==null||(kt=f.classNames)==null?void 0:kt.loader),visible:et==="loading"})}const mt=f.icon||($==null?void 0:$[et])||$Te(et);var Ot,qt;return Be.createElement("li",{tabIndex:0,ref:Ue,className:Nu(R,ht,ee==null?void 0:ee.toast,f==null||(e=f.classNames)==null?void 0:e.toast,ee==null?void 0:ee.default,ee==null?void 0:ee[et],f==null||(n=f.classNames)==null?void 0:n[et]),"data-sonner-toast":"","data-rich-colors":(Ot=f.richColors)!=null?Ot:D,"data-styled":!(f.jsx||f.unstyled||m),"data-mounted":re,"data-promise":!!f.promise,"data-swiped":ke,"data-removed":Ee,"data-visible":_e,"data-y-position":Ce,"data-x-position":me,"data-index":S,"data-front":qe,"data-swiping":xe,"data-dismissible":pt,"data-type":et,"data-invert":Re,"data-swipe-out":pe,"data-swipe-direction":J,"data-expanded":!!(N||U&&re),style:{"--index":S,"--toasts-before":S,"--z-index":I.length-S,"--offset":`${Ee?ye:ie.current}px`,"--initial-height":U?"auto":`${Ie}px`,...L,...f.style},onDragEnd:()=>{ce(!1),q(null),Me.current=null},onPointerDown:kt=>{ze||!pt||(nt.current=new Date,ve(ie.current),kt.target.setPointerCapture(kt.pointerId),kt.target.tagName!=="BUTTON"&&(ce(!0),Me.current={x:kt.clientX,y:kt.clientY}))},onPointerUp:()=>{var kt,Ct,Pt;if(pe||!pt)return;Me.current=null;const yt=Number(((kt=Ue.current)==null?void 0:kt.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),$t=Number(((Ct=Ue.current)==null?void 0:Ct.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),bt=new Date().getTime()-((Pt=nt.current)==null?void 0:Pt.getTime()),Bt=Y==="x"?yt:$t,Yn=Math.abs(Bt)/bt;if(Math.abs(Bt)>=lDe||Yn>.11){ve(ie.current),f.onDismiss==null||f.onDismiss.call(f,f),ne(Y==="x"?yt>0?"right":"left":$t>0?"down":"up"),rt(),he(!0);return}else{var mn,tn;(mn=Ue.current)==null||mn.style.setProperty("--swipe-amount-x","0px"),(tn=Ue.current)==null||tn.style.setProperty("--swipe-amount-y","0px")}le(!1),ce(!1),q(null)},onPointerMove:kt=>{var Ct,Pt,yt;if(!Me.current||!pt||((Ct=window.getSelection())==null?void 0:Ct.toString().length)>0)return;const bt=kt.clientY-Me.current.y,Bt=kt.clientX-Me.current.x;var Yn;const mn=(Yn=t.swipeDirections)!=null?Yn:uDe(Z);!Y&&(Math.abs(Bt)>1||Math.abs(bt)>1)&&q(Math.abs(Bt)>Math.abs(bt)?"x":"y");let tn={x:0,y:0};const Cr=Vr=>1/(1.5+Math.abs(Vr)/20);if(Y==="y"){if(mn.includes("top")||mn.includes("bottom"))if(mn.includes("top")&&bt<0||mn.includes("bottom")&&bt>0)tn.y=bt;else{const Vr=bt*Cr(bt);tn.y=Math.abs(Vr)<Math.abs(bt)?Vr:bt}}else if(Y==="x"&&(mn.includes("left")||mn.includes("right")))if(mn.includes("left")&&Bt<0||mn.includes("right")&&Bt>0)tn.x=Bt;else{const Vr=Bt*Cr(Bt);tn.x=Math.abs(Vr)<Math.abs(Bt)?Vr:Bt}(Math.abs(tn.x)>0||Math.abs(tn.y)>0)&&le(!0),(Pt=Ue.current)==null||Pt.style.setProperty("--swipe-amount-x",`${tn.x}px`),(yt=Ue.current)==null||yt.style.setProperty("--swipe-amount-y",`${tn.y}px`)}},se&&!f.jsx&&et!=="loading"?Be.createElement("button",{"aria-label":H,"data-disabled":ze,"data-close-button":!0,onClick:ze||!pt?()=>{}:()=>{rt(),f.onDismiss==null||f.onDismiss.call(f,f)},className:Nu(ee==null?void 0:ee.closeButton,f==null||(r=f.classNames)==null?void 0:r.closeButton)},(qt=$==null?void 0:$.close)!=null?qt:KTe):null,(et||f.icon||f.promise)&&f.icon!==null&&(($==null?void 0:$[et])!==null||f.icon)?Be.createElement("div",{"data-icon":"",className:Nu(ee==null?void 0:ee.icon,f==null||(o=f.classNames)==null?void 0:o.icon)},f.promise||f.type==="loading"&&!f.icon?f.icon||vt():null,f.type!=="loading"?mt:null):null,Be.createElement("div",{"data-content":"",className:Nu(ee==null?void 0:ee.content,f==null||(s=f.classNames)==null?void 0:s.content)},Be.createElement("div",{"data-title":"",className:Nu(ee==null?void 0:ee.title,f==null||(a=f.classNames)==null?void 0:a.title)},f.jsx?f.jsx:typeof f.title=="function"?f.title():f.title),f.description?Be.createElement("div",{"data-description":"",className:Nu(z,at,ee==null?void 0:ee.description,f==null||(i=f.classNames)==null?void 0:i.description)},typeof f.description=="function"?f.description():f.description):null),Be.isValidElement(f.cancel)?f.cancel:f.cancel&&b6(f.cancel)?Be.createElement("button",{"data-button":!0,"data-cancel":!0,style:f.cancelButtonStyle||F,onClick:kt=>{b6(f.cancel)&&pt&&(f.cancel.onClick==null||f.cancel.onClick.call(f.cancel,kt),rt())},className:Nu(ee==null?void 0:ee.cancelButton,f==null||(l=f.classNames)==null?void 0:l.cancelButton)},f.cancel.label):null,Be.isValidElement(f.action)?f.action:f.action&&b6(f.action)?Be.createElement("button",{"data-button":!0,"data-action":!0,style:f.actionButtonStyle||T,onClick:kt=>{b6(f.action)&&(f.action.onClick==null||f.action.onClick.call(f.action,kt),!kt.defaultPrevented&&rt())},className:Nu(ee==null?void 0:ee.actionButton,f==null||(u=f.classNames)==null?void 0:u.actionButton)},f.action.label):null)};function YW(){if(typeof window>"u"||typeof document>"u")return"ltr";const t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function dDe(t,e){const n={};return[t,e].forEach((r,o)=>{const s=o===1,a=s?"--mobile-offset":"--offset",i=s?sDe:oDe;function l(u){["top","right","bottom","left"].forEach(d=>{n[`${a}-${d}`]=typeof u=="number"?`${u}px`:u})}typeof r=="number"||typeof r=="string"?l(r):typeof r=="object"?["top","right","bottom","left"].forEach(u=>{r[u]===void 0?n[`${a}-${u}`]=i:n[`${a}-${u}`]=typeof r[u]=="number"?`${r[u]}px`:r[u]}):l(i)}),n}const pDe=Be.forwardRef(function(e,n){const{invert:r,position:o="bottom-right",hotkey:s=["altKey","KeyT"],expand:a,closeButton:i,className:l,offset:u,mobileOffset:d,theme:f="light",richColors:m,duration:g,style:w,visibleToasts:b=rDe,toastOptions:j,dir:S=YW(),gap:I=iDe,icons:N,containerAriaLabel:M="Notifications"}=e,[D,P]=Be.useState([]),L=Be.useMemo(()=>Array.from(new Set([o].concat(D.filter(J=>J.position).map(J=>J.position)))),[D,o]),[F,T]=Be.useState([]),[R,z]=Be.useState(!1),[G,Z]=Be.useState(!1),[W,U]=Be.useState(f!=="system"?f:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ee=Be.useRef(null),$=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),H=Be.useRef(null),Y=Be.useRef(!1),q=Be.useCallback(J=>{P(ne=>{var re;return(re=ne.find(de=>de.id===J.id))!=null&&re.delete||xi.dismiss(J.id),ne.filter(({id:de})=>de!==J.id)})},[]);return Be.useEffect(()=>xi.subscribe(J=>{if(J.dismiss){requestAnimationFrame(()=>{P(ne=>ne.map(re=>re.id===J.id?{...re,delete:!0}:re))});return}setTimeout(()=>{GD.flushSync(()=>{P(ne=>{const re=ne.findIndex(de=>de.id===J.id);return re!==-1?[...ne.slice(0,re),{...ne[re],...J},...ne.slice(re+1)]:[J,...ne]})})})}),[D]),Be.useEffect(()=>{if(f!=="system"){U(f);return}if(f==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?U("dark"):U("light")),typeof window>"u")return;const J=window.matchMedia("(prefers-color-scheme: dark)");try{J.addEventListener("change",({matches:ne})=>{U(ne?"dark":"light")})}catch{J.addListener(({matches:re})=>{try{U(re?"dark":"light")}catch(de){console.error(de)}})}},[f]),Be.useEffect(()=>{D.length<=1&&z(!1)},[D]),Be.useEffect(()=>{const J=ne=>{var re;if(s.every(we=>ne[we]||ne.code===we)){var Ee;z(!0),(Ee=ee.current)==null||Ee.focus()}ne.code==="Escape"&&(document.activeElement===ee.current||(re=ee.current)!=null&&re.contains(document.activeElement))&&z(!1)};return document.addEventListener("keydown",J),()=>document.removeEventListener("keydown",J)},[s]),Be.useEffect(()=>{if(ee.current)return()=>{H.current&&(H.current.focus({preventScroll:!0}),H.current=null,Y.current=!1)}},[ee.current]),Be.createElement("section",{ref:n,"aria-label":`${M} ${$}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},L.map((J,ne)=>{var re;const[de,Ee]=J.split("-");return D.length?Be.createElement("ol",{key:J,dir:S==="auto"?YW():S,tabIndex:-1,ref:ee,className:l,"data-sonner-toaster":!0,"data-sonner-theme":W,"data-y-position":de,"data-x-position":Ee,style:{"--front-toast-height":`${((re=F[0])==null?void 0:re.height)||0}px`,"--width":`${aDe}px`,"--gap":`${I}px`,...w,...dDe(u,d)},onBlur:we=>{Y.current&&!we.currentTarget.contains(we.relatedTarget)&&(Y.current=!1,H.current&&(H.current.focus({preventScroll:!0}),H.current=null))},onFocus:we=>{we.target instanceof HTMLElement&&we.target.dataset.dismissible==="false"||Y.current||(Y.current=!0,H.current=we.relatedTarget)},onMouseEnter:()=>z(!0),onMouseMove:()=>z(!0),onMouseLeave:()=>{G||z(!1)},onDragEnd:()=>z(!1),onPointerDown:we=>{we.target instanceof HTMLElement&&we.target.dataset.dismissible==="false"||Z(!0)},onPointerUp:()=>Z(!1)},D.filter(we=>!we.position&&ne===0||we.position===J).map((we,xe)=>{var ce,pe;return Be.createElement(fDe,{key:we.id,icons:N,index:xe,toast:we,defaultRichColors:m,duration:(ce=j==null?void 0:j.duration)!=null?ce:g,className:j==null?void 0:j.className,descriptionClassName:j==null?void 0:j.descriptionClassName,invert:r,visibleToasts:b,closeButton:(pe=j==null?void 0:j.closeButton)!=null?pe:i,interacting:G,position:J,style:j==null?void 0:j.style,unstyled:j==null?void 0:j.unstyled,classNames:j==null?void 0:j.classNames,cancelButtonStyle:j==null?void 0:j.cancelButtonStyle,actionButtonStyle:j==null?void 0:j.actionButtonStyle,closeButtonAriaLabel:j==null?void 0:j.closeButtonAriaLabel,removeToast:q,toasts:D.filter(he=>he.position==we.position),heights:F.filter(he=>he.position==we.position),setHeights:T,expandByDefault:a,gap:I,expanded:R,swipeDirections:e.swipeDirections})})):null}))}),hDe=({...t})=>{const{themeSetting:e}=vf();return c.jsx(pDe,{theme:e,className:"toaster group",richColors:!0,mobileOffset:64,toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...t})};function Zw(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function GW(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function tse(...t){return e=>{let n=!1;const r=t.map(o=>{const s=GW(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():GW(t[o],null)}}}}function fS(...t){return h.useCallback(tse(...t),t)}function mDe(t,e){const n=h.createContext(e),r=s=>{const{children:a,...i}=s,l=h.useMemo(()=>i,Object.values(i));return c.jsx(n.Provider,{value:l,children:a})};r.displayName=t+"Provider";function o(s){const a=h.useContext(n);if(a)return a;if(e!==void 0)return e;throw new Error(`\`${s}\` must be used within \`${t}\``)}return[r,o]}function gDe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,yDe(o,...e)]}function yDe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var pr=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},vDe=yh.useId||(()=>{}),wDe=0;function B9(t){const[e,n]=h.useState(vDe());return pr(()=>{n(r=>r??String(wDe++))},[t]),t||(e?`radix-${e}`:"")}function or(t){const e=h.useRef(t);return h.useEffect(()=>{e.current=t}),h.useMemo(()=>(...n)=>{var r;return(r=e.current)==null?void 0:r.call(e,...n)},[])}function bDe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=xDe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function xDe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function U9(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function qW(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function nse(...t){return e=>{let n=!1;const r=t.map(o=>{const s=qW(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():qW(t[o],null)}}}}function rse(...t){return h.useCallback(nse(...t),t)}var ose=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(jDe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(E8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(E8,{...r,ref:e,children:n})});ose.displayName="Slot";var E8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=SDe(n);return h.cloneElement(n,{...CDe(r,n.props),ref:e?nse(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});E8.displayName="SlotClone";var kDe=({children:t})=>c.jsx(c.Fragment,{children:t});function jDe(t){return h.isValidElement(t)&&t.type===kDe}function CDe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function SDe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var EDe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],sse=EDe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?ose:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function NDe(t,e){t&&Ds.flushSync(()=>t.dispatchEvent(e))}function IDe(t,e=globalThis==null?void 0:globalThis.document){const n=or(t);h.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return e.addEventListener("keydown",r,{capture:!0}),()=>e.removeEventListener("keydown",r,{capture:!0})},[n,e])}var ADe="DismissableLayer",N8="dismissableLayer.update",_De="dismissableLayer.pointerDownOutside",MDe="dismissableLayer.focusOutside",KW,ase=h.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),qy=h.forwardRef((t,e)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:i,...l}=t,u=h.useContext(ase),[d,f]=h.useState(null),m=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=h.useState({}),w=rse(e,L=>f(L)),b=Array.from(u.layers),[j]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),S=b.indexOf(j),I=d?b.indexOf(d):-1,N=u.layersWithOutsidePointerEventsDisabled.size>0,M=I>=S,D=DDe(L=>{const F=L.target,T=[...u.branches].some(R=>R.contains(F));!M||T||(o==null||o(L),a==null||a(L),L.defaultPrevented||i==null||i())},m),P=LDe(L=>{const F=L.target;[...u.branches].some(R=>R.contains(F))||(s==null||s(L),a==null||a(L),L.defaultPrevented||i==null||i())},m);return IDe(L=>{I===u.layers.size-1&&(r==null||r(L),!L.defaultPrevented&&i&&(L.preventDefault(),i()))},m),h.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(KW=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),ZW(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=KW)}},[d,m,n,u]),h.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),ZW())},[d,u]),h.useEffect(()=>{const L=()=>g({});return document.addEventListener(N8,L),()=>document.removeEventListener(N8,L)},[]),c.jsx(sse.div,{...l,ref:w,style:{pointerEvents:N?M?"auto":"none":void 0,...t.style},onFocusCapture:U9(t.onFocusCapture,P.onFocusCapture),onBlurCapture:U9(t.onBlurCapture,P.onBlurCapture),onPointerDownCapture:U9(t.onPointerDownCapture,D.onPointerDownCapture)})});qy.displayName=ADe;var RDe="DismissableLayerBranch",TDe=h.forwardRef((t,e)=>{const n=h.useContext(ase),r=h.useRef(null),o=rse(e,r);return h.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),c.jsx(sse.div,{...t,ref:o})});TDe.displayName=RDe;function DDe(t,e=globalThis==null?void 0:globalThis.document){const n=or(t),r=h.useRef(!1),o=h.useRef(()=>{});return h.useEffect(()=>{const s=i=>{if(i.target&&!r.current){let l=function(){ise(_De,n,u,{discrete:!0})};const u={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",o.current),o.current=l,e.addEventListener("click",o.current,{once:!0})):l()}else e.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{e.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),e.removeEventListener("pointerdown",s),e.removeEventListener("click",o.current)}},[e,n]),{onPointerDownCapture:()=>r.current=!0}}function LDe(t,e=globalThis==null?void 0:globalThis.document){const n=or(t),r=h.useRef(!1);return h.useEffect(()=>{const o=s=>{s.target&&!r.current&&ise(MDe,n,{originalEvent:s},{discrete:!1})};return e.addEventListener("focusin",o),()=>e.removeEventListener("focusin",o)},[e,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function ZW(){const t=new CustomEvent(N8);document.dispatchEvent(t)}function ise(t,e,n,{discrete:r}){const o=n.originalEvent.target,s=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&o.addEventListener(t,e,{once:!0}),r?NDe(o,s):o.dispatchEvent(s)}function QW(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function lse(...t){return e=>{let n=!1;const r=t.map(o=>{const s=QW(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():QW(t[o],null)}}}}function PDe(...t){return h.useCallback(lse(...t),t)}var cse=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(zDe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(I8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(I8,{...r,ref:e,children:n})});cse.displayName="Slot";var I8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=BDe(n);return h.cloneElement(n,{...FDe(r,n.props),ref:e?lse(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});I8.displayName="SlotClone";var ODe=({children:t})=>c.jsx(c.Fragment,{children:t});function zDe(t){return h.isValidElement(t)&&t.type===ODe}function FDe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function BDe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var UDe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],$De=UDe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?cse:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),$9="focusScope.autoFocusOnMount",V9="focusScope.autoFocusOnUnmount",JW={bubbles:!1,cancelable:!0},VDe="FocusScope",q2=h.forwardRef((t,e)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=t,[i,l]=h.useState(null),u=or(o),d=or(s),f=h.useRef(null),m=PDe(e,b=>l(b)),g=h.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;h.useEffect(()=>{if(r){let b=function(N){if(g.paused||!i)return;const M=N.target;i.contains(M)?f.current=M:wp(f.current,{select:!0})},j=function(N){if(g.paused||!i)return;const M=N.relatedTarget;M!==null&&(i.contains(M)||wp(f.current,{select:!0}))},S=function(N){if(document.activeElement===document.body)for(const D of N)D.removedNodes.length>0&&wp(i)};document.addEventListener("focusin",b),document.addEventListener("focusout",j);const I=new MutationObserver(S);return i&&I.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",b),document.removeEventListener("focusout",j),I.disconnect()}}},[r,i,g.paused]),h.useEffect(()=>{if(i){eY.add(g);const b=document.activeElement;if(!i.contains(b)){const S=new CustomEvent($9,JW);i.addEventListener($9,u),i.dispatchEvent(S),S.defaultPrevented||(HDe(KDe(use(i)),{select:!0}),document.activeElement===b&&wp(i))}return()=>{i.removeEventListener($9,u),setTimeout(()=>{const S=new CustomEvent(V9,JW);i.addEventListener(V9,d),i.dispatchEvent(S),S.defaultPrevented||wp(b??document.body,{select:!0}),i.removeEventListener(V9,d),eY.remove(g)},0)}}},[i,u,d,g]);const w=h.useCallback(b=>{if(!n&&!r||g.paused)return;const j=b.key==="Tab"&&!b.altKey&&!b.ctrlKey&&!b.metaKey,S=document.activeElement;if(j&&S){const I=b.currentTarget,[N,M]=WDe(I);N&&M?!b.shiftKey&&S===M?(b.preventDefault(),n&&wp(N,{select:!0})):b.shiftKey&&S===N&&(b.preventDefault(),n&&wp(M,{select:!0})):S===I&&b.preventDefault()}},[n,r,g.paused]);return c.jsx($De.div,{tabIndex:-1,...a,ref:m,onKeyDown:w})});q2.displayName=VDe;function HDe(t,{select:e=!1}={}){const n=document.activeElement;for(const r of t)if(wp(r,{select:e}),document.activeElement!==n)return}function WDe(t){const e=use(t),n=XW(e,t),r=XW(e.reverse(),t);return[n,r]}function use(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function XW(t,e){for(const n of t)if(!YDe(n,{upTo:e}))return n}function YDe(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function GDe(t){return t instanceof HTMLInputElement&&"select"in t}function wp(t,{select:e=!1}={}){if(t&&t.focus){const n=document.activeElement;t.focus({preventScroll:!0}),t!==n&&GDe(t)&&e&&t.select()}}var eY=qDe();function qDe(){let t=[];return{add(e){const n=t[0];e!==n&&(n==null||n.pause()),t=tY(t,e),t.unshift(e)},remove(e){var n;t=tY(t,e),(n=t[0])==null||n.resume()}}}function tY(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}function KDe(t){return t.filter(e=>e.tagName!=="A")}function nY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function ZDe(...t){return e=>{let n=!1;const r=t.map(o=>{const s=nY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():nY(t[o],null)}}}}var fse=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(JDe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(A8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(A8,{...r,ref:e,children:n})});fse.displayName="Slot";var A8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=eLe(n);return h.cloneElement(n,{...XDe(r,n.props),ref:e?ZDe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});A8.displayName="SlotClone";var QDe=({children:t})=>c.jsx(c.Fragment,{children:t});function JDe(t){return h.isValidElement(t)&&t.type===QDe}function XDe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function eLe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var tLe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],nLe=tLe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?fse:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),rLe="Portal",K2=h.forwardRef((t,e)=>{var i;const{container:n,...r}=t,[o,s]=h.useState(!1);pr(()=>s(!0),[]);const a=n||o&&((i=globalThis==null?void 0:globalThis.document)==null?void 0:i.body);return a?GD.createPortal(c.jsx(nLe.div,{...r,ref:e}),a):null});K2.displayName=rLe;function oLe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var dS=t=>{const{present:e,children:n}=t,r=sLe(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=fS(r.ref,aLe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};dS.displayName="Presence";function sLe(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=oLe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=x6(r.current);s.current=i==="mounted"?u:"none"},[i]),pr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=x6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),pr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=x6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=x6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function x6(t){return(t==null?void 0:t.animationName)||"none"}function aLe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var qD=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(lLe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(_8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(_8,{...r,ref:e,children:n})});qD.displayName="Slot";var _8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=uLe(n);return h.cloneElement(n,{...cLe(r,n.props),ref:e?tse(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});_8.displayName="SlotClone";var iLe=({children:t})=>c.jsx(c.Fragment,{children:t});function lLe(t){return h.isValidElement(t)&&t.type===iLe}function cLe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function uLe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var fLe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Z2=fLe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?qD:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),H9=0;function pS(){h.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??rY()),document.body.insertAdjacentElement("beforeend",t[1]??rY()),H9++,()=>{H9===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),H9--}},[])}function rY(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var zu=function(){return zu=Object.assign||function(e){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},zu.apply(this,arguments)};function dse(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]]);return n}function dLe(t,e,n){if(n||arguments.length===2)for(var r=0,o=e.length,s;r<o;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))}var z3="right-scroll-bar-position",F3="width-before-scroll-bar",pLe="with-scroll-bars-hidden",hLe="--removed-body-scroll-bar-size";function W9(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}function mLe(t,e){var n=h.useState(function(){return{value:t,callback:e,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=e,n.facade}var gLe=typeof window<"u"?h.useLayoutEffect:h.useEffect,oY=new WeakMap;function yLe(t,e){var n=mLe(null,function(r){return t.forEach(function(o){return W9(o,r)})});return gLe(function(){var r=oY.get(n);if(r){var o=new Set(r),s=new Set(t),a=n.current;o.forEach(function(i){s.has(i)||W9(i,null)}),s.forEach(function(i){o.has(i)||W9(i,a)})}oY.set(n,t)},[t]),n}function vLe(t){return t}function wLe(t,e){e===void 0&&(e=vLe);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:t},useMedium:function(s){var a=e(s,r);return n.push(a),function(){n=n.filter(function(i){return i!==a})}},assignSyncMedium:function(s){for(r=!0;n.length;){var a=n;n=[],a.forEach(s)}n={push:function(i){return s(i)},filter:function(){return n}}},assignMedium:function(s){r=!0;var a=[];if(n.length){var i=n;n=[],i.forEach(s),a=n}var l=function(){var d=a;a=[],d.forEach(s)},u=function(){return Promise.resolve().then(l)};u(),n={push:function(d){a.push(d),u()},filter:function(d){return a=a.filter(d),n}}}};return o}function bLe(t){t===void 0&&(t={});var e=wLe(null);return e.options=zu({async:!0,ssr:!1},t),e}var pse=function(t){var e=t.sideCar,n=dse(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=e.read();if(!r)throw new Error("Sidecar medium not found");return h.createElement(r,zu({},n))};pse.isSideCarExport=!0;function xLe(t,e){return t.useMedium(e),pse}var hse=bLe(),Y9=function(){},hS=h.forwardRef(function(t,e){var n=h.useRef(null),r=h.useState({onScrollCapture:Y9,onWheelCapture:Y9,onTouchMoveCapture:Y9}),o=r[0],s=r[1],a=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,f=t.shards,m=t.sideCar,g=t.noIsolation,w=t.inert,b=t.allowPinchZoom,j=t.as,S=j===void 0?"div":j,I=t.gapMode,N=dse(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),M=m,D=yLe([n,e]),P=zu(zu({},N),o);return h.createElement(h.Fragment,null,d&&h.createElement(M,{sideCar:hse,removeScrollBar:u,shards:f,noIsolation:g,inert:w,setCallbacks:s,allowPinchZoom:!!b,lockRef:n,gapMode:I}),a?h.cloneElement(h.Children.only(i),zu(zu({},P),{ref:D})):h.createElement(S,zu({},P,{className:l,ref:D}),i))});hS.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};hS.classNames={fullWidth:F3,zeroRight:z3};var kLe=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function jLe(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=kLe();return e&&t.setAttribute("nonce",e),t}function CLe(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function SLe(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var ELe=function(){var t=0,e=null;return{add:function(n){t==0&&(e=jLe())&&(CLe(e,n),SLe(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},NLe=function(){var t=ELe();return function(e,n){h.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&n])}},mse=function(){var t=NLe(),e=function(n){var r=n.styles,o=n.dynamic;return t(r,o),null};return e},ILe={left:0,top:0,right:0,gap:0},G9=function(t){return parseInt(t||"",10)||0},ALe=function(t){var e=window.getComputedStyle(document.body),n=e[t==="padding"?"paddingLeft":"marginLeft"],r=e[t==="padding"?"paddingTop":"marginTop"],o=e[t==="padding"?"paddingRight":"marginRight"];return[G9(n),G9(r),G9(o)]},_Le=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return ILe;var e=ALe(t),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,r-n+e[2]-e[0])}},MLe=mse(),$0="data-scroll-locked",RLe=function(t,e,n,r){var o=t.left,s=t.top,a=t.right,i=t.gap;return n===void 0&&(n="margin"),`
1269 .`.concat(pLe,` {
1270 overflow: hidden `).concat(r,`;
1271 padding-right: `).concat(i,"px ").concat(r,`;
1272 }
1273 body[`).concat($0,`] {
1274 overflow: hidden `).concat(r,`;
1275 overscroll-behavior: contain;
1276 `).concat([e&&"position: relative ".concat(r,";"),n==="margin"&&`
1277 padding-left: `.concat(o,`px;
1278 padding-top: `).concat(s,`px;
1279 padding-right: `).concat(a,`px;
1280 margin-left:0;
1281 margin-top:0;
1282 margin-right: `).concat(i,"px ").concat(r,`;
1283 `),n==="padding"&&"padding-right: ".concat(i,"px ").concat(r,";")].filter(Boolean).join(""),`
1284 }
1285
1286 .`).concat(z3,` {
1287 right: `).concat(i,"px ").concat(r,`;
1288 }
1289
1290 .`).concat(F3,` {
1291 margin-right: `).concat(i,"px ").concat(r,`;
1292 }
1293
1294 .`).concat(z3," .").concat(z3,` {
1295 right: 0 `).concat(r,`;
1296 }
1297
1298 .`).concat(F3," .").concat(F3,` {
1299 margin-right: 0 `).concat(r,`;
1300 }
1301
1302 body[`).concat($0,`] {
1303 `).concat(hLe,": ").concat(i,`px;
1304 }
1305 `)},sY=function(){var t=parseInt(document.body.getAttribute($0)||"0",10);return isFinite(t)?t:0},TLe=function(){h.useEffect(function(){return document.body.setAttribute($0,(sY()+1).toString()),function(){var t=sY()-1;t<=0?document.body.removeAttribute($0):document.body.setAttribute($0,t.toString())}},[])},DLe=function(t){var e=t.noRelative,n=t.noImportant,r=t.gapMode,o=r===void 0?"margin":r;TLe();var s=h.useMemo(function(){return _Le(o)},[o]);return h.createElement(MLe,{styles:RLe(s,!e,o,n?"":"!important")})},M8=!1;if(typeof window<"u")try{var k6=Object.defineProperty({},"passive",{get:function(){return M8=!0,!0}});window.addEventListener("test",k6,k6),window.removeEventListener("test",k6,k6)}catch{M8=!1}var Y1=M8?{passive:!1}:!1,LLe=function(t){return t.tagName==="TEXTAREA"},gse=function(t,e){if(!(t instanceof Element))return!1;var n=window.getComputedStyle(t);return n[e]!=="hidden"&&!(n.overflowY===n.overflowX&&!LLe(t)&&n[e]==="visible")},PLe=function(t){return gse(t,"overflowY")},OLe=function(t){return gse(t,"overflowX")},aY=function(t,e){var n=e.ownerDocument,r=e;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=yse(t,r);if(o){var s=vse(t,r),a=s[1],i=s[2];if(a>i)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},zLe=function(t){var e=t.scrollTop,n=t.scrollHeight,r=t.clientHeight;return[e,n,r]},FLe=function(t){var e=t.scrollLeft,n=t.scrollWidth,r=t.clientWidth;return[e,n,r]},yse=function(t,e){return t==="v"?PLe(e):OLe(e)},vse=function(t,e){return t==="v"?zLe(e):FLe(e)},BLe=function(t,e){return t==="h"&&e==="rtl"?-1:1},ULe=function(t,e,n,r,o){var s=BLe(t,window.getComputedStyle(e).direction),a=s*r,i=n.target,l=e.contains(i),u=!1,d=a>0,f=0,m=0;do{var g=vse(t,i),w=g[0],b=g[1],j=g[2],S=b-j-s*w;(w||S)&&yse(t,i)&&(f+=S,m+=w),i instanceof ShadowRoot?i=i.host:i=i.parentNode}while(!l&&i!==document.body||l&&(e.contains(i)||e===i));return(d&&Math.abs(f)<1||!d&&Math.abs(m)<1)&&(u=!0),u},j6=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},iY=function(t){return[t.deltaX,t.deltaY]},lY=function(t){return t&&"current"in t?t.current:t},$Le=function(t,e){return t[0]===e[0]&&t[1]===e[1]},VLe=function(t){return`
1306 .block-interactivity-`.concat(t,` {pointer-events: none;}
1307 .allow-interactivity-`).concat(t,` {pointer-events: all;}
1308 `)},HLe=0,G1=[];function WLe(t){var e=h.useRef([]),n=h.useRef([0,0]),r=h.useRef(),o=h.useState(HLe++)[0],s=h.useState(mse)[0],a=h.useRef(t);h.useEffect(function(){a.current=t},[t]),h.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(o));var b=dLe([t.lockRef.current],(t.shards||[]).map(lY),!0).filter(Boolean);return b.forEach(function(j){return j.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),b.forEach(function(j){return j.classList.remove("allow-interactivity-".concat(o))})}}},[t.inert,t.lockRef.current,t.shards]);var i=h.useCallback(function(b,j){if("touches"in b&&b.touches.length===2||b.type==="wheel"&&b.ctrlKey)return!a.current.allowPinchZoom;var S=j6(b),I=n.current,N="deltaX"in b?b.deltaX:I[0]-S[0],M="deltaY"in b?b.deltaY:I[1]-S[1],D,P=b.target,L=Math.abs(N)>Math.abs(M)?"h":"v";if("touches"in b&&L==="h"&&P.type==="range")return!1;var F=aY(L,P);if(!F)return!0;if(F?D=L:(D=L==="v"?"h":"v",F=aY(L,P)),!F)return!1;if(!r.current&&"changedTouches"in b&&(N||M)&&(r.current=D),!D)return!0;var T=r.current||D;return ULe(T,j,b,T==="h"?N:M)},[]),l=h.useCallback(function(b){var j=b;if(!(!G1.length||G1[G1.length-1]!==s)){var S="deltaY"in j?iY(j):j6(j),I=e.current.filter(function(D){return D.name===j.type&&(D.target===j.target||j.target===D.shadowParent)&&$Le(D.delta,S)})[0];if(I&&I.should){j.cancelable&&j.preventDefault();return}if(!I){var N=(a.current.shards||[]).map(lY).filter(Boolean).filter(function(D){return D.contains(j.target)}),M=N.length>0?i(j,N[0]):!a.current.noIsolation;M&&j.cancelable&&j.preventDefault()}}},[]),u=h.useCallback(function(b,j,S,I){var N={name:b,delta:j,target:S,should:I,shadowParent:YLe(S)};e.current.push(N),setTimeout(function(){e.current=e.current.filter(function(M){return M!==N})},1)},[]),d=h.useCallback(function(b){n.current=j6(b),r.current=void 0},[]),f=h.useCallback(function(b){u(b.type,iY(b),b.target,i(b,t.lockRef.current))},[]),m=h.useCallback(function(b){u(b.type,j6(b),b.target,i(b,t.lockRef.current))},[]);h.useEffect(function(){return G1.push(s),t.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Y1),document.addEventListener("touchmove",l,Y1),document.addEventListener("touchstart",d,Y1),function(){G1=G1.filter(function(b){return b!==s}),document.removeEventListener("wheel",l,Y1),document.removeEventListener("touchmove",l,Y1),document.removeEventListener("touchstart",d,Y1)}},[]);var g=t.removeScrollBar,w=t.inert;return h.createElement(h.Fragment,null,w?h.createElement(s,{styles:VLe(o)}):null,g?h.createElement(DLe,{gapMode:t.gapMode}):null)}function YLe(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const GLe=xLe(hse,WLe);var Q2=h.forwardRef(function(t,e){return h.createElement(hS,zu({},t,{ref:e,sideCar:GLe}))});Q2.classNames=hS.classNames;var qLe=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},q1=new WeakMap,C6=new WeakMap,S6={},q9=0,wse=function(t){return t&&(t.host||wse(t.parentNode))},KLe=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=wse(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},ZLe=function(t,e,n,r){var o=KLe(e,Array.isArray(t)?t:[t]);S6[n]||(S6[n]=new WeakMap);var s=S6[n],a=[],i=new Set,l=new Set(o),u=function(f){!f||i.has(f)||(i.add(f),u(f.parentNode))};o.forEach(u);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(m){if(i.has(m))d(m);else try{var g=m.getAttribute(r),w=g!==null&&g!=="false",b=(q1.get(m)||0)+1,j=(s.get(m)||0)+1;q1.set(m,b),s.set(m,j),a.push(m),b===1&&w&&C6.set(m,!0),j===1&&m.setAttribute(n,"true"),w||m.setAttribute(r,"true")}catch(S){console.error("aria-hidden: cannot operate on ",m,S)}})};return d(e),i.clear(),q9++,function(){a.forEach(function(f){var m=q1.get(f)-1,g=s.get(f)-1;q1.set(f,m),s.set(f,g),m||(C6.has(f)||f.removeAttribute(r),C6.delete(f)),g||f.removeAttribute(n)}),q9--,q9||(q1=new WeakMap,q1=new WeakMap,C6=new WeakMap,S6={})}},mS=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),o=qLe(t);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),ZLe(r,o,n,"aria-hidden")):function(){return null}},KD="Dialog",[bse,xse]=gDe(KD),[QLe,fu]=bse(KD),kse=t=>{const{__scopeDialog:e,children:n,open:r,defaultOpen:o,onOpenChange:s,modal:a=!0}=t,i=h.useRef(null),l=h.useRef(null),[u=!1,d]=bDe({prop:r,defaultProp:o,onChange:s});return c.jsx(QLe,{scope:e,triggerRef:i,contentRef:l,contentId:B9(),titleId:B9(),descriptionId:B9(),open:u,onOpenChange:d,onOpenToggle:h.useCallback(()=>d(f=>!f),[d]),modal:a,children:n})};kse.displayName=KD;var jse="DialogTrigger",Cse=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=fu(jse,n),s=fS(e,o.triggerRef);return c.jsx(Z2.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":JD(o.open),...r,ref:s,onClick:Zw(t.onClick,o.onOpenToggle)})});Cse.displayName=jse;var ZD="DialogPortal",[JLe,Sse]=bse(ZD,{forceMount:void 0}),Ese=t=>{const{__scopeDialog:e,forceMount:n,children:r,container:o}=t,s=fu(ZD,e);return c.jsx(JLe,{scope:e,forceMount:n,children:h.Children.map(r,a=>c.jsx(dS,{present:n||s.open,children:c.jsx(K2,{asChild:!0,container:o,children:a})}))})};Ese.displayName=ZD;var Kk="DialogOverlay",Nse=h.forwardRef((t,e)=>{const n=Sse(Kk,t.__scopeDialog),{forceMount:r=n.forceMount,...o}=t,s=fu(Kk,t.__scopeDialog);return s.modal?c.jsx(dS,{present:r||s.open,children:c.jsx(XLe,{...o,ref:e})}):null});Nse.displayName=Kk;var XLe=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=fu(Kk,n);return c.jsx(Q2,{as:qD,allowPinchZoom:!0,shards:[o.contentRef],children:c.jsx(Z2.div,{"data-state":JD(o.open),...r,ref:e,style:{pointerEvents:"auto",...r.style}})})}),jg="DialogContent",Ise=h.forwardRef((t,e)=>{const n=Sse(jg,t.__scopeDialog),{forceMount:r=n.forceMount,...o}=t,s=fu(jg,t.__scopeDialog);return c.jsx(dS,{present:r||s.open,children:s.modal?c.jsx(e7e,{...o,ref:e}):c.jsx(t7e,{...o,ref:e})})});Ise.displayName=jg;var e7e=h.forwardRef((t,e)=>{const n=fu(jg,t.__scopeDialog),r=h.useRef(null),o=fS(e,n.contentRef,r);return h.useEffect(()=>{const s=r.current;if(s)return mS(s)},[]),c.jsx(Ase,{...t,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Zw(t.onCloseAutoFocus,s=>{var a;s.preventDefault(),(a=n.triggerRef.current)==null||a.focus()}),onPointerDownOutside:Zw(t.onPointerDownOutside,s=>{const a=s.detail.originalEvent,i=a.button===0&&a.ctrlKey===!0;(a.button===2||i)&&s.preventDefault()}),onFocusOutside:Zw(t.onFocusOutside,s=>s.preventDefault())})}),t7e=h.forwardRef((t,e)=>{const n=fu(jg,t.__scopeDialog),r=h.useRef(!1),o=h.useRef(!1);return c.jsx(Ase,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,i;(a=t.onCloseAutoFocus)==null||a.call(t,s),s.defaultPrevented||(r.current||(i=n.triggerRef.current)==null||i.focus(),s.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:s=>{var l,u;(l=t.onInteractOutside)==null||l.call(t,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((u=n.triggerRef.current)==null?void 0:u.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),Ase=h.forwardRef((t,e)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:s,...a}=t,i=fu(jg,n),l=h.useRef(null),u=fS(e,l);return pS(),c.jsxs(c.Fragment,{children:[c.jsx(q2,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:s,children:c.jsx(qy,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":JD(i.open),...a,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),c.jsxs(c.Fragment,{children:[c.jsx(r7e,{titleId:i.titleId}),c.jsx(s7e,{contentRef:l,descriptionId:i.descriptionId})]})]})}),QD="DialogTitle",_se=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=fu(QD,n);return c.jsx(Z2.h2,{id:o.titleId,...r,ref:e})});_se.displayName=QD;var Mse="DialogDescription",Rse=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=fu(Mse,n);return c.jsx(Z2.p,{id:o.descriptionId,...r,ref:e})});Rse.displayName=Mse;var Tse="DialogClose",Dse=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=fu(Tse,n);return c.jsx(Z2.button,{type:"button",...r,ref:e,onClick:Zw(t.onClick,()=>o.onOpenChange(!1))})});Dse.displayName=Tse;function JD(t){return t?"open":"closed"}var Lse="DialogTitleWarning",[n7e,Pse]=mDe(Lse,{contentName:jg,titleName:QD,docsSlug:"dialog"}),r7e=({titleId:t})=>{const e=Pse(Lse),n=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
1309
1310 If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
1311
1312 For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return h.useEffect(()=>{t&&(document.getElementById(t)||console.error(n))},[n,t]),null},o7e="DialogDescriptionWarning",s7e=({contentRef:t,descriptionId:e})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Pse(o7e).contentName}}.`;return h.useEffect(()=>{var s;const o=(s=t.current)==null?void 0:s.getAttribute("aria-describedby");e&&o&&(document.getElementById(e)||console.warn(r))},[r,t,e]),null},gS=kse,XD=Cse,yS=Ese,Ky=Nse,Zy=Ise,Qy=_se,Jy=Rse,J2=Dse;/**
1313 * @license lucide-react v0.469.0 - ISC
1314 *
1315 * This source code is licensed under the ISC license.
1316 * See the LICENSE file in the root directory of this source tree.
1317 */const a7e=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ose=(...t)=>t.filter((e,n,r)=>!!e&&e.trim()!==""&&r.indexOf(e)===n).join(" ").trim();/**
1318 * @license lucide-react v0.469.0 - ISC
1319 *
1320 * This source code is licensed under the ISC license.
1321 * See the LICENSE file in the root directory of this source tree.
1322 */var i7e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
1323 * @license lucide-react v0.469.0 - ISC
1324 *
1325 * This source code is licensed under the ISC license.
1326 * See the LICENSE file in the root directory of this source tree.
1327 */const l7e=h.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:s,iconNode:a,...i},l)=>h.createElement("svg",{ref:l,...i7e,width:e,height:e,stroke:t,strokeWidth:r?Number(n)*24/Number(e):n,className:Ose("lucide",o),...i},[...a.map(([u,d])=>h.createElement(u,d)),...Array.isArray(s)?s:[s]]));/**
1328 * @license lucide-react v0.469.0 - ISC
1329 *
1330 * This source code is licensed under the ISC license.
1331 * See the LICENSE file in the root directory of this source tree.
1332 */const dt=(t,e)=>{const n=h.forwardRef(({className:r,...o},s)=>h.createElement(l7e,{ref:s,iconNode:e,className:Ose(`lucide-${a7e(t)}`,r),...o}));return n.displayName=`${t}`,n};/**
1333 * @license lucide-react v0.469.0 - ISC
1334 *
1335 * This source code is licensed under the ISC license.
1336 * See the LICENSE file in the root directory of this source tree.
1337 */const zse=dt("ArrowDownUp",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"m21 8-4-4-4 4",key:"1c9v7m"}],["path",{d:"M17 4v16",key:"7dpous"}]]);/**
1338 * @license lucide-react v0.469.0 - ISC
1339 *
1340 * This source code is licensed under the ISC license.
1341 * See the LICENSE file in the root directory of this source tree.
1342 */const Zm=dt("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
1343 * @license lucide-react v0.469.0 - ISC
1344 *
1345 * This source code is licensed under the ISC license.
1346 * See the LICENSE file in the root directory of this source tree.
1347 */const c7e=dt("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
1348 * @license lucide-react v0.469.0 - ISC
1349 *
1350 * This source code is licensed under the ISC license.
1351 * See the LICENSE file in the root directory of this source tree.
1352 */const u7e=dt("ArrowUpToLine",[["path",{d:"M5 3h14",key:"7usisc"}],["path",{d:"m18 13-6-6-6 6",key:"1kf1n9"}],["path",{d:"M12 7v14",key:"1akyts"}]]);/**
1353 * @license lucide-react v0.469.0 - ISC
1354 *
1355 * This source code is licensed under the ISC license.
1356 * See the LICENSE file in the root directory of this source tree.
1357 */const Fse=dt("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/**
1358 * @license lucide-react v0.469.0 - ISC
1359 *
1360 * This source code is licensed under the ISC license.
1361 * See the LICENSE file in the root directory of this source tree.
1362 */const f7e=dt("AtSign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]);/**
1363 * @license lucide-react v0.469.0 - ISC
1364 *
1365 * This source code is licensed under the ISC license.
1366 * See the LICENSE file in the root directory of this source tree.
1367 */const d7e=dt("BadgeAlert",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
1368 * @license lucide-react v0.469.0 - ISC
1369 *
1370 * This source code is licensed under the ISC license.
1371 * See the LICENSE file in the root directory of this source tree.
1372 */const p7e=dt("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
1373 * @license lucide-react v0.469.0 - ISC
1374 *
1375 * This source code is licensed under the ISC license.
1376 * See the LICENSE file in the root directory of this source tree.
1377 */const Bse=dt("Ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]]);/**
1378 * @license lucide-react v0.469.0 - ISC
1379 *
1380 * This source code is licensed under the ISC license.
1381 * See the LICENSE file in the root directory of this source tree.
1382 */const Vu=dt("BellOff",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]]);/**
1383 * @license lucide-react v0.469.0 - ISC
1384 *
1385 * This source code is licensed under the ISC license.
1386 * See the LICENSE file in the root directory of this source tree.
1387 */const my=dt("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/**
1388 * @license lucide-react v0.469.0 - ISC
1389 *
1390 * This source code is licensed under the ISC license.
1391 * See the LICENSE file in the root directory of this source tree.
1392 */const Use=dt("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/**
1393 * @license lucide-react v0.469.0 - ISC
1394 *
1395 * This source code is licensed under the ISC license.
1396 * See the LICENSE file in the root directory of this source tree.
1397 */const h7e=dt("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/**
1398 * @license lucide-react v0.469.0 - ISC
1399 *
1400 * This source code is licensed under the ISC license.
1401 * See the LICENSE file in the root directory of this source tree.
1402 */const Zr=dt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
1403 * @license lucide-react v0.469.0 - ISC
1404 *
1405 * This source code is licensed under the ISC license.
1406 * See the LICENSE file in the root directory of this source tree.
1407 */const ic=dt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
1408 * @license lucide-react v0.469.0 - ISC
1409 *
1410 * This source code is licensed under the ISC license.
1411 * See the LICENSE file in the root directory of this source tree.
1412 */const vS=dt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
1413 * @license lucide-react v0.469.0 - ISC
1414 *
1415 * This source code is licensed under the ISC license.
1416 * See the LICENSE file in the root directory of this source tree.
1417 */const $se=dt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
1418 * @license lucide-react v0.469.0 - ISC
1419 *
1420 * This source code is licensed under the ISC license.
1421 * See the LICENSE file in the root directory of this source tree.
1422 */const wd=dt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
1423 * @license lucide-react v0.469.0 - ISC
1424 *
1425 * This source code is licensed under the ISC license.
1426 * See the LICENSE file in the root directory of this source tree.
1427 */const m7e=dt("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);/**
1428 * @license lucide-react v0.469.0 - ISC
1429 *
1430 * This source code is licensed under the ISC license.
1431 * See the LICENSE file in the root directory of this source tree.
1432 */const g7e=dt("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);/**
1433 * @license lucide-react v0.469.0 - ISC
1434 *
1435 * This source code is licensed under the ISC license.
1436 * See the LICENSE file in the root directory of this source tree.
1437 */const Vse=dt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
1438 * @license lucide-react v0.469.0 - ISC
1439 *
1440 * This source code is licensed under the ISC license.
1441 * See the LICENSE file in the root directory of this source tree.
1442 */const eL=dt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
1443 * @license lucide-react v0.469.0 - ISC
1444 *
1445 * This source code is licensed under the ISC license.
1446 * See the LICENSE file in the root directory of this source tree.
1447 */const Hse=dt("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
1448 * @license lucide-react v0.469.0 - ISC
1449 *
1450 * This source code is licensed under the ISC license.
1451 * See the LICENSE file in the root directory of this source tree.
1452 */const Wse=dt("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
1453 * @license lucide-react v0.469.0 - ISC
1454 *
1455 * This source code is licensed under the ISC license.
1456 * See the LICENSE file in the root directory of this source tree.
1457 */const Yse=dt("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
1458 * @license lucide-react v0.469.0 - ISC
1459 *
1460 * This source code is licensed under the ISC license.
1461 * See the LICENSE file in the root directory of this source tree.
1462 */const y7e=dt("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);/**
1463 * @license lucide-react v0.469.0 - ISC
1464 *
1465 * This source code is licensed under the ISC license.
1466 * See the LICENSE file in the root directory of this source tree.
1467 */const v7e=dt("CloudUpload",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]);/**
1468 * @license lucide-react v0.469.0 - ISC
1469 *
1470 * This source code is licensed under the ISC license.
1471 * See the LICENSE file in the root directory of this source tree.
1472 */const Gse=dt("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/**
1473 * @license lucide-react v0.469.0 - ISC
1474 *
1475 * This source code is licensed under the ISC license.
1476 * See the LICENSE file in the root directory of this source tree.
1477 */const w7e=dt("Cog",[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]]);/**
1478 * @license lucide-react v0.469.0 - ISC
1479 *
1480 * This source code is licensed under the ISC license.
1481 * See the LICENSE file in the root directory of this source tree.
1482 */const Zk=dt("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]);/**
1483 * @license lucide-react v0.469.0 - ISC
1484 *
1485 * This source code is licensed under the ISC license.
1486 * See the LICENSE file in the root directory of this source tree.
1487 */const qse=dt("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
1488 * @license lucide-react v0.469.0 - ISC
1489 *
1490 * This source code is licensed under the ISC license.
1491 * See the LICENSE file in the root directory of this source tree.
1492 */const La=dt("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
1493 * @license lucide-react v0.469.0 - ISC
1494 *
1495 * This source code is licensed under the ISC license.
1496 * See the LICENSE file in the root directory of this source tree.
1497 */const b7e=dt("Crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]);/**
1498 * @license lucide-react v0.469.0 - ISC
1499 *
1500 * This source code is licensed under the ISC license.
1501 * See the LICENSE file in the root directory of this source tree.
1502 */const x7e=dt("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
1503 * @license lucide-react v0.469.0 - ISC
1504 *
1505 * This source code is licensed under the ISC license.
1506 * See the LICENSE file in the root directory of this source tree.
1507 */const tL=dt("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
1508 * @license lucide-react v0.469.0 - ISC
1509 *
1510 * This source code is licensed under the ISC license.
1511 * See the LICENSE file in the root directory of this source tree.
1512 */const wS=dt("EllipsisVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);/**
1513 * @license lucide-react v0.469.0 - ISC
1514 *
1515 * This source code is licensed under the ISC license.
1516 * See the LICENSE file in the root directory of this source tree.
1517 */const bS=dt("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/**
1518 * @license lucide-react v0.469.0 - ISC
1519 *
1520 * This source code is licensed under the ISC license.
1521 * See the LICENSE file in the root directory of this source tree.
1522 */const k7e=dt("Eraser",[["path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21",key:"182aya"}],["path",{d:"M22 21H7",key:"t4ddhn"}],["path",{d:"m5 11 9 9",key:"1mo9qw"}]]);/**
1523 * @license lucide-react v0.469.0 - ISC
1524 *
1525 * This source code is licensed under the ISC license.
1526 * See the LICENSE file in the root directory of this source tree.
1527 */const of=dt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
1528 * @license lucide-react v0.469.0 - ISC
1529 *
1530 * This source code is licensed under the ISC license.
1531 * See the LICENSE file in the root directory of this source tree.
1532 */const j7e=dt("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
1533 * @license lucide-react v0.469.0 - ISC
1534 *
1535 * This source code is licensed under the ISC license.
1536 * See the LICENSE file in the root directory of this source tree.
1537 */const Kse=dt("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
1538 * @license lucide-react v0.469.0 - ISC
1539 *
1540 * This source code is licensed under the ISC license.
1541 * See the LICENSE file in the root directory of this source tree.
1542 */const Zse=dt("FolderClosed",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M2 10h20",key:"1ir3d8"}]]);/**
1543 * @license lucide-react v0.469.0 - ISC
1544 *
1545 * This source code is licensed under the ISC license.
1546 * See the LICENSE file in the root directory of this source tree.
1547 */const cY=dt("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
1548 * @license lucide-react v0.469.0 - ISC
1549 *
1550 * This source code is licensed under the ISC license.
1551 * See the LICENSE file in the root directory of this source tree.
1552 */const C7e=dt("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/**
1553 * @license lucide-react v0.469.0 - ISC
1554 *
1555 * This source code is licensed under the ISC license.
1556 * See the LICENSE file in the root directory of this source tree.
1557 */const Qse=dt("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
1558 * @license lucide-react v0.469.0 - ISC
1559 *
1560 * This source code is licensed under the ISC license.
1561 * See the LICENSE file in the root directory of this source tree.
1562 */const nL=dt("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/**
1563 * @license lucide-react v0.469.0 - ISC
1564 *
1565 * This source code is licensed under the ISC license.
1566 * See the LICENSE file in the root directory of this source tree.
1567 */const t2=dt("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/**
1568 * @license lucide-react v0.469.0 - ISC
1569 *
1570 * This source code is licensed under the ISC license.
1571 * See the LICENSE file in the root directory of this source tree.
1572 */const Qk=dt("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/**
1573 * @license lucide-react v0.469.0 - ISC
1574 *
1575 * This source code is licensed under the ISC license.
1576 * See the LICENSE file in the root directory of this source tree.
1577 */const Jse=dt("Highlighter",[["path",{d:"m9 11-6 6v3h9l3-3",key:"1a3l36"}],["path",{d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4",key:"14a9rk"}]]);/**
1578 * @license lucide-react v0.469.0 - ISC
1579 *
1580 * This source code is licensed under the ISC license.
1581 * See the LICENSE file in the root directory of this source tree.
1582 */const S7e=dt("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
1583 * @license lucide-react v0.469.0 - ISC
1584 *
1585 * This source code is licensed under the ISC license.
1586 * See the LICENSE file in the root directory of this source tree.
1587 */const E7e=dt("ImageOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);/**
1588 * @license lucide-react v0.469.0 - ISC
1589 *
1590 * This source code is licensed under the ISC license.
1591 * See the LICENSE file in the root directory of this source tree.
1592 */const N7e=dt("ImageUp",[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",key:"9csbqa"}],["path",{d:"m14 19.5 3-3 3 3",key:"9vmjn0"}],["path",{d:"M17 22v-5.5",key:"1aa6fl"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);/**
1593 * @license lucide-react v0.469.0 - ISC
1594 *
1595 * This source code is licensed under the ISC license.
1596 * See the LICENSE file in the root directory of this source tree.
1597 */const rL=dt("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
1598 * @license lucide-react v0.469.0 - ISC
1599 *
1600 * This source code is licensed under the ISC license.
1601 * See the LICENSE file in the root directory of this source tree.
1602 */const uY=dt("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);/**
1603 * @license lucide-react v0.469.0 - ISC
1604 *
1605 * This source code is licensed under the ISC license.
1606 * See the LICENSE file in the root directory of this source tree.
1607 */const Xse=dt("Keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]);/**
1608 * @license lucide-react v0.469.0 - ISC
1609 *
1610 * This source code is licensed under the ISC license.
1611 * See the LICENSE file in the root directory of this source tree.
1612 */const eae=dt("LayoutList",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["path",{d:"M14 4h7",key:"3xa0d5"}],["path",{d:"M14 9h7",key:"1icrd9"}],["path",{d:"M14 15h7",key:"1mj8o2"}],["path",{d:"M14 20h7",key:"11slyb"}]]);/**
1613 * @license lucide-react v0.469.0 - ISC
1614 *
1615 * This source code is licensed under the ISC license.
1616 * See the LICENSE file in the root directory of this source tree.
1617 */const tae=dt("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]);/**
1618 * @license lucide-react v0.469.0 - ISC
1619 *
1620 * This source code is licensed under the ISC license.
1621 * See the LICENSE file in the root directory of this source tree.
1622 */const I7e=dt("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/**
1623 * @license lucide-react v0.469.0 - ISC
1624 *
1625 * This source code is licensed under the ISC license.
1626 * See the LICENSE file in the root directory of this source tree.
1627 */const n2=dt("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);/**
1628 * @license lucide-react v0.469.0 - ISC
1629 *
1630 * This source code is licensed under the ISC license.
1631 * See the LICENSE file in the root directory of this source tree.
1632 */const A7e=dt("ListFilter",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
1633 * @license lucide-react v0.469.0 - ISC
1634 *
1635 * This source code is licensed under the ISC license.
1636 * See the LICENSE file in the root directory of this source tree.
1637 */const _7e=dt("ListTodo",[["rect",{x:"3",y:"5",width:"6",height:"6",rx:"1",key:"1defrl"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
1638 * @license lucide-react v0.469.0 - ISC
1639 *
1640 * This source code is licensed under the ISC license.
1641 * See the LICENSE file in the root directory of this source tree.
1642 */const nae=dt("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/**
1643 * @license lucide-react v0.469.0 - ISC
1644 *
1645 * This source code is licensed under the ISC license.
1646 * See the LICENSE file in the root directory of this source tree.
1647 */const ao=dt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
1648 * @license lucide-react v0.469.0 - ISC
1649 *
1650 * This source code is licensed under the ISC license.
1651 * See the LICENSE file in the root directory of this source tree.
1652 */const _r=dt("Loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);/**
1653 * @license lucide-react v0.469.0 - ISC
1654 *
1655 * This source code is licensed under the ISC license.
1656 * See the LICENSE file in the root directory of this source tree.
1657 */const xS=dt("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);/**
1658 * @license lucide-react v0.469.0 - ISC
1659 *
1660 * This source code is licensed under the ISC license.
1661 * See the LICENSE file in the root directory of this source tree.
1662 */const uh=dt("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
1663 * @license lucide-react v0.469.0 - ISC
1664 *
1665 * This source code is licensed under the ISC license.
1666 * See the LICENSE file in the root directory of this source tree.
1667 */const X2=dt("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/**
1668 * @license lucide-react v0.469.0 - ISC
1669 *
1670 * This source code is licensed under the ISC license.
1671 * See the LICENSE file in the root directory of this source tree.
1672 */const kS=dt("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
1673 * @license lucide-react v0.469.0 - ISC
1674 *
1675 * This source code is licensed under the ISC license.
1676 * See the LICENSE file in the root directory of this source tree.
1677 */const M7e=dt("MailX",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9",key:"1j9vog"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m17 17 4 4",key:"1b3523"}],["path",{d:"m21 17-4 4",key:"uinynz"}]]);/**
1678 * @license lucide-react v0.469.0 - ISC
1679 *
1680 * This source code is licensed under the ISC license.
1681 * See the LICENSE file in the root directory of this source tree.
1682 */const jS=dt("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
1683 * @license lucide-react v0.469.0 - ISC
1684 *
1685 * This source code is licensed under the ISC license.
1686 * See the LICENSE file in the root directory of this source tree.
1687 */const ex=dt("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/**
1688 * @license lucide-react v0.469.0 - ISC
1689 *
1690 * This source code is licensed under the ISC license.
1691 * See the LICENSE file in the root directory of this source tree.
1692 */const sf=dt("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
1693 * @license lucide-react v0.469.0 - ISC
1694 *
1695 * This source code is licensed under the ISC license.
1696 * See the LICENSE file in the root directory of this source tree.
1697 */const R7e=dt("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/**
1698 * @license lucide-react v0.469.0 - ISC
1699 *
1700 * This source code is licensed under the ISC license.
1701 * See the LICENSE file in the root directory of this source tree.
1702 */const T7e=dt("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
1703 * @license lucide-react v0.469.0 - ISC
1704 *
1705 * This source code is licensed under the ISC license.
1706 * See the LICENSE file in the root directory of this source tree.
1707 */const rae=dt("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/**
1708 * @license lucide-react v0.469.0 - ISC
1709 *
1710 * This source code is licensed under the ISC license.
1711 * See the LICENSE file in the root directory of this source tree.
1712 */const oae=dt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/**
1713 * @license lucide-react v0.469.0 - ISC
1714 *
1715 * This source code is licensed under the ISC license.
1716 * See the LICENSE file in the root directory of this source tree.
1717 */const D7e=dt("Notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]);/**
1718 * @license lucide-react v0.469.0 - ISC
1719 *
1720 * This source code is licensed under the ISC license.
1721 * See the LICENSE file in the root directory of this source tree.
1722 */const L7e=dt("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/**
1723 * @license lucide-react v0.469.0 - ISC
1724 *
1725 * This source code is licensed under the ISC license.
1726 * See the LICENSE file in the root directory of this source tree.
1727 */const Jk=dt("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);/**
1728 * @license lucide-react v0.469.0 - ISC
1729 *
1730 * This source code is licensed under the ISC license.
1731 * See the LICENSE file in the root directory of this source tree.
1732 */const P7e=dt("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);/**
1733 * @license lucide-react v0.469.0 - ISC
1734 *
1735 * This source code is licensed under the ISC license.
1736 * See the LICENSE file in the root directory of this source tree.
1737 */const O7e=dt("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/**
1738 * @license lucide-react v0.469.0 - ISC
1739 *
1740 * This source code is licensed under the ISC license.
1741 * See the LICENSE file in the root directory of this source tree.
1742 */const r2=dt("PencilLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}],["path",{d:"m15 5 3 3",key:"1w25hb"}]]);/**
1743 * @license lucide-react v0.469.0 - ISC
1744 *
1745 * This source code is licensed under the ISC license.
1746 * See the LICENSE file in the root directory of this source tree.
1747 */const z7e=dt("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);/**
1748 * @license lucide-react v0.469.0 - ISC
1749 *
1750 * This source code is licensed under the ISC license.
1751 * See the LICENSE file in the root directory of this source tree.
1752 */const R8=dt("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);/**
1753 * @license lucide-react v0.469.0 - ISC
1754 *
1755 * This source code is licensed under the ISC license.
1756 * See the LICENSE file in the root directory of this source tree.
1757 */const oL=dt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
1758 * @license lucide-react v0.469.0 - ISC
1759 *
1760 * This source code is licensed under the ISC license.
1761 * See the LICENSE file in the root directory of this source tree.
1762 */const Xc=dt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/**
1763 * @license lucide-react v0.469.0 - ISC
1764 *
1765 * This source code is licensed under the ISC license.
1766 * See the LICENSE file in the root directory of this source tree.
1767 */const o2=dt("QrCode",[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]]);/**
1768 * @license lucide-react v0.469.0 - ISC
1769 *
1770 * This source code is licensed under the ISC license.
1771 * See the LICENSE file in the root directory of this source tree.
1772 */const sae=dt("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);/**
1773 * @license lucide-react v0.469.0 - ISC
1774 *
1775 * This source code is licensed under the ISC license.
1776 * See the LICENSE file in the root directory of this source tree.
1777 */const F7e=dt("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);/**
1778 * @license lucide-react v0.469.0 - ISC
1779 *
1780 * This source code is licensed under the ISC license.
1781 * See the LICENSE file in the root directory of this source tree.
1782 */const aae=dt("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]);/**
1783 * @license lucide-react v0.469.0 - ISC
1784 *
1785 * This source code is licensed under the ISC license.
1786 * See the LICENSE file in the root directory of this source tree.
1787 */const Hl=dt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
1788 * @license lucide-react v0.469.0 - ISC
1789 *
1790 * This source code is licensed under the ISC license.
1791 * See the LICENSE file in the root directory of this source tree.
1792 */const iae=dt("Repeat2",[["path",{d:"m2 9 3-3 3 3",key:"1ltn5i"}],["path",{d:"M13 18H7a2 2 0 0 1-2-2V6",key:"1r6tfw"}],["path",{d:"m22 15-3 3-3-3",key:"4rnwn2"}],["path",{d:"M11 6h6a2 2 0 0 1 2 2v10",key:"2f72bc"}]]);/**
1793 * @license lucide-react v0.469.0 - ISC
1794 *
1795 * This source code is licensed under the ISC license.
1796 * See the LICENSE file in the root directory of this source tree.
1797 */const Qw=dt("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/**
1798 * @license lucide-react v0.469.0 - ISC
1799 *
1800 * This source code is licensed under the ISC license.
1801 * See the LICENSE file in the root directory of this source tree.
1802 */const lae=dt("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
1803 * @license lucide-react v0.469.0 - ISC
1804 *
1805 * This source code is licensed under the ISC license.
1806 * See the LICENSE file in the root directory of this source tree.
1807 */const B7e=dt("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/**
1808 * @license lucide-react v0.469.0 - ISC
1809 *
1810 * This source code is licensed under the ISC license.
1811 * See the LICENSE file in the root directory of this source tree.
1812 */const U7e=dt("SatelliteDish",[["path",{d:"M4 10a7.31 7.31 0 0 0 10 10Z",key:"1fzpp3"}],["path",{d:"m9 15 3-3",key:"88sc13"}],["path",{d:"M17 13a6 6 0 0 0-6-6",key:"15cc6u"}],["path",{d:"M21 13A10 10 0 0 0 11 3",key:"11nf8s"}]]);/**
1813 * @license lucide-react v0.469.0 - ISC
1814 *
1815 * This source code is licensed under the ISC license.
1816 * See the LICENSE file in the root directory of this source tree.
1817 */const CS=dt("ScanLine",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7 12h10",key:"b7w52i"}]]);/**
1818 * @license lucide-react v0.469.0 - ISC
1819 *
1820 * This source code is licensed under the ISC license.
1821 * See the LICENSE file in the root directory of this source tree.
1822 */const tx=dt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
1823 * @license lucide-react v0.469.0 - ISC
1824 *
1825 * This source code is licensed under the ISC license.
1826 * See the LICENSE file in the root directory of this source tree.
1827 */const cae=dt("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
1828 * @license lucide-react v0.469.0 - ISC
1829 *
1830 * This source code is licensed under the ISC license.
1831 * See the LICENSE file in the root directory of this source tree.
1832 */const ei=dt("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/**
1833 * @license lucide-react v0.469.0 - ISC
1834 *
1835 * This source code is licensed under the ISC license.
1836 * See the LICENSE file in the root directory of this source tree.
1837 */const sL=dt("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/**
1838 * @license lucide-react v0.469.0 - ISC
1839 *
1840 * This source code is licensed under the ISC license.
1841 * See the LICENSE file in the root directory of this source tree.
1842 */const Ch=dt("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
1843 * @license lucide-react v0.469.0 - ISC
1844 *
1845 * This source code is licensed under the ISC license.
1846 * See the LICENSE file in the root directory of this source tree.
1847 */const uae=dt("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
1848 * @license lucide-react v0.469.0 - ISC
1849 *
1850 * This source code is licensed under the ISC license.
1851 * See the LICENSE file in the root directory of this source tree.
1852 */const $7e=dt("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
1853 * @license lucide-react v0.469.0 - ISC
1854 *
1855 * This source code is licensed under the ISC license.
1856 * See the LICENSE file in the root directory of this source tree.
1857 */const V7e=dt("ShieldMinus",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9 12h6",key:"1c52cq"}]]);/**
1858 * @license lucide-react v0.469.0 - ISC
1859 *
1860 * This source code is licensed under the ISC license.
1861 * See the LICENSE file in the root directory of this source tree.
1862 */const fae=dt("ShieldOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]]);/**
1863 * @license lucide-react v0.469.0 - ISC
1864 *
1865 * This source code is licensed under the ISC license.
1866 * See the LICENSE file in the root directory of this source tree.
1867 */const dae=dt("ShieldPlus",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9 12h6",key:"1c52cq"}],["path",{d:"M12 9v6",key:"199k2o"}]]);/**
1868 * @license lucide-react v0.469.0 - ISC
1869 *
1870 * This source code is licensed under the ISC license.
1871 * See the LICENSE file in the root directory of this source tree.
1872 */const nx=dt("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
1873 * @license lucide-react v0.469.0 - ISC
1874 *
1875 * This source code is licensed under the ISC license.
1876 * See the LICENSE file in the root directory of this source tree.
1877 */const H7e=dt("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/**
1878 * @license lucide-react v0.469.0 - ISC
1879 *
1880 * This source code is licensed under the ISC license.
1881 * See the LICENSE file in the root directory of this source tree.
1882 */const W7e=dt("SmilePlus",[["path",{d:"M22 11v1a10 10 0 1 1-9-10",key:"ew0xw9"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}],["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}]]);/**
1883 * @license lucide-react v0.469.0 - ISC
1884 *
1885 * This source code is licensed under the ISC license.
1886 * See the LICENSE file in the root directory of this source tree.
1887 */const pae=dt("Smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]);/**
1888 * @license lucide-react v0.469.0 - ISC
1889 *
1890 * This source code is licensed under the ISC license.
1891 * See the LICENSE file in the root directory of this source tree.
1892 */const Y7e=dt("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
1893 * @license lucide-react v0.469.0 - ISC
1894 *
1895 * This source code is licensed under the ISC license.
1896 * See the LICENSE file in the root directory of this source tree.
1897 */const G7e=dt("SquareCode",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
1898 * @license lucide-react v0.469.0 - ISC
1899 *
1900 * This source code is licensed under the ISC license.
1901 * See the LICENSE file in the root directory of this source tree.
1902 */const fY=dt("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);/**
1903 * @license lucide-react v0.469.0 - ISC
1904 *
1905 * This source code is licensed under the ISC license.
1906 * See the LICENSE file in the root directory of this source tree.
1907 */const q7e=dt("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
1908 * @license lucide-react v0.469.0 - ISC
1909 *
1910 * This source code is licensed under the ISC license.
1911 * See the LICENSE file in the root directory of this source tree.
1912 */const ld=dt("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
1913 * @license lucide-react v0.469.0 - ISC
1914 *
1915 * This source code is licensed under the ISC license.
1916 * See the LICENSE file in the root directory of this source tree.
1917 */const hae=dt("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/**
1918 * @license lucide-react v0.469.0 - ISC
1919 *
1920 * This source code is licensed under the ISC license.
1921 * See the LICENSE file in the root directory of this source tree.
1922 */const K7e=dt("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/**
1923 * @license lucide-react v0.469.0 - ISC
1924 *
1925 * This source code is licensed under the ISC license.
1926 * See the LICENSE file in the root directory of this source tree.
1927 */const af=dt("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
1928 * @license lucide-react v0.469.0 - ISC
1929 *
1930 * This source code is licensed under the ISC license.
1931 * See the LICENSE file in the root directory of this source tree.
1932 */const aL=dt("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
1933 * @license lucide-react v0.469.0 - ISC
1934 *
1935 * This source code is licensed under the ISC license.
1936 * See the LICENSE file in the root directory of this source tree.
1937 */const Z7e=dt("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]);/**
1938 * @license lucide-react v0.469.0 - ISC
1939 *
1940 * This source code is licensed under the ISC license.
1941 * See the LICENSE file in the root directory of this source tree.
1942 */const iL=dt("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);/**
1943 * @license lucide-react v0.469.0 - ISC
1944 *
1945 * This source code is licensed under the ISC license.
1946 * See the LICENSE file in the root directory of this source tree.
1947 */const dY=dt("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/**
1948 * @license lucide-react v0.469.0 - ISC
1949 *
1950 * This source code is licensed under the ISC license.
1951 * See the LICENSE file in the root directory of this source tree.
1952 */const K9=dt("UserCheck",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["polyline",{points:"16 11 18 13 22 9",key:"1pwet4"}]]);/**
1953 * @license lucide-react v0.469.0 - ISC
1954 *
1955 * This source code is licensed under the ISC license.
1956 * See the LICENSE file in the root directory of this source tree.
1957 */const mae=dt("UserMinus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
1958 * @license lucide-react v0.469.0 - ISC
1959 *
1960 * This source code is licensed under the ISC license.
1961 * See the LICENSE file in the root directory of this source tree.
1962 */const gae=dt("UserPlus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
1963 * @license lucide-react v0.469.0 - ISC
1964 *
1965 * This source code is licensed under the ISC license.
1966 * See the LICENSE file in the root directory of this source tree.
1967 */const Q7e=dt("UserRoundCheck",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]);/**
1968 * @license lucide-react v0.469.0 - ISC
1969 *
1970 * This source code is licensed under the ISC license.
1971 * See the LICENSE file in the root directory of this source tree.
1972 */const SS=dt("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);/**
1973 * @license lucide-react v0.469.0 - ISC
1974 *
1975 * This source code is licensed under the ISC license.
1976 * See the LICENSE file in the root directory of this source tree.
1977 */const J7e=dt("UserX",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]);/**
1978 * @license lucide-react v0.469.0 - ISC
1979 *
1980 * This source code is licensed under the ISC license.
1981 * See the LICENSE file in the root directory of this source tree.
1982 */const T8=dt("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
1983 * @license lucide-react v0.469.0 - ISC
1984 *
1985 * This source code is licensed under the ISC license.
1986 * See the LICENSE file in the root directory of this source tree.
1987 */const yae=dt("UsersRound",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]);/**
1988 * @license lucide-react v0.469.0 - ISC
1989 *
1990 * This source code is licensed under the ISC license.
1991 * See the LICENSE file in the root directory of this source tree.
1992 */const Cg=dt("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
1993 * @license lucide-react v0.469.0 - ISC
1994 *
1995 * This source code is licensed under the ISC license.
1996 * See the LICENSE file in the root directory of this source tree.
1997 */const X7e=dt("Vote",[["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}],["path",{d:"M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z",key:"1ezoue"}],["path",{d:"M22 19H2",key:"nuriw5"}]]);/**
1998 * @license lucide-react v0.469.0 - ISC
1999 *
2000 * This source code is licensed under the ISC license.
2001 * See the LICENSE file in the root directory of this source tree.
2002 */const lL=dt("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);/**
2003 * @license lucide-react v0.469.0 - ISC
2004 *
2005 * This source code is licensed under the ISC license.
2006 * See the LICENSE file in the root directory of this source tree.
2007 */const ePe=dt("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
2008 * @license lucide-react v0.469.0 - ISC
2009 *
2010 * This source code is licensed under the ISC license.
2011 * See the LICENSE file in the root directory of this source tree.
2012 */const tPe=dt("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/**
2013 * @license lucide-react v0.469.0 - ISC
2014 *
2015 * This source code is licensed under the ISC license.
2016 * See the LICENSE file in the root directory of this source tree.
2017 */const nPe=dt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
2018 * @license lucide-react v0.469.0 - ISC
2019 *
2020 * This source code is licensed under the ISC license.
2021 * See the LICENSE file in the root directory of this source tree.
2022 */const ia=dt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
2023 * @license lucide-react v0.469.0 - ISC
2024 *
2025 * This source code is licensed under the ISC license.
2026 * See the LICENSE file in the root directory of this source tree.
2027 */const lc=dt("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),k0=class k0{constructor(){je(this,"modals",[]);return k0.instance||(k0.instance=this),k0.instance}register(e,n){const r=this.modals.find(o=>o.id===e);if(r){r.cb=n;return}this.modals.push({id:e,cb:n})}unregister(e){const n=this.modals.find(r=>r.id===e);n&&(n.cb(),this.modals=this.modals.filter(r=>r.id!==e))}pop(){const e=this.modals.pop();return e?(e.cb(),!0):!1}hasOpenModal(){return this.modals.length>0}};je(k0,"instance");let D8=k0;const po=new D8,Ls=({children:t,open:e,onOpenChange:n,...r})=>{const[o,s]=h.useState(e??!1),a=h.useMemo(()=>`dialog-${yd()}`,[]);return h.useEffect(()=>{e?po.register(a,()=>{n==null||n(!1)}):po.unregister(a)},[e]),h.useEffect(()=>{e===void 0&&(o?po.register(a,()=>{s(!1)}):po.unregister(a))},[o]),c.jsx(gS,{open:e??o,onOpenChange:n??s,...r,children:t})},ES=XD,rPe=yS,vae=h.forwardRef(({className:t,...e},n)=>c.jsx(Ky,{ref:n,className:Te("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));vae.displayName=Ky.displayName;const gs=h.forwardRef(({className:t,children:e,withoutClose:n,...r},o)=>c.jsxs(rPe,{children:[c.jsx(vae,{}),c.jsxs(Zy,{ref:o,className:Te("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 sm:border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-xl",t),...r,children:[e,!n&&c.jsxs(J2,{className:"absolute right-4 top-4 rounded-lg opacity-70 ring-offset-background transition-all hover:opacity-100 hover:bg-accent focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground p-1",children:[c.jsx(ia,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));gs.displayName=Zy.displayName;const Za=({className:t,...e})=>c.jsx("div",{className:Te("flex flex-col space-y-1.5 text-center sm:text-left",t),...e});Za.displayName="DialogHeader";const zm=({className:t,...e})=>c.jsx("div",{className:Te("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});zm.displayName="DialogFooter";const Qa=h.forwardRef(({className:t,...e},n)=>c.jsx(Qy,{ref:n,className:Te("text-lg font-semibold leading-none tracking-tight",t),...e}));Qa.displayName=Qy.displayName;const rl=h.forwardRef(({className:t,...e},n)=>c.jsx(Jy,{ref:n,className:Te("text-sm text-muted-foreground",t),...e}));rl.displayName=Jy.displayName;function oPe(t){if(typeof document>"u")return;let e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}const wae=Be.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),rx=()=>{const t=Be.useContext(wae);if(!t)throw new Error("useDrawerContext must be used within a Drawer.Root");return t};oPe(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
2028 [data-state=closed]
2029 ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function sPe(){const t=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(t)&&/Mobile/.test(t)||/FxiOS/.test(t))}function aPe(){return cL(/^Mac/)}function iPe(){return cL(/^iPhone/)}function pY(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function lPe(){return cL(/^iPad/)||aPe()&&navigator.maxTouchPoints>1}function bae(){return iPe()||lPe()}function cL(t){return typeof window<"u"&&window.navigator!=null?t.test(window.navigator.platform):void 0}const cPe=24,uPe=typeof window<"u"?h.useLayoutEffect:h.useEffect;function hY(...t){return(...e)=>{for(let n of t)typeof n=="function"&&n(...e)}}const Z9=typeof document<"u"&&window.visualViewport;function mY(t){let e=window.getComputedStyle(t);return/(auto|scroll)/.test(e.overflow+e.overflowX+e.overflowY)}function xae(t){for(mY(t)&&(t=t.parentElement);t&&!mY(t);)t=t.parentElement;return t||document.scrollingElement||document.documentElement}const fPe=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let E6=0,Q9;function dPe(t={}){let{isDisabled:e}=t;uPe(()=>{if(!e)return E6++,E6===1&&bae()&&(Q9=pPe()),()=>{E6--,E6===0&&(Q9==null||Q9())}},[e])}function pPe(){let t,e=0,n=f=>{t=xae(f.target),!(t===document.documentElement&&t===document.body)&&(e=f.changedTouches[0].pageY)},r=f=>{if(!t||t===document.documentElement||t===document.body){f.preventDefault();return}let m=f.changedTouches[0].pageY,g=t.scrollTop,w=t.scrollHeight-t.clientHeight;w!==0&&((g<=0&&m>e||g>=w&&m<e)&&f.preventDefault(),e=m)},o=f=>{let m=f.target;L8(m)&&m!==document.activeElement&&(f.preventDefault(),m.style.transform="translateY(-2000px)",m.focus(),requestAnimationFrame(()=>{m.style.transform=""}))},s=f=>{let m=f.target;L8(m)&&(m.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{m.style.transform="",Z9&&(Z9.height<window.innerHeight?requestAnimationFrame(()=>{gY(m)}):Z9.addEventListener("resize",()=>gY(m),{once:!0}))}))},a=()=>{window.scrollTo(0,0)},i=window.pageXOffset,l=window.pageYOffset,u=hY(hPe(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let d=hY(yw(document,"touchstart",n,{passive:!1,capture:!0}),yw(document,"touchmove",r,{passive:!1,capture:!0}),yw(document,"touchend",o,{passive:!1,capture:!0}),yw(document,"focus",s,!0),yw(window,"scroll",a));return()=>{u(),d(),window.scrollTo(i,l)}}function hPe(t,e,n){let r=t.style[e];return t.style[e]=n,()=>{t.style[e]=r}}function yw(t,e,n,r){return t.addEventListener(e,n,r),()=>{t.removeEventListener(e,n,r)}}function gY(t){let e=document.scrollingElement||document.documentElement;for(;t&&t!==e;){let n=xae(t);if(n!==document.documentElement&&n!==document.body&&n!==t){let r=n.getBoundingClientRect().top,o=t.getBoundingClientRect().top,s=t.getBoundingClientRect().bottom;const a=n.getBoundingClientRect().bottom+cPe;s>a&&(n.scrollTop+=o-r)}t=n.parentElement}}function L8(t){return t instanceof HTMLInputElement&&!fPe.has(t.type)||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable}function mPe(t,e){typeof t=="function"?t(e):t!=null&&(t.current=e)}function gPe(...t){return e=>t.forEach(n=>mPe(n,e))}function kae(...t){return h.useCallback(gPe(...t),t)}const jae=new WeakMap;function ps(t,e,n=!1){if(!t||!(t instanceof HTMLElement))return;let r={};Object.entries(e).forEach(([o,s])=>{if(o.startsWith("--")){t.style.setProperty(o,s);return}r[o]=t.style[o],t.style[o]=s}),!n&&jae.set(t,r)}function yPe(t,e){if(!t||!(t instanceof HTMLElement))return;let n=jae.get(t);n&&(t.style[e]=n[e])}const Yo=t=>{switch(t){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return t}};function N6(t,e){if(!t)return null;const n=window.getComputedStyle(t),r=n.transform||n.webkitTransform||n.mozTransform;let o=r.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[Yo(e)?13:12]):(o=r.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[Yo(e)?5:4]):null)}function vPe(t){return 8*(Math.log(t+1)-2)}function J9(t,e){if(!t)return()=>{};const n=t.style.cssText;return Object.assign(t.style,e),()=>{t.style.cssText=n}}function wPe(...t){return(...e)=>{for(const n of t)typeof n=="function"&&n(...e)}}const xo={DURATION:.5,EASE:[.32,.72,0,1]},Cae=.4,bPe=.25,xPe=100,Sae=8,mm=16,P8=26,X9="vaul-dragging";function Eae(t){const e=Be.useRef(t);return Be.useEffect(()=>{e.current=t}),Be.useMemo(()=>(...n)=>e.current==null?void 0:e.current.call(e,...n),[])}function kPe({defaultProp:t,onChange:e}){const n=Be.useState(t),[r]=n,o=Be.useRef(r),s=Eae(e);return Be.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function Nae({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=kPe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=Eae(n),l=Be.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function jPe({activeSnapPointProp:t,setActiveSnapPointProp:e,snapPoints:n,drawerRef:r,overlayRef:o,fadeFromIndex:s,onSnapPointChange:a,direction:i="bottom",container:l,snapToSequentialPoint:u}){const[d,f]=Nae({prop:t,defaultProp:n==null?void 0:n[0],onChange:e}),[m,g]=Be.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);Be.useEffect(()=>{function L(){g({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]);const w=Be.useMemo(()=>d===(n==null?void 0:n[n.length-1])||null,[n,d]),b=Be.useMemo(()=>{var L;return(L=n==null?void 0:n.findIndex(F=>F===d))!=null?L:null},[n,d]),j=n&&n.length>0&&(s||s===0)&&!Number.isNaN(s)&&n[s]===d||!n,S=Be.useMemo(()=>{const L=l?{width:l.getBoundingClientRect().width,height:l.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var F;return(F=n==null?void 0:n.map(T=>{const R=typeof T=="string";let z=0;if(R&&(z=parseInt(T,10)),Yo(i)){const Z=R?z:m?T*L.height:0;return m?i==="bottom"?L.height-Z:-L.height+Z:Z}const G=R?z:m?T*L.width:0;return m?i==="right"?L.width-G:-L.width+G:G}))!=null?F:[]},[n,m,l]),I=Be.useMemo(()=>b!==null?S==null?void 0:S[b]:null,[S,b]),N=Be.useCallback(L=>{var F;const T=(F=S==null?void 0:S.findIndex(R=>R===L))!=null?F:null;a(T),ps(r.current,{transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,transform:Yo(i)?`translate3d(0, ${L}px, 0)`:`translate3d(${L}px, 0, 0)`}),S&&T!==S.length-1&&s!==void 0&&T!==s&&T<s?ps(o.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,opacity:"0"}):ps(o.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,opacity:"1"}),f(n==null?void 0:n[Math.max(T,0)])},[r.current,n,S,s,o,f]);Be.useEffect(()=>{if(d||t){var L;const F=(L=n==null?void 0:n.findIndex(T=>T===t||T===d))!=null?L:-1;S&&F!==-1&&typeof S[F]=="number"&&N(S[F])}},[d,t,n,S,N]);function M({draggedDistance:L,closeDrawer:F,velocity:T,dismissible:R}){if(s===void 0)return;const z=i==="bottom"||i==="right"?(I??0)-L:(I??0)+L,G=b===s-1,Z=b===0,W=L>0;if(G&&ps(o.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`}),!u&&T>2&&!W){R?F():N(S[0]);return}if(!u&&T>2&&W&&S&&n){N(S[n.length-1]);return}const U=S==null?void 0:S.reduce(($,H)=>typeof $!="number"||typeof H!="number"?$:Math.abs(H-z)<Math.abs($-z)?H:$),ee=Yo(i)?window.innerHeight:window.innerWidth;if(T>Cae&&Math.abs(L)<ee*.4){const $=W?1:-1;if($>0&&w&&n){N(S[n.length-1]);return}if(Z&&$<0&&R&&F(),b===null)return;N(S[b+$]);return}N(U)}function D({draggedDistance:L}){if(I===null)return;const F=i==="bottom"||i==="right"?I-L:I+L;(i==="bottom"||i==="right")&&F<S[S.length-1]||(i==="top"||i==="left")&&F>S[S.length-1]||ps(r.current,{transform:Yo(i)?`translate3d(0, ${F}px, 0)`:`translate3d(${F}px, 0, 0)`})}function P(L,F){if(!n||typeof b!="number"||!S||s===void 0)return null;const T=b===s-1;if(b>=s&&F)return 0;if(T&&!F)return 1;if(!j&&!T)return null;const z=T?b+1:b-1,G=T?S[z]-S[z-1]:S[z+1]-S[z],Z=L/Math.abs(G);return T?1-Z:Z}return{isLastSnapPoint:w,activeSnapPoint:d,shouldFade:j,getPercentageDragged:P,setActiveSnapPoint:f,activeSnapPointIndex:b,onRelease:M,onDrag:D,snapPointsOffset:S}}const CPe=()=>()=>{};function SPe(){const{direction:t,isOpen:e,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:o}=rx(),s=Be.useRef(null),a=h.useMemo(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-P8)/window.innerWidth}Be.useEffect(()=>{if(e&&n){s.current&&clearTimeout(s.current);const l=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!l)return;wPe(r&&!o?J9(document.body,{background:"black"}):CPe,J9(l,{transformOrigin:Yo(t)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${xo.DURATION}s`,transitionTimingFunction:`cubic-bezier(${xo.EASE.join(",")})`}));const u=J9(l,{borderRadius:`${Sae}px`,overflow:"hidden",...Yo(t)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{u(),s.current=window.setTimeout(()=>{a?document.body.style.background=a:document.body.style.removeProperty("background")},xo.DURATION*1e3)}}},[e,n,a])}let vw=null;function EPe({isOpen:t,modal:e,nested:n,hasBeenOpened:r,preventScrollRestoration:o,noBodyStyles:s}){const[a,i]=Be.useState(()=>typeof window<"u"?window.location.href:""),l=Be.useRef(0),u=Be.useCallback(()=>{if(pY()&&vw===null&&t&&!s){vw={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:f,innerHeight:m}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-l.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const g=m-window.innerHeight;g&&l.current>=m&&(document.body.style.top=`${-(l.current+g)}px`)}),300)}},[t]),d=Be.useCallback(()=>{if(pY()&&vw!==null&&!s){const f=-parseInt(document.body.style.top,10),m=-parseInt(document.body.style.left,10);Object.assign(document.body.style,vw),window.requestAnimationFrame(()=>{if(o&&a!==window.location.href){i(window.location.href);return}window.scrollTo(m,f)}),vw=null}},[a]);return Be.useEffect(()=>{function f(){l.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),Be.useEffect(()=>{if(e)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||d()}},[e,d]),Be.useEffect(()=>{n||!r||(t?(!window.matchMedia("(display-mode: standalone)").matches&&u(),e||window.setTimeout(()=>{d()},500)):d())},[t,r,a,e,n,u,d]),{restorePositionSetting:d}}function NPe({open:t,onOpenChange:e,children:n,onDrag:r,onRelease:o,snapPoints:s,shouldScaleBackground:a=!1,setBackgroundColorOnScale:i=!0,closeThreshold:l=bPe,scrollLockTimeout:u=xPe,dismissible:d=!0,handleOnly:f=!1,fadeFromIndex:m=s&&s.length-1,activeSnapPoint:g,setActiveSnapPoint:w,fixed:b,modal:j=!0,onClose:S,nested:I,noBodyStyles:N=!1,direction:M="bottom",defaultOpen:D=!1,disablePreventScroll:P=!0,snapToSequentialPoint:L=!1,preventScrollRestoration:F=!1,repositionInputs:T=!0,onAnimationEnd:R,container:z,autoFocus:G=!1}){var Z,W;const[U=!1,ee]=Nae({defaultProp:D,prop:t,onChange:rt=>{e==null||e(rt),!rt&&!I&&se(),setTimeout(()=>{R==null||R(rt)},xo.DURATION*1e3),rt&&!j&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),rt||(document.body.style.pointerEvents="auto")}}),[$,H]=Be.useState(!1),[Y,q]=Be.useState(!1),[J,ne]=Be.useState(!1),re=Be.useRef(null),de=Be.useRef(null),Ee=Be.useRef(null),we=Be.useRef(null),xe=Be.useRef(null),ce=Be.useRef(!1),pe=Be.useRef(null),he=Be.useRef(0),ke=Be.useRef(!1),le=Be.useRef(!D),ye=Be.useRef(0),ve=Be.useRef(null),Ie=Be.useRef(((Z=ve.current)==null?void 0:Z.getBoundingClientRect().height)||0),Ve=Be.useRef(((W=ve.current)==null?void 0:W.getBoundingClientRect().width)||0),Qe=Be.useRef(0),nt=Be.useCallback(rt=>{s&&rt===pt.length-1&&(de.current=new Date)},[]),{activeSnapPoint:Ue,activeSnapPointIndex:qe,setActiveSnapPoint:_e,onRelease:et,snapPointsOffset:pt,onDrag:ht,shouldFade:at,getPercentageDragged:De}=jPe({snapPoints:s,activeSnapPointProp:g,setActiveSnapPointProp:w,drawerRef:ve,fadeFromIndex:m,overlayRef:re,onSnapPointChange:nt,direction:M,container:z,snapToSequentialPoint:L});dPe({isDisabled:!U||Y||!j||J||!$||!T||!P});const{restorePositionSetting:se}=EPe({isOpen:U,modal:j,nested:I??!1,hasBeenOpened:$,preventScrollRestoration:F,noBodyStyles:N});function K(){return(window.innerWidth-P8)/window.innerWidth}function Q(rt){var vt,mt;!d&&!s||ve.current&&!ve.current.contains(rt.target)||(Ie.current=((vt=ve.current)==null?void 0:vt.getBoundingClientRect().height)||0,Ve.current=((mt=ve.current)==null?void 0:mt.getBoundingClientRect().width)||0,q(!0),Ee.current=new Date,bae()&&window.addEventListener("touchend",()=>ce.current=!1,{once:!0}),rt.target.setPointerCapture(rt.pointerId),he.current=Yo(M)?rt.pageY:rt.pageX)}function ie(rt,vt){var mt;let Ot=rt;const qt=(mt=window.getSelection())==null?void 0:mt.toString(),kt=ve.current?N6(ve.current,M):null,Ct=new Date;if(Ot.tagName==="SELECT"||Ot.hasAttribute("data-vaul-no-drag")||Ot.closest("[data-vaul-no-drag]"))return!1;if(M==="right"||M==="left")return!0;if(de.current&&Ct.getTime()-de.current.getTime()<500)return!1;if(kt!==null&&(M==="bottom"?kt>0:kt<0))return!0;if(qt&&qt.length>0)return!1;if(xe.current&&Ct.getTime()-xe.current.getTime()<u&&kt===0||vt)return xe.current=Ct,!1;for(;Ot;){if(Ot.scrollHeight>Ot.clientHeight){if(Ot.scrollTop!==0)return xe.current=new Date,!1;if(Ot.getAttribute("role")==="dialog")return!0}Ot=Ot.parentNode}return!0}function Se(rt){if(ve.current&&Y){const vt=M==="bottom"||M==="right"?1:-1,mt=(he.current-(Yo(M)?rt.pageY:rt.pageX))*vt,Ot=mt>0,qt=s&&!d&&!Ot;if(qt&&qe===0)return;const kt=Math.abs(mt),Ct=document.querySelector("[data-vaul-drawer-wrapper]"),Pt=M==="bottom"||M==="top"?Ie.current:Ve.current;let yt=kt/Pt;const $t=De(kt,Ot);if($t!==null&&(yt=$t),qt&&yt>=1||!ce.current&&!ie(rt.target,Ot))return;if(ve.current.classList.add(X9),ce.current=!0,ps(ve.current,{transition:"none"}),ps(re.current,{transition:"none"}),s&&ht({draggedDistance:mt}),Ot&&!s){const Bt=vPe(mt),Yn=Math.min(Bt*-1,0)*vt;ps(ve.current,{transform:Yo(M)?`translate3d(0, ${Yn}px, 0)`:`translate3d(${Yn}px, 0, 0)`});return}const bt=1-yt;if((at||m&&qe===m-1)&&(r==null||r(rt,yt),ps(re.current,{opacity:`${bt}`,transition:"none"},!0)),Ct&&re.current&&a){const Bt=Math.min(K()+yt*(1-K()),1),Yn=8-yt*8,mn=Math.max(0,14-yt*14);ps(Ct,{borderRadius:`${Yn}px`,transform:Yo(M)?`scale(${Bt}) translate3d(0, ${mn}px, 0)`:`scale(${Bt}) translate3d(${mn}px, 0, 0)`,transition:"none"},!0)}if(!s){const Bt=kt*vt;ps(ve.current,{transform:Yo(M)?`translate3d(0, ${Bt}px, 0)`:`translate3d(${Bt}px, 0, 0)`})}}}Be.useEffect(()=>{window.requestAnimationFrame(()=>{le.current=!0})},[]),Be.useEffect(()=>{var rt;function vt(){if(!ve.current||!T)return;const mt=document.activeElement;if(L8(mt)||ke.current){var Ot;const qt=((Ot=window.visualViewport)==null?void 0:Ot.height)||0,kt=window.innerHeight;let Ct=kt-qt;const Pt=ve.current.getBoundingClientRect().height||0,yt=Pt>kt*.8;Qe.current||(Qe.current=Pt);const $t=ve.current.getBoundingClientRect().top;if(Math.abs(ye.current-Ct)>60&&(ke.current=!ke.current),s&&s.length>0&&pt&&qe){const bt=pt[qe]||0;Ct+=bt}if(ye.current=Ct,Pt>qt||ke.current){const bt=ve.current.getBoundingClientRect().height;let Bt=bt;bt>qt&&(Bt=qt-(yt?$t:P8)),b?ve.current.style.height=`${bt-Math.max(Ct,0)}px`:ve.current.style.height=`${Math.max(Bt,qt-$t)}px`}else sPe()||(ve.current.style.height=`${Qe.current}px`);s&&s.length>0&&!ke.current?ve.current.style.bottom="0px":ve.current.style.bottom=`${Math.max(Ct,0)}px`}}return(rt=window.visualViewport)==null||rt.addEventListener("resize",vt),()=>{var mt;return(mt=window.visualViewport)==null?void 0:mt.removeEventListener("resize",vt)}},[qe,s,pt]);function Me(rt){me(),S==null||S(),rt||ee(!1),setTimeout(()=>{s&&_e(s[0])},xo.DURATION*1e3)}function Ce(){if(!ve.current)return;const rt=document.querySelector("[data-vaul-drawer-wrapper]"),vt=N6(ve.current,M);ps(ve.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`}),ps(re.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,opacity:"1"}),a&&vt&&vt>0&&U&&ps(rt,{borderRadius:`${Sae}px`,overflow:"hidden",...Yo(M)?{transform:`scale(${K()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${K()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${xo.DURATION}s`,transitionTimingFunction:`cubic-bezier(${xo.EASE.join(",")})`},!0)}function me(){!Y||!ve.current||(ve.current.classList.remove(X9),ce.current=!1,q(!1),we.current=new Date)}function We(rt){if(!Y||!ve.current)return;ve.current.classList.remove(X9),ce.current=!1,q(!1),we.current=new Date;const vt=N6(ve.current,M);if(!rt||!ie(rt.target,!1)||!vt||Number.isNaN(vt)||Ee.current===null)return;const mt=we.current.getTime()-Ee.current.getTime(),Ot=he.current-(Yo(M)?rt.pageY:rt.pageX),qt=Math.abs(Ot)/mt;if(qt>.05&&(ne(!0),setTimeout(()=>{ne(!1)},200)),s){et({draggedDistance:Ot*(M==="bottom"||M==="right"?1:-1),closeDrawer:Me,velocity:qt,dismissible:d}),o==null||o(rt,!0);return}if(M==="bottom"||M==="right"?Ot>0:Ot<0){Ce(),o==null||o(rt,!0);return}if(qt>Cae){Me(),o==null||o(rt,!1);return}var kt;const Ct=Math.min((kt=ve.current.getBoundingClientRect().height)!=null?kt:0,window.innerHeight);var Pt;const yt=Math.min((Pt=ve.current.getBoundingClientRect().width)!=null?Pt:0,window.innerWidth),$t=M==="left"||M==="right";if(Math.abs(vt)>=($t?yt:Ct)*l){Me(),o==null||o(rt,!1);return}o==null||o(rt,!0),Ce()}Be.useEffect(()=>(U&&(ps(document.documentElement,{scrollBehavior:"auto"}),de.current=new Date),()=>{yPe(document.documentElement,"scrollBehavior")}),[U]);function Xe(rt){const vt=rt?(window.innerWidth-mm)/window.innerWidth:1,mt=rt?-mm:0;pe.current&&window.clearTimeout(pe.current),ps(ve.current,{transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,transform:Yo(M)?`scale(${vt}) translate3d(0, ${mt}px, 0)`:`scale(${vt}) translate3d(${mt}px, 0, 0)`}),!rt&&ve.current&&(pe.current=setTimeout(()=>{const Ot=N6(ve.current,M);ps(ve.current,{transition:"none",transform:Yo(M)?`translate3d(0, ${Ot}px, 0)`:`translate3d(${Ot}px, 0, 0)`})},500))}function Re(rt,vt){if(vt<0)return;const mt=(window.innerWidth-mm)/window.innerWidth,Ot=mt+vt*(1-mt),qt=-mm+vt*mm;ps(ve.current,{transform:Yo(M)?`scale(${Ot}) translate3d(0, ${qt}px, 0)`:`scale(${Ot}) translate3d(${qt}px, 0, 0)`,transition:"none"})}function ze(rt,vt){const mt=Yo(M)?window.innerHeight:window.innerWidth,Ot=vt?(mt-mm)/mt:1,qt=vt?-mm:0;vt&&ps(ve.current,{transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,transform:Yo(M)?`scale(${Ot}) translate3d(0, ${qt}px, 0)`:`scale(${Ot}) translate3d(${qt}px, 0, 0)`})}return Be.useEffect(()=>{j||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[j]),Be.createElement(gS,{defaultOpen:D,onOpenChange:rt=>{!d&&!rt||(rt?H(!0):Me(!0),ee(rt))},open:U},Be.createElement(wae.Provider,{value:{activeSnapPoint:Ue,snapPoints:s,setActiveSnapPoint:_e,drawerRef:ve,overlayRef:re,onOpenChange:e,onPress:Q,onRelease:We,onDrag:Se,dismissible:d,shouldAnimate:le,handleOnly:f,isOpen:U,isDragging:Y,shouldFade:at,closeDrawer:Me,onNestedDrag:Re,onNestedOpenChange:Xe,onNestedRelease:ze,keyboardIsOpen:ke,modal:j,snapPointsOffset:pt,activeSnapPointIndex:qe,direction:M,shouldScaleBackground:a,setBackgroundColorOnScale:i,noBodyStyles:N,container:z,autoFocus:G}},n))}const Iae=Be.forwardRef(function({...t},e){const{overlayRef:n,snapPoints:r,onRelease:o,shouldFade:s,isOpen:a,modal:i,shouldAnimate:l}=rx(),u=kae(e,n),d=r&&r.length>0;if(!i)return null;const f=Be.useCallback(m=>o(m),[o]);return Be.createElement(Ky,{onMouseUp:f,ref:u,"data-vaul-overlay":"","data-vaul-snap-points":a&&d?"true":"false","data-vaul-snap-points-overlay":a&&s?"true":"false","data-vaul-animate":l!=null&&l.current?"true":"false",...t})});Iae.displayName="Drawer.Overlay";const Aae=Be.forwardRef(function({onPointerDownOutside:t,style:e,onOpenAutoFocus:n,...r},o){const{drawerRef:s,onPress:a,onRelease:i,onDrag:l,keyboardIsOpen:u,snapPointsOffset:d,activeSnapPointIndex:f,modal:m,isOpen:g,direction:w,snapPoints:b,container:j,handleOnly:S,shouldAnimate:I,autoFocus:N}=rx(),[M,D]=Be.useState(!1),P=kae(o,s),L=Be.useRef(null),F=Be.useRef(null),T=Be.useRef(!1),R=b&&b.length>0;SPe();const z=(Z,W,U=0)=>{if(T.current)return!0;const ee=Math.abs(Z.y),$=Math.abs(Z.x),H=$>ee,Y=["bottom","right"].includes(W)?1:-1;if(W==="left"||W==="right"){if(!(Z.x*Y<0)&&$>=0&&$<=U)return H}else if(!(Z.y*Y<0)&&ee>=0&&ee<=U)return!H;return T.current=!0,!0};Be.useEffect(()=>{R&&window.requestAnimationFrame(()=>{D(!0)})},[]);function G(Z){L.current=null,T.current=!1,i(Z)}return Be.createElement(Zy,{"data-vaul-drawer-direction":w,"data-vaul-drawer":"","data-vaul-delayed-snap-points":M?"true":"false","data-vaul-snap-points":g&&R?"true":"false","data-vaul-custom-container":j?"true":"false","data-vaul-animate":I!=null&&I.current?"true":"false",...r,ref:P,style:d&&d.length>0?{"--snap-point-height":`${d[f??0]}px`,...e}:e,onPointerDown:Z=>{S||(r.onPointerDown==null||r.onPointerDown.call(r,Z),L.current={x:Z.pageX,y:Z.pageY},a(Z))},onOpenAutoFocus:Z=>{n==null||n(Z),N||Z.preventDefault()},onPointerDownOutside:Z=>{if(t==null||t(Z),!m||Z.defaultPrevented){Z.preventDefault();return}u.current&&(u.current=!1)},onFocusOutside:Z=>{if(!m){Z.preventDefault();return}},onPointerMove:Z=>{if(F.current=Z,S||(r.onPointerMove==null||r.onPointerMove.call(r,Z),!L.current))return;const W=Z.pageY-L.current.y,U=Z.pageX-L.current.x,ee=Z.pointerType==="touch"?10:2;z({x:U,y:W},w,ee)?l(Z):(Math.abs(U)>ee||Math.abs(W)>ee)&&(L.current=null)},onPointerUp:Z=>{r.onPointerUp==null||r.onPointerUp.call(r,Z),L.current=null,T.current=!1,i(Z)},onPointerOut:Z=>{r.onPointerOut==null||r.onPointerOut.call(r,Z),G(F.current)},onContextMenu:Z=>{r.onContextMenu==null||r.onContextMenu.call(r,Z),F.current&&G(F.current)}})});Aae.displayName="Drawer.Content";const IPe=250,APe=120,_Pe=Be.forwardRef(function({preventCycle:t=!1,children:e,...n},r){const{closeDrawer:o,isDragging:s,snapPoints:a,activeSnapPoint:i,setActiveSnapPoint:l,dismissible:u,handleOnly:d,isOpen:f,onPress:m,onDrag:g}=rx(),w=Be.useRef(null),b=Be.useRef(!1);function j(){if(b.current){N();return}window.setTimeout(()=>{S()},APe)}function S(){if(s||t||b.current){N();return}if(N(),!a||a.length===0){u||o();return}if(i===a[a.length-1]&&u){o();return}const D=a.findIndex(L=>L===i);if(D===-1)return;const P=a[D+1];l(P)}function I(){w.current=window.setTimeout(()=>{b.current=!0},IPe)}function N(){w.current&&window.clearTimeout(w.current),b.current=!1}return Be.createElement("div",{onClick:j,onPointerCancel:N,onPointerDown:M=>{d&&m(M),I()},onPointerMove:M=>{d&&g(M)},ref:r,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},Be.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},e))});_Pe.displayName="Drawer.Handle";function MPe(t){const e=rx(),{container:n=e.container,...r}=t;return Be.createElement(yS,{container:n,...r})}const du={Root:NPe,Content:Aae,Overlay:Iae,Trigger:XD,Portal:MPe,Close:J2,Title:Qy,Description:Jy},io=({shouldScaleBackground:t=!0,open:e,onOpenChange:n,...r})=>{const[o,s]=h.useState(e??!1),a=h.useMemo(()=>`drawer-${yd()}`,[]);return h.useEffect(()=>{e?po.register(a,()=>{n==null||n(!1)}):po.unregister(a)},[e]),h.useEffect(()=>{e===void 0&&(o?po.register(a,()=>{s(!1)}):po.unregister(a))},[o]),c.jsx(du.Root,{shouldScaleBackground:t,open:e??o,onOpenChange:n??s,...r})};io.displayName="Drawer";const Sh=du.Trigger,RPe=du.Portal,_ae=du.Close,cc=h.forwardRef(({className:t,...e},n)=>c.jsx(du.Overlay,{ref:n,className:Te("fixed inset-0 z-50 bg-black/80",t),...e}));cc.displayName=du.Overlay.displayName;const lo=h.forwardRef(({className:t,children:e,hideOverlay:n=!1,...r},o)=>c.jsxs(RPe,{children:[!n&&c.jsx(cc,{}),c.jsxs(du.Content,{ref:o,className:Te("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-2xl sm:border bg-background",t),style:{paddingBottom:"env(safe-area-inset-bottom)"},onOpenAutoFocus:s=>s.preventDefault(),...r,children:[c.jsx("div",{className:"mx-auto mt-4 pb-2 mb-2 h-2 w-[100px] rounded-full bg-muted"}),e]})]}));lo.displayName="DrawerContent";const wf=({className:t,...e})=>c.jsx("div",{className:Te("grid gap-1.5 p-4 text-center sm:text-left",t),...e});wf.displayName="DrawerHeader";const NS=({className:t,...e})=>c.jsx("div",{className:Te("mt-auto flex flex-col gap-2 p-4",t),...e});NS.displayName="DrawerFooter";const bd=h.forwardRef(({className:t,...e},n)=>c.jsx(du.Title,{ref:n,className:Te("text-lg font-semibold leading-none tracking-tight",t),...e}));bd.displayName=du.Title.displayName;const Wg=h.forwardRef(({className:t,...e},n)=>c.jsx(du.Description,{ref:n,className:Te("text-sm text-muted-foreground",t),...e}));Wg.displayName=du.Description.displayName;const Mae=h.createContext(void 0),gn=()=>{const t=h.useContext(Mae);if(!t)throw new Error("useScreenSize must be used within a ScreenSizeProvider");return t};function TPe({children:t}){const[e,n]=h.useState(()=>window.innerWidth<=768),[r,o]=h.useState(()=>window.innerWidth>=480&&window.innerWidth<=768),[s,a]=h.useState(()=>window.innerWidth>768&&window.innerWidth<=1024),[i,l]=h.useState(()=>window.innerWidth>=1280),[u,d]=h.useState(()=>window.innerWidth>1024);return h.useEffect(()=>{const f=()=>{const m=window.innerWidth;n(m<=768),o(m>=480&&m<=768),a(m>768&&m<=1024),l(m>=1280),d(m>1024)};return window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]),c.jsx(Mae.Provider,{value:{isSmallScreen:e,isTabletScreen:r,isNarrowDesktop:s,isLargeScreen:i,canUseDoublePane:u},children:t})}function yY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Rae(...t){return e=>{let n=!1;const r=t.map(o=>{const s=yY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():yY(t[o],null)}}}}function la(...t){return h.useCallback(Rae(...t),t)}function Xk(t){const e=LPe(t),n=h.forwardRef((r,o)=>{const{children:s,...a}=r,i=h.Children.toArray(s),l=i.find(OPe);if(l){const u=l.props.children,d=i.map(f=>f===l?h.Children.count(u)>1?h.Children.only(null):h.isValidElement(u)?u.props.children:null:f);return c.jsx(e,{...a,ref:o,children:h.isValidElement(u)?h.cloneElement(u,void 0,d):null})}return c.jsx(e,{...a,ref:o,children:s})});return n.displayName=`${t}.Slot`,n}var DPe=Xk("Slot");function LPe(t){const e=h.forwardRef((n,r)=>{const{children:o,...s}=n;if(h.isValidElement(o)){const a=FPe(o),i=zPe(s,o.props);return o.type!==h.Fragment&&(i.ref=r?Rae(r,a):a),h.cloneElement(o,i)}return h.Children.count(o)>1?h.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var PPe=Symbol("radix.slottable");function OPe(t){return h.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===PPe}function zPe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{const l=s(...i);return o(...i),l}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function FPe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}const vY=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,wY=Lee,IS=(t,e)=>n=>{var r;if((e==null?void 0:e.variants)==null)return wY(t,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:s}=e,a=Object.keys(o).map(u=>{const d=n==null?void 0:n[u],f=s==null?void 0:s[u];if(d===null)return null;const m=vY(d)||vY(f);return o[u][m]}),i=n&&Object.entries(n).reduce((u,d)=>{let[f,m]=d;return m===void 0||(u[f]=m),u},{}),l=e==null||(r=e.compoundVariants)===null||r===void 0?void 0:r.reduce((u,d)=>{let{class:f,className:m,...g}=d;return Object.entries(g).every(w=>{let[b,j]=w;return Array.isArray(j)?j.includes({...s,...i}[b]):{...s,...i}[b]===j})?[...u,f,m]:u},[]);return wY(t,a,l,n==null?void 0:n.class,n==null?void 0:n.className)},uL=IS("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary-hover",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent/40 hover:border-accent-foreground/20",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80","secondary-2":"bg-secondary text-secondary-foreground hover:bg-primary hover:text-primary-foreground",ghost:"clickable hover:text-accent-foreground","ghost-destructive":"cursor-pointer hover:bg-destructive/20 text-destructive hover:text-destructive",link:"text-foreground underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-lg px-8",icon:"h-9 w-9 shrink-0","titlebar-icon":"h-10 w-10 shrink-0 rounded-xl [&_svg]:size-5"}},defaultVariants:{variant:"default",size:"default"}}),Pe=h.forwardRef(({className:t,variant:e,size:n,asChild:r=!1,...o},s)=>{const a=r?DPe:"button";return c.jsx(a,{className:Te(uL({variant:e,size:n,className:t})),ref:s,...o})});Pe.displayName="Button";function bY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function BPe(...t){return e=>{let n=!1;const r=t.map(o=>{const s=bY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():bY(t[o],null)}}}}var Tae=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find($Pe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(O8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(O8,{...r,ref:e,children:n})});Tae.displayName="Slot";var O8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=HPe(n);return h.cloneElement(n,{...VPe(r,n.props),ref:e?BPe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});O8.displayName="SlotClone";var UPe=({children:t})=>c.jsx(c.Fragment,{children:t});function $Pe(t){return h.isValidElement(t)&&t.type===UPe}function VPe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function HPe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var WPe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],YPe=WPe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Tae:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),GPe="Separator",xY="horizontal",qPe=["horizontal","vertical"],Dae=h.forwardRef((t,e)=>{const{decorative:n,orientation:r=xY,...o}=t,s=KPe(r)?r:xY,i=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return c.jsx(YPe.div,{"data-orientation":s,...i,...o,ref:e})});Dae.displayName=GPe;function KPe(t){return qPe.includes(t)}var Lae=Dae;const ri=h.forwardRef(({className:t,orientation:e="horizontal",decorative:n=!0,...r},o)=>c.jsx(Lae,{ref:o,decorative:n,orientation:e,className:Te("shrink-0 bg-border/60",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...r}));ri.displayName=Lae.displayName;const ZPe=IS("inline-flex items-center rounded-lg border px-2.5 py-0.5 text-xs font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary-hover",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground hover:bg-accent"}},defaultVariants:{variant:"default"}});function Vl({className:t,variant:e,...n}){return c.jsx("div",{className:Te(ZPe({variant:e}),t),...n})}function Pae({signerType:t}){const{t:e}=Ke();if(t==="nip-07")return c.jsx(Vl,{className:" bg-green-400 hover:bg-green-400 px-1 py-0",children:e("Extension")});if(t==="ncryptsec")return c.jsx(Vl,{className:"bg-violet-400 hover:bg-violet-400 px-1 py-0",children:e("Encrypted Key")});if(t==="nsec")return c.jsx(Vl,{className:" bg-orange-400 hover:bg-orange-400 px-1 py-0",children:e("Private Key")});if(t==="npub")return c.jsx(Vl,{className:" bg-yellow-400 hover:bg-yellow-400 px-1 py-0",children:"NPUB"})}function Kf(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function QPe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,JPe(o,...e)]}function JPe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function XPe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=eOe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function eOe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function kY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Oae(...t){return e=>{let n=!1;const r=t.map(o=>{const s=kY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():kY(t[o],null)}}}}function zae(...t){return h.useCallback(Oae(...t),t)}const tOe=["top","right","bottom","left"],fh=Math.min,tl=Math.max,ej=Math.round,I6=Math.floor,Ku=t=>({x:t,y:t}),nOe={left:"right",right:"left",bottom:"top",top:"bottom"},rOe={start:"end",end:"start"};function z8(t,e,n){return tl(t,fh(e,n))}function cd(t,e){return typeof t=="function"?t(e):t}function ud(t){return t.split("-")[0]}function Xy(t){return t.split("-")[1]}function fL(t){return t==="x"?"y":"x"}function dL(t){return t==="y"?"height":"width"}function dh(t){return["top","bottom"].includes(ud(t))?"y":"x"}function pL(t){return fL(dh(t))}function oOe(t,e,n){n===void 0&&(n=!1);const r=Xy(t),o=pL(t),s=dL(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(a=tj(a)),[a,tj(a)]}function sOe(t){const e=tj(t);return[F8(t),e,F8(e)]}function F8(t){return t.replace(/start|end/g,e=>rOe[e])}function aOe(t,e,n){const r=["left","right"],o=["right","left"],s=["top","bottom"],a=["bottom","top"];switch(t){case"top":case"bottom":return n?e?o:r:e?r:o;case"left":case"right":return e?s:a;default:return[]}}function iOe(t,e,n,r){const o=Xy(t);let s=aOe(ud(t),n==="start",r);return o&&(s=s.map(a=>a+"-"+o),e&&(s=s.concat(s.map(F8)))),s}function tj(t){return t.replace(/left|right|bottom|top/g,e=>nOe[e])}function lOe(t){return{top:0,right:0,bottom:0,left:0,...t}}function Fae(t){return typeof t!="number"?lOe(t):{top:t,right:t,bottom:t,left:t}}function nj(t){const{x:e,y:n,width:r,height:o}=t;return{width:r,height:o,top:n,left:e,right:e+r,bottom:n+o,x:e,y:n}}function jY(t,e,n){let{reference:r,floating:o}=t;const s=dh(e),a=pL(e),i=dL(a),l=ud(e),u=s==="y",d=r.x+r.width/2-o.width/2,f=r.y+r.height/2-o.height/2,m=r[i]/2-o[i]/2;let g;switch(l){case"top":g={x:d,y:r.y-o.height};break;case"bottom":g={x:d,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:f};break;case"left":g={x:r.x-o.width,y:f};break;default:g={x:r.x,y:r.y}}switch(Xy(e)){case"start":g[a]-=m*(n&&u?-1:1);break;case"end":g[a]+=m*(n&&u?-1:1);break}return g}const cOe=async(t,e,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,i=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(e));let u=await a.getElementRects({reference:t,floating:e,strategy:o}),{x:d,y:f}=jY(u,r,l),m=r,g={},w=0;for(let b=0;b<i.length;b++){const{name:j,fn:S}=i[b],{x:I,y:N,data:M,reset:D}=await S({x:d,y:f,initialPlacement:r,placement:m,strategy:o,middlewareData:g,rects:u,platform:a,elements:{reference:t,floating:e}});d=I??d,f=N??f,g={...g,[j]:{...g[j],...M}},D&&w<=50&&(w++,typeof D=="object"&&(D.placement&&(m=D.placement),D.rects&&(u=D.rects===!0?await a.getElementRects({reference:t,floating:e,strategy:o}):D.rects),{x:d,y:f}=jY(u,m,l)),b=-1)}return{x:d,y:f,placement:m,strategy:o,middlewareData:g}};async function s2(t,e){var n;e===void 0&&(e={});const{x:r,y:o,platform:s,rects:a,elements:i,strategy:l}=t,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:m=!1,padding:g=0}=cd(e,t),w=Fae(g),j=i[m?f==="floating"?"reference":"floating":f],S=nj(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(j)))==null||n?j:j.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(i.floating)),boundary:u,rootBoundary:d,strategy:l})),I=f==="floating"?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,N=await(s.getOffsetParent==null?void 0:s.getOffsetParent(i.floating)),M=await(s.isElement==null?void 0:s.isElement(N))?await(s.getScale==null?void 0:s.getScale(N))||{x:1,y:1}:{x:1,y:1},D=nj(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:I,offsetParent:N,strategy:l}):I);return{top:(S.top-D.top+w.top)/M.y,bottom:(D.bottom-S.bottom+w.bottom)/M.y,left:(S.left-D.left+w.left)/M.x,right:(D.right-S.right+w.right)/M.x}}const uOe=t=>({name:"arrow",options:t,async fn(e){const{x:n,y:r,placement:o,rects:s,platform:a,elements:i,middlewareData:l}=e,{element:u,padding:d=0}=cd(t,e)||{};if(u==null)return{};const f=Fae(d),m={x:n,y:r},g=pL(o),w=dL(g),b=await a.getDimensions(u),j=g==="y",S=j?"top":"left",I=j?"bottom":"right",N=j?"clientHeight":"clientWidth",M=s.reference[w]+s.reference[g]-m[g]-s.floating[w],D=m[g]-s.reference[g],P=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let L=P?P[N]:0;(!L||!await(a.isElement==null?void 0:a.isElement(P)))&&(L=i.floating[N]||s.floating[w]);const F=M/2-D/2,T=L/2-b[w]/2-1,R=fh(f[S],T),z=fh(f[I],T),G=R,Z=L-b[w]-z,W=L/2-b[w]/2+F,U=z8(G,W,Z),ee=!l.arrow&&Xy(o)!=null&&W!==U&&s.reference[w]/2-(W<G?R:z)-b[w]/2<0,$=ee?W<G?W-G:W-Z:0;return{[g]:m[g]+$,data:{[g]:U,centerOffset:W-U-$,...ee&&{alignmentOffset:$}},reset:ee}}}),fOe=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,r;const{placement:o,middlewareData:s,rects:a,initialPlacement:i,platform:l,elements:u}=e,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:m,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:w="none",flipAlignment:b=!0,...j}=cd(t,e);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const S=ud(o),I=dh(i),N=ud(i)===i,M=await(l.isRTL==null?void 0:l.isRTL(u.floating)),D=m||(N||!b?[tj(i)]:sOe(i)),P=w!=="none";!m&&P&&D.push(...iOe(i,b,w,M));const L=[i,...D],F=await s2(e,j),T=[];let R=((r=s.flip)==null?void 0:r.overflows)||[];if(d&&T.push(F[S]),f){const W=oOe(o,a,M);T.push(F[W[0]],F[W[1]])}if(R=[...R,{placement:o,overflows:T}],!T.every(W=>W<=0)){var z,G;const W=(((z=s.flip)==null?void 0:z.index)||0)+1,U=L[W];if(U)return{data:{index:W,overflows:R},reset:{placement:U}};let ee=(G=R.filter($=>$.overflows[0]<=0).sort(($,H)=>$.overflows[1]-H.overflows[1])[0])==null?void 0:G.placement;if(!ee)switch(g){case"bestFit":{var Z;const $=(Z=R.filter(H=>{if(P){const Y=dh(H.placement);return Y===I||Y==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(Y=>Y>0).reduce((Y,q)=>Y+q,0)]).sort((H,Y)=>H[1]-Y[1])[0])==null?void 0:Z[0];$&&(ee=$);break}case"initialPlacement":ee=i;break}if(o!==ee)return{reset:{placement:ee}}}return{}}}};function CY(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function SY(t){return tOe.some(e=>t[e]>=0)}const dOe=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:n}=e,{strategy:r="referenceHidden",...o}=cd(t,e);switch(r){case"referenceHidden":{const s=await s2(e,{...o,elementContext:"reference"}),a=CY(s,n.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:SY(a)}}}case"escaped":{const s=await s2(e,{...o,altBoundary:!0}),a=CY(s,n.floating);return{data:{escapedOffsets:a,escaped:SY(a)}}}default:return{}}}}};async function pOe(t,e){const{placement:n,platform:r,elements:o}=t,s=await(r.isRTL==null?void 0:r.isRTL(o.floating)),a=ud(n),i=Xy(n),l=dh(n)==="y",u=["left","top"].includes(a)?-1:1,d=s&&l?-1:1,f=cd(e,t);let{mainAxis:m,crossAxis:g,alignmentAxis:w}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return i&&typeof w=="number"&&(g=i==="end"?w*-1:w),l?{x:g*d,y:m*u}:{x:m*u,y:g*d}}const hOe=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,r;const{x:o,y:s,placement:a,middlewareData:i}=e,l=await pOe(e,t);return a===((n=i.offset)==null?void 0:n.placement)&&(r=i.arrow)!=null&&r.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:a}}}}},mOe=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:r,placement:o}=e,{mainAxis:s=!0,crossAxis:a=!1,limiter:i={fn:j=>{let{x:S,y:I}=j;return{x:S,y:I}}},...l}=cd(t,e),u={x:n,y:r},d=await s2(e,l),f=dh(ud(o)),m=fL(f);let g=u[m],w=u[f];if(s){const j=m==="y"?"top":"left",S=m==="y"?"bottom":"right",I=g+d[j],N=g-d[S];g=z8(I,g,N)}if(a){const j=f==="y"?"top":"left",S=f==="y"?"bottom":"right",I=w+d[j],N=w-d[S];w=z8(I,w,N)}const b=i.fn({...e,[m]:g,[f]:w});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[m]:s,[f]:a}}}}}},gOe=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=e,{offset:i=0,mainAxis:l=!0,crossAxis:u=!0}=cd(t,e),d={x:n,y:r},f=dh(o),m=fL(f);let g=d[m],w=d[f];const b=cd(i,e),j=typeof b=="number"?{mainAxis:b,crossAxis:0}:{mainAxis:0,crossAxis:0,...b};if(l){const N=m==="y"?"height":"width",M=s.reference[m]-s.floating[N]+j.mainAxis,D=s.reference[m]+s.reference[N]-j.mainAxis;g<M?g=M:g>D&&(g=D)}if(u){var S,I;const N=m==="y"?"width":"height",M=["top","left"].includes(ud(o)),D=s.reference[f]-s.floating[N]+(M&&((S=a.offset)==null?void 0:S[f])||0)+(M?0:j.crossAxis),P=s.reference[f]+s.reference[N]+(M?0:((I=a.offset)==null?void 0:I[f])||0)-(M?j.crossAxis:0);w<D?w=D:w>P&&(w=P)}return{[m]:g,[f]:w}}}},yOe=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n,r;const{placement:o,rects:s,platform:a,elements:i}=e,{apply:l=()=>{},...u}=cd(t,e),d=await s2(e,u),f=ud(o),m=Xy(o),g=dh(o)==="y",{width:w,height:b}=s.floating;let j,S;f==="top"||f==="bottom"?(j=f,S=m===(await(a.isRTL==null?void 0:a.isRTL(i.floating))?"start":"end")?"left":"right"):(S=f,j=m==="end"?"top":"bottom");const I=b-d.top-d.bottom,N=w-d.left-d.right,M=fh(b-d[j],I),D=fh(w-d[S],N),P=!e.middlewareData.shift;let L=M,F=D;if((n=e.middlewareData.shift)!=null&&n.enabled.x&&(F=N),(r=e.middlewareData.shift)!=null&&r.enabled.y&&(L=I),P&&!m){const R=tl(d.left,0),z=tl(d.right,0),G=tl(d.top,0),Z=tl(d.bottom,0);g?F=w-2*(R!==0||z!==0?R+z:tl(d.left,d.right)):L=b-2*(G!==0||Z!==0?G+Z:tl(d.top,d.bottom))}await l({...e,availableWidth:F,availableHeight:L});const T=await a.getDimensions(i.floating);return w!==T.width||b!==T.height?{reset:{rects:!0}}:{}}}};function AS(){return typeof window<"u"}function ev(t){return Bae(t)?(t.nodeName||"").toLowerCase():"#document"}function ll(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function bf(t){var e;return(e=(Bae(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Bae(t){return AS()?t instanceof Node||t instanceof ll(t).Node:!1}function eu(t){return AS()?t instanceof Element||t instanceof ll(t).Element:!1}function lf(t){return AS()?t instanceof HTMLElement||t instanceof ll(t).HTMLElement:!1}function EY(t){return!AS()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof ll(t).ShadowRoot}function ox(t){const{overflow:e,overflowX:n,overflowY:r,display:o}=tu(t);return/auto|scroll|overlay|hidden|clip/.test(e+r+n)&&!["inline","contents"].includes(o)}function vOe(t){return["table","td","th"].includes(ev(t))}function _S(t){return[":popover-open",":modal"].some(e=>{try{return t.matches(e)}catch{return!1}})}function hL(t){const e=mL(),n=eu(t)?tu(t):t;return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function wOe(t){let e=ph(t);for(;lf(e)&&!gy(e);){if(hL(e))return e;if(_S(e))return null;e=ph(e)}return null}function mL(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function gy(t){return["html","body","#document"].includes(ev(t))}function tu(t){return ll(t).getComputedStyle(t)}function MS(t){return eu(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function ph(t){if(ev(t)==="html")return t;const e=t.assignedSlot||t.parentNode||EY(t)&&t.host||bf(t);return EY(e)?e.host:e}function Uae(t){const e=ph(t);return gy(e)?t.ownerDocument?t.ownerDocument.body:t.body:lf(e)&&ox(e)?e:Uae(e)}function a2(t,e,n){var r;e===void 0&&(e=[]),n===void 0&&(n=!0);const o=Uae(t),s=o===((r=t.ownerDocument)==null?void 0:r.body),a=ll(o);if(s){const i=B8(a);return e.concat(a,a.visualViewport||[],ox(o)?o:[],i&&n?a2(i):[])}return e.concat(o,a2(o,[],n))}function B8(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function $ae(t){const e=tu(t);let n=parseFloat(e.width)||0,r=parseFloat(e.height)||0;const o=lf(t),s=o?t.offsetWidth:n,a=o?t.offsetHeight:r,i=ej(n)!==s||ej(r)!==a;return i&&(n=s,r=a),{width:n,height:r,$:i}}function gL(t){return eu(t)?t:t.contextElement}function V0(t){const e=gL(t);if(!lf(e))return Ku(1);const n=e.getBoundingClientRect(),{width:r,height:o,$:s}=$ae(e);let a=(s?ej(n.width):n.width)/r,i=(s?ej(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!i||!Number.isFinite(i))&&(i=1),{x:a,y:i}}const bOe=Ku(0);function Vae(t){const e=ll(t);return!mL()||!e.visualViewport?bOe:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function xOe(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==ll(t)?!1:e}function Sg(t,e,n,r){e===void 0&&(e=!1),n===void 0&&(n=!1);const o=t.getBoundingClientRect(),s=gL(t);let a=Ku(1);e&&(r?eu(r)&&(a=V0(r)):a=V0(t));const i=xOe(s,n,r)?Vae(s):Ku(0);let l=(o.left+i.x)/a.x,u=(o.top+i.y)/a.y,d=o.width/a.x,f=o.height/a.y;if(s){const m=ll(s),g=r&&eu(r)?ll(r):r;let w=m,b=B8(w);for(;b&&r&&g!==w;){const j=V0(b),S=b.getBoundingClientRect(),I=tu(b),N=S.left+(b.clientLeft+parseFloat(I.paddingLeft))*j.x,M=S.top+(b.clientTop+parseFloat(I.paddingTop))*j.y;l*=j.x,u*=j.y,d*=j.x,f*=j.y,l+=N,u+=M,w=ll(b),b=B8(w)}}return nj({width:d,height:f,x:l,y:u})}function yL(t,e){const n=MS(t).scrollLeft;return e?e.left+n:Sg(bf(t)).left+n}function Hae(t,e,n){n===void 0&&(n=!1);const r=t.getBoundingClientRect(),o=r.left+e.scrollLeft-(n?0:yL(t,r)),s=r.top+e.scrollTop;return{x:o,y:s}}function kOe(t){let{elements:e,rect:n,offsetParent:r,strategy:o}=t;const s=o==="fixed",a=bf(r),i=e?_S(e.floating):!1;if(r===a||i&&s)return n;let l={scrollLeft:0,scrollTop:0},u=Ku(1);const d=Ku(0),f=lf(r);if((f||!f&&!s)&&((ev(r)!=="body"||ox(a))&&(l=MS(r)),lf(r))){const g=Sg(r);u=V0(r),d.x=g.x+r.clientLeft,d.y=g.y+r.clientTop}const m=a&&!f&&!s?Hae(a,l,!0):Ku(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+d.x+m.x,y:n.y*u.y-l.scrollTop*u.y+d.y+m.y}}function jOe(t){return Array.from(t.getClientRects())}function COe(t){const e=bf(t),n=MS(t),r=t.ownerDocument.body,o=tl(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=tl(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+yL(t);const i=-n.scrollTop;return tu(r).direction==="rtl"&&(a+=tl(e.clientWidth,r.clientWidth)-o),{width:o,height:s,x:a,y:i}}function SOe(t,e){const n=ll(t),r=bf(t),o=n.visualViewport;let s=r.clientWidth,a=r.clientHeight,i=0,l=0;if(o){s=o.width,a=o.height;const u=mL();(!u||u&&e==="fixed")&&(i=o.offsetLeft,l=o.offsetTop)}return{width:s,height:a,x:i,y:l}}function EOe(t,e){const n=Sg(t,!0,e==="fixed"),r=n.top+t.clientTop,o=n.left+t.clientLeft,s=lf(t)?V0(t):Ku(1),a=t.clientWidth*s.x,i=t.clientHeight*s.y,l=o*s.x,u=r*s.y;return{width:a,height:i,x:l,y:u}}function NY(t,e,n){let r;if(e==="viewport")r=SOe(t,n);else if(e==="document")r=COe(bf(t));else if(eu(e))r=EOe(e,n);else{const o=Vae(t);r={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return nj(r)}function Wae(t,e){const n=ph(t);return n===e||!eu(n)||gy(n)?!1:tu(n).position==="fixed"||Wae(n,e)}function NOe(t,e){const n=e.get(t);if(n)return n;let r=a2(t,[],!1).filter(i=>eu(i)&&ev(i)!=="body"),o=null;const s=tu(t).position==="fixed";let a=s?ph(t):t;for(;eu(a)&&!gy(a);){const i=tu(a),l=hL(a);!l&&i.position==="fixed"&&(o=null),(s?!l&&!o:!l&&i.position==="static"&&!!o&&["absolute","fixed"].includes(o.position)||ox(a)&&!l&&Wae(t,a))?r=r.filter(d=>d!==a):o=i,a=ph(a)}return e.set(t,r),r}function IOe(t){let{element:e,boundary:n,rootBoundary:r,strategy:o}=t;const a=[...n==="clippingAncestors"?_S(e)?[]:NOe(e,this._c):[].concat(n),r],i=a[0],l=a.reduce((u,d)=>{const f=NY(e,d,o);return u.top=tl(f.top,u.top),u.right=fh(f.right,u.right),u.bottom=fh(f.bottom,u.bottom),u.left=tl(f.left,u.left),u},NY(e,i,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function AOe(t){const{width:e,height:n}=$ae(t);return{width:e,height:n}}function _Oe(t,e,n){const r=lf(e),o=bf(e),s=n==="fixed",a=Sg(t,!0,s,e);let i={scrollLeft:0,scrollTop:0};const l=Ku(0);if(r||!r&&!s)if((ev(e)!=="body"||ox(o))&&(i=MS(e)),r){const m=Sg(e,!0,s,e);l.x=m.x+e.clientLeft,l.y=m.y+e.clientTop}else o&&(l.x=yL(o));const u=o&&!r&&!s?Hae(o,i):Ku(0),d=a.left+i.scrollLeft-l.x-u.x,f=a.top+i.scrollTop-l.y-u.y;return{x:d,y:f,width:a.width,height:a.height}}function eA(t){return tu(t).position==="static"}function IY(t,e){if(!lf(t)||tu(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return bf(t)===n&&(n=n.ownerDocument.body),n}function Yae(t,e){const n=ll(t);if(_S(t))return n;if(!lf(t)){let o=ph(t);for(;o&&!gy(o);){if(eu(o)&&!eA(o))return o;o=ph(o)}return n}let r=IY(t,e);for(;r&&vOe(r)&&eA(r);)r=IY(r,e);return r&&gy(r)&&eA(r)&&!hL(r)?n:r||wOe(t)||n}const MOe=async function(t){const e=this.getOffsetParent||Yae,n=this.getDimensions,r=await n(t.floating);return{reference:_Oe(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function ROe(t){return tu(t).direction==="rtl"}const TOe={convertOffsetParentRelativeRectToViewportRelativeRect:kOe,getDocumentElement:bf,getClippingRect:IOe,getOffsetParent:Yae,getElementRects:MOe,getClientRects:jOe,getDimensions:AOe,getScale:V0,isElement:eu,isRTL:ROe};function DOe(t,e){let n=null,r;const o=bf(t);function s(){var i;clearTimeout(r),(i=n)==null||i.disconnect(),n=null}function a(i,l){i===void 0&&(i=!1),l===void 0&&(l=1),s();const{left:u,top:d,width:f,height:m}=t.getBoundingClientRect();if(i||e(),!f||!m)return;const g=I6(d),w=I6(o.clientWidth-(u+f)),b=I6(o.clientHeight-(d+m)),j=I6(u),I={rootMargin:-g+"px "+-w+"px "+-b+"px "+-j+"px",threshold:tl(0,fh(1,l))||1};let N=!0;function M(D){const P=D[0].intersectionRatio;if(P!==l){if(!N)return a();P?a(!1,P):r=setTimeout(()=>{a(!1,1e-7)},1e3)}N=!1}try{n=new IntersectionObserver(M,{...I,root:o.ownerDocument})}catch{n=new IntersectionObserver(M,I)}n.observe(t)}return a(!0),s}function LOe(t,e,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,u=gL(t),d=o||s?[...u?a2(u):[],...a2(e)]:[];d.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const f=u&&i?DOe(u,n):null;let m=-1,g=null;a&&(g=new ResizeObserver(S=>{let[I]=S;I&&I.target===u&&g&&(g.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var N;(N=g)==null||N.observe(e)})),n()}),u&&!l&&g.observe(u),g.observe(e));let w,b=l?Sg(t):null;l&&j();function j(){const S=Sg(t);b&&(S.x!==b.x||S.y!==b.y||S.width!==b.width||S.height!==b.height)&&n(),b=S,w=requestAnimationFrame(j)}return n(),()=>{var S;d.forEach(I=>{o&&I.removeEventListener("scroll",n),s&&I.removeEventListener("resize",n)}),f==null||f(),(S=g)==null||S.disconnect(),g=null,l&&cancelAnimationFrame(w)}}const POe=hOe,OOe=mOe,zOe=fOe,FOe=yOe,BOe=dOe,AY=uOe,UOe=gOe,$Oe=(t,e,n)=>{const r=new Map,o={platform:TOe,...n},s={...o.platform,_c:r};return cOe(t,e,{...o,platform:s})};var B3=typeof document<"u"?h.useLayoutEffect:h.useEffect;function rj(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(typeof t=="function"&&t.toString()===e.toString())return!0;let n,r,o;if(t&&e&&typeof t=="object"){if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(r=n;r--!==0;)if(!rj(t[r],e[r]))return!1;return!0}if(o=Object.keys(t),n=o.length,n!==Object.keys(e).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(e,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&t.$$typeof)&&!rj(t[s],e[s]))return!1}return!0}return t!==t&&e!==e}function Gae(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function _Y(t,e){const n=Gae(t);return Math.round(e*n)/n}function tA(t){const e=h.useRef(t);return B3(()=>{e.current=t}),e}function VOe(t){t===void 0&&(t={});const{placement:e="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:s,floating:a}={},transform:i=!0,whileElementsMounted:l,open:u}=t,[d,f]=h.useState({x:0,y:0,strategy:n,placement:e,middlewareData:{},isPositioned:!1}),[m,g]=h.useState(r);rj(m,r)||g(r);const[w,b]=h.useState(null),[j,S]=h.useState(null),I=h.useCallback(H=>{H!==P.current&&(P.current=H,b(H))},[]),N=h.useCallback(H=>{H!==L.current&&(L.current=H,S(H))},[]),M=s||w,D=a||j,P=h.useRef(null),L=h.useRef(null),F=h.useRef(d),T=l!=null,R=tA(l),z=tA(o),G=tA(u),Z=h.useCallback(()=>{if(!P.current||!L.current)return;const H={placement:e,strategy:n,middleware:m};z.current&&(H.platform=z.current),$Oe(P.current,L.current,H).then(Y=>{const q={...Y,isPositioned:G.current!==!1};W.current&&!rj(F.current,q)&&(F.current=q,Ds.flushSync(()=>{f(q)}))})},[m,e,n,z,G]);B3(()=>{u===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,f(H=>({...H,isPositioned:!1})))},[u]);const W=h.useRef(!1);B3(()=>(W.current=!0,()=>{W.current=!1}),[]),B3(()=>{if(M&&(P.current=M),D&&(L.current=D),M&&D){if(R.current)return R.current(M,D,Z);Z()}},[M,D,Z,R,T]);const U=h.useMemo(()=>({reference:P,floating:L,setReference:I,setFloating:N}),[I,N]),ee=h.useMemo(()=>({reference:M,floating:D}),[M,D]),$=h.useMemo(()=>{const H={position:n,left:0,top:0};if(!ee.floating)return H;const Y=_Y(ee.floating,d.x),q=_Y(ee.floating,d.y);return i?{...H,transform:"translate("+Y+"px, "+q+"px)",...Gae(ee.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:Y,top:q}},[n,i,ee.floating,d.x,d.y]);return h.useMemo(()=>({...d,update:Z,refs:U,elements:ee,floatingStyles:$}),[d,Z,U,ee,$])}const HOe=t=>{function e(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:t,fn(n){const{element:r,padding:o}=typeof t=="function"?t(n):t;return r&&e(r)?r.current!=null?AY({element:r.current,padding:o}).fn(n):{}:r?AY({element:r,padding:o}).fn(n):{}}}},WOe=(t,e)=>({...POe(t),options:[t,e]}),YOe=(t,e)=>({...OOe(t),options:[t,e]}),GOe=(t,e)=>({...UOe(t),options:[t,e]}),qOe=(t,e)=>({...zOe(t),options:[t,e]}),KOe=(t,e)=>({...FOe(t),options:[t,e]}),ZOe=(t,e)=>({...BOe(t),options:[t,e]}),QOe=(t,e)=>({...HOe(t),options:[t,e]});function MY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function JOe(...t){return e=>{let n=!1;const r=t.map(o=>{const s=MY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():MY(t[o],null)}}}}var qae=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(eze);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(U8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(U8,{...r,ref:e,children:n})});qae.displayName="Slot";var U8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=nze(n);return h.cloneElement(n,{...tze(r,n.props),ref:e?JOe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});U8.displayName="SlotClone";var XOe=({children:t})=>c.jsx(c.Fragment,{children:t});function eze(t){return h.isValidElement(t)&&t.type===XOe}function tze(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function nze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var rze=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],oze=rze.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?qae:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),sze="Arrow",Kae=h.forwardRef((t,e)=>{const{children:n,width:r=10,height:o=5,...s}=t;return c.jsx(oze.svg,{...s,ref:e,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?n:c.jsx("polygon",{points:"0,0 30,0 15,10"})})});Kae.displayName=sze;var aze=Kae;function RY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Zae(...t){return e=>{let n=!1;const r=t.map(o=>{const s=RY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():RY(t[o],null)}}}}function Qae(...t){return h.useCallback(Zae(...t),t)}function ize(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,lze(o,...e)]}function lze(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var Jae=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(uze);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx($8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx($8,{...r,ref:e,children:n})});Jae.displayName="Slot";var $8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=dze(n);return h.cloneElement(n,{...fze(r,n.props),ref:e?Zae(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});$8.displayName="SlotClone";var cze=({children:t})=>c.jsx(c.Fragment,{children:t});function uze(t){return h.isValidElement(t)&&t.type===cze}function fze(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function dze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var pze=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Xae=pze.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Jae:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function hze(t){const[e,n]=h.useState(void 0);return pr(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,i;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,i=u.blockSize}else a=t.offsetWidth,i=t.offsetHeight;n({width:a,height:i})});return r.observe(t,{box:"border-box"}),()=>r.unobserve(t)}else n(void 0)},[t]),e}var vL="Popper",[eie,Eh]=ize(vL),[mze,tie]=eie(vL),nie=t=>{const{__scopePopper:e,children:n}=t,[r,o]=h.useState(null);return c.jsx(mze,{scope:e,anchor:r,onAnchorChange:o,children:n})};nie.displayName=vL;var rie="PopperAnchor",oie=h.forwardRef((t,e)=>{const{__scopePopper:n,virtualRef:r,...o}=t,s=tie(rie,n),a=h.useRef(null),i=Qae(e,a);return h.useEffect(()=>{s.onAnchorChange((r==null?void 0:r.current)||a.current)}),r?null:c.jsx(Xae.div,{...o,ref:i})});oie.displayName=rie;var wL="PopperContent",[gze,yze]=eie(wL),sie=h.forwardRef((t,e)=>{var xe,ce,pe,he,ke,le;const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:i=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:f="partial",hideWhenDetached:m=!1,updatePositionStrategy:g="optimized",onPlaced:w,...b}=t,j=tie(wL,n),[S,I]=h.useState(null),N=Qae(e,ye=>I(ye)),[M,D]=h.useState(null),P=hze(M),L=(P==null?void 0:P.width)??0,F=(P==null?void 0:P.height)??0,T=r+(s!=="center"?"-"+s:""),R=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},z=Array.isArray(u)?u:[u],G=z.length>0,Z={padding:R,boundary:z.filter(wze),altBoundary:G},{refs:W,floatingStyles:U,placement:ee,isPositioned:$,middlewareData:H}=VOe({strategy:"fixed",placement:T,whileElementsMounted:(...ye)=>LOe(...ye,{animationFrame:g==="always"}),elements:{reference:j.anchor},middleware:[WOe({mainAxis:o+F,alignmentAxis:a}),l&&YOe({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?GOe():void 0,...Z}),l&&qOe({...Z}),KOe({...Z,apply:({elements:ye,rects:ve,availableWidth:Ie,availableHeight:Ve})=>{const{width:Qe,height:nt}=ve.reference,Ue=ye.floating.style;Ue.setProperty("--radix-popper-available-width",`${Ie}px`),Ue.setProperty("--radix-popper-available-height",`${Ve}px`),Ue.setProperty("--radix-popper-anchor-width",`${Qe}px`),Ue.setProperty("--radix-popper-anchor-height",`${nt}px`)}}),M&&QOe({element:M,padding:i}),bze({arrowWidth:L,arrowHeight:F}),m&&ZOe({strategy:"referenceHidden",...Z})]}),[Y,q]=lie(ee),J=or(w);pr(()=>{$&&(J==null||J())},[$,J]);const ne=(xe=H.arrow)==null?void 0:xe.x,re=(ce=H.arrow)==null?void 0:ce.y,de=((pe=H.arrow)==null?void 0:pe.centerOffset)!==0,[Ee,we]=h.useState();return pr(()=>{S&&we(window.getComputedStyle(S).zIndex)},[S]),c.jsx("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...U,transform:$?U.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ee,"--radix-popper-transform-origin":[(he=H.transformOrigin)==null?void 0:he.x,(ke=H.transformOrigin)==null?void 0:ke.y].join(" "),...((le=H.hide)==null?void 0:le.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:c.jsx(gze,{scope:n,placedSide:Y,onArrowChange:D,arrowX:ne,arrowY:re,shouldHideArrow:de,children:c.jsx(Xae.div,{"data-side":Y,"data-align":q,...b,ref:N,style:{...b.style,animation:$?void 0:"none"}})})})});sie.displayName=wL;var aie="PopperArrow",vze={top:"bottom",right:"left",bottom:"top",left:"right"},iie=h.forwardRef(function(e,n){const{__scopePopper:r,...o}=e,s=yze(aie,r),a=vze[s.placedSide];return c.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:c.jsx(aze,{...o,ref:n,style:{...o.style,display:"block"}})})});iie.displayName=aie;function wze(t){return t!==null}var bze=t=>({name:"transformOrigin",options:t,fn(e){var j,S,I;const{placement:n,rects:r,middlewareData:o}=e,a=((j=o.arrow)==null?void 0:j.centerOffset)!==0,i=a?0:t.arrowWidth,l=a?0:t.arrowHeight,[u,d]=lie(n),f={start:"0%",center:"50%",end:"100%"}[d],m=(((S=o.arrow)==null?void 0:S.x)??0)+i/2,g=(((I=o.arrow)==null?void 0:I.y)??0)+l/2;let w="",b="";return u==="bottom"?(w=a?f:`${m}px`,b=`${-l}px`):u==="top"?(w=a?f:`${m}px`,b=`${r.floating.height+l}px`):u==="right"?(w=`${-l}px`,b=a?f:`${g}px`):u==="left"&&(w=`${r.floating.width+l}px`,b=a?f:`${g}px`),{data:{x:w,y:b}}}});function lie(t){const[e,n="center"]=t.split("-");return[e,n]}var sx=nie,ax=oie,RS=sie,TS=iie;function xze(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var cie=t=>{const{present:e,children:n}=t,r=kze(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=zae(r.ref,jze(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};cie.displayName="Presence";function kze(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=xze(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=A6(r.current);s.current=i==="mounted"?u:"none"},[i]),pr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=A6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),pr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=A6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=A6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function A6(t){return(t==null?void 0:t.animationName)||"none"}function jze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var uie=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(Sze);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(V8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(V8,{...r,ref:e,children:n})});uie.displayName="Slot";var V8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=Nze(n);return h.cloneElement(n,{...Eze(r,n.props),ref:e?Oae(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});V8.displayName="SlotClone";var Cze=({children:t})=>c.jsx(c.Fragment,{children:t});function Sze(t){return h.isValidElement(t)&&t.type===Cze}function Eze(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function Nze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Ize=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Aze=Ize.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?uie:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),nA,bL="HoverCard",[fie]=QPe(bL,[Eh]),DS=Eh(),[_ze,xL]=fie(bL),die=t=>{const{__scopeHoverCard:e,children:n,open:r,defaultOpen:o,onOpenChange:s,openDelay:a=700,closeDelay:i=300}=t,l=DS(e),u=h.useRef(0),d=h.useRef(0),f=h.useRef(!1),m=h.useRef(!1),[g=!1,w]=XPe({prop:r,defaultProp:o,onChange:s}),b=h.useCallback(()=>{clearTimeout(d.current),u.current=window.setTimeout(()=>w(!0),a)},[a,w]),j=h.useCallback(()=>{clearTimeout(u.current),!f.current&&!m.current&&(d.current=window.setTimeout(()=>w(!1),i))},[i,w]),S=h.useCallback(()=>w(!1),[w]);return h.useEffect(()=>()=>{clearTimeout(u.current),clearTimeout(d.current)},[]),c.jsx(_ze,{scope:e,open:g,onOpenChange:w,onOpen:b,onClose:j,onDismiss:S,hasSelectionRef:f,isPointerDownOnContentRef:m,children:c.jsx(sx,{...l,children:n})})};die.displayName=bL;var pie="HoverCardTrigger",hie=h.forwardRef((t,e)=>{const{__scopeHoverCard:n,...r}=t,o=xL(pie,n),s=DS(n);return c.jsx(ax,{asChild:!0,...s,children:c.jsx(Aze.a,{"data-state":o.open?"open":"closed",...r,ref:e,onPointerEnter:Kf(t.onPointerEnter,sj(o.onOpen)),onPointerLeave:Kf(t.onPointerLeave,sj(o.onClose)),onFocus:Kf(t.onFocus,o.onOpen),onBlur:Kf(t.onBlur,o.onClose),onTouchStart:Kf(t.onTouchStart,a=>a.preventDefault())})})});hie.displayName=pie;var Mze="HoverCardPortal",[Jyt,Rze]=fie(Mze,{forceMount:void 0}),oj="HoverCardContent",mie=h.forwardRef((t,e)=>{const n=Rze(oj,t.__scopeHoverCard),{forceMount:r=n.forceMount,...o}=t,s=xL(oj,t.__scopeHoverCard);return c.jsx(cie,{present:r||s.open,children:c.jsx(Tze,{"data-state":s.open?"open":"closed",...o,onPointerEnter:Kf(t.onPointerEnter,sj(s.onOpen)),onPointerLeave:Kf(t.onPointerLeave,sj(s.onClose)),ref:e})})});mie.displayName=oj;var Tze=h.forwardRef((t,e)=>{const{__scopeHoverCard:n,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,...i}=t,l=xL(oj,n),u=DS(n),d=h.useRef(null),f=zae(e,d),[m,g]=h.useState(!1);return h.useEffect(()=>{if(m){const w=document.body;return nA=w.style.userSelect||w.style.webkitUserSelect,w.style.userSelect="none",w.style.webkitUserSelect="none",()=>{w.style.userSelect=nA,w.style.webkitUserSelect=nA}}},[m]),h.useEffect(()=>{if(d.current){const w=()=>{g(!1),l.isPointerDownOnContentRef.current=!1,setTimeout(()=>{var j;((j=document.getSelection())==null?void 0:j.toString())!==""&&(l.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",w),()=>{document.removeEventListener("pointerup",w),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!1}}},[l.isPointerDownOnContentRef,l.hasSelectionRef]),h.useEffect(()=>{d.current&&Pze(d.current).forEach(b=>b.setAttribute("tabindex","-1"))}),c.jsx(qy,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:a,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:Kf(s,w=>{w.preventDefault()}),onDismiss:l.onDismiss,children:c.jsx(RS,{...u,...i,onPointerDown:Kf(i.onPointerDown,w=>{w.currentTarget.contains(w.target)&&g(!0),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!0}),ref:f,style:{...i.style,userSelect:m?"text":void 0,WebkitUserSelect:m?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),Dze="HoverCardArrow",Lze=h.forwardRef((t,e)=>{const{__scopeHoverCard:n,...r}=t,o=DS(n);return c.jsx(TS,{...o,...r,ref:e})});Lze.displayName=Dze;function sj(t){return e=>e.pointerType==="touch"?void 0:t()}function Pze(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;n.nextNode();)e.push(n.currentNode);return e}var Oze=die,zze=hie,gie=mie;const kL=Oze,jL=zze,LS=h.forwardRef(({className:t,align:e="center",sideOffset:n=4,...r},o)=>c.jsx(gie,{ref:o,align:e,sideOffset:n,collisionPadding:10,className:Te("z-50 w-64 rounded-xl border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r}));LS.displayName=gie.displayName;function Dn({className:t,...e}){return c.jsx("div",{className:Te("animate-pulse rounded-lg bg-primary/10",t),...e})}const yie=h.createContext(void 0),CL=()=>{const t=h.useContext(yie);if(!t)throw new Error("useDeletedEvent must be used within a DeletedEventProvider");return t};function Fze({children:t}){const[e,n]=h.useState(new Set),r=h.useCallback(s=>e.has(TY(s)),[e]),o=s=>{n(a=>new Set(a).add(TY(s)))};return c.jsx(yie.Provider,{value:{addDeletedEvent:o,isEventDeleted:r},children:t})}function TY(t){return Fs(t.kind)?ti(t):t.id}function cl(t){const{isEventDeleted:e}=CL(),[n,r]=h.useState(!0),[o,s]=h.useState(null),[a,i]=h.useState(void 0);return h.useEffect(()=>{(async()=>{if(r(!0),!t){r(!1),s(new Error("No id provided"));return}const u=await Oe.fetchEvent(t);u&&!e(u)&&i(u)})().catch(u=>{console.error("Error fetching event in useFetchEvent:",t,u),s(u)}).finally(()=>{r(!1)})},[t]),h.useEffect(()=>{a&&e(a)&&i(void 0)},[e]),{isFetching:n,error:o,event:a}}function SL(t){const[e,n]=h.useState(null),[r,o]=h.useState([]),[s,a]=h.useState(!0);return h.useEffect(()=>{(async()=>{try{if(a(!0),!t)return;const l=await Oe.fetchFollowListEvent(t);if(!l)return;n(l),o(See(l.tags))}finally{a(!1)}})()},[t]),{followings:r,followListEvent:e,isFetching:s}}const Bze=new zy({max:1e3,fetchMethod:t=>{const{nip05:e,pubkey:n}=JSON.parse(t);return Uze(e,n)}});async function Uze(t,e){var s;const[n,r]=(t==null?void 0:t.split("@"))||[void 0,void 0],o={isVerified:!1,nip05Name:n,nip05Domain:r};if(!n||!r||!e)return o;try{if(((s=(await(await fetch(EL(r,n))).json()).names)==null?void 0:s[n])===e)return{...o,isVerified:!0}}catch{}return o}async function $ze(t,e){const n=await Bze.fetch(JSON.stringify({nip05:t,pubkey:e}));if(n)return n;const[r,o]=(t==null?void 0:t.split("@"))||[void 0,void 0];return{isVerified:!1,nip05Name:r,nip05Domain:o}}function EL(t,e){const n=new URL("/.well-known/nostr.json",`https://${t}`);return e&&n.searchParams.set("name",e),n.toString()}async function vie(t){try{const n=await(await fetch(EL(t))).json(),r=new Set;return Object.values(n.names||{}).filter(o=>typeof o!="string"||!Vt.isValidHex(o)||r.has(o)?!1:(r.add(o),!0))}catch(e){return console.error("Error fetching pubkeys from domain:",e),[]}}function Vze(t,e){const[n,r]=h.useState(!1),[o,s]=h.useState(""),[a,i]=h.useState(""),[l,u]=h.useState(!0);return h.useEffect(()=>{if(!t||!e){u(!1);return}$ze(t,e).then(({isVerified:d,nip05Name:f,nip05Domain:m})=>{r(d),s(f),i(m),u(!1)})},[t,e]),{nip05IsVerified:n,nip05Name:o,nip05Domain:a,isFetching:l}}function ua(t){const{profile:e}=wt(),[n,r]=h.useState(!0),[o,s]=h.useState(null),[a,i]=h.useState(null),[l,u]=h.useState(null);return h.useEffect(()=>{i(null),u(null),(async()=>{var f;r(!0);try{if(!t){r(!1),s(new Error("No id provided"));return}const m=((f=Vt.tryFromString(t))==null?void 0:f.hex)??t;u(m);const g=await Oe.fetchProfile(t);g&&i(g)}catch(m){s(m)}finally{r(!1)}})()},[t]),h.useEffect(()=>{e&&l===e.pubkey&&i(e)},[e,l]),{isFetching:n,error:o,profile:a}}const _m=class _m{constructor(){je(this,"awesomeRelayCollections",null);je(this,"fetchDataloader",new Pu(async e=>(await Promise.allSettled(e.map(r=>this._getRelayInfo(r)))).map(r=>r.status==="fulfilled"?r.value:void 0),{maxBatchSize:1}))}static getInstance(){return _m.instance||(_m.instance=new _m),_m.instance}async getRelayInfos(e){return e.length===0?[]:(await this.fetchDataloader.loadMany(e)).map(r=>r instanceof Error?void 0:r)}async getRelayInfo(e){return this.fetchDataloader.load(e)}async getAwesomeRelayCollections(){return this.awesomeRelayCollections?this.awesomeRelayCollections:(this.awesomeRelayCollections=(async()=>{try{const e=await fetch("https://raw.githubusercontent.com/CodyTseng/awesome-nostr-relays/master/dist/collections.json");if(!e.ok)throw new Error("Failed to fetch awesome relay collections");return(await e.json()).collections}catch(e){return console.error("Error fetching awesome relay collections:",e),[]}})(),this.awesomeRelayCollections)}async _getRelayInfo(e){const n=async o=>{const a={...await this.fetchRelayNip11(e)??{},url:e,shortUrl:Aa(e)};return Array.isArray(a.supported_nips)||(a.supported_nips=[]),await At.putRelayInfo(a),o&&(this.fetchDataloader.clear(e),this.fetchDataloader.prime(e,a)),a},r=await At.getRelayInfo(e);return r?(n(!0),r):n(!1)}async fetchRelayNip11(e){try{return(await fetch(e.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}catch{return}}};je(_m,"instance");let H8=_m;const ix=H8.getInstance();function PS(t){const[e,n]=h.useState(!0),[r,o]=h.useState(void 0);return h.useEffect(()=>{if(!t)return;(async()=>{n(!0);const a=setTimeout(()=>{n(!1)},5e3);try{const i=await ix.getRelayInfo(t);o(i)}catch(i){console.error(i)}finally{clearTimeout(a),n(!1)}})()},[t]),{relayInfo:r,isFetching:e}}function wie(t){return(t==null?void 0:t.software)==="https://github.com/bitvora/algo-relay"}function bie(t){var e;return((e=t==null?void 0:t.supported_nips)==null?void 0:e.includes(43))&&!!t.pubkey}function Hze(t){const[e,n]=h.useState(!0),[r,o]=h.useState([]),[s,a]=h.useState(!1),[i,l]=h.useState([]),u=JSON.stringify(t);return h.useEffect(()=>{(async()=>{if(n(!0),t.length===0)return n(!1);const f=setTimeout(()=>{n(!1)},5e3);try{const m=await ix.getRelayInfos(t);o(m),a(m.every(g=>wie(g))),l(m.map((g,w)=>{var b;return{url:t[w],searchable:(b=g==null?void 0:g.supported_nips)==null?void 0:b.includes(50)}}).filter(g=>g.searchable).map(g=>g.url))}catch(m){console.error(m)}finally{clearTimeout(f),n(!1)}})()},[u]),{relayInfos:r,isFetching:e,areAlgoRelays:s,searchableRelayUrls:i}}function xie(t){const[e,n]=h.useState({write:[],read:[],originalRelays:[]}),[r,o]=h.useState(!0);return h.useEffect(()=>{(async()=>{if(o(!0),!t){o(!1);return}try{const a=await Oe.fetchRelayList(t);n(a)}catch(a){console.error(a)}finally{o(!1)}})()},[t]),{relayList:e,isFetching:r}}const Wze={root:null,rootMargin:"100px",threshold:0};function kie({items:t,showAllInitially:e=!1,showCount:n=10,onLoadMore:r,initialLoading:o=!1,observerOptions:s=Wze}){const[a,i]=h.useState(!0),[l,u]=h.useState(e?1/0:n),[d,f]=h.useState(!1),m=h.useRef(null),g=h.useRef({loading:d,hasMore:a,showCount:l,itemsLength:t.length,initialLoading:o,onLoadMore:r});g.current={loading:d,hasMore:a,showCount:l,itemsLength:t.length,initialLoading:o,onLoadMore:r};const w=h.useCallback(async()=>{const{loading:I,hasMore:N,showCount:M,itemsLength:D,initialLoading:P,onLoadMore:L}=g.current;if(P||I||M<D&&(u(T=>T+n),D-M>n*2)||!N)return;f(!0);const F=await L();i(F),f(!1)},[n]),b=h.useRef(!1);h.useEffect(()=>{const I=m.current;if(!I)return;const N=new IntersectionObserver(M=>{b.current=M[0].isIntersecting,M[0].isIntersecting&&w()},s);return N.observe(I),()=>{N.disconnect()}},[]),h.useEffect(()=>{t.length>0&&i(!0),b.current&&w()},[t.length]);const j=h.useMemo(()=>e?t:t.slice(0,l),[t,e,l]),S=a||l<t.length||d;return{visibleItems:j,loading:d,hasMore:a,shouldShowLoadingIndicator:S,bottomRef:m,setHasMore:i,setLoading:f}}const jie=h.createContext(void 0),Pa=()=>{const t=h.useContext(jie);if(!t)throw new Error("useFavoriteRelays must be used within a FavoriteRelaysProvider");return t};function Yze({children:t}){const{favoriteRelaysEvent:e,updateFavoriteRelaysEvent:n,pubkey:r,relayList:o,publish:s}=wt(),[a,i]=h.useState([]),l=h.useMemo(()=>!e||!r?null:ake(e,a),[e,a,r]),u=h.useMemo(()=>{if(!l){const N=Ze.getRelaySets(),M=[];return N.forEach(({relayUrls:D})=>{D.forEach(P=>{M.includes(P)||M.push(P)})}),M}return l.getRelayUrls()},[l]),d=h.useMemo(()=>!l||!r?[]:l.getSets().map(N=>oke(N,r)),[l,r]);h.useEffect(()=>{if(!e||!r){i([]);return}(async()=>{const M=[];if(e.tags.forEach(([T,R])=>{if(T==="a"&&R){const[z,G,Z]=R.split(":");if(z!==$e.Relaysets.toString()||G!==r||!Z||M.includes(Z))return;M.push(Z)}}),!M.length){i([]);return}const D=await Promise.all(M.map(T=>At.getReplaceableEvent(r,$e.Relaysets,T)));i(D.filter(Boolean));const P=await Oe.fetchEvents(((o==null?void 0:o.write)??[]).concat(Oe.currentRelays).slice(0,5),{kinds:[$e.Relaysets],authors:[r],"#d":M}),L=new Map;P.forEach(T=>{var G;const R=(G=T.tags.find(Z=>Z[0]==="d"))==null?void 0:G[1];if(!R)return;const z=L.get(R);(!z||z.created_at<T.created_at)&&L.set(R,T)});const F=M.map((T,R)=>L.get(T)||D[R]).filter(Boolean);i(F),await Promise.all(F.map(T=>At.putReplaceableEvent(T)))})()},[e,r,o==null?void 0:o.write]);const f=async N=>{if(!r)return;const M=Vt.fromHex(r),D=l??$p.empty(M);if(N.map(T=>D.addRelayUrl(T)).filter(T=>T&&T.type!=="no_change").length===0)return;const L=D.toDraftEvent(r),F=await s(L);n(F)},m=async N=>{if(!r||!l||N.map(L=>{const F=Ko.tryCreate(L);return F?l.removeRelay(F):null}).filter(L=>L&&L.type!=="no_change").length===0)return;const D=l.toDraftEvent(r),P=await s(D);n(P)},g=async(N,M=[])=>{if(!r)return;const D=w_.createWithRelays(N,M),P=D.toDraftEvent(),L=await s(P);await At.putReplaceableEvent(L);const F=Vt.fromHex(r),T=l??$p.empty(F);T.addSet(D);const R=T.toDraftEvent(r),z=await s(R);n(z)},w=async N=>{if(!r)return;const M=Vt.fromHex(r),D=l??$p.empty(M);for(const F of N){const T=mee(F);T&&D.addSet(T)}const P=D.toDraftEvent(r),L=await s(P);n(L)},b=async N=>{if(!r||!l||l.removeSet(N).type==="no_change")return;const D=l.toDraftEvent(r),P=await s(D);n(P)},j=async N=>{if(!r)return;const D=w_.createWithRelays(N.name,N.relayUrls,N.id).toDraftEvent(),P=await s(D);await At.putReplaceableEvent(P),i(L=>L.map(F=>{var R;return((R=F.tags.find(z=>z[0]==="d"))==null?void 0:R[1])===N.id?P:F}))},S=async N=>{if(!r||!l)return;const M=N.map(L=>Ko.tryCreate(L)).filter(L=>L!==null);l.reorderRelays(M);const D=l.toDraftEvent(r),P=await s(D);n(P)},I=async N=>{if(!r||!l)return;const M=N.map(L=>l.getSet(L.id)).filter(L=>L!==void 0);l.reorderSets(M);const D=l.toDraftEvent(r),P=await s(D);n(P)};return c.jsx(jie.Provider,{value:{favoriteRelays:u,addFavoriteRelays:f,deleteFavoriteRelays:m,reorderFavoriteRelays:S,relaySets:d,createRelaySet:g,addRelaySets:w,deleteRelaySet:b,updateRelaySet:j,reorderRelaySets:I},children:t})}class hs{constructor(e,n,r){this._value=e,this._relaySetId=n,this._relayUrl=r}static following(){return new hs("following",null,null)}static pinned(){return new hs("pinned",null,null)}static relays(e){if(!e||e.trim()==="")throw new Error("Relay set ID cannot be empty");return new hs("relays",e,null)}static relay(e){if(!e||e.trim()==="")throw new Error("Relay URL cannot be empty");return new hs("relay",null,e)}static tryFromString(e,n){switch(e){case"following":return hs.following();case"pinned":return hs.pinned();case"relays":return n?hs.relays(n):null;case"relay":return n?hs.relay(n):null;default:return null}}get value(){return this._value}get relaySetId(){return this._relaySetId}get relayUrl(){return this._relayUrl}get isSocialFeed(){return this._value==="following"||this._value==="pinned"}get isRelayFeed(){return this._value==="relays"||this._value==="relay"}equals(e){return!(this._value!==e._value||this._relaySetId!==e._relaySetId||this._relayUrl!==e._relayUrl)}toString(){switch(this._value){case"following":return"following";case"pinned":return"pinned";case"relays":return`relays:${this._relaySetId}`;case"relay":return`relay:${this._relayUrl}`}}}class ta{constructor(e,n,r,o,s,a,i){this._hideMutedUsers=e,this._hideContentMentioningMuted=n,this._hideUntrustedUsers=r,this._hideReplies=o,this._hideReposts=s,this._allowedKinds=a,this._nsfwPolicy=i}static default(){return new ta(!0,!0,!1,!1,!1,[],"hide_content")}static fromPreferences(e){return new ta(e.hideMutedUsers??!0,e.hideContentMentioningMuted??!0,e.hideUntrustedUsers??!1,e.hideReplies??!1,e.hideReposts??!1,e.allowedKinds??[],e.nsfwPolicy??"hide_content")}get hideMutedUsers(){return this._hideMutedUsers}get hideContentMentioningMuted(){return this._hideContentMentioningMuted}get hideUntrustedUsers(){return this._hideUntrustedUsers}get hideReplies(){return this._hideReplies}get hideReposts(){return this._hideReposts}get allowedKinds(){return this._allowedKinds}get nsfwPolicy(){return this._nsfwPolicy}isKindAllowed(e){return this._allowedKinds.length===0?!0:this._allowedKinds.includes(e)}shouldShow(e,n){var r,o;if(!this.isKindAllowed(e.kind))return{shouldShow:!1,reason:"kind_not_allowed"};if((r=n.pinnedEventIds)!=null&&r.has(e.id))return{shouldShow:!0};if((o=n.deletedEventIds)!=null&&o.has(e.id))return{shouldShow:!1,reason:"deleted"};if(this._hideMutedUsers&&n.mutedPubkeys.has(e.pubkey))return{shouldShow:!1,reason:"muted_author"};if(this._hideContentMentioningMuted){const s=this.extractMentionedPubkeys(e);for(const a of s)if(n.mutedPubkeys.has(a))return{shouldShow:!1,reason:"mentions_muted_user"}}return this._hideUntrustedUsers&&n.trustedPubkeys&&!n.trustedPubkeys.has(e.pubkey)?{shouldShow:!1,reason:"untrusted_author"}:this._hideReplies&&this.isReply(e)?{shouldShow:!1,reason:"reply_filtered"}:this._hideReposts&&this.isRepost(e)?{shouldShow:!1,reason:"repost_filtered"}:{shouldShow:!0}}extractMentionedPubkeys(e){const n=[];for(const r of e.tags)r[0]==="p"&&r[1]&&n.push(r[1]);return n}isReply(e){for(const n of e.tags)if((n[0]==="e"||n[0]==="E")&&n[1])return n[3]==="reply"||n[3]==="root",!0;return!1}isRepost(e){return e.kind===6||e.kind===16}withHideMutedUsers(e){return new ta(e,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideContentMentioningMuted(e){return new ta(this._hideMutedUsers,e,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideUntrustedUsers(e){return new ta(this._hideMutedUsers,this._hideContentMentioningMuted,e,this._hideReplies,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideReplies(e){return new ta(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,e,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideReposts(e){return new ta(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,e,this._allowedKinds,this._nsfwPolicy)}withAllowedKinds(e){return new ta(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,[...e],this._nsfwPolicy)}withNsfwPolicy(e){return new ta(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,this._allowedKinds,e)}equals(e){if(this._hideMutedUsers!==e._hideMutedUsers||this._hideContentMentioningMuted!==e._hideContentMentioningMuted||this._hideUntrustedUsers!==e._hideUntrustedUsers||this._hideReplies!==e._hideReplies||this._hideReposts!==e._hideReposts||this._nsfwPolicy!==e._nsfwPolicy||this._allowedKinds.length!==e._allowedKinds.length)return!1;for(let n=0;n<this._allowedKinds.length;n++)if(this._allowedKinds[n]!==e._allowedKinds[n])return!1;return!0}}class bo{constructor(e,n,r){this._type=e,this._relays=n,this._relaySetId=r}static userWriteRelays(){return new bo("user_write_relays",[],null)}static userReadRelays(){return new bo("user_read_relays",[],null)}static authorWriteRelays(){return new bo("author_write_relays",[],null)}static specific(e,n){if(e.length===0)throw new Error("Specific relay strategy requires at least one relay");return new bo("specific_relays",[...e],n??null)}static single(e){return new bo("single_relay",[e],null)}static bigRelays(){return new bo("big_relays",[],null)}static fromUrls(e,n){const r=e.map(o=>Ko.tryCreate(o)).filter(o=>o!==null);return r.length===0?bo.bigRelays():r.length===1?bo.single(r[0]):bo.specific(r,n)}get type(){return this._type}get relays(){return this._relays}get relaySetId(){return this._relaySetId}get hasStaticRelays(){return this._type==="specific_relays"||this._type==="single_relay"||this._type==="big_relays"}get requiresPerAuthorResolution(){return this._type==="author_write_relays"}async resolve(e,n){switch(this._type){case"specific_relays":case"single_relay":return[...this._relays];case"big_relays":return e.getBigRelays();case"user_write_relays":return n?e.getWriteRelays(n):e.getBigRelays();case"user_read_relays":return n?e.getReadRelays(n):e.getBigRelays();case"author_write_relays":return[]}}async resolveForAuthors(e,n){const r=new Map;if(this._type!=="author_write_relays"){const s=await this.resolve(e);for(const a of s)r.set(a.value,[...n]);return r}const o=e.getBigRelays();for(const s of n){let a=await e.getWriteRelays(s);a.length===0&&(a=o);for(const i of a){const l=r.get(i.value);l?l.push(s):r.set(i.value,[s])}}return r}equals(e){if(this._type!==e._type||this._relaySetId!==e._relaySetId||this._relays.length!==e._relays.length)return!1;for(let n=0;n<this._relays.length;n++)if(!this._relays[n].equals(e._relays[n]))return!1;return!0}toString(){var e;switch(this._type){case"user_write_relays":return"user_write_relays";case"user_read_relays":return"user_read_relays";case"author_write_relays":return"author_write_relays";case"big_relays":return"big_relays";case"single_relay":return`single:${(e=this._relays[0])==null?void 0:e.value}`;case"specific_relays":return this._relaySetId?`set:${this._relaySetId}`:`specific:[${this._relays.map(n=>n.value).join(",")}]`}}}const Gze=[1,6,16],qze=50;class Ha{constructor(e,n,r,o,s,a,i,l,u){this._relays=e,this._authors=n,this._kinds=r,this._since=o,this._until=s,this._limit=a,this._hashtags=i,this._mentionedPubkeys=l,this._eventIds=u}static create(e){if(e.relays.length===0)throw new Error("TimelineQuery requires at least one relay");return new Ha([...e.relays],e.authors?[...e.authors]:[],e.kinds??Gze,e.since??null,e.until??null,e.limit??qze,e.hashtags??[],e.mentionedPubkeys??[],e.eventIds??[])}static forAuthor(e,n,r){return Ha.create({relays:n,authors:[e],kinds:r==null?void 0:r.kinds,limit:r==null?void 0:r.limit})}static forAuthors(e,n,r){return Ha.create({relays:n,authors:e,kinds:r==null?void 0:r.kinds,limit:r==null?void 0:r.limit})}static forRelay(e,n){return Ha.create({relays:[e],kinds:n==null?void 0:n.kinds,limit:n==null?void 0:n.limit})}static forHashtag(e,n,r){return Ha.create({relays:n,hashtags:[e.replace(/^#/,"")],kinds:r==null?void 0:r.kinds,limit:r==null?void 0:r.limit})}get relays(){return this._relays}get authors(){return this._authors}get kinds(){return this._kinds}get since(){return this._since}get until(){return this._until}get limit(){return this._limit}get hashtags(){return this._hashtags}get mentionedPubkeys(){return this._mentionedPubkeys}get eventIds(){return this._eventIds}get hasAuthors(){return this._authors.length>0}get isGlobalQuery(){return this._authors.length===0&&this._hashtags.length===0}toNostrFilter(){const e={};return this._authors.length>0&&(e.authors=this._authors.map(n=>n.hex)),this._kinds.length>0&&(e.kinds=[...this._kinds]),this._since&&(e.since=this._since.unix),this._until&&(e.until=this._until.unix),this._limit>0&&(e.limit=this._limit),this._hashtags.length>0&&(e["#t"]=[...this._hashtags]),this._mentionedPubkeys.length>0&&(e["#p"]=this._mentionedPubkeys.map(n=>n.hex)),this._eventIds.length>0&&(e.ids=[...this._eventIds]),e}toSubRequests(){const e=this.toNostrFilter(),{since:n,until:r,...o}=e;return[{urls:this._relays.map(s=>s.value),filter:o}]}toSubRequestsPerRelay(){const e=this.toNostrFilter(),{since:n,until:r,...o}=e;return this._relays.map(s=>({urls:[s.value],filter:o}))}withRelays(e){return new Ha([...e],this._authors,this._kinds,this._since,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withAuthors(e){return new Ha(this._relays,[...e],this._kinds,this._since,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withKinds(e){return new Ha(this._relays,this._authors,[...e],this._since,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withSince(e){return new Ha(this._relays,this._authors,this._kinds,e,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withUntil(e){return new Ha(this._relays,this._authors,this._kinds,this._since,e,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withLimit(e){if(e<=0)throw new Error("Limit must be positive");return new Ha(this._relays,this._authors,this._kinds,this._since,this._until,e,this._hashtags,this._mentionedPubkeys,this._eventIds)}withHashtags(e){return new Ha(this._relays,this._authors,this._kinds,this._since,this._until,this._limit,e.map(n=>n.replace(/^#/,"")),this._mentionedPubkeys,this._eventIds)}toCacheKey(){return[this._relays.map(n=>n.value).sort().join(","),this._authors.map(n=>n.hex).sort().join(","),[...this._kinds].sort().join(","),[...this._hashtags].sort().join(",")].join("|")}equals(e){if(this._limit!==e._limit||this._relays.length!==e._relays.length||this._authors.length!==e._authors.length||this._kinds.length!==e._kinds.length||this._hashtags.length!==e._hashtags.length)return!1;const n=new Set(this._relays.map(a=>a.value));for(const a of e._relays)if(!n.has(a.value))return!1;const r=new Set(this._authors.map(a=>a.hex));for(const a of e._authors)if(!r.has(a.hex))return!1;const o=new Set(this._kinds);for(const a of e._kinds)if(!o.has(a))return!1;const s=new Set(this._hashtags);for(const a of e._hashtags)if(!s.has(a))return!1;return!0}}class Cie extends yf{constructor(e,n,r,o){super(),this.owner=e,this.fromType=n,this.toType=r,this.relaySetId=o}get eventType(){return"feed.switched"}}class Kze extends yf{constructor(e,n,r){super(),this.owner=e,this.previousFilter=n,this.newFilter=r}get eventType(){return"feed.content_filter_updated"}}class Zze extends yf{constructor(e,n){super(),this.owner=e,this.feedType=n}get eventType(){return"feed.refreshed"}}let _6=class $f{constructor(e,n,r,o,s,a){this._owner=e,this._feedType=n,this._relayStrategy=r,this._resolvedRelayUrls=o,this._contentFilter=s,this._lastRefreshedAt=a}static following(e){return new $f(e,hs.following(),bo.authorWriteRelays(),[],ta.default(),null)}static pinned(e){return new $f(e,hs.pinned(),bo.authorWriteRelays(),[],ta.default(),null)}static relays(e,n,r){return new $f(e,hs.relays(n),bo.specific(r,n),r,ta.default(),null)}static singleRelay(e){return new $f(null,hs.relay(e.value),bo.single(e),[e],ta.default(),null)}static empty(){return new $f(null,hs.following(),bo.bigRelays(),[],ta.default(),null)}static fromState(e,n){const r=hs.tryFromString(e.feedType,e.relaySetId??e.relayUrl);if(!r)return $f.empty();const o=e.relayUrls.map(i=>Ko.tryCreate(i)).filter(i=>i!==null);let s;r.value==="relay"&&o.length>0?s=bo.single(o[0]):r.value==="relays"&&o.length>0?s=bo.specific(o,e.relaySetId):r.isSocialFeed?s=bo.authorWriteRelays():s=bo.bigRelays();const a=ta.fromPreferences({hideMutedUsers:e.contentFilter.hideMutedUsers,hideContentMentioningMuted:e.contentFilter.hideContentMentioningMuted,hideUntrustedUsers:e.contentFilter.hideUntrustedUsers,hideReplies:e.contentFilter.hideReplies,hideReposts:e.contentFilter.hideReposts,allowedKinds:e.contentFilter.allowedKinds,nsfwPolicy:e.contentFilter.nsfwPolicy});return new $f(n??null,r,s,o,a,e.lastRefreshedAt?_o.fromUnix(e.lastRefreshedAt):null)}get owner(){return this._owner}get type(){return this._feedType}get relayStrategy(){return this._relayStrategy}get relayUrls(){return this._resolvedRelayUrls}get contentFilter(){return this._contentFilter}get lastRefreshedAt(){return this._lastRefreshedAt}get isSocialFeed(){return this._feedType.isSocialFeed}get isRelayFeed(){return this._feedType.isRelayFeed}get hasRelayUrls(){return this._resolvedRelayUrls.length>0}get relayUrlStrings(){return this._resolvedRelayUrls.map(e=>e.value)}switchTo(e,n=[]){const r=this._feedType;return this._feedType=e,e.value==="relay"&&n.length>0?(this._relayStrategy=bo.single(n[0]),this._resolvedRelayUrls=[n[0]]):e.value==="relays"&&n.length>0?(this._relayStrategy=bo.specific(n,e.relaySetId??void 0),this._resolvedRelayUrls=n):e.isSocialFeed?(this._relayStrategy=bo.authorWriteRelays(),this._resolvedRelayUrls=[]):(this._relayStrategy=bo.bigRelays(),this._resolvedRelayUrls=[]),this._lastRefreshedAt=_o.now(),new Cie(this._owner,r,e,e.relaySetId??void 0)}setResolvedRelayUrls(e){this._resolvedRelayUrls=[...e]}updateContentFilter(e){const n=this._contentFilter;return this._contentFilter=e,new Kze(this._owner,n,e)}refresh(){return this._lastRefreshedAt=_o.now(),new Zze(this._owner,this._feedType)}buildTimelineQuery(e={}){return this._resolvedRelayUrls.length===0?null:this.isSocialFeed?!e.authors||e.authors.length===0?null:Ha.forAuthors(e.authors,this._resolvedRelayUrls,{kinds:e.kinds,limit:e.limit}):Ha.forRelay(this._resolvedRelayUrls[0],{kinds:e.kinds,limit:e.limit}).withRelays(this._resolvedRelayUrls)}toState(){var e;return{feedType:this._feedType.value,relaySetId:this._feedType.relaySetId??void 0,relayUrl:this._feedType.relayUrl??void 0,relayUrls:this._resolvedRelayUrls.map(n=>n.value),contentFilter:{hideMutedUsers:this._contentFilter.hideMutedUsers,hideContentMentioningMuted:this._contentFilter.hideContentMentioningMuted,hideUntrustedUsers:this._contentFilter.hideUntrustedUsers,hideReplies:this._contentFilter.hideReplies,hideReposts:this._contentFilter.hideReposts,allowedKinds:[...this._contentFilter.allowedKinds],nsfwPolicy:this._contentFilter.nsfwPolicy},lastRefreshedAt:(e=this._lastRefreshedAt)==null?void 0:e.unix}}withOwner(e){return new $f(e,this._feedType,this._relayStrategy,[...this._resolvedRelayUrls],this._contentFilter,this._lastRefreshedAt)}equals(e){if(!this._feedType.equals(e._feedType)||this._resolvedRelayUrls.length!==e._resolvedRelayUrls.length)return!1;for(let n=0;n<this._resolvedRelayUrls.length;n++)if(!this._resolvedRelayUrls[n].equals(e._resolvedRelayUrls[n]))return!1;return this._contentFilter.equals(e._contentFilter)}};function DY(t){const e=t.type;return e.value==="following"||e.value==="pinned"?{feedType:e.value}:e.value==="relays"&&e.relaySetId?{feedType:"relays",id:e.relaySetId}:e.value==="relay"&&e.relayUrl?{feedType:"relay",id:e.relayUrl}:null}function Qze(t){return t.map(e=>Ko.tryCreate(e)).filter(e=>e!==null)}function Jze(t){return t.map(e=>e.value)}let hl={};function Xze(t){hl={...hl,...t}}function eFe(){hl={}}const Sie=async t=>{console.debug("[SocialEventHandler] User followed:",{actor:t.actor.formatted,followed:t.followed.formatted,petname:t.petname}),hl.onPrefetchProfile&&hl.onPrefetchProfile(t.followed.hex)},Eie=async t=>{console.debug("[SocialEventHandler] User unfollowed:",{actor:t.actor.formatted,unfollowed:t.unfollowed.formatted})},Nie=async t=>{console.debug("[SocialEventHandler] User muted:",{actor:t.actor.formatted,muted:t.muted.formatted,visibility:t.visibility}),hl.onRefilterNeeded&&hl.onRefilterNeeded()},Iie=async t=>{console.debug("[SocialEventHandler] User unmuted:",{actor:t.actor.formatted,unmuted:t.unmuted.formatted}),hl.onRefilterNeeded&&hl.onRefilterNeeded()},Aie=async t=>{console.debug("[SocialEventHandler] Mute visibility changed:",{actor:t.actor.formatted,target:t.target.formatted,from:t.from,to:t.to})},_ie=async t=>{console.debug("[SocialEventHandler] Follow list published:",{owner:t.owner.formatted,followingCount:t.followingCount}),hl.onFeedRefreshNeeded&&hl.onFeedRefreshNeeded()},Mie=async t=>{console.debug("[SocialEventHandler] Mute list published:",{owner:t.owner.formatted,publicMuteCount:t.publicMuteCount,privateMuteCount:t.privateMuteCount}),hl.onRefilterNeeded&&hl.onRefilterNeeded()};function tFe(){Wt.on("social.user_followed",Sie),Wt.on("social.user_unfollowed",Eie),Wt.on("social.user_muted",Nie),Wt.on("social.user_unmuted",Iie),Wt.on("social.mute_visibility_changed",Aie),Wt.on("social.follow_list_published",_ie),Wt.on("social.mute_list_published",Mie)}function nFe(){Wt.off("social.user_followed",Sie),Wt.off("social.user_unfollowed",Eie),Wt.off("social.user_muted",Nie),Wt.off("social.user_unmuted",Iie),Wt.off("social.mute_visibility_changed",Aie),Wt.off("social.follow_list_published",_ie),Wt.off("social.mute_list_published",Mie)}const Rie=h.createContext(void 0),Yg=()=>{const t=h.useContext(Rie);if(!t)throw new Error("useFeed must be used within a FeedProvider");return t};function rFe({children:t}){const{pubkey:e,isInitialized:n}=wt(),{relaySets:r}=Pa(),[o,s]=h.useState(null),[a,i]=h.useState(ta.default()),[l,u]=h.useState(!1),d=h.useRef(o),f=h.useMemo(()=>o?DY(o):null,[o]),m=h.useMemo(()=>o?Jze(o.relayUrls):[],[o]),g=h.useMemo(()=>e?Vt.tryFromString(e):null,[e]);h.useEffect(()=>{(async()=>{if(!n)return;let M=null;if(e&&(M=Ze.getFeedInfo(e)??null,M||(M={feedType:"following"})),(M==null?void 0:M.feedType)==="relays")return await w("relays",{activeRelaySetId:M.id});if((M==null?void 0:M.feedType)==="relay")return await w("relay",{relay:M.id});if((M==null?void 0:M.feedType)==="following"&&e)return await w("following",{pubkey:e});if((M==null?void 0:M.feedType)==="pinned"&&e)return await w("pinned",{pubkey:e});u(!0)})()},[e,n]),h.useEffect(()=>{if(!n||!e||!r.length)return;const N=Ze.getFeedInfo(e);(N==null?void 0:N.feedType)==="relays"&&!o&&w("relays",{activeRelaySetId:N.id})},[r,n,e,o]),h.useEffect(()=>{Xze({onFeedRefreshNeeded:()=>{if(o){const N=o.refresh();Wt.dispatch(N)}},onRefilterNeeded:()=>{i(N=>N)}})},[o]);const w=h.useCallback(async(N,M={})=>{const D=d.current;if(!N){s(null),d.current=null,u(!0);return}u(!1);let P=null,L=null;if(N==="relay"){const F=so(M.relay??"");if(!F||!Fy(F)){u(!0);return}const T=Ko.tryCreate(F);if(!T){u(!0);return}P=_6.singleRelay(T),L=hs.relay(F)}else if(N==="relays"){const F=M.activeRelaySetId??(r.length>0?r[0].id:null);if(!F||!e||!g){u(!0);return}let T=r.find(R=>R.id===F)??(r.length>0?r[0]:null);if(!T){const R=await At.getReplaceableEvent(e,$e.Relaysets,F);R&&(T=s5e(R))}if(T){const R=Qze(T.relayUrls);P=_6.relays(g,T.id,R),L=hs.relays(T.id)}}else if(N==="following"){if(!M.pubkey||!g){u(!0);return}P=_6.following(g),L=hs.following()}else if(N==="pinned"){if(!M.pubkey||!g){u(!0);return}P=_6.pinned(g),L=hs.pinned()}if(P&&L){s(P),d.current=P;const F=DY(P);Ze.setFeedInfo(F,e);const T=new Cie(g,(D==null?void 0:D.type)??null,L,L.relaySetId??void 0);Wt.dispatch(T),u(!0)}else u(!0)},[e,g,r]),b=h.useCallback(()=>{u(!0)},[]),j=h.useCallback(N=>{if(i(N),o&&g){const M=o.updateContentFilter(N);Wt.dispatch(M)}},[o,g]),S=h.useCallback(()=>{if(o){const N=o.refresh();Wt.dispatch(N)}},[o]),I=h.useMemo(()=>({feedInfo:f,relayUrls:m,isReady:l,switchFeed:w,markFeedLoaded:b,feed:o,contentFilter:a,updateContentFilter:j,refresh:S}),[f,m,l,w,b,o,a,j,S]);return c.jsx(Rie.Provider,{value:I,children:t})}function oFe(t,e){const{relayUrls:n}=Yg(),{searchableRelayUrls:r}=Hze(n),[o,s]=h.useState(!0),[a,i]=h.useState(null),[l,u]=h.useState([]);return h.useEffect(()=>{(async()=>{if(!t){u([]);return}s(!0),u([]);try{const f=await Oe.searchProfilesFromLocal(t,e);if(u(f),f.length>=e)return;const m=new Set(f.map(w=>w.pubkey)),g=await Oe.searchProfiles(r.concat(Ze.getSearchRelays()).slice(0,4),{search:t,limit:e});g.length&&(g.forEach(w=>{m.has(w.pubkey)||(m.add(w.pubkey),f.push(w))}),u([...f]))}catch(f){i(f)}finally{s(!1)}})()},[r,t,e]),{isFetching:o,error:a,profiles:l}}const vl=t=>typeof t=="string"?`/notes/${t}`:`/notes/${fg(t)}`,OS=({hashtag:t,search:e,domain:n,kinds:r})=>{const o="/notes",s=new URLSearchParams;return t&&s.set("t",t.toLowerCase()),r!=null&&r.length&&r.forEach(a=>s.append("k",a.toString())),e&&s.set("s",e),n&&s.set("d",n),`${o}?${s.toString()}`},xf=t=>t.startsWith("npub")||t.startsWith("nprofile")?`/users/${t}`:`/users/${jr.npubEncode(t)}`,sFe=({search:t,domain:e})=>{const n="/users",r=new URLSearchParams;return t&&r.set("s",t),e&&r.set("d",e),`${n}?${r.toString()}`},aFe=t=>`/users/${jr.npubEncode(t)}/following`,iFe=t=>`/users/${jr.npubEncode(t)}/relays`,lFe=t=>{if(!t)return"/search";const e=new URLSearchParams;return e.set("t",t.type),e.set("q",t.search),t.input&&e.set("i",t.input),`/search?${e.toString()}`},yy=t=>`/external-content?id=${encodeURIComponent(t)}`,Tie=()=>"/settings",cFe=()=>"/help",zS=t=>"/settings/relays"+(t?"#"+t:""),NL=()=>"/settings/wallet",uFe=()=>"/profile-editor",Eg=t=>`/relays/${encodeURIComponent(t)}`,Die=t=>`/relays/${encodeURIComponent(t)}/reviews`,fFe=()=>"/mutes",dFe=()=>"/rizful",pFe=()=>"/bookmarks",hFe=t=>typeof t=="string"?`/follow-packs/${t}`:`/follow-packs/${fg(t)}`,mFe=(t,e)=>`https://chachi.chat/${t.replace(/^wss?:\/\//,"").replace(/\/$/,"")}/${e}`,gFe=t=>`https://njump.me/${t}`,yFe=t=>`/chat/${t}`,vFe=t=>`/dm/${t.startsWith("npub")?t:jr.npubEncode(t)}`,rA=new zy({max:1e3});function lx(t){if(rA.has(t))return rA.get(t);const e=t.padEnd(2,"0"),n=[],r=[];for(let i=0;i<11;i++){const l=e.slice(i*6,(i+1)*6);i<3?n.push(`#${l}`):r.push(l)}const o=r.map((i,l)=>{const u=parseInt(i.slice(0,2),16)%100,d=parseInt(i.slice(2,4),16)%100,f=parseInt(i.slice(4,6),16)%35+30,m=n[l%(n.length-1)];return`
2030 <radialGradient id="grad${l}-${t}" cx="${u}%" cy="${d}%" r="${f}%">
2031 <stop offset="0%" style="stop-color:${m};stop-opacity:1" />
2032 <stop offset="100%" style="stop-color:${m};stop-opacity:0" />
2033 </radialGradient>
2034 <rect width="100%" height="100%" fill="url(#grad${l}-${t})" />
2035 `}).join(""),s=`
2036 <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
2037 <rect width="100%" height="100%" fill="${n[2]}" fill-opacity="0.3" />
2038 ${o}
2039 </svg>
2040 `,a=`data:image/svg+xml;base64,${btoa(s)}`;return rA.set(t,a),a}const Lie=h.createContext(void 0),ts=()=>{const t=h.useContext(Lie);if(!t)throw new Error("useUserPreferences must be used within a UserPreferencesProvider");return t};function wFe({children:t}){const{canUseDoublePane:e}=gn(),[n,r]=h.useState(Ze.getNotificationListStyle()),[o,s]=h.useState(!0),[a,i]=h.useState(Ze.getSidebarCollapse()),[l,u]=h.useState(Ze.getEnableSingleColumnLayout()),[d,f]=h.useState(Ze.getAutoInsertNewNotes()),[m,g]=h.useState(Ze.getQuickReaction()),[w,b]=h.useState(Ze.getQuickReactionEmoji());h.useEffect(()=>{e&&l?document.documentElement.style.setProperty("overflow-y","scroll"):document.documentElement.style.removeProperty("overflow-y")},[l,e]);const j=P=>{r(P),Ze.setNotificationListStyle(P),cr()},S=P=>{i(P),Ze.setSidebarCollapse(P),cr()},I=P=>{u(P),Ze.setEnableSingleColumnLayout(P),cr()},N=P=>{f(P),Ze.setAutoInsertNewNotes(P),cr()},M=P=>{g(P),Ze.setQuickReaction(P),cr()},D=P=>{b(P),Ze.setQuickReactionEmoji(P),cr()};return c.jsx(Lie.Provider,{value:{notificationListStyle:n,updateNotificationListStyle:j,muteMedia:o,updateMuteMedia:s,sidebarCollapse:a,updateSidebarCollapse:S,enableSingleColumnLayout:e?l:!0,updateEnableSingleColumnLayout:I,autoInsertNewNotes:d,updateAutoInsertNewNotes:N,quickReaction:m,updateQuickReaction:M,quickReactionEmoji:w,updateQuickReactionEmoji:D},children:t})}const M6=["reply","repost","quote","react","zap"],Pie=h.createContext(void 0);function ii(){const t=h.useContext(Pie);if(!t)throw new Error("useKeyboardNavigation must be used within KeyboardNavigationProvider");return t}function bFe(t,e,n,r,o=[]){const{registerRegion:s,unregisterRegion:a}=ii();h.useEffect(()=>(s({id:t,priority:e,isActive:n,handleIntent:r}),()=>a(t)),[t,e,s,a,...o])}function xFe(){const t=document.activeElement;if(!t)return!1;const e=t.tagName.toLowerCase();return e==="input"||e==="textarea"||t.getAttribute("contenteditable")==="true"}function oA({children:t,secondaryStackLength:e,sidebarDrawerOpen:n,onBack:r,onCloseSecondary:o}){const{isSmallScreen:s}=gn(),{enableSingleColumnLayout:a}=ts(),[i,l]=h.useState(1),[u,d]=h.useState({0:0,1:0,2:0}),[f,m]=h.useState({active:!1,selectedAction:null,noteEvent:null}),[g,w]=h.useState(null),[b,j]=h.useState(!1),S=h.useRef([]),I=800,N=h.useRef(i),M=h.useRef(u),D=h.useCallback(Ue=>{N.current=Ue,l(Ue)},[]),P=h.useCallback(()=>{j(Ue=>{const qe=!Ue;if(qe){const _e=T.current[N.current];if(_e.size>0){const et=Array.from(_e.keys()).sort((pt,ht)=>pt-ht)[0];et!==void 0&&d(pt=>({...pt,[N.current]:et}))}}return qe})},[]),L=h.useRef(new Map),F=h.useRef(()=>{}),T=h.useRef({0:new Map,1:new Map,2:new Map}),R=h.useRef({0:null,1:null,2:null}),z=h.useCallback(Ue=>{L.current.set(Ue.id,Ue)},[]),G=h.useCallback(Ue=>{L.current.delete(Ue)},[]),Z=h.useCallback(Ue=>{const qe=Array.from(L.current.values()).filter(_e=>_e.isActive()).sort((_e,et)=>et.priority-_e.priority);for(const _e of qe)if(_e.handleIntent(Ue))return;F.current(Ue)},[]),W=h.useCallback(Ue=>{let qe=Ue.parentElement;for(;qe&&qe!==document.body&&qe!==document.documentElement;){const pt=window.getComputedStyle(qe).overflowY;if((pt==="auto"||pt==="scroll")&&qe.scrollHeight>qe.clientHeight)break;qe=qe.parentElement}(!qe||qe===document.body||qe===document.documentElement)&&(qe=null);const _e=100;if(qe){const et=qe.getBoundingClientRect(),pt=Ue.getBoundingClientRect(),ht=pt.top-et.top,at=pt.bottom-et.top,De=et.height,se=De-_e;if(pt.height>se){const Q=qe.scrollTop+ht-_e;qe.scrollTo({top:Math.max(0,Q),behavior:"instant"});return}if(!(ht>=_e&&at<=De-50)){const Q=ht+pt.height/2,ie=De/2,Se=Q-ie,Me=qe.scrollTop+Se;qe.scrollTo({top:Math.max(0,Me),behavior:"instant"})}}else{const et=Ue.getBoundingClientRect(),pt=window.innerHeight,ht=pt-_e;if(et.height>ht){const De=window.scrollY+et.top-_e;window.scrollTo({top:Math.max(0,De),behavior:"instant"});return}if(!(et.top>=_e&&et.bottom<=pt-50)){const De=et.top+et.height/2,se=pt/2,K=De-se,Q=window.scrollY+K;window.scrollTo({top:Math.max(0,Q),behavior:"instant"})}}},[]),U=h.useCallback((Ue,qe)=>{M.current={...M.current,[Ue]:qe},d(_e=>({..._e,[Ue]:qe}))},[]),ee=h.useCallback(()=>{U(1,0),D(1)},[U,D]),$=h.useCallback((Ue,qe)=>{d(_e=>{const et={..._e,[Ue]:Math.max(0,_e[Ue]+qe)};return M.current=et,et})},[]),H=h.useCallback(Ue=>{T.current[Ue].clear(),d(qe=>({...qe,[Ue]:0}))},[]),Y=h.useCallback((Ue,qe,_e,et)=>{T.current[Ue].set(qe,{ref:_e,meta:et})},[]),q=h.useCallback((Ue,qe)=>{T.current[Ue].delete(qe)},[]),J=h.useCallback(Ue=>T.current[Ue].size,[]),ne=h.useCallback((Ue,qe)=>{R.current[Ue]=qe},[]),re=h.useCallback(Ue=>{R.current[Ue]=null},[]),de=h.useCallback((Ue,qe)=>b&&i===Ue&&u[Ue]===qe,[b,i,u]),Ee=h.useCallback(()=>s?n?[0]:e>0?[2]:[1]:a?e>0?[0,2]:[0,1]:e>0?[0,1,2]:[0,1],[s,a,n,e]),we=h.useCallback(Ue=>{const qe=Ee(),_e=N.current,et=qe.indexOf(_e);if(et===-1){D(qe[0]);return}const pt=Math.max(0,Math.min(qe.length-1,et+Ue)),ht=qe[pt];if(ht===_e)return;D(ht);const at=T.current[ht],De=M.current[ht],se=at.get(De);if(se!=null&&se.ref.current)W(se.ref.current);else if(at.size>0){const K=Array.from(at.keys()).sort((Q,ie)=>Q-ie)[0];if(K!==void 0){U(ht,K);const Q=at.get(K);Q!=null&&Q.ref.current&&W(Q.ref.current)}}},[Ee,W,U,D]),xe=h.useCallback(Ue=>{const qe=N.current,_e=T.current[qe];if(_e.size===0)return;const et=Array.from(_e.keys()).sort((K,Q)=>K-Q);if(et.length===0)return;const pt=M.current[qe];let ht=et.indexOf(pt);if(ht===-1){let K=0,Q=1/0;for(let ie=0;ie<et.length;ie++){const Se=Math.abs(et[ie]-pt);Se<Q&&(Q=Se,K=ie)}ht=K}let at=ht+Ue;if(at<0)at=et.length-1;else if(at>=et.length){const K=R.current[qe];K&&K(),at=0}const De=et[at];if(De===void 0)return;U(qe,De);const se=_e.get(De);se!=null&&se.ref.current&&W(se.ref.current)},[U,W]),ce=h.useCallback(()=>{let Ue=N.current;T.current[Ue].size===0&&(T.current[1].size>0?Ue=1:T.current[2].size>0&&(Ue=2));const qe=T.current[Ue];if(qe.size===0)return;const _e=Array.from(qe.keys()).sort((ht,at)=>ht-at);if(_e.length===0)return;const et=_e[0];if(et===void 0)return;D(Ue),U(Ue,et),window.scrollTo({top:0,behavior:"smooth"});const pt=qe.get(et);if(pt!=null&&pt.ref.current){let ht=pt.ref.current.parentElement;for(;ht&&ht!==document.body;){const at=window.getComputedStyle(ht);if((at.overflowY==="auto"||at.overflowY==="scroll")&&ht.scrollHeight>ht.clientHeight){ht.scrollTo({top:0,behavior:"smooth"});break}ht=ht.parentElement}}},[U,D]),pe=h.useCallback(Ue=>{m({active:!0,selectedAction:"reply",noteEvent:Ue})},[]),he=h.useCallback(()=>{m({active:!1,selectedAction:null,noteEvent:null})},[]),ke=h.useCallback((Ue=1)=>{m(qe=>{var pt;if(!qe.active){const ht=N.current,at=M.current[ht],De=T.current[ht].get(at);return((pt=De==null?void 0:De.meta)==null?void 0:pt.type)==="note"&&De.meta.event?{active:!0,selectedAction:"reply",noteEvent:De.meta.event}:qe}const et=((qe.selectedAction?M6.indexOf(qe.selectedAction):0)+Ue+M6.length)%M6.length;return{...qe,selectedAction:M6[et]}})},[]),le=h.useCallback(()=>{var et,pt;const Ue=N.current,qe=M.current[Ue];if(f.active){const ht=T.current[Ue].get(qe);if(ht!=null&&ht.ref.current&&f.selectedAction){const at=ht.ref.current.querySelector("[data-stuff-stats]"),De=at==null?void 0:at.querySelector(`[data-action="${f.selectedAction}"]`);De==null||De.click(),he()}return}const _e=T.current[Ue].get(qe);_e&&(Ue===0&&((et=_e.meta)==null?void 0:et.type)==="sidebar"&&(U(1,0),D(1)),(pt=_e.meta)!=null&&pt.onActivate?_e.meta.onActivate():_e.ref.current&&_e.ref.current.click())},[f,he,U,D]),ye=h.useCallback(()=>{const Ue=Date.now();if(S.current.push(Ue),S.current=S.current.filter(_e=>Ue-_e<I),S.current.length>=3&&b){j(!1),S.current=[];return}if(f.active){he();return}if(g){w(null);return}if((s||a)&&e>0){r==null||r();return}const qe=N.current;if(qe===2&&e>0){o==null||o(),D(1);return}qe!==0&&(D(0),U(0,0))},[f.active,he,g,s,a,e,r,o,U,D,b,I]),ve=h.useCallback(()=>{const Ue=N.current;if(Ue===2){e>0?s||a?r==null||r():(o==null||o(),D(1)):D(1);return}if(Ue===1){D(0);return}},[e,s,a,r,o,D]),Ie=h.useCallback(Ue=>{switch(Ue){case"up":xe(-1);break;case"down":xe(1);break;case"left":we(-1);break;case"right":we(1);break;case"pageUp":ce();break;case"activate":le();break;case"back":ve();break;case"cancel":ye();break;case"nextAction":ke(1);break;case"prevAction":ke(-1);break}},[xe,we,ce,le,ve,ye,ke]);h.useEffect(()=>{F.current=Ie},[Ie]);const Ve=h.useCallback(Ue=>{var pt;const qe=N.current,_e=M.current[qe],et=T.current[qe].get(_e);if(((pt=et==null?void 0:et.meta)==null?void 0:pt.type)==="note"&&et.ref.current){const ht=et.ref.current.querySelector("[data-stuff-stats]"),at=ht==null?void 0:ht.querySelector(`[data-action="${Ue}"]`);at==null||at.click()}},[]);h.useEffect(()=>{if(uu())return;const Ue=qe=>{var pt;if(xFe()||(pt=po.hasOpenModal)!=null&&pt.call(po))return;let _e=null;const et=["ArrowUp","ArrowDown","j","k","Tab"].includes(qe.key);switch(qe.key){case"ArrowUp":case"k":_e="up";break;case"ArrowDown":case"j":_e="down";break;case"ArrowLeft":case"h":_e="back";break;case"ArrowRight":case"l":_e="right";break;case"Enter":_e="activate";break;case"PageUp":_e="pageUp";break;case"Escape":_e="cancel";break;case"Backspace":_e="back";break;case"Tab":qe.preventDefault(),_e=qe.shiftKey?"left":"right";break;case"r":if(b){qe.preventDefault(),Ve("reply");return}break;case"R":if(b){qe.preventDefault(),Ve("react");return}break;case"p":if(b){qe.preventDefault(),Ve("repost");return}break;case"q":if(b){qe.preventDefault(),Ve("quote");return}break;case"z":if(b){qe.preventDefault(),Ve("zap");return}break;case"K":if(qe.shiftKey){qe.preventDefault(),P();return}break;case"M":if(qe.shiftKey&&b){qe.preventDefault();const ht=N.current,at=M.current[ht],De=T.current[ht].get(at);if(De!=null&&De.ref.current){const se=De.ref.current.querySelector("[data-collapsible-expand]");se&&(se.click(),setTimeout(()=>{De.ref.current&&W(De.ref.current)},50))}return}break}if(!b&&et){j(!0);const ht=Ee(),at=N.current,De=ht.includes(at)?at:ht[0],se=T.current[De];if(se.size>0){const K=Array.from(se.keys()).sort((Q,ie)=>Q-ie)[0];if(K!==void 0){U(De,K);const Q=se.get(K);Q!=null&&Q.ref.current&&W(Q.ref.current)}}}(_e&&b||_e&&et)&&(qe.preventDefault(),Z(_e))};return window.addEventListener("keydown",Ue),()=>window.removeEventListener("keydown",Ue)},[b,Z,Ee,U,W,Ve,P]),h.useEffect(()=>{const Ue=Ee();Ue.includes(i)||(i===2&&Ue.includes(1)?D(1):D(Ue[0]))},[Ee,i,D]);const Qe=h.useRef(e);h.useEffect(()=>{if(e>Qe.current&&b){D(2),U(2,0);const Ue=T.current[2];if(Ue.size>0){const _e=Array.from(Ue.keys()).sort((et,pt)=>et-pt)[0];if(_e!==void 0){U(2,_e);const et=Ue.get(_e);et!=null&&et.ref.current&&W(et.ref.current)}}}else e<Qe.current&&b&&N.current===2&&D(1);Qe.current=e},[e,b,U,W,D]);const nt=h.useMemo(()=>({emitIntent:Z,registerRegion:z,unregisterRegion:G,activeColumn:i,setActiveColumn:D,selectedIndex:u,setSelectedIndex:U,resetPrimarySelection:ee,offsetSelection:$,clearColumn:H,registerItem:Y,unregisterItem:q,getItemCount:J,registerLoadMore:ne,unregisterLoadMore:re,actionMode:f,enterActionMode:pe,exitActionMode:he,cycleAction:ke,isItemSelected:de,openAccordionItem:g,setOpenAccordionItem:w,isEnabled:b,toggleKeyboardMode:P,scrollToCenter:W}),[Z,z,G,i,u,U,ee,$,H,Y,q,J,ne,re,f,pe,he,ke,de,g,b,P,W]);return c.jsx(Pie.Provider,{value:nt,children:t})}const kFe=[{type:"reply",icon:sf,label:"Reply"},{type:"repost",icon:iae,label:"Repost"},{type:"quote",icon:sae,label:"Quote"},{type:"react",icon:Qk,label:"React"},{type:"zap",icon:lc,label:"Zap"}];function sA(){const{actionMode:t,isEnabled:e}=ii();return!e||!t.active?null:c.jsxs("div",{className:"fixed bottom-20 left-1/2 -translate-x-1/2 z-50 pointer-events-none",children:[c.jsx("div",{className:"flex gap-1 bg-background/95 backdrop-blur-sm border rounded-full px-3 py-2 shadow-lg",children:kFe.map(({type:n,icon:r,label:o})=>c.jsx("div",{className:Te("flex flex-col items-center gap-1 p-2 rounded-full transition-all duration-150",t.selectedAction===n?"bg-primary text-primary-foreground scale-110":"text-muted-foreground"),title:o,children:c.jsx(r,{className:"size-5"})},n))}),c.jsx("div",{className:"text-center text-xs text-muted-foreground mt-2",children:"Tab to cycle, Enter to activate, Esc to cancel"})]})}const Oie=h.createContext({composeOpen:!1,openCompose:()=>{},closeCompose:()=>{}});function IL(){return h.useContext(Oie)}function jFe({children:t}){const[e,n]=h.useState(!1),r=h.useCallback(()=>n(!0),[]),o=h.useCallback(()=>n(!1),[]);return c.jsx(Oie.Provider,{value:{composeOpen:e,openCompose:r,closeCompose:o},children:t})}class Kn{constructor(e,n,r,o,s){this._legacyCanvasSize=Kn.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=e,this.$canvas=document.createElement("canvas"),r&&typeof r=="object"?this._onDecode=n:(console.warn(r||o||s?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=n),n=typeof r=="object"?r:{},this._onDecodeError=n.onDecodeError||(typeof r=="function"?r:this._onDecodeError),this._calculateScanRegion=n.calculateScanRegion||(typeof o=="function"?o:this._calculateScanRegion),this._preferredCamera=n.preferredCamera||s||this._preferredCamera,this._legacyCanvasSize=typeof r=="number"?r:typeof o=="number"?o:this._legacyCanvasSize,this._maxScansPerSecond=n.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;let a=!1;if(e.hidden&&(e.hidden=!1,a=!0),document.body.contains(e)||(document.body.appendChild(e),a=!0),r=e.parentElement,n.highlightScanRegion||n.highlightCodeOutline){if(o=!!n.overlay,this.$overlay=n.overlay||document.createElement("div"),s=this.$overlay.style,s.position="absolute",s.display="none",s.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!o&&n.highlightScanRegion){this.$overlay.innerHTML='<svg class="scan-region-highlight-svg" viewBox="0 0 238 238" preserveAspectRatio="none" style="position:absolute;width:100%;height:100%;left:0;top:0;fill:none;stroke:#e9b213;stroke-width:4;stroke-linecap:round;stroke-linejoin:round"><path d="M31 2H10a8 8 0 0 0-8 8v21M207 2h21a8 8 0 0 1 8 8v21m0 176v21a8 8 0 0 1-8 8h-21m-176 0H10a8 8 0 0 1-8-8v-21"/></svg>';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}r.insertBefore(this.$overlay,this.$video.nextSibling)}n.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",'<svg class="code-outline-highlight" preserveAspectRatio="none" style="display:none;width:100%;height:100%;fill:none;stroke:#e9b213;stroke-width:5;stroke-dasharray:25;stroke-linecap:round;stroke-linejoin:round"><polygon/></svg>'),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(e),requestAnimationFrame(()=>{let i=window.getComputedStyle(e);i.display==="none"&&(e.style.setProperty("display","block","important"),a=!0),i.visibility!=="visible"&&(e.style.setProperty("visibility","visible","important"),a=!0),a&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity="0",e.style.width="0",e.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=Kn.createQrEngine()}static set WORKER_PATH(e){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await Kn.listCameras(!1)).length}catch{return!1}}static async listCameras(e=!1){if(!navigator.mediaDevices)return[];let n=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(o=>o.kind==="videoinput"),r;try{e&&(await n()).every(o=>!o.label)&&(r=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await n()).map((o,s)=>({id:o.deviceId,label:o.label||(s===0?"Default Camera":`Camera ${s+1}`)}))}finally{r&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),Kn._stopVideoStream(r))}}async hasFlash(){let e;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;e=this.$video.srcObject}else e=(await this._getCameraStream()).stream;return"torch"in e.getVideoTracks()[0].getSettings()}catch{return!1}finally{e&&e!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),Kn._stopVideoStream(e))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(e){throw this._flashOn=!1,e}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),Kn._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:e,facingMode:n}=await this._getCameraStream();!this._active||this._paused?Kn._stopVideoStream(e):(this._setVideoMirror(n),this.$video.srcObject=e,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(e){if(!this._paused)throw this._active=!1,e}}stop(){this.pause(),this._active=!1}async pause(e=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let n=()=>{this.$video.srcObject instanceof MediaStream&&(Kn._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return e?(n(),!0):(await new Promise(r=>setTimeout(r,300)),this._paused?(n(),!0):!1)}async setCamera(e){e!==this._preferredCamera&&(this._preferredCamera=e,await this._restartVideoStream())}static async scanImage(e,n,r,o,s=!1,a=!1){let i,l=!1;n&&("scanRegion"in n||"qrEngine"in n||"canvas"in n||"disallowCanvasResizing"in n||"alsoTryWithoutScanRegion"in n||"returnDetailedScanResult"in n)?(i=n.scanRegion,r=n.qrEngine,o=n.canvas,s=n.disallowCanvasResizing||!1,a=n.alsoTryWithoutScanRegion||!1,l=!0):console.warn(n||r||o||s||a?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),n=!!r;try{let u,d;[r,u]=await Promise.all([r||Kn.createQrEngine(),Kn._loadImage(e)]),[o,d]=Kn._drawToCanvas(u,i,o,s);let f;if(r instanceof Worker){let m=r;n||Kn._postWorkerMessageSync(m,"inversionMode","both"),f=await new Promise((g,w)=>{let b,j,S,I=-1;j=M=>{M.data.id===I&&(m.removeEventListener("message",j),m.removeEventListener("error",S),clearTimeout(b),M.data.data!==null?g({data:M.data.data,cornerPoints:Kn._convertPoints(M.data.cornerPoints,i)}):w(Kn.NO_QR_CODE_FOUND))},S=M=>{m.removeEventListener("message",j),m.removeEventListener("error",S),clearTimeout(b),w("Scanner error: "+(M?M.message||M:"Unknown Error"))},m.addEventListener("message",j),m.addEventListener("error",S),b=setTimeout(()=>S("timeout"),1e4);let N=d.getImageData(0,0,o.width,o.height);I=Kn._postWorkerMessageSync(m,"decode",N,[N.data.buffer])})}else f=await Promise.race([new Promise((m,g)=>window.setTimeout(()=>g("Scanner error: timeout"),1e4)),(async()=>{try{var[m]=await r.detect(o);if(!m)throw Kn.NO_QR_CODE_FOUND;return{data:m.rawValue,cornerPoints:Kn._convertPoints(m.cornerPoints,i)}}catch(g){if(m=g.message||g,/not implemented|service unavailable/.test(m))return Kn._disableBarcodeDetector=!0,Kn.scanImage(e,{scanRegion:i,canvas:o,disallowCanvasResizing:s,alsoTryWithoutScanRegion:a});throw`Scanner error: ${m}`}})()]);return l?f:f.data}catch(u){if(!i||!a)throw u;let d=await Kn.scanImage(e,{qrEngine:r,canvas:o,disallowCanvasResizing:s});return l?d:d.data}finally{n||Kn._postWorkerMessage(r,"close")}}setGrayscaleWeights(e,n,r,o=!0){Kn._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:n,blue:r,useIntegerApproximation:o})}setInversionMode(e){Kn._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}static async createQrEngine(e){if(e&&console.warn("Specifying a worker path is not required and not supported anymore."),e=()=>Bs(()=>import("./qr-scanner-worker.min-D85Z9gVD.js"),[]).then(r=>r.createWorker()),!(!Kn._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return e();let n=navigator.userAgentData;return n&&n.brands.some(({brand:r})=>/Chromium/i.test(r))&&/mac ?OS/i.test(n.platform)&&await n.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:r,platformVersion:o})=>/arm/i.test(r||"arm")&&13<=parseInt(o||"13")).catch(()=>!0)?e():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(e){let n=Math.round(.6666666666666666*Math.min(e.videoWidth,e.videoHeight));return{x:Math.round((e.videoWidth-n)/2),y:Math.round((e.videoHeight-n)/2),width:n,height:n,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var e=this.$video,n=e.videoWidth,r=e.videoHeight,o=e.offsetWidth,s=e.offsetHeight,a=e.offsetLeft,i=e.offsetTop,l=window.getComputedStyle(e),u=l.objectFit,d=n/r,f=o/s;switch(u){case"none":var m=n,g=r;break;case"fill":m=o,g=s;break;default:(u==="cover"?d>f:d<f)?(g=s,m=g*d):(m=o,g=m/d),u==="scale-down"&&(m=Math.min(m,n),g=Math.min(g,r))}var[w,b]=l.objectPosition.split(" ").map((S,I)=>{const N=parseFloat(S);return S.endsWith("%")?(I?s-g:o-m)*N/100:N});l=this._scanRegion.width||n,f=this._scanRegion.height||r,u=this._scanRegion.x||0;var j=this._scanRegion.y||0;d=this.$overlay.style,d.width=`${l/n*m}px`,d.height=`${f/r*g}px`,d.top=`${i+b+j/r*g}px`,r=/scaleX\(-1\)/.test(e.style.transform),d.left=`${a+(r?o-w-m:w)+(r?n-u-l:u)/n*m}px`,d.transform=e.style.transform}})}static _convertPoints(e,n){if(!n)return e;let r=n.x||0,o=n.y||0,s=n.width&&n.downScaledWidth?n.width/n.downScaledWidth:1;n=n.height&&n.downScaledHeight?n.height/n.downScaledHeight:1;for(let a of e)a.x=a.x*s+r,a.y=a.y*n+o;return e}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var e=Date.now()-this._lastScanTimestamp,n=1e3/this._maxScansPerSecond;e<n&&await new Promise(o=>setTimeout(o,n-e)),this._lastScanTimestamp=Date.now();try{var r=await Kn.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(o){if(!this._active)return;this._onDecodeError(o)}!Kn._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=Kn.createQrEngine()),r?(this._onDecode?this._onDecode(r):this._legacyOnDecode&&this._legacyOnDecode(r.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",r.cornerPoints.map(({x:o,y:s})=>`${o},${s}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(e){e!==Kn.NO_QR_CODE_FOUND&&console.log(e)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let e=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",n=[{width:{min:1024}},{width:{min:768}},{}],r=n.map(o=>Object.assign({},o,{[e]:{exact:this._preferredCamera}}));for(let o of[...r,...n])try{let s=await navigator.mediaDevices.getUserMedia({video:o,audio:!1}),a=this._getFacingMode(s)||(o.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:s,facingMode:a}}catch{}throw"Camera not found."}async _restartVideoStream(){let e=this._paused;await this.pause(!0)&&!e&&this._active&&await this.start()}static _stopVideoStream(e){for(let n of e.getTracks())n.stop(),e.removeTrack(n)}_setVideoMirror(e){this.$video.style.transform="scaleX("+(e==="user"?-1:1)+")"}_getFacingMode(e){return(e=e.getVideoTracks()[0])?/rear|back|environment/i.test(e.label)?"environment":/front|user|face/i.test(e.label)?"user":null:null}static _drawToCanvas(e,n,r,o=!1){r=r||document.createElement("canvas");let s=n&&n.x?n.x:0,a=n&&n.y?n.y:0,i=n&&n.width?n.width:e.videoWidth||e.width,l=n&&n.height?n.height:e.videoHeight||e.height;return o||(o=n&&n.downScaledWidth?n.downScaledWidth:i,n=n&&n.downScaledHeight?n.downScaledHeight:l,r.width!==o&&(r.width=o),r.height!==n&&(r.height=n)),n=r.getContext("2d",{alpha:!1}),n.imageSmoothingEnabled=!1,n.drawImage(e,s,a,i,l,0,0,r.width,r.height),[r,n]}static async _loadImage(e){if(e instanceof Image)return await Kn._awaitImageLoad(e),e;if(e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement||e instanceof SVGImageElement||"OffscreenCanvas"in window&&e instanceof OffscreenCanvas||"ImageBitmap"in window&&e instanceof ImageBitmap)return e;if(e instanceof File||e instanceof Blob||e instanceof URL||typeof e=="string"){let n=new Image;n.src=e instanceof File||e instanceof Blob?URL.createObjectURL(e):e.toString();try{return await Kn._awaitImageLoad(n),n}finally{(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(n.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(e){e.complete&&e.naturalWidth!==0||await new Promise((n,r)=>{let o=s=>{e.removeEventListener("load",o),e.removeEventListener("error",o),s instanceof ErrorEvent?r("Image load error"):n()};e.addEventListener("load",o),e.addEventListener("error",o)})}static async _postWorkerMessage(e,n,r,o){return Kn._postWorkerMessageSync(await e,n,r,o)}static _postWorkerMessageSync(e,n,r,o){if(!(e instanceof Worker))return-1;let s=Kn._workerMessageId++;return e.postMessage({id:s,type:n,data:r},o),s}}Kn.DEFAULT_CANVAS_SIZE=400;Kn.NO_QR_CODE_FOUND="No QR code found";Kn._disableBarcodeDetector=!1;Kn._workerMessageId=0;function cx({onScan:t,onClose:e}){const{t:n}=Ke(),r=h.useRef(null),o=h.useRef(null),[s,a]=h.useState(null),i=h.useCallback(l=>{t(l.data),e()},[t,e]);return h.useEffect(()=>{if(!r.current)return;const l=new Kn(r.current,i,{preferredCamera:"environment",highlightScanRegion:!0,highlightCodeOutline:!0});return o.current=l,l.start().catch(()=>{a(n("Failed to access camera"))}),()=>{l.destroy()}},[i,n]),c.jsx("div",{className:"fixed inset-0 z-50 bg-black/80 flex items-center justify-center",children:c.jsxs("div",{className:"relative w-full max-w-sm mx-4",children:[c.jsx(Pe,{variant:"ghost",size:"icon",className:"absolute -top-12 right-0 text-white hover:bg-white/20",onClick:e,children:c.jsx(ia,{className:"h-6 w-6"})}),c.jsx("div",{className:"rounded-lg overflow-hidden bg-black",children:s?c.jsx("div",{className:"p-8 text-center text-destructive",children:s}):c.jsx("video",{ref:r,className:"w-full"})}),c.jsx("p",{className:"text-center text-white/70 text-sm mt-4",children:n("Point camera at QR code")})]})})}const FS=h.forwardRef(({value:t,onChange:e,className:n,onQrScan:r,...o},s)=>{const[a,i]=h.useState(!1),[l,u]=h.useState(null),[d,f]=h.useState(!1);h.useEffect(()=>{i(!!t)},[t]);function m(w){u(w),typeof s=="function"?s(w):s&&(s.current=w)}const g=w=>{const b=w.startsWith("nostr:")?w.slice(6):w;r==null||r(b)};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{tabIndex:0,className:Te("flex h-9 w-full items-center rounded-xl border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-all duration-200 md:text-sm [&:has(:focus-visible)]:ring-ring [&:has(:focus-visible)]:ring-2 [&:has(:focus-visible)]:outline-none hover:border-ring/50",n),children:[c.jsx(tx,{className:"size-4 shrink-0 opacity-50",onClick:()=>l==null?void 0:l.focus()}),c.jsx("input",{...o,name:"search-input",ref:m,value:t,onChange:e,className:"size-full mx-2 border-none bg-transparent focus:outline-none placeholder:text-muted-foreground"}),r&&c.jsx("button",{type:"button",className:"text-muted-foreground hover:text-foreground transition-colors size-5 shrink-0 flex items-center justify-center mr-1",onMouseDown:w=>w.preventDefault(),onClick:()=>f(!0),children:c.jsx(o2,{className:"size-4"})}),a&&c.jsx("button",{type:"button",className:"rounded-full bg-foreground/40 hover:bg-foreground transition-opacity size-5 shrink-0 flex flex-col items-center justify-center",onMouseDown:w=>w.preventDefault(),onClick:()=>e==null?void 0:e({target:{value:""}}),children:c.jsx(ia,{className:"!size-3 shrink-0 text-background",strokeWidth:4})})]}),d&&c.jsx(cx,{onScan:g,onClose:()=>f(!1)})]})});FS.displayName="SearchInput";var R6=new TextDecoder("utf-8");new TextEncoder;var zie=5e3;function Fie(t){var o,s,a,i,l,u,d;let{prefix:e,words:n}=Pr.decode(t,zie),r=new Uint8Array(Pr.fromWords(n));switch(e){case"nprofile":{let f=aA(r);if(!((o=f[0])!=null&&o[0]))throw new Error("missing TLV 0 for nprofile");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:Lr(f[0][0]),relays:f[1]?f[1].map(m=>R6.decode(m)):[]}}}case"nevent":{let f=aA(r);if(!((s=f[0])!=null&&s[0]))throw new Error("missing TLV 0 for nevent");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(f[2]&&f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(f[3]&&f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:Lr(f[0][0]),relays:f[1]?f[1].map(m=>R6.decode(m)):[],author:(a=f[2])!=null&&a[0]?Lr(f[2][0]):void 0,kind:(i=f[3])!=null&&i[0]?parseInt(Lr(f[3][0]),16):void 0}}}case"naddr":{let f=aA(r);if(!((l=f[0])!=null&&l[0]))throw new Error("missing TLV 0 for naddr");if(!((u=f[2])!=null&&u[0]))throw new Error("missing TLV 2 for naddr");if(f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!((d=f[3])!=null&&d[0]))throw new Error("missing TLV 3 for naddr");if(f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:R6.decode(f[0][0]),pubkey:Lr(f[2][0]),kind:parseInt(Lr(f[3][0]),16),relays:f[1]?f[1].map(m=>R6.decode(m)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:Lr(r)};default:throw new Error(`unknown prefix ${e}`)}}function aA(t){let e={},n=t;for(;n.length>0;){let r=n[0],o=n[1],s=n.slice(2,2+o);if(n=n.slice(2+o),s.length<o)throw new Error(`not enough data to read on TLV ${r}`);e[r]=e[r]||[],e[r].push(s)}return e}function CFe(t){return EFe("nsec",t)}function SFe(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,zie)}function EFe(t,e){return SFe(t,e)}function NFe(t){return t.startsWith("nak req ")||t.startsWith("req ")}function Bie(t){const e=t.trim();if(!NFe(e))return null;const n=e.startsWith("nak")?e.slice(8).trim():e.slice(3).trim();if(!n)return{filter:{},urls:[]};const r=IFe(n),o={},s=[];let a=0;for(;a<r.length;){const i=r[a];if(i==="--author"||i==="-a"){const l=r[++a],u=l?LY(l):null;u&&(o.authors||(o.authors=[]),o.authors.includes(u)||o.authors.push(u))}else if(i==="--id"||i==="-i"){const l=r[++a],u=l?LY(l):null;u&&(o.ids||(o.ids=[]),o.ids.includes(u)||o.ids.push(u))}else if(i==="--kind"||i==="-k"){const l=r[++a];if(l&&/^\d+$/.test(l)){const u=parseInt(l,10);o.kinds||(o.kinds=[]),o.kinds.includes(u)||o.kinds.push(u)}}else if(i==="--search"){const l=r[++a];l&&(o.search=l)}else if(i==="--tag"||i==="-t"){const l=r[++a];if(l){const[u,d]=AFe(l);if(u&&d){const f=`#${u}`,m=o;m[f]||(m[f]=[]),m[f].includes(d)||m[f].push(d)}}}else if(i==="-d"){const l=r[++a];l&&(o["#d"]||(o["#d"]=[]),o["#d"].includes(l)||o["#d"].push(l))}else if(i==="-e"){const l=r[++a];l&&W8(l)&&(o["#e"]||(o["#e"]=[]),o["#e"].includes(l)||o["#e"].push(l))}else if(i==="-p"){const l=r[++a];l&&W8(l)&&(o["#p"]||(o["#p"]=[]),o["#p"].includes(l)||o["#p"].push(l))}else if(!i.startsWith("-"))try{const l=so(i);(l.startsWith("wss://")||l.startsWith("ws://"))&&(s.includes(l)||s.push(l))}catch{}a++}return{filter:o,urls:s}}function IFe(t){const e=[];let n="",r=null;for(let o=0;o<t.length;o++){const s=t[o];r?s===r?r=null:n+=s:s==='"'||s==="'"?r=s:s===" "||s===" "?n&&(e.push(n),n=""):n+=s}return n&&e.push(n),e}function AFe(t){const e=t.indexOf("=");return e===-1?[null,null]:[t.slice(0,e),t.slice(e+1)]}function W8(t){return new RegExp("^[0-9a-fA-F]{64}$").test(t)}function LY(t){if(W8(t))return t;if(["nevent","note","npub","nprofile"].every(e=>!t.startsWith(e)))return null;try{const{type:e,data:n}=Fie(t);return e==="nevent"?n.id:e==="note"||e==="npub"?n:e==="nprofile"?n.pubkey:null}catch{return null}}function _Fe(t){var n,r,o;const e=[];(n=t.filter.kinds)!=null&&n.length&&e.push(`kinds: ${t.filter.kinds.join(", ")}`),(r=t.filter.authors)!=null&&r.length&&e.push(`authors: ${t.filter.authors.length}`),(o=t.filter.ids)!=null&&o.length&&e.push(`ids: ${t.filter.ids.length}`),t.filter.search&&e.push(`search: "${t.filter.search}"`);for(const s of Object.keys(t.filter))if(s.startsWith("#")){const a=t.filter[s];a!=null&&a.length&&e.push(`${s}: ${a.length}`)}return t.urls.length&&e.push(`relays: ${t.urls.length}`),e.join(" | ")||"No filters"}function MFe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,RFe(o,...e)]}function RFe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function PY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Uie(...t){return e=>{let n=!1;const r=t.map(o=>{const s=PY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():PY(t[o],null)}}}}function $ie(...t){return h.useCallback(Uie(...t),t)}function TFe(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}var DFe=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(LFe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(Y8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(Y8,{...r,ref:e,children:n})});DFe.displayName="Slot";var Y8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=OFe(n);return h.cloneElement(n,{...PFe(r,n.props),ref:e?Uie(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});Y8.displayName="SlotClone";var Vie=({children:t})=>c.jsx(c.Fragment,{children:t});function LFe(t){return h.isValidElement(t)&&t.type===Vie}function PFe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function OFe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Hie="AlertDialog",[zFe]=MFe(Hie,[xse]),xd=xse(),Wie=t=>{const{__scopeAlertDialog:e,...n}=t,r=xd(e);return c.jsx(gS,{...r,...n,modal:!0})};Wie.displayName=Hie;var FFe="AlertDialogTrigger",Yie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=xd(n);return c.jsx(XD,{...o,...r,ref:e})});Yie.displayName=FFe;var BFe="AlertDialogPortal",Gie=t=>{const{__scopeAlertDialog:e,...n}=t,r=xd(e);return c.jsx(yS,{...r,...n})};Gie.displayName=BFe;var UFe="AlertDialogOverlay",qie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=xd(n);return c.jsx(Ky,{...o,...r,ref:e})});qie.displayName=UFe;var H0="AlertDialogContent",[$Fe,VFe]=zFe(H0),Kie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,children:r,...o}=t,s=xd(n),a=h.useRef(null),i=$ie(e,a),l=h.useRef(null);return c.jsx(n7e,{contentName:H0,titleName:Zie,docsSlug:"alert-dialog",children:c.jsx($Fe,{scope:n,cancelRef:l,children:c.jsxs(Zy,{role:"alertdialog",...s,...o,ref:i,onOpenAutoFocus:TFe(o.onOpenAutoFocus,u=>{var d;u.preventDefault(),(d=l.current)==null||d.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault(),children:[c.jsx(Vie,{children:r}),c.jsx(WFe,{contentRef:a})]})})})});Kie.displayName=H0;var Zie="AlertDialogTitle",Qie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=xd(n);return c.jsx(Qy,{...o,...r,ref:e})});Qie.displayName=Zie;var Jie="AlertDialogDescription",Xie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=xd(n);return c.jsx(Jy,{...o,...r,ref:e})});Xie.displayName=Jie;var HFe="AlertDialogAction",ele=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=xd(n);return c.jsx(J2,{...o,...r,ref:e})});ele.displayName=HFe;var tle="AlertDialogCancel",nle=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,{cancelRef:o}=VFe(tle,n),s=xd(n),a=$ie(e,o);return c.jsx(J2,{...s,...r,ref:a})});nle.displayName=tle;var WFe=({contentRef:t})=>{const e=`\`${H0}\` requires a description for the component to be accessible for screen reader users.
2041
2042 You can add a description to the \`${H0}\` by passing a \`${Jie}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
2043
2044 Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${H0}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
2045
2046 For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return h.useEffect(()=>{var r;document.getElementById((r=t.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(e)},[e,t]),null},YFe=Wie,GFe=Yie,qFe=Gie,rle=qie,ole=Kie,sle=ele,ale=nle,ile=Qie,lle=Xie;const cf=YFe,Ng=GFe,KFe=qFe,cle=h.forwardRef(({className:t,...e},n)=>c.jsx(rle,{className:Te("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));cle.displayName=rle.displayName;const nu=h.forwardRef(({className:t,...e},n)=>c.jsxs(KFe,{children:[c.jsx(cle,{}),c.jsx(ole,{ref:n,className:Te("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...e})]}));nu.displayName=ole.displayName;const ru=({className:t,...e})=>c.jsx("div",{className:Te("flex flex-col space-y-2 text-center sm:text-left",t),...e});ru.displayName="AlertDialogHeader";const ou=({className:t,...e})=>c.jsx("div",{className:Te("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});ou.displayName="AlertDialogFooter";const su=h.forwardRef(({className:t,...e},n)=>c.jsx(ile,{ref:n,className:Te("text-lg font-semibold",t),...e}));su.displayName=ile.displayName;const au=h.forwardRef(({className:t,...e},n)=>c.jsx(lle,{ref:n,className:Te("text-sm text-muted-foreground",t),...e}));au.displayName=lle.displayName;const uf=h.forwardRef(({className:t,variant:e,size:n,...r},o)=>c.jsx(sle,{ref:o,className:Te(uL({variant:e,size:n,className:t})),...r}));uf.displayName=sle.displayName;const ff=h.forwardRef(({className:t,...e},n)=>c.jsx(ale,{ref:n,className:Te(uL({variant:"outline"}),"mt-2 sm:mt-0",t),...e}));ff.displayName=ale.displayName;class ule{constructor(e){this.deps=e}async findByOwner(e){const n=await At.getReplaceableEvent(e.hex,$e.Contacts);if(n){const o=yB(n);if(o)return o}const r=await Oe.fetchFollowListEvent(e.hex,!0);return r?yB(r):null}async save(e){const n=e.toDraftEvent(),r=await this.deps.publish(n);await At.putReplaceableEvent(r),await Oe.updateFollowListCache(r)}async saveAndGetEvent(e){const n=e.toDraftEvent(),r=await this.deps.publish(n);return await At.putReplaceableEvent(r),await Oe.updateFollowListCache(r),r}}class fle{constructor(e){this.deps=e}async findByOwner(e){let r=await At.getReplaceableEvent(e.hex,$e.Mutelist);if(r||(r=await Oe.fetchMuteListEvent(e.hex)),!r)return null;let o=[];if(r.pubkey===this.deps.currentUserPubkey&&r.content)try{const s=`mute:${r.id}`;let a=await At.getDecryptedContent(s);a||(a=await this.deps.decrypt(r.content,r.pubkey),await At.putDecryptedContent(s,a)),o=JSON.parse(a)}catch{}return eke(r,o)}async save(e){const n=e.toPrivateTags();let r="";if(n.length>0){const a=JSON.stringify(n);r=await this.deps.encrypt(a,this.deps.currentUserPubkey)}const o=e.toDraftEvent(r),s=await this.deps.publish(o);if(await At.putReplaceableEvent(s),r){const a=`mute:${s.id}`;await At.putDecryptedContent(a,JSON.stringify(n))}}}class dle{constructor(e){this.deps=e}async findByOwner(e){let r=await At.getReplaceableEvent(e.hex,gt.PINNED_USERS);if(r||(r=await Oe.fetchPinnedUsersList(e.hex)),!r)return null;const o=J3e(r);if(!o)return null;if(r.pubkey===this.deps.currentUserPubkey&&r.content)try{const s=`pinned:${r.id}`;let a=await At.getDecryptedContent(s);a||(a=await this.deps.decrypt(r.content,r.pubkey),await At.putDecryptedContent(s,a));const i=JSON.parse(a);o.setPrivatePins(i)}catch{}return o}async save(e){const n=e.toPrivateTags();let r="";if(n.length>0){const a=JSON.stringify(n);r=await this.deps.encrypt(a,this.deps.currentUserPubkey)}e.setEncryptedContent(r);const o=e.toDraftEvent(),s=await this.deps.publish(o);if(await At.putReplaceableEvent(s),r){const a=`pinned:${s.id}`;await At.putDecryptedContent(a,JSON.stringify(n))}}async saveAndGetEvent(e){const n=e.toPrivateTags();let r="";if(n.length>0){const a=JSON.stringify(n);r=await this.deps.encrypt(a,this.deps.currentUserPubkey)}e.setEncryptedContent(r);const o=e.toDraftEvent(),s=await this.deps.publish(o);if(await At.putReplaceableEvent(s),r){const a=`pinned:${s.id}`;await At.putDecryptedContent(a,JSON.stringify(n))}return{event:s,privateTags:n}}}const ple=h.createContext(void 0),Gg=()=>{const t=h.useContext(ple);if(!t)throw new Error("useFollowList must be used within a FollowListProvider");return t};function ZFe({children:t}){const{t:e}=Ke(),{pubkey:n,publish:r}=wt(),[o,s]=h.useState(null),[a,i]=h.useState(!1),l=h.useMemo(()=>r?new ule({publish:r}):null,[r]),u=h.useMemo(()=>o?X3e(o):new Set,[o]);h.useEffect(()=>{(async()=>{if(!n||!l){s(null);return}i(!0);try{const g=Vt.tryFromString(n);if(!g){s(null);return}const w=await l.findByOwner(g);s(w)}catch(g){console.error("Failed to load follow list:",g),s(null)}finally{i(!1)}})()},[n,l]);const d=h.useCallback(async m=>{if(!n||!l)return;const g=Vt.tryFromString(n),w=Vt.tryFromString(m);if(!(!g||!w))try{const b=await l.findByOwner(g);if(!b&&!confirm(e("FollowListNotFoundConfirmation")))return;const j=b??D0.empty(g);if(j.follow(w).type==="no_change")return;await l.save(j),s(j)}catch(b){if(b instanceof hee)return;throw console.error("Failed to follow:",b),b}},[n,l,e]),f=h.useCallback(async m=>{if(!n||!l)return;const g=Vt.tryFromString(n),w=Vt.tryFromString(m);if(!(!g||!w))try{const b=await l.findByOwner(g);if(!b||b.unfollow(w).type==="no_change")return;await l.save(b),s(b)}catch(b){throw console.error("Failed to unfollow:",b),b}},[n,l]);return c.jsx(ple.Provider,{value:{followingSet:u,followList:o,isLoading:a,follow:d,unfollow:f},children:t})}function AL({pubkey:t}){const{t:e}=Ke(),{pubkey:n,checkLogin:r}=wt(),{followingSet:o,follow:s,unfollow:a}=Gg(),[i,l]=h.useState(!1),[u,d]=h.useState(!1),f=h.useMemo(()=>o.has(t),[o,t]);if(!n||t&&t===n)return null;const m=async w=>{w.stopPropagation(),r(async()=>{if(!f){l(!0);try{await s(t)}catch(b){on.error(e("Follow failed")+": "+b.message)}finally{l(!1)}}})},g=async w=>{w.stopPropagation(),r(async()=>{if(f){l(!0);try{await a(t)}catch(b){on.error(e("Unfollow failed")+": "+b.message)}finally{l(!1)}}})};return f?c.jsx("div",{onClick:w=>w.stopPropagation(),children:c.jsxs(cf,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Pe,{className:"rounded-full min-w-28",variant:u?"destructive":"secondary",disabled:i,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:i?c.jsx(_r,{className:"animate-spin"}):e(u?"Unfollow":"buttonFollowing")})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsxs(su,{children:[e("Unfollow"),"?"]}),c.jsx(au,{children:e("Are you sure you want to unfollow this user?")})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:e("Cancel")}),c.jsx(uf,{onClick:g,variant:"destructive",children:e("Unfollow")})]})]})]})}):c.jsx(Pe,{className:"rounded-full min-w-28",onClick:m,disabled:i,children:i?c.jsx(_r,{className:"animate-spin"}):e("Follow")})}var U3={exports:{}},QFe=U3.exports,OY;function JFe(){return OY||(OY=1,(function(t){(function(e,n){t.exports?t.exports=n():e.UriTemplate=n()})(QFe,function(){var e={"+":!0,"#":!0,".":!0,"/":!0,";":!0,"?":!0,"&":!0},n={"*":!0};function r(i){return encodeURI(i).replace(/%25[0-9][0-9]/g,function(l){return"%"+l.substring(3)})}function o(i){return i=i.replace(/%../g,""),encodeURIComponent(i)===i}function s(i){var l="";e[i.charAt(0)]&&(l=i.charAt(0),i=i.substring(1));var u="",d="",f=!0,m=!1,g=!1;l=="+"?f=!1:l=="."?(d=".",u="."):l=="/"?(d="/",u="/"):l=="#"?(d="#",f=!1):l==";"?(d=";",u=";",m=!0,g=!0):l=="?"?(d="?",u="&",m=!0):l=="&"&&(d="&",u="&",m=!0);for(var w=[],b=i.split(","),j=[],S={},I=0;I<b.length;I++){var N=b[I],M=null;if(N.indexOf(":")!=-1){var D=N.split(":");N=D[0],M=parseInt(D[1])}for(var P={};n[N.charAt(N.length-1)];)P[N.charAt(N.length-1)]=!0,N=N.substring(0,N.length-1);var L={truncate:M,name:N,suffices:P};j.push(L),S[N]=L,w.push(N)}var F=function(R){for(var z="",G=0,Z=0;Z<j.length;Z++){var W=j[Z],U=R(W.name);if(U==null||Array.isArray(U)&&U.length==0||typeof U=="object"&&Object.keys(U).length==0){G++;continue}if(Z==G?z+=d:z+=u||",",Array.isArray(U)){m&&(z+=W.name+"=");for(var ee=0;ee<U.length;ee++)ee>0&&(z+=W.suffices["*"]&&u||",",W.suffices["*"]&&m&&(z+=W.name+"=")),z+=f?encodeURIComponent(U[ee]).replace(/!/g,"%21"):r(U[ee])}else if(typeof U=="object"){m&&!W.suffices["*"]&&(z+=W.name+"=");var $=!0;for(var H in U)$||(z+=W.suffices["*"]&&u||","),$=!1,z+=f?encodeURIComponent(H).replace(/!/g,"%21"):r(H),z+=W.suffices["*"]?"=":",",z+=f?encodeURIComponent(U[H]).replace(/!/g,"%21"):r(U[H])}else m&&(z+=W.name,(!g||U!="")&&(z+="=")),W.truncate!=null&&(U=U.substring(0,W.truncate)),z+=f?encodeURIComponent(U).replace(/!/g,"%21"):r(U)}return z},T=function(R,z,G){if(d&&(R=R.substring(d.length)),j.length==1&&j[0].suffices["*"]){for(var Z=j[0],W=Z.name,U=Z.suffices["*"]?R.split(u||","):[R],ee=f&&R.indexOf("=")!=-1,$=1;$<U.length;$++){var R=U[$];ee&&R.indexOf("=")==-1&&(U[$-1]+=(u||",")+R,U.splice($,1),$--)}for(var $=0;$<U.length;$++){var R=U[$];f&&R.indexOf("=")!=-1&&(ee=!0);var H=R.split(",");H.length==1?U[$]=H[0]:U[$]=H}if(m||ee){for(var Y=z[W]||{},q=0;q<U.length;q++){var J=R;if(!(m&&!J)){if(typeof U[q]=="string"){var R=U[q],ne=R.split("=",1)[0],R=R.substring(ne.length+1);if(f){if(G&&!o(R))return;R=decodeURIComponent(R)}J=R}else{var R=U[q][0],ne=R.split("=",1)[0],R=R.substring(ne.length+1);if(f){if(G&&!o(R))return;R=decodeURIComponent(R)}U[q][0]=R,J=U[q]}if(f){if(G&&!o(ne))return;ne=decodeURIComponent(ne)}Y[ne]!==void 0?Array.isArray(Y[ne])?Y[ne].push(J):Y[ne]=[Y[ne],J]:Y[ne]=J}}Object.keys(Y).length==1&&Y[W]!==void 0?z[W]=Y[W]:z[W]=Y}else{if(f)for(var q=0;q<U.length;q++){var H=U[q];if(Array.isArray(H))for(var re=0;re<H.length;re++){if(G&&!o(H[re]))return;H[re]=decodeURIComponent(H[re])}else{if(G&&!o(H))return;U[q]=decodeURIComponent(H)}}z[W]!==void 0?Array.isArray(z[W])?z[W]=z[W].concat(U):z[W]=[z[W]].concat(U):U.length==1&&!Z.suffices["*"]?z[W]=U[0]:z[W]=U}}else{for(var U=j.length==1?[R]:R.split(u||","),de={},$=0;$<U.length;$++){for(var Ee=0;Ee<j.length-1&&Ee<$&&!j[Ee].suffices["*"];Ee++);if(Ee==$){de[$]=$;continue}else{for(var we=j.length-1;we>0&&j.length-we<U.length-$&&!j[we].suffices["*"];we--);if(j.length-we==U.length-$){de[$]=we;continue}}de[$]=Ee}for(var $=0;$<U.length;$++){var R=U[$];if(!(!R&&m)){var H=R.split(","),ee=!1;if(m){var R=H[0],W=R.split("=",1)[0],R=R.substring(W.length+1);H[0]=R;var Z=S[W]||j[0]}else var Z=j[de[$]],W=Z.name;for(var q=0;q<H.length;q++)if(f){if(G&&!o(H[q]))return;H[q]=decodeURIComponent(H[q])}(m||Z.suffices["*"])&&z[W]!==void 0?Array.isArray(z[W])?z[W]=z[W].concat(H):z[W]=[z[W]].concat(H):H.length==1&&!Z.suffices["*"]?z[W]=H[0]:z[W]=H}}}return 1};return{varNames:w,prefix:d,substitution:F,unSubstitution:T}}function a(i){if(!(this instanceof a))return new a(i);for(var l=i.split("{"),u=[l.shift()],d=[],f=[],m=[],g=[];l.length>0;){var w=l.shift(),b=w.split("}")[0],j=w.substring(b.length+1),S=s(b);f.push(S.substitution),m.push(S.unSubstitution),d.push(S.prefix),u.push(j),g=g.concat(S.varNames)}this.fill=function(I){if(I&&typeof I!="function"){var N=I;I=function(L){return N[L]}}for(var M=u[0],D=0;D<f.length;D++){var P=f[D];M+=P(I),M+=u[D+1]}return M},this.fromUri=function(I,N){N=N||{};for(var M={},D=0;D<u.length;D++){var P=u[D];if(I.substring(0,P.length)!==P)return;if(I=I.substring(P.length),D>=u.length-1){if(I=="")break;return}var L=d[D];if(!(L&&I.substring(0,L.length)!==L)){for(var F=u[D+1],T=D;;){if(T==u.length-2){var R=I.substring(I.length-F.length);if(R!==F)return;var z=I.substring(0,I.length-F.length);I=R}else if(F){var G=I.indexOf(F),z=I.substring(0,G);I=I.substring(G)}else if(d[T+1]){var G=I.indexOf(d[T+1]);G===-1&&(G=I.length);var z=I.substring(0,G);I=I.substring(G)}else if(u.length>T+2){T++,F=u[T+1];continue}else{var z=I;I=""}break}if(!m[D](z,M,N.strict))return}}return M},this.varNames=g,this.template=i}return a.prototype={toString:function(){return this.template},fillFromObject:function(i){return this.fill(i)},test:function(i,l){return!!this.fromUri(i,l)}},a})})(U3)),U3.exports}var XFe=JFe();const eBe=tc(XFe);function tBe(t,e){const n=new URL(e);return eBe(t).fill({href:n.href,origin:n.origin,protocol:n.protocol,username:n.username,password:n.password,host:n.host,hostname:n.hostname,port:n.port,pathname:n.pathname,hash:n.hash,search:n.search})}const hle=h.createContext(void 0),Qr=()=>{const t=h.useContext(hle);if(!t)throw new Error("useContentPolicy must be used within an ContentPolicyProvider");return t};function nBe({children:t}){var T;const[e,n]=h.useState(Ze.getAutoplay()),[r,o]=h.useState(Ze.getNsfwDisplayPolicy()),[s,a]=h.useState(Ze.getHideContentMentioningMutedUsers()),[i,l]=h.useState(Ze.getMediaAutoLoadPolicy()),[u,d]=h.useState(Ze.getFaviconUrlTemplate()),[f,m]=h.useState(Ze.getVerboseLogging()),[g,w]=h.useState(Ze.getEnableMarkdown()),[b,j]=h.useState((T=navigator.connection)==null?void 0:T.type);h.useEffect(()=>{const R=navigator.connection;if(!R){j(void 0);return}const z=()=>{j(R.type)};return R.addEventListener("change",z),()=>{R.removeEventListener("change",z)}},[]);const S=h.useMemo(()=>i===Yu.ALWAYS?!0:i===Yu.NEVER?!1:b==="wifi"||b==="ethernet",[i,b]),I=R=>{Ze.setAutoplay(R),n(R),cr()},N=R=>{Ze.setNsfwDisplayPolicy(R),o(R),cr()},M=R=>{Ze.setHideContentMentioningMutedUsers(R),a(R),cr()},D=R=>{Ze.setMediaAutoLoadPolicy(R),l(R),cr()},P=R=>{Ze.setFaviconUrlTemplate(R),d(R),cr()},L=R=>{Ze.setVerboseLogging(R),m(R),cr()},F=R=>{Ze.setEnableMarkdown(R),w(R),cr()};return c.jsx(hle.Provider,{value:{autoplay:e,setAutoplay:I,nsfwDisplayPolicy:r,setNsfwDisplayPolicy:N,hideContentMentioningMutedUsers:s,setHideContentMentioningMutedUsers:M,autoLoadMedia:S,mediaAutoLoadPolicy:i,setMediaAutoLoadPolicy:D,faviconUrlTemplate:u,setFaviconUrlTemplate:P,verboseLogging:f,setVerboseLogging:L,enableMarkdown:g,setEnableMarkdown:F},children:t})}function _L({domain:t,className:e,fallback:n=null}){const{faviconUrlTemplate:r}=Qr(),[o,s]=h.useState(!0),[a,i]=h.useState(!1);if(a)return n;const l=tBe(r,`https://${t}`);return c.jsxs("div",{className:Te("relative",e),children:[o&&c.jsx("div",{className:Te("absolute inset-0",e),children:n}),c.jsx("img",{src:l,alt:t,className:Te("absolute inset-0",o&&"opacity-0",e),onError:()=>i(!0),onLoad:()=>s(!1)})]})}function uc({pubkey:t,append:e}){const{profile:n}=ua(t),{nip05IsVerified:r,nip05Name:o,nip05Domain:s,isFetching:a}=Vze(n==null?void 0:n.nip05,t);return a?c.jsx("div",{className:"flex items-center py-1",children:c.jsx(Dn,{className:"h-3 w-16"})}):!(n!=null&&n.nip05)||!o||!s?null:c.jsxs("div",{className:"flex items-center gap-1 truncate [&_svg]:!size-3.5 [&_svg]:shrink-0",onClick:i=>i.stopPropagation(),children:[o!=="_"?c.jsxs("span",{className:"text-sm text-muted-foreground truncate",children:["@",o]}):null,r?c.jsx(_L,{domain:s,className:"w-3.5 h-3.5 rounded-full",fallback:c.jsx(p7e,{className:"text-primary"})}):c.jsx(d7e,{className:"text-muted-foreground"}),c.jsx(Xl,{to:OS({domain:s}),className:`hover:underline truncate text-sm ${r?"text-primary":"text-muted-foreground"}`,children:s}),e&&c.jsx("span",{className:"text-sm text-muted-foreground truncate",children:e})]})}var $3={exports:{}},rBe=$3.exports,zY;function oBe(){return zY||(zY=1,(function(t,e){(function(n,r){t.exports=r()})(rBe,(()=>(()=>{var n={873:(a,i)=>{var l,u,d=(function(){var f=function(W,U){var ee=W,$=S[U],H=null,Y=0,q=null,J=[],ne={},re=function(le,ye){H=(function(ve){for(var Ie=new Array(ve),Ve=0;Ve<ve;Ve+=1){Ie[Ve]=new Array(ve);for(var Qe=0;Qe<ve;Qe+=1)Ie[Ve][Qe]=null}return Ie})(Y=4*ee+17),de(0,0),de(Y-7,0),de(0,Y-7),we(),Ee(),ce(le,ye),ee>=7&&xe(le),q==null&&(q=he(ee,$,J)),pe(q,ye)},de=function(le,ye){for(var ve=-1;ve<=7;ve+=1)if(!(le+ve<=-1||Y<=le+ve))for(var Ie=-1;Ie<=7;Ie+=1)ye+Ie<=-1||Y<=ye+Ie||(H[le+ve][ye+Ie]=0<=ve&&ve<=6&&(Ie==0||Ie==6)||0<=Ie&&Ie<=6&&(ve==0||ve==6)||2<=ve&&ve<=4&&2<=Ie&&Ie<=4)},Ee=function(){for(var le=8;le<Y-8;le+=1)H[le][6]==null&&(H[le][6]=le%2==0);for(var ye=8;ye<Y-8;ye+=1)H[6][ye]==null&&(H[6][ye]=ye%2==0)},we=function(){for(var le=I.getPatternPosition(ee),ye=0;ye<le.length;ye+=1)for(var ve=0;ve<le.length;ve+=1){var Ie=le[ye],Ve=le[ve];if(H[Ie][Ve]==null)for(var Qe=-2;Qe<=2;Qe+=1)for(var nt=-2;nt<=2;nt+=1)H[Ie+Qe][Ve+nt]=Qe==-2||Qe==2||nt==-2||nt==2||Qe==0&&nt==0}},xe=function(le){for(var ye=I.getBCHTypeNumber(ee),ve=0;ve<18;ve+=1){var Ie=!le&&(ye>>ve&1)==1;H[Math.floor(ve/3)][ve%3+Y-8-3]=Ie}for(ve=0;ve<18;ve+=1)Ie=!le&&(ye>>ve&1)==1,H[ve%3+Y-8-3][Math.floor(ve/3)]=Ie},ce=function(le,ye){for(var ve=$<<3|ye,Ie=I.getBCHTypeInfo(ve),Ve=0;Ve<15;Ve+=1){var Qe=!le&&(Ie>>Ve&1)==1;Ve<6?H[Ve][8]=Qe:Ve<8?H[Ve+1][8]=Qe:H[Y-15+Ve][8]=Qe}for(Ve=0;Ve<15;Ve+=1)Qe=!le&&(Ie>>Ve&1)==1,Ve<8?H[8][Y-Ve-1]=Qe:Ve<9?H[8][15-Ve-1+1]=Qe:H[8][15-Ve-1]=Qe;H[Y-8][8]=!le},pe=function(le,ye){for(var ve=-1,Ie=Y-1,Ve=7,Qe=0,nt=I.getMaskFunction(ye),Ue=Y-1;Ue>0;Ue-=2)for(Ue==6&&(Ue-=1);;){for(var qe=0;qe<2;qe+=1)if(H[Ie][Ue-qe]==null){var _e=!1;Qe<le.length&&(_e=(le[Qe]>>>Ve&1)==1),nt(Ie,Ue-qe)&&(_e=!_e),H[Ie][Ue-qe]=_e,(Ve-=1)==-1&&(Qe+=1,Ve=7)}if((Ie+=ve)<0||Y<=Ie){Ie-=ve,ve=-ve;break}}},he=function(le,ye,ve){for(var Ie=D.getRSBlocks(le,ye),Ve=P(),Qe=0;Qe<ve.length;Qe+=1){var nt=ve[Qe];Ve.put(nt.getMode(),4),Ve.put(nt.getLength(),I.getLengthInBits(nt.getMode(),le)),nt.write(Ve)}var Ue=0;for(Qe=0;Qe<Ie.length;Qe+=1)Ue+=Ie[Qe].dataCount;if(Ve.getLengthInBits()>8*Ue)throw"code length overflow. ("+Ve.getLengthInBits()+">"+8*Ue+")";for(Ve.getLengthInBits()+4<=8*Ue&&Ve.put(0,4);Ve.getLengthInBits()%8!=0;)Ve.putBit(!1);for(;!(Ve.getLengthInBits()>=8*Ue||(Ve.put(236,8),Ve.getLengthInBits()>=8*Ue));)Ve.put(17,8);return(function(qe,_e){for(var et=0,pt=0,ht=0,at=new Array(_e.length),De=new Array(_e.length),se=0;se<_e.length;se+=1){var K=_e[se].dataCount,Q=_e[se].totalCount-K;pt=Math.max(pt,K),ht=Math.max(ht,Q),at[se]=new Array(K);for(var ie=0;ie<at[se].length;ie+=1)at[se][ie]=255&qe.getBuffer()[ie+et];et+=K;var Se=I.getErrorCorrectPolynomial(Q),Me=M(at[se],Se.getLength()-1).mod(Se);for(De[se]=new Array(Se.getLength()-1),ie=0;ie<De[se].length;ie+=1){var Ce=ie+Me.getLength()-De[se].length;De[se][ie]=Ce>=0?Me.getAt(Ce):0}}var me=0;for(ie=0;ie<_e.length;ie+=1)me+=_e[ie].totalCount;var We=new Array(me),Xe=0;for(ie=0;ie<pt;ie+=1)for(se=0;se<_e.length;se+=1)ie<at[se].length&&(We[Xe]=at[se][ie],Xe+=1);for(ie=0;ie<ht;ie+=1)for(se=0;se<_e.length;se+=1)ie<De[se].length&&(We[Xe]=De[se][ie],Xe+=1);return We})(Ve,Ie)};ne.addData=function(le,ye){var ve=null;switch(ye=ye||"Byte"){case"Numeric":ve=L(le);break;case"Alphanumeric":ve=F(le);break;case"Byte":ve=T(le);break;case"Kanji":ve=R(le);break;default:throw"mode:"+ye}J.push(ve),q=null},ne.isDark=function(le,ye){if(le<0||Y<=le||ye<0||Y<=ye)throw le+","+ye;return H[le][ye]},ne.getModuleCount=function(){return Y},ne.make=function(){if(ee<1){for(var le=1;le<40;le++){for(var ye=D.getRSBlocks(le,$),ve=P(),Ie=0;Ie<J.length;Ie++){var Ve=J[Ie];ve.put(Ve.getMode(),4),ve.put(Ve.getLength(),I.getLengthInBits(Ve.getMode(),le)),Ve.write(ve)}var Qe=0;for(Ie=0;Ie<ye.length;Ie++)Qe+=ye[Ie].dataCount;if(ve.getLengthInBits()<=8*Qe)break}ee=le}re(!1,(function(){for(var nt=0,Ue=0,qe=0;qe<8;qe+=1){re(!0,qe);var _e=I.getLostPoint(ne);(qe==0||nt>_e)&&(nt=_e,Ue=qe)}return Ue})())},ne.createTableTag=function(le,ye){le=le||2;var ve="";ve+='<table style="',ve+=" border-width: 0px; border-style: none;",ve+=" border-collapse: collapse;",ve+=" padding: 0px; margin: "+(ye=ye===void 0?4*le:ye)+"px;",ve+='">',ve+="<tbody>";for(var Ie=0;Ie<ne.getModuleCount();Ie+=1){ve+="<tr>";for(var Ve=0;Ve<ne.getModuleCount();Ve+=1)ve+='<td style="',ve+=" border-width: 0px; border-style: none;",ve+=" border-collapse: collapse;",ve+=" padding: 0px; margin: 0px;",ve+=" width: "+le+"px;",ve+=" height: "+le+"px;",ve+=" background-color: ",ve+=ne.isDark(Ie,Ve)?"#000000":"#ffffff",ve+=";",ve+='"/>';ve+="</tr>"}return(ve+="</tbody>")+"</table>"},ne.createSvgTag=function(le,ye,ve,Ie){var Ve={};typeof arguments[0]=="object"&&(le=(Ve=arguments[0]).cellSize,ye=Ve.margin,ve=Ve.alt,Ie=Ve.title),le=le||2,ye=ye===void 0?4*le:ye,(ve=typeof ve=="string"?{text:ve}:ve||{}).text=ve.text||null,ve.id=ve.text?ve.id||"qrcode-description":null,(Ie=typeof Ie=="string"?{text:Ie}:Ie||{}).text=Ie.text||null,Ie.id=Ie.text?Ie.id||"qrcode-title":null;var Qe,nt,Ue,qe,_e=ne.getModuleCount()*le+2*ye,et="";for(qe="l"+le+",0 0,"+le+" -"+le+",0 0,-"+le+"z ",et+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',et+=Ve.scalable?"":' width="'+_e+'px" height="'+_e+'px"',et+=' viewBox="0 0 '+_e+" "+_e+'" ',et+=' preserveAspectRatio="xMinYMin meet"',et+=Ie.text||ve.text?' role="img" aria-labelledby="'+ke([Ie.id,ve.id].join(" ").trim())+'"':"",et+=">",et+=Ie.text?'<title id="'+ke(Ie.id)+'">'+ke(Ie.text)+"</title>":"",et+=ve.text?'<description id="'+ke(ve.id)+'">'+ke(ve.text)+"</description>":"",et+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',et+='<path d="',nt=0;nt<ne.getModuleCount();nt+=1)for(Ue=nt*le+ye,Qe=0;Qe<ne.getModuleCount();Qe+=1)ne.isDark(nt,Qe)&&(et+="M"+(Qe*le+ye)+","+Ue+qe);return(et+='" stroke="transparent" fill="black"/>')+"</svg>"},ne.createDataURL=function(le,ye){le=le||2,ye=ye===void 0?4*le:ye;var ve=ne.getModuleCount()*le+2*ye,Ie=ye,Ve=ve-ye;return Z(ve,ve,(function(Qe,nt){if(Ie<=Qe&&Qe<Ve&&Ie<=nt&&nt<Ve){var Ue=Math.floor((Qe-Ie)/le),qe=Math.floor((nt-Ie)/le);return ne.isDark(qe,Ue)?0:1}return 1}))},ne.createImgTag=function(le,ye,ve){le=le||2,ye=ye===void 0?4*le:ye;var Ie=ne.getModuleCount()*le+2*ye,Ve="";return Ve+="<img",Ve+=' src="',Ve+=ne.createDataURL(le,ye),Ve+='"',Ve+=' width="',Ve+=Ie,Ve+='"',Ve+=' height="',Ve+=Ie,Ve+='"',ve&&(Ve+=' alt="',Ve+=ke(ve),Ve+='"'),Ve+"/>"};var ke=function(le){for(var ye="",ve=0;ve<le.length;ve+=1){var Ie=le.charAt(ve);switch(Ie){case"<":ye+="<";break;case">":ye+=">";break;case"&":ye+="&";break;case'"':ye+=""";break;default:ye+=Ie}}return ye};return ne.createASCII=function(le,ye){if((le=le||1)<2)return(function(at){at=at===void 0?2:at;var De,se,K,Q,ie,Se=1*ne.getModuleCount()+2*at,Me=at,Ce=Se-at,me={"██":"█","█ ":"▀"," █":"▄"," ":" "},We={"██":"▀","█ ":"▀"," █":" "," ":" "},Xe="";for(De=0;De<Se;De+=2){for(K=Math.floor((De-Me)/1),Q=Math.floor((De+1-Me)/1),se=0;se<Se;se+=1)ie="█",Me<=se&&se<Ce&&Me<=De&&De<Ce&&ne.isDark(K,Math.floor((se-Me)/1))&&(ie=" "),Me<=se&&se<Ce&&Me<=De+1&&De+1<Ce&&ne.isDark(Q,Math.floor((se-Me)/1))?ie+=" ":ie+="█",Xe+=at<1&&De+1>=Ce?We[ie]:me[ie];Xe+=`
2047 `}return Se%2&&at>0?Xe.substring(0,Xe.length-Se-1)+Array(Se+1).join("▀"):Xe.substring(0,Xe.length-1)})(ye);le-=1,ye=ye===void 0?2*le:ye;var ve,Ie,Ve,Qe,nt=ne.getModuleCount()*le+2*ye,Ue=ye,qe=nt-ye,_e=Array(le+1).join("██"),et=Array(le+1).join(" "),pt="",ht="";for(ve=0;ve<nt;ve+=1){for(Ve=Math.floor((ve-Ue)/le),ht="",Ie=0;Ie<nt;Ie+=1)Qe=1,Ue<=Ie&&Ie<qe&&Ue<=ve&&ve<qe&&ne.isDark(Ve,Math.floor((Ie-Ue)/le))&&(Qe=0),ht+=Qe?_e:et;for(Ve=0;Ve<le;Ve+=1)pt+=ht+`
2048 `}return pt.substring(0,pt.length-1)},ne.renderTo2dContext=function(le,ye){ye=ye||2;for(var ve=ne.getModuleCount(),Ie=0;Ie<ve;Ie++)for(var Ve=0;Ve<ve;Ve++)le.fillStyle=ne.isDark(Ie,Ve)?"black":"white",le.fillRect(Ie*ye,Ve*ye,ye,ye)},ne};f.stringToBytes=(f.stringToBytesFuncs={default:function(W){for(var U=[],ee=0;ee<W.length;ee+=1){var $=W.charCodeAt(ee);U.push(255&$)}return U}}).default,f.createStringToBytes=function(W,U){var ee=(function(){for(var H=G(W),Y=function(){var Ee=H.read();if(Ee==-1)throw"eof";return Ee},q=0,J={};;){var ne=H.read();if(ne==-1)break;var re=Y(),de=Y()<<8|Y();J[String.fromCharCode(ne<<8|re)]=de,q+=1}if(q!=U)throw q+" != "+U;return J})(),$=63;return function(H){for(var Y=[],q=0;q<H.length;q+=1){var J=H.charCodeAt(q);if(J<128)Y.push(J);else{var ne=ee[H.charAt(q)];typeof ne=="number"?(255&ne)==ne?Y.push(ne):(Y.push(ne>>>8),Y.push(255&ne)):Y.push($)}}return Y}};var m,g,w,b,j,S={L:1,M:0,Q:3,H:2},I=(m=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],g=1335,w=7973,j=function(W){for(var U=0;W!=0;)U+=1,W>>>=1;return U},(b={}).getBCHTypeInfo=function(W){for(var U=W<<10;j(U)-j(g)>=0;)U^=g<<j(U)-j(g);return 21522^(W<<10|U)},b.getBCHTypeNumber=function(W){for(var U=W<<12;j(U)-j(w)>=0;)U^=w<<j(U)-j(w);return W<<12|U},b.getPatternPosition=function(W){return m[W-1]},b.getMaskFunction=function(W){switch(W){case 0:return function(U,ee){return(U+ee)%2==0};case 1:return function(U,ee){return U%2==0};case 2:return function(U,ee){return ee%3==0};case 3:return function(U,ee){return(U+ee)%3==0};case 4:return function(U,ee){return(Math.floor(U/2)+Math.floor(ee/3))%2==0};case 5:return function(U,ee){return U*ee%2+U*ee%3==0};case 6:return function(U,ee){return(U*ee%2+U*ee%3)%2==0};case 7:return function(U,ee){return(U*ee%3+(U+ee)%2)%2==0};default:throw"bad maskPattern:"+W}},b.getErrorCorrectPolynomial=function(W){for(var U=M([1],0),ee=0;ee<W;ee+=1)U=U.multiply(M([1,N.gexp(ee)],0));return U},b.getLengthInBits=function(W,U){if(1<=U&&U<10)switch(W){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw"mode:"+W}else if(U<27)switch(W){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw"mode:"+W}else{if(!(U<41))throw"type:"+U;switch(W){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw"mode:"+W}}},b.getLostPoint=function(W){for(var U=W.getModuleCount(),ee=0,$=0;$<U;$+=1)for(var H=0;H<U;H+=1){for(var Y=0,q=W.isDark($,H),J=-1;J<=1;J+=1)if(!($+J<0||U<=$+J))for(var ne=-1;ne<=1;ne+=1)H+ne<0||U<=H+ne||J==0&&ne==0||q==W.isDark($+J,H+ne)&&(Y+=1);Y>5&&(ee+=3+Y-5)}for($=0;$<U-1;$+=1)for(H=0;H<U-1;H+=1){var re=0;W.isDark($,H)&&(re+=1),W.isDark($+1,H)&&(re+=1),W.isDark($,H+1)&&(re+=1),W.isDark($+1,H+1)&&(re+=1),re!=0&&re!=4||(ee+=3)}for($=0;$<U;$+=1)for(H=0;H<U-6;H+=1)W.isDark($,H)&&!W.isDark($,H+1)&&W.isDark($,H+2)&&W.isDark($,H+3)&&W.isDark($,H+4)&&!W.isDark($,H+5)&&W.isDark($,H+6)&&(ee+=40);for(H=0;H<U;H+=1)for($=0;$<U-6;$+=1)W.isDark($,H)&&!W.isDark($+1,H)&&W.isDark($+2,H)&&W.isDark($+3,H)&&W.isDark($+4,H)&&!W.isDark($+5,H)&&W.isDark($+6,H)&&(ee+=40);var de=0;for(H=0;H<U;H+=1)for($=0;$<U;$+=1)W.isDark($,H)&&(de+=1);return ee+Math.abs(100*de/U/U-50)/5*10},b),N=(function(){for(var W=new Array(256),U=new Array(256),ee=0;ee<8;ee+=1)W[ee]=1<<ee;for(ee=8;ee<256;ee+=1)W[ee]=W[ee-4]^W[ee-5]^W[ee-6]^W[ee-8];for(ee=0;ee<255;ee+=1)U[W[ee]]=ee;return{glog:function($){if($<1)throw"glog("+$+")";return U[$]},gexp:function($){for(;$<0;)$+=255;for(;$>=256;)$-=255;return W[$]}}})();function M(W,U){if(W.length===void 0)throw W.length+"/"+U;var ee=(function(){for(var H=0;H<W.length&&W[H]==0;)H+=1;for(var Y=new Array(W.length-H+U),q=0;q<W.length-H;q+=1)Y[q]=W[q+H];return Y})(),$={getAt:function(H){return ee[H]},getLength:function(){return ee.length},multiply:function(H){for(var Y=new Array($.getLength()+H.getLength()-1),q=0;q<$.getLength();q+=1)for(var J=0;J<H.getLength();J+=1)Y[q+J]^=N.gexp(N.glog($.getAt(q))+N.glog(H.getAt(J)));return M(Y,0)},mod:function(H){if($.getLength()-H.getLength()<0)return $;for(var Y=N.glog($.getAt(0))-N.glog(H.getAt(0)),q=new Array($.getLength()),J=0;J<$.getLength();J+=1)q[J]=$.getAt(J);for(J=0;J<H.getLength();J+=1)q[J]^=N.gexp(N.glog(H.getAt(J))+Y);return M(q,0).mod(H)}};return $}var D=(function(){var W=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],U=function($,H){var Y={};return Y.totalCount=$,Y.dataCount=H,Y},ee={getRSBlocks:function($,H){var Y=(function(xe,ce){switch(ce){case S.L:return W[4*(xe-1)+0];case S.M:return W[4*(xe-1)+1];case S.Q:return W[4*(xe-1)+2];case S.H:return W[4*(xe-1)+3];default:return}})($,H);if(Y===void 0)throw"bad rs block @ typeNumber:"+$+"/errorCorrectionLevel:"+H;for(var q=Y.length/3,J=[],ne=0;ne<q;ne+=1)for(var re=Y[3*ne+0],de=Y[3*ne+1],Ee=Y[3*ne+2],we=0;we<re;we+=1)J.push(U(de,Ee));return J}};return ee})(),P=function(){var W=[],U=0,ee={getBuffer:function(){return W},getAt:function($){var H=Math.floor($/8);return(W[H]>>>7-$%8&1)==1},put:function($,H){for(var Y=0;Y<H;Y+=1)ee.putBit(($>>>H-Y-1&1)==1)},getLengthInBits:function(){return U},putBit:function($){var H=Math.floor(U/8);W.length<=H&&W.push(0),$&&(W[H]|=128>>>U%8),U+=1}};return ee},L=function(W){var U=W,ee={getMode:function(){return 1},getLength:function(Y){return U.length},write:function(Y){for(var q=U,J=0;J+2<q.length;)Y.put($(q.substring(J,J+3)),10),J+=3;J<q.length&&(q.length-J==1?Y.put($(q.substring(J,J+1)),4):q.length-J==2&&Y.put($(q.substring(J,J+2)),7))}},$=function(Y){for(var q=0,J=0;J<Y.length;J+=1)q=10*q+H(Y.charAt(J));return q},H=function(Y){if("0"<=Y&&Y<="9")return Y.charCodeAt(0)-48;throw"illegal char :"+Y};return ee},F=function(W){var U=W,ee={getMode:function(){return 2},getLength:function(H){return U.length},write:function(H){for(var Y=U,q=0;q+1<Y.length;)H.put(45*$(Y.charAt(q))+$(Y.charAt(q+1)),11),q+=2;q<Y.length&&H.put($(Y.charAt(q)),6)}},$=function(H){if("0"<=H&&H<="9")return H.charCodeAt(0)-48;if("A"<=H&&H<="Z")return H.charCodeAt(0)-65+10;switch(H){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+H}};return ee},T=function(W){var U=f.stringToBytes(W);return{getMode:function(){return 4},getLength:function(ee){return U.length},write:function(ee){for(var $=0;$<U.length;$+=1)ee.put(U[$],8)}}},R=function(W){var U=f.stringToBytesFuncs.SJIS;if(!U)throw"sjis not supported.";(function(){var H=U("友");if(H.length!=2||(H[0]<<8|H[1])!=38726)throw"sjis not supported."})();var ee=U(W),$={getMode:function(){return 8},getLength:function(H){return~~(ee.length/2)},write:function(H){for(var Y=ee,q=0;q+1<Y.length;){var J=(255&Y[q])<<8|255&Y[q+1];if(33088<=J&&J<=40956)J-=33088;else{if(!(57408<=J&&J<=60351))throw"illegal char at "+(q+1)+"/"+J;J-=49472}J=192*(J>>>8&255)+(255&J),H.put(J,13),q+=2}if(q<Y.length)throw"illegal char at "+(q+1)}};return $},z=function(){var W=[],U={writeByte:function(ee){W.push(255&ee)},writeShort:function(ee){U.writeByte(ee),U.writeByte(ee>>>8)},writeBytes:function(ee,$,H){$=$||0,H=H||ee.length;for(var Y=0;Y<H;Y+=1)U.writeByte(ee[Y+$])},writeString:function(ee){for(var $=0;$<ee.length;$+=1)U.writeByte(ee.charCodeAt($))},toByteArray:function(){return W},toString:function(){var ee="";ee+="[";for(var $=0;$<W.length;$+=1)$>0&&(ee+=","),ee+=W[$];return ee+"]"}};return U},G=function(W){var U=W,ee=0,$=0,H=0,Y={read:function(){for(;H<8;){if(ee>=U.length){if(H==0)return-1;throw"unexpected end of file./"+H}var J=U.charAt(ee);if(ee+=1,J=="=")return H=0,-1;J.match(/^\s$/)||($=$<<6|q(J.charCodeAt(0)),H+=6)}var ne=$>>>H-8&255;return H-=8,ne}},q=function(J){if(65<=J&&J<=90)return J-65;if(97<=J&&J<=122)return J-97+26;if(48<=J&&J<=57)return J-48+52;if(J==43)return 62;if(J==47)return 63;throw"c:"+J};return Y},Z=function(W,U,ee){for(var $=(function(de,Ee){var we=de,xe=Ee,ce=new Array(de*Ee),pe={setPixel:function(le,ye,ve){ce[ye*we+le]=ve},write:function(le){le.writeString("GIF87a"),le.writeShort(we),le.writeShort(xe),le.writeByte(128),le.writeByte(0),le.writeByte(0),le.writeByte(0),le.writeByte(0),le.writeByte(0),le.writeByte(255),le.writeByte(255),le.writeByte(255),le.writeString(","),le.writeShort(0),le.writeShort(0),le.writeShort(we),le.writeShort(xe),le.writeByte(0);var ye=he(2);le.writeByte(2);for(var ve=0;ye.length-ve>255;)le.writeByte(255),le.writeBytes(ye,ve,255),ve+=255;le.writeByte(ye.length-ve),le.writeBytes(ye,ve,ye.length-ve),le.writeByte(0),le.writeString(";")}},he=function(le){for(var ye=1<<le,ve=1+(1<<le),Ie=le+1,Ve=ke(),Qe=0;Qe<ye;Qe+=1)Ve.add(String.fromCharCode(Qe));Ve.add(String.fromCharCode(ye)),Ve.add(String.fromCharCode(ve));var nt,Ue,qe,_e=z(),et=(nt=_e,Ue=0,qe=0,{write:function(De,se){if(De>>>se)throw"length over";for(;Ue+se>=8;)nt.writeByte(255&(De<<Ue|qe)),se-=8-Ue,De>>>=8-Ue,qe=0,Ue=0;qe|=De<<Ue,Ue+=se},flush:function(){Ue>0&&nt.writeByte(qe)}});et.write(ye,Ie);var pt=0,ht=String.fromCharCode(ce[pt]);for(pt+=1;pt<ce.length;){var at=String.fromCharCode(ce[pt]);pt+=1,Ve.contains(ht+at)?ht+=at:(et.write(Ve.indexOf(ht),Ie),Ve.size()<4095&&(Ve.size()==1<<Ie&&(Ie+=1),Ve.add(ht+at)),ht=at)}return et.write(Ve.indexOf(ht),Ie),et.write(ve,Ie),et.flush(),_e.toByteArray()},ke=function(){var le={},ye=0,ve={add:function(Ie){if(ve.contains(Ie))throw"dup key:"+Ie;le[Ie]=ye,ye+=1},size:function(){return ye},indexOf:function(Ie){return le[Ie]},contains:function(Ie){return le[Ie]!==void 0}};return ve};return pe})(W,U),H=0;H<U;H+=1)for(var Y=0;Y<W;Y+=1)$.setPixel(Y,H,ee(Y,H));var q=z();$.write(q);for(var J=(function(){var de=0,Ee=0,we=0,xe="",ce={},pe=function(ke){xe+=String.fromCharCode(he(63&ke))},he=function(ke){if(!(ke<0)){if(ke<26)return 65+ke;if(ke<52)return ke-26+97;if(ke<62)return ke-52+48;if(ke==62)return 43;if(ke==63)return 47}throw"n:"+ke};return ce.writeByte=function(ke){for(de=de<<8|255&ke,Ee+=8,we+=1;Ee>=6;)pe(de>>>Ee-6),Ee-=6},ce.flush=function(){if(Ee>0&&(pe(de<<6-Ee),de=0,Ee=0),we%3!=0)for(var ke=3-we%3,le=0;le<ke;le+=1)xe+="="},ce.toString=function(){return xe},ce})(),ne=q.toByteArray(),re=0;re<ne.length;re+=1)J.writeByte(ne[re]);return J.flush(),"data:image/gif;base64,"+J};return f})();d.stringToBytesFuncs["UTF-8"]=function(f){return(function(m){for(var g=[],w=0;w<m.length;w++){var b=m.charCodeAt(w);b<128?g.push(b):b<2048?g.push(192|b>>6,128|63&b):b<55296||b>=57344?g.push(224|b>>12,128|b>>6&63,128|63&b):(w++,b=65536+((1023&b)<<10|1023&m.charCodeAt(w)),g.push(240|b>>18,128|b>>12&63,128|b>>6&63,128|63&b))}return g})(f)},(u=typeof(l=function(){return d})=="function"?l.apply(i,[]):l)===void 0||(a.exports=u)}},r={};function o(a){var i=r[a];if(i!==void 0)return i.exports;var l=r[a]={exports:{}};return n[a](l,l.exports,o),l.exports}o.n=a=>{var i=a&&a.__esModule?()=>a.default:()=>a;return o.d(i,{a:i}),i},o.d=(a,i)=>{for(var l in i)o.o(i,l)&&!o.o(a,l)&&Object.defineProperty(a,l,{enumerable:!0,get:i[l]})},o.o=(a,i)=>Object.prototype.hasOwnProperty.call(a,i);var s={};return(()=>{o.d(s,{default:()=>U});const a=ee=>!!ee&&typeof ee=="object"&&!Array.isArray(ee);function i(ee,...$){if(!$.length)return ee;const H=$.shift();return H!==void 0&&a(ee)&&a(H)?(ee=Object.assign({},ee),Object.keys(H).forEach((Y=>{const q=ee[Y],J=H[Y];Array.isArray(q)&&Array.isArray(J)?ee[Y]=J:a(q)&&a(J)?ee[Y]=i(Object.assign({},q),J):ee[Y]=J})),i(ee,...$)):ee}function l(ee,$){const H=document.createElement("a");H.download=$,H.href=ee,document.body.appendChild(H),H.click(),document.body.removeChild(H)}const u={L:.07,M:.15,Q:.25,H:.3};class d{constructor({svg:$,type:H,window:Y}){this._svg=$,this._type=H,this._window=Y}draw($,H,Y,q){let J;switch(this._type){case"dots":J=this._drawDot;break;case"classy":J=this._drawClassy;break;case"classy-rounded":J=this._drawClassyRounded;break;case"rounded":J=this._drawRounded;break;case"extra-rounded":J=this._drawExtraRounded;break;default:J=this._drawSquare}J.call(this,{x:$,y:H,size:Y,getNeighbor:q})}_rotateFigure({x:$,y:H,size:Y,rotation:q=0,draw:J}){var ne;const re=$+Y/2,de=H+Y/2;J(),(ne=this._element)===null||ne===void 0||ne.setAttribute("transform",`rotate(${180*q/Math.PI},${re},${de})`)}_basicDot($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",String(Y+H/2)),this._element.setAttribute("cy",String(q+H/2)),this._element.setAttribute("r",String(H/2))}}))}_basicSquare($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",String(Y)),this._element.setAttribute("y",String(q)),this._element.setAttribute("width",String(H)),this._element.setAttribute("height",String(H))}}))}_basicSideRounded($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${Y} ${q}v ${H}h `+H/2+`a ${H/2} ${H/2}, 0, 0, 0, 0 ${-H}`)}}))}_basicCornerRounded($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${Y} ${q}v ${H}h ${H}v `+-H/2+`a ${H/2} ${H/2}, 0, 0, 0, ${-H/2} ${-H/2}`)}}))}_basicCornerExtraRounded($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${Y} ${q}v ${H}h ${H}a ${H} ${H}, 0, 0, 0, ${-H} ${-H}`)}}))}_basicCornersRounded($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${Y} ${q}v `+H/2+`a ${H/2} ${H/2}, 0, 0, 0, ${H/2} ${H/2}h `+H/2+"v "+-H/2+`a ${H/2} ${H/2}, 0, 0, 0, ${-H/2} ${-H/2}`)}}))}_drawDot({x:$,y:H,size:Y}){this._basicDot({x:$,y:H,size:Y,rotation:0})}_drawSquare({x:$,y:H,size:Y}){this._basicSquare({x:$,y:H,size:Y,rotation:0})}_drawRounded({x:$,y:H,size:Y,getNeighbor:q}){const J=q?+q(-1,0):0,ne=q?+q(1,0):0,re=q?+q(0,-1):0,de=q?+q(0,1):0,Ee=J+ne+re+de;if(Ee!==0)if(Ee>2||J&&ne||re&&de)this._basicSquare({x:$,y:H,size:Y,rotation:0});else{if(Ee===2){let we=0;return J&&re?we=Math.PI/2:re&&ne?we=Math.PI:ne&&de&&(we=-Math.PI/2),void this._basicCornerRounded({x:$,y:H,size:Y,rotation:we})}if(Ee===1){let we=0;return re?we=Math.PI/2:ne?we=Math.PI:de&&(we=-Math.PI/2),void this._basicSideRounded({x:$,y:H,size:Y,rotation:we})}}else this._basicDot({x:$,y:H,size:Y,rotation:0})}_drawExtraRounded({x:$,y:H,size:Y,getNeighbor:q}){const J=q?+q(-1,0):0,ne=q?+q(1,0):0,re=q?+q(0,-1):0,de=q?+q(0,1):0,Ee=J+ne+re+de;if(Ee!==0)if(Ee>2||J&&ne||re&&de)this._basicSquare({x:$,y:H,size:Y,rotation:0});else{if(Ee===2){let we=0;return J&&re?we=Math.PI/2:re&&ne?we=Math.PI:ne&&de&&(we=-Math.PI/2),void this._basicCornerExtraRounded({x:$,y:H,size:Y,rotation:we})}if(Ee===1){let we=0;return re?we=Math.PI/2:ne?we=Math.PI:de&&(we=-Math.PI/2),void this._basicSideRounded({x:$,y:H,size:Y,rotation:we})}}else this._basicDot({x:$,y:H,size:Y,rotation:0})}_drawClassy({x:$,y:H,size:Y,getNeighbor:q}){const J=q?+q(-1,0):0,ne=q?+q(1,0):0,re=q?+q(0,-1):0,de=q?+q(0,1):0;J+ne+re+de!==0?J||re?ne||de?this._basicSquare({x:$,y:H,size:Y,rotation:0}):this._basicCornerRounded({x:$,y:H,size:Y,rotation:Math.PI/2}):this._basicCornerRounded({x:$,y:H,size:Y,rotation:-Math.PI/2}):this._basicCornersRounded({x:$,y:H,size:Y,rotation:Math.PI/2})}_drawClassyRounded({x:$,y:H,size:Y,getNeighbor:q}){const J=q?+q(-1,0):0,ne=q?+q(1,0):0,re=q?+q(0,-1):0,de=q?+q(0,1):0;J+ne+re+de!==0?J||re?ne||de?this._basicSquare({x:$,y:H,size:Y,rotation:0}):this._basicCornerExtraRounded({x:$,y:H,size:Y,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:$,y:H,size:Y,rotation:-Math.PI/2}):this._basicCornersRounded({x:$,y:H,size:Y,rotation:Math.PI/2})}}const f={dot:"dot",square:"square",extraRounded:"extra-rounded"},m=Object.values(f);class g{constructor({svg:$,type:H,window:Y}){this._svg=$,this._type=H,this._window=Y}draw($,H,Y,q){let J;switch(this._type){case f.square:J=this._drawSquare;break;case f.extraRounded:J=this._drawExtraRounded;break;default:J=this._drawDot}J.call(this,{x:$,y:H,size:Y,rotation:q})}_rotateFigure({x:$,y:H,size:Y,rotation:q=0,draw:J}){var ne;const re=$+Y/2,de=H+Y/2;J(),(ne=this._element)===null||ne===void 0||ne.setAttribute("transform",`rotate(${180*q/Math.PI},${re},${de})`)}_basicDot($){const{size:H,x:Y,y:q}=$,J=H/7;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${Y+H/2} ${q}a ${H/2} ${H/2} 0 1 0 0.1 0zm 0 ${J}a ${H/2-J} ${H/2-J} 0 1 1 -0.1 0Z`)}}))}_basicSquare($){const{size:H,x:Y,y:q}=$,J=H/7;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${Y} ${q}v ${H}h ${H}v `+-H+`zM ${Y+J} ${q+J}h `+(H-2*J)+"v "+(H-2*J)+"h "+(2*J-H)+"z")}}))}_basicExtraRounded($){const{size:H,x:Y,y:q}=$,J=H/7;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${Y} ${q+2.5*J}v `+2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*J} ${2.5*J}h `+2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*J} ${2.5*-J}v `+-2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*-J} ${2.5*-J}h `+-2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*-J} ${2.5*J}M ${Y+2.5*J} ${q+J}h `+2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*J} ${1.5*J}v `+2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*-J} ${1.5*J}h `+-2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*-J} ${1.5*-J}v `+-2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*J} ${1.5*-J}`)}}))}_drawDot({x:$,y:H,size:Y,rotation:q}){this._basicDot({x:$,y:H,size:Y,rotation:q})}_drawSquare({x:$,y:H,size:Y,rotation:q}){this._basicSquare({x:$,y:H,size:Y,rotation:q})}_drawExtraRounded({x:$,y:H,size:Y,rotation:q}){this._basicExtraRounded({x:$,y:H,size:Y,rotation:q})}}const w={dot:"dot",square:"square"},b=Object.values(w);class j{constructor({svg:$,type:H,window:Y}){this._svg=$,this._type=H,this._window=Y}draw($,H,Y,q){let J;J=this._type===w.square?this._drawSquare:this._drawDot,J.call(this,{x:$,y:H,size:Y,rotation:q})}_rotateFigure({x:$,y:H,size:Y,rotation:q=0,draw:J}){var ne;const re=$+Y/2,de=H+Y/2;J(),(ne=this._element)===null||ne===void 0||ne.setAttribute("transform",`rotate(${180*q/Math.PI},${re},${de})`)}_basicDot($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",String(Y+H/2)),this._element.setAttribute("cy",String(q+H/2)),this._element.setAttribute("r",String(H/2))}}))}_basicSquare($){const{size:H,x:Y,y:q}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",String(Y)),this._element.setAttribute("y",String(q)),this._element.setAttribute("width",String(H)),this._element.setAttribute("height",String(H))}}))}_drawDot({x:$,y:H,size:Y,rotation:q}){this._basicDot({x:$,y:H,size:Y,rotation:q})}_drawSquare({x:$,y:H,size:Y,rotation:q}){this._basicSquare({x:$,y:H,size:Y,rotation:q})}}const S="circle",I=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],N=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];class M{constructor($,H){this._roundSize=Y=>this._options.dotsOptions.roundSize?Math.floor(Y):Y,this._window=H,this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("width",String($.width)),this._element.setAttribute("height",String($.height)),this._element.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),$.dotsOptions.roundSize||this._element.setAttribute("shape-rendering","crispEdges"),this._element.setAttribute("viewBox",`0 0 ${$.width} ${$.height}`),this._defs=this._window.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this._defs),this._imageUri=$.image,this._instanceId=M.instanceCount++,this._options=$}get width(){return this._options.width}get height(){return this._options.height}getElement(){return this._element}async drawQR($){const H=$.getModuleCount(),Y=Math.min(this._options.width,this._options.height)-2*this._options.margin,q=this._options.shape===S?Y/Math.sqrt(2):Y,J=this._roundSize(q/H);let ne={hideXDots:0,hideYDots:0,width:0,height:0};if(this._qr=$,this._options.image){if(await this.loadImage(),!this._image)return;const{imageOptions:re,qrOptions:de}=this._options,Ee=re.imageSize*u[de.errorCorrectionLevel],we=Math.floor(Ee*H*H);ne=(function({originalHeight:xe,originalWidth:ce,maxHiddenDots:pe,maxHiddenAxisDots:he,dotSize:ke}){const le={x:0,y:0},ye={x:0,y:0};if(xe<=0||ce<=0||pe<=0||ke<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};const ve=xe/ce;return le.x=Math.floor(Math.sqrt(pe/ve)),le.x<=0&&(le.x=1),he&&he<le.x&&(le.x=he),le.x%2==0&&le.x--,ye.x=le.x*ke,le.y=1+2*Math.ceil((le.x*ve-1)/2),ye.y=Math.round(ye.x*ve),(le.y*le.x>pe||he&&he<le.y)&&(he&&he<le.y?(le.y=he,le.y%2==0&&le.x--):le.y-=2,ye.y=le.y*ke,le.x=1+2*Math.ceil((le.y/ve-1)/2),ye.x=Math.round(ye.y/ve)),{height:ye.y,width:ye.x,hideYDots:le.y,hideXDots:le.x}})({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:we,maxHiddenAxisDots:H-14,dotSize:J})}this.drawBackground(),this.drawDots(((re,de)=>{var Ee,we,xe,ce,pe,he;return!(this._options.imageOptions.hideBackgroundDots&&re>=(H-ne.hideYDots)/2&&re<(H+ne.hideYDots)/2&&de>=(H-ne.hideXDots)/2&&de<(H+ne.hideXDots)/2||!((Ee=I[re])===null||Ee===void 0)&&Ee[de]||!((we=I[re-H+7])===null||we===void 0)&&we[de]||!((xe=I[re])===null||xe===void 0)&&xe[de-H+7]||!((ce=N[re])===null||ce===void 0)&&ce[de]||!((pe=N[re-H+7])===null||pe===void 0)&&pe[de]||!((he=N[re])===null||he===void 0)&&he[de-H+7])})),this.drawCorners(),this._options.image&&await this.drawImage({width:ne.width,height:ne.height,count:H,dotSize:J})}drawBackground(){var $,H,Y;const q=this._element,J=this._options;if(q){const ne=($=J.backgroundOptions)===null||$===void 0?void 0:$.gradient,re=(H=J.backgroundOptions)===null||H===void 0?void 0:H.color;let de=J.height,Ee=J.width;if(ne||re){const we=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect");this._backgroundClipPath=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._backgroundClipPath.setAttribute("id",`clip-path-background-color-${this._instanceId}`),this._defs.appendChild(this._backgroundClipPath),!((Y=J.backgroundOptions)===null||Y===void 0)&&Y.round&&(de=Ee=Math.min(J.width,J.height),we.setAttribute("rx",String(de/2*J.backgroundOptions.round))),we.setAttribute("x",String(this._roundSize((J.width-Ee)/2))),we.setAttribute("y",String(this._roundSize((J.height-de)/2))),we.setAttribute("width",String(Ee)),we.setAttribute("height",String(de)),this._backgroundClipPath.appendChild(we),this._createColor({options:ne,color:re,additionalRotation:0,x:0,y:0,height:J.height,width:J.width,name:`background-color-${this._instanceId}`})}}}drawDots($){var H,Y;if(!this._qr)throw"QR code is not defined";const q=this._options,J=this._qr.getModuleCount();if(J>q.width||J>q.height)throw"The canvas is too small.";const ne=Math.min(q.width,q.height)-2*q.margin,re=q.shape===S?ne/Math.sqrt(2):ne,de=this._roundSize(re/J),Ee=this._roundSize((q.width-J*de)/2),we=this._roundSize((q.height-J*de)/2),xe=new d({svg:this._element,type:q.dotsOptions.type,window:this._window});this._dotsClipPath=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._dotsClipPath.setAttribute("id",`clip-path-dot-color-${this._instanceId}`),this._defs.appendChild(this._dotsClipPath),this._createColor({options:(H=q.dotsOptions)===null||H===void 0?void 0:H.gradient,color:q.dotsOptions.color,additionalRotation:0,x:0,y:0,height:q.height,width:q.width,name:`dot-color-${this._instanceId}`});for(let ce=0;ce<J;ce++)for(let pe=0;pe<J;pe++)$&&!$(ce,pe)||!((Y=this._qr)===null||Y===void 0)&&Y.isDark(ce,pe)&&(xe.draw(Ee+pe*de,we+ce*de,de,((he,ke)=>!(pe+he<0||ce+ke<0||pe+he>=J||ce+ke>=J)&&!($&&!$(ce+ke,pe+he))&&!!this._qr&&this._qr.isDark(ce+ke,pe+he))),xe._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(xe._element));if(q.shape===S){const ce=this._roundSize((ne/de-J)/2),pe=J+2*ce,he=Ee-ce*de,ke=we-ce*de,le=[],ye=this._roundSize(pe/2);for(let ve=0;ve<pe;ve++){le[ve]=[];for(let Ie=0;Ie<pe;Ie++)ve>=ce-1&&ve<=pe-ce&&Ie>=ce-1&&Ie<=pe-ce||Math.sqrt((ve-ye)*(ve-ye)+(Ie-ye)*(Ie-ye))>ye?le[ve][Ie]=0:le[ve][Ie]=this._qr.isDark(Ie-2*ce<0?Ie:Ie>=J?Ie-2*ce:Ie-ce,ve-2*ce<0?ve:ve>=J?ve-2*ce:ve-ce)?1:0}for(let ve=0;ve<pe;ve++)for(let Ie=0;Ie<pe;Ie++)le[ve][Ie]&&(xe.draw(he+Ie*de,ke+ve*de,de,((Ve,Qe)=>{var nt;return!!(!((nt=le[ve+Qe])===null||nt===void 0)&&nt[Ie+Ve])})),xe._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(xe._element))}}drawCorners(){if(!this._qr)throw"QR code is not defined";const $=this._element,H=this._options;if(!$)throw"Element code is not defined";const Y=this._qr.getModuleCount(),q=Math.min(H.width,H.height)-2*H.margin,J=H.shape===S?q/Math.sqrt(2):q,ne=this._roundSize(J/Y),re=7*ne,de=3*ne,Ee=this._roundSize((H.width-Y*ne)/2),we=this._roundSize((H.height-Y*ne)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([xe,ce,pe])=>{var he,ke,le,ye,ve,Ie,Ve,Qe,nt,Ue,qe,_e,et,pt;const ht=Ee+xe*ne*(Y-7),at=we+ce*ne*(Y-7);let De=this._dotsClipPath,se=this._dotsClipPath;if((!((he=H.cornersSquareOptions)===null||he===void 0)&&he.gradient||!((ke=H.cornersSquareOptions)===null||ke===void 0)&&ke.color)&&(De=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),De.setAttribute("id",`clip-path-corners-square-color-${xe}-${ce}-${this._instanceId}`),this._defs.appendChild(De),this._cornersSquareClipPath=this._cornersDotClipPath=se=De,this._createColor({options:(le=H.cornersSquareOptions)===null||le===void 0?void 0:le.gradient,color:(ye=H.cornersSquareOptions)===null||ye===void 0?void 0:ye.color,additionalRotation:pe,x:ht,y:at,height:re,width:re,name:`corners-square-color-${xe}-${ce}-${this._instanceId}`})),((ve=H.cornersSquareOptions)===null||ve===void 0?void 0:ve.type)&&m.includes(H.cornersSquareOptions.type)){const K=new g({svg:this._element,type:H.cornersSquareOptions.type,window:this._window});K.draw(ht,at,re,pe),K._element&&De&&De.appendChild(K._element)}else{const K=new d({svg:this._element,type:((Ie=H.cornersSquareOptions)===null||Ie===void 0?void 0:Ie.type)||H.dotsOptions.type,window:this._window});for(let Q=0;Q<I.length;Q++)for(let ie=0;ie<I[Q].length;ie++)!((Ve=I[Q])===null||Ve===void 0)&&Ve[ie]&&(K.draw(ht+ie*ne,at+Q*ne,ne,((Se,Me)=>{var Ce;return!!(!((Ce=I[Q+Me])===null||Ce===void 0)&&Ce[ie+Se])})),K._element&&De&&De.appendChild(K._element))}if((!((Qe=H.cornersDotOptions)===null||Qe===void 0)&&Qe.gradient||!((nt=H.cornersDotOptions)===null||nt===void 0)&&nt.color)&&(se=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),se.setAttribute("id",`clip-path-corners-dot-color-${xe}-${ce}-${this._instanceId}`),this._defs.appendChild(se),this._cornersDotClipPath=se,this._createColor({options:(Ue=H.cornersDotOptions)===null||Ue===void 0?void 0:Ue.gradient,color:(qe=H.cornersDotOptions)===null||qe===void 0?void 0:qe.color,additionalRotation:pe,x:ht+2*ne,y:at+2*ne,height:de,width:de,name:`corners-dot-color-${xe}-${ce}-${this._instanceId}`})),((_e=H.cornersDotOptions)===null||_e===void 0?void 0:_e.type)&&b.includes(H.cornersDotOptions.type)){const K=new j({svg:this._element,type:H.cornersDotOptions.type,window:this._window});K.draw(ht+2*ne,at+2*ne,de,pe),K._element&&se&&se.appendChild(K._element)}else{const K=new d({svg:this._element,type:((et=H.cornersDotOptions)===null||et===void 0?void 0:et.type)||H.dotsOptions.type,window:this._window});for(let Q=0;Q<N.length;Q++)for(let ie=0;ie<N[Q].length;ie++)!((pt=N[Q])===null||pt===void 0)&&pt[ie]&&(K.draw(ht+ie*ne,at+Q*ne,ne,((Se,Me)=>{var Ce;return!!(!((Ce=N[Q+Me])===null||Ce===void 0)&&Ce[ie+Se])})),K._element&&se&&se.appendChild(K._element))}}))}loadImage(){return new Promise((($,H)=>{var Y;const q=this._options;if(!q.image)return H("Image is not defined");if(!((Y=q.nodeCanvas)===null||Y===void 0)&&Y.loadImage)q.nodeCanvas.loadImage(q.image).then((J=>{var ne,re;if(this._image=J,this._options.imageOptions.saveAsBlob){const de=(ne=q.nodeCanvas)===null||ne===void 0?void 0:ne.createCanvas(this._image.width,this._image.height);(re=de==null?void 0:de.getContext("2d"))===null||re===void 0||re.drawImage(J,0,0),this._imageUri=de==null?void 0:de.toDataURL()}$()})).catch(H);else{const J=new this._window.Image;typeof q.imageOptions.crossOrigin=="string"&&(J.crossOrigin=q.imageOptions.crossOrigin),this._image=J,J.onload=async()=>{this._options.imageOptions.saveAsBlob&&(this._imageUri=await(async function(ne,re){return new Promise((de=>{const Ee=new re.XMLHttpRequest;Ee.onload=function(){const we=new re.FileReader;we.onloadend=function(){de(we.result)},we.readAsDataURL(Ee.response)},Ee.open("GET",ne),Ee.responseType="blob",Ee.send()}))})(q.image||"",this._window)),$()},J.src=q.image}}))}async drawImage({width:$,height:H,count:Y,dotSize:q}){const J=this._options,ne=this._roundSize((J.width-Y*q)/2),re=this._roundSize((J.height-Y*q)/2),de=ne+this._roundSize(J.imageOptions.margin+(Y*q-$)/2),Ee=re+this._roundSize(J.imageOptions.margin+(Y*q-H)/2),we=$-2*J.imageOptions.margin,xe=H-2*J.imageOptions.margin,ce=this._window.document.createElementNS("http://www.w3.org/2000/svg","image");ce.setAttribute("href",this._imageUri||""),ce.setAttribute("xlink:href",this._imageUri||""),ce.setAttribute("x",String(de)),ce.setAttribute("y",String(Ee)),ce.setAttribute("width",`${we}px`),ce.setAttribute("height",`${xe}px`),this._element.appendChild(ce)}_createColor({options:$,color:H,additionalRotation:Y,x:q,y:J,height:ne,width:re,name:de}){const Ee=re>ne?re:ne,we=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect");if(we.setAttribute("x",String(q)),we.setAttribute("y",String(J)),we.setAttribute("height",String(ne)),we.setAttribute("width",String(re)),we.setAttribute("clip-path",`url('#clip-path-${de}')`),$){let xe;if($.type==="radial")xe=this._window.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),xe.setAttribute("id",de),xe.setAttribute("gradientUnits","userSpaceOnUse"),xe.setAttribute("fx",String(q+re/2)),xe.setAttribute("fy",String(J+ne/2)),xe.setAttribute("cx",String(q+re/2)),xe.setAttribute("cy",String(J+ne/2)),xe.setAttribute("r",String(Ee/2));else{const ce=(($.rotation||0)+Y)%(2*Math.PI),pe=(ce+2*Math.PI)%(2*Math.PI);let he=q+re/2,ke=J+ne/2,le=q+re/2,ye=J+ne/2;pe>=0&&pe<=.25*Math.PI||pe>1.75*Math.PI&&pe<=2*Math.PI?(he-=re/2,ke-=ne/2*Math.tan(ce),le+=re/2,ye+=ne/2*Math.tan(ce)):pe>.25*Math.PI&&pe<=.75*Math.PI?(ke-=ne/2,he-=re/2/Math.tan(ce),ye+=ne/2,le+=re/2/Math.tan(ce)):pe>.75*Math.PI&&pe<=1.25*Math.PI?(he+=re/2,ke+=ne/2*Math.tan(ce),le-=re/2,ye-=ne/2*Math.tan(ce)):pe>1.25*Math.PI&&pe<=1.75*Math.PI&&(ke+=ne/2,he+=re/2/Math.tan(ce),ye-=ne/2,le-=re/2/Math.tan(ce)),xe=this._window.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),xe.setAttribute("id",de),xe.setAttribute("gradientUnits","userSpaceOnUse"),xe.setAttribute("x1",String(Math.round(he))),xe.setAttribute("y1",String(Math.round(ke))),xe.setAttribute("x2",String(Math.round(le))),xe.setAttribute("y2",String(Math.round(ye)))}$.colorStops.forEach((({offset:ce,color:pe})=>{const he=this._window.document.createElementNS("http://www.w3.org/2000/svg","stop");he.setAttribute("offset",100*ce+"%"),he.setAttribute("stop-color",pe),xe.appendChild(he)})),we.setAttribute("fill",`url('#${de}')`),this._defs.appendChild(xe)}else H&&we.setAttribute("fill",H);this._element.appendChild(we)}}M.instanceCount=0;const D=M,P="canvas",L={};for(let ee=0;ee<=40;ee++)L[ee]=ee;const F={type:P,shape:"square",width:300,height:300,data:"",margin:0,qrOptions:{typeNumber:L[0],mode:void 0,errorCorrectionLevel:"Q"},imageOptions:{saveAsBlob:!0,hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:"square",color:"#000",roundSize:!0},backgroundOptions:{round:0,color:"#fff"}};function T(ee){const $=Object.assign({},ee);if(!$.colorStops||!$.colorStops.length)throw"Field 'colorStops' is required in gradient";return $.rotation?$.rotation=Number($.rotation):$.rotation=0,$.colorStops=$.colorStops.map((H=>Object.assign(Object.assign({},H),{offset:Number(H.offset)}))),$}function R(ee){const $=Object.assign({},ee);return $.width=Number($.width),$.height=Number($.height),$.margin=Number($.margin),$.imageOptions=Object.assign(Object.assign({},$.imageOptions),{hideBackgroundDots:!!$.imageOptions.hideBackgroundDots,imageSize:Number($.imageOptions.imageSize),margin:Number($.imageOptions.margin)}),$.margin>Math.min($.width,$.height)&&($.margin=Math.min($.width,$.height)),$.dotsOptions=Object.assign({},$.dotsOptions),$.dotsOptions.gradient&&($.dotsOptions.gradient=T($.dotsOptions.gradient)),$.cornersSquareOptions&&($.cornersSquareOptions=Object.assign({},$.cornersSquareOptions),$.cornersSquareOptions.gradient&&($.cornersSquareOptions.gradient=T($.cornersSquareOptions.gradient))),$.cornersDotOptions&&($.cornersDotOptions=Object.assign({},$.cornersDotOptions),$.cornersDotOptions.gradient&&($.cornersDotOptions.gradient=T($.cornersDotOptions.gradient))),$.backgroundOptions&&($.backgroundOptions=Object.assign({},$.backgroundOptions),$.backgroundOptions.gradient&&($.backgroundOptions.gradient=T($.backgroundOptions.gradient))),$}var z=o(873),G=o.n(z);function Z(ee){if(!ee)throw new Error("Extension must be defined");ee[0]==="."&&(ee=ee.substring(1));const $={bmp:"image/bmp",gif:"image/gif",ico:"image/vnd.microsoft.icon",jpeg:"image/jpeg",jpg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp",pdf:"application/pdf"}[ee.toLowerCase()];if(!$)throw new Error(`Extension "${ee}" is not supported`);return $}class W{constructor($){$!=null&&$.jsdom?this._window=new $.jsdom("",{resources:"usable"}).window:this._window=window,this._options=$?R(i(F,$)):F,this.update()}static _clearContainer($){$&&($.innerHTML="")}_setupSvg(){if(!this._qr)return;const $=new D(this._options,this._window);this._svg=$.getElement(),this._svgDrawingPromise=$.drawQR(this._qr).then((()=>{var H;this._svg&&((H=this._extension)===null||H===void 0||H.call(this,$.getElement(),this._options))}))}_setupCanvas(){var $,H;this._qr&&(!(($=this._options.nodeCanvas)===null||$===void 0)&&$.createCanvas?(this._nodeCanvas=this._options.nodeCanvas.createCanvas(this._options.width,this._options.height),this._nodeCanvas.width=this._options.width,this._nodeCanvas.height=this._options.height):(this._domCanvas=document.createElement("canvas"),this._domCanvas.width=this._options.width,this._domCanvas.height=this._options.height),this._setupSvg(),this._canvasDrawingPromise=(H=this._svgDrawingPromise)===null||H===void 0?void 0:H.then((()=>{var Y;if(!this._svg)return;const q=this._svg,J=new this._window.XMLSerializer().serializeToString(q),ne=btoa(J),re=`data:${Z("svg")};base64,${ne}`;if(!((Y=this._options.nodeCanvas)===null||Y===void 0)&&Y.loadImage)return this._options.nodeCanvas.loadImage(re).then((de=>{var Ee,we;de.width=this._options.width,de.height=this._options.height,(we=(Ee=this._nodeCanvas)===null||Ee===void 0?void 0:Ee.getContext("2d"))===null||we===void 0||we.drawImage(de,0,0)}));{const de=new this._window.Image;return new Promise((Ee=>{de.onload=()=>{var we,xe;(xe=(we=this._domCanvas)===null||we===void 0?void 0:we.getContext("2d"))===null||xe===void 0||xe.drawImage(de,0,0),Ee()},de.src=re}))}})))}async _getElement($="png"){if(!this._qr)throw"QR code is empty";return $.toLowerCase()==="svg"?(this._svg&&this._svgDrawingPromise||this._setupSvg(),await this._svgDrawingPromise,this._svg):((this._domCanvas||this._nodeCanvas)&&this._canvasDrawingPromise||this._setupCanvas(),await this._canvasDrawingPromise,this._domCanvas||this._nodeCanvas)}update($){W._clearContainer(this._container),this._options=$?R(i(this._options,$)):this._options,this._options.data&&(this._qr=G()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||(function(H){switch(!0){case/^[0-9]*$/.test(H):return"Numeric";case/^[0-9A-Z $%*+\-./:]*$/.test(H):return"Alphanumeric";default:return"Byte"}})(this._options.data)),this._qr.make(),this._options.type===P?this._setupCanvas():this._setupSvg(),this.append(this._container))}append($){if($){if(typeof $.appendChild!="function")throw"Container should be a single DOM node";this._options.type===P?this._domCanvas&&$.appendChild(this._domCanvas):this._svg&&$.appendChild(this._svg),this._container=$}}applyExtension($){if(!$)throw"Extension function should be defined.";this._extension=$,this.update()}deleteExtension(){this._extension=void 0,this.update()}async getRawData($="png"){if(!this._qr)throw"QR code is empty";const H=await this._getElement($),Y=Z($);if(!H)return null;if($.toLowerCase()==="svg"){const q=`<?xml version="1.0" standalone="no"?>\r
2049 ${new this._window.XMLSerializer().serializeToString(H)}`;return typeof Blob>"u"||this._options.jsdom?Buffer.from(q):new Blob([q],{type:Y})}return new Promise((q=>{const J=H;if("toBuffer"in J)if(Y==="image/png")q(J.toBuffer(Y));else if(Y==="image/jpeg")q(J.toBuffer(Y));else{if(Y!=="application/pdf")throw Error("Unsupported extension");q(J.toBuffer(Y))}else"toBlob"in J&&J.toBlob(q,Y,1)}))}async download($){if(!this._qr)throw"QR code is empty";if(typeof Blob>"u")throw"Cannot download in Node.js, call getRawData instead.";let H="png",Y="qr";typeof $=="string"?(H=$,console.warn("Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument")):typeof $=="object"&&$!==null&&($.name&&(Y=$.name),$.extension&&(H=$.extension));const q=await this._getElement(H);if(q)if(H.toLowerCase()==="svg"){let J=new XMLSerializer().serializeToString(q);J=`<?xml version="1.0" standalone="no"?>\r
2050 `+J,l(`data:${Z(H)};charset=utf-8,${encodeURIComponent(J)}`,`${Y}.svg`)}else l(q.toDataURL(Z(H)),`${Y}.${H}`)}}const U=W})(),s.default})()))})($3)),$3.exports}var sBe=oBe();const aBe=tc(sBe),ML="/assets/smeshicondark-BEV431uX.png";function iBe({value:t,size:e=180}){const n=h.useRef(null);return h.useEffect(()=>(setTimeout(()=>{const r=window.devicePixelRatio||2,o=new aBe({qrOptions:{errorCorrectionLevel:"M"},image:ML,width:e*r,height:e*r,data:t,dotsOptions:{type:"extra-rounded"},cornersDotOptions:{type:"extra-rounded"},cornersSquareOptions:{type:"extra-rounded"}});if(n.current){n.current.innerHTML="",o.append(n.current);const s=n.current.querySelector("canvas");s&&(s.style.width=`${e}px`,s.style.height=`${e}px`,s.style.maxWidth="100%",s.style.height="auto")}},0),()=>{n.current&&(n.current.innerHTML="")}),[t,e]),c.jsx("div",{className:"rounded-2xl overflow-hidden p-2 bg-white",children:c.jsx("div",{ref:n})})}function BS({pubkey:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),[r,o]=h.useState(!1),s=h.useMemo(()=>{if(!t||!/^[0-9a-f]{64}$/i.test(t))return"";try{return jr.npubEncode(t)}catch{return""}},[t]),a=h.useCallback(()=>{navigator.clipboard.writeText(s),on.success(e("Copied npub to clipboard")),o(!1)},[s,e]);if(!s)return null;const i=c.jsx("button",{className:"bg-muted rounded-full h-5 w-5 flex flex-col items-center justify-center text-muted-foreground hover:text-foreground",onClick:u=>u.stopPropagation(),children:c.jsx(o2,{size:14})}),l=c.jsxs("div",{className:"w-full flex flex-col items-center gap-4 p-8",children:[c.jsxs("div",{className:"flex items-center w-full gap-2 pointer-events-none px-1",children:[c.jsx(Ro,{size:"big",userId:t}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{userId:t,className:"text-2xl font-semibold truncate",showQrCode:!1}),c.jsx(uc,{pubkey:t})]})]}),c.jsx("button",{onClick:a,className:"cursor-pointer hover:opacity-90 transition-opacity",title:e("Click to copy npub"),children:c.jsx(iBe,{size:512,value:`nostr:${s}`})}),c.jsx("div",{className:"text-sm text-muted-foreground",children:e("Click QR code to copy npub")})]});return n?c.jsxs(io,{open:r,onOpenChange:o,children:[c.jsx(Sh,{asChild:!0,children:i}),c.jsx(lo,{children:l})]}):c.jsxs(Ls,{open:r,onOpenChange:o,children:[c.jsx(ES,{asChild:!0,children:i}),c.jsx(gs,{className:"w-80 p-0 m-0",onOpenAutoFocus:u=>u.preventDefault(),children:l})]})}const US={type:"hashtag",regex:$3e},ux={type:"mention",regex:dee},$S={type:"event",regex:fee},RL={type:"websocket-url",regex:B3e},fx={type:"emoji",regex:U3e},lBe={type:"invoice",regex:V3e},tv=t=>{const e=t.matchAll(F3e),n=[];let r=0;for(const o of e){const s=o.index;s>r&&n.push({type:"text",data:t.slice(r,s)});const a=o[0];let i="url";Cke(a)?i="image":Ske(a)?i="media":a.match(H3e)?i="youtube":a.match(W3e)&&(i="x-post"),n.push({type:i,data:a}),r=s+a.length}return r<t.length&&n.push({type:"text",data:t.slice(r)}),n};function qg(t,e){if(!t)return[];let n=[{type:"text",data:t.trim()}];return e.forEach(r=>{n=n.flatMap(o=>{if(o.type!=="text")return[o];if(typeof r=="function")return r(o.data);const s=o.data.matchAll(r.regex),a=[];let i=0;for(const l of s){const u=l.index;u>i&&a.push({type:"text",data:o.data.slice(i,u)}),a.push({type:r.type,data:l[0]}),i=u+l[0].length}return i<o.data.length&&a.push({type:"text",data:o.data.slice(i)}),a}).filter(o=>o.data!=="")}),n=cBe(n),n=uBe(n),n=fBe(n),n}function cBe(t){const e=[];let n="";return t.forEach(r=>{r.type==="text"?n+=r.data:(n&&(e.push({type:"text",data:n}),n=""),e.push(r))}),n&&e.push({type:"text",data:n}),e}function uBe(t){const e=[];return t.forEach((n,r)=>{if(n.type==="image"){const o=e[e.length-1];o&&o.type==="images"?o.data.push(n.data):e.push({type:"images",data:[n.data]})}else if(n.type==="text"&&n.data.trim()===""){const o=e[e.length-1],s=t[r+1];if(o&&o.type==="images"&&s&&s.type==="image")return;e.push(n)}else e.push(n)}),e}function fBe(t){const e=r=>["image","images","video","event"].includes(r.type),n=[];return t.forEach((r,o)=>{if(e(r)){n.push(r);return}const s=t[o-1],a=t[o+1];let i=r.data;s&&e(s)&&(i=i.replace(/^[ ]*\n/,"")),a&&e(a)&&(i=i.replace(/\n[ ]*$/,"")),n.push({type:r.type,data:i})}),n}function VS({hashtag:t}){return c.jsx(Xl,{className:"text-primary hover:underline",to:OS({hashtag:t.replace("#","")}),onClick:e=>e.stopPropagation(),children:t})}function mle({invoice:t,className:e}){const{t:n}=Ke(),{checkLogin:r,pubkey:o}=wt(),[s,a]=h.useState(!1),{amount:i,description:l}=h.useMemo(()=>o5e(t),[t]),u=async()=>{try{if(!o)throw new Error("You need to be logged in to zap");if(a(!0),!await Km.payInvoice(t))return}catch(f){on.error(n("Lightning payment failed")+": "+f.message)}finally{a(!1)}},d=f=>{f.stopPropagation(),r(()=>u())};return c.jsxs("div",{className:Te("p-3 border rounded-lg cursor-default flex flex-col gap-3 max-w-sm",e),onClick:f=>f.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(lc,{className:"w-5 h-5 text-yellow-400"}),c.jsx("div",{className:"font-semibold text-sm",children:n("Lightning Invoice")})]}),l&&c.jsx("div",{className:"text-sm text-muted-foreground break-words",children:l}),c.jsxs("div",{className:"text-lg font-bold",children:[Y2(i)," ",n("sats")]}),c.jsxs(Pe,{onClick:d,children:[s&&c.jsx(_r,{className:"w-4 h-4 animate-spin"}),n("Pay")]})]})}function HS({userId:t,className:e}){return c.jsx(zs,{userId:t,showAt:!0,className:Te("text-primary font-normal inline",e),withoutSkeleton:!0})}function dBe({userId:t,className:e}){return c.jsx(od,{userId:t,showAt:!0,className:Te("inline",e),withoutSkeleton:!0})}const pBe={nosta:{name:"Nosta",getUrl:t=>`https://nosta.me/${t}`},snort:{name:"Snort",getUrl:t=>`https://snort.social/${t}`},olas:{name:"Olas",getUrl:t=>`https://olas.app/e/${t}`},primal:{name:"Primal",getUrl:t=>`https://primal.net/e/${t}`},nostrudel:{name:"Nostrudel",getUrl:t=>`https://nostrudel.ninja/l/${t}`},nostter:{name:"Nostter",getUrl:t=>`https://nostter.app/${t}`},coracle:{name:"Coracle",getUrl:t=>`https://coracle.social/${t}`},iris:{name:"Iris",getUrl:t=>`https://iris.to/${t}`},lumilumi:{name:"Lumilumi",getUrl:t=>`https://lumilumi.app/${t}`},zapStream:{name:"zap.stream",getUrl:t=>`https://zap.stream/${t}`},yakihonne:{name:"YakiHonne",getUrl:t=>`https://yakihonne.com/${t}`},habla:{name:"Habla",getUrl:t=>`https://habla.news/a/${t}`},pareto:{name:"Pareto",getUrl:t=>`https://pareto.space/a/${t}`},njump:{name:"Njump",getUrl:t=>`https://njump.me/${t}`}};function Ig({event:t,originalNoteId:e,...n}){const{isSmallScreen:r}=gn(),[o,s]=h.useState(!1),{t:a}=Ke(),i=h.useMemo(()=>{let d;if(t)d=t.kind;else if(e)try{const f=jr.decode(e);f.type==="naddr"&&(d=f.data.kind)}catch(f){return console.error("Failed to decode NIP-19 pointer:",f),["njump"]}if(!d)return["njump"];switch(d){case $e.LongFormArticle:case $e.DraftLong:return["yakihonne","coracle","habla","lumilumi","pareto","njump"];case $e.LiveEvent:return["zapStream","nostrudel","njump"];case $e.Date:case $e.Time:return["coracle","njump"];case $e.CommunityDefinition:return["coracle","snort","njump"];default:return["njump"]}},[t]);if(!e&&!t)return null;const l=c.jsxs("div",{className:"space-y-2",children:[(t==null?void 0:t.kind)===gt.GROUP_METADATA?c.jsx(hBe,{event:t,originalNoteId:e,setOpen:s}):i.map(d=>{const f=pBe[d];return f?c.jsx(gle,{onClick:()=>s(!1),href:f.getUrl(e??fg(t)),name:f.name},d):null}),c.jsx(ri,{}),c.jsx(Pe,{variant:"ghost",className:"w-full py-6 font-semibold",onClick:()=>{navigator.clipboard.writeText(e??fg(t)),s(!1)},children:a("Copy event ID")})]}),u=c.jsxs(Pe,{variant:"outline",...n,children:[c.jsx(of,{})," ",a("Open in another client")]});return r?c.jsx("div",{onClick:d=>d.stopPropagation(),children:c.jsxs(io,{open:o,onOpenChange:s,children:[c.jsx(Sh,{asChild:!0,children:u}),c.jsx(cc,{onClick:d=>{d.stopPropagation(),s(!1)}}),c.jsx(lo,{hideOverlay:!0,children:l})]})}):c.jsx("div",{onClick:d=>d.stopPropagation(),children:c.jsxs(Ls,{open:o,onOpenChange:s,children:[c.jsx(ES,{asChild:!0,children:u}),c.jsx(gs,{className:"px-8",onOpenAutoFocus:d=>d.preventDefault(),children:l})]})})}function hBe({event:t,originalNoteId:e,setOpen:n}){const{relay:r,id:o}=h.useMemo(()=>{var a;let s;if(e){const i=jr.decode(e);i.type==="naddr"&&((a=i.data.relays)!=null&&a.length)&&(s=i.data.relays[0])}return s||(s=Oe.getEventHint(t.id)),{relay:s,id:By(t)}},[t,e]);return c.jsx(gle,{onClick:()=>n(!1),href:mFe(r,o),name:"Chachi Chat"})}function gle({onClick:t,href:e,name:n}){return c.jsx(Pe,{asChild:!0,variant:"ghost",className:"w-full py-6 font-semibold",onClick:t,children:c.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:n})})}const yle=({children:t,open:e,onOpenChange:n,...r})=>{const[o,s]=h.useState(e??!1),a=h.useMemo(()=>`sheet-${yd()}`,[]);return h.useEffect(()=>{e?po.register(a,()=>{n==null||n(!1)}):po.unregister(a)},[e]),h.useEffect(()=>{e===void 0&&(o?po.register(a,()=>{s(!1)}):po.unregister(a))},[o]),c.jsx(gS,{open:e??o,onOpenChange:n??s,...r,children:t})},mBe=yS,vle=h.forwardRef(({className:t,...e},n)=>c.jsx(Ky,{className:Te("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));vle.displayName=Ky.displayName;const gBe=IS("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b rounded-b-xl data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t rounded-t-xl data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r rounded-r-xl data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l rounded-l-xl data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),TL=h.forwardRef(({side:t="right",className:e,children:n,hideClose:r=!1,...o},s)=>c.jsxs(mBe,{children:[c.jsx(vle,{}),c.jsxs(Zy,{ref:s,className:Te(gBe({side:t}),e),...o,children:[!r&&c.jsxs(J2,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[c.jsx(ia,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]}),n]})]}));TL.displayName=Zy.displayName;const wle=({className:t,...e})=>c.jsx("div",{className:Te("flex flex-col space-y-2 text-center sm:text-left",t),...e});wle.displayName="SheetHeader";const DL=h.forwardRef(({className:t,...e},n)=>c.jsx(Qy,{ref:n,className:Te("text-lg font-semibold text-foreground",t),...e}));DL.displayName=Qy.displayName;const LL=h.forwardRef(({className:t,...e},n)=>c.jsx(Jy,{ref:n,className:Te("text-sm text-muted-foreground",t),...e}));LL.displayName=Jy.displayName;function yBe(){const[t,e]=h.useState(()=>{var r;return((r=window.visualViewport)==null?void 0:r.height)??window.innerHeight}),n=h.useRef(0);return h.useEffect(()=>{const r=window.visualViewport;if(!r)return;const o=()=>{cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{e(r.height)})};return r.addEventListener("resize",o),o(),()=>{r.removeEventListener("resize",o),cancelAnimationFrame(n.current)}},[]),t}const j0=class j0 extends EventTarget{constructor(){super();je(this,"isSuggestionPopupOpen",!1);return j0.instance||(j0.instance=this),j0.instance}closeSuggestionPopup(){this.isSuggestionPopupOpen&&(this.isSuggestionPopupOpen=!1,this.dispatchEvent(new CustomEvent("closeSuggestionPopup")))}};je(j0,"instance");let G8=j0;const Ca=new G8;function V3(t){return t?!!(t.startsWith("nirc:request:")||t.startsWith("nirc:")):!1}const h0=new Map,vBe=1e3;function FY(t){return h0.get(t)}function T6(t,e){h0.size>=vBe&&Array.from(h0.keys()).slice(0,100).forEach(r=>h0.delete(r)),h0.set(t,e)}function wBe(){h0.clear()}async function bBe(t,e,n,r=10,o){const s=[],a=t.length;for(let i=0;i<t.length;i+=r){const l=t.slice(i,i+r),d=(await Promise.all(l.map(m=>Ac.decryptMessage(m,e,n)))).filter(m=>m!==null);s.push(...d);const f=Math.min((i+r)/a,1);o==null||o(d,f),i+r<t.length&&await new Promise(m=>setTimeout(m,0))}return s}const up=$e.EncryptedDirectMessage,BY=gt.PRIVATE_DM,UY=gt.SEAL,ww=gt.GIFT_WRAP,xBe=$e.Reaction,K1=15e3;function Z1(t,e){const n=new Promise(o=>{setTimeout(()=>o([]),e)}),r=t.catch(()=>[]);return Promise.race([r,n])}class kBe{async fetchDMEvents(e,n,r=500){const o=[...new Set(n)],s={kinds:[up],limit:r},[a,i,l]=await Promise.all([Z1(Oe.fetchEvents(o,{...s,"#p":[e]}),K1),Z1(Oe.fetchEvents(o,{...s,authors:[e]}),K1),Z1(Oe.fetchEvents(o,{kinds:[ww],"#p":[e],limit:r}),K1)]),u=[...a,...i,...l];return await Promise.all(u.map(d=>At.putDMEvent(d))),u}async fetchRecentDMEvents(e,n){return this.fetchDMEvents(e,n,100)}async fetchConversationEvents(e,n,r){const o=[...new Set(r)],s=await this.fetchPartnerInboxRelays(n),a=[...new Set([...r,...s])],[i,l,u]=await Promise.all([Z1(Oe.fetchEvents(o,{kinds:[up],authors:[n],"#p":[e],limit:500}),K1),Z1(Oe.fetchEvents(o,{kinds:[up],authors:[e],"#p":[n],limit:500}),K1),Z1(Oe.fetchEvents(a,{kinds:[ww],"#p":[e],limit:500}),K1)]),d=[...i,...l,...u];return await Promise.all(d.map(f=>At.putDMEvent(f))),d}async decryptMessage(e,n,r){try{if(e.kind===up){const o=FY(e.id);if(o)return this.buildDirectMessage(e,o,r,"nip04");const s=await At.getDecryptedContent(e.id);if(s)return T6(e.id,s),this.buildDirectMessage(e,s,r,"nip04");const a=this.getOtherPartyPubkey(e,r);if(!a)return null;const i=await n.nip04Decrypt(a,e.content);return T6(e.id,i),At.putDecryptedContent(e.id,i).catch(()=>{}),this.buildDirectMessage(e,i,r,"nip04")}else if(e.kind===ww){const o=FY(e.id);if(o)try{const d=JSON.parse(o);if(d.r==="__reaction__")return null;const f=Oe.getSeenEventRelayUrls(e.id);return{id:e.id,senderPubkey:d.s,recipientPubkey:d.r,content:d.c,createdAt:e.created_at,encryptionType:"nip17",event:e,decryptedContent:d.c,seenOnRelays:f.length>0?f:void 0}}catch{}const s=await At.getUnwrappedGiftWrap(e.id);if(s){if(s.recipientPubkey==="__reaction__")return null;T6(e.id,JSON.stringify({s:s.pubkey,r:s.recipientPubkey,c:s.content}));const d=Oe.getSeenEventRelayUrls(e.id);return{id:e.id,senderPubkey:s.pubkey,recipientPubkey:s.recipientPubkey,content:s.content,createdAt:s.createdAt,encryptionType:"nip17",event:e,decryptedContent:s.content,seenOnRelays:d.length>0?d:void 0}}const a=await this.unwrapGiftWrap(e,n);if(!a)return null;const i=a.innerEvent;if(i.tags||(i.tags=[]),a.type==="reaction")return At.putUnwrappedGiftWrap(e.id,{pubkey:i.pubkey,recipientPubkey:"__reaction__",content:a.content,createdAt:i.created_at}).catch(()=>{}),null;const l=this.getRecipientFromTags(i.tags)||r;T6(e.id,JSON.stringify({s:i.pubkey,r:l,c:a.content})),At.putUnwrappedGiftWrap(e.id,{pubkey:i.pubkey,recipientPubkey:l,content:a.content,createdAt:i.created_at}).catch(()=>{});const u=Oe.getSeenEventRelayUrls(e.id);return{id:e.id,senderPubkey:i.pubkey,recipientPubkey:l,content:a.content,createdAt:i.created_at,encryptionType:"nip17",event:e,decryptedContent:a.content,seenOnRelays:u.length>0?u:void 0}}else return null}catch(o){return Ze.getVerboseLogging()&&console.warn("[DM] Gift wrap decryption failed:",{eventId:e.id,created_at:e.created_at,error:o instanceof Error?o.message:"Unknown error"}),null}}async unwrapGiftWrap(e,n){try{if(!n.nip44Decrypt)return null;const r=await n.nip44Decrypt(e.pubkey,e.content),o=JSON.parse(r);if(o.kind!==UY)return null;const s=await n.nip44Decrypt(o.pubkey,o.content),a=JSON.parse(s);return a.kind===BY?{content:a.content,innerEvent:a,type:"dm"}:a.kind===xBe?{content:a.content,innerEvent:a,type:"reaction"}:null}catch(r){return Ze.getVerboseLogging()&&console.warn("[DM] unwrapGiftWrap failed:",{giftWrapId:e.id,error:r instanceof Error?r.message:"Unknown error"}),null}}buildDirectMessage(e,n,r,o="nip04"){const s=this.getRecipientFromTags(e.tags),a=e.pubkey===r,i=Oe.getSeenEventRelayUrls(e.id);return{id:e.id,senderPubkey:e.pubkey,recipientPubkey:s||(a?"":r),content:n,createdAt:e.created_at,encryptionType:o,event:e,decryptedContent:n,seenOnRelays:i.length>0?i:void 0}}async sendDM(e,n,r,o,s,a){const i=[],[l,u]=await Promise.all([this.fetchPartnerInboxRelays(e),this.fetchPartnerRelays(e)]),d=[...new Set([...o,...u])],f=[...new Set([...o,...l])];if(a===null){try{const m=await this.createAndPublishNip04DM(e,n,r,d);i.push(m)}catch(m){console.error("Failed to send NIP-04 DM:",m)}try{if(r.nip44Encrypt){const m=await this.createAndPublishNip17DM(e,n,r,f);i.push(m)}}catch(m){console.error("Failed to send NIP-17 DM:",m)}}else if(a==="nip04")try{const m=await this.createAndPublishNip04DM(e,n,r,d);i.push(m)}catch(m){throw console.error("Failed to send NIP-04 DM:",m),m}else if(a==="nip17"){if(!r.nip44Encrypt)throw new Error("Encryption does not support NIP-44");try{const m=await this.createAndPublishNip17DM(e,n,r,f);i.push(m)}catch(m){throw console.error("Failed to send NIP-17 DM:",m),m}}return i}async createAndPublishNip04DM(e,n,r,o){const s=await r.nip04Encrypt(e,n),a={kind:up,created_at:Math.floor(Date.now()/1e3),content:s,tags:[["p",e]]},i=await r.signEvent(a);return await Oe.publishEvent(o,i),await At.putDMEvent(i),await At.putDecryptedContent(i.id,n),i}async createAndPublishNip17DM(e,n,r,o){if(!r.nip44Encrypt)throw new Error("Encryption does not support NIP-44");const s={kind:BY,created_at:Math.floor(Date.now()/1e3),content:n,tags:[["p",e]]},a=await r.signEvent(s),i=await r.nip44Encrypt(e,JSON.stringify(a)),l={kind:UY,created_at:this.randomizeTimestamp(a.created_at),content:i,tags:[]},u=await r.signEvent(l),d=await r.nip44Encrypt(e,JSON.stringify(u)),f={kind:ww,created_at:this.randomizeTimestamp(u.created_at),content:d,tags:[["p",e]]},m=await r.signEvent(f);return await Oe.publishEvent(o,m),await At.putDMEvent(m),await At.putDecryptedContent(m.id,n),m}randomizeTimestamp(e){const n=Math.floor(Math.random()*4*24*60*60)-172800;return e+n}async fetchPartnerRelays(e){try{const n=await At.getReplaceableEvent(e,$e.RelayList);if(n)return this.parseWriteRelays(n);const r=Oe.currentRelays.length>0?Oe.currentRelays:[];if(r.length===0)return[];const o=await Oe.fetchEvents(r,{kinds:[$e.RelayList],authors:[e],limit:1});if(o.length>0){const s=o[0];return await At.putReplaceableEvent(s),this.parseWriteRelays(s)}return[]}catch{return[]}}async fetchPartnerInboxRelays(e){try{const n=await At.getReplaceableEvent(e,$e.RelayList);if(n)return this.parseInboxRelays(n);const r=Oe.currentRelays.length>0?Oe.currentRelays:[];if(r.length===0)return Oe.currentRelays;const o=await Oe.fetchEvents(r,{kinds:[$e.RelayList],authors:[e],limit:1});if(o.length>0){const s=o[0];return await At.putReplaceableEvent(s),this.parseInboxRelays(s)}return Oe.currentRelays}catch{return Oe.currentRelays}}parseWriteRelays(e){const n=[];for(const r of e.tags)if(r[0]==="r"){const o=r[1],s=r[2];(!s||s==="write")&&n.push(o)}return n}parseInboxRelays(e){const n=[];for(const r of e.tags)if(r[0]==="r"){const o=r[1],s=r[2];(!s||s==="read")&&n.push(o)}return n.length>0?n:Oe.currentRelays}async checkOtherRelaysForEvent(e,n){const r=new Set(n.map(a=>a.replace(/\/$/,""))),o=Oe.currentRelays.filter(a=>!r.has(a.replace(/\/$/,""))),s=[];return await Promise.all(o.map(async a=>{try{(await Oe.fetchEvents([a],{ids:[e],limit:1})).length>0&&(s.push(a),Oe.trackEventSeenOn(e,{url:a}))}catch{}})),s}groupMessagesIntoConversations(e,n){const r=new Map;for(const o of e){if(V3(o.content??""))continue;const s=o.senderPubkey===n?o.recipientPubkey:o.senderPubkey;if(!s)continue;const a=r.get(s);(!a||o.createdAt>a.lastMessageAt)&&r.set(s,{partnerPubkey:s,lastMessageAt:o.createdAt,lastMessagePreview:(o.content??"").substring(0,100),unreadCount:0,preferredEncryption:o.encryptionType})}return r}groupEventsIntoConversations(e,n){const r=new Map;for(const o of e){if(o.kind!==up)continue;const s=this.getRecipientFromTags(o.tags),a=o.pubkey===n?s:o.pubkey;if(!a)continue;const i=r.get(a);(!i||o.created_at>i.lastMessageAt)&&r.set(a,{partnerPubkey:a,lastMessageAt:o.created_at,lastMessagePreview:"",unreadCount:0,preferredEncryption:"nip04"})}return r}getMessagesForConversation(e,n,r){return e.filter(o=>o.senderPubkey===n&&o.recipientPubkey===r||o.senderPubkey===r&&o.recipientPubkey===n).sort((o,s)=>o.createdAt-s.createdAt)}getOtherPartyPubkey(e,n){return e.pubkey===n?this.getRecipientFromTags(e.tags):e.pubkey}getRecipientFromTags(e){if(!e)return null;const n=e.find(r=>r[0]==="p");return n?n[1]:null}subscribeToDMs(e,n,r,o){const s=[...new Set(n)],a=o??Math.floor(Date.now()/1e3)-300,i=Oe.subscribe(s,[{kinds:[up],"#p":[e],since:a},{kinds:[up],authors:[e],since:a}],{onevent:u=>{At.putDMEvent(u).catch(()=>{}),r(u)}}),l=Oe.subscribe(s,{kinds:[ww],"#p":[e],since:a},{onevent:u=>{At.putDMEvent(u).catch(()=>{}),r(u)}});return{close:async()=>{const[u,d]=await Promise.all([i,l]);u.close(),d.close()}}}}const Ac=new kBe;function $Y(t,e,n,r){if(!r)return!1;if(r.deletedIds.includes(t))return!0;const o=r.deletedRanges[e];if(o){for(const s of o)if(n>=s.start&&n<=s.end)return!0}return!1}function D6(t,e,n){if(!n)return!1;const r=n.deletedRanges[t];if(!r||r.length===0)return!1;for(const o of r)if(e>=o.start&&e<=o.end)return!0;return!1}function VY(t){if(!t)return 0;let e=0;for(const n of Object.values(t.deletedRanges))for(const r of n)r.start===0&&r.end>e&&(e=r.end);return e}const ble=h.createContext(void 0),kd=()=>{const t=h.useContext(ble);if(!t)throw new Error("useDM must be used within a DMProvider");return t};function jBe({children:t}){const{pubkey:e,relayList:n,nip04Encrypt:r,nip04Decrypt:o,nip44Encrypt:s,nip44Decrypt:a,hasNip44Support:i,signEvent:l}=wt(),[u,d]=h.useState([]),[f,m]=h.useState([]),[g,w]=h.useState(null),[b,j]=h.useState([]),[S,I]=h.useState(()=>new Map),[N,M]=h.useState(()=>new Set),[D,P]=h.useState(!1),[L,F]=h.useState(!1),[T,R]=h.useState(null),[z,G]=h.useState(()=>Ze.getPreferNip44()),[Z,W]=h.useState(!1),[U,ee]=h.useState(!1),[$,H]=h.useState(null),[Y,q]=h.useState(null),[J,ne]=h.useState(new Set),[re,de]=h.useState(!1),[Ee,we]=h.useState(()=>e?Ze.getDMLastSeenTimestamp(e):0),xe=100,ce=h.useRef(null),pe=h.useRef(!1),he=h.useRef(null),ke=h.useRef(null),[le,ye]=h.useState(0),ve=h.useMemo(()=>e?{nip04Encrypt:r,nip04Decrypt:o,nip44Encrypt:i?s:void 0,nip44Decrypt:i?a:void 0,signEvent:l,getPublicKey:()=>e}:null,[e,r,o,s,a,i,l]);h.useEffect(()=>{if(e&&ve){if(pe.current&&he.current===e)return;pe.current=!0,he.current=e;const Re=Ze.getDMLastSeenTimestamp(e);Re>0&&we(Re),(async()=>{let rt={deletedIds:[],deletedRanges:{}};const vt=await At.getDeletedMessagesState(e);vt?(rt=vt,q(vt)):q(rt);try{const kt=n!=null&&n.read.length?n.read:Oe.currentRelays,Ct=await Oe.fetchEvents(kt,{kinds:[$e.Application],authors:[e],"#d":[Xp.DM_DELETED_MESSAGES],limit:1});if(Ct.length>0){const Pt=Ct[0];try{const yt=JSON.parse(Pt.content);rt=yt,q(yt),await At.putDeletedMessagesState(e,yt)}catch{}}}catch{}const mt=await At.getDMConversations(e);if(mt.length>0){const kt=mt.filter(Ct=>Ct.partnerPubkey&&typeof Ct.partnerPubkey=="string").filter(Ct=>!D6(Ct.partnerPubkey,Ct.lastMessageAt,rt)).map(Ct=>({partnerPubkey:Ct.partnerPubkey,lastMessageAt:Ct.lastMessageAt,lastMessagePreview:Ct.lastMessagePreview||"",unreadCount:0,preferredEncryption:Ct.encryptionType}));m(kt),d(kt.slice(0,xe)),W(kt.length>xe)}Ie(),ke.current&&ke.current.close();const Ot=(n==null?void 0:n.read)||[],qt=mt.length>0?Math.max(...mt.map(kt=>kt.lastMessageAt)):void 0;ke.current=Ac.subscribeToDMs(e,Ot,kt=>{ye(kt.created_at)},qt)})()}else d([]),m([]),j([]),I(new Map),M(new Set),w(null),q(null),ne(new Set),de(!1),wBe(),ke.current&&(ke.current.close(),ke.current=null),pe.current=!1,he.current=null},[e,ve,n]),h.useEffect(()=>{if(!g||!e||!ve){j([]),ce.current=null;return}const Re=g;ce.current=Re;const ze=S.get(Re);if(ze&&ze.length>0&&(j(ze),N.has(Re)))return;(async()=>{F(!0);try{const vt=await At.getConversationMessages(e,Re);if(vt&&vt.length>0&&ce.current===Re){const bt=vt.filter(Bt=>!$Y(Bt.id,Re,Bt.createdAt,Y)).map(Bt=>({id:Bt.id,senderPubkey:Bt.senderPubkey,recipientPubkey:Bt.recipientPubkey,content:Bt.content,createdAt:Bt.createdAt,encryptionType:Bt.encryptionType,event:{},decryptedContent:Bt.content,seenOnRelays:Bt.seenOnRelays}));j(bt),I(Bt=>new Map(Bt).set(Re,bt))}const mt=(n==null?void 0:n.read)||[],Ot=await Ac.fetchConversationEvents(e,Re,mt);if(ce.current!==Re)return;const qt=VY(Y),kt=qt>0?Ot.filter(bt=>bt.kind!==1059||bt.created_at>qt):Ot,Ct=[],Pt=new Set;if(await bBe(kt,ve,e,10,bt=>{if(ce.current!==Re)return;const Bt=bt.filter(mn=>Pt.has(mn.id)||V3(mn.content??"")||(mn.senderPubkey===e?mn.recipientPubkey:mn.senderPubkey)!==Re||$Y(mn.id,Re,mn.createdAt,Y)?!1:(Pt.add(mn.id),!0));Ct.push(...Bt);const Yn=[...Ct].sort((mn,tn)=>mn.createdAt-tn.createdAt);j(Yn),I(mn=>new Map(mn).set(Re,Yn))}),ce.current!==Re)return;const yt=Ct.sort((bt,Bt)=>bt.createdAt-Bt.createdAt);I(bt=>new Map(bt).set(Re,yt)),M(bt=>new Set(bt).add(Re)),j(yt);const $t=yt.map(bt=>({id:bt.id,senderPubkey:bt.senderPubkey,recipientPubkey:bt.recipientPubkey,content:bt.decryptedContent||bt.content,createdAt:bt.createdAt,encryptionType:bt.encryptionType,seenOnRelays:bt.seenOnRelays}));await At.putConversationMessages(e,Re,$t)}catch{}finally{ce.current===Re&&F(!1)}})()},[g,e,ve,n,Y]);const Ie=h.useCallback(async()=>{if(!(!e||!ve))try{const Re=(n==null?void 0:n.read)||[],ze=await Ac.fetchRecentDMEvents(e,Re),rt=ze.filter(yt=>yt.kind===4),vt=ze.filter(yt=>yt.kind===1059),mt=new Map;f.forEach(yt=>mt.set(yt.partnerPubkey,yt)),Ac.groupEventsIntoConversations(rt,e).forEach((yt,$t)=>{const bt=mt.get($t);(!bt||yt.lastMessageAt>bt.lastMessageAt)&&mt.set($t,yt)});const qt=()=>{const $t=Array.from(mt.values()).filter(bt=>bt.partnerPubkey&&typeof bt.partnerPubkey=="string").filter(bt=>!D6(bt.partnerPubkey,bt.lastMessageAt,Y)).sort((bt,Bt)=>Bt.lastMessageAt-bt.lastMessageAt);m($t),d($t.slice(0,xe)),W($t.length>xe)};qt();const kt=vt.sort((yt,$t)=>$t.created_at-yt.created_at),Ct=VY(Y);for(const yt of kt)if(!(Ct>0&&yt.created_at<=Ct))try{const $t=await Ac.decryptMessage(yt,ve,e);if($t&&$t.senderPubkey&&$t.recipientPubkey){const bt=$t.senderPubkey===e?$t.recipientPubkey:$t.senderPubkey;if(!bt||bt==="__reaction__"||V3($t.content??""))continue;const Bt=mt.get(bt);if(!Bt||$t.createdAt>Bt.lastMessageAt){const Yn=($t.content??"").substring(0,100);mt.set(bt,{partnerPubkey:bt,lastMessageAt:$t.createdAt,lastMessagePreview:Yn,unreadCount:0,preferredEncryption:"nip17"}),qt()}At.putDMConversation(e,bt,$t.createdAt,($t.content??"").substring(0,100),"nip17").catch(()=>{})}}catch{}qt();const Pt=Array.from(mt.values());Promise.all(Pt.map(yt=>At.putDMConversation(e,yt.partnerPubkey,yt.lastMessageAt,yt.lastMessagePreview,yt.preferredEncryption))).catch(()=>{})}catch{}},[e,ve,n,Y,f]),Ve=h.useCallback(async()=>{if(!(!e||!ve)){P(!0),R(null);try{const Re=(n==null?void 0:n.read)||[],ze=await Ac.fetchRecentDMEvents(e,Re),rt=ze.filter(Pt=>Pt.kind===4),vt=ze.filter(Pt=>Pt.kind===1059),mt=new Map;f.forEach(Pt=>mt.set(Pt.partnerPubkey,Pt)),Ac.groupEventsIntoConversations(rt,e).forEach((Pt,yt)=>{const $t=mt.get(yt);(!$t||Pt.lastMessageAt>$t.lastMessageAt)&&mt.set(yt,Pt)});const qt=()=>{const yt=Array.from(mt.values()).filter($t=>$t.partnerPubkey&&typeof $t.partnerPubkey=="string").filter($t=>!D6($t.partnerPubkey,$t.lastMessageAt,Y)).sort(($t,bt)=>bt.lastMessageAt-$t.lastMessageAt);m(yt),d(yt.slice(0,xe)),W(yt.length>xe)};qt(),P(!1);const kt=vt.sort((Pt,yt)=>yt.created_at-Pt.created_at);for(const Pt of kt)try{const yt=await Ac.decryptMessage(Pt,ve,e);if(yt&&yt.senderPubkey&&yt.recipientPubkey){const $t=yt.senderPubkey===e?yt.recipientPubkey:yt.senderPubkey;if(!$t||$t==="__reaction__"||V3(yt.content??""))continue;const bt=mt.get($t);if(!bt||yt.createdAt>bt.lastMessageAt){const Bt=(yt.content??"").substring(0,100);mt.set($t,{partnerPubkey:$t,lastMessageAt:yt.createdAt,lastMessagePreview:Bt,unreadCount:0,preferredEncryption:"nip17"}),qt()}At.putDMConversation(e,$t,yt.createdAt,(yt.content??"").substring(0,100),"nip17").catch(()=>{})}}catch{}qt();const Ct=Array.from(mt.values());Promise.all(Ct.map(Pt=>At.putDMConversation(e,Pt.partnerPubkey,Pt.lastMessageAt,Pt.lastMessagePreview,Pt.preferredEncryption))).catch(()=>{})}catch{R("Failed to load conversations"),P(!1)}}},[e,ve,n,Y,f]),Qe=h.useCallback(async()=>{if(!Z)return;const Re=u.length,ze=f.slice(Re,Re+xe);d(rt=>[...rt,...ze]),W(Re+ze.length<f.length)},[u.length,f,Z]),nt=h.useCallback(Re=>{Re!==g&&j([]),w(Re)},[g]),Ue=h.useCallback(Re=>{if(!f.find(rt=>rt.partnerPubkey===Re)){ee(!0),H(Re);const rt={partnerPubkey:Re,lastMessageAt:Math.floor(Date.now()/1e3),lastMessagePreview:"",unreadCount:0,preferredEncryption:"nip17"};m(vt=>[rt,...vt]),d(vt=>[rt,...vt])}j([]),w(Re)},[f]),qe=h.useCallback(()=>{ee(!1)},[]),_e=h.useCallback(()=>{$&&(m(Re=>Re.filter(ze=>ze.partnerPubkey!==$)),d(Re=>Re.filter(ze=>ze.partnerPubkey!==$)),H(null),ee(!1),g===$&&(w(null),j([])))},[$,g]),et=h.useCallback(()=>{g&&(M(Re=>{const ze=new Set(Re);return ze.delete(g),ze}),I(Re=>{const ze=new Map(Re);return ze.delete(g),ze}),j([]))},[g]),pt=h.useCallback(async(Re,ze)=>{var $t;if(!e||!ve||!g)throw new Error("Cannot send message: not logged in or no conversation selected");const rt=ze&&ze.length>0?ze:(n==null?void 0:n.write)||[],vt=u.find(bt=>bt.partnerPubkey===g),mt=(vt==null?void 0:vt.preferredEncryption)??null,Ot=await At.getConversationEncryptionPreference(e,g);let qt=mt;Ot==="nip04"?qt="nip04":Ot==="nip17"&&(qt="nip17");const kt=await Ac.sendDM(g,Re,ve,rt,z,qt),Ct=Math.floor(Date.now()/1e3),Pt=qt||(z?"nip17":"nip04"),yt={id:(($t=kt[0])==null?void 0:$t.id)||`local-${Ct}`,senderPubkey:e,recipientPubkey:g,content:Re,createdAt:Ct,encryptionType:Pt,event:kt[0]||{},decryptedContent:Re};I(bt=>{const Bt=bt.get(g)||[];return new Map(bt).set(g,[...Bt,yt])}),j(bt=>[...bt,yt]),d(bt=>bt.find(Yn=>Yn.partnerPubkey===g)?bt.map(Yn=>Yn.partnerPubkey===g?{...Yn,lastMessageAt:Ct,lastMessagePreview:Re.substring(0,100),preferredEncryption:Pt}:Yn):[{partnerPubkey:g,lastMessageAt:Ct,lastMessagePreview:Re.substring(0,100),unreadCount:0,preferredEncryption:Pt},...bt]),$===g&&(H(null),ee(!1))},[e,ve,g,n,u,z,$]),ht=h.useCallback(Re=>{G(Re),Ze.setPreferNip44(Re),cr()},[]),at=h.useCallback(Re=>{ne(ze=>{const rt=new Set(ze);return rt.has(Re)?(rt.delete(Re),rt.size===0&&de(!1)):(rt.add(Re),re||de(!0)),rt})},[re]),De=h.useCallback(()=>{const Re=new Set(b.map(ze=>ze.id));ne(Re),de(!0)},[b]),se=h.useCallback(()=>{ne(new Set),de(!1)},[]),K=h.useCallback(async Re=>{if(!e||!ve)return;await At.putDeletedMessagesState(e,Re);const ze=n!=null&&n.write.length?n.write:Oe.currentRelays,rt=SAe(Re),vt=await ve.signEvent(rt);await Oe.publishEvent(ze,vt)},[e,ve,n]),Q=h.useCallback(async()=>{if(!e||J.size===0)return;const Re=Array.from(J),ze={deletedIds:[...(Y==null?void 0:Y.deletedIds)||[],...Re],deletedRanges:(Y==null?void 0:Y.deletedRanges)||{}};q(ze),j(rt=>rt.filter(vt=>!J.has(vt.id))),g&&I(rt=>{const vt=rt.get(g)||[];return new Map(rt).set(g,vt.filter(mt=>!J.has(mt.id)))}),ne(new Set),de(!1),await K(ze)},[e,J,Y,g,K]),ie=h.useCallback(async()=>{if(!e||!g)return;const ze={start:0,end:Math.floor(Date.now()/1e3)},rt={deletedIds:(Y==null?void 0:Y.deletedIds)||[],deletedRanges:{...(Y==null?void 0:Y.deletedRanges)||{},[g]:[...(Y==null?void 0:Y.deletedRanges[g])||[],ze]}};q(rt),j([]),I(vt=>{const mt=new Map(vt);return mt.delete(g),mt}),d(vt=>vt.filter(mt=>mt.partnerPubkey!==g)),m(vt=>vt.filter(mt=>mt.partnerPubkey!==g)),ne(new Set),de(!1),w(null),await K(rt)},[e,g,Y,K]),Se=h.useCallback(async()=>{if(!e||!g)return;const Re={deletedIds:(Y==null?void 0:Y.deletedIds)||[],deletedRanges:{...(Y==null?void 0:Y.deletedRanges)||{},[g]:[]}};q(Re),I(ze=>{const rt=new Map(ze);return rt.delete(g),rt}),M(ze=>{const rt=new Set(ze);return rt.delete(g),rt}),await K(Re),await Ie()},[e,g,Y,K,Ie]),Me=h.useMemo(()=>Y?u.filter(Re=>!D6(Re.partnerPubkey,Re.lastMessageAt,Y)):u,[u,Y]),Ce=h.useMemo(()=>Me.reduce((Re,ze)=>Re+ze.unreadCount,0),[Me]),me=h.useMemo(()=>{const Re=Me.length===0?0:Math.max(...Me.map(ze=>ze.lastMessageAt));return Math.max(Re,le)},[Me,le]),We=Ee>0?me>Ee:le>0,Xe=h.useCallback(()=>{e&&(ye(0),me>0&&(we(me),Ze.setDMLastSeenTimestamp(e,me)))},[e,me]);return c.jsx(ble.Provider,{value:{conversations:Me,currentConversation:g,messages:b,isLoading:D,isLoadingConversation:L,error:T,selectConversation:nt,startConversation:Ue,sendMessage:pt,refreshConversations:Ve,reloadConversation:et,loadMoreConversations:Qe,hasMoreConversations:Z,preferNip44:z,setPreferNip44:ht,isNewConversation:U,clearNewConversationFlag:qe,dismissProvisionalConversation:_e,totalUnreadCount:Ce,hasNewMessages:We,markInboxAsSeen:Xe,selectedMessages:J,isSelectionMode:re,toggleMessageSelection:at,selectAllMessages:De,clearSelection:se,deleteSelectedMessages:Q,deleteAllInConversation:ie,undeleteAllInConversation:Se},children:t})}const xle=h.createContext(void 0),ns=()=>{const t=h.useContext(xle);if(!t)throw new Error("useMuteList must be used within a MuteListProvider");return t};function CBe({children:t}){const{t:e}=Ke(),{pubkey:n,publish:r,nip04Decrypt:o,nip04Encrypt:s}=wt(),[a,i]=h.useState(null),[l,u]=h.useState(!1),[d,f]=h.useState(!1),m=h.useRef(r),g=h.useRef(o),w=h.useRef(s);m.current=r,g.current=o,w.current=s;const b=h.useMemo(()=>n?new fle({publish:F=>m.current(F),currentUserPubkey:n,decrypt:async(F,T)=>g.current(T,F),encrypt:async(F,T)=>w.current(T,F)}):null,[n]),j=h.useMemo(()=>a?tke(a):new Set,[a]);h.useEffect(()=>{let F=!1;return(async()=>{if(!n||!b){F||i(null);return}F||u(!0);try{const R=Vt.tryFromString(n);if(!R){F||i(null);return}const z=await b.findByOwner(R);F||i(z)}catch(R){console.error("Failed to load mute list:",R),F||i(null)}finally{F||u(!1)}})(),()=>{F=!0}},[n,b]);const S=h.useCallback(()=>Array.from(j),[j]),I=h.useCallback(F=>{if(!a)return null;const T=Vt.tryFromString(F);return T?a.getMuteVisibility(T):null},[a]),N=h.useCallback(async F=>{if(!(!n||!b||d)){f(!0);try{const T=Vt.fromHex(n),R=Vt.tryFromString(F);if(!R)return;const z=await b.findByOwner(T);if(!z&&!confirm(e("MuteListNotFoundConfirmation")))return;const G=z??ny.empty(T);try{if(G.mutePublicly(R).type==="no_change")return;await b.save(G),i(G),on.success(e("Successfully updated mute list"))}catch(Z){if(Z instanceof yk)return;throw Z}}catch(T){on.error(e("Failed to mute user publicly")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),M=h.useCallback(async F=>{if(!(!n||!b||d)){f(!0);try{const T=Vt.fromHex(n),R=Vt.tryFromString(F);if(!R)return;const z=await b.findByOwner(T);if(!z&&!confirm(e("MuteListNotFoundConfirmation")))return;const G=z??ny.empty(T);try{if(G.mutePrivately(R).type==="no_change")return;await b.save(G),i(G),on.success(e("Successfully updated mute list"))}catch(Z){if(Z instanceof yk)return;throw Z}}catch(T){on.error(e("Failed to mute user privately")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),D=h.useCallback(async F=>{if(!(!n||!b||d)){f(!0);try{const T=Vt.fromHex(n),R=Vt.tryFromString(F);if(!R)return;const z=await b.findByOwner(T);if(!z||z.unmute(R).type==="no_change")return;await b.save(z),i(z),on.success(e("Successfully updated mute list"))}catch(T){on.error(e("Failed to unmute user")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),P=h.useCallback(async F=>{if(!(!n||!b||d)){f(!0);try{const T=Vt.fromHex(n),R=Vt.tryFromString(F);if(!R)return;const z=await b.findByOwner(T);if(!z||z.switchToPublic(R).type==="no_change")return;await b.save(z),i(z),on.success(e("Successfully updated mute list"))}catch(T){on.error(e("Failed to switch mute visibility")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),L=h.useCallback(async F=>{if(!(!n||!b||d)){f(!0);try{const T=Vt.fromHex(n),R=Vt.tryFromString(F);if(!R)return;const z=await b.findByOwner(T);if(!z||z.switchToPrivate(R).type==="no_change")return;await b.save(z),i(z),on.success(e("Successfully updated mute list"))}catch(T){on.error(e("Failed to switch mute visibility")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]);return c.jsx(xle.Provider,{value:{mutePubkeySet:j,muteList:a,isLoading:l,changing:d,getMutePubkeys:S,getMuteType:I,mutePubkeyPublicly:N,mutePubkeyPrivately:M,unmutePubkey:D,switchToPublicMute:P,switchToPrivateMute:L},children:t})}function kle(t,[e,n]){return Math.min(n,Math.max(e,t))}function m0(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function Nh(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,SBe(o,...e)]}function SBe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var EBe=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},NBe=yh[" useInsertionEffect ".trim().toString()]||EBe;function Kg({prop:t,defaultProp:e,onChange:n=()=>{},caller:r}){const[o,s,a]=IBe({defaultProp:e,onChange:n}),i=t!==void 0,l=i?t:o;{const d=h.useRef(t!==void 0);h.useEffect(()=>{const f=d.current;f!==i&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,r])}const u=h.useCallback(d=>{var f;if(i){const m=ABe(d)?d(t):d;m!==t&&((f=a.current)==null||f.call(a,m))}else s(d)},[i,t,s,a]);return[l,u]}function IBe({defaultProp:t,onChange:e}){const[n,r]=h.useState(t),o=h.useRef(n),s=h.useRef(e);return NBe(()=>{s.current=e},[e]),h.useEffect(()=>{var a;o.current!==n&&((a=s.current)==null||a.call(s,n),o.current=n)},[n,o]),[n,r,s]}function ABe(t){return typeof t=="function"}var _Be=h.createContext(void 0);function WS(t){const e=h.useContext(_Be);return t||e||"ltr"}function PL(t){const e=h.useRef({value:t,previous:t});return h.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var MBe=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{};function OL(t){const[e,n]=h.useState(void 0);return MBe(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,i;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,i=u.blockSize}else a=t.offsetWidth,i=t.offsetHeight;n({width:a,height:i})});return r.observe(t,{box:"border-box"}),()=>r.unobserve(t)}else n(void 0)},[t]),e}var RBe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],vs=RBe.reduce((t,e)=>{const n=Xk(`Primitive.${e}`),r=h.forwardRef((o,s)=>{const{asChild:a,...i}=o,l=a?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(l,{...i,ref:s})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{});function zL(t){const e=t+"CollectionProvider",[n,r]=Nh(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=b=>{const{scope:j,children:S}=b,I=Be.useRef(null),N=Be.useRef(new Map).current;return c.jsx(o,{scope:j,itemMap:N,collectionRef:I,children:S})};a.displayName=e;const i=t+"CollectionSlot",l=Xk(i),u=Be.forwardRef((b,j)=>{const{scope:S,children:I}=b,N=s(i,S),M=la(j,N.collectionRef);return c.jsx(l,{ref:M,children:I})});u.displayName=i;const d=t+"CollectionItemSlot",f="data-radix-collection-item",m=Xk(d),g=Be.forwardRef((b,j)=>{const{scope:S,children:I,...N}=b,M=Be.useRef(null),D=la(j,M),P=s(d,S);return Be.useEffect(()=>(P.itemMap.set(M,{ref:M,...N}),()=>void P.itemMap.delete(M))),c.jsx(m,{[f]:"",ref:D,children:I})});g.displayName=d;function w(b){const j=s(t+"CollectionConsumer",b);return Be.useCallback(()=>{const I=j.collectionRef.current;if(!I)return[];const N=Array.from(I.querySelectorAll(`[${f}]`));return Array.from(j.itemMap.values()).sort((P,L)=>N.indexOf(P.ref.current)-N.indexOf(L.ref.current))},[j.collectionRef,j.itemMap])}return[{Provider:a,Slot:u,ItemSlot:g},w,r]}var jle=["PageUp","PageDown"],Cle=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Sle={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},nv="Slider",[q8,TBe,DBe]=zL(nv),[Ele]=Nh(nv,[DBe]),[LBe,YS]=Ele(nv),Nle=h.forwardRef((t,e)=>{const{name:n,min:r=0,max:o=100,step:s=1,orientation:a="horizontal",disabled:i=!1,minStepsBetweenThumbs:l=0,defaultValue:u=[r],value:d,onValueChange:f=()=>{},onValueCommit:m=()=>{},inverted:g=!1,form:w,...b}=t,j=h.useRef(new Set),S=h.useRef(0),N=a==="horizontal"?PBe:OBe,[M=[],D]=Kg({prop:d,defaultProp:u,onChange:z=>{var Z;(Z=[...j.current][S.current])==null||Z.focus(),f(z)}}),P=h.useRef(M);function L(z){const G=$Be(M,z);R(z,G)}function F(z){R(z,S.current)}function T(){const z=P.current[S.current];M[S.current]!==z&&m(M)}function R(z,G,{commit:Z}={commit:!1}){const W=YBe(s),U=GBe(Math.round((z-r)/s)*s+r,W),ee=kle(U,[r,o]);D(($=[])=>{const H=BBe($,ee,G);if(WBe(H,l*s)){S.current=H.indexOf(ee);const Y=String(H)!==String($);return Y&&Z&&m(H),Y?H:$}else return $})}return c.jsx(LBe,{scope:t.__scopeSlider,name:n,disabled:i,min:r,max:o,valueIndexToChangeRef:S,thumbs:j.current,values:M,orientation:a,form:w,children:c.jsx(q8.Provider,{scope:t.__scopeSlider,children:c.jsx(q8.Slot,{scope:t.__scopeSlider,children:c.jsx(N,{"aria-disabled":i,"data-disabled":i?"":void 0,...b,ref:e,onPointerDown:m0(b.onPointerDown,()=>{i||(P.current=M)}),min:r,max:o,inverted:g,onSlideStart:i?void 0:L,onSlideMove:i?void 0:F,onSlideEnd:i?void 0:T,onHomeKeyDown:()=>!i&&R(r,0,{commit:!0}),onEndKeyDown:()=>!i&&R(o,M.length-1,{commit:!0}),onStepKeyDown:({event:z,direction:G})=>{if(!i){const U=jle.includes(z.key)||z.shiftKey&&Cle.includes(z.key)?10:1,ee=S.current,$=M[ee],H=s*U*G;R($+H,ee,{commit:!0})}}})})})})});Nle.displayName=nv;var[Ile,Ale]=Ele(nv,{startEdge:"left",endEdge:"right",size:"width",direction:1}),PBe=h.forwardRef((t,e)=>{const{min:n,max:r,dir:o,inverted:s,onSlideStart:a,onSlideMove:i,onSlideEnd:l,onStepKeyDown:u,...d}=t,[f,m]=h.useState(null),g=la(e,N=>m(N)),w=h.useRef(void 0),b=WS(o),j=b==="ltr",S=j&&!s||!j&&s;function I(N){const M=w.current||f.getBoundingClientRect(),D=[0,M.width],L=FL(D,S?[n,r]:[r,n]);return w.current=M,L(N-M.left)}return c.jsx(Ile,{scope:t.__scopeSlider,startEdge:S?"left":"right",endEdge:S?"right":"left",direction:S?1:-1,size:"width",children:c.jsx(_le,{dir:b,"data-orientation":"horizontal",...d,ref:g,style:{...d.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:N=>{const M=I(N.clientX);a==null||a(M)},onSlideMove:N=>{const M=I(N.clientX);i==null||i(M)},onSlideEnd:()=>{w.current=void 0,l==null||l()},onStepKeyDown:N=>{const D=Sle[S?"from-left":"from-right"].includes(N.key);u==null||u({event:N,direction:D?-1:1})}})})}),OBe=h.forwardRef((t,e)=>{const{min:n,max:r,inverted:o,onSlideStart:s,onSlideMove:a,onSlideEnd:i,onStepKeyDown:l,...u}=t,d=h.useRef(null),f=la(e,d),m=h.useRef(void 0),g=!o;function w(b){const j=m.current||d.current.getBoundingClientRect(),S=[0,j.height],N=FL(S,g?[r,n]:[n,r]);return m.current=j,N(b-j.top)}return c.jsx(Ile,{scope:t.__scopeSlider,startEdge:g?"bottom":"top",endEdge:g?"top":"bottom",size:"height",direction:g?1:-1,children:c.jsx(_le,{"data-orientation":"vertical",...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:b=>{const j=w(b.clientY);s==null||s(j)},onSlideMove:b=>{const j=w(b.clientY);a==null||a(j)},onSlideEnd:()=>{m.current=void 0,i==null||i()},onStepKeyDown:b=>{const S=Sle[g?"from-bottom":"from-top"].includes(b.key);l==null||l({event:b,direction:S?-1:1})}})})}),_le=h.forwardRef((t,e)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:o,onSlideEnd:s,onHomeKeyDown:a,onEndKeyDown:i,onStepKeyDown:l,...u}=t,d=YS(nv,n);return c.jsx(vs.span,{...u,ref:e,onKeyDown:m0(t.onKeyDown,f=>{f.key==="Home"?(a(f),f.preventDefault()):f.key==="End"?(i(f),f.preventDefault()):jle.concat(Cle).includes(f.key)&&(l(f),f.preventDefault())}),onPointerDown:m0(t.onPointerDown,f=>{const m=f.target;m.setPointerCapture(f.pointerId),f.preventDefault(),d.thumbs.has(m)?m.focus():r(f)}),onPointerMove:m0(t.onPointerMove,f=>{f.target.hasPointerCapture(f.pointerId)&&o(f)}),onPointerUp:m0(t.onPointerUp,f=>{const m=f.target;m.hasPointerCapture(f.pointerId)&&(m.releasePointerCapture(f.pointerId),s(f))})})}),Mle="SliderTrack",Rle=h.forwardRef((t,e)=>{const{__scopeSlider:n,...r}=t,o=YS(Mle,n);return c.jsx(vs.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...r,ref:e})});Rle.displayName=Mle;var K8="SliderRange",Tle=h.forwardRef((t,e)=>{const{__scopeSlider:n,...r}=t,o=YS(K8,n),s=Ale(K8,n),a=h.useRef(null),i=la(e,a),l=o.values.length,u=o.values.map(m=>Ple(m,o.min,o.max)),d=l>1?Math.min(...u):0,f=100-Math.max(...u);return c.jsx(vs.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...r,ref:i,style:{...t.style,[s.startEdge]:d+"%",[s.endEdge]:f+"%"}})});Tle.displayName=K8;var Z8="SliderThumb",Dle=h.forwardRef((t,e)=>{const n=TBe(t.__scopeSlider),[r,o]=h.useState(null),s=la(e,i=>o(i)),a=h.useMemo(()=>r?n().findIndex(i=>i.ref.current===r):-1,[n,r]);return c.jsx(zBe,{...t,ref:s,index:a})}),zBe=h.forwardRef((t,e)=>{const{__scopeSlider:n,index:r,name:o,...s}=t,a=YS(Z8,n),i=Ale(Z8,n),[l,u]=h.useState(null),d=la(e,I=>u(I)),f=l?a.form||!!l.closest("form"):!0,m=OL(l),g=a.values[r],w=g===void 0?0:Ple(g,a.min,a.max),b=UBe(r,a.values.length),j=m==null?void 0:m[i.size],S=j?VBe(j,w,i.direction):0;return h.useEffect(()=>{if(l)return a.thumbs.add(l),()=>{a.thumbs.delete(l)}},[l,a.thumbs]),c.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[i.startEdge]:`calc(${w}% + ${S}px)`},children:[c.jsx(q8.ItemSlot,{scope:t.__scopeSlider,children:c.jsx(vs.span,{role:"slider","aria-label":t["aria-label"]||b,"aria-valuemin":a.min,"aria-valuenow":g,"aria-valuemax":a.max,"aria-orientation":a.orientation,"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,tabIndex:a.disabled?void 0:0,...s,ref:d,style:g===void 0?{display:"none"}:t.style,onFocus:m0(t.onFocus,()=>{a.valueIndexToChangeRef.current=r})})}),f&&c.jsx(Lle,{name:o??(a.name?a.name+(a.values.length>1?"[]":""):void 0),form:a.form,value:g},r)]})});Dle.displayName=Z8;var FBe="RadioBubbleInput",Lle=h.forwardRef(({__scopeSlider:t,value:e,...n},r)=>{const o=h.useRef(null),s=la(o,r),a=PL(e);return h.useEffect(()=>{const i=o.current;if(!i)return;const l=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==e&&d){const f=new Event("input",{bubbles:!0});d.call(i,e),i.dispatchEvent(f)}},[a,e]),c.jsx(vs.input,{style:{display:"none"},...n,ref:s,defaultValue:e})});Lle.displayName=FBe;function BBe(t=[],e,n){const r=[...t];return r[n]=e,r.sort((o,s)=>o-s)}function Ple(t,e,n){const s=100/(n-e)*(t-e);return kle(s,[0,100])}function UBe(t,e){return e>2?`Value ${t+1} of ${e}`:e===2?["Minimum","Maximum"][t]:void 0}function $Be(t,e){if(t.length===1)return 0;const n=t.map(o=>Math.abs(o-e)),r=Math.min(...n);return n.indexOf(r)}function VBe(t,e,n){const r=t/2,s=FL([0,50],[0,r]);return(r-s(e)*n)*n}function HBe(t){return t.slice(0,-1).map((e,n)=>t[n+1]-e)}function WBe(t,e){if(e>0){const n=HBe(t);return Math.min(...n)>=e}return!0}function FL(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(t[1]-t[0]);return e[0]+r*(n-t[0])}}function YBe(t){return(String(t).split(".")[1]||"").length}function GBe(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}var Ole=Nle,qBe=Rle,KBe=Tle,ZBe=Dle;const GS=h.forwardRef(({className:t,hideThumb:e,enableHoverAnimation:n,...r},o)=>{const[s,a]=h.useState(!1);return c.jsxs(Ole,{ref:o,className:Te("relative flex w-full touch-none select-none items-center",t),...r,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),onTouchStart:()=>a(!0),onTouchEnd:()=>a(!1),children:[c.jsx(qBe,{className:Te("relative w-full grow overflow-hidden rounded-full bg-primary/20 cursor-pointer transition-all",s&&n?"h-3":"h-1.5"),children:c.jsx(KBe,{className:"absolute h-full bg-primary disabled:bg-primary/30 rounded-full"})}),!e&&c.jsx(ZBe,{className:Te("block h-4 w-4 rounded-full border-2 border-primary bg-background transition-all duration-200 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50")})]})});GS.displayName=Ole.displayName;const vy={};function zle(t){return"init"in t}function Q8(t){return!!t.write}function HY(t){return"v"in t||"e"in t}function aj(t){if("e"in t)throw t.e;if((vy?"production":void 0)!=="production"&&!("v"in t))throw new Error("[Bug] atom state is not initialized");return t.v}const ij=new WeakMap;function Fle(t){var e;return lj(t)&&!!((e=ij.get(t))!=null&&e[0])}function QBe(t){const e=ij.get(t);e!=null&&e[0]&&(e[0]=!1,e[1].forEach(n=>n()))}function J8(t,e){let n=ij.get(t);if(!n){n=[!0,new Set],ij.set(t,n);const r=()=>{n[0]=!1};t.then(r,r)}n[1].add(e)}function lj(t){return typeof(t==null?void 0:t.then)=="function"}function Ble(t,e,n){if(!n.p.has(t)){n.p.add(t);const r=()=>n.p.delete(t);e.then(r,r)}}function Ule(t,e,n){var r;const o=new Set;for(const s of((r=n.get(t))==null?void 0:r.t)||[])n.has(s)&&o.add(s);for(const s of e.p)o.add(s);return o}const JBe=(t,e,...n)=>e.read(...n),XBe=(t,e,...n)=>e.write(...n),eUe=(t,e)=>{var n;return(n=e.unstable_onInit)==null?void 0:n.call(e,t)},tUe=(t,e,n)=>{var r;return(r=e.onMount)==null?void 0:r.call(e,n)},nUe=(t,e)=>{const n=Ra(t),r=n[0],o=n[9];if((vy?"production":void 0)!=="production"&&!e)throw new Error("Atom is undefined or null");let s=r.get(e);return s||(s={d:new Map,p:new Set,n:0},r.set(e,s),o==null||o(t,e)),s},rUe=t=>{const e=Ra(t),n=e[1],r=e[3],o=e[4],s=e[5],a=e[6],i=e[13],l=[],u=d=>{try{d()}catch(f){l.push(f)}};do{a.f&&u(a.f);const d=new Set,f=d.add.bind(d);r.forEach(m=>{var g;return(g=n.get(m))==null?void 0:g.l.forEach(f)}),r.clear(),s.forEach(f),s.clear(),o.forEach(f),o.clear(),d.forEach(u),r.size&&i(t)}while(r.size||s.size||o.size);if(l.length)throw new AggregateError(l)},oUe=t=>{const e=Ra(t),n=e[1],r=e[2],o=e[3],s=e[11],a=e[14],i=e[17],l=[],u=new WeakSet,d=new WeakSet,f=Array.from(o);for(;f.length;){const m=f[f.length-1],g=s(t,m);if(d.has(m)){f.pop();continue}if(u.has(m)){if(r.get(m)===g.n)l.push([m,g]);else if((vy?"production":void 0)!=="production"&&r.has(m))throw new Error("[Bug] invalidated atom exists");d.add(m),f.pop();continue}u.add(m);for(const w of Ule(m,g,n))u.has(w)||f.push(w)}for(let m=l.length-1;m>=0;--m){const[g,w]=l[m];let b=!1;for(const j of w.d.keys())if(j!==g&&o.has(j)){b=!0;break}b&&(a(t,g),i(t,g)),r.delete(g)}},sUe=(t,e)=>{var n,r;const o=Ra(t),s=o[1],a=o[2],i=o[3],l=o[6],u=o[7],d=o[11],f=o[12],m=o[13],g=o[14],w=o[16],b=o[17],j=d(t,e);if(HY(j)&&(s.has(e)&&a.get(e)!==j.n||Array.from(j.d).every(([F,T])=>g(t,F).n===T)))return j;j.d.clear();let S=!0;function I(){s.has(e)&&(b(t,e),m(t),f(t))}function N(F){var T;if(F===e){const z=d(t,F);if(!HY(z))if(zle(F))cj(t,F,F.init);else throw new Error("no atom init");return aj(z)}const R=g(t,F);try{return aj(R)}finally{j.d.set(F,R.n),Fle(j.v)&&Ble(e,j.v,R),(T=s.get(F))==null||T.t.add(e),S||I()}}let M,D;const P={get signal(){return M||(M=new AbortController),M.signal},get setSelf(){return(vy?"production":void 0)!=="production"&&!Q8(e)&&console.warn("setSelf function cannot be used with read-only atom"),!D&&Q8(e)&&(D=(...F)=>{if((vy?"production":void 0)!=="production"&&S&&console.warn("setSelf function cannot be called in sync"),!S)try{return w(t,e,...F)}finally{m(t),f(t)}}),D}},L=j.n;try{const F=u(t,e,N,P);return cj(t,e,F),lj(F)&&(J8(F,()=>M==null?void 0:M.abort()),F.then(I,I)),(n=l.r)==null||n.call(l,e),j}catch(F){return delete j.v,j.e=F,++j.n,j}finally{S=!1,L!==j.n&&a.get(e)===L&&(a.set(e,j.n),i.add(e),(r=l.c)==null||r.call(l,e))}},aUe=(t,e)=>{const n=Ra(t),r=n[1],o=n[2],s=n[11],a=[e];for(;a.length;){const i=a.pop(),l=s(t,i);for(const u of Ule(i,l,r)){const d=s(t,u);o.set(u,d.n),a.push(u)}}},$le=(t,e,...n)=>{const r=Ra(t),o=r[3],s=r[6],a=r[8],i=r[11],l=r[12],u=r[13],d=r[14],f=r[15],m=r[17];let g=!0;const w=j=>aj(d(t,j)),b=(j,...S)=>{var I;const N=i(t,j);try{if(j===e){if(!zle(j))throw new Error("atom not writable");const M=N.n,D=S[0];cj(t,j,D),m(t,j),M!==N.n&&(o.add(j),(I=s.c)==null||I.call(s,j),f(t,j));return}else return $le(t,j,...S)}finally{g||(u(t),l(t))}};try{return a(t,e,w,b,...n)}finally{g=!1}},iUe=(t,e)=>{var n;const r=Ra(t),o=r[1],s=r[3],a=r[6],i=r[11],l=r[15],u=r[18],d=r[19],f=i(t,e),m=o.get(e);if(m&&!Fle(f.v)){for(const[g,w]of f.d)if(!m.d.has(g)){const b=i(t,g);u(t,g).t.add(e),m.d.add(g),w!==b.n&&(s.add(g),(n=a.c)==null||n.call(a,g),l(t,g))}for(const g of m.d||[])if(!f.d.has(g)){m.d.delete(g);const w=d(t,g);w==null||w.t.delete(e)}}},Vle=(t,e)=>{var n;const r=Ra(t),o=r[1],s=r[4],a=r[6],i=r[10],l=r[11],u=r[12],d=r[13],f=r[14],m=r[16],g=l(t,e);let w=o.get(e);if(!w){f(t,e);for(const b of g.d.keys())Vle(t,b).t.add(e);if(w={l:new Set,d:new Set(g.d.keys()),t:new Set},o.set(e,w),(n=a.m)==null||n.call(a,e),Q8(e)){const b=()=>{let j=!0;const S=(...I)=>{try{return m(t,e,...I)}finally{j||(d(t),u(t))}};try{const I=i(t,e,S);I&&(w.u=()=>{j=!0;try{I()}finally{j=!1}})}finally{j=!1}};s.add(b)}}return w},lUe=(t,e)=>{var n;const r=Ra(t),o=r[1],s=r[5],a=r[6],i=r[11],l=r[19],u=i(t,e);let d=o.get(e);if(d&&!d.l.size&&!Array.from(d.t).some(f=>{var m;return(m=o.get(f))==null?void 0:m.d.has(e)})){d.u&&s.add(d.u),d=void 0,o.delete(e),(n=a.u)==null||n.call(a,e);for(const f of u.d.keys()){const m=l(t,f);m==null||m.t.delete(e)}return}return d},cj=(t,e,n)=>{const r=Ra(t)[11],o=r(t,e),s="v"in o,a=o.v;if(lj(n))for(const i of o.d.keys())Ble(e,n,r(t,i));o.v=n,delete o.e,(!s||!Object.is(a,o.v))&&(++o.n,lj(a)&&QBe(a))},cUe=(t,e)=>{const n=Ra(t)[14];return aj(n(t,e))},uUe=(t,e,...n)=>{const r=Ra(t),o=r[12],s=r[13],a=r[16];try{return a(t,e,...n)}finally{s(t),o(t)}},fUe=(t,e,n)=>{const r=Ra(t),o=r[12],s=r[18],a=r[19],l=s(t,e).l;return l.add(n),o(t),()=>{l.delete(n),a(t,e),o(t)}},Hle=new WeakMap,Ra=t=>{const e=Hle.get(t);if((vy?"production":void 0)!=="production"&&!e)throw new Error("Store must be created by buildStore to read its building blocks");return e};function dUe(...t){const e={get(r){const o=Ra(e)[21];return o(e,r)},set(r,...o){const s=Ra(e)[22];return s(e,r,...o)},sub(r,o){const s=Ra(e)[23];return s(e,r,o)}},n=[new WeakMap,new WeakMap,new WeakMap,new Set,new Set,new Set,{},JBe,XBe,eUe,tUe,nUe,rUe,oUe,sUe,aUe,$le,iUe,Vle,lUe,cj,cUe,uUe,fUe,void 0].map((r,o)=>t[o]||r);return Hle.set(e,Object.freeze(n)),e}const Wle={};let pUe=0;function hUe(t,e){const n=`atom${++pUe}`,r={toString(){return(Wle?"production":void 0)!=="production"&&this.debugLabel?n+":"+this.debugLabel:n}};return r.init=t,r.read=mUe,r.write=gUe,r}function mUe(t){return t(this)}function gUe(t,e,n){return e(this,typeof n=="function"?n(t(this)):n)}function yUe(){return dUe()}let bw;function Yle(){return bw||(bw=yUe(),(Wle?"production":void 0)!=="production"&&(globalThis.__JOTAI_DEFAULT_STORE__||(globalThis.__JOTAI_DEFAULT_STORE__=bw),globalThis.__JOTAI_DEFAULT_STORE__!==bw&&console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"))),bw}const vUe=h.createContext(void 0);function wUe(t){return h.useContext(vUe)||Yle()}const X8=t=>typeof(t==null?void 0:t.then)=="function",eM=t=>{t.status||(t.status="pending",t.then(e=>{t.status="fulfilled",t.value=e},e=>{t.status="rejected",t.reason=e}))},bUe=Be.use||(t=>{if(t.status==="pending")throw t;if(t.status==="fulfilled")return t.value;throw t.status==="rejected"?t.reason:(eM(t),t)}),iA=new WeakMap,WY=(t,e)=>{let n=iA.get(t);return n||(n=new Promise((r,o)=>{let s=t;const a=u=>d=>{s===u&&r(d)},i=u=>d=>{s===u&&o(d)},l=()=>{try{const u=e();X8(u)?(iA.set(u,n),s=u,u.then(a(u),i(u)),J8(u,l)):r(u)}catch(u){o(u)}};t.then(a(t),i(t)),J8(t,l)}),iA.set(t,n)),n};function Gle(t,e){const{delay:n,unstable_promiseStatus:r=!Be.use}={},o=wUe(),[[s,a,i],l]=h.useReducer(d=>{const f=o.get(t);return Object.is(d[0],f)&&d[1]===o&&d[2]===t?d:[f,o,t]},void 0,()=>[o.get(t),o,t]);let u=s;if((a!==o||i!==t)&&(l(),u=o.get(t)),h.useEffect(()=>{const d=o.sub(t,()=>{if(r)try{const f=o.get(t);X8(f)&&eM(WY(f,()=>o.get(t)))}catch{}if(typeof n=="number"){setTimeout(l,n);return}l()});return l(),d},[o,t,n,r]),h.useDebugValue(u),X8(u)){const d=WY(u,()=>o.get(t));return r&&eM(d),bUe(d)}return u}const Jw=hUe(!1),lA=Yle(),Mm=class Mm extends EventTarget{constructor(){super();je(this,"currentMedia",null)}static getInstance(){return Mm.instance||(Mm.instance=new Mm),Mm.instance}pause(n){n&&(xUe(n)||(this.currentMedia===n&&(this.currentMedia=null),n.pause()))}autoPlay(n){document.pictureInPictureElement&&cA(document.pictureInPictureElement)||lA.get(Jw)&&this.currentMedia&&cA(this.currentMedia)||this.play(n)}play(n){n&&(document.pictureInPictureElement&&document.pictureInPictureElement!==n&&document.pictureInPictureElement.pause(),this.currentMedia&&this.currentMedia!==n&&this.currentMedia.pause(),this.currentMedia=n,!cA(n)&&this.currentMedia.play().catch(r=>{console.error("Error playing media:",r),this.currentMedia=null}))}playAudioBackground(n,r=0){this.dispatchEvent(new CustomEvent("playAudioBackground",{detail:{src:n,time:r}})),lA.set(Jw,!0)}stopAudioBackground(){this.dispatchEvent(new Event("stopAudioBackground")),lA.set(Jw,!1)}};je(Mm,"instance");let tM=Mm;const Hu=tM.getInstance();function cA(t){return t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>=2}function xUe(t){return document.pictureInPictureElement===t?!0:t.webkitPresentationMode==="picture-in-picture"}function uj(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function YY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function qle(...t){return e=>{let n=!1;const r=t.map(o=>{const s=YY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():YY(t[o],null)}}}}function kUe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,jUe(o,...e)]}function jUe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function Kle({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=CUe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function CUe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var Zle=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(EUe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(nM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(nM,{...r,ref:e,children:n})});Zle.displayName="Slot";var nM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=IUe(n);return h.cloneElement(n,{...NUe(r,n.props),ref:e?qle(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});nM.displayName="SlotClone";var SUe=({children:t})=>c.jsx(c.Fragment,{children:t});function EUe(t){return h.isValidElement(t)&&t.type===SUe}function NUe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function IUe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var AUe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],_Ue=AUe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Zle:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function Br(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function BL(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,MUe(o,...e)]}function MUe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function GY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function UL(...t){return e=>{let n=!1;const r=t.map(o=>{const s=GY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():GY(t[o],null)}}}}function fd(...t){return h.useCallback(UL(...t),t)}var i2=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(TUe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(rM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(rM,{...r,ref:e,children:n})});i2.displayName="Slot";var rM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=LUe(n);return h.cloneElement(n,{...DUe(r,n.props),ref:e?UL(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});rM.displayName="SlotClone";var RUe=({children:t})=>c.jsx(c.Fragment,{children:t});function TUe(t){return h.isValidElement(t)&&t.type===RUe}function DUe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function LUe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function Qle(t){const e=t+"CollectionProvider",[n,r]=BL(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:w,children:b}=g,j=Be.useRef(null),S=Be.useRef(new Map).current;return c.jsx(o,{scope:w,itemMap:S,collectionRef:j,children:b})};a.displayName=e;const i=t+"CollectionSlot",l=Be.forwardRef((g,w)=>{const{scope:b,children:j}=g,S=s(i,b),I=fd(w,S.collectionRef);return c.jsx(i2,{ref:I,children:j})});l.displayName=i;const u=t+"CollectionItemSlot",d="data-radix-collection-item",f=Be.forwardRef((g,w)=>{const{scope:b,children:j,...S}=g,I=Be.useRef(null),N=fd(w,I),M=s(u,b);return Be.useEffect(()=>(M.itemMap.set(I,{ref:I,...S}),()=>void M.itemMap.delete(I))),c.jsx(i2,{[d]:"",ref:N,children:j})});f.displayName=u;function m(g){const w=s(t+"CollectionConsumer",g);return Be.useCallback(()=>{const j=w.collectionRef.current;if(!j)return[];const S=Array.from(j.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((M,D)=>S.indexOf(M.ref.current)-S.indexOf(D.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},m,r]}var PUe=h.createContext(void 0);function Jle(t){const e=h.useContext(PUe);return t||e||"ltr"}var OUe=yh.useId||(()=>{}),zUe=0;function oM(t){const[e,n]=h.useState(OUe());return pr(()=>{n(r=>r??String(zUe++))},[t]),e?`radix-${e}`:""}function FUe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var dx=t=>{const{present:e,children:n}=t,r=BUe(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=fd(r.ref,UUe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};dx.displayName="Presence";function BUe(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=FUe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=L6(r.current);s.current=i==="mounted"?u:"none"},[i]),pr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=L6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),pr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=L6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=L6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function L6(t){return(t==null?void 0:t.animationName)||"none"}function UUe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var $Ue=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Zg=$Ue.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?i2:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function VUe(t,e){t&&Ds.flushSync(()=>t.dispatchEvent(e))}function HUe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=WUe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function WUe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var uA="rovingFocusGroup.onEntryFocus",YUe={bubbles:!1,cancelable:!0},qS="RovingFocusGroup",[sM,Xle,GUe]=Qle(qS),[qUe,ece]=BL(qS,[GUe]),[KUe,ZUe]=qUe(qS),tce=h.forwardRef((t,e)=>c.jsx(sM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(sM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(QUe,{...t,ref:e})})}));tce.displayName=qS;var QUe=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=t,m=h.useRef(null),g=fd(e,m),w=Jle(s),[b=null,j]=HUe({prop:a,defaultProp:i,onChange:l}),[S,I]=h.useState(!1),N=or(u),M=Xle(n),D=h.useRef(!1),[P,L]=h.useState(0);return h.useEffect(()=>{const F=m.current;if(F)return F.addEventListener(uA,N),()=>F.removeEventListener(uA,N)},[N]),c.jsx(KUe,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:b,onItemFocus:h.useCallback(F=>j(F),[j]),onItemShiftTab:h.useCallback(()=>I(!0),[]),onFocusableItemAdd:h.useCallback(()=>L(F=>F+1),[]),onFocusableItemRemove:h.useCallback(()=>L(F=>F-1),[]),children:c.jsx(Zg.div,{tabIndex:S||P===0?-1:0,"data-orientation":r,...f,ref:g,style:{outline:"none",...t.style},onMouseDown:Br(t.onMouseDown,()=>{D.current=!0}),onFocus:Br(t.onFocus,F=>{const T=!D.current;if(F.target===F.currentTarget&&T&&!S){const R=new CustomEvent(uA,YUe);if(F.currentTarget.dispatchEvent(R),!R.defaultPrevented){const z=M().filter(ee=>ee.focusable),G=z.find(ee=>ee.active),Z=z.find(ee=>ee.id===b),U=[G,Z,...z].filter(Boolean).map(ee=>ee.ref.current);oce(U,d)}}D.current=!1}),onBlur:Br(t.onBlur,()=>I(!1))})})}),nce="RovingFocusGroupItem",rce=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,...a}=t,i=oM(),l=s||i,u=ZUe(nce,n),d=u.currentTabStopId===l,f=Xle(n),{onFocusableItemAdd:m,onFocusableItemRemove:g}=u;return h.useEffect(()=>{if(r)return m(),()=>g()},[r,m,g]),c.jsx(sM.ItemSlot,{scope:n,id:l,focusable:r,active:o,children:c.jsx(Zg.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...a,ref:e,onMouseDown:Br(t.onMouseDown,w=>{r?u.onItemFocus(l):w.preventDefault()}),onFocus:Br(t.onFocus,()=>u.onItemFocus(l)),onKeyDown:Br(t.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){u.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const b=e$e(w,u.orientation,u.dir);if(b!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let S=f().filter(I=>I.focusable).map(I=>I.ref.current);if(b==="last")S.reverse();else if(b==="prev"||b==="next"){b==="prev"&&S.reverse();const I=S.indexOf(w.currentTarget);S=u.loop?t$e(S,I+1):S.slice(I+1)}setTimeout(()=>oce(S))}})})})});rce.displayName=nce;var JUe={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function XUe(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function e$e(t,e,n){const r=XUe(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return JUe[r]}function oce(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}function t$e(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var n$e=tce,r$e=rce,aM=["Enter"," "],o$e=["ArrowDown","PageUp","Home"],sce=["ArrowUp","PageDown","End"],s$e=[...o$e,...sce],a$e={ltr:[...aM,"ArrowRight"],rtl:[...aM,"ArrowLeft"]},i$e={ltr:["ArrowLeft"],rtl:["ArrowRight"]},px="Menu",[l2,l$e,c$e]=Qle(px),[Qg,ace]=BL(px,[c$e,Eh,ece]),hx=Eh(),ice=ece(),[lce,Ih]=Qg(px),[u$e,mx]=Qg(px),cce=t=>{const{__scopeMenu:e,open:n=!1,children:r,dir:o,onOpenChange:s,modal:a=!0}=t,i=hx(e),[l,u]=h.useState(null),d=h.useRef(!1),f=or(s),m=Jle(o);return h.useEffect(()=>{const g=()=>{d.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>d.current=!1;return document.addEventListener("keydown",g,{capture:!0}),()=>{document.removeEventListener("keydown",g,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),c.jsx(sx,{...i,children:c.jsx(lce,{scope:e,open:n,onOpenChange:f,content:l,onContentChange:u,children:c.jsx(u$e,{scope:e,onClose:h.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:d,dir:m,modal:a,children:r})})})};cce.displayName=px;var f$e="MenuAnchor",$L=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t,o=hx(n);return c.jsx(ax,{...o,...r,ref:e})});$L.displayName=f$e;var VL="MenuPortal",[d$e,uce]=Qg(VL,{forceMount:void 0}),fce=t=>{const{__scopeMenu:e,forceMount:n,children:r,container:o}=t,s=Ih(VL,e);return c.jsx(d$e,{scope:e,forceMount:n,children:c.jsx(dx,{present:n||s.open,children:c.jsx(K2,{asChild:!0,container:o,children:r})})})};fce.displayName=VL;var Wl="MenuContent",[p$e,HL]=Qg(Wl),dce=h.forwardRef((t,e)=>{const n=uce(Wl,t.__scopeMenu),{forceMount:r=n.forceMount,...o}=t,s=Ih(Wl,t.__scopeMenu),a=mx(Wl,t.__scopeMenu);return c.jsx(l2.Provider,{scope:t.__scopeMenu,children:c.jsx(dx,{present:r||s.open,children:c.jsx(l2.Slot,{scope:t.__scopeMenu,children:a.modal?c.jsx(h$e,{...o,ref:e}):c.jsx(m$e,{...o,ref:e})})})})}),h$e=h.forwardRef((t,e)=>{const n=Ih(Wl,t.__scopeMenu),r=h.useRef(null),o=fd(e,r);return h.useEffect(()=>{const s=r.current;if(s)return mS(s)},[]),c.jsx(WL,{...t,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Br(t.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),m$e=h.forwardRef((t,e)=>{const n=Ih(Wl,t.__scopeMenu);return c.jsx(WL,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),WL=h.forwardRef((t,e)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,onDismiss:g,disableOutsideScroll:w,...b}=t,j=Ih(Wl,n),S=mx(Wl,n),I=hx(n),N=ice(n),M=l$e(n),[D,P]=h.useState(null),L=h.useRef(null),F=fd(e,L,j.onContentChange),T=h.useRef(0),R=h.useRef(""),z=h.useRef(0),G=h.useRef(null),Z=h.useRef("right"),W=h.useRef(0),U=w?Q2:h.Fragment,ee=w?{as:i2,allowPinchZoom:!0}:void 0,$=Y=>{var xe,ce;const q=R.current+Y,J=M().filter(pe=>!pe.disabled),ne=document.activeElement,re=(xe=J.find(pe=>pe.ref.current===ne))==null?void 0:xe.textValue,de=J.map(pe=>pe.textValue),Ee=N$e(de,q,re),we=(ce=J.find(pe=>pe.textValue===Ee))==null?void 0:ce.ref.current;(function pe(he){R.current=he,window.clearTimeout(T.current),he!==""&&(T.current=window.setTimeout(()=>pe(""),1e3))})(q),we&&setTimeout(()=>we.focus())};h.useEffect(()=>()=>window.clearTimeout(T.current),[]),pS();const H=h.useCallback(Y=>{var J,ne;return Z.current===((J=G.current)==null?void 0:J.side)&&A$e(Y,(ne=G.current)==null?void 0:ne.area)},[]);return c.jsx(p$e,{scope:n,searchRef:R,onItemEnter:h.useCallback(Y=>{H(Y)&&Y.preventDefault()},[H]),onItemLeave:h.useCallback(Y=>{var q;H(Y)||((q=L.current)==null||q.focus(),P(null))},[H]),onTriggerLeave:h.useCallback(Y=>{H(Y)&&Y.preventDefault()},[H]),pointerGraceTimerRef:z,onPointerGraceIntentChange:h.useCallback(Y=>{G.current=Y},[]),children:c.jsx(U,{...ee,children:c.jsx(q2,{asChild:!0,trapped:o,onMountAutoFocus:Br(s,Y=>{var q;Y.preventDefault(),(q=L.current)==null||q.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:c.jsx(qy,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,onDismiss:g,children:c.jsx(n$e,{asChild:!0,...N,dir:S.dir,orientation:"vertical",loop:r,currentTabStopId:D,onCurrentTabStopIdChange:P,onEntryFocus:Br(l,Y=>{S.isUsingKeyboardRef.current||Y.preventDefault()}),preventScrollOnEntryFocus:!0,children:c.jsx(RS,{role:"menu","aria-orientation":"vertical","data-state":Ace(j.open),"data-radix-menu-content":"",dir:S.dir,...I,...b,ref:F,style:{outline:"none",...b.style},onKeyDown:Br(b.onKeyDown,Y=>{const J=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,ne=Y.ctrlKey||Y.altKey||Y.metaKey,re=Y.key.length===1;J&&(Y.key==="Tab"&&Y.preventDefault(),!ne&&re&&$(Y.key));const de=L.current;if(Y.target!==de||!s$e.includes(Y.key))return;Y.preventDefault();const we=M().filter(xe=>!xe.disabled).map(xe=>xe.ref.current);sce.includes(Y.key)&&we.reverse(),S$e(we)}),onBlur:Br(t.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(T.current),R.current="")}),onPointerMove:Br(t.onPointerMove,c2(Y=>{const q=Y.target,J=W.current!==Y.clientX;if(Y.currentTarget.contains(q)&&J){const ne=Y.clientX>W.current?"right":"left";Z.current=ne,W.current=Y.clientX}}))})})})})})})});dce.displayName=Wl;var g$e="MenuGroup",YL=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return c.jsx(Zg.div,{role:"group",...r,ref:e})});YL.displayName=g$e;var y$e="MenuLabel",pce=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return c.jsx(Zg.div,{...r,ref:e})});pce.displayName=y$e;var fj="MenuItem",qY="menu.itemSelect",KS=h.forwardRef((t,e)=>{const{disabled:n=!1,onSelect:r,...o}=t,s=h.useRef(null),a=mx(fj,t.__scopeMenu),i=HL(fj,t.__scopeMenu),l=fd(e,s),u=h.useRef(!1),d=()=>{const f=s.current;if(!n&&f){const m=new CustomEvent(qY,{bubbles:!0,cancelable:!0});f.addEventListener(qY,g=>r==null?void 0:r(g),{once:!0}),VUe(f,m),m.defaultPrevented?u.current=!1:a.onClose()}};return c.jsx(hce,{...o,ref:l,disabled:n,onClick:Br(t.onClick,d),onPointerDown:f=>{var m;(m=t.onPointerDown)==null||m.call(t,f),u.current=!0},onPointerUp:Br(t.onPointerUp,f=>{var m;u.current||(m=f.currentTarget)==null||m.click()}),onKeyDown:Br(t.onKeyDown,f=>{const m=i.searchRef.current!=="";n||m&&f.key===" "||aM.includes(f.key)&&(f.currentTarget.click(),f.preventDefault())})})});KS.displayName=fj;var hce=h.forwardRef((t,e)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...s}=t,a=HL(fj,n),i=ice(n),l=h.useRef(null),u=fd(e,l),[d,f]=h.useState(!1),[m,g]=h.useState("");return h.useEffect(()=>{const w=l.current;w&&g((w.textContent??"").trim())},[s.children]),c.jsx(l2.ItemSlot,{scope:n,disabled:r,textValue:o??m,children:c.jsx(r$e,{asChild:!0,...i,focusable:!r,children:c.jsx(Zg.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:u,onPointerMove:Br(t.onPointerMove,c2(w=>{r?a.onItemLeave(w):(a.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Br(t.onPointerLeave,c2(w=>a.onItemLeave(w))),onFocus:Br(t.onFocus,()=>f(!0)),onBlur:Br(t.onBlur,()=>f(!1))})})})}),v$e="MenuCheckboxItem",mce=h.forwardRef((t,e)=>{const{checked:n=!1,onCheckedChange:r,...o}=t;return c.jsx(bce,{scope:t.__scopeMenu,checked:n,children:c.jsx(KS,{role:"menuitemcheckbox","aria-checked":dj(n)?"mixed":n,...o,ref:e,"data-state":KL(n),onSelect:Br(o.onSelect,()=>r==null?void 0:r(dj(n)?!0:!n),{checkForDefaultPrevented:!1})})})});mce.displayName=v$e;var gce="MenuRadioGroup",[w$e,b$e]=Qg(gce,{value:void 0,onValueChange:()=>{}}),yce=h.forwardRef((t,e)=>{const{value:n,onValueChange:r,...o}=t,s=or(r);return c.jsx(w$e,{scope:t.__scopeMenu,value:n,onValueChange:s,children:c.jsx(YL,{...o,ref:e})})});yce.displayName=gce;var vce="MenuRadioItem",wce=h.forwardRef((t,e)=>{const{value:n,...r}=t,o=b$e(vce,t.__scopeMenu),s=n===o.value;return c.jsx(bce,{scope:t.__scopeMenu,checked:s,children:c.jsx(KS,{role:"menuitemradio","aria-checked":s,...r,ref:e,"data-state":KL(s),onSelect:Br(r.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,n)},{checkForDefaultPrevented:!1})})})});wce.displayName=vce;var GL="MenuItemIndicator",[bce,x$e]=Qg(GL,{checked:!1}),xce=h.forwardRef((t,e)=>{const{__scopeMenu:n,forceMount:r,...o}=t,s=x$e(GL,n);return c.jsx(dx,{present:r||dj(s.checked)||s.checked===!0,children:c.jsx(Zg.span,{...o,ref:e,"data-state":KL(s.checked)})})});xce.displayName=GL;var k$e="MenuSeparator",kce=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return c.jsx(Zg.div,{role:"separator","aria-orientation":"horizontal",...r,ref:e})});kce.displayName=k$e;var j$e="MenuArrow",jce=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t,o=hx(n);return c.jsx(TS,{...o,...r,ref:e})});jce.displayName=j$e;var qL="MenuSub",[C$e,Cce]=Qg(qL),Sce=t=>{const{__scopeMenu:e,children:n,open:r=!1,onOpenChange:o}=t,s=Ih(qL,e),a=hx(e),[i,l]=h.useState(null),[u,d]=h.useState(null),f=or(o);return h.useEffect(()=>(s.open===!1&&f(!1),()=>f(!1)),[s.open,f]),c.jsx(sx,{...a,children:c.jsx(lce,{scope:e,open:r,onOpenChange:f,content:u,onContentChange:d,children:c.jsx(C$e,{scope:e,contentId:oM(),triggerId:oM(),trigger:i,onTriggerChange:l,children:n})})})};Sce.displayName=qL;var Lw="MenuSubTrigger",Ece=h.forwardRef((t,e)=>{const n=Ih(Lw,t.__scopeMenu),r=mx(Lw,t.__scopeMenu),o=Cce(Lw,t.__scopeMenu),s=HL(Lw,t.__scopeMenu),a=h.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:l}=s,u={__scopeMenu:t.__scopeMenu},d=h.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return h.useEffect(()=>d,[d]),h.useEffect(()=>{const f=i.current;return()=>{window.clearTimeout(f),l(null)}},[i,l]),c.jsx($L,{asChild:!0,...u,children:c.jsx(hce,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":Ace(n.open),...t,ref:UL(e,o.onTriggerChange),onClick:f=>{var m;(m=t.onClick)==null||m.call(t,f),!(t.disabled||f.defaultPrevented)&&(f.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Br(t.onPointerMove,c2(f=>{s.onItemEnter(f),!f.defaultPrevented&&!t.disabled&&!n.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:Br(t.onPointerLeave,c2(f=>{var g,w;d();const m=(g=n.content)==null?void 0:g.getBoundingClientRect();if(m){const b=(w=n.content)==null?void 0:w.dataset.side,j=b==="right",S=j?-5:5,I=m[j?"left":"right"],N=m[j?"right":"left"];s.onPointerGraceIntentChange({area:[{x:f.clientX+S,y:f.clientY},{x:I,y:m.top},{x:N,y:m.top},{x:N,y:m.bottom},{x:I,y:m.bottom}],side:b}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(f),f.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:Br(t.onKeyDown,f=>{var g;const m=s.searchRef.current!=="";t.disabled||m&&f.key===" "||a$e[r.dir].includes(f.key)&&(n.onOpenChange(!0),(g=n.content)==null||g.focus(),f.preventDefault())})})})});Ece.displayName=Lw;var Nce="MenuSubContent",Ice=h.forwardRef((t,e)=>{const n=uce(Wl,t.__scopeMenu),{forceMount:r=n.forceMount,...o}=t,s=Ih(Wl,t.__scopeMenu),a=mx(Wl,t.__scopeMenu),i=Cce(Nce,t.__scopeMenu),l=h.useRef(null),u=fd(e,l);return c.jsx(l2.Provider,{scope:t.__scopeMenu,children:c.jsx(dx,{present:r||s.open,children:c.jsx(l2.Slot,{scope:t.__scopeMenu,children:c.jsx(WL,{id:i.contentId,"aria-labelledby":i.triggerId,...o,ref:u,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:d=>{var f;a.isUsingKeyboardRef.current&&((f=l.current)==null||f.focus()),d.preventDefault()},onCloseAutoFocus:d=>d.preventDefault(),onFocusOutside:Br(t.onFocusOutside,d=>{d.target!==i.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:Br(t.onEscapeKeyDown,d=>{a.onClose(),d.preventDefault()}),onKeyDown:Br(t.onKeyDown,d=>{var g;const f=d.currentTarget.contains(d.target),m=i$e[a.dir].includes(d.key);f&&m&&(s.onOpenChange(!1),(g=i.trigger)==null||g.focus(),d.preventDefault())})})})})})});Ice.displayName=Nce;function Ace(t){return t?"open":"closed"}function dj(t){return t==="indeterminate"}function KL(t){return dj(t)?"indeterminate":t?"checked":"unchecked"}function S$e(t){const e=document.activeElement;for(const n of t)if(n===e||(n.focus(),document.activeElement!==e))return}function E$e(t,e){return t.map((n,r)=>t[(e+r)%t.length])}function N$e(t,e,n){const o=e.length>1&&Array.from(e).every(u=>u===e[0])?e[0]:e,s=n?t.indexOf(n):-1;let a=E$e(t,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.toLowerCase().startsWith(o.toLowerCase()));return l!==n?l:void 0}function I$e(t,e){const{x:n,y:r}=t;let o=!1;for(let s=0,a=e.length-1;s<e.length;a=s++){const i=e[s].x,l=e[s].y,u=e[a].x,d=e[a].y;l>r!=d>r&&n<(u-i)*(r-l)/(d-l)+i&&(o=!o)}return o}function A$e(t,e){if(!e)return!1;const n={x:t.clientX,y:t.clientY};return I$e(n,e)}function c2(t){return e=>e.pointerType==="mouse"?t(e):void 0}var _$e=cce,M$e=$L,R$e=fce,T$e=dce,D$e=YL,L$e=pce,P$e=KS,O$e=mce,z$e=yce,F$e=wce,B$e=xce,U$e=kce,$$e=jce,V$e=Sce,H$e=Ece,W$e=Ice,Y$e=yh.useId||(()=>{}),G$e=0;function KY(t){const[e,n]=h.useState(Y$e());return pr(()=>{n(r=>r??String(G$e++))},[t]),t||(e?`radix-${e}`:"")}var ZL="DropdownMenu",[q$e]=kUe(ZL,[ace]),Oa=ace(),[K$e,_ce]=q$e(ZL),Mce=t=>{const{__scopeDropdownMenu:e,children:n,dir:r,open:o,defaultOpen:s,onOpenChange:a,modal:i=!0}=t,l=Oa(e),u=h.useRef(null),[d=!1,f]=Kle({prop:o,defaultProp:s,onChange:a});return c.jsx(K$e,{scope:e,triggerId:KY(),triggerRef:u,contentId:KY(),open:d,onOpenChange:f,onOpenToggle:h.useCallback(()=>f(m=>!m),[f]),modal:i,children:c.jsx(_$e,{...l,open:d,onOpenChange:f,dir:r,modal:i,children:n})})};Mce.displayName=ZL;var Rce="DropdownMenuTrigger",Tce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=t,s=_ce(Rce,n),a=Oa(n);return c.jsx(M$e,{asChild:!0,...a,children:c.jsx(_Ue.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:qle(e,s.triggerRef),onPointerDown:uj(t.onPointerDown,i=>{!r&&i.button===0&&i.ctrlKey===!1&&(s.onOpenToggle(),s.open||i.preventDefault())}),onKeyDown:uj(t.onKeyDown,i=>{r||(["Enter"," "].includes(i.key)&&s.onOpenToggle(),i.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())})})})});Tce.displayName=Rce;var Z$e="DropdownMenuPortal",Dce=t=>{const{__scopeDropdownMenu:e,...n}=t,r=Oa(e);return c.jsx(R$e,{...r,...n})};Dce.displayName=Z$e;var Lce="DropdownMenuContent",Pce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=_ce(Lce,n),s=Oa(n),a=h.useRef(!1);return c.jsx(T$e,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...r,ref:e,onCloseAutoFocus:uj(t.onCloseAutoFocus,i=>{var l;a.current||(l=o.triggerRef.current)==null||l.focus(),a.current=!1,i.preventDefault()}),onInteractOutside:uj(t.onInteractOutside,i=>{const l=i.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0,d=l.button===2||u;(!o.modal||d)&&(a.current=!0)}),style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Pce.displayName=Lce;var Q$e="DropdownMenuGroup",J$e=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(D$e,{...o,...r,ref:e})});J$e.displayName=Q$e;var X$e="DropdownMenuLabel",Oce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(L$e,{...o,...r,ref:e})});Oce.displayName=X$e;var eVe="DropdownMenuItem",zce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(P$e,{...o,...r,ref:e})});zce.displayName=eVe;var tVe="DropdownMenuCheckboxItem",Fce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(O$e,{...o,...r,ref:e})});Fce.displayName=tVe;var nVe="DropdownMenuRadioGroup",rVe=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(z$e,{...o,...r,ref:e})});rVe.displayName=nVe;var oVe="DropdownMenuRadioItem",Bce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(F$e,{...o,...r,ref:e})});Bce.displayName=oVe;var sVe="DropdownMenuItemIndicator",Uce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(B$e,{...o,...r,ref:e})});Uce.displayName=sVe;var aVe="DropdownMenuSeparator",$ce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(U$e,{...o,...r,ref:e})});$ce.displayName=aVe;var iVe="DropdownMenuArrow",lVe=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx($$e,{...o,...r,ref:e})});lVe.displayName=iVe;var cVe=t=>{const{__scopeDropdownMenu:e,children:n,open:r,onOpenChange:o,defaultOpen:s}=t,a=Oa(e),[i=!1,l]=Kle({prop:r,defaultProp:s,onChange:o});return c.jsx(V$e,{...a,open:i,onOpenChange:l,children:n})},uVe="DropdownMenuSubTrigger",Vce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(H$e,{...o,...r,ref:e})});Vce.displayName=uVe;var fVe="DropdownMenuSubContent",Hce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(W$e,{...o,...r,ref:e,style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Hce.displayName=fVe;var dVe=Mce,pVe=Tce,Wce=Dce,Yce=Pce,Gce=Oce,qce=zce,Kce=Fce,Zce=Bce,Qce=Uce,Jce=$ce,hVe=cVe,Xce=Vce,eue=Hce;const li=({open:t,onOpenChange:e,...n})=>{const[r,o]=h.useState(!1),s=t!==void 0,a=s?t:r,i=h.useRef(null),l=h.useCallback(u=>{s||o(u),e==null||e(u)},[s,e]);return h.useEffect(()=>{if(a){const u=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=u}}},[a]),c.jsxs(c.Fragment,{children:[a&&Ds.createPortal(c.jsx("div",{ref:i,className:"fixed inset-0 z-50 pointer-events-auto",onClick:u=>{u.stopPropagation(),l(!1)}}),document.body),c.jsx(dVe,{...n,open:a,onOpenChange:l,modal:!1})]})};li.displayName="DropdownMenu";const Ti=pVe,mVe=hVe,tue=h.forwardRef(({className:t,inset:e,children:n,...r},o)=>c.jsxs(Xce,{ref:o,className:Te("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e&&"pl-8",t),...r,children:[n,c.jsx($se,{className:"ml-auto"})]}));tue.displayName=Xce.displayName;const nue=h.forwardRef(({className:t,showScrollButtons:e=!0,...n},r)=>{const[o,s]=h.useState(!1),[a,i]=h.useState(!1),l=h.useRef(null),u=h.useRef(null);h.useImperativeHandle(r,()=>l.current);const d=h.useCallback(()=>{requestAnimationFrame(()=>{const g=u.current;g&&(s(g.scrollTop>0),i(g.scrollTop<g.scrollHeight-g.clientHeight))})},[]),f=()=>{var g;(g=u.current)==null||g.scroll({top:0,behavior:"smooth"})},m=()=>{var g;(g=u.current)==null||g.scroll({top:u.current.scrollHeight,behavior:"smooth"})};return c.jsx(Wce,{children:c.jsxs(eue,{ref:l,className:Te("relative z-50 min-w-52 overflow-hidden rounded-xl border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),onAnimationEnd:()=>{e&&d()},collisionPadding:10,...n,children:[e&&o&&c.jsx("div",{className:"absolute top-0 inset-x-0 z-10 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:f,onMouseEnter:f,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(wd,{className:"h-4 w-4"})})}),c.jsx("div",{ref:u,className:Te("p-1 overflow-y-auto scrollbar-hide",t),onScroll:d,children:n.children}),e&&a&&c.jsx("div",{className:"absolute bottom-0 inset-x-0 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:m,onMouseEnter:m,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(ic,{className:"h-4 w-4"})})})]})})});nue.displayName=eue.displayName;const ci=h.forwardRef(({className:t,sideOffset:e=4,showScrollButtons:n=!1,...r},o)=>{const[s,a]=h.useState(!1),[i,l]=h.useState(!1),u=h.useRef(null),d=h.useRef(null);h.useImperativeHandle(o,()=>u.current);const f=h.useCallback(()=>{requestAnimationFrame(()=>{const w=d.current;w&&(a(w.scrollTop>0),l(w.scrollTop<w.scrollHeight-w.clientHeight))})},[]),m=()=>{var w;(w=d.current)==null||w.scroll({top:0,behavior:"smooth"})},g=()=>{var w;(w=d.current)==null||w.scroll({top:d.current.scrollHeight,behavior:"smooth"})};return c.jsx(Wce,{children:c.jsxs(Yce,{ref:u,sideOffset:e,className:Te("relative z-50 min-w-52 overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),onAnimationEnd:()=>{n&&f()},collisionPadding:10,...r,children:[n&&s&&c.jsx("div",{className:"absolute top-0 inset-x-0 z-10 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:m,onMouseEnter:m,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(wd,{className:"h-4 w-4"})})}),c.jsx("div",{ref:d,className:Te("p-1 overflow-y-auto scrollbar-hide",t),onScroll:f,onWheel:w=>w.stopPropagation(),children:r.children}),n&&i&&c.jsx("div",{className:"absolute bottom-0 inset-x-0 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:g,onMouseEnter:g,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(ic,{className:"h-4 w-4"})})})]})})});ci.displayName=Yce.displayName;const Er=h.forwardRef(({className:t,inset:e,...n},r)=>c.jsx(qce,{ref:r,className:Te("relative flex cursor-pointer select-none items-center gap-2 px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 rounded-md",e&&"pl-8",t),...n}));Er.displayName=qce.displayName;const rue=h.forwardRef(({className:t,children:e,checked:n,...r},o)=>c.jsxs(Kce,{ref:o,className:Te("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:n,...r,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Qce,{children:c.jsx(Zr,{className:"h-4 w-4"})})}),e]}));rue.displayName=Kce.displayName;const gVe=h.forwardRef(({className:t,children:e,...n},r)=>c.jsxs(Zce,{ref:r,className:Te("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Qce,{children:c.jsx(Yse,{className:"h-2 w-2 fill-current"})})}),e]}));gVe.displayName=Zce.displayName;const ZS=h.forwardRef(({className:t,inset:e,...n},r)=>c.jsx(Gce,{ref:r,className:Te("px-2 py-1.5 text-sm font-semibold",e&&"pl-8",t),...n}));ZS.displayName=Gce.displayName;const hh=h.forwardRef(({className:t,...e},n)=>c.jsx(Jce,{ref:n,className:Te("-mx-1 my-1 h-px bg-muted",t),...e}));hh.displayName=Jce.displayName;function jd({url:t,className:e,justOpenLink:n}){const{t:r}=Ke(),{isSmallScreen:o}=gn(),{push:s}=Cn(),[a,i]=h.useState(!1),l=h.useMemo(()=>kb(t),[t]),u=m=>{m.stopPropagation(),o&&i(!1),window.open(t,"_blank","noreferrer")},d=m=>{if(m.stopPropagation(),o){i(!1),setTimeout(()=>s(yy(t)),100);return}s(yy(t))};if(n)return c.jsx("a",{href:t,target:"_blank",rel:"noreferrer",className:Te("cursor-pointer text-primary hover:underline",e),onClick:m=>m.stopPropagation(),children:l});const f=c.jsx("span",{className:Te("cursor-pointer text-primary hover:underline",e),onClick:m=>{m.stopPropagation(),o&&i(!0)},title:t,children:l});return o?c.jsxs(c.Fragment,{children:[f,c.jsxs(io,{open:a,onOpenChange:i,children:[c.jsx(cc,{onClick:m=>{m.stopPropagation(),i(!1)}}),c.jsx(lo,{hideOverlay:!0,children:c.jsxs("div",{className:"py-2",children:[c.jsxs(Pe,{onClick:u,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(of,{}),r("Open link")]}),c.jsxs(Pe,{onClick:d,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(sf,{}),r("View Nostr discussions")]})]})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{children:c.jsx("span",{className:Te("cursor-pointer text-primary hover:underline",e),title:t,children:l})}),c.jsxs(ci,{align:"start",onClick:m=>m.stopPropagation(),children:[c.jsxs(Er,{onClick:u,children:[c.jsx(of,{}),r("Open link")]}),c.jsxs(Er,{onClick:d,children:[c.jsx(sf,{}),r("View Nostr discussions")]})]})]})}function QL({src:t,autoPlay:e=!1,startTime:n,isMinimized:r=!1,className:o}){const s=h.useRef(null),[a,i]=h.useState(!1),[l,u]=h.useState(0),[d,f]=h.useState(0),[m,g]=h.useState(!1),w=h.useRef(),b=h.useRef(!1),j=h.useRef(null);h.useEffect(()=>{const N=s.current;if(!N)return;n&&(u(n),N.currentTime=n),e&&S();const M=()=>{b.current||u(N.currentTime)},D=()=>f(N.duration),P=()=>i(!1),L=()=>i(!1),F=()=>i(!0);return N.addEventListener("timeupdate",M),N.addEventListener("loadedmetadata",D),N.addEventListener("ended",P),N.addEventListener("pause",L),N.addEventListener("play",F),()=>{N.removeEventListener("timeupdate",M),N.removeEventListener("loadedmetadata",D),N.removeEventListener("ended",P),N.removeEventListener("pause",L),N.removeEventListener("play",F)}},[]),h.useEffect(()=>{const N=s.current,M=j.current;if(!N||!M)return;const D=new IntersectionObserver(([P])=>{P.isIntersecting||N.pause()},{threshold:1});return D.observe(M),()=>{D.unobserve(M)}},[]);const S=()=>{const N=s.current;N&&(a?(N.pause(),i(!1)):(N.play(),i(!0),Hu.play(N)))},I=N=>{const M=s.current;M&&(b.current=!0,u(N[0]),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{M.currentTime=N[0],b.current=!1},300))};return m?c.jsx(jd,{url:t}):c.jsxs("div",{ref:j,className:Te("flex items-center gap-3 py-2 px-2 border rounded-full max-w-md bg-background",o),onClick:N=>N.stopPropagation(),children:[c.jsx("audio",{ref:s,src:t,preload:"metadata",onError:()=>g(!1)}),c.jsx(Pe,{size:"icon",className:"rounded-full shrink-0",onClick:S,children:a?c.jsx(O7e,{fill:"currentColor"}):c.jsx(oL,{fill:"currentColor"})}),c.jsx("div",{className:"flex-1 relative",children:c.jsx(GS,{value:[l],max:d||100,step:1,onValueChange:I,hideThumb:!0,enableHoverAnimation:!0})}),c.jsx("div",{className:"text-sm font-mono text-muted-foreground",children:yVe(Math.max(d-l,0))}),r?c.jsx(Pe,{variant:"ghost",size:"icon",className:"rounded-full shrink-0 text-muted-foreground",onClick:()=>Hu.stopAudioBackground(),children:c.jsx(ia,{})}):c.jsx(Pe,{variant:"ghost",size:"icon",className:"rounded-full shrink-0 text-muted-foreground",onClick:()=>{var N;return Hu.playAudioBackground(t,((N=s.current)==null?void 0:N.currentTime)||0)},children:c.jsx(R7e,{})})]})}const yVe=t=>{if(t===1/0||isNaN(t))return"-:--";const e=Math.floor(t/60),n=Math.floor(t%60);return`${e}:${n.toString().padStart(2,"0")}`};function JL({event:t}){const{t:e}=Ke(),n=h.useMemo(()=>Mke(t),[t]);return n?c.jsx("span",{className:"text-sm text-muted-foreground shrink-0",children:e("via {{client}}",{client:n})}):null}function Mi({emoji:t,classNames:e}){const[n,r]=h.useState(!1);return typeof t=="string"?t==="+"?c.jsx(Qk,{className:Te("size-5 text-red-400 fill-red-400",e==null?void 0:e.img)}):c.jsx("span",{className:Te("whitespace-nowrap",e==null?void 0:e.text),children:t}):n?c.jsx("span",{className:Te("whitespace-nowrap",e==null?void 0:e.text),children:`:${t.shortcode}:`}):c.jsx("img",{src:t.url,alt:t.shortcode,draggable:!1,className:Te("inline-block size-5 rounded-sm pointer-events-none",e==null?void 0:e.img),onLoad:()=>{r(!1)},onError:()=>{r(!0)}})}function oue({onHighlight:t,containerRef:e}){const{t:n}=Ke(),[r,o]=h.useState(null),[s,a]=h.useState(""),i=h.useRef(null);return h.useEffect(()=>{const l=()=>{setTimeout(()=>{const u=window.getSelection(),d=u==null?void 0:u.toString().trim();if(!d||d.length===0){o(null),a("");return}if(e!=null&&e.current){const b=u==null?void 0:u.getRangeAt(0);if(b&&!e.current.contains(b.commonAncestorContainer)){o(null),a("");return}}const f=u==null?void 0:u.getRangeAt(0);if(!f)return;const m=f.getBoundingClientRect(),g=window.pageYOffset||document.documentElement.scrollTop,w=window.pageXOffset||document.documentElement.scrollLeft;o({top:m.top+g-48,left:m.left+w+m.width/2}),a(d)},10)};return document.addEventListener("mouseup",l),document.addEventListener("touchend",l),()=>{document.removeEventListener("mouseup",l),document.removeEventListener("touchend",l)}},[e]),h.useEffect(()=>{const l=u=>{if(i.current&&!i.current.contains(u.target)){const d=window.getSelection();d!=null&&d.toString().trim()||(o(null),a(""))}};return document.addEventListener("mousedown",l),()=>{document.removeEventListener("mousedown",l)}},[]),!r||!s?null:c.jsx("div",{className:"fixed z-50 animate-in fade-in-0 slide-in-from-bottom-4 duration-200",style:{top:`${r.top}px`,left:`${r.left}px`},children:c.jsxs(Pe,{ref:i,size:"sm",variant:"default",className:"shadow-lg gap-2 -translate-x-1/2",onClick:l=>{var u;l.stopPropagation(),t(s),(u=window.getSelection())==null||u.removeAllRanges(),o(null),a("")},children:[c.jsx(Jse,{className:"h-4 w-4"}),n("Highlight")]})})}const P6=2e3,vVe=1500,C0=class C0{constructor(){je(this,"cacheMap",new Map);return C0.instance||(C0.instance=this),C0.instance}async validateUrl(e,n=P6){const r=new AbortController,o=setTimeout(()=>r.abort(),n);try{const s=await fetch(e,{method:"HEAD",signal:r.signal,mode:"cors"});return clearTimeout(o),s.ok}catch{return clearTimeout(o),!1}}buildBlobUrl(e,n,r){try{const o=new URL(e);return o.pathname="/"+n+(r||""),o.toString()}catch{return e+"/"+n+(r||"")}}async getBlossomServers(e){const r=[...await Oe.fetchBlossomServerList(e)];for(const o of hk)try{const s=new URL(o);r.some(a=>new URL(a).hostname===s.hostname)||r.push(o)}catch{}return r}async raceUrls(e,n){return e.length===0?null:new Promise(r=>{let o=!1,s=e.length;const a=async i=>{await this.validateUrl(i,n)&&!o?(o=!0,r(i)):(s--,s===0&&!o&&r(null))};e.forEach(i=>a(i))})}async getValidUrl(e,n){const r=this.cacheMap.get(e);if(r!=null&&r.validUrl)return r.validUrl;if(r!=null&&r.promise&&r.validating)return r.promise;let o=null,s=null;try{const u=new URL(e);o=KI(u);const d=u.pathname.match(/\.\w+$/i);s=d?d[0]:null}catch{return e}if(!o)return e;let a;const i=new Promise(u=>{a=u}),l={pubkey:n,resolve:a,promise:i,tried:new Set,validating:!0};return this.cacheMap.set(e,l),this.validateAndFindBestUrl(e,n,o,s,l),i}async validateAndFindBestUrl(e,n,r,o,s){const a=new URL(e).hostname;s.tried.add(a);const i=this.validateUrl(e,P6),l=new Promise(w=>setTimeout(()=>w("timeout"),vVe)),u=await Promise.race([i.then(w=>({type:"original",valid:w})),l.then(()=>({type:"timeout"}))]);if(u.type==="original"&&u.valid){s.validUrl=e,s.validating=!1,s.resolve(e);return}const m=[...(await this.getBlossomServers(n)).map(w=>{try{const b=new URL(w).hostname;return s.tried.has(b)?null:(s.tried.add(b),this.buildBlobUrl(w,r,o))}catch{return null}}).filter(w=>w!==null)];if(u.type==="timeout"&&await i){s.validUrl=e,s.validating=!1,s.resolve(e);return}const g=await this.raceUrls(m,P6);if(g){s.validUrl=g,s.validating=!1,s.resolve(g);return}s.validUrl=e,s.validating=!1,s.resolve(e)}async tryNextUrl(e){const n=this.cacheMap.get(e);if(!n)return null;if(n.validUrl&&n.validUrl!==e)return n.validUrl;const{pubkey:r,tried:o,resolve:s}=n;let a=null,i=null;try{const d=new URL(e);a=KI(d);const f=d.pathname.match(/\.\w+$/i);i=f?f[0]:null}catch{return s(e),null}if(!r||!a)return s(e),null;const u=(await this.getBlossomServers(r)).map(d=>{try{const f=new URL(d);return o.has(f.hostname)?null:(o.add(f.hostname),this.buildBlobUrl(d,a,i))}catch{return null}}).filter(d=>d!==null);for(const d of u)if(await this.validateUrl(d,P6))return n.validUrl=d,s(d),d;return s(e),null}markAsSuccess(e,n){const r=this.cacheMap.get(e);if(!r){this.cacheMap.set(e,{resolve:()=>{},promise:Promise.resolve(n),tried:new Set,validUrl:n,validating:!1});return}r.resolve(n),r.validUrl=n,r.validating=!1}isValidBlobHash(e){return/^[a-f0-9]{64}$/i.test(e)}async queryBindingEvent(e){if(!this.isValidBlobHash(e))return null;const n=e.toLowerCase();try{const r=Array.from(new Set([...Oe.currentRelays,...uee])),o=await Oe.fetchEvents(r,{kinds:[Nk],"#x":[n],limit:1});if(o.length===0)return null;const s=o[0],a=Rne(s);return a.length>0?a:null}catch{return null}}extractHashFromUrl(e){try{const n=KI(new URL(e));return n&&this.isValidBlobHash(n)?n.toLowerCase():null}catch{return null}}};je(C0,"instance");let iM=C0;const ed=new iM,H3=new Map,fA=new Map,wVe=1063;function sue(t){try{const r=new URL(t).pathname.split("/").filter(Boolean);if(r.length===0)return null;const s=r[r.length-1].replace(/\.[^.]+$/,"");return/^[a-fA-F0-9]{64}$/.test(s)?s.toLowerCase():null}catch{return null}}async function XL(t){if(H3.has(t))return H3.get(t)??null;const e=fA.get(t);if(e)return e;const n=EVe(t);fA.set(t,n);try{const r=await n;return H3.set(t,r),r}finally{fA.delete(t)}}async function bVe(t){const e=sue(t);return e?XL(e):null}function xVe(t,e,n=1){if(t.length===0)return null;const r=e*n,o=[...t].sort((s,a)=>s.width-a.width);for(const s of o)if(s.width>=r)return s;return o[o.length-1]}function kVe(t){const e=t.find(n=>n.variant==="original");return e||(t.length===0?null:t.reduce((n,r)=>n.width>r.width?n:r))}function jVe(t){return t.find(e=>e.variant==="thumb")??null}function CVe(){H3.clear()}async function SVe(t){await Promise.all(t.map(e=>XL(e)))}async function EVe(t){try{const e=Array.from(new Set([...Oe.currentRelays,...uee])),n=await Oe.fetchEvents(e,{kinds:[wVe],"#x":[t],limit:5});if(!n||n.length===0)return null;const o=Array.from(n).reduce((s,a)=>s.created_at>a.created_at?s:a);try{const s=Rne({kind:o.kind,tags:o.tags});return s.length>0?s:null}catch{return null}}catch(e){return console.warn("Failed to lookup responsive variants:",e),null}}const O6={extractSha256FromUrl:sue,getVariantsForHash:XL,getVariantsForUrl:bVe,selectVariant:xVe,getOriginalVariant:kVe,getThumbnailVariant:jVe,clearCache:CVe,prefetchVariants:SVe},aue="carousel",iue="controller",NVe="navigation",IVe="no-scroll",e7="portal",AVe="root",lue="toolbar",ZY="zoom",dA="loading",pA="error",hA="complete",_Ve="placeholder",MVe=t=>`active-slide-${t}`,RVe="fullsize",t7="flex_center",TVe="no_scroll",cue="no_scroll_padding",uue="slide_wrapper",DVe="slide_wrapper_interactive",Cm="prev",Sm="next",QY="swipe",wy="close",fue="onPointerDown",due="onPointerMove",pue="onPointerUp",hue="onPointerLeave",mue="onPointerCancel",n7="onKeyDown",LVe="onKeyUp",r7="onWheel",PVe="Escape",OVe="ArrowLeft",zVe="ArrowRight",FVe="button",lM="icon",gue="contain",JY="cover",yue="Unknown action type",vue="yarl__";function Zu(...t){return[...t].filter(Boolean).join(" ")}function vr(t){return`${vue}${t}`}function ji(t){return`--${vue}${t}`}function gx(t,e){return`${t}${e?`_${e}`:""}`}function o7(t){return e=>gx(t,e)}function BVe(t,e){var n;return(n=t==null?void 0:t[e])!==null&&n!==void 0?n:e}function s7(...t){return()=>{t.forEach(e=>{e()})}}function Ah(t,e,n){return()=>{const r=h.useContext(n);if(!r)throw new Error(`${t} must be used within a ${e}.Provider`);return r}}function a7(){return typeof window<"u"}function i7(t,e=0){const n=10**e;return Math.round((t+Number.EPSILON)*n)/n}function rv(t){return t.type===void 0||t.type==="image"}function l7(t,e){return t.imageFit===JY||t.imageFit!==gue&&e===JY}function QS(t){return typeof t=="string"?Number.parseInt(t,10):t}function pj(t){if(typeof t=="number")return{pixel:t};if(typeof t=="string"){const e=QS(t);return t.endsWith("%")?{percent:e}:{pixel:e}}return{pixel:0}}function UVe(t,e){const n=pj(e),r=n.percent!==void 0?t.width/100*n.percent:n.pixel;return{width:Math.max(t.width-2*r,0),height:Math.max(t.height-2*r,0)}}function $Ve(){return(a7()?window==null?void 0:window.devicePixelRatio:void 0)||1}function wue(t,e){return e>0?(t%e+e)%e:0}function bue(t){return t.length>0}function xue(t,e){return t[wue(e,t.length)]}function cM(t,e){return bue(t)?xue(t,e):void 0}function VVe(t){return rv(t)?t.src:void 0}function HVe(t,e,n){if(!n)return t;const{buttons:r,...o}=t,s=r.findIndex(i=>i===e),a=h.isValidElement(n)?h.cloneElement(n,{key:e},null):n;if(s>=0){const i=[...r];return i.splice(s,1,a),{buttons:i,...o}}return{buttons:[a,...r],...o}}function WVe(t,e,n=0){return Math.min(t.preload,Math.max(t.finite?e.length-1:Math.floor(e.length/2),n))}const YVe=Number(h.version.split(".")[0])>=19;function GVe(t){return{inert:YVe?t:t?"":void 0}}const uM={open:!1,close:()=>{},index:0,slides:[],render:{},plugins:[],toolbar:{buttons:[wy]},labels:{},animation:{fade:250,swipe:500,easing:{fade:"ease",swipe:"ease-out",navigation:"ease-in-out"}},carousel:{finite:!1,preload:2,padding:"16px",spacing:"30%",imageFit:gue,imageProps:{}},controller:{ref:null,focus:!0,aria:!1,touchAction:"none",closeOnPullUp:!1,closeOnPullDown:!1,closeOnBackdropClick:!1,preventDefaultWheelX:!0,preventDefaultWheelY:!1},portal:{},noScroll:{disabled:!1},on:{},styles:{},className:""};function _h(t,e){return{name:t,component:e}}function Is(t,e){return{module:t,children:e}}function kue(t,e,n){return t.module.name===e?n(t):t.children?[Is(t.module,t.children.flatMap(r=>{var o;return(o=kue(r,e,n))!==null&&o!==void 0?o:[]}))]:[t]}function Q1(t,e,n){return t.flatMap(r=>{var o;return(o=kue(r,e,n))!==null&&o!==void 0?o:[]})}function qVe(t,e=[],n=[]){let r=t;const o=g=>{const w=[...r];for(;w.length>0;){const b=w.pop();if((b==null?void 0:b.module.name)===g)return!0;b!=null&&b.children&&w.push(...b.children)}return!1},s=(g,w)=>{if(g===""){r=[Is(w,r)];return}r=Q1(r,g,b=>[Is(w,[b])])},a=(g,w)=>{r=Q1(r,g,b=>[Is(b.module,[Is(w,b.children)])])},i=(g,w,b)=>{r=Q1(r,g,j=>{var S;return[Is(j.module,[...b?[Is(w)]:[],...(S=j.children)!==null&&S!==void 0?S:[],...b?[]:[Is(w)]])]})},l=(g,w,b)=>{r=Q1(r,g,j=>[...b?[Is(w)]:[],j,...b?[]:[Is(w)]])},u=g=>{a(iue,g)},d=(g,w)=>{r=Q1(r,g,b=>[Is(w,b.children)])},f=g=>{r=Q1(r,g,w=>w.children)},m=g=>{n.push(g)};return e.forEach(g=>{g({contains:o,addParent:s,append:a,addChild:i,addSibling:l,addModule:u,replace:d,remove:f,augment:m})}),{config:r,augmentation:g=>n.reduce((w,b)=>b(w),g)}}const jue=h.createContext(null),JS=Ah("useDocument","DocumentContext",jue);function KVe({nodeRef:t,children:e}){const n=h.useMemo(()=>{const r=s=>{var a;return((a=s||t.current)===null||a===void 0?void 0:a.ownerDocument)||document};return{getOwnerDocument:r,getOwnerWindow:s=>{var a;return((a=r(s))===null||a===void 0?void 0:a.defaultView)||window}}},[t]);return h.createElement(jue.Provider,{value:n},e)}const Cue=h.createContext(null),XS=Ah("useEvents","EventsContext",Cue);function ZVe({children:t}){const[e]=h.useState({});h.useEffect(()=>()=>{Object.keys(e).forEach(r=>delete e[r])},[e]);const n=h.useMemo(()=>{const r=(a,i)=>{var l;(l=e[a])===null||l===void 0||l.splice(0,e[a].length,...e[a].filter(u=>u!==i))};return{publish:(...[a,i])=>{var l;(l=e[a])===null||l===void 0||l.forEach(u=>u(i))},subscribe:(a,i)=>(e[a]||(e[a]=[]),e[a].push(i),()=>r(a,i)),unsubscribe:r}},[e]);return h.createElement(Cue.Provider,{value:n},t)}const Sue=h.createContext(null),fc=Ah("useLightboxProps","LightboxPropsContext",Sue);function QVe({children:t,...e}){return h.createElement(Sue.Provider,{value:e},t)}const Eue=h.createContext(null),Mh=Ah("useLightboxState","LightboxStateContext",Eue),Nue=h.createContext(null),JVe=Ah("useLightboxDispatch","LightboxDispatchContext",Nue);function XVe(t,e){switch(e.type){case"swipe":{const{slides:n}=t,r=(e==null?void 0:e.increment)||0,o=t.globalIndex+r,s=wue(o,n.length),a=cM(n,s),i=r||e.duration?{increment:r,duration:e.duration,easing:e.easing}:void 0;return{slides:n,currentIndex:s,globalIndex:o,currentSlide:a,animation:i}}case"update":return e.slides!==t.slides||e.index!==t.currentIndex?{slides:e.slides,currentIndex:e.index,globalIndex:e.index,currentSlide:cM(e.slides,e.index)}:t;default:throw new Error(yue)}}function eHe({slides:t,index:e,children:n}){const[r,o]=h.useReducer(XVe,{slides:t,currentIndex:e,globalIndex:e,currentSlide:cM(t,e)});h.useEffect(()=>{o({type:"update",slides:t,index:e})},[t,e]);const s=h.useMemo(()=>({...r,state:r,dispatch:o}),[r,o]);return h.createElement(Nue.Provider,{value:o},h.createElement(Eue.Provider,{value:s},n))}const Iue=h.createContext(null),eE=Ah("useTimeouts","TimeoutsContext",Iue);function tHe({children:t}){const[e]=h.useState([]);h.useEffect(()=>()=>{e.forEach(r=>window.clearTimeout(r)),e.splice(0,e.length)},[e]);const n=h.useMemo(()=>{const r=a=>{e.splice(0,e.length,...e.filter(i=>i!==a))};return{setTimeout:(a,i)=>{const l=window.setTimeout(()=>{r(l),a()},i);return e.push(l),l},clearTimeout:a=>{a!==void 0&&(r(a),window.clearTimeout(a))}}},[e]);return h.createElement(Iue.Provider,{value:n},t)}const c7=h.forwardRef(function({label:e,className:n,icon:r,renderIcon:o,onClick:s,style:a,...i},l){const{styles:u,labels:d}=fc(),f=BVe(d,e);return h.createElement("button",{ref:l,type:"button",title:f,"aria-label":f,className:Zu(vr(FVe),n),onClick:s,style:{...a,...u.button},...i},o?o():h.createElement(r,{className:vr(lM),style:u.icon}))});function nHe(t,e){const n=r=>h.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true",focusable:"false",...r},e);return n.displayName=t,n}function Jg(t,e){return nHe(t,h.createElement("g",{fill:"currentColor"},h.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),e))}const rHe=Jg("Close",h.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),oHe=Jg("Previous",h.createElement("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})),sHe=Jg("Next",h.createElement("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),aHe=Jg("Loading",h.createElement(h.Fragment,null,Array.from({length:8}).map((t,e,n)=>h.createElement("line",{key:e,x1:"12",y1:"6.5",x2:"12",y2:"1.8",strokeLinecap:"round",strokeWidth:"2.6",stroke:"currentColor",strokeOpacity:1/n.length*(e+1),transform:`rotate(${360/n.length*e}, 12, 12)`})))),iHe=Jg("Error",h.createElement("path",{d:"M21.9,21.9l-8.49-8.49l0,0L3.59,3.59l0,0L2.1,2.1L0.69,3.51L3,5.83V19c0,1.1,0.9,2,2,2h13.17l2.31,2.31L21.9,21.9z M5,18 l3.5-4.5l2.5,3.01L12.17,15l3,3H5z M21,18.17L5.83,3H19c1.1,0,2,0.9,2,2V18.17z"})),df=a7()?h.useLayoutEffect:h.useEffect;function u7(){const[t,e]=h.useState(!1);return h.useEffect(()=>{var n,r;const o=(n=window.matchMedia)===null||n===void 0?void 0:n.call(window,"(prefers-reduced-motion: reduce)");e(o==null?void 0:o.matches);const s=a=>e(a.matches);return(r=o==null?void 0:o.addEventListener)===null||r===void 0||r.call(o,"change",s),()=>{var a;return(a=o==null?void 0:o.removeEventListener)===null||a===void 0?void 0:a.call(o,"change",s)}},[]),t}function lHe(t){let e=0,n=0,r=0;const s=window.getComputedStyle(t).transform.match(/matrix.*\((.+)\)/);if(s){const a=s[1].split(",").map(QS);a.length===6?(e=a[4],n=a[5]):a.length===16&&(e=a[12],n=a[13],r=a[14])}return{x:e,y:n,z:r}}function XY(t,e){const n=h.useRef(),r=h.useRef(),o=u7();return df(()=>{var s,a,i;if(t.current&&n.current!==void 0&&!o){const{keyframes:l,duration:u,easing:d,onfinish:f}=e(n.current,t.current.getBoundingClientRect(),lHe(t.current))||{};if(l&&u){(s=r.current)===null||s===void 0||s.cancel(),r.current=void 0;try{r.current=(i=(a=t.current).animate)===null||i===void 0?void 0:i.call(a,l,{duration:u,easing:d})}catch(m){console.error(m)}r.current&&(r.current.onfinish=()=>{r.current=void 0,f==null||f()})}}n.current=void 0}),{prepareAnimation:s=>{n.current=s},isAnimationPlaying:()=>{var s;return((s=r.current)===null||s===void 0?void 0:s.playState)==="running"}}}function Aue(){const t=h.useRef(null),e=h.useRef(),[n,r]=h.useState();return{setContainerRef:h.useCallback(s=>{t.current=s,e.current&&(e.current.disconnect(),e.current=void 0);const a=()=>{if(s){const i=window.getComputedStyle(s),l=u=>parseFloat(u)||0;r({width:Math.round(s.clientWidth-l(i.paddingLeft)-l(i.paddingRight)),height:Math.round(s.clientHeight-l(i.paddingTop)-l(i.paddingBottom))})}else r(void 0)};a(),s&&typeof ResizeObserver<"u"&&(e.current=new ResizeObserver(a),e.current.observe(s))},[]),containerRef:t,containerRect:n}}function W3(){const t=h.useRef(),{setTimeout:e,clearTimeout:n}=eE();return h.useCallback((r,o)=>{n(t.current),t.current=e(r,o>0?o:0)},[e,n])}function Rr(t){const e=h.useRef(t);return df(()=>{e.current=t}),h.useCallback((...n)=>{var r;return(r=e.current)===null||r===void 0?void 0:r.call(e,...n)},[])}function eG(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function fM(t,e){return h.useMemo(()=>t==null&&e==null?null:n=>{eG(t,n),eG(e,n)},[t,e])}function cHe(t,e=!1){const n=h.useRef();df(()=>{e&&n.current&&(n.current=!1,t())},[e,t]);const r=h.useCallback(()=>{n.current=!0},[]),o=h.useCallback(()=>{n.current=!1},[]);return{onFocus:r,onBlur:o}}function f7(){const[t,e]=h.useState(!1);return df(()=>{e(window.getComputedStyle(window.document.documentElement).direction==="rtl")},[]),t}function uHe(){const[t]=h.useState({}),e=h.useCallback((o,s)=>{var a;(a=t[o])===null||a===void 0||a.forEach(i=>{s.isPropagationStopped()||i(s)})},[t]),n=h.useMemo(()=>({onPointerDown:o=>e(fue,o),onPointerMove:o=>e(due,o),onPointerUp:o=>e(pue,o),onPointerLeave:o=>e(hue,o),onPointerCancel:o=>e(mue,o),onKeyDown:o=>e(n7,o),onKeyUp:o=>e(LVe,o),onWheel:o=>e(r7,o)}),[e]),r=h.useCallback((o,s)=>(t[o]||(t[o]=[]),t[o].unshift(s),()=>{const a=t[o];a&&a.splice(0,a.length,...a.filter(i=>i!==s))}),[t]);return{registerSensors:n,subscribeSensors:r}}function tG(t,e){const n=h.useRef(0),r=W3(),o=Rr((...s)=>{n.current=Date.now(),t(s)});return h.useCallback((...s)=>{r(()=>{o(s)},e-(Date.now()-n.current))},[e,o,r])}const mA=o7("slide"),gA=o7("slide_image");function hj({slide:t,offset:e,render:n,rect:r,imageFit:o,imageProps:s,onClick:a,onLoad:i,onError:l,style:u}){var d,f,m,g,w,b,j;const[S,I]=h.useState(dA),{publish:N}=XS(),{setTimeout:M}=eE(),D=h.useRef(null);h.useEffect(()=>{e===0&&N(MVe(S))},[e,S,N]);const P=Rr(J=>{("decode"in J?J.decode():Promise.resolve()).catch(()=>{}).then(()=>{J.parentNode&&(I(hA),M(()=>{i==null||i(J)},0))})}),L=h.useCallback(J=>{D.current=J,J!=null&&J.complete&&P(J)},[P]),F=h.useCallback(J=>{P(J.currentTarget)},[P]),T=Rr(()=>{I(pA),l==null||l()}),R=l7(t,o),z=(J,ne)=>Number.isFinite(J)?J:ne,G=z(Math.max(...((f=(d=t.srcSet)===null||d===void 0?void 0:d.map(J=>J.width))!==null&&f!==void 0?f:[]).concat(t.width?[t.width]:[]).filter(Boolean)),((m=D.current)===null||m===void 0?void 0:m.naturalWidth)||0),Z=z(Math.max(...((w=(g=t.srcSet)===null||g===void 0?void 0:g.map(J=>J.height))!==null&&w!==void 0?w:[]).concat(t.height?[t.height]:[]).filter(Boolean)),((b=D.current)===null||b===void 0?void 0:b.naturalHeight)||0),W=G&&Z?{maxWidth:`min(${G}px, 100%)`,maxHeight:`min(${Z}px, 100%)`}:{maxWidth:"100%",maxHeight:"100%"},U=(j=t.srcSet)===null||j===void 0?void 0:j.sort((J,ne)=>J.width-ne.width).map(J=>`${J.src} ${J.width}w`).join(", "),ee=()=>r&&!R&&t.width&&t.height?r.height/t.height*t.width:Number.MAX_VALUE,$=U&&r&&a7()?`${Math.round(Math.min(ee(),r.width))}px`:void 0,{style:H,className:Y,...q}=s||{};return h.createElement(h.Fragment,null,h.createElement("img",{ref:L,onLoad:F,onError:T,onClick:a,draggable:!1,className:Zu(vr(gA()),R&&vr(gA("cover")),S!==hA&&vr(gA("loading")),Y),style:{...W,...u,...H},...q,alt:t.alt,sizes:$,srcSet:U,src:t.src}),S!==hA&&h.createElement("div",{className:vr(mA(_Ve))},S===dA&&(n!=null&&n.iconLoading?n.iconLoading():h.createElement(aHe,{className:Zu(vr(lM),vr(mA(dA)))})),S===pA&&(n!=null&&n.iconError?n.iconError():h.createElement(iHe,{className:Zu(vr(lM),vr(mA(pA)))}))))}const fHe=h.forwardRef(function({className:e,children:n,...r},o){const s=h.useRef(null);return h.createElement(KVe,{nodeRef:s},h.createElement("div",{ref:fM(o,s),className:Zu(vr("root"),e),...r},n))});var ba;(function(t){t[t.NONE=0]="NONE",t[t.SWIPE=1]="SWIPE",t[t.PULL=2]="PULL",t[t.ANIMATION=3]="ANIMATION"})(ba||(ba={}));function _ue(t,e,n,r,o){h.useEffect(()=>o?()=>{}:s7(t(fue,e),t(due,n),t(pue,r),t(hue,r),t(mue,r)),[t,e,n,r,o])}var _c;(function(t){t[t.NONE=0]="NONE",t[t.SWIPE=1]="SWIPE",t[t.PULL=2]="PULL"})(_c||(_c={}));const yA=30;function dHe(t,e,n,r,o,s,a,i,l,u,d,f,m,g){const w=h.useRef(0),b=h.useRef([]),j=h.useRef(),S=h.useRef(0),I=h.useRef(_c.NONE),N=h.useCallback(T=>{j.current===T.pointerId&&(j.current=void 0,I.current=_c.NONE);const R=b.current;R.splice(0,R.length,...R.filter(z=>z.pointerId!==T.pointerId))},[]),M=h.useCallback(T=>{N(T),T.persist(),b.current.push(T)},[N]),D=Rr(T=>{M(T)}),P=(T,R)=>u&&T>R||l&&T<-R,L=Rr(T=>{if(b.current.find(R=>R.pointerId===T.pointerId)&&j.current===T.pointerId){const R=Date.now()-S.current,z=w.current;I.current===_c.SWIPE?Math.abs(z)>.3*n||Math.abs(z)>5&&R<r?a(z,R):i(z):I.current===_c.PULL&&(P(z,2*yA)?m(z,R):g(z)),w.current=0,I.current=_c.NONE}N(T)}),F=Rr(T=>{const R=b.current.find(z=>z.pointerId===T.pointerId);if(R){const z=j.current===T.pointerId;if(T.buttons===0){z&&w.current!==0?L(T):N(R);return}const G=T.clientX-R.clientX,Z=T.clientY-R.clientY;if(j.current===void 0){const W=U=>{M(T),j.current=T.pointerId,S.current=Date.now(),I.current=U};Math.abs(G)>Math.abs(Z)&&Math.abs(G)>yA&&e(G)?(W(_c.SWIPE),o()):Math.abs(Z)>Math.abs(G)&&P(Z,yA)&&(W(_c.PULL),d())}else z&&(I.current===_c.SWIPE?(w.current=G,s(G)):I.current===_c.PULL&&(w.current=Z,f(Z)))}});_ue(t,D,F,L)}function pHe({preventDefaultWheelX:t,preventDefaultWheelY:e}){const n=h.useRef(null),r=Rr(o=>{const s=Math.abs(o.deltaX)>Math.abs(o.deltaY);(s&&t||!s&&e||o.ctrlKey)&&o.preventDefault()});return h.useCallback(o=>{var s;o?o.addEventListener("wheel",r,{passive:!1}):(s=n.current)===null||s===void 0||s.removeEventListener("wheel",r),n.current=o},[r])}function hHe(t,e,n,r,o,s,a,i,l){const u=h.useRef(0),d=h.useRef(0),f=h.useRef(),m=h.useRef(),g=h.useRef(0),w=h.useRef(),b=h.useRef(0),{setTimeout:j,clearTimeout:S}=eE(),I=h.useCallback(()=>{f.current&&(S(f.current),f.current=void 0)},[S]),N=h.useCallback(()=>{m.current&&(S(m.current),m.current=void 0)},[S]),M=Rr(()=>{t!==ba.SWIPE&&(u.current=0,b.current=0,I(),N())});h.useEffect(M,[t,M]);const D=Rr(L=>{m.current=void 0,u.current===L&&l(u.current)}),P=Rr(L=>{if(L.ctrlKey||Math.abs(L.deltaY)>Math.abs(L.deltaX))return;const F=T=>{g.current=T,S(w.current),w.current=T>0?j(()=>{g.current=0,w.current=void 0},300):void 0};if(t===ba.NONE){if(Math.abs(L.deltaX)<=1.2*Math.abs(g.current)){F(L.deltaX);return}if(!n(-L.deltaX))return;if(d.current+=L.deltaX,I(),Math.abs(d.current)>30)d.current=0,F(0),b.current=Date.now(),s();else{const T=d.current;f.current=j(()=>{f.current=void 0,T===d.current&&(d.current=0)},o)}}else if(t===ba.SWIPE){let T=u.current-L.deltaX;if(T=Math.min(Math.abs(T),r)*Math.sign(T),u.current=T,a(T),N(),Math.abs(T)>.2*r){F(L.deltaX),i(T,Date.now()-b.current);return}m.current=j(()=>D(T),2*o)}else F(L.deltaX)});h.useEffect(()=>e(r7,P),[e,P])}const nG=o7("container"),Mue=h.createContext(null),Cd=Ah("useController","ControllerContext",Mue);function mHe({children:t,...e}){var n;const{carousel:r,animation:o,controller:s,on:a,styles:i,render:l}=e,{closeOnPullUp:u,closeOnPullDown:d,preventDefaultWheelX:f,preventDefaultWheelY:m}=s,[g,w]=h.useState(),b=Mh(),j=JVe(),[S,I]=h.useState(ba.NONE),N=h.useRef(0),M=h.useRef(0),D=h.useRef(1),{registerSensors:P,subscribeSensors:L}=uHe(),{subscribe:F,publish:T}=XS(),R=W3(),z=W3(),G=W3(),{containerRef:Z,setContainerRef:W,containerRect:U}=Aue(),ee=fM(pHe({preventDefaultWheelX:f,preventDefaultWheelY:m}),W),$=h.useRef(null),H=fM($,void 0),{getOwnerDocument:Y}=JS(),q=f7(),J=_e=>(q?-1:1)*(typeof _e=="number"?_e:1),ne=Rr(()=>{var _e;return(_e=Z.current)===null||_e===void 0?void 0:_e.focus()}),re=Rr(()=>e),de=Rr(()=>b),Ee=h.useCallback(_e=>T(Cm,_e),[T]),we=h.useCallback(_e=>T(Sm,_e),[T]),xe=h.useCallback(()=>T(wy),[T]),ce=_e=>!(r.finite&&(J(_e)>0&&b.currentIndex===0||J(_e)<0&&b.currentIndex===b.slides.length-1)),pe=_e=>{var et;N.current=_e,(et=Z.current)===null||et===void 0||et.style.setProperty(ji("swipe_offset"),`${Math.round(_e)}px`)},he=_e=>{var et,pt;M.current=_e,D.current=(()=>{const De=d&&_e>0?_e:u&&_e<0?-_e:0;return Math.min(Math.max(i7(1-De/60*(1-.5),2),.5),1)})(),(et=Z.current)===null||et===void 0||et.style.setProperty(ji("pull_offset"),`${Math.round(_e)}px`),(pt=Z.current)===null||pt===void 0||pt.style.setProperty(ji("pull_opacity"),`${D.current}`)},{prepareAnimation:ke}=XY($,(_e,et,pt)=>{if($.current&&U)return{keyframes:[{transform:`translate(0, ${_e.rect.y-et.y+pt.y}px)`,opacity:_e.opacity},{transform:"translate(0, 0)",opacity:1}],duration:_e.duration,easing:o.easing.fade}}),le=(_e,et)=>{if(u||d){he(_e);let pt=0;$.current&&(pt=o.fade*(et?2:1),ke({rect:$.current.getBoundingClientRect(),opacity:D.current,duration:pt})),G(()=>{he(0),I(ba.NONE)},pt),I(ba.ANIMATION),et||xe()}},{prepareAnimation:ye,isAnimationPlaying:ve}=XY($,(_e,et,pt)=>{var ht;if($.current&&U&&(!((ht=b.animation)===null||ht===void 0)&&ht.duration)){const at=pj(r.spacing),De=(at.percent?at.percent*U.width/100:at.pixel)||0;return{keyframes:[{transform:`translate(${J(b.globalIndex-_e.index)*(U.width+De)+_e.rect.x-et.x+pt.x}px, 0)`},{transform:"translate(0, 0)"}],duration:b.animation.duration,easing:b.animation.easing}}}),Ie=Rr(_e=>{var et,pt;const ht=_e.offset||0,at=ht?o.swipe:(et=o.navigation)!==null&&et!==void 0?et:o.swipe,De=!ht&&!ve()?o.easing.navigation:o.easing.swipe;let{direction:se}=_e;const K=(pt=_e.count)!==null&&pt!==void 0?pt:1;let Q=ba.ANIMATION,ie=at*K;if(!se){const Me=U==null?void 0:U.width,Ce=_e.duration||0,me=Me?at/Me*Math.abs(ht):at;K!==0?(Ce<me?ie=ie/me*Math.max(Ce,me/5):Me&&(ie=at/Me*(Me-Math.abs(ht))),se=J(ht)>0?Cm:Sm):ie=at/2}let Se=0;se===Cm?ce(J(1))?Se=-K:(Q=ba.NONE,ie=at):se===Sm&&(ce(J(-1))?Se=K:(Q=ba.NONE,ie=at)),ie=Math.round(ie),z(()=>{pe(0),I(ba.NONE)},ie),$.current&&ye({rect:$.current.getBoundingClientRect(),index:b.globalIndex}),I(Q),T(QY,{type:"swipe",increment:Se,duration:ie,easing:De})});h.useEffect(()=>{var _e,et;!((_e=b.animation)===null||_e===void 0)&&_e.increment&&(!((et=b.animation)===null||et===void 0)&&et.duration)&&R(()=>j({type:"swipe",increment:0}),b.animation.duration)},[b.animation,j,R]);const Ve=[L,ce,(U==null?void 0:U.width)||0,o.swipe,()=>I(ba.SWIPE),_e=>pe(_e),(_e,et)=>Ie({offset:_e,duration:et,count:1}),_e=>Ie({offset:_e,count:0})],Qe=[()=>{d&&I(ba.PULL)},_e=>he(_e),_e=>le(_e),_e=>le(_e,!0)];dHe(...Ve,u,d,...Qe),hHe(S,...Ve);const nt=Rr(()=>{s.focus&&Y().querySelector(`.${vr(e7)} .${vr(nG())}`)&&ne()});h.useEffect(nt,[nt]);const Ue=Rr(()=>{var _e;(_e=a.view)===null||_e===void 0||_e.call(a,{index:b.currentIndex})});h.useEffect(Ue,[b.globalIndex,Ue]),h.useEffect(()=>s7(F(Cm,_e=>Ie({direction:Cm,..._e})),F(Sm,_e=>Ie({direction:Sm,..._e})),F(QY,_e=>j(_e))),[F,Ie,j]);const qe=h.useMemo(()=>({prev:Ee,next:we,close:xe,focus:ne,slideRect:U?UVe(U,r.padding):{width:0,height:0},containerRect:U||{width:0,height:0},subscribeSensors:L,containerRef:Z,setCarouselRef:H,toolbarWidth:g,setToolbarWidth:w}),[Ee,we,xe,ne,L,U,Z,H,g,w,r.padding]);return h.useImperativeHandle(s.ref,()=>({prev:Ee,next:we,close:xe,focus:ne,getLightboxProps:re,getLightboxState:de}),[Ee,we,xe,ne,re,de]),h.createElement("div",{ref:ee,className:Zu(vr(nG()),vr(t7)),style:{...S===ba.SWIPE?{[ji("swipe_offset")]:`${Math.round(N.current)}px`}:null,...S===ba.PULL?{[ji("pull_offset")]:`${Math.round(M.current)}px`,[ji("pull_opacity")]:`${D.current}`}:null,...s.touchAction!=="none"?{[ji("controller_touch_action")]:s.touchAction}:null,...i.container},...s.aria?{role:"presentation","aria-live":"polite"}:null,tabIndex:-1,...P},U&&h.createElement(Mue.Provider,{value:qe},t,(n=l.controls)===null||n===void 0?void 0:n.call(l)))}const gHe=_h(iue,mHe);function gm(t){return gx(aue,t)}function rG(t){return gx("slide",t)}function yHe({slide:t,offset:e}){const n=h.useRef(null),{currentIndex:r}=Mh(),{slideRect:o,close:s,focus:a}=Cd(),{render:i,carousel:{imageFit:l,imageProps:u},on:{click:d},controller:{closeOnBackdropClick:f},styles:{slide:m}}=fc(),{getOwnerDocument:g}=JS(),w=e!==0;h.useEffect(()=>{var S;w&&(!((S=n.current)===null||S===void 0)&&S.contains(g().activeElement))&&a()},[w,a,g]);const b=()=>{var S,I,N,M;let D=(S=i.slide)===null||S===void 0?void 0:S.call(i,{slide:t,offset:e,rect:o});return!D&&rv(t)&&(D=h.createElement(hj,{slide:t,offset:e,render:i,rect:o,imageFit:l,imageProps:u,onClick:w?void 0:()=>d==null?void 0:d({index:r})})),D?h.createElement(h.Fragment,null,(I=i.slideHeader)===null||I===void 0?void 0:I.call(i,{slide:t}),((N=i.slideContainer)!==null&&N!==void 0?N:(({children:P})=>P))({slide:t,children:D}),(M=i.slideFooter)===null||M===void 0?void 0:M.call(i,{slide:t})):null},j=S=>{const I=n.current,N=S.target instanceof HTMLElement?S.target:void 0;f&&N&&I&&(N===I||Array.from(I.children).find(M=>M===N)&&N.classList.contains(vr(uue)))&&s()};return h.createElement("div",{ref:n,className:Zu(vr(rG()),!w&&vr(rG("current")),vr(t7)),...GVe(w),onClick:j,style:m},b())}function vHe(){const t=fc().styles.slide;return h.createElement("div",{className:vr("slide"),style:t})}function wHe({carousel:t}){const{slides:e,currentIndex:n,globalIndex:r}=Mh(),{setCarouselRef:o}=Cd(),s=pj(t.spacing),a=pj(t.padding),i=WVe(t,e,1),l=[];if(bue(e))for(let u=n-i;u<=n+i;u+=1){const d=xue(e,u),f=r-n+u,m=t.finite&&(u<0||u>e.length-1);l.push(m?{key:f}:{key:[`${f}`,VVe(d)].filter(Boolean).join("|"),offset:u-n,slide:d})}return h.createElement("div",{ref:o,className:Zu(vr(gm()),l.length>0&&vr(gm("with_slides"))),style:{[`${ji(gm("slides_count"))}`]:l.length,[`${ji(gm("spacing_px"))}`]:s.pixel||0,[`${ji(gm("spacing_percent"))}`]:s.percent||0,[`${ji(gm("padding_px"))}`]:a.pixel||0,[`${ji(gm("padding_percent"))}`]:a.percent||0}},l.map(({key:u,slide:d,offset:f})=>d?h.createElement(yHe,{key:u,slide:d,offset:f}):h.createElement(vHe,{key:u})))}const bHe=_h(aue,wHe);function Rue(){const{carousel:t}=fc(),{slides:e,currentIndex:n}=Mh(),r=e.length===0||t.finite&&n===0,o=e.length===0||t.finite&&n===e.length-1;return{prevDisabled:r,nextDisabled:o}}function xHe(t){var e;const n=f7(),{publish:r}=XS(),{animation:o}=fc(),{prevDisabled:s,nextDisabled:a}=Rue(),i=((e=o.navigation)!==null&&e!==void 0?e:o.swipe)/2,l=tG(()=>r(Cm),i),u=tG(()=>r(Sm),i),d=Rr(f=>{switch(f.key){case PVe:r(wy);break;case OVe:(n?a:s)||(n?u:l)();break;case zVe:(n?s:a)||(n?l:u)();break}});h.useEffect(()=>t(n7,d),[t,d])}function oG({label:t,icon:e,renderIcon:n,action:r,onClick:o,disabled:s,style:a}){return h.createElement(c7,{label:t,icon:e,renderIcon:n,className:vr(`navigation_${r}`),disabled:s,onClick:o,style:a,...cHe(Cd().focus,s)})}function kHe({render:{buttonPrev:t,buttonNext:e,iconPrev:n,iconNext:r},styles:o}){const{prev:s,next:a,subscribeSensors:i}=Cd(),{prevDisabled:l,nextDisabled:u}=Rue();return xHe(i),h.createElement(h.Fragment,null,t?t():h.createElement(oG,{label:"Previous",action:Cm,icon:oHe,renderIcon:n,style:o.navigationPrev,disabled:l,onClick:s}),e?e():h.createElement(oG,{label:"Next",action:Sm,icon:sHe,renderIcon:r,style:o.navigationNext,disabled:u,onClick:a}))}const jHe=_h(NVe,kHe),sG=vr(TVe),CHe=vr(cue);function SHe(t){return"style"in t}function aG(t,e,n){const r=window.getComputedStyle(t),o=n?"padding-left":"padding-right",s=n?r.paddingLeft:r.paddingRight,a=t.style.getPropertyValue(o);return t.style.setProperty(o,`${(QS(s)||0)+e}px`),()=>{a?t.style.setProperty(o,a):t.style.removeProperty(o)}}function EHe({noScroll:{disabled:t},children:e}){const n=f7(),{getOwnerDocument:r,getOwnerWindow:o}=JS();return h.useEffect(()=>{if(t)return()=>{};const s=[],a=o(),{body:i,documentElement:l}=r(),u=Math.round(a.innerWidth-l.clientWidth);if(u>0){s.push(aG(i,u,n));const d=i.getElementsByTagName("*");for(let f=0;f<d.length;f+=1){const m=d[f];SHe(m)&&a.getComputedStyle(m).getPropertyValue("position")==="fixed"&&!m.classList.contains(CHe)&&s.push(aG(m,u,n))}}return i.classList.add(sG),()=>{i.classList.remove(sG),s.forEach(d=>d())}},[n,t,r,o]),h.createElement(h.Fragment,null,e)}const NHe=_h(IVe,EHe);function iG(t){return gx(e7,t)}function lG(t,e,n){const r=t.getAttribute(e);return t.setAttribute(e,n),()=>{r?t.setAttribute(e,r):t.removeAttribute(e)}}function IHe({children:t,animation:e,styles:n,className:r,on:o,portal:s,close:a}){const[i,l]=h.useState(!1),[u,d]=h.useState(!1),f=h.useRef([]),m=h.useRef(null),{setTimeout:g}=eE(),{subscribe:w}=XS(),j=u7()?0:e.fade;h.useEffect(()=>(l(!0),()=>{l(!1),d(!1)}),[]);const S=Rr(()=>{f.current.forEach(D=>D()),f.current=[]}),I=Rr(()=>{var D;d(!1),S(),(D=o.exiting)===null||D===void 0||D.call(o),g(()=>{var P;(P=o.exited)===null||P===void 0||P.call(o),a()},j)});h.useEffect(()=>w(wy,I),[w,I]);const N=Rr(D=>{var P,L,F;D.scrollTop,d(!0),(P=o.entering)===null||P===void 0||P.call(o);const T=(F=(L=D.parentNode)===null||L===void 0?void 0:L.children)!==null&&F!==void 0?F:[];for(let R=0;R<T.length;R+=1){const z=T[R];["TEMPLATE","SCRIPT","STYLE"].indexOf(z.tagName)===-1&&z!==D&&(f.current.push(lG(z,"inert","")),f.current.push(lG(z,"aria-hidden","true")))}f.current.push(()=>{var R,z;(z=(R=m.current)===null||R===void 0?void 0:R.focus)===null||z===void 0||z.call(R)}),g(()=>{var R;(R=o.entered)===null||R===void 0||R.call(o)},j)}),M=h.useCallback(D=>{D?N(D):S()},[N,S]);return i?Ds.createPortal(h.createElement(fHe,{ref:M,className:Zu(r,vr(iG()),vr(cue),u&&vr(iG("open"))),role:"presentation","aria-live":"polite",style:{...e.fade!==uM.animation.fade?{[ji("fade_animation_duration")]:`${j}ms`}:null,...e.easing.fade!==uM.animation.easing.fade?{[ji("fade_animation_timing_function")]:e.easing.fade}:null,...n.root},onFocus:D=>{m.current||(m.current=D.relatedTarget)}},t),s.root||document.body):null}const AHe=_h(e7,IHe);function _He({children:t}){return h.createElement(h.Fragment,null,t)}const MHe=_h(AVe,_He);function RHe(t){return gx(lue,t)}function THe({toolbar:{buttons:t},render:{buttonClose:e,iconClose:n},styles:r}){const{close:o,setToolbarWidth:s}=Cd(),{setContainerRef:a,containerRect:i}=Aue();df(()=>{s(i==null?void 0:i.width)},[s,i==null?void 0:i.width]);const l=()=>e?e():h.createElement(c7,{key:wy,label:"Close",icon:rHe,renderIcon:n,onClick:o});return h.createElement("div",{ref:a,style:r.toolbar,className:vr(RHe())},t==null?void 0:t.map(u=>u===wy?l():u))}const DHe=_h(lue,THe);function Tue(t,e){var n;return h.createElement(t.module.component,{key:t.module.name,...e},(n=t.children)===null||n===void 0?void 0:n.map(r=>Tue(r,e)))}function LHe(t,e={}){const{easing:n,...r}=t,{easing:o,...s}=e;return{easing:{...n,...o},...r,...s}}function d7({carousel:t,animation:e,render:n,toolbar:r,controller:o,noScroll:s,on:a,plugins:i,slides:l,index:u,...d}){const{animation:f,carousel:m,render:g,toolbar:w,controller:b,noScroll:j,on:S,slides:I,index:N,plugins:M,...D}=uM,{config:P,augmentation:L}=qVe([Is(AHe,[Is(NHe,[Is(gHe,[Is(bHe),Is(DHe),Is(jHe)])])])],i||M),F=L({animation:LHe(f,e),carousel:{...m,...t},render:{...g,...n},toolbar:{...w,...r},controller:{...b,...o},noScroll:{...j,...s},on:{...S,...a},...D,...d});return F.open?h.createElement(QVe,{...F},h.createElement(eHe,{slides:l||I,index:QS(u||N)},h.createElement(tHe,null,h.createElement(ZVe,null,Tue(Is(MHe,P),F))))):null}const PHe={maxZoomPixelRatio:1,zoomInMultiplier:2,doubleTapDelay:300,doubleClickDelay:500,doubleClickMaxStops:2,keyboardMoveDistance:50,wheelZoomDistanceFactor:100,pinchZoomDistanceFactor:100,scrollToZoom:!1},Due=t=>({...PHe,...t});function OHe(t,e,n,r){const o=h.useRef(),s=h.useRef(),{zoom:a}=fc().animation,i=u7(),l=Rr(()=>{var u,d,f;if((u=o.current)===null||u===void 0||u.cancel(),o.current=void 0,s.current&&(r!=null&&r.current)){try{o.current=(f=(d=r.current).animate)===null||f===void 0?void 0:f.call(d,[{transform:s.current},{transform:`scale(${t}) translateX(${e}px) translateY(${n}px)`}],{duration:i?0:a??500,easing:o.current?"ease-out":"ease-in-out"})}catch(m){console.error(m)}s.current=void 0,o.current&&(o.current.onfinish=()=>{o.current=void 0})}});return df(l,[t,e,n,l]),h.useCallback(()=>{s.current=r!=null&&r.current?window.getComputedStyle(r.current).transform:void 0},[r])}function zHe(t,e){const{on:n}=fc(),r=Rr(()=>{var o;e||(o=n.zoom)===null||o===void 0||o.call(n,{zoom:t})});h.useEffect(r,[t,r])}function tE(){const{zoom:t}=fc();return Due(t)}function FHe(t,e){var n,r;let o={width:0,height:0},s={width:0,height:0};const{currentSlide:a}=Mh(),{imageFit:i}=fc().carousel,{maxZoomPixelRatio:l}=tE();if(t&&a){const d={...a,...e};if(rv(d)){const f=l7(d,i),m=Math.max(...(((n=d.srcSet)===null||n===void 0?void 0:n.map(w=>w.width))||[]).concat(d.width?[d.width]:[])),g=Math.max(...(((r=d.srcSet)===null||r===void 0?void 0:r.map(w=>w.height))||[]).concat(d.height?[d.height]:[]));m>0&&g>0&&t.width>0&&t.height>0&&(s=f?{width:Math.round(Math.min(m,t.width/t.height*g)),height:Math.round(Math.min(g,t.height/t.width*m))}:{width:m,height:g},s={width:s.width*l,height:s.height*l},o=f?{width:Math.min(t.width,s.width,m),height:Math.min(t.height,s.height,g)}:{width:Math.round(Math.min(t.width,t.height/g*m,m)),height:Math.round(Math.min(t.height,t.width/m*g,g))})}}const u=o.width?Math.max(i7(s.width/o.width,5),1):1;return{imageRect:o,maxZoom:u}}function cG(t,e){return((t.clientX-e.clientX)**2+(t.clientY-e.clientY)**2)**.5}function uG(t,e,n=100,r=2){return t*Math.min(1+Math.abs(e/n),r)**Math.sign(e)}function BHe(t,e,n,r,o,s){const a=h.useRef([]),i=h.useRef(0),l=h.useRef(),{globalIndex:u}=Mh(),{getOwnerWindow:d}=JS(),{containerRef:f,subscribeSensors:m}=Cd(),{keyboardMoveDistance:g,zoomInMultiplier:w,wheelZoomDistanceFactor:b,scrollToZoom:j,doubleTapDelay:S,doubleClickDelay:I,doubleClickMaxStops:N,pinchZoomDistanceFactor:M}=tE(),D=h.useCallback(W=>{if(f.current){const{pageX:U,pageY:ee}=W,{scrollX:$,scrollY:H}=d(),{left:Y,top:q,width:J,height:ne}=f.current.getBoundingClientRect();return[U-Y-$-J/2,ee-q-H-ne/2]}return[]},[f,d]),P=Rr(W=>{const U=()=>{W.preventDefault(),W.stopPropagation()};if(t>1){const H=(Y,q)=>{U(),o(Y,q)};W.key==="ArrowDown"?H(0,g):W.key==="ArrowUp"?H(0,-g):W.key==="ArrowLeft"?H(-g,0):W.key==="ArrowRight"&&H(g,0)}const ee=H=>{U(),r(H)},$=()=>W.getModifierState("Meta");W.key==="+"||W.key==="="&&$()?ee(t*w):W.key==="-"||W.key==="_"&&$()?ee(t/w):W.key==="0"&&$()&&ee(1)}),L=Rr(W=>{if((W.ctrlKey||j)&&Math.abs(W.deltaY)>Math.abs(W.deltaX)){W.stopPropagation(),r(uG(t,-W.deltaY,b),!0,...D(W));return}t>1&&(W.stopPropagation(),j||o(W.deltaX,W.deltaY))}),F=h.useCallback(W=>{const U=a.current;U.splice(0,U.length,...U.filter(ee=>ee.pointerId!==W.pointerId))},[]),T=h.useCallback(W=>{F(W),W.persist(),a.current.push(W)},[F]),R=Rr(W=>{var U;const ee=a.current;if(W.pointerType==="mouse"&&W.buttons>1||!(!((U=s==null?void 0:s.current)===null||U===void 0)&&U.contains(W.target)))return;t>1&&W.stopPropagation();const{timeStamp:$}=W;ee.length===0&&$-i.current<(W.pointerType==="touch"?S:I)?(i.current=0,r(t!==e?t*Math.max(e**(1/N),w):1,!1,...D(W))):i.current=$,T(W),ee.length===2&&(l.current=cG(ee[0],ee[1]))}),z=Rr(W=>{const U=a.current,ee=U.find($=>$.pointerId===W.pointerId);if(U.length===2&&l.current){W.stopPropagation(),T(W);const $=cG(U[0],U[1]),H=$-l.current;Math.abs(H)>0&&(r(uG(t,H,M),!0,...U.map(Y=>D(Y)).reduce((Y,q)=>q.map((J,ne)=>Y[ne]+J/2))),l.current=$);return}t>1&&(W.stopPropagation(),ee&&(U.length===1&&o((ee.clientX-W.clientX)/t,(ee.clientY-W.clientY)/t),T(W)))}),G=h.useCallback(W=>{const U=a.current;U.length===2&&U.find(ee=>ee.pointerId===W.pointerId)&&(l.current=void 0),F(W)},[F]),Z=h.useCallback(()=>{const W=a.current;W.splice(0,W.length),i.current=0,l.current=void 0},[]);_ue(m,R,z,G,n),h.useEffect(Z,[u,Z]),h.useEffect(()=>n?()=>{}:s7(Z,m(n7,P),m(r7,L)),[n,m,Z,P,L])}function UHe(t,e,n){const[r,o]=h.useState(1),[s,a]=h.useState(0),[i,l]=h.useState(0),u=OHe(r,s,i,n),{currentSlide:d,globalIndex:f}=Mh(),{containerRect:m,slideRect:g}=Cd(),{zoomInMultiplier:w}=tE(),b=d&&rv(d)?d.src:void 0,j=!b||!(n!=null&&n.current);df(()=>{o(1),a(0),l(0)},[f,b]);const S=h.useCallback((P,L,F)=>{const T=F||r,R=s-(P||0),z=i-(L||0),G=(t.width*T-g.width)/2/T,Z=(t.height*T-g.height)/2/T;a(Math.min(Math.abs(R),Math.max(G,0))*Math.sign(R)),l(Math.min(Math.abs(z),Math.max(Z,0))*Math.sign(z))},[r,s,i,g,t.width,t.height]),I=h.useCallback((P,L,F,T)=>{const R=i7(Math.min(Math.max(P+.001<e?P:e,1),e),5);R!==r&&(L||u(),S(F?F*(1/r-1/R):0,T?T*(1/r-1/R):0,R),o(R))},[r,e,S,u]),N=Rr(()=>{r>1&&(r>e&&I(e,!0),S())});df(N,[m.width,m.height,N]);const M=h.useCallback(()=>I(r*w),[r,w,I]),D=h.useCallback(()=>I(r/w),[r,w,I]);return{zoom:r,offsetX:s,offsetY:i,disabled:j,changeOffsets:S,changeZoom:I,zoomIn:M,zoomOut:D}}const Lue=h.createContext(null),p7=Ah("useZoom","ZoomControllerContext",Lue);function $He({children:t}){const[e,n]=h.useState(),{slideRect:r}=Cd(),{imageRect:o,maxZoom:s}=FHe(r,e==null?void 0:e.imageDimensions),{zoom:a,offsetX:i,offsetY:l,disabled:u,changeZoom:d,changeOffsets:f,zoomIn:m,zoomOut:g}=UHe(o,s,e==null?void 0:e.zoomWrapperRef);zHe(a,u),BHe(a,s,u,d,f,e==null?void 0:e.zoomWrapperRef);const w=h.useMemo(()=>({zoom:a,maxZoom:s,offsetX:i,offsetY:l,disabled:u,zoomIn:m,zoomOut:g,changeZoom:d}),[a,s,i,l,u,m,g,d]);h.useImperativeHandle(tE().ref,()=>w,[w]);const b=h.useMemo(()=>({...w,setZoomWrapper:n}),[w,n]);return h.createElement(Lue.Provider,{value:b},t)}const VHe=Jg("ZoomIn",h.createElement(h.Fragment,null,h.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}),h.createElement("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"}))),HHe=Jg("ZoomOut",h.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"})),fG=h.forwardRef(function({zoomIn:e,onLoseFocus:n},r){const o=h.useRef(!1),s=h.useRef(!1),{zoom:a,maxZoom:i,zoomIn:l,zoomOut:u,disabled:d}=p7(),{render:f}=fc(),m=d||(e?a>=i:a<=1);return h.useEffect(()=>{m&&o.current&&s.current&&n(),m||(o.current=!0)},[m,n]),h.createElement(c7,{ref:r,disabled:m,label:e?"Zoom in":"Zoom out",icon:e?VHe:HHe,renderIcon:e?f.iconZoomIn:f.iconZoomOut,onClick:e?l:u,onFocus:()=>{s.current=!0},onBlur:()=>{s.current=!1}})});function WHe(){const t=h.useRef(null),e=h.useRef(null),{focus:n}=Cd(),r=h.useCallback(a=>{var i,l;!((i=a.current)===null||i===void 0)&&i.disabled?n():(l=a.current)===null||l===void 0||l.focus()},[n]),o=h.useCallback(()=>r(t),[r]),s=h.useCallback(()=>r(e),[r]);return h.createElement(h.Fragment,null,h.createElement(fG,{zoomIn:!0,ref:t,onLoseFocus:s}),h.createElement(fG,{ref:e,onLoseFocus:o}))}function YHe(){const{render:t}=fc(),e=p7();return t.buttonZoom?h.createElement(h.Fragment,null,t.buttonZoom(e)):h.createElement(WHe,null)}function GHe(t){var e;return(((e=t.srcSet)===null||e===void 0?void 0:e.length)||0)>0}function qHe({current:t,preload:e},{type:n,source:r}){switch(n){case"fetch":return t?{current:t,preload:r}:{current:r};case"done":return r===e?{current:r}:{current:t,preload:e};default:throw new Error(yue)}}function KHe(t){var e,n;const[{current:r,preload:o},s]=h.useReducer(qHe,{}),{slide:a,rect:i,imageFit:l,render:u,interactive:d}=t,f=a.srcSet.sort((D,P)=>D.width-P.width),m=(e=a.width)!==null&&e!==void 0?e:f[f.length-1].width,g=(n=a.height)!==null&&n!==void 0?n:f[f.length-1].height,w=l7(a,l),b=Math.max(...f.map(D=>D.width)),j=Math.min((w?Math.max:Math.min)(i.width,m*(i.height/g)),b),S=$Ve(),I=Rr(()=>{var D;const P=(D=f.find(L=>L.width>=j*S))!==null&&D!==void 0?D:f[f.length-1];(!r||f.findIndex(L=>L.src===r)<f.findIndex(L=>L===P))&&s({type:"fetch",source:P.src})});df(I,[i.width,i.height,S,I]);const N=Rr(D=>s({type:"done",source:D})),M={WebkitTransform:d?"initial":"translateZ(0)"};return w||Object.assign(M,i.width/i.height<m/g?{width:"100%",height:"auto"}:{width:"auto",height:"100%"}),h.createElement(h.Fragment,null,o&&o!==r&&h.createElement(hj,{key:"preload",...t,slide:{...a,src:o,srcSet:void 0},style:{position:"absolute",visibility:"hidden",...M},onLoad:()=>N(o),render:{...u,iconLoading:()=>null,iconError:()=>null}}),r&&h.createElement(hj,{key:"current",...t,slide:{...a,src:r,srcSet:void 0},style:M}))}function ZHe({render:t,slide:e,offset:n,rect:r}){var o;const[s,a]=h.useState(),i=h.useRef(null),{zoom:l,maxZoom:u,offsetX:d,offsetY:f,setZoomWrapper:m}=p7(),g=l>1,{carousel:w,on:b}=fc(),{currentIndex:j}=Mh();df(()=>n===0?(m({zoomWrapperRef:i,imageDimensions:s}),()=>m(void 0)):()=>{},[n,s,m]);let S=(o=t.slide)===null||o===void 0?void 0:o.call(t,{slide:e,offset:n,rect:r,zoom:l,maxZoom:u});if(!S&&rv(e)){const I={slide:e,offset:n,rect:r,render:t,imageFit:w.imageFit,imageProps:w.imageProps,onClick:n===0?()=>{var N;return(N=b.click)===null||N===void 0?void 0:N.call(b,{index:j})}:void 0};S=GHe(e)?h.createElement(KHe,{...I,slide:e,interactive:g,rect:n===0?{width:r.width*l,height:r.height*l}:r}):h.createElement(hj,{onLoad:N=>a({width:N.naturalWidth,height:N.naturalHeight}),...I})}return S?h.createElement("div",{ref:i,className:Zu(vr(RVe),vr(t7),vr(uue),g&&vr(DVe)),style:n===0?{transform:`scale(${l}) translateX(${d}px) translateY(${f}px)`}:void 0},S):null}const h7=({augment:t,addModule:e})=>{t(({zoom:n,toolbar:r,render:o,controller:s,...a})=>{const i=Due(n);return{zoom:i,toolbar:HVe(r,ZY,h.createElement(YHe,null)),render:{...o,slide:l=>{var u;return rv(l.slide)?h.createElement(ZHe,{render:o,...l}):(u=o.slide)===null||u===void 0?void 0:u.call(o,l)}},controller:{...s,preventDefaultWheelY:i.scrollToZoom},...a}}),e(_h(ZY,$He))};function QHe(t){let{PI:e,min:n,max:r,cos:o,round:s}=Math,a=t[0]|t[1]<<8|t[2]<<16,i=t[3]|t[4]<<8,l=(a&63)/63,u=(a>>6&63)/31.5-1,d=(a>>12&63)/31.5-1,f=(a>>18&31)/31,m=a>>23,g=(i>>3&63)/63,w=(i>>9&63)/63,b=i>>15,j=r(3,b?m?5:7:i&7),S=r(3,b?i&7:m?5:7),I=m?(t[5]&15)/15:1,N=(t[5]>>4)/15,M=m?6:5,D=0,P=($,H,Y)=>{let q=[];for(let J=0;J<H;J++)for(let ne=J?0:1;ne*H<$*(H-J);ne++)q.push(((t[M+(D>>1)]>>((D++&1)<<2)&15)/7.5-1)*Y);return q},L=P(j,S,f),F=P(3,3,g*1.25),T=P(3,3,w*1.25),R=m&&P(5,5,N),z=JHe(t),G=s(z>1?32:32*z),Z=s(z>1?32/z:32),W=new Uint8Array(G*Z*4),U=[],ee=[];for(let $=0,H=0;$<Z;$++)for(let Y=0;Y<G;Y++,H+=4){let q=l,J=u,ne=d,re=I;for(let xe=0,ce=r(j,m?5:3);xe<ce;xe++)U[xe]=o(e/G*(Y+.5)*xe);for(let xe=0,ce=r(S,m?5:3);xe<ce;xe++)ee[xe]=o(e/Z*($+.5)*xe);for(let xe=0,ce=0;xe<S;xe++)for(let pe=xe?0:1,he=ee[xe]*2;pe*S<j*(S-xe);pe++,ce++)q+=L[ce]*U[pe]*he;for(let xe=0,ce=0;xe<3;xe++)for(let pe=xe?0:1,he=ee[xe]*2;pe<3-xe;pe++,ce++){let ke=U[pe]*he;J+=F[ce]*ke,ne+=T[ce]*ke}if(m)for(let xe=0,ce=0;xe<5;xe++)for(let pe=xe?0:1,he=ee[xe]*2;pe<5-xe;pe++,ce++)re+=R[ce]*U[pe]*he;let de=q-2/3*J,Ee=(3*q-de+ne)/2,we=Ee-ne;W[H]=r(0,255*n(1,Ee)),W[H+1]=r(0,255*n(1,we)),W[H+2]=r(0,255*n(1,de)),W[H+3]=r(0,255*n(1,re))}return{w:G,h:Z,rgba:W}}function JHe(t){let e=t[3],n=t[2]&128,r=t[4]&128,o=r?n?5:7:e&7,s=r?e&7:n?5:7;return o/s}function XHe(t,e,n){let r=t*4+1,o=6+e*(5+r),s=[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,t>>8,t&255,0,0,e>>8,e&255,8,6,0,0,0,0,0,0,0,o>>>24,o>>16&255,o>>8&255,o&255,73,68,65,84,120,1],a=[0,498536548,997073096,651767980,1994146192,1802195444,1303535960,1342533948,-306674912,-267414716,-690576408,-882789492,-1687895376,-2032938284,-1609899400,-1111625188],i=1,l=0;for(let u=0,d=0,f=r-1;u<e;u++,f+=r-1)for(s.push(u+1<e?0:1,r&255,r>>8,~r&255,r>>8^255,0),l=(l+i)%65521;d<f;d++){let m=n[d]&255;s.push(m),i=(i+m)%65521,l=(l+i)%65521}s.push(l>>8,l&255,i>>8,i&255,0,0,0,0,0,0,0,0,73,69,78,68,174,66,96,130);for(let[u,d]of[[12,29],[37,41+o]]){let f=-1;for(let m=u;m<d;m++)f^=s[m],f=f>>>4^a[f&15],f=f>>>4^a[f&15];f=~f,s[d++]=f>>>24,s[d++]=f>>16&255,s[d++]=f>>8&255,s[d++]=f&255}return"data:image/png;base64,"+btoa(String.fromCharCode(...s))}function eWe(t){let e=QHe(t);return XHe(e.w,e.h,e.rgba)}function Uo({image:{url:t,blurHash:e,thumbHash:n,pubkey:r,dim:o,variant:s,sha256:a},alt:i,className:l="",classNames:u={},hideIfError:d=!1,errorPlaceholder:f=c.jsx(E7e,{}),originalUrl:m,...g}){const[w,b]=h.useState(!0),[j,S]=h.useState(!0),[I,N]=h.useState(!1),[M,D]=h.useState(),[P,L]=h.useState(null),[F,T]=h.useState(!1),R=h.useRef(null);if(h.useEffect(()=>(b(!0),N(!1),S(!0),r?(ed.getValidUrl(t,r).then(Z=>{D(Z),R.current&&(clearTimeout(R.current),R.current=null)}),R.current=setTimeout(()=>{M||D(t)},3e3)):D(t),()=>{R.current&&(clearTimeout(R.current),R.current=null)}),[t]),d&&I)return null;const z=async()=>{const Z=await ed.tryNextUrl(t);Z?D(Z):(b(!1),N(!0))},G=Z=>{const W=Z.currentTarget;L({width:W.naturalWidth,height:W.naturalHeight}),b(!1),N(!1),setTimeout(()=>S(!1),600),ed.markAsSuccess(t,M||t)};return c.jsxs("div",{className:Te("relative overflow-hidden rounded-xl group/imgdebug",u.wrapper),onMouseEnter:()=>T(!0),onMouseLeave:()=>T(!1),...g,children:[F&&!w&&!I&&c.jsx("div",{className:"absolute top-2 left-2 z-50 max-w-[90%] pointer-events-none",children:c.jsxs("div",{className:"bg-black/85 text-white text-xs rounded-lg px-3 py-2 shadow-lg backdrop-blur-sm space-y-1 font-mono",children:[s&&c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"inline-block bg-blue-500 text-white text-[10px] font-bold px-1.5 py-0.5 rounded uppercase tracking-wide",children:"variant"}),c.jsx("span",{className:"text-blue-300",children:s})]}),c.jsxs("div",{className:"truncate",children:[c.jsx("span",{className:"text-gray-400",children:"url: "}),c.jsx("span",{className:"text-green-300",children:M||t})]}),P&&c.jsxs("div",{children:[c.jsx("span",{className:"text-gray-400",children:"rendered: "}),c.jsxs("span",{className:"text-yellow-300",children:[P.width,"x",P.height]})]}),o&&c.jsxs("div",{children:[c.jsx("span",{className:"text-gray-400",children:"declared: "}),c.jsxs("span",{className:"text-yellow-300",children:[o.width,"x",o.height]})]}),s&&m&&c.jsxs("div",{className:"truncate",children:[c.jsx("span",{className:"text-gray-400",children:"original: "}),c.jsx("span",{className:"text-orange-300",children:m})]}),a&&c.jsxs("div",{className:"truncate",children:[c.jsx("span",{className:"text-gray-400",children:"sha256: "}),c.jsx("span",{className:"text-purple-300",children:a})]})]})}),w&&(o==null?void 0:o.width)&&(o==null?void 0:o.height)&&c.jsx("img",{src:`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${o.width}' height='${o.height}'%3E%3C/svg%3E`,className:Te("object-cover transition-opacity pointer-events-none w-full h-full",l),alt:""}),j&&c.jsx("div",{className:"absolute inset-0 z-10",children:n?c.jsx(nWe,{thumbHash:n,className:Te("w-full h-full transition-opacity",w?"opacity-100":"opacity-0")}):e?c.jsx(tWe,{blurHash:e,className:Te("w-full h-full transition-opacity",w?"opacity-100":"opacity-0")}):c.jsx(Dn,{className:Te("w-full h-full transition-opacity",w?"opacity-100":"opacity-0",u.skeleton)})}),!I&&c.jsx("img",{src:M,alt:i,decoding:"async",draggable:!1,...g,onLoad:G,onError:z,className:Te("object-cover transition-opacity pointer-events-none w-full h-full",w?"opacity-0 absolute inset-0":"",l)}),I&&(typeof f=="string"?c.jsx("img",{src:f,alt:i,decoding:"async",loading:"lazy",className:Te("object-cover w-full h-full transition-opacity",l)}):c.jsx("div",{className:Te("object-cover flex flex-col items-center justify-center w-full h-full bg-muted",l,u.errorPlaceholder),children:f}))]})}const vA=32,wA=32;function tWe({blurHash:t,className:e=""}){const n=h.useRef(null),r=h.useMemo(()=>{if(!t)return null;try{return kke(t,vA,wA)}catch(o){return console.warn("Failed to decode blurhash:",o),null}},[t]);return h.useEffect(()=>{if(!r||!n.current)return;const s=n.current.getContext("2d");if(!s)return;const a=s.createImageData(vA,wA);a.data.set(r),s.putImageData(a,0,0)},[r]),t?c.jsx("canvas",{ref:n,width:vA,height:wA,className:Te("w-full h-full object-cover rounded-xl",e),style:{imageRendering:"auto",filter:"blur(0.5px)"}}):null}function nWe({thumbHash:t,className:e=""}){const n=h.useMemo(()=>{if(!t)return null;try{return eWe(t)}catch(r){return console.warn("failed to decode thumbhash:",r),null}},[t]);return n?c.jsx("div",{className:Te("w-full h-full object-cover rounded-lg",e),style:{backgroundImage:`url(${n})`,backgroundSize:"cover",backgroundPosition:"center",filter:"blur(1px)"}}):null}function Ag({image:t,className:e,classNames:n={},errorPlaceholder:r,ignoreAutoLoadPolicy:o=!1}){const s=h.useMemo(()=>`image-with-lightbox-${yd()}`,[]),{t:a}=Ke(),{autoLoadMedia:i}=Qr(),[l,u]=h.useState(o?!0:i),[d,f]=h.useState(-1);if(h.useEffect(()=>{d>=0?po.register(s,()=>{f(-1)}):po.unregister(s)},[d]),!l)return c.jsxs("div",{className:"text-primary hover:underline truncate w-fit cursor-pointer",onClick:g=>{g.stopPropagation(),u(!0)},children:["[",a("Click to load image"),"]"]});const m=g=>{g.stopPropagation(),g.preventDefault(),f(0)};return c.jsxs("div",{children:[c.jsx(Uo,{className:e,classNames:{wrapper:Te("border cursor-zoom-in",n.wrapper),errorPlaceholder:"aspect-square h-[30vh]",skeleton:n.skeleton},image:t,onClick:g=>m(g),errorPlaceholder:r},0),d>=0&&Ds.createPortal(c.jsx("div",{onClick:g=>g.stopPropagation(),children:c.jsx(d7,{index:d,slides:[{src:t.url}],plugins:[h7],open:d>=0,close:()=>f(-1),controller:{closeOnBackdropClick:!0,closeOnPullUp:!0,closeOnPullDown:!0},styles:{toolbar:{paddingTop:"2.25rem"}}})}),document.body)]})}function rWe({className:t,images:e,start:n=0,end:r=e.length,mustLoad:o=!1}){const s=h.useMemo(()=>`responsive-image-gallery-${yd()}`,[]),{autoLoadMedia:a}=Qr(),[i,l]=h.useState(-1),[u,d]=h.useState([]),[f,m]=h.useState([]),g=h.useRef(null),[w,b]=h.useState(0);h.useEffect(()=>{if(!g.current)return;const N=new ResizeObserver(M=>{for(const D of M)b(D.contentRect.width)});return N.observe(g.current),b(g.current.offsetWidth),()=>N.disconnect()},[]),h.useEffect(()=>{i>=0?po.register(s,()=>l(-1)):po.unregister(s)},[i]),h.useEffect(()=>{(async()=>{const M=await Promise.all(e.map(async D=>{const P=D.sha256??O6.extractSha256FromUrl(D.url);if(!P)return{...D,displayInfo:D,originalUrl:D.url,variants:[]};const L=await O6.getVariantsForHash(P);if(!L||L.length===0)return{...D,displayInfo:D,originalUrl:D.url,variants:[]};const F=w>0?w:400,T=typeof window<"u"?window.devicePixelRatio:1,R=O6.selectVariant(L,F,T),z=O6.getOriginalVariant(L),G=R?{url:R.url,sha256:R.sha256,blurHash:R.blurhash??D.blurHash,thumbHash:D.thumbHash,dim:{width:R.width,height:R.height},pubkey:D.pubkey,variant:R.variant}:D;return{...D,displayInfo:G,originalUrl:(z==null?void 0:z.url)??D.url,variants:L}}));d(M)})()},[e,w]),h.useEffect(()=>{const N=async()=>{const M=await Promise.all(u.map(({originalUrl:D,pubkey:P})=>new Promise(L=>{const F=new window.Image;let T=D;F.onload=()=>{ed.markAsSuccess(D,T),L({src:T})},F.onerror=()=>{ed.tryNextUrl(D).then(R=>{R?(T=R,L({src:T})):L({src:D})})},P?ed.getValidUrl(D,P).then(R=>{T=R,F.src=T}).catch(()=>L({src:D})):F.src=D})));m(M)};u.length>0&&N()},[u]);const j=(N,M)=>{N.stopPropagation(),N.preventDefault(),l(n+M)},S=u.slice(n,r);if(!o&&!a)return c.jsx(c.Fragment,{children:S.map((N,M)=>c.jsx(Ag,{image:N.displayInfo,className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{wrapper:Te("w-fit max-w-full border",t)}},M))});let I=null;return S.length===1?I=c.jsx(Uo,{className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{errorPlaceholder:"aspect-square h-[30vh]",wrapper:"cursor-zoom-in border"},image:S[0].displayInfo,originalUrl:S[0].originalUrl,onClick:N=>j(N,0)},0):S.length===2||S.length===4?I=c.jsx("div",{className:"grid grid-cols-2 gap-2 w-full",children:S.map((N,M)=>c.jsx(Uo,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:N.displayInfo,originalUrl:N.originalUrl,onClick:D=>j(D,M)},M))}):I=c.jsx("div",{className:"grid grid-cols-3 gap-2 w-full",children:S.map((N,M)=>c.jsx(Uo,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:N.displayInfo,originalUrl:N.originalUrl,onClick:D=>j(D,M)},M))}),c.jsxs("div",{ref:g,className:Te(S.length===1?"w-fit max-w-full":"w-full",t),children:[I,i>=0&&Ds.createPortal(c.jsx("div",{onClick:N=>N.stopPropagation(),children:c.jsx(d7,{index:i,slides:f,plugins:[h7],open:i>=0,close:()=>l(-1),controller:{closeOnBackdropClick:!0,closeOnPullUp:!0,closeOnPullDown:!0},styles:{toolbar:{paddingTop:"2.25rem"}}})}),document.body)]})}function oWe({src:t,className:e}){const{autoplay:n}=Qr(),{muteMedia:r,updateMuteMedia:o}=ts(),[s,a]=h.useState(!1),i=h.useRef(null),l=h.useRef(null);return h.useEffect(()=>{const u=i.current,d=l.current;if(!u||!d||s)return;const f=new IntersectionObserver(([m])=>{m.isIntersecting&&n&&setTimeout(()=>{yje(d)&&Hu.autoPlay(u)},200),m.isIntersecting||Hu.pause(u)},{threshold:1});return f.observe(d),()=>{f.unobserve(d)}},[n,s]),h.useEffect(()=>{if(!i.current)return;const u=i.current,d=()=>{o(u.muted)};return u.addEventListener("volumechange",d),()=>{u.removeEventListener("volumechange",d)}},[]),h.useEffect(()=>{const u=i.current;!u||u.muted===r||(r?u.muted=!0:u.muted=!1)},[r]),s?c.jsx(jd,{url:t}):c.jsx("div",{ref:l,children:c.jsx("video",{ref:i,controls:!0,playsInline:!0,className:Te("rounded-xl max-h-[80vh] sm:max-h-[60vh] border",e),src:t,onClick:u=>u.stopPropagation(),onPlay:u=>{Hu.play(u.currentTarget)},muted:r,onError:()=>a(!0)})})}function m7({src:t,className:e,mustLoad:n=!1}){const{t:r}=Ke(),{autoLoadMedia:o}=Qr(),[s,a]=h.useState(o),[i,l]=h.useState(null),[u,d]=h.useState(!1);return h.useEffect(()=>{a(!!o)},[o]),h.useEffect(()=>{var w;if(!n&&!s){l(null);return}if(!t){l(null);return}const m=(w=new URL(t).pathname.split(".").pop())==null?void 0:w.toLowerCase();if(m&&["mp3","wav","flac","aac","m4a","opus","wma"].includes(m)){l("audio");return}const g=document.createElement("video");return g.src=t,g.preload="metadata",g.crossOrigin="anonymous",g.onloadedmetadata=()=>{d(!1),l(g.videoWidth>0||g.videoHeight>0?"video":"audio")},g.onerror=()=>{d(!0)},()=>{g.src=""}},[t,s,n]),u?c.jsx(jd,{url:t}):!n&&!s?c.jsxs("div",{className:"text-primary hover:underline truncate w-fit cursor-pointer",onClick:f=>{f.stopPropagation(),a(!0)},children:["[",r("Click to load media"),"]"]}):i?i==="video"?c.jsx(oWe,{src:t,className:e}):c.jsx(QL,{src:t,className:e}):null}const S0=class S0{constructor(){je(this,"webMetadataDataLoader",new Pu(async e=>await Promise.all(e.map(async n=>{var r,o,s,a,i;try{const u=await(await fetch(this.proxyUrl(n))).text(),f=new DOMParser().parseFromString(u,"text/html"),m=((r=f.querySelector('meta[property="og:title"]'))==null?void 0:r.getAttribute("content"))||((o=f.querySelector("title"))==null?void 0:o.textContent),g=((s=f.querySelector('meta[property="og:description"]'))==null?void 0:s.getAttribute("content"))||((a=f.querySelector('meta[name="description"]'))==null?void 0:a.content),w=(i=f.querySelector('meta[property="og:image"]'))==null?void 0:i.content;return{title:m,description:g,image:w}}catch{return{}}})),{maxBatchSize:1}));return S0.instance||(S0.instance=this),S0.instance}proxyUrl(e){return e}async fetchWebMetadata(e){return await this.webMetadataDataLoader.load(e)}};je(S0,"instance");let dM=S0;const sWe=new dM;function aWe(t){const[e,n]=h.useState({});return h.useEffect(()=>{sWe.fetchWebMetadata(t).then(r=>n(r))},[t]),e}function Pue({url:t,className:e,mustLoad:n}){const{autoLoadMedia:r}=Qr(),{isSmallScreen:o}=gn(),{title:s,description:a,image:i}=aWe(t),l=h.useMemo(()=>{try{return new URL(t).hostname}catch{return""}},[t]);return!r&&!n?null:s?o&&i?c.jsxs("div",{className:"rounded-xl border mt-2 overflow-hidden",onClick:u=>{u.stopPropagation(),window.open(t,"_blank")},children:[c.jsx(Uo,{image:{url:i},className:"w-full h-44 rounded-none",hideIfError:!0}),c.jsxs("div",{className:"bg-muted p-2 w-full",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:l}),c.jsx("div",{className:"font-semibold line-clamp-1",children:s})]})]}):c.jsxs("div",{className:Te("p-0 clickable flex w-full border rounded-xl overflow-hidden",e),onClick:u=>{u.stopPropagation(),window.open(t,"_blank")},children:[i&&c.jsx(Uo,{image:{url:i},className:"aspect-[4/3] xl:aspect-video bg-foreground h-44",classNames:{wrapper:"rounded-none border-r"},hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 p-2",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:l}),c.jsx("div",{className:"font-semibold line-clamp-2",children:s}),c.jsx("div",{className:"text-xs text-muted-foreground line-clamp-5",children:a})]})]}):n?c.jsx(jd,{url:t,justOpenLink:!0}):null}const Oue=h.memo(({tweetId:t,url:e,className:n})=>{const r=e.match(/(?:twitter\.com|x\.com)\/([^/]+)\/status/i),o=r?r[1]:null;return c.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",onClick:s=>s.stopPropagation(),className:Te("block rounded-xl border overflow-hidden cursor-pointer group","bg-card hover:bg-accent/50 transition-colors","p-4 flex items-center gap-4",n),style:{maxWidth:"550px"},children:[c.jsx("div",{className:"flex-shrink-0 bg-black dark:bg-white rounded-full p-3",children:c.jsx("svg",{viewBox:"0 0 24 24",className:"size-6 text-white dark:text-black",fill:"currentColor",children:c.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"flex items-center gap-2",children:c.jsx("span",{className:"font-semibold text-foreground",children:o?`@${o}`:"X Post"})}),c.jsxs("div",{className:"text-sm text-muted-foreground truncate",children:["Post ID: ",t]})]}),c.jsx("div",{className:"flex-shrink-0 opacity-60 group-hover:opacity-100 transition-opacity",children:c.jsx(of,{className:"size-5"})})]})});Oue.displayName="XPost";function zue({url:t,className:e,embedded:n=!0}){const{tweetId:r}=h.useMemo(()=>iWe(t),[t]);return r?c.jsx(Oue,{tweetId:r,url:t,className:e,embedded:n}):c.jsx(jd,{url:t})}function iWe(t){const e=/(?:twitter\.com|x\.com)\/(?:#!\/)?(?:\w+)\/status(?:es)?\/(\d+)/i,n=t.match(e);return{tweetId:n?n[1]:null}}const Fue=h.memo(({videoId:t,isShort:e,className:n})=>{const[r,o]=h.useState(!1),s=r?`https://i.ytimg.com/vi/${t}/hqdefault.jpg`:`https://i.ytimg.com/vi/${t}/maxresdefault.jpg`,a=e?`https://www.youtube.com/shorts/${t}`:`https://www.youtube.com/watch?v=${t}`;return c.jsxs("a",{href:a,target:"_blank",rel:"noopener noreferrer",onClick:i=>i.stopPropagation(),className:Te("block rounded-xl border overflow-hidden cursor-pointer relative group",e?"aspect-[9/16] max-h-[80vh] sm:max-h-[60vh]":"aspect-video max-h-[60vh]",n),children:[c.jsx("img",{src:s,alt:"YouTube video thumbnail",className:"w-full h-full object-cover",loading:"lazy",onError:()=>!r&&o(!0)}),c.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 group-hover:bg-black/40 transition-colors",children:c.jsx("div",{className:"bg-red-600 rounded-full p-4 group-hover:scale-110 transition-transform shadow-lg",children:c.jsx(oL,{className:"size-8 text-white fill-white"})})}),c.jsxs("div",{className:"absolute top-2 right-2 bg-black/60 rounded-md px-2 py-1 flex items-center gap-1 text-white text-xs opacity-0 group-hover:opacity-100 transition-opacity",children:[c.jsx(of,{className:"size-3"}),c.jsx("span",{children:"YouTube"})]})]})});Fue.displayName="YoutubePlayer";function Bue({url:t,className:e}){const{videoId:n,isShort:r}=h.useMemo(()=>lWe(t),[t]);return n?c.jsx(Fue,{videoId:n,isShort:r,className:e}):c.jsx(jd,{url:t})}function lWe(t){const e=[/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([^&\n?#]+)/,/youtube\.com\/watch\?.*v=([^&\n?#]+)/,/youtube\.com\/shorts\/([^&\n?#]+)/,/youtube\.com\/live\/([^&\n?#]+)/];let n=null,r=!1;for(const[o,s]of e.entries()){const a=t.match(s);if(a){n=a[1].trim(),r=o===2;break}}return{videoId:n,isShort:r}}function cWe(t,e){const n={};return(t[t.length-1]===""?[...t,""]:t).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const uWe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,fWe=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,dWe={};function dG(t,e){return(dWe.jsx?fWe:uWe).test(t)}const pWe=/[ \t\n\f\r]/g;function hWe(t){return typeof t=="object"?t.type==="text"?pG(t.value):!1:pG(t)}function pG(t){return t.replace(pWe,"")===""}let yx=class{constructor(e,n,r){this.normal=n,this.property=e,r&&(this.space=r)}};yx.prototype.normal={};yx.prototype.property={};yx.prototype.space=void 0;function Uue(t,e){const n={},r={};for(const o of t)Object.assign(n,o.property),Object.assign(r,o.normal);return new yx(n,r,e)}function pM(t){return t.toLowerCase()}class Di{constructor(e,n){this.attribute=n,this.property=e}}Di.prototype.attribute="";Di.prototype.booleanish=!1;Di.prototype.boolean=!1;Di.prototype.commaOrSpaceSeparated=!1;Di.prototype.commaSeparated=!1;Di.prototype.defined=!1;Di.prototype.mustUseProperty=!1;Di.prototype.number=!1;Di.prototype.overloadedBoolean=!1;Di.prototype.property="";Di.prototype.spaceSeparated=!1;Di.prototype.space=void 0;let mWe=0;const Un=Xg(),Wo=Xg(),hM=Xg(),Ft=Xg(),Kr=Xg(),W0=Xg(),qi=Xg();function Xg(){return 2**++mWe}const mM=Object.freeze(Object.defineProperty({__proto__:null,boolean:Un,booleanish:Wo,commaOrSpaceSeparated:qi,commaSeparated:W0,number:Ft,overloadedBoolean:hM,spaceSeparated:Kr},Symbol.toStringTag,{value:"Module"})),bA=Object.keys(mM);class g7 extends Di{constructor(e,n,r,o){let s=-1;if(super(e,n),hG(this,"space",o),typeof r=="number")for(;++s<bA.length;){const a=bA[s];hG(this,bA[s],(r&mM[a])===mM[a])}}}g7.prototype.defined=!0;function hG(t,e,n){n&&(t[e]=n)}function ov(t){const e={},n={};for(const[r,o]of Object.entries(t.properties)){const s=new g7(r,t.transform(t.attributes||{},r),o,t.space);t.mustUseProperty&&t.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),e[r]=s,n[pM(r)]=r,n[pM(s.attribute)]=r}return new yx(e,n,t.space)}const $ue=ov({properties:{ariaActiveDescendant:null,ariaAtomic:Wo,ariaAutoComplete:null,ariaBusy:Wo,ariaChecked:Wo,ariaColCount:Ft,ariaColIndex:Ft,ariaColSpan:Ft,ariaControls:Kr,ariaCurrent:null,ariaDescribedBy:Kr,ariaDetails:null,ariaDisabled:Wo,ariaDropEffect:Kr,ariaErrorMessage:null,ariaExpanded:Wo,ariaFlowTo:Kr,ariaGrabbed:Wo,ariaHasPopup:null,ariaHidden:Wo,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Kr,ariaLevel:Ft,ariaLive:null,ariaModal:Wo,ariaMultiLine:Wo,ariaMultiSelectable:Wo,ariaOrientation:null,ariaOwns:Kr,ariaPlaceholder:null,ariaPosInSet:Ft,ariaPressed:Wo,ariaReadOnly:Wo,ariaRelevant:null,ariaRequired:Wo,ariaRoleDescription:Kr,ariaRowCount:Ft,ariaRowIndex:Ft,ariaRowSpan:Ft,ariaSelected:Wo,ariaSetSize:Ft,ariaSort:null,ariaValueMax:Ft,ariaValueMin:Ft,ariaValueNow:Ft,ariaValueText:null,role:null},transform(t,e){return e==="role"?e:"aria-"+e.slice(4).toLowerCase()}});function Vue(t,e){return e in t?t[e]:e}function Hue(t,e){return Vue(t,e.toLowerCase())}const gWe=ov({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:W0,acceptCharset:Kr,accessKey:Kr,action:null,allow:null,allowFullScreen:Un,allowPaymentRequest:Un,allowUserMedia:Un,alt:null,as:null,async:Un,autoCapitalize:null,autoComplete:Kr,autoFocus:Un,autoPlay:Un,blocking:Kr,capture:null,charSet:null,checked:Un,cite:null,className:Kr,cols:Ft,colSpan:null,content:null,contentEditable:Wo,controls:Un,controlsList:Kr,coords:Ft|W0,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Un,defer:Un,dir:null,dirName:null,disabled:Un,download:hM,draggable:Wo,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Un,formTarget:null,headers:Kr,height:Ft,hidden:hM,high:Ft,href:null,hrefLang:null,htmlFor:Kr,httpEquiv:Kr,id:null,imageSizes:null,imageSrcSet:null,inert:Un,inputMode:null,integrity:null,is:null,isMap:Un,itemId:null,itemProp:Kr,itemRef:Kr,itemScope:Un,itemType:Kr,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Un,low:Ft,manifest:null,max:null,maxLength:Ft,media:null,method:null,min:null,minLength:Ft,multiple:Un,muted:Un,name:null,nonce:null,noModule:Un,noValidate:Un,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Un,optimum:Ft,pattern:null,ping:Kr,placeholder:null,playsInline:Un,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Un,referrerPolicy:null,rel:Kr,required:Un,reversed:Un,rows:Ft,rowSpan:Ft,sandbox:Kr,scope:null,scoped:Un,seamless:Un,selected:Un,shadowRootClonable:Un,shadowRootDelegatesFocus:Un,shadowRootMode:null,shape:null,size:Ft,sizes:null,slot:null,span:Ft,spellCheck:Wo,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Ft,step:null,style:null,tabIndex:Ft,target:null,title:null,translate:null,type:null,typeMustMatch:Un,useMap:null,value:Wo,width:Ft,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Kr,axis:null,background:null,bgColor:null,border:Ft,borderColor:null,bottomMargin:Ft,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Un,declare:Un,event:null,face:null,frame:null,frameBorder:null,hSpace:Ft,leftMargin:Ft,link:null,longDesc:null,lowSrc:null,marginHeight:Ft,marginWidth:Ft,noResize:Un,noHref:Un,noShade:Un,noWrap:Un,object:null,profile:null,prompt:null,rev:null,rightMargin:Ft,rules:null,scheme:null,scrolling:Wo,standby:null,summary:null,text:null,topMargin:Ft,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Ft,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Un,disableRemotePlayback:Un,prefix:null,property:null,results:Ft,security:null,unselectable:null},space:"html",transform:Hue}),yWe=ov({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:qi,accentHeight:Ft,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Ft,amplitude:Ft,arabicForm:null,ascent:Ft,attributeName:null,attributeType:null,azimuth:Ft,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Ft,by:null,calcMode:null,capHeight:Ft,className:Kr,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Ft,diffuseConstant:Ft,direction:null,display:null,dur:null,divisor:Ft,dominantBaseline:null,download:Un,dx:null,dy:null,edgeMode:null,editable:null,elevation:Ft,enableBackground:null,end:null,event:null,exponent:Ft,externalResourcesRequired:null,fill:null,fillOpacity:Ft,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:W0,g2:W0,glyphName:W0,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Ft,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Ft,horizOriginX:Ft,horizOriginY:Ft,id:null,ideographic:Ft,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Ft,k:Ft,k1:Ft,k2:Ft,k3:Ft,k4:Ft,kernelMatrix:qi,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Ft,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Ft,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Ft,overlineThickness:Ft,paintOrder:null,panose1:null,path:null,pathLength:Ft,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Kr,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Ft,pointsAtY:Ft,pointsAtZ:Ft,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:qi,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:qi,rev:qi,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:qi,requiredFeatures:qi,requiredFonts:qi,requiredFormats:qi,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Ft,specularExponent:Ft,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Ft,strikethroughThickness:Ft,string:null,stroke:null,strokeDashArray:qi,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Ft,strokeOpacity:Ft,strokeWidth:null,style:null,surfaceScale:Ft,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:qi,tabIndex:Ft,tableValues:null,target:null,targetX:Ft,targetY:Ft,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:qi,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Ft,underlineThickness:Ft,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Ft,values:null,vAlphabetic:Ft,vMathematical:Ft,vectorEffect:null,vHanging:Ft,vIdeographic:Ft,version:null,vertAdvY:Ft,vertOriginX:Ft,vertOriginY:Ft,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Ft,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Vue}),Wue=ov({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(t,e){return"xlink:"+e.slice(5).toLowerCase()}}),Yue=ov({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Hue}),Gue=ov({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(t,e){return"xml:"+e.slice(3).toLowerCase()}}),vWe={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},wWe=/[A-Z]/g,mG=/-[a-z]/g,bWe=/^data[-\w.:]+$/i;function xWe(t,e){const n=pM(e);let r=e,o=Di;if(n in t.normal)return t.property[t.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&bWe.test(e)){if(e.charAt(4)==="-"){const s=e.slice(5).replace(mG,jWe);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=e.slice(4);if(!mG.test(s)){let a=s.replace(wWe,kWe);a.charAt(0)!=="-"&&(a="-"+a),e="data"+a}}o=g7}return new o(r,e)}function kWe(t){return"-"+t.toLowerCase()}function jWe(t){return t.charAt(1).toUpperCase()}const CWe=Uue([$ue,gWe,Wue,Yue,Gue],"html"),y7=Uue([$ue,yWe,Wue,Yue,Gue],"svg");function SWe(t){return t.join(" ").trim()}var J1={},xA,gG;function EWe(){if(gG)return xA;gG=1;var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,e=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,i=/^\s+|\s+$/g,l=`
2051 `,u="/",d="*",f="",m="comment",g="declaration";xA=function(b,j){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];j=j||{};var S=1,I=1;function N(Z){var W=Z.match(e);W&&(S+=W.length);var U=Z.lastIndexOf(l);I=~U?Z.length-U:I+Z.length}function M(){var Z={line:S,column:I};return function(W){return W.position=new D(Z),F(),W}}function D(Z){this.start=Z,this.end={line:S,column:I},this.source=j.source}D.prototype.content=b;function P(Z){var W=new Error(j.source+":"+S+":"+I+": "+Z);if(W.reason=Z,W.filename=j.source,W.line=S,W.column=I,W.source=b,!j.silent)throw W}function L(Z){var W=Z.exec(b);if(W){var U=W[0];return N(U),b=b.slice(U.length),W}}function F(){L(n)}function T(Z){var W;for(Z=Z||[];W=R();)W!==!1&&Z.push(W);return Z}function R(){var Z=M();if(!(u!=b.charAt(0)||d!=b.charAt(1))){for(var W=2;f!=b.charAt(W)&&(d!=b.charAt(W)||u!=b.charAt(W+1));)++W;if(W+=2,f===b.charAt(W-1))return P("End of comment missing");var U=b.slice(2,W-2);return I+=2,N(U),b=b.slice(W),I+=2,Z({type:m,comment:U})}}function z(){var Z=M(),W=L(r);if(W){if(R(),!L(o))return P("property missing ':'");var U=L(s),ee=Z({type:g,property:w(W[0].replace(t,f)),value:U?w(U[0].replace(t,f)):f});return L(a),ee}}function G(){var Z=[];T(Z);for(var W;W=z();)W!==!1&&(Z.push(W),T(Z));return Z}return F(),G()};function w(b){return b?b.replace(i,f):f}return xA}var yG;function NWe(){if(yG)return J1;yG=1;var t=J1&&J1.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(J1,"__esModule",{value:!0}),J1.default=n;var e=t(EWe());function n(r,o){var s=null;if(!r||typeof r!="string")return s;var a=(0,e.default)(r),i=typeof o=="function";return a.forEach(function(l){if(l.type==="declaration"){var u=l.property,d=l.value;i?o(u,d,l):d&&(s=s||{},s[u]=d)}}),s}return J1}var xw={},vG;function IWe(){if(vG)return xw;vG=1,Object.defineProperty(xw,"__esModule",{value:!0}),xw.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,e=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(u){return!u||n.test(u)||t.test(u)},a=function(u,d){return d.toUpperCase()},i=function(u,d){return"".concat(d,"-")},l=function(u,d){return d===void 0&&(d={}),s(u)?u:(u=u.toLowerCase(),d.reactCompat?u=u.replace(o,i):u=u.replace(r,i),u.replace(e,a))};return xw.camelCase=l,xw}var kw,wG;function AWe(){if(wG)return kw;wG=1;var t=kw&&kw.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},e=t(NWe()),n=IWe();function r(o,s){var a={};return!o||typeof o!="string"||(0,e.default)(o,function(i,l){i&&l&&(a[(0,n.camelCase)(i,s)]=l)}),a}return r.default=r,kw=r,kw}var _We=AWe();const MWe=tc(_We),que=Kue("end"),v7=Kue("start");function Kue(t){return e;function e(n){const r=n&&n.position&&n.position[t]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function RWe(t){const e=v7(t),n=que(t);if(e&&n)return{start:e,end:n}}function Xw(t){return!t||typeof t!="object"?"":"position"in t||"type"in t?bG(t.position):"start"in t||"end"in t?bG(t):"line"in t||"column"in t?gM(t):""}function gM(t){return xG(t&&t.line)+":"+xG(t&&t.column)}function bG(t){return gM(t&&t.start)+"-"+gM(t&&t.end)}function xG(t){return t&&typeof t=="number"?t:1}class za extends Error{constructor(e,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let o="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof e=="string"?o=e:!s.cause&&e&&(a=!0,o=e.message,s.cause=e),!s.ruleId&&!s.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?s.ruleId=r:(s.source=r.slice(0,l),s.ruleId=r.slice(l+1))}if(!s.place&&s.ancestors&&s.ancestors){const l=s.ancestors[s.ancestors.length-1];l&&(s.place=l.position)}const i=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=i?i.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=i?i.line:void 0,this.name=Xw(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}za.prototype.file="";za.prototype.name="";za.prototype.reason="";za.prototype.message="";za.prototype.stack="";za.prototype.column=void 0;za.prototype.line=void 0;za.prototype.ancestors=void 0;za.prototype.cause=void 0;za.prototype.fatal=void 0;za.prototype.place=void 0;za.prototype.ruleId=void 0;za.prototype.source=void 0;const w7={}.hasOwnProperty,TWe=new Map,DWe=/[A-Z]/g,LWe=new Set(["table","tbody","thead","tfoot","tr"]),PWe=new Set(["td","th"]),Zue="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function OWe(t,e){if(!e||e.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=e.filePath||void 0;let r;if(e.development){if(typeof e.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=WWe(n,e.jsxDEV)}else{if(typeof e.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof e.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=HWe(n,e.jsx,e.jsxs)}const o={Fragment:e.Fragment,ancestors:[],components:e.components||{},create:r,elementAttributeNameCase:e.elementAttributeNameCase||"react",evaluater:e.createEvaluater?e.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:e.ignoreInvalidStyle||!1,passKeys:e.passKeys!==!1,passNode:e.passNode||!1,schema:e.space==="svg"?y7:CWe,stylePropertyNameCase:e.stylePropertyNameCase||"dom",tableCellAlignToStyle:e.tableCellAlignToStyle!==!1},s=Que(o,t,void 0);return s&&typeof s!="string"?s:o.create(t,o.Fragment,{children:s||void 0},void 0)}function Que(t,e,n){if(e.type==="element")return zWe(t,e,n);if(e.type==="mdxFlowExpression"||e.type==="mdxTextExpression")return FWe(t,e);if(e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement")return UWe(t,e,n);if(e.type==="mdxjsEsm")return BWe(t,e);if(e.type==="root")return $We(t,e,n);if(e.type==="text")return VWe(t,e)}function zWe(t,e,n){const r=t.schema;let o=r;e.tagName.toLowerCase()==="svg"&&r.space==="html"&&(o=y7,t.schema=o),t.ancestors.push(e);const s=Xue(t,e.tagName,!1),a=YWe(t,e);let i=x7(t,e);return LWe.has(e.tagName)&&(i=i.filter(function(l){return typeof l=="string"?!hWe(l):!0})),Jue(t,a,s,e),b7(a,i),t.ancestors.pop(),t.schema=r,t.create(e,s,a,n)}function FWe(t,e){if(e.data&&e.data.estree&&t.evaluater){const r=e.data.estree.body[0];return r.type,t.evaluater.evaluateExpression(r.expression)}u2(t,e.position)}function BWe(t,e){if(e.data&&e.data.estree&&t.evaluater)return t.evaluater.evaluateProgram(e.data.estree);u2(t,e.position)}function UWe(t,e,n){const r=t.schema;let o=r;e.name==="svg"&&r.space==="html"&&(o=y7,t.schema=o),t.ancestors.push(e);const s=e.name===null?t.Fragment:Xue(t,e.name,!0),a=GWe(t,e),i=x7(t,e);return Jue(t,a,s,e),b7(a,i),t.ancestors.pop(),t.schema=r,t.create(e,s,a,n)}function $We(t,e,n){const r={};return b7(r,x7(t,e)),t.create(e,t.Fragment,r,n)}function VWe(t,e){return e.value}function Jue(t,e,n,r){typeof n!="string"&&n!==t.Fragment&&t.passNode&&(e.node=r)}function b7(t,e){if(e.length>0){const n=e.length>1?e:e[0];n&&(t.children=n)}}function HWe(t,e,n){return r;function r(o,s,a,i){const u=Array.isArray(a.children)?n:e;return i?u(s,a,i):u(s,a)}}function WWe(t,e){return n;function n(r,o,s,a){const i=Array.isArray(s.children),l=v7(r);return e(o,s,a,i,{columnNumber:l?l.column-1:void 0,fileName:t,lineNumber:l?l.line:void 0},void 0)}}function YWe(t,e){const n={};let r,o;for(o in e.properties)if(o!=="children"&&w7.call(e.properties,o)){const s=qWe(t,o,e.properties[o]);if(s){const[a,i]=s;t.tableCellAlignToStyle&&a==="align"&&typeof i=="string"&&PWe.has(e.tagName)?r=i:n[a]=i}}if(r){const s=n.style||(n.style={});s[t.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function GWe(t,e){const n={};for(const r of e.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&t.evaluater){const s=r.data.estree.body[0];s.type;const a=s.expression;a.type;const i=a.properties[0];i.type,Object.assign(n,t.evaluater.evaluateExpression(i.argument))}else u2(t,e.position);else{const o=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&t.evaluater){const i=r.value.data.estree.body[0];i.type,s=t.evaluater.evaluateExpression(i.expression)}else u2(t,e.position);else s=r.value===null?!0:r.value;n[o]=s}return n}function x7(t,e){const n=[];let r=-1;const o=t.passKeys?new Map:TWe;for(;++r<e.children.length;){const s=e.children[r];let a;if(t.passKeys){const l=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(l){const u=o.get(l)||0;a=l+"-"+u,o.set(l,u+1)}}const i=Que(t,s,a);i!==void 0&&n.push(i)}return n}function qWe(t,e,n){const r=xWe(t.schema,e);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?cWe(n):SWe(n)),r.property==="style"){let o=typeof n=="object"?n:KWe(t,String(n));return t.stylePropertyNameCase==="css"&&(o=ZWe(o)),["style",o]}return[t.elementAttributeNameCase==="react"&&r.space?vWe[r.property]||r.property:r.attribute,n]}}function KWe(t,e){try{return MWe(e,{reactCompat:!0})}catch(n){if(t.ignoreInvalidStyle)return{};const r=n,o=new za("Cannot parse `style` attribute",{ancestors:t.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=t.filePath||void 0,o.url=Zue+"#cannot-parse-style-attribute",o}}function Xue(t,e,n){let r;if(!n)r={type:"Literal",value:e};else if(e.includes(".")){const o=e.split(".");let s=-1,a;for(;++s<o.length;){const i=dG(o[s])?{type:"Identifier",name:o[s]}:{type:"Literal",value:o[s]};a=a?{type:"MemberExpression",object:a,property:i,computed:!!(s&&i.type==="Literal"),optional:!1}:i}r=a}else r=dG(e)&&!/^[a-z]/.test(e)?{type:"Identifier",name:e}:{type:"Literal",value:e};if(r.type==="Literal"){const o=r.value;return w7.call(t.components,o)?t.components[o]:o}if(t.evaluater)return t.evaluater.evaluateExpression(r);u2(t)}function u2(t,e){const n=new za("Cannot handle MDX estrees without `createEvaluater`",{ancestors:t.ancestors,place:e,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=t.filePath||void 0,n.url=Zue+"#cannot-handle-mdx-estrees-without-createevaluater",n}function ZWe(t){const e={};let n;for(n in t)w7.call(t,n)&&(e[QWe(n)]=t[n]);return e}function QWe(t){let e=t.replace(DWe,JWe);return e.slice(0,3)==="ms-"&&(e="-"+e),e}function JWe(t){return"-"+t.toLowerCase()}const kA={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},XWe={};function k7(t,e){const n=XWe,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return efe(t,r,o)}function efe(t,e,n){if(eYe(t)){if("value"in t)return t.type==="html"&&!n?"":t.value;if(e&&"alt"in t&&t.alt)return t.alt;if("children"in t)return kG(t.children,e,n)}return Array.isArray(t)?kG(t,e,n):""}function kG(t,e,n){const r=[];let o=-1;for(;++o<t.length;)r[o]=efe(t[o],e,n);return r.join("")}function eYe(t){return!!(t&&typeof t=="object")}const jG=document.createElement("i");function j7(t){const e="&"+t+";";jG.innerHTML=e;const n=jG.textContent;return n.charCodeAt(n.length-1)===59&&t!=="semi"||n===e?!1:n}function ul(t,e,n,r){const o=t.length;let s=0,a;if(e<0?e=-e>o?0:o+e:e=e>o?o:e,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(e,n),t.splice(...a);else for(n&&t.splice(e,n);s<r.length;)a=r.slice(s,s+1e4),a.unshift(e,0),t.splice(...a),s+=1e4,e+=1e4}function Fl(t,e){return t.length>0?(ul(t,t.length,0,e),t):e}const CG={}.hasOwnProperty;function tfe(t){const e={};let n=-1;for(;++n<t.length;)tYe(e,t[n]);return e}function tYe(t,e){let n;for(n in e){const o=(CG.call(t,n)?t[n]:void 0)||(t[n]={}),s=e[n];let a;if(s)for(a in s){CG.call(o,a)||(o[a]=[]);const i=s[a];nYe(o[a],Array.isArray(i)?i:i?[i]:[])}}}function nYe(t,e){let n=-1;const r=[];for(;++n<e.length;)(e[n].add==="after"?t:r).push(e[n]);ul(t,0,0,r)}function nfe(t,e){const n=Number.parseInt(t,e);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Wc(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const qa=Rh(/[A-Za-z]/),Na=Rh(/[\dA-Za-z]/),rYe=Rh(/[#-'*+\--9=?A-Z^-~]/);function mj(t){return t!==null&&(t<32||t===127)}const yM=Rh(/\d/),oYe=Rh(/[\dA-Fa-f]/),sYe=Rh(/[!-/:-@[-`{-~]/);function bn(t){return t!==null&&t<-2}function $r(t){return t!==null&&(t<0||t===32)}function er(t){return t===-2||t===-1||t===32}const nE=Rh(new RegExp("\\p{P}|\\p{S}","u")),_g=Rh(/\s/);function Rh(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function sv(t){const e=[];let n=-1,r=0,o=0;for(;++n<t.length;){const s=t.charCodeAt(n);let a="";if(s===37&&Na(t.charCodeAt(n+1))&&Na(t.charCodeAt(n+2)))o=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(a=String.fromCharCode(s));else if(s>55295&&s<57344){const i=t.charCodeAt(n+1);s<56320&&i>56319&&i<57344?(a=String.fromCharCode(s,i),o=1):a="�"}else a=String.fromCharCode(s);a&&(e.push(t.slice(r,n),encodeURIComponent(a)),r=n+o+1,a=""),o&&(n+=o,o=0)}return e.join("")+t.slice(r)}function dr(t,e,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(l){return er(l)?(t.enter(n),i(l)):e(l)}function i(l){return er(l)&&s++<o?(t.consume(l),i):(t.exit(n),e(l))}}const aYe={tokenize:iYe};function iYe(t){const e=t.attempt(this.parser.constructs.contentInitial,r,o);let n;return e;function r(i){if(i===null){t.consume(i);return}return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),dr(t,e,"linePrefix")}function o(i){return t.enter("paragraph"),s(i)}function s(i){const l=t.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=l),n=l,a(i)}function a(i){if(i===null){t.exit("chunkText"),t.exit("paragraph"),t.consume(i);return}return bn(i)?(t.consume(i),t.exit("chunkText"),s):(t.consume(i),a)}}const lYe={tokenize:cYe},SG={tokenize:uYe};function cYe(t){const e=this,n=[];let r=0,o,s,a;return i;function i(N){if(r<n.length){const M=n[r];return e.containerState=M[1],t.attempt(M[0].continuation,l,u)(N)}return u(N)}function l(N){if(r++,e.containerState._closeFlow){e.containerState._closeFlow=void 0,o&&I();const M=e.events.length;let D=M,P;for(;D--;)if(e.events[D][0]==="exit"&&e.events[D][1].type==="chunkFlow"){P=e.events[D][1].end;break}S(r);let L=M;for(;L<e.events.length;)e.events[L][1].end={...P},L++;return ul(e.events,D+1,0,e.events.slice(M)),e.events.length=L,u(N)}return i(N)}function u(N){if(r===n.length){if(!o)return m(N);if(o.currentConstruct&&o.currentConstruct.concrete)return w(N);e.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return e.containerState={},t.check(SG,d,f)(N)}function d(N){return o&&I(),S(r),m(N)}function f(N){return e.parser.lazy[e.now().line]=r!==n.length,a=e.now().offset,w(N)}function m(N){return e.containerState={},t.attempt(SG,g,w)(N)}function g(N){return r++,n.push([e.currentConstruct,e.containerState]),m(N)}function w(N){if(N===null){o&&I(),S(0),t.consume(N);return}return o=o||e.parser.flow(e.now()),t.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:s}),b(N)}function b(N){if(N===null){j(t.exit("chunkFlow"),!0),S(0),t.consume(N);return}return bn(N)?(t.consume(N),j(t.exit("chunkFlow")),r=0,e.interrupt=void 0,i):(t.consume(N),b)}function j(N,M){const D=e.sliceStream(N);if(M&&D.push(null),N.previous=s,s&&(s.next=N),s=N,o.defineSkip(N.start),o.write(D),e.parser.lazy[N.start.line]){let P=o.events.length;for(;P--;)if(o.events[P][1].start.offset<a&&(!o.events[P][1].end||o.events[P][1].end.offset>a))return;const L=e.events.length;let F=L,T,R;for(;F--;)if(e.events[F][0]==="exit"&&e.events[F][1].type==="chunkFlow"){if(T){R=e.events[F][1].end;break}T=!0}for(S(r),P=L;P<e.events.length;)e.events[P][1].end={...R},P++;ul(e.events,F+1,0,e.events.slice(L)),e.events.length=P}}function S(N){let M=n.length;for(;M-- >N;){const D=n[M];e.containerState=D[1],D[0].exit.call(e,t)}n.length=N}function I(){o.write([null]),s=void 0,o=void 0,e.containerState._closeFlow=void 0}}function uYe(t,e,n){return dr(t,t.attempt(this.parser.constructs.document,e,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function by(t){if(t===null||$r(t)||_g(t))return 1;if(nE(t))return 2}function rE(t,e,n){const r=[];let o=-1;for(;++o<t.length;){const s=t[o].resolveAll;s&&!r.includes(s)&&(e=s(e,n),r.push(s))}return e}const vM={name:"attention",resolveAll:fYe,tokenize:dYe};function fYe(t,e){let n=-1,r,o,s,a,i,l,u,d;for(;++n<t.length;)if(t[n][0]==="enter"&&t[n][1].type==="attentionSequence"&&t[n][1]._close){for(r=n;r--;)if(t[r][0]==="exit"&&t[r][1].type==="attentionSequence"&&t[r][1]._open&&e.sliceSerialize(t[r][1]).charCodeAt(0)===e.sliceSerialize(t[n][1]).charCodeAt(0)){if((t[r][1]._close||t[n][1]._open)&&(t[n][1].end.offset-t[n][1].start.offset)%3&&!((t[r][1].end.offset-t[r][1].start.offset+t[n][1].end.offset-t[n][1].start.offset)%3))continue;l=t[r][1].end.offset-t[r][1].start.offset>1&&t[n][1].end.offset-t[n][1].start.offset>1?2:1;const f={...t[r][1].end},m={...t[n][1].start};EG(f,-l),EG(m,l),a={type:l>1?"strongSequence":"emphasisSequence",start:f,end:{...t[r][1].end}},i={type:l>1?"strongSequence":"emphasisSequence",start:{...t[n][1].start},end:m},s={type:l>1?"strongText":"emphasisText",start:{...t[r][1].end},end:{...t[n][1].start}},o={type:l>1?"strong":"emphasis",start:{...a.start},end:{...i.end}},t[r][1].end={...a.start},t[n][1].start={...i.end},u=[],t[r][1].end.offset-t[r][1].start.offset&&(u=Fl(u,[["enter",t[r][1],e],["exit",t[r][1],e]])),u=Fl(u,[["enter",o,e],["enter",a,e],["exit",a,e],["enter",s,e]]),u=Fl(u,rE(e.parser.constructs.insideSpan.null,t.slice(r+1,n),e)),u=Fl(u,[["exit",s,e],["enter",i,e],["exit",i,e],["exit",o,e]]),t[n][1].end.offset-t[n][1].start.offset?(d=2,u=Fl(u,[["enter",t[n][1],e],["exit",t[n][1],e]])):d=0,ul(t,r-1,n-r+3,u),n=r+u.length-d-2;break}}for(n=-1;++n<t.length;)t[n][1].type==="attentionSequence"&&(t[n][1].type="data");return t}function dYe(t,e){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=by(r);let s;return a;function a(l){return s=l,t.enter("attentionSequence"),i(l)}function i(l){if(l===s)return t.consume(l),i;const u=t.exit("attentionSequence"),d=by(l),f=!d||d===2&&o||n.includes(l),m=!o||o===2&&d||n.includes(r);return u._open=!!(s===42?f:f&&(o||!m)),u._close=!!(s===42?m:m&&(d||!f)),e(l)}}function EG(t,e){t.column+=e,t.offset+=e,t._bufferIndex+=e}const pYe={name:"autolink",tokenize:hYe};function hYe(t,e,n){let r=0;return o;function o(g){return t.enter("autolink"),t.enter("autolinkMarker"),t.consume(g),t.exit("autolinkMarker"),t.enter("autolinkProtocol"),s}function s(g){return qa(g)?(t.consume(g),a):g===64?n(g):u(g)}function a(g){return g===43||g===45||g===46||Na(g)?(r=1,i(g)):u(g)}function i(g){return g===58?(t.consume(g),r=0,l):(g===43||g===45||g===46||Na(g))&&r++<32?(t.consume(g),i):(r=0,u(g))}function l(g){return g===62?(t.exit("autolinkProtocol"),t.enter("autolinkMarker"),t.consume(g),t.exit("autolinkMarker"),t.exit("autolink"),e):g===null||g===32||g===60||mj(g)?n(g):(t.consume(g),l)}function u(g){return g===64?(t.consume(g),d):rYe(g)?(t.consume(g),u):n(g)}function d(g){return Na(g)?f(g):n(g)}function f(g){return g===46?(t.consume(g),r=0,d):g===62?(t.exit("autolinkProtocol").type="autolinkEmail",t.enter("autolinkMarker"),t.consume(g),t.exit("autolinkMarker"),t.exit("autolink"),e):m(g)}function m(g){if((g===45||Na(g))&&r++<63){const w=g===45?m:f;return t.consume(g),w}return n(g)}}const vx={partial:!0,tokenize:mYe};function mYe(t,e,n){return r;function r(s){return er(s)?dr(t,o,"linePrefix")(s):o(s)}function o(s){return s===null||bn(s)?e(s):n(s)}}const rfe={continuation:{tokenize:yYe},exit:vYe,name:"blockQuote",tokenize:gYe};function gYe(t,e,n){const r=this;return o;function o(a){if(a===62){const i=r.containerState;return i.open||(t.enter("blockQuote",{_container:!0}),i.open=!0),t.enter("blockQuotePrefix"),t.enter("blockQuoteMarker"),t.consume(a),t.exit("blockQuoteMarker"),s}return n(a)}function s(a){return er(a)?(t.enter("blockQuotePrefixWhitespace"),t.consume(a),t.exit("blockQuotePrefixWhitespace"),t.exit("blockQuotePrefix"),e):(t.exit("blockQuotePrefix"),e(a))}}function yYe(t,e,n){const r=this;return o;function o(a){return er(a)?dr(t,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a):s(a)}function s(a){return t.attempt(rfe,e,n)(a)}}function vYe(t){t.exit("blockQuote")}const ofe={name:"characterEscape",tokenize:wYe};function wYe(t,e,n){return r;function r(s){return t.enter("characterEscape"),t.enter("escapeMarker"),t.consume(s),t.exit("escapeMarker"),o}function o(s){return sYe(s)?(t.enter("characterEscapeValue"),t.consume(s),t.exit("characterEscapeValue"),t.exit("characterEscape"),e):n(s)}}const sfe={name:"characterReference",tokenize:bYe};function bYe(t,e,n){const r=this;let o=0,s,a;return i;function i(f){return t.enter("characterReference"),t.enter("characterReferenceMarker"),t.consume(f),t.exit("characterReferenceMarker"),l}function l(f){return f===35?(t.enter("characterReferenceMarkerNumeric"),t.consume(f),t.exit("characterReferenceMarkerNumeric"),u):(t.enter("characterReferenceValue"),s=31,a=Na,d(f))}function u(f){return f===88||f===120?(t.enter("characterReferenceMarkerHexadecimal"),t.consume(f),t.exit("characterReferenceMarkerHexadecimal"),t.enter("characterReferenceValue"),s=6,a=oYe,d):(t.enter("characterReferenceValue"),s=7,a=yM,d(f))}function d(f){if(f===59&&o){const m=t.exit("characterReferenceValue");return a===Na&&!j7(r.sliceSerialize(m))?n(f):(t.enter("characterReferenceMarker"),t.consume(f),t.exit("characterReferenceMarker"),t.exit("characterReference"),e)}return a(f)&&o++<s?(t.consume(f),d):n(f)}}const NG={partial:!0,tokenize:kYe},IG={concrete:!0,name:"codeFenced",tokenize:xYe};function xYe(t,e,n){const r=this,o={partial:!0,tokenize:D};let s=0,a=0,i;return l;function l(P){return u(P)}function u(P){const L=r.events[r.events.length-1];return s=L&&L[1].type==="linePrefix"?L[2].sliceSerialize(L[1],!0).length:0,i=P,t.enter("codeFenced"),t.enter("codeFencedFence"),t.enter("codeFencedFenceSequence"),d(P)}function d(P){return P===i?(a++,t.consume(P),d):a<3?n(P):(t.exit("codeFencedFenceSequence"),er(P)?dr(t,f,"whitespace")(P):f(P))}function f(P){return P===null||bn(P)?(t.exit("codeFencedFence"),r.interrupt?e(P):t.check(NG,b,M)(P)):(t.enter("codeFencedFenceInfo"),t.enter("chunkString",{contentType:"string"}),m(P))}function m(P){return P===null||bn(P)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),f(P)):er(P)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),dr(t,g,"whitespace")(P)):P===96&&P===i?n(P):(t.consume(P),m)}function g(P){return P===null||bn(P)?f(P):(t.enter("codeFencedFenceMeta"),t.enter("chunkString",{contentType:"string"}),w(P))}function w(P){return P===null||bn(P)?(t.exit("chunkString"),t.exit("codeFencedFenceMeta"),f(P)):P===96&&P===i?n(P):(t.consume(P),w)}function b(P){return t.attempt(o,M,j)(P)}function j(P){return t.enter("lineEnding"),t.consume(P),t.exit("lineEnding"),S}function S(P){return s>0&&er(P)?dr(t,I,"linePrefix",s+1)(P):I(P)}function I(P){return P===null||bn(P)?t.check(NG,b,M)(P):(t.enter("codeFlowValue"),N(P))}function N(P){return P===null||bn(P)?(t.exit("codeFlowValue"),I(P)):(t.consume(P),N)}function M(P){return t.exit("codeFenced"),e(P)}function D(P,L,F){let T=0;return R;function R(U){return P.enter("lineEnding"),P.consume(U),P.exit("lineEnding"),z}function z(U){return P.enter("codeFencedFence"),er(U)?dr(P,G,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(U):G(U)}function G(U){return U===i?(P.enter("codeFencedFenceSequence"),Z(U)):F(U)}function Z(U){return U===i?(T++,P.consume(U),Z):T>=a?(P.exit("codeFencedFenceSequence"),er(U)?dr(P,W,"whitespace")(U):W(U)):F(U)}function W(U){return U===null||bn(U)?(P.exit("codeFencedFence"),L(U)):F(U)}}}function kYe(t,e,n){const r=this;return o;function o(a){return a===null?n(a):(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),s)}function s(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}const jA={name:"codeIndented",tokenize:CYe},jYe={partial:!0,tokenize:SYe};function CYe(t,e,n){const r=this;return o;function o(u){return t.enter("codeIndented"),dr(t,s,"linePrefix",5)(u)}function s(u){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):bn(u)?t.attempt(jYe,a,l)(u):(t.enter("codeFlowValue"),i(u))}function i(u){return u===null||bn(u)?(t.exit("codeFlowValue"),a(u)):(t.consume(u),i)}function l(u){return t.exit("codeIndented"),e(u)}}function SYe(t,e,n){const r=this;return o;function o(a){return r.parser.lazy[r.now().line]?n(a):bn(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),o):dr(t,s,"linePrefix",5)(a)}function s(a){const i=r.events[r.events.length-1];return i&&i[1].type==="linePrefix"&&i[2].sliceSerialize(i[1],!0).length>=4?e(a):bn(a)?o(a):n(a)}}const EYe={name:"codeText",previous:IYe,resolve:NYe,tokenize:AYe};function NYe(t){let e=t.length-4,n=3,r,o;if((t[n][1].type==="lineEnding"||t[n][1].type==="space")&&(t[e][1].type==="lineEnding"||t[e][1].type==="space")){for(r=n;++r<e;)if(t[r][1].type==="codeTextData"){t[n][1].type="codeTextPadding",t[e][1].type="codeTextPadding",n+=2,e-=2;break}}for(r=n-1,e++;++r<=e;)o===void 0?r!==e&&t[r][1].type!=="lineEnding"&&(o=r):(r===e||t[r][1].type==="lineEnding")&&(t[o][1].type="codeTextData",r!==o+2&&(t[o][1].end=t[r-1][1].end,t.splice(o+2,r-o-2),e-=r-o-2,r=o+2),o=void 0);return t}function IYe(t){return t!==96||this.events[this.events.length-1][1].type==="characterEscape"}function AYe(t,e,n){let r=0,o,s;return a;function a(f){return t.enter("codeText"),t.enter("codeTextSequence"),i(f)}function i(f){return f===96?(t.consume(f),r++,i):(t.exit("codeTextSequence"),l(f))}function l(f){return f===null?n(f):f===32?(t.enter("space"),t.consume(f),t.exit("space"),l):f===96?(s=t.enter("codeTextSequence"),o=0,d(f)):bn(f)?(t.enter("lineEnding"),t.consume(f),t.exit("lineEnding"),l):(t.enter("codeTextData"),u(f))}function u(f){return f===null||f===32||f===96||bn(f)?(t.exit("codeTextData"),l(f)):(t.consume(f),u)}function d(f){return f===96?(t.consume(f),o++,d):o===r?(t.exit("codeTextSequence"),t.exit("codeText"),e(f)):(s.type="codeTextData",u(f))}}class _Ye{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(e,r):e>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(e,n,r){const o=n||0;this.setCursor(Math.trunc(e));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return r&&jw(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),jw(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),jw(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){const n=this.left.splice(e,Number.POSITIVE_INFINITY);jw(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);jw(this.left,n.reverse())}}}function jw(t,e){let n=0;if(e.length<1e4)t.push(...e);else for(;n<e.length;)t.push(...e.slice(n,n+1e4)),n+=1e4}function afe(t){const e={};let n=-1,r,o,s,a,i,l,u;const d=new _Ye(t);for(;++n<d.length;){for(;n in e;)n=e[n];if(r=d.get(n),n&&r[1].type==="chunkFlow"&&d.get(n-1)[1].type==="listItemPrefix"&&(l=r[1]._tokenizer.events,s=0,s<l.length&&l[s][1].type==="lineEndingBlank"&&(s+=2),s<l.length&&l[s][1].type==="content"))for(;++s<l.length&&l[s][1].type!=="content";)l[s][1].type==="chunkText"&&(l[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(e,MYe(d,n)),n=e[n],u=!0);else if(r[1]._container){for(s=n,o=void 0;s--;)if(a=d.get(s),a[1].type==="lineEnding"||a[1].type==="lineEndingBlank")a[0]==="enter"&&(o&&(d.get(o)[1].type="lineEndingBlank"),a[1].type="lineEnding",o=s);else if(!(a[1].type==="linePrefix"||a[1].type==="listItemIndent"))break;o&&(r[1].end={...d.get(o)[1].start},i=d.slice(o,n),i.unshift(r),d.splice(o,n-o+1,i))}}return ul(t,0,Number.POSITIVE_INFINITY,d.slice(0)),!u}function MYe(t,e){const n=t.get(e)[1],r=t.get(e)[2];let o=e-1;const s=[];let a=n._tokenizer;a||(a=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(a._contentTypeTextTrailing=!0));const i=a.events,l=[],u={};let d,f,m=-1,g=n,w=0,b=0;const j=[b];for(;g;){for(;t.get(++o)[1]!==g;);s.push(o),g._tokenizer||(d=r.sliceStream(g),g.next||d.push(null),f&&a.defineSkip(g.start),g._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(d),g._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),f=g,g=g.next}for(g=n;++m<i.length;)i[m][0]==="exit"&&i[m-1][0]==="enter"&&i[m][1].type===i[m-1][1].type&&i[m][1].start.line!==i[m][1].end.line&&(b=m+1,j.push(b),g._tokenizer=void 0,g.previous=void 0,g=g.next);for(a.events=[],g?(g._tokenizer=void 0,g.previous=void 0):j.pop(),m=j.length;m--;){const S=i.slice(j[m],j[m+1]),I=s.pop();l.push([I,I+S.length-1]),t.splice(I,2,S)}for(l.reverse(),m=-1;++m<l.length;)u[w+l[m][0]]=w+l[m][1],w+=l[m][1]-l[m][0]-1;return u}const RYe={resolve:DYe,tokenize:LYe},TYe={partial:!0,tokenize:PYe};function DYe(t){return afe(t),t}function LYe(t,e){let n;return r;function r(i){return t.enter("content"),n=t.enter("chunkContent",{contentType:"content"}),o(i)}function o(i){return i===null?s(i):bn(i)?t.check(TYe,a,s)(i):(t.consume(i),o)}function s(i){return t.exit("chunkContent"),t.exit("content"),e(i)}function a(i){return t.consume(i),t.exit("chunkContent"),n.next=t.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,o}}function PYe(t,e,n){const r=this;return o;function o(a){return t.exit("chunkContent"),t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),dr(t,s,"linePrefix")}function s(a){if(a===null||bn(a))return n(a);const i=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&i&&i[1].type==="linePrefix"&&i[2].sliceSerialize(i[1],!0).length>=4?e(a):t.interrupt(r.parser.constructs.flow,n,e)(a)}}function ife(t,e,n,r,o,s,a,i,l){const u=l||Number.POSITIVE_INFINITY;let d=0;return f;function f(S){return S===60?(t.enter(r),t.enter(o),t.enter(s),t.consume(S),t.exit(s),m):S===null||S===32||S===41||mj(S)?n(S):(t.enter(r),t.enter(a),t.enter(i),t.enter("chunkString",{contentType:"string"}),b(S))}function m(S){return S===62?(t.enter(s),t.consume(S),t.exit(s),t.exit(o),t.exit(r),e):(t.enter(i),t.enter("chunkString",{contentType:"string"}),g(S))}function g(S){return S===62?(t.exit("chunkString"),t.exit(i),m(S)):S===null||S===60||bn(S)?n(S):(t.consume(S),S===92?w:g)}function w(S){return S===60||S===62||S===92?(t.consume(S),g):g(S)}function b(S){return!d&&(S===null||S===41||$r(S))?(t.exit("chunkString"),t.exit(i),t.exit(a),t.exit(r),e(S)):d<u&&S===40?(t.consume(S),d++,b):S===41?(t.consume(S),d--,b):S===null||S===32||S===40||mj(S)?n(S):(t.consume(S),S===92?j:b)}function j(S){return S===40||S===41||S===92?(t.consume(S),b):b(S)}}function lfe(t,e,n,r,o,s){const a=this;let i=0,l;return u;function u(g){return t.enter(r),t.enter(o),t.consume(g),t.exit(o),t.enter(s),d}function d(g){return i>999||g===null||g===91||g===93&&!l||g===94&&!i&&"_hiddenFootnoteSupport"in a.parser.constructs?n(g):g===93?(t.exit(s),t.enter(o),t.consume(g),t.exit(o),t.exit(r),e):bn(g)?(t.enter("lineEnding"),t.consume(g),t.exit("lineEnding"),d):(t.enter("chunkString",{contentType:"string"}),f(g))}function f(g){return g===null||g===91||g===93||bn(g)||i++>999?(t.exit("chunkString"),d(g)):(t.consume(g),l||(l=!er(g)),g===92?m:f)}function m(g){return g===91||g===92||g===93?(t.consume(g),i++,f):f(g)}}function cfe(t,e,n,r,o,s){let a;return i;function i(m){return m===34||m===39||m===40?(t.enter(r),t.enter(o),t.consume(m),t.exit(o),a=m===40?41:m,l):n(m)}function l(m){return m===a?(t.enter(o),t.consume(m),t.exit(o),t.exit(r),e):(t.enter(s),u(m))}function u(m){return m===a?(t.exit(s),l(a)):m===null?n(m):bn(m)?(t.enter("lineEnding"),t.consume(m),t.exit("lineEnding"),dr(t,u,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===a||m===null||bn(m)?(t.exit("chunkString"),u(m)):(t.consume(m),m===92?f:d)}function f(m){return m===a||m===92?(t.consume(m),d):d(m)}}function eb(t,e){let n;return r;function r(o){return bn(o)?(t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),n=!0,r):er(o)?dr(t,r,n?"linePrefix":"lineSuffix")(o):e(o)}}const OYe={name:"definition",tokenize:FYe},zYe={partial:!0,tokenize:BYe};function FYe(t,e,n){const r=this;let o;return s;function s(g){return t.enter("definition"),a(g)}function a(g){return lfe.call(r,t,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(g)}function i(g){return o=Wc(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),g===58?(t.enter("definitionMarker"),t.consume(g),t.exit("definitionMarker"),l):n(g)}function l(g){return $r(g)?eb(t,u)(g):u(g)}function u(g){return ife(t,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(g)}function d(g){return t.attempt(zYe,f,f)(g)}function f(g){return er(g)?dr(t,m,"whitespace")(g):m(g)}function m(g){return g===null||bn(g)?(t.exit("definition"),r.parser.defined.push(o),e(g)):n(g)}}function BYe(t,e,n){return r;function r(i){return $r(i)?eb(t,o)(i):n(i)}function o(i){return cfe(t,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(i)}function s(i){return er(i)?dr(t,a,"whitespace")(i):a(i)}function a(i){return i===null||bn(i)?e(i):n(i)}}const UYe={name:"hardBreakEscape",tokenize:$Ye};function $Ye(t,e,n){return r;function r(s){return t.enter("hardBreakEscape"),t.consume(s),o}function o(s){return bn(s)?(t.exit("hardBreakEscape"),e(s)):n(s)}}const VYe={name:"headingAtx",resolve:HYe,tokenize:WYe};function HYe(t,e){let n=t.length-2,r=3,o,s;return t[r][1].type==="whitespace"&&(r+=2),n-2>r&&t[n][1].type==="whitespace"&&(n-=2),t[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&t[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(o={type:"atxHeadingText",start:t[r][1].start,end:t[n][1].end},s={type:"chunkText",start:t[r][1].start,end:t[n][1].end,contentType:"text"},ul(t,r,n-r+1,[["enter",o,e],["enter",s,e],["exit",s,e],["exit",o,e]])),t}function WYe(t,e,n){let r=0;return o;function o(d){return t.enter("atxHeading"),s(d)}function s(d){return t.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&r++<6?(t.consume(d),a):d===null||$r(d)?(t.exit("atxHeadingSequence"),i(d)):n(d)}function i(d){return d===35?(t.enter("atxHeadingSequence"),l(d)):d===null||bn(d)?(t.exit("atxHeading"),e(d)):er(d)?dr(t,i,"whitespace")(d):(t.enter("atxHeadingText"),u(d))}function l(d){return d===35?(t.consume(d),l):(t.exit("atxHeadingSequence"),i(d))}function u(d){return d===null||d===35||$r(d)?(t.exit("atxHeadingText"),i(d)):(t.consume(d),u)}}const YYe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],AG=["pre","script","style","textarea"],GYe={concrete:!0,name:"htmlFlow",resolveTo:ZYe,tokenize:QYe},qYe={partial:!0,tokenize:XYe},KYe={partial:!0,tokenize:JYe};function ZYe(t){let e=t.length;for(;e--&&!(t[e][0]==="enter"&&t[e][1].type==="htmlFlow"););return e>1&&t[e-2][1].type==="linePrefix"&&(t[e][1].start=t[e-2][1].start,t[e+1][1].start=t[e-2][1].start,t.splice(e-2,2)),t}function QYe(t,e,n){const r=this;let o,s,a,i,l;return u;function u(re){return d(re)}function d(re){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(re),f}function f(re){return re===33?(t.consume(re),m):re===47?(t.consume(re),s=!0,b):re===63?(t.consume(re),o=3,r.interrupt?e:q):qa(re)?(t.consume(re),a=String.fromCharCode(re),j):n(re)}function m(re){return re===45?(t.consume(re),o=2,g):re===91?(t.consume(re),o=5,i=0,w):qa(re)?(t.consume(re),o=4,r.interrupt?e:q):n(re)}function g(re){return re===45?(t.consume(re),r.interrupt?e:q):n(re)}function w(re){const de="CDATA[";return re===de.charCodeAt(i++)?(t.consume(re),i===de.length?r.interrupt?e:G:w):n(re)}function b(re){return qa(re)?(t.consume(re),a=String.fromCharCode(re),j):n(re)}function j(re){if(re===null||re===47||re===62||$r(re)){const de=re===47,Ee=a.toLowerCase();return!de&&!s&&AG.includes(Ee)?(o=1,r.interrupt?e(re):G(re)):YYe.includes(a.toLowerCase())?(o=6,de?(t.consume(re),S):r.interrupt?e(re):G(re)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(re):s?I(re):N(re))}return re===45||Na(re)?(t.consume(re),a+=String.fromCharCode(re),j):n(re)}function S(re){return re===62?(t.consume(re),r.interrupt?e:G):n(re)}function I(re){return er(re)?(t.consume(re),I):R(re)}function N(re){return re===47?(t.consume(re),R):re===58||re===95||qa(re)?(t.consume(re),M):er(re)?(t.consume(re),N):R(re)}function M(re){return re===45||re===46||re===58||re===95||Na(re)?(t.consume(re),M):D(re)}function D(re){return re===61?(t.consume(re),P):er(re)?(t.consume(re),D):N(re)}function P(re){return re===null||re===60||re===61||re===62||re===96?n(re):re===34||re===39?(t.consume(re),l=re,L):er(re)?(t.consume(re),P):F(re)}function L(re){return re===l?(t.consume(re),l=null,T):re===null||bn(re)?n(re):(t.consume(re),L)}function F(re){return re===null||re===34||re===39||re===47||re===60||re===61||re===62||re===96||$r(re)?D(re):(t.consume(re),F)}function T(re){return re===47||re===62||er(re)?N(re):n(re)}function R(re){return re===62?(t.consume(re),z):n(re)}function z(re){return re===null||bn(re)?G(re):er(re)?(t.consume(re),z):n(re)}function G(re){return re===45&&o===2?(t.consume(re),ee):re===60&&o===1?(t.consume(re),$):re===62&&o===4?(t.consume(re),J):re===63&&o===3?(t.consume(re),q):re===93&&o===5?(t.consume(re),Y):bn(re)&&(o===6||o===7)?(t.exit("htmlFlowData"),t.check(qYe,ne,Z)(re)):re===null||bn(re)?(t.exit("htmlFlowData"),Z(re)):(t.consume(re),G)}function Z(re){return t.check(KYe,W,ne)(re)}function W(re){return t.enter("lineEnding"),t.consume(re),t.exit("lineEnding"),U}function U(re){return re===null||bn(re)?Z(re):(t.enter("htmlFlowData"),G(re))}function ee(re){return re===45?(t.consume(re),q):G(re)}function $(re){return re===47?(t.consume(re),a="",H):G(re)}function H(re){if(re===62){const de=a.toLowerCase();return AG.includes(de)?(t.consume(re),J):G(re)}return qa(re)&&a.length<8?(t.consume(re),a+=String.fromCharCode(re),H):G(re)}function Y(re){return re===93?(t.consume(re),q):G(re)}function q(re){return re===62?(t.consume(re),J):re===45&&o===2?(t.consume(re),q):G(re)}function J(re){return re===null||bn(re)?(t.exit("htmlFlowData"),ne(re)):(t.consume(re),J)}function ne(re){return t.exit("htmlFlow"),e(re)}}function JYe(t,e,n){const r=this;return o;function o(a){return bn(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),s):n(a)}function s(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}function XYe(t,e,n){return r;function r(o){return t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),t.attempt(vx,e,n)}}const eGe={name:"htmlText",tokenize:tGe};function tGe(t,e,n){const r=this;let o,s,a;return i;function i(q){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(q),l}function l(q){return q===33?(t.consume(q),u):q===47?(t.consume(q),D):q===63?(t.consume(q),N):qa(q)?(t.consume(q),F):n(q)}function u(q){return q===45?(t.consume(q),d):q===91?(t.consume(q),s=0,w):qa(q)?(t.consume(q),I):n(q)}function d(q){return q===45?(t.consume(q),g):n(q)}function f(q){return q===null?n(q):q===45?(t.consume(q),m):bn(q)?(a=f,$(q)):(t.consume(q),f)}function m(q){return q===45?(t.consume(q),g):f(q)}function g(q){return q===62?ee(q):q===45?m(q):f(q)}function w(q){const J="CDATA[";return q===J.charCodeAt(s++)?(t.consume(q),s===J.length?b:w):n(q)}function b(q){return q===null?n(q):q===93?(t.consume(q),j):bn(q)?(a=b,$(q)):(t.consume(q),b)}function j(q){return q===93?(t.consume(q),S):b(q)}function S(q){return q===62?ee(q):q===93?(t.consume(q),S):b(q)}function I(q){return q===null||q===62?ee(q):bn(q)?(a=I,$(q)):(t.consume(q),I)}function N(q){return q===null?n(q):q===63?(t.consume(q),M):bn(q)?(a=N,$(q)):(t.consume(q),N)}function M(q){return q===62?ee(q):N(q)}function D(q){return qa(q)?(t.consume(q),P):n(q)}function P(q){return q===45||Na(q)?(t.consume(q),P):L(q)}function L(q){return bn(q)?(a=L,$(q)):er(q)?(t.consume(q),L):ee(q)}function F(q){return q===45||Na(q)?(t.consume(q),F):q===47||q===62||$r(q)?T(q):n(q)}function T(q){return q===47?(t.consume(q),ee):q===58||q===95||qa(q)?(t.consume(q),R):bn(q)?(a=T,$(q)):er(q)?(t.consume(q),T):ee(q)}function R(q){return q===45||q===46||q===58||q===95||Na(q)?(t.consume(q),R):z(q)}function z(q){return q===61?(t.consume(q),G):bn(q)?(a=z,$(q)):er(q)?(t.consume(q),z):T(q)}function G(q){return q===null||q===60||q===61||q===62||q===96?n(q):q===34||q===39?(t.consume(q),o=q,Z):bn(q)?(a=G,$(q)):er(q)?(t.consume(q),G):(t.consume(q),W)}function Z(q){return q===o?(t.consume(q),o=void 0,U):q===null?n(q):bn(q)?(a=Z,$(q)):(t.consume(q),Z)}function W(q){return q===null||q===34||q===39||q===60||q===61||q===96?n(q):q===47||q===62||$r(q)?T(q):(t.consume(q),W)}function U(q){return q===47||q===62||$r(q)?T(q):n(q)}function ee(q){return q===62?(t.consume(q),t.exit("htmlTextData"),t.exit("htmlText"),e):n(q)}function $(q){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(q),t.exit("lineEnding"),H}function H(q){return er(q)?dr(t,Y,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(q):Y(q)}function Y(q){return t.enter("htmlTextData"),a(q)}}const C7={name:"labelEnd",resolveAll:sGe,resolveTo:aGe,tokenize:iGe},nGe={tokenize:lGe},rGe={tokenize:cGe},oGe={tokenize:uGe};function sGe(t){let e=-1;const n=[];for(;++e<t.length;){const r=t[e][1];if(n.push(t[e]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const o=r.type==="labelImage"?4:2;r.type="data",e+=o}}return t.length!==n.length&&ul(t,0,t.length,n),t}function aGe(t,e){let n=t.length,r=0,o,s,a,i;for(;n--;)if(o=t[n][1],s){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;t[n][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(a){if(t[n][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(s=n,o.type!=="labelLink")){r=2;break}}else o.type==="labelEnd"&&(a=n);const l={type:t[s][1].type==="labelLink"?"link":"image",start:{...t[s][1].start},end:{...t[t.length-1][1].end}},u={type:"label",start:{...t[s][1].start},end:{...t[a][1].end}},d={type:"labelText",start:{...t[s+r+2][1].end},end:{...t[a-2][1].start}};return i=[["enter",l,e],["enter",u,e]],i=Fl(i,t.slice(s+1,s+r+3)),i=Fl(i,[["enter",d,e]]),i=Fl(i,rE(e.parser.constructs.insideSpan.null,t.slice(s+r+4,a-3),e)),i=Fl(i,[["exit",d,e],t[a-2],t[a-1],["exit",u,e]]),i=Fl(i,t.slice(a+1)),i=Fl(i,[["exit",l,e]]),ul(t,s,t.length,i),t}function iGe(t,e,n){const r=this;let o=r.events.length,s,a;for(;o--;)if((r.events[o][1].type==="labelImage"||r.events[o][1].type==="labelLink")&&!r.events[o][1]._balanced){s=r.events[o][1];break}return i;function i(m){return s?s._inactive?f(m):(a=r.parser.defined.includes(Wc(r.sliceSerialize({start:s.end,end:r.now()}))),t.enter("labelEnd"),t.enter("labelMarker"),t.consume(m),t.exit("labelMarker"),t.exit("labelEnd"),l):n(m)}function l(m){return m===40?t.attempt(nGe,d,a?d:f)(m):m===91?t.attempt(rGe,d,a?u:f)(m):a?d(m):f(m)}function u(m){return t.attempt(oGe,d,f)(m)}function d(m){return e(m)}function f(m){return s._balanced=!0,n(m)}}function lGe(t,e,n){return r;function r(f){return t.enter("resource"),t.enter("resourceMarker"),t.consume(f),t.exit("resourceMarker"),o}function o(f){return $r(f)?eb(t,s)(f):s(f)}function s(f){return f===41?d(f):ife(t,a,i,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(f)}function a(f){return $r(f)?eb(t,l)(f):d(f)}function i(f){return n(f)}function l(f){return f===34||f===39||f===40?cfe(t,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(f):d(f)}function u(f){return $r(f)?eb(t,d)(f):d(f)}function d(f){return f===41?(t.enter("resourceMarker"),t.consume(f),t.exit("resourceMarker"),t.exit("resource"),e):n(f)}}function cGe(t,e,n){const r=this;return o;function o(i){return lfe.call(r,t,s,a,"reference","referenceMarker","referenceString")(i)}function s(i){return r.parser.defined.includes(Wc(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?e(i):n(i)}function a(i){return n(i)}}function uGe(t,e,n){return r;function r(s){return t.enter("reference"),t.enter("referenceMarker"),t.consume(s),t.exit("referenceMarker"),o}function o(s){return s===93?(t.enter("referenceMarker"),t.consume(s),t.exit("referenceMarker"),t.exit("reference"),e):n(s)}}const fGe={name:"labelStartImage",resolveAll:C7.resolveAll,tokenize:dGe};function dGe(t,e,n){const r=this;return o;function o(i){return t.enter("labelImage"),t.enter("labelImageMarker"),t.consume(i),t.exit("labelImageMarker"),s}function s(i){return i===91?(t.enter("labelMarker"),t.consume(i),t.exit("labelMarker"),t.exit("labelImage"),a):n(i)}function a(i){return i===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(i):e(i)}}const pGe={name:"labelStartLink",resolveAll:C7.resolveAll,tokenize:hGe};function hGe(t,e,n){const r=this;return o;function o(a){return t.enter("labelLink"),t.enter("labelMarker"),t.consume(a),t.exit("labelMarker"),t.exit("labelLink"),s}function s(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):e(a)}}const CA={name:"lineEnding",tokenize:mGe};function mGe(t,e){return n;function n(r){return t.enter("lineEnding"),t.consume(r),t.exit("lineEnding"),dr(t,e,"linePrefix")}}const Y3={name:"thematicBreak",tokenize:gGe};function gGe(t,e,n){let r=0,o;return s;function s(u){return t.enter("thematicBreak"),a(u)}function a(u){return o=u,i(u)}function i(u){return u===o?(t.enter("thematicBreakSequence"),l(u)):r>=3&&(u===null||bn(u))?(t.exit("thematicBreak"),e(u)):n(u)}function l(u){return u===o?(t.consume(u),r++,l):(t.exit("thematicBreakSequence"),er(u)?dr(t,i,"whitespace")(u):i(u))}}const bi={continuation:{tokenize:bGe},exit:kGe,name:"list",tokenize:wGe},yGe={partial:!0,tokenize:jGe},vGe={partial:!0,tokenize:xGe};function wGe(t,e,n){const r=this,o=r.events[r.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,a=0;return i;function i(g){const w=r.containerState.type||(g===42||g===43||g===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!r.containerState.marker||g===r.containerState.marker:yM(g)){if(r.containerState.type||(r.containerState.type=w,t.enter(w,{_container:!0})),w==="listUnordered")return t.enter("listItemPrefix"),g===42||g===45?t.check(Y3,n,u)(g):u(g);if(!r.interrupt||g===49)return t.enter("listItemPrefix"),t.enter("listItemValue"),l(g)}return n(g)}function l(g){return yM(g)&&++a<10?(t.consume(g),l):(!r.interrupt||a<2)&&(r.containerState.marker?g===r.containerState.marker:g===41||g===46)?(t.exit("listItemValue"),u(g)):n(g)}function u(g){return t.enter("listItemMarker"),t.consume(g),t.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||g,t.check(vx,r.interrupt?n:d,t.attempt(yGe,m,f))}function d(g){return r.containerState.initialBlankLine=!0,s++,m(g)}function f(g){return er(g)?(t.enter("listItemPrefixWhitespace"),t.consume(g),t.exit("listItemPrefixWhitespace"),m):n(g)}function m(g){return r.containerState.size=s+r.sliceSerialize(t.exit("listItemPrefix"),!0).length,e(g)}}function bGe(t,e,n){const r=this;return r.containerState._closeFlow=void 0,t.check(vx,o,s);function o(i){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,dr(t,e,"listItemIndent",r.containerState.size+1)(i)}function s(i){return r.containerState.furtherBlankLines||!er(i)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(i)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,t.attempt(vGe,e,a)(i))}function a(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,dr(t,t.attempt(bi,e,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(i)}}function xGe(t,e,n){const r=this;return dr(t,o,"listItemIndent",r.containerState.size+1);function o(s){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?e(s):n(s)}}function kGe(t){t.exit(this.containerState.type)}function jGe(t,e,n){const r=this;return dr(t,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const a=r.events[r.events.length-1];return!er(s)&&a&&a[1].type==="listItemPrefixWhitespace"?e(s):n(s)}}const _G={name:"setextUnderline",resolveTo:CGe,tokenize:SGe};function CGe(t,e){let n=t.length,r,o,s;for(;n--;)if(t[n][0]==="enter"){if(t[n][1].type==="content"){r=n;break}t[n][1].type==="paragraph"&&(o=n)}else t[n][1].type==="content"&&t.splice(n,1),!s&&t[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:{...t[r][1].start},end:{...t[t.length-1][1].end}};return t[o][1].type="setextHeadingText",s?(t.splice(o,0,["enter",a,e]),t.splice(s+1,0,["exit",t[r][1],e]),t[r][1].end={...t[s][1].end}):t[r][1]=a,t.push(["exit",a,e]),t}function SGe(t,e,n){const r=this;let o;return s;function s(u){let d=r.events.length,f;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){f=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(t.enter("setextHeadingLine"),o=u,a(u)):n(u)}function a(u){return t.enter("setextHeadingLineSequence"),i(u)}function i(u){return u===o?(t.consume(u),i):(t.exit("setextHeadingLineSequence"),er(u)?dr(t,l,"lineSuffix")(u):l(u))}function l(u){return u===null||bn(u)?(t.exit("setextHeadingLine"),e(u)):n(u)}}const EGe={tokenize:NGe};function NGe(t){const e=this,n=t.attempt(vx,r,t.attempt(this.parser.constructs.flowInitial,o,dr(t,t.attempt(this.parser.constructs.flow,o,t.attempt(RYe,o)),"linePrefix")));return n;function r(s){if(s===null){t.consume(s);return}return t.enter("lineEndingBlank"),t.consume(s),t.exit("lineEndingBlank"),e.currentConstruct=void 0,n}function o(s){if(s===null){t.consume(s);return}return t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),e.currentConstruct=void 0,n}}const IGe={resolveAll:ffe()},AGe=ufe("string"),_Ge=ufe("text");function ufe(t){return{resolveAll:ffe(t==="text"?MGe:void 0),tokenize:e};function e(n){const r=this,o=this.parser.constructs[t],s=n.attempt(o,a,i);return a;function a(d){return u(d)?s(d):i(d)}function i(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),l}function l(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),l)}function u(d){if(d===null)return!0;const f=o[d];let m=-1;if(f)for(;++m<f.length;){const g=f[m];if(!g.previous||g.previous.call(r,r.previous))return!0}return!1}}}function ffe(t){return e;function e(n,r){let o=-1,s;for(;++o<=n.length;)s===void 0?n[o]&&n[o][1].type==="data"&&(s=o,o++):(!n[o]||n[o][1].type!=="data")&&(o!==s+2&&(n[s][1].end=n[o-1][1].end,n.splice(s+2,o-s-2),o=s+2),s=void 0);return t?t(n,r):n}}function MGe(t,e){let n=0;for(;++n<=t.length;)if((n===t.length||t[n][1].type==="lineEnding")&&t[n-1][1].type==="data"){const r=t[n-1][1],o=e.sliceStream(r);let s=o.length,a=-1,i=0,l;for(;s--;){const u=o[s];if(typeof u=="string"){for(a=u.length;u.charCodeAt(a-1)===32;)i++,a--;if(a)break;a=-1}else if(u===-2)l=!0,i++;else if(u!==-1){s++;break}}if(e._contentTypeTextTrailing&&n===t.length&&(i=0),i){const u={type:n===t.length||l||i<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?a:r.start._bufferIndex+a,_index:r.start._index+s,line:r.end.line,column:r.end.column-i,offset:r.end.offset-i},end:{...r.end}};r.end={...u.start},r.start.offset===r.end.offset?Object.assign(r,u):(t.splice(n,0,["enter",u,e],["exit",u,e]),n+=2)}n++}return t}const RGe={42:bi,43:bi,45:bi,48:bi,49:bi,50:bi,51:bi,52:bi,53:bi,54:bi,55:bi,56:bi,57:bi,62:rfe},TGe={91:OYe},DGe={[-2]:jA,[-1]:jA,32:jA},LGe={35:VYe,42:Y3,45:[_G,Y3],60:GYe,61:_G,95:Y3,96:IG,126:IG},PGe={38:sfe,92:ofe},OGe={[-5]:CA,[-4]:CA,[-3]:CA,33:fGe,38:sfe,42:vM,60:[pYe,eGe],91:pGe,92:[UYe,ofe],93:C7,95:vM,96:EYe},zGe={null:[vM,IGe]},FGe={null:[42,95]},BGe={null:[]},UGe=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:FGe,contentInitial:TGe,disable:BGe,document:RGe,flow:LGe,flowInitial:DGe,insideSpan:zGe,string:PGe,text:OGe},Symbol.toStringTag,{value:"Module"}));function $Ge(t,e,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const o={},s=[];let a=[],i=[];const l={attempt:L(D),check:L(P),consume:I,enter:N,exit:M,interrupt:L(P,{interrupt:!0})},u={code:null,containerState:{},defineSkip:b,events:[],now:w,parser:t,previous:null,sliceSerialize:m,sliceStream:g,write:f};let d=e.tokenize.call(u,l);return e.resolveAll&&s.push(e),u;function f(z){return a=Fl(a,z),j(),a[a.length-1]!==null?[]:(F(e,0),u.events=rE(s,u.events,u),u.events)}function m(z,G){return HGe(g(z),G)}function g(z){return VGe(a,z)}function w(){const{_bufferIndex:z,_index:G,line:Z,column:W,offset:U}=r;return{_bufferIndex:z,_index:G,line:Z,column:W,offset:U}}function b(z){o[z.line]=z.column,R()}function j(){let z;for(;r._index<a.length;){const G=a[r._index];if(typeof G=="string")for(z=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===z&&r._bufferIndex<G.length;)S(G.charCodeAt(r._bufferIndex));else S(G)}}function S(z){d=d(z)}function I(z){bn(z)?(r.line++,r.column=1,r.offset+=z===-3?2:1,R()):z!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===a[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=z}function N(z,G){const Z=G||{};return Z.type=z,Z.start=w(),u.events.push(["enter",Z,u]),i.push(Z),Z}function M(z){const G=i.pop();return G.end=w(),u.events.push(["exit",G,u]),G}function D(z,G){F(z,G.from)}function P(z,G){G.restore()}function L(z,G){return Z;function Z(W,U,ee){let $,H,Y,q;return Array.isArray(W)?ne(W):"tokenize"in W?ne([W]):J(W);function J(we){return xe;function xe(ce){const pe=ce!==null&&we[ce],he=ce!==null&&we.null,ke=[...Array.isArray(pe)?pe:pe?[pe]:[],...Array.isArray(he)?he:he?[he]:[]];return ne(ke)(ce)}}function ne(we){return $=we,H=0,we.length===0?ee:re(we[H])}function re(we){return xe;function xe(ce){return q=T(),Y=we,we.partial||(u.currentConstruct=we),we.name&&u.parser.constructs.disable.null.includes(we.name)?Ee():we.tokenize.call(G?Object.assign(Object.create(u),G):u,l,de,Ee)(ce)}}function de(we){return z(Y,q),U}function Ee(we){return q.restore(),++H<$.length?re($[H]):ee}}}function F(z,G){z.resolveAll&&!s.includes(z)&&s.push(z),z.resolve&&ul(u.events,G,u.events.length-G,z.resolve(u.events.slice(G),u)),z.resolveTo&&(u.events=z.resolveTo(u.events,u))}function T(){const z=w(),G=u.previous,Z=u.currentConstruct,W=u.events.length,U=Array.from(i);return{from:W,restore:ee};function ee(){r=z,u.previous=G,u.currentConstruct=Z,u.events.length=W,i=U,R()}}function R(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}function VGe(t,e){const n=e.start._index,r=e.start._bufferIndex,o=e.end._index,s=e.end._bufferIndex;let a;if(n===o)a=[t[n].slice(r,s)];else{if(a=t.slice(n,o),r>-1){const i=a[0];typeof i=="string"?a[0]=i.slice(r):a.shift()}s>0&&a.push(t[o].slice(0,s))}return a}function HGe(t,e){let n=-1;const r=[];let o;for(;++n<t.length;){const s=t[n];let a;if(typeof s=="string")a=s;else switch(s){case-5:{a="\r";break}case-4:{a=`
2052 `;break}case-3:{a=`\r
2053 `;break}case-2:{a=e?" ":" ";break}case-1:{if(!e&&o)continue;a=" ";break}default:a=String.fromCharCode(s)}o=s===-2,r.push(a)}return r.join("")}function WGe(t){const r={constructs:tfe([UGe,...(t||{}).extensions||[]]),content:o(aYe),defined:[],document:o(lYe),flow:o(EGe),lazy:{},string:o(AGe),text:o(_Ge)};return r;function o(s){return a;function a(i){return $Ge(r,s,i)}}}function YGe(t){for(;!afe(t););return t}const MG=/[\0\t\n\r]/g;function GGe(){let t=1,e="",n=!0,r;return o;function o(s,a,i){const l=[];let u,d,f,m,g;for(s=e+(typeof s=="string"?s.toString():new TextDecoder(a||void 0).decode(s)),f=0,e="",n&&(s.charCodeAt(0)===65279&&f++,n=void 0);f<s.length;){if(MG.lastIndex=f,u=MG.exec(s),m=u&&u.index!==void 0?u.index:s.length,g=s.charCodeAt(m),!u){e=s.slice(f);break}if(g===10&&f===m&&r)l.push(-3),r=void 0;else switch(r&&(l.push(-5),r=void 0),f<m&&(l.push(s.slice(f,m)),t+=m-f),g){case 0:{l.push(65533),t++;break}case 9:{for(d=Math.ceil(t/4)*4,l.push(-2);t++<d;)l.push(-1);break}case 10:{l.push(-4),t=1;break}default:r=!0,t=1}f=m+1}return i&&(r&&l.push(-5),e&&l.push(e),l.push(null)),l}}const qGe=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function KGe(t){return t.replace(qGe,ZGe)}function ZGe(t,e,n){if(e)return e;if(n.charCodeAt(0)===35){const o=n.charCodeAt(1),s=o===120||o===88;return nfe(n.slice(s?2:1),s?16:10)}return j7(n)||t}const dfe={}.hasOwnProperty;function QGe(t,e,n){return typeof e!="string"&&(n=e,e=void 0),JGe(n)(YGe(WGe(n).document().write(GGe()(t,e,!0))))}function JGe(t){const e={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(Ue),autolinkProtocol:T,autolinkEmail:T,atxHeading:s(Ie),blockQuote:s(he),characterEscape:T,characterReference:T,codeFenced:s(ke),codeFencedFenceInfo:a,codeFencedFenceMeta:a,codeIndented:s(ke,a),codeText:s(le,a),codeTextData:T,data:T,codeFlowValue:T,definition:s(ye),definitionDestinationString:a,definitionLabelString:a,definitionTitleString:a,emphasis:s(ve),hardBreakEscape:s(Ve),hardBreakTrailing:s(Ve),htmlFlow:s(Qe,a),htmlFlowData:T,htmlText:s(Qe,a),htmlTextData:T,image:s(nt),label:a,link:s(Ue),listItem:s(_e),listItemValue:m,listOrdered:s(qe,f),listUnordered:s(qe),paragraph:s(et),reference:re,referenceString:a,resourceDestinationString:a,resourceTitleString:a,setextHeading:s(Ie),strong:s(pt),thematicBreak:s(at)},exit:{atxHeading:l(),atxHeadingSequence:D,autolink:l(),autolinkEmail:pe,autolinkProtocol:ce,blockQuote:l(),characterEscapeValue:R,characterReferenceMarkerHexadecimal:Ee,characterReferenceMarkerNumeric:Ee,characterReferenceValue:we,characterReference:xe,codeFenced:l(j),codeFencedFence:b,codeFencedFenceInfo:g,codeFencedFenceMeta:w,codeFlowValue:R,codeIndented:l(S),codeText:l(U),codeTextData:R,data:R,definition:l(),definitionDestinationString:M,definitionLabelString:I,definitionTitleString:N,emphasis:l(),hardBreakEscape:l(G),hardBreakTrailing:l(G),htmlFlow:l(Z),htmlFlowData:R,htmlText:l(W),htmlTextData:R,image:l($),label:Y,labelText:H,lineEnding:z,link:l(ee),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:de,resourceDestinationString:q,resourceTitleString:J,resource:ne,setextHeading:l(F),setextHeadingLineSequence:L,setextHeadingText:P,strong:l(),thematicBreak:l()}};pfe(e,(t||{}).mdastExtensions||[]);const n={};return r;function r(De){let se={type:"root",children:[]};const K={stack:[se],tokenStack:[],config:e,enter:i,exit:u,buffer:a,resume:d,data:n},Q=[];let ie=-1;for(;++ie<De.length;)if(De[ie][1].type==="listOrdered"||De[ie][1].type==="listUnordered")if(De[ie][0]==="enter")Q.push(ie);else{const Se=Q.pop();ie=o(De,Se,ie)}for(ie=-1;++ie<De.length;){const Se=e[De[ie][0]];dfe.call(Se,De[ie][1].type)&&Se[De[ie][1].type].call(Object.assign({sliceSerialize:De[ie][2].sliceSerialize},K),De[ie][1])}if(K.tokenStack.length>0){const Se=K.tokenStack[K.tokenStack.length-1];(Se[1]||RG).call(K,void 0,Se[0])}for(se.position={start:fp(De.length>0?De[0][1].start:{line:1,column:1,offset:0}),end:fp(De.length>0?De[De.length-2][1].end:{line:1,column:1,offset:0})},ie=-1;++ie<e.transforms.length;)se=e.transforms[ie](se)||se;return se}function o(De,se,K){let Q=se-1,ie=-1,Se=!1,Me,Ce,me,We;for(;++Q<=K;){const Xe=De[Q];switch(Xe[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Xe[0]==="enter"?ie++:ie--,We=void 0;break}case"lineEndingBlank":{Xe[0]==="enter"&&(Me&&!We&&!ie&&!me&&(me=Q),We=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:We=void 0}if(!ie&&Xe[0]==="enter"&&Xe[1].type==="listItemPrefix"||ie===-1&&Xe[0]==="exit"&&(Xe[1].type==="listUnordered"||Xe[1].type==="listOrdered")){if(Me){let Re=Q;for(Ce=void 0;Re--;){const ze=De[Re];if(ze[1].type==="lineEnding"||ze[1].type==="lineEndingBlank"){if(ze[0]==="exit")continue;Ce&&(De[Ce][1].type="lineEndingBlank",Se=!0),ze[1].type="lineEnding",Ce=Re}else if(!(ze[1].type==="linePrefix"||ze[1].type==="blockQuotePrefix"||ze[1].type==="blockQuotePrefixWhitespace"||ze[1].type==="blockQuoteMarker"||ze[1].type==="listItemIndent"))break}me&&(!Ce||me<Ce)&&(Me._spread=!0),Me.end=Object.assign({},Ce?De[Ce][1].start:Xe[1].end),De.splice(Ce||Q,0,["exit",Me,Xe[2]]),Q++,K++}if(Xe[1].type==="listItemPrefix"){const Re={type:"listItem",_spread:!1,start:Object.assign({},Xe[1].start),end:void 0};Me=Re,De.splice(Q,0,["enter",Re,Xe[2]]),Q++,K++,me=void 0,We=!0}}}return De[se][1]._spread=Se,K}function s(De,se){return K;function K(Q){i.call(this,De(Q),Q),se&&se.call(this,Q)}}function a(){this.stack.push({type:"fragment",children:[]})}function i(De,se,K){this.stack[this.stack.length-1].children.push(De),this.stack.push(De),this.tokenStack.push([se,K||void 0]),De.position={start:fp(se.start),end:void 0}}function l(De){return se;function se(K){De&&De.call(this,K),u.call(this,K)}}function u(De,se){const K=this.stack.pop(),Q=this.tokenStack.pop();if(Q)Q[0].type!==De.type&&(se?se.call(this,De,Q[0]):(Q[1]||RG).call(this,De,Q[0]));else throw new Error("Cannot close `"+De.type+"` ("+Xw({start:De.start,end:De.end})+"): it’s not open");K.position.end=fp(De.end)}function d(){return k7(this.stack.pop())}function f(){this.data.expectingFirstListItemValue=!0}function m(De){if(this.data.expectingFirstListItemValue){const se=this.stack[this.stack.length-2];se.start=Number.parseInt(this.sliceSerialize(De),10),this.data.expectingFirstListItemValue=void 0}}function g(){const De=this.resume(),se=this.stack[this.stack.length-1];se.lang=De}function w(){const De=this.resume(),se=this.stack[this.stack.length-1];se.meta=De}function b(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function j(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function S(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De.replace(/(\r?\n|\r)$/g,"")}function I(De){const se=this.resume(),K=this.stack[this.stack.length-1];K.label=se,K.identifier=Wc(this.sliceSerialize(De)).toLowerCase()}function N(){const De=this.resume(),se=this.stack[this.stack.length-1];se.title=De}function M(){const De=this.resume(),se=this.stack[this.stack.length-1];se.url=De}function D(De){const se=this.stack[this.stack.length-1];if(!se.depth){const K=this.sliceSerialize(De).length;se.depth=K}}function P(){this.data.setextHeadingSlurpLineEnding=!0}function L(De){const se=this.stack[this.stack.length-1];se.depth=this.sliceSerialize(De).codePointAt(0)===61?1:2}function F(){this.data.setextHeadingSlurpLineEnding=void 0}function T(De){const K=this.stack[this.stack.length-1].children;let Q=K[K.length-1];(!Q||Q.type!=="text")&&(Q=ht(),Q.position={start:fp(De.start),end:void 0},K.push(Q)),this.stack.push(Q)}function R(De){const se=this.stack.pop();se.value+=this.sliceSerialize(De),se.position.end=fp(De.end)}function z(De){const se=this.stack[this.stack.length-1];if(this.data.atHardBreak){const K=se.children[se.children.length-1];K.position.end=fp(De.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&e.canContainEols.includes(se.type)&&(T.call(this,De),R.call(this,De))}function G(){this.data.atHardBreak=!0}function Z(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De}function W(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De}function U(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De}function ee(){const De=this.stack[this.stack.length-1];if(this.data.inReference){const se=this.data.referenceType||"shortcut";De.type+="Reference",De.referenceType=se,delete De.url,delete De.title}else delete De.identifier,delete De.label;this.data.referenceType=void 0}function $(){const De=this.stack[this.stack.length-1];if(this.data.inReference){const se=this.data.referenceType||"shortcut";De.type+="Reference",De.referenceType=se,delete De.url,delete De.title}else delete De.identifier,delete De.label;this.data.referenceType=void 0}function H(De){const se=this.sliceSerialize(De),K=this.stack[this.stack.length-2];K.label=KGe(se),K.identifier=Wc(se).toLowerCase()}function Y(){const De=this.stack[this.stack.length-1],se=this.resume(),K=this.stack[this.stack.length-1];if(this.data.inReference=!0,K.type==="link"){const Q=De.children;K.children=Q}else K.alt=se}function q(){const De=this.resume(),se=this.stack[this.stack.length-1];se.url=De}function J(){const De=this.resume(),se=this.stack[this.stack.length-1];se.title=De}function ne(){this.data.inReference=void 0}function re(){this.data.referenceType="collapsed"}function de(De){const se=this.resume(),K=this.stack[this.stack.length-1];K.label=se,K.identifier=Wc(this.sliceSerialize(De)).toLowerCase(),this.data.referenceType="full"}function Ee(De){this.data.characterReferenceType=De.type}function we(De){const se=this.sliceSerialize(De),K=this.data.characterReferenceType;let Q;K?(Q=nfe(se,K==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Q=j7(se);const ie=this.stack[this.stack.length-1];ie.value+=Q}function xe(De){const se=this.stack.pop();se.position.end=fp(De.end)}function ce(De){R.call(this,De);const se=this.stack[this.stack.length-1];se.url=this.sliceSerialize(De)}function pe(De){R.call(this,De);const se=this.stack[this.stack.length-1];se.url="mailto:"+this.sliceSerialize(De)}function he(){return{type:"blockquote",children:[]}}function ke(){return{type:"code",lang:null,meta:null,value:""}}function le(){return{type:"inlineCode",value:""}}function ye(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ve(){return{type:"emphasis",children:[]}}function Ie(){return{type:"heading",depth:0,children:[]}}function Ve(){return{type:"break"}}function Qe(){return{type:"html",value:""}}function nt(){return{type:"image",title:null,url:"",alt:null}}function Ue(){return{type:"link",title:null,url:"",children:[]}}function qe(De){return{type:"list",ordered:De.type==="listOrdered",start:null,spread:De._spread,children:[]}}function _e(De){return{type:"listItem",spread:De._spread,checked:null,children:[]}}function et(){return{type:"paragraph",children:[]}}function pt(){return{type:"strong",children:[]}}function ht(){return{type:"text",value:""}}function at(){return{type:"thematicBreak"}}}function fp(t){return{line:t.line,column:t.column,offset:t.offset}}function pfe(t,e){let n=-1;for(;++n<e.length;){const r=e[n];Array.isArray(r)?pfe(t,r):XGe(t,r)}}function XGe(t,e){let n;for(n in e)if(dfe.call(e,n))switch(n){case"canContainEols":{const r=e[n];r&&t[n].push(...r);break}case"transforms":{const r=e[n];r&&t[n].push(...r);break}case"enter":case"exit":{const r=e[n];r&&Object.assign(t[n],r);break}}}function RG(t,e){throw t?new Error("Cannot close `"+t.type+"` ("+Xw({start:t.start,end:t.end})+"): a different token (`"+e.type+"`, "+Xw({start:e.start,end:e.end})+") is open"):new Error("Cannot close document, a token (`"+e.type+"`, "+Xw({start:e.start,end:e.end})+") is still open")}function eqe(t){const e=this;e.parser=n;function n(r){return QGe(r,{...e.data("settings"),...t,extensions:e.data("micromarkExtensions")||[],mdastExtensions:e.data("fromMarkdownExtensions")||[]})}}function tqe(t,e){const n={type:"element",tagName:"blockquote",properties:{},children:t.wrap(t.all(e),!0)};return t.patch(e,n),t.applyData(e,n)}function nqe(t,e){const n={type:"element",tagName:"br",properties:{},children:[]};return t.patch(e,n),[t.applyData(e,n),{type:"text",value:`
2054 `}]}function rqe(t,e){const n=e.value?e.value+`
2055 `:"",r={},o=e.lang?e.lang.split(/\s+/):[];o.length>0&&(r.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return e.meta&&(s.data={meta:e.meta}),t.patch(e,s),s=t.applyData(e,s),s={type:"element",tagName:"pre",properties:{},children:[s]},t.patch(e,s),s}function oqe(t,e){const n={type:"element",tagName:"del",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function sqe(t,e){const n={type:"element",tagName:"em",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function aqe(t,e){const n=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",r=String(e.identifier).toUpperCase(),o=sv(r.toLowerCase()),s=t.footnoteOrder.indexOf(r);let a,i=t.footnoteCounts.get(r);i===void 0?(i=0,t.footnoteOrder.push(r),a=t.footnoteOrder.length):a=s+1,i+=1,t.footnoteCounts.set(r,i);const l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+o,id:n+"fnref-"+o+(i>1?"-"+i:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};t.patch(e,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return t.patch(e,u),t.applyData(e,u)}function iqe(t,e){const n={type:"element",tagName:"h"+e.depth,properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function lqe(t,e){if(t.options.allowDangerousHtml){const n={type:"raw",value:e.value};return t.patch(e,n),t.applyData(e,n)}}function hfe(t,e){const n=e.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+r}];const o=t.all(e),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const a=o[o.length-1];return a&&a.type==="text"?a.value+=r:o.push({type:"text",value:r}),o}function cqe(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return hfe(t,e);const o={src:sv(r.url||""),alt:e.alt};r.title!==null&&r.title!==void 0&&(o.title=r.title);const s={type:"element",tagName:"img",properties:o,children:[]};return t.patch(e,s),t.applyData(e,s)}function uqe(t,e){const n={src:sv(e.url)};e.alt!==null&&e.alt!==void 0&&(n.alt=e.alt),e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"img",properties:n,children:[]};return t.patch(e,r),t.applyData(e,r)}function fqe(t,e){const n={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};t.patch(e,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return t.patch(e,r),t.applyData(e,r)}function dqe(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return hfe(t,e);const o={href:sv(r.url||"")};r.title!==null&&r.title!==void 0&&(o.title=r.title);const s={type:"element",tagName:"a",properties:o,children:t.all(e)};return t.patch(e,s),t.applyData(e,s)}function pqe(t,e){const n={href:sv(e.url)};e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"a",properties:n,children:t.all(e)};return t.patch(e,r),t.applyData(e,r)}function hqe(t,e,n){const r=t.all(e),o=n?mqe(n):mfe(e),s={},a=[];if(typeof e.checked=="boolean"){const d=r[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},r.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let i=-1;for(;++i<r.length;){const d=r[i];(o||i!==0||d.type!=="element"||d.tagName!=="p")&&a.push({type:"text",value:`
2056 `}),d.type==="element"&&d.tagName==="p"&&!o?a.push(...d.children):a.push(d)}const l=r[r.length-1];l&&(o||l.type!=="element"||l.tagName!=="p")&&a.push({type:"text",value:`
2057 `});const u={type:"element",tagName:"li",properties:s,children:a};return t.patch(e,u),t.applyData(e,u)}function mqe(t){let e=!1;if(t.type==="list"){e=t.spread||!1;const n=t.children;let r=-1;for(;!e&&++r<n.length;)e=mfe(n[r])}return e}function mfe(t){const e=t.spread;return e??t.children.length>1}function gqe(t,e){const n={},r=t.all(e);let o=-1;for(typeof e.start=="number"&&e.start!==1&&(n.start=e.start);++o<r.length;){const a=r[o];if(a.type==="element"&&a.tagName==="li"&&a.properties&&Array.isArray(a.properties.className)&&a.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const s={type:"element",tagName:e.ordered?"ol":"ul",properties:n,children:t.wrap(r,!0)};return t.patch(e,s),t.applyData(e,s)}function yqe(t,e){const n={type:"element",tagName:"p",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function vqe(t,e){const n={type:"root",children:t.wrap(t.all(e))};return t.patch(e,n),t.applyData(e,n)}function wqe(t,e){const n={type:"element",tagName:"strong",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function bqe(t,e){const n=t.all(e),r=n.shift(),o=[];if(r){const a={type:"element",tagName:"thead",properties:{},children:t.wrap([r],!0)};t.patch(e.children[0],a),o.push(a)}if(n.length>0){const a={type:"element",tagName:"tbody",properties:{},children:t.wrap(n,!0)},i=v7(e.children[1]),l=que(e.children[e.children.length-1]);i&&l&&(a.position={start:i,end:l}),o.push(a)}const s={type:"element",tagName:"table",properties:{},children:t.wrap(o,!0)};return t.patch(e,s),t.applyData(e,s)}function xqe(t,e,n){const r=n?n.children:void 0,s=(r?r.indexOf(e):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,i=a?a.length:e.children.length;let l=-1;const u=[];for(;++l<i;){const f=e.children[l],m={},g=a?a[l]:void 0;g&&(m.align=g);let w={type:"element",tagName:s,properties:m,children:[]};f&&(w.children=t.all(f),t.patch(f,w),w=t.applyData(f,w)),u.push(w)}const d={type:"element",tagName:"tr",properties:{},children:t.wrap(u,!0)};return t.patch(e,d),t.applyData(e,d)}function kqe(t,e){const n={type:"element",tagName:"td",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}const TG=9,DG=32;function jqe(t){const e=String(t),n=/\r?\n|\r/g;let r=n.exec(e),o=0;const s=[];for(;r;)s.push(LG(e.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(e);return s.push(LG(e.slice(o),o>0,!1)),s.join("")}function LG(t,e,n){let r=0,o=t.length;if(e){let s=t.codePointAt(r);for(;s===TG||s===DG;)r++,s=t.codePointAt(r)}if(n){let s=t.codePointAt(o-1);for(;s===TG||s===DG;)o--,s=t.codePointAt(o-1)}return o>r?t.slice(r,o):""}function Cqe(t,e){const n={type:"text",value:jqe(String(e.value))};return t.patch(e,n),t.applyData(e,n)}function Sqe(t,e){const n={type:"element",tagName:"hr",properties:{},children:[]};return t.patch(e,n),t.applyData(e,n)}const Eqe={blockquote:tqe,break:nqe,code:rqe,delete:oqe,emphasis:sqe,footnoteReference:aqe,heading:iqe,html:lqe,imageReference:cqe,image:uqe,inlineCode:fqe,linkReference:dqe,link:pqe,listItem:hqe,list:gqe,paragraph:yqe,root:vqe,strong:wqe,table:bqe,tableCell:kqe,tableRow:xqe,text:Cqe,thematicBreak:Sqe,toml:z6,yaml:z6,definition:z6,footnoteDefinition:z6};function z6(){}const gfe=-1,oE=0,tb=1,gj=2,S7=3,E7=4,N7=5,I7=6,yfe=7,vfe=8,PG=typeof self=="object"?self:globalThis,Nqe=(t,e)=>{const n=(o,s)=>(t.set(s,o),o),r=o=>{if(t.has(o))return t.get(o);const[s,a]=e[o];switch(s){case oE:case gfe:return n(a,o);case tb:{const i=n([],o);for(const l of a)i.push(r(l));return i}case gj:{const i=n({},o);for(const[l,u]of a)i[r(l)]=r(u);return i}case S7:return n(new Date(a),o);case E7:{const{source:i,flags:l}=a;return n(new RegExp(i,l),o)}case N7:{const i=n(new Map,o);for(const[l,u]of a)i.set(r(l),r(u));return i}case I7:{const i=n(new Set,o);for(const l of a)i.add(r(l));return i}case yfe:{const{name:i,message:l}=a;return n(new PG[i](l),o)}case vfe:return n(BigInt(a),o);case"BigInt":return n(Object(BigInt(a)),o);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:i}=new Uint8Array(a);return n(new DataView(i),a)}}return n(new PG[s](a),o)};return r},OG=t=>Nqe(new Map,t)(0),X1="",{toString:Iqe}={},{keys:Aqe}=Object,Cw=t=>{const e=typeof t;if(e!=="object"||!t)return[oE,e];const n=Iqe.call(t).slice(8,-1);switch(n){case"Array":return[tb,X1];case"Object":return[gj,X1];case"Date":return[S7,X1];case"RegExp":return[E7,X1];case"Map":return[N7,X1];case"Set":return[I7,X1];case"DataView":return[tb,n]}return n.includes("Array")?[tb,n]:n.includes("Error")?[yfe,n]:[gj,n]},F6=([t,e])=>t===oE&&(e==="function"||e==="symbol"),_qe=(t,e,n,r)=>{const o=(a,i)=>{const l=r.push(a)-1;return n.set(i,l),l},s=a=>{if(n.has(a))return n.get(a);let[i,l]=Cw(a);switch(i){case oE:{let d=a;switch(l){case"bigint":i=vfe,d=a.toString();break;case"function":case"symbol":if(t)throw new TypeError("unable to serialize "+l);d=null;break;case"undefined":return o([gfe],a)}return o([i,d],a)}case tb:{if(l){let m=a;return l==="DataView"?m=new Uint8Array(a.buffer):l==="ArrayBuffer"&&(m=new Uint8Array(a)),o([l,[...m]],a)}const d=[],f=o([i,d],a);for(const m of a)d.push(s(m));return f}case gj:{if(l)switch(l){case"BigInt":return o([l,a.toString()],a);case"Boolean":case"Number":case"String":return o([l,a.valueOf()],a)}if(e&&"toJSON"in a)return s(a.toJSON());const d=[],f=o([i,d],a);for(const m of Aqe(a))(t||!F6(Cw(a[m])))&&d.push([s(m),s(a[m])]);return f}case S7:return o([i,a.toISOString()],a);case E7:{const{source:d,flags:f}=a;return o([i,{source:d,flags:f}],a)}case N7:{const d=[],f=o([i,d],a);for(const[m,g]of a)(t||!(F6(Cw(m))||F6(Cw(g))))&&d.push([s(m),s(g)]);return f}case I7:{const d=[],f=o([i,d],a);for(const m of a)(t||!F6(Cw(m)))&&d.push(s(m));return f}}const{message:u}=a;return o([i,{name:l,message:u}],a)};return s},zG=(t,{json:e,lossy:n}={})=>{const r=[];return _qe(!(e||n),!!e,new Map,r)(t),r},yj=typeof structuredClone=="function"?(t,e)=>e&&("json"in e||"lossy"in e)?OG(zG(t,e)):structuredClone(t):(t,e)=>OG(zG(t,e));function Mqe(t,e){const n=[{type:"text",value:"↩"}];return e>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),n}function Rqe(t,e){return"Back to reference "+(t+1)+(e>1?"-"+e:"")}function Tqe(t){const e=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",n=t.options.footnoteBackContent||Mqe,r=t.options.footnoteBackLabel||Rqe,o=t.options.footnoteLabel||"Footnotes",s=t.options.footnoteLabelTagName||"h2",a=t.options.footnoteLabelProperties||{className:["sr-only"]},i=[];let l=-1;for(;++l<t.footnoteOrder.length;){const u=t.footnoteById.get(t.footnoteOrder[l]);if(!u)continue;const d=t.all(u),f=String(u.identifier).toUpperCase(),m=sv(f.toLowerCase());let g=0;const w=[],b=t.footnoteCounts.get(f);for(;b!==void 0&&++g<=b;){w.length>0&&w.push({type:"text",value:" "});let I=typeof n=="string"?n:n(l,g);typeof I=="string"&&(I={type:"text",value:I}),w.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+m+(g>1?"-"+g:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,g),className:["data-footnote-backref"]},children:Array.isArray(I)?I:[I]})}const j=d[d.length-1];if(j&&j.type==="element"&&j.tagName==="p"){const I=j.children[j.children.length-1];I&&I.type==="text"?I.value+=" ":j.children.push({type:"text",value:" "}),j.children.push(...w)}else d.push(...w);const S={type:"element",tagName:"li",properties:{id:e+"fn-"+m},children:t.wrap(d,!0)};t.patch(u,S),i.push(S)}if(i.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...yj(a),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:`
2058 `},{type:"element",tagName:"ol",properties:{},children:t.wrap(i,!0)},{type:"text",value:`
2059 `}]}}const sE=(function(t){if(t==null)return Oqe;if(typeof t=="function")return aE(t);if(typeof t=="object")return Array.isArray(t)?Dqe(t):Lqe(t);if(typeof t=="string")return Pqe(t);throw new Error("Expected function, string, or object as test")});function Dqe(t){const e=[];let n=-1;for(;++n<t.length;)e[n]=sE(t[n]);return aE(r);function r(...o){let s=-1;for(;++s<e.length;)if(e[s].apply(this,o))return!0;return!1}}function Lqe(t){const e=t;return aE(n);function n(r){const o=r;let s;for(s in t)if(o[s]!==e[s])return!1;return!0}}function Pqe(t){return aE(e);function e(n){return n&&n.type===t}}function aE(t){return e;function e(n,r,o){return!!(zqe(n)&&t.call(this,n,typeof r=="number"?r:void 0,o||void 0))}}function Oqe(){return!0}function zqe(t){return t!==null&&typeof t=="object"&&"type"in t}const wfe=[],Fqe=!0,wM=!1,Bqe="skip";function bfe(t,e,n,r){let o;typeof e=="function"&&typeof n!="function"?(r=n,n=e):o=e;const s=sE(o),a=r?-1:1;i(t,void 0,[])();function i(l,u,d){const f=l&&typeof l=="object"?l:{};if(typeof f.type=="string"){const g=typeof f.tagName=="string"?f.tagName:typeof f.name=="string"?f.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(l.type+(g?"<"+g+">":""))+")"})}return m;function m(){let g=wfe,w,b,j;if((!e||s(l,u,d[d.length-1]||void 0))&&(g=Uqe(n(l,d)),g[0]===wM))return g;if("children"in l&&l.children){const S=l;if(S.children&&g[0]!==Bqe)for(b=(r?S.children.length:-1)+a,j=d.concat(S);b>-1&&b<S.children.length;){const I=S.children[b];if(w=i(I,b,j)(),w[0]===wM)return w;b=typeof w[1]=="number"?w[1]:b+a}}return g}}}function Uqe(t){return Array.isArray(t)?t:typeof t=="number"?[Fqe,t]:t==null?wfe:[t]}function iE(t,e,n,r){let o,s,a;typeof e=="function"&&typeof n!="function"?(s=void 0,a=e,o=n):(s=e,a=n,o=r),bfe(t,s,i,o);function i(l,u){const d=u[u.length-1],f=d?d.children.indexOf(l):void 0;return a(l,f,d)}}const bM={}.hasOwnProperty,$qe={};function Vqe(t,e){const n=e||$qe,r=new Map,o=new Map,s=new Map,a={...Eqe,...n.handlers},i={all:u,applyData:Wqe,definitionById:r,footnoteById:o,footnoteCounts:s,footnoteOrder:[],handlers:a,one:l,options:n,patch:Hqe,wrap:Gqe};return iE(t,function(d){if(d.type==="definition"||d.type==="footnoteDefinition"){const f=d.type==="definition"?r:o,m=String(d.identifier).toUpperCase();f.has(m)||f.set(m,d)}}),i;function l(d,f){const m=d.type,g=i.handlers[m];if(bM.call(i.handlers,m)&&g)return g(i,d,f);if(i.options.passThrough&&i.options.passThrough.includes(m)){if("children"in d){const{children:b,...j}=d,S=yj(j);return S.children=i.all(d),S}return yj(d)}return(i.options.unknownHandler||Yqe)(i,d,f)}function u(d){const f=[];if("children"in d){const m=d.children;let g=-1;for(;++g<m.length;){const w=i.one(m[g],d);if(w){if(g&&m[g-1].type==="break"&&(!Array.isArray(w)&&w.type==="text"&&(w.value=FG(w.value)),!Array.isArray(w)&&w.type==="element")){const b=w.children[0];b&&b.type==="text"&&(b.value=FG(b.value))}Array.isArray(w)?f.push(...w):f.push(w)}}}return f}}function Hqe(t,e){t.position&&(e.position=RWe(t))}function Wqe(t,e){let n=e;if(t&&t.data){const r=t.data.hName,o=t.data.hChildren,s=t.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{const a="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:a}}n.type==="element"&&s&&Object.assign(n.properties,yj(s)),"children"in n&&n.children&&o!==null&&o!==void 0&&(n.children=o)}return n}function Yqe(t,e){const n=e.data||{},r="value"in e&&!(bM.call(n,"hProperties")||bM.call(n,"hChildren"))?{type:"text",value:e.value}:{type:"element",tagName:"div",properties:{},children:t.all(e)};return t.patch(e,r),t.applyData(e,r)}function Gqe(t,e){const n=[];let r=-1;for(e&&n.push({type:"text",value:`
2060 `});++r<t.length;)r&&n.push({type:"text",value:`
2061 `}),n.push(t[r]);return e&&t.length>0&&n.push({type:"text",value:`
2062 `}),n}function FG(t){let e=0,n=t.charCodeAt(e);for(;n===9||n===32;)e++,n=t.charCodeAt(e);return t.slice(e)}function BG(t,e){const n=Vqe(t,e),r=n.one(t,void 0),o=Tqe(n),s=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return o&&s.children.push({type:"text",value:`
2063 `},o),s}function qqe(t,e){return t&&"run"in t?async function(n,r){const o=BG(n,{file:r,...e});await t.run(o,r)}:function(n,r){return BG(n,{file:r,...t||e})}}function UG(t){if(t)throw t}var SA,$G;function Kqe(){if($G)return SA;$G=1;var t=Object.prototype.hasOwnProperty,e=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(u){return typeof Array.isArray=="function"?Array.isArray(u):e.call(u)==="[object Array]"},s=function(u){if(!u||e.call(u)!=="[object Object]")return!1;var d=t.call(u,"constructor"),f=u.constructor&&u.constructor.prototype&&t.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!d&&!f)return!1;var m;for(m in u);return typeof m>"u"||t.call(u,m)},a=function(u,d){n&&d.name==="__proto__"?n(u,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):u[d.name]=d.newValue},i=function(u,d){if(d==="__proto__")if(t.call(u,d)){if(r)return r(u,d).value}else return;return u[d]};return SA=function l(){var u,d,f,m,g,w,b=arguments[0],j=1,S=arguments.length,I=!1;for(typeof b=="boolean"&&(I=b,b=arguments[1]||{},j=2),(b==null||typeof b!="object"&&typeof b!="function")&&(b={});j<S;++j)if(u=arguments[j],u!=null)for(d in u)f=i(b,d),m=i(u,d),b!==m&&(I&&m&&(s(m)||(g=o(m)))?(g?(g=!1,w=f&&o(f)?f:[]):w=f&&s(f)?f:{},a(b,{name:d,newValue:l(I,w,m)})):typeof m<"u"&&a(b,{name:d,newValue:m}));return b},SA}var Zqe=Kqe();const EA=tc(Zqe);function xM(t){if(typeof t!="object"||t===null)return!1;const e=Object.getPrototypeOf(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)}function Qqe(){const t=[],e={run:n,use:r};return e;function n(...o){let s=-1;const a=o.pop();if(typeof a!="function")throw new TypeError("Expected function as last argument, not "+a);i(null,...o);function i(l,...u){const d=t[++s];let f=-1;if(l){a(l);return}for(;++f<o.length;)(u[f]===null||u[f]===void 0)&&(u[f]=o[f]);o=u,d?Jqe(d,i)(...u):a(null,...u)}}function r(o){if(typeof o!="function")throw new TypeError("Expected `middelware` to be a function, not "+o);return t.push(o),e}}function Jqe(t,e){let n;return r;function r(...a){const i=t.length>a.length;let l;i&&a.push(o);try{l=t.apply(this,a)}catch(u){const d=u;if(i&&n)throw d;return o(d)}i||(l&&l.then&&typeof l.then=="function"?l.then(s,o):l instanceof Error?o(l):s(l))}function o(a,...i){n||(n=!0,e(a,...i))}function s(a){o(null,a)}}const Mu={basename:Xqe,dirname:eKe,extname:tKe,join:nKe,sep:"/"};function Xqe(t,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');wx(t);let n=0,r=-1,o=t.length,s;if(e===void 0||e.length===0||e.length>t.length){for(;o--;)if(t.codePointAt(o)===47){if(s){n=o+1;break}}else r<0&&(s=!0,r=o+1);return r<0?"":t.slice(n,r)}if(e===t)return"";let a=-1,i=e.length-1;for(;o--;)if(t.codePointAt(o)===47){if(s){n=o+1;break}}else a<0&&(s=!0,a=o+1),i>-1&&(t.codePointAt(o)===e.codePointAt(i--)?i<0&&(r=o):(i=-1,r=a));return n===r?r=a:r<0&&(r=t.length),t.slice(n,r)}function eKe(t){if(wx(t),t.length===0)return".";let e=-1,n=t.length,r;for(;--n;)if(t.codePointAt(n)===47){if(r){e=n;break}}else r||(r=!0);return e<0?t.codePointAt(0)===47?"/":".":e===1&&t.codePointAt(0)===47?"//":t.slice(0,e)}function tKe(t){wx(t);let e=t.length,n=-1,r=0,o=-1,s=0,a;for(;e--;){const i=t.codePointAt(e);if(i===47){if(a){r=e+1;break}continue}n<0&&(a=!0,n=e+1),i===46?o<0?o=e:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||n<0||s===0||s===1&&o===n-1&&o===r+1?"":t.slice(o,n)}function nKe(...t){let e=-1,n;for(;++e<t.length;)wx(t[e]),t[e]&&(n=n===void 0?t[e]:n+"/"+t[e]);return n===void 0?".":rKe(n)}function rKe(t){wx(t);const e=t.codePointAt(0)===47;let n=oKe(t,!e);return n.length===0&&!e&&(n="."),n.length>0&&t.codePointAt(t.length-1)===47&&(n+="/"),e?"/"+n:n}function oKe(t,e){let n="",r=0,o=-1,s=0,a=-1,i,l;for(;++a<=t.length;){if(a<t.length)i=t.codePointAt(a);else{if(i===47)break;i=47}if(i===47){if(!(o===a-1||s===1))if(o!==a-1&&s===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),o=a,s=0;continue}}else if(n.length>0){n="",r=0,o=a,s=0;continue}}e&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+t.slice(o+1,a):n=t.slice(o+1,a),r=a-o-1;o=a,s=0}else i===46&&s>-1?s++:s=-1}return n}function wx(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}const sKe={cwd:aKe};function aKe(){return"/"}function kM(t){return!!(t!==null&&typeof t=="object"&&"href"in t&&t.href&&"protocol"in t&&t.protocol&&t.auth===void 0)}function iKe(t){if(typeof t=="string")t=new URL(t);else if(!kM(t)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+t+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(t.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return lKe(t)}function lKe(t){if(t.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const e=t.pathname;let n=-1;for(;++n<e.length;)if(e.codePointAt(n)===37&&e.codePointAt(n+1)===50){const r=e.codePointAt(n+2);if(r===70||r===102){const o=new TypeError("File URL path must not include encoded / characters");throw o.code="ERR_INVALID_FILE_URL_PATH",o}}return decodeURIComponent(e)}const NA=["history","path","basename","stem","extname","dirname"];class xfe{constructor(e){let n;e?kM(e)?n={path:e}:typeof e=="string"||cKe(e)?n={value:e}:n=e:n={},this.cwd="cwd"in n?"":sKe.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<NA.length;){const s=NA[r];s in n&&n[s]!==void 0&&n[s]!==null&&(this[s]=s==="history"?[...n[s]]:n[s])}let o;for(o in n)NA.includes(o)||(this[o]=n[o])}get basename(){return typeof this.path=="string"?Mu.basename(this.path):void 0}set basename(e){AA(e,"basename"),IA(e,"basename"),this.path=Mu.join(this.dirname||"",e)}get dirname(){return typeof this.path=="string"?Mu.dirname(this.path):void 0}set dirname(e){VG(this.basename,"dirname"),this.path=Mu.join(e||"",this.basename)}get extname(){return typeof this.path=="string"?Mu.extname(this.path):void 0}set extname(e){if(IA(e,"extname"),VG(this.dirname,"extname"),e){if(e.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(e.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Mu.join(this.dirname,this.stem+(e||""))}get path(){return this.history[this.history.length-1]}set path(e){kM(e)&&(e=iKe(e)),AA(e,"path"),this.path!==e&&this.history.push(e)}get stem(){return typeof this.path=="string"?Mu.basename(this.path,this.extname):void 0}set stem(e){AA(e,"stem"),IA(e,"stem"),this.path=Mu.join(this.dirname||"",e+(this.extname||""))}fail(e,n,r){const o=this.message(e,n,r);throw o.fatal=!0,o}info(e,n,r){const o=this.message(e,n,r);return o.fatal=void 0,o}message(e,n,r){const o=new za(e,n,r);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(e){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(e||void 0).decode(this.value)}}function IA(t,e){if(t&&t.includes(Mu.sep))throw new Error("`"+e+"` cannot be a path: did not expect `"+Mu.sep+"`")}function AA(t,e){if(!t)throw new Error("`"+e+"` cannot be empty")}function VG(t,e){if(!t)throw new Error("Setting `"+e+"` requires `path` to be set too")}function cKe(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}const uKe=(function(t){const r=this.constructor.prototype,o=r[t],s=function(){return o.apply(s,arguments)};return Object.setPrototypeOf(s,r),s}),fKe={}.hasOwnProperty;class A7 extends uKe{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Qqe()}copy(){const e=new A7;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];e.use(...r)}return e.data(EA(!0,{},this.namespace)),e}data(e,n){return typeof e=="string"?arguments.length===2?(RA("data",this.frozen),this.namespace[e]=n,this):fKe.call(this.namespace,e)&&this.namespace[e]||void 0:e?(RA("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const o=n.call(e,...r);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const n=B6(e),r=this.parser||this.Parser;return _A("parse",r),r(String(n),n)}process(e,n){const r=this;return this.freeze(),_A("process",this.parser||this.Parser),MA("process",this.compiler||this.Compiler),n?o(void 0,n):new Promise(o);function o(s,a){const i=B6(e),l=r.parse(i);r.run(l,i,function(d,f,m){if(d||!f||!m)return u(d);const g=f,w=r.stringify(g,m);hKe(w)?m.value=w:m.result=w,u(d,m)});function u(d,f){d||!f?a(d):s?s(f):n(void 0,f)}}}processSync(e){let n=!1,r;return this.freeze(),_A("processSync",this.parser||this.Parser),MA("processSync",this.compiler||this.Compiler),this.process(e,o),WG("processSync","process",n),r;function o(s,a){n=!0,UG(s),r=a}}run(e,n,r){HG(e),this.freeze();const o=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?s(void 0,r):new Promise(s);function s(a,i){const l=B6(n);o.run(e,l,u);function u(d,f,m){const g=f||e;d?i(d):a?a(g):r(void 0,g,m)}}}runSync(e,n){let r=!1,o;return this.run(e,n,s),WG("runSync","run",r),o;function s(a,i){UG(a),o=i,r=!0}}stringify(e,n){this.freeze();const r=B6(n),o=this.compiler||this.Compiler;return MA("stringify",o),HG(e),o(e,r)}use(e,...n){const r=this.attachers,o=this.namespace;if(RA("use",this.frozen),e!=null)if(typeof e=="function")l(e,n);else if(typeof e=="object")Array.isArray(e)?i(e):a(e);else throw new TypeError("Expected usable value, not `"+e+"`");return this;function s(u){if(typeof u=="function")l(u,[]);else if(typeof u=="object")if(Array.isArray(u)){const[d,...f]=u;l(d,f)}else a(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function a(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");i(u.plugins),u.settings&&(o.settings=EA(!0,o.settings,u.settings))}function i(u){let d=-1;if(u!=null)if(Array.isArray(u))for(;++d<u.length;){const f=u[d];s(f)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function l(u,d){let f=-1,m=-1;for(;++f<r.length;)if(r[f][0]===u){m=f;break}if(m===-1)r.push([u,...d]);else if(d.length>0){let[g,...w]=d;const b=r[m][1];xM(b)&&xM(g)&&(g=EA(!0,b,g)),r[m]=[u,g,...w]}}}}const dKe=new A7().freeze();function _A(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `parser`")}function MA(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `compiler`")}function RA(t,e){if(e)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function HG(t){if(!xM(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function WG(t,e,n){if(!n)throw new Error("`"+t+"` finished async. Use `"+e+"` instead")}function B6(t){return pKe(t)?t:new xfe(t)}function pKe(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function hKe(t){return typeof t=="string"||mKe(t)}function mKe(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}const gKe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",YG=[],GG={allowDangerousHtml:!0},yKe=/^(https?|ircs?|mailto|xmpp)$/i,vKe=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function kfe(t){const e=wKe(t),n=bKe(t);return xKe(e.runSync(e.parse(n),n),t)}function wKe(t){const e=t.rehypePlugins||YG,n=t.remarkPlugins||YG,r=t.remarkRehypeOptions?{...t.remarkRehypeOptions,...GG}:GG;return dKe().use(eqe).use(n).use(qqe,r).use(e)}function bKe(t){const e=t.children||"",n=new xfe;return typeof e=="string"&&(n.value=e),n}function xKe(t,e){const n=e.allowedElements,r=e.allowElement,o=e.components,s=e.disallowedElements,a=e.skipHtml,i=e.unwrapDisallowed,l=e.urlTransform||kKe;for(const d of vKe)Object.hasOwn(e,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+gKe+d.id,void 0);return iE(t,u),OWe(t,{Fragment:c.Fragment,components:o,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function u(d,f,m){if(d.type==="raw"&&m&&typeof f=="number")return a?m.children.splice(f,1):m.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let g;for(g in kA)if(Object.hasOwn(kA,g)&&Object.hasOwn(d.properties,g)){const w=d.properties[g],b=kA[g];(b===null||b.includes(d.tagName))&&(d.properties[g]=l(String(w||""),g,d))}}if(d.type==="element"){let g=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!g&&r&&typeof f=="number"&&(g=!r(d,f,m)),g&&m&&typeof f=="number")return i&&d.children?m.children.splice(f,1,...d.children):m.children.splice(f,1),f}}}function kKe(t){const e=t.indexOf(":"),n=t.indexOf("?"),r=t.indexOf("#"),o=t.indexOf("/");return e===-1||o!==-1&&e>o||n!==-1&&e>n||r!==-1&&e>r||yKe.test(t.slice(0,e))?t:""}function qG(t,e){const n=String(t);if(typeof e!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(e);for(;o!==-1;)r++,o=n.indexOf(e,o+e.length);return r}function jKe(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function jfe(t,e,n){const o=sE((n||{}).ignore||[]),s=CKe(e);let a=-1;for(;++a<s.length;)bfe(t,"text",i);function i(u,d){let f=-1,m;for(;++f<d.length;){const g=d[f],w=m?m.children:void 0;if(o(g,w?w.indexOf(g):void 0,m))return;m=g}if(m)return l(u,d)}function l(u,d){const f=d[d.length-1],m=s[a][0],g=s[a][1];let w=0;const j=f.children.indexOf(u);let S=!1,I=[];m.lastIndex=0;let N=m.exec(u.value);for(;N;){const M=N.index,D={index:N.index,input:N.input,stack:[...d,u]};let P=g(...N,D);if(typeof P=="string"&&(P=P.length>0?{type:"text",value:P}:void 0),P===!1?m.lastIndex=M+1:(w!==M&&I.push({type:"text",value:u.value.slice(w,M)}),Array.isArray(P)?I.push(...P):P&&I.push(P),w=M+N[0].length,S=!0),!m.global)break;N=m.exec(u.value)}return S?(w<u.value.length&&I.push({type:"text",value:u.value.slice(w)}),f.children.splice(j,1,...I)):I=[u],j+I.length}}function CKe(t){const e=[];if(!Array.isArray(t))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!t[0]||Array.isArray(t[0])?t:[t];let r=-1;for(;++r<n.length;){const o=n[r];e.push([SKe(o[0]),EKe(o[1])])}return e}function SKe(t){return typeof t=="string"?new RegExp(jKe(t),"g"):t}function EKe(t){return typeof t=="function"?t:function(){return t}}const TA="phrasing",DA=["autolink","link","image","label"];function NKe(){return{transforms:[DKe],enter:{literalAutolink:AKe,literalAutolinkEmail:LA,literalAutolinkHttp:LA,literalAutolinkWww:LA},exit:{literalAutolink:TKe,literalAutolinkEmail:RKe,literalAutolinkHttp:_Ke,literalAutolinkWww:MKe}}}function IKe(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:TA,notInConstruct:DA},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:TA,notInConstruct:DA},{character:":",before:"[ps]",after:"\\/",inConstruct:TA,notInConstruct:DA}]}}function AKe(t){this.enter({type:"link",title:null,url:"",children:[]},t)}function LA(t){this.config.enter.autolinkProtocol.call(this,t)}function _Ke(t){this.config.exit.autolinkProtocol.call(this,t)}function MKe(t){this.config.exit.data.call(this,t);const e=this.stack[this.stack.length-1];e.type,e.url="http://"+this.sliceSerialize(t)}function RKe(t){this.config.exit.autolinkEmail.call(this,t)}function TKe(t){this.exit(t)}function DKe(t){jfe(t,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,LKe],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),PKe]],{ignore:["link","linkReference"]})}function LKe(t,e,n,r,o){let s="";if(!Cfe(o)||(/^w/i.test(e)&&(n=e+n,e="",s="http://"),!OKe(n)))return!1;const a=zKe(n+r);if(!a[0])return!1;const i={type:"link",title:null,url:s+e+a[0],children:[{type:"text",value:e+a[0]}]};return a[1]?[i,{type:"text",value:a[1]}]:i}function PKe(t,e,n,r){return!Cfe(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+e+"@"+n,children:[{type:"text",value:e+"@"+n}]}}function OKe(t){const e=t.split(".");return!(e.length<2||e[e.length-1]&&(/_/.test(e[e.length-1])||!/[a-zA-Z\d]/.test(e[e.length-1]))||e[e.length-2]&&(/_/.test(e[e.length-2])||!/[a-zA-Z\d]/.test(e[e.length-2])))}function zKe(t){const e=/[!"&'),.:;<>?\]}]+$/.exec(t);if(!e)return[t,void 0];t=t.slice(0,e.index);let n=e[0],r=n.indexOf(")");const o=qG(t,"(");let s=qG(t,")");for(;r!==-1&&o>s;)t+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),s++;return[t,n]}function Cfe(t,e){const n=t.input.charCodeAt(t.index-1);return(t.index===0||_g(n)||nE(n))&&(!e||n!==47)}Sfe.peek=GKe;function FKe(){this.buffer()}function BKe(t){this.enter({type:"footnoteReference",identifier:"",label:""},t)}function UKe(){this.buffer()}function $Ke(t){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},t)}function VKe(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Wc(this.sliceSerialize(t)).toLowerCase(),n.label=e}function HKe(t){this.exit(t)}function WKe(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Wc(this.sliceSerialize(t)).toLowerCase(),n.label=e}function YKe(t){this.exit(t)}function GKe(){return"["}function Sfe(t,e,n,r){const o=n.createTracker(r);let s=o.move("[^");const a=n.enter("footnoteReference"),i=n.enter("reference");return s+=o.move(n.safe(n.associationId(t),{after:"]",before:s})),i(),a(),s+=o.move("]"),s}function qKe(){return{enter:{gfmFootnoteCallString:FKe,gfmFootnoteCall:BKe,gfmFootnoteDefinitionLabelString:UKe,gfmFootnoteDefinition:$Ke},exit:{gfmFootnoteCallString:VKe,gfmFootnoteCall:HKe,gfmFootnoteDefinitionLabelString:WKe,gfmFootnoteDefinition:YKe}}}function KKe(t){let e=!1;return t&&t.firstLineBlank&&(e=!0),{handlers:{footnoteDefinition:n,footnoteReference:Sfe},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,o,s,a){const i=s.createTracker(a);let l=i.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return l+=i.move(s.safe(s.associationId(r),{before:l,after:"]"})),d(),l+=i.move("]:"),r.children&&r.children.length>0&&(i.shift(4),l+=i.move((e?`
2064 `:" ")+s.indentLines(s.containerFlow(r,i.current()),e?Efe:ZKe))),u(),l}}function ZKe(t,e,n){return e===0?t:Efe(t,e,n)}function Efe(t,e,n){return(n?"":" ")+t}const QKe=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Nfe.peek=nZe;function JKe(){return{canContainEols:["delete"],enter:{strikethrough:eZe},exit:{strikethrough:tZe}}}function XKe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:QKe}],handlers:{delete:Nfe}}}function eZe(t){this.enter({type:"delete",children:[]},t)}function tZe(t){this.exit(t)}function Nfe(t,e,n,r){const o=n.createTracker(r),s=n.enter("strikethrough");let a=o.move("~~");return a+=n.containerPhrasing(t,{...o.current(),before:a,after:"~"}),a+=o.move("~~"),s(),a}function nZe(){return"~"}function rZe(t){return t.length}function oZe(t,e){const n=e||{},r=(n.align||[]).concat(),o=n.stringLength||rZe,s=[],a=[],i=[],l=[];let u=0,d=-1;for(;++d<t.length;){const b=[],j=[];let S=-1;for(t[d].length>u&&(u=t[d].length);++S<t[d].length;){const I=sZe(t[d][S]);if(n.alignDelimiters!==!1){const N=o(I);j[S]=N,(l[S]===void 0||N>l[S])&&(l[S]=N)}b.push(I)}a[d]=b,i[d]=j}let f=-1;if(typeof r=="object"&&"length"in r)for(;++f<u;)s[f]=KG(r[f]);else{const b=KG(r);for(;++f<u;)s[f]=b}f=-1;const m=[],g=[];for(;++f<u;){const b=s[f];let j="",S="";b===99?(j=":",S=":"):b===108?j=":":b===114&&(S=":");let I=n.alignDelimiters===!1?1:Math.max(1,l[f]-j.length-S.length);const N=j+"-".repeat(I)+S;n.alignDelimiters!==!1&&(I=j.length+I+S.length,I>l[f]&&(l[f]=I),g[f]=I),m[f]=N}a.splice(1,0,m),i.splice(1,0,g),d=-1;const w=[];for(;++d<a.length;){const b=a[d],j=i[d];f=-1;const S=[];for(;++f<u;){const I=b[f]||"";let N="",M="";if(n.alignDelimiters!==!1){const D=l[f]-(j[f]||0),P=s[f];P===114?N=" ".repeat(D):P===99?D%2?(N=" ".repeat(D/2+.5),M=" ".repeat(D/2-.5)):(N=" ".repeat(D/2),M=N):M=" ".repeat(D)}n.delimiterStart!==!1&&!f&&S.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&I==="")&&(n.delimiterStart!==!1||f)&&S.push(" "),n.alignDelimiters!==!1&&S.push(N),S.push(I),n.alignDelimiters!==!1&&S.push(M),n.padding!==!1&&S.push(" "),(n.delimiterEnd!==!1||f!==u-1)&&S.push("|")}w.push(n.delimiterEnd===!1?S.join("").replace(/ +$/,""):S.join(""))}return w.join(`
2065 `)}function sZe(t){return t==null?"":String(t)}function KG(t){const e=typeof t=="string"?t.codePointAt(0):0;return e===67||e===99?99:e===76||e===108?108:e===82||e===114?114:0}function aZe(t,e,n,r){const o=n.enter("blockquote"),s=n.createTracker(r);s.move("> "),s.shift(2);const a=n.indentLines(n.containerFlow(t,s.current()),iZe);return o(),a}function iZe(t,e,n){return">"+(n?"":" ")+t}function lZe(t,e){return ZG(t,e.inConstruct,!0)&&!ZG(t,e.notInConstruct,!1)}function ZG(t,e,n){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return n;let r=-1;for(;++r<e.length;)if(t.includes(e[r]))return!0;return!1}function QG(t,e,n,r){let o=-1;for(;++o<n.unsafe.length;)if(n.unsafe[o].character===`
2066 `&&lZe(n.stack,n.unsafe[o]))return/[ \t]/.test(r.before)?"":" ";return`\\
2067 `}function cZe(t,e){const n=String(t);let r=n.indexOf(e),o=r,s=0,a=0;if(typeof e!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===o?++s>a&&(a=s):s=1,o=r+e.length,r=n.indexOf(e,o);return a}function uZe(t,e){return!!(e.options.fences===!1&&t.value&&!t.lang&&/[^ \r\n]/.test(t.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(t.value))}function fZe(t){const e=t.options.fence||"`";if(e!=="`"&&e!=="~")throw new Error("Cannot serialize code with `"+e+"` for `options.fence`, expected `` ` `` or `~`");return e}function dZe(t,e,n,r){const o=fZe(n),s=t.value||"",a=o==="`"?"GraveAccent":"Tilde";if(uZe(t,n)){const f=n.enter("codeIndented"),m=n.indentLines(s,pZe);return f(),m}const i=n.createTracker(r),l=o.repeat(Math.max(cZe(s,o)+1,3)),u=n.enter("codeFenced");let d=i.move(l);if(t.lang){const f=n.enter(`codeFencedLang${a}`);d+=i.move(n.safe(t.lang,{before:d,after:" ",encode:["`"],...i.current()})),f()}if(t.lang&&t.meta){const f=n.enter(`codeFencedMeta${a}`);d+=i.move(" "),d+=i.move(n.safe(t.meta,{before:d,after:`
2068 `,encode:["`"],...i.current()})),f()}return d+=i.move(`
2069 `),s&&(d+=i.move(s+`
2070 `)),d+=i.move(l),u(),d}function pZe(t,e,n){return(n?"":" ")+t}function _7(t){const e=t.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function hZe(t,e,n,r){const o=_7(n),s=o==='"'?"Quote":"Apostrophe",a=n.enter("definition");let i=n.enter("label");const l=n.createTracker(r);let u=l.move("[");return u+=l.move(n.safe(n.associationId(t),{before:u,after:"]",...l.current()})),u+=l.move("]: "),i(),!t.url||/[\0- \u007F]/.test(t.url)?(i=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(t.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(i=n.enter("destinationRaw"),u+=l.move(n.safe(t.url,{before:u,after:t.title?" ":`
2071 `,...l.current()}))),i(),t.title&&(i=n.enter(`title${s}`),u+=l.move(" "+o),u+=l.move(n.safe(t.title,{before:u,after:o,...l.current()})),u+=l.move(o),i()),a(),u}function mZe(t){const e=t.options.emphasis||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize emphasis with `"+e+"` for `options.emphasis`, expected `*`, or `_`");return e}function f2(t){return"&#x"+t.toString(16).toUpperCase()+";"}function vj(t,e,n){const r=by(t),o=by(e);return r===void 0?o===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Ife.peek=gZe;function Ife(t,e,n,r){const o=mZe(n),s=n.enter("emphasis"),a=n.createTracker(r),i=a.move(o);let l=a.move(n.containerPhrasing(t,{after:o,before:i,...a.current()}));const u=l.charCodeAt(0),d=vj(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(l=f2(u)+l.slice(1));const f=l.charCodeAt(l.length-1),m=vj(r.after.charCodeAt(0),f,o);m.inside&&(l=l.slice(0,-1)+f2(f));const g=a.move(o);return s(),n.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},i+l+g}function gZe(t,e,n){return n.options.emphasis||"*"}function yZe(t,e){let n=!1;return iE(t,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,wM}),!!((!t.depth||t.depth<3)&&k7(t)&&(e.options.setext||n))}function vZe(t,e,n,r){const o=Math.max(Math.min(6,t.depth||1),1),s=n.createTracker(r);if(yZe(t,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),m=n.containerPhrasing(t,{...s.current(),before:`
2072 `,after:`
2073 `});return f(),d(),m+`
2074 `+(o===1?"=":"-").repeat(m.length-(Math.max(m.lastIndexOf("\r"),m.lastIndexOf(`
2075 `))+1))}const a="#".repeat(o),i=n.enter("headingAtx"),l=n.enter("phrasing");s.move(a+" ");let u=n.containerPhrasing(t,{before:"# ",after:`
2076 `,...s.current()});return/^[\t ]/.test(u)&&(u=f2(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),l(),i(),u}Afe.peek=wZe;function Afe(t){return t.value||""}function wZe(){return"<"}_fe.peek=bZe;function _fe(t,e,n,r){const o=_7(n),s=o==='"'?"Quote":"Apostrophe",a=n.enter("image");let i=n.enter("label");const l=n.createTracker(r);let u=l.move("![");return u+=l.move(n.safe(t.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),i(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(i=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(t.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(i=n.enter("destinationRaw"),u+=l.move(n.safe(t.url,{before:u,after:t.title?" ":")",...l.current()}))),i(),t.title&&(i=n.enter(`title${s}`),u+=l.move(" "+o),u+=l.move(n.safe(t.title,{before:u,after:o,...l.current()})),u+=l.move(o),i()),u+=l.move(")"),a(),u}function bZe(){return"!"}Mfe.peek=xZe;function Mfe(t,e,n,r){const o=t.referenceType,s=n.enter("imageReference");let a=n.enter("label");const i=n.createTracker(r);let l=i.move("![");const u=n.safe(t.alt,{before:l,after:"]",...i.current()});l+=i.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(t),{before:l,after:"]",...i.current()});return a(),n.stack=d,s(),o==="full"||!u||u!==f?l+=i.move(f+"]"):o==="shortcut"?l=l.slice(0,-1):l+=i.move("]"),l}function xZe(){return"!"}Rfe.peek=kZe;function Rfe(t,e,n){let r=t.value||"",o="`",s=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s<n.unsafe.length;){const a=n.unsafe[s],i=n.compilePattern(a);let l;if(a.atBreak)for(;l=i.exec(r);){let u=l.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(l.index+1)}}return o+r+o}function kZe(){return"`"}function Tfe(t,e){const n=k7(t);return!!(!e.options.resourceLink&&t.url&&!t.title&&t.children&&t.children.length===1&&t.children[0].type==="text"&&(n===t.url||"mailto:"+n===t.url)&&/^[a-z][a-z+.-]+:/i.test(t.url)&&!/[\0- <>\u007F]/.test(t.url))}Dfe.peek=jZe;function Dfe(t,e,n,r){const o=_7(n),s=o==='"'?"Quote":"Apostrophe",a=n.createTracker(r);let i,l;if(Tfe(t,n)){const d=n.stack;n.stack=[],i=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(t,{before:f,after:">",...a.current()})),f+=a.move(">"),i(),n.stack=d,f}i=n.enter("link"),l=n.enter("label");let u=a.move("[");return u+=a.move(n.containerPhrasing(t,{before:u,after:"](",...a.current()})),u+=a.move("]("),l(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(l=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(t.url,{before:u,after:">",...a.current()})),u+=a.move(">")):(l=n.enter("destinationRaw"),u+=a.move(n.safe(t.url,{before:u,after:t.title?" ":")",...a.current()}))),l(),t.title&&(l=n.enter(`title${s}`),u+=a.move(" "+o),u+=a.move(n.safe(t.title,{before:u,after:o,...a.current()})),u+=a.move(o),l()),u+=a.move(")"),i(),u}function jZe(t,e,n){return Tfe(t,n)?"<":"["}Lfe.peek=CZe;function Lfe(t,e,n,r){const o=t.referenceType,s=n.enter("linkReference");let a=n.enter("label");const i=n.createTracker(r);let l=i.move("[");const u=n.containerPhrasing(t,{before:l,after:"]",...i.current()});l+=i.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(t),{before:l,after:"]",...i.current()});return a(),n.stack=d,s(),o==="full"||!u||u!==f?l+=i.move(f+"]"):o==="shortcut"?l=l.slice(0,-1):l+=i.move("]"),l}function CZe(){return"["}function M7(t){const e=t.options.bullet||"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bullet`, expected `*`, `+`, or `-`");return e}function SZe(t){const e=M7(t),n=t.options.bulletOther;if(!n)return e==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===e)throw new Error("Expected `bullet` (`"+e+"`) and `bulletOther` (`"+n+"`) to be different");return n}function EZe(t){const e=t.options.bulletOrdered||".";if(e!=="."&&e!==")")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOrdered`, expected `.` or `)`");return e}function Pfe(t){const e=t.options.rule||"*";if(e!=="*"&&e!=="-"&&e!=="_")throw new Error("Cannot serialize rules with `"+e+"` for `options.rule`, expected `*`, `-`, or `_`");return e}function NZe(t,e,n,r){const o=n.enter("list"),s=n.bulletCurrent;let a=t.ordered?EZe(n):M7(n);const i=t.ordered?a==="."?")":".":SZe(n);let l=e&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!t.ordered){const d=t.children?t.children[0]:void 0;if((a==="*"||a==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),Pfe(n)===a&&d){let f=-1;for(;++f<t.children.length;){const m=t.children[f];if(m&&m.type==="listItem"&&m.children&&m.children[0]&&m.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(a=i),n.bulletCurrent=a;const u=n.containerFlow(t,r);return n.bulletLastUsed=a,n.bulletCurrent=s,o(),u}function IZe(t){const e=t.options.listItemIndent||"one";if(e!=="tab"&&e!=="one"&&e!=="mixed")throw new Error("Cannot serialize items with `"+e+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return e}function AZe(t,e,n,r){const o=IZe(n);let s=n.bulletCurrent||M7(n);e&&e.type==="list"&&e.ordered&&(s=(typeof e.start=="number"&&e.start>-1?e.start:1)+(n.options.incrementListMarker===!1?0:e.children.indexOf(t))+s);let a=s.length+1;(o==="tab"||o==="mixed"&&(e&&e.type==="list"&&e.spread||t.spread))&&(a=Math.ceil(a/4)*4);const i=n.createTracker(r);i.move(s+" ".repeat(a-s.length)),i.shift(a);const l=n.enter("listItem"),u=n.indentLines(n.containerFlow(t,i.current()),d);return l(),u;function d(f,m,g){return m?(g?"":" ".repeat(a))+f:(g?s:s+" ".repeat(a-s.length))+f}}function _Ze(t,e,n,r){const o=n.enter("paragraph"),s=n.enter("phrasing"),a=n.containerPhrasing(t,r);return s(),o(),a}const MZe=sE(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function RZe(t,e,n,r){return(t.children.some(function(a){return MZe(a)})?n.containerPhrasing:n.containerFlow).call(n,t,r)}function TZe(t){const e=t.options.strong||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize strong with `"+e+"` for `options.strong`, expected `*`, or `_`");return e}Ofe.peek=DZe;function Ofe(t,e,n,r){const o=TZe(n),s=n.enter("strong"),a=n.createTracker(r),i=a.move(o+o);let l=a.move(n.containerPhrasing(t,{after:o,before:i,...a.current()}));const u=l.charCodeAt(0),d=vj(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(l=f2(u)+l.slice(1));const f=l.charCodeAt(l.length-1),m=vj(r.after.charCodeAt(0),f,o);m.inside&&(l=l.slice(0,-1)+f2(f));const g=a.move(o+o);return s(),n.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},i+l+g}function DZe(t,e,n){return n.options.strong||"*"}function LZe(t,e,n,r){return n.safe(t.value,r)}function PZe(t){const e=t.options.ruleRepetition||3;if(e<3)throw new Error("Cannot serialize rules with repetition `"+e+"` for `options.ruleRepetition`, expected `3` or more");return e}function OZe(t,e,n){const r=(Pfe(n)+(n.options.ruleSpaces?" ":"")).repeat(PZe(n));return n.options.ruleSpaces?r.slice(0,-1):r}const zfe={blockquote:aZe,break:QG,code:dZe,definition:hZe,emphasis:Ife,hardBreak:QG,heading:vZe,html:Afe,image:_fe,imageReference:Mfe,inlineCode:Rfe,link:Dfe,linkReference:Lfe,list:NZe,listItem:AZe,paragraph:_Ze,root:RZe,strong:Ofe,text:LZe,thematicBreak:OZe};function zZe(){return{enter:{table:FZe,tableData:JG,tableHeader:JG,tableRow:UZe},exit:{codeText:$Ze,table:BZe,tableData:PA,tableHeader:PA,tableRow:PA}}}function FZe(t){const e=t._align;this.enter({type:"table",align:e.map(function(n){return n==="none"?null:n}),children:[]},t),this.data.inTable=!0}function BZe(t){this.exit(t),this.data.inTable=void 0}function UZe(t){this.enter({type:"tableRow",children:[]},t)}function PA(t){this.exit(t)}function JG(t){this.enter({type:"tableCell",children:[]},t)}function $Ze(t){let e=this.resume();this.data.inTable&&(e=e.replace(/\\([\\|])/g,VZe));const n=this.stack[this.stack.length-1];n.type,n.value=e,this.exit(t)}function VZe(t,e){return e==="|"?e:t}function HZe(t){const e=t||{},n=e.tableCellPadding,r=e.tablePipeAlign,o=e.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
2077 `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:m,table:a,tableCell:l,tableRow:i}};function a(g,w,b,j){return u(d(g,b,j),g.align)}function i(g,w,b,j){const S=f(g,b,j),I=u([S]);return I.slice(0,I.indexOf(`
2078 `))}function l(g,w,b,j){const S=b.enter("tableCell"),I=b.enter("phrasing"),N=b.containerPhrasing(g,{...j,before:s,after:s});return I(),S(),N}function u(g,w){return oZe(g,{align:w,alignDelimiters:r,padding:n,stringLength:o})}function d(g,w,b){const j=g.children;let S=-1;const I=[],N=w.enter("table");for(;++S<j.length;)I[S]=f(j[S],w,b);return N(),I}function f(g,w,b){const j=g.children;let S=-1;const I=[],N=w.enter("tableRow");for(;++S<j.length;)I[S]=l(j[S],g,w,b);return N(),I}function m(g,w,b){let j=zfe.inlineCode(g,w,b);return b.stack.includes("tableCell")&&(j=j.replace(/\|/g,"\\$&")),j}}function WZe(){return{exit:{taskListCheckValueChecked:XG,taskListCheckValueUnchecked:XG,paragraph:GZe}}}function YZe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:qZe}}}function XG(t){const e=this.stack[this.stack.length-2];e.type,e.checked=t.type==="taskListCheckValueChecked"}function GZe(t){const e=this.stack[this.stack.length-2];if(e&&e.type==="listItem"&&typeof e.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const o=e.children;let s=-1,a;for(;++s<o.length;){const i=o[s];if(i.type==="paragraph"){a=i;break}}a===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(t)}function qZe(t,e,n,r){const o=t.children[0],s=typeof t.checked=="boolean"&&o&&o.type==="paragraph",a="["+(t.checked?"x":" ")+"] ",i=n.createTracker(r);s&&i.move(a);let l=zfe.listItem(t,e,n,{...r,...i.current()});return s&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),l;function u(d){return d+a}}function KZe(){return[NKe(),qKe(),JKe(),zZe(),WZe()]}function ZZe(t){return{extensions:[IKe(),KKe(t),XKe(),HZe(t),YZe()]}}const QZe={tokenize:rQe,partial:!0},Ffe={tokenize:oQe,partial:!0},Bfe={tokenize:sQe,partial:!0},Ufe={tokenize:aQe,partial:!0},JZe={tokenize:iQe,partial:!0},$fe={name:"wwwAutolink",tokenize:tQe,previous:Hfe},Vfe={name:"protocolAutolink",tokenize:nQe,previous:Wfe},Sd={name:"emailAutolink",tokenize:eQe,previous:Yfe},kf={};function XZe(){return{text:kf}}let ym=48;for(;ym<123;)kf[ym]=Sd,ym++,ym===58?ym=65:ym===91&&(ym=97);kf[43]=Sd;kf[45]=Sd;kf[46]=Sd;kf[95]=Sd;kf[72]=[Sd,Vfe];kf[104]=[Sd,Vfe];kf[87]=[Sd,$fe];kf[119]=[Sd,$fe];function eQe(t,e,n){const r=this;let o,s;return a;function a(f){return!jM(f)||!Yfe.call(r,r.previous)||R7(r.events)?n(f):(t.enter("literalAutolink"),t.enter("literalAutolinkEmail"),i(f))}function i(f){return jM(f)?(t.consume(f),i):f===64?(t.consume(f),l):n(f)}function l(f){return f===46?t.check(JZe,d,u)(f):f===45||f===95||Na(f)?(s=!0,t.consume(f),l):d(f)}function u(f){return t.consume(f),o=!0,l}function d(f){return s&&o&&qa(r.previous)?(t.exit("literalAutolinkEmail"),t.exit("literalAutolink"),e(f)):n(f)}}function tQe(t,e,n){const r=this;return o;function o(a){return a!==87&&a!==119||!Hfe.call(r,r.previous)||R7(r.events)?n(a):(t.enter("literalAutolink"),t.enter("literalAutolinkWww"),t.check(QZe,t.attempt(Ffe,t.attempt(Bfe,s),n),n)(a))}function s(a){return t.exit("literalAutolinkWww"),t.exit("literalAutolink"),e(a)}}function nQe(t,e,n){const r=this;let o="",s=!1;return a;function a(f){return(f===72||f===104)&&Wfe.call(r,r.previous)&&!R7(r.events)?(t.enter("literalAutolink"),t.enter("literalAutolinkHttp"),o+=String.fromCodePoint(f),t.consume(f),i):n(f)}function i(f){if(qa(f)&&o.length<5)return o+=String.fromCodePoint(f),t.consume(f),i;if(f===58){const m=o.toLowerCase();if(m==="http"||m==="https")return t.consume(f),l}return n(f)}function l(f){return f===47?(t.consume(f),s?u:(s=!0,l)):n(f)}function u(f){return f===null||mj(f)||$r(f)||_g(f)||nE(f)?n(f):t.attempt(Ffe,t.attempt(Bfe,d),n)(f)}function d(f){return t.exit("literalAutolinkHttp"),t.exit("literalAutolink"),e(f)}}function rQe(t,e,n){let r=0;return o;function o(a){return(a===87||a===119)&&r<3?(r++,t.consume(a),o):a===46&&r===3?(t.consume(a),s):n(a)}function s(a){return a===null?n(a):e(a)}}function oQe(t,e,n){let r,o,s;return a;function a(u){return u===46||u===95?t.check(Ufe,l,i)(u):u===null||$r(u)||_g(u)||u!==45&&nE(u)?l(u):(s=!0,t.consume(u),a)}function i(u){return u===95?r=!0:(o=r,r=void 0),t.consume(u),a}function l(u){return o||r||!s?n(u):e(u)}}function sQe(t,e){let n=0,r=0;return o;function o(a){return a===40?(n++,t.consume(a),o):a===41&&r<n?s(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?t.check(Ufe,e,s)(a):a===null||$r(a)||_g(a)?e(a):(t.consume(a),o)}function s(a){return a===41&&r++,t.consume(a),o}}function aQe(t,e,n){return r;function r(i){return i===33||i===34||i===39||i===41||i===42||i===44||i===46||i===58||i===59||i===63||i===95||i===126?(t.consume(i),r):i===38?(t.consume(i),s):i===93?(t.consume(i),o):i===60||i===null||$r(i)||_g(i)?e(i):n(i)}function o(i){return i===null||i===40||i===91||$r(i)||_g(i)?e(i):r(i)}function s(i){return qa(i)?a(i):n(i)}function a(i){return i===59?(t.consume(i),r):qa(i)?(t.consume(i),a):n(i)}}function iQe(t,e,n){return r;function r(s){return t.consume(s),o}function o(s){return Na(s)?n(s):e(s)}}function Hfe(t){return t===null||t===40||t===42||t===95||t===91||t===93||t===126||$r(t)}function Wfe(t){return!qa(t)}function Yfe(t){return!(t===47||jM(t))}function jM(t){return t===43||t===45||t===46||t===95||Na(t)}function R7(t){let e=t.length,n=!1;for(;e--;){const r=t[e][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return t.length>0&&!n&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const lQe={tokenize:gQe,partial:!0};function cQe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:pQe,continuation:{tokenize:hQe},exit:mQe}},text:{91:{name:"gfmFootnoteCall",tokenize:dQe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:uQe,resolveTo:fQe}}}}function uQe(t,e,n){const r=this;let o=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;o--;){const l=r.events[o][1];if(l.type==="labelImage"){a=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return i;function i(l){if(!a||!a._balanced)return n(l);const u=Wc(r.sliceSerialize({start:a.end,end:r.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(l):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(l),t.exit("gfmFootnoteCallLabelMarker"),e(l))}}function fQe(t,e){let n=t.length;for(;n--;)if(t[n][1].type==="labelImage"&&t[n][0]==="enter"){t[n][1];break}t[n+1][1].type="data",t[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},t[n+3][1].start),end:Object.assign({},t[t.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},t[n+3][1].end),end:Object.assign({},t[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},t[t.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},i=[t[n+1],t[n+2],["enter",r,e],t[n+3],t[n+4],["enter",o,e],["exit",o,e],["enter",s,e],["enter",a,e],["exit",a,e],["exit",s,e],t[t.length-2],t[t.length-1],["exit",r,e]];return t.splice(n,t.length-n+1,...i),t}function dQe(t,e,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,a;return i;function i(f){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(f),t.exit("gfmFootnoteCallLabelMarker"),l}function l(f){return f!==94?n(f):(t.enter("gfmFootnoteCallMarker"),t.consume(f),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",u)}function u(f){if(s>999||f===93&&!a||f===null||f===91||$r(f))return n(f);if(f===93){t.exit("chunkString");const m=t.exit("gfmFootnoteCallString");return o.includes(Wc(r.sliceSerialize(m)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(f),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),e):n(f)}return $r(f)||(a=!0),s++,t.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(t.consume(f),s++,u):u(f)}}function pQe(t,e,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,a=0,i;return l;function l(w){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(w),t.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(w){return w===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(w),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",d):n(w)}function d(w){if(a>999||w===93&&!i||w===null||w===91||$r(w))return n(w);if(w===93){t.exit("chunkString");const b=t.exit("gfmFootnoteDefinitionLabelString");return s=Wc(r.sliceSerialize(b)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(w),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),m}return $r(w)||(i=!0),a++,t.consume(w),w===92?f:d}function f(w){return w===91||w===92||w===93?(t.consume(w),a++,d):d(w)}function m(w){return w===58?(t.enter("definitionMarker"),t.consume(w),t.exit("definitionMarker"),o.includes(s)||o.push(s),dr(t,g,"gfmFootnoteDefinitionWhitespace")):n(w)}function g(w){return e(w)}}function hQe(t,e,n){return t.check(vx,e,t.attempt(lQe,e,n))}function mQe(t){t.exit("gfmFootnoteDefinition")}function gQe(t,e,n){const r=this;return dr(t,o,"gfmFootnoteDefinitionIndent",5);function o(s){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?e(s):n(s)}}function yQe(t){let n=(t||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:o};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(a,i){let l=-1;for(;++l<a.length;)if(a[l][0]==="enter"&&a[l][1].type==="strikethroughSequenceTemporary"&&a[l][1]._close){let u=l;for(;u--;)if(a[u][0]==="exit"&&a[u][1].type==="strikethroughSequenceTemporary"&&a[u][1]._open&&a[l][1].end.offset-a[l][1].start.offset===a[u][1].end.offset-a[u][1].start.offset){a[l][1].type="strikethroughSequence",a[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},a[u][1].start),end:Object.assign({},a[l][1].end)},f={type:"strikethroughText",start:Object.assign({},a[u][1].end),end:Object.assign({},a[l][1].start)},m=[["enter",d,i],["enter",a[u][1],i],["exit",a[u][1],i],["enter",f,i]],g=i.parser.constructs.insideSpan.null;g&&ul(m,m.length,0,rE(g,a.slice(u+1,l),i)),ul(m,m.length,0,[["exit",f,i],["enter",a[l][1],i],["exit",a[l][1],i],["exit",d,i]]),ul(a,u-1,l-u+3,m),l=u+m.length-2;break}}for(l=-1;++l<a.length;)a[l][1].type==="strikethroughSequenceTemporary"&&(a[l][1].type="data");return a}function s(a,i,l){const u=this.previous,d=this.events;let f=0;return m;function m(w){return u===126&&d[d.length-1][1].type!=="characterEscape"?l(w):(a.enter("strikethroughSequenceTemporary"),g(w))}function g(w){const b=by(u);if(w===126)return f>1?l(w):(a.consume(w),f++,g);if(f<2&&!n)return l(w);const j=a.exit("strikethroughSequenceTemporary"),S=by(w);return j._open=!S||S===2&&!!b,j._close=!b||b===2&&!!S,i(w)}}}class vQe{constructor(){this.map=[]}add(e,n,r){wQe(this,e,n,r)}consume(e){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(e.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),e.length=this.map[n][0];r.push(e.slice()),e.length=0;let o=r.pop();for(;o;){for(const s of o)e.push(s);o=r.pop()}this.map.length=0}}function wQe(t,e,n,r){let o=0;if(!(n===0&&r.length===0)){for(;o<t.map.length;){if(t.map[o][0]===e){t.map[o][1]+=n,t.map[o][2].push(...r);return}o+=1}t.map.push([e,n,r])}}function bQe(t,e){let n=!1;const r=[];for(;e<t.length;){const o=t[e];if(n){if(o[0]==="enter")o[1].type==="tableContent"&&r.push(t[e+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(t[e-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(n=!0);e+=1}return r}function xQe(){return{flow:{null:{name:"table",tokenize:kQe,resolveAll:jQe}}}}function kQe(t,e,n){const r=this;let o=0,s=0,a;return i;function i(R){let z=r.events.length-1;for(;z>-1;){const W=r.events[z][1].type;if(W==="lineEnding"||W==="linePrefix")z--;else break}const G=z>-1?r.events[z][1].type:null,Z=G==="tableHead"||G==="tableRow"?P:l;return Z===P&&r.parser.lazy[r.now().line]?n(R):Z(R)}function l(R){return t.enter("tableHead"),t.enter("tableRow"),u(R)}function u(R){return R===124||(a=!0,s+=1),d(R)}function d(R){return R===null?n(R):bn(R)?s>1?(s=0,r.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(R),t.exit("lineEnding"),g):n(R):er(R)?dr(t,d,"whitespace")(R):(s+=1,a&&(a=!1,o+=1),R===124?(t.enter("tableCellDivider"),t.consume(R),t.exit("tableCellDivider"),a=!0,d):(t.enter("data"),f(R)))}function f(R){return R===null||R===124||$r(R)?(t.exit("data"),d(R)):(t.consume(R),R===92?m:f)}function m(R){return R===92||R===124?(t.consume(R),f):f(R)}function g(R){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(R):(t.enter("tableDelimiterRow"),a=!1,er(R)?dr(t,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):w(R))}function w(R){return R===45||R===58?j(R):R===124?(a=!0,t.enter("tableCellDivider"),t.consume(R),t.exit("tableCellDivider"),b):D(R)}function b(R){return er(R)?dr(t,j,"whitespace")(R):j(R)}function j(R){return R===58?(s+=1,a=!0,t.enter("tableDelimiterMarker"),t.consume(R),t.exit("tableDelimiterMarker"),S):R===45?(s+=1,S(R)):R===null||bn(R)?M(R):D(R)}function S(R){return R===45?(t.enter("tableDelimiterFiller"),I(R)):D(R)}function I(R){return R===45?(t.consume(R),I):R===58?(a=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(R),t.exit("tableDelimiterMarker"),N):(t.exit("tableDelimiterFiller"),N(R))}function N(R){return er(R)?dr(t,M,"whitespace")(R):M(R)}function M(R){return R===124?w(R):R===null||bn(R)?!a||o!==s?D(R):(t.exit("tableDelimiterRow"),t.exit("tableHead"),e(R)):D(R)}function D(R){return n(R)}function P(R){return t.enter("tableRow"),L(R)}function L(R){return R===124?(t.enter("tableCellDivider"),t.consume(R),t.exit("tableCellDivider"),L):R===null||bn(R)?(t.exit("tableRow"),e(R)):er(R)?dr(t,L,"whitespace")(R):(t.enter("data"),F(R))}function F(R){return R===null||R===124||$r(R)?(t.exit("data"),L(R)):(t.consume(R),R===92?T:F)}function T(R){return R===92||R===124?(t.consume(R),F):F(R)}}function jQe(t,e){let n=-1,r=!0,o=0,s=[0,0,0,0],a=[0,0,0,0],i=!1,l=0,u,d,f;const m=new vQe;for(;++n<t.length;){const g=t[n],w=g[1];g[0]==="enter"?w.type==="tableHead"?(i=!1,l!==0&&(eq(m,e,l,u,d),d=void 0,l=0),u={type:"table",start:Object.assign({},w.start),end:Object.assign({},w.end)},m.add(n,0,[["enter",u,e]])):w.type==="tableRow"||w.type==="tableDelimiterRow"?(r=!0,f=void 0,s=[0,0,0,0],a=[0,n+1,0,0],i&&(i=!1,d={type:"tableBody",start:Object.assign({},w.start),end:Object.assign({},w.end)},m.add(n,0,[["enter",d,e]])),o=w.type==="tableDelimiterRow"?2:d?3:1):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")?(r=!1,a[2]===0&&(s[1]!==0&&(a[0]=a[1],f=U6(m,e,s,o,void 0,f),s=[0,0,0,0]),a[2]=n)):w.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(a[0]=a[1],f=U6(m,e,s,o,void 0,f)),s=a,a=[s[1],n,0,0])):w.type==="tableHead"?(i=!0,l=n):w.type==="tableRow"||w.type==="tableDelimiterRow"?(l=n,s[1]!==0?(a[0]=a[1],f=U6(m,e,s,o,n,f)):a[1]!==0&&(f=U6(m,e,a,o,n,f)),o=0):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")&&(a[3]=n)}for(l!==0&&eq(m,e,l,u,d),m.consume(e.events),n=-1;++n<e.events.length;){const g=e.events[n];g[0]==="enter"&&g[1].type==="table"&&(g[1]._align=bQe(e.events,n))}return t}function U6(t,e,n,r,o,s){const a=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",i="tableContent";n[0]!==0&&(s.end=Object.assign({},l0(e.events,n[0])),t.add(n[0],0,[["exit",s,e]]));const l=l0(e.events,n[1]);if(s={type:a,start:Object.assign({},l),end:Object.assign({},l)},t.add(n[1],0,[["enter",s,e]]),n[2]!==0){const u=l0(e.events,n[2]),d=l0(e.events,n[3]),f={type:i,start:Object.assign({},u),end:Object.assign({},d)};if(t.add(n[2],0,[["enter",f,e]]),r!==2){const m=e.events[n[2]],g=e.events[n[3]];if(m[1].end=Object.assign({},g[1].end),m[1].type="chunkText",m[1].contentType="text",n[3]>n[2]+1){const w=n[2]+1,b=n[3]-n[2]-1;t.add(w,b,[])}}t.add(n[3]+1,0,[["exit",f,e]])}return o!==void 0&&(s.end=Object.assign({},l0(e.events,o)),t.add(o,0,[["exit",s,e]]),s=void 0),s}function eq(t,e,n,r,o){const s=[],a=l0(e.events,n);o&&(o.end=Object.assign({},a),s.push(["exit",o,e])),r.end=Object.assign({},a),s.push(["exit",r,e]),t.add(n+1,0,s)}function l0(t,e){const n=t[e],r=n[0]==="enter"?"start":"end";return n[1][r]}const CQe={name:"tasklistCheck",tokenize:EQe};function SQe(){return{text:{91:CQe}}}function EQe(t,e,n){const r=this;return o;function o(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),s)}function s(l){return $r(l)?(t.enter("taskListCheckValueUnchecked"),t.consume(l),t.exit("taskListCheckValueUnchecked"),a):l===88||l===120?(t.enter("taskListCheckValueChecked"),t.consume(l),t.exit("taskListCheckValueChecked"),a):n(l)}function a(l){return l===93?(t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),i):n(l)}function i(l){return bn(l)?e(l):er(l)?t.check({tokenize:NQe},e,n)(l):n(l)}}function NQe(t,e,n){return dr(t,r,"whitespace");function r(o){return o===null?n(o):e(o)}}function IQe(t){return tfe([XZe(),cQe(),yQe(t),xQe(),SQe()])}const AQe={};function Gfe(t){const e=this,n=t||AQe,r=e.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(IQe(n)),s.push(KZe()),a.push(ZZe(n))}function _Qe(t){jfe(t,[/\r?\n|\r/g,MQe])}function MQe(){return{type:"break"}}function RQe(){return function(t){_Qe(t)}}const TQe=h.memo(function({text:e}){return c.jsx(kfe,{remarkPlugins:[Gfe,RQe],components:{a:({href:n,children:r,...o})=>c.jsxs("a",{...o,href:n,target:"_blank",rel:"noreferrer noopener",className:"break-words inline-flex items-baseline gap-1 underline text-foreground",children:[r," ",c.jsx(of,{className:"size-3"})]}),p:({children:n,...r})=>c.jsx("span",{...r,className:"break-words",children:n}),code:({className:n,children:r,...o})=>(n==null?void 0:n.startsWith("language-"))?c.jsx("code",{...o,className:`${n??""} break-words whitespace-pre-wrap`,children:r}):c.jsx("code",{...o,className:"bg-muted px-1 py-0.5 rounded text-sm break-words",children:r}),pre:n=>c.jsx("pre",{...n,className:"bg-muted rounded-md p-3 overflow-x-auto my-2 text-sm whitespace-pre-wrap"}),img:n=>c.jsx("img",{...n,className:"max-w-full max-h-[50vh] object-contain rounded-md my-2",loading:"lazy"})},children:e})});function dd({event:t,content:e,className:n,mustLoadMedia:r,enableHighlight:o=!1,enableMarkdown:s}){const{enableMarkdown:a}=Qr(),i=s??a,l=h.useRef(null),[u,d]=h.useState(!1),[f,m]=h.useState(""),{nodes:g,allImages:w,lastNormalUrl:b,emojiInfos:j}=h.useMemo(()=>{const N=(t==null?void 0:t.content)??e;if(!N)return{};const M=qg(N,[$S,ux,tv,lBe,RL,US,fx]),D=t?wT(t):[],P=M.map(R=>{if(R.type==="image"){const z=D.find(Z=>Z.url===R.data);if(z)return z;const G=lh.getImetaTagByUrl(R.data);return G?Cee(G,t==null?void 0:t.pubkey):{url:R.data,pubkey:t==null?void 0:t.pubkey}}return R.type==="images"?(Array.isArray(R.data)?R.data:[R.data]).map(G=>D.find(W=>W.url===G)??{url:G,pubkey:t==null?void 0:t.pubkey}):null}).filter(Boolean).flat(),L=th(t==null?void 0:t.tags),F=M.findLast(R=>R.type==="url"),T=typeof(F==null?void 0:F.data)=="string"?F.data:void 0;return{nodes:M,allImages:P,emojiInfos:L,lastNormalUrl:T}},[t,e]);if(!g||g.length===0)return null;const S=N=>{m(N),d(!0)};let I=0;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{ref:l,className:Te("text-wrap break-words prose prose-zinc dark:prose-invert max-w-none prose-p:mt-0 prose-p:mb-2 prose-headings:my-2 prose-ul:my-1 prose-ol:my-1 prose-pre:my-2 prose-blockquote:my-2",n),children:[g.map((N,M)=>{if(N.type==="text"){if(!i)return c.jsx("span",{className:"whitespace-pre-wrap",children:N.data},M);const D=N.data.split(/\n\s*\n/);return c.jsx("span",{children:D.map((P,L)=>{var z,G;const F=((z=P.match(/^(\s+)/))==null?void 0:z[1])??"",T=((G=P.match(/(\s+)$/))==null?void 0:G[1])??"",R=P.slice(F.length,P.length-T.length);return c.jsxs("span",{children:[L>0&&c.jsx("span",{className:"block mb-2"}),F,R?c.jsx(TQe,{text:R}):null,T]},L)})},M)}if(N.type==="image"||N.type==="images"){const D=I,P=I+(Array.isArray(N.data)?N.data.length:1);return I=P,c.jsx(rWe,{className:"mt-2",images:w,start:D,end:P,mustLoad:r},M)}if(N.type==="media")return c.jsx(m7,{className:"mt-2",src:N.data,mustLoad:r},M);if(N.type==="url")return c.jsx(jd,{url:N.data},M);if(N.type==="invoice")return c.jsx(mle,{invoice:N.data,className:"mt-2"},M);if(N.type==="websocket-url")return c.jsx(PP,{url:N.data},M);if(N.type==="event"){const D=N.data.split(":")[1];return D?c.jsx(sge,{noteId:D,className:"mt-2"},M):c.jsx("span",{children:N.data},M)}if(N.type==="mention"){const D=N.data.split(":")[1];return D?c.jsx(HS,{userId:D},M):c.jsx("span",{children:N.data},M)}if(N.type==="hashtag")return c.jsx(VS,{hashtag:N.data},M);if(N.type==="emoji"){const D=N.data.split(":")[1],P=j.find(L=>L.shortcode===D);return P?c.jsx(Mi,{classNames:{img:"mb-1"},emoji:P},M):N.data}return N.type==="youtube"?c.jsx(Bue,{url:N.data,className:"mt-2",mustLoad:r},M):N.type==="x-post"?c.jsx(zue,{url:N.data,className:"mt-2",mustLoad:r},M):null}),b&&c.jsx(Pue,{className:"mt-2",url:b})]}),o&&c.jsx(oue,{onHighlight:S,containerRef:l}),o&&c.jsx(r1,{highlightedText:f,parentStuff:t,open:u,setOpen:d})]})}function T7({pubkey:t,userId:e}){const{t:n}=Ke(),{followingSet:r}=Gg();return h.useMemo(()=>{var s;return t?r.has(t):e?r.has(((s=Vt.tryFromString(e))==null?void 0:s.hex)??e):!1},[r,t,e])?c.jsx("div",{className:"rounded-full bg-muted px-2 py-0.5 flex items-center",title:n("Following"),children:c.jsx(Q7e,{className:"!size-3"})}):null}function mh({timestamp:t,short:e=!1,className:n}){return c.jsx("span",{className:n,children:c.jsx(DQe,{timestamp:t,short:e})})}function DQe({timestamp:t,short:e=!1}){const{t:n}=Ke(),r=En(t*1e3),o=En();if(o.diff(r,"month")>=2)return n("date",{timestamp:r.valueOf()});const a=o.diff(r,"day");if(a>=1)return e?n("n d",{n:a}):n("day ago",{count:a});const i=o.diff(r,"hour");if(i>=1)return e?n("n h",{n:i}):n("hour ago",{count:i});const l=o.diff(r,"minute");return l>=1?e?n("n m",{n:l}):n("minute ago",{count:l}):n("just now")}function LQe({menuActions:t,trigger:e}){return c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:e}),c.jsx(ci,{className:"max-h-[50vh] overflow-y-auto",children:t.map((n,r)=>{const o=n.icon;return c.jsxs("div",{children:[n.separator&&r>0&&c.jsx(hh,{}),n.subMenu?c.jsxs(mVe,{children:[c.jsxs(tue,{className:n.className,children:[c.jsx(o,{}),n.label]}),c.jsx(nue,{className:"max-h-[50vh] overflow-y-auto",showScrollButtons:!0,children:n.subMenu.map((s,a)=>c.jsxs("div",{children:[s.separator&&a>0&&c.jsx(hh,{}),c.jsx(Er,{onClick:s.onClick,className:Te("w-64",s.className),children:s.label})]},a))})]}):c.jsxs(Er,{onClick:n.onClick,className:n.className,children:[c.jsx(o,{}),n.label]})]},r)})})]})}function PQe({menuActions:t,trigger:e,isDrawerOpen:n,setIsDrawerOpen:r,showSubMenu:o,activeSubMenu:s,subMenuTitle:a,closeDrawer:i,goBackToMainMenu:l}){return c.jsxs(c.Fragment,{children:[e,c.jsxs(io,{open:n,onOpenChange:r,children:[c.jsx(cc,{onClick:i}),c.jsx(lo,{hideOverlay:!0,className:"max-h-[80vh]",children:c.jsx("div",{className:"overflow-y-auto overscroll-contain py-2",style:{touchAction:"pan-y"},children:o?c.jsxs(c.Fragment,{children:[c.jsxs(Pe,{onClick:l,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 mb-2",variant:"ghost",children:[c.jsx(Zm,{}),a]}),c.jsx("div",{className:"border-t border-border mb-2"}),s.map((u,d)=>c.jsx(Pe,{onClick:u.onClick,className:`w-full p-6 justify-start text-lg gap-4 ${u.className||""}`,variant:"ghost",children:u.label},d))]}):t.map((u,d)=>{const f=u.icon;return c.jsxs(Pe,{onClick:u.onClick,className:`w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 ${u.className||""}`,variant:"ghost",children:[c.jsx(f,{}),u.label]},d)})})})]})]})}function OQe(t,e){typeof t=="function"?t(e):t!=null&&(t.current=e)}function qfe(...t){return e=>t.forEach(n=>OQe(n,e))}function e1(...t){return h.useCallback(qfe(...t),t)}var Kfe=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(FQe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(CM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(CM,{...r,ref:e,children:n})});Kfe.displayName="Slot";var CM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=UQe(n);return h.cloneElement(n,{...BQe(r,n.props),ref:e?qfe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});CM.displayName="SlotClone";var zQe=({children:t})=>c.jsx(c.Fragment,{children:t});function FQe(t){return h.isValidElement(t)&&t.type===zQe}function BQe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function UQe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var $Qe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],bx=$Qe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Kfe:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function VQe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var xx=t=>{const{present:e,children:n}=t,r=HQe(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=e1(r.ref,WQe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};xx.displayName="Presence";function HQe(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=VQe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=$6(r.current);s.current=i==="mounted"?u:"none"},[i]),pr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=$6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),pr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=$6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=$6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function $6(t){return(t==null?void 0:t.animationName)||"none"}function WQe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function YQe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,GQe(o,...e)]}function GQe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var qQe=h.createContext(void 0);function KQe(t){const e=h.useContext(qQe);return t||e||"ltr"}function SM(t,[e,n]){return Math.min(n,Math.max(e,t))}function Qm(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function ZQe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var D7="ScrollArea",[Zfe]=YQe(D7),[QQe,dc]=Zfe(D7),Qfe=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=t,[i,l]=h.useState(null),[u,d]=h.useState(null),[f,m]=h.useState(null),[g,w]=h.useState(null),[b,j]=h.useState(null),[S,I]=h.useState(0),[N,M]=h.useState(0),[D,P]=h.useState(!1),[L,F]=h.useState(!1),T=e1(e,z=>l(z)),R=KQe(o);return c.jsx(QQe,{scope:n,type:r,dir:R,scrollHideDelay:s,scrollArea:i,viewport:u,onViewportChange:d,content:f,onContentChange:m,scrollbarX:g,onScrollbarXChange:w,scrollbarXEnabled:D,onScrollbarXEnabledChange:P,scrollbarY:b,onScrollbarYChange:j,scrollbarYEnabled:L,onScrollbarYEnabledChange:F,onCornerWidthChange:I,onCornerHeightChange:M,children:c.jsx(bx.div,{dir:R,...a,ref:T,style:{position:"relative","--radix-scroll-area-corner-width":S+"px","--radix-scroll-area-corner-height":N+"px",...t.style}})})});Qfe.displayName=D7;var Jfe="ScrollAreaViewport",Xfe=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,children:r,asChild:o,nonce:s,...a}=t,i=dc(Jfe,n),l=h.useRef(null),u=e1(e,l,i.onViewportChange);return c.jsxs(c.Fragment,{children:[c.jsx("style",{dangerouslySetInnerHTML:{__html:`
2079 [data-radix-scroll-area-viewport] {
2080 scrollbar-width: none;
2081 -ms-overflow-style: none;
2082 -webkit-overflow-scrolling: touch;
2083 }
2084 [data-radix-scroll-area-viewport]::-webkit-scrollbar {
2085 display: none;
2086 }
2087 :where([data-radix-scroll-area-viewport]) {
2088 display: flex;
2089 flex-direction: column;
2090 align-items: stretch;
2091 }
2092 :where([data-radix-scroll-area-content]) {
2093 flex-grow: 1;
2094 }
2095 `},nonce:s}),c.jsx(bx.div,{"data-radix-scroll-area-viewport":"",...a,asChild:o,ref:u,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...t.style},children:iJe({asChild:o,children:r},d=>c.jsx("div",{"data-radix-scroll-area-content":"",ref:i.onContentChange,style:{minWidth:i.scrollbarXEnabled?"fit-content":void 0},children:d}))})]})});Xfe.displayName=Jfe;var jf="ScrollAreaScrollbar",L7=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=dc(jf,t.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,i=t.orientation==="horizontal";return h.useEffect(()=>(i?s(!0):a(!0),()=>{i?s(!1):a(!1)}),[i,s,a]),o.type==="hover"?c.jsx(JQe,{...r,ref:e,forceMount:n}):o.type==="scroll"?c.jsx(XQe,{...r,ref:e,forceMount:n}):o.type==="auto"?c.jsx(ede,{...r,ref:e,forceMount:n}):o.type==="always"?c.jsx(P7,{...r,ref:e}):null});L7.displayName=jf;var JQe=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=dc(jf,t.__scopeScrollArea),[s,a]=h.useState(!1);return h.useEffect(()=>{const i=o.scrollArea;let l=0;if(i){const u=()=>{window.clearTimeout(l),a(!0)},d=()=>{l=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(l),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),c.jsx(xx,{present:n||s,children:c.jsx(ede,{"data-state":s?"visible":"hidden",...r,ref:e})})}),XQe=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=dc(jf,t.__scopeScrollArea),s=t.orientation==="horizontal",a=cE(()=>l("SCROLL_END"),100),[i,l]=ZQe("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return h.useEffect(()=>{if(i==="idle"){const u=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,o.scrollHideDelay,l]),h.useEffect(()=>{const u=o.viewport,d=s?"scrollLeft":"scrollTop";if(u){let f=u[d];const m=()=>{const g=u[d];f!==g&&(l("SCROLL"),a()),f=g};return u.addEventListener("scroll",m),()=>u.removeEventListener("scroll",m)}},[o.viewport,s,l,a]),c.jsx(xx,{present:n||i!=="hidden",children:c.jsx(P7,{"data-state":i==="hidden"?"hidden":"visible",...r,ref:e,onPointerEnter:Qm(t.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:Qm(t.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),ede=h.forwardRef((t,e)=>{const n=dc(jf,t.__scopeScrollArea),{forceMount:r,...o}=t,[s,a]=h.useState(!1),i=t.orientation==="horizontal",l=cE(()=>{if(n.viewport){const u=n.viewport.offsetWidth<n.viewport.scrollWidth,d=n.viewport.offsetHeight<n.viewport.scrollHeight;a(i?u:d)}},10);return xy(n.viewport,l),xy(n.content,l),c.jsx(xx,{present:r||s,children:c.jsx(P7,{"data-state":s?"visible":"hidden",...o,ref:e})})}),P7=h.forwardRef((t,e)=>{const{orientation:n="vertical",...r}=t,o=dc(jf,t.__scopeScrollArea),s=h.useRef(null),a=h.useRef(0),[i,l]=h.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=sde(i.viewport,i.content),d={...r,sizes:i,onSizesChange:l,hasThumb:u>0&&u<1,onThumbChange:m=>s.current=m,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:m=>a.current=m};function f(m,g){return sJe(m,a.current,i,g)}return n==="horizontal"?c.jsx(eJe,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){const m=o.viewport.scrollLeft,g=tq(m,i,o.dir);s.current.style.transform=`translate3d(${g}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=f(m,o.dir))}}):n==="vertical"?c.jsx(tJe,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){const m=o.viewport.scrollTop,g=tq(m,i);s.current.style.transform=`translate3d(0, ${g}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=f(m))}}):null}),eJe=h.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...o}=t,s=dc(jf,t.__scopeScrollArea),[a,i]=h.useState(),l=h.useRef(null),u=e1(e,l,s.onScrollbarXChange);return h.useEffect(()=>{l.current&&i(getComputedStyle(l.current))},[l]),c.jsx(nde,{"data-orientation":"horizontal",...o,ref:u,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":lE(n)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.x),onDragScroll:d=>t.onDragScroll(d.x),onWheelScroll:(d,f)=>{if(s.viewport){const m=s.viewport.scrollLeft+d.deltaX;t.onWheelScroll(m),ide(m,f)&&d.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:bj(a.paddingLeft),paddingEnd:bj(a.paddingRight)}})}})}),tJe=h.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...o}=t,s=dc(jf,t.__scopeScrollArea),[a,i]=h.useState(),l=h.useRef(null),u=e1(e,l,s.onScrollbarYChange);return h.useEffect(()=>{l.current&&i(getComputedStyle(l.current))},[l]),c.jsx(nde,{"data-orientation":"vertical",...o,ref:u,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":lE(n)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.y),onDragScroll:d=>t.onDragScroll(d.y),onWheelScroll:(d,f)=>{if(s.viewport){const m=s.viewport.scrollTop+d.deltaY;t.onWheelScroll(m),ide(m,f)&&d.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:bj(a.paddingTop),paddingEnd:bj(a.paddingBottom)}})}})}),[nJe,tde]=Zfe(jf),nde=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:i,onThumbPositionChange:l,onDragScroll:u,onWheelScroll:d,onResize:f,...m}=t,g=dc(jf,n),[w,b]=h.useState(null),j=e1(e,T=>b(T)),S=h.useRef(null),I=h.useRef(""),N=g.viewport,M=r.content-r.viewport,D=or(d),P=or(l),L=cE(f,10);function F(T){if(S.current){const R=T.clientX-S.current.left,z=T.clientY-S.current.top;u({x:R,y:z})}}return h.useEffect(()=>{const T=R=>{const z=R.target;(w==null?void 0:w.contains(z))&&D(R,M)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[N,w,M,D]),h.useEffect(P,[r,P]),xy(w,L),xy(g.content,L),c.jsx(nJe,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:or(s),onThumbPointerUp:or(a),onThumbPositionChange:P,onThumbPointerDown:or(i),children:c.jsx(bx.div,{...m,ref:j,style:{position:"absolute",...m.style},onPointerDown:Qm(t.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),S.current=w.getBoundingClientRect(),I.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",g.viewport&&(g.viewport.style.scrollBehavior="auto"),F(T))}),onPointerMove:Qm(t.onPointerMove,F),onPointerUp:Qm(t.onPointerUp,T=>{const R=T.target;R.hasPointerCapture(T.pointerId)&&R.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=I.current,g.viewport&&(g.viewport.style.scrollBehavior=""),S.current=null})})})}),wj="ScrollAreaThumb",rde=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=tde(wj,t.__scopeScrollArea);return c.jsx(xx,{present:n||o.hasThumb,children:c.jsx(rJe,{ref:e,...r})})}),rJe=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,style:r,...o}=t,s=dc(wj,n),a=tde(wj,n),{onThumbPositionChange:i}=a,l=e1(e,f=>a.onThumbChange(f)),u=h.useRef(),d=cE(()=>{u.current&&(u.current(),u.current=void 0)},100);return h.useEffect(()=>{const f=s.viewport;if(f){const m=()=>{if(d(),!u.current){const g=aJe(f,i);u.current=g,i()}};return i(),f.addEventListener("scroll",m),()=>f.removeEventListener("scroll",m)}},[s.viewport,d,i]),c.jsx(bx.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Qm(t.onPointerDownCapture,f=>{const g=f.target.getBoundingClientRect(),w=f.clientX-g.left,b=f.clientY-g.top;a.onThumbPointerDown({x:w,y:b})}),onPointerUp:Qm(t.onPointerUp,a.onThumbPointerUp)})});rde.displayName=wj;var O7="ScrollAreaCorner",ode=h.forwardRef((t,e)=>{const n=dc(O7,t.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?c.jsx(oJe,{...t,ref:e}):null});ode.displayName=O7;var oJe=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,...r}=t,o=dc(O7,n),[s,a]=h.useState(0),[i,l]=h.useState(0),u=!!(s&&i);return xy(o.scrollbarX,()=>{var f;const d=((f=o.scrollbarX)==null?void 0:f.offsetHeight)||0;o.onCornerHeightChange(d),l(d)}),xy(o.scrollbarY,()=>{var f;const d=((f=o.scrollbarY)==null?void 0:f.offsetWidth)||0;o.onCornerWidthChange(d),a(d)}),u?c.jsx(bx.div,{...r,ref:e,style:{width:s,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function bj(t){return t?parseInt(t,10):0}function sde(t,e){const n=t/e;return isNaN(n)?0:n}function lE(t){const e=sde(t.viewport,t.content),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,r=(t.scrollbar.size-n)*e;return Math.max(r,18)}function sJe(t,e,n,r="ltr"){const o=lE(n),s=o/2,a=e||s,i=o-a,l=n.scrollbar.paddingStart+a,u=n.scrollbar.size-n.scrollbar.paddingEnd-i,d=n.content-n.viewport,f=r==="ltr"?[0,d]:[d*-1,0];return ade([l,u],f)(t)}function tq(t,e,n="ltr"){const r=lE(e),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=e.scrollbar.size-o,a=e.content-e.viewport,i=s-r,l=n==="ltr"?[0,a]:[a*-1,0],u=SM(t,l);return ade([0,a],[0,i])(u)}function ade(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(t[1]-t[0]);return e[0]+r*(n-t[0])}}function ide(t,e){return t>0&&t<e}var aJe=(t,e=()=>{})=>{let n={left:t.scrollLeft,top:t.scrollTop},r=0;return(function o(){const s={left:t.scrollLeft,top:t.scrollTop},a=n.left!==s.left,i=n.top!==s.top;(a||i)&&e(),n=s,r=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(r)};function cE(t,e){const n=or(t),r=h.useRef(0);return h.useEffect(()=>()=>window.clearTimeout(r.current),[]),h.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,e)},[n,e])}function xy(t,e){const n=or(e);pr(()=>{let r=0;if(t){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(t),()=>{window.cancelAnimationFrame(r),o.unobserve(t)}}},[t,n])}function iJe(t,e){const{asChild:n,children:r}=t;if(!n)return typeof e=="function"?e(r):e;const o=h.Children.only(r);return h.cloneElement(o,{children:typeof e=="function"?e(o.props.children):e})}var lde=Qfe,lJe=Xfe,cJe=ode;const Fa=h.forwardRef(({className:t,scrollBarClassName:e,children:n,...r},o)=>c.jsxs(lde,{className:Te("relative overflow-hidden",t),...r,children:[c.jsx(lJe,{ref:o,className:"h-full w-full rounded-[inherit] *:!block",children:n}),c.jsx(Ed,{className:e}),c.jsx(cJe,{})]}));Fa.displayName=lde.displayName;const Ed=h.forwardRef(({className:t,orientation:e="vertical",...n},r)=>c.jsx(L7,{ref:r,orientation:e,className:Te("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...n,children:c.jsx(rde,{className:"relative flex-1 rounded-full bg-border"})}));Ed.displayName=L7.displayName;function uJe({event:t,isOpen:e,onClose:n}){return c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(gs,{className:"h-[60vh]",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:"Raw Event"}),c.jsx(rl,{className:"hidden"})]}),c.jsxs(Fa,{className:"h-full",children:[c.jsx("pre",{className:"text-sm text-muted-foreground select-text",children:JSON.stringify(t,null,2)}),c.jsx(Ed,{orientation:"horizontal"})]})]})})}function nq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function fJe(...t){return e=>{let n=!1;const r=t.map(o=>{const s=nq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():nq(t[o],null)}}}}var cde=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(pJe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(EM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(EM,{...r,ref:e,children:n})});cde.displayName="Slot";var EM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=mJe(n);return h.cloneElement(n,{...hJe(r,n.props),ref:e?fJe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});EM.displayName="SlotClone";var dJe=({children:t})=>c.jsx(c.Fragment,{children:t});function pJe(t){return h.isValidElement(t)&&t.type===dJe}function hJe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function mJe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var gJe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],yJe=gJe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?cde:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),vJe="Label",ude=h.forwardRef((t,e)=>c.jsx(yJe.label,{...t,ref:e,onMouseDown:n=>{var o;n.target.closest("button, input, select, textarea")||((o=t.onMouseDown)==null||o.call(t,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));ude.displayName=vJe;var fde=ude;const wJe=IS("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),_t=h.forwardRef(({className:t,...e},n)=>c.jsx(fde,{ref:n,className:Te(wJe(),t),...e}));_t.displayName=fde.displayName;function fl(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}var bJe=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},xJe=yh[" useId ".trim().toString()]||(()=>{}),kJe=0;function z7(t){const[e,n]=h.useState(xJe());return bJe(()=>{n(r=>r??String(kJe++))},[t]),e?`radix-${e}`:""}function jJe(t){const e=h.useRef(t);return h.useEffect(()=>{e.current=t}),h.useMemo(()=>(...n)=>{var r;return(r=e.current)==null?void 0:r.call(e,...n)},[])}var OA="rovingFocusGroup.onEntryFocus",CJe={bubbles:!1,cancelable:!0},kx="RovingFocusGroup",[NM,dde,SJe]=zL(kx),[EJe,pde]=Nh(kx,[SJe]),[NJe,IJe]=EJe(kx),hde=h.forwardRef((t,e)=>c.jsx(NM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(NM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(AJe,{...t,ref:e})})}));hde.displayName=kx;var AJe=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=t,m=h.useRef(null),g=la(e,m),w=WS(s),[b,j]=Kg({prop:a,defaultProp:i??null,onChange:l,caller:kx}),[S,I]=h.useState(!1),N=jJe(u),M=dde(n),D=h.useRef(!1),[P,L]=h.useState(0);return h.useEffect(()=>{const F=m.current;if(F)return F.addEventListener(OA,N),()=>F.removeEventListener(OA,N)},[N]),c.jsx(NJe,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:b,onItemFocus:h.useCallback(F=>j(F),[j]),onItemShiftTab:h.useCallback(()=>I(!0),[]),onFocusableItemAdd:h.useCallback(()=>L(F=>F+1),[]),onFocusableItemRemove:h.useCallback(()=>L(F=>F-1),[]),children:c.jsx(vs.div,{tabIndex:S||P===0?-1:0,"data-orientation":r,...f,ref:g,style:{outline:"none",...t.style},onMouseDown:fl(t.onMouseDown,()=>{D.current=!0}),onFocus:fl(t.onFocus,F=>{const T=!D.current;if(F.target===F.currentTarget&&T&&!S){const R=new CustomEvent(OA,CJe);if(F.currentTarget.dispatchEvent(R),!R.defaultPrevented){const z=M().filter(ee=>ee.focusable),G=z.find(ee=>ee.active),Z=z.find(ee=>ee.id===b),U=[G,Z,...z].filter(Boolean).map(ee=>ee.ref.current);yde(U,d)}}D.current=!1}),onBlur:fl(t.onBlur,()=>I(!1))})})}),mde="RovingFocusGroupItem",gde=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,children:a,...i}=t,l=z7(),u=s||l,d=IJe(mde,n),f=d.currentTabStopId===u,m=dde(n),{onFocusableItemAdd:g,onFocusableItemRemove:w,currentTabStopId:b}=d;return h.useEffect(()=>{if(r)return g(),()=>w()},[r,g,w]),c.jsx(NM.ItemSlot,{scope:n,id:u,focusable:r,active:o,children:c.jsx(vs.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...i,ref:e,onMouseDown:fl(t.onMouseDown,j=>{r?d.onItemFocus(u):j.preventDefault()}),onFocus:fl(t.onFocus,()=>d.onItemFocus(u)),onKeyDown:fl(t.onKeyDown,j=>{if(j.key==="Tab"&&j.shiftKey){d.onItemShiftTab();return}if(j.target!==j.currentTarget)return;const S=RJe(j,d.orientation,d.dir);if(S!==void 0){if(j.metaKey||j.ctrlKey||j.altKey||j.shiftKey)return;j.preventDefault();let N=m().filter(M=>M.focusable).map(M=>M.ref.current);if(S==="last")N.reverse();else if(S==="prev"||S==="next"){S==="prev"&&N.reverse();const M=N.indexOf(j.currentTarget);N=d.loop?TJe(N,M+1):N.slice(M+1)}setTimeout(()=>yde(N))}}),children:typeof a=="function"?a({isCurrentTabStop:f,hasTabStop:b!=null}):a})})});gde.displayName=mde;var _Je={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function MJe(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function RJe(t,e,n){const r=MJe(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return _Je[r]}function yde(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}function TJe(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var DJe=hde,LJe=gde,rq=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{};function PJe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var uE=t=>{const{present:e,children:n}=t,r=OJe(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=la(r.ref,zJe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};uE.displayName="Presence";function OJe(t){const[e,n]=h.useState(),r=h.useRef(null),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=PJe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=V6(r.current);s.current=i==="mounted"?u:"none"},[i]),rq(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=V6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),rq(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=V6(r.current).includes(CSS.escape(g.animationName));if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=V6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function V6(t){return(t==null?void 0:t.animationName)||"none"}function zJe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var F7="Radio",[FJe,vde]=Nh(F7),[BJe,UJe]=FJe(F7),wde=h.forwardRef((t,e)=>{const{__scopeRadio:n,name:r,checked:o=!1,required:s,disabled:a,value:i="on",onCheck:l,form:u,...d}=t,[f,m]=h.useState(null),g=la(e,j=>m(j)),w=h.useRef(!1),b=f?u||!!f.closest("form"):!0;return c.jsxs(BJe,{scope:n,checked:o,disabled:a,children:[c.jsx(vs.button,{type:"button",role:"radio","aria-checked":o,"data-state":jde(o),"data-disabled":a?"":void 0,disabled:a,value:i,...d,ref:g,onClick:fl(t.onClick,j=>{o||l==null||l(),b&&(w.current=j.isPropagationStopped(),w.current||j.stopPropagation())})}),b&&c.jsx(kde,{control:f,bubbles:!w.current,name:r,value:i,checked:o,required:s,disabled:a,form:u,style:{transform:"translateX(-100%)"}})]})});wde.displayName=F7;var bde="RadioIndicator",xde=h.forwardRef((t,e)=>{const{__scopeRadio:n,forceMount:r,...o}=t,s=UJe(bde,n);return c.jsx(uE,{present:r||s.checked,children:c.jsx(vs.span,{"data-state":jde(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:e})})});xde.displayName=bde;var $Je="RadioBubbleInput",kde=h.forwardRef(({__scopeRadio:t,control:e,checked:n,bubbles:r=!0,...o},s)=>{const a=h.useRef(null),i=la(a,s),l=PL(n),u=OL(e);return h.useEffect(()=>{const d=a.current;if(!d)return;const f=window.HTMLInputElement.prototype,g=Object.getOwnPropertyDescriptor(f,"checked").set;if(l!==n&&g){const w=new Event("click",{bubbles:r});g.call(d,n),d.dispatchEvent(w)}},[l,n,r]),c.jsx(vs.input,{type:"radio","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:i,style:{...o.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});kde.displayName=$Je;function jde(t){return t?"checked":"unchecked"}var VJe=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],fE="RadioGroup",[HJe]=Nh(fE,[pde,vde]),Cde=pde(),Sde=vde(),[WJe,YJe]=HJe(fE),Ede=h.forwardRef((t,e)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:s,required:a=!1,disabled:i=!1,orientation:l,dir:u,loop:d=!0,onValueChange:f,...m}=t,g=Cde(n),w=WS(u),[b,j]=Kg({prop:s,defaultProp:o??null,onChange:f,caller:fE});return c.jsx(WJe,{scope:n,name:r,required:a,disabled:i,value:b,onValueChange:j,children:c.jsx(DJe,{asChild:!0,...g,orientation:l,dir:w,loop:d,children:c.jsx(vs.div,{role:"radiogroup","aria-required":a,"aria-orientation":l,"data-disabled":i?"":void 0,dir:w,...m,ref:e})})})});Ede.displayName=fE;var Nde="RadioGroupItem",Ide=h.forwardRef((t,e)=>{const{__scopeRadioGroup:n,disabled:r,...o}=t,s=YJe(Nde,n),a=s.disabled||r,i=Cde(n),l=Sde(n),u=h.useRef(null),d=la(e,u),f=s.value===o.value,m=h.useRef(!1);return h.useEffect(()=>{const g=b=>{VJe.includes(b.key)&&(m.current=!0)},w=()=>m.current=!1;return document.addEventListener("keydown",g),document.addEventListener("keyup",w),()=>{document.removeEventListener("keydown",g),document.removeEventListener("keyup",w)}},[]),c.jsx(LJe,{asChild:!0,...i,focusable:!a,active:f,children:c.jsx(wde,{disabled:a,required:s.required,checked:f,...l,...o,name:s.name,ref:d,onCheck:()=>s.onValueChange(o.value),onKeyDown:fl(g=>{g.key==="Enter"&&g.preventDefault()}),onFocus:fl(o.onFocus,()=>{var g;m.current&&((g=u.current)==null||g.click())})})})});Ide.displayName=Nde;var GJe="RadioGroupIndicator",Ade=h.forwardRef((t,e)=>{const{__scopeRadioGroup:n,...r}=t,o=Sde(n);return c.jsx(xde,{...o,...r,ref:e})});Ade.displayName=GJe;var _de=Ede,Mde=Ide,qJe=Ade;const B7=h.forwardRef(({className:t,...e},n)=>c.jsx(_de,{className:Te("grid gap-2",t),...e,ref:n}));B7.displayName=_de.displayName;const nb=h.forwardRef(({className:t,...e},n)=>c.jsx(Mde,{ref:n,className:Te("aspect-square h-4 w-4 rounded-full border focus:outline-none focus-visible:ring-1 focus-visible:ring-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...e,children:c.jsx(qJe,{className:"flex items-center justify-center",children:c.jsx(Yse,{className:"h-2.5 w-2.5 fill-foreground"})})}));nb.displayName=Mde.displayName;function KJe({event:t,isOpen:e,closeDialog:n}){const{isSmallScreen:r}=gn();return r?c.jsx(io,{open:e,onOpenChange:o=>{o||n()},children:c.jsxs(lo,{children:[c.jsxs(wf,{children:[c.jsx(bd,{className:"hidden"}),c.jsx(Wg,{className:"hidden"})]}),c.jsx("div",{className:"p-4",children:c.jsx(oq,{event:t,closeDialog:n})})]})}):c.jsx(Ls,{open:e,onOpenChange:o=>{o||n()},children:c.jsxs(gs,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{className:"hidden"}),c.jsx(rl,{className:"hidden"})]}),c.jsx(oq,{event:t,closeDialog:n})]})})}function oq({event:t,closeDialog:e}){const{t:n}=Ke(),{pubkey:r,publish:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(!1),u=async()=>{if(!(!s||!r))try{l(!0);const d=AAe(t,s);await o(d),on.success(n("Successfully report")),e()}catch(d){(d instanceof AggregateError?d.errors:[d]).forEach(m=>{on.error(`${n("Failed to report")}: ${m instanceof Error?m.message:String(m)}`,{duration:1e4}),console.error(m)});return}finally{l(!1)}};return c.jsxs("div",{className:"w-full space-y-4",children:[c.jsx(B7,{value:s,onValueChange:a,className:"space-y-2",children:["nudity","malware","profanity","illegal","spam","other"].map(d=>c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(nb,{value:d,id:d}),c.jsx(_t,{htmlFor:d,className:"text-base",children:n(d)})]},d))}),c.jsxs(Pe,{variant:"destructive",className:"w-full",disabled:!s||i,onClick:d=>{d.stopPropagation(),u()},children:[i&&c.jsx(_r,{className:"animate-spin"}),n("Report")]})]})}const Rde=h.createContext(void 0),U7=()=>{const t=h.useContext(Rde);if(!t)throw new Error("useCurrentRelays must be used within a CurrentRelaysProvider");return t};function zA({children:t}){const[e,n]=h.useState({}),r=h.useMemo(()=>Object.keys(e),[e]);h.useEffect(()=>{Oe.currentRelays=r},[r]);const o=h.useCallback(a=>{n(i=>{const l={...i};return a.forEach(u=>{l[u]=(l[u]||0)+1}),l})},[]),s=h.useCallback(a=>{n(i=>{const l={...i};return a.forEach(u=>{l[u]&&(l[u]-=1,l[u]<=0&&delete l[u])}),l})},[]);return c.jsx(Rde.Provider,{value:{relayUrls:r,addRelayUrls:o,removeRelayUrls:s},children:t})}const Tde=h.createContext(void 0),Dde=()=>{const t=h.useContext(Tde);if(!t)throw new Error("usePinList must be used within a PinListProvider");return t};function ZJe({children:t}){const{t:e}=Ke(),{pubkey:n,pinListEvent:r,publish:o,updatePinListEvent:s}=wt(),a=h.useMemo(()=>{const u=RI(r);return(u==null?void 0:u.getEventIdSet())??new Set},[r]),i=async u=>{if(!n)return;const d=async()=>{const m=await Oe.fetchPinListEvent(n),g=Vt.fromHex(n),w=RI(m)??L0.empty(g),b=w.pin(u);if(b.type==="no_change")return;const j=w.toDraftEvent(),S=await o(j);if(await s(S),b.type==="pinned")await Wt.dispatch(new kB(g,b.entry.eventId));else if(b.type==="limit_exceeded"){const I=b.removed.map(M=>M.eventId.hex);await Wt.dispatch(new fke(g,I));const N=w.getEntries()[w.count-1];N&&await Wt.dispatch(new kB(g,N.eventId))}await Wt.dispatch(new jB(g,w.count))},{unwrap:f}=on.promise(d,{loading:e("Pinning..."),success:e("Pinned!"),error:m=>m instanceof yee?e("Can only pin your own notes"):m instanceof vee?e("Can only pin short text notes"):e("Failed to pin: {{error}}",{error:m.message})});await f()},l=async u=>{if(!n)return;const d=async()=>{const m=await Oe.fetchPinListEvent(n);if(!m)return;const g=RI(m);if(!g)return;const w=g.owner,b=g.unpinEvent(u);if(b.type==="no_change")return;const j=g.toDraftEvent(),S=await o(j);await s(S),b.type==="unpinned"&&(await Wt.dispatch(new uke(w,b.eventId)),await Wt.dispatch(new jB(w,g.count)))},{unwrap:f}=on.promise(d,{loading:e("Unpinning..."),success:e("Unpinned!"),error:m=>e("Failed to unpin: {{error}}",{error:m.message})});await f()};return c.jsx(Tde.Provider,{value:{pinnedEventHexIdSet:a,pin:i,unpin:l},children:t})}function iu({url:t,className:e,classNames:n}){const{relayInfo:r}=PS(t),o=h.useMemo(()=>{if(r!=null&&r.icon)return r.icon;if(!t)return;const a=new URL(t);return`${a.protocol==="wss:"?"https:":"http:"}//${a.host}/favicon.ico`},[t,r]),s=c.jsx(ei,{className:Te("size-5 bg-transparent",n==null?void 0:n.fallback)});return o?c.jsx(Uo,{image:{url:o,dim:{width:20,height:20}},className:Te("size-6 rounded-full",e),classNames:{skeleton:Te("size-6 rounded-full",e),errorPlaceholder:"bg-transparent rounded-none shrink-0"},errorPlaceholder:s}):s}function QJe({event:t,closeDrawer:e,showSubMenuActions:n,setIsRawEventDialogOpen:r,setIsReportDialogOpen:o,isSmallScreen:s}){const{t:a}=Ke(),{pubkey:i,attemptDelete:l}=wt(),{relayUrls:u}=U7(),{relaySets:d,favoriteRelays:f}=Pa(),m=h.useMemo(()=>Array.from(new Set(u.concat(f))),[u,f]),{mutePubkeyPublicly:g,mutePubkeyPrivately:w,unmutePubkey:b,mutePubkeySet:j}=ns(),{pinnedEventHexIdSet:S,pin:I,unpin:N}=Dde(),M=h.useMemo(()=>j.has(t.pubkey),[j,t]),D=h.useMemo(()=>{const L=[];return i&&t.pubkey===i&&L.push({label:c.jsxs("div",{className:"text-left",children:[" ",a("Optimal relays")]}),onClick:async()=>{e();const F=async()=>{const T=await Oe.determineTargetRelays(t);T!=null&&T.length&&await Oe.publishEvent(T,t)};on.promise(F,{loading:a("Republishing..."),success:()=>a("Successfully republish to optimal relays (your write relays and mentioned users' read relays)"),error:T=>a("Failed to republish to optimal relays: {{error}}",{error:T.message})})}}),d.length&&L.push(...d.filter(F=>F.relayUrls.length).map((F,T)=>({label:c.jsx("div",{className:"text-left truncate",children:F.name}),onClick:async()=>{e();const R=Oe.publishEvent(F.relayUrls,t);on.promise(R,{loading:a("Republishing..."),success:()=>a("Successfully republish to relay set: {{name}}",{name:F.name}),error:z=>a("Failed to republish to relay set: {{name}}. Error: {{error}}",{name:F.name,error:z.message})})},separator:T===0}))),m.length&&L.push(...m.map((F,T)=>({label:c.jsxs("div",{className:"flex items-center gap-2 w-full",children:[c.jsx(iu,{url:F}),c.jsx("div",{className:"flex-1 truncate text-left",children:Aa(F)})]}),onClick:async()=>{e();const R=Oe.publishEvent([F],t);on.promise(R,{loading:a("Republishing..."),success:()=>a("Successfully republish to relay: {{url}}",{url:Aa(F)}),error:z=>a("Failed to republish to relay: {{url}}. Error: {{error}}",{url:Aa(F),error:z.message})})},separator:T===0}))),L},[i,m,d]);return h.useMemo(()=>{const L=[{icon:La,label:a("Copy event ID"),onClick:()=>{navigator.clipboard.writeText(fg(t)),e()}},{icon:La,label:a("Copy user ID"),onClick:()=>{var T;navigator.clipboard.writeText(((T=Vt.tryFromString(t.pubkey))==null?void 0:T.npub)??""),e()}},{icon:n2,label:a("Copy share link"),onClick:()=>{navigator.clipboard.writeText(gFe(fg(t))),e()}},{icon:Gse,label:a("View raw event"),onClick:()=>{e(),r(!0)},separator:!0}];if((!gT(t)||t.pubkey===i)&&L.push({icon:U7e,label:a("Republish to ..."),onClick:s?()=>n(D,a("Republish to ...")):void 0,subMenu:s?void 0:D,separator:!0}),t.pubkey===i&&t.kind===$e.ShortTextNote){const T=S.has(t.id);L.push({icon:T?z7e:R8,label:a(T?"Unpin from profile":"Pin to profile"),onClick:async()=>{e(),await(T?N(t):I(t))}})}return i&&t.pubkey!==i&&L.push({icon:aL,label:a("Report"),className:"text-destructive focus:text-destructive",onClick:()=>{e(),o(!0)},separator:!0}),i&&t.pubkey!==i&&(M?L.push({icon:my,label:a("Unmute user"),onClick:()=>{e(),b(t.pubkey)},className:"text-destructive focus:text-destructive",separator:!0}):L.push({icon:Vu,label:a("Mute user privately"),onClick:()=>{e(),w(t.pubkey)},className:"text-destructive focus:text-destructive",separator:!0},{icon:Vu,label:a("Mute user publicly"),onClick:()=>{e(),g(t.pubkey)},className:"text-destructive focus:text-destructive"})),i&&t.pubkey===i&&L.push({icon:af,label:a("Try deleting this note"),onClick:()=>{e(),l(t)},className:"text-destructive focus:text-destructive",separator:!0}),L},[a,t,i,M,s,D,S,e,n,r,w,g,b])}function Lde({event:t,className:e}){const{isSmallScreen:n}=gn(),[r,o]=h.useState(!1),[s,a]=h.useState(!1),[i,l]=h.useState(!1),[u,d]=h.useState(!1),[f,m]=h.useState([]),[g,w]=h.useState(""),b=()=>{l(!1),d(!1)},j=()=>{d(!1)},I=QJe({event:t,closeDrawer:b,showSubMenuActions:(M,D)=>{m(M),w(D),d(!0)},setIsRawEventDialogOpen:o,setIsReportDialogOpen:a,isSmallScreen:n}),N=c.jsx("button",{className:"flex items-center text-muted-foreground hover:text-foreground pl-2 h-full",onClick:()=>l(!0),children:c.jsx(bS,{})});return c.jsxs("div",{className:e,onClick:M=>M.stopPropagation(),children:[n?c.jsx(PQe,{menuActions:I,trigger:N,isDrawerOpen:i,setIsDrawerOpen:l,showSubMenu:u,activeSubMenu:f,subMenuTitle:g,closeDrawer:b,goBackToMainMenu:j}):c.jsx(LQe,{menuActions:I,trigger:N}),c.jsx(uJe,{event:t,isOpen:r,onClose:()=>o(!1)}),c.jsx(KJe,{event:t,isOpen:s,closeDialog:()=>a(!1)})]})}function JJe({event:t,className:e}){const{t:n}=Ke(),r=h.useMemo(()=>dre(t),[t]);return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Community"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.name})]})}function XJe({event:t,className:e}){const{t:n}=Ke(),{title:r,emojis:o}=h.useMemo(()=>rD(t),[t]);return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Emoji Pack"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r}),o.length>0&&c.jsxs("span",{children:["(",o.length,")"]})]})}function eXe({event:t,className:e}){const{t:n}=Ke(),{title:r}=h.useMemo(()=>oD(t),[t]);return c.jsxs("div",{className:Te("truncate",e),children:["[",n("Follow Pack"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r})]})}function tXe({event:t,className:e}){const{t:n}=Ke(),r=h.useMemo(()=>fre(t),[t]);return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Group"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.name})]})}function $7({content:t,className:e,emojiInfos:n}){const{t:r}=Ke(),o=h.useMemo(()=>qg(t,[$S,ux,tv,fx]),[t]);return c.jsx("span",{className:Te("pointer-events-none",e),children:o.map((s,a)=>{if(s.type==="image"||s.type==="images")return a>0?` [${r("Image")}]`:`[${r("Image")}]`;if(s.type==="media")return a>0?` [${r("Media")}]`:`[${r("Media")}]`;if(s.type==="event")return a>0?` [${r("Note")}]`:`[${r("Note")}]`;if(s.type==="mention")return c.jsx(dBe,{userId:s.data.split(":")[1]},a);if(s.type==="emoji"){const i=s.data.split(":")[1],l=n==null?void 0:n.find(u=>u.shortcode===i);return l?c.jsx(Mi,{emoji:l,classNames:{img:"size-4"}},a):s.data}return s.data})})}function nXe({event:t,className:e}){const{t:n}=Ke(),r=h.useMemo(()=>th(t.tags),[t]);return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Highlight"),"]"," ",c.jsx($7,{content:t.content,emojiInfos:r,className:"italic pr-0.5"})]})}function rXe({event:t,className:e}){const{t:n}=Ke(),r=h.useMemo(()=>ure(t),[t]);return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Live event"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.title})]})}function oXe({event:t,className:e}){const{t:n}=Ke(),r=h.useMemo(()=>nD(t),[t]);return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Article"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.title})]})}function sXe({event:t,className:e}){const n=h.useMemo(()=>th(t==null?void 0:t.tags),[t]);return c.jsx($7,{content:t.content,className:e,emojiInfos:n})}function aXe({event:t,className:e}){const{t:n}=Ke();return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Image"),"] ",c.jsx("span",{className:"italic pr-0.5",children:t.content})]})}function iXe({event:t,className:e}){const{t:n}=Ke(),r=h.useMemo(()=>th(t.tags),[t]);return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Poll"),"]"," ",c.jsx($7,{content:t.content,emojiInfos:r,className:"italic pr-0.5"})]})}function lXe({event:t,className:e}){const{t:n}=Ke();return c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("Media"),"] ",c.jsx("span",{className:"italic pr-0.5",children:t.content})]})}function ky({event:t,className:e}){const{t:n}=Ke(),{mutePubkeySet:r}=ns(),{hideContentMentioningMutedUsers:o}=Qr(),s=h.useMemo(()=>t?r.has(t.pubkey):!1,[r,t]),a=h.useMemo(()=>o&&t?Xu(t,r):!1,[t,r]);return t?s?c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("This user has been muted"),"]"]}):a?c.jsxs("div",{className:Te("pointer-events-none",e),children:["[",n("This note mentions a user you muted"),"]"]}):[$e.ShortTextNote,gt.COMMENT,gt.VOICE,gt.VOICE_COMMENT,gt.RELAY_REVIEW].includes(t.kind)?c.jsx(sXe,{event:t,className:e}):t.kind===$e.Highlights?c.jsx(nXe,{event:t,className:e}):t.kind===gt.POLL?c.jsx(iXe,{event:t,className:e}):t.kind===$e.LongFormArticle?c.jsx(oXe,{event:t,className:e}):t.kind===gt.VIDEO||t.kind===gt.SHORT_VIDEO?c.jsx(lXe,{event:t,className:e}):t.kind===gt.PICTURE?c.jsx(aXe,{event:t,className:e}):t.kind===gt.GROUP_METADATA?c.jsx(tXe,{event:t,className:e}):t.kind===$e.CommunityDefinition?c.jsx(JJe,{event:t,className:e}):t.kind===$e.LiveEvent?c.jsx(rXe,{event:t,className:e}):t.kind===$e.Emojisets?c.jsx(XJe,{event:t,className:e}):t.kind===gt.FOLLOW_PACK?c.jsx(eXe,{event:t,className:e}):c.jsxs("div",{className:e,children:["[",n("Cannot handle event of kind k",{k:t.kind}),"]"]}):c.jsx("div",{className:Te("pointer-events-none",e),children:`[${n("Note not found")}]`})}function V7({eventId:t,externalContent:e,className:n,onClick:r}){const{t:o}=Ke(),{event:s,isFetching:a}=cl(t);return e?c.jsxs("div",{className:Te("flex gap-1 items-center text-sm rounded-full px-2 bg-muted w-fit max-w-full text-muted-foreground hover:text-foreground cursor-pointer",n),onClick:r,children:[c.jsx("div",{className:"shrink-0",children:o("reply to")}),c.jsx("div",{className:"truncate",children:e})]}):t?a?c.jsxs("div",{className:Te("flex gap-1 items-center text-sm rounded-full px-2 bg-muted w-44 max-w-full text-muted-foreground",n),children:[c.jsx("div",{className:"shrink-0",children:o("reply to")}),c.jsx(Dn,{className:"w-4 h-4 rounded-full"}),c.jsx("div",{className:"py-1 flex-1",children:c.jsx(Dn,{className:"h-3"})})]}):c.jsxs("div",{className:Te("flex gap-1 items-center text-sm rounded-full px-2 bg-muted w-fit max-w-full text-muted-foreground",s&&"hover:text-foreground cursor-pointer",n),onClick:s?r:void 0,children:[c.jsx("div",{className:"shrink-0",children:o("reply to")}),s&&c.jsx(Ro,{className:"shrink-0",userId:s.pubkey,size:"tiny"}),c.jsx(ky,{className:"truncate",event:s})]}):null}const E0=class E0{constructor(){je(this,"userPercentileDataLoader",new Pu(async e=>{try{const n=await fetch("https://fayan.smesh.social/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pubkeys:e})});if(!n.ok)return new Array(e.length).fill(null);const r=await n.json();return e.map(o=>r[o]??0)}catch{return new Array(e.length).fill(null)}},{maxBatchSize:50}));return E0.instance||(E0.instance=this),E0.instance}async fetchUserPercentile(e){return await this.userPercentileDataLoader.load(e)}};je(E0,"instance");let IM=E0;const Pde=new IM,Ode=h.createContext(void 0),$s=()=>{const t=h.useContext(Ode);if(!t)throw new Error("useUserTrust must be used within a UserTrustProvider");return t},FA=new Set;function cXe({children:t}){const{pubkey:e}=wt(),[n,r]=h.useState(()=>Ze.getHideUntrustedInteractions()),[o,s]=h.useState(()=>Ze.getHideUntrustedNotifications()),[a,i]=h.useState(()=>Ze.getHideUntrustedNotes());h.useEffect(()=>{if(!e)return;(async()=>{const w=await Oe.fetchFollowings(e,!1);w.forEach(j=>FA.add(j));const b=20;for(let j=0;j<w.length;j+=b){const S=w.slice(j,j+b);await Promise.allSettled(S.map(async I=>{(await Oe.fetchFollowings(I,!1)).forEach(M=>{FA.add(M)})})),await new Promise(I=>setTimeout(I,200))}})()},[e]);const l=h.useCallback(g=>!e||g===e?!0:FA.has(g),[e]),u=h.useCallback(async g=>{if(l(g))return!1;const w=await Pde.fetchUserPercentile(g);return w===null?!1:w<60},[l]),d=g=>{r(g),Ze.setHideUntrustedInteractions(g),cr()},f=g=>{s(g),Ze.setHideUntrustedNotifications(g),cr()},m=g=>{i(g),Ze.setHideUntrustedNotes(g),cr()};return c.jsx(Ode.Provider,{value:{hideUntrustedInteractions:n,hideUntrustedNotifications:o,hideUntrustedNotes:a,updateHideUntrustedInteractions:d,updateHideUntrustedNotifications:f,updateHideUntrustedNotes:m,isUserTrusted:l,isSpammer:u},children:t})}function jx({pubkey:t,className:e}){const{t:n}=Ke(),{isUserTrusted:r}=$s(),{pubkey:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(!0);return h.useEffect(()=>{if(o===t){l(!1),a(null);return}if(r(t)){l(!1),a(null);return}(async()=>{try{const d=await Pde.fetchUserPercentile(t);d!==null&&a(d)}catch(d){console.error("Failed to fetch trust score:",d)}finally{l(!1)}})()},[t,o,r]),i||s===null?null:s<40?c.jsx("div",{title:n("Likely spam account (Trust score: {{percentile}}%)",{percentile:s}),children:c.jsx(uae,{className:Te("!size-4 text-red-500",e)})}):s<60?c.jsx("div",{title:n("Suspicious account (Trust score: {{percentile}}%)",{percentile:s}),children:c.jsx(aL,{className:Te("!size-4 text-yellow-600 dark:text-yellow-500",e)})}):null}function uXe({event:t,className:e}){const{autoLoadMedia:n}=Qr(),r=h.useMemo(()=>dre(t),[t]),o=c.jsx("div",{className:"text-xl font-semibold line-clamp-1",children:r.name}),s=r.description&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:r.description});return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex gap-4",children:[r.image&&n&&c.jsx(Uo,{image:{url:r.image,pubkey:t.pubkey},className:"aspect-square bg-foreground h-20",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[o,s]})]}),c.jsx(Ig,{className:"w-full mt-2",event:t})]})}const zde=h.createContext(void 0),fXe=()=>{const t=h.useContext(zde);if(!t)throw new Error("useEmojiPack must be used within a EmojiPackProvider");return t};function dXe({children:t}){const{pubkey:e,userEmojiListEvent:n,publish:r,updateUserEmojiListEvent:o}=wt(),s=h.useMemo(()=>{const l=new Set;return n==null||n.tags.forEach(u=>{u[0]==="a"&&l.add(u[1])}),l},[n]),a=async l=>{if(!e||l.kind!==$e.Emojisets)return;const u=await Oe.fetchUserEmojiListEvent(e),d=(u==null?void 0:u.tags)||[],f=ti(l);if(d.some(w=>w[0]==="a"&&w[1]===f))return;const m=PU([...d,Hg(l)],u==null?void 0:u.content),g=await r(m);await o(g)},i=async l=>{if(!e)return;const u=await Oe.fetchUserEmojiListEvent(e);if(!u)return;const d=ti(l),f=u.tags.filter(w=>w[0]!=="a"||w[1]!==d);if(f.length===u.tags.length)return;const m=PU(f,u.content),g=await r(m);await o(g)};return c.jsx(zde.Provider,{value:{emojiPackCoordinateSet:s,addEmojiPack:a,removeEmojiPack:i},children:t})}function pXe({event:t,className:e}){const{t:n}=Ke(),{pubkey:r,checkLogin:o}=wt(),{emojiPackCoordinateSet:s,addEmojiPack:a,removeEmojiPack:i}=fXe(),[l,u]=h.useState(!1),{title:d,emojis:f}=h.useMemo(()=>rD(t),[t]),m=h.useMemo(()=>ti(t),[t]),g=h.useMemo(()=>s.has(m),[s,m]),w=async j=>{j.stopPropagation(),o(async()=>{if(!g){u(!0);try{await a(t),on.success(n("Emoji pack added"))}catch(S){on.error(n("Add emoji pack failed")+": "+S.message)}finally{u(!1)}}})},b=async j=>{j.stopPropagation(),o(async()=>{if(g){u(!0);try{await i(t),on.success(n("Emoji pack removed"))}catch(S){on.error(n("Remove emoji pack failed")+": "+S.message)}finally{u(!1)}}})};return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsx("h3",{className:"text-2xl font-semibold",children:d}),r&&c.jsxs(Pe,{variant:g?"secondary":"outline",size:"sm",onClick:g?b:w,disabled:l,className:"shrink-0",children:[l?c.jsx(_r,{className:"animate-spin mr-1"}):g?c.jsx(Zr,{}):c.jsx(Xc,{}),n(l?g?"Removing...":"Adding...":g?"Added":"Add")]})]}),c.jsx("div",{className:"flex flex-wrap gap-1",children:f.map((j,S)=>c.jsx(Uo,{image:{url:j.url,pubkey:t.pubkey},className:"size-14 object-contain",classNames:{wrapper:"size-14 flex items-center justify-center p-1",errorPlaceholder:"size-14"},hideIfError:!0},`emoji-${S}`))})]})}function hXe({event:t,className:e}){const{t:n}=Ke(),{push:r}=Cn(),{title:o,description:s,image:a,pubkeys:i}=h.useMemo(()=>oD(t),[t]),l=u=>{u.stopPropagation(),r(hFe(t))};return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex items-start gap-2 mb-2",children:[a&&c.jsx(Uo,{image:{url:a,pubkey:t.pubkey},className:"w-24 h-20 object-cover",classNames:{wrapper:"w-24 h-20 flex-shrink-0",errorPlaceholder:"w-24 h-20"},hideIfError:!0}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("h3",{className:"text-xl font-semibold mb-1 truncate",children:o}),c.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:n("n users",{count:i.length})})]}),s&&c.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:s})]})]}),c.jsx(Pe,{onClick:l,variant:"outline",className:"w-full",children:n("View Details")})]})}function mXe({event:t,originalNoteId:e,className:n}){const{autoLoadMedia:r}=Qr(),o=h.useMemo(()=>fre(t),[t]),s=c.jsx("div",{className:"text-xl font-semibold line-clamp-1",children:o.name}),a=o.about&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:o.about});return c.jsxs("div",{className:n,children:[c.jsxs("div",{className:"flex gap-4",children:[o.picture&&r&&c.jsx(Uo,{image:{url:o.picture,pubkey:t.pubkey},className:"aspect-square bg-foreground h-20",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[s,a]})]}),c.jsx(Ig,{className:"w-full mt-2",event:t,originalNoteId:e})]})}function gXe({event:t,className:e}){const n=h.useMemo(()=>{var r;return(r=t.tags.find(o=>o[0]==="comment"))==null?void 0:r[1]},[t]);return c.jsxs("div",{className:Te("text-wrap break-words whitespace-pre-wrap space-y-4",e),children:[n&&c.jsx(dd,{event:Tee({content:n,tags:t.tags})}),c.jsxs("div",{className:"flex gap-4",children:[c.jsx("div",{className:"w-1 flex-shrink-0 my-1 bg-primary/60 rounded-md"}),c.jsx("div",{className:"italic whitespace-pre-line",style:{overflowWrap:"anywhere"},children:t.content})]}),c.jsx(yXe,{event:t})]})}function yXe({event:t}){const{t:e}=Ke(),{push:n}=Cn(),r=h.useMemo(()=>{let i;for(const l of t.tags){if(l[2]==="source"){i=l;break}if(l[0]==="e"){i=l;continue}if(l[0]==="a"&&(!i||i[0]!=="e")){i=l;continue}if(l[0]==="r"&&(!i||i[0]==="r")){i=l;continue}}return i},[t]),{event:o}=cl(r?r[0]==="e"?nc(r):r[0]==="a"?eh(r):void 0:void 0),s=h.useMemo(()=>{if(!(!r||r[0]==="r")){if(r[0]==="e")return r[1];if(r[0]==="a")return eh(r)}},[r]),a=h.useMemo(()=>{if(o)return o.pubkey;if(r&&r[0]==="a"){const[,i]=r[1].split(":");if(Vt.isValidHex(i))return i}},[r,o]);return r?r[0]==="r"?c.jsxs("div",{className:"truncate text-muted-foreground",children:[e("From")," ",c.jsx(jd,{url:r[1],className:"underline italic text-muted-foreground hover:text-foreground"})]}):c.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[c.jsx("div",{className:"shrink-0",children:e("From")}),a&&c.jsx(Ro,{userId:a,size:"xSmall",className:"cursor-pointer"}),s&&c.jsx("div",{className:"truncate underline pointer-events-auto cursor-pointer hover:text-foreground",onClick:i=>{i.stopPropagation(),n(vl(o??s))},children:o?c.jsx(ky,{event:o}):s})]}):null}function vXe({event:t,className:e}){const{isSmallScreen:n}=gn(),{autoLoadMedia:r}=Qr(),o=h.useMemo(()=>ure(t),[t]),s=o.status&&(o.status==="live"?c.jsx(Vl,{className:"bg-green-400 hover:bg-green-400",children:"live"}):o.status==="ended"?c.jsx(Vl,{variant:"destructive",children:"ended"}):c.jsx(Vl,{variant:"secondary",children:o.status})),a=c.jsx("div",{className:"text-xl font-semibold line-clamp-1",children:o.title}),i=o.summary&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-4",children:o.summary}),l=o.tags.length>0&&c.jsx("div",{className:"flex gap-1 flex-wrap",children:o.tags.map(u=>c.jsx(Vl,{variant:"secondary",children:u},u))});return n?c.jsxs("div",{className:e,children:[o.image&&r&&c.jsx(Uo,{image:{url:o.image,pubkey:t.pubkey},className:"w-full aspect-video",hideIfError:!0}),c.jsxs("div",{className:"space-y-1",children:[a,s,i,l,c.jsx(Ig,{className:"w-full mt-2",event:t})]})]}):c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex gap-4",children:[o.image&&r&&c.jsx(Uo,{image:{url:o.image,pubkey:t.pubkey},className:"aspect-[4/3] xl:aspect-video bg-foreground h-44",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[a,s,i,l]})]}),c.jsx(Ig,{className:"w-full mt-2",event:t})]})}function wXe({rawText:t,bech32Id:e}){const{type:n,id:r}=h.useMemo(()=>{if(!e)return{type:"invalid",id:""};try{const{type:o}=jr.decode(e);if(o==="npub")return{type:"mention",id:e};if(o==="nevent"||o==="naddr"||o==="note")return{type:"note",id:e}}catch(o){console.error("Invalid bech32 ID:",e,o)}return{type:"invalid",id:""}},[e]);return n==="invalid"?t:n==="mention"?c.jsx(HS,{userId:r,className:"not-prose"}):c.jsx(sge,{noteId:r,className:"not-prose"})}const bXe=/nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+|note1[a-z0-9]{58}|nevent1[a-z0-9]+|naddr1[a-z0-9]+)/g,xXe=/\[[^\]]+\]\[(nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+|note1[a-z0-9]{58}|nevent1[a-z0-9]+|naddr1[a-z0-9]+))\]/g,kXe=()=>t=>{iE(t,"text",(e,n,r)=>{if(!r||typeof n!="number")return;const o=e.value,s=Array.from(o.matchAll(xXe)),a=Array.from(o.matchAll(bXe)).filter(d=>!s.some(f=>d.index>=f.index&&d.index<f.index+f[0].length)),i=[...s.map(d=>({...d,type:"reference",bech32Id:d[2],rawText:d[0]})),...a.map(d=>({...d,type:"direct",bech32Id:d[1],rawText:d[0]}))].sort((d,f)=>d.index-f.index);if(i.length===0)return;const l=[];let u=0;i.forEach(d=>{const f=d.index,m=f+d[0].length;f>u&&l.push({type:"text",value:o.slice(u,f)});const g={type:"nostr",data:{hName:"nostr",hProperties:{bech32Id:d.bech32Id,rawText:d.rawText}}};l.push(g),u=m}),u<o.length&&l.push({type:"text",value:o.slice(u)}),r.children.splice(n,1,...l)})};function jXe({event:t,className:e}){const{push:n}=Cn(),r=h.useMemo(()=>nD(t),[t]),o=h.useRef(null),[s,a]=h.useState(!1),[i,l]=h.useState(""),u=f=>{l(f),a(!0)},d=h.useMemo(()=>({nostr:({rawText:f,bech32Id:m})=>c.jsx(wXe,{rawText:f,bech32Id:m}),a:({href:f,children:m,...g})=>f?f.startsWith("note1")||f.startsWith("nevent1")||f.startsWith("naddr1")?c.jsx(Xl,{to:vl(f),className:"break-words underline text-foreground",children:m}):f.startsWith("npub1")||f.startsWith("nprofile1")?c.jsx(Xl,{to:xf(f),className:"break-words underline text-foreground",children:m}):c.jsxs("a",{...g,href:f,target:"_blank",rel:"noreferrer noopener",className:"break-words inline-flex items-baseline gap-1",children:[m," ",c.jsx(of,{className:"size-3"})]}):c.jsx("span",{...g,className:"break-words"}),p:f=>c.jsx("p",{...f,className:"break-words"}),div:f=>c.jsx("div",{...f,className:"break-words"}),code:f=>c.jsx("code",{...f,className:"break-words whitespace-pre-wrap"}),img:f=>c.jsx(Ag,{image:{url:f.src||"",pubkey:t.pubkey},className:"max-h-[80vh] sm:max-h-[50vh] object-contain my-0",classNames:{wrapper:"w-fit max-w-full"}})}),[t.pubkey]);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{ref:o,className:`prose prose-zinc max-w-none dark:prose-invert break-words overflow-wrap-anywhere ${e||""}`,children:[c.jsx("h1",{className:"break-words",children:r.title}),r.summary&&c.jsx("blockquote",{children:c.jsx("p",{className:"break-words",children:r.summary})}),r.image&&c.jsx(Ag,{image:{url:r.image,pubkey:t.pubkey},className:"w-full aspect-[3/1] object-cover my-0"}),c.jsx(kfe,{remarkPlugins:[Gfe,kXe],urlTransform:f=>f.startsWith("nostr:")?f.slice(6):f,components:d,children:t.content}),r.tags.length>0&&c.jsx("div",{className:"flex gap-2 flex-wrap pb-2",children:r.tags.map(f=>c.jsxs("div",{title:f,className:"flex items-center rounded-full px-3 bg-muted text-muted-foreground max-w-44 cursor-pointer hover:bg-accent hover:text-accent-foreground",onClick:m=>{m.stopPropagation(),n(OS({hashtag:f,kinds:[$e.LongFormArticle]}))},children:["#",c.jsx("span",{className:"truncate",children:f})]},f))})]}),c.jsx(oue,{onHighlight:u,containerRef:o}),c.jsx(r1,{highlightedText:i,parentStuff:t,open:s,setOpen:a})]})}function CXe({event:t,className:e}){const{isSmallScreen:n}=gn(),{push:r}=Cn(),{autoLoadMedia:o}=Qr(),s=h.useMemo(()=>nD(t),[t]),a=c.jsx("div",{className:"text-xl font-semibold line-clamp-2",children:s.title}),i=s.tags.length>0&&c.jsx("div",{className:"flex gap-1 flex-wrap",children:s.tags.map(u=>c.jsxs("div",{className:"flex items-center rounded-full text-xs px-2.5 py-0.5 bg-muted text-muted-foreground max-w-32 cursor-pointer hover:bg-accent hover:text-accent-foreground",onClick:d=>{d.stopPropagation(),r(OS({hashtag:u,kinds:[$e.LongFormArticle]}))},children:["#",c.jsx("span",{className:"truncate",children:u})]},u))}),l=s.summary&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-4",children:s.summary});return n?c.jsxs("div",{className:e,children:[s.image&&o&&c.jsx(Uo,{image:{url:s.image,pubkey:t.pubkey},className:"w-full aspect-video",hideIfError:!0}),c.jsxs("div",{className:"space-y-1",children:[a,l,i]})]}):c.jsx("div",{className:e,children:c.jsxs("div",{className:"flex gap-4",children:[s.image&&o&&c.jsx(Uo,{image:{url:s.image,pubkey:t.pubkey},className:"aspect-[4/3] xl:aspect-video object-cover bg-foreground h-44",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[a,l,i]})]})})}function SXe({show:t}){const{t:e}=Ke();return c.jsxs("div",{className:"flex flex-col gap-2 items-center text-muted-foreground font-medium my-4",children:[c.jsx("div",{children:e("This user has been muted")}),c.jsxs(Pe,{onClick:n=>{n.stopPropagation(),t()},variant:"outline",children:[c.jsx(Kse,{}),e("Temporarily display this note")]})]})}function EXe({show:t}){const{t:e}=Ke();return c.jsxs("div",{className:"flex flex-col gap-2 items-center text-muted-foreground font-medium my-4",children:[c.jsx("div",{children:e("🔞 NSFW 🔞")}),c.jsxs(Pe,{onClick:n=>{n.stopPropagation(),t()},variant:"outline",children:[c.jsx(Kse,{}),e("Temporarily display this note")]})]})}function Fde({className:t,images:e,start:n=0,end:r=e.length,mustLoad:o=!1}){const s=h.useMemo(()=>`image-gallery-${yd()}`,[]),{autoLoadMedia:a}=Qr(),[i,l]=h.useState(-1),[u,d]=h.useState(e.map(({url:w})=>({src:w})));h.useEffect(()=>{i>=0?po.register(s,()=>{l(-1)}):po.unregister(s)},[i]),h.useEffect(()=>{(async()=>{const b=await Promise.all(e.map(({url:j,pubkey:S})=>new Promise(I=>{const N=new window.Image;let M=j;N.onload=()=>{ed.markAsSuccess(j,M),I({src:M})},N.onerror=()=>{ed.tryNextUrl(j).then(D=>{D?(M=D,I({src:M})):I({src:j})})},S?ed.getValidUrl(j,S).then(D=>{M=D,N.src=M}).catch(()=>{I({src:j})}):N.src=j})));d(b)})()},[e]);const f=(w,b)=>{w.stopPropagation(),w.preventDefault(),l(n+b)},m=e.slice(n,r);if(!o&&!a)return m.map((w,b)=>c.jsx(Ag,{image:w,className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{wrapper:Te("w-fit max-w-full border",t)}},b));let g=null;return m.length===1?g=c.jsx(Uo,{className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{errorPlaceholder:"aspect-square h-[30vh]",wrapper:"cursor-zoom-in border"},image:m[0],onClick:w=>f(w,0)},0):m.length===2||m.length===4?g=c.jsx("div",{className:"grid grid-cols-2 gap-2 w-full",children:m.map((w,b)=>c.jsx(Uo,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:w,onClick:j=>f(j,b)},b))}):g=c.jsx("div",{className:"grid grid-cols-3 gap-2 w-full",children:m.map((w,b)=>c.jsx(Uo,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:w,onClick:j=>f(j,b)},b))}),c.jsxs("div",{className:Te(m.length===1?"w-fit max-w-full":"w-full",t),children:[g,i>=0&&Ds.createPortal(c.jsx("div",{onClick:w=>w.stopPropagation(),children:c.jsx(d7,{index:i,slides:u,plugins:[h7],open:i>=0,close:()=>l(-1),controller:{closeOnBackdropClick:!0,closeOnPullUp:!0,closeOnPullDown:!0},styles:{toolbar:{paddingTop:"2.25rem"}}})}),document.body)]})}function NXe({event:t,className:e}){const n=h.useMemo(()=>wT(t),[t]);return c.jsxs("div",{className:e,children:[c.jsx(dd,{event:t}),n.length>0&&c.jsx(Fde,{images:n})]})}const N0=class N0{constructor(){je(this,"pollResultsMap",new Map);je(this,"pollResultsSubscribers",new Map);je(this,"loader",new Pu(async e=>{const n=new Map;e.forEach(({pollEventId:s,relays:a,validPollOptionIds:i,isMultipleChoice:l,endsAt:u})=>{n.has(s)||n.set(s,{relays:a,validPollOptionIds:i,isMultipleChoice:l,endsAt:u})});const r=await Promise.allSettled(Array.from(n).map(async([s,a])=>{const i=await this._fetchResults(s,a.relays,a.validPollOptionIds,a.isMultipleChoice,a.endsAt);return{pollEventId:s,result:i}})),o=new Map;return r.forEach(s=>{s.status==="fulfilled"&&s.value.result&&o.set(s.value.pollEventId,s.value.result)}),e.map(({pollEventId:s})=>o.get(s))},{cache:!1}));return N0.instance||(N0.instance=this),N0.instance}async fetchResults(e,n,r,o,s){return this.loader.load({pollEventId:e,relays:n,validPollOptionIds:r,isMultipleChoice:o,endsAt:s})}async _fetchResults(e,n,r,o,s){const a={kinds:[gt.POLL_RESPONSE],"#e":[e],limit:1e3};s&&(a.until=s);let i=this.pollResultsMap.get(e);if(i){if(s&&i.updatedAt>=s)return i;a.since=i.updatedAt}else i={totalVotes:0,results:r.reduce((d,f)=>(d[f]=new Set,d),{}),voters:new Set,updatedAt:0};const l=await Oe.fetchEvents(n,a);return i.updatedAt=En().unix(),l.map(d=>i5e(d,r,o)).filter(d=>d!==null).sort((d,f)=>f.created_at-d.created_at).forEach(d=>{i&&i.voters.has(d.pubkey)||(i.voters.add(d.pubkey),i.totalVotes+=d.selectedOptionIds.length,d.selectedOptionIds.forEach(f=>{i.results[f]&&i.results[f].add(d.pubkey)}))}),this.pollResultsMap.set(e,{...i}),l.length&&this.notifyPollResults(e),i}subscribePollResults(e,n){let r=this.pollResultsSubscribers.get(e);return r||(r=new Set,this.pollResultsSubscribers.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.pollResultsSubscribers.delete(e)}}notifyPollResults(e){const n=this.pollResultsSubscribers.get(e);n&&n.forEach(r=>r())}getPollResults(e){return this.pollResultsMap.get(e)}addPollResponse(e,n,r){const o=this.pollResultsMap.get(e);o&&(o.voters.has(n)||(o.voters.add(n),o.totalVotes+=r.length,r.forEach(s=>{o.results[s]&&o.results[s].add(n)}),this.pollResultsMap.set(e,{...o}),this.notifyPollResults(e)))}};je(N0,"instance");let AM=N0;const xj=new AM;function IXe(t){return h.useSyncExternalStore(e=>xj.subscribePollResults(t,e),()=>xj.getPollResults(t))}function AXe({event:t,className:e}){const{t:n}=Ke(),{pubkey:r,publish:o,startLogin:s}=wt(),[a,i]=h.useState(!1),[l,u]=h.useState([]),d=IXe(t.id),[f,m]=h.useState(!1),g=h.useMemo(()=>a5e(t),[t]),w=h.useMemo(()=>!d||!r?[]:Object.entries(d.results).filter(([,T])=>T.has(r)).map(([T])=>T),[d,r]),b=h.useMemo(()=>(g==null?void 0:g.options.map(T=>T.id))||[],[g]),j=h.useMemo(()=>(g==null?void 0:g.endsAt)&&En().unix()>g.endsAt,[g]),S=h.useMemo(()=>(g==null?void 0:g.pollType)===Wm.MULTIPLE_CHOICE,[g]),I=h.useMemo(()=>!j&&!w.length,[j,w]),N=h.useMemo(()=>t.pubkey===r||!I,[t,r,I]),[M,D]=h.useState(null);if(h.useEffect(()=>{if(d||f||!M)return;const T=new IntersectionObserver(([R])=>{R.isIntersecting&&setTimeout(()=>{vje(M)&&P()},200)},{threshold:.1});return T.observe(M),()=>{T.unobserve(M)}},[d,f,M]),!g)return null;const P=async()=>{m(!0);try{const T=await sq(t.pubkey,g);return await xj.fetchResults(t.id,T,b,S,g.endsAt)}catch(T){console.error("Failed to fetch poll results:",T),on.error("Failed to fetch poll results: "+T.message)}finally{m(!1)}},L=T=>{j||u(S?R=>R.includes(T)?R.filter(z=>z!==T):[...R,T]:R=>R.includes(T)?[]:[T])},F=async()=>{if(l.length!==0){if(!r){s();return}i(!0);try{if(!d){const z=await P();if(z&&z.voters.has(r))return}const T=await sq(t.pubkey,g),R=NAe(t,l);await o(R,{additionalRelayUrls:T}),u([]),xj.addPollResponse(t.id,r,l)}catch(T){console.error("Failed to vote:",T),on.error("Failed to vote: "+T.message)}finally{i(!1)}}};return c.jsx("div",{className:e,ref:D,children:c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"text-sm text-muted-foreground",children:[c.jsx("p",{children:g.pollType===Wm.MULTIPLE_CHOICE&&n("Multiple choice (select one or more)")}),c.jsx("p",{children:!!g.endsAt&&(j?n("Poll has ended"):n("Poll ends at {{time}}",{time:new Date(g.endsAt*1e3).toLocaleString()}))})]}),c.jsx("div",{className:"grid gap-2",children:g.options.map(T=>{var W,U;const R=((U=(W=d==null?void 0:d.results)==null?void 0:W[T.id])==null?void 0:U.size)??0,z=(d==null?void 0:d.totalVotes)??0,G=N&&z>0?R/z*100:0,Z=d&&d.totalVotes>0&&N?Object.values(d.results).every(ee=>ee.size<=R):!1;return c.jsxs("button",{title:T.label,className:Te("relative w-full px-4 py-3 rounded-lg border transition-all flex items-center gap-2 overflow-hidden",I?"cursor-pointer":"cursor-not-allowed",I&&(l.includes(T.id)?"border-primary bg-primary/20":"hover:border-primary/40 hover:bg-primary/5")),onClick:ee=>{ee.stopPropagation(),L(T.id)},disabled:!I,children:[c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0 z-10",children:[c.jsx("div",{className:Te("line-clamp-2 text-left",Z?"font-semibold":""),children:T.label}),w.includes(T.id)&&c.jsx(eL,{className:"size-4 shrink-0"})]}),N&&c.jsxs("div",{className:Te("text-muted-foreground shrink-0 z-10",Z?"font-semibold text-foreground":""),children:[G.toFixed(1),"%"]}),c.jsx("div",{className:Te("absolute inset-0 rounded-r-sm transition-all duration-700 ease-out",Z?"bg-primary/60":"bg-muted/90"),style:{width:`${G}%`}})]},T.id)})}),c.jsxs("div",{className:"flex justify-between items-center text-sm text-muted-foreground",children:[c.jsx("div",{children:n("{{number}} votes",{number:(d==null?void 0:d.totalVotes)??0})}),f&&n("Loading..."),!f&&N&&c.jsx("div",{className:"hover:underline cursor-pointer",onClick:T=>{T.stopPropagation(),P()},children:n(d?"Refresh results":"Load results")})]}),I&&!!l.length&&c.jsxs(Pe,{onClick:T=>{T.stopPropagation(),l.length!==0&&F()},disabled:!l.length||a,className:"w-full",children:[a&&c.jsx(ao,{className:"animate-spin"}),n("Vote")]})]})})}async function sq(t,e){const n=e.relayUrls.slice(0,4);if(!n.length){const r=await Oe.fetchRelayList(t);n.push(...r.read.slice(0,4))}return n}function H7({stars:t,className:e}){const n=h.useMemo(()=>Math.round(t),[t]);return c.jsx("div",{className:Te("flex items-center gap-1",e),children:Array.from({length:5}).map((r,o)=>o<n?c.jsx(ld,{className:"size-4 text-foreground fill-foreground"},o):c.jsx(ld,{className:"size-4 text-muted-foreground"},o))})}function _Xe({event:t,className:e}){const{push:n}=Cn(),r=h.useMemo(()=>zk(t),[t]),o=h.useMemo(()=>By(t),[t]),s=h.useMemo(()=>Aa(o),[o]);return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[c.jsx(H7,{stars:r}),c.jsx("span",{className:"text-sm text-muted-foreground",children:"→"}),c.jsx("div",{className:"text-sm text-muted-foreground hover:text-foreground hover:underline cursor-pointer truncate",onClick:a=>{a.stopPropagation(),n(Eg(o))},children:s})]}),c.jsx(dd,{event:t,className:"mt-2"})]})}function MXe({event:t,className:e}){const{t:n}=Ke();return c.jsxs("div",{className:Te("flex flex-col gap-2 items-center text-muted-foreground font-medium my-4",e),children:[c.jsx("div",{children:n("Cannot handle event of kind k",{k:t.kind})}),c.jsx(Ig,{event:t})]})}function RXe({event:t,className:e}){const n=h.useMemo(()=>wT(t),[t]);return c.jsxs("div",{className:e,children:[c.jsx(dd,{event:t}),n.map(r=>c.jsx(m7,{src:r.url,className:"mt-2"},r.url))]})}function W7({event:t,originalNoteId:e,size:n="normal",className:r,hideParentNotePreview:o=!1,showFull:s=!1}){const{push:a}=Cn(),{navigate:i}=$o(),{isSmallScreen:l}=gn(),{pubkey:u}=wt(),{startConversation:d}=kd(),{parentEventId:f,parentExternalContent:m}=h.useMemo(()=>Mee(t),[t]),{nsfwDisplayPolicy:g,enableMarkdown:w}=Qr(),[b,j]=h.useState(!1),{mutePubkeySet:S}=ns(),[I,N]=h.useState(!1),[M,D]=h.useState(null),P=M??w,L=R=>{R.stopPropagation(),d(t.pubkey),i("inbox")},F=h.useMemo(()=>g===Ul.SHOW?!1:Nee(t),[t,g]);let T;return[...z3e,$e.CommunityDefinition,$e.LiveEvent,gt.GROUP_METADATA].includes(t.kind)?S.has(t.pubkey)&&!I?T=c.jsx(SXe,{show:()=>N(!0)}):F&&!b?T=c.jsx(EXe,{show:()=>j(!0)}):t.kind===$e.Highlights?T=c.jsx(gXe,{className:"mt-2",event:t}):t.kind===$e.LongFormArticle?T=s?c.jsx(jXe,{className:"mt-2",event:t}):c.jsx(CXe,{className:"mt-2",event:t}):t.kind===$e.LiveEvent?T=c.jsx(vXe,{className:"mt-2",event:t}):t.kind===gt.GROUP_METADATA?T=c.jsx(mXe,{className:"mt-2",event:t,originalNoteId:e}):t.kind===$e.CommunityDefinition?T=c.jsx(uXe,{className:"mt-2",event:t}):t.kind===gt.POLL?T=c.jsxs(c.Fragment,{children:[c.jsx(dd,{className:"mt-2",event:t,enableMarkdown:P}),c.jsx(AXe,{className:"mt-2",event:t})]}):t.kind===gt.VOICE||t.kind===gt.VOICE_COMMENT?T=c.jsx(QL,{className:"mt-2",src:t.content}):t.kind===gt.PICTURE?T=c.jsx(NXe,{className:"mt-2",event:t}):t.kind===gt.VIDEO||t.kind===gt.SHORT_VIDEO||t.kind===gt.ADDRESSABLE_NORMAL_VIDEO||t.kind===gt.ADDRESSABLE_SHORT_VIDEO?T=c.jsx(RXe,{className:"mt-2",event:t}):t.kind===gt.RELAY_REVIEW?T=c.jsx(_Xe,{className:"mt-2",event:t}):t.kind===$e.Emojisets?T=c.jsx(pXe,{className:"mt-2",event:t}):t.kind===gt.FOLLOW_PACK?T=c.jsx(hXe,{className:"mt-2",event:t}):T=c.jsx(dd,{className:"mt-2",event:t,enableHighlight:!0,enableMarkdown:P}):T=c.jsx(MXe,{className:"mt-2",event:t}),c.jsxs("div",{className:r,children:[c.jsxs("div",{className:"flex justify-between items-start gap-2",children:[c.jsxs("div",{className:"flex items-center space-x-2 flex-1",children:[c.jsx(Ro,{userId:t.pubkey,size:n==="small"?"medium":"normal"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(zs,{userId:t.pubkey,className:`font-semibold flex truncate ${n==="small"?"text-sm":""}`,skeletonClassName:n==="small"?"h-3":"h-4"}),c.jsx(T7,{pubkey:t.pubkey}),c.jsx(jx,{pubkey:t.pubkey}),c.jsx(JL,{event:t}),u&&u!==t.pubkey&&c.jsx("button",{onClick:L,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors",title:"Start conversation",children:c.jsx(jS,{className:"size-3.5"})})]}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(uc,{pubkey:t.pubkey,append:"·"}),c.jsx(mh,{timestamp:t.created_at,className:"shrink-0",short:l})]})]})]}),n==="normal"&&c.jsxs("div",{className:"flex items-center shrink-0",children:[c.jsx("button",{onClick:R=>{R.stopPropagation(),D(z=>z===null?!w:null)},className:`p-1 rounded hover:bg-accent transition-colors ${M!==null?"text-foreground":"text-muted-foreground"}`,title:P?"Show plain text":"Show markdown",children:P?c.jsx(Z7e,{className:"size-4"}):c.jsx(Gse,{className:"size-4"})}),c.jsx(Lde,{event:t,className:"py-1 [&_svg]:size-5"})]})]}),!o&&c.jsx(V7,{eventId:f,externalContent:m,className:"mt-2",onClick:R=>{R.stopPropagation(),m?a(yy(m)):f&&a(vl(f))}}),T]})}const I0=class I0{constructor(){je(this,"postContentCache",new Map);je(this,"postSettingsCache",new Map);return I0.instance||(I0.instance=this),I0.instance}getPostContentCache({defaultContent:e,parentStuff:n}={}){return this.postContentCache.get(this.generateCacheKey(e,n))??e}setPostContentCache({defaultContent:e,parentStuff:n},r){this.postContentCache.set(this.generateCacheKey(e,n),r)}getPostSettingsCache({defaultContent:e,parentStuff:n}={}){return this.postSettingsCache.get(this.generateCacheKey(e,n))}setPostSettingsCache({defaultContent:e,parentStuff:n},r){this.postSettingsCache.set(this.generateCacheKey(e,n),r)}clearPostCache({defaultContent:e,parentStuff:n}){const r=this.generateCacheKey(e,n);this.postContentCache.delete(r),this.postSettingsCache.delete(r)}generateCacheKey(e="",n){return n?typeof n=="string"?n:n.id:e}};je(I0,"instance");let _M=I0;const Y0=new _M,H6={FOLLOWS:39e3,MENTIONS:39001,THREAD:39002},Rm=class Rm{constructor(){je(this,"pool");je(this,"capabilityCache",new Map);je(this,"capabilityFetchPromises",new Map);this.pool=new TX}static getInstance(){return Rm.instance||(Rm.instance=new Rm),Rm.instance}isEnabled(){return Ze.getGraphQueriesEnabled()}async getRelayCapability(e){const n=so(e);if(this.capabilityCache.has(n))return this.capabilityCache.get(n)??null;const r=this.capabilityFetchPromises.get(n);if(r)return r;const o=this._fetchRelayCapability(n);this.capabilityFetchPromises.set(n,o);try{const s=await o;return this.capabilityCache.set(n,s),s}finally{this.capabilityFetchPromises.delete(n)}}async _fetchRelayCapability(e){var n;try{const r=await ix.getRelayInfo(e);return(n=r==null?void 0:r.graph_query)!=null&&n.enabled?r.graph_query:null}catch{return null}}async supportsMethod(e,n){const r=await this.getRelayCapability(e);return r!=null&&r.enabled?r.methods.includes(n):!1}async findGraphCapableRelay(e,n){return this.isEnabled()?(await Promise.all(e.map(async o=>{const s=await this.getRelayCapability(o);return!(s!=null&&s.enabled)||n&&!s.methods.includes(n)?null:o}))).find(o=>o!==null)??null:null}async executeQuery(e,n){if(!this.isEnabled())return null;const r=await this.getRelayCapability(e);if(!(r!=null&&r.enabled))return console.warn(`Relay ${e} does not support graph queries`),null;if(!r.methods.includes(n.method))return console.warn(`Relay ${e} does not support method: ${n.method}`),null;const o=n.depth??1;o>r.max_depth&&(console.warn(`Requested depth ${o} exceeds relay max ${r.max_depth}`),n={...n,depth:r.max_depth});const s={_graph:n},a=this.getExpectedResponseKind(n.method);return new Promise(async i=>{let l=!1;const u=setTimeout(()=>{l||(l=!0,i(null))},3e4);try{const f=(await this.pool.ensureRelay(e,{connectionTimeout:5e3})).subscribe([s],{onevent:m=>{if(m.kind===a){if(!Py(m)){console.warn("Invalid signature on graph response");return}try{const g=JSON.parse(m.content);l||(l=!0,clearTimeout(u),f.close(),i(g))}catch(g){console.error("Failed to parse graph response:",g)}}},oneose:()=>{l||(l=!0,clearTimeout(u),f.close(),i(null))}})}catch(d){console.error("Failed to connect to relay for graph query:",d),l||(l=!0,clearTimeout(u),i(null))}})}getExpectedResponseKind(e){switch(e){case"follows":case"followers":return H6.FOLLOWS;case"mentions":return H6.MENTIONS;case"thread":return H6.THREAD;default:return H6.FOLLOWS}}async queryFollowGraph(e,n,r=1){const o=await this.findGraphCapableRelay(e,"follows");return o?this.executeQuery(o,{method:"follows",seed:n,depth:r}):null}async queryFollowerGraph(e,n,r=1){const o=await this.findGraphCapableRelay(e,"followers");return o?this.executeQuery(o,{method:"followers",seed:n,depth:r}):null}async queryThread(e,n,r=10,o){var i,l;const s=await this.findGraphCapableRelay(e,"thread");if(!s)return null;const a={method:"thread",seed:n,depth:r};return(i=o==null?void 0:o.inboundRefKinds)!=null&&i.length&&(a.inbound_refs=[{kinds:o.inboundRefKinds,from_depth:0}]),(l=o==null?void 0:o.outboundRefKinds)!=null&&l.length&&(a.outbound_refs=[{kinds:o.outboundRefKinds,from_depth:0}]),this.executeQuery(s,a)}async queryMentions(e,n,r){var a;const o=await this.findGraphCapableRelay(e,"mentions");if(!o)return null;const s={method:"mentions",seed:n};return(a=r==null?void 0:r.inboundRefKinds)!=null&&a.length&&(s.inbound_refs=[{kinds:r.inboundRefKinds,from_depth:0}]),this.executeQuery(o,s)}clearCapabilityCache(e){if(e){const n=so(e);this.capabilityCache.delete(n)}else this.capabilityCache.clear()}};je(Rm,"instance");let MM=Rm;const kj=MM.getInstance(),A0=class A0{constructor(){je(this,"rootInfoCache",new Map);je(this,"subscriptions",new Map);je(this,"threadMap",new Map);je(this,"processedReplyKeys",new Set);je(this,"parentKeyMap",new Map);je(this,"descendantCache",new Map);je(this,"threadListeners",new Map);je(this,"allDescendantThreadsListeners",new Map);je(this,"EMPTY_ARRAY",[]);je(this,"EMPTY_MAP",new Map);return A0.instance||(A0.instance=this),A0.instance}async subscribe(e,n=100){const{event:r}=this.resolveStuff(e),o=await this.parseRootInfo(e);if(!o)return;const s=this.subscriptions.get(o.id);if(s){s.count+=1;return}if(o.type==="E"&&await this.tryGraphQueryThread(o.id)){this.subscriptions.set(o.id,{promise:Promise.resolve({closer:()=>{},timelineKey:""}),count:1,until:void 0});return}const i=(async()=>{const l=new Set,u=o.pubkey??(r==null?void 0:r.pubkey);o.type==="A"&&o.relay&&l.add(o.relay),r&&Oe.getSeenEventRelayUrls(r.id).forEach(S=>l.add(S)),u&&(await Oe.fetchRelayList(u)).read.slice(0,4).forEach(S=>l.add(S)),l.size===0&&Oe.currentRelays.forEach(j=>l.add(j));let d=Array.from(l).slice(0,8);const f=[];o.type==="E"?(f.push({"#e":[o.id],kinds:[$e.ShortTextNote],limit:n}),(r==null?void 0:r.kind)!==$e.ShortTextNote&&f.push({"#E":[o.id],kinds:[gt.COMMENT,gt.VOICE_COMMENT],limit:n})):o.type==="A"?f.push({"#a":[o.id],kinds:[$e.ShortTextNote],limit:n},{"#A":[o.id],kinds:[gt.COMMENT,gt.VOICE_COMMENT],limit:n}):f.push({"#I":[o.id],kinds:[gt.COMMENT,gt.VOICE_COMMENT],limit:n});let m;const g=new Promise(j=>{m=j}),{closer:w,timelineKey:b}=await Oe.subscribeTimeline(f.map(j=>({urls:d.slice(0,8),filter:j})),{onEvents:(j,S)=>{if(j.length>0&&this.addRepliesToThread(j),S){const I=this.subscriptions.get(o.id);I&&j.length>0&&(I.until=j[j.length-1].created_at-1),m()}},onNew:j=>{this.addRepliesToThread([j])}});return await g,{closer:w,timelineKey:b}})();this.subscriptions.set(o.id,{promise:i,count:1,until:En().unix()}),await i}async unsubscribe(e){const n=await this.parseRootInfo(e);if(!n)return;const r=this.subscriptions.get(n.id);r&&setTimeout(()=>{r.count-=1,r.count<=0&&(this.subscriptions.delete(n.id),r.promise.then(({closer:o})=>{o()}))},2e3)}async loadMore(e,n=100){const r=await this.parseRootInfo(e);if(!r)return!1;const o=this.subscriptions.get(r.id);if(!o)return!1;const{timelineKey:s}=await o.promise;if(!s||!o.until)return!1;const a=await Oe.loadMoreTimeline(s,o.until,n);this.addRepliesToThread(a);const{event:i}=this.resolveStuff(e);let l=a.length?a[a.length-1].created_at-1:void 0;return l&&i&&!Fs(i.kind)&&l<i.created_at&&(l=void 0),o.until=l,!!l}addRepliesToThread(e){const n=new Map;if(e.forEach(r=>{const o=Qo(r);if(this.processedReplyKeys.has(o)||(this.processedReplyKeys.add(o),!E_(r)))return;const s=P2(r);if(s){const a=xC(s.tag);if(a){const i=n.get(a)??[];i.push(r),n.set(a,i),this.parentKeyMap.set(o,a)}}}),n.size!==0){for(const[r,o]of n.entries()){const s=this.threadMap.get(r)??[];s.push(...o),this.threadMap.set(r,s)}this.descendantCache.clear();for(const r of n.keys())this.notifyThreadUpdate(r),this.notifyAllDescendantThreadsUpdate(r)}}getThread(e){return this.threadMap.get(e)??this.EMPTY_ARRAY}getAllDescendantThreads(e){const n=this.descendantCache.get(e);if(n)return n;const o=(()=>{const s=this.threadMap.get(e);if(!s||s.length===0)return this.EMPTY_MAP;const a=new Map,i=[e];for(;i.length>0;){const l=i.pop(),u=this.threadMap.get(l)??[];u.length>0&&(a.set(l,u),u.forEach(d=>{const f=Qo(d);i.push(f)}))}return a})();return this.descendantCache.set(e,o),o}listenThread(e,n){let r=this.threadListeners.get(e);return r||(r=new Set,this.threadListeners.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.threadListeners.delete(e)}}notifyThreadUpdate(e){const n=this.threadListeners.get(e);n&&n.forEach(r=>r())}listenAllDescendantThreads(e,n){let r=this.allDescendantThreadsListeners.get(e);return r||(r=new Set,this.allDescendantThreadsListeners.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.allDescendantThreadsListeners.delete(e)}}notifyAllDescendantThreadsUpdate(e){const n=o=>{const s=this.allDescendantThreadsListeners.get(o);s&&s.forEach(a=>a())};n(e);let r=this.parentKeyMap.get(e);for(;r;)n(r),r=this.parentKeyMap.get(r)}async parseRootInfo(e){const{event:n,externalContent:r}=this.resolveStuff(e);if(!n&&!r)return;const o=n?Qo(n):r,s=this.rootInfoCache.get(o);if(s)return s;const i=(async()=>{let l=n?Fs(n.kind)?{type:"A",id:ti(n),pubkey:n.pubkey,relay:Oe.getEventHint(n.id)}:{type:"E",id:n.id,pubkey:n.pubkey}:{type:"I",id:r};const u=yT(n);if((u==null?void 0:u.type)==="e"){const[,d,,,f]=u.tag;if(d&&f)l={type:"E",id:d,pubkey:f};else{const m=nc(u.tag);if(m){const g=await Oe.fetchEvent(m);g&&(l={type:"E",id:g.id,pubkey:g.pubkey})}}}else if((u==null?void 0:u.type)==="a"){const[,d,f]=u.tag,[,m]=d.split(":");l={type:"A",id:d,pubkey:m,relay:f}}else(u==null?void 0:u.type)==="i"&&(l={type:"I",id:u.tag[1]});return l})();return this.rootInfoCache.set(o,i),i}async tryGraphQueryThread(e){var n;try{const r=Oe.currentRelays.length>0?Oe.currentRelays:[];if(r.length===0)return!1;const o=await kj.queryThread(r,e,10,{inboundRefKinds:[7,9735]});if(!((n=o==null?void 0:o.events_by_depth)!=null&&n.length))return!1;const s=o.events_by_depth.flat();if(s.length===0)return!1;const a=await Oe.fetchEvents(r,{ids:s.slice(0,500),limit:s.length});return a.length>0?(this.addRepliesToThread(a),!0):!1}catch(r){return console.error("Graph query for thread failed:",r),!1}}resolveStuff(e){return typeof e=="string"?{event:void 0,externalContent:e,stuffKey:e}:{event:e,externalContent:void 0,stuffKey:Qo(e)}}};je(A0,"instance");let RM=A0;const dl=new RM,TXe="https://api.anthropic.com/v1/messages",DXe="https://api.anthropic.com/v1/models",Bde="2023-06-01",Ude="claude-sonnet-4-20250514",LXe=4096,aq=new Map,PXe=1800*1e3;async function OXe(t){const e=aq.get(t);if(e&&Date.now()-e.timestamp<PXe)return e.models;const n=[];let r;do{const o=new URL(DXe);o.searchParams.set("limit","100"),r&&o.searchParams.set("after_id",r);const s=await fetch(o.toString(),{headers:{"x-api-key":t,"anthropic-version":Bde,"anthropic-dangerous-direct-browser-access":"true"}});if(!s.ok){const l=await s.text();throw console.error("[LLM] Failed to fetch models:",s.status,l),new Error(`Failed to fetch models (${s.status})`)}const a=await s.json(),i=a.data??[];n.push(...i),r=a.has_more?a.last_id:void 0}while(r);return aq.set(t,{models:n,timestamp:Date.now()}),n}async function iq(t,e,n,r){var l;const o={model:r||Ude,max_tokens:LXe,system:e+`
2096
2097 IMPORTANT: Output ONLY the rewritten text. Do not include any commentary, explanations, notes, or preamble. Your entire response must be the rewritten text and nothing else.`,messages:[{role:"user",content:n}]};console.debug("[LLM] Sending request:",{model:o.model,systemPrompt:o.system});const s=await fetch(TXe,{method:"POST",headers:{"x-api-key":t,"anthropic-version":Bde,"content-type":"application/json","anthropic-dangerous-direct-browser-access":"true"},body:JSON.stringify(o)});if(!s.ok){const u=await s.text();throw console.error("[LLM] API error:",s.status,u),new Error(`Anthropic API error (${s.status}): ${u}`)}const a=await s.json();console.debug("[LLM] Response received:",{stopReason:a.stop_reason,model:a.model});const i=(l=a.content)==null?void 0:l.find(u=>u.type==="text");if(!(i!=null&&i.text))throw new Error("No text content in API response");return i.text}function jj({onEmojiClick:t}){const{themeSetting:e}=vf(),{isSmallScreen:n}=gn();return c.jsx(lIe,{theme:e==="system"?Vp.AUTO:e==="dark"?Vp.DARK:Vp.LIGHT,width:n?"100%":350,autoFocusSearch:!1,emojiStyle:Ci.NATIVE,skinTonePickerLocation:hg.PREVIEW,style:{"--epr-bg-color":"hsl(var(--background))","--epr-category-label-bg-color":"hsl(var(--background))","--epr-text-color":"hsl(var(--foreground))","--epr-hover-bg-color":"hsl(var(--muted) / 0.5)","--epr-picker-border-color":"transparent","--epr-search-input-bg-color":"hsl(var(--muted) / 0.5)"},suggestedEmojisMode:sy.FREQUENT,onEmojiClick:(r,o)=>{const s=xT(r.unified);t(s,o)},customEmojis:ef.getAllCustomEmojisForPicker()})}function Y7({children:t,onEmojiClick:e}){const{isSmallScreen:n}=gn(),[r,o]=h.useState(!1);return n?c.jsxs(io,{open:r,onOpenChange:o,children:[c.jsx(Sh,{asChild:!0,children:t}),c.jsx(lo,{children:c.jsx(jj,{onEmojiClick:(s,a)=>{a.stopPropagation(),o(!1),e==null||e(s)}})})]}):c.jsxs(li,{open:r,onOpenChange:o,children:[c.jsx(Ti,{asChild:!0,children:t}),c.jsx(ci,{side:"top",className:"p-0 w-fit",children:c.jsx(jj,{onEmojiClick:(s,a)=>{a.stopPropagation(),o(!1),e==null||e(s)}})})]})}function zXe({content:t,mentions:e,setMentions:n,parentEvent:r}){const{t:o}=Ke(),{isSmallScreen:s}=gn(),[a,i]=h.useState(!1),{pubkey:l}=wt(),{mutePubkeySet:u}=ns(),[d,f]=h.useState([]),[m,g]=h.useState(),[w,b]=h.useState([]);h.useEffect(()=>{BXe(t,r).then(({pubkeys:S,relatedPubkeys:I,parentEventPubkey:N})=>{const M=N!==l?N:void 0;g(M);const D=[...S,...I].filter(P=>P!==l);M&&D.push(M),f(D),b(P=>Array.from(new Set(P.filter(L=>D.includes(L)).concat(D.filter(L=>u.has(L)&&L!==M)))))})},[t,r,l,u]),h.useEffect(()=>{const S=d.filter(I=>!w.includes(I));n(S)},[d,w]);const j=h.useMemo(()=>d.map((S,I)=>{const N=d[d.length-1-I],M=N===m;return c.jsxs(FXe,{checked:M?!0:e.includes(N),onCheckedChange:D=>{M||b(D?P=>P.filter(L=>L!==N):P=>[...P,N])},disabled:M,children:[c.jsx(ec,{userId:N,size:"small"}),c.jsx(od,{userId:N,className:"font-semibold text-sm truncate",skeletonClassName:"h-3"})]},`${N}-${I}`)}),[d,m,e]);return s?c.jsxs(c.Fragment,{children:[c.jsxs(Pe,{className:"px-3",variant:"ghost",disabled:d.length===0,onClick:()=>i(!0),children:[o("Mentions")," ",d.length>0&&`(${e.length}/${d.length})`]}),c.jsxs(io,{open:a,onOpenChange:i,children:[c.jsx(cc,{onClick:()=>i(!1)}),c.jsx(lo,{className:"max-h-[80vh]",hideOverlay:!0,children:c.jsx("div",{className:"overflow-y-auto overscroll-contain py-2",style:{touchAction:"pan-y"},children:j})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsxs(Pe,{className:"px-3",variant:"ghost",disabled:d.length===0,onClick:S=>S.stopPropagation(),children:[o("Mentions")," ",d.length>0&&`(${e.length}/${d.length})`]})}),c.jsx(ci,{align:"start",className:"max-w-96 max-h-[50vh]",showScrollButtons:!0,children:j})]})}function FXe({children:t,checked:e,disabled:n,onCheckedChange:r}){const{isSmallScreen:o}=gn();return o?c.jsxs("div",{onClick:()=>{n||r(!e)},className:Te("flex items-center gap-2 px-4 py-3 clickable",n?"opacity-50 pointer-events-none":""),children:[c.jsx("div",{className:"flex items-center justify-center size-4 shrink-0",children:e&&c.jsx(Zr,{className:"size-4"})}),t]}):c.jsx(rue,{checked:e,disabled:n,onSelect:s=>s.preventDefault(),onCheckedChange:r,className:"flex items-center gap-2",children:t})}async function BXe(t,e){const n=e?e.pubkey:void 0,r=[],o=[],s=t.match(/nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+|note1[a-z0-9]{58}|nevent1[a-z0-9]+)/g),a=(i,l)=>{l!==n&&(i.includes(l)||i.push(l))};for(const i of s||[])try{const l=i.split(":")[1],{type:u,data:d}=jr.decode(l);if(u==="nprofile")a(r,d.pubkey);else if(u==="npub")a(r,d);else if(["nevent","note"].includes(u)){const f=await Oe.fetchEvent(l);f&&a(r,f.pubkey)}}catch(l){console.error(l)}return e&&e.tags.forEach(([i,l])=>{["p","P"].includes(i)&&l&&a(o,l)}),{pubkeys:r,relatedPubkeys:o.filter(i=>!r.includes(i)),parentEventPubkey:n}}const Pn=h.forwardRef(({className:t,type:e,...n},r)=>c.jsx("input",{type:e,className:Te("flex h-10 w-full rounded-lg border border-input bg-background px-3 py-2 text-base transition-all duration-200 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm hover:border-ring/50",t),ref:r,...n}));Pn.displayName="Input";function UXe(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function lq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function $de(...t){return e=>{let n=!1;const r=t.map(o=>{const s=lq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():lq(t[o],null)}}}}function $Xe(...t){return h.useCallback($de(...t),t)}function VXe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,HXe(o,...e)]}function HXe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function WXe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=YXe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function YXe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function GXe(t){const e=h.useRef({value:t,previous:t});return h.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}function qXe(t){const[e,n]=h.useState(void 0);return pr(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,i;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,i=u.blockSize}else a=t.offsetWidth,i=t.offsetHeight;n({width:a,height:i})});return r.observe(t,{box:"border-box"}),()=>r.unobserve(t)}else n(void 0)},[t]),e}var Vde=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(ZXe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(TM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(TM,{...r,ref:e,children:n})});Vde.displayName="Slot";var TM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=JXe(n);return h.cloneElement(n,{...QXe(r,n.props),ref:e?$de(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});TM.displayName="SlotClone";var KXe=({children:t})=>c.jsx(c.Fragment,{children:t});function ZXe(t){return h.isValidElement(t)&&t.type===KXe}function QXe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function JXe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var XXe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Hde=XXe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Vde:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),G7="Switch",[eet]=VXe(G7),[tet,net]=eet(G7),Wde=h.forwardRef((t,e)=>{const{__scopeSwitch:n,name:r,checked:o,defaultChecked:s,required:a,disabled:i,value:l="on",onCheckedChange:u,form:d,...f}=t,[m,g]=h.useState(null),w=$Xe(e,N=>g(N)),b=h.useRef(!1),j=m?d||!!m.closest("form"):!0,[S=!1,I]=WXe({prop:o,defaultProp:s,onChange:u});return c.jsxs(tet,{scope:n,checked:S,disabled:i,children:[c.jsx(Hde.button,{type:"button",role:"switch","aria-checked":S,"aria-required":a,"data-state":qde(S),"data-disabled":i?"":void 0,disabled:i,value:l,...f,ref:w,onClick:UXe(t.onClick,N=>{I(M=>!M),j&&(b.current=N.isPropagationStopped(),b.current||N.stopPropagation())})}),j&&c.jsx(ret,{control:m,bubbles:!b.current,name:r,value:l,checked:S,required:a,disabled:i,form:d,style:{transform:"translateX(-100%)"}})]})});Wde.displayName=G7;var Yde="SwitchThumb",Gde=h.forwardRef((t,e)=>{const{__scopeSwitch:n,...r}=t,o=net(Yde,n);return c.jsx(Hde.span,{"data-state":qde(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:e})});Gde.displayName=Yde;var ret=t=>{const{control:e,checked:n,bubbles:r=!0,...o}=t,s=h.useRef(null),a=GXe(n),i=qXe(e);return h.useEffect(()=>{const l=s.current,u=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(u,"checked").set;if(a!==n&&f){const m=new Event("click",{bubbles:r});f.call(l,n),l.dispatchEvent(m)}},[a,n,r]),c.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:s,style:{...t.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function qde(t){return t?"checked":"unchecked"}var Kde=Wde,oet=Gde;const lr=h.forwardRef(({className:t,...e},n)=>c.jsx(Kde,{className:Te("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-foreground/30",t),...e,ref:n,children:c.jsx(oet,{className:Te("pointer-events-none block h-4 w-4 rounded-full bg-background ring-0 transition-all duration-200 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));lr.displayName=Kde.displayName;const set={info:c.jsx(rL,{}),success:c.jsx(eL,{}),alert:c.jsx(aL,{})},aet={info:"bg-blue-100/20 dark:bg-blue-950/20 border border-blue-500 text-blue-500",success:"bg-green-100/20 dark:bg-green-950/20 border border-green-500 text-green-500",alert:"bg-amber-100/20 dark:bg-amber-950/20 border border-amber-500 text-amber-500"};function Cj({title:t,content:e,icon:n,variant:r="info"}){return c.jsxs("div",{className:Te("p-3 rounded-lg text-sm [&_svg]:size-4",aet[r]),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[n??set[r],c.jsx("div",{className:"font-medium",children:t})]}),e&&c.jsx("div",{className:"pl-6",children:e})]})}function iet({pollCreateData:t,setPollCreateData:e,setIsPoll:n}){const{t:r}=Ke(),[o,s]=h.useState(t.isMultipleChoice),[a,i]=h.useState(t.options),[l,u]=h.useState(t.endsAt?En(t.endsAt*1e3).format("YYYY-MM-DDTHH:mm"):""),[d,f]=h.useState(t.relays.join(", "));h.useEffect(()=>{e({isMultipleChoice:o,options:a,endsAt:l?En(l).startOf("minute").unix():void 0,relays:d?d.split(",").map(b=>so(b.trim())).filter(Boolean):[]})},[o,a,l,d]);const m=()=>{i([...a,""])},g=b=>{a.length>2&&i(a.filter((j,S)=>S!==b))},w=(b,j)=>{const S=[...a];S[b]=j,i(S)};return c.jsxs("div",{className:"space-y-4 border rounded-lg p-3",children:[c.jsxs("div",{className:"space-y-2",children:[a.map((b,j)=>c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pn,{value:b,onChange:S=>w(j,S.target.value),placeholder:r("Option {{number}}",{number:j+1})}),c.jsx(Pe,{type:"button",variant:"ghost-destructive",size:"icon",onClick:()=>g(j),disabled:a.length<=2,children:c.jsx(ia,{})})]},j)),c.jsx(Pe,{type:"button",variant:"outline",onClick:m,children:r("Add Option")})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(_t,{htmlFor:"multiple-choice",children:r("Allow multiple choices")}),c.jsx(lr,{id:"multiple-choice",checked:o,onCheckedChange:s})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(_t,{htmlFor:"ends-at",children:r("End Date (optional)")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pn,{id:"ends-at",type:"datetime-local",value:l,onChange:b=>u(b.target.value)}),c.jsx(Pe,{type:"button",variant:"ghost-destructive",size:"icon",onClick:()=>u(""),disabled:!l,title:r("Clear end date"),children:c.jsx(k7e,{})})]})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(_t,{htmlFor:"relay-urls",children:r("Relay URLs (optional, comma-separated)")}),c.jsx(Pn,{id:"relay-urls",value:d,onChange:b=>f(b.target.value),placeholder:"wss://relay1.com, wss://relay2.com"})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(Cj,{variant:"alert",title:r("This is a poll note."),content:r("Unlike regular notes, polls are not widely supported and may not display on other clients.")}),c.jsx(Pe,{variant:"ghost-destructive",className:"w-full",onClick:()=>n(!1),children:r("Remove poll")})]})]})}function cet({posting:t,show:e,addClientTag:n,setAddClientTag:r,isNsfw:o,setIsNsfw:s,minPow:a,setMinPow:i}){const{t:l}=Ke();if(h.useEffect(()=>{r(window.localStorage.getItem(xt.ADD_CLIENT_TAG)==="true")},[]),!e)return null;const u=f=>{r(f),window.localStorage.setItem(xt.ADD_CLIENT_TAG,f.toString())},d=f=>{s(f)};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(_t,{htmlFor:"add-client-tag",children:l("Add client tag")}),c.jsx(lr,{id:"add-client-tag",checked:n,onCheckedChange:u,disabled:t})]}),c.jsx("div",{className:"text-muted-foreground text-xs",children:l("Show others this was sent via Smesh")})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(_t,{htmlFor:"add-nsfw-tag",children:l("NSFW")}),c.jsx(lr,{id:"add-nsfw-tag",checked:o,onCheckedChange:d,disabled:t})]}),c.jsxs("div",{className:"grid gap-4 pb-4",children:[c.jsx(_t,{children:l("Proof of Work (difficulty {{minPow}})",{minPow:a})}),c.jsx(GS,{defaultValue:[0],value:[a],onValueChange:([f])=>i(f),max:28,step:1,disabled:t})]})]})}function td(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function q7(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,uet(o,...e)]}function uet(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function cq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Zde(...t){return e=>{let n=!1;const r=t.map(o=>{const s=cq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():cq(t[o],null)}}}}function DM(...t){return h.useCallback(Zde(...t),t)}var LM=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(det);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(PM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(PM,{...r,ref:e,children:n})});LM.displayName="Slot";var PM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=het(n);return h.cloneElement(n,{...pet(r,n.props),ref:e?Zde(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});PM.displayName="SlotClone";var fet=({children:t})=>c.jsx(c.Fragment,{children:t});function det(t){return h.isValidElement(t)&&t.type===fet}function pet(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function het(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function met(t){const e=t+"CollectionProvider",[n,r]=q7(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:w,children:b}=g,j=Be.useRef(null),S=Be.useRef(new Map).current;return c.jsx(o,{scope:w,itemMap:S,collectionRef:j,children:b})};a.displayName=e;const i=t+"CollectionSlot",l=Be.forwardRef((g,w)=>{const{scope:b,children:j}=g,S=s(i,b),I=DM(w,S.collectionRef);return c.jsx(LM,{ref:I,children:j})});l.displayName=i;const u=t+"CollectionItemSlot",d="data-radix-collection-item",f=Be.forwardRef((g,w)=>{const{scope:b,children:j,...S}=g,I=Be.useRef(null),N=DM(w,I),M=s(u,b);return Be.useEffect(()=>(M.itemMap.set(I,{ref:I,...S}),()=>void M.itemMap.delete(I))),c.jsx(LM,{[d]:"",ref:N,children:j})});f.displayName=u;function m(g){const w=s(t+"CollectionConsumer",g);return Be.useCallback(()=>{const j=w.collectionRef.current;if(!j)return[];const S=Array.from(j.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((M,D)=>S.indexOf(M.ref.current)-S.indexOf(D.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},m,r]}var get=yh.useId||(()=>{}),yet=0;function Qde(t){const[e,n]=h.useState(get());return pr(()=>{n(r=>r??String(yet++))},[t]),e?`radix-${e}`:""}function uq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function vet(...t){return e=>{let n=!1;const r=t.map(o=>{const s=uq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():uq(t[o],null)}}}}var Jde=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(bet);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(OM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(OM,{...r,ref:e,children:n})});Jde.displayName="Slot";var OM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=ket(n);return h.cloneElement(n,{...xet(r,n.props),ref:e?vet(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});OM.displayName="SlotClone";var wet=({children:t})=>c.jsx(c.Fragment,{children:t});function bet(t){return h.isValidElement(t)&&t.type===wet}function xet(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function ket(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var jet=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],av=jet.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Jde:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function Xde({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=Cet({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function Cet({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var Eet=h.createContext(void 0);function epe(t){const e=h.useContext(Eet);return t||e||"ltr"}var BA="rovingFocusGroup.onEntryFocus",Net={bubbles:!1,cancelable:!0},dE="RovingFocusGroup",[zM,tpe,Iet]=met(dE),[Aet,npe]=q7(dE,[Iet]),[_et,Met]=Aet(dE),rpe=h.forwardRef((t,e)=>c.jsx(zM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(zM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(Ret,{...t,ref:e})})}));rpe.displayName=dE;var Ret=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=t,m=h.useRef(null),g=DM(e,m),w=epe(s),[b=null,j]=Xde({prop:a,defaultProp:i,onChange:l}),[S,I]=h.useState(!1),N=or(u),M=tpe(n),D=h.useRef(!1),[P,L]=h.useState(0);return h.useEffect(()=>{const F=m.current;if(F)return F.addEventListener(BA,N),()=>F.removeEventListener(BA,N)},[N]),c.jsx(_et,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:b,onItemFocus:h.useCallback(F=>j(F),[j]),onItemShiftTab:h.useCallback(()=>I(!0),[]),onFocusableItemAdd:h.useCallback(()=>L(F=>F+1),[]),onFocusableItemRemove:h.useCallback(()=>L(F=>F-1),[]),children:c.jsx(av.div,{tabIndex:S||P===0?-1:0,"data-orientation":r,...f,ref:g,style:{outline:"none",...t.style},onMouseDown:td(t.onMouseDown,()=>{D.current=!0}),onFocus:td(t.onFocus,F=>{const T=!D.current;if(F.target===F.currentTarget&&T&&!S){const R=new CustomEvent(BA,Net);if(F.currentTarget.dispatchEvent(R),!R.defaultPrevented){const z=M().filter(ee=>ee.focusable),G=z.find(ee=>ee.active),Z=z.find(ee=>ee.id===b),U=[G,Z,...z].filter(Boolean).map(ee=>ee.ref.current);ape(U,d)}}D.current=!1}),onBlur:td(t.onBlur,()=>I(!1))})})}),ope="RovingFocusGroupItem",spe=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,...a}=t,i=Qde(),l=s||i,u=Met(ope,n),d=u.currentTabStopId===l,f=tpe(n),{onFocusableItemAdd:m,onFocusableItemRemove:g}=u;return h.useEffect(()=>{if(r)return m(),()=>g()},[r,m,g]),c.jsx(zM.ItemSlot,{scope:n,id:l,focusable:r,active:o,children:c.jsx(av.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...a,ref:e,onMouseDown:td(t.onMouseDown,w=>{r?u.onItemFocus(l):w.preventDefault()}),onFocus:td(t.onFocus,()=>u.onItemFocus(l)),onKeyDown:td(t.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){u.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const b=Let(w,u.orientation,u.dir);if(b!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let S=f().filter(I=>I.focusable).map(I=>I.ref.current);if(b==="last")S.reverse();else if(b==="prev"||b==="next"){b==="prev"&&S.reverse();const I=S.indexOf(w.currentTarget);S=u.loop?Pet(S,I+1):S.slice(I+1)}setTimeout(()=>ape(S))}})})})});spe.displayName=ope;var Tet={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Det(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function Let(t,e,n){const r=Det(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return Tet[r]}function ape(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}function Pet(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var Oet=rpe,zet=spe;function fq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Fet(...t){return e=>{let n=!1;const r=t.map(o=>{const s=fq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():fq(t[o],null)}}}}function Bet(...t){return h.useCallback(Fet(...t),t)}function Uet(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var ipe=t=>{const{present:e,children:n}=t,r=$et(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=Bet(r.ref,Vet(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};ipe.displayName="Presence";function $et(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=Uet(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=W6(r.current);s.current=i==="mounted"?u:"none"},[i]),pr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=W6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),pr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=W6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=W6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function W6(t){return(t==null?void 0:t.animationName)||"none"}function Vet(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var K7="Tabs",[Het]=q7(K7,[npe]),lpe=npe(),[Wet,Z7]=Het(K7),cpe=h.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:s,orientation:a="horizontal",dir:i,activationMode:l="automatic",...u}=t,d=epe(i),[f,m]=Xde({prop:r,onChange:o,defaultProp:s});return c.jsx(Wet,{scope:n,baseId:Qde(),value:f,onValueChange:m,orientation:a,dir:d,activationMode:l,children:c.jsx(av.div,{dir:d,"data-orientation":a,...u,ref:e})})});cpe.displayName=K7;var upe="TabsList",fpe=h.forwardRef((t,e)=>{const{__scopeTabs:n,loop:r=!0,...o}=t,s=Z7(upe,n),a=lpe(n);return c.jsx(Oet,{asChild:!0,...a,orientation:s.orientation,dir:s.dir,loop:r,children:c.jsx(av.div,{role:"tablist","aria-orientation":s.orientation,...o,ref:e})})});fpe.displayName=upe;var dpe="TabsTrigger",ppe=h.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...s}=t,a=Z7(dpe,n),i=lpe(n),l=gpe(a.baseId,r),u=ype(a.baseId,r),d=r===a.value;return c.jsx(zet,{asChild:!0,...i,focusable:!o,active:d,children:c.jsx(av.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":u,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:l,...s,ref:e,onMouseDown:td(t.onMouseDown,f=>{!o&&f.button===0&&f.ctrlKey===!1?a.onValueChange(r):f.preventDefault()}),onKeyDown:td(t.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&a.onValueChange(r)}),onFocus:td(t.onFocus,()=>{const f=a.activationMode!=="manual";!d&&!o&&f&&a.onValueChange(r)})})})});ppe.displayName=dpe;var hpe="TabsContent",mpe=h.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,forceMount:o,children:s,...a}=t,i=Z7(hpe,n),l=gpe(i.baseId,r),u=ype(i.baseId,r),d=r===i.value,f=h.useRef(d);return h.useEffect(()=>{const m=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(m)},[]),c.jsx(ipe,{present:o||d,children:({present:m})=>c.jsx(av.div,{"data-state":d?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":l,hidden:!m,id:u,tabIndex:0,...a,ref:e,style:{...t.style,animationDuration:f.current?"0s":void 0},children:m&&s})})});mpe.displayName=hpe;function gpe(t,e){return`${t}-trigger-${e}`}function ype(t,e){return`${t}-content-${e}`}var Yet=cpe,vpe=fpe,wpe=ppe,bpe=mpe;const Cx=Yet,iv=h.forwardRef(({className:t,...e},n)=>c.jsx(vpe,{ref:n,className:Te("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",t),...e}));iv.displayName=vpe.displayName;const ol=h.forwardRef(({className:t,...e},n)=>c.jsx(wpe,{ref:n,className:Te("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",t),...e}));ol.displayName=wpe.displayName;const sl=h.forwardRef(({className:t,...e},n)=>c.jsx(bpe,{ref:n,className:Te("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...e}));sl.displayName=bpe.displayName;function Zs(t){this.content=t}Zs.prototype={constructor:Zs,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?void 0:this.content[e+1]},update:function(t,e,n){var r=n&&n!=t?this.remove(n):this,o=r.find(t),s=r.content.slice();return o==-1?s.push(n||t,e):(s[o+1]=e,n&&(s[o]=n)),new Zs(s)},remove:function(t){var e=this.find(t);if(e==-1)return this;var n=this.content.slice();return n.splice(e,2),new Zs(n)},addToStart:function(t,e){return new Zs([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var n=this.remove(t).content.slice();return n.push(t,e),new Zs(n)},addBefore:function(t,e,n){var r=this.remove(e),o=r.content.slice(),s=r.find(t);return o.splice(s==-1?o.length:s,0,e,n),new Zs(o)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){return t=Zs.from(t),t.size?new Zs(t.content.concat(this.subtract(t).content)):this},append:function(t){return t=Zs.from(t),t.size?new Zs(this.subtract(t).content.concat(t.content)):this},subtract:function(t){var e=this;t=Zs.from(t);for(var n=0;n<t.content.length;n+=2)e=e.remove(t.content[n]);return e},toObject:function(){var t={};return this.forEach(function(e,n){t[e]=n}),t},get size(){return this.content.length>>1}};Zs.from=function(t){if(t instanceof Zs)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new Zs(e)};function xpe(t,e,n){for(let r=0;;r++){if(r==t.childCount||r==e.childCount)return t.childCount==e.childCount?null:n;let o=t.child(r),s=e.child(r);if(o==s){n+=o.nodeSize;continue}if(!o.sameMarkup(s))return n;if(o.isText&&o.text!=s.text){for(let a=0;o.text[a]==s.text[a];a++)n++;return n}if(o.content.size||s.content.size){let a=xpe(o.content,s.content,n+1);if(a!=null)return a}n+=o.nodeSize}}function kpe(t,e,n,r){for(let o=t.childCount,s=e.childCount;;){if(o==0||s==0)return o==s?null:{a:n,b:r};let a=t.child(--o),i=e.child(--s),l=a.nodeSize;if(a==i){n-=l,r-=l;continue}if(!a.sameMarkup(i))return{a:n,b:r};if(a.isText&&a.text!=i.text){let u=0,d=Math.min(a.text.length,i.text.length);for(;u<d&&a.text[a.text.length-u-1]==i.text[i.text.length-u-1];)u++,n--,r--;return{a:n,b:r}}if(a.content.size||i.content.size){let u=kpe(a.content,i.content,n-1,r-1);if(u)return u}n-=l,r-=l}}class Mt{constructor(e,n){if(this.content=e,this.size=n||0,n==null)for(let r=0;r<e.length;r++)this.size+=e[r].nodeSize}nodesBetween(e,n,r,o=0,s){for(let a=0,i=0;i<n;a++){let l=this.content[a],u=i+l.nodeSize;if(u>e&&r(l,o+i,s||null,a)!==!1&&l.content.size){let d=i+1;l.nodesBetween(Math.max(0,e-d),Math.min(l.content.size,n-d),r,o+d)}i=u}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,n,r,o){let s="",a=!0;return this.nodesBetween(e,n,(i,l)=>{let u=i.isText?i.text.slice(Math.max(e,l)-l,n-l):i.isLeaf?o?typeof o=="function"?o(i):o:i.type.spec.leafText?i.type.spec.leafText(i):"":"";i.isBlock&&(i.isLeaf&&u||i.isTextblock)&&r&&(a?a=!1:s+=r),s+=u},0),s}append(e){if(!e.size)return this;if(!this.size)return e;let n=this.lastChild,r=e.firstChild,o=this.content.slice(),s=0;for(n.isText&&n.sameMarkup(r)&&(o[o.length-1]=n.withText(n.text+r.text),s=1);s<e.content.length;s++)o.push(e.content[s]);return new Mt(o,this.size+e.size)}cut(e,n=this.size){if(e==0&&n==this.size)return this;let r=[],o=0;if(n>e)for(let s=0,a=0;a<n;s++){let i=this.content[s],l=a+i.nodeSize;l>e&&((a<e||l>n)&&(i.isText?i=i.cut(Math.max(0,e-a),Math.min(i.text.length,n-a)):i=i.cut(Math.max(0,e-a-1),Math.min(i.content.size,n-a-1))),r.push(i),o+=i.nodeSize),a=l}return new Mt(r,o)}cutByIndex(e,n){return e==n?Mt.empty:e==0&&n==this.content.length?this:new Mt(this.content.slice(e,n))}replaceChild(e,n){let r=this.content[e];if(r==n)return this;let o=this.content.slice(),s=this.size+n.nodeSize-r.nodeSize;return o[e]=n,new Mt(o,s)}addToStart(e){return new Mt([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new Mt(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let n=0;n<this.content.length;n++)if(!this.content[n].eq(e.content[n]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let n=this.content[e];if(!n)throw new RangeError("Index "+e+" out of range for "+this);return n}maybeChild(e){return this.content[e]||null}forEach(e){for(let n=0,r=0;n<this.content.length;n++){let o=this.content[n];e(o,r,n),r+=o.nodeSize}}findDiffStart(e,n=0){return xpe(this,e,n)}findDiffEnd(e,n=this.size,r=e.size){return kpe(this,e,n,r)}findIndex(e,n=-1){if(e==0)return Y6(0,e);if(e==this.size)return Y6(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let r=0,o=0;;r++){let s=this.child(r),a=o+s.nodeSize;if(a>=e)return a==e||n>0?Y6(r+1,a):Y6(r,o);o=a}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,n){if(!n)return Mt.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new Mt(n.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return Mt.empty;let n,r=0;for(let o=0;o<e.length;o++){let s=e[o];r+=s.nodeSize,o&&s.isText&&e[o-1].sameMarkup(s)?(n||(n=e.slice(0,o)),n[n.length-1]=s.withText(n[n.length-1].text+s.text)):n&&n.push(s)}return new Mt(n||e,r)}static from(e){if(!e)return Mt.empty;if(e instanceof Mt)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new Mt([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}Mt.empty=new Mt([],0);const UA={index:0,offset:0};function Y6(t,e){return UA.index=t,UA.offset=e,UA}function Sj(t,e){if(t===e)return!0;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return!1;let n=Array.isArray(t);if(Array.isArray(e)!=n)return!1;if(n){if(t.length!=e.length)return!1;for(let r=0;r<t.length;r++)if(!Sj(t[r],e[r]))return!1}else{for(let r in t)if(!(r in e)||!Sj(t[r],e[r]))return!1;for(let r in e)if(!(r in t))return!1}return!0}let Ur=class FM{constructor(e,n){this.type=e,this.attrs=n}addToSet(e){let n,r=!1;for(let o=0;o<e.length;o++){let s=e[o];if(this.eq(s))return e;if(this.type.excludes(s.type))n||(n=e.slice(0,o));else{if(s.type.excludes(this.type))return e;!r&&s.type.rank>this.type.rank&&(n||(n=e.slice(0,o)),n.push(this),r=!0),n&&n.push(s)}}return n||(n=e.slice()),r||n.push(this),n}removeFromSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return e.slice(0,n).concat(e.slice(n+1));return e}isInSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return!0;return!1}eq(e){return this==e||this.type==e.type&&Sj(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Mark.fromJSON");let r=e.marks[n.type];if(!r)throw new RangeError(`There is no mark type ${n.type} in this schema`);let o=r.create(n.attrs);return r.checkAttrs(o.attrs),o}static sameSet(e,n){if(e==n)return!0;if(e.length!=n.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].eq(n[r]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return FM.none;if(e instanceof FM)return[e];let n=e.slice();return n.sort((r,o)=>r.type.rank-o.type.rank),n}};Ur.none=[];class Ej extends Error{}class en{constructor(e,n,r){this.content=e,this.openStart=n,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,n){let r=Cpe(this.content,e+this.openStart,n);return r&&new en(r,this.openStart,this.openEnd)}removeBetween(e,n){return new en(jpe(this.content,e+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,n){if(!n)return en.empty;let r=n.openStart||0,o=n.openEnd||0;if(typeof r!="number"||typeof o!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new en(Mt.fromJSON(e,n.content),r,o)}static maxOpen(e,n=!0){let r=0,o=0;for(let s=e.firstChild;s&&!s.isLeaf&&(n||!s.type.spec.isolating);s=s.firstChild)r++;for(let s=e.lastChild;s&&!s.isLeaf&&(n||!s.type.spec.isolating);s=s.lastChild)o++;return new en(e,r,o)}}en.empty=new en(Mt.empty,0,0);function jpe(t,e,n){let{index:r,offset:o}=t.findIndex(e),s=t.maybeChild(r),{index:a,offset:i}=t.findIndex(n);if(o==e||s.isText){if(i!=n&&!t.child(a).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(r!=a)throw new RangeError("Removing non-flat range");return t.replaceChild(r,s.copy(jpe(s.content,e-o-1,n-o-1)))}function Cpe(t,e,n,r){let{index:o,offset:s}=t.findIndex(e),a=t.maybeChild(o);if(s==e||a.isText)return t.cut(0,e).append(n).append(t.cut(e));let i=Cpe(a.content,e-s-1,n);return i&&t.replaceChild(o,a.copy(i))}function Get(t,e,n){if(n.openStart>t.depth)throw new Ej("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new Ej("Inconsistent open depths");return Spe(t,e,n,0)}function Spe(t,e,n,r){let o=t.index(r),s=t.node(r);if(o==e.index(r)&&r<t.depth-n.openStart){let a=Spe(t,e,n,r+1);return s.copy(s.content.replaceChild(o,a))}else if(n.content.size)if(!n.openStart&&!n.openEnd&&t.depth==r&&e.depth==r){let a=t.parent,i=a.content;return Xm(a,i.cut(0,t.parentOffset).append(n.content).append(i.cut(e.parentOffset)))}else{let{start:a,end:i}=qet(n,t);return Xm(s,Npe(t,a,i,e,r))}else return Xm(s,Nj(t,e,r))}function Epe(t,e){if(!e.type.compatibleContent(t.type))throw new Ej("Cannot join "+e.type.name+" onto "+t.type.name)}function BM(t,e,n){let r=t.node(n);return Epe(r,e.node(n)),r}function Jm(t,e){let n=e.length-1;n>=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function rb(t,e,n,r){let o=(e||t).node(n),s=0,a=e?e.index(n):o.childCount;t&&(s=t.index(n),t.depth>n?s++:t.textOffset&&(Jm(t.nodeAfter,r),s++));for(let i=s;i<a;i++)Jm(o.child(i),r);e&&e.depth==n&&e.textOffset&&Jm(e.nodeBefore,r)}function Xm(t,e){return t.type.checkContent(e),t.copy(e)}function Npe(t,e,n,r,o){let s=t.depth>o&&BM(t,e,o+1),a=r.depth>o&&BM(n,r,o+1),i=[];return rb(null,t,o,i),s&&a&&e.index(o)==n.index(o)?(Epe(s,a),Jm(Xm(s,Npe(t,e,n,r,o+1)),i)):(s&&Jm(Xm(s,Nj(t,e,o+1)),i),rb(e,n,o,i),a&&Jm(Xm(a,Nj(n,r,o+1)),i)),rb(r,null,o,i),new Mt(i)}function Nj(t,e,n){let r=[];if(rb(null,t,n,r),t.depth>n){let o=BM(t,e,n+1);Jm(Xm(o,Nj(t,e,n+1)),r)}return rb(e,null,n,r),new Mt(r)}function qet(t,e){let n=e.depth-t.openStart,o=e.node(n).copy(t.content);for(let s=n-1;s>=0;s--)o=e.node(s).copy(Mt.from(o));return{start:o.resolveNoCache(t.openStart+n),end:o.resolveNoCache(o.content.size-t.openEnd-n)}}class d2{constructor(e,n,r){this.pos=e,this.path=n,this.parentOffset=r,this.depth=n.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;let r=this.pos-this.path[this.path.length-1],o=e.child(n);return r?e.child(n).cut(r):o}get nodeBefore(){let e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):e==0?null:this.parent.child(e-1)}posAtIndex(e,n){n=this.resolveDepth(n);let r=this.path[n*3],o=n==0?0:this.path[n*3-1]+1;for(let s=0;s<e;s++)o+=r.child(s).nodeSize;return o}marks(){let e=this.parent,n=this.index();if(e.content.size==0)return Ur.none;if(this.textOffset)return e.child(n).marks;let r=e.maybeChild(n-1),o=e.maybeChild(n);if(!r){let i=r;r=o,o=i}let s=r.marks;for(var a=0;a<s.length;a++)s[a].type.spec.inclusive===!1&&(!o||!s[a].isInSet(o.marks))&&(s=s[a--].removeFromSet(s));return s}marksAcross(e){let n=this.parent.maybeChild(this.index());if(!n||!n.isInline)return null;let r=n.marks,o=e.parent.maybeChild(e.index());for(var s=0;s<r.length;s++)r[s].type.spec.inclusive===!1&&(!o||!r[s].isInSet(o.marks))&&(r=r[s--].removeFromSet(r));return r}sharedDepth(e){for(let n=this.depth;n>0;n--)if(this.start(n)<=e&&this.end(n)>=e)return n;return 0}blockRange(e=this,n){if(e.pos<this.pos)return e.blockRange(this);for(let r=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);r>=0;r--)if(e.pos<=this.end(r)&&(!n||n(this.node(r))))return new Ij(this,e,r);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let n=1;n<=this.depth;n++)e+=(e?"/":"")+this.node(n).type.name+"_"+this.index(n-1);return e+":"+this.parentOffset}static resolve(e,n){if(!(n>=0&&n<=e.content.size))throw new RangeError("Position "+n+" out of range");let r=[],o=0,s=n;for(let a=e;;){let{index:i,offset:l}=a.content.findIndex(s),u=s-l;if(r.push(a,i,o+l),!u||(a=a.child(i),a.isText))break;s=u-1,o+=l+1}return new d2(n,r,s)}static resolveCached(e,n){let r=dq.get(e);if(r)for(let s=0;s<r.elts.length;s++){let a=r.elts[s];if(a.pos==n)return a}else dq.set(e,r=new Ket);let o=r.elts[r.i]=d2.resolve(e,n);return r.i=(r.i+1)%Zet,o}}class Ket{constructor(){this.elts=[],this.i=0}}const Zet=12,dq=new WeakMap;class Ij{constructor(e,n,r){this.$from=e,this.$to=n,this.depth=r}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const Qet=Object.create(null);let Gp=class UM{constructor(e,n,r,o=Ur.none){this.type=e,this.attrs=n,this.marks=o,this.content=r||Mt.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,n,r,o=0){this.content.nodesBetween(e,n,r,o,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,n,r,o){return this.content.textBetween(e,n,r,o)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,n,r){return this.type==e&&Sj(this.attrs,n||e.defaultAttrs||Qet)&&Ur.sameSet(this.marks,r||Ur.none)}copy(e=null){return e==this.content?this:new UM(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new UM(this.type,this.attrs,this.content,e)}cut(e,n=this.content.size){return e==0&&n==this.content.size?this:this.copy(this.content.cut(e,n))}slice(e,n=this.content.size,r=!1){if(e==n)return en.empty;let o=this.resolve(e),s=this.resolve(n),a=r?0:o.sharedDepth(n),i=o.start(a),u=o.node(a).content.cut(o.pos-i,s.pos-i);return new en(u,o.depth-a,s.depth-a)}replace(e,n,r){return Get(this.resolve(e),this.resolve(n),r)}nodeAt(e){for(let n=this;;){let{index:r,offset:o}=n.content.findIndex(e);if(n=n.maybeChild(r),!n)return null;if(o==e||n.isText)return n;e-=o+1}}childAfter(e){let{index:n,offset:r}=this.content.findIndex(e);return{node:this.content.maybeChild(n),index:n,offset:r}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:n,offset:r}=this.content.findIndex(e);if(r<e)return{node:this.content.child(n),index:n,offset:r};let o=this.content.child(n-1);return{node:o,index:n-1,offset:r-o.nodeSize}}resolve(e){return d2.resolveCached(this,e)}resolveNoCache(e){return d2.resolve(this,e)}rangeHasMark(e,n,r){let o=!1;return n>e&&this.nodesBetween(e,n,s=>(r.isInSet(s.marks)&&(o=!0),!o)),o}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),Ipe(this.marks,e)}contentMatchAt(e){let n=this.type.contentMatch.matchFragment(this.content,0,e);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(e,n,r=Mt.empty,o=0,s=r.childCount){let a=this.contentMatchAt(e).matchFragment(r,o,s),i=a&&a.matchFragment(this.content,n);if(!i||!i.validEnd)return!1;for(let l=o;l<s;l++)if(!this.type.allowsMarks(r.child(l).marks))return!1;return!0}canReplaceWith(e,n,r,o){if(o&&!this.type.allowsMarks(o))return!1;let s=this.contentMatchAt(e).matchType(r),a=s&&s.matchFragment(this.content,n);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=Ur.none;for(let n=0;n<this.marks.length;n++){let r=this.marks[n];r.type.checkAttrs(r.attrs),e=r.addToSet(e)}if(!Ur.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(n=>n.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(n=>n.toJSON())),e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let r;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=n.marks.map(e.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(n.text,r)}let o=Mt.fromJSON(e,n.content),s=e.nodeType(n.type).create(n.attrs,o,r);return s.type.checkAttrs(s.attrs),s}};Gp.prototype.text=void 0;class Aj extends Gp{constructor(e,n,r,o){if(super(e,n,null,o),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Ipe(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,n){return this.text.slice(e,n)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new Aj(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new Aj(this.type,this.attrs,e,this.marks)}cut(e=0,n=this.text.length){return e==0&&n==this.text.length?this:this.withText(this.text.slice(e,n))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function Ipe(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}class Mg{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,n){let r=new Jet(e,n);if(r.next==null)return Mg.empty;let o=Ape(r);r.next&&r.err("Unexpected trailing text");let s=stt(ott(o));return att(s,r),s}matchType(e){for(let n=0;n<this.next.length;n++)if(this.next[n].type==e)return this.next[n].next;return null}matchFragment(e,n=0,r=e.childCount){let o=this;for(let s=n;o&&s<r;s++)o=o.matchType(e.child(s).type);return o}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:n}=this.next[e];if(!(n.isText||n.hasRequiredAttrs()))return n}return null}compatible(e){for(let n=0;n<this.next.length;n++)for(let r=0;r<e.next.length;r++)if(this.next[n].type==e.next[r].type)return!0;return!1}fillBefore(e,n=!1,r=0){let o=[this];function s(a,i){let l=a.matchFragment(e,r);if(l&&(!n||l.validEnd))return Mt.from(i.map(u=>u.createAndFill()));for(let u=0;u<a.next.length;u++){let{type:d,next:f}=a.next[u];if(!(d.isText||d.hasRequiredAttrs())&&o.indexOf(f)==-1){o.push(f);let m=s(f,i.concat(d));if(m)return m}}return null}return s(this,[])}findWrapping(e){for(let r=0;r<this.wrapCache.length;r+=2)if(this.wrapCache[r]==e)return this.wrapCache[r+1];let n=this.computeWrapping(e);return this.wrapCache.push(e,n),n}computeWrapping(e){let n=Object.create(null),r=[{match:this,type:null,via:null}];for(;r.length;){let o=r.shift(),s=o.match;if(s.matchType(e)){let a=[];for(let i=o;i.type;i=i.via)a.push(i.type);return a.reverse()}for(let a=0;a<s.next.length;a++){let{type:i,next:l}=s.next[a];!i.isLeaf&&!i.hasRequiredAttrs()&&!(i.name in n)&&(!o.type||l.validEnd)&&(r.push({match:i.contentMatch,type:i,via:o}),n[i.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function n(r){e.push(r);for(let o=0;o<r.next.length;o++)e.indexOf(r.next[o].next)==-1&&n(r.next[o].next)}return n(this),e.map((r,o)=>{let s=o+(r.validEnd?"*":" ")+" ";for(let a=0;a<r.next.length;a++)s+=(a?", ":"")+r.next[a].type.name+"->"+e.indexOf(r.next[a].next);return s}).join(`
2098 `)}}Mg.empty=new Mg(!0);class Jet{constructor(e,n){this.string=e,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}}function Ape(t){let e=[];do e.push(Xet(t));while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function Xet(t){let e=[];do e.push(ett(t));while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function ett(t){let e=rtt(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=ttt(t,e);else break;return e}function pq(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function ttt(t,e){let n=pq(t),r=n;return t.eat(",")&&(t.next!="}"?r=pq(t):r=-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:e}}function ntt(t,e){let n=t.nodeTypes,r=n[e];if(r)return[r];let o=[];for(let s in n){let a=n[s];a.isInGroup(e)&&o.push(a)}return o.length==0&&t.err("No node type or group '"+e+"' found"),o}function rtt(t){if(t.eat("(")){let e=Ape(t);return t.eat(")")||t.err("Missing closing paren"),e}else if(/\W/.test(t.next))t.err("Unexpected token '"+t.next+"'");else{let e=ntt(t,t.next).map(n=>(t.inline==null?t.inline=n.isInline:t.inline!=n.isInline&&t.err("Mixing inline and block content"),{type:"name",value:n}));return t.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function ott(t){let e=[[]];return o(s(t,0),n()),e;function n(){return e.push([])-1}function r(a,i,l){let u={term:l,to:i};return e[a].push(u),u}function o(a,i){a.forEach(l=>l.to=i)}function s(a,i){if(a.type=="choice")return a.exprs.reduce((l,u)=>l.concat(s(u,i)),[]);if(a.type=="seq")for(let l=0;;l++){let u=s(a.exprs[l],i);if(l==a.exprs.length-1)return u;o(u,i=n())}else if(a.type=="star"){let l=n();return r(i,l),o(s(a.expr,l),l),[r(l)]}else if(a.type=="plus"){let l=n();return o(s(a.expr,i),l),o(s(a.expr,l),l),[r(l)]}else{if(a.type=="opt")return[r(i)].concat(s(a.expr,i));if(a.type=="range"){let l=i;for(let u=0;u<a.min;u++){let d=n();o(s(a.expr,l),d),l=d}if(a.max==-1)o(s(a.expr,l),l);else for(let u=a.min;u<a.max;u++){let d=n();r(l,d),o(s(a.expr,l),d),l=d}return[r(l)]}else{if(a.type=="name")return[r(i,void 0,a.value)];throw new Error("Unknown expr type")}}}}function _pe(t,e){return e-t}function hq(t,e){let n=[];return r(e),n.sort(_pe);function r(o){let s=t[o];if(s.length==1&&!s[0].term)return r(s[0].to);n.push(o);for(let a=0;a<s.length;a++){let{term:i,to:l}=s[a];!i&&n.indexOf(l)==-1&&r(l)}}}function stt(t){let e=Object.create(null);return n(hq(t,0));function n(r){let o=[];r.forEach(a=>{t[a].forEach(({term:i,to:l})=>{if(!i)return;let u;for(let d=0;d<o.length;d++)o[d][0]==i&&(u=o[d][1]);hq(t,l).forEach(d=>{u||o.push([i,u=[]]),u.indexOf(d)==-1&&u.push(d)})})});let s=e[r.join(",")]=new Mg(r.indexOf(t.length-1)>-1);for(let a=0;a<o.length;a++){let i=o[a][1].sort(_pe);s.next.push({type:o[a][0],next:e[i.join(",")]||n(i)})}return s}}function att(t,e){for(let n=0,r=[t];n<r.length;n++){let o=r[n],s=!o.validEnd,a=[];for(let i=0;i<o.next.length;i++){let{type:l,next:u}=o.next[i];a.push(l.name),s&&!(l.isText||l.hasRequiredAttrs())&&(s=!1),r.indexOf(u)==-1&&r.push(u)}s&&e.err("Only non-generatable nodes ("+a.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function Mpe(t){let e=Object.create(null);for(let n in t){let r=t[n];if(!r.hasDefault)return null;e[n]=r.default}return e}function Rpe(t,e){let n=Object.create(null);for(let r in t){let o=e&&e[r];if(o===void 0){let s=t[r];if(s.hasDefault)o=s.default;else throw new RangeError("No value supplied for attribute "+r)}n[r]=o}return n}function Tpe(t,e,n,r){for(let o in e)if(!(o in t))throw new RangeError(`Unsupported attribute ${o} for ${n} of type ${o}`);for(let o in t){let s=t[o];s.validate&&s.validate(e[o])}}function Dpe(t,e){let n=Object.create(null);if(e)for(let r in e)n[r]=new ltt(t,r,e[r]);return n}let mq=class Lpe{constructor(e,n,r){this.name=e,this.schema=n,this.spec=r,this.markSet=null,this.groups=r.group?r.group.split(" "):[],this.attrs=Dpe(e,r.attrs),this.defaultAttrs=Mpe(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(r.inline||e=="text"),this.isText=e=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Mg.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:Rpe(this.attrs,e)}create(e=null,n,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Gp(this,this.computeAttrs(e),Mt.from(n),Ur.setFrom(r))}createChecked(e=null,n,r){return n=Mt.from(n),this.checkContent(n),new Gp(this,this.computeAttrs(e),n,Ur.setFrom(r))}createAndFill(e=null,n,r){if(e=this.computeAttrs(e),n=Mt.from(n),n.size){let a=this.contentMatch.fillBefore(n);if(!a)return null;n=a.append(n)}let o=this.contentMatch.matchFragment(n),s=o&&o.fillBefore(Mt.empty,!0);return s?new Gp(this,e,n.append(s),Ur.setFrom(r)):null}validContent(e){let n=this.contentMatch.matchFragment(e);if(!n||!n.validEnd)return!1;for(let r=0;r<e.childCount;r++)if(!this.allowsMarks(e.child(r).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw new RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){Tpe(this.attrs,e,"node",this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let n=0;n<e.length;n++)if(!this.allowsMarkType(e[n].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let n;for(let r=0;r<e.length;r++)this.allowsMarkType(e[r].type)?n&&n.push(e[r]):n||(n=e.slice(0,r));return n?n.length?n:Ur.none:e}static compile(e,n){let r=Object.create(null);e.forEach((s,a)=>r[s]=new Lpe(s,n,a));let o=n.spec.topNode||"doc";if(!r[o])throw new RangeError("Schema is missing its top node type ('"+o+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let s in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}};function itt(t,e,n){let r=n.split("|");return o=>{let s=o===null?"null":typeof o;if(r.indexOf(s)<0)throw new RangeError(`Expected value of type ${r} for attribute ${e} on type ${t}, got ${s}`)}}class ltt{constructor(e,n,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default,this.validate=typeof r.validate=="string"?itt(e,n,r.validate):r.validate}get isRequired(){return!this.hasDefault}}class pE{constructor(e,n,r,o){this.name=e,this.rank=n,this.schema=r,this.spec=o,this.attrs=Dpe(e,o.attrs),this.excluded=null;let s=Mpe(this.attrs);this.instance=s?new Ur(this,s):null}create(e=null){return!e&&this.instance?this.instance:new Ur(this,Rpe(this.attrs,e))}static compile(e,n){let r=Object.create(null),o=0;return e.forEach((s,a)=>r[s]=new pE(s,o++,n,a)),r}removeFromSet(e){for(var n=0;n<e.length;n++)e[n].type==this&&(e=e.slice(0,n).concat(e.slice(n+1)),n--);return e}isInSet(e){for(let n=0;n<e.length;n++)if(e[n].type==this)return e[n]}checkAttrs(e){Tpe(this.attrs,e,"mark",this.name)}excludes(e){return this.excluded.indexOf(e)>-1}}class Ppe{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let o in e)n[o]=e[o];n.nodes=Zs.from(e.nodes),n.marks=Zs.from(e.marks||{}),this.nodes=mq.compile(this.spec.nodes,this),this.marks=pE.compile(this.spec.marks,this);let r=Object.create(null);for(let o in this.nodes){if(o in this.marks)throw new RangeError(o+" can not be both a node and a mark");let s=this.nodes[o],a=s.spec.content||"",i=s.spec.marks;if(s.contentMatch=r[a]||(r[a]=Mg.parse(a,this.nodes)),s.inlineContent=s.contentMatch.inlineContent,s.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!s.isInline||!s.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=s}s.markSet=i=="_"?null:i?gq(this,i.split(" ")):i==""||!s.inlineContent?[]:null}for(let o in this.marks){let s=this.marks[o],a=s.spec.excludes;s.excluded=a==null?[s]:a==""?[]:gq(this,a.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,n=null,r,o){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof mq){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(n,r,o)}text(e,n){let r=this.nodes.text;return new Aj(r,r.defaultAttrs,e,Ur.setFrom(n))}mark(e,n){return typeof e=="string"&&(e=this.marks[e]),e.create(n)}nodeFromJSON(e){return Gp.fromJSON(this,e)}markFromJSON(e){return Ur.fromJSON(this,e)}nodeType(e){let n=this.nodes[e];if(!n)throw new RangeError("Unknown node type: "+e);return n}}function gq(t,e){let n=[];for(let r=0;r<e.length;r++){let o=e[r],s=t.marks[o],a=s;if(s)n.push(s);else for(let i in t.marks){let l=t.marks[i];(o=="_"||l.spec.group&&l.spec.group.split(" ").indexOf(o)>-1)&&n.push(a=l)}if(!a)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return n}function ctt(t){return t.tag!=null}function utt(t){return t.style!=null}let ob=class $M{constructor(e,n){this.schema=e,this.rules=n,this.tags=[],this.styles=[];let r=this.matchedStyles=[];n.forEach(o=>{if(ctt(o))this.tags.push(o);else if(utt(o)){let s=/[^=]*/.exec(o.style)[0];r.indexOf(s)<0&&r.push(s),this.styles.push(o)}}),this.normalizeLists=!this.tags.some(o=>{if(!/^(ul|ol)\b/.test(o.tag)||!o.node)return!1;let s=e.nodes[o.node];return s.contentMatch.matchType(s)})}parse(e,n={}){let r=new vq(this,n,!1);return r.addAll(e,Ur.none,n.from,n.to),r.finish()}parseSlice(e,n={}){let r=new vq(this,n,!0);return r.addAll(e,Ur.none,n.from,n.to),en.maxOpen(r.finish())}matchTag(e,n,r){for(let o=r?this.tags.indexOf(r)+1:0;o<this.tags.length;o++){let s=this.tags[o];if(ptt(e,s.tag)&&(s.namespace===void 0||e.namespaceURI==s.namespace)&&(!s.context||n.matchesContext(s.context))){if(s.getAttrs){let a=s.getAttrs(e);if(a===!1)continue;s.attrs=a||void 0}return s}}}matchStyle(e,n,r,o){for(let s=o?this.styles.indexOf(o)+1:0;s<this.styles.length;s++){let a=this.styles[s],i=a.style;if(!(i.indexOf(e)!=0||a.context&&!r.matchesContext(a.context)||i.length>e.length&&(i.charCodeAt(e.length)!=61||i.slice(e.length+1)!=n))){if(a.getAttrs){let l=a.getAttrs(n);if(l===!1)continue;a.attrs=l||void 0}return a}}}static schemaRules(e){let n=[];function r(o){let s=o.priority==null?50:o.priority,a=0;for(;a<n.length;a++){let i=n[a];if((i.priority==null?50:i.priority)<s)break}n.splice(a,0,o)}for(let o in e.marks){let s=e.marks[o].spec.parseDOM;s&&s.forEach(a=>{r(a=wq(a)),a.mark||a.ignore||a.clearMark||(a.mark=o)})}for(let o in e.nodes){let s=e.nodes[o].spec.parseDOM;s&&s.forEach(a=>{r(a=wq(a)),a.node||a.ignore||a.mark||(a.node=o)})}return n}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new $M(e,$M.schemaRules(e)))}};const Ope={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},ftt={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},zpe={ol:!0,ul:!0},p2=1,VM=2,sb=4;function yq(t,e,n){return e!=null?(e?p2:0)|(e==="full"?VM:0):t&&t.whitespace=="pre"?p2|VM:n&~sb}class G6{constructor(e,n,r,o,s,a){this.type=e,this.attrs=n,this.marks=r,this.solid=o,this.options=a,this.content=[],this.activeMarks=Ur.none,this.match=s||(a&sb?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(Mt.from(e));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let r=this.type.contentMatch,o;return(o=r.findWrapping(e.type))?(this.match=r,o):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&p2)){let r=this.content[this.content.length-1],o;if(r&&r.isText&&(o=/[ \t\r\n\u000c]+$/.exec(r.text))){let s=r;r.text.length==o[0].length?this.content.pop():this.content[this.content.length-1]=s.withText(s.text.slice(0,s.text.length-o[0].length))}}let n=Mt.from(this.content);return!e&&this.match&&(n=n.append(this.match.fillBefore(Mt.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!Ope.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}}class vq{constructor(e,n,r){this.parser=e,this.options=n,this.isOpen=r,this.open=0,this.localPreserveWS=!1;let o=n.topNode,s,a=yq(null,n.preserveWhitespace,0)|(r?sb:0);o?s=new G6(o.type,o.attrs,Ur.none,!0,n.topMatch||o.type.contentMatch,a):r?s=new G6(null,null,Ur.none,!0,null,a):s=new G6(e.schema.topNodeType,null,Ur.none,!0,null,a),this.nodes=[s],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,n){e.nodeType==3?this.addTextNode(e,n):e.nodeType==1&&this.addElement(e,n)}addTextNode(e,n){let r=e.nodeValue,o=this.top,s=o.options&VM?"full":this.localPreserveWS||(o.options&p2)>0;if(s==="full"||o.inlineContext(e)||/[^ \t\r\n\u000c]/.test(r)){if(s)s!=="full"?r=r.replace(/\r?\n|\r/g," "):r=r.replace(/\r\n?/g,`
2099 `);else if(r=r.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(r)&&this.open==this.nodes.length-1){let a=o.content[o.content.length-1],i=e.previousSibling;(!a||i&&i.nodeName=="BR"||a.isText&&/[ \t\r\n\u000c]$/.test(a.text))&&(r=r.slice(1))}r&&this.insertNode(this.parser.schema.text(r),n,!/\S/.test(r)),this.findInText(e)}else this.findInside(e)}addElement(e,n,r){let o=this.localPreserveWS,s=this.top;(e.tagName=="PRE"||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),i;zpe.hasOwnProperty(a)&&this.parser.normalizeLists&&dtt(e);let l=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(i=this.parser.matchTag(e,this,r));e:if(l?l.ignore:ftt.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,n);else if(!l||l.skip||l.closeParent){l&&l.closeParent?this.open=Math.max(0,this.open-1):l&&l.skip.nodeType&&(e=l.skip);let u,d=this.needsBlock;if(Ope.hasOwnProperty(a))s.content.length&&s.content[0].isInline&&this.open&&(this.open--,s=this.top),u=!0,s.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,n);break e}let f=l&&l.skip?n:this.readStyles(e,n);f&&this.addAll(e,f),u&&this.sync(s),this.needsBlock=d}else{let u=this.readStyles(e,n);u&&this.addElementByRule(e,l,u,l.consuming===!1?i:void 0)}this.localPreserveWS=o}leafFallback(e,n){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
2100 `),n)}ignoreFallback(e,n){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),n,!0)}readStyles(e,n){let r=e.style;if(r&&r.length)for(let o=0;o<this.parser.matchedStyles.length;o++){let s=this.parser.matchedStyles[o],a=r.getPropertyValue(s);if(a)for(let i=void 0;;){let l=this.parser.matchStyle(s,a,this,i);if(!l)break;if(l.ignore)return null;if(l.clearMark?n=n.filter(u=>!l.clearMark(u)):n=n.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)i=l;else break}}return n}addElementByRule(e,n,r,o){let s,a;if(n.node)if(a=this.parser.schema.nodes[n.node],a.isLeaf)this.insertNode(a.create(n.attrs),r,e.nodeName=="BR")||this.leafFallback(e,r);else{let l=this.enter(a,n.attrs||null,r,n.preserveWhitespace);l&&(s=!0,r=l)}else{let l=this.parser.schema.marks[n.mark];r=r.concat(l.create(n.attrs))}let i=this.top;if(a&&a.isLeaf)this.findInside(e);else if(o)this.addElement(e,r,o);else if(n.getContent)this.findInside(e),n.getContent(e,this.parser.schema).forEach(l=>this.insertNode(l,r,!1));else{let l=e;typeof n.contentElement=="string"?l=e.querySelector(n.contentElement):typeof n.contentElement=="function"?l=n.contentElement(e):n.contentElement&&(l=n.contentElement),this.findAround(e,l,!0),this.addAll(l,r),this.findAround(e,l,!1)}s&&this.sync(i)&&this.open--}addAll(e,n,r,o){let s=r||0;for(let a=r?e.childNodes[r]:e.firstChild,i=o==null?null:e.childNodes[o];a!=i;a=a.nextSibling,++s)this.findAtPoint(e,s),this.addDOM(a,n);this.findAtPoint(e,s)}findPlace(e,n,r){let o,s;for(let a=this.open,i=0;a>=0;a--){let l=this.nodes[a],u=l.findWrapping(e);if(u&&(!o||o.length>u.length+i)&&(o=u,s=l,!u.length))break;if(l.solid){if(r)break;i+=2}}if(!o)return null;this.sync(s);for(let a=0;a<o.length;a++)n=this.enterInner(o[a],null,n,!1);return n}insertNode(e,n,r){if(e.isInline&&this.needsBlock&&!this.top.type){let s=this.textblockFromContext();s&&(n=this.enterInner(s,null,n))}let o=this.findPlace(e,n,r);if(o){this.closeExtra();let s=this.top;s.match&&(s.match=s.match.matchType(e.type));let a=Ur.none;for(let i of o.concat(e.marks))(s.type?s.type.allowsMarkType(i.type):bq(i.type,e.type))&&(a=i.addToSet(a));return s.content.push(e.mark(a)),!0}return!1}enter(e,n,r,o){let s=this.findPlace(e.create(n),r,!1);return s&&(s=this.enterInner(e,n,r,!0,o)),s}enterInner(e,n,r,o=!1,s){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let i=yq(e,s,a.options);a.options&sb&&a.content.length==0&&(i|=sb);let l=Ur.none;return r=r.filter(u=>(a.type?a.type.allowsMarkType(u.type):bq(u.type,e))?(l=u.addToSet(l),!1):!0),this.nodes.push(new G6(e,n,l,o,null,i)),this.open++,r}closeExtra(e=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let n=this.open;n>=0;n--){if(this.nodes[n]==e)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=p2)}return!1}get currentPos(){this.closeExtra();let e=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let o=r.length-1;o>=0;o--)e+=r[o].nodeSize;n&&e++}return e}findAtPoint(e,n){if(this.find)for(let r=0;r<this.find.length;r++)this.find[r].node==e&&this.find[r].offset==n&&(this.find[r].pos=this.currentPos)}findInside(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].pos==null&&e.nodeType==1&&e.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)}findAround(e,n,r){if(e!=n&&this.find)for(let o=0;o<this.find.length;o++)this.find[o].pos==null&&e.nodeType==1&&e.contains(this.find[o].node)&&n.compareDocumentPosition(this.find[o].node)&(r?2:4)&&(this.find[o].pos=this.currentPos)}findInText(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&(this.find[n].pos=this.currentPos-(e.nodeValue.length-this.find[n].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let n=e.split("/"),r=this.options.context,o=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),s=-(r?r.depth+1:0)+(o?0:1),a=(i,l)=>{for(;i>=0;i--){let u=n[i];if(u==""){if(i==n.length-1||i==0)continue;for(;l>=s;l--)if(a(i-1,l))return!0;return!1}else{let d=l>0||l==0&&o?this.nodes[l].type:r&&l>=s?r.node(l-s).type:null;if(!d||d.name!=u&&!d.isInGroup(u))return!1;l--}}return!0};return a(n.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let n=e.depth;n>=0;n--){let r=e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}}function dtt(t){for(let e=t.firstChild,n=null;e;e=e.nextSibling){let r=e.nodeType==1?e.nodeName.toLowerCase():null;r&&zpe.hasOwnProperty(r)&&n?(n.appendChild(e),e=n):r=="li"?n=e:r&&(n=null)}}function ptt(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function wq(t){let e={};for(let n in t)e[n]=t[n];return e}function bq(t,e){let n=e.schema.nodes;for(let r in n){let o=n[r];if(!o.allowsMarkType(t))continue;let s=[],a=i=>{s.push(i);for(let l=0;l<i.edgeCount;l++){let{type:u,next:d}=i.edge(l);if(u==e||s.indexOf(d)<0&&a(d))return!0}};if(a(o.contentMatch))return!0}}class t1{constructor(e,n){this.nodes=e,this.marks=n}serializeFragment(e,n={},r){r||(r=$A(n).createDocumentFragment());let o=r,s=[];return e.forEach(a=>{if(s.length||a.marks.length){let i=0,l=0;for(;i<s.length&&l<a.marks.length;){let u=a.marks[l];if(!this.marks[u.type.name]){l++;continue}if(!u.eq(s[i][0])||u.type.spec.spanning===!1)break;i++,l++}for(;i<s.length;)o=s.pop()[1];for(;l<a.marks.length;){let u=a.marks[l++],d=this.serializeMark(u,a.isInline,n);d&&(s.push([u,o]),o.appendChild(d.dom),o=d.contentDOM||d.dom)}}o.appendChild(this.serializeNodeInner(a,n))}),r}serializeNodeInner(e,n){let{dom:r,contentDOM:o}=G3($A(n),this.nodes[e.type.name](e),null,e.attrs);if(o){if(e.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(e.content,n,o)}return r}serializeNode(e,n={}){let r=this.serializeNodeInner(e,n);for(let o=e.marks.length-1;o>=0;o--){let s=this.serializeMark(e.marks[o],e.isInline,n);s&&((s.contentDOM||s.dom).appendChild(r),r=s.dom)}return r}serializeMark(e,n,r={}){let o=this.marks[e.type.name];return o&&G3($A(r),o(e,n),null,e.attrs)}static renderSpec(e,n,r=null,o){return G3(e,n,r,o)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new t1(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let n=xq(e.nodes);return n.text||(n.text=r=>r.text),n}static marksFromSchema(e){return xq(e.marks)}}function xq(t){let e={};for(let n in t){let r=t[n].spec.toDOM;r&&(e[n]=r)}return e}function $A(t){return t.document||window.document}const kq=new WeakMap;function htt(t){let e=kq.get(t);return e===void 0&&kq.set(t,e=mtt(t)),e}function mtt(t){let e=null;function n(r){if(r&&typeof r=="object")if(Array.isArray(r))if(typeof r[0]=="string")e||(e=[]),e.push(r);else for(let o=0;o<r.length;o++)n(r[o]);else for(let o in r)n(r[o])}return n(t),e}function G3(t,e,n,r){if(typeof e=="string")return{dom:t.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let o=e[0],s;if(typeof o!="string")throw new RangeError("Invalid array passed to renderSpec");if(r&&(s=htt(r))&&s.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let a=o.indexOf(" ");a>0&&(n=o.slice(0,a),o=o.slice(a+1));let i,l=n?t.createElementNS(n,o):t.createElement(o),u=e[1],d=1;if(u&&typeof u=="object"&&u.nodeType==null&&!Array.isArray(u)){d=2;for(let f in u)if(u[f]!=null){let m=f.indexOf(" ");m>0?l.setAttributeNS(f.slice(0,m),f.slice(m+1),u[f]):l.setAttribute(f,u[f])}}for(let f=d;f<e.length;f++){let m=e[f];if(m===0){if(f<e.length-1||f>d)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else{let{dom:g,contentDOM:w}=G3(t,m,n,r);if(l.appendChild(g),w){if(i)throw new RangeError("Multiple content holes");i=w}}}return{dom:l,contentDOM:i}}const Fpe=65535,Bpe=Math.pow(2,16);function gtt(t,e){return t+e*Bpe}function jq(t){return t&Fpe}function ytt(t){return(t-(t&Fpe))/Bpe}const Upe=1,$pe=2,q3=4,Vpe=8;class HM{constructor(e,n,r){this.pos=e,this.delInfo=n,this.recover=r}get deleted(){return(this.delInfo&Vpe)>0}get deletedBefore(){return(this.delInfo&(Upe|q3))>0}get deletedAfter(){return(this.delInfo&($pe|q3))>0}get deletedAcross(){return(this.delInfo&q3)>0}}class nl{constructor(e,n=!1){if(this.ranges=e,this.inverted=n,!e.length&&nl.empty)return nl.empty}recover(e){let n=0,r=jq(e);if(!this.inverted)for(let o=0;o<r;o++)n+=this.ranges[o*3+2]-this.ranges[o*3+1];return this.ranges[r*3]+n+ytt(e)}mapResult(e,n=1){return this._map(e,n,!1)}map(e,n=1){return this._map(e,n,!0)}_map(e,n,r){let o=0,s=this.inverted?2:1,a=this.inverted?1:2;for(let i=0;i<this.ranges.length;i+=3){let l=this.ranges[i]-(this.inverted?o:0);if(l>e)break;let u=this.ranges[i+s],d=this.ranges[i+a],f=l+u;if(e<=f){let m=u?e==l?-1:e==f?1:n:n,g=l+o+(m<0?0:d);if(r)return g;let w=e==(n<0?l:f)?null:gtt(i/3,e-l),b=e==l?$pe:e==f?Upe:q3;return(n<0?e!=l:e!=f)&&(b|=Vpe),new HM(g,b,w)}o+=d-u}return r?e+o:new HM(e+o,0,null)}touches(e,n){let r=0,o=jq(n),s=this.inverted?2:1,a=this.inverted?1:2;for(let i=0;i<this.ranges.length;i+=3){let l=this.ranges[i]-(this.inverted?r:0);if(l>e)break;let u=this.ranges[i+s],d=l+u;if(e<=d&&i==o*3)return!0;r+=this.ranges[i+a]-u}return!1}forEach(e){let n=this.inverted?2:1,r=this.inverted?1:2;for(let o=0,s=0;o<this.ranges.length;o+=3){let a=this.ranges[o],i=a-(this.inverted?s:0),l=a+(this.inverted?0:s),u=this.ranges[o+n],d=this.ranges[o+r];e(i,i+u,l,l+d),s+=d-u}}invert(){return new nl(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?nl.empty:new nl(e<0?[0,-e,0]:[0,0,e])}}nl.empty=new nl([]);class h2{constructor(e,n,r=0,o=e?e.length:0){this.mirror=n,this.from=r,this.to=o,this._maps=e||[],this.ownData=!(e||n)}get maps(){return this._maps}slice(e=0,n=this.maps.length){return new h2(this._maps,this.mirror,e,n)}appendMap(e,n){this.ownData||(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),this.ownData=!0),this.to=this._maps.push(e),n!=null&&this.setMirror(this._maps.length-1,n)}appendMapping(e){for(let n=0,r=this._maps.length;n<e._maps.length;n++){let o=e.getMirror(n);this.appendMap(e._maps[n],o!=null&&o<n?r+o:void 0)}}getMirror(e){if(this.mirror){for(let n=0;n<this.mirror.length;n++)if(this.mirror[n]==e)return this.mirror[n+(n%2?-1:1)]}}setMirror(e,n){this.mirror||(this.mirror=[]),this.mirror.push(e,n)}appendMappingInverted(e){for(let n=e.maps.length-1,r=this._maps.length+e._maps.length;n>=0;n--){let o=e.getMirror(n);this.appendMap(e._maps[n].invert(),o!=null&&o>n?r-o-1:void 0)}}invert(){let e=new h2;return e.appendMappingInverted(this),e}map(e,n=1){if(this.mirror)return this._map(e,n,!0);for(let r=this.from;r<this.to;r++)e=this._maps[r].map(e,n);return e}mapResult(e,n=1){return this._map(e,n,!1)}_map(e,n,r){let o=0;for(let s=this.from;s<this.to;s++){let a=this._maps[s],i=a.mapResult(e,n);if(i.recover!=null){let l=this.getMirror(s);if(l!=null&&l>s&&l<this.to){s=l,e=this._maps[l].recover(i.recover);continue}}o|=i.delInfo,e=i.pos}return r?e:new HM(e,o,null)}}const VA=Object.create(null);class Ba{getMap(){return nl.empty}merge(e){return null}static fromJSON(e,n){if(!n||!n.stepType)throw new RangeError("Invalid input for Step.fromJSON");let r=VA[n.stepType];if(!r)throw new RangeError(`No step type ${n.stepType} defined`);return r.fromJSON(e,n)}static jsonID(e,n){if(e in VA)throw new RangeError("Duplicate use of step JSON ID "+e);return VA[e]=n,n.prototype.jsonID=e,n}}class Xo{constructor(e,n){this.doc=e,this.failed=n}static ok(e){return new Xo(e,null)}static fail(e){return new Xo(null,e)}static fromReplace(e,n,r,o){try{return Xo.ok(e.replace(n,r,o))}catch(s){if(s instanceof Ej)return Xo.fail(s.message);throw s}}}function Q7(t,e,n){let r=[];for(let o=0;o<t.childCount;o++){let s=t.child(o);s.content.size&&(s=s.copy(Q7(s.content,e,s))),s.isInline&&(s=e(s,n,o)),r.push(s)}return Mt.fromArray(r)}class Op extends Ba{constructor(e,n,r){super(),this.from=e,this.to=n,this.mark=r}apply(e){let n=e.slice(this.from,this.to),r=e.resolve(this.from),o=r.node(r.sharedDepth(this.to)),s=new en(Q7(n.content,(a,i)=>!a.isAtom||!i.type.allowsMarkType(this.mark.type)?a:a.mark(this.mark.addToSet(a.marks)),o),n.openStart,n.openEnd);return Xo.fromReplace(e,this.from,this.to,s)}invert(){return new Wu(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new Op(n.pos,r.pos,this.mark)}merge(e){return e instanceof Op&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Op(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Op(n.from,n.to,e.markFromJSON(n.mark))}}Ba.jsonID("addMark",Op);class Wu extends Ba{constructor(e,n,r){super(),this.from=e,this.to=n,this.mark=r}apply(e){let n=e.slice(this.from,this.to),r=new en(Q7(n.content,o=>o.mark(this.mark.removeFromSet(o.marks)),e),n.openStart,n.openEnd);return Xo.fromReplace(e,this.from,this.to,r)}invert(){return new Op(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new Wu(n.pos,r.pos,this.mark)}merge(e){return e instanceof Wu&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Wu(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Wu(n.from,n.to,e.markFromJSON(n.mark))}}Ba.jsonID("removeMark",Wu);class zp extends Ba{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return Xo.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return Xo.fromReplace(e,this.pos,this.pos+1,new en(Mt.from(r),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);if(n){let r=this.mark.addToSet(n.marks);if(r.length==n.marks.length){for(let o=0;o<n.marks.length;o++)if(!n.marks[o].isInSet(r))return new zp(this.pos,n.marks[o]);return new zp(this.pos,this.mark)}}return new Rg(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new zp(n.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new zp(n.pos,e.markFromJSON(n.mark))}}Ba.jsonID("addNodeMark",zp);class Rg extends Ba{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return Xo.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.removeFromSet(n.marks));return Xo.fromReplace(e,this.pos,this.pos+1,new en(Mt.from(r),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);return!n||!this.mark.isInSet(n.marks)?this:new zp(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new Rg(n.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Rg(n.pos,e.markFromJSON(n.mark))}}Ba.jsonID("removeNodeMark",Rg);class Rs extends Ba{constructor(e,n,r,o=!1){super(),this.from=e,this.to=n,this.slice=r,this.structure=o}apply(e){return this.structure&&WM(e,this.from,this.to)?Xo.fail("Structure replace would overwrite content"):Xo.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new nl([this.from,this.to-this.from,this.slice.size])}invert(e){return new Rs(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new Rs(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(e){if(!(e instanceof Rs)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let n=this.slice.size+e.slice.size==0?en.empty:new en(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new Rs(this.from,this.to+(e.to-e.from),n,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let n=this.slice.size+e.slice.size==0?en.empty:new en(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new Rs(e.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new Rs(n.from,n.to,en.fromJSON(e,n.slice),!!n.structure)}}Ba.jsonID("replace",Rs);class Ps extends Ba{constructor(e,n,r,o,s,a,i=!1){super(),this.from=e,this.to=n,this.gapFrom=r,this.gapTo=o,this.slice=s,this.insert=a,this.structure=i}apply(e){if(this.structure&&(WM(e,this.from,this.gapFrom)||WM(e,this.gapTo,this.to)))return Xo.fail("Structure gap-replace would overwrite content");let n=e.slice(this.gapFrom,this.gapTo);if(n.openStart||n.openEnd)return Xo.fail("Gap is not a flat range");let r=this.slice.insertAt(this.insert,n.content);return r?Xo.fromReplace(e,this.from,this.to,r):Xo.fail("Content does not fit in gap")}getMap(){return new nl([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let n=this.gapTo-this.gapFrom;return new Ps(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1),o=this.from==this.gapFrom?n.pos:e.map(this.gapFrom,-1),s=this.to==this.gapTo?r.pos:e.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||o<n.pos||s>r.pos?null:new Ps(n.pos,r.pos,o,s,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Ps(n.from,n.to,n.gapFrom,n.gapTo,en.fromJSON(e,n.slice),n.insert,!!n.structure)}}Ba.jsonID("replaceAround",Ps);function WM(t,e,n){let r=t.resolve(e),o=n-e,s=r.depth;for(;o>0&&s>0&&r.indexAfter(s)==r.node(s).childCount;)s--,o--;if(o>0){let a=r.node(s).maybeChild(r.indexAfter(s));for(;o>0;){if(!a||a.isLeaf)return!0;a=a.firstChild,o--}}return!1}function vtt(t,e,n,r){let o=[],s=[],a,i;t.doc.nodesBetween(e,n,(l,u,d)=>{if(!l.isInline)return;let f=l.marks;if(!r.isInSet(f)&&d.type.allowsMarkType(r.type)){let m=Math.max(u,e),g=Math.min(u+l.nodeSize,n),w=r.addToSet(f);for(let b=0;b<f.length;b++)f[b].isInSet(w)||(a&&a.to==m&&a.mark.eq(f[b])?a.to=g:o.push(a=new Wu(m,g,f[b])));i&&i.to==m?i.to=g:s.push(i=new Op(m,g,r))}}),o.forEach(l=>t.step(l)),s.forEach(l=>t.step(l))}function wtt(t,e,n,r){let o=[],s=0;t.doc.nodesBetween(e,n,(a,i)=>{if(!a.isInline)return;s++;let l=null;if(r instanceof pE){let u=a.marks,d;for(;d=r.isInSet(u);)(l||(l=[])).push(d),u=d.removeFromSet(u)}else r?r.isInSet(a.marks)&&(l=[r]):l=a.marks;if(l&&l.length){let u=Math.min(i+a.nodeSize,n);for(let d=0;d<l.length;d++){let f=l[d],m;for(let g=0;g<o.length;g++){let w=o[g];w.step==s-1&&f.eq(o[g].style)&&(m=w)}m?(m.to=u,m.step=s):o.push({style:f,from:Math.max(i,e),to:u,step:s})}}}),o.forEach(a=>t.step(new Wu(a.from,a.to,a.style)))}function J7(t,e,n,r=n.contentMatch,o=!0){let s=t.doc.nodeAt(e),a=[],i=e+1;for(let l=0;l<s.childCount;l++){let u=s.child(l),d=i+u.nodeSize,f=r.matchType(u.type);if(!f)a.push(new Rs(i,d,en.empty));else{r=f;for(let m=0;m<u.marks.length;m++)n.allowsMarkType(u.marks[m].type)||t.step(new Wu(i,d,u.marks[m]));if(o&&u.isText&&n.whitespace!="pre"){let m,g=/\r?\n|\r/g,w;for(;m=g.exec(u.text);)w||(w=new en(Mt.from(n.schema.text(" ",n.allowedMarks(u.marks))),0,0)),a.push(new Rs(i+m.index,i+m.index+m[0].length,w))}}i=d}if(!r.validEnd){let l=r.fillBefore(Mt.empty,!0);t.replace(i,i,new en(l,0,0))}for(let l=a.length-1;l>=0;l--)t.step(a[l])}function btt(t,e,n){return(e==0||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function lv(t){let n=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let r=t.depth;;--r){let o=t.$from.node(r),s=t.$from.index(r),a=t.$to.indexAfter(r);if(r<t.depth&&o.canReplace(s,a,n))return r;if(r==0||o.type.spec.isolating||!btt(o,s,a))break}return null}function xtt(t,e,n){let{$from:r,$to:o,depth:s}=e,a=r.before(s+1),i=o.after(s+1),l=a,u=i,d=Mt.empty,f=0;for(let w=s,b=!1;w>n;w--)b||r.index(w)>0?(b=!0,d=Mt.from(r.node(w).copy(d)),f++):l--;let m=Mt.empty,g=0;for(let w=s,b=!1;w>n;w--)b||o.after(w+1)<o.end(w)?(b=!0,m=Mt.from(o.node(w).copy(m)),g++):u++;t.step(new Ps(l,u,a,i,new en(d.append(m),f,g),d.size-f,!0))}function Hpe(t,e,n=null,r=t){let o=ktt(t,e),s=o&&jtt(r,e);return s?o.map(Cq).concat({type:e,attrs:n}).concat(s.map(Cq)):null}function Cq(t){return{type:t,attrs:null}}function ktt(t,e){let{parent:n,startIndex:r,endIndex:o}=t,s=n.contentMatchAt(r).findWrapping(e);if(!s)return null;let a=s.length?s[0]:e;return n.canReplaceWith(r,o,a)?s:null}function jtt(t,e){let{parent:n,startIndex:r,endIndex:o}=t,s=n.child(r),a=e.contentMatch.findWrapping(s.type);if(!a)return null;let l=(a.length?a[a.length-1]:e).contentMatch;for(let u=r;l&&u<o;u++)l=l.matchType(n.child(u).type);return!l||!l.validEnd?null:a}function Ctt(t,e,n){let r=Mt.empty;for(let a=n.length-1;a>=0;a--){if(r.size){let i=n[a].type.contentMatch.matchFragment(r);if(!i||!i.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=Mt.from(n[a].type.create(n[a].attrs,r))}let o=e.start,s=e.end;t.step(new Ps(o,s,o,s,new en(r,0,0),n.length,!0))}function Stt(t,e,n,r,o){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=t.steps.length;t.doc.nodesBetween(e,n,(a,i)=>{let l=typeof o=="function"?o(a):o;if(a.isTextblock&&!a.hasMarkup(r,l)&&Ett(t.doc,t.mapping.slice(s).map(i),r)){let u=null;if(r.schema.linebreakReplacement){let g=r.whitespace=="pre",w=!!r.contentMatch.matchType(r.schema.linebreakReplacement);g&&!w?u=!1:!g&&w&&(u=!0)}u===!1&&Ype(t,a,i,s),J7(t,t.mapping.slice(s).map(i,1),r,void 0,u===null);let d=t.mapping.slice(s),f=d.map(i,1),m=d.map(i+a.nodeSize,1);return t.step(new Ps(f,m,f+1,m-1,new en(Mt.from(r.create(l,null,a.marks)),0,0),1,!0)),u===!0&&Wpe(t,a,i,s),!1}})}function Wpe(t,e,n,r){e.forEach((o,s)=>{if(o.isText){let a,i=/\r?\n|\r/g;for(;a=i.exec(o.text);){let l=t.mapping.slice(r).map(n+1+s+a.index);t.replaceWith(l,l+1,e.type.schema.linebreakReplacement.create())}}})}function Ype(t,e,n,r){e.forEach((o,s)=>{if(o.type==o.type.schema.linebreakReplacement){let a=t.mapping.slice(r).map(n+1+s);t.replaceWith(a,a+1,e.type.schema.text(`
2101 `))}})}function Ett(t,e,n){let r=t.resolve(e),o=r.index();return r.parent.canReplaceWith(o,o+1,n)}function Ntt(t,e,n,r,o){let s=t.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");n||(n=s.type);let a=n.create(r,null,o||s.marks);if(s.isLeaf)return t.replaceWith(e,e+s.nodeSize,a);if(!n.validContent(s.content))throw new RangeError("Invalid content for node type "+n.name);t.step(new Ps(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new en(Mt.from(a),0,0),1,!0))}function nd(t,e,n=1,r){let o=t.resolve(e),s=o.depth-n,a=r&&r[r.length-1]||o.parent;if(s<0||o.parent.type.spec.isolating||!o.parent.canReplace(o.index(),o.parent.childCount)||!a.type.validContent(o.parent.content.cutByIndex(o.index(),o.parent.childCount)))return!1;for(let u=o.depth-1,d=n-2;u>s;u--,d--){let f=o.node(u),m=o.index(u);if(f.type.spec.isolating)return!1;let g=f.content.cutByIndex(m,f.childCount),w=r&&r[d+1];w&&(g=g.replaceChild(0,w.type.create(w.attrs)));let b=r&&r[d]||f;if(!f.canReplace(m+1,f.childCount)||!b.type.validContent(g))return!1}let i=o.indexAfter(s),l=r&&r[0];return o.node(s).canReplaceWith(i,i,l?l.type:o.node(s+1).type)}function Itt(t,e,n=1,r){let o=t.doc.resolve(e),s=Mt.empty,a=Mt.empty;for(let i=o.depth,l=o.depth-n,u=n-1;i>l;i--,u--){s=Mt.from(o.node(i).copy(s));let d=r&&r[u];a=Mt.from(d?d.type.create(d.attrs,a):o.node(i).copy(a))}t.step(new Rs(e,e,new en(s.append(a),n,n),!0))}function n1(t,e){let n=t.resolve(e),r=n.index();return Gpe(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function Att(t,e){e.content.size||t.type.compatibleContent(e.type);let n=t.contentMatchAt(t.childCount),{linebreakReplacement:r}=t.type.schema;for(let o=0;o<e.childCount;o++){let s=e.child(o),a=s.type==r?t.type.schema.nodes.text:s.type;if(n=n.matchType(a),!n||!t.type.allowsMarks(s.marks))return!1}return n.validEnd}function Gpe(t,e){return!!(t&&e&&!t.isLeaf&&Att(t,e))}function hE(t,e,n=-1){let r=t.resolve(e);for(let o=r.depth;;o--){let s,a,i=r.index(o);if(o==r.depth?(s=r.nodeBefore,a=r.nodeAfter):n>0?(s=r.node(o+1),i++,a=r.node(o).maybeChild(i)):(s=r.node(o).maybeChild(i-1),a=r.node(o+1)),s&&!s.isTextblock&&Gpe(s,a)&&r.node(o).canReplace(i,i+1))return e;if(o==0)break;e=n<0?r.before(o):r.after(o)}}function _tt(t,e,n){let r=null,{linebreakReplacement:o}=t.doc.type.schema,s=t.doc.resolve(e-n),a=s.node().type;if(o&&a.inlineContent){let d=a.whitespace=="pre",f=!!a.contentMatch.matchType(o);d&&!f?r=!1:!d&&f&&(r=!0)}let i=t.steps.length;if(r===!1){let d=t.doc.resolve(e+n);Ype(t,d.node(),d.before(),i)}a.inlineContent&&J7(t,e+n-1,a,s.node().contentMatchAt(s.index()),r==null);let l=t.mapping.slice(i),u=l.map(e-n);if(t.step(new Rs(u,l.map(e+n,-1),en.empty,!0)),r===!0){let d=t.doc.resolve(u);Wpe(t,d.node(),d.before(),t.steps.length)}return t}function Mtt(t,e,n){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),n))return e;if(r.parentOffset==0)for(let o=r.depth-1;o>=0;o--){let s=r.index(o);if(r.node(o).canReplaceWith(s,s,n))return r.before(o+1);if(s>0)return null}if(r.parentOffset==r.parent.content.size)for(let o=r.depth-1;o>=0;o--){let s=r.indexAfter(o);if(r.node(o).canReplaceWith(s,s,n))return r.after(o+1);if(s<r.node(o).childCount)return null}return null}function Rtt(t,e,n){let r=t.resolve(e);if(!n.content.size)return e;let o=n.content;for(let s=0;s<n.openStart;s++)o=o.firstChild.content;for(let s=1;s<=(n.openStart==0&&n.size?2:1);s++)for(let a=r.depth;a>=0;a--){let i=a==r.depth?0:r.pos<=(r.start(a+1)+r.end(a+1))/2?-1:1,l=r.index(a)+(i>0?1:0),u=r.node(a),d=!1;if(s==1)d=u.canReplace(l,l,o);else{let f=u.contentMatchAt(l).findWrapping(o.firstChild.type);d=f&&u.canReplaceWith(l,l,f[0])}if(d)return i==0?r.pos:i<0?r.before(a+1):r.after(a+1)}return null}function mE(t,e,n=e,r=en.empty){if(e==n&&!r.size)return null;let o=t.resolve(e),s=t.resolve(n);return qpe(o,s,r)?new Rs(e,n,r):new Ttt(o,s,r).fit()}function qpe(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}class Ttt{constructor(e,n,r){this.$from=e,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=Mt.empty;for(let o=0;o<=e.depth;o++){let s=e.node(o);this.frontier.push({type:s.type,match:s.contentMatchAt(e.indexAfter(o))})}for(let o=e.depth;o>0;o--)this.placed=Mt.from(e.node(o).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,o=this.close(e<0?this.$to:r.doc.resolve(e));if(!o)return null;let s=this.placed,a=r.depth,i=o.depth;for(;a&&i&&s.childCount==1;)s=s.firstChild.content,a--,i--;let l=new en(s,a,i);return e>-1?new Ps(r.pos,e,this.$to.pos,this.$to.end(),l,n):l.size||r.pos!=this.$to.pos?new Rs(r.pos,o.pos,l):null}findFittable(){let e=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,o=this.unplaced.openEnd;r<e;r++){let s=n.firstChild;if(n.childCount>1&&(o=0),s.type.spec.isolating&&o<=r){e=r;break}n=s.content}for(let n=1;n<=2;n++)for(let r=n==1?e:this.unplaced.openStart;r>=0;r--){let o,s=null;r?(s=HA(this.unplaced.content,r-1).firstChild,o=s.content):o=this.unplaced.content;let a=o.firstChild;for(let i=this.depth;i>=0;i--){let{type:l,match:u}=this.frontier[i],d,f=null;if(n==1&&(a?u.matchType(a.type)||(f=u.fillBefore(Mt.from(a),!1)):s&&l.compatibleContent(s.type)))return{sliceDepth:r,frontierDepth:i,parent:s,inject:f};if(n==2&&a&&(d=u.findWrapping(a.type)))return{sliceDepth:r,frontierDepth:i,parent:s,wrap:d};if(s&&u.matchType(s.type))break}}}openMore(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=HA(e,n);return!o.childCount||o.firstChild.isLeaf?!1:(this.unplaced=new en(e,n+1,Math.max(r,o.size+n>=e.size-r?n+1:0)),!0)}dropNode(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=HA(e,n);if(o.childCount<=1&&n>0){let s=e.size-n<=n+o.size;this.unplaced=new en(Pw(e,n-1,1),n-1,s?n-1:r)}else this.unplaced=new en(Pw(e,n,1),n,r)}placeNodes({sliceDepth:e,frontierDepth:n,parent:r,inject:o,wrap:s}){for(;this.depth>n;)this.closeFrontierNode();if(s)for(let b=0;b<s.length;b++)this.openFrontierNode(s[b]);let a=this.unplaced,i=r?r.content:a.content,l=a.openStart-e,u=0,d=[],{match:f,type:m}=this.frontier[n];if(o){for(let b=0;b<o.childCount;b++)d.push(o.child(b));f=f.matchFragment(o)}let g=i.size+e-(a.content.size-a.openEnd);for(;u<i.childCount;){let b=i.child(u),j=f.matchType(b.type);if(!j)break;u++,(u>1||l==0||b.content.size)&&(f=j,d.push(Kpe(b.mark(m.allowedMarks(b.marks)),u==1?l:0,u==i.childCount?g:-1)))}let w=u==i.childCount;w||(g=-1),this.placed=Ow(this.placed,n,Mt.from(d)),this.frontier[n].match=f,w&&g<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let b=0,j=i;b<g;b++){let S=j.lastChild;this.frontier.push({type:S.type,match:S.contentMatchAt(S.childCount)}),j=S.content}this.unplaced=w?e==0?en.empty:new en(Pw(a.content,e-1,1),e-1,g<0?a.openEnd:e-1):new en(Pw(a.content,e,u),a.openStart,a.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],n;if(!e.type.isTextblock||!WA(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(n=this.findCloseLevel(this.$to))&&n.depth==this.depth)return-1;let{depth:r}=this.$to,o=this.$to.after(r);for(;r>1&&o==this.$to.end(--r);)++o;return o}findCloseLevel(e){e:for(let n=Math.min(this.depth,e.depth);n>=0;n--){let{match:r,type:o}=this.frontier[n],s=n<e.depth&&e.end(n+1)==e.pos+(e.depth-(n+1)),a=WA(e,n,o,r,s);if(a){for(let i=n-1;i>=0;i--){let{match:l,type:u}=this.frontier[i],d=WA(e,i,u,l,!0);if(!d||d.childCount)continue e}return{depth:n,fit:a,move:s?e.doc.resolve(e.after(n+1)):e}}}}close(e){let n=this.findCloseLevel(e);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=Ow(this.placed,n.depth,n.fit)),e=n.move;for(let r=n.depth+1;r<=e.depth;r++){let o=e.node(r),s=o.type.contentMatch.fillBefore(o.content,!0,e.index(r));this.openFrontierNode(o.type,o.attrs,s)}return e}openFrontierNode(e,n=null,r){let o=this.frontier[this.depth];o.match=o.match.matchType(e),this.placed=Ow(this.placed,this.depth,Mt.from(e.create(n,r))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(Mt.empty,!0);n.childCount&&(this.placed=Ow(this.placed,this.frontier.length,n))}}function Pw(t,e,n){return e==0?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(Pw(t.firstChild.content,e-1,n)))}function Ow(t,e,n){return e==0?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(Ow(t.lastChild.content,e-1,n)))}function HA(t,e){for(let n=0;n<e;n++)t=t.firstChild.content;return t}function Kpe(t,e,n){if(e<=0)return t;let r=t.content;return e>1&&(r=r.replaceChild(0,Kpe(r.firstChild,e-1,r.childCount==1?n-1:0))),e>0&&(r=t.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(t.type.contentMatch.matchFragment(r).fillBefore(Mt.empty,!0)))),t.copy(r)}function WA(t,e,n,r,o){let s=t.node(e),a=o?t.indexAfter(e):t.index(e);if(a==s.childCount&&!n.compatibleContent(s.type))return null;let i=r.fillBefore(s.content,!0,a);return i&&!Dtt(n,s.content,a)?i:null}function Dtt(t,e,n){for(let r=n;r<e.childCount;r++)if(!t.allowsMarks(e.child(r).marks))return!0;return!1}function Ltt(t){return t.spec.defining||t.spec.definingForContent}function Ptt(t,e,n,r){if(!r.size)return t.deleteRange(e,n);let o=t.doc.resolve(e),s=t.doc.resolve(n);if(qpe(o,s,r))return t.step(new Rs(e,n,r));let a=Qpe(o,t.doc.resolve(n));a[a.length-1]==0&&a.pop();let i=-(o.depth+1);a.unshift(i);for(let m=o.depth,g=o.pos-1;m>0;m--,g--){let w=o.node(m).type.spec;if(w.defining||w.definingAsContext||w.isolating)break;a.indexOf(m)>-1?i=m:o.before(m)==g&&a.splice(1,0,-m)}let l=a.indexOf(i),u=[],d=r.openStart;for(let m=r.content,g=0;;g++){let w=m.firstChild;if(u.push(w),g==r.openStart)break;m=w.content}for(let m=d-1;m>=0;m--){let g=u[m],w=Ltt(g.type);if(w&&!g.sameMarkup(o.node(Math.abs(i)-1)))d=m;else if(w||!g.type.isTextblock)break}for(let m=r.openStart;m>=0;m--){let g=(m+d+1)%(r.openStart+1),w=u[g];if(w)for(let b=0;b<a.length;b++){let j=a[(b+l)%a.length],S=!0;j<0&&(S=!1,j=-j);let I=o.node(j-1),N=o.index(j-1);if(I.canReplaceWith(N,N,w.type,w.marks))return t.replace(o.before(j),S?s.after(j):n,new en(Zpe(r.content,0,r.openStart,g),g,r.openEnd))}}let f=t.steps.length;for(let m=a.length-1;m>=0&&(t.replace(e,n,r),!(t.steps.length>f));m--){let g=a[m];g<0||(e=o.before(g),n=s.after(g))}}function Zpe(t,e,n,r,o){if(e<n){let s=t.firstChild;t=t.replaceChild(0,s.copy(Zpe(s.content,e+1,n,r,s)))}if(e>r){let s=o.contentMatchAt(0),a=s.fillBefore(t).append(t);t=a.append(s.matchFragment(a).fillBefore(Mt.empty,!0))}return t}function Ott(t,e,n,r){if(!r.isInline&&e==n&&t.doc.resolve(e).parent.content.size){let o=Mtt(t.doc,e,r.type);o!=null&&(e=n=o)}t.replaceRange(e,n,new en(Mt.from(r),0,0))}function ztt(t,e,n){let r=t.doc.resolve(e),o=t.doc.resolve(n),s=Qpe(r,o);for(let a=0;a<s.length;a++){let i=s[a],l=a==s.length-1;if(l&&i==0||r.node(i).type.contentMatch.validEnd)return t.delete(r.start(i),o.end(i));if(i>0&&(l||r.node(i-1).canReplace(r.index(i-1),o.indexAfter(i-1))))return t.delete(r.before(i),o.after(i))}for(let a=1;a<=r.depth&&a<=o.depth;a++)if(e-r.start(a)==r.depth-a&&n>r.end(a)&&o.end(a)-n!=o.depth-a&&r.start(a-1)==o.start(a-1)&&r.node(a-1).canReplace(r.index(a-1),o.index(a-1)))return t.delete(r.before(a),n);t.delete(e,n)}function Qpe(t,e){let n=[],r=Math.min(t.depth,e.depth);for(let o=r;o>=0;o--){let s=t.start(o);if(s<t.pos-(t.depth-o)||e.end(o)>e.pos+(e.depth-o)||t.node(o).type.spec.isolating||e.node(o).type.spec.isolating)break;(s==e.start(o)||o==t.depth&&o==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&o&&e.start(o-1)==s-1)&&n.push(o)}return n}class G0 extends Ba{constructor(e,n,r){super(),this.pos=e,this.attr=n,this.value=r}apply(e){let n=e.nodeAt(this.pos);if(!n)return Xo.fail("No node at attribute step's position");let r=Object.create(null);for(let s in n.attrs)r[s]=n.attrs[s];r[this.attr]=this.value;let o=n.type.create(r,null,n.marks);return Xo.fromReplace(e,this.pos,this.pos+1,new en(Mt.from(o),0,n.isLeaf?0:1))}getMap(){return nl.empty}invert(e){return new G0(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new G0(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new G0(n.pos,n.attr,n.value)}}Ba.jsonID("attr",G0);class m2 extends Ba{constructor(e,n){super(),this.attr=e,this.value=n}apply(e){let n=Object.create(null);for(let o in e.attrs)n[o]=e.attrs[o];n[this.attr]=this.value;let r=e.type.create(n,e.content,e.marks);return Xo.ok(r)}getMap(){return nl.empty}invert(e){return new m2(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new m2(n.attr,n.value)}}Ba.jsonID("docAttr",m2);let jy=class extends Error{};jy=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n};jy.prototype=Object.create(Error.prototype);jy.prototype.constructor=jy;jy.prototype.name="TransformError";class Jpe{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new h2}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let n=this.maybeStep(e);if(n.failed)throw new jy(n.failed);return this}maybeStep(e){let n=e.apply(this.doc);return n.failed||this.addStep(e,n.doc),n}get docChanged(){return this.steps.length>0}addStep(e,n){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=n}replace(e,n=e,r=en.empty){let o=mE(this.doc,e,n,r);return o&&this.step(o),this}replaceWith(e,n,r){return this.replace(e,n,new en(Mt.from(r),0,0))}delete(e,n){return this.replace(e,n,en.empty)}insert(e,n){return this.replaceWith(e,e,n)}replaceRange(e,n,r){return Ptt(this,e,n,r),this}replaceRangeWith(e,n,r){return Ott(this,e,n,r),this}deleteRange(e,n){return ztt(this,e,n),this}lift(e,n){return xtt(this,e,n),this}join(e,n=1){return _tt(this,e,n),this}wrap(e,n){return Ctt(this,e,n),this}setBlockType(e,n=e,r,o=null){return Stt(this,e,n,r,o),this}setNodeMarkup(e,n,r=null,o){return Ntt(this,e,n,r,o),this}setNodeAttribute(e,n,r){return this.step(new G0(e,n,r)),this}setDocAttribute(e,n){return this.step(new m2(e,n)),this}addNodeMark(e,n){return this.step(new zp(e,n)),this}removeNodeMark(e,n){let r=this.doc.nodeAt(e);if(!r)throw new RangeError("No node at position "+e);if(n instanceof Ur)n.isInSet(r.marks)&&this.step(new Rg(e,n));else{let o=r.marks,s,a=[];for(;s=n.isInSet(o);)a.push(new Rg(e,s)),o=s.removeFromSet(o);for(let i=a.length-1;i>=0;i--)this.step(a[i])}return this}split(e,n=1,r){return Itt(this,e,n,r),this}addMark(e,n,r){return vtt(this,e,n,r),this}removeMark(e,n,r){return wtt(this,e,n,r),this}clearIncompatible(e,n,r){return J7(this,e,n,r),this}}const YA=Object.create(null);class rr{constructor(e,n,r){this.$anchor=e,this.$head=n,this.ranges=r||[new Ftt(e.min(n),e.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let n=0;n<e.length;n++)if(e[n].$from.pos!=e[n].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,n=en.empty){let r=n.content.lastChild,o=null;for(let i=0;i<n.openEnd;i++)o=r,r=r.lastChild;let s=e.steps.length,a=this.ranges;for(let i=0;i<a.length;i++){let{$from:l,$to:u}=a[i],d=e.mapping.slice(s);e.replaceRange(d.map(l.pos),d.map(u.pos),i?en.empty:n),i==0&&Nq(e,s,(r?r.isInline:o&&o.isTextblock)?-1:1)}}replaceWith(e,n){let r=e.steps.length,o=this.ranges;for(let s=0;s<o.length;s++){let{$from:a,$to:i}=o[s],l=e.mapping.slice(r),u=l.map(a.pos),d=l.map(i.pos);s?e.deleteRange(u,d):(e.replaceRangeWith(u,d,n),Nq(e,r,n.isInline?-1:1))}}static findFrom(e,n,r=!1){let o=e.parent.inlineContent?new Vn(e):c0(e.node(0),e.parent,e.pos,e.index(),n,r);if(o)return o;for(let s=e.depth-1;s>=0;s--){let a=n<0?c0(e.node(0),e.node(s),e.before(s+1),e.index(s),n,r):c0(e.node(0),e.node(s),e.after(s+1),e.index(s)+1,n,r);if(a)return a}return null}static near(e,n=1){return this.findFrom(e,n)||this.findFrom(e,-n)||new pl(e.node(0))}static atStart(e){return c0(e,e,0,0,1)||new pl(e)}static atEnd(e){return c0(e,e,e.content.size,e.childCount,-1)||new pl(e)}static fromJSON(e,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=YA[n.type];if(!r)throw new RangeError(`No selection type ${n.type} defined`);return r.fromJSON(e,n)}static jsonID(e,n){if(e in YA)throw new RangeError("Duplicate use of selection JSON ID "+e);return YA[e]=n,n.prototype.jsonID=e,n}getBookmark(){return Vn.between(this.$anchor,this.$head).getBookmark()}}rr.prototype.visible=!0;class Ftt{constructor(e,n){this.$from=e,this.$to=n}}let Sq=!1;function Eq(t){!Sq&&!t.parent.inlineContent&&(Sq=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class Vn extends rr{constructor(e,n=e){Eq(e),Eq(n),super(e,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,n){let r=e.resolve(n.map(this.head));if(!r.parent.inlineContent)return rr.near(r);let o=e.resolve(n.map(this.anchor));return new Vn(o.parent.inlineContent?o:r,r)}replace(e,n=en.empty){if(super.replace(e,n),n==en.empty){let r=this.$from.marksAcross(this.$to);r&&e.ensureMarks(r)}}eq(e){return e instanceof Vn&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new gE(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new Vn(e.resolve(n.anchor),e.resolve(n.head))}static create(e,n,r=n){let o=e.resolve(n);return new this(o,r==n?o:e.resolve(r))}static between(e,n,r){let o=e.pos-n.pos;if((!r||o)&&(r=o>=0?1:-1),!n.parent.inlineContent){let s=rr.findFrom(n,r,!0)||rr.findFrom(n,-r,!0);if(s)n=s.$head;else return rr.near(n,r)}return e.parent.inlineContent||(o==0?e=n:(e=(rr.findFrom(e,-r,!0)||rr.findFrom(e,r,!0)).$anchor,e.pos<n.pos!=o<0&&(e=n))),new Vn(e,n)}}rr.jsonID("text",Vn);class gE{constructor(e,n){this.anchor=e,this.head=n}map(e){return new gE(e.map(this.anchor),e.map(this.head))}resolve(e){return Vn.between(e.resolve(this.anchor),e.resolve(this.head))}}class jn extends rr{constructor(e){let n=e.nodeAfter,r=e.node(0).resolve(e.pos+n.nodeSize);super(e,r),this.node=n}map(e,n){let{deleted:r,pos:o}=n.mapResult(this.anchor),s=e.resolve(o);return r?rr.near(s):new jn(s)}content(){return new en(Mt.from(this.node),0,0)}eq(e){return e instanceof jn&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new X7(this.anchor)}static fromJSON(e,n){if(typeof n.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new jn(e.resolve(n.anchor))}static create(e,n){return new jn(e.resolve(n))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}}jn.prototype.visible=!1;rr.jsonID("node",jn);class X7{constructor(e){this.anchor=e}map(e){let{deleted:n,pos:r}=e.mapResult(this.anchor);return n?new gE(r,r):new X7(r)}resolve(e){let n=e.resolve(this.anchor),r=n.nodeAfter;return r&&jn.isSelectable(r)?new jn(n):rr.near(n)}}class pl extends rr{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,n=en.empty){if(n==en.empty){e.delete(0,e.doc.content.size);let r=rr.atStart(e.doc);r.eq(e.selection)||e.setSelection(r)}else super.replace(e,n)}toJSON(){return{type:"all"}}static fromJSON(e){return new pl(e)}map(e){return new pl(e)}eq(e){return e instanceof pl}getBookmark(){return Btt}}rr.jsonID("all",pl);const Btt={map(){return this},resolve(t){return new pl(t)}};function c0(t,e,n,r,o,s=!1){if(e.inlineContent)return Vn.create(t,n);for(let a=r-(o>0?0:1);o>0?a<e.childCount:a>=0;a+=o){let i=e.child(a);if(i.isAtom){if(!s&&jn.isSelectable(i))return jn.create(t,n-(o<0?i.nodeSize:0))}else{let l=c0(t,i,n+o,o<0?i.childCount:0,o,s);if(l)return l}n+=i.nodeSize*o}return null}function Nq(t,e,n){let r=t.steps.length-1;if(r<e)return;let o=t.steps[r];if(!(o instanceof Rs||o instanceof Ps))return;let s=t.mapping.maps[r],a;s.forEach((i,l,u,d)=>{a==null&&(a=d)}),t.setSelection(rr.near(t.doc.resolve(a),n))}const Iq=1,q6=2,Aq=4;class Utt extends Jpe{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection}setSelection(e){if(e.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=(this.updated|Iq)&~q6,this.storedMarks=null,this}get selectionSet(){return(this.updated&Iq)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=q6,this}ensureMarks(e){return Ur.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&q6)>0}addStep(e,n){super.addStep(e,n),this.updated=this.updated&~q6,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,n=!0){let r=this.selection;return n&&(e=e.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||Ur.none))),r.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,n,r){let o=this.doc.type.schema;if(n==null)return e?this.replaceSelectionWith(o.text(e),!0):this.deleteSelection();{if(r==null&&(r=n),r=r??n,!e)return this.deleteRange(n,r);let s=this.storedMarks;if(!s){let a=this.doc.resolve(n);s=r==n?a.marks():a.marksAcross(this.doc.resolve(r))}return this.replaceRangeWith(n,r,o.text(e,s)),this.selection.empty||this.setSelection(rr.near(this.selection.$to)),this}}setMeta(e,n){return this.meta[typeof e=="string"?e:e.key]=n,this}getMeta(e){return this.meta[typeof e=="string"?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=Aq,this}get scrolledIntoView(){return(this.updated&Aq)>0}}function _q(t,e){return!e||!t?t:t.bind(e)}class zw{constructor(e,n,r){this.name=e,this.init=_q(n.init,r),this.apply=_q(n.apply,r)}}const $tt=[new zw("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new zw("selection",{init(t,e){return t.selection||rr.atStart(e.doc)},apply(t){return t.selection}}),new zw("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,n,r){return r.selection.$cursor?t.storedMarks:null}}),new zw("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class GA{constructor(e,n){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=$tt.slice(),n&&n.forEach(r=>{if(this.pluginsByKey[r.key])throw new RangeError("Adding different instances of a keyed plugin ("+r.key+")");this.plugins.push(r),this.pluginsByKey[r.key]=r,r.spec.state&&this.fields.push(new zw(r.key,r.spec.state,r))})}}class g0{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,n=-1){for(let r=0;r<this.config.plugins.length;r++)if(r!=n){let o=this.config.plugins[r];if(o.spec.filterTransaction&&!o.spec.filterTransaction.call(o,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let n=[e],r=this.applyInner(e),o=null;for(;;){let s=!1;for(let a=0;a<this.config.plugins.length;a++){let i=this.config.plugins[a];if(i.spec.appendTransaction){let l=o?o[a].n:0,u=o?o[a].state:this,d=l<n.length&&i.spec.appendTransaction.call(i,l?n.slice(l):n,u,r);if(d&&r.filterTransaction(d,a)){if(d.setMeta("appendedTransaction",e),!o){o=[];for(let f=0;f<this.config.plugins.length;f++)o.push(f<a?{state:r,n:n.length}:{state:this,n:0})}n.push(d),r=r.applyInner(d),s=!0}o&&(o[a]={state:r,n:n.length})}}if(!s)return{state:r,transactions:n}}}applyInner(e){if(!e.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let n=new g0(this.config),r=this.config.fields;for(let o=0;o<r.length;o++){let s=r[o];n[s.name]=s.apply(e,this[s.name],this,n)}return n}get tr(){return new Utt(this)}static create(e){let n=new GA(e.doc?e.doc.type.schema:e.schema,e.plugins),r=new g0(n);for(let o=0;o<n.fields.length;o++)r[n.fields[o].name]=n.fields[o].init(e,r);return r}reconfigure(e){let n=new GA(this.schema,e.plugins),r=n.fields,o=new g0(n);for(let s=0;s<r.length;s++){let a=r[s].name;o[a]=this.hasOwnProperty(a)?this[a]:r[s].init(e,o)}return o}toJSON(e){let n={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(n.storedMarks=this.storedMarks.map(r=>r.toJSON())),e&&typeof e=="object")for(let r in e){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let o=e[r],s=o.spec.state;s&&s.toJSON&&(n[r]=s.toJSON.call(o,this[o.key]))}return n}static fromJSON(e,n,r){if(!n)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let o=new GA(e.schema,e.plugins),s=new g0(o);return o.fields.forEach(a=>{if(a.name=="doc")s.doc=Gp.fromJSON(e.schema,n.doc);else if(a.name=="selection")s.selection=rr.fromJSON(s.doc,n.selection);else if(a.name=="storedMarks")n.storedMarks&&(s.storedMarks=n.storedMarks.map(e.schema.markFromJSON));else{if(r)for(let i in r){let l=r[i],u=l.spec.state;if(l.key==a.name&&u&&u.fromJSON&&Object.prototype.hasOwnProperty.call(n,i)){s[a.name]=u.fromJSON.call(l,e,n[i],s);return}}s[a.name]=a.init(e,s)}}),s}}function Xpe(t,e,n){for(let r in t){let o=t[r];o instanceof Function?o=o.bind(e):r=="handleDOMEvents"&&(o=Xpe(o,e,{})),n[r]=o}return n}class ui{constructor(e){this.spec=e,this.props={},e.props&&Xpe(e.props,this,this.props),this.key=e.key?e.key.key:ehe("plugin")}getState(e){return e[this.key]}}const qA=Object.create(null);function ehe(t){return t in qA?t+"$"+ ++qA[t]:(qA[t]=0,t+"$")}class Li{constructor(e="key"){this.key=ehe(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const oa=function(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e},Cy=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let YM=null;const Hf=function(t,e,n){let r=YM||(YM=document.createRange());return r.setEnd(t,n??t.nodeValue.length),r.setStart(t,e||0),r},Vtt=function(){YM=null},Tg=function(t,e,n,r){return n&&(Mq(t,e,n,r,-1)||Mq(t,e,n,r,1))},Htt=/^(img|br|input|textarea|hr)$/i;function Mq(t,e,n,r,o){for(;;){if(t==n&&e==r)return!0;if(e==(o<0?0:Bl(t))){let s=t.parentNode;if(!s||s.nodeType!=1||Sx(t)||Htt.test(t.nodeName)||t.contentEditable=="false")return!1;e=oa(t)+(o<0?0:1),t=s}else if(t.nodeType==1){if(t=t.childNodes[e+(o<0?-1:0)],t.contentEditable=="false")return!1;e=o<0?Bl(t):0}else return!1}}function Bl(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Wtt(t,e){for(;;){if(t.nodeType==3&&e)return t;if(t.nodeType==1&&e>0){if(t.contentEditable=="false")return null;t=t.childNodes[e-1],e=Bl(t)}else if(t.parentNode&&!Sx(t))e=oa(t),t=t.parentNode;else return null}}function Ytt(t,e){for(;;){if(t.nodeType==3&&e<t.nodeValue.length)return t;if(t.nodeType==1&&e<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[e],e=0}else if(t.parentNode&&!Sx(t))e=oa(t)+1,t=t.parentNode;else return null}}function Gtt(t,e,n){for(let r=e==0,o=e==Bl(t);r||o;){if(t==n)return!0;let s=oa(t);if(t=t.parentNode,!t)return!1;r=r&&s==0,o=o&&s==Bl(t)}}function Sx(t){let e;for(let n=t;n&&!(e=n.pmViewDesc);n=n.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const yE=function(t){return t.focusNode&&Tg(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function Em(t,e){let n=document.createEvent("Event");return n.initEvent("keydown",!0,!0),n.keyCode=t,n.key=n.code=e,n}function qtt(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Ktt(t,e,n){if(t.caretPositionFromPoint)try{let r=t.caretPositionFromPoint(e,n);if(r)return{node:r.offsetNode,offset:Math.min(Bl(r.offsetNode),r.offset)}}catch{}if(t.caretRangeFromPoint){let r=t.caretRangeFromPoint(e,n);if(r)return{node:r.startContainer,offset:Math.min(Bl(r.startContainer),r.startOffset)}}}const pf=typeof navigator<"u"?navigator:null,Rq=typeof document<"u"?document:null,Th=pf&&pf.userAgent||"",GM=/Edge\/(\d+)/.exec(Th),the=/MSIE \d/.exec(Th),qM=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Th),Ei=!!(the||qM||GM),qp=the?document.documentMode:qM?+qM[1]:GM?+GM[1]:0,lu=!Ei&&/gecko\/(\d+)/i.test(Th);lu&&+(/Firefox\/(\d+)/.exec(Th)||[0,0])[1];const KM=!Ei&&/Chrome\/(\d+)/.exec(Th),Ia=!!KM,nhe=KM?+KM[1]:0,oi=!Ei&&!!pf&&/Apple Computer/.test(pf.vendor),Sy=oi&&(/Mobile\/\w+/.test(Th)||!!pf&&pf.maxTouchPoints>2),Pl=Sy||(pf?/Mac/.test(pf.platform):!1),Ztt=pf?/Win/.test(pf.platform):!1,Xf=/Android \d/.test(Th),Ex=!!Rq&&"webkitFontSmoothing"in Rq.documentElement.style,Qtt=Ex?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function Jtt(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function Bf(t,e){return typeof t=="number"?t:t[e]}function Xtt(t){let e=t.getBoundingClientRect(),n=e.width/t.offsetWidth||1,r=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*n,top:e.top,bottom:e.top+t.clientHeight*r}}function Tq(t,e,n){let r=t.someProp("scrollThreshold")||0,o=t.someProp("scrollMargin")||5,s=t.dom.ownerDocument;for(let a=n||t.dom;a;){if(a.nodeType!=1){a=Cy(a);continue}let i=a,l=i==s.body,u=l?Jtt(s):Xtt(i),d=0,f=0;if(e.top<u.top+Bf(r,"top")?f=-(u.top-e.top+Bf(o,"top")):e.bottom>u.bottom-Bf(r,"bottom")&&(f=e.bottom-e.top>u.bottom-u.top?e.top+Bf(o,"top")-u.top:e.bottom-u.bottom+Bf(o,"bottom")),e.left<u.left+Bf(r,"left")?d=-(u.left-e.left+Bf(o,"left")):e.right>u.right-Bf(r,"right")&&(d=e.right-u.right+Bf(o,"right")),d||f)if(l)s.defaultView.scrollBy(d,f);else{let g=i.scrollLeft,w=i.scrollTop;f&&(i.scrollTop+=f),d&&(i.scrollLeft+=d);let b=i.scrollLeft-g,j=i.scrollTop-w;e={left:e.left-b,top:e.top-j,right:e.right-b,bottom:e.bottom-j}}let m=l?"fixed":getComputedStyle(a).position;if(/^(fixed|sticky)$/.test(m))break;a=m=="absolute"?a.offsetParent:Cy(a)}}function ent(t){let e=t.dom.getBoundingClientRect(),n=Math.max(0,e.top),r,o;for(let s=(e.left+e.right)/2,a=n+1;a<Math.min(innerHeight,e.bottom);a+=5){let i=t.root.elementFromPoint(s,a);if(!i||i==t.dom||!t.dom.contains(i))continue;let l=i.getBoundingClientRect();if(l.top>=n-20){r=i,o=l.top;break}}return{refDOM:r,refTop:o,stack:rhe(t.dom)}}function rhe(t){let e=[],n=t.ownerDocument;for(let r=t;r&&(e.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),t!=n);r=Cy(r));return e}function tnt({refDOM:t,refTop:e,stack:n}){let r=t?t.getBoundingClientRect().top:0;ohe(n,r==0?0:r-e)}function ohe(t,e){for(let n=0;n<t.length;n++){let{dom:r,top:o,left:s}=t[n];r.scrollTop!=o+e&&(r.scrollTop=o+e),r.scrollLeft!=s&&(r.scrollLeft=s)}}let e0=null;function nnt(t){if(t.setActive)return t.setActive();if(e0)return t.focus(e0);let e=rhe(t);t.focus(e0==null?{get preventScroll(){return e0={preventScroll:!0},!0}}:void 0),e0||(e0=!1,ohe(e,0))}function she(t,e){let n,r=2e8,o,s=0,a=e.top,i=e.top,l,u;for(let d=t.firstChild,f=0;d;d=d.nextSibling,f++){let m;if(d.nodeType==1)m=d.getClientRects();else if(d.nodeType==3)m=Hf(d).getClientRects();else continue;for(let g=0;g<m.length;g++){let w=m[g];if(w.top<=a&&w.bottom>=i){a=Math.max(w.bottom,a),i=Math.min(w.top,i);let b=w.left>e.left?w.left-e.left:w.right<e.left?e.left-w.right:0;if(b<r){n=d,r=b,o=b&&n.nodeType==3?{left:w.right<e.left?w.right:w.left,top:e.top}:e,d.nodeType==1&&b&&(s=f+(e.left>=(w.left+w.right)/2?1:0));continue}}else w.top>e.top&&!l&&w.left<=e.left&&w.right>=e.left&&(l=d,u={left:Math.max(w.left,Math.min(w.right,e.left)),top:w.top});!n&&(e.left>=w.right&&e.top>=w.top||e.left>=w.left&&e.top>=w.bottom)&&(s=f+1)}}return!n&&l&&(n=l,o=u,r=0),n&&n.nodeType==3?rnt(n,o):!n||r&&n.nodeType==1?{node:t,offset:s}:she(n,o)}function rnt(t,e){let n=t.nodeValue.length,r=document.createRange();for(let o=0;o<n;o++){r.setEnd(t,o+1),r.setStart(t,o);let s=bp(r,1);if(s.top!=s.bottom&&eP(e,s))return{node:t,offset:o+(e.left>=(s.left+s.right)/2?1:0)}}return{node:t,offset:0}}function eP(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function ont(t,e){let n=t.parentNode;return n&&/^li$/i.test(n.nodeName)&&e.left<t.getBoundingClientRect().left?n:t}function snt(t,e,n){let{node:r,offset:o}=she(e,n),s=-1;if(r.nodeType==1&&!r.firstChild){let a=r.getBoundingClientRect();s=a.left!=a.right&&n.left>(a.left+a.right)/2?1:-1}return t.docView.posFromDOM(r,o,s)}function ant(t,e,n,r){let o=-1;for(let s=e,a=!1;s!=t.dom;){let i=t.docView.nearestDesc(s,!0),l;if(!i)return null;if(i.dom.nodeType==1&&(i.node.isBlock&&i.parent||!i.contentDOM)&&((l=i.dom.getBoundingClientRect()).width||l.height)&&(i.node.isBlock&&i.parent&&(!a&&l.left>r.left||l.top>r.top?o=i.posBefore:(!a&&l.right<r.left||l.bottom<r.top)&&(o=i.posAfter),a=!0),!i.contentDOM&&o<0&&!i.node.isText))return(i.node.isBlock?r.top<(l.top+l.bottom)/2:r.left<(l.left+l.right)/2)?i.posBefore:i.posAfter;s=i.dom.parentNode}return o>-1?o:t.docView.posFromDOM(e,n,-1)}function ahe(t,e,n){let r=t.childNodes.length;if(r&&n.top<n.bottom)for(let o=Math.max(0,Math.min(r-1,Math.floor(r*(e.top-n.top)/(n.bottom-n.top))-2)),s=o;;){let a=t.childNodes[s];if(a.nodeType==1){let i=a.getClientRects();for(let l=0;l<i.length;l++){let u=i[l];if(eP(e,u))return ahe(a,e,u)}}if((s=(s+1)%r)==o)break}return t}function int(t,e){let n=t.dom.ownerDocument,r,o=0,s=Ktt(n,e.left,e.top);s&&({node:r,offset:o}=s);let a=(t.root.elementFromPoint?t.root:n).elementFromPoint(e.left,e.top),i;if(!a||!t.dom.contains(a.nodeType!=1?a.parentNode:a)){let u=t.dom.getBoundingClientRect();if(!eP(e,u)||(a=ahe(t.dom,e,u),!a))return null}if(oi)for(let u=a;r&&u;u=Cy(u))u.draggable&&(r=void 0);if(a=ont(a,e),r){if(lu&&r.nodeType==1&&(o=Math.min(o,r.childNodes.length),o<r.childNodes.length)){let d=r.childNodes[o],f;d.nodeName=="IMG"&&(f=d.getBoundingClientRect()).right<=e.left&&f.bottom>e.top&&o++}let u;Ex&&o&&r.nodeType==1&&(u=r.childNodes[o-1]).nodeType==1&&u.contentEditable=="false"&&u.getBoundingClientRect().top>=e.top&&o--,r==t.dom&&o==r.childNodes.length-1&&r.lastChild.nodeType==1&&e.top>r.lastChild.getBoundingClientRect().bottom?i=t.state.doc.content.size:(o==0||r.nodeType!=1||r.childNodes[o-1].nodeName!="BR")&&(i=ant(t,r,o,e))}i==null&&(i=snt(t,a,e));let l=t.docView.nearestDesc(a,!0);return{pos:i,inside:l?l.posAtStart-l.border:-1}}function Dq(t){return t.top<t.bottom||t.left<t.right}function bp(t,e){let n=t.getClientRects();if(n.length){let r=n[e<0?0:n.length-1];if(Dq(r))return r}return Array.prototype.find.call(n,Dq)||t.getBoundingClientRect()}const lnt=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function ihe(t,e,n){let{node:r,offset:o,atom:s}=t.docView.domFromPos(e,n<0?-1:1),a=Ex||lu;if(r.nodeType==3)if(a&&(lnt.test(r.nodeValue)||(n<0?!o:o==r.nodeValue.length))){let l=bp(Hf(r,o,o),n);if(lu&&o&&/\s/.test(r.nodeValue[o-1])&&o<r.nodeValue.length){let u=bp(Hf(r,o-1,o-1),-1);if(u.top==l.top){let d=bp(Hf(r,o,o+1),-1);if(d.top!=l.top)return Sw(d,d.left<u.left)}}return l}else{let l=o,u=o,d=n<0?1:-1;return n<0&&!o?(u++,d=-1):n>=0&&o==r.nodeValue.length?(l--,d=1):n<0?l--:u++,Sw(bp(Hf(r,l,u),d),d<0)}if(!t.state.doc.resolve(e-(s||0)).parent.inlineContent){if(s==null&&o&&(n<0||o==Bl(r))){let l=r.childNodes[o-1];if(l.nodeType==1)return KA(l.getBoundingClientRect(),!1)}if(s==null&&o<Bl(r)){let l=r.childNodes[o];if(l.nodeType==1)return KA(l.getBoundingClientRect(),!0)}return KA(r.getBoundingClientRect(),n>=0)}if(s==null&&o&&(n<0||o==Bl(r))){let l=r.childNodes[o-1],u=l.nodeType==3?Hf(l,Bl(l)-(a?0:1)):l.nodeType==1&&(l.nodeName!="BR"||!l.nextSibling)?l:null;if(u)return Sw(bp(u,1),!1)}if(s==null&&o<Bl(r)){let l=r.childNodes[o];for(;l.pmViewDesc&&l.pmViewDesc.ignoreForCoords;)l=l.nextSibling;let u=l?l.nodeType==3?Hf(l,0,a?0:1):l.nodeType==1?l:null:null;if(u)return Sw(bp(u,-1),!0)}return Sw(bp(r.nodeType==3?Hf(r):r,-n),n>=0)}function Sw(t,e){if(t.width==0)return t;let n=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:n,right:n}}function KA(t,e){if(t.height==0)return t;let n=e?t.top:t.bottom;return{top:n,bottom:n,left:t.left,right:t.right}}function lhe(t,e,n){let r=t.state,o=t.root.activeElement;r!=e&&t.updateState(e),o!=t.dom&&t.focus();try{return n()}finally{r!=e&&t.updateState(r),o!=t.dom&&o&&o.focus()}}function cnt(t,e,n){let r=e.selection,o=n=="up"?r.$from:r.$to;return lhe(t,e,()=>{let{node:s}=t.docView.domFromPos(o.pos,n=="up"?-1:1);for(;;){let i=t.docView.nearestDesc(s,!0);if(!i)break;if(i.node.isBlock){s=i.contentDOM||i.dom;break}s=i.dom.parentNode}let a=ihe(t,o.pos,1);for(let i=s.firstChild;i;i=i.nextSibling){let l;if(i.nodeType==1)l=i.getClientRects();else if(i.nodeType==3)l=Hf(i,0,i.nodeValue.length).getClientRects();else continue;for(let u=0;u<l.length;u++){let d=l[u];if(d.bottom>d.top+1&&(n=="up"?a.top-d.top>(d.bottom-a.top)*2:d.bottom-a.bottom>(a.bottom-d.top)*2))return!1}}return!0})}const unt=/[\u0590-\u08ac]/;function fnt(t,e,n){let{$head:r}=e.selection;if(!r.parent.isTextblock)return!1;let o=r.parentOffset,s=!o,a=o==r.parent.content.size,i=t.domSelection();return i?!unt.test(r.parent.textContent)||!i.modify?n=="left"||n=="backward"?s:a:lhe(t,e,()=>{let{focusNode:l,focusOffset:u,anchorNode:d,anchorOffset:f}=t.domSelectionRange(),m=i.caretBidiLevel;i.modify("move",n,"character");let g=r.depth?t.docView.domAfterPos(r.before()):t.dom,{focusNode:w,focusOffset:b}=t.domSelectionRange(),j=w&&!g.contains(w.nodeType==1?w:w.parentNode)||l==w&&u==b;try{i.collapse(d,f),l&&(l!=d||u!=f)&&i.extend&&i.extend(l,u)}catch{}return m!=null&&(i.caretBidiLevel=m),j}):r.pos==r.start()||r.pos==r.end()}let Lq=null,Pq=null,Oq=!1;function dnt(t,e,n){return Lq==e&&Pq==n?Oq:(Lq=e,Pq=n,Oq=n=="up"||n=="down"?cnt(t,e,n):fnt(t,e,n))}const Yl=0,zq=1,Fm=2,hf=3;class Nx{constructor(e,n,r,o){this.parent=e,this.children=n,this.dom=r,this.contentDOM=o,this.dirty=Yl,r.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,n,r){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let n=0;n<this.children.length;n++)e+=this.children[n].size;return e}get border(){return 0}destroy(){this.parent=void 0,this.dom.pmViewDesc==this&&(this.dom.pmViewDesc=void 0);for(let e=0;e<this.children.length;e++)this.children[e].destroy()}posBeforeChild(e){for(let n=0,r=this.posAtStart;;n++){let o=this.children[n];if(o==e)return r;r+=o.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(e,n,r){if(this.contentDOM&&this.contentDOM.contains(e.nodeType==1?e:e.parentNode))if(r<0){let s,a;if(e==this.contentDOM)s=e.childNodes[n-1];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;s=e.previousSibling}for(;s&&!((a=s.pmViewDesc)&&a.parent==this);)s=s.previousSibling;return s?this.posBeforeChild(a)+a.size:this.posAtStart}else{let s,a;if(e==this.contentDOM)s=e.childNodes[n];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;s=e.nextSibling}for(;s&&!((a=s.pmViewDesc)&&a.parent==this);)s=s.nextSibling;return s?this.posBeforeChild(a):this.posAtEnd}let o;if(e==this.dom&&this.contentDOM)o=n>oa(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))o=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(n==0)for(let s=e;;s=s.parentNode){if(s==this.dom){o=!1;break}if(s.previousSibling)break}if(o==null&&n==e.childNodes.length)for(let s=e;;s=s.parentNode){if(s==this.dom){o=!0;break}if(s.nextSibling)break}}return o??r>0?this.posAtEnd:this.posAtStart}nearestDesc(e,n=!1){for(let r=!0,o=e;o;o=o.parentNode){let s=this.getDesc(o),a;if(s&&(!n||s.node))if(r&&(a=s.nodeDOM)&&!(a.nodeType==1?a.contains(e.nodeType==1?e:e.parentNode):a==e))r=!1;else return s}}getDesc(e){let n=e.pmViewDesc;for(let r=n;r;r=r.parent)if(r==this)return n}posFromDOM(e,n,r){for(let o=e;o;o=o.parentNode){let s=this.getDesc(o);if(s)return s.localPosFromDOM(e,n,r)}return-1}descAt(e){for(let n=0,r=0;n<this.children.length;n++){let o=this.children[n],s=r+o.size;if(r==e&&s!=r){for(;!o.border&&o.children.length;)for(let a=0;a<o.children.length;a++){let i=o.children[a];if(i.size){o=i;break}}return o}if(e<s)return o.descAt(e-r-o.border);r=s}}domFromPos(e,n){if(!this.contentDOM)return{node:this.dom,offset:0,atom:e+1};let r=0,o=0;for(let s=0;r<this.children.length;r++){let a=this.children[r],i=s+a.size;if(i>e||a instanceof uhe){o=e-s;break}s=i}if(o)return this.children[r].domFromPos(o-this.children[r].border,n);for(let s;r&&!(s=this.children[r-1]).size&&s instanceof che&&s.side>=0;r--);if(n<=0){let s,a=!0;for(;s=r?this.children[r-1]:null,!(!s||s.dom.parentNode==this.contentDOM);r--,a=!1);return s&&n&&a&&!s.border&&!s.domAtom?s.domFromPos(s.size,n):{node:this.contentDOM,offset:s?oa(s.dom)+1:0}}else{let s,a=!0;for(;s=r<this.children.length?this.children[r]:null,!(!s||s.dom.parentNode==this.contentDOM);r++,a=!1);return s&&a&&!s.border&&!s.domAtom?s.domFromPos(0,n):{node:this.contentDOM,offset:s?oa(s.dom):this.contentDOM.childNodes.length}}}parseRange(e,n,r=0){if(this.children.length==0)return{node:this.contentDOM,from:e,to:n,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let o=-1,s=-1;for(let a=r,i=0;;i++){let l=this.children[i],u=a+l.size;if(o==-1&&e<=u){let d=a+l.border;if(e>=d&&n<=u-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(e,n,d);e=a;for(let f=i;f>0;f--){let m=this.children[f-1];if(m.size&&m.dom.parentNode==this.contentDOM&&!m.emptyChildAt(1)){o=oa(m.dom)+1;break}e-=m.size}o==-1&&(o=0)}if(o>-1&&(u>n||i==this.children.length-1)){n=u;for(let d=i+1;d<this.children.length;d++){let f=this.children[d];if(f.size&&f.dom.parentNode==this.contentDOM&&!f.emptyChildAt(-1)){s=oa(f.dom);break}n+=f.size}s==-1&&(s=this.contentDOM.childNodes.length);break}a=u}return{node:this.contentDOM,from:e,to:n,fromOffset:o,toOffset:s}}emptyChildAt(e){if(this.border||!this.contentDOM||!this.children.length)return!1;let n=this.children[e<0?0:this.children.length-1];return n.size==0||n.emptyChildAt(e)}domAfterPos(e){let{node:n,offset:r}=this.domFromPos(e,0);if(n.nodeType!=1||r==n.childNodes.length)throw new RangeError("No node after pos "+e);return n.childNodes[r]}setSelection(e,n,r,o=!1){let s=Math.min(e,n),a=Math.max(e,n);for(let g=0,w=0;g<this.children.length;g++){let b=this.children[g],j=w+b.size;if(s>w&&a<j)return b.setSelection(e-w-b.border,n-w-b.border,r,o);w=j}let i=this.domFromPos(e,e?-1:1),l=n==e?i:this.domFromPos(n,n?-1:1),u=r.root.getSelection(),d=r.domSelectionRange(),f=!1;if((lu||oi)&&e==n){let{node:g,offset:w}=i;if(g.nodeType==3){if(f=!!(w&&g.nodeValue[w-1]==`
2102 `),f&&w==g.nodeValue.length)for(let b=g,j;b;b=b.parentNode){if(j=b.nextSibling){j.nodeName=="BR"&&(i=l={node:j.parentNode,offset:oa(j)+1});break}let S=b.pmViewDesc;if(S&&S.node&&S.node.isBlock)break}}else{let b=g.childNodes[w-1];f=b&&(b.nodeName=="BR"||b.contentEditable=="false")}}if(lu&&d.focusNode&&d.focusNode!=l.node&&d.focusNode.nodeType==1){let g=d.focusNode.childNodes[d.focusOffset];g&&g.contentEditable=="false"&&(o=!0)}if(!(o||f&&oi)&&Tg(i.node,i.offset,d.anchorNode,d.anchorOffset)&&Tg(l.node,l.offset,d.focusNode,d.focusOffset))return;let m=!1;if((u.extend||e==n)&&!f){u.collapse(i.node,i.offset);try{e!=n&&u.extend(l.node,l.offset),m=!0}catch{}}if(!m){if(e>n){let w=i;i=l,l=w}let g=document.createRange();g.setEnd(l.node,l.offset),g.setStart(i.node,i.offset),u.removeAllRanges(),u.addRange(g)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,n){for(let r=0,o=0;o<this.children.length;o++){let s=this.children[o],a=r+s.size;if(r==a?e<=a&&n>=r:e<a&&n>r){let i=r+s.border,l=a-s.border;if(e>=i&&n<=l){this.dirty=e==r||n==a?Fm:zq,e==i&&n==l&&(s.contentLost||s.dom.parentNode!=this.contentDOM)?s.dirty=hf:s.markDirty(e-i,n-i);return}else s.dirty=s.dom==s.contentDOM&&s.dom.parentNode==this.contentDOM&&!s.children.length?Fm:hf}r=a}this.dirty=Fm}markParentsDirty(){let e=1;for(let n=this.parent;n;n=n.parent,e++){let r=e==1?Fm:zq;n.dirty<r&&(n.dirty=r)}}get domAtom(){return!1}get ignoreForCoords(){return!1}isText(e){return!1}}class che extends Nx{constructor(e,n,r,o){let s,a=n.type.toDOM;if(typeof a=="function"&&(a=a(r,()=>{if(!s)return o;if(s.parent)return s.parent.posBeforeChild(s)})),!n.type.spec.raw){if(a.nodeType!=1){let i=document.createElement("span");i.appendChild(a),a=i}a.contentEditable="false",a.classList.add("ProseMirror-widget")}super(e,[],a,null),this.widget=n,this.widget=n,s=this}matchesWidget(e){return this.dirty==Yl&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let n=this.widget.spec.stopEvent;return n?n(e):!1}ignoreMutation(e){return e.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class pnt extends Nx{constructor(e,n,r,o){super(e,[],n,null),this.textDOM=r,this.text=o}get size(){return this.text.length}localPosFromDOM(e,n){return e!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}}class Dg extends Nx{constructor(e,n,r,o,s){super(e,[],r,o),this.mark=n,this.spec=s}static create(e,n,r,o){let s=o.nodeViews[n.type.name],a=s&&s(n,o,r);return(!a||!a.dom)&&(a=t1.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new Dg(e,n,a.dom,a.contentDOM||a.dom,a)}parseRule(){return this.dirty&hf||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=hf&&this.mark.eq(e)}markDirty(e,n){if(super.markDirty(e,n),this.dirty!=Yl){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty<this.dirty&&(r.dirty=this.dirty),this.dirty=Yl}}slice(e,n,r){let o=Dg.create(this.parent,this.mark,!0,r),s=this.children,a=this.size;n<a&&(s=QM(s,n,a,r)),e>0&&(s=QM(s,0,e,r));for(let i=0;i<s.length;i++)s[i].parent=o;return o.children=s,o}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}}class Kp extends Nx{constructor(e,n,r,o,s,a,i,l,u){super(e,[],s,a),this.node=n,this.outerDeco=r,this.innerDeco=o,this.nodeDOM=i}static create(e,n,r,o,s,a){let i=s.nodeViews[n.type.name],l,u=i&&i(n,s,()=>{if(!l)return a;if(l.parent)return l.parent.posBeforeChild(l)},r,o),d=u&&u.dom,f=u&&u.contentDOM;if(n.isText){if(!d)d=document.createTextNode(n.text);else if(d.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else d||({dom:d,contentDOM:f}=t1.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs));!f&&!n.isText&&d.nodeName!="BR"&&(d.hasAttribute("contenteditable")||(d.contentEditable="false"),n.type.spec.draggable&&(d.draggable=!0));let m=d;return d=phe(d,r,n),u?l=new hnt(e,n,r,o,d,f||null,m,u,s,a+1):n.isText?new vE(e,n,r,o,d,m,s):new Kp(e,n,r,o,d,f||null,m,s,a+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(e.preserveWhitespace="full"),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){e.contentElement=r.dom.parentNode;break}}e.contentElement||(e.getContent=()=>Mt.empty)}return e}matchesNode(e,n,r){return this.dirty==Yl&&e.eq(this.node)&&_j(n,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,n){let r=this.node.inlineContent,o=n,s=e.composing?this.localCompositionInfo(e,n):null,a=s&&s.pos>-1?s:null,i=s&&s.pos<0,l=new gnt(this,a&&a.node,e);wnt(this.node,this.innerDeco,(u,d,f)=>{u.spec.marks?l.syncToMarks(u.spec.marks,r,e):u.type.side>=0&&!f&&l.syncToMarks(d==this.node.childCount?Ur.none:this.node.child(d).marks,r,e),l.placeWidget(u,e,o)},(u,d,f,m)=>{l.syncToMarks(u.marks,r,e);let g;l.findNodeMatch(u,d,f,m)||i&&e.state.selection.from>o&&e.state.selection.to<o+u.nodeSize&&(g=l.findIndexWithChild(s.node))>-1&&l.updateNodeAt(u,d,f,g,e)||l.updateNextNode(u,d,f,e,m,o)||l.addNode(u,d,f,e,o),o+=u.nodeSize}),l.syncToMarks([],r,e),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==Fm)&&(a&&this.protectLocalComposition(e,a),fhe(this.contentDOM,this.children,e),Sy&&bnt(this.dom))}localCompositionInfo(e,n){let{from:r,to:o}=e.state.selection;if(!(e.state.selection instanceof Vn)||r<n||o>n+this.node.content.size)return null;let s=e.input.compositionNode;if(!s||!this.dom.contains(s.parentNode))return null;if(this.node.inlineContent){let a=s.nodeValue,i=xnt(this.node.content,a,r-n,o-n);return i<0?null:{node:s,pos:i,text:a}}else return{node:s,pos:-1,text:""}}protectLocalComposition(e,{node:n,pos:r,text:o}){if(this.getDesc(n))return;let s=n;for(;s.parentNode!=this.contentDOM;s=s.parentNode){for(;s.previousSibling;)s.parentNode.removeChild(s.previousSibling);for(;s.nextSibling;)s.parentNode.removeChild(s.nextSibling);s.pmViewDesc&&(s.pmViewDesc=void 0)}let a=new pnt(this,s,n,o);e.input.compositionNodes.push(a),this.children=QM(this.children,r,r+o.length,e,a)}update(e,n,r,o){return this.dirty==hf||!e.sameMarkup(this.node)?!1:(this.updateInner(e,n,r,o),!0)}updateInner(e,n,r,o){this.updateOuterDeco(n),this.node=e,this.innerDeco=r,this.contentDOM&&this.updateChildren(o,this.posAtStart),this.dirty=Yl}updateOuterDeco(e){if(_j(e,this.outerDeco))return;let n=this.nodeDOM.nodeType!=1,r=this.dom;this.dom=dhe(this.dom,this.nodeDOM,ZM(this.outerDeco,this.node,n),ZM(e,this.node,n)),this.dom!=r&&(r.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}}function Fq(t,e,n,r,o){phe(r,e,t);let s=new Kp(void 0,t,e,n,r,r,r,o,0);return s.contentDOM&&s.updateChildren(o,0),s}class vE extends Kp{constructor(e,n,r,o,s,a,i){super(e,n,r,o,s,null,a,i,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,n,r,o){return this.dirty==hf||this.dirty!=Yl&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(n),(this.dirty!=Yl||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,o.trackWrites==this.nodeDOM&&(o.trackWrites=null)),this.node=e,this.dirty=Yl,!0)}inParent(){let e=this.parent.contentDOM;for(let n=this.nodeDOM;n;n=n.parentNode)if(n==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,n,r){return e==this.nodeDOM?this.posAtStart+Math.min(n,this.node.text.length):super.localPosFromDOM(e,n,r)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,n,r){let o=this.node.cut(e,n),s=document.createTextNode(o.text);return new vE(this.parent,o,this.outerDeco,this.innerDeco,s,s,r)}markDirty(e,n){super.markDirty(e,n),this.dom!=this.nodeDOM&&(e==0||n==this.nodeDOM.nodeValue.length)&&(this.dirty=hf)}get domAtom(){return!1}isText(e){return this.node.text==e}}class uhe extends Nx{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==Yl&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class hnt extends Kp{constructor(e,n,r,o,s,a,i,l,u,d){super(e,n,r,o,s,a,i,u,d),this.spec=l}update(e,n,r,o){if(this.dirty==hf)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let s=this.spec.update(e,n,r);return s&&this.updateInner(e,n,r,o),s}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,n,r,o)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,n,r,o){this.spec.setSelection?this.spec.setSelection(e,n,r.root):super.setSelection(e,n,r,o)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}}function fhe(t,e,n){let r=t.firstChild,o=!1;for(let s=0;s<e.length;s++){let a=e[s],i=a.dom;if(i.parentNode==t){for(;i!=r;)r=Bq(r),o=!0;r=r.nextSibling}else o=!0,t.insertBefore(i,r);if(a instanceof Dg){let l=r?r.previousSibling:t.lastChild;fhe(a.contentDOM,a.children,n),r=l?l.nextSibling:t.firstChild}}for(;r;)r=Bq(r),o=!0;o&&n.trackWrites==t&&(n.trackWrites=null)}const ab=function(t){t&&(this.nodeName=t)};ab.prototype=Object.create(null);const Bm=[new ab];function ZM(t,e,n){if(t.length==0)return Bm;let r=n?Bm[0]:new ab,o=[r];for(let s=0;s<t.length;s++){let a=t[s].type.attrs;if(a){a.nodeName&&o.push(r=new ab(a.nodeName));for(let i in a){let l=a[i];l!=null&&(n&&o.length==1&&o.push(r=new ab(e.isInline?"span":"div")),i=="class"?r.class=(r.class?r.class+" ":"")+l:i=="style"?r.style=(r.style?r.style+";":"")+l:i!="nodeName"&&(r[i]=l))}}}return o}function dhe(t,e,n,r){if(n==Bm&&r==Bm)return e;let o=e;for(let s=0;s<r.length;s++){let a=r[s],i=n[s];if(s){let l;i&&i.nodeName==a.nodeName&&o!=t&&(l=o.parentNode)&&l.nodeName.toLowerCase()==a.nodeName||(l=document.createElement(a.nodeName),l.pmIsDeco=!0,l.appendChild(o),i=Bm[0]),o=l}mnt(o,i||Bm[0],a)}return o}function mnt(t,e,n){for(let r in e)r!="class"&&r!="style"&&r!="nodeName"&&!(r in n)&&t.removeAttribute(r);for(let r in n)r!="class"&&r!="style"&&r!="nodeName"&&n[r]!=e[r]&&t.setAttribute(r,n[r]);if(e.class!=n.class){let r=e.class?e.class.split(" ").filter(Boolean):[],o=n.class?n.class.split(" ").filter(Boolean):[];for(let s=0;s<r.length;s++)o.indexOf(r[s])==-1&&t.classList.remove(r[s]);for(let s=0;s<o.length;s++)r.indexOf(o[s])==-1&&t.classList.add(o[s]);t.classList.length==0&&t.removeAttribute("class")}if(e.style!=n.style){if(e.style){let r=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,o;for(;o=r.exec(e.style);)t.style.removeProperty(o[1])}n.style&&(t.style.cssText+=n.style)}}function phe(t,e,n){return dhe(t,t,Bm,ZM(e,n,t.nodeType!=1))}function _j(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].type.eq(e[n].type))return!1;return!0}function Bq(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class gnt{constructor(e,n,r){this.lock=n,this.view=r,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=ynt(e.node.content,e)}destroyBetween(e,n){if(e!=n){for(let r=e;r<n;r++)this.top.children[r].destroy();this.top.children.splice(e,n-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,n,r){let o=0,s=this.stack.length>>1,a=Math.min(s,e.length);for(;o<a&&(o==s-1?this.top:this.stack[o+1<<1]).matchesMark(e[o])&&e[o].type.spec.spanning!==!1;)o++;for(;o<s;)this.destroyRest(),this.top.dirty=Yl,this.index=this.stack.pop(),this.top=this.stack.pop(),s--;for(;s<e.length;){this.stack.push(this.top,this.index+1);let i=-1;for(let l=this.index;l<Math.min(this.index+3,this.top.children.length);l++){let u=this.top.children[l];if(u.matchesMark(e[s])&&!this.isLocked(u.dom)){i=l;break}}if(i>-1)i>this.index&&(this.changed=!0,this.destroyBetween(this.index,i)),this.top=this.top.children[this.index];else{let l=Dg.create(this.top,e[s],n,r);this.top.children.splice(this.index,0,l),this.top=l,this.changed=!0}this.index=0,s++}}findNodeMatch(e,n,r,o){let s=-1,a;if(o>=this.preMatch.index&&(a=this.preMatch.matches[o-this.preMatch.index]).parent==this.top&&a.matchesNode(e,n,r))s=this.top.children.indexOf(a,this.index);else for(let i=this.index,l=Math.min(this.top.children.length,i+5);i<l;i++){let u=this.top.children[i];if(u.matchesNode(e,n,r)&&!this.preMatch.matched.has(u)){s=i;break}}return s<0?!1:(this.destroyBetween(this.index,s),this.index++,!0)}updateNodeAt(e,n,r,o,s){let a=this.top.children[o];return a.dirty==hf&&a.dom==a.contentDOM&&(a.dirty=Fm),a.update(e,n,r,s)?(this.destroyBetween(this.index,o),this.index++,!0):!1}findIndexWithChild(e){for(;;){let n=e.parentNode;if(!n)return-1;if(n==this.top.contentDOM){let r=e.pmViewDesc;if(r){for(let o=this.index;o<this.top.children.length;o++)if(this.top.children[o]==r)return o}return-1}e=n}}updateNextNode(e,n,r,o,s,a){for(let i=this.index;i<this.top.children.length;i++){let l=this.top.children[i];if(l instanceof Kp){let u=this.preMatch.matched.get(l);if(u!=null&&u!=s)return!1;let d=l.dom,f,m=this.isLocked(d)&&!(e.isText&&l.node&&l.node.isText&&l.nodeDOM.nodeValue==e.text&&l.dirty!=hf&&_j(n,l.outerDeco));if(!m&&l.update(e,n,r,o))return this.destroyBetween(this.index,i),l.dom!=d&&(this.changed=!0),this.index++,!0;if(!m&&(f=this.recreateWrapper(l,e,n,r,o,a)))return this.destroyBetween(this.index,i),this.top.children[this.index]=f,f.contentDOM&&(f.dirty=Fm,f.updateChildren(o,a+1),f.dirty=Yl),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,n,r,o,s,a){if(e.dirty||n.isAtom||!e.children.length||!e.node.content.eq(n.content)||!_j(r,e.outerDeco)||!o.eq(e.innerDeco))return null;let i=Kp.create(this.top,n,r,o,s,a);if(i.contentDOM){i.children=e.children,e.children=[];for(let l of i.children)l.parent=i}return e.destroy(),i}addNode(e,n,r,o,s){let a=Kp.create(this.top,e,n,r,o,s);a.contentDOM&&a.updateChildren(o,s+1),this.top.children.splice(this.index++,0,a),this.changed=!0}placeWidget(e,n,r){let o=this.index<this.top.children.length?this.top.children[this.index]:null;if(o&&o.matchesWidget(e)&&(e==o.widget||!o.widget.type.toDOM.parentNode))this.index++;else{let s=new che(this.top,e,n,r);this.top.children.splice(this.index++,0,s),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],n=this.top;for(;e instanceof Dg;)n=e,e=n.children[n.children.length-1];(!e||!(e instanceof vE)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((oi||Ia)&&e&&e.dom.contentEditable=="false"&&this.addHackNode("IMG",n),this.addHackNode("BR",this.top))}addHackNode(e,n){if(n==this.top&&this.index<n.children.length&&n.children[this.index].matchesHack(e))this.index++;else{let r=document.createElement(e);e=="IMG"&&(r.className="ProseMirror-separator",r.alt=""),e=="BR"&&(r.className="ProseMirror-trailingBreak");let o=new uhe(this.top,[],r,null);n!=this.top?n.children.push(o):n.children.splice(this.index++,0,o),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||e.nodeType==1&&e.contains(this.lock.parentNode))}}function ynt(t,e){let n=e,r=n.children.length,o=t.childCount,s=new Map,a=[];e:for(;o>0;){let i;for(;;)if(r){let u=n.children[r-1];if(u instanceof Dg)n=u,r=u.children.length;else{i=u,r--;break}}else{if(n==e)break e;r=n.parent.children.indexOf(n),n=n.parent}let l=i.node;if(l){if(l!=t.child(o-1))break;--o,s.set(i,o),a.push(i)}}return{index:o,matched:s,matches:a.reverse()}}function vnt(t,e){return t.type.side-e.type.side}function wnt(t,e,n,r){let o=e.locals(t),s=0;if(o.length==0){for(let u=0;u<t.childCount;u++){let d=t.child(u);r(d,o,e.forChild(s,d),u),s+=d.nodeSize}return}let a=0,i=[],l=null;for(let u=0;;){let d,f;for(;a<o.length&&o[a].to==s;){let j=o[a++];j.widget&&(d?(f||(f=[d])).push(j):d=j)}if(d)if(f){f.sort(vnt);for(let j=0;j<f.length;j++)n(f[j],u,!!l)}else n(d,u,!!l);let m,g;if(l)g=-1,m=l,l=null;else if(u<t.childCount)g=u,m=t.child(u++);else break;for(let j=0;j<i.length;j++)i[j].to<=s&&i.splice(j--,1);for(;a<o.length&&o[a].from<=s&&o[a].to>s;)i.push(o[a++]);let w=s+m.nodeSize;if(m.isText){let j=w;a<o.length&&o[a].from<j&&(j=o[a].from);for(let S=0;S<i.length;S++)i[S].to<j&&(j=i[S].to);j<w&&(l=m.cut(j-s),m=m.cut(0,j-s),w=j,g=-1)}else for(;a<o.length&&o[a].to<w;)a++;let b=m.isInline&&!m.isLeaf?i.filter(j=>!j.inline):i.slice();r(m,b,e.forChild(s,m),g),s=w}}function bnt(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t).listStyle,t.style.cssText=e}}function xnt(t,e,n,r){for(let o=0,s=0;o<t.childCount&&s<=r;){let a=t.child(o++),i=s;if(s+=a.nodeSize,!a.isText)continue;let l=a.text;for(;o<t.childCount;){let u=t.child(o++);if(s+=u.nodeSize,!u.isText)break;l+=u.text}if(s>=n){if(s>=r&&l.slice(r-e.length-i,r-i)==e)return r-e.length;let u=i<r?l.lastIndexOf(e,r-i-1):-1;if(u>=0&&u+e.length+i>=n)return i+u;if(n==r&&l.length>=r+e.length-i&&l.slice(r-i,r-i+e.length)==e)return r}}return-1}function QM(t,e,n,r,o){let s=[];for(let a=0,i=0;a<t.length;a++){let l=t[a],u=i,d=i+=l.size;u>=n||d<=e?s.push(l):(u<e&&s.push(l.slice(0,e-u,r)),o&&(s.push(o),o=void 0),d>n&&s.push(l.slice(n-u,l.size,r)))}return s}function tP(t,e=null){let n=t.domSelectionRange(),r=t.state.doc;if(!n.focusNode)return null;let o=t.docView.nearestDesc(n.focusNode),s=o&&o.size==0,a=t.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(a<0)return null;let i=r.resolve(a),l,u;if(yE(n)){for(l=a;o&&!o.node;)o=o.parent;let f=o.node;if(o&&f.isAtom&&jn.isSelectable(f)&&o.parent&&!(f.isInline&&Gtt(n.focusNode,n.focusOffset,o.dom))){let m=o.posBefore;u=new jn(a==m?i:r.resolve(m))}}else{if(n instanceof t.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let f=a,m=a;for(let g=0;g<n.rangeCount;g++){let w=n.getRangeAt(g);f=Math.min(f,t.docView.posFromDOM(w.startContainer,w.startOffset,1)),m=Math.max(m,t.docView.posFromDOM(w.endContainer,w.endOffset,-1))}if(f<0)return null;[l,a]=m==t.state.selection.anchor?[m,f]:[f,m],i=r.resolve(a)}else l=t.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(l<0)return null}let d=r.resolve(l);if(!u){let f=e=="pointer"||t.state.selection.head<i.pos&&!s?1:-1;u=nP(t,d,i,f)}return u}function hhe(t){return t.editable?t.hasFocus():ghe(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function rd(t,e=!1){let n=t.state.selection;if(mhe(t,n),!!hhe(t)){if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&Ia){let r=t.domSelectionRange(),o=t.domObserver.currentSelection;if(r.anchorNode&&o.anchorNode&&Tg(r.anchorNode,r.anchorOffset,o.anchorNode,o.anchorOffset)){t.input.mouseDown.delayedSelectionSync=!0,t.domObserver.setCurSelection();return}}if(t.domObserver.disconnectSelection(),t.cursorWrapper)jnt(t);else{let{anchor:r,head:o}=n,s,a;Uq&&!(n instanceof Vn)&&(n.$from.parent.inlineContent||(s=$q(t,n.from)),!n.empty&&!n.$from.parent.inlineContent&&(a=$q(t,n.to))),t.docView.setSelection(r,o,t,e),Uq&&(s&&Vq(s),a&&Vq(a)),n.visible?t.dom.classList.remove("ProseMirror-hideselection"):(t.dom.classList.add("ProseMirror-hideselection"),"onselectionchange"in document&&knt(t))}t.domObserver.setCurSelection(),t.domObserver.connectSelection()}}const Uq=oi||Ia&&nhe<63;function $q(t,e){let{node:n,offset:r}=t.docView.domFromPos(e,0),o=r<n.childNodes.length?n.childNodes[r]:null,s=r?n.childNodes[r-1]:null;if(oi&&o&&o.contentEditable=="false")return ZA(o);if((!o||o.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(o)return ZA(o);if(s)return ZA(s)}}function ZA(t){return t.contentEditable="true",oi&&t.draggable&&(t.draggable=!1,t.wasDraggable=!0),t}function Vq(t){t.contentEditable="false",t.wasDraggable&&(t.draggable=!0,t.wasDraggable=null)}function knt(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let n=t.domSelectionRange(),r=n.anchorNode,o=n.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{(n.anchorNode!=r||n.anchorOffset!=o)&&(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout(()=>{(!hhe(t)||t.state.selection.visible)&&t.dom.classList.remove("ProseMirror-hideselection")},20))})}function jnt(t){let e=t.domSelection(),n=document.createRange();if(!e)return;let r=t.cursorWrapper.dom,o=r.nodeName=="IMG";o?n.setStart(r.parentNode,oa(r)+1):n.setStart(r,0),n.collapse(!0),e.removeAllRanges(),e.addRange(n),!o&&!t.state.selection.visible&&Ei&&qp<=11&&(r.disabled=!0,r.disabled=!1)}function mhe(t,e){if(e instanceof jn){let n=t.docView.descAt(e.from);n!=t.lastSelectedViewDesc&&(Hq(t),n&&n.selectNode(),t.lastSelectedViewDesc=n)}else Hq(t)}function Hq(t){t.lastSelectedViewDesc&&(t.lastSelectedViewDesc.parent&&t.lastSelectedViewDesc.deselectNode(),t.lastSelectedViewDesc=void 0)}function nP(t,e,n,r){return t.someProp("createSelectionBetween",o=>o(t,e,n))||Vn.between(e,n,r)}function Wq(t){return t.editable&&!t.hasFocus()?!1:ghe(t)}function ghe(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch{return!1}}function Cnt(t){let e=t.docView.domFromPos(t.state.selection.anchor,0),n=t.domSelectionRange();return Tg(e.node,e.offset,n.anchorNode,n.anchorOffset)}function JM(t,e){let{$anchor:n,$head:r}=t.selection,o=e>0?n.max(r):n.min(r),s=o.parent.inlineContent?o.depth?t.doc.resolve(e>0?o.after():o.before()):null:o;return s&&rr.findFrom(s,e)}function Cp(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function Yq(t,e,n){let r=t.state.selection;if(r instanceof Vn)if(n.indexOf("s")>-1){let{$head:o}=r,s=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter;if(!s||s.isText||!s.isLeaf)return!1;let a=t.state.doc.resolve(o.pos+s.nodeSize*(e<0?-1:1));return Cp(t,new Vn(r.$anchor,a))}else if(r.empty){if(t.endOfTextblock(e>0?"forward":"backward")){let o=JM(t.state,e);return o&&o instanceof jn?Cp(t,o):!1}else if(!(Pl&&n.indexOf("m")>-1)){let o=r.$head,s=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter,a;if(!s||s.isText)return!1;let i=e<0?o.pos-s.nodeSize:o.pos;return s.isAtom||(a=t.docView.descAt(i))&&!a.contentDOM?jn.isSelectable(s)?Cp(t,new jn(e<0?t.state.doc.resolve(o.pos-s.nodeSize):o)):Ex?Cp(t,new Vn(t.state.doc.resolve(e<0?i:i+s.nodeSize))):!1:!1}}else return!1;else{if(r instanceof jn&&r.node.isInline)return Cp(t,new Vn(e>0?r.$to:r.$from));{let o=JM(t.state,e);return o?Cp(t,o):!1}}}function Mj(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function ib(t,e){let n=t.pmViewDesc;return n&&n.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function t0(t,e){return e<0?Snt(t):Ent(t)}function Snt(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o,s,a=!1;for(lu&&n.nodeType==1&&r<Mj(n)&&ib(n.childNodes[r],-1)&&(a=!0);;)if(r>0){if(n.nodeType!=1)break;{let i=n.childNodes[r-1];if(ib(i,-1))o=n,s=--r;else if(i.nodeType==3)n=i,r=n.nodeValue.length;else break}}else{if(yhe(n))break;{let i=n.previousSibling;for(;i&&ib(i,-1);)o=n.parentNode,s=oa(i),i=i.previousSibling;if(i)n=i,r=Mj(n);else{if(n=n.parentNode,n==t.dom)break;r=0}}}a?XM(t,n,r):o&&XM(t,o,s)}function Ent(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o=Mj(n),s,a;for(;;)if(r<o){if(n.nodeType!=1)break;let i=n.childNodes[r];if(ib(i,1))s=n,a=++r;else break}else{if(yhe(n))break;{let i=n.nextSibling;for(;i&&ib(i,1);)s=i.parentNode,a=oa(i)+1,i=i.nextSibling;if(i)n=i,r=0,o=Mj(n);else{if(n=n.parentNode,n==t.dom)break;r=o=0}}}s&&XM(t,s,a)}function yhe(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function Nnt(t,e){for(;t&&e==t.childNodes.length&&!Sx(t);)e=oa(t)+1,t=t.parentNode;for(;t&&e<t.childNodes.length;){let n=t.childNodes[e];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable=="false")break;t=n,e=0}}function Int(t,e){for(;t&&!e&&!Sx(t);)e=oa(t),t=t.parentNode;for(;t&&e;){let n=t.childNodes[e-1];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable=="false")break;t=n,e=t.childNodes.length}}function XM(t,e,n){if(e.nodeType!=3){let s,a;(a=Nnt(e,n))?(e=a,n=0):(s=Int(e,n))&&(e=s,n=s.nodeValue.length)}let r=t.domSelection();if(!r)return;if(yE(r)){let s=document.createRange();s.setEnd(e,n),s.setStart(e,n),r.removeAllRanges(),r.addRange(s)}else r.extend&&r.extend(e,n);t.domObserver.setCurSelection();let{state:o}=t;setTimeout(()=>{t.state==o&&rd(t)},50)}function Gq(t,e){let n=t.state.doc.resolve(e);if(!(Ia||Ztt)&&n.parent.inlineContent){let o=t.coordsAtPos(e);if(e>n.start()){let s=t.coordsAtPos(e-1),a=(s.top+s.bottom)/2;if(a>o.top&&a<o.bottom&&Math.abs(s.left-o.left)>1)return s.left<o.left?"ltr":"rtl"}if(e<n.end()){let s=t.coordsAtPos(e+1),a=(s.top+s.bottom)/2;if(a>o.top&&a<o.bottom&&Math.abs(s.left-o.left)>1)return s.left>o.left?"ltr":"rtl"}}return getComputedStyle(t.dom).direction=="rtl"?"rtl":"ltr"}function qq(t,e,n){let r=t.state.selection;if(r instanceof Vn&&!r.empty||n.indexOf("s")>-1||Pl&&n.indexOf("m")>-1)return!1;let{$from:o,$to:s}=r;if(!o.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let a=JM(t.state,e);if(a&&a instanceof jn)return Cp(t,a)}if(!o.parent.inlineContent){let a=e<0?o:s,i=r instanceof pl?rr.near(a,e):rr.findFrom(a,e);return i?Cp(t,i):!1}return!1}function Kq(t,e){if(!(t.state.selection instanceof Vn))return!0;let{$head:n,$anchor:r,empty:o}=t.state.selection;if(!n.sameParent(r))return!0;if(!o)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let s=!n.textOffset&&(e<0?n.nodeBefore:n.nodeAfter);if(s&&!s.isText){let a=t.state.tr;return e<0?a.delete(n.pos-s.nodeSize,n.pos):a.delete(n.pos,n.pos+s.nodeSize),t.dispatch(a),!0}return!1}function Zq(t,e,n){t.domObserver.stop(),e.contentEditable=n,t.domObserver.start()}function Ant(t){if(!oi||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(e&&e.nodeType==1&&n==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let r=e.firstChild;Zq(t,r,"true"),setTimeout(()=>Zq(t,r,"false"),20)}return!1}function _nt(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}function Mnt(t,e){let n=e.keyCode,r=_nt(e);if(n==8||Pl&&n==72&&r=="c")return Kq(t,-1)||t0(t,-1);if(n==46&&!e.shiftKey||Pl&&n==68&&r=="c")return Kq(t,1)||t0(t,1);if(n==13||n==27)return!0;if(n==37||Pl&&n==66&&r=="c"){let o=n==37?Gq(t,t.state.selection.from)=="ltr"?-1:1:-1;return Yq(t,o,r)||t0(t,o)}else if(n==39||Pl&&n==70&&r=="c"){let o=n==39?Gq(t,t.state.selection.from)=="ltr"?1:-1:1;return Yq(t,o,r)||t0(t,o)}else{if(n==38||Pl&&n==80&&r=="c")return qq(t,-1,r)||t0(t,-1);if(n==40||Pl&&n==78&&r=="c")return Ant(t)||qq(t,1,r)||t0(t,1);if(r==(Pl?"m":"c")&&(n==66||n==73||n==89||n==90))return!0}return!1}function rP(t,e){t.someProp("transformCopied",g=>{e=g(e,t)});let n=[],{content:r,openStart:o,openEnd:s}=e;for(;o>1&&s>1&&r.childCount==1&&r.firstChild.childCount==1;){o--,s--;let g=r.firstChild;n.push(g.type.name,g.attrs!=g.type.defaultAttrs?g.attrs:null),r=g.content}let a=t.someProp("clipboardSerializer")||t1.fromSchema(t.state.schema),i=jhe(),l=i.createElement("div");l.appendChild(a.serializeFragment(r,{document:i}));let u=l.firstChild,d,f=0;for(;u&&u.nodeType==1&&(d=khe[u.nodeName.toLowerCase()]);){for(let g=d.length-1;g>=0;g--){let w=i.createElement(d[g]);for(;l.firstChild;)w.appendChild(l.firstChild);l.appendChild(w),f++}u=l.firstChild}u&&u.nodeType==1&&u.setAttribute("data-pm-slice",`${o} ${s}${f?` -${f}`:""} ${JSON.stringify(n)}`);let m=t.someProp("clipboardTextSerializer",g=>g(e,t))||e.content.textBetween(0,e.content.size,`
2103
2104 `);return{dom:l,text:m,slice:e}}function vhe(t,e,n,r,o){let s=o.parent.type.spec.code,a,i;if(!n&&!e)return null;let l=e&&(r||s||!n);if(l){if(t.someProp("transformPastedText",m=>{e=m(e,s||r,t)}),s)return e?new en(Mt.from(t.state.schema.text(e.replace(/\r\n?/g,`
2105 `))),0,0):en.empty;let f=t.someProp("clipboardTextParser",m=>m(e,o,r,t));if(f)i=f;else{let m=o.marks(),{schema:g}=t.state,w=t1.fromSchema(g);a=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(b=>{let j=a.appendChild(document.createElement("p"));b&&j.appendChild(w.serializeNode(g.text(b,m)))})}}else t.someProp("transformPastedHTML",f=>{n=f(n,t)}),a=Lnt(n),Ex&&Pnt(a);let u=a&&a.querySelector("[data-pm-slice]"),d=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute("data-pm-slice")||"");if(d&&d[3])for(let f=+d[3];f>0;f--){let m=a.firstChild;for(;m&&m.nodeType!=1;)m=m.nextSibling;if(!m)break;a=m}if(i||(i=(t.someProp("clipboardParser")||t.someProp("domParser")||ob.fromSchema(t.state.schema)).parseSlice(a,{preserveWhitespace:!!(l||d),context:o,ruleFromNode(m){return m.nodeName=="BR"&&!m.nextSibling&&m.parentNode&&!Rnt.test(m.parentNode.nodeName)?{ignore:!0}:null}})),d)i=Ont(Qq(i,+d[1],+d[2]),d[4]);else if(i=en.maxOpen(Tnt(i.content,o),!0),i.openStart||i.openEnd){let f=0,m=0;for(let g=i.content.firstChild;f<i.openStart&&!g.type.spec.isolating;f++,g=g.firstChild);for(let g=i.content.lastChild;m<i.openEnd&&!g.type.spec.isolating;m++,g=g.lastChild);i=Qq(i,f,m)}return t.someProp("transformPasted",f=>{i=f(i,t)}),i}const Rnt=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function Tnt(t,e){if(t.childCount<2)return t;for(let n=e.depth;n>=0;n--){let o=e.node(n).contentMatchAt(e.index(n)),s,a=[];if(t.forEach(i=>{if(!a)return;let l=o.findWrapping(i.type),u;if(!l)return a=null;if(u=a.length&&s.length&&bhe(l,s,i,a[a.length-1],0))a[a.length-1]=u;else{a.length&&(a[a.length-1]=xhe(a[a.length-1],s.length));let d=whe(i,l);a.push(d),o=o.matchType(d.type),s=l}}),a)return Mt.from(a)}return t}function whe(t,e,n=0){for(let r=e.length-1;r>=n;r--)t=e[r].create(null,Mt.from(t));return t}function bhe(t,e,n,r,o){if(o<t.length&&o<e.length&&t[o]==e[o]){let s=bhe(t,e,n,r.lastChild,o+1);if(s)return r.copy(r.content.replaceChild(r.childCount-1,s));if(r.contentMatchAt(r.childCount).matchType(o==t.length-1?n.type:t[o+1]))return r.copy(r.content.append(Mt.from(whe(n,t,o+1))))}}function xhe(t,e){if(e==0)return t;let n=t.content.replaceChild(t.childCount-1,xhe(t.lastChild,e-1)),r=t.contentMatchAt(t.childCount).fillBefore(Mt.empty,!0);return t.copy(n.append(r))}function eR(t,e,n,r,o,s){let a=e<0?t.firstChild:t.lastChild,i=a.content;return t.childCount>1&&(s=0),o<r-1&&(i=eR(i,e,n,r,o+1,s)),o>=n&&(i=e<0?a.contentMatchAt(0).fillBefore(i,s<=o).append(i):i.append(a.contentMatchAt(a.childCount).fillBefore(Mt.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,a.copy(i))}function Qq(t,e,n){return e<t.openStart&&(t=new en(eR(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd)),n<t.openEnd&&(t=new en(eR(t.content,1,n,t.openEnd,0,0),t.openStart,n)),t}const khe={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let Jq=null;function jhe(){return Jq||(Jq=document.implementation.createHTMLDocument("title"))}let QA=null;function Dnt(t){let e=window.trustedTypes;return e?(QA||(QA=e.defaultPolicy||e.createPolicy("ProseMirrorClipboard",{createHTML:n=>n})),QA.createHTML(t)):t}function Lnt(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n=jhe().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(t),o;if((o=r&&khe[r[1].toLowerCase()])&&(t=o.map(s=>"<"+s+">").join("")+t+o.map(s=>"</"+s+">").reverse().join("")),n.innerHTML=Dnt(t),o)for(let s=0;s<o.length;s++)n=n.querySelector(o[s])||n;return n}function Pnt(t){let e=t.querySelectorAll(Ia?"span:not([class]):not([style])":"span.Apple-converted-space");for(let n=0;n<e.length;n++){let r=e[n];r.childNodes.length==1&&r.textContent==" "&&r.parentNode&&r.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),r)}}function Ont(t,e){if(!t.size)return t;let n=t.content.firstChild.type.schema,r;try{r=JSON.parse(e)}catch{return t}let{content:o,openStart:s,openEnd:a}=t;for(let i=r.length-2;i>=0;i-=2){let l=n.nodes[r[i]];if(!l||l.hasRequiredAttrs())break;o=Mt.from(l.create(r[i+1],o)),s++,a++}return new en(o,s,a)}const si={},ai={},znt={touchstart:!0,touchmove:!0};class Fnt{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:""},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function Bnt(t){for(let e in si){let n=si[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=r=>{$nt(t,r)&&!oP(t,r)&&(t.editable||!(r.type in ai))&&n(t,r)},znt[e]?{passive:!0}:void 0)}oi&&t.dom.addEventListener("input",()=>null),tR(t)}function Fp(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function Unt(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function tR(t){t.someProp("handleDOMEvents",e=>{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=r=>oP(t,r))})}function oP(t,e){return t.someProp("handleDOMEvents",n=>{let r=n[e.type];return r?r(t,e)||e.defaultPrevented:!1})}function $nt(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function Vnt(t,e){!oP(t,e)&&si[e.type]&&(t.editable||!(e.type in ai))&&si[e.type](t,e)}ai.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=n.keyCode==16||n.shiftKey,!She(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!(Xf&&Ia&&n.keyCode==13)))if(n.keyCode!=229&&t.domObserver.forceFlush(),Sy&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let r=Date.now();t.input.lastIOSEnter=r,t.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{t.input.lastIOSEnter==r&&(t.someProp("handleKeyDown",o=>o(t,Em(13,"Enter"))),t.input.lastIOSEnter=0)},200)}else t.someProp("handleKeyDown",r=>r(t,n))||Mnt(t,n)?n.preventDefault():Fp(t,"key")};ai.keyup=(t,e)=>{e.keyCode==16&&(t.input.shiftKey=!1)};ai.keypress=(t,e)=>{let n=e;if(She(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||Pl&&n.metaKey)return;if(t.someProp("handleKeyPress",o=>o(t,n))){n.preventDefault();return}let r=t.state.selection;if(!(r instanceof Vn)||!r.$from.sameParent(r.$to)){let o=String.fromCharCode(n.charCode);!/[\r\n]/.test(o)&&!t.someProp("handleTextInput",s=>s(t,r.$from.pos,r.$to.pos,o))&&t.dispatch(t.state.tr.insertText(o).scrollIntoView()),n.preventDefault()}};function wE(t){return{left:t.clientX,top:t.clientY}}function Hnt(t,e){let n=e.x-t.clientX,r=e.y-t.clientY;return n*n+r*r<100}function sP(t,e,n,r,o){if(r==-1)return!1;let s=t.state.doc.resolve(r);for(let a=s.depth+1;a>0;a--)if(t.someProp(e,i=>a>s.depth?i(t,n,s.nodeAfter,s.before(a),o,!0):i(t,n,s.node(a),s.before(a),o,!1)))return!0;return!1}function q0(t,e,n){if(t.focused||t.focus(),t.state.selection.eq(e))return;let r=t.state.tr.setSelection(e);r.setMeta("pointer",!0),t.dispatch(r)}function Wnt(t,e){if(e==-1)return!1;let n=t.state.doc.resolve(e),r=n.nodeAfter;return r&&r.isAtom&&jn.isSelectable(r)?(q0(t,new jn(n)),!0):!1}function Ynt(t,e){if(e==-1)return!1;let n=t.state.selection,r,o;n instanceof jn&&(r=n.node);let s=t.state.doc.resolve(e);for(let a=s.depth+1;a>0;a--){let i=a>s.depth?s.nodeAfter:s.node(a);if(jn.isSelectable(i)){r&&n.$from.depth>0&&a>=n.$from.depth&&s.before(n.$from.depth+1)==n.$from.pos?o=s.before(n.$from.depth):o=s.before(a);break}}return o!=null?(q0(t,jn.create(t.state.doc,o)),!0):!1}function Gnt(t,e,n,r,o){return sP(t,"handleClickOn",e,n,r)||t.someProp("handleClick",s=>s(t,e,r))||(o?Ynt(t,n):Wnt(t,n))}function qnt(t,e,n,r){return sP(t,"handleDoubleClickOn",e,n,r)||t.someProp("handleDoubleClick",o=>o(t,e,r))}function Knt(t,e,n,r){return sP(t,"handleTripleClickOn",e,n,r)||t.someProp("handleTripleClick",o=>o(t,e,r))||Znt(t,n,r)}function Znt(t,e,n){if(n.button!=0)return!1;let r=t.state.doc;if(e==-1)return r.inlineContent?(q0(t,Vn.create(r,0,r.content.size)),!0):!1;let o=r.resolve(e);for(let s=o.depth+1;s>0;s--){let a=s>o.depth?o.nodeAfter:o.node(s),i=o.before(s);if(a.inlineContent)q0(t,Vn.create(r,i+1,i+1+a.content.size));else if(jn.isSelectable(a))q0(t,jn.create(r,i));else continue;return!0}}function aP(t){return Rj(t)}const Che=Pl?"metaKey":"ctrlKey";si.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let r=aP(t),o=Date.now(),s="singleClick";o-t.input.lastClick.time<500&&Hnt(n,t.input.lastClick)&&!n[Che]&&(t.input.lastClick.type=="singleClick"?s="doubleClick":t.input.lastClick.type=="doubleClick"&&(s="tripleClick")),t.input.lastClick={time:o,x:n.clientX,y:n.clientY,type:s};let a=t.posAtCoords(wE(n));a&&(s=="singleClick"?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new Qnt(t,a,n,!!r)):(s=="doubleClick"?qnt:Knt)(t,a.pos,a.inside,n)?n.preventDefault():Fp(t,"pointer"))};class Qnt{constructor(e,n,r,o){this.view=e,this.pos=n,this.event=r,this.flushed=o,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!r[Che],this.allowDefault=r.shiftKey;let s,a;if(n.inside>-1)s=e.state.doc.nodeAt(n.inside),a=n.inside;else{let d=e.state.doc.resolve(n.pos);s=d.parent,a=d.depth?d.before():0}const i=o?null:r.target,l=i?e.docView.nearestDesc(i,!0):null;this.target=l&&l.dom.nodeType==1?l.dom:null;let{selection:u}=e.state;(r.button==0&&s.type.spec.draggable&&s.type.spec.selectable!==!1||u instanceof jn&&u.from<=a&&u.to>a)&&(this.mightDrag={node:s,pos:a,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&lu&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),Fp(e,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>rd(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(wE(e))),this.updateAllowDefault(e),this.allowDefault||!n?Fp(this.view,"pointer"):Gnt(this.view,n.pos,n.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||oi&&this.mightDrag&&!this.mightDrag.node.isAtom||Ia&&!this.view.state.selection.visible&&Math.min(Math.abs(n.pos-this.view.state.selection.from),Math.abs(n.pos-this.view.state.selection.to))<=2)?(q0(this.view,rr.near(this.view.state.doc.resolve(n.pos))),e.preventDefault()):Fp(this.view,"pointer")}move(e){this.updateAllowDefault(e),Fp(this.view,"pointer"),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}}si.touchstart=t=>{t.input.lastTouch=Date.now(),aP(t),Fp(t,"pointer")};si.touchmove=t=>{t.input.lastTouch=Date.now(),Fp(t,"pointer")};si.contextmenu=t=>aP(t);function She(t,e){return t.composing?!0:oi&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500?(t.input.compositionEndedAt=-2e8,!0):!1}const Jnt=Xf?5e3:-1;ai.compositionstart=ai.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$to;if(e.selection instanceof Vn&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)))t.markCursor=t.state.storedMarks||n.marks(),Rj(t,!0),t.markCursor=null;else if(Rj(t,!e.selection.empty),lu&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let r=t.domSelectionRange();for(let o=r.focusNode,s=r.focusOffset;o&&o.nodeType==1&&s!=0;){let a=s<0?o.lastChild:o.childNodes[s-1];if(!a)break;if(a.nodeType==3){let i=t.domSelection();i&&i.collapse(a,a.nodeValue.length);break}else o=a,s=-1}}t.input.composing=!0}Ehe(t,Jnt)};ai.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then(()=>t.domObserver.flush()),t.input.compositionID++,Ehe(t,20))};function Ehe(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout(()=>Rj(t),e))}function Nhe(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=ert());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function Xnt(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=Wtt(e.focusNode,e.focusOffset),r=Ytt(e.focusNode,e.focusOffset);if(n&&r&&n!=r){let o=r.pmViewDesc,s=t.domObserver.lastChangedTextNode;if(n==s||r==s)return s;if(!o||!o.isText(r.nodeValue))return r;if(t.input.compositionNode==r){let a=n.pmViewDesc;if(!(!a||!a.isText(n.nodeValue)))return r}}return n||r}function ert(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}function Rj(t,e=!1){if(!(Xf&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),Nhe(t),e||t.docView&&t.docView.dirty){let n=tP(t);return n&&!n.eq(t.state.selection)?t.dispatch(t.state.tr.setSelection(n)):(t.markCursor||e)&&!t.state.selection.empty?t.dispatch(t.state.tr.deleteSelection()):t.updateState(t.state),!0}return!1}}function trt(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),o=document.createRange();o.selectNodeContents(e),t.dom.blur(),r.removeAllRanges(),r.addRange(o),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()},50)}const g2=Ei&&qp<15||Sy&&Qtt<604;si.copy=ai.cut=(t,e)=>{let n=e,r=t.state.selection,o=n.type=="cut";if(r.empty)return;let s=g2?null:n.clipboardData,a=r.content(),{dom:i,text:l}=rP(t,a);s?(n.preventDefault(),s.clearData(),s.setData("text/html",i.innerHTML),s.setData("text/plain",l)):trt(t,i),o&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function nrt(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function rrt(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,r=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let o=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout(()=>{t.focus(),r.parentNode&&r.parentNode.removeChild(r),n?y2(t,r.value,null,o,e):y2(t,r.textContent,r.innerHTML,o,e)},50)}function y2(t,e,n,r,o){let s=vhe(t,e,n,r,t.state.selection.$from);if(t.someProp("handlePaste",l=>l(t,o,s||en.empty)))return!0;if(!s)return!1;let a=nrt(s),i=a?t.state.tr.replaceSelectionWith(a,r):t.state.tr.replaceSelection(s);return t.dispatch(i.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function Ihe(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}ai.paste=(t,e)=>{let n=e;if(t.composing&&!Xf)return;let r=g2?null:n.clipboardData,o=t.input.shiftKey&&t.input.lastKeyCode!=45;r&&y2(t,Ihe(r),r.getData("text/html"),o,n)?n.preventDefault():rrt(t,n)};class Ahe{constructor(e,n,r){this.slice=e,this.move=n,this.node=r}}const ort=Pl?"altKey":"ctrlKey";function _he(t,e){let n=t.someProp("dragCopies",r=>!r(e));return n??!e[ort]}si.dragstart=(t,e)=>{let n=e,r=t.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let o=t.state.selection,s=o.empty?null:t.posAtCoords(wE(n)),a;if(!(s&&s.pos>=o.from&&s.pos<=(o instanceof jn?o.to-1:o.to))){if(r&&r.mightDrag)a=jn.create(t.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let f=t.docView.nearestDesc(n.target,!0);f&&f.node.type.spec.draggable&&f!=t.docView&&(a=jn.create(t.state.doc,f.posBefore))}}let i=(a||t.state.selection).content(),{dom:l,text:u,slice:d}=rP(t,i);(!n.dataTransfer.files.length||!Ia||nhe>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(g2?"Text":"text/html",l.innerHTML),n.dataTransfer.effectAllowed="copyMove",g2||n.dataTransfer.setData("text/plain",u),t.dragging=new Ahe(d,_he(t,n),a)};si.dragend=t=>{let e=t.dragging;window.setTimeout(()=>{t.dragging==e&&(t.dragging=null)},50)};ai.dragover=ai.dragenter=(t,e)=>e.preventDefault();ai.drop=(t,e)=>{let n=e,r=t.dragging;if(t.dragging=null,!n.dataTransfer)return;let o=t.posAtCoords(wE(n));if(!o)return;let s=t.state.doc.resolve(o.pos),a=r&&r.slice;a?t.someProp("transformPasted",w=>{a=w(a,t)}):a=vhe(t,Ihe(n.dataTransfer),g2?null:n.dataTransfer.getData("text/html"),!1,s);let i=!!(r&&_he(t,n));if(t.someProp("handleDrop",w=>w(t,n,a||en.empty,i))){n.preventDefault();return}if(!a)return;n.preventDefault();let l=a?Rtt(t.state.doc,s.pos,a):s.pos;l==null&&(l=s.pos);let u=t.state.tr;if(i){let{node:w}=r;w?w.replace(u):u.deleteSelection()}let d=u.mapping.map(l),f=a.openStart==0&&a.openEnd==0&&a.content.childCount==1,m=u.doc;if(f?u.replaceRangeWith(d,d,a.content.firstChild):u.replaceRange(d,d,a),u.doc.eq(m))return;let g=u.doc.resolve(d);if(f&&jn.isSelectable(a.content.firstChild)&&g.nodeAfter&&g.nodeAfter.sameMarkup(a.content.firstChild))u.setSelection(new jn(g));else{let w=u.mapping.map(l);u.mapping.maps[u.mapping.maps.length-1].forEach((b,j,S,I)=>w=I),u.setSelection(nP(t,g,u.doc.resolve(w)))}t.focus(),t.dispatch(u.setMeta("uiEvent","drop"))};si.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout(()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&rd(t)},20))};si.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)};si.beforeinput=(t,e)=>{if(Ia&&Xf&&e.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:r}=t.input;setTimeout(()=>{if(t.input.domChangeCount!=r||(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",s=>s(t,Em(8,"Backspace")))))return;let{$cursor:o}=t.state.selection;o&&o.pos>0&&t.dispatch(t.state.tr.delete(o.pos-1,o.pos).scrollIntoView())},50)}};for(let t in ai)si[t]=ai[t];function v2(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}class Tj{constructor(e,n){this.toDOM=e,this.spec=n||eg,this.side=this.spec.side||0}map(e,n,r,o){let{pos:s,deleted:a}=e.mapResult(n.from+o,this.side<0?-1:1);return a?null:new al(s-r,s-r,this)}valid(){return!0}eq(e){return this==e||e instanceof Tj&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&v2(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}}class Zp{constructor(e,n){this.attrs=e,this.spec=n||eg}map(e,n,r,o){let s=e.map(n.from+o,this.spec.inclusiveStart?-1:1)-r,a=e.map(n.to+o,this.spec.inclusiveEnd?1:-1)-r;return s>=a?null:new al(s,a,this)}valid(e,n){return n.from<n.to}eq(e){return this==e||e instanceof Zp&&v2(this.attrs,e.attrs)&&v2(this.spec,e.spec)}static is(e){return e.type instanceof Zp}destroy(){}}class iP{constructor(e,n){this.attrs=e,this.spec=n||eg}map(e,n,r,o){let s=e.mapResult(n.from+o,1);if(s.deleted)return null;let a=e.mapResult(n.to+o,-1);return a.deleted||a.pos<=s.pos?null:new al(s.pos-r,a.pos-r,this)}valid(e,n){let{index:r,offset:o}=e.content.findIndex(n.from),s;return o==n.from&&!(s=e.child(r)).isText&&o+s.nodeSize==n.to}eq(e){return this==e||e instanceof iP&&v2(this.attrs,e.attrs)&&v2(this.spec,e.spec)}destroy(){}}class al{constructor(e,n,r){this.from=e,this.to=n,this.type=r}copy(e,n){return new al(e,n,this.type)}eq(e,n=0){return this.type.eq(e.type)&&this.from+n==e.from&&this.to+n==e.to}map(e,n,r){return this.type.map(e,this,n,r)}static widget(e,n,r){return new al(e,e,new Tj(n,r))}static inline(e,n,r,o){return new al(e,n,new Zp(r,o))}static node(e,n,r,o){return new al(e,n,new iP(r,o))}get spec(){return this.type.spec}get inline(){return this.type instanceof Zp}get widget(){return this.type instanceof Tj}}const u0=[],eg={};class Go{constructor(e,n){this.local=e.length?e:u0,this.children=n.length?n:u0}static create(e,n){return n.length?Dj(n,e,0,eg):xa}find(e,n,r){let o=[];return this.findInner(e??0,n??1e9,o,0,r),o}findInner(e,n,r,o,s){for(let a=0;a<this.local.length;a++){let i=this.local[a];i.from<=n&&i.to>=e&&(!s||s(i.spec))&&r.push(i.copy(i.from+o,i.to+o))}for(let a=0;a<this.children.length;a+=3)if(this.children[a]<n&&this.children[a+1]>e){let i=this.children[a]+1;this.children[a+2].findInner(e-i,n-i,r,o+i,s)}}map(e,n,r){return this==xa||e.maps.length==0?this:this.mapInner(e,n,0,0,r||eg)}mapInner(e,n,r,o,s){let a;for(let i=0;i<this.local.length;i++){let l=this.local[i].map(e,r,o);l&&l.type.valid(n,l)?(a||(a=[])).push(l):s.onRemove&&s.onRemove(this.local[i].spec)}return this.children.length?srt(this.children,a||[],e,n,r,o,s):a?new Go(a.sort(tg),u0):xa}add(e,n){return n.length?this==xa?Go.create(e,n):this.addInner(e,n,0):this}addInner(e,n,r){let o,s=0;e.forEach((i,l)=>{let u=l+r,d;if(d=Rhe(n,i,u)){for(o||(o=this.children.slice());s<o.length&&o[s]<l;)s+=3;o[s]==l?o[s+2]=o[s+2].addInner(i,d,u+1):o.splice(s,0,l,l+i.nodeSize,Dj(d,i,u+1,eg)),s+=3}});let a=Mhe(s?The(n):n,-r);for(let i=0;i<a.length;i++)a[i].type.valid(e,a[i])||a.splice(i--,1);return new Go(a.length?this.local.concat(a).sort(tg):this.local,o||this.children)}remove(e){return e.length==0||this==xa?this:this.removeInner(e,0)}removeInner(e,n){let r=this.children,o=this.local;for(let s=0;s<r.length;s+=3){let a,i=r[s]+n,l=r[s+1]+n;for(let d=0,f;d<e.length;d++)(f=e[d])&&f.from>i&&f.to<l&&(e[d]=null,(a||(a=[])).push(f));if(!a)continue;r==this.children&&(r=this.children.slice());let u=r[s+2].removeInner(a,i+1);u!=xa?r[s+2]=u:(r.splice(s,3),s-=3)}if(o.length){for(let s=0,a;s<e.length;s++)if(a=e[s])for(let i=0;i<o.length;i++)o[i].eq(a,n)&&(o==this.local&&(o=this.local.slice()),o.splice(i--,1))}return r==this.children&&o==this.local?this:o.length||r.length?new Go(o,r):xa}forChild(e,n){if(this==xa)return this;if(n.isLeaf)return Go.empty;let r,o;for(let i=0;i<this.children.length;i+=3)if(this.children[i]>=e){this.children[i]==e&&(r=this.children[i+2]);break}let s=e+1,a=s+n.content.size;for(let i=0;i<this.local.length;i++){let l=this.local[i];if(l.from<a&&l.to>s&&l.type instanceof Zp){let u=Math.max(s,l.from)-s,d=Math.min(a,l.to)-s;u<d&&(o||(o=[])).push(l.copy(u,d))}}if(o){let i=new Go(o.sort(tg),u0);return r?new Mp([i,r]):i}return r||xa}eq(e){if(this==e)return!0;if(!(e instanceof Go)||this.local.length!=e.local.length||this.children.length!=e.children.length)return!1;for(let n=0;n<this.local.length;n++)if(!this.local[n].eq(e.local[n]))return!1;for(let n=0;n<this.children.length;n+=3)if(this.children[n]!=e.children[n]||this.children[n+1]!=e.children[n+1]||!this.children[n+2].eq(e.children[n+2]))return!1;return!0}locals(e){return lP(this.localsInner(e))}localsInner(e){if(this==xa)return u0;if(e.inlineContent||!this.local.some(Zp.is))return this.local;let n=[];for(let r=0;r<this.local.length;r++)this.local[r].type instanceof Zp||n.push(this.local[r]);return n}forEachSet(e){e(this)}}Go.empty=new Go([],[]);Go.removeOverlap=lP;const xa=Go.empty;class Mp{constructor(e){this.members=e}map(e,n){const r=this.members.map(o=>o.map(e,n,eg));return Mp.from(r)}forChild(e,n){if(n.isLeaf)return Go.empty;let r=[];for(let o=0;o<this.members.length;o++){let s=this.members[o].forChild(e,n);s!=xa&&(s instanceof Mp?r=r.concat(s.members):r.push(s))}return Mp.from(r)}eq(e){if(!(e instanceof Mp)||e.members.length!=this.members.length)return!1;for(let n=0;n<this.members.length;n++)if(!this.members[n].eq(e.members[n]))return!1;return!0}locals(e){let n,r=!0;for(let o=0;o<this.members.length;o++){let s=this.members[o].localsInner(e);if(s.length)if(!n)n=s;else{r&&(n=n.slice(),r=!1);for(let a=0;a<s.length;a++)n.push(s[a])}}return n?lP(r?n:n.sort(tg)):u0}static from(e){switch(e.length){case 0:return xa;case 1:return e[0];default:return new Mp(e.every(n=>n instanceof Go)?e:e.reduce((n,r)=>n.concat(r instanceof Go?r:r.members),[]))}}forEachSet(e){for(let n=0;n<this.members.length;n++)this.members[n].forEachSet(e)}}function srt(t,e,n,r,o,s,a){let i=t.slice();for(let u=0,d=s;u<n.maps.length;u++){let f=0;n.maps[u].forEach((m,g,w,b)=>{let j=b-w-(g-m);for(let S=0;S<i.length;S+=3){let I=i[S+1];if(I<0||m>I+d-f)continue;let N=i[S]+d-f;g>=N?i[S+1]=m<=N?-2:-1:m>=d&&j&&(i[S]+=j,i[S+1]+=j)}f+=j}),d=n.maps[u].map(d,-1)}let l=!1;for(let u=0;u<i.length;u+=3)if(i[u+1]<0){if(i[u+1]==-2){l=!0,i[u+1]=-1;continue}let d=n.map(t[u]+s),f=d-o;if(f<0||f>=r.content.size){l=!0;continue}let m=n.map(t[u+1]+s,-1),g=m-o,{index:w,offset:b}=r.content.findIndex(f),j=r.maybeChild(w);if(j&&b==f&&b+j.nodeSize==g){let S=i[u+2].mapInner(n,j,d+1,t[u]+s+1,a);S!=xa?(i[u]=f,i[u+1]=g,i[u+2]=S):(i[u+1]=-2,l=!0)}else l=!0}if(l){let u=art(i,t,e,n,o,s,a),d=Dj(u,r,0,a);e=d.local;for(let f=0;f<i.length;f+=3)i[f+1]<0&&(i.splice(f,3),f-=3);for(let f=0,m=0;f<d.children.length;f+=3){let g=d.children[f];for(;m<i.length&&i[m]<g;)m+=3;i.splice(m,0,d.children[f],d.children[f+1],d.children[f+2])}}return new Go(e.sort(tg),i)}function Mhe(t,e){if(!e||!t.length)return t;let n=[];for(let r=0;r<t.length;r++){let o=t[r];n.push(new al(o.from+e,o.to+e,o.type))}return n}function art(t,e,n,r,o,s,a){function i(l,u){for(let d=0;d<l.local.length;d++){let f=l.local[d].map(r,o,u);f?n.push(f):a.onRemove&&a.onRemove(l.local[d].spec)}for(let d=0;d<l.children.length;d+=3)i(l.children[d+2],l.children[d]+u+1)}for(let l=0;l<t.length;l+=3)t[l+1]==-1&&i(t[l+2],e[l]+s+1);return n}function Rhe(t,e,n){if(e.isLeaf)return null;let r=n+e.nodeSize,o=null;for(let s=0,a;s<t.length;s++)(a=t[s])&&a.from>n&&a.to<r&&((o||(o=[])).push(a),t[s]=null);return o}function The(t){let e=[];for(let n=0;n<t.length;n++)t[n]!=null&&e.push(t[n]);return e}function Dj(t,e,n,r){let o=[],s=!1;e.forEach((i,l)=>{let u=Rhe(t,i,l+n);if(u){s=!0;let d=Dj(u,i,n+l+1,r);d!=xa&&o.push(l,l+i.nodeSize,d)}});let a=Mhe(s?The(t):t,-n).sort(tg);for(let i=0;i<a.length;i++)a[i].type.valid(e,a[i])||(r.onRemove&&r.onRemove(a[i].spec),a.splice(i--,1));return a.length||o.length?new Go(a,o):xa}function tg(t,e){return t.from-e.from||t.to-e.to}function lP(t){let e=t;for(let n=0;n<e.length-1;n++){let r=e[n];if(r.from!=r.to)for(let o=n+1;o<e.length;o++){let s=e[o];if(s.from==r.from){s.to!=r.to&&(e==t&&(e=t.slice()),e[o]=s.copy(s.from,r.to),Xq(e,o+1,s.copy(r.to,s.to)));continue}else{s.from<r.to&&(e==t&&(e=t.slice()),e[n]=r.copy(r.from,s.from),Xq(e,o,r.copy(s.from,r.to)));break}}}return e}function Xq(t,e,n){for(;e<t.length&&tg(n,t[e])>0;)e++;t.splice(e,0,n)}function JA(t){let e=[];return t.someProp("decorations",n=>{let r=n(t.state);r&&r!=xa&&e.push(r)}),t.cursorWrapper&&e.push(Go.create(t.state.doc,[t.cursorWrapper.deco])),Mp.from(e)}const irt={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},lrt=Ei&&qp<=11;class crt{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}}class urt{constructor(e,n){this.view=e,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new crt,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let o=0;o<r.length;o++)this.queue.push(r[o]);Ei&&qp<=11&&r.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),lrt&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,irt)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let n=0;n<e.length;n++)this.queue.push(e[n]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(Wq(this.view)){if(this.suppressingSelectionUpdates)return rd(this.view);if(Ei&&qp<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&Tg(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let n=new Set,r;for(let s=e.focusNode;s;s=Cy(s))n.add(s);for(let s=e.anchorNode;s;s=Cy(s))if(n.has(s)){r=s;break}let o=r&&this.view.docView.nearestDesc(r);if(o&&o.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let n=this.pendingRecords();n.length&&(this.queue=[]);let r=e.domSelectionRange(),o=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&Wq(e)&&!this.ignoreSelectionChange(r),s=-1,a=-1,i=!1,l=[];if(e.editable)for(let d=0;d<n.length;d++){let f=this.registerMutation(n[d],l);f&&(s=s<0?f.from:Math.min(f.from,s),a=a<0?f.to:Math.max(f.to,a),f.typeOver&&(i=!0))}if(lu&&l.length){let d=l.filter(f=>f.nodeName=="BR");if(d.length==2){let[f,m]=d;f.parentNode&&f.parentNode.parentNode==m.parentNode?m.remove():f.remove()}else{let{focusNode:f}=this.currentSelection;for(let m of d){let g=m.parentNode;g&&g.nodeName=="LI"&&(!f||prt(e,f)!=g)&&m.remove()}}}let u=null;s<0&&o&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&yE(r)&&(u=tP(e))&&u.eq(rr.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,rd(e),this.currentSelection.set(r),e.scrollToSelection()):(s>-1||o)&&(s>-1&&(e.docView.markDirty(s,a),frt(e)),this.handleDOMChange(s,a,i,l),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(r)||rd(e),this.currentSelection.set(r))}registerMutation(e,n){if(n.indexOf(e.target)>-1)return null;let r=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(r==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!r||r.ignoreMutation(e))return null;if(e.type=="childList"){for(let d=0;d<e.addedNodes.length;d++){let f=e.addedNodes[d];n.push(f),f.nodeType==3&&(this.lastChangedTextNode=f)}if(r.contentDOM&&r.contentDOM!=r.dom&&!r.contentDOM.contains(e.target))return{from:r.posBefore,to:r.posAfter};let o=e.previousSibling,s=e.nextSibling;if(Ei&&qp<=11&&e.addedNodes.length)for(let d=0;d<e.addedNodes.length;d++){let{previousSibling:f,nextSibling:m}=e.addedNodes[d];(!f||Array.prototype.indexOf.call(e.addedNodes,f)<0)&&(o=f),(!m||Array.prototype.indexOf.call(e.addedNodes,m)<0)&&(s=m)}let a=o&&o.parentNode==e.target?oa(o)+1:0,i=r.localPosFromDOM(e.target,a,-1),l=s&&s.parentNode==e.target?oa(s):e.target.childNodes.length,u=r.localPosFromDOM(e.target,l,1);return{from:i,to:u}}else return e.type=="attributes"?{from:r.posAtStart-r.border,to:r.posAtEnd+r.border}:(this.lastChangedTextNode=e.target,{from:r.posAtStart,to:r.posAtEnd,typeOver:e.target.nodeValue==e.oldValue})}}let eK=new WeakMap,tK=!1;function frt(t){if(!eK.has(t)&&(eK.set(t,null),["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1)){if(t.requiresGeckoHackNode=lu,tK)return;console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."),tK=!0}}function nK(t,e){let n=e.startContainer,r=e.startOffset,o=e.endContainer,s=e.endOffset,a=t.domAtPos(t.state.selection.anchor);return Tg(a.node,a.offset,o,s)&&([n,r,o,s]=[o,s,n,r]),{anchorNode:n,anchorOffset:r,focusNode:o,focusOffset:s}}function drt(t,e){if(e.getComposedRanges){let o=e.getComposedRanges(t.root)[0];if(o)return nK(t,o)}let n;function r(o){o.preventDefault(),o.stopImmediatePropagation(),n=o.getTargetRanges()[0]}return t.dom.addEventListener("beforeinput",r,!0),document.execCommand("indent"),t.dom.removeEventListener("beforeinput",r,!0),n?nK(t,n):null}function prt(t,e){for(let n=e.parentNode;n&&n!=t.dom;n=n.parentNode){let r=t.docView.nearestDesc(n,!0);if(r&&r.node.isBlock)return n}return null}function hrt(t,e,n){let{node:r,fromOffset:o,toOffset:s,from:a,to:i}=t.docView.parseRange(e,n),l=t.domSelectionRange(),u,d=l.anchorNode;if(d&&t.dom.contains(d.nodeType==1?d:d.parentNode)&&(u=[{node:d,offset:l.anchorOffset}],yE(l)||u.push({node:l.focusNode,offset:l.focusOffset})),Ia&&t.input.lastKeyCode===8)for(let j=s;j>o;j--){let S=r.childNodes[j-1],I=S.pmViewDesc;if(S.nodeName=="BR"&&!I){s=j;break}if(!I||I.size)break}let f=t.state.doc,m=t.someProp("domParser")||ob.fromSchema(t.state.schema),g=f.resolve(a),w=null,b=m.parse(r,{topNode:g.parent,topMatch:g.parent.contentMatchAt(g.index()),topOpen:!0,from:o,to:s,preserveWhitespace:g.parent.type.whitespace=="pre"?"full":!0,findPositions:u,ruleFromNode:mrt,context:g});if(u&&u[0].pos!=null){let j=u[0].pos,S=u[1]&&u[1].pos;S==null&&(S=j),w={anchor:j+a,head:S+a}}return{doc:b,sel:w,from:a,to:i}}function mrt(t){let e=t.pmViewDesc;if(e)return e.parseRule();if(t.nodeName=="BR"&&t.parentNode){if(oi&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(t.parentNode.lastChild==t||oi&&/^(tr|table)$/i.test(t.parentNode.nodeName))return{ignore:!0}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder"))return{ignore:!0};return null}const grt=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function yrt(t,e,n,r,o){let s=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let T=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,R=tP(t,T);if(R&&!t.state.selection.eq(R)){if(Ia&&Xf&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",G=>G(t,Em(13,"Enter"))))return;let z=t.state.tr.setSelection(R);T=="pointer"?z.setMeta("pointer",!0):T=="key"&&z.scrollIntoView(),s&&z.setMeta("composition",s),t.dispatch(z)}return}let a=t.state.doc.resolve(e),i=a.sharedDepth(n);e=a.before(i+1),n=t.state.doc.resolve(n).after(i+1);let l=t.state.selection,u=hrt(t,e,n),d=t.state.doc,f=d.slice(u.from,u.to),m,g;t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime?(m=t.state.selection.to,g="end"):(m=t.state.selection.from,g="start"),t.input.lastKeyCode=null;let w=brt(f.content,u.doc.content,u.from,m,g);if(w&&t.input.domChangeCount++,(Sy&&t.input.lastIOSEnter>Date.now()-225||Xf)&&o.some(T=>T.nodeType==1&&!grt.test(T.nodeName))&&(!w||w.endA>=w.endB)&&t.someProp("handleKeyDown",T=>T(t,Em(13,"Enter")))){t.input.lastIOSEnter=0;return}if(!w)if(r&&l instanceof Vn&&!l.empty&&l.$head.sameParent(l.$anchor)&&!t.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))w={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let T=rK(t,t.state.doc,u.sel);if(T&&!T.eq(t.state.selection)){let R=t.state.tr.setSelection(T);s&&R.setMeta("composition",s),t.dispatch(R)}}return}t.state.selection.from<t.state.selection.to&&w.start==w.endB&&t.state.selection instanceof Vn&&(w.start>t.state.selection.from&&w.start<=t.state.selection.from+2&&t.state.selection.from>=u.from?w.start=t.state.selection.from:w.endA<t.state.selection.to&&w.endA>=t.state.selection.to-2&&t.state.selection.to<=u.to&&(w.endB+=t.state.selection.to-w.endA,w.endA=t.state.selection.to)),Ei&&qp<=11&&w.endB==w.start+1&&w.endA==w.start&&w.start>u.from&&u.doc.textBetween(w.start-u.from-1,w.start-u.from+1)==" "&&(w.start--,w.endA--,w.endB--);let b=u.doc.resolveNoCache(w.start-u.from),j=u.doc.resolveNoCache(w.endB-u.from),S=d.resolve(w.start),I=b.sameParent(j)&&b.parent.inlineContent&&S.end()>=w.endA,N;if((Sy&&t.input.lastIOSEnter>Date.now()-225&&(!I||o.some(T=>T.nodeName=="DIV"||T.nodeName=="P"))||!I&&b.pos<u.doc.content.size&&(!b.sameParent(j)||!b.parent.inlineContent)&&!/\S/.test(u.doc.textBetween(b.pos,j.pos,"",""))&&(N=rr.findFrom(u.doc.resolve(b.pos+1),1,!0))&&N.head>b.pos)&&t.someProp("handleKeyDown",T=>T(t,Em(13,"Enter")))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>w.start&&wrt(d,w.start,w.endA,b,j)&&t.someProp("handleKeyDown",T=>T(t,Em(8,"Backspace")))){Xf&&Ia&&t.domObserver.suppressSelectionUpdates();return}Ia&&w.endB==w.start&&(t.input.lastChromeDelete=Date.now()),Xf&&!I&&b.start()!=j.start()&&j.parentOffset==0&&b.depth==j.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==w.endA&&(w.endB-=2,j=u.doc.resolveNoCache(w.endB-u.from),setTimeout(()=>{t.someProp("handleKeyDown",function(T){return T(t,Em(13,"Enter"))})},20));let M=w.start,D=w.endA,P,L,F;if(I){if(b.pos==j.pos)Ei&&qp<=11&&b.parentOffset==0&&(t.domObserver.suppressSelectionUpdates(),setTimeout(()=>rd(t),20)),P=t.state.tr.delete(M,D),L=d.resolve(w.start).marksAcross(d.resolve(w.endA));else if(w.endA==w.endB&&(F=vrt(b.parent.content.cut(b.parentOffset,j.parentOffset),S.parent.content.cut(S.parentOffset,w.endA-S.start()))))P=t.state.tr,F.type=="add"?P.addMark(M,D,F.mark):P.removeMark(M,D,F.mark);else if(b.parent.child(b.index()).isText&&b.index()==j.index()-(j.textOffset?0:1)){let T=b.parent.textBetween(b.parentOffset,j.parentOffset);if(t.someProp("handleTextInput",R=>R(t,M,D,T)))return;P=t.state.tr.insertText(T,M,D)}}if(P||(P=t.state.tr.replace(M,D,u.doc.slice(w.start-u.from,w.endB-u.from))),u.sel){let T=rK(t,P.doc,u.sel);T&&!(Ia&&t.composing&&T.empty&&(w.start!=w.endB||t.input.lastChromeDelete<Date.now()-100)&&(T.head==M||T.head==P.mapping.map(D)-1)||Ei&&T.empty&&T.head==M)&&P.setSelection(T)}L&&P.ensureMarks(L),s&&P.setMeta("composition",s),t.dispatch(P.scrollIntoView())}function rK(t,e,n){return Math.max(n.anchor,n.head)>e.content.size?null:nP(t,e.resolve(n.anchor),e.resolve(n.head))}function vrt(t,e){let n=t.firstChild.marks,r=e.firstChild.marks,o=n,s=r,a,i,l;for(let d=0;d<r.length;d++)o=r[d].removeFromSet(o);for(let d=0;d<n.length;d++)s=n[d].removeFromSet(s);if(o.length==1&&s.length==0)i=o[0],a="add",l=d=>d.mark(i.addToSet(d.marks));else if(o.length==0&&s.length==1)i=s[0],a="remove",l=d=>d.mark(i.removeFromSet(d.marks));else return null;let u=[];for(let d=0;d<e.childCount;d++)u.push(l(e.child(d)));if(Mt.from(u).eq(t))return{mark:i,type:a}}function wrt(t,e,n,r,o){if(n-e<=o.pos-r.pos||XA(r,!0,!1)<o.pos)return!1;let s=t.resolve(e);if(!r.parent.isTextblock){let i=s.nodeAfter;return i!=null&&n==e+i.nodeSize}if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return!1;let a=t.resolve(XA(s,!0,!0));return!a.parent.isTextblock||a.pos>n||XA(a,!0,!1)<n?!1:r.parent.content.cut(r.parentOffset).eq(a.parent.content)}function XA(t,e,n){let r=t.depth,o=e?t.end():t.pos;for(;r>0&&(e||t.indexAfter(r)==t.node(r).childCount);)r--,o++,e=!1;if(n){let s=t.node(r).maybeChild(t.indexAfter(r));for(;s&&!s.isLeaf;)s=s.firstChild,o++}return o}function brt(t,e,n,r,o){let s=t.findDiffStart(e,n);if(s==null)return null;let{a,b:i}=t.findDiffEnd(e,n+t.size,n+e.size);if(o=="end"){let l=Math.max(0,s-Math.min(a,i));r-=a+l-s}if(a<s&&t.size<e.size){let l=r<=s&&r>=a?s-r:0;s-=l,s&&s<e.size&&oK(e.textBetween(s-1,s+1))&&(s+=l?1:-1),i=s+(i-a),a=s}else if(i<s){let l=r<=s&&r>=i?s-r:0;s-=l,s&&s<t.size&&oK(t.textBetween(s-1,s+1))&&(s+=l?1:-1),a=s+(a-i),i=s}return{start:s,endA:a,endB:i}}function oK(t){if(t.length!=2)return!1;let e=t.charCodeAt(0),n=t.charCodeAt(1);return e>=56320&&e<=57343&&n>=55296&&n<=56319}class xrt{constructor(e,n){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new Fnt,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=n,this.state=n.state,this.directPlugins=n.plugins||[],this.directPlugins.forEach(cK),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=iK(this),aK(this),this.nodeViews=lK(this),this.docView=Fq(this.state.doc,sK(this),JA(this),this.dom,this),this.domObserver=new urt(this,(r,o,s,a)=>yrt(this,r,o,s,a)),this.domObserver.start(),Bnt(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let n in e)this._props[n]=e[n];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&tR(this);let n=this._props;this._props=e,e.plugins&&(e.plugins.forEach(cK),this.directPlugins=e.plugins),this.updateStateInner(e.state,n)}setProps(e){let n={};for(let r in this._props)n[r]=this._props[r];n.state=this.state;for(let r in e)n[r]=e[r];this.update(n)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,n){var r;let o=this.state,s=!1,a=!1;e.storedMarks&&this.composing&&(Nhe(this),a=!0),this.state=e;let i=o.plugins!=e.plugins||this._props.plugins!=n.plugins;if(i||this._props.plugins!=n.plugins||this._props.nodeViews!=n.nodeViews){let g=lK(this);jrt(g,this.nodeViews)&&(this.nodeViews=g,s=!0)}(i||n.handleDOMEvents!=this._props.handleDOMEvents)&&tR(this),this.editable=iK(this),aK(this);let l=JA(this),u=sK(this),d=o.plugins!=e.plugins&&!o.doc.eq(e.doc)?"reset":e.scrollToSelection>o.scrollToSelection?"to selection":"preserve",f=s||!this.docView.matchesNode(e.doc,u,l);(f||!e.selection.eq(o.selection))&&(a=!0);let m=d=="preserve"&&a&&this.dom.style.overflowAnchor==null&&ent(this);if(a){this.domObserver.stop();let g=f&&(Ei||Ia)&&!this.composing&&!o.selection.empty&&!e.selection.empty&&krt(o.selection,e.selection);if(f){let w=Ia?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=Xnt(this)),(s||!this.docView.update(e.doc,u,l,this))&&(this.docView.updateOuterDeco(u),this.docView.destroy(),this.docView=Fq(e.doc,u,l,this.dom,this)),w&&!this.trackWrites&&(g=!0)}g||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Cnt(this))?rd(this,g):(mhe(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(o),!((r=this.dragging)===null||r===void 0)&&r.node&&!o.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,o),d=="reset"?this.dom.scrollTop=0:d=="to selection"?this.scrollToSelection():m&&tnt(m)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))){if(!this.someProp("handleScrollToSelection",n=>n(this)))if(this.state.selection instanceof jn){let n=this.docView.domAfterPos(this.state.selection.from);n.nodeType==1&&Tq(this,n.getBoundingClientRect(),e)}else Tq(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let n=0;n<this.directPlugins.length;n++){let r=this.directPlugins[n];r.spec.view&&this.pluginViews.push(r.spec.view(this))}for(let n=0;n<this.state.plugins.length;n++){let r=this.state.plugins[n];r.spec.view&&this.pluginViews.push(r.spec.view(this))}}else for(let n=0;n<this.pluginViews.length;n++){let r=this.pluginViews[n];r.update&&r.update(this,e)}}updateDraggedNode(e,n){let r=e.node,o=-1;if(this.state.doc.nodeAt(r.from)==r.node)o=r.from;else{let s=r.from+(this.state.doc.content.size-n.doc.content.size);(s>0&&this.state.doc.nodeAt(s))==r.node&&(o=s)}this.dragging=new Ahe(e.slice,e.move,o<0?void 0:jn.create(this.state.doc,o))}someProp(e,n){let r=this._props&&this._props[e],o;if(r!=null&&(o=n?n(r):r))return o;for(let a=0;a<this.directPlugins.length;a++){let i=this.directPlugins[a].props[e];if(i!=null&&(o=n?n(i):i))return o}let s=this.state.plugins;if(s)for(let a=0;a<s.length;a++){let i=s[a].props[e];if(i!=null&&(o=n?n(i):i))return o}}hasFocus(){if(Ei){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable=="false")return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&nnt(this.dom),rd(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let n=this.dom.parentNode;n;n=n.parentNode)if(n.nodeType==9||n.nodeType==11&&n.host)return n.getSelection||(Object.getPrototypeOf(n).getSelection=()=>n.ownerDocument.getSelection()),this._root=n}return e||document}updateRoot(){this._root=null}posAtCoords(e){return int(this,e)}coordsAtPos(e,n=1){return ihe(this,e,n)}domAtPos(e,n=0){return this.docView.domFromPos(e,n)}nodeDOM(e){let n=this.docView.descAt(e);return n?n.nodeDOM:null}posAtDOM(e,n,r=-1){let o=this.docView.posFromDOM(e,n,r);if(o==null)throw new RangeError("DOM position not inside the editor");return o}endOfTextblock(e,n){return dnt(this,n||this.state,e)}pasteHTML(e,n){return y2(this,"",e,!1,n||new ClipboardEvent("paste"))}pasteText(e,n){return y2(this,e,null,!0,n||new ClipboardEvent("paste"))}serializeForClipboard(e){return rP(this,e)}destroy(){this.docView&&(Unt(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],JA(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,Vtt())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return Vnt(this,e)}dispatch(e){let n=this._props.dispatchTransaction;n?n.call(this,e):this.updateState(this.state.apply(e))}domSelectionRange(){let e=this.domSelection();return e?oi&&this.root.nodeType===11&&qtt(this.dom.ownerDocument)==this.dom&&drt(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}}function sK(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",n=>{if(typeof n=="function"&&(n=n(t.state)),n)for(let r in n)r=="class"?e.class+=" "+n[r]:r=="style"?e.style=(e.style?e.style+";":"")+n[r]:!e[r]&&r!="contenteditable"&&r!="nodeName"&&(e[r]=String(n[r]))}),e.translate||(e.translate="no"),[al.node(0,t.state.doc.content.size,e)]}function aK(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:al.widget(t.state.selection.from,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function iK(t){return!t.someProp("editable",e=>e(t.state)===!1)}function krt(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}function lK(t){let e=Object.create(null);function n(r){for(let o in r)Object.prototype.hasOwnProperty.call(e,o)||(e[o]=r[o])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function jrt(t,e){let n=0,r=0;for(let o in t){if(t[o]!=e[o])return!0;n++}for(let o in e)r++;return n!=r}function cK(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var gh={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Lj={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Crt=typeof navigator<"u"&&/Mac/.test(navigator.platform),Srt=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var sa=0;sa<10;sa++)gh[48+sa]=gh[96+sa]=String(sa);for(var sa=1;sa<=24;sa++)gh[sa+111]="F"+sa;for(var sa=65;sa<=90;sa++)gh[sa]=String.fromCharCode(sa+32),Lj[sa]=String.fromCharCode(sa);for(var e5 in gh)Lj.hasOwnProperty(e5)||(Lj[e5]=gh[e5]);function Ert(t){var e=Crt&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||Srt&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?Lj:gh)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}const Nrt=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),Irt=typeof navigator<"u"&&/Win/.test(navigator.platform);function Art(t){let e=t.split(/-(?!$)/),n=e[e.length-1];n=="Space"&&(n=" ");let r,o,s,a;for(let i=0;i<e.length-1;i++){let l=e[i];if(/^(cmd|meta|m)$/i.test(l))a=!0;else if(/^a(lt)?$/i.test(l))r=!0;else if(/^(c|ctrl|control)$/i.test(l))o=!0;else if(/^s(hift)?$/i.test(l))s=!0;else if(/^mod$/i.test(l))Nrt?a=!0:o=!0;else throw new Error("Unrecognized modifier name: "+l)}return r&&(n="Alt-"+n),o&&(n="Ctrl-"+n),a&&(n="Meta-"+n),s&&(n="Shift-"+n),n}function _rt(t){let e=Object.create(null);for(let n in t)e[Art(n)]=t[n];return e}function t5(t,e,n=!0){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n&&e.shiftKey&&(t="Shift-"+t),t}function Mrt(t){return new ui({props:{handleKeyDown:Rrt(t)}})}function Rrt(t){let e=_rt(t);return function(n,r){let o=Ert(r),s,a=e[t5(o,r)];if(a&&a(n.state,n.dispatch,n))return!0;if(o.length==1&&o!=" "){if(r.shiftKey){let i=e[t5(o,r,!1)];if(i&&i(n.state,n.dispatch,n))return!0}if((r.altKey||r.metaKey||r.ctrlKey)&&!(Irt&&r.ctrlKey&&r.altKey)&&(s=gh[r.keyCode])&&s!=o){let i=e[t5(s,r)];if(i&&i(n.state,n.dispatch,n))return!0}}return!1}}const cP=(t,e)=>t.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function Dhe(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}const Lhe=(t,e,n)=>{let r=Dhe(t,n);if(!r)return!1;let o=uP(r);if(!o){let a=r.blockRange(),i=a&&lv(a);return i==null?!1:(e&&e(t.tr.lift(a,i).scrollIntoView()),!0)}let s=o.nodeBefore;if(Hhe(t,o,e,-1))return!0;if(r.parent.content.size==0&&(Ey(s,"end")||jn.isSelectable(s)))for(let a=r.depth;;a--){let i=mE(t.doc,r.before(a),r.after(a),en.empty);if(i&&i.slice.size<i.to-i.from){if(e){let l=t.tr.step(i);l.setSelection(Ey(s,"end")?rr.findFrom(l.doc.resolve(l.mapping.map(o.pos,-1)),-1):jn.create(l.doc,o.pos-s.nodeSize)),e(l.scrollIntoView())}return!0}if(a==1||r.node(a-1).childCount>1)break}return s.isAtom&&o.depth==r.depth-1?(e&&e(t.tr.delete(o.pos-s.nodeSize,o.pos).scrollIntoView()),!0):!1},Trt=(t,e,n)=>{let r=Dhe(t,n);if(!r)return!1;let o=uP(r);return o?Phe(t,o,e):!1},Drt=(t,e,n)=>{let r=zhe(t,n);if(!r)return!1;let o=fP(r);return o?Phe(t,o,e):!1};function Phe(t,e,n){let r=e.nodeBefore,o=r,s=e.pos-1;for(;!o.isTextblock;s--){if(o.type.spec.isolating)return!1;let d=o.lastChild;if(!d)return!1;o=d}let a=e.nodeAfter,i=a,l=e.pos+1;for(;!i.isTextblock;l++){if(i.type.spec.isolating)return!1;let d=i.firstChild;if(!d)return!1;i=d}let u=mE(t.doc,s,l,en.empty);if(!u||u.from!=s||u instanceof Rs&&u.slice.size>=l-s)return!1;if(n){let d=t.tr.step(u);d.setSelection(Vn.create(d.doc,s)),n(d.scrollIntoView())}return!0}function Ey(t,e,n=!1){for(let r=t;r;r=e=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}const Ohe=(t,e,n)=>{let{$head:r,empty:o}=t.selection,s=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):r.parentOffset>0)return!1;s=uP(r)}let a=s&&s.nodeBefore;return!a||!jn.isSelectable(a)?!1:(e&&e(t.tr.setSelection(jn.create(t.doc,s.pos-a.nodeSize)).scrollIntoView()),!0)};function uP(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function zhe(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset<n.parent.content.size)?null:n}const Fhe=(t,e,n)=>{let r=zhe(t,n);if(!r)return!1;let o=fP(r);if(!o)return!1;let s=o.nodeAfter;if(Hhe(t,o,e,1))return!0;if(r.parent.content.size==0&&(Ey(s,"start")||jn.isSelectable(s))){let a=mE(t.doc,r.before(),r.after(),en.empty);if(a&&a.slice.size<a.to-a.from){if(e){let i=t.tr.step(a);i.setSelection(Ey(s,"start")?rr.findFrom(i.doc.resolve(i.mapping.map(o.pos)),1):jn.create(i.doc,i.mapping.map(o.pos))),e(i.scrollIntoView())}return!0}}return s.isAtom&&o.depth==r.depth-1?(e&&e(t.tr.delete(o.pos,o.pos+s.nodeSize).scrollIntoView()),!0):!1},Bhe=(t,e,n)=>{let{$head:r,empty:o}=t.selection,s=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):r.parentOffset<r.parent.content.size)return!1;s=fP(r)}let a=s&&s.nodeAfter;return!a||!jn.isSelectable(a)?!1:(e&&e(t.tr.setSelection(jn.create(t.doc,s.pos)).scrollIntoView()),!0)};function fP(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let n=t.node(e);if(t.index(e)+1<n.childCount)return t.doc.resolve(t.after(e+1));if(n.type.spec.isolating)break}return null}const Lrt=(t,e)=>{let n=t.selection,r=n instanceof jn,o;if(r){if(n.node.isTextblock||!n1(t.doc,n.from))return!1;o=n.from}else if(o=hE(t.doc,n.from,-1),o==null)return!1;if(e){let s=t.tr.join(o);r&&s.setSelection(jn.create(s.doc,o-t.doc.resolve(o).nodeBefore.nodeSize)),e(s.scrollIntoView())}return!0},Prt=(t,e)=>{let n=t.selection,r;if(n instanceof jn){if(n.node.isTextblock||!n1(t.doc,n.to))return!1;r=n.to}else if(r=hE(t.doc,n.to,1),r==null)return!1;return e&&e(t.tr.join(r).scrollIntoView()),!0},Ort=(t,e)=>{let{$from:n,$to:r}=t.selection,o=n.blockRange(r),s=o&&lv(o);return s==null?!1:(e&&e(t.tr.lift(o,s).scrollIntoView()),!0)},Uhe=(t,e)=>{let{$head:n,$anchor:r}=t.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(e&&e(t.tr.insertText(`
2106 `).scrollIntoView()),!0)};function dP(t){for(let e=0;e<t.edgeCount;e++){let{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}const zrt=(t,e)=>{let{$head:n,$anchor:r}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let o=n.node(-1),s=n.indexAfter(-1),a=dP(o.contentMatchAt(s));if(!a||!o.canReplaceWith(s,s,a))return!1;if(e){let i=n.after(),l=t.tr.replaceWith(i,i,a.createAndFill());l.setSelection(rr.near(l.doc.resolve(i),1)),e(l.scrollIntoView())}return!0},$he=(t,e)=>{let n=t.selection,{$from:r,$to:o}=n;if(n instanceof pl||r.parent.inlineContent||o.parent.inlineContent)return!1;let s=dP(o.parent.contentMatchAt(o.indexAfter()));if(!s||!s.isTextblock)return!1;if(e){let a=(!r.parentOffset&&o.index()<o.parent.childCount?r:o).pos,i=t.tr.insert(a,s.createAndFill());i.setSelection(Vn.create(i.doc,a+1)),e(i.scrollIntoView())}return!0},Vhe=(t,e)=>{let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let s=n.before();if(nd(t.doc,s))return e&&e(t.tr.split(s).scrollIntoView()),!0}let r=n.blockRange(),o=r&&lv(r);return o==null?!1:(e&&e(t.tr.lift(r,o).scrollIntoView()),!0)};function Frt(t){return(e,n)=>{let{$from:r,$to:o}=e.selection;if(e.selection instanceof jn&&e.selection.node.isBlock)return!r.parentOffset||!nd(e.doc,r.pos)?!1:(n&&n(e.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let s=[],a,i,l=!1,u=!1;for(let g=r.depth;;g--)if(r.node(g).isBlock){l=r.end(g)==r.pos+(r.depth-g),u=r.start(g)==r.pos-(r.depth-g),i=dP(r.node(g-1).contentMatchAt(r.indexAfter(g-1))),s.unshift(l&&i?{type:i}:null),a=g;break}else{if(g==1)return!1;s.unshift(null)}let d=e.tr;(e.selection instanceof Vn||e.selection instanceof pl)&&d.deleteSelection();let f=d.mapping.map(r.pos),m=nd(d.doc,f,s.length,s);if(m||(s[0]=i?{type:i}:null,m=nd(d.doc,f,s.length,s)),!m)return!1;if(d.split(f,s.length,s),!l&&u&&r.node(a).type!=i){let g=d.mapping.map(r.before(a)),w=d.doc.resolve(g);i&&r.node(a-1).canReplaceWith(w.index(),w.index()+1,i)&&d.setNodeMarkup(d.mapping.map(r.before(a)),i)}return n&&n(d.scrollIntoView()),!0}}const Brt=Frt(),Urt=(t,e)=>{let{$from:n,to:r}=t.selection,o,s=n.sharedDepth(r);return s==0?!1:(o=n.before(s),e&&e(t.tr.setSelection(jn.create(t.doc,o))),!0)};function $rt(t,e,n){let r=e.nodeBefore,o=e.nodeAfter,s=e.index();return!r||!o||!r.type.compatibleContent(o.type)?!1:!r.content.size&&e.parent.canReplace(s-1,s)?(n&&n(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(s,s+1)||!(o.isTextblock||n1(t.doc,e.pos))?!1:(n&&n(t.tr.join(e.pos).scrollIntoView()),!0)}function Hhe(t,e,n,r){let o=e.nodeBefore,s=e.nodeAfter,a,i,l=o.type.spec.isolating||s.type.spec.isolating;if(!l&&$rt(t,e,n))return!0;let u=!l&&e.parent.canReplace(e.index(),e.index()+1);if(u&&(a=(i=o.contentMatchAt(o.childCount)).findWrapping(s.type))&&i.matchType(a[0]||s.type).validEnd){if(n){let g=e.pos+s.nodeSize,w=Mt.empty;for(let S=a.length-1;S>=0;S--)w=Mt.from(a[S].create(null,w));w=Mt.from(o.copy(w));let b=t.tr.step(new Ps(e.pos-1,g,e.pos,g,new en(w,1,0),a.length,!0)),j=b.doc.resolve(g+2*a.length);j.nodeAfter&&j.nodeAfter.type==o.type&&n1(b.doc,j.pos)&&b.join(j.pos),n(b.scrollIntoView())}return!0}let d=s.type.spec.isolating||r>0&&l?null:rr.findFrom(e,1),f=d&&d.$from.blockRange(d.$to),m=f&&lv(f);if(m!=null&&m>=e.depth)return n&&n(t.tr.lift(f,m).scrollIntoView()),!0;if(u&&Ey(s,"start",!0)&&Ey(o,"end")){let g=o,w=[];for(;w.push(g),!g.isTextblock;)g=g.lastChild;let b=s,j=1;for(;!b.isTextblock;b=b.firstChild)j++;if(g.canReplace(g.childCount,g.childCount,b.content)){if(n){let S=Mt.empty;for(let N=w.length-1;N>=0;N--)S=Mt.from(w[N].copy(S));let I=t.tr.step(new Ps(e.pos-w.length,e.pos+s.nodeSize,e.pos+j,e.pos+s.nodeSize-j,new en(S,w.length,0),0,!0));n(I.scrollIntoView())}return!0}}return!1}function Whe(t){return function(e,n){let r=e.selection,o=t<0?r.$from:r.$to,s=o.depth;for(;o.node(s).isInline;){if(!s)return!1;s--}return o.node(s).isTextblock?(n&&n(e.tr.setSelection(Vn.create(e.doc,t<0?o.start(s):o.end(s)))),!0):!1}}const Vrt=Whe(-1),Hrt=Whe(1);function Wrt(t,e=null){return function(n,r){let{$from:o,$to:s}=n.selection,a=o.blockRange(s),i=a&&Hpe(a,t,e);return i?(r&&r(n.tr.wrap(a,i).scrollIntoView()),!0):!1}}function uK(t,e=null){return function(n,r){let o=!1;for(let s=0;s<n.selection.ranges.length&&!o;s++){let{$from:{pos:a},$to:{pos:i}}=n.selection.ranges[s];n.doc.nodesBetween(a,i,(l,u)=>{if(o)return!1;if(!(!l.isTextblock||l.hasMarkup(t,e)))if(l.type==t)o=!0;else{let d=n.doc.resolve(u),f=d.index();o=d.parent.canReplaceWith(f,f+1,t)}})}if(!o)return!1;if(r){let s=n.tr;for(let a=0;a<n.selection.ranges.length;a++){let{$from:{pos:i},$to:{pos:l}}=n.selection.ranges[a];s.setBlockType(i,l,t,e)}r(s.scrollIntoView())}return!0}}function pP(...t){return function(e,n,r){for(let o=0;o<t.length;o++)if(t[o](e,n,r))return!0;return!1}}pP(cP,Lhe,Ohe);pP(cP,Fhe,Bhe);pP(Uhe,$he,Vhe,Brt);typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function Yrt(t,e=null){return function(n,r){let{$from:o,$to:s}=n.selection,a=o.blockRange(s);if(!a)return!1;let i=r?n.tr:null;return Grt(i,a,t,e)?(r&&r(i.scrollIntoView()),!0):!1}}function Grt(t,e,n,r=null){let o=!1,s=e,a=e.$from.doc;if(e.depth>=2&&e.$from.node(e.depth-1).type.compatibleContent(n)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let l=a.resolve(e.start-2);s=new Ij(l,l,e.depth),e.endIndex<e.parent.childCount&&(e=new Ij(e.$from,a.resolve(e.$to.end(e.depth)),e.depth)),o=!0}let i=Hpe(s,n,r,e);return i?(t&&qrt(t,e,i,o,n),!0):!1}function qrt(t,e,n,r,o){let s=Mt.empty;for(let d=n.length-1;d>=0;d--)s=Mt.from(n[d].type.create(n[d].attrs,s));t.step(new Ps(e.start-(r?2:0),e.end,e.start,e.end,new en(s,0,0),n.length,!0));let a=0;for(let d=0;d<n.length;d++)n[d].type==o&&(a=d+1);let i=n.length-a,l=e.start+n.length-(r?2:0),u=e.parent;for(let d=e.startIndex,f=e.endIndex,m=!0;d<f;d++,m=!1)!m&&nd(t.doc,l,i)&&(t.split(l,i),l+=2*i),l+=u.child(d).nodeSize;return t}function Krt(t){return function(e,n){let{$from:r,$to:o}=e.selection,s=r.blockRange(o,a=>a.childCount>0&&a.firstChild.type==t);return s?n?r.node(s.depth-1).type==t?Zrt(e,n,t,s):Qrt(e,n,s):!0:!1}}function Zrt(t,e,n,r){let o=t.tr,s=r.end,a=r.$to.end(r.depth);s<a&&(o.step(new Ps(s-1,a,s,a,new en(Mt.from(n.create(null,r.parent.copy())),1,0),1,!0)),r=new Ij(o.doc.resolve(r.$from.pos),o.doc.resolve(a),r.depth));const i=lv(r);if(i==null)return!1;o.lift(r,i);let l=o.doc.resolve(o.mapping.map(s,-1)-1);return n1(o.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&o.join(l.pos),e(o.scrollIntoView()),!0}function Qrt(t,e,n){let r=t.tr,o=n.parent;for(let g=n.end,w=n.endIndex-1,b=n.startIndex;w>b;w--)g-=o.child(w).nodeSize,r.delete(g-1,g+1);let s=r.doc.resolve(n.start),a=s.nodeAfter;if(r.mapping.map(n.end)!=n.start+s.nodeAfter.nodeSize)return!1;let i=n.startIndex==0,l=n.endIndex==o.childCount,u=s.node(-1),d=s.index(-1);if(!u.canReplace(d+(i?0:1),d+1,a.content.append(l?Mt.empty:Mt.from(o))))return!1;let f=s.pos,m=f+a.nodeSize;return r.step(new Ps(f-(i?1:0),m+(l?1:0),f+1,m-1,new en((i?Mt.empty:Mt.from(o.copy(Mt.empty))).append(l?Mt.empty:Mt.from(o.copy(Mt.empty))),i?0:1,l?0:1),i?0:1)),e(r.scrollIntoView()),!0}function Jrt(t){return function(e,n){let{$from:r,$to:o}=e.selection,s=r.blockRange(o,u=>u.childCount>0&&u.firstChild.type==t);if(!s)return!1;let a=s.startIndex;if(a==0)return!1;let i=s.parent,l=i.child(a-1);if(l.type!=t)return!1;if(n){let u=l.lastChild&&l.lastChild.type==i.type,d=Mt.from(u?t.create():null),f=new en(Mt.from(t.create(null,Mt.from(i.type.create(null,d)))),u?3:1,0),m=s.start,g=s.end;n(e.tr.step(new Ps(m-(u?3:1),g,m,g,f,1,!0)).scrollIntoView())}return!0}}function bE(t){const{state:e,transaction:n}=t;let{selection:r}=n,{doc:o}=n,{storedMarks:s}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return s},get selection(){return r},get doc(){return o},get tr(){return r=n.selection,o=n.doc,s=n.storedMarks,n}}}class xE{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:e,editor:n,state:r}=this,{view:o}=n,{tr:s}=r,a=this.buildProps(s);return Object.fromEntries(Object.entries(e).map(([i,l])=>[i,(...d)=>{const f=l(...d)(a);return!s.getMeta("preventDispatch")&&!this.hasCustomState&&o.dispatch(s),f}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,n=!0){const{rawCommands:r,editor:o,state:s}=this,{view:a}=o,i=[],l=!!e,u=e||s.tr,d=()=>(!l&&n&&!u.getMeta("preventDispatch")&&!this.hasCustomState&&a.dispatch(u),i.every(m=>m===!0)),f={...Object.fromEntries(Object.entries(r).map(([m,g])=>[m,(...b)=>{const j=this.buildProps(u,n),S=g(...b)(j);return i.push(S),f}])),run:d};return f}createCan(e){const{rawCommands:n,state:r}=this,o=!1,s=e||r.tr,a=this.buildProps(s,o);return{...Object.fromEntries(Object.entries(n).map(([l,u])=>[l,(...d)=>u(...d)({...a,dispatch:void 0})])),chain:()=>this.createChain(s,o)}}buildProps(e,n=!0){const{rawCommands:r,editor:o,state:s}=this,{view:a}=o,i={tr:e,editor:o,view:a,state:bE({state:s,transaction:e}),dispatch:n?()=>{}:void 0,chain:()=>this.createChain(e,n),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(r).map(([l,u])=>[l,(...d)=>u(...d)(i)]))}};return i}}class Xrt{constructor(){this.callbacks={}}on(e,n){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(n),this}emit(e,...n){const r=this.callbacks[e];return r&&r.forEach(o=>o.apply(this,n)),this}off(e,n){const r=this.callbacks[e];return r&&(n?this.callbacks[e]=r.filter(o=>o!==n):delete this.callbacks[e]),this}once(e,n){const r=(...o)=>{this.off(e,r),n.apply(this,o)};return this.on(e,r)}removeAllListeners(){this.callbacks={}}}function un(t,e,n){return t.config[e]===void 0&&t.parent?un(t.parent,e,n):typeof t.config[e]=="function"?t.config[e].bind({...n,parent:t.parent?un(t.parent,e,n):null}):t.config[e]}function kE(t){const e=t.filter(o=>o.type==="extension"),n=t.filter(o=>o.type==="node"),r=t.filter(o=>o.type==="mark");return{baseExtensions:e,nodeExtensions:n,markExtensions:r}}function Yhe(t){const e=[],{nodeExtensions:n,markExtensions:r}=kE(t),o=[...n,...r],s={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach(a=>{const i={name:a.name,options:a.options,storage:a.storage,extensions:o},l=un(a,"addGlobalAttributes",i);if(!l)return;l().forEach(d=>{d.types.forEach(f=>{Object.entries(d.attributes).forEach(([m,g])=>{e.push({type:f,name:m,attribute:{...s,...g}})})})})}),o.forEach(a=>{const i={name:a.name,options:a.options,storage:a.storage},l=un(a,"addAttributes",i);if(!l)return;const u=l();Object.entries(u).forEach(([d,f])=>{const m={...s,...f};typeof(m==null?void 0:m.default)=="function"&&(m.default=m.default()),m!=null&&m.isRequired&&(m==null?void 0:m.default)===void 0&&delete m.default,e.push({type:a.name,name:d,attribute:m})})}),e}function Us(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function Bp(...t){return t.filter(e=>!!e).reduce((e,n)=>{const r={...e};return Object.entries(n).forEach(([o,s])=>{if(!r[o]){r[o]=s;return}if(o==="class"){const i=s?String(s).split(" "):[],l=r[o]?r[o].split(" "):[],u=i.filter(d=>!l.includes(d));r[o]=[...l,...u].join(" ")}else if(o==="style"){const i=s?s.split(";").map(d=>d.trim()).filter(Boolean):[],l=r[o]?r[o].split(";").map(d=>d.trim()).filter(Boolean):[],u=new Map;l.forEach(d=>{const[f,m]=d.split(":").map(g=>g.trim());u.set(f,m)}),i.forEach(d=>{const[f,m]=d.split(":").map(g=>g.trim());u.set(f,m)}),r[o]=Array.from(u.entries()).map(([d,f])=>`${d}: ${f}`).join("; ")}else r[o]=s}),r},{})}function Pj(t,e){return e.filter(n=>n.type===t.type.name).filter(n=>n.attribute.rendered).map(n=>n.attribute.renderHTML?n.attribute.renderHTML(t.attrs)||{}:{[n.name]:t.attrs[n.name]}).reduce((n,r)=>Bp(n,r),{})}function Ghe(t){return typeof t=="function"}function ur(t,e=void 0,...n){return Ghe(t)?e?t.bind(e)(...n):t(...n):t}function eot(t={}){return Object.keys(t).length===0&&t.constructor===Object}function tot(t){return typeof t!="string"?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):t==="true"?!0:t==="false"?!1:t}function fK(t,e){return"style"in t?t:{...t,getAttrs:n=>{const r=t.getAttrs?t.getAttrs(n):t.attrs;if(r===!1)return!1;const o=e.reduce((s,a)=>{const i=a.attribute.parseHTML?a.attribute.parseHTML(n):tot(n.getAttribute(a.name));return i==null?s:{...s,[a.name]:i}},{});return{...r,...o}}}}function dK(t){return Object.fromEntries(Object.entries(t).filter(([e,n])=>e==="attrs"&&eot(n)?!1:n!=null))}function not(t,e){var n;const r=Yhe(t),{nodeExtensions:o,markExtensions:s}=kE(t),a=(n=o.find(u=>un(u,"topNode")))===null||n===void 0?void 0:n.name,i=Object.fromEntries(o.map(u=>{const d=r.filter(S=>S.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:e},m=t.reduce((S,I)=>{const N=un(I,"extendNodeSchema",f);return{...S,...N?N(u):{}}},{}),g=dK({...m,content:ur(un(u,"content",f)),marks:ur(un(u,"marks",f)),group:ur(un(u,"group",f)),inline:ur(un(u,"inline",f)),atom:ur(un(u,"atom",f)),selectable:ur(un(u,"selectable",f)),draggable:ur(un(u,"draggable",f)),code:ur(un(u,"code",f)),whitespace:ur(un(u,"whitespace",f)),linebreakReplacement:ur(un(u,"linebreakReplacement",f)),defining:ur(un(u,"defining",f)),isolating:ur(un(u,"isolating",f)),attrs:Object.fromEntries(d.map(S=>{var I;return[S.name,{default:(I=S==null?void 0:S.attribute)===null||I===void 0?void 0:I.default}]}))}),w=ur(un(u,"parseHTML",f));w&&(g.parseDOM=w.map(S=>fK(S,d)));const b=un(u,"renderHTML",f);b&&(g.toDOM=S=>b({node:S,HTMLAttributes:Pj(S,d)}));const j=un(u,"renderText",f);return j&&(g.toText=j),[u.name,g]})),l=Object.fromEntries(s.map(u=>{const d=r.filter(j=>j.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:e},m=t.reduce((j,S)=>{const I=un(S,"extendMarkSchema",f);return{...j,...I?I(u):{}}},{}),g=dK({...m,inclusive:ur(un(u,"inclusive",f)),excludes:ur(un(u,"excludes",f)),group:ur(un(u,"group",f)),spanning:ur(un(u,"spanning",f)),code:ur(un(u,"code",f)),attrs:Object.fromEntries(d.map(j=>{var S;return[j.name,{default:(S=j==null?void 0:j.attribute)===null||S===void 0?void 0:S.default}]}))}),w=ur(un(u,"parseHTML",f));w&&(g.parseDOM=w.map(j=>fK(j,d)));const b=un(u,"renderHTML",f);return b&&(g.toDOM=j=>b({mark:j,HTMLAttributes:Pj(j,d)})),[u.name,g]}));return new Ppe({topNode:a,nodes:i,marks:l})}function n5(t,e){return e.nodes[t]||e.marks[t]||null}function pK(t,e){return Array.isArray(e)?e.some(n=>(typeof n=="string"?n:n.name)===t.name):e}function hP(t,e){const n=t1.fromSchema(e).serializeFragment(t),o=document.implementation.createHTMLDocument().createElement("div");return o.appendChild(n),o.innerHTML}const rot=(t,e=500)=>{let n="";const r=t.parentOffset;return t.parent.nodesBetween(Math.max(0,r-e),r,(o,s,a,i)=>{var l,u;const d=((u=(l=o.type.spec).toText)===null||u===void 0?void 0:u.call(l,{node:o,pos:s,parent:a,index:i}))||o.textContent||"%leaf%";n+=o.isAtom&&!o.isText?d:d.slice(0,Math.max(0,r-s))}),n};function mP(t){return Object.prototype.toString.call(t)==="[object RegExp]"}class qhe{constructor(e){this.find=e.find,this.handler=e.handler}}const oot=(t,e)=>{if(mP(e))return e.exec(t);const n=e(t);if(!n)return null;const r=[n.text];return r.index=n.index,r.input=t,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function K6(t){var e;const{editor:n,from:r,to:o,text:s,rules:a,plugin:i}=t,{view:l}=n;if(l.composing)return!1;const u=l.state.doc.resolve(r);if(u.parent.type.spec.code||!((e=u.nodeBefore||u.nodeAfter)===null||e===void 0)&&e.marks.find(m=>m.type.spec.code))return!1;let d=!1;const f=rot(u)+s;return a.forEach(m=>{if(d)return;const g=oot(f,m.find);if(!g)return;const w=l.state.tr,b=bE({state:l.state,transaction:w}),j={from:r-(g[0].length-s.length),to:o},{commands:S,chain:I,can:N}=new xE({editor:n,state:b});m.handler({state:b,range:j,match:g,commands:S,chain:I,can:N})===null||!w.steps.length||(w.setMeta(i,{transform:w,from:r,to:o,text:s}),l.dispatch(w),d=!0)}),d}function sot(t){const{editor:e,rules:n}=t,r=new ui({state:{init(){return null},apply(o,s,a){const i=o.getMeta(r);if(i)return i;const l=o.getMeta("applyInputRules");return!!l&&setTimeout(()=>{let{text:d}=l;typeof d=="string"?d=d:d=hP(Mt.from(d),a.schema);const{from:f}=l,m=f+d.length;K6({editor:e,from:f,to:m,text:d,rules:n,plugin:r})}),o.selectionSet||o.docChanged?null:s}},props:{handleTextInput(o,s,a,i){return K6({editor:e,from:s,to:a,text:i,rules:n,plugin:r})},handleDOMEvents:{compositionend:o=>(setTimeout(()=>{const{$cursor:s}=o.state.selection;s&&K6({editor:e,from:s.pos,to:s.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(o,s){if(s.key!=="Enter")return!1;const{$cursor:a}=o.state.selection;return a?K6({editor:e,from:a.pos,to:a.pos,text:`
2107 `,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function aot(t){return Object.prototype.toString.call(t).slice(8,-1)}function Z6(t){return aot(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function jE(t,e){const n={...t};return Z6(t)&&Z6(e)&&Object.keys(e).forEach(r=>{Z6(e[r])&&Z6(t[r])?n[r]=jE(t[r],e[r]):n[r]=e[r]}),n}class Oj{constructor(e={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=ur(un(this,"addOptions",{name:this.name}))),this.storage=ur(un(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new Oj(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>jE(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new Oj(e);return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=ur(un(n,"addOptions",{name:n.name})),n.storage=ur(un(n,"addStorage",{name:n.name,options:n.options})),n}static handleExit({editor:e,mark:n}){const{tr:r}=e.state,o=e.state.selection.$from;if(o.pos===o.end()){const a=o.marks();if(!!!a.find(u=>(u==null?void 0:u.type.name)===n.name))return!1;const l=a.find(u=>(u==null?void 0:u.type.name)===n.name);return l&&r.removeStoredMark(l),r.insertText(" ",o.pos),e.view.dispatch(r),!0}return!1}}function iot(t){return typeof t=="number"}class lot{constructor(e){this.find=e.find,this.handler=e.handler}}const cot=(t,e,n)=>{if(mP(e))return[...t.matchAll(e)];const r=e(t,n);return r?r.map(o=>{const s=[o.text];return s.index=o.index,s.input=t,s.data=o.data,o.replaceWith&&(o.text.includes(o.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),s.push(o.replaceWith)),s}):[]};function uot(t){const{editor:e,state:n,from:r,to:o,rule:s,pasteEvent:a,dropEvent:i}=t,{commands:l,chain:u,can:d}=new xE({editor:e,state:n}),f=[];return n.doc.nodesBetween(r,o,(g,w)=>{if(!g.isTextblock||g.type.spec.code)return;const b=Math.max(r,w),j=Math.min(o,w+g.content.size),S=g.textBetween(b-w,j-w,void 0,"");cot(S,s.find,a).forEach(N=>{if(N.index===void 0)return;const M=b+N.index+1,D=M+N[0].length,P={from:n.tr.mapping.map(M),to:n.tr.mapping.map(D)},L=s.handler({state:n,range:P,match:N,commands:l,chain:u,can:d,pasteEvent:a,dropEvent:i});f.push(L)})}),f.every(g=>g!==null)}let Q6=null;const fot=t=>{var e;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=n.clipboardData)===null||e===void 0||e.setData("text/html",t),n};function dot(t){const{editor:e,rules:n}=t;let r=null,o=!1,s=!1,a=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,i;try{i=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{i=null}const l=({state:d,from:f,to:m,rule:g,pasteEvt:w})=>{const b=d.tr,j=bE({state:d,transaction:b});if(!(!uot({editor:e,state:j,from:Math.max(f-1,0),to:m.b-1,rule:g,pasteEvent:w,dropEvent:i})||!b.steps.length)){try{i=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{i=null}return a=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,b}};return n.map(d=>new ui({view(f){const m=w=>{var b;r=!((b=f.dom.parentElement)===null||b===void 0)&&b.contains(w.target)?f.dom.parentElement:null,r&&(Q6=e)},g=()=>{Q6&&(Q6=null)};return window.addEventListener("dragstart",m),window.addEventListener("dragend",g),{destroy(){window.removeEventListener("dragstart",m),window.removeEventListener("dragend",g)}}},props:{handleDOMEvents:{drop:(f,m)=>{if(s=r===f.dom.parentElement,i=m,!s){const g=Q6;g&&setTimeout(()=>{const w=g.state.selection;w&&g.commands.deleteRange({from:w.from,to:w.to})},10)}return!1},paste:(f,m)=>{var g;const w=(g=m.clipboardData)===null||g===void 0?void 0:g.getData("text/html");return a=m,o=!!(w!=null&&w.includes("data-pm-slice")),!1}}},appendTransaction:(f,m,g)=>{const w=f[0],b=w.getMeta("uiEvent")==="paste"&&!o,j=w.getMeta("uiEvent")==="drop"&&!s,S=w.getMeta("applyPasteRules"),I=!!S;if(!b&&!j&&!I)return;if(I){let{text:D}=S;typeof D=="string"?D=D:D=hP(Mt.from(D),g.schema);const{from:P}=S,L=P+D.length,F=fot(D);return l({rule:d,state:g,from:P,to:{b:L},pasteEvt:F})}const N=m.doc.content.findDiffStart(g.doc.content),M=m.doc.content.findDiffEnd(g.doc.content);if(!(!iot(N)||!M||N===M.b))return l({rule:d,state:g,from:N,to:M,pasteEvt:a})}}))}function pot(t){const e=t.filter((n,r)=>t.indexOf(n)!==r);return Array.from(new Set(e))}class y0{constructor(e,n){this.splittableMarks=[],this.editor=n,this.extensions=y0.resolve(e),this.schema=not(this.extensions,n),this.setupExtensions()}static resolve(e){const n=y0.sort(y0.flatten(e)),r=pot(n.map(o=>o.name));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(o=>`'${o}'`).join(", ")}]. This can lead to issues.`),n}static flatten(e){return e.map(n=>{const r={name:n.name,options:n.options,storage:n.storage},o=un(n,"addExtensions",r);return o?[n,...this.flatten(o())]:n}).flat(10)}static sort(e){return e.sort((r,o)=>{const s=un(r,"priority")||100,a=un(o,"priority")||100;return s>a?-1:s<a?1:0})}get commands(){return this.extensions.reduce((e,n)=>{const r={name:n.name,options:n.options,storage:n.storage,editor:this.editor,type:n5(n.name,this.schema)},o=un(n,"addCommands",r);return o?{...e,...o()}:e},{})}get plugins(){const{editor:e}=this,n=y0.sort([...this.extensions].reverse()),r=[],o=[],s=n.map(a=>{const i={name:a.name,options:a.options,storage:a.storage,editor:e,type:n5(a.name,this.schema)},l=[],u=un(a,"addKeyboardShortcuts",i);let d={};if(a.type==="mark"&&un(a,"exitable",i)&&(d.ArrowRight=()=>Oj.handleExit({editor:e,mark:a})),u){const b=Object.fromEntries(Object.entries(u()).map(([j,S])=>[j,()=>S({editor:e})]));d={...d,...b}}const f=Mrt(d);l.push(f);const m=un(a,"addInputRules",i);pK(a,e.options.enableInputRules)&&m&&r.push(...m());const g=un(a,"addPasteRules",i);pK(a,e.options.enablePasteRules)&&g&&o.push(...g());const w=un(a,"addProseMirrorPlugins",i);if(w){const b=w();l.push(...b)}return l}).flat();return[sot({editor:e,rules:r}),...dot({editor:e,rules:o}),...s]}get attributes(){return Yhe(this.extensions)}get nodeViews(){const{editor:e}=this,{nodeExtensions:n}=kE(this.extensions);return Object.fromEntries(n.filter(r=>!!un(r,"addNodeView")).map(r=>{const o=this.attributes.filter(l=>l.type===r.name),s={name:r.name,options:r.options,storage:r.storage,editor:e,type:Us(r.name,this.schema)},a=un(r,"addNodeView",s);if(!a)return[];const i=(l,u,d,f,m)=>{const g=Pj(l,o);return a()({node:l,view:u,getPos:d,decorations:f,innerDecorations:m,editor:e,extension:r,HTMLAttributes:g})};return[r.name,i]}))}setupExtensions(){this.extensions.forEach(e=>{var n;this.editor.extensionStorage[e.name]=e.storage;const r={name:e.name,options:e.options,storage:e.storage,editor:this.editor,type:n5(e.name,this.schema)};e.type==="mark"&&(!((n=ur(un(e,"keepOnSplit",r)))!==null&&n!==void 0)||n)&&this.splittableMarks.push(e.name);const o=un(e,"onBeforeCreate",r),s=un(e,"onCreate",r),a=un(e,"onUpdate",r),i=un(e,"onSelectionUpdate",r),l=un(e,"onTransaction",r),u=un(e,"onFocus",r),d=un(e,"onBlur",r),f=un(e,"onDestroy",r);o&&this.editor.on("beforeCreate",o),s&&this.editor.on("create",s),a&&this.editor.on("update",a),i&&this.editor.on("selectionUpdate",i),l&&this.editor.on("transaction",l),u&&this.editor.on("focus",u),d&&this.editor.on("blur",d),f&&this.editor.on("destroy",f)})}}class Ri{constructor(e={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=ur(un(this,"addOptions",{name:this.name}))),this.storage=ur(un(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new Ri(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>jE(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new Ri({...this.config,...e});return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=ur(un(n,"addOptions",{name:n.name})),n.storage=ur(un(n,"addStorage",{name:n.name,options:n.options})),n}}function Khe(t,e,n){const{from:r,to:o}=e,{blockSeparator:s=`
2108
2109 `,textSerializers:a={}}=n||{};let i="";return t.nodesBetween(r,o,(l,u,d,f)=>{var m;l.isBlock&&u>r&&(i+=s);const g=a==null?void 0:a[l.type.name];if(g)return d&&(i+=g({node:l,pos:u,parent:d,index:f,range:e})),!1;l.isText&&(i+=(m=l==null?void 0:l.text)===null||m===void 0?void 0:m.slice(Math.max(r,u)-u,o-u))}),i}function Zhe(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,n])=>[e,n.spec.toText]))}const hot=Ri.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new ui({key:new Li("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:o}=e,{ranges:s}=o,a=Math.min(...s.map(d=>d.$from.pos)),i=Math.max(...s.map(d=>d.$to.pos)),l=Zhe(n);return Khe(r,{from:a,to:i},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),mot=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{var n;t.isDestroyed||(e.dom.blur(),(n=window==null?void 0:window.getSelection())===null||n===void 0||n.removeAllRanges())}),!0),got=(t=!1)=>({commands:e})=>e.setContent("",t),yot=()=>({state:t,tr:e,dispatch:n})=>{const{selection:r}=e,{ranges:o}=r;return n&&o.forEach(({$from:s,$to:a})=>{t.doc.nodesBetween(s.pos,a.pos,(i,l)=>{if(i.type.isText)return;const{doc:u,mapping:d}=e,f=u.resolve(d.map(l)),m=u.resolve(d.map(l+i.nodeSize)),g=f.blockRange(m);if(!g)return;const w=lv(g);if(i.type.isTextblock){const{defaultType:b}=f.parent.contentMatchAt(f.index());e.setNodeMarkup(g.start,b)}(w||w===0)&&e.lift(g,w)})}),!0},vot=t=>e=>t(e),wot=()=>({state:t,dispatch:e})=>$he(t,e),bot=(t,e)=>({editor:n,tr:r})=>{const{state:o}=n,s=o.doc.slice(t.from,t.to);r.deleteRange(t.from,t.to);const a=r.mapping.map(e);return r.insert(a,s.content),r.setSelection(new Vn(r.doc.resolve(a-1))),!0},xot=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,r=n.$anchor.node();if(r.content.size>0)return!1;const o=t.selection.$anchor;for(let s=o.depth;s>0;s-=1)if(o.node(s).type===r.type){if(e){const i=o.before(s),l=o.after(s);t.delete(i,l).scrollIntoView()}return!0}return!1},kot=t=>({tr:e,state:n,dispatch:r})=>{const o=Us(t,n.schema),s=e.selection.$anchor;for(let a=s.depth;a>0;a-=1)if(s.node(a).type===o){if(r){const l=s.before(a),u=s.after(a);e.delete(l,u).scrollIntoView()}return!0}return!1},jot=t=>({tr:e,dispatch:n})=>{const{from:r,to:o}=t;return n&&e.delete(r,o),!0},Cot=()=>({state:t,dispatch:e})=>cP(t,e),Sot=()=>({commands:t})=>t.keyboardShortcut("Enter"),Eot=()=>({state:t,dispatch:e})=>zrt(t,e);function zj(t,e,n={strict:!0}){const r=Object.keys(e);return r.length?r.every(o=>n.strict?e[o]===t[o]:mP(e[o])?e[o].test(t[o]):e[o]===t[o]):!0}function Qhe(t,e,n={}){return t.find(r=>r.type===e&&zj(Object.fromEntries(Object.keys(n).map(o=>[o,r.attrs[o]])),n))}function hK(t,e,n={}){return!!Qhe(t,e,n)}function Jhe(t,e,n){var r;if(!t||!e)return;let o=t.parent.childAfter(t.parentOffset);if((!o.node||!o.node.marks.some(d=>d.type===e))&&(o=t.parent.childBefore(t.parentOffset)),!o.node||!o.node.marks.some(d=>d.type===e)||(n=n||((r=o.node.marks[0])===null||r===void 0?void 0:r.attrs),!Qhe([...o.node.marks],e,n)))return;let a=o.index,i=t.start()+o.offset,l=a+1,u=i+o.node.nodeSize;for(;a>0&&hK([...t.parent.child(a-1).marks],e,n);)a-=1,i-=t.parent.child(a).nodeSize;for(;l<t.parent.childCount&&hK([...t.parent.child(l).marks],e,n);)u+=t.parent.child(l).nodeSize,l+=1;return{from:i,to:u}}function Dh(t,e){if(typeof t=="string"){if(!e.marks[t])throw Error(`There is no mark type named '${t}'. Maybe you forgot to add the extension?`);return e.marks[t]}return t}const Not=(t,e={})=>({tr:n,state:r,dispatch:o})=>{const s=Dh(t,r.schema),{doc:a,selection:i}=n,{$from:l,from:u,to:d}=i;if(o){const f=Jhe(l,s,e);if(f&&f.from<=u&&f.to>=d){const m=Vn.create(a,f.from,f.to);n.setSelection(m)}}return!0},Iot=t=>e=>{const n=typeof t=="function"?t(e):t;for(let r=0;r<n.length;r+=1)if(n[r](e))return!0;return!1};function Xhe(t){return t instanceof Vn}function Um(t=0,e=0,n=0){return Math.min(Math.max(t,e),n)}function eme(t,e=null){if(!e)return null;const n=rr.atStart(t),r=rr.atEnd(t);if(e==="start"||e===!0)return n;if(e==="end")return r;const o=n.from,s=r.to;return e==="all"?Vn.create(t,Um(0,o,s),Um(t.content.size,o,s)):Vn.create(t,Um(e,o,s),Um(e,o,s))}function tme(){return navigator.platform==="Android"||/android/i.test(navigator.userAgent)}function CE(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}const Aot=(t=null,e={})=>({editor:n,view:r,tr:o,dispatch:s})=>{e={scrollIntoView:!0,...e};const a=()=>{(CE()||tme())&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),e!=null&&e.scrollIntoView&&n.commands.scrollIntoView())})};if(r.hasFocus()&&t===null||t===!1)return!0;if(s&&t===null&&!Xhe(n.state.selection))return a(),!0;const i=eme(o.doc,t)||n.state.selection,l=n.state.selection.eq(i);return s&&(l||o.setSelection(i),l&&o.storedMarks&&o.setStoredMarks(o.storedMarks),a()),!0},_ot=(t,e)=>n=>t.every((r,o)=>e(r,{...n,index:o})),Mot=(t,e)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),nme=t=>{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const r=e[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?t.removeChild(r):r.nodeType===1&&nme(r)}return t};function J6(t){const e=`<body>${t}</body>`,n=new window.DOMParser().parseFromString(e,"text/html").body;return nme(n)}function Fj(t,e,n){if(t instanceof Gp||t instanceof Mt)return t;n={slice:!0,parseOptions:{},...n};const r=typeof t=="object"&&t!==null,o=typeof t=="string";if(r)try{if(Array.isArray(t)&&t.length>0)return Mt.fromArray(t.map(i=>e.nodeFromJSON(i)));const a=e.nodeFromJSON(t);return n.errorOnInvalidContent&&a.check(),a}catch(s){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:s});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",s),Fj("",e,n)}if(o){if(n.errorOnInvalidContent){let a=!1,i="";const l=new Ppe({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(a=!0,i=typeof u=="string"?u:u.outerHTML,null)}]}})});if(n.slice?ob.fromSchema(l).parseSlice(J6(t),n.parseOptions):ob.fromSchema(l).parse(J6(t),n.parseOptions),n.errorOnInvalidContent&&a)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${i}`)})}const s=ob.fromSchema(e);return n.slice?s.parseSlice(J6(t),n.parseOptions).content:s.parse(J6(t),n.parseOptions)}return Fj("",e,n)}function Rot(t,e,n){const r=t.steps.length-1;if(r<e)return;const o=t.steps[r];if(!(o instanceof Rs||o instanceof Ps))return;const s=t.mapping.maps[r];let a=0;s.forEach((i,l,u,d)=>{a===0&&(a=d)}),t.setSelection(rr.near(t.doc.resolve(a),n))}const Tot=t=>!("type"in t),Dot=(t,e,n)=>({tr:r,dispatch:o,editor:s})=>{var a;if(o){n={parseOptions:s.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let i;try{i=Fj(e,s.schema,{parseOptions:{preserveWhitespace:"full",...n.parseOptions},errorOnInvalidContent:(a=n.errorOnInvalidContent)!==null&&a!==void 0?a:s.options.enableContentCheck})}catch(w){return s.emit("contentError",{editor:s,error:w,disableCollaboration:()=>{s.storage.collaboration&&(s.storage.collaboration.isDisabled=!0)}}),!1}let{from:l,to:u}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},d=!0,f=!0;if((Tot(i)?i:[i]).forEach(w=>{w.check(),d=d?w.isText&&w.marks.length===0:!1,f=f?w.isBlock:!1}),l===u&&f){const{parent:w}=r.doc.resolve(l);w.isTextblock&&!w.type.spec.code&&!w.childCount&&(l-=1,u+=1)}let g;if(d){if(Array.isArray(e))g=e.map(w=>w.text||"").join("");else if(e instanceof Mt){let w="";e.forEach(b=>{b.text&&(w+=b.text)}),g=w}else typeof e=="object"&&e&&e.text?g=e.text:g=e;r.insertText(g,l,u)}else g=i,r.replaceWith(l,u,g);n.updateSelection&&Rot(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:l,text:g}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:l,text:g})}return!0},Lot=()=>({state:t,dispatch:e})=>Lrt(t,e),Pot=()=>({state:t,dispatch:e})=>Prt(t,e),Oot=()=>({state:t,dispatch:e})=>Lhe(t,e),zot=()=>({state:t,dispatch:e})=>Fhe(t,e),Fot=()=>({state:t,dispatch:e,tr:n})=>{try{const r=hE(t.doc,t.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},Bot=()=>({state:t,dispatch:e,tr:n})=>{try{const r=hE(t.doc,t.selection.$from.pos,1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},Uot=()=>({state:t,dispatch:e})=>Trt(t,e),$ot=()=>({state:t,dispatch:e})=>Drt(t,e);function rme(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function Vot(t){const e=t.split(/-(?!$)/);let n=e[e.length-1];n==="Space"&&(n=" ");let r,o,s,a;for(let i=0;i<e.length-1;i+=1){const l=e[i];if(/^(cmd|meta|m)$/i.test(l))a=!0;else if(/^a(lt)?$/i.test(l))r=!0;else if(/^(c|ctrl|control)$/i.test(l))o=!0;else if(/^s(hift)?$/i.test(l))s=!0;else if(/^mod$/i.test(l))CE()||rme()?a=!0:o=!0;else throw new Error(`Unrecognized modifier name: ${l}`)}return r&&(n=`Alt-${n}`),o&&(n=`Ctrl-${n}`),a&&(n=`Meta-${n}`),s&&(n=`Shift-${n}`),n}const Hot=t=>({editor:e,view:n,tr:r,dispatch:o})=>{const s=Vot(t).split(/-(?!$)/),a=s.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),i=new KeyboardEvent("keydown",{key:a==="Space"?" ":a,altKey:s.includes("Alt"),ctrlKey:s.includes("Ctrl"),metaKey:s.includes("Meta"),shiftKey:s.includes("Shift"),bubbles:!0,cancelable:!0}),l=e.captureTransaction(()=>{n.someProp("handleKeyDown",u=>u(n,i))});return l==null||l.steps.forEach(u=>{const d=u.map(r.mapping);d&&o&&r.maybeStep(d)}),!0};function w2(t,e,n={}){const{from:r,to:o,empty:s}=t.selection,a=e?Us(e,t.schema):null,i=[];t.doc.nodesBetween(r,o,(f,m)=>{if(f.isText)return;const g=Math.max(r,m),w=Math.min(o,m+f.nodeSize);i.push({node:f,from:g,to:w})});const l=o-r,u=i.filter(f=>a?a.name===f.node.type.name:!0).filter(f=>zj(f.node.attrs,n,{strict:!1}));return s?!!u.length:u.reduce((f,m)=>f+m.to-m.from,0)>=l}const Wot=(t,e={})=>({state:n,dispatch:r})=>{const o=Us(t,n.schema);return w2(n,o,e)?Ort(n,r):!1},Yot=()=>({state:t,dispatch:e})=>Vhe(t,e),Got=t=>({state:e,dispatch:n})=>{const r=Us(t,e.schema);return Krt(r)(e,n)},qot=()=>({state:t,dispatch:e})=>Uhe(t,e);function SE(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function mK(t,e){const n=typeof e=="string"?[e]:e;return Object.keys(t).reduce((r,o)=>(n.includes(o)||(r[o]=t[o]),r),{})}const Kot=(t,e)=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=SE(typeof t=="string"?t:t.name,r.schema);return i?(i==="node"&&(s=Us(t,r.schema)),i==="mark"&&(a=Dh(t,r.schema)),o&&n.selection.ranges.forEach(l=>{r.doc.nodesBetween(l.$from.pos,l.$to.pos,(u,d)=>{s&&s===u.type&&n.setNodeMarkup(d,void 0,mK(u.attrs,e)),a&&u.marks.length&&u.marks.forEach(f=>{a===f.type&&n.addMark(d,d+u.nodeSize,a.create(mK(f.attrs,e)))})})}),!0):!1},Zot=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),Qot=()=>({tr:t,dispatch:e})=>{if(e){const n=new pl(t.doc);t.setSelection(n)}return!0},Jot=()=>({state:t,dispatch:e})=>Ohe(t,e),Xot=()=>({state:t,dispatch:e})=>Bhe(t,e),est=()=>({state:t,dispatch:e})=>Urt(t,e),tst=()=>({state:t,dispatch:e})=>Hrt(t,e),nst=()=>({state:t,dispatch:e})=>Vrt(t,e);function nR(t,e,n={},r={}){return Fj(t,e,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}const rst=(t,e=!1,n={},r={})=>({editor:o,tr:s,dispatch:a,commands:i})=>{var l,u;const{doc:d}=s;if(n.preserveWhitespace!=="full"){const f=nR(t,o.schema,n,{errorOnInvalidContent:(l=r.errorOnInvalidContent)!==null&&l!==void 0?l:o.options.enableContentCheck});return a&&s.replaceWith(0,d.content.size,f).setMeta("preventUpdate",!e),!0}return a&&s.setMeta("preventUpdate",!e),i.insertContentAt({from:0,to:d.content.size},t,{parseOptions:n,errorOnInvalidContent:(u=r.errorOnInvalidContent)!==null&&u!==void 0?u:o.options.enableContentCheck})};function ome(t,e){const n=Dh(e,t.schema),{from:r,to:o,empty:s}=t.selection,a=[];s?(t.storedMarks&&a.push(...t.storedMarks),a.push(...t.selection.$head.marks())):t.doc.nodesBetween(r,o,l=>{a.push(...l.marks)});const i=a.find(l=>l.type.name===n.name);return i?{...i.attrs}:{}}function ost(t,e){const n=new Jpe(t);return e.forEach(r=>{r.steps.forEach(o=>{n.step(o)})}),n}function sst(t){for(let e=0;e<t.edgeCount;e+=1){const{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function ast(t,e,n){const r=[];return t.nodesBetween(e.from,e.to,(o,s)=>{n(o)&&r.push({node:o,pos:s})}),r}function ist(t,e){for(let n=t.depth;n>0;n-=1){const r=t.node(n);if(e(r))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:r}}}function gP(t){return e=>ist(e.$from,t)}function lst(t,e){const n={from:0,to:t.content.size};return Khe(t,n,e)}function cst(t,e){const n=Us(e,t.schema),{from:r,to:o}=t.selection,s=[];t.doc.nodesBetween(r,o,i=>{s.push(i)});const a=s.reverse().find(i=>i.type.name===n.name);return a?{...a.attrs}:{}}function ust(t,e){const n=SE(typeof e=="string"?e:e.name,t.schema);return n==="node"?cst(t,e):n==="mark"?ome(t,e):{}}function fst(t,e=JSON.stringify){const n={};return t.filter(r=>{const o=e(r);return Object.prototype.hasOwnProperty.call(n,o)?!1:n[o]=!0})}function dst(t){const e=fst(t);return e.length===1?e:e.filter((n,r)=>!e.filter((s,a)=>a!==r).some(s=>n.oldRange.from>=s.oldRange.from&&n.oldRange.to<=s.oldRange.to&&n.newRange.from>=s.newRange.from&&n.newRange.to<=s.newRange.to))}function pst(t){const{mapping:e,steps:n}=t,r=[];return e.maps.forEach((o,s)=>{const a=[];if(o.ranges.length)o.forEach((i,l)=>{a.push({from:i,to:l})});else{const{from:i,to:l}=n[s];if(i===void 0||l===void 0)return;a.push({from:i,to:l})}a.forEach(({from:i,to:l})=>{const u=e.slice(s).map(i,-1),d=e.slice(s).map(l),f=e.invert().map(u,-1),m=e.invert().map(d);r.push({oldRange:{from:f,to:m},newRange:{from:u,to:d}})})}),dst(r)}function K3(t,e,n){return Object.fromEntries(Object.entries(n).filter(([r])=>{const o=t.find(s=>s.type===e&&s.name===r);return o?o.attribute.keepOnSplit:!1}))}function rR(t,e,n={}){const{empty:r,ranges:o}=t.selection,s=e?Dh(e,t.schema):null;if(r)return!!(t.storedMarks||t.selection.$from.marks()).filter(f=>s?s.name===f.type.name:!0).find(f=>zj(f.attrs,n,{strict:!1}));let a=0;const i=[];if(o.forEach(({$from:f,$to:m})=>{const g=f.pos,w=m.pos;t.doc.nodesBetween(g,w,(b,j)=>{if(!b.isText&&!b.marks.length)return;const S=Math.max(g,j),I=Math.min(w,j+b.nodeSize),N=I-S;a+=N,i.push(...b.marks.map(M=>({mark:M,from:S,to:I})))})}),a===0)return!1;const l=i.filter(f=>s?s.name===f.mark.type.name:!0).filter(f=>zj(f.mark.attrs,n,{strict:!1})).reduce((f,m)=>f+m.to-m.from,0),u=i.filter(f=>s?f.mark.type!==s&&f.mark.type.excludes(s):!0).reduce((f,m)=>f+m.to-m.from,0);return(l>0?l+u:l)>=a}function hst(t,e,n={}){if(!e)return w2(t,null,n)||rR(t,null,n);const r=SE(e,t.schema);return r==="node"?w2(t,e,n):r==="mark"?rR(t,e,n):!1}function gK(t,e){const{nodeExtensions:n}=kE(e),r=n.find(a=>a.name===t);if(!r)return!1;const o={name:r.name,options:r.options,storage:r.storage},s=ur(un(r,"group",o));return typeof s!="string"?!1:s.split(" ").includes("list")}function EE(t,{checkChildren:e=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if(t.type.name==="hardBreak")return!0;if(t.isText)return/^\s*$/m.test((r=t.text)!==null&&r!==void 0?r:"")}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let o=!0;return t.content.forEach(s=>{o!==!1&&(EE(s,{ignoreWhitespace:n,checkChildren:e})||(o=!1))}),o}return!1}function mst(t,e,n){var r;const{selection:o}=e;let s=null;if(Xhe(o)&&(s=o.$cursor),s){const i=(r=t.storedMarks)!==null&&r!==void 0?r:s.marks();return!!n.isInSet(i)||!i.some(l=>l.type.excludes(n))}const{ranges:a}=o;return a.some(({$from:i,$to:l})=>{let u=i.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(n):!1;return t.doc.nodesBetween(i.pos,l.pos,(d,f,m)=>{if(u)return!1;if(d.isInline){const g=!m||m.type.allowsMarkType(n),w=!!n.isInSet(d.marks)||!d.marks.some(b=>b.type.excludes(n));u=g&&w}return!u}),u})}const gst=(t,e={})=>({tr:n,state:r,dispatch:o})=>{const{selection:s}=n,{empty:a,ranges:i}=s,l=Dh(t,r.schema);if(o)if(a){const u=ome(r,l);n.addStoredMark(l.create({...u,...e}))}else i.forEach(u=>{const d=u.$from.pos,f=u.$to.pos;r.doc.nodesBetween(d,f,(m,g)=>{const w=Math.max(g,d),b=Math.min(g+m.nodeSize,f);m.marks.find(S=>S.type===l)?m.marks.forEach(S=>{l===S.type&&n.addMark(w,b,l.create({...S.attrs,...e}))}):n.addMark(w,b,l.create(e))})});return mst(r,n,l)},yst=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),vst=(t,e={})=>({state:n,dispatch:r,chain:o})=>{const s=Us(t,n.schema);let a;return n.selection.$anchor.sameParent(n.selection.$head)&&(a=n.selection.$anchor.parent.attrs),s.isTextblock?o().command(({commands:i})=>uK(s,{...a,...e})(n)?!0:i.clearNodes()).command(({state:i})=>uK(s,{...a,...e})(i,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},wst=t=>({tr:e,dispatch:n})=>{if(n){const{doc:r}=e,o=Um(t,0,r.content.size),s=jn.create(r,o);e.setSelection(s)}return!0},bst=t=>({tr:e,dispatch:n})=>{if(n){const{doc:r}=e,{from:o,to:s}=typeof t=="number"?{from:t,to:t}:t,a=Vn.atStart(r).from,i=Vn.atEnd(r).to,l=Um(o,a,i),u=Um(s,a,i),d=Vn.create(r,l,u);e.setSelection(d)}return!0},xst=t=>({state:e,dispatch:n})=>{const r=Us(t,e.schema);return Jrt(r)(e,n)};function yK(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const r=n.filter(o=>e==null?void 0:e.includes(o.type.name));t.tr.ensureMarks(r)}}const kst=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:r,editor:o})=>{const{selection:s,doc:a}=e,{$from:i,$to:l}=s,u=o.extensionManager.attributes,d=K3(u,i.node().type.name,i.node().attrs);if(s instanceof jn&&s.node.isBlock)return!i.parentOffset||!nd(a,i.pos)?!1:(r&&(t&&yK(n,o.extensionManager.splittableMarks),e.split(i.pos).scrollIntoView()),!0);if(!i.parent.isBlock)return!1;const f=l.parentOffset===l.parent.content.size,m=i.depth===0?void 0:sst(i.node(-1).contentMatchAt(i.indexAfter(-1)));let g=f&&m?[{type:m,attrs:d}]:void 0,w=nd(e.doc,e.mapping.map(i.pos),1,g);if(!g&&!w&&nd(e.doc,e.mapping.map(i.pos),1,m?[{type:m}]:void 0)&&(w=!0,g=m?[{type:m,attrs:d}]:void 0),r){if(w&&(s instanceof Vn&&e.deleteSelection(),e.split(e.mapping.map(i.pos),1,g),m&&!f&&!i.parentOffset&&i.parent.type!==m)){const b=e.mapping.map(i.before()),j=e.doc.resolve(b);i.node(-1).canReplaceWith(j.index(),j.index()+1,m)&&e.setNodeMarkup(e.mapping.map(i.before()),m)}t&&yK(n,o.extensionManager.splittableMarks),e.scrollIntoView()}return w},jst=(t,e={})=>({tr:n,state:r,dispatch:o,editor:s})=>{var a;const i=Us(t,r.schema),{$from:l,$to:u}=r.selection,d=r.selection.node;if(d&&d.isBlock||l.depth<2||!l.sameParent(u))return!1;const f=l.node(-1);if(f.type!==i)return!1;const m=s.extensionManager.attributes;if(l.parent.content.size===0&&l.node(-1).childCount===l.indexAfter(-1)){if(l.depth===2||l.node(-3).type!==i||l.index(-2)!==l.node(-2).childCount-1)return!1;if(o){let S=Mt.empty;const I=l.index(-1)?1:l.index(-2)?2:3;for(let F=l.depth-I;F>=l.depth-3;F-=1)S=Mt.from(l.node(F).copy(S));const N=l.indexAfter(-1)<l.node(-2).childCount?1:l.indexAfter(-2)<l.node(-3).childCount?2:3,M={...K3(m,l.node().type.name,l.node().attrs),...e},D=((a=i.contentMatch.defaultType)===null||a===void 0?void 0:a.createAndFill(M))||void 0;S=S.append(Mt.from(i.createAndFill(null,D)||void 0));const P=l.before(l.depth-(I-1));n.replace(P,l.after(-N),new en(S,4-I,0));let L=-1;n.doc.nodesBetween(P,n.doc.content.size,(F,T)=>{if(L>-1)return!1;F.isTextblock&&F.content.size===0&&(L=T+1)}),L>-1&&n.setSelection(Vn.near(n.doc.resolve(L))),n.scrollIntoView()}return!0}const g=u.pos===l.end()?f.contentMatchAt(0).defaultType:null,w={...K3(m,f.type.name,f.attrs),...e},b={...K3(m,l.node().type.name,l.node().attrs),...e};n.delete(l.pos,u.pos);const j=g?[{type:i,attrs:w},{type:g,attrs:b}]:[{type:i,attrs:w}];if(!nd(n.doc,l.pos,2))return!1;if(o){const{selection:S,storedMarks:I}=r,{splittableMarks:N}=s.extensionManager,M=I||S.$to.parentOffset&&S.$from.marks();if(n.split(l.pos,2,j).scrollIntoView(),!M||!o)return!0;const D=M.filter(P=>N.includes(P.type.name));n.ensureMarks(D)}return!0},r5=(t,e)=>{const n=gP(a=>a.type===e)(t.selection);if(!n)return!0;const r=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;const o=t.doc.nodeAt(r);return n.node.type===(o==null?void 0:o.type)&&n1(t.doc,n.pos)&&t.join(n.pos),!0},o5=(t,e)=>{const n=gP(a=>a.type===e)(t.selection);if(!n)return!0;const r=t.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;const o=t.doc.nodeAt(r);return n.node.type===(o==null?void 0:o.type)&&n1(t.doc,r)&&t.join(r),!0},Cst=(t,e,n,r={})=>({editor:o,tr:s,state:a,dispatch:i,chain:l,commands:u,can:d})=>{const{extensions:f,splittableMarks:m}=o.extensionManager,g=Us(t,a.schema),w=Us(e,a.schema),{selection:b,storedMarks:j}=a,{$from:S,$to:I}=b,N=S.blockRange(I),M=j||b.$to.parentOffset&&b.$from.marks();if(!N)return!1;const D=gP(P=>gK(P.type.name,f))(b);if(N.depth>=1&&D&&N.depth-D.depth<=1){if(D.node.type===g)return u.liftListItem(w);if(gK(D.node.type.name,f)&&g.validContent(D.node.content)&&i)return l().command(()=>(s.setNodeMarkup(D.pos,g),!0)).command(()=>r5(s,g)).command(()=>o5(s,g)).run()}return!n||!M||!i?l().command(()=>d().wrapInList(g,r)?!0:u.clearNodes()).wrapInList(g,r).command(()=>r5(s,g)).command(()=>o5(s,g)).run():l().command(()=>{const P=d().wrapInList(g,r),L=M.filter(F=>m.includes(F.type.name));return s.ensureMarks(L),P?!0:u.clearNodes()}).wrapInList(g,r).command(()=>r5(s,g)).command(()=>o5(s,g)).run()},Sst=(t,e={},n={})=>({state:r,commands:o})=>{const{extendEmptyMarkRange:s=!1}=n,a=Dh(t,r.schema);return rR(r,a,e)?o.unsetMark(a,{extendEmptyMarkRange:s}):o.setMark(a,e)},Est=(t,e,n={})=>({state:r,commands:o})=>{const s=Us(t,r.schema),a=Us(e,r.schema),i=w2(r,s,n);let l;return r.selection.$anchor.sameParent(r.selection.$head)&&(l=r.selection.$anchor.parent.attrs),i?o.setNode(a,l):o.setNode(s,{...l,...n})},Nst=(t,e={})=>({state:n,commands:r})=>{const o=Us(t,n.schema);return w2(n,o,e)?r.lift(o):r.wrapIn(o,e)},Ist=()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let r=0;r<n.length;r+=1){const o=n[r];let s;if(o.spec.isInputRules&&(s=o.getState(t))){if(e){const a=t.tr,i=s.transform;for(let l=i.steps.length-1;l>=0;l-=1)a.step(i.steps[l].invert(i.docs[l]));if(s.text){const l=a.doc.resolve(s.from).marks();a.replaceWith(s.from,s.to,t.schema.text(s.text,l))}else a.delete(s.from,s.to)}return!0}}return!1},Ast=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:r,ranges:o}=n;return r||e&&o.forEach(s=>{t.removeMark(s.$from.pos,s.$to.pos)}),!0},_st=(t,e={})=>({tr:n,state:r,dispatch:o})=>{var s;const{extendEmptyMarkRange:a=!1}=e,{selection:i}=n,l=Dh(t,r.schema),{$from:u,empty:d,ranges:f}=i;if(!o)return!0;if(d&&a){let{from:m,to:g}=i;const w=(s=u.marks().find(j=>j.type===l))===null||s===void 0?void 0:s.attrs,b=Jhe(u,l,w);b&&(m=b.from,g=b.to),n.removeMark(m,g,l)}else f.forEach(m=>{n.removeMark(m.$from.pos,m.$to.pos,l)});return n.removeStoredMark(l),!0},Mst=(t,e={})=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=SE(typeof t=="string"?t:t.name,r.schema);return i?(i==="node"&&(s=Us(t,r.schema)),i==="mark"&&(a=Dh(t,r.schema)),o&&n.selection.ranges.forEach(l=>{const u=l.$from.pos,d=l.$to.pos;let f,m,g,w;n.selection.empty?r.doc.nodesBetween(u,d,(b,j)=>{s&&s===b.type&&(g=Math.max(j,u),w=Math.min(j+b.nodeSize,d),f=j,m=b)}):r.doc.nodesBetween(u,d,(b,j)=>{j<u&&s&&s===b.type&&(g=Math.max(j,u),w=Math.min(j+b.nodeSize,d),f=j,m=b),j>=u&&j<=d&&(s&&s===b.type&&n.setNodeMarkup(j,void 0,{...b.attrs,...e}),a&&b.marks.length&&b.marks.forEach(S=>{if(a===S.type){const I=Math.max(j,u),N=Math.min(j+b.nodeSize,d);n.addMark(I,N,a.create({...S.attrs,...e}))}}))}),m&&(f!==void 0&&n.setNodeMarkup(f,void 0,{...m.attrs,...e}),a&&m.marks.length&&m.marks.forEach(b=>{a===b.type&&n.addMark(g,w,a.create({...b.attrs,...e}))}))}),!0):!1},Rst=(t,e={})=>({state:n,dispatch:r})=>{const o=Us(t,n.schema);return Wrt(o,e)(n,r)},Tst=(t,e={})=>({state:n,dispatch:r})=>{const o=Us(t,n.schema);return Yrt(o,e)(n,r)};var Dst=Object.freeze({__proto__:null,blur:mot,clearContent:got,clearNodes:yot,command:vot,createParagraphNear:wot,cut:bot,deleteCurrentNode:xot,deleteNode:kot,deleteRange:jot,deleteSelection:Cot,enter:Sot,exitCode:Eot,extendMarkRange:Not,first:Iot,focus:Aot,forEach:_ot,insertContent:Mot,insertContentAt:Dot,joinBackward:Oot,joinDown:Pot,joinForward:zot,joinItemBackward:Fot,joinItemForward:Bot,joinTextblockBackward:Uot,joinTextblockForward:$ot,joinUp:Lot,keyboardShortcut:Hot,lift:Wot,liftEmptyBlock:Yot,liftListItem:Got,newlineInCode:qot,resetAttributes:Kot,scrollIntoView:Zot,selectAll:Qot,selectNodeBackward:Jot,selectNodeForward:Xot,selectParentNode:est,selectTextblockEnd:tst,selectTextblockStart:nst,setContent:rst,setMark:gst,setMeta:yst,setNode:vst,setNodeSelection:wst,setTextSelection:bst,sinkListItem:xst,splitBlock:kst,splitListItem:jst,toggleList:Cst,toggleMark:Sst,toggleNode:Est,toggleWrap:Nst,undoInputRule:Ist,unsetAllMarks:Ast,unsetMark:_st,updateAttributes:Mst,wrapIn:Rst,wrapInList:Tst});const Lst=Ri.create({name:"commands",addCommands(){return{...Dst}}}),Pst=Ri.create({name:"drop",addProseMirrorPlugins(){return[new ui({key:new Li("tiptapDrop"),props:{handleDrop:(t,e,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:r})}}})]}}),Ost=Ri.create({name:"editable",addProseMirrorPlugins(){return[new ui({key:new Li("editable"),props:{editable:()=>this.editor.options.editable}})]}}),zst=new Li("focusEvents"),Fst=Ri.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new ui({key:zst,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;const r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),Bst=Ri.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first(({commands:a})=>[()=>a.undoInputRule(),()=>a.command(({tr:i})=>{const{selection:l,doc:u}=i,{empty:d,$anchor:f}=l,{pos:m,parent:g}=f,w=f.parent.isTextblock&&m>0?i.doc.resolve(m-1):f,b=w.parent.type.spec.isolating,j=f.pos-f.parentOffset,S=b&&w.parent.childCount===1?j===f.pos:rr.atStart(u).from===m;return!d||!g.type.isTextblock||g.textContent.length||!S||S&&f.parent.type.name==="paragraph"?!1:a.clearNodes()}),()=>a.deleteSelection(),()=>a.joinBackward(),()=>a.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:a})=>[()=>a.deleteSelection(),()=>a.deleteCurrentNode(),()=>a.joinForward(),()=>a.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:a})=>[()=>a.newlineInCode(),()=>a.createParagraphNear(),()=>a.liftEmptyBlock(),()=>a.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},o={...r},s={...r,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return CE()||rme()?s:o},addProseMirrorPlugins(){return[new ui({key:new Li("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(b=>b.getMeta("composition")))return;const r=t.some(b=>b.docChanged)&&!e.doc.eq(n.doc),o=t.some(b=>b.getMeta("preventClearDocument"));if(!r||o)return;const{empty:s,from:a,to:i}=e.selection,l=rr.atStart(e.doc).from,u=rr.atEnd(e.doc).to;if(s||!(a===l&&i===u)||!EE(n.doc))return;const m=n.tr,g=bE({state:n,transaction:m}),{commands:w}=new xE({editor:this.editor,state:g});if(w.clearNodes(),!!m.steps.length)return m}})]}}),Ust=Ri.create({name:"paste",addProseMirrorPlugins(){return[new ui({key:new Li("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}}),$st=Ri.create({name:"tabindex",addProseMirrorPlugins(){return[new ui({key:new Li("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});class Nm{get name(){return this.node.type.name}constructor(e,n,r=!1,o=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=e,this.editor=n,this.currentNode=o}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return(e=this.actualDepth)!==null&&e!==void 0?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;const e=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(e);return new Nm(n,this.editor)}get before(){let e=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.from-3)),new Nm(e,this.editor)}get after(){let e=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.to+3)),new Nm(e,this.editor)}get children(){const e=[];return this.node.content.forEach((n,r)=>{const o=n.isBlock&&!n.isTextblock,s=n.isAtom&&!n.isText,a=this.pos+r+(s?0:1),i=this.resolvedPos.doc.resolve(a);if(!o&&i.depth<=this.depth)return;const l=new Nm(i,this.editor,o,o?n:null);o&&(l.actualDepth=this.depth+1),e.push(new Nm(i,this.editor,o,o?n:null))}),e}get firstChild(){return this.children[0]||null}get lastChild(){const e=this.children;return e[e.length-1]||null}closest(e,n={}){let r=null,o=this.parent;for(;o&&!r;){if(o.node.type.name===e)if(Object.keys(n).length>0){const s=o.node.attrs,a=Object.keys(n);for(let i=0;i<a.length;i+=1){const l=a[i];if(s[l]!==n[l])break}}else r=o;o=o.parent}return r}querySelector(e,n={}){return this.querySelectorAll(e,n,!0)[0]||null}querySelectorAll(e,n={},r=!1){let o=[];if(!this.children||this.children.length===0)return o;const s=Object.keys(n);return this.children.forEach(a=>{r&&o.length>0||(a.node.type.name===e&&s.every(l=>n[l]===a.node.attrs[l])&&o.push(a),!(r&&o.length>0)&&(o=o.concat(a.querySelectorAll(e,n,r))))}),o}setAttribute(e){const{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(n)}}const Vst=`.ProseMirror {
2110 position: relative;
2111 }
2112
2113 .ProseMirror {
2114 word-wrap: break-word;
2115 white-space: pre-wrap;
2116 white-space: break-spaces;
2117 -webkit-font-variant-ligatures: none;
2118 font-variant-ligatures: none;
2119 font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
2120 }
2121
2122 .ProseMirror [contenteditable="false"] {
2123 white-space: normal;
2124 }
2125
2126 .ProseMirror [contenteditable="false"] [contenteditable="true"] {
2127 white-space: pre-wrap;
2128 }
2129
2130 .ProseMirror pre {
2131 white-space: pre-wrap;
2132 }
2133
2134 img.ProseMirror-separator {
2135 display: inline !important;
2136 border: none !important;
2137 margin: 0 !important;
2138 width: 0 !important;
2139 height: 0 !important;
2140 }
2141
2142 .ProseMirror-gapcursor {
2143 display: none;
2144 pointer-events: none;
2145 position: absolute;
2146 margin: 0;
2147 }
2148
2149 .ProseMirror-gapcursor:after {
2150 content: "";
2151 display: block;
2152 position: absolute;
2153 top: -2px;
2154 width: 20px;
2155 border-top: 1px solid black;
2156 animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
2157 }
2158
2159 @keyframes ProseMirror-cursor-blink {
2160 to {
2161 visibility: hidden;
2162 }
2163 }
2164
2165 .ProseMirror-hideselection *::selection {
2166 background: transparent;
2167 }
2168
2169 .ProseMirror-hideselection *::-moz-selection {
2170 background: transparent;
2171 }
2172
2173 .ProseMirror-hideselection * {
2174 caret-color: transparent;
2175 }
2176
2177 .ProseMirror-focused .ProseMirror-gapcursor {
2178 display: block;
2179 }
2180
2181 .tippy-box[data-animation=fade][data-state=hidden] {
2182 opacity: 0
2183 }`;function Hst(t,e,n){const r=document.querySelector("style[data-tiptap-style]");if(r!==null)return r;const o=document.createElement("style");return e&&o.setAttribute("nonce",e),o.setAttribute("data-tiptap-style",""),o.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(o),o}class Wst extends Xrt{constructor(e={}){super(),this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.options={element:document.createElement("div"),content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:n})=>{throw n},onPaste:()=>null,onDrop:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(e),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("contentError",this.options.onContentError),this.createView(),this.injectCSS(),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:n,slice:r,moved:o})=>this.options.onDrop(n,r,o)),this.on("paste",({event:n,slice:r})=>this.options.onPaste(n,r)),window.setTimeout(()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=Hst(Vst,this.options.injectNonce))}setOptions(e={}){this.options={...this.options,...e},!(!this.view||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(e,n=!0){this.setOptions({editable:e}),n&&this.emit("update",{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(e,n){const r=Ghe(n)?n(e,[...this.state.plugins]):[...this.state.plugins,e],o=this.state.reconfigure({plugins:r});return this.view.updateState(o),o}unregisterPlugin(e){if(this.isDestroyed)return;const n=this.state.plugins;let r=n;if([].concat(e).forEach(s=>{const a=typeof s=="string"?`${s}$`:s.key;r=r.filter(i=>!i.key.startsWith(a))}),n.length===r.length)return;const o=this.state.reconfigure({plugins:r});return this.view.updateState(o),o}createExtensionManager(){var e,n;const o=[...this.options.enableCoreExtensions?[Ost,hot.configure({blockSeparator:(n=(e=this.options.coreExtensionOptions)===null||e===void 0?void 0:e.clipboardTextSerializer)===null||n===void 0?void 0:n.blockSeparator}),Lst,Fst,Bst,$st,Pst,Ust].filter(s=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[s.name]!==!1:!0):[],...this.options.extensions].filter(s=>["extension","node","mark"].includes(s==null?void 0:s.type));this.extensionManager=new y0(o,this)}createCommandManager(){this.commandManager=new xE({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){var e;let n;try{n=nR(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(a){if(!(a instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(a.message))throw a;this.emit("contentError",{editor:this,error:a,disableCollaboration:()=>{this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(i=>i.name!=="collaboration"),this.createExtensionManager()}}),n=nR(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}const r=eme(n,this.options.autofocus);this.view=new xrt(this.options.element,{...this.options.editorProps,attributes:{role:"textbox",...(e=this.options.editorProps)===null||e===void 0?void 0:e.attributes},dispatchTransaction:this.dispatchTransaction.bind(this),state:g0.create({doc:n,selection:r||void 0})});const o=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(o),this.createNodeViews(),this.prependClass();const s=this.view.dom;s.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(e){this.isCapturingTransaction=!0,e(),this.isCapturingTransaction=!1;const n=this.capturedTransaction;return this.capturedTransaction=null,n}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(a=>{var i;return(i=this.capturedTransaction)===null||i===void 0?void 0:i.step(a)});return}const n=this.state.apply(e),r=!this.state.selection.eq(n.selection);this.emit("beforeTransaction",{editor:this,transaction:e,nextState:n}),this.view.updateState(n),this.emit("transaction",{editor:this,transaction:e}),r&&this.emit("selectionUpdate",{editor:this,transaction:e});const o=e.getMeta("focus"),s=e.getMeta("blur");o&&this.emit("focus",{editor:this,event:o.event,transaction:e}),s&&this.emit("blur",{editor:this,event:s.event,transaction:e}),!(!e.docChanged||e.getMeta("preventUpdate"))&&this.emit("update",{editor:this,transaction:e})}getAttributes(e){return ust(this.state,e)}isActive(e,n){const r=typeof e=="string"?e:null,o=typeof e=="string"?n:e;return hst(this.state,r,o)}getJSON(){return this.state.doc.toJSON()}getHTML(){return hP(this.state.doc.content,this.schema)}getText(e){const{blockSeparator:n=`
2184
2185 `,textSerializers:r={}}=e||{};return lst(this.state.doc,{blockSeparator:n,textSerializers:{...Zhe(this.schema),...r}})}get isEmpty(){return EE(this.state.doc)}getCharacterCount(){return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'),this.state.doc.content.size-2}destroy(){if(this.emit("destroy"),this.view){const e=this.view.dom;e&&e.editor&&delete e.editor,this.view.destroy()}this.removeAllListeners()}get isDestroyed(){var e;return!(!((e=this.view)===null||e===void 0)&&e.docView)}$node(e,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelector(e,n))||null}$nodes(e,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelectorAll(e,n))||null}$pos(e){const n=this.state.doc.resolve(e);return new Nm(n,this)}get $doc(){return this.$pos(0)}}function Yst(t){return new qhe({find:t.find,handler:({state:e,range:n,match:r})=>{const o=ur(t.getAttributes,void 0,r)||{},{tr:s}=e,a=n.from;let i=n.to;const l=t.type.create(o);if(r[1]){const u=r[0].lastIndexOf(r[1]);let d=a+u;d>i?d=i:i=d+r[1].length;const f=r[0][r[0].length-1];s.insertText(f,a+r[0].length-1),s.replaceWith(d,i,l)}else if(r[0]){const u=t.type.isInline?a:a-1;s.insert(u,t.type.create(o)).delete(s.mapping.map(a),s.mapping.map(i))}s.scrollIntoView()}})}let cv=class oR{constructor(e={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=ur(un(this,"addOptions",{name:this.name}))),this.storage=ur(un(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new oR(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>jE(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new oR(e);return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=ur(un(n,"addOptions",{name:n.name})),n.storage=ur(un(n,"addStorage",{name:n.name,options:n.options})),n}};class Gst{constructor(e,n,r){this.isDragging=!1,this.component=e,this.editor=n.editor,this.options={stopEvent:null,ignoreMutation:null,...r},this.extension=n.extension,this.node=n.node,this.decorations=n.decorations,this.innerDecorations=n.innerDecorations,this.view=n.view,this.HTMLAttributes=n.HTMLAttributes,this.getPos=n.getPos,this.mount()}mount(){}get dom(){return this.editor.view.dom}get contentDOM(){return null}onDragStart(e){var n,r,o,s,a,i,l;const{view:u}=this.editor,d=e.target,f=d.nodeType===3?(n=d.parentElement)===null||n===void 0?void 0:n.closest("[data-drag-handle]"):d.closest("[data-drag-handle]");if(!this.dom||!((r=this.contentDOM)===null||r===void 0)&&r.contains(d)||!f)return;let m=0,g=0;if(this.dom!==f){const I=this.dom.getBoundingClientRect(),N=f.getBoundingClientRect(),M=(o=e.offsetX)!==null&&o!==void 0?o:(s=e.nativeEvent)===null||s===void 0?void 0:s.offsetX,D=(a=e.offsetY)!==null&&a!==void 0?a:(i=e.nativeEvent)===null||i===void 0?void 0:i.offsetY;m=N.x-I.x+M,g=N.y-I.y+D}const w=this.dom.cloneNode(!0);(l=e.dataTransfer)===null||l===void 0||l.setDragImage(w,m,g);const b=this.getPos();if(typeof b!="number")return;const j=jn.create(u.state.doc,b),S=u.state.tr.setSelection(j);u.dispatch(S)}stopEvent(e){var n;if(!this.dom)return!1;if(typeof this.options.stopEvent=="function")return this.options.stopEvent({event:e});const r=e.target;if(!(this.dom.contains(r)&&!(!((n=this.contentDOM)===null||n===void 0)&&n.contains(r))))return!1;const s=e.type.startsWith("drag"),a=e.type==="drop";if((["INPUT","BUTTON","SELECT","TEXTAREA"].includes(r.tagName)||r.isContentEditable)&&!a&&!s)return!0;const{isEditable:l}=this.editor,{isDragging:u}=this,d=!!this.node.type.spec.draggable,f=jn.isSelectable(this.node),m=e.type==="copy",g=e.type==="paste",w=e.type==="cut",b=e.type==="mousedown";if(!d&&f&&s&&e.target===this.dom&&e.preventDefault(),d&&s&&!u&&e.target===this.dom)return e.preventDefault(),!1;if(d&&l&&!u&&b){const j=r.closest("[data-drag-handle]");j&&(this.dom===j||this.dom.contains(j))&&(this.isDragging=!0,document.addEventListener("dragend",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("drop",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("mouseup",()=>{this.isDragging=!1},{once:!0}))}return!(u||a||m||g||w||b&&f)}ignoreMutation(e){return!this.dom||!this.contentDOM?!0:typeof this.options.ignoreMutation=="function"?this.options.ignoreMutation({mutation:e}):this.node.isLeaf||this.node.isAtom?!0:e.type==="selection"||this.dom.contains(e.target)&&e.type==="childList"&&(CE()||tme())&&this.editor.isFocused&&[...Array.from(e.addedNodes),...Array.from(e.removedNodes)].every(r=>r.isContentEditable)?!1:this.contentDOM===e.target&&e.type==="attributes"?!0:!this.contentDOM.contains(e.target)}updateAttributes(e){this.editor.commands.command(({tr:n})=>{const r=this.getPos();return typeof r!="number"?!1:(n.setNodeMarkup(r,void 0,{...this.node.attrs,...e}),!0)})}deleteNode(){const e=this.getPos();if(typeof e!="number")return;const n=e+this.node.nodeSize;this.editor.commands.deleteRange({from:e,to:n})}}function sme(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function qst(t){var e;const{char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:s,startOfLine:a,$position:i}=t,l=r&&!o,u=sme(n),d=new RegExp(`\\s${u}$`),f=a?"^":"",m=o?"":u,g=l?new RegExp(`${f}${u}.*?(?=\\s${m}|$)`,"gm"):new RegExp(`${f}(?:^)?${u}[^\\s${m}]*`,"gm"),w=((e=i.nodeBefore)===null||e===void 0?void 0:e.isText)&&i.nodeBefore.text;if(!w)return null;const b=i.pos-w.length,j=Array.from(w.matchAll(g)).pop();if(!j||j.input===void 0||j.index===void 0)return null;const S=j.input.slice(Math.max(0,j.index-1),j.index),I=new RegExp(`^[${s==null?void 0:s.join("")}\0]?$`).test(S);if(s!==null&&!I)return null;const N=b+j.index;let M=N+j[0].length;return l&&d.test(w.slice(M-1,M+1))&&(j[0]+=" ",M+=1),N<i.pos&&M>=i.pos?{range:{from:N,to:M},query:j[0].slice(n.length),text:j[0]}:null}const Kst=new Li("suggestion");function ame({pluginKey:t=Kst,editor:e,char:n="@",allowSpaces:r=!1,allowToIncludeChar:o=!1,allowedPrefixes:s=[" "],startOfLine:a=!1,decorationTag:i="span",decorationClass:l="suggestion",command:u=()=>null,items:d=()=>[],render:f=()=>({}),allow:m=()=>!0,findSuggestionMatch:g=qst}){let w;const b=f==null?void 0:f(),j=new ui({key:t,view(){return{update:async(S,I)=>{var N,M,D,P,L,F,T;const R=(N=this.key)===null||N===void 0?void 0:N.getState(I),z=(M=this.key)===null||M===void 0?void 0:M.getState(S.state),G=R.active&&z.active&&R.range.from!==z.range.from,Z=!R.active&&z.active,W=R.active&&!z.active,U=!Z&&!W&&R.query!==z.query,ee=Z||G&&U,$=U||G,H=W||G&&U;if(!ee&&!$&&!H)return;const Y=H&&!ee?R:z,q=S.dom.querySelector(`[data-decoration-id="${Y.decorationId}"]`);w={editor:e,range:Y.range,query:Y.query,text:Y.text,items:[],command:J=>u({editor:e,range:Y.range,props:J}),decorationNode:q,clientRect:q?()=>{var J;const{decorationId:ne}=(J=this.key)===null||J===void 0?void 0:J.getState(e.state),re=S.dom.querySelector(`[data-decoration-id="${ne}"]`);return(re==null?void 0:re.getBoundingClientRect())||null}:null},ee&&((D=b==null?void 0:b.onBeforeStart)===null||D===void 0||D.call(b,w)),$&&((P=b==null?void 0:b.onBeforeUpdate)===null||P===void 0||P.call(b,w)),($||ee)&&(w.items=await d({editor:e,query:Y.query})),H&&((L=b==null?void 0:b.onExit)===null||L===void 0||L.call(b,w)),$&&((F=b==null?void 0:b.onUpdate)===null||F===void 0||F.call(b,w)),ee&&((T=b==null?void 0:b.onStart)===null||T===void 0||T.call(b,w))},destroy:()=>{var S;w&&((S=b==null?void 0:b.onExit)===null||S===void 0||S.call(b,w))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(S,I,N,M){const{isEditable:D}=e,{composing:P}=e.view,{selection:L}=S,{empty:F,from:T}=L,R={...I};if(R.composing=P,D&&(F||e.view.composing)){(T<I.range.from||T>I.range.to)&&!P&&!I.composing&&(R.active=!1);const z=g({char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:s,startOfLine:a,$position:L.$from}),G=`id_${Math.floor(Math.random()*4294967295)}`;z&&m({editor:e,state:M,range:z.range,isActive:I.active})?(R.active=!0,R.decorationId=I.decorationId?I.decorationId:G,R.range=z.range,R.query=z.query,R.text=z.text):R.active=!1}else R.active=!1;return R.active||(R.decorationId=null,R.range={from:0,to:0},R.query=null,R.text=null),R}},props:{handleKeyDown(S,I){var N;const{active:M,range:D}=j.getState(S.state);return M&&((N=b==null?void 0:b.onKeyDown)===null||N===void 0?void 0:N.call(b,{view:S,event:I,range:D}))||!1},decorations(S){const{active:I,range:N,decorationId:M}=j.getState(S);return I?Go.create(S.doc,[al.inline(N.from,N.to,{nodeName:i,class:l,"data-decoration-id":M})]):null}}});return j}const Zst=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;var s5=new Map;function Qst(t){if(s5.has(t))return s5.get(t);var e=Jst(t);return s5.set(t,e),e}var Jst=(function(){var t=null;try{t=document.createElement("canvas").getContext("2d")}catch{}if(!t)return function(){return!1};var e=25,n=20,r=Math.floor(e/2);return t.font=r+"px Arial, Sans-Serif",t.textBaseline="top",t.canvas.width=n*2,t.canvas.height=e,function(o){t.clearRect(0,0,n*2,e),t.fillStyle="#FF0000",t.fillText(o,0,22),t.fillStyle="#0000FF",t.fillText(o,n,22);for(var s=t.getImageData(0,0,n,e).data,a=s.length,i=0;i<a&&!s[i+3];i+=4);if(i>=a)return!1;var l=n+i/4%n,u=Math.floor(i/4/n),d=t.getImageData(l,u,1,1).data;return!(s[i]!==d[0]||s[i+2]!==d[2]||t.measureText(o).width>=n)}})();const NE=[{emoji:"🇦",name:"regional_indicator_a",shortcodes:["regional_indicator_a"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇧",name:"regional_indicator_b",shortcodes:["regional_indicator_b"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇨",name:"regional_indicator_c",shortcodes:["regional_indicator_c"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇩",name:"regional_indicator_d",shortcodes:["regional_indicator_d"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇪",name:"regional_indicator_e",shortcodes:["regional_indicator_e"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇫",name:"regional_indicator_f",shortcodes:["regional_indicator_f"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇬",name:"regional_indicator_g",shortcodes:["regional_indicator_g"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇭",name:"regional_indicator_h",shortcodes:["regional_indicator_h"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇮",name:"regional_indicator_i",shortcodes:["regional_indicator_i"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇯",name:"regional_indicator_j",shortcodes:["regional_indicator_j"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇰",name:"regional_indicator_k",shortcodes:["regional_indicator_k"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇱",name:"regional_indicator_l",shortcodes:["regional_indicator_l"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇲",name:"regional_indicator_m",shortcodes:["regional_indicator_m"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇳",name:"regional_indicator_n",shortcodes:["regional_indicator_n"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇴",name:"regional_indicator_o",shortcodes:["regional_indicator_o"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇵",name:"regional_indicator_p",shortcodes:["regional_indicator_p"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇶",name:"regional_indicator_q",shortcodes:["regional_indicator_q"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇷",name:"regional_indicator_r",shortcodes:["regional_indicator_r"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇸",name:"regional_indicator_s",shortcodes:["regional_indicator_s"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇹",name:"regional_indicator_t",shortcodes:["regional_indicator_t"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇺",name:"regional_indicator_u",shortcodes:["regional_indicator_u"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇻",name:"regional_indicator_v",shortcodes:["regional_indicator_v"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇼",name:"regional_indicator_w",shortcodes:["regional_indicator_w"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇽",name:"regional_indicator_x",shortcodes:["regional_indicator_x"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇾",name:"regional_indicator_y",shortcodes:["regional_indicator_y"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇿",name:"regional_indicator_z",shortcodes:["regional_indicator_z"],tags:[],group:"",emoticons:[],version:0},{emoji:"😀",name:"grinning",shortcodes:["grinning","grinning_face"],tags:["face","grin"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f600.png"},{emoji:"😃",name:"smiley",shortcodes:["grinning_face_with_big_eyes","smiley"],tags:["face","mouth","open","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f603.png"},{emoji:"😄",name:"smile",shortcodes:["grinning_face_with_closed_eyes","smile"],tags:["eye","face","mouth","open","smile"],group:"",emoticons:[":D"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f604.png"},{emoji:"😁",name:"grin",shortcodes:["beaming_face","grin"],tags:["eye","face","grin","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f601.png"},{emoji:"😆",name:"laughing",shortcodes:["laughing","lol","satisfied","squinting_face"],tags:["face","laugh","mouth","satisfied","smile"],group:"",emoticons:["xD","XD"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f606.png"},{emoji:"😅",name:"sweat_smile",shortcodes:["grinning_face_with_sweat","sweat_smile"],tags:["cold","face","open","smile","sweat"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f605.png"},{emoji:"🤣",name:"rofl",shortcodes:["rofl"],tags:["face","floor","laugh","rofl","rolling","rotfl"],group:"",emoticons:[":'D"],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f923.png"},{emoji:"😂",name:"joy",shortcodes:["joy","lmao","tears_of_joy"],tags:["face","joy","laugh","tear"],group:"",emoticons:[":')"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f602.png"},{emoji:"🙂",name:"slightly_smiling_face",shortcodes:["slightly_smiling_face"],tags:["face","smile"],group:"",emoticons:[":)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f642.png"},{emoji:"🙃",name:"upside_down_face",shortcodes:["upside_down_face"],tags:["face","upside-down"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f643.png"},{emoji:"🫠",name:"melting_face",shortcodes:["melt","melting_face"],tags:["disappear","dissolve","liquid","melt"],group:"",emoticons:[],version:14},{emoji:"😉",name:"wink",shortcodes:["wink","winking_face"],tags:["face","wink"],group:"",emoticons:[";)"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f609.png"},{emoji:"😊",name:"blush",shortcodes:["blush","smiling_face_with_closed_eyes"],tags:["blush","eye","face","smile"],group:"",emoticons:[":>"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60a.png"},{emoji:"😇",name:"innocent",shortcodes:["halo","innocent"],tags:["angel","face","fantasy","halo","innocent"],group:"",emoticons:["o:)","O:)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f607.png"},{emoji:"🥰",name:"smiling_face_with_three_hearts",shortcodes:["smiling_face_with_3_hearts"],tags:["adore","crush","hearts","in love"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f970.png"},{emoji:"😍",name:"heart_eyes",shortcodes:["heart_eyes","smiling_face_with_heart_eyes"],tags:["eye","face","love","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60d.png"},{emoji:"🤩",name:"star_struck",shortcodes:["star_struck"],tags:["eyes","face","grinning","star"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f929.png"},{emoji:"😘",name:"kissing_heart",shortcodes:["blowing_a_kiss","kissing_heart"],tags:["face","kiss"],group:"",emoticons:[":x",":X"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f618.png"},{emoji:"😗",name:"kissing",shortcodes:["kissing","kissing_face"],tags:["face","kiss"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f617.png"},{emoji:"☺",name:"relaxed",shortcodes:["relaxed","smiling_face"],tags:["face","outlined","relaxed","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/263a-fe0f.png"},{emoji:"😚",name:"kissing_closed_eyes",shortcodes:["kissing_closed_eyes","kissing_face_with_closed_eyes"],tags:["closed","eye","face","kiss"],group:"",emoticons:[":*"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61a.png"},{emoji:"😙",name:"kissing_smiling_eyes",shortcodes:["kissing_face_with_smiling_eyes","kissing_smiling_eyes"],tags:["eye","face","kiss","smile"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f619.png"},{emoji:"🥲",name:"smiling_face_with_tear",shortcodes:["smiling_face_with_tear"],tags:["grateful","proud","relieved","smiling","tear","touched"],group:"",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f972.png"},{emoji:"😋",name:"yum",shortcodes:["savoring_food","yum"],tags:["delicious","face","savouring","smile","yum"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60b.png"},{emoji:"😛",name:"stuck_out_tongue",shortcodes:["face_with_tongue","stuck_out_tongue"],tags:["face","tongue"],group:"",emoticons:[":p",":P"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61b.png"},{emoji:"😜",name:"stuck_out_tongue_winking_eye",shortcodes:["stuck_out_tongue_winking_eye"],tags:["eye","face","joke","tongue","wink"],group:"",emoticons:[";p",";P"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61c.png"},{emoji:"🤪",name:"zany_face",shortcodes:["zany","zany_face"],tags:["eye","goofy","large","small"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92a.png"},{emoji:"😝",name:"stuck_out_tongue_closed_eyes",shortcodes:["stuck_out_tongue_closed_eyes"],tags:["eye","face","horrible","taste","tongue"],group:"",emoticons:["xp","xP","XP"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61d.png"},{emoji:"🤑",name:"money_mouth_face",shortcodes:["money_mouth_face"],tags:["face","money","mouth"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f911.png"},{emoji:"🤗",name:"hugs",shortcodes:["hug","hugging","hugging_face"],tags:["face","hug","hugging","open hands","smiling face"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f917.png"},{emoji:"🤭",name:"hand_over_mouth",shortcodes:["face_with_hand_over_mouth","hand_over_mouth"],tags:["whoops"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92d.png"},{emoji:"🫢",name:"face_with_open_eyes_and_hand_over_mouth",shortcodes:["face_with_open_eyes_hand_over_mouth","gasp"],tags:["amazement","awe","disbelief","embarrass","scared","surprise"],group:"",emoticons:[],version:14},{emoji:"🫣",name:"face_with_peeking_eye",shortcodes:["face_with_peeking_eye","peek"],tags:["captivated","peep","stare"],group:"",emoticons:[],version:14},{emoji:"🤫",name:"shushing_face",shortcodes:["shush","shushing_face"],tags:["quiet","shush"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92b.png"},{emoji:"🤔",name:"thinking",shortcodes:["thinking","thinking_face","wtf"],tags:["face","thinking"],group:"",emoticons:[":l",":L"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f914.png"},{emoji:"🫡",name:"saluting_face",shortcodes:["salute","saluting_face"],tags:["ok","salute","sunny","troops","yes"],group:"",emoticons:[],version:14},{emoji:"🤐",name:"zipper_mouth_face",shortcodes:["zipper_mouth","zipper_mouth_face"],tags:["face","mouth","zip","zipper"],group:"",emoticons:[":z",":Z"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f910.png"},{emoji:"🤨",name:"raised_eyebrow",shortcodes:["face_with_raised_eyebrow","raised_eyebrow"],tags:["distrust","skeptic"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f928.png"},{emoji:"😐",name:"neutral_face",shortcodes:["neutral","neutral_face"],tags:["deadpan","face","meh","neutral"],group:"",emoticons:[":|"],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f610.png"},{emoji:"😑",name:"expressionless",shortcodes:["expressionless","expressionless_face"],tags:["expressionless","face","inexpressive","meh","unexpressive"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f611.png"},{emoji:"😶",name:"no_mouth",shortcodes:["no_mouth"],tags:["face","mouth","quiet","silent"],group:"",emoticons:[":#"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f636.png"},{emoji:"🫥",name:"dotted_line_face",shortcodes:["dotted_line_face"],tags:["depressed","disappear","hide","introvert","invisible"],group:"",emoticons:[],version:14},{emoji:"😶🌫",name:"face_in_clouds",shortcodes:["in_clouds"],tags:["absentminded","face in the fog","head in clouds"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f636-200d-1f32b-fe0f.png"},{emoji:"😏",name:"smirk",shortcodes:["smirk","smirking","smirking_face"],tags:["face","smirk"],group:"",emoticons:[":j"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60f.png"},{emoji:"😒",name:"unamused",shortcodes:["unamused","unamused_face"],tags:["face","unamused","unhappy"],group:"",emoticons:[":?"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f612.png"},{emoji:"🙄",name:"roll_eyes",shortcodes:["rolling_eyes"],tags:["eyeroll","eyes","face","rolling"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f644.png"},{emoji:"😬",name:"grimacing",shortcodes:["grimacing","grimacing_face"],tags:["face","grimace"],group:"",emoticons:["8D"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62c.png"},{emoji:"😮💨",name:"face_exhaling",shortcodes:["exhale","exhaling"],tags:["exhale","gasp","groan","relief","whisper","whistle"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62e-200d-1f4a8.png"},{emoji:"🤥",name:"lying_face",shortcodes:["lying","lying_face"],tags:["face","lie","pinocchio"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f925.png"},{emoji:"🫨",name:"shaking_face",shortcodes:["shaking","shaking_face"],tags:["earthquake","face","shaking","shock","vibrate"],group:"",emoticons:[],version:15},{emoji:"🙂↔",name:"head_shaking_horizontally",shortcodes:["head_shaking_horizontally"],tags:["no","shake"],group:"",emoticons:[],version:15.1},{emoji:"🙂↕",name:"head_shaking_vertically",shortcodes:["head_shaking_vertically"],tags:["nod","yes"],group:"",emoticons:[],version:15.1},{emoji:"😌",name:"relieved",shortcodes:["relieved","relieved_face"],tags:["face","relieved"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60c.png"},{emoji:"😔",name:"pensive",shortcodes:["pensive","pensive_face"],tags:["dejected","face","pensive"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f614.png"},{emoji:"😪",name:"sleepy",shortcodes:["sleepy","sleepy_face"],tags:["face","good night","sleep"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62a.png"},{emoji:"🤤",name:"drooling_face",shortcodes:["drooling","drooling_face"],tags:["drooling","face"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f924.png"},{emoji:"😴",name:"sleeping",shortcodes:["sleeping","sleeping_face"],tags:["face","good night","sleep","zzz"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f634.png"},{emoji:"😷",name:"mask",shortcodes:["mask","medical_mask"],tags:["cold","doctor","face","mask","sick"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f637.png"},{emoji:"🤒",name:"face_with_thermometer",shortcodes:["face_with_thermometer"],tags:["face","ill","sick","thermometer"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f912.png"},{emoji:"🤕",name:"face_with_head_bandage",shortcodes:["face_with_head_bandage"],tags:["bandage","face","hurt","injury"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f915.png"},{emoji:"🤢",name:"nauseated_face",shortcodes:["nauseated","nauseated_face"],tags:["face","nauseated","vomit"],group:"",emoticons:["%("],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f922.png"},{emoji:"🤮",name:"vomiting_face",shortcodes:["face_vomiting","vomiting"],tags:["puke","sick","vomit"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92e.png"},{emoji:"🤧",name:"sneezing_face",shortcodes:["sneezing","sneezing_face"],tags:["face","gesundheit","sneeze"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f927.png"},{emoji:"🥵",name:"hot_face",shortcodes:["hot","hot_face"],tags:["feverish","heat stroke","hot","red-faced","sweating"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f975.png"},{emoji:"🥶",name:"cold_face",shortcodes:["cold","cold_face"],tags:["blue-faced","cold","freezing","frostbite","icicles"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f976.png"},{emoji:"🥴",name:"woozy_face",shortcodes:["woozy","woozy_face"],tags:["dizzy","intoxicated","tipsy","uneven eyes","wavy mouth"],group:"",emoticons:[":&"],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f974.png"},{emoji:"😵",name:"dizzy_face",shortcodes:["dizzy_face","knocked_out"],tags:["crossed-out eyes","dead","face","knocked out"],group:"",emoticons:["xo","XO"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f635.png"},{emoji:"😵💫",name:"face_with_spiral_eyes",shortcodes:["dizzy_eyes"],tags:["dizzy","hypnotized","spiral","trouble","whoa"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f635-200d-1f4ab.png"},{emoji:"🤯",name:"exploding_head",shortcodes:["exploding_head"],tags:["mind blown","shocked"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92f.png"},{emoji:"🤠",name:"cowboy_hat_face",shortcodes:["cowboy","cowboy_face"],tags:["cowboy","cowgirl","face","hat"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f920.png"},{emoji:"🥳",name:"partying_face",shortcodes:["hooray","partying","partying_face"],tags:["celebration","hat","horn","party"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f973.png"},{emoji:"🥸",name:"disguised_face",shortcodes:["disguised","disguised_face"],tags:["disguise","face","glasses","incognito","nose"],group:"",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f978.png"},{emoji:"😎",name:"sunglasses",shortcodes:["smiling_face_with_sunglasses","sunglasses_cool","too_cool"],tags:["bright","cool","face","sun","sunglasses"],group:"",emoticons:["8)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60e.png"},{emoji:"🤓",name:"nerd_face",shortcodes:["nerd","nerd_face"],tags:["face","geek","nerd"],group:"",emoticons:[":B"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f913.png"},{emoji:"🧐",name:"monocle_face",shortcodes:["face_with_monocle"],tags:["face","monocle","stuffy"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d0.png"},{emoji:"😕",name:"confused",shortcodes:["confused","confused_face"],tags:["confused","face","meh"],group:"",emoticons:[":/"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f615.png"},{emoji:"🫤",name:"face_with_diagonal_mouth",shortcodes:["face_with_diagonal_mouth"],tags:["disappointed","meh","skeptical","unsure"],group:"",emoticons:[],version:14},{emoji:"😟",name:"worried",shortcodes:["worried","worried_face"],tags:["face","worried"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61f.png"},{emoji:"🙁",name:"slightly_frowning_face",shortcodes:["slightly_frowning_face"],tags:["face","frown"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f641.png"},{emoji:"☹",name:"frowning_face",shortcodes:["white_frowning_face"],tags:["face","frown"],group:"",emoticons:[":("],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2639-fe0f.png"},{emoji:"😮",name:"open_mouth",shortcodes:["face_with_open_mouth","open_mouth"],tags:["face","mouth","open","sympathy"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62e.png"},{emoji:"😯",name:"hushed",shortcodes:["hushed","hushed_face"],tags:["face","hushed","stunned","surprised"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62f.png"},{emoji:"😲",name:"astonished",shortcodes:["astonished","astonished_face"],tags:["astonished","face","shocked","totally"],group:"",emoticons:[":o",":O"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f632.png"},{emoji:"😳",name:"flushed",shortcodes:["flushed","flushed_face"],tags:["dazed","face","flushed"],group:"",emoticons:[":$"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f633.png"},{emoji:"🥺",name:"pleading_face",shortcodes:["pleading","pleading_face"],tags:["begging","mercy","puppy eyes"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97a.png"},{emoji:"🥹",name:"face_holding_back_tears",shortcodes:["face_holding_back_tears","watery_eyes"],tags:["angry","cry","proud","resist","sad"],group:"",emoticons:[],version:14},{emoji:"😦",name:"frowning",shortcodes:["frowning","frowning_face"],tags:["face","frown","mouth","open"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f626.png"},{emoji:"😧",name:"anguished",shortcodes:["anguished","anguished_face"],tags:["anguished","face"],group:"",emoticons:[":s",":S"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f627.png"},{emoji:"😨",name:"fearful",shortcodes:["fearful","fearful_face"],tags:["face","fear","fearful","scared"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f628.png"},{emoji:"😰",name:"cold_sweat",shortcodes:["anxious","anxious_face","cold_sweat"],tags:["blue","cold","face","rushed","sweat"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f630.png"},{emoji:"😥",name:"disappointed_relieved",shortcodes:["disappointed_relieved","sad_relieved_face"],tags:["disappointed","face","relieved","whew"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f625.png"},{emoji:"😢",name:"cry",shortcodes:["cry","crying_face"],tags:["cry","face","sad","tear"],group:"",emoticons:[":'("],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f622.png"},{emoji:"😭",name:"sob",shortcodes:["loudly_crying_face","sob"],tags:["cry","face","sad","sob","tear"],group:"",emoticons:[":'o"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62d.png"},{emoji:"😱",name:"scream",shortcodes:["scream","screaming_in_fear"],tags:["face","fear","munch","scared","scream"],group:"",emoticons:["Dx"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f631.png"},{emoji:"😖",name:"confounded",shortcodes:["confounded","confounded_face"],tags:["confounded","face"],group:"",emoticons:["x(","X("],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f616.png"},{emoji:"😣",name:"persevere",shortcodes:["persevere","persevering_face"],tags:["face","persevere"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f623.png"},{emoji:"😞",name:"disappointed",shortcodes:["disappointed","disappointed_face"],tags:["disappointed","face"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61e.png"},{emoji:"😓",name:"sweat",shortcodes:["downcast_face","sweat"],tags:["cold","face","sweat"],group:"",emoticons:[":<"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f613.png"},{emoji:"😩",name:"weary",shortcodes:["weary","weary_face"],tags:["face","tired","weary"],group:"",emoticons:["D:"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f629.png"},{emoji:"😫",name:"tired_face",shortcodes:["tired","tired_face"],tags:["face","tired"],group:"",emoticons:[":c",":C"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62b.png"},{emoji:"🥱",name:"yawning_face",shortcodes:["yawn","yawning","yawning_face"],tags:["bored","tired","yawn"],group:"",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f971.png"},{emoji:"😤",name:"triumph",shortcodes:["nose_steam","triumph"],tags:["face","triumph","won"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f624.png"},{emoji:"😡",name:"pout",shortcodes:["pout","pouting_face","rage"],tags:["angry","enraged","face","mad","pouting","rage","red"],group:"",emoticons:[">:/"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f621.png"},{emoji:"😠",name:"angry",shortcodes:["angry","angry_face"],tags:["anger","angry","face","mad"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f620.png"},{emoji:"🤬",name:"cursing_face",shortcodes:["censored","face_with_symbols_on_mouth"],tags:["swearing"],group:"",emoticons:[":@"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92c.png"},{emoji:"😈",name:"smiling_imp",shortcodes:["smiling_imp"],tags:["face","fairy tale","fantasy","horns","smile"],group:"",emoticons:[">:)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f608.png"},{emoji:"👿",name:"imp",shortcodes:["angry_imp","imp"],tags:["demon","devil","face","fantasy","imp"],group:"",emoticons:[">:("],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47f.png"},{emoji:"💀",name:"skull",shortcodes:["skull"],tags:["death","face","fairy tale","monster"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f480.png"},{emoji:"☠",name:"skull_and_crossbones",shortcodes:["skull_and_crossbones"],tags:["crossbones","death","face","monster","skull"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2620-fe0f.png"},{emoji:"💩",name:"hankey",shortcodes:["poop","shit"],tags:["dung","face","monster","poo","poop"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a9.png"},{emoji:"🤡",name:"clown_face",shortcodes:["clown","clown_face"],tags:["clown","face"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f921.png"},{emoji:"👹",name:"japanese_ogre",shortcodes:["japanese_ogre","ogre"],tags:["creature","face","fairy tale","fantasy","monster"],group:"",emoticons:[">0)"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f479.png"},{emoji:"👺",name:"japanese_goblin",shortcodes:["goblin","japanese_goblin"],tags:["creature","face","fairy tale","fantasy","monster"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47a.png"},{emoji:"👻",name:"ghost",shortcodes:["ghost"],tags:["creature","face","fairy tale","fantasy","monster"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47b.png"},{emoji:"👽",name:"alien",shortcodes:["alien"],tags:["creature","extraterrestrial","face","fantasy","ufo"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47d.png"},{emoji:"👾",name:"space_invader",shortcodes:["alien_monster","space_invader"],tags:["alien","creature","extraterrestrial","face","monster","ufo"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47e.png"},{emoji:"🤖",name:"robot",shortcodes:["robot","robot_face"],tags:["face","monster"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f916.png"},{emoji:"😺",name:"smiley_cat",shortcodes:["grinning_cat","smiley_cat"],tags:["cat","face","grinning","mouth","open","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63a.png"},{emoji:"😸",name:"smile_cat",shortcodes:["grinning_cat_with_closed_eyes","smile_cat"],tags:["cat","eye","face","grin","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f638.png"},{emoji:"😹",name:"joy_cat",shortcodes:["joy_cat","tears_of_joy_cat"],tags:["cat","face","joy","tear"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f639.png"},{emoji:"😻",name:"heart_eyes_cat",shortcodes:["heart_eyes_cat","smiling_cat_with_heart_eyes"],tags:["cat","eye","face","heart","love","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63b.png"},{emoji:"😼",name:"smirk_cat",shortcodes:["smirk_cat","wry_smile_cat"],tags:["cat","face","ironic","smile","wry"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63c.png"},{emoji:"😽",name:"kissing_cat",shortcodes:["kissing_cat"],tags:["cat","eye","face","kiss"],group:"",emoticons:[":3"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63d.png"},{emoji:"🙀",name:"scream_cat",shortcodes:["scream_cat","weary_cat"],tags:["cat","face","oh","surprised","weary"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f640.png"},{emoji:"😿",name:"crying_cat_face",shortcodes:["crying_cat"],tags:["cat","cry","face","sad","tear"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63f.png"},{emoji:"😾",name:"pouting_cat",shortcodes:["pouting_cat"],tags:["cat","face","pouting"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63e.png"},{emoji:"🙈",name:"see_no_evil",shortcodes:["see_no_evil"],tags:["evil","face","forbidden","monkey","see"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f648.png"},{emoji:"🙉",name:"hear_no_evil",shortcodes:["hear_no_evil"],tags:["evil","face","forbidden","hear","monkey"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f649.png"},{emoji:"🙊",name:"speak_no_evil",shortcodes:["speak_no_evil"],tags:["evil","face","forbidden","monkey","speak"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64a.png"},{emoji:"💌",name:"love_letter",shortcodes:["love_letter"],tags:["heart","letter","love","mail"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48c.png"},{emoji:"💘",name:"cupid",shortcodes:["cupid","heart_with_arrow"],tags:["arrow","cupid"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f498.png"},{emoji:"💝",name:"gift_heart",shortcodes:["gift_heart","heart_with_ribbon"],tags:["ribbon","valentine"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49d.png"},{emoji:"💖",name:"sparkling_heart",shortcodes:["sparkling_heart"],tags:["excited","sparkle"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f496.png"},{emoji:"💗",name:"heartpulse",shortcodes:["growing_heart","heartpulse"],tags:["excited","growing","nervous","pulse"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f497.png"},{emoji:"💓",name:"heartbeat",shortcodes:["beating_heart","heartbeat"],tags:["beating","heartbeat","pulsating"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f493.png"},{emoji:"💞",name:"revolving_hearts",shortcodes:["revolving_hearts"],tags:["revolving"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49e.png"},{emoji:"💕",name:"two_hearts",shortcodes:["two_hearts"],tags:["love"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f495.png"},{emoji:"💟",name:"heart_decoration",shortcodes:["heart_decoration"],tags:["heart"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49f.png"},{emoji:"❣",name:"heavy_heart_exclamation",shortcodes:["heart_exclamation"],tags:["exclamation","mark","punctuation"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2763-fe0f.png"},{emoji:"💔",name:"broken_heart",shortcodes:["broken_heart"],tags:["break","broken"],group:"",emoticons:["</3"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f494.png"},{emoji:"❤🔥",name:"heart_on_fire",shortcodes:["heart_on_fire"],tags:["burn","heart","love","lust","sacred heart"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2764-fe0f-200d-1f525.png"},{emoji:"❤🩹",name:"mending_heart",shortcodes:["mending_heart"],tags:["healthier","improving","mending","recovering","recuperating","well"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2764-fe0f-200d-1fa79.png"},{emoji:"❤",name:"heart",shortcodes:["heart","red_heart"],tags:["heart"],group:"",emoticons:["<3"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2764-fe0f.png"},{emoji:"🩷",name:"pink_heart",shortcodes:["pink_heart"],tags:["cute","heart","like","love","pink"],group:"",emoticons:[],version:15},{emoji:"🧡",name:"orange_heart",shortcodes:["orange_heart"],tags:["orange"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e1.png"},{emoji:"💛",name:"yellow_heart",shortcodes:["yellow_heart"],tags:["yellow"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49b.png"},{emoji:"💚",name:"green_heart",shortcodes:["green_heart"],tags:["green"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49a.png"},{emoji:"💙",name:"blue_heart",shortcodes:["blue_heart"],tags:["blue"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f499.png"},{emoji:"🩵",name:"light_blue_heart",shortcodes:["light_blue_heart"],tags:["cyan","heart","light blue","teal"],group:"",emoticons:[],version:15},{emoji:"💜",name:"purple_heart",shortcodes:["purple_heart"],tags:["purple"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49c.png"},{emoji:"🤎",name:"brown_heart",shortcodes:["brown_heart"],tags:["brown","heart"],group:"",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90e.png"},{emoji:"🖤",name:"black_heart",shortcodes:["black_heart"],tags:["black","evil","wicked"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5a4.png"},{emoji:"🩶",name:"grey_heart",shortcodes:["gray_heart","grey_heart"],tags:["gray","heart","silver","slate"],group:"",emoticons:[],version:15},{emoji:"🤍",name:"white_heart",shortcodes:["white_heart"],tags:["heart","white"],group:"",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90d.png"},{emoji:"💋",name:"kiss",shortcodes:["kiss"],tags:["kiss","lips"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48b.png"},{emoji:"💯",name:"100",shortcodes:["100"],tags:["100","full","hundred","score"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4af.png"},{emoji:"💢",name:"anger",shortcodes:["anger"],tags:["angry","comic","mad"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a2.png"},{emoji:"💥",name:"boom",shortcodes:["boom","collision"],tags:["boom","comic"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a5.png"},{emoji:"💫",name:"dizzy",shortcodes:["dizzy"],tags:["comic","star"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ab.png"},{emoji:"💦",name:"sweat_drops",shortcodes:["sweat_drops"],tags:["comic","splashing","sweat"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a6.png"},{emoji:"💨",name:"dash",shortcodes:["dash","dashing_away"],tags:["comic","dash","running"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a8.png"},{emoji:"🕳",name:"hole",shortcodes:["hole"],tags:["hole"],group:"",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f573-fe0f.png"},{emoji:"💬",name:"speech_balloon",shortcodes:["speech_balloon"],tags:["balloon","bubble","comic","dialog","speech"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ac.png"},{emoji:"👁🗨️",name:"eye_speech_bubble",shortcodes:["eye_in_speech_bubble"],tags:["balloon","bubble","eye","speech","witness"],group:"",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f441-fe0f-200d-1f5e8-fe0f.png"},{emoji:"🗨",name:"left_speech_bubble",shortcodes:["left_speech_bubble"],tags:["balloon","bubble","dialog","speech"],group:"",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5e8-fe0f.png"},{emoji:"🗯",name:"right_anger_bubble",shortcodes:["right_anger_bubble"],tags:["angry","balloon","bubble","mad"],group:"",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5ef-fe0f.png"},{emoji:"💭",name:"thought_balloon",shortcodes:["thought_balloon"],tags:["balloon","bubble","comic","thought"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ad.png"},{emoji:"💤",name:"zzz",shortcodes:["zzz"],tags:["comic","good night","sleep","zzz"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a4.png"},{emoji:"👋",name:"wave",shortcodes:["wave","waving_hand"],tags:["hand","wave","waving"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44b.png"},{emoji:"🤚",name:"raised_back_of_hand",shortcodes:["raised_back_of_hand"],tags:["backhand","raised"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91a.png"},{emoji:"🖐",name:"raised_hand_with_fingers_splayed",shortcodes:["raised_hand_with_fingers_splayed"],tags:["finger","hand","splayed"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f590-fe0f.png"},{emoji:"✋",name:"hand",shortcodes:["high_five","raised_hand"],tags:["hand","high 5","high five"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270b.png"},{emoji:"🖖",name:"vulcan_salute",shortcodes:["vulcan"],tags:["finger","hand","spock","vulcan"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f596.png"},{emoji:"🫱",name:"rightwards_hand",shortcodes:["rightwards_hand"],tags:["hand","right","rightward"],group:"people & body",emoticons:[],version:14},{emoji:"🫲",name:"leftwards_hand",shortcodes:["leftwards_hand"],tags:["hand","left","leftward"],group:"people & body",emoticons:[],version:14},{emoji:"🫳",name:"palm_down_hand",shortcodes:["palm_down"],tags:["dismiss","drop","shoo"],group:"people & body",emoticons:[],version:14},{emoji:"🫴",name:"palm_up_hand",shortcodes:["palm_up"],tags:["beckon","catch","come","offer"],group:"people & body",emoticons:[],version:14},{emoji:"🫷",name:"leftwards_pushing_hand",shortcodes:["leftwards_pushing_hand"],tags:["high five","leftward","push","refuse","stop","wait"],group:"people & body",emoticons:[],version:15},{emoji:"🫸",name:"rightwards_pushing_hand",shortcodes:["rightwards_pushing_hand"],tags:["high five","push","refuse","rightward","stop","wait"],group:"people & body",emoticons:[],version:15},{emoji:"👌",name:"ok_hand",shortcodes:["ok_hand"],tags:["hand","ok"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44c.png"},{emoji:"🤌",name:"pinched_fingers",shortcodes:["pinch","pinched_fingers"],tags:["fingers","hand gesture","interrogation","pinched","sarcastic"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90c.png"},{emoji:"🤏",name:"pinching_hand",shortcodes:["pinching_hand"],tags:["small amount"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90f.png"},{emoji:"✌",name:"v",shortcodes:["v","victory"],tags:["hand","v","victory"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270c-fe0f.png"},{emoji:"🤞",name:"crossed_fingers",shortcodes:["fingers_crossed"],tags:["cross","finger","hand","luck"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91e.png"},{emoji:"🫰",name:"hand_with_index_finger_and_thumb_crossed",shortcodes:["hand_with_index_finger_and_thumb_crossed"],tags:["expensive","heart","love","money","snap"],group:"people & body",emoticons:[],version:14},{emoji:"🤟",name:"love_you_gesture",shortcodes:["love_you_gesture"],tags:["hand","ily"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91f.png"},{emoji:"🤘",name:"metal",shortcodes:["metal","sign_of_the_horns"],tags:["finger","hand","horns","rock-on"],group:"people & body",emoticons:["\\m/","\\M/"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f918.png"},{emoji:"🤙",name:"call_me_hand",shortcodes:["call_me_hand"],tags:["call","hand","hang loose","shaka"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f919.png"},{emoji:"👈",name:"point_left",shortcodes:["point_left"],tags:["backhand","finger","hand","index","point"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f448.png"},{emoji:"👉",name:"point_right",shortcodes:["point_right"],tags:["backhand","finger","hand","index","point"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f449.png"},{emoji:"👆",name:"point_up_2",shortcodes:["point_up"],tags:["backhand","finger","hand","point","up"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f446.png"},{emoji:"🖕",name:"fu",shortcodes:["middle_finger"],tags:["finger","hand"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f595.png"},{emoji:"👇",name:"point_down",shortcodes:["point_down"],tags:["backhand","down","finger","hand","point"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f447.png"},{emoji:"☝",name:"point_up",shortcodes:["point_up_2"],tags:["finger","hand","index","point","up"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/261d-fe0f.png"},{emoji:"🫵",name:"index_pointing_at_the_viewer",shortcodes:["point_forward"],tags:["point","you"],group:"people & body",emoticons:[],version:14},{emoji:"👍",name:"+1",shortcodes:["+1","thumbsup","yes"],tags:["+1","hand","thumb","up"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44d.png"},{emoji:"👎",name:"-1",shortcodes:["-1","no","thumbsdown"],tags:["-1","down","hand","thumb"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44e.png"},{emoji:"✊",name:"fist",shortcodes:["fist"],tags:["clenched","fist","hand","punch"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270a.png"},{emoji:"👊",name:"facepunch",shortcodes:["punch"],tags:["clenched","fist","hand","punch"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44a.png"},{emoji:"🤛",name:"fist_left",shortcodes:["left_facing_fist"],tags:["fist","leftwards"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91b.png"},{emoji:"🤜",name:"fist_right",shortcodes:["right_facing_fist"],tags:["fist","rightwards"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91c.png"},{emoji:"👏",name:"clap",shortcodes:["clap","clapping_hands"],tags:["clap","hand"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44f.png"},{emoji:"🙌",name:"raised_hands",shortcodes:["raised_hands"],tags:["celebration","gesture","hand","hooray","raised"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64c.png"},{emoji:"🫶",name:"heart_hands",shortcodes:["heart_hands"],tags:["love"],group:"people & body",emoticons:[],version:14},{emoji:"👐",name:"open_hands",shortcodes:["open_hands"],tags:["hand","open"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f450.png"},{emoji:"🤲",name:"palms_up_together",shortcodes:["palms_up_together"],tags:["prayer"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f932.png"},{emoji:"🤝",name:"handshake",shortcodes:["handshake"],tags:["agreement","hand","meeting","shake"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91d.png"},{emoji:"🙏",name:"pray",shortcodes:["folded_hands","pray"],tags:["ask","hand","high 5","high five","please","pray","thanks"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64f.png"},{emoji:"✍",name:"writing_hand",shortcodes:["writing_hand"],tags:["hand","write"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270d-fe0f.png"},{emoji:"💅",name:"nail_care",shortcodes:["nail_care","nail_polish"],tags:["care","cosmetics","manicure","nail","polish"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f485.png"},{emoji:"🤳",name:"selfie",shortcodes:["selfie"],tags:["camera","phone"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f933.png"},{emoji:"💪",name:"muscle",shortcodes:["muscle","right_bicep"],tags:["biceps","comic","flex","muscle"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4aa.png"},{emoji:"🦾",name:"mechanical_arm",shortcodes:["mechanical_arm"],tags:["accessibility","prosthetic"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9be.png"},{emoji:"🦿",name:"mechanical_leg",shortcodes:["mechanical_leg"],tags:["accessibility","prosthetic"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bf.png"},{emoji:"🦵",name:"leg",shortcodes:["leg"],tags:["kick","limb"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b5.png"},{emoji:"🦶",name:"foot",shortcodes:["foot"],tags:["kick","stomp"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b6.png"},{emoji:"👂",name:"ear",shortcodes:["ear"],tags:["body"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f442.png"},{emoji:"🦻",name:"ear_with_hearing_aid",shortcodes:["ear_with_hearing_aid","hearing_aid"],tags:["accessibility","hard of hearing"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bb.png"},{emoji:"👃",name:"nose",shortcodes:["nose"],tags:["body"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f443.png"},{emoji:"🧠",name:"brain",shortcodes:["brain"],tags:["intelligent"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e0.png"},{emoji:"🫀",name:"anatomical_heart",shortcodes:["anatomical_heart"],tags:["anatomical","cardiology","heart","organ","pulse"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fac0.png"},{emoji:"🫁",name:"lungs",shortcodes:["lungs"],tags:["breath","exhalation","inhalation","organ","respiration"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fac1.png"},{emoji:"🦷",name:"tooth",shortcodes:["tooth"],tags:["dentist"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b7.png"},{emoji:"🦴",name:"bone",shortcodes:["bone"],tags:["skeleton"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b4.png"},{emoji:"👀",name:"eyes",shortcodes:["eyes"],tags:["eye","face"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f440.png"},{emoji:"👁",name:"eye",shortcodes:["eye"],tags:["body"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f441-fe0f.png"},{emoji:"👅",name:"tongue",shortcodes:["tongue"],tags:["body"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f445.png"},{emoji:"👄",name:"lips",shortcodes:["lips","mouth"],tags:["lips"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f444.png"},{emoji:"🫦",name:"biting_lip",shortcodes:["biting_lip"],tags:["anxious","fear","flirting","nervous","uncomfortable","worried"],group:"people & body",emoticons:[],version:14},{emoji:"👶",name:"baby",shortcodes:["baby"],tags:["young"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f476.png"},{emoji:"🧒",name:"child",shortcodes:["child"],tags:["gender-neutral","unspecified gender","young"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d2.png"},{emoji:"👦",name:"boy",shortcodes:["boy"],tags:["young"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f466.png"},{emoji:"👧",name:"girl",shortcodes:["girl"],tags:["virgo","young","zodiac"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f467.png"},{emoji:"🧑",name:"adult",shortcodes:["adult"],tags:["adult","gender-neutral","unspecified gender"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1.png"},{emoji:"👱",name:"blond_haired_person",shortcodes:["blond_haired"],tags:["blond","blond-haired person","hair"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f471.png"},{emoji:"👨",name:"man",shortcodes:["man"],tags:["adult"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468.png"},{emoji:"🧔",name:"bearded_person",shortcodes:["person_bearded"],tags:["beard","person"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d4.png"},{emoji:"🧔♂",name:"man_beard",shortcodes:["man_bearded"],tags:["beard","man"],group:"people & body",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d4-200d-2642-fe0f.png"},{emoji:"🧔♀",name:"woman_beard",shortcodes:["woman_bearded"],tags:["beard","woman"],group:"people & body",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d4-200d-2640-fe0f.png"},{emoji:"👨🦰",name:"red_haired_man",shortcodes:["man_red_haired"],tags:["adult","man","red hair"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b0.png"},{emoji:"👨🦱",name:"curly_haired_man",shortcodes:["man_curly_haired"],tags:["adult","curly hair","man"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b1.png"},{emoji:"👨🦳",name:"white_haired_man",shortcodes:["man_white_haired"],tags:["adult","man","white hair"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b3.png"},{emoji:"👨🦲",name:"bald_man",shortcodes:["man_bald"],tags:["adult","bald","man"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b2.png"},{emoji:"👩",name:"woman",shortcodes:["woman"],tags:["adult"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469.png"},{emoji:"👩🦰",name:"red_haired_woman",shortcodes:["woman_red_haired"],tags:["adult","red hair","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b0.png"},{emoji:"🧑🦰",name:"person_red_hair",shortcodes:["red_haired"],tags:["adult","gender-neutral","person","red hair","unspecified gender"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b0.png"},{emoji:"👩🦱",name:"curly_haired_woman",shortcodes:["woman_curly_haired"],tags:["adult","curly hair","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b1.png"},{emoji:"🧑🦱",name:"person_curly_hair",shortcodes:["curly_haired"],tags:["adult","curly hair","gender-neutral","person","unspecified gender"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b1.png"},{emoji:"👩🦳",name:"white_haired_woman",shortcodes:["woman_white_haired"],tags:["adult","white hair","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b3.png"},{emoji:"🧑🦳",name:"person_white_hair",shortcodes:["white_haired"],tags:["adult","gender-neutral","person","unspecified gender","white hair"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b3.png"},{emoji:"👩🦲",name:"bald_woman",shortcodes:["woman_bald"],tags:["adult","bald","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b2.png"},{emoji:"🧑🦲",name:"person_bald",shortcodes:["bald"],tags:["adult","bald","gender-neutral","person","unspecified gender"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b2.png"},{emoji:"👱♀",name:"blond_haired_woman",shortcodes:["woman_blond_haired"],tags:["blond-haired woman","blonde","hair","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f471-200d-2640-fe0f.png"},{emoji:"👱♂",name:"blond_haired_man",shortcodes:["man_blond_haired"],tags:["blond","blond-haired man","hair","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f471-200d-2642-fe0f.png"},{emoji:"🧓",name:"older_adult",shortcodes:["older_adult"],tags:["adult","gender-neutral","old","unspecified gender"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d3.png"},{emoji:"👴",name:"older_man",shortcodes:["older_man"],tags:["adult","man","old"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f474.png"},{emoji:"👵",name:"older_woman",shortcodes:["older_woman"],tags:["adult","old","woman"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f475.png"},{emoji:"🙍",name:"frowning_person",shortcodes:["person_frowning"],tags:["frown","gesture"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64d.png"},{emoji:"🙍♂",name:"frowning_man",shortcodes:["man_frowning"],tags:["frowning","gesture","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64d-200d-2642-fe0f.png"},{emoji:"🙍♀",name:"frowning_woman",shortcodes:["woman_frowning"],tags:["frowning","gesture","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64d-200d-2640-fe0f.png"},{emoji:"🙎",name:"pouting_face",shortcodes:["person_pouting","pouting"],tags:["gesture","pouting"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64e.png"},{emoji:"🙎♂",name:"pouting_man",shortcodes:["man_pouting"],tags:["gesture","man","pouting"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64e-200d-2642-fe0f.png"},{emoji:"🙎♀",name:"pouting_woman",shortcodes:["woman_pouting"],tags:["gesture","pouting","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64e-200d-2640-fe0f.png"},{emoji:"🙅",name:"no_good",shortcodes:["no_good","person_gesturing_no"],tags:["forbidden","gesture","hand","person gesturing no","prohibited"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f645.png"},{emoji:"🙅♂",name:"ng_man",shortcodes:["man_gesturing_no"],tags:["forbidden","gesture","hand","man","man gesturing no","prohibited"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f645-200d-2642-fe0f.png"},{emoji:"🙅♀",name:"ng_woman",shortcodes:["woman_gesturing_no"],tags:["forbidden","gesture","hand","prohibited","woman","woman gesturing no"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f645-200d-2640-fe0f.png"},{emoji:"🙆",name:"ok_person",shortcodes:["all_good","person_gesturing_ok"],tags:["gesture","hand","ok","person gesturing ok"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f646.png"},{emoji:"🙆♂",name:"ok_man",shortcodes:["man_gesturing_ok"],tags:["gesture","hand","man","man gesturing ok","ok"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f646-200d-2642-fe0f.png"},{emoji:"🙆♀",name:"ok_woman",shortcodes:["woman_gesturing_ok"],tags:["gesture","hand","ok","woman","woman gesturing ok"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f646-200d-2640-fe0f.png"},{emoji:"💁",name:"information_desk_person",shortcodes:["person_tipping_hand"],tags:["hand","help","information","sassy","tipping"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f481.png"},{emoji:"💁♂",name:"sassy_man",shortcodes:["man_tipping_hand"],tags:["man","sassy","tipping hand"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f481-200d-2642-fe0f.png"},{emoji:"💁♀",name:"sassy_woman",shortcodes:["woman_tipping_hand"],tags:["sassy","tipping hand","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f481-200d-2640-fe0f.png"},{emoji:"🙋",name:"raising_hand",shortcodes:["person_raising_hand"],tags:["gesture","hand","happy","raised"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64b.png"},{emoji:"🙋♂",name:"raising_hand_man",shortcodes:["man_raising_hand"],tags:["gesture","man","raising hand"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64b-200d-2642-fe0f.png"},{emoji:"🙋♀",name:"raising_hand_woman",shortcodes:["woman_raising_hand"],tags:["gesture","raising hand","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64b-200d-2640-fe0f.png"},{emoji:"🧏",name:"deaf_person",shortcodes:["deaf_person"],tags:["accessibility","deaf","ear","hear"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cf.png"},{emoji:"🧏♂",name:"deaf_man",shortcodes:["deaf_man"],tags:["deaf","man"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cf-200d-2642-fe0f.png"},{emoji:"🧏♀",name:"deaf_woman",shortcodes:["deaf_woman"],tags:["deaf","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cf-200d-2640-fe0f.png"},{emoji:"🙇",name:"bow",shortcodes:["bow","person_bowing"],tags:["apology","bow","gesture","sorry"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f647.png"},{emoji:"🙇♂",name:"bowing_man",shortcodes:["man_bowing"],tags:["apology","bowing","favor","gesture","man","sorry"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f647-200d-2642-fe0f.png"},{emoji:"🙇♀",name:"bowing_woman",shortcodes:["woman_bowing"],tags:["apology","bowing","favor","gesture","sorry","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f647-200d-2640-fe0f.png"},{emoji:"🤦",name:"facepalm",shortcodes:["facepalm","person_facepalming"],tags:["disbelief","exasperation","face","palm"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f926.png"},{emoji:"🤦♂",name:"man_facepalming",shortcodes:["man_facepalming"],tags:["disbelief","exasperation","facepalm","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f926-200d-2642-fe0f.png"},{emoji:"🤦♀",name:"woman_facepalming",shortcodes:["woman_facepalming"],tags:["disbelief","exasperation","facepalm","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f926-200d-2640-fe0f.png"},{emoji:"🤷",name:"shrug",shortcodes:["person_shrugging","shrug"],tags:["doubt","ignorance","indifference","shrug"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f937.png"},{emoji:"🤷♂",name:"man_shrugging",shortcodes:["man_shrugging"],tags:["doubt","ignorance","indifference","man","shrug"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f937-200d-2642-fe0f.png"},{emoji:"🤷♀",name:"woman_shrugging",shortcodes:["woman_shrugging"],tags:["doubt","ignorance","indifference","shrug","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f937-200d-2640-fe0f.png"},{emoji:"🧑⚕",name:"health_worker",shortcodes:["health_worker"],tags:["doctor","healthcare","nurse","therapist"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-2695-fe0f.png"},{emoji:"👨⚕",name:"man_health_worker",shortcodes:["man_health_worker"],tags:["doctor","healthcare","man","nurse","therapist"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2695-fe0f.png"},{emoji:"👩⚕",name:"woman_health_worker",shortcodes:["woman_health_worker"],tags:["doctor","healthcare","nurse","therapist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2695-fe0f.png"},{emoji:"🧑🎓",name:"student",shortcodes:["student"],tags:["graduate"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f393.png"},{emoji:"👨🎓",name:"man_student",shortcodes:["man_student"],tags:["graduate","man","student"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f393.png"},{emoji:"👩🎓",name:"woman_student",shortcodes:["woman_student"],tags:["graduate","student","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f393.png"},{emoji:"🧑🏫",name:"teacher",shortcodes:["teacher"],tags:["instructor","lecturer","professor"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3eb.png"},{emoji:"👨🏫",name:"man_teacher",shortcodes:["man_teacher"],tags:["instructor","lecturer","man","professor","teacher"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3eb.png"},{emoji:"👩🏫",name:"woman_teacher",shortcodes:["woman_teacher"],tags:["instructor","lecturer","professor","teacher","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3eb.png"},{emoji:"🧑⚖",name:"judge",shortcodes:["judge"],tags:["justice","law","scales"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-2696-fe0f.png"},{emoji:"👨⚖",name:"man_judge",shortcodes:["man_judge"],tags:["judge","justice","law","man","scales"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2696-fe0f.png"},{emoji:"👩⚖",name:"woman_judge",shortcodes:["woman_judge"],tags:["judge","justice","law","scales","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2696-fe0f.png"},{emoji:"🧑🌾",name:"farmer",shortcodes:["farmer"],tags:["gardener","rancher"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f33e.png"},{emoji:"👨🌾",name:"man_farmer",shortcodes:["man_farmer"],tags:["farmer","gardener","man","rancher"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f33e.png"},{emoji:"👩🌾",name:"woman_farmer",shortcodes:["woman_farmer"],tags:["farmer","gardener","rancher","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f33e.png"},{emoji:"🧑🍳",name:"cook",shortcodes:["cook"],tags:["chef"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f373.png"},{emoji:"👨🍳",name:"man_cook",shortcodes:["man_cook"],tags:["chef","cook","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f373.png"},{emoji:"👩🍳",name:"woman_cook",shortcodes:["woman_cook"],tags:["chef","cook","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f373.png"},{emoji:"🧑🔧",name:"mechanic",shortcodes:["mechanic"],tags:["electrician","plumber","tradesperson"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f527.png"},{emoji:"👨🔧",name:"man_mechanic",shortcodes:["man_mechanic"],tags:["electrician","man","mechanic","plumber","tradesperson"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f527.png"},{emoji:"👩🔧",name:"woman_mechanic",shortcodes:["woman_mechanic"],tags:["electrician","mechanic","plumber","tradesperson","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f527.png"},{emoji:"🧑🏭",name:"factory_worker",shortcodes:["factory_worker"],tags:["assembly","factory","industrial","worker"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3ed.png"},{emoji:"👨🏭",name:"man_factory_worker",shortcodes:["man_factory_worker"],tags:["assembly","factory","industrial","man","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3ed.png"},{emoji:"👩🏭",name:"woman_factory_worker",shortcodes:["woman_factory_worker"],tags:["assembly","factory","industrial","woman","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3ed.png"},{emoji:"🧑💼",name:"office_worker",shortcodes:["office_worker"],tags:["architect","business","manager","white-collar"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f4bc.png"},{emoji:"👨💼",name:"man_office_worker",shortcodes:["man_office_worker"],tags:["architect","business","man","manager","white-collar"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f4bc.png"},{emoji:"👩💼",name:"woman_office_worker",shortcodes:["woman_office_worker"],tags:["architect","business","manager","white-collar","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f4bc.png"},{emoji:"🧑🔬",name:"scientist",shortcodes:["scientist"],tags:["biologist","chemist","engineer","physicist"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f52c.png"},{emoji:"👨🔬",name:"man_scientist",shortcodes:["man_scientist"],tags:["biologist","chemist","engineer","man","physicist","scientist"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f52c.png"},{emoji:"👩🔬",name:"woman_scientist",shortcodes:["woman_scientist"],tags:["biologist","chemist","engineer","physicist","scientist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f52c.png"},{emoji:"🧑💻",name:"technologist",shortcodes:["technologist"],tags:["coder","developer","inventor","software"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f4bb.png"},{emoji:"👨💻",name:"man_technologist",shortcodes:["man_technologist"],tags:["coder","developer","inventor","man","software","technologist"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f4bb.png"},{emoji:"👩💻",name:"woman_technologist",shortcodes:["woman_technologist"],tags:["coder","developer","inventor","software","technologist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f4bb.png"},{emoji:"🧑🎤",name:"singer",shortcodes:["singer"],tags:["actor","entertainer","rock","star"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3a4.png"},{emoji:"👨🎤",name:"man_singer",shortcodes:["man_singer"],tags:["actor","entertainer","man","rock","singer","star"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3a4.png"},{emoji:"👩🎤",name:"woman_singer",shortcodes:["woman_singer"],tags:["actor","entertainer","rock","singer","star","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3a4.png"},{emoji:"🧑🎨",name:"artist",shortcodes:["artist"],tags:["palette"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3a8.png"},{emoji:"👨🎨",name:"man_artist",shortcodes:["man_artist"],tags:["artist","man","palette"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3a8.png"},{emoji:"👩🎨",name:"woman_artist",shortcodes:["woman_artist"],tags:["artist","palette","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3a8.png"},{emoji:"🧑✈",name:"pilot",shortcodes:["pilot"],tags:["plane"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-2708-fe0f.png"},{emoji:"👨✈",name:"man_pilot",shortcodes:["man_pilot"],tags:["man","pilot","plane"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2708-fe0f.png"},{emoji:"👩✈",name:"woman_pilot",shortcodes:["woman_pilot"],tags:["pilot","plane","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2708-fe0f.png"},{emoji:"🧑🚀",name:"astronaut",shortcodes:["astronaut"],tags:["rocket"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f680.png"},{emoji:"👨🚀",name:"man_astronaut",shortcodes:["man_astronaut"],tags:["astronaut","man","rocket"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f680.png"},{emoji:"👩🚀",name:"woman_astronaut",shortcodes:["woman_astronaut"],tags:["astronaut","rocket","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f680.png"},{emoji:"🧑🚒",name:"firefighter",shortcodes:["firefighter"],tags:["fire","firetruck"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f692.png"},{emoji:"👨🚒",name:"man_firefighter",shortcodes:["man_firefighter"],tags:["firefighter","firetruck","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f692.png"},{emoji:"👩🚒",name:"woman_firefighter",shortcodes:["woman_firefighter"],tags:["firefighter","firetruck","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f692.png"},{emoji:"👮",name:"cop",shortcodes:["cop","police_officer"],tags:["cop","officer","police"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46e.png"},{emoji:"👮♂",name:"policeman",shortcodes:["man_police_officer"],tags:["cop","man","officer","police"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46e-200d-2642-fe0f.png"},{emoji:"👮♀",name:"policewoman",shortcodes:["woman_police_officer"],tags:["cop","officer","police","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46e-200d-2640-fe0f.png"},{emoji:"🕵",name:"detective",shortcodes:["detective"],tags:["sleuth","spy"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f575-fe0f.png"},{emoji:"🕵♂️",name:"male_detective",shortcodes:["man_detective"],tags:["detective","man","sleuth","spy"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f575-fe0f-200d-2642-fe0f.png"},{emoji:"🕵♀️",name:"female_detective",shortcodes:["woman_detective"],tags:["detective","sleuth","spy","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f575-fe0f-200d-2640-fe0f.png"},{emoji:"💂",name:"guard",shortcodes:["guard"],tags:["guard"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f482.png"},{emoji:"💂♂",name:"guardsman",shortcodes:["man_guard"],tags:["guard","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f482-200d-2642-fe0f.png"},{emoji:"💂♀",name:"guardswoman",shortcodes:["woman_guard"],tags:["guard","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f482-200d-2640-fe0f.png"},{emoji:"🥷",name:"ninja",shortcodes:["ninja"],tags:["fighter","hidden","stealth"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f977.png"},{emoji:"👷",name:"construction_worker",shortcodes:["construction_worker"],tags:["construction","hat","worker"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f477.png"},{emoji:"👷♂",name:"construction_worker_man",shortcodes:["man_construction_worker"],tags:["construction","man","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f477-200d-2642-fe0f.png"},{emoji:"👷♀",name:"construction_worker_woman",shortcodes:["woman_construction_worker"],tags:["construction","woman","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f477-200d-2640-fe0f.png"},{emoji:"🫅",name:"person_with_crown",shortcodes:["person_with_crown","royalty"],tags:["monarch","noble","regal","royalty"],group:"people & body",emoticons:[],version:14},{emoji:"🤴",name:"prince",shortcodes:["prince"],tags:["prince"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f934.png"},{emoji:"👸",name:"princess",shortcodes:["princess"],tags:["fairy tale","fantasy"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f478.png"},{emoji:"👳",name:"person_with_turban",shortcodes:["person_wearing_turban"],tags:["turban"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f473.png"},{emoji:"👳♂",name:"man_with_turban",shortcodes:["man_wearing_turban"],tags:["man","turban"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f473-200d-2642-fe0f.png"},{emoji:"👳♀",name:"woman_with_turban",shortcodes:["woman_wearing_turban"],tags:["turban","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f473-200d-2640-fe0f.png"},{emoji:"👲",name:"man_with_gua_pi_mao",shortcodes:["person_with_skullcap"],tags:["cap","gua pi mao","hat","person","skullcap"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f472.png"},{emoji:"🧕",name:"woman_with_headscarf",shortcodes:["woman_with_headscarf"],tags:["headscarf","hijab","mantilla","tichel"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d5.png"},{emoji:"🤵",name:"person_in_tuxedo",shortcodes:["person_in_tuxedo"],tags:["groom","person","tuxedo"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f935.png"},{emoji:"🤵♂",name:"man_in_tuxedo",shortcodes:["man_in_tuxedo"],tags:["man","tuxedo"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f935-200d-2642-fe0f.png"},{emoji:"🤵♀",name:"woman_in_tuxedo",shortcodes:["woman_in_tuxedo"],tags:["tuxedo","woman"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f935-200d-2640-fe0f.png"},{emoji:"👰",name:"person_with_veil",shortcodes:["person_with_veil"],tags:["bride","person","veil","wedding"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f470.png"},{emoji:"👰♂",name:"man_with_veil",shortcodes:["man_with_veil"],tags:["man","veil"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f470-200d-2642-fe0f.png"},{emoji:"👰♀",name:"bride_with_veil",shortcodes:["woman_with_veil"],tags:["veil","woman"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f470-200d-2640-fe0f.png"},{emoji:"🤰",name:"pregnant_woman",shortcodes:["pregnant_woman"],tags:["pregnant","woman"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f930.png"},{emoji:"🫃",name:"pregnant_man",shortcodes:["pregnant_man"],tags:["belly","bloated","full","pregnant"],group:"people & body",emoticons:[],version:14},{emoji:"🫄",name:"pregnant_person",shortcodes:["pregnant_person"],tags:["belly","bloated","full","pregnant"],group:"people & body",emoticons:[],version:14},{emoji:"🤱",name:"breast_feeding",shortcodes:["breast_feeding"],tags:["baby","breast","nursing"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f931.png"},{emoji:"👩🍼",name:"woman_feeding_baby",shortcodes:["woman_feeding_baby"],tags:["baby","feeding","nursing","woman"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f37c.png"},{emoji:"👨🍼",name:"man_feeding_baby",shortcodes:["man_feeding_baby"],tags:["baby","feeding","man","nursing"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f37c.png"},{emoji:"🧑🍼",name:"person_feeding_baby",shortcodes:["person_feeding_baby"],tags:["baby","feeding","nursing","person"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f37c.png"},{emoji:"👼",name:"angel",shortcodes:["angel"],tags:["angel","baby","face","fairy tale","fantasy"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47c.png"},{emoji:"🎅",name:"santa",shortcodes:["santa"],tags:["celebration","christmas","claus","father","santa"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f385.png"},{emoji:"🤶",name:"mrs_claus",shortcodes:["mrs_claus"],tags:["celebration","christmas","claus","mother","mrs."],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f936.png"},{emoji:"🧑🎄",name:"mx_claus",shortcodes:["mx_claus"],tags:["christmas","claus"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f384.png"},{emoji:"🦸",name:"superhero",shortcodes:["superhero"],tags:["good","hero","heroine","superpower"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b8.png"},{emoji:"🦸♂",name:"superhero_man",shortcodes:["man_superhero"],tags:["good","hero","man","superpower"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b8-200d-2642-fe0f.png"},{emoji:"🦸♀",name:"superhero_woman",shortcodes:["woman_superhero"],tags:["good","hero","heroine","superpower","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b8-200d-2640-fe0f.png"},{emoji:"🦹",name:"supervillain",shortcodes:["supervillain"],tags:["criminal","evil","superpower","villain"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b9.png"},{emoji:"🦹♂",name:"supervillain_man",shortcodes:["man_supervillain"],tags:["criminal","evil","man","superpower","villain"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b9-200d-2642-fe0f.png"},{emoji:"🦹♀",name:"supervillain_woman",shortcodes:["woman_supervillain"],tags:["criminal","evil","superpower","villain","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b9-200d-2640-fe0f.png"},{emoji:"🧙",name:"mage",shortcodes:["mage"],tags:["sorcerer","sorceress","witch","wizard"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d9.png"},{emoji:"🧙♂",name:"mage_man",shortcodes:["man_mage"],tags:["sorcerer","wizard"],group:"people & body",emoticons:[":{>"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d9-200d-2642-fe0f.png"},{emoji:"🧙♀",name:"mage_woman",shortcodes:["woman_mage"],tags:["sorceress","witch"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d9-200d-2640-fe0f.png"},{emoji:"🧚",name:"fairy",shortcodes:["fairy"],tags:["oberon","puck","titania"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9da.png"},{emoji:"🧚♂",name:"fairy_man",shortcodes:["man_fairy"],tags:["oberon","puck"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9da-200d-2642-fe0f.png"},{emoji:"🧚♀",name:"fairy_woman",shortcodes:["woman_fairy"],tags:["titania"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9da-200d-2640-fe0f.png"},{emoji:"🧛",name:"vampire",shortcodes:["vampire"],tags:["dracula","undead"],group:"people & body",emoticons:[":E"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9db.png"},{emoji:"🧛♂",name:"vampire_man",shortcodes:["man_vampire"],tags:["dracula","undead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9db-200d-2642-fe0f.png"},{emoji:"🧛♀",name:"vampire_woman",shortcodes:["woman_vampire"],tags:["undead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9db-200d-2640-fe0f.png"},{emoji:"🧜",name:"merperson",shortcodes:["merperson"],tags:["mermaid","merman","merwoman"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dc.png"},{emoji:"🧜♂",name:"merman",shortcodes:["merman"],tags:["triton"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dc-200d-2642-fe0f.png"},{emoji:"🧜♀",name:"mermaid",shortcodes:["mermaid"],tags:["merwoman"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dc-200d-2640-fe0f.png"},{emoji:"🧝",name:"elf",shortcodes:["elf"],tags:["magical"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dd.png"},{emoji:"🧝♂",name:"elf_man",shortcodes:["man_elf"],tags:["magical"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dd-200d-2642-fe0f.png"},{emoji:"🧝♀",name:"elf_woman",shortcodes:["woman_elf"],tags:["magical"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dd-200d-2640-fe0f.png"},{emoji:"🧞",name:"genie",shortcodes:["genie"],tags:["djinn"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9de.png"},{emoji:"🧞♂",name:"genie_man",shortcodes:["man_genie"],tags:["djinn"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9de-200d-2642-fe0f.png"},{emoji:"🧞♀",name:"genie_woman",shortcodes:["woman_genie"],tags:["djinn"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9de-200d-2640-fe0f.png"},{emoji:"🧟",name:"zombie",shortcodes:["zombie"],tags:["undead","walking dead"],group:"people & body",emoticons:["8#"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9df.png"},{emoji:"🧟♂",name:"zombie_man",shortcodes:["man_zombie"],tags:["undead","walking dead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9df-200d-2642-fe0f.png"},{emoji:"🧟♀",name:"zombie_woman",shortcodes:["woman_zombie"],tags:["undead","walking dead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9df-200d-2640-fe0f.png"},{emoji:"🧌",name:"troll",shortcodes:["troll"],tags:["fairy tale","fantasy","monster"],group:"people & body",emoticons:[],version:14},{emoji:"💆",name:"massage",shortcodes:["massage","person_getting_massage"],tags:["face","massage","salon"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f486.png"},{emoji:"💆♂",name:"massage_man",shortcodes:["man_getting_massage"],tags:["face","man","massage"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f486-200d-2642-fe0f.png"},{emoji:"💆♀",name:"massage_woman",shortcodes:["woman_getting_massage"],tags:["face","massage","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f486-200d-2640-fe0f.png"},{emoji:"💇",name:"haircut",shortcodes:["haircut","person_getting_haircut"],tags:["barber","beauty","haircut","parlor"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f487.png"},{emoji:"💇♂",name:"haircut_man",shortcodes:["man_getting_haircut"],tags:["haircut","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f487-200d-2642-fe0f.png"},{emoji:"💇♀",name:"haircut_woman",shortcodes:["woman_getting_haircut"],tags:["haircut","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f487-200d-2640-fe0f.png"},{emoji:"🚶",name:"walking",shortcodes:["person_walking","walking"],tags:["hike","walk","walking"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b6.png"},{emoji:"🚶♂",name:"walking_man",shortcodes:["man_walking"],tags:["hike","man","walk"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b6-200d-2642-fe0f.png"},{emoji:"🚶♀",name:"walking_woman",shortcodes:["woman_walking"],tags:["hike","walk","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b6-200d-2640-fe0f.png"},{emoji:"🚶➡",name:"person_walking_right",shortcodes:["person_walking_right"],tags:["hike","person walking","walk","walking"],group:"people & body",emoticons:[],version:15.1},{emoji:"🚶♀➡️",name:"woman_walking_right",shortcodes:["woman_walking_right"],tags:["hike","walk","woman","woman walking"],group:"people & body",emoticons:[],version:15.1},{emoji:"🚶♂➡️",name:"man_walking_right",shortcodes:["man_walking_right"],tags:["hike","man","man walking","walk"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧍",name:"standing_person",shortcodes:["person_standing","standing"],tags:["stand","standing"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cd.png"},{emoji:"🧍♂",name:"standing_man",shortcodes:["man_standing"],tags:["man","standing"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cd-200d-2642-fe0f.png"},{emoji:"🧍♀",name:"standing_woman",shortcodes:["woman_standing"],tags:["standing","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cd-200d-2640-fe0f.png"},{emoji:"🧎",name:"kneeling_person",shortcodes:["kneeling","person_kneeling"],tags:["kneel","kneeling"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ce.png"},{emoji:"🧎♂",name:"kneeling_man",shortcodes:["man_kneeling"],tags:["kneeling","man"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ce-200d-2642-fe0f.png"},{emoji:"🧎♀",name:"kneeling_woman",shortcodes:["woman_kneeling"],tags:["kneeling","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ce-200d-2640-fe0f.png"},{emoji:"🧎➡",name:"person_kneeling_right",shortcodes:["person_kneeling_right"],tags:["kneel","kneeling","person kneeling"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧎♀➡️",name:"woman_kneeling_right",shortcodes:["woman_kneeling_right"],tags:["kneeling","woman"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧎♂➡️",name:"man_kneeling_right",shortcodes:["man_kneeling_right"],tags:["kneeling","man"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🦯",name:"person_with_probing_cane",shortcodes:["person_with_probing_cane","person_with_white_cane"],tags:["accessibility","blind"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9af.png"},{emoji:"🧑🦯➡",name:"person_with_white_cane_right",shortcodes:["person_with_white_cane_right"],tags:["accessibility","blind","person with white cane"],group:"people & body",emoticons:[],version:15.1},{emoji:"👨🦯",name:"man_with_probing_cane",shortcodes:["man_with_probing_cane","man_with_white_cane"],tags:["accessibility","blind","man"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9af.png"},{emoji:"👨🦯➡",name:"man_with_white_cane_right",shortcodes:["man_with_white_cane_right"],tags:["accessibility","blind","man","man with white cane"],group:"people & body",emoticons:[],version:15.1},{emoji:"👩🦯",name:"woman_with_probing_cane",shortcodes:["woman_with_probing_cane","woman_with_white_cane"],tags:["accessibility","blind","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9af.png"},{emoji:"👩🦯➡",name:"woman_with_white_cane_right",shortcodes:["woman_with_white_cane_right"],tags:["accessibility","blind","woman","woman with white cane"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🦼",name:"person_in_motorized_wheelchair",shortcodes:["person_in_motorized_wheelchair"],tags:["accessibility","wheelchair"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9bc.png"},{emoji:"🧑🦼➡",name:"person_in_motorized_wheelchair_right",shortcodes:["person_in_motorized_wheelchair_right"],tags:["accessibility","person in motorized wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👨🦼",name:"man_in_motorized_wheelchair",shortcodes:["man_in_motorized_wheelchair"],tags:["accessibility","man","wheelchair"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9bc.png"},{emoji:"👨🦼➡",name:"man_in_motorized_wheelchair_right",shortcodes:["man_in_motorized_wheelchair_right"],tags:["accessibility","man","man in motorized wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👩🦼",name:"woman_in_motorized_wheelchair",shortcodes:["woman_in_motorized_wheelchair"],tags:["accessibility","wheelchair","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9bc.png"},{emoji:"👩🦼➡",name:"woman_in_motorized_wheelchair_right",shortcodes:["woman_in_motorized_wheelchair_right"],tags:["accessibility","wheelchair","woman","woman in motorized wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🦽",name:"person_in_manual_wheelchair",shortcodes:["person_in_manual_wheelchair"],tags:["accessibility","wheelchair"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9bd.png"},{emoji:"🧑🦽➡",name:"person_in_manual_wheelchair_right",shortcodes:["person_in_manual_wheelchair_right"],tags:["accessibility","person in manual wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👨🦽",name:"man_in_manual_wheelchair",shortcodes:["man_in_manual_wheelchair"],tags:["accessibility","man","wheelchair"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9bd.png"},{emoji:"👨🦽➡",name:"man_in_manual_wheelchair_right",shortcodes:["man_in_manual_wheelchair_right"],tags:["accessibility","man","man in manual wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👩🦽",name:"woman_in_manual_wheelchair",shortcodes:["woman_in_manual_wheelchair"],tags:["accessibility","wheelchair","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9bd.png"},{emoji:"👩🦽➡",name:"woman_in_manual_wheelchair_right",shortcodes:["woman_in_manual_wheelchair_right"],tags:["accessibility","wheelchair","woman","woman in manual wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"🏃",name:"runner",shortcodes:["person_running","running"],tags:["marathon","running"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c3.png"},{emoji:"🏃♂",name:"running_man",shortcodes:["man_running"],tags:["man","marathon","racing","running"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c3-200d-2642-fe0f.png"},{emoji:"🏃♀",name:"running_woman",shortcodes:["woman_running"],tags:["marathon","racing","running","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c3-200d-2640-fe0f.png"},{emoji:"🏃➡",name:"person_running_right",shortcodes:["person_running_right"],tags:["marathon","person running","running"],group:"people & body",emoticons:[],version:15.1},{emoji:"🏃♀➡️",name:"woman_running_right",shortcodes:["woman_running_right"],tags:["marathon","racing","running","woman"],group:"people & body",emoticons:[],version:15.1},{emoji:"🏃♂➡️",name:"man_running_right",shortcodes:["man_running_right"],tags:["man","marathon","racing","running"],group:"people & body",emoticons:[],version:15.1},{emoji:"💃",name:"dancer",shortcodes:["dancer","woman_dancing"],tags:["dance","dancing","woman"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f483.png"},{emoji:"🕺",name:"man_dancing",shortcodes:["man_dancing"],tags:["dance","dancing","man"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f57a.png"},{emoji:"🕴",name:"business_suit_levitating",shortcodes:["levitate","levitating","person_in_suit_levitating"],tags:["business","person","suit"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f574-fe0f.png"},{emoji:"👯",name:"dancers",shortcodes:["dancers","people_with_bunny_ears_partying"],tags:["bunny ear","dancer","partying"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46f.png"},{emoji:"👯♂",name:"dancing_men",shortcodes:["men_with_bunny_ears_partying"],tags:["bunny ear","dancer","men","partying"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46f-200d-2642-fe0f.png"},{emoji:"👯♀",name:"dancing_women",shortcodes:["women_with_bunny_ears_partying"],tags:["bunny ear","dancer","partying","women"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46f-200d-2640-fe0f.png"},{emoji:"🧖",name:"sauna_person",shortcodes:["person_in_steamy_room"],tags:["sauna","steam room"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d6.png"},{emoji:"🧖♂",name:"sauna_man",shortcodes:["man_in_steamy_room"],tags:["sauna","steam room"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d6-200d-2642-fe0f.png"},{emoji:"🧖♀",name:"sauna_woman",shortcodes:["woman_in_steamy_room"],tags:["sauna","steam room"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d6-200d-2640-fe0f.png"},{emoji:"🧗",name:"climbing",shortcodes:["climbing","person_climbing"],tags:["climber"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d7.png"},{emoji:"🧗♂",name:"climbing_man",shortcodes:["man_climbing"],tags:["climber"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d7-200d-2642-fe0f.png"},{emoji:"🧗♀",name:"climbing_woman",shortcodes:["woman_climbing"],tags:["climber"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d7-200d-2640-fe0f.png"},{emoji:"🤺",name:"person_fencing",shortcodes:["fencer","fencing","person_fencing"],tags:["fencer","fencing","sword"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93a.png"},{emoji:"🏇",name:"horse_racing",shortcodes:["horse_racing"],tags:["horse","jockey","racehorse","racing"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c7.png"},{emoji:"⛷",name:"skier",shortcodes:["person_skiing","skier","skiing"],tags:["ski","snow"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f7-fe0f.png"},{emoji:"🏂",name:"snowboarder",shortcodes:["person_snowboarding","snowboarder","snowboarding"],tags:["ski","snow","snowboard"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c2.png"},{emoji:"🏌",name:"golfing",shortcodes:["golfer","golfing","person_golfing"],tags:["ball","golf"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cc-fe0f.png"},{emoji:"🏌♂️",name:"golfing_man",shortcodes:["man_golfing"],tags:["golf","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cc-fe0f-200d-2642-fe0f.png"},{emoji:"🏌♀️",name:"golfing_woman",shortcodes:["woman_golfing"],tags:["golf","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cc-fe0f-200d-2640-fe0f.png"},{emoji:"🏄",name:"surfer",shortcodes:["person_surfing","surfer","surfing"],tags:["surfing"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c4.png"},{emoji:"🏄♂",name:"surfing_man",shortcodes:["man_surfing"],tags:["man","surfing"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c4-200d-2642-fe0f.png"},{emoji:"🏄♀",name:"surfing_woman",shortcodes:["woman_surfing"],tags:["surfing","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c4-200d-2640-fe0f.png"},{emoji:"🚣",name:"rowboat",shortcodes:["person_rowing_boat","rowboat"],tags:["boat","rowboat"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a3.png"},{emoji:"🚣♂",name:"rowing_man",shortcodes:["man_rowing_boat"],tags:["boat","man","rowboat"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a3-200d-2642-fe0f.png"},{emoji:"🚣♀",name:"rowing_woman",shortcodes:["woman_rowing_boat"],tags:["boat","rowboat","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a3-200d-2640-fe0f.png"},{emoji:"🏊",name:"swimmer",shortcodes:["person_swimming","swimmer","swimming"],tags:["swim"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ca.png"},{emoji:"🏊♂",name:"swimming_man",shortcodes:["man_swimming"],tags:["man","swim"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ca-200d-2642-fe0f.png"},{emoji:"🏊♀",name:"swimming_woman",shortcodes:["woman_swimming"],tags:["swim","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ca-200d-2640-fe0f.png"},{emoji:"⛹",name:"bouncing_ball_person",shortcodes:["person_bouncing_ball"],tags:["ball"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f9-fe0f.png"},{emoji:"⛹♂️",name:"basketball_man",shortcodes:["man_bouncing_ball"],tags:["ball","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f9-fe0f-200d-2642-fe0f.png"},{emoji:"⛹♀️",name:"basketball_woman",shortcodes:["woman_bouncing_ball"],tags:["ball","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f9-fe0f-200d-2640-fe0f.png"},{emoji:"🏋",name:"weight_lifting",shortcodes:["person_lifting_weights","weight_lifter","weight_lifting"],tags:["lifter","weight"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cb-fe0f.png"},{emoji:"🏋♂️",name:"weight_lifting_man",shortcodes:["man_lifting_weights"],tags:["man","weight lifter"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cb-fe0f-200d-2642-fe0f.png"},{emoji:"🏋♀️",name:"weight_lifting_woman",shortcodes:["woman_lifting_weights"],tags:["weight lifter","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cb-fe0f-200d-2640-fe0f.png"},{emoji:"🚴",name:"bicyclist",shortcodes:["bicyclist","biking","person_biking"],tags:["bicycle","biking","cyclist"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b4.png"},{emoji:"🚴♂",name:"biking_man",shortcodes:["man_biking"],tags:["bicycle","biking","cyclist","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b4-200d-2642-fe0f.png"},{emoji:"🚴♀",name:"biking_woman",shortcodes:["woman_biking"],tags:["bicycle","biking","cyclist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b4-200d-2640-fe0f.png"},{emoji:"🚵",name:"mountain_bicyclist",shortcodes:["mountain_bicyclist","mountain_biking","person_mountain_biking"],tags:["bicycle","bicyclist","bike","cyclist","mountain"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b5.png"},{emoji:"🚵♂",name:"mountain_biking_man",shortcodes:["man_mountain_biking"],tags:["bicycle","bike","cyclist","man","mountain"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b5-200d-2642-fe0f.png"},{emoji:"🚵♀",name:"mountain_biking_woman",shortcodes:["woman_mountain_biking"],tags:["bicycle","bike","biking","cyclist","mountain","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b5-200d-2640-fe0f.png"},{emoji:"🤸",name:"cartwheeling",shortcodes:["cartwheeling","person_cartwheel"],tags:["cartwheel","gymnastics"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f938.png"},{emoji:"🤸♂",name:"man_cartwheeling",shortcodes:["man_cartwheeling"],tags:["cartwheel","gymnastics","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f938-200d-2642-fe0f.png"},{emoji:"🤸♀",name:"woman_cartwheeling",shortcodes:["woman_cartwheeling"],tags:["cartwheel","gymnastics","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f938-200d-2640-fe0f.png"},{emoji:"🤼",name:"wrestling",shortcodes:["people_wrestling","wrestlers","wrestling"],tags:["wrestle","wrestler"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93c.png"},{emoji:"🤼♂",name:"men_wrestling",shortcodes:["men_wrestling"],tags:["men","wrestle"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93c-200d-2642-fe0f.png"},{emoji:"🤼♀",name:"women_wrestling",shortcodes:["women_wrestling"],tags:["women","wrestle"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93c-200d-2640-fe0f.png"},{emoji:"🤽",name:"water_polo",shortcodes:["person_playing_water_polo","water_polo"],tags:["polo","water"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93d.png"},{emoji:"🤽♂",name:"man_playing_water_polo",shortcodes:["man_playing_water_polo"],tags:["man","water polo"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93d-200d-2642-fe0f.png"},{emoji:"🤽♀",name:"woman_playing_water_polo",shortcodes:["woman_playing_water_polo"],tags:["water polo","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93d-200d-2640-fe0f.png"},{emoji:"🤾",name:"handball_person",shortcodes:["handball","person_playing_handball"],tags:["ball","handball"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93e.png"},{emoji:"🤾♂",name:"man_playing_handball",shortcodes:["man_playing_handball"],tags:["handball","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93e-200d-2642-fe0f.png"},{emoji:"🤾♀",name:"woman_playing_handball",shortcodes:["woman_playing_handball"],tags:["handball","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93e-200d-2640-fe0f.png"},{emoji:"🤹",name:"juggling_person",shortcodes:["juggler","juggling","person_juggling"],tags:["balance","juggle","multitask","skill"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f939.png"},{emoji:"🤹♂",name:"man_juggling",shortcodes:["man_juggling"],tags:["juggling","man","multitask"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f939-200d-2642-fe0f.png"},{emoji:"🤹♀",name:"woman_juggling",shortcodes:["woman_juggling"],tags:["juggling","multitask","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f939-200d-2640-fe0f.png"},{emoji:"🧘",name:"lotus_position",shortcodes:["person_in_lotus_position"],tags:["meditation","yoga"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d8.png"},{emoji:"🧘♂",name:"lotus_position_man",shortcodes:["man_in_lotus_position"],tags:["meditation","yoga"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d8-200d-2642-fe0f.png"},{emoji:"🧘♀",name:"lotus_position_woman",shortcodes:["woman_in_lotus_position"],tags:["meditation","yoga"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d8-200d-2640-fe0f.png"},{emoji:"🛀",name:"bath",shortcodes:["bath","person_taking_bath"],tags:["bath","bathtub"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c0.png"},{emoji:"🛌",name:"sleeping_bed",shortcodes:["person_in_bed","sleeping_accommodation"],tags:["good night","hotel","sleep"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cc.png"},{emoji:"🧑🤝🧑",name:"people_holding_hands",shortcodes:["people_holding_hands"],tags:["couple","hand","hold","holding hands","person"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f91d-200d-1f9d1.png"},{emoji:"👭",name:"two_women_holding_hands",shortcodes:["two_women_holding_hands"],tags:["couple","hand","holding hands","women"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46d.png"},{emoji:"👫",name:"couple",shortcodes:["couple"],tags:["couple","hand","hold","holding hands","man","woman"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46b.png"},{emoji:"👬",name:"two_men_holding_hands",shortcodes:["two_men_holding_hands"],tags:["couple","gemini","holding hands","man","men","twins","zodiac"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46c.png"},{emoji:"💏",name:"couplekiss",shortcodes:["couple_kiss","couplekiss"],tags:["couple"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48f.png"},{emoji:"👩❤💋👨",name:"couplekiss_man_woman",shortcodes:["kiss_mw","kiss_wm"],tags:["couple","kiss","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.png"},{emoji:"👨❤💋👨",name:"couplekiss_man_man",shortcodes:["kiss_mm"],tags:["couple","kiss","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png"},{emoji:"👩❤💋👩",name:"couplekiss_woman_woman",shortcodes:["kiss_ww"],tags:["couple","kiss","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png"},{emoji:"💑",name:"couple_with_heart",shortcodes:["couple_with_heart"],tags:["couple","love"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f491.png"},{emoji:"👩❤👨",name:"couple_with_heart_woman_man",shortcodes:["couple_with_heart_mw","couple_with_heart_wm"],tags:["couple","couple with heart","love","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f468.png"},{emoji:"👨❤👨",name:"couple_with_heart_man_man",shortcodes:["couple_with_heart_mm"],tags:["couple","couple with heart","love","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2764-fe0f-200d-1f468.png"},{emoji:"👩❤👩",name:"couple_with_heart_woman_woman",shortcodes:["couple_with_heart_ww"],tags:["couple","couple with heart","love","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f469.png"},{emoji:"👨👩👦",name:"family_man_woman_boy",shortcodes:["family_mwb"],tags:["boy","family","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f466.png"},{emoji:"👨👩👧",name:"family_man_woman_girl",shortcodes:["family_mwg"],tags:["family","girl","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f467.png"},{emoji:"👨👩👧👦",name:"family_man_woman_girl_boy",shortcodes:["family_mwgb"],tags:["boy","family","girl","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f467-200d-1f466.png"},{emoji:"👨👩👦👦",name:"family_man_woman_boy_boy",shortcodes:["family_mwbb"],tags:["boy","family","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f466-200d-1f466.png"},{emoji:"👨👩👧👧",name:"family_man_woman_girl_girl",shortcodes:["family_mwgg"],tags:["family","girl","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f467-200d-1f467.png"},{emoji:"👨👨👦",name:"family_man_man_boy",shortcodes:["family_mmb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f466.png"},{emoji:"👨👨👧",name:"family_man_man_girl",shortcodes:["family_mmg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f467.png"},{emoji:"👨👨👧👦",name:"family_man_man_girl_boy",shortcodes:["family_mmgb"],tags:["boy","family","girl","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f467-200d-1f466.png"},{emoji:"👨👨👦👦",name:"family_man_man_boy_boy",shortcodes:["family_mmbb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f466-200d-1f466.png"},{emoji:"👨👨👧👧",name:"family_man_man_girl_girl",shortcodes:["family_mmgg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f467-200d-1f467.png"},{emoji:"👩👩👦",name:"family_woman_woman_boy",shortcodes:["family_wwb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f466.png"},{emoji:"👩👩👧",name:"family_woman_woman_girl",shortcodes:["family_wwg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f467.png"},{emoji:"👩👩👧👦",name:"family_woman_woman_girl_boy",shortcodes:["family_wwgb"],tags:["boy","family","girl","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f467-200d-1f466.png"},{emoji:"👩👩👦👦",name:"family_woman_woman_boy_boy",shortcodes:["family_wwbb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f466-200d-1f466.png"},{emoji:"👩👩👧👧",name:"family_woman_woman_girl_girl",shortcodes:["family_wwgg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f467-200d-1f467.png"},{emoji:"👨👦",name:"family_man_boy",shortcodes:["family_mb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f466.png"},{emoji:"👨👦👦",name:"family_man_boy_boy",shortcodes:["family_mbb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f466-200d-1f466.png"},{emoji:"👨👧",name:"family_man_girl",shortcodes:["family_mg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f467.png"},{emoji:"👨👧👦",name:"family_man_girl_boy",shortcodes:["family_mgb"],tags:["boy","family","girl","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f467-200d-1f466.png"},{emoji:"👨👧👧",name:"family_man_girl_girl",shortcodes:["family_mgg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f467-200d-1f467.png"},{emoji:"👩👦",name:"family_woman_boy",shortcodes:["family_wb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f466.png"},{emoji:"👩👦👦",name:"family_woman_boy_boy",shortcodes:["family_wbb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f466-200d-1f466.png"},{emoji:"👩👧",name:"family_woman_girl",shortcodes:["family_wg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f467.png"},{emoji:"👩👧👦",name:"family_woman_girl_boy",shortcodes:["family_wgb"],tags:["boy","family","girl","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f467-200d-1f466.png"},{emoji:"👩👧👧",name:"family_woman_girl_girl",shortcodes:["family_wgg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f467-200d-1f467.png"},{emoji:"🗣",name:"speaking_head",shortcodes:["speaking_head"],tags:["face","head","silhouette","speak","speaking"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5e3-fe0f.png"},{emoji:"👤",name:"bust_in_silhouette",shortcodes:["bust_in_silhouette"],tags:["bust","silhouette"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f464.png"},{emoji:"👥",name:"busts_in_silhouette",shortcodes:["busts_in_silhouette"],tags:["bust","silhouette"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f465.png"},{emoji:"🫂",name:"people_hugging",shortcodes:["people_hugging"],tags:["goodbye","hello","hug","thanks"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fac2.png"},{emoji:"👪",name:"family",shortcodes:["family"],tags:["family"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46a.png"},{emoji:"🧑🧑🧒",name:"family_aac",shortcodes:["family_aac"],tags:["family: adult, adult, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🧑🧒🧒",name:"family_aacc",shortcodes:["family_aacc"],tags:["family: adult, adult, child, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🧒",name:"family_ac",shortcodes:["family_ac"],tags:["family: adult, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🧒🧒",name:"family_acc",shortcodes:["family_acc"],tags:["family: adult, child, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"👣",name:"footprints",shortcodes:["footprints"],tags:["clothing","footprint","print"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f463.png"},{emoji:"🏻",name:"tone1",shortcodes:["tone1","tone_light"],tags:["skin tone","type 1–2"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fb.png"},{emoji:"🏼",name:"tone2",shortcodes:["tone2","tone_medium_light"],tags:["skin tone","type 3"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fc.png"},{emoji:"🏽",name:"tone3",shortcodes:["tone3","tone_medium"],tags:["skin tone","type 4"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fd.png"},{emoji:"🏾",name:"tone4",shortcodes:["tone4","tone_medium_dark"],tags:["skin tone","type 5"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fe.png"},{emoji:"🏿",name:"tone5",shortcodes:["tone5","tone_dark"],tags:["skin tone","type 6"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ff.png"},{emoji:"🦰",name:"red_hair",shortcodes:["red_hair"],tags:["ginger","redhead"],group:"components",emoticons:[],version:11},{emoji:"🦱",name:"curly_hair",shortcodes:["curly_hair"],tags:["afro","curly","ringlets"],group:"components",emoticons:[],version:11},{emoji:"🦳",name:"white_hair",shortcodes:["white_hair"],tags:["gray","hair","old","white"],group:"components",emoticons:[],version:11},{emoji:"🦲",name:"no_hair",shortcodes:["no_hair"],tags:["chemotherapy","hairless","no hair","shaven"],group:"components",emoticons:[],version:11},{emoji:"🐵",name:"monkey_face",shortcodes:["monkey_face"],tags:["face","monkey"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f435.png"},{emoji:"🐒",name:"monkey",shortcodes:["monkey"],tags:["monkey"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f412.png"},{emoji:"🦍",name:"gorilla",shortcodes:["gorilla"],tags:["gorilla"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98d.png"},{emoji:"🦧",name:"orangutan",shortcodes:["orangutan"],tags:["ape"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a7.png"},{emoji:"🐶",name:"dog",shortcodes:["dog_face"],tags:["dog","face","pet"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f436.png"},{emoji:"🐕",name:"dog2",shortcodes:["dog"],tags:["pet"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f415.png"},{emoji:"🦮",name:"guide_dog",shortcodes:["guide_dog"],tags:["accessibility","blind","guide"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ae.png"},{emoji:"🐕🦺",name:"service_dog",shortcodes:["service_dog"],tags:["accessibility","assistance","dog","service"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f415-200d-1f9ba.png"},{emoji:"🐩",name:"poodle",shortcodes:["poodle"],tags:["dog"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f429.png"},{emoji:"🐺",name:"wolf",shortcodes:["wolf","wolf_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43a.png"},{emoji:"🦊",name:"fox_face",shortcodes:["fox","fox_face"],tags:["face"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98a.png"},{emoji:"🦝",name:"raccoon",shortcodes:["raccoon"],tags:["curious","sly"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99d.png"},{emoji:"🐱",name:"cat",shortcodes:["cat_face"],tags:["cat","face","pet"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f431.png"},{emoji:"🐈",name:"cat2",shortcodes:["cat"],tags:["pet"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f408.png"},{emoji:"🐈⬛",name:"black_cat",shortcodes:["black_cat"],tags:["black","cat","unlucky"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f408-200d-2b1b.png"},{emoji:"🦁",name:"lion",shortcodes:["lion","lion_face"],tags:["face","leo","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f981.png"},{emoji:"🐯",name:"tiger",shortcodes:["tiger_face"],tags:["face","tiger"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42f.png"},{emoji:"🐅",name:"tiger2",shortcodes:["tiger"],tags:["tiger"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f405.png"},{emoji:"🐆",name:"leopard",shortcodes:["leopard"],tags:["leopard"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f406.png"},{emoji:"🐴",name:"horse",shortcodes:["horse_face"],tags:["face","horse"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f434.png"},{emoji:"🫎",name:"moose",shortcodes:["moose"],tags:["animal","antlers","elk","mammal"],group:"animals & nature",emoticons:[],version:15},{emoji:"🫏",name:"donkey",shortcodes:["donkey"],tags:["animal","ass","burro","mammal","mule","stubborn"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐎",name:"racehorse",shortcodes:["horse","racehorse"],tags:["equestrian","racehorse","racing"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40e.png"},{emoji:"🦄",name:"unicorn",shortcodes:["unicorn","unicorn_face"],tags:["face"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f984.png"},{emoji:"🦓",name:"zebra",shortcodes:["zebra"],tags:["stripe"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f993.png"},{emoji:"🦌",name:"deer",shortcodes:["deer"],tags:["deer"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98c.png"},{emoji:"🦬",name:"bison",shortcodes:["bison"],tags:["buffalo","herd","wisent"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ac.png"},{emoji:"🐮",name:"cow",shortcodes:["cow_face"],tags:["cow","face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42e.png"},{emoji:"🐂",name:"ox",shortcodes:["ox"],tags:["bull","taurus","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f402.png"},{emoji:"🐃",name:"water_buffalo",shortcodes:["water_buffalo"],tags:["buffalo","water"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f403.png"},{emoji:"🐄",name:"cow2",shortcodes:["cow"],tags:["cow"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f404.png"},{emoji:"🐷",name:"pig",shortcodes:["pig_face"],tags:["face","pig"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f437.png"},{emoji:"🐖",name:"pig2",shortcodes:["pig"],tags:["sow"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f416.png"},{emoji:"🐗",name:"boar",shortcodes:["boar"],tags:["pig"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f417.png"},{emoji:"🐽",name:"pig_nose",shortcodes:["pig_nose"],tags:["face","nose","pig"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43d.png"},{emoji:"🐏",name:"ram",shortcodes:["ram"],tags:["aries","male","sheep","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40f.png"},{emoji:"🐑",name:"sheep",shortcodes:["ewe","sheep"],tags:["female","sheep"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f411.png"},{emoji:"🐐",name:"goat",shortcodes:["goat"],tags:["capricorn","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f410.png"},{emoji:"🐪",name:"dromedary_camel",shortcodes:["dromedary_camel"],tags:["dromedary","hump"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42a.png"},{emoji:"🐫",name:"camel",shortcodes:["camel"],tags:["bactrian","camel","hump"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42b.png"},{emoji:"🦙",name:"llama",shortcodes:["llama"],tags:["alpaca","guanaco","vicuña","wool"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f999.png"},{emoji:"🦒",name:"giraffe",shortcodes:["giraffe"],tags:["spots"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f992.png"},{emoji:"🐘",name:"elephant",shortcodes:["elephant"],tags:["elephant"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f418.png"},{emoji:"🦣",name:"mammoth",shortcodes:["mammoth"],tags:["extinction","large","tusk","woolly"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a3.png"},{emoji:"🦏",name:"rhinoceros",shortcodes:["rhino","rhinoceros"],tags:["rhinoceros"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98f.png"},{emoji:"🦛",name:"hippopotamus",shortcodes:["hippo"],tags:["hippo"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99b.png"},{emoji:"🐭",name:"mouse",shortcodes:["mouse_face"],tags:["face","mouse"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42d.png"},{emoji:"🐁",name:"mouse2",shortcodes:["mouse"],tags:["mouse"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f401.png"},{emoji:"🐀",name:"rat",shortcodes:["rat"],tags:["rat"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f400.png"},{emoji:"🐹",name:"hamster",shortcodes:["hamster","hamster_face"],tags:["face","pet"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f439.png"},{emoji:"🐰",name:"rabbit",shortcodes:["rabbit_face"],tags:["bunny","face","pet","rabbit"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f430.png"},{emoji:"🐇",name:"rabbit2",shortcodes:["rabbit"],tags:["bunny","pet"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f407.png"},{emoji:"🐿",name:"chipmunk",shortcodes:["chipmunk"],tags:["squirrel"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43f-fe0f.png"},{emoji:"🦫",name:"beaver",shortcodes:["beaver"],tags:["dam"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ab.png"},{emoji:"🦔",name:"hedgehog",shortcodes:["hedgehog"],tags:["spiny"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f994.png"},{emoji:"🦇",name:"bat",shortcodes:["bat"],tags:["vampire"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f987.png"},{emoji:"🐻",name:"bear",shortcodes:["bear","bear_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43b.png"},{emoji:"🐻❄",name:"polar_bear",shortcodes:["polar_bear","polar_bear_face"],tags:["arctic","bear","white"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43b-200d-2744-fe0f.png"},{emoji:"🐨",name:"koala",shortcodes:["koala","koala_face"],tags:["face","marsupial"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f428.png"},{emoji:"🐼",name:"panda_face",shortcodes:["panda","panda_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43c.png"},{emoji:"🦥",name:"sloth",shortcodes:["sloth"],tags:["lazy","slow"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a5.png"},{emoji:"🦦",name:"otter",shortcodes:["otter"],tags:["fishing","playful"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a6.png"},{emoji:"🦨",name:"skunk",shortcodes:["skunk"],tags:["stink"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a8.png"},{emoji:"🦘",name:"kangaroo",shortcodes:["kangaroo"],tags:["joey","jump","marsupial"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f998.png"},{emoji:"🦡",name:"badger",shortcodes:["badger"],tags:["honey badger","pester"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a1.png"},{emoji:"🐾",name:"feet",shortcodes:["paw_prints"],tags:["feet","paw","print"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43e.png"},{emoji:"🦃",name:"turkey",shortcodes:["turkey"],tags:["bird"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f983.png"},{emoji:"🐔",name:"chicken",shortcodes:["chicken","chicken_face"],tags:["bird"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f414.png"},{emoji:"🐓",name:"rooster",shortcodes:["rooster"],tags:["bird"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f413.png"},{emoji:"🐣",name:"hatching_chick",shortcodes:["hatching_chick"],tags:["baby","bird","chick","hatching"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f423.png"},{emoji:"🐤",name:"baby_chick",shortcodes:["baby_chick"],tags:["baby","bird","chick"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f424.png"},{emoji:"🐥",name:"hatched_chick",shortcodes:["hatched_chick"],tags:["baby","bird","chick"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f425.png"},{emoji:"🐦",name:"bird",shortcodes:["bird","bird_face"],tags:["bird"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f426.png"},{emoji:"🐧",name:"penguin",shortcodes:["penguin","penguin_face"],tags:["bird"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f427.png"},{emoji:"🕊",name:"dove",shortcodes:["dove"],tags:["bird","fly","peace"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54a-fe0f.png"},{emoji:"🦅",name:"eagle",shortcodes:["eagle"],tags:["bird"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f985.png"},{emoji:"🦆",name:"duck",shortcodes:["duck"],tags:["bird"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f986.png"},{emoji:"🦢",name:"swan",shortcodes:["swan"],tags:["bird","cygnet","ugly duckling"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a2.png"},{emoji:"🦉",name:"owl",shortcodes:["owl"],tags:["bird","wise"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f989.png"},{emoji:"🦤",name:"dodo",shortcodes:["dodo"],tags:["extinction","large","mauritius"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a4.png"},{emoji:"🪶",name:"feather",shortcodes:["feather"],tags:["bird","flight","light","plumage"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab6.png"},{emoji:"🦩",name:"flamingo",shortcodes:["flamingo"],tags:["flamboyant","tropical"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a9.png"},{emoji:"🦚",name:"peacock",shortcodes:["peacock"],tags:["bird","ostentatious","peahen","proud"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99a.png"},{emoji:"🦜",name:"parrot",shortcodes:["parrot"],tags:["bird","pirate","talk"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99c.png"},{emoji:"🪽",name:"wing",shortcodes:["wing"],tags:["angelic","aviation","bird","flying","mythology"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐦⬛",name:"black_bird",shortcodes:["black_bird"],tags:["bird","black","crow","raven","rook"],group:"animals & nature",emoticons:[],version:15},{emoji:"🪿",name:"goose",shortcodes:["goose"],tags:["bird","fowl","honk","silly"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐦🔥",name:"phoenix",shortcodes:["phoenix"],tags:["fantasy","firebird","rebirth","reincarnation"],group:"animals & nature",emoticons:[],version:15.1},{emoji:"🐸",name:"frog",shortcodes:["frog","frog_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f438.png"},{emoji:"🐊",name:"crocodile",shortcodes:["crocodile"],tags:["crocodile"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40a.png"},{emoji:"🐢",name:"turtle",shortcodes:["turtle"],tags:["terrapin","tortoise"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f422.png"},{emoji:"🦎",name:"lizard",shortcodes:["lizard"],tags:["reptile"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98e.png"},{emoji:"🐍",name:"snake",shortcodes:["snake"],tags:["bearer","ophiuchus","serpent","zodiac"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40d.png"},{emoji:"🐲",name:"dragon_face",shortcodes:["dragon_face"],tags:["dragon","face","fairy tale"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f432.png"},{emoji:"🐉",name:"dragon",shortcodes:["dragon"],tags:["fairy tale"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f409.png"},{emoji:"🦕",name:"sauropod",shortcodes:["sauropod"],tags:["brachiosaurus","brontosaurus","diplodocus"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f995.png"},{emoji:"🦖",name:"t-rex",shortcodes:["t-rex","trex"],tags:["t-rex","tyrannosaurus rex"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f996.png"},{emoji:"🐳",name:"whale",shortcodes:["spouting_whale"],tags:["face","spouting","whale"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f433.png"},{emoji:"🐋",name:"whale2",shortcodes:["whale"],tags:["whale"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40b.png"},{emoji:"🐬",name:"dolphin",shortcodes:["dolphin"],tags:["flipper"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42c.png"},{emoji:"🦭",name:"seal",shortcodes:["seal"],tags:["sea lion"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ad.png"},{emoji:"🐟",name:"fish",shortcodes:["fish"],tags:["pisces","zodiac"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41f.png"},{emoji:"🐠",name:"tropical_fish",shortcodes:["tropical_fish"],tags:["fish","tropical"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f420.png"},{emoji:"🐡",name:"blowfish",shortcodes:["blowfish"],tags:["fish"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f421.png"},{emoji:"🦈",name:"shark",shortcodes:["shark"],tags:["fish"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f988.png"},{emoji:"🐙",name:"octopus",shortcodes:["octopus"],tags:["octopus"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f419.png"},{emoji:"🐚",name:"shell",shortcodes:["shell"],tags:["shell","spiral"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41a.png"},{emoji:"🪸",name:"coral",shortcodes:["coral"],tags:["ocean","reef"],group:"animals & nature",emoticons:[],version:14},{emoji:"🪼",name:"jellyfish",shortcodes:["jellyfish"],tags:["burn","invertebrate","jelly","marine","ouch","stinger"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐌",name:"snail",shortcodes:["snail"],tags:["snail"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40c.png"},{emoji:"🦋",name:"butterfly",shortcodes:["butterfly"],tags:["insect","pretty"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98b.png"},{emoji:"🐛",name:"bug",shortcodes:["bug"],tags:["insect"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41b.png"},{emoji:"🐜",name:"ant",shortcodes:["ant"],tags:["insect"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41c.png"},{emoji:"🐝",name:"bee",shortcodes:["bee"],tags:["bee","insect"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41d.png"},{emoji:"🪲",name:"beetle",shortcodes:["beetle"],tags:["bug","insect"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab2.png"},{emoji:"🐞",name:"lady_beetle",shortcodes:["lady_beetle"],tags:["beetle","insect","ladybird","ladybug"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41e.png"},{emoji:"🦗",name:"cricket",shortcodes:["cricket"],tags:["grasshopper"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f997.png"},{emoji:"🪳",name:"cockroach",shortcodes:["cockroach"],tags:["insect","pest","roach"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab3.png"},{emoji:"🕷",name:"spider",shortcodes:["spider"],tags:["insect"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f577-fe0f.png"},{emoji:"🕸",name:"spider_web",shortcodes:["spider_web"],tags:["spider","web"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f578-fe0f.png"},{emoji:"🦂",name:"scorpion",shortcodes:["scorpion"],tags:["scorpio","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f982.png"},{emoji:"🦟",name:"mosquito",shortcodes:["mosquito"],tags:["disease","fever","malaria","pest","virus"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99f.png"},{emoji:"🪰",name:"fly",shortcodes:["fly"],tags:["disease","maggot","pest","rotting"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab0.png"},{emoji:"🪱",name:"worm",shortcodes:["worm"],tags:["annelid","earthworm","parasite"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab1.png"},{emoji:"🦠",name:"microbe",shortcodes:["microbe"],tags:["amoeba","bacteria","virus"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a0.png"},{emoji:"💐",name:"bouquet",shortcodes:["bouquet"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f490.png"},{emoji:"🌸",name:"cherry_blossom",shortcodes:["cherry_blossom"],tags:["blossom","cherry","flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f338.png"},{emoji:"💮",name:"white_flower",shortcodes:["white_flower"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ae.png"},{emoji:"🪷",name:"lotus",shortcodes:["lotus"],tags:["buddhism","flower","hinduism","purity"],group:"animals & nature",emoticons:[],version:14},{emoji:"🏵",name:"rosette",shortcodes:["rosette"],tags:["plant"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f5-fe0f.png"},{emoji:"🌹",name:"rose",shortcodes:["rose"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f339.png"},{emoji:"🥀",name:"wilted_flower",shortcodes:["wilted_flower"],tags:["flower","wilted"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f940.png"},{emoji:"🌺",name:"hibiscus",shortcodes:["hibiscus"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33a.png"},{emoji:"🌻",name:"sunflower",shortcodes:["sunflower"],tags:["flower","sun"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33b.png"},{emoji:"🌼",name:"blossom",shortcodes:["blossom"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33c.png"},{emoji:"🌷",name:"tulip",shortcodes:["tulip"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f337.png"},{emoji:"🪻",name:"hyacinth",shortcodes:["hyacinth"],tags:["bluebonnet","flower","lavender","lupine","snapdragon"],group:"animals & nature",emoticons:[],version:15},{emoji:"🌱",name:"seedling",shortcodes:["seedling"],tags:["young"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f331.png"},{emoji:"🪴",name:"potted_plant",shortcodes:["potted_plant"],tags:["boring","grow","house","nurturing","plant","useless"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab4.png"},{emoji:"🌲",name:"evergreen_tree",shortcodes:["evergreen_tree"],tags:["tree"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f332.png"},{emoji:"🌳",name:"deciduous_tree",shortcodes:["deciduous_tree"],tags:["deciduous","shedding","tree"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f333.png"},{emoji:"🌴",name:"palm_tree",shortcodes:["palm_tree"],tags:["palm","tree"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f334.png"},{emoji:"🌵",name:"cactus",shortcodes:["cactus"],tags:["plant"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f335.png"},{emoji:"🌾",name:"ear_of_rice",shortcodes:["ear_of_rice","sheaf_of_rice"],tags:["ear","grain","rice"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33e.png"},{emoji:"🌿",name:"herb",shortcodes:["herb"],tags:["leaf"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33f.png"},{emoji:"☘",name:"shamrock",shortcodes:["shamrock"],tags:["plant"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2618-fe0f.png"},{emoji:"🍀",name:"four_leaf_clover",shortcodes:["four_leaf_clover"],tags:["4","clover","four","four-leaf clover","leaf"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f340.png"},{emoji:"🍁",name:"maple_leaf",shortcodes:["maple_leaf"],tags:["falling","leaf","maple"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f341.png"},{emoji:"🍂",name:"fallen_leaf",shortcodes:["fallen_leaf"],tags:["falling","leaf"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f342.png"},{emoji:"🍃",name:"leaves",shortcodes:["leaves"],tags:["blow","flutter","leaf","wind"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f343.png"},{emoji:"🪹",name:"empty_nest",shortcodes:["empty_nest","nest"],tags:["nesting"],group:"animals & nature",emoticons:[],version:14},{emoji:"🪺",name:"nest_with_eggs",shortcodes:["nest_with_eggs"],tags:["nesting"],group:"animals & nature",emoticons:[],version:14},{emoji:"🍄",name:"mushroom",shortcodes:["mushroom"],tags:["toadstool"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f344.png"},{emoji:"🍇",name:"grapes",shortcodes:["grapes"],tags:["fruit","grape"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f347.png"},{emoji:"🍈",name:"melon",shortcodes:["melon"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f348.png"},{emoji:"🍉",name:"watermelon",shortcodes:["watermelon"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f349.png"},{emoji:"🍊",name:"mandarin",shortcodes:["orange","tangerine"],tags:["fruit","orange"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34a.png"},{emoji:"🍋",name:"lemon",shortcodes:["lemon"],tags:["citrus","fruit"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34b.png"},{emoji:"🍋🟩",name:"lime",shortcodes:["lime"],tags:["citrus","fruit","tropical"],group:"food & drink",emoticons:[],version:15.1},{emoji:"🍌",name:"banana",shortcodes:["banana"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34c.png"},{emoji:"🍍",name:"pineapple",shortcodes:["pineapple"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34d.png"},{emoji:"🥭",name:"mango",shortcodes:["mango"],tags:["fruit","tropical"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96d.png"},{emoji:"🍎",name:"apple",shortcodes:["apple","red_apple"],tags:["apple","fruit","red"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34e.png"},{emoji:"🍏",name:"green_apple",shortcodes:["green_apple"],tags:["apple","fruit","green"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34f.png"},{emoji:"🍐",name:"pear",shortcodes:["pear"],tags:["fruit"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f350.png"},{emoji:"🍑",name:"peach",shortcodes:["peach"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f351.png"},{emoji:"🍒",name:"cherries",shortcodes:["cherries"],tags:["berries","cherry","fruit","red"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f352.png"},{emoji:"🍓",name:"strawberry",shortcodes:["strawberry"],tags:["berry","fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f353.png"},{emoji:"🫐",name:"blueberries",shortcodes:["blueberries"],tags:["berry","bilberry","blue","blueberry"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad0.png"},{emoji:"🥝",name:"kiwi_fruit",shortcodes:["kiwi"],tags:["food","fruit","kiwi"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95d.png"},{emoji:"🍅",name:"tomato",shortcodes:["tomato"],tags:["fruit","vegetable"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f345.png"},{emoji:"🫒",name:"olive",shortcodes:["olive"],tags:["food"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad2.png"},{emoji:"🥥",name:"coconut",shortcodes:["coconut"],tags:["palm","piña colada"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f965.png"},{emoji:"🥑",name:"avocado",shortcodes:["avocado"],tags:["food","fruit"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f951.png"},{emoji:"🍆",name:"eggplant",shortcodes:["eggplant"],tags:["aubergine","vegetable"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f346.png"},{emoji:"🥔",name:"potato",shortcodes:["potato"],tags:["food","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f954.png"},{emoji:"🥕",name:"carrot",shortcodes:["carrot"],tags:["food","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f955.png"},{emoji:"🌽",name:"corn",shortcodes:["corn","ear_of_corn"],tags:["corn","ear","maize","maze"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33d.png"},{emoji:"🌶",name:"hot_pepper",shortcodes:["hot_pepper"],tags:["hot","pepper"],group:"food & drink",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f336-fe0f.png"},{emoji:"🫑",name:"bell_pepper",shortcodes:["bell_pepper"],tags:["capsicum","pepper","vegetable"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad1.png"},{emoji:"🥒",name:"cucumber",shortcodes:["cucumber"],tags:["food","pickle","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f952.png"},{emoji:"🥬",name:"leafy_green",shortcodes:["leafy_green"],tags:["bok choy","cabbage","kale","lettuce"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96c.png"},{emoji:"🥦",name:"broccoli",shortcodes:["broccoli"],tags:["wild cabbage"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f966.png"},{emoji:"🧄",name:"garlic",shortcodes:["garlic"],tags:["flavoring"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c4.png"},{emoji:"🧅",name:"onion",shortcodes:["onion"],tags:["flavoring"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c5.png"},{emoji:"🥜",name:"peanuts",shortcodes:["peanuts"],tags:["food","nut","peanut","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95c.png"},{emoji:"🫘",name:"beans",shortcodes:["beans"],tags:["food","kidney","legume"],group:"food & drink",emoticons:[],version:14},{emoji:"🌰",name:"chestnut",shortcodes:["chestnut"],tags:["plant"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f330.png"},{emoji:"🫚",name:"ginger_root",shortcodes:["ginger"],tags:["beer","root","spice"],group:"food & drink",emoticons:[],version:15},{emoji:"🫛",name:"pea_pod",shortcodes:["pea"],tags:["beans","edamame","legume","pea","pod","vegetable"],group:"food & drink",emoticons:[],version:15},{emoji:"🍄🟫",name:"brown_mushroom",shortcodes:["brown_mushroom"],tags:["food","fungus","nature","vegetable"],group:"food & drink",emoticons:[],version:15.1},{emoji:"🍞",name:"bread",shortcodes:["bread"],tags:["loaf"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35e.png"},{emoji:"🥐",name:"croissant",shortcodes:["croissant"],tags:["bread","breakfast","food","french","roll"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f950.png"},{emoji:"🥖",name:"baguette_bread",shortcodes:["baguette_bread"],tags:["baguette","bread","food","french"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f956.png"},{emoji:"🫓",name:"flatbread",shortcodes:["flatbread"],tags:["arepa","lavash","naan","pita"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad3.png"},{emoji:"🥨",name:"pretzel",shortcodes:["pretzel"],tags:["twisted"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f968.png"},{emoji:"🥯",name:"bagel",shortcodes:["bagel"],tags:["bakery","breakfast","schmear"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96f.png"},{emoji:"🥞",name:"pancakes",shortcodes:["pancakes"],tags:["breakfast","crêpe","food","hotcake","pancake"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95e.png"},{emoji:"🧇",name:"waffle",shortcodes:["waffle"],tags:["breakfast","indecisive","iron"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c7.png"},{emoji:"🧀",name:"cheese",shortcodes:["cheese"],tags:["cheese"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c0.png"},{emoji:"🍖",name:"meat_on_bone",shortcodes:["meat_on_bone"],tags:["bone","meat"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f356.png"},{emoji:"🍗",name:"poultry_leg",shortcodes:["poultry_leg"],tags:["bone","chicken","drumstick","leg","poultry"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f357.png"},{emoji:"🥩",name:"cut_of_meat",shortcodes:["cut_of_meat"],tags:["chop","lambchop","porkchop","steak"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f969.png"},{emoji:"🥓",name:"bacon",shortcodes:["bacon"],tags:["breakfast","food","meat"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f953.png"},{emoji:"🍔",name:"hamburger",shortcodes:["hamburger"],tags:["burger"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f354.png"},{emoji:"🍟",name:"fries",shortcodes:["french_fries","fries"],tags:["french","fries"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35f.png"},{emoji:"🍕",name:"pizza",shortcodes:["pizza"],tags:["cheese","slice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f355.png"},{emoji:"🌭",name:"hotdog",shortcodes:["hotdog"],tags:["frankfurter","hotdog","sausage"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32d.png"},{emoji:"🥪",name:"sandwich",shortcodes:["sandwich"],tags:["bread"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96a.png"},{emoji:"🌮",name:"taco",shortcodes:["taco"],tags:["mexican"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32e.png"},{emoji:"🌯",name:"burrito",shortcodes:["burrito"],tags:["mexican","wrap"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32f.png"},{emoji:"🫔",name:"tamale",shortcodes:["tamale"],tags:["mexican","wrapped"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad4.png"},{emoji:"🥙",name:"stuffed_flatbread",shortcodes:["stuffed_flatbread"],tags:["falafel","flatbread","food","gyro","kebab","stuffed"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f959.png"},{emoji:"🧆",name:"falafel",shortcodes:["falafel"],tags:["chickpea","meatball"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c6.png"},{emoji:"🥚",name:"egg",shortcodes:["egg"],tags:["breakfast","food"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95a.png"},{emoji:"🍳",name:"fried_egg",shortcodes:["cooking","fried_egg"],tags:["breakfast","egg","frying","pan"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f373.png"},{emoji:"🥘",name:"shallow_pan_of_food",shortcodes:["shallow_pan_of_food"],tags:["casserole","food","paella","pan","shallow"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f958.png"},{emoji:"🍲",name:"stew",shortcodes:["pot_of_food","stew"],tags:["pot","stew"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f372.png"},{emoji:"🫕",name:"fondue",shortcodes:["fondue"],tags:["cheese","chocolate","melted","pot","swiss"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad5.png"},{emoji:"🥣",name:"bowl_with_spoon",shortcodes:["bowl_with_spoon"],tags:["breakfast","cereal","congee"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f963.png"},{emoji:"🥗",name:"green_salad",shortcodes:["green_salad","salad"],tags:["food","green","salad"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f957.png"},{emoji:"🍿",name:"popcorn",shortcodes:["popcorn"],tags:["popcorn"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37f.png"},{emoji:"🧈",name:"butter",shortcodes:["butter"],tags:["dairy"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c8.png"},{emoji:"🧂",name:"salt",shortcodes:["salt"],tags:["condiment","shaker"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c2.png"},{emoji:"🥫",name:"canned_food",shortcodes:["canned_food"],tags:["can"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96b.png"},{emoji:"🍱",name:"bento",shortcodes:["bento","bento_box"],tags:["bento","box"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f371.png"},{emoji:"🍘",name:"rice_cracker",shortcodes:["rice_cracker"],tags:["cracker","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f358.png"},{emoji:"🍙",name:"rice_ball",shortcodes:["rice_ball"],tags:["ball","japanese","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f359.png"},{emoji:"🍚",name:"rice",shortcodes:["cooked_rice","rice"],tags:["cooked","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35a.png"},{emoji:"🍛",name:"curry",shortcodes:["curry","curry_rice"],tags:["curry","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35b.png"},{emoji:"🍜",name:"ramen",shortcodes:["ramen","steaming_bowl"],tags:["bowl","noodle","ramen","steaming"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35c.png"},{emoji:"🍝",name:"spaghetti",shortcodes:["spaghetti"],tags:["pasta"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35d.png"},{emoji:"🍠",name:"sweet_potato",shortcodes:["sweet_potato"],tags:["potato","roasted","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f360.png"},{emoji:"🍢",name:"oden",shortcodes:["oden"],tags:["kebab","seafood","skewer","stick"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f362.png"},{emoji:"🍣",name:"sushi",shortcodes:["sushi"],tags:["sushi"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f363.png"},{emoji:"🍤",name:"fried_shrimp",shortcodes:["fried_shrimp"],tags:["fried","prawn","shrimp","tempura"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f364.png"},{emoji:"🍥",name:"fish_cake",shortcodes:["fish_cake"],tags:["cake","fish","pastry","swirl"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f365.png"},{emoji:"🥮",name:"moon_cake",shortcodes:["moon_cake"],tags:["autumn","festival","yuèbǐng"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96e.png"},{emoji:"🍡",name:"dango",shortcodes:["dango"],tags:["dessert","japanese","skewer","stick","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f361.png"},{emoji:"🥟",name:"dumpling",shortcodes:["dumpling"],tags:["empanada","gyōza","jiaozi","pierogi","potsticker"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95f.png"},{emoji:"🥠",name:"fortune_cookie",shortcodes:["fortune_cookie"],tags:["prophecy"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f960.png"},{emoji:"🥡",name:"takeout_box",shortcodes:["takeout_box"],tags:["oyster pail"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f961.png"},{emoji:"🦀",name:"crab",shortcodes:["crab"],tags:["cancer","zodiac"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f980.png"},{emoji:"🦞",name:"lobster",shortcodes:["lobster"],tags:["bisque","claws","seafood"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99e.png"},{emoji:"🦐",name:"shrimp",shortcodes:["shrimp"],tags:["food","shellfish","small"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f990.png"},{emoji:"🦑",name:"squid",shortcodes:["squid"],tags:["food","molusc"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f991.png"},{emoji:"🦪",name:"oyster",shortcodes:["oyster"],tags:["diving","pearl"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9aa.png"},{emoji:"🍦",name:"icecream",shortcodes:["icecream","soft_serve"],tags:["cream","dessert","ice","icecream","soft","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f366.png"},{emoji:"🍧",name:"shaved_ice",shortcodes:["shaved_ice"],tags:["dessert","ice","shaved","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f367.png"},{emoji:"🍨",name:"ice_cream",shortcodes:["ice_cream"],tags:["cream","dessert","ice","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f368.png"},{emoji:"🍩",name:"doughnut",shortcodes:["doughnut"],tags:["breakfast","dessert","donut","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f369.png"},{emoji:"🍪",name:"cookie",shortcodes:["cookie"],tags:["dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36a.png"},{emoji:"🎂",name:"birthday",shortcodes:["birthday","birthday_cake"],tags:["birthday","cake","celebration","dessert","pastry","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f382.png"},{emoji:"🍰",name:"cake",shortcodes:["cake","shortcake"],tags:["cake","dessert","pastry","slice","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f370.png"},{emoji:"🧁",name:"cupcake",shortcodes:["cupcake"],tags:["bakery","sweet"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c1.png"},{emoji:"🥧",name:"pie",shortcodes:["pie"],tags:["filling","pastry"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f967.png"},{emoji:"🍫",name:"chocolate_bar",shortcodes:["chocolate_bar"],tags:["bar","chocolate","dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36b.png"},{emoji:"🍬",name:"candy",shortcodes:["candy"],tags:["dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36c.png"},{emoji:"🍭",name:"lollipop",shortcodes:["lollipop"],tags:["candy","dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36d.png"},{emoji:"🍮",name:"custard",shortcodes:["custard"],tags:["dessert","pudding","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36e.png"},{emoji:"🍯",name:"honey_pot",shortcodes:["honey_pot"],tags:["honey","honeypot","pot","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36f.png"},{emoji:"🍼",name:"baby_bottle",shortcodes:["baby_bottle"],tags:["baby","bottle","drink","milk"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37c.png"},{emoji:"🥛",name:"milk_glass",shortcodes:["glass_of_milk","milk"],tags:["drink","glass","milk"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95b.png"},{emoji:"☕",name:"coffee",shortcodes:["coffee"],tags:["beverage","coffee","drink","hot","steaming","tea"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2615.png"},{emoji:"🫖",name:"teapot",shortcodes:["teapot"],tags:["drink","pot","tea"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad6.png"},{emoji:"🍵",name:"tea",shortcodes:["tea"],tags:["beverage","cup","drink","tea","teacup"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f375.png"},{emoji:"🍶",name:"sake",shortcodes:["sake"],tags:["bar","beverage","bottle","cup","drink"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f376.png"},{emoji:"🍾",name:"champagne",shortcodes:["champagne"],tags:["bar","bottle","cork","drink","popping"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37e.png"},{emoji:"🍷",name:"wine_glass",shortcodes:["wine_glass"],tags:["bar","beverage","drink","glass","wine"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f377.png"},{emoji:"🍸",name:"cocktail",shortcodes:["cocktail"],tags:["bar","cocktail","drink","glass"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f378.png"},{emoji:"🍹",name:"tropical_drink",shortcodes:["tropical_drink"],tags:["bar","drink","tropical"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f379.png"},{emoji:"🍺",name:"beer",shortcodes:["beer"],tags:["bar","beer","drink","mug"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37a.png"},{emoji:"🍻",name:"beers",shortcodes:["beers"],tags:["bar","beer","clink","drink","mug"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37b.png"},{emoji:"🥂",name:"clinking_glasses",shortcodes:["clinking_glasses"],tags:["celebrate","clink","drink","glass"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f942.png"},{emoji:"🥃",name:"tumbler_glass",shortcodes:["tumbler_glass","whisky"],tags:["glass","liquor","shot","tumbler","whisky"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f943.png"},{emoji:"🫗",name:"pouring_liquid",shortcodes:["pour","pouring_liquid"],tags:["drink","empty","glass","spill"],group:"food & drink",emoticons:[],version:14},{emoji:"🥤",name:"cup_with_straw",shortcodes:["cup_with_straw"],tags:["juice","soda"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f964.png"},{emoji:"🧋",name:"bubble_tea",shortcodes:["boba_drink","bubble_tea"],tags:["bubble","milk","pearl","tea"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cb.png"},{emoji:"🧃",name:"beverage_box",shortcodes:["beverage_box","juice_box"],tags:["beverage","box","juice","straw","sweet"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c3.png"},{emoji:"🧉",name:"mate",shortcodes:["mate"],tags:["drink"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c9.png"},{emoji:"🧊",name:"ice_cube",shortcodes:["ice","ice_cube"],tags:["cold","ice cube","iceberg"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ca.png"},{emoji:"🥢",name:"chopsticks",shortcodes:["chopsticks"],tags:["hashi"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f962.png"},{emoji:"🍽",name:"plate_with_cutlery",shortcodes:["fork_knife_plate"],tags:["cooking","fork","knife","plate"],group:"food & drink",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37d-fe0f.png"},{emoji:"🍴",name:"fork_and_knife",shortcodes:["fork_and_knife"],tags:["cooking","cutlery","fork","knife"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f374.png"},{emoji:"🥄",name:"spoon",shortcodes:["spoon"],tags:["tableware"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f944.png"},{emoji:"🔪",name:"hocho",shortcodes:["knife"],tags:["cooking","hocho","knife","tool","weapon"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52a.png"},{emoji:"🫙",name:"jar",shortcodes:["jar"],tags:["condiment","container","empty","sauce","store"],group:"food & drink",emoticons:[],version:14},{emoji:"🏺",name:"amphora",shortcodes:["amphora"],tags:["aquarius","cooking","drink","jug","zodiac"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fa.png"},{emoji:"🌍",name:"earth_africa",shortcodes:["earth_africa","earth_europe"],tags:["africa","earth","europe","globe","globe showing europe-africa","world"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30d.png"},{emoji:"🌎",name:"earth_americas",shortcodes:["earth_americas"],tags:["americas","earth","globe","globe showing americas","world"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30e.png"},{emoji:"🌏",name:"earth_asia",shortcodes:["earth_asia"],tags:["asia","australia","earth","globe","globe showing asia-australia","world"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30f.png"},{emoji:"🌐",name:"globe_with_meridians",shortcodes:["globe_with_meridians"],tags:["earth","globe","meridians","world"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f310.png"},{emoji:"🗺",name:"world_map",shortcodes:["world_map"],tags:["map","world"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fa-fe0f.png"},{emoji:"🗾",name:"japan",shortcodes:["japan_map"],tags:["japan","map","map of japan"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fe.png"},{emoji:"🧭",name:"compass",shortcodes:["compass"],tags:["magnetic","navigation","orienteering"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ed.png"},{emoji:"🏔",name:"mountain_snow",shortcodes:["mountain_snow"],tags:["cold","mountain","snow"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d4-fe0f.png"},{emoji:"⛰",name:"mountain",shortcodes:["mountain"],tags:["mountain"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f0-fe0f.png"},{emoji:"🌋",name:"volcano",shortcodes:["volcano"],tags:["eruption","mountain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30b.png"},{emoji:"🗻",name:"mount_fuji",shortcodes:["mount_fuji"],tags:["fuji","mountain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fb.png"},{emoji:"🏕",name:"camping",shortcodes:["camping"],tags:["camping"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d5-fe0f.png"},{emoji:"🏖",name:"beach_umbrella",shortcodes:["beach","beach_with_umbrella"],tags:["beach","umbrella"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d6-fe0f.png"},{emoji:"🏜",name:"desert",shortcodes:["desert"],tags:["desert"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3dc-fe0f.png"},{emoji:"🏝",name:"desert_island",shortcodes:["desert_island","island"],tags:["desert","island"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3dd-fe0f.png"},{emoji:"🏞",name:"national_park",shortcodes:["national_park"],tags:["park"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3de-fe0f.png"},{emoji:"🏟",name:"stadium",shortcodes:["stadium"],tags:["stadium"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3df-fe0f.png"},{emoji:"🏛",name:"classical_building",shortcodes:["classical_building"],tags:["classical"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3db-fe0f.png"},{emoji:"🏗",name:"building_construction",shortcodes:["building_construction","construction_site"],tags:["construction"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d7-fe0f.png"},{emoji:"🧱",name:"bricks",shortcodes:["bricks"],tags:["bricks","clay","mortar","wall"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f1.png"},{emoji:"🪨",name:"rock",shortcodes:["rock"],tags:["boulder","heavy","solid","stone"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa8.png"},{emoji:"🪵",name:"wood",shortcodes:["wood"],tags:["log","lumber","timber"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab5.png"},{emoji:"🛖",name:"hut",shortcodes:["hut"],tags:["house","roundhouse","yurt"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d6.png"},{emoji:"🏘",name:"houses",shortcodes:["homes","houses"],tags:["houses"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d8-fe0f.png"},{emoji:"🏚",name:"derelict_house",shortcodes:["derelict_house","house_abandoned"],tags:["derelict","house"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3da-fe0f.png"},{emoji:"🏠",name:"house",shortcodes:["house"],tags:["home"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e0.png"},{emoji:"🏡",name:"house_with_garden",shortcodes:["house_with_garden"],tags:["garden","home","house"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e1.png"},{emoji:"🏢",name:"office",shortcodes:["office"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e2.png"},{emoji:"🏣",name:"post_office",shortcodes:["post_office"],tags:["japanese","japanese post office","post"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e3.png"},{emoji:"🏤",name:"european_post_office",shortcodes:["european_post_office"],tags:["european","post"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e4.png"},{emoji:"🏥",name:"hospital",shortcodes:["hospital"],tags:["doctor","medicine"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e5.png"},{emoji:"🏦",name:"bank",shortcodes:["bank"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e6.png"},{emoji:"🏨",name:"hotel",shortcodes:["hotel"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e8.png"},{emoji:"🏩",name:"love_hotel",shortcodes:["love_hotel"],tags:["hotel","love"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e9.png"},{emoji:"🏪",name:"convenience_store",shortcodes:["convenience_store"],tags:["convenience","store"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ea.png"},{emoji:"🏫",name:"school",shortcodes:["school"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3eb.png"},{emoji:"🏬",name:"department_store",shortcodes:["department_store"],tags:["department","store"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ec.png"},{emoji:"🏭",name:"factory",shortcodes:["factory"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ed.png"},{emoji:"🏯",name:"japanese_castle",shortcodes:["japanese_castle"],tags:["castle","japanese"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ef.png"},{emoji:"🏰",name:"european_castle",shortcodes:["castle","european_castle"],tags:["european"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f0.png"},{emoji:"💒",name:"wedding",shortcodes:["wedding"],tags:["chapel","romance"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f492.png"},{emoji:"🗼",name:"tokyo_tower",shortcodes:["tokyo_tower"],tags:["tokyo","tower"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fc.png"},{emoji:"🗽",name:"statue_of_liberty",shortcodes:["statue_of_liberty"],tags:["liberty","statue","statue of liberty"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fd.png"},{emoji:"⛪",name:"church",shortcodes:["church"],tags:["christian","cross","religion"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26ea.png"},{emoji:"🕌",name:"mosque",shortcodes:["mosque"],tags:["islam","muslim","religion"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54c.png"},{emoji:"🛕",name:"hindu_temple",shortcodes:["hindu_temple"],tags:["hindu","temple"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d5.png"},{emoji:"🕍",name:"synagogue",shortcodes:["synagogue"],tags:["jew","jewish","religion","temple"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54d.png"},{emoji:"⛩",name:"shinto_shrine",shortcodes:["shinto_shrine"],tags:["religion","shinto","shrine"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26e9-fe0f.png"},{emoji:"🕋",name:"kaaba",shortcodes:["kaaba"],tags:["islam","muslim","religion"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54b.png"},{emoji:"⛲",name:"fountain",shortcodes:["fountain"],tags:["fountain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f2.png"},{emoji:"⛺",name:"tent",shortcodes:["tent"],tags:["camping"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26fa.png"},{emoji:"🌁",name:"foggy",shortcodes:["foggy"],tags:["fog"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f301.png"},{emoji:"🌃",name:"night_with_stars",shortcodes:["night_with_stars"],tags:["night","star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f303.png"},{emoji:"🏙",name:"cityscape",shortcodes:["cityscape"],tags:["city"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d9-fe0f.png"},{emoji:"🌄",name:"sunrise_over_mountains",shortcodes:["sunrise_over_mountains"],tags:["morning","mountain","sun","sunrise"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f304.png"},{emoji:"🌅",name:"sunrise",shortcodes:["sunrise"],tags:["morning","sun"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f305.png"},{emoji:"🌆",name:"city_sunset",shortcodes:["city_dusk"],tags:["city","dusk","evening","landscape","sunset"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f306.png"},{emoji:"🌇",name:"city_sunrise",shortcodes:["city_sunrise","city_sunset"],tags:["dusk","sun"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f307.png"},{emoji:"🌉",name:"bridge_at_night",shortcodes:["bridge_at_night"],tags:["bridge","night"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f309.png"},{emoji:"♨",name:"hotsprings",shortcodes:["hotsprings"],tags:["hot","hotsprings","springs","steaming"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2668-fe0f.png"},{emoji:"🎠",name:"carousel_horse",shortcodes:["carousel_horse"],tags:["carousel","horse"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a0.png"},{emoji:"🛝",name:"playground_slide",shortcodes:["playground_slide","slide"],tags:["amusement park","play","theme park"],group:"travel & places",emoticons:[],version:14},{emoji:"🎡",name:"ferris_wheel",shortcodes:["ferris_wheel"],tags:["amusement park","ferris","theme park","wheel"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a1.png"},{emoji:"🎢",name:"roller_coaster",shortcodes:["roller_coaster"],tags:["amusement park","coaster","roller","theme park"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a2.png"},{emoji:"💈",name:"barber",shortcodes:["barber","barber_pole"],tags:["barber","haircut","pole"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f488.png"},{emoji:"🎪",name:"circus_tent",shortcodes:["circus_tent"],tags:["circus","tent"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3aa.png"},{emoji:"🚂",name:"steam_locomotive",shortcodes:["steam_locomotive"],tags:["engine","railway","steam","train"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f682.png"},{emoji:"🚃",name:"railway_car",shortcodes:["railway_car"],tags:["car","electric","railway","train","tram","trolleybus"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f683.png"},{emoji:"🚄",name:"bullettrain_side",shortcodes:["bullettrain_side"],tags:["railway","shinkansen","speed","train"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f684.png"},{emoji:"🚅",name:"bullettrain_front",shortcodes:["bullettrain_front"],tags:["bullet","railway","shinkansen","speed","train"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f685.png"},{emoji:"🚆",name:"train2",shortcodes:["train"],tags:["railway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f686.png"},{emoji:"🚇",name:"metro",shortcodes:["metro"],tags:["subway"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f687.png"},{emoji:"🚈",name:"light_rail",shortcodes:["light_rail"],tags:["railway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f688.png"},{emoji:"🚉",name:"station",shortcodes:["station"],tags:["railway","train"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f689.png"},{emoji:"🚊",name:"tram",shortcodes:["tram"],tags:["trolleybus"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68a.png"},{emoji:"🚝",name:"monorail",shortcodes:["monorail"],tags:["vehicle"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69d.png"},{emoji:"🚞",name:"mountain_railway",shortcodes:["mountain_railway"],tags:["car","mountain","railway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69e.png"},{emoji:"🚋",name:"train",shortcodes:["tram_car"],tags:["car","tram","trolleybus"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68b.png"},{emoji:"🚌",name:"bus",shortcodes:["bus"],tags:["vehicle"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68c.png"},{emoji:"🚍",name:"oncoming_bus",shortcodes:["oncoming_bus"],tags:["bus","oncoming"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68d.png"},{emoji:"🚎",name:"trolleybus",shortcodes:["trolleybus"],tags:["bus","tram","trolley"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68e.png"},{emoji:"🚐",name:"minibus",shortcodes:["minibus"],tags:["bus"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f690.png"},{emoji:"🚑",name:"ambulance",shortcodes:["ambulance"],tags:["vehicle"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f691.png"},{emoji:"🚒",name:"fire_engine",shortcodes:["fire_engine"],tags:["engine","fire","truck"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f692.png"},{emoji:"🚓",name:"police_car",shortcodes:["police_car"],tags:["car","patrol","police"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f693.png"},{emoji:"🚔",name:"oncoming_police_car",shortcodes:["oncoming_police_car"],tags:["car","oncoming","police"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f694.png"},{emoji:"🚕",name:"taxi",shortcodes:["taxi"],tags:["vehicle"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f695.png"},{emoji:"🚖",name:"oncoming_taxi",shortcodes:["oncoming_taxi"],tags:["oncoming","taxi"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f696.png"},{emoji:"🚗",name:"car",shortcodes:["car","red_car"],tags:["car"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f697.png"},{emoji:"🚘",name:"oncoming_automobile",shortcodes:["oncoming_automobile"],tags:["automobile","car","oncoming"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f698.png"},{emoji:"🚙",name:"blue_car",shortcodes:["blue_car","suv"],tags:["recreational","sport utility"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f699.png"},{emoji:"🛻",name:"pickup_truck",shortcodes:["pickup_truck"],tags:["pick-up","pickup","truck"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6fb.png"},{emoji:"🚚",name:"truck",shortcodes:["delivery_truck","truck"],tags:["delivery","truck"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69a.png"},{emoji:"🚛",name:"articulated_lorry",shortcodes:["articulated_lorry"],tags:["lorry","semi","truck"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69b.png"},{emoji:"🚜",name:"tractor",shortcodes:["tractor"],tags:["vehicle"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69c.png"},{emoji:"🏎",name:"racing_car",shortcodes:["racing_car"],tags:["car","racing"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ce-fe0f.png"},{emoji:"🏍",name:"motorcycle",shortcodes:["motorcycle"],tags:["racing"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cd-fe0f.png"},{emoji:"🛵",name:"motor_scooter",shortcodes:["motor_scooter"],tags:["motor","scooter"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f5.png"},{emoji:"🦽",name:"manual_wheelchair",shortcodes:["manual_wheelchair"],tags:["accessibility"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bd.png"},{emoji:"🦼",name:"motorized_wheelchair",shortcodes:["motorized_wheelchair"],tags:["accessibility"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bc.png"},{emoji:"🛺",name:"auto_rickshaw",shortcodes:["auto_rickshaw"],tags:["tuk tuk"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6fa.png"},{emoji:"🚲",name:"bike",shortcodes:["bicycle","bike"],tags:["bike"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b2.png"},{emoji:"🛴",name:"kick_scooter",shortcodes:["scooter"],tags:["kick","scooter"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f4.png"},{emoji:"🛹",name:"skateboard",shortcodes:["skateboard"],tags:["board"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f9.png"},{emoji:"🛼",name:"roller_skate",shortcodes:["roller_skate"],tags:["roller","skate"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6fc.png"},{emoji:"🚏",name:"busstop",shortcodes:["busstop"],tags:["bus","stop"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68f.png"},{emoji:"🛣",name:"motorway",shortcodes:["motorway"],tags:["highway","road"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e3-fe0f.png"},{emoji:"🛤",name:"railway_track",shortcodes:["railway_track"],tags:["railway","train"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e4-fe0f.png"},{emoji:"🛢",name:"oil_drum",shortcodes:["oil_drum"],tags:["drum","oil"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e2-fe0f.png"},{emoji:"⛽",name:"fuelpump",shortcodes:["fuelpump"],tags:["diesel","fuel","fuelpump","gas","pump","station"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26fd.png"},{emoji:"🛞",name:"wheel",shortcodes:["wheel"],tags:["circle","tire","turn"],group:"travel & places",emoticons:[],version:14},{emoji:"🚨",name:"rotating_light",shortcodes:["rotating_light"],tags:["beacon","car","light","police","revolving"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a8.png"},{emoji:"🚥",name:"traffic_light",shortcodes:["traffic_light"],tags:["light","signal","traffic"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a5.png"},{emoji:"🚦",name:"vertical_traffic_light",shortcodes:["vertical_traffic_light"],tags:["light","signal","traffic"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a6.png"},{emoji:"🛑",name:"stop_sign",shortcodes:["octagonal_sign","stop_sign"],tags:["octagonal","sign","stop"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d1.png"},{emoji:"🚧",name:"construction",shortcodes:["construction"],tags:["barrier"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a7.png"},{emoji:"⚓",name:"anchor",shortcodes:["anchor"],tags:["ship","tool"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2693.png"},{emoji:"🛟",name:"ring_buoy",shortcodes:["lifebuoy","ring_buoy"],tags:["float","life preserver","life saver","rescue","safety"],group:"travel & places",emoticons:[],version:14},{emoji:"⛵",name:"boat",shortcodes:["sailboat"],tags:["boat","resort","sea","yacht"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f5.png"},{emoji:"🛶",name:"canoe",shortcodes:["canoe"],tags:["boat"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f6.png"},{emoji:"🚤",name:"speedboat",shortcodes:["speedboat"],tags:["boat"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a4.png"},{emoji:"🛳",name:"passenger_ship",shortcodes:["cruise_ship","passenger_ship"],tags:["passenger","ship"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f3-fe0f.png"},{emoji:"⛴",name:"ferry",shortcodes:["ferry"],tags:["boat","passenger"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f4-fe0f.png"},{emoji:"🛥",name:"motor_boat",shortcodes:["motorboat"],tags:["boat","motorboat"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e5-fe0f.png"},{emoji:"🚢",name:"ship",shortcodes:["ship"],tags:["boat","passenger"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a2.png"},{emoji:"✈",name:"airplane",shortcodes:["airplane"],tags:["aeroplane"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2708-fe0f.png"},{emoji:"🛩",name:"small_airplane",shortcodes:["small_airplane"],tags:["aeroplane","airplane"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e9-fe0f.png"},{emoji:"🛫",name:"flight_departure",shortcodes:["airplane_departure"],tags:["aeroplane","airplane","check-in","departure","departures"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6eb.png"},{emoji:"🛬",name:"flight_arrival",shortcodes:["airplane_arriving"],tags:["aeroplane","airplane","arrivals","arriving","landing"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ec.png"},{emoji:"🪂",name:"parachute",shortcodes:["parachute"],tags:["hang-glide","parasail","skydive"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa82.png"},{emoji:"💺",name:"seat",shortcodes:["seat"],tags:["chair"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ba.png"},{emoji:"🚁",name:"helicopter",shortcodes:["helicopter"],tags:["vehicle"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f681.png"},{emoji:"🚟",name:"suspension_railway",shortcodes:["suspension_railway"],tags:["railway","suspension"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69f.png"},{emoji:"🚠",name:"mountain_cableway",shortcodes:["mountain_cableway"],tags:["cable","gondola","mountain"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a0.png"},{emoji:"🚡",name:"aerial_tramway",shortcodes:["aerial_tramway"],tags:["aerial","cable","car","gondola","tramway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a1.png"},{emoji:"🛰",name:"artificial_satellite",shortcodes:["satellite"],tags:["space"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f0-fe0f.png"},{emoji:"🚀",name:"rocket",shortcodes:["rocket"],tags:["space"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f680.png"},{emoji:"🛸",name:"flying_saucer",shortcodes:["flying_saucer"],tags:["ufo"],group:"travel & places",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f8.png"},{emoji:"🛎",name:"bellhop_bell",shortcodes:["bellhop"],tags:["bell","bellhop","hotel"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ce-fe0f.png"},{emoji:"🧳",name:"luggage",shortcodes:["luggage"],tags:["packing","travel"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f3.png"},{emoji:"⌛",name:"hourglass",shortcodes:["hourglass"],tags:["sand","timer"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/231b.png"},{emoji:"⏳",name:"hourglass_flowing_sand",shortcodes:["hourglass_flowing_sand"],tags:["hourglass","sand","timer"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f3.png"},{emoji:"⌚",name:"watch",shortcodes:["watch"],tags:["clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/231a.png"},{emoji:"⏰",name:"alarm_clock",shortcodes:["alarm_clock"],tags:["alarm","clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f0.png"},{emoji:"⏱",name:"stopwatch",shortcodes:["stopwatch"],tags:["clock"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f1-fe0f.png"},{emoji:"⏲",name:"timer_clock",shortcodes:["timer_clock"],tags:["clock","timer"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f2-fe0f.png"},{emoji:"🕰",name:"mantelpiece_clock",shortcodes:["clock"],tags:["clock"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f570-fe0f.png"},{emoji:"🕛",name:"clock12",shortcodes:["clock12"],tags:["00","12","12:00","clock","o’clock","twelve"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55b.png"},{emoji:"🕧",name:"clock1230",shortcodes:["clock1230"],tags:["12","12:30","clock","thirty","twelve"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f567.png"},{emoji:"🕐",name:"clock1",shortcodes:["clock1"],tags:["00","1","1:00","clock","one","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f550.png"},{emoji:"🕜",name:"clock130",shortcodes:["clock130"],tags:["1","1:30","clock","one","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55c.png"},{emoji:"🕑",name:"clock2",shortcodes:["clock2"],tags:["00","2","2:00","clock","o’clock","two"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f551.png"},{emoji:"🕝",name:"clock230",shortcodes:["clock230"],tags:["2","2:30","clock","thirty","two"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55d.png"},{emoji:"🕒",name:"clock3",shortcodes:["clock3"],tags:["00","3","3:00","clock","o’clock","three"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f552.png"},{emoji:"🕞",name:"clock330",shortcodes:["clock330"],tags:["3","3:30","clock","thirty","three"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55e.png"},{emoji:"🕓",name:"clock4",shortcodes:["clock4"],tags:["00","4","4:00","clock","four","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f553.png"},{emoji:"🕟",name:"clock430",shortcodes:["clock430"],tags:["4","4:30","clock","four","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55f.png"},{emoji:"🕔",name:"clock5",shortcodes:["clock5"],tags:["00","5","5:00","clock","five","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f554.png"},{emoji:"🕠",name:"clock530",shortcodes:["clock530"],tags:["5","5:30","clock","five","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f560.png"},{emoji:"🕕",name:"clock6",shortcodes:["clock6"],tags:["00","6","6:00","clock","o’clock","six"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f555.png"},{emoji:"🕡",name:"clock630",shortcodes:["clock630"],tags:["6","6:30","clock","six","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f561.png"},{emoji:"🕖",name:"clock7",shortcodes:["clock7"],tags:["00","7","7:00","clock","o’clock","seven"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f556.png"},{emoji:"🕢",name:"clock730",shortcodes:["clock730"],tags:["7","7:30","clock","seven","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f562.png"},{emoji:"🕗",name:"clock8",shortcodes:["clock8"],tags:["00","8","8:00","clock","eight","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f557.png"},{emoji:"🕣",name:"clock830",shortcodes:["clock830"],tags:["8","8:30","clock","eight","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f563.png"},{emoji:"🕘",name:"clock9",shortcodes:["clock9"],tags:["00","9","9:00","clock","nine","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f558.png"},{emoji:"🕤",name:"clock930",shortcodes:["clock930"],tags:["9","9:30","clock","nine","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f564.png"},{emoji:"🕙",name:"clock10",shortcodes:["clock10"],tags:["00","10","10:00","clock","o’clock","ten"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f559.png"},{emoji:"🕥",name:"clock1030",shortcodes:["clock1030"],tags:["10","10:30","clock","ten","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f565.png"},{emoji:"🕚",name:"clock11",shortcodes:["clock11"],tags:["00","11","11:00","clock","eleven","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55a.png"},{emoji:"🕦",name:"clock1130",shortcodes:["clock1130"],tags:["11","11:30","clock","eleven","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f566.png"},{emoji:"🌑",name:"new_moon",shortcodes:["new_moon"],tags:["dark","moon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f311.png"},{emoji:"🌒",name:"waxing_crescent_moon",shortcodes:["waxing_crescent_moon"],tags:["crescent","moon","waxing"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f312.png"},{emoji:"🌓",name:"first_quarter_moon",shortcodes:["first_quarter_moon"],tags:["moon","quarter"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f313.png"},{emoji:"🌔",name:"moon",shortcodes:["waxing_gibbous_moon"],tags:["gibbous","moon","waxing"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f314.png"},{emoji:"🌕",name:"full_moon",shortcodes:["full_moon"],tags:["full","moon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f315.png"},{emoji:"🌖",name:"waning_gibbous_moon",shortcodes:["waning_gibbous_moon"],tags:["gibbous","moon","waning"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f316.png"},{emoji:"🌗",name:"last_quarter_moon",shortcodes:["last_quarter_moon"],tags:["moon","quarter"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f317.png"},{emoji:"🌘",name:"waning_crescent_moon",shortcodes:["waning_crescent_moon"],tags:["crescent","moon","waning"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f318.png"},{emoji:"🌙",name:"crescent_moon",shortcodes:["crescent_moon"],tags:["crescent","moon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f319.png"},{emoji:"🌚",name:"new_moon_with_face",shortcodes:["new_moon_with_face"],tags:["face","moon"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31a.png"},{emoji:"🌛",name:"first_quarter_moon_with_face",shortcodes:["first_quarter_moon_with_face"],tags:["face","moon","quarter"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31b.png"},{emoji:"🌜",name:"last_quarter_moon_with_face",shortcodes:["last_quarter_moon_with_face"],tags:["face","moon","quarter"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31c.png"},{emoji:"🌡",name:"thermometer",shortcodes:["thermometer"],tags:["weather"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f321-fe0f.png"},{emoji:"☀",name:"sunny",shortcodes:["sun"],tags:["bright","rays","sunny"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2600-fe0f.png"},{emoji:"🌝",name:"full_moon_with_face",shortcodes:["full_moon_with_face"],tags:["bright","face","full","moon"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31d.png"},{emoji:"🌞",name:"sun_with_face",shortcodes:["sun_with_face"],tags:["bright","face","sun"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31e.png"},{emoji:"🪐",name:"ringed_planet",shortcodes:["ringed_planet","saturn"],tags:["saturn","saturnine"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa90.png"},{emoji:"⭐",name:"star",shortcodes:["star"],tags:["star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b50.png"},{emoji:"🌟",name:"star2",shortcodes:["glowing_star","star2"],tags:["glittery","glow","shining","sparkle","star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31f.png"},{emoji:"🌠",name:"stars",shortcodes:["shooting_star","stars"],tags:["falling","shooting","star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f320.png"},{emoji:"🌌",name:"milky_way",shortcodes:["milky_way"],tags:["space"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30c.png"},{emoji:"☁",name:"cloud",shortcodes:["cloud"],tags:["weather"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2601-fe0f.png"},{emoji:"⛅",name:"partly_sunny",shortcodes:["partly_sunny","sun_behind_cloud"],tags:["cloud","sun"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26c5.png"},{emoji:"⛈",name:"cloud_with_lightning_and_rain",shortcodes:["stormy","thunder_cloud_and_rain"],tags:["cloud","rain","thunder"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26c8-fe0f.png"},{emoji:"🌤",name:"sun_behind_small_cloud",shortcodes:["sun_behind_small_cloud","sunny"],tags:["cloud","sun"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f324-fe0f.png"},{emoji:"🌥",name:"sun_behind_large_cloud",shortcodes:["cloudy","sun_behind_large_cloud"],tags:["cloud","sun"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f325-fe0f.png"},{emoji:"🌦",name:"sun_behind_rain_cloud",shortcodes:["sun_and_rain","sun_behind_rain_cloud"],tags:["cloud","rain","sun"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f326-fe0f.png"},{emoji:"🌧",name:"cloud_with_rain",shortcodes:["cloud_with_rain","rainy"],tags:["cloud","rain"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f327-fe0f.png"},{emoji:"🌨",name:"cloud_with_snow",shortcodes:["cloud_with_snow","snowy"],tags:["cloud","cold","snow"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f328-fe0f.png"},{emoji:"🌩",name:"cloud_with_lightning",shortcodes:["cloud_with_lightning","lightning"],tags:["cloud","lightning"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f329-fe0f.png"},{emoji:"🌪",name:"tornado",shortcodes:["tornado"],tags:["cloud","whirlwind"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32a-fe0f.png"},{emoji:"🌫",name:"fog",shortcodes:["fog"],tags:["cloud"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32b-fe0f.png"},{emoji:"🌬",name:"wind_face",shortcodes:["wind_blowing_face"],tags:["blow","cloud","face","wind"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32c-fe0f.png"},{emoji:"🌀",name:"cyclone",shortcodes:["cyclone"],tags:["dizzy","hurricane","twister","typhoon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f300.png"},{emoji:"🌈",name:"rainbow",shortcodes:["rainbow"],tags:["rain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f308.png"},{emoji:"🌂",name:"closed_umbrella",shortcodes:["closed_umbrella"],tags:["clothing","rain","umbrella"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f302.png"},{emoji:"☂",name:"open_umbrella",shortcodes:["umbrella"],tags:["clothing","rain"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2602-fe0f.png"},{emoji:"☔",name:"umbrella",shortcodes:["umbrella_with_rain"],tags:["clothing","drop","rain","umbrella"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2614.png"},{emoji:"⛱",name:"parasol_on_ground",shortcodes:["beach_umbrella","umbrella_on_ground"],tags:["rain","sun","umbrella"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f1-fe0f.png"},{emoji:"⚡",name:"zap",shortcodes:["high_voltage","zap"],tags:["danger","electric","lightning","voltage","zap"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26a1.png"},{emoji:"❄",name:"snowflake",shortcodes:["snowflake"],tags:["cold","snow"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2744-fe0f.png"},{emoji:"☃",name:"snowman_with_snow",shortcodes:["snowman2"],tags:["cold","snow"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2603-fe0f.png"},{emoji:"⛄",name:"snowman",shortcodes:["snowman"],tags:["cold","snow","snowman"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26c4.png"},{emoji:"☄",name:"comet",shortcodes:["comet"],tags:["space"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2604-fe0f.png"},{emoji:"🔥",name:"fire",shortcodes:["fire"],tags:["flame","tool"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f525.png"},{emoji:"💧",name:"droplet",shortcodes:["droplet"],tags:["cold","comic","drop","sweat"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a7.png"},{emoji:"🌊",name:"ocean",shortcodes:["ocean","water_wave"],tags:["ocean","water","wave"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30a.png"},{emoji:"🎃",name:"jack_o_lantern",shortcodes:["jack_o_lantern"],tags:["celebration","halloween","jack","lantern"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f383.png"},{emoji:"🎄",name:"christmas_tree",shortcodes:["christmas_tree"],tags:["celebration","christmas","tree"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f384.png"},{emoji:"🎆",name:"fireworks",shortcodes:["fireworks"],tags:["celebration"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f386.png"},{emoji:"🎇",name:"sparkler",shortcodes:["sparkler"],tags:["celebration","fireworks","sparkle"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f387.png"},{emoji:"🧨",name:"firecracker",shortcodes:["firecracker"],tags:["dynamite","explosive","fireworks"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e8.png"},{emoji:"✨",name:"sparkles",shortcodes:["sparkles"],tags:["*","sparkle","star"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2728.png"},{emoji:"🎈",name:"balloon",shortcodes:["balloon"],tags:["celebration"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f388.png"},{emoji:"🎉",name:"tada",shortcodes:["party","party_popper","tada"],tags:["celebration","party","popper","tada"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f389.png"},{emoji:"🎊",name:"confetti_ball",shortcodes:["confetti_ball"],tags:["ball","celebration","confetti"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38a.png"},{emoji:"🎋",name:"tanabata_tree",shortcodes:["tanabata_tree"],tags:["banner","celebration","japanese","tree"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38b.png"},{emoji:"🎍",name:"bamboo",shortcodes:["bamboo"],tags:["bamboo","celebration","japanese","pine"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38d.png"},{emoji:"🎎",name:"dolls",shortcodes:["dolls"],tags:["celebration","doll","festival","japanese","japanese dolls"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38e.png"},{emoji:"🎏",name:"flags",shortcodes:["carp_streamer","flags"],tags:["carp","celebration","streamer"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38f.png"},{emoji:"🎐",name:"wind_chime",shortcodes:["wind_chime"],tags:["bell","celebration","chime","wind"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f390.png"},{emoji:"🎑",name:"rice_scene",shortcodes:["moon_ceremony","rice_scene"],tags:["celebration","ceremony","moon"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f391.png"},{emoji:"🧧",name:"red_envelope",shortcodes:["red_envelope"],tags:["gift","good luck","hóngbāo","lai see","money"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e7.png"},{emoji:"🎀",name:"ribbon",shortcodes:["ribbon"],tags:["celebration"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f380.png"},{emoji:"🎁",name:"gift",shortcodes:["gift"],tags:["box","celebration","gift","present","wrapped"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f381.png"},{emoji:"🎗",name:"reminder_ribbon",shortcodes:["reminder_ribbon"],tags:["celebration","reminder","ribbon"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f397-fe0f.png"},{emoji:"🎟",name:"tickets",shortcodes:["admission_tickets","tickets"],tags:["admission","ticket"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39f-fe0f.png"},{emoji:"🎫",name:"ticket",shortcodes:["ticket"],tags:["admission"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ab.png"},{emoji:"🎖",name:"medal_military",shortcodes:["military_medal"],tags:["celebration","medal","military"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f396-fe0f.png"},{emoji:"🏆",name:"trophy",shortcodes:["trophy"],tags:["prize"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c6.png"},{emoji:"🏅",name:"medal_sports",shortcodes:["sports_medal"],tags:["medal"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c5.png"},{emoji:"🥇",name:"1st_place_medal",shortcodes:["1st","first_place_medal"],tags:["first","gold","medal"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f947.png"},{emoji:"🥈",name:"2nd_place_medal",shortcodes:["2nd","second_place_medal"],tags:["medal","second","silver"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f948.png"},{emoji:"🥉",name:"3rd_place_medal",shortcodes:["3rd","third_place_medal"],tags:["bronze","medal","third"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f949.png"},{emoji:"⚽",name:"soccer",shortcodes:["soccer"],tags:["ball","football","soccer"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26bd.png"},{emoji:"⚾",name:"baseball",shortcodes:["baseball"],tags:["ball"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26be.png"},{emoji:"🥎",name:"softball",shortcodes:["softball"],tags:["ball","glove","underarm"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94e.png"},{emoji:"🏀",name:"basketball",shortcodes:["basketball"],tags:["ball","hoop"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c0.png"},{emoji:"🏐",name:"volleyball",shortcodes:["volleyball"],tags:["ball","game"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d0.png"},{emoji:"🏈",name:"football",shortcodes:["football"],tags:["american","ball","football"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c8.png"},{emoji:"🏉",name:"rugby_football",shortcodes:["rugby_football"],tags:["ball","football","rugby"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c9.png"},{emoji:"🎾",name:"tennis",shortcodes:["tennis"],tags:["ball","racquet"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3be.png"},{emoji:"🥏",name:"flying_disc",shortcodes:["flying_disc"],tags:["ultimate"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94f.png"},{emoji:"🎳",name:"bowling",shortcodes:["bowling"],tags:["ball","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b3.png"},{emoji:"🏏",name:"cricket_game",shortcodes:["cricket_game"],tags:["ball","bat","game"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cf.png"},{emoji:"🏑",name:"field_hockey",shortcodes:["field_hockey"],tags:["ball","field","game","hockey","stick"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d1.png"},{emoji:"🏒",name:"ice_hockey",shortcodes:["hockey"],tags:["game","hockey","ice","puck","stick"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d2.png"},{emoji:"🥍",name:"lacrosse",shortcodes:["lacrosse"],tags:["ball","goal","stick"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94d.png"},{emoji:"🏓",name:"ping_pong",shortcodes:["ping_pong"],tags:["ball","bat","game","paddle","table tennis"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d3.png"},{emoji:"🏸",name:"badminton",shortcodes:["badminton"],tags:["birdie","game","racquet","shuttlecock"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f8.png"},{emoji:"🥊",name:"boxing_glove",shortcodes:["boxing_glove"],tags:["boxing","glove"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94a.png"},{emoji:"🥋",name:"martial_arts_uniform",shortcodes:["martial_arts_uniform"],tags:["judo","karate","martial arts","taekwondo","uniform"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94b.png"},{emoji:"🥅",name:"goal_net",shortcodes:["goal_net"],tags:["goal","net"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f945.png"},{emoji:"⛳",name:"golf",shortcodes:["golf"],tags:["golf","hole"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f3.png"},{emoji:"⛸",name:"ice_skate",shortcodes:["ice_skate"],tags:["ice","skate"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f8-fe0f.png"},{emoji:"🎣",name:"fishing_pole_and_fish",shortcodes:["fishing_pole","fishing_pole_and_fish"],tags:["fish","pole"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a3.png"},{emoji:"🤿",name:"diving_mask",shortcodes:["diving_mask"],tags:["diving","scuba","snorkeling"],group:"activities",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93f.png"},{emoji:"🎽",name:"running_shirt_with_sash",shortcodes:["running_shirt","running_shirt_with_sash"],tags:["athletics","running","sash","shirt"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bd.png"},{emoji:"🎿",name:"ski",shortcodes:["ski"],tags:["ski","snow"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bf.png"},{emoji:"🛷",name:"sled",shortcodes:["sled"],tags:["sledge","sleigh"],group:"activities",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f7.png"},{emoji:"🥌",name:"curling_stone",shortcodes:["curling_stone"],tags:["game","rock"],group:"activities",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94c.png"},{emoji:"🎯",name:"dart",shortcodes:["bullseye","dart","direct_hit"],tags:["dart","direct hit","game","hit","target"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3af.png"},{emoji:"🪀",name:"yo_yo",shortcodes:["yo_yo"],tags:["fluctuate","toy"],group:"activities",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa80.png"},{emoji:"🪁",name:"kite",shortcodes:["kite"],tags:["fly","soar"],group:"activities",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa81.png"},{emoji:"🔫",name:"gun",shortcodes:["gun","pistol"],tags:["gun","handgun","pistol","revolver","tool","water","weapon"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52b.png"},{emoji:"🎱",name:"8ball",shortcodes:["8ball","billiards"],tags:["8","ball","billiard","eight","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b1.png"},{emoji:"🔮",name:"crystal_ball",shortcodes:["crystal_ball"],tags:["ball","crystal","fairy tale","fantasy","fortune","tool"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52e.png"},{emoji:"🪄",name:"magic_wand",shortcodes:["magic_wand"],tags:["magic","witch","wizard"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa84.png"},{emoji:"🎮",name:"video_game",shortcodes:["controller","video_game"],tags:["controller","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ae.png"},{emoji:"🕹",name:"joystick",shortcodes:["joystick"],tags:["game","video game"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f579-fe0f.png"},{emoji:"🎰",name:"slot_machine",shortcodes:["slot_machine"],tags:["game","slot"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b0.png"},{emoji:"🎲",name:"game_die",shortcodes:["game_die"],tags:["dice","die","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b2.png"},{emoji:"🧩",name:"jigsaw",shortcodes:["jigsaw","puzzle_piece"],tags:["clue","interlocking","jigsaw","piece","puzzle"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e9.png"},{emoji:"🧸",name:"teddy_bear",shortcodes:["teddy_bear"],tags:["plaything","plush","stuffed","toy"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f8.png"},{emoji:"🪅",name:"pinata",shortcodes:["pinata"],tags:["celebration","party"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa85.png"},{emoji:"🪩",name:"mirror_ball",shortcodes:["disco","disco_ball","mirror_ball"],tags:["dance","disco","glitter","party"],group:"activities",emoticons:[],version:14},{emoji:"🪆",name:"nesting_dolls",shortcodes:["nesting_dolls"],tags:["doll","nesting","russia"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa86.png"},{emoji:"♠",name:"spades",shortcodes:["spades"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2660-fe0f.png"},{emoji:"♥",name:"hearts",shortcodes:["hearts"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2665-fe0f.png"},{emoji:"♦",name:"diamonds",shortcodes:["diamonds"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2666-fe0f.png"},{emoji:"♣",name:"clubs",shortcodes:["clubs"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2663-fe0f.png"},{emoji:"♟",name:"chess_pawn",shortcodes:["chess_pawn"],tags:["chess","dupe","expendable"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/265f-fe0f.png"},{emoji:"🃏",name:"black_joker",shortcodes:["black_joker"],tags:["card","game","wildcard"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f0cf.png"},{emoji:"🀄",name:"mahjong",shortcodes:["mahjong"],tags:["game","mahjong","red"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f004.png"},{emoji:"🎴",name:"flower_playing_cards",shortcodes:["flower_playing_cards"],tags:["card","flower","game","japanese","playing"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b4.png"},{emoji:"🎭",name:"performing_arts",shortcodes:["performing_arts"],tags:["art","mask","performing","theater","theatre"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ad.png"},{emoji:"🖼",name:"framed_picture",shortcodes:["frame_with_picture","framed_picture"],tags:["art","frame","museum","painting","picture"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5bc-fe0f.png"},{emoji:"🎨",name:"art",shortcodes:["art","palette"],tags:["art","museum","painting","palette"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a8.png"},{emoji:"🧵",name:"thread",shortcodes:["thread"],tags:["needle","sewing","spool","string"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f5.png"},{emoji:"🪡",name:"sewing_needle",shortcodes:["sewing_needle"],tags:["embroidery","needle","sewing","stitches","sutures","tailoring"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa1.png"},{emoji:"🧶",name:"yarn",shortcodes:["yarn"],tags:["ball","crochet","knit"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f6.png"},{emoji:"🪢",name:"knot",shortcodes:["knot"],tags:["rope","tangled","tie","twine","twist"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa2.png"},{emoji:"👓",name:"eyeglasses",shortcodes:["eyeglasses","glasses"],tags:["clothing","eye","eyeglasses","eyewear"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f453.png"},{emoji:"🕶",name:"dark_sunglasses",shortcodes:["sunglasses"],tags:["dark","eye","eyewear","glasses"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f576-fe0f.png"},{emoji:"🥽",name:"goggles",shortcodes:["goggles"],tags:["eye protection","swimming","welding"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97d.png"},{emoji:"🥼",name:"lab_coat",shortcodes:["lab_coat"],tags:["doctor","experiment","scientist"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97c.png"},{emoji:"🦺",name:"safety_vest",shortcodes:["safety_vest"],tags:["emergency","safety","vest"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ba.png"},{emoji:"👔",name:"necktie",shortcodes:["necktie"],tags:["clothing","tie"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f454.png"},{emoji:"👕",name:"shirt",shortcodes:["shirt"],tags:["clothing","shirt","tshirt"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f455.png"},{emoji:"👖",name:"jeans",shortcodes:["jeans"],tags:["clothing","pants","trousers"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f456.png"},{emoji:"🧣",name:"scarf",shortcodes:["scarf"],tags:["neck"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e3.png"},{emoji:"🧤",name:"gloves",shortcodes:["gloves"],tags:["hand"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e4.png"},{emoji:"🧥",name:"coat",shortcodes:["coat"],tags:["jacket"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e5.png"},{emoji:"🧦",name:"socks",shortcodes:["socks"],tags:["stocking"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e6.png"},{emoji:"👗",name:"dress",shortcodes:["dress"],tags:["clothing"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f457.png"},{emoji:"👘",name:"kimono",shortcodes:["kimono"],tags:["clothing"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f458.png"},{emoji:"🥻",name:"sari",shortcodes:["sari"],tags:["clothing","dress"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97b.png"},{emoji:"🩱",name:"one_piece_swimsuit",shortcodes:["one_piece_swimsuit"],tags:["bathing suit"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa71.png"},{emoji:"🩲",name:"swim_brief",shortcodes:["briefs"],tags:["bathing suit","one-piece","swimsuit","underwear"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa72.png"},{emoji:"🩳",name:"shorts",shortcodes:["shorts"],tags:["bathing suit","pants","underwear"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa73.png"},{emoji:"👙",name:"bikini",shortcodes:["bikini"],tags:["clothing","swim"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f459.png"},{emoji:"👚",name:"womans_clothes",shortcodes:["womans_clothes"],tags:["clothing","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45a.png"},{emoji:"🪭",name:"folding_hand_fan",shortcodes:["folding_fan"],tags:["cooling","dance","fan","flutter","hot","shy"],group:"objects",emoticons:[],version:15},{emoji:"👛",name:"purse",shortcodes:["purse"],tags:["clothing","coin"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45b.png"},{emoji:"👜",name:"handbag",shortcodes:["handbag"],tags:["bag","clothing","purse"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45c.png"},{emoji:"👝",name:"pouch",shortcodes:["clutch_bag","pouch"],tags:["bag","clothing","pouch"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45d.png"},{emoji:"🛍",name:"shopping",shortcodes:["shopping_bags"],tags:["bag","hotel","shopping"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cd-fe0f.png"},{emoji:"🎒",name:"school_satchel",shortcodes:["backpack","school_satchel"],tags:["bag","rucksack","satchel","school"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f392.png"},{emoji:"🩴",name:"thong_sandal",shortcodes:["thong_sandal"],tags:["beach sandals","sandals","thong sandals","thongs","zōri"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa74.png"},{emoji:"👞",name:"mans_shoe",shortcodes:["mans_shoe"],tags:["clothing","man","shoe"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45e.png"},{emoji:"👟",name:"athletic_shoe",shortcodes:["athletic_shoe","sneaker"],tags:["athletic","clothing","shoe","sneaker"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45f.png"},{emoji:"🥾",name:"hiking_boot",shortcodes:["hiking_boot"],tags:["backpacking","boot","camping","hiking"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97e.png"},{emoji:"🥿",name:"flat_shoe",shortcodes:["flat_shoe","womans_flat_shoe"],tags:["ballet flat","slip-on","slipper"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97f.png"},{emoji:"👠",name:"high_heel",shortcodes:["high_heel"],tags:["clothing","heel","shoe","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f460.png"},{emoji:"👡",name:"sandal",shortcodes:["sandal"],tags:["clothing","sandal","shoe","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f461.png"},{emoji:"🩰",name:"ballet_shoes",shortcodes:["ballet_shoes"],tags:["ballet","dance"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa70.png"},{emoji:"👢",name:"boot",shortcodes:["boot"],tags:["boot","clothing","shoe","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f462.png"},{emoji:"🪮",name:"hair_pick",shortcodes:["hair_pick"],tags:["afro","comb","hair","pick"],group:"objects",emoticons:[],version:15},{emoji:"👑",name:"crown",shortcodes:["crown"],tags:["clothing","king","queen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f451.png"},{emoji:"👒",name:"womans_hat",shortcodes:["womans_hat"],tags:["clothing","hat","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f452.png"},{emoji:"🎩",name:"tophat",shortcodes:["top_hat","tophat"],tags:["clothing","hat","top","tophat"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a9.png"},{emoji:"🎓",name:"mortar_board",shortcodes:["graduation_cap","mortar_board"],tags:["cap","celebration","clothing","graduation","hat"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f393.png"},{emoji:"🧢",name:"billed_cap",shortcodes:["billed_cap"],tags:["baseball cap"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e2.png"},{emoji:"🪖",name:"military_helmet",shortcodes:["military_helmet"],tags:["army","helmet","military","soldier","warrior"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa96.png"},{emoji:"⛑",name:"rescue_worker_helmet",shortcodes:["helmet_with_cross","rescue_worker_helmet"],tags:["aid","cross","face","hat","helmet"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26d1-fe0f.png"},{emoji:"📿",name:"prayer_beads",shortcodes:["prayer_beads"],tags:["beads","clothing","necklace","prayer","religion"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ff.png"},{emoji:"💄",name:"lipstick",shortcodes:["lipstick"],tags:["cosmetics","makeup"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f484.png"},{emoji:"💍",name:"ring",shortcodes:["ring"],tags:["diamond"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48d.png"},{emoji:"💎",name:"gem",shortcodes:["gem"],tags:["diamond","gem","jewel"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48e.png"},{emoji:"🔇",name:"mute",shortcodes:["mute","no_sound"],tags:["mute","quiet","silent","speaker"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f507.png"},{emoji:"🔈",name:"speaker",shortcodes:["low_volume","quiet_sound","speaker"],tags:["soft"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f508.png"},{emoji:"🔉",name:"sound",shortcodes:["medium_volumne","sound"],tags:["medium"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f509.png"},{emoji:"🔊",name:"loud_sound",shortcodes:["high_volume","loud_sound"],tags:["loud"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50a.png"},{emoji:"📢",name:"loudspeaker",shortcodes:["loudspeaker"],tags:["loud","public address"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e2.png"},{emoji:"📣",name:"mega",shortcodes:["mega","megaphone"],tags:["cheering"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e3.png"},{emoji:"📯",name:"postal_horn",shortcodes:["postal_horn"],tags:["horn","post","postal"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ef.png"},{emoji:"🔔",name:"bell",shortcodes:["bell"],tags:["bell"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f514.png"},{emoji:"🔕",name:"no_bell",shortcodes:["no_bell"],tags:["bell","forbidden","mute","quiet","silent"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f515.png"},{emoji:"🎼",name:"musical_score",shortcodes:["musical_score"],tags:["music","score"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bc.png"},{emoji:"🎵",name:"musical_note",shortcodes:["musical_note"],tags:["music","note"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b5.png"},{emoji:"🎶",name:"notes",shortcodes:["musical_notes","notes"],tags:["music","note","notes"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b6.png"},{emoji:"🎙",name:"studio_microphone",shortcodes:["studio_microphone"],tags:["mic","microphone","music","studio"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f399-fe0f.png"},{emoji:"🎚",name:"level_slider",shortcodes:["level_slider"],tags:["level","music","slider"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39a-fe0f.png"},{emoji:"🎛",name:"control_knobs",shortcodes:["control_knobs"],tags:["control","knobs","music"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39b-fe0f.png"},{emoji:"🎤",name:"microphone",shortcodes:["microphone"],tags:["karaoke","mic"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a4.png"},{emoji:"🎧",name:"headphones",shortcodes:["headphones"],tags:["earbud"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a7.png"},{emoji:"📻",name:"radio",shortcodes:["radio"],tags:["video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fb.png"},{emoji:"🎷",name:"saxophone",shortcodes:["saxophone"],tags:["instrument","music","sax"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b7.png"},{emoji:"🪗",name:"accordion",shortcodes:["accordion"],tags:["concertina","squeeze box"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa97.png"},{emoji:"🎸",name:"guitar",shortcodes:["guitar"],tags:["instrument","music"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b8.png"},{emoji:"🎹",name:"musical_keyboard",shortcodes:["musical_keyboard"],tags:["instrument","keyboard","music","piano"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b9.png"},{emoji:"🎺",name:"trumpet",shortcodes:["trumpet"],tags:["instrument","music"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ba.png"},{emoji:"🎻",name:"violin",shortcodes:["violin"],tags:["instrument","music"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bb.png"},{emoji:"🪕",name:"banjo",shortcodes:["banjo"],tags:["music","stringed"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa95.png"},{emoji:"🥁",name:"drum",shortcodes:["drum"],tags:["drumsticks","music"],group:"objects",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f941.png"},{emoji:"🪘",name:"long_drum",shortcodes:["long_drum"],tags:["beat","conga","drum","rhythm"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa98.png"},{emoji:"🪇",name:"maracas",shortcodes:["maracas"],tags:["instrument","music","percussion","rattle","shake"],group:"objects",emoticons:[],version:15},{emoji:"🪈",name:"flute",shortcodes:["flute"],tags:["fife","music","pipe","recorder","woodwind"],group:"objects",emoticons:[],version:15},{emoji:"📱",name:"iphone",shortcodes:["android","iphone","mobile_phone"],tags:["cell","mobile","phone","telephone"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f1.png"},{emoji:"📲",name:"calling",shortcodes:["calling","mobile_phone_arrow"],tags:["arrow","cell","mobile","phone","receive"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f2.png"},{emoji:"☎",name:"phone",shortcodes:["telephone"],tags:["phone"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/260e-fe0f.png"},{emoji:"📞",name:"telephone_receiver",shortcodes:["telephone_receiver"],tags:["phone","receiver","telephone"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4de.png"},{emoji:"📟",name:"pager",shortcodes:["pager"],tags:["pager"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4df.png"},{emoji:"📠",name:"fax",shortcodes:["fax","fax_machine"],tags:["fax"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e0.png"},{emoji:"🔋",name:"battery",shortcodes:["battery"],tags:["battery"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50b.png"},{emoji:"🪫",name:"low_battery",shortcodes:["low_battery"],tags:["electronic","low energy"],group:"objects",emoticons:[],version:14},{emoji:"🔌",name:"electric_plug",shortcodes:["electric_plug"],tags:["electric","electricity","plug"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50c.png"},{emoji:"💻",name:"computer",shortcodes:["laptop"],tags:["computer","pc","personal"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bb.png"},{emoji:"🖥",name:"desktop_computer",shortcodes:["computer","desktop_computer"],tags:["computer","desktop"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5a5-fe0f.png"},{emoji:"🖨",name:"printer",shortcodes:["printer"],tags:["computer"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5a8-fe0f.png"},{emoji:"⌨",name:"keyboard",shortcodes:["keyboard"],tags:["computer"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2328-fe0f.png"},{emoji:"🖱",name:"computer_mouse",shortcodes:["computer_mouse"],tags:["computer"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5b1-fe0f.png"},{emoji:"🖲",name:"trackball",shortcodes:["trackball"],tags:["computer"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5b2-fe0f.png"},{emoji:"💽",name:"minidisc",shortcodes:["computer_disk","minidisc"],tags:["computer","disk","minidisk","optical"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bd.png"},{emoji:"💾",name:"floppy_disk",shortcodes:["floppy_disk"],tags:["computer","disk","floppy"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4be.png"},{emoji:"💿",name:"cd",shortcodes:["cd","optical_disk"],tags:["cd","computer","disk","optical"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bf.png"},{emoji:"📀",name:"dvd",shortcodes:["dvd"],tags:["blu-ray","computer","disk","optical"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c0.png"},{emoji:"🧮",name:"abacus",shortcodes:["abacus"],tags:["calculation"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ee.png"},{emoji:"🎥",name:"movie_camera",shortcodes:["movie_camera"],tags:["camera","cinema","movie"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a5.png"},{emoji:"🎞",name:"film_strip",shortcodes:["film_frames"],tags:["cinema","film","frames","movie"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39e-fe0f.png"},{emoji:"📽",name:"film_projector",shortcodes:["film_projector"],tags:["cinema","film","movie","projector","video"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fd-fe0f.png"},{emoji:"🎬",name:"clapper",shortcodes:["clapper"],tags:["clapper","movie"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ac.png"},{emoji:"📺",name:"tv",shortcodes:["tv"],tags:["tv","video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fa.png"},{emoji:"📷",name:"camera",shortcodes:["camera"],tags:["video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f7.png"},{emoji:"📸",name:"camera_flash",shortcodes:["camera_with_flash"],tags:["camera","flash","video"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f8.png"},{emoji:"📹",name:"video_camera",shortcodes:["video_camera"],tags:["camera","video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f9.png"},{emoji:"📼",name:"vhs",shortcodes:["vhs","videocassette"],tags:["tape","vhs","video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fc.png"},{emoji:"🔍",name:"mag",shortcodes:["mag"],tags:["glass","magnifying","search","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50d.png"},{emoji:"🔎",name:"mag_right",shortcodes:["mag_right"],tags:["glass","magnifying","search","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50e.png"},{emoji:"🕯",name:"candle",shortcodes:["candle"],tags:["light"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f56f-fe0f.png"},{emoji:"💡",name:"bulb",shortcodes:["bulb","light_bulb"],tags:["bulb","comic","electric","idea","light"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a1.png"},{emoji:"🔦",name:"flashlight",shortcodes:["flashlight"],tags:["electric","light","tool","torch"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f526.png"},{emoji:"🏮",name:"izakaya_lantern",shortcodes:["izakaya_lantern","red_paper_lantern"],tags:["bar","lantern","light","red"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ee.png"},{emoji:"🪔",name:"diya_lamp",shortcodes:["diya_lamp"],tags:["diya","lamp","oil"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa94.png"},{emoji:"📔",name:"notebook_with_decorative_cover",shortcodes:["notebook_with_decorative_cover"],tags:["book","cover","decorated","notebook"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d4.png"},{emoji:"📕",name:"closed_book",shortcodes:["closed_book"],tags:["book","closed"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d5.png"},{emoji:"📖",name:"book",shortcodes:["book","open_book"],tags:["book","open"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d6.png"},{emoji:"📗",name:"green_book",shortcodes:["green_book"],tags:["book","green"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d7.png"},{emoji:"📘",name:"blue_book",shortcodes:["blue_book"],tags:["blue","book"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d8.png"},{emoji:"📙",name:"orange_book",shortcodes:["orange_book"],tags:["book","orange"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d9.png"},{emoji:"📚",name:"books",shortcodes:["books"],tags:["book"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4da.png"},{emoji:"📓",name:"notebook",shortcodes:["notebook"],tags:["notebook"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d3.png"},{emoji:"📒",name:"ledger",shortcodes:["ledger"],tags:["notebook"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d2.png"},{emoji:"📃",name:"page_with_curl",shortcodes:["page_with_curl"],tags:["curl","document","page"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c3.png"},{emoji:"📜",name:"scroll",shortcodes:["scroll"],tags:["paper"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4dc.png"},{emoji:"📄",name:"page_facing_up",shortcodes:["page_facing_up"],tags:["document","page"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c4.png"},{emoji:"📰",name:"newspaper",shortcodes:["newspaper"],tags:["news","paper"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f0.png"},{emoji:"🗞",name:"newspaper_roll",shortcodes:["rolled_up_newspaper"],tags:["news","newspaper","paper","rolled"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5de-fe0f.png"},{emoji:"📑",name:"bookmark_tabs",shortcodes:["bookmark_tabs"],tags:["bookmark","mark","marker","tabs"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d1.png"},{emoji:"🔖",name:"bookmark",shortcodes:["bookmark"],tags:["mark"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f516.png"},{emoji:"🏷",name:"label",shortcodes:["label"],tags:["label"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f7-fe0f.png"},{emoji:"💰",name:"moneybag",shortcodes:["moneybag"],tags:["bag","dollar","money","moneybag"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b0.png"},{emoji:"🪙",name:"coin",shortcodes:["coin"],tags:["gold","metal","money","silver","treasure"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa99.png"},{emoji:"💴",name:"yen",shortcodes:["yen"],tags:["banknote","bill","currency","money","note","yen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b4.png"},{emoji:"💵",name:"dollar",shortcodes:["dollar"],tags:["banknote","bill","currency","dollar","money","note"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b5.png"},{emoji:"💶",name:"euro",shortcodes:["euro"],tags:["banknote","bill","currency","euro","money","note"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b6.png"},{emoji:"💷",name:"pound",shortcodes:["pound"],tags:["banknote","bill","currency","money","note","pound"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b7.png"},{emoji:"💸",name:"money_with_wings",shortcodes:["money_with_wings"],tags:["banknote","bill","fly","money","wings"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b8.png"},{emoji:"💳",name:"credit_card",shortcodes:["credit_card"],tags:["card","credit","money"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b3.png"},{emoji:"🧾",name:"receipt",shortcodes:["receipt"],tags:["accounting","bookkeeping","evidence","proof"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fe.png"},{emoji:"💹",name:"chart",shortcodes:["chart"],tags:["chart","graph","growth","money","yen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b9.png"},{emoji:"✉",name:"envelope",shortcodes:["envelope"],tags:["email","letter"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2709-fe0f.png"},{emoji:"📧",name:"e-mail",shortcodes:["e-mail","email"],tags:["email","letter","mail"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e7.png"},{emoji:"📨",name:"incoming_envelope",shortcodes:["incoming_envelope"],tags:["e-mail","email","envelope","incoming","letter","receive"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e8.png"},{emoji:"📩",name:"envelope_with_arrow",shortcodes:["envelope_with_arrow"],tags:["arrow","e-mail","email","envelope","outgoing"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e9.png"},{emoji:"📤",name:"outbox_tray",shortcodes:["outbox_tray"],tags:["box","letter","mail","outbox","sent","tray"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e4.png"},{emoji:"📥",name:"inbox_tray",shortcodes:["inbox_tray"],tags:["box","inbox","letter","mail","receive","tray"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e5.png"},{emoji:"📦",name:"package",shortcodes:["package"],tags:["box","parcel"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e6.png"},{emoji:"📫",name:"mailbox",shortcodes:["mailbox"],tags:["closed","mail","mailbox","postbox"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4eb.png"},{emoji:"📪",name:"mailbox_closed",shortcodes:["mailbox_closed"],tags:["closed","lowered","mail","mailbox","postbox"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ea.png"},{emoji:"📬",name:"mailbox_with_mail",shortcodes:["mailbox_with_mail"],tags:["mail","mailbox","open","postbox"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ec.png"},{emoji:"📭",name:"mailbox_with_no_mail",shortcodes:["mailbox_with_no_mail"],tags:["lowered","mail","mailbox","open","postbox"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ed.png"},{emoji:"📮",name:"postbox",shortcodes:["postbox"],tags:["mail","mailbox"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ee.png"},{emoji:"🗳",name:"ballot_box",shortcodes:["ballot_box"],tags:["ballot","box"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5f3-fe0f.png"},{emoji:"✏",name:"pencil2",shortcodes:["pencil"],tags:["pencil"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270f-fe0f.png"},{emoji:"✒",name:"black_nib",shortcodes:["black_nib"],tags:["nib","pen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2712-fe0f.png"},{emoji:"🖋",name:"fountain_pen",shortcodes:["fountain_pen"],tags:["fountain","pen"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58b-fe0f.png"},{emoji:"🖊",name:"pen",shortcodes:["pen"],tags:["ballpoint"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58a-fe0f.png"},{emoji:"🖌",name:"paintbrush",shortcodes:["paintbrush"],tags:["painting"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58c-fe0f.png"},{emoji:"🖍",name:"crayon",shortcodes:["crayon"],tags:["crayon"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58d-fe0f.png"},{emoji:"📝",name:"memo",shortcodes:["memo"],tags:["pencil"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4dd.png"},{emoji:"💼",name:"briefcase",shortcodes:["briefcase"],tags:["briefcase"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bc.png"},{emoji:"📁",name:"file_folder",shortcodes:["file_folder"],tags:["file","folder"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c1.png"},{emoji:"📂",name:"open_file_folder",shortcodes:["open_file_folder"],tags:["file","folder","open"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c2.png"},{emoji:"🗂",name:"card_index_dividers",shortcodes:["card_index_dividers"],tags:["card","dividers","index"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5c2-fe0f.png"},{emoji:"📅",name:"date",shortcodes:["date"],tags:["date"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c5.png"},{emoji:"📆",name:"calendar",shortcodes:["calendar"],tags:["calendar"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c6.png"},{emoji:"🗒",name:"spiral_notepad",shortcodes:["notepad_spiral"],tags:["note","pad","spiral"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5d2-fe0f.png"},{emoji:"🗓",name:"spiral_calendar",shortcodes:["calendar_spiral"],tags:["calendar","pad","spiral"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5d3-fe0f.png"},{emoji:"📇",name:"card_index",shortcodes:["card_index"],tags:["card","index","rolodex"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c7.png"},{emoji:"📈",name:"chart_with_upwards_trend",shortcodes:["chart_increasing","chart_with_upwards_trend"],tags:["chart","graph","growth","trend","upward"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c8.png"},{emoji:"📉",name:"chart_with_downwards_trend",shortcodes:["chart_decreasing","chart_with_downwards_trend"],tags:["chart","down","graph","trend"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c9.png"},{emoji:"📊",name:"bar_chart",shortcodes:["bar_chart"],tags:["bar","chart","graph"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ca.png"},{emoji:"📋",name:"clipboard",shortcodes:["clipboard"],tags:["clipboard"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cb.png"},{emoji:"📌",name:"pushpin",shortcodes:["pushpin"],tags:["pin"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cc.png"},{emoji:"📍",name:"round_pushpin",shortcodes:["round_pushpin"],tags:["pin","pushpin"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cd.png"},{emoji:"📎",name:"paperclip",shortcodes:["paperclip"],tags:["paperclip"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ce.png"},{emoji:"🖇",name:"paperclips",shortcodes:["paperclips"],tags:["link","paperclip"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f587-fe0f.png"},{emoji:"📏",name:"straight_ruler",shortcodes:["straight_ruler"],tags:["ruler","straight edge"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cf.png"},{emoji:"📐",name:"triangular_ruler",shortcodes:["triangular_ruler"],tags:["ruler","set","triangle"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d0.png"},{emoji:"✂",name:"scissors",shortcodes:["scissors"],tags:["cutting","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2702-fe0f.png"},{emoji:"🗃",name:"card_file_box",shortcodes:["card_file_box"],tags:["box","card","file"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5c3-fe0f.png"},{emoji:"🗄",name:"file_cabinet",shortcodes:["file_cabinet"],tags:["cabinet","file","filing"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5c4-fe0f.png"},{emoji:"🗑",name:"wastebasket",shortcodes:["trashcan","wastebasket"],tags:["wastebasket"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5d1-fe0f.png"},{emoji:"🔒",name:"lock",shortcodes:["lock","locked"],tags:["closed"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f512.png"},{emoji:"🔓",name:"unlock",shortcodes:["unlock","unlocked"],tags:["lock","open","unlock"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f513.png"},{emoji:"🔏",name:"lock_with_ink_pen",shortcodes:["lock_with_ink_pen","locked_with_pen"],tags:["ink","lock","nib","pen","privacy"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50f.png"},{emoji:"🔐",name:"closed_lock_with_key",shortcodes:["closed_lock_with_key","locked_with_key"],tags:["closed","key","lock","secure"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f510.png"},{emoji:"🔑",name:"key",shortcodes:["key"],tags:["lock","password"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f511.png"},{emoji:"🗝",name:"old_key",shortcodes:["old_key"],tags:["clue","key","lock","old"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5dd-fe0f.png"},{emoji:"🔨",name:"hammer",shortcodes:["hammer"],tags:["tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f528.png"},{emoji:"🪓",name:"axe",shortcodes:["axe"],tags:["chop","hatchet","split","wood"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa93.png"},{emoji:"⛏",name:"pick",shortcodes:["pick"],tags:["mining","tool"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26cf-fe0f.png"},{emoji:"⚒",name:"hammer_and_pick",shortcodes:["hammer_and_pick"],tags:["hammer","pick","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2692-fe0f.png"},{emoji:"🛠",name:"hammer_and_wrench",shortcodes:["hammer_and_wrench"],tags:["hammer","spanner","tool","wrench"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e0-fe0f.png"},{emoji:"🗡",name:"dagger",shortcodes:["dagger"],tags:["knife","weapon"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5e1-fe0f.png"},{emoji:"⚔",name:"crossed_swords",shortcodes:["crossed_swords"],tags:["crossed","swords","weapon"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2694-fe0f.png"},{emoji:"💣",name:"bomb",shortcodes:["bomb"],tags:["comic"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a3.png"},{emoji:"🪃",name:"boomerang",shortcodes:["boomerang"],tags:["rebound","repercussion"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa83.png"},{emoji:"🏹",name:"bow_and_arrow",shortcodes:["bow_and_arrow"],tags:["archer","arrow","bow","sagittarius","zodiac"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f9.png"},{emoji:"🛡",name:"shield",shortcodes:["shield"],tags:["weapon"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e1-fe0f.png"},{emoji:"🪚",name:"carpentry_saw",shortcodes:["carpentry_saw"],tags:["carpenter","lumber","saw","tool"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9a.png"},{emoji:"🔧",name:"wrench",shortcodes:["wrench"],tags:["spanner","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f527.png"},{emoji:"🪛",name:"screwdriver",shortcodes:["screwdriver"],tags:["screw","tool"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9b.png"},{emoji:"🔩",name:"nut_and_bolt",shortcodes:["nut_and_bolt"],tags:["bolt","nut","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f529.png"},{emoji:"⚙",name:"gear",shortcodes:["gear"],tags:["cog","cogwheel","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2699-fe0f.png"},{emoji:"🗜",name:"clamp",shortcodes:["clamp","compression"],tags:["compress","tool","vice"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5dc-fe0f.png"},{emoji:"⚖",name:"balance_scale",shortcodes:["scales"],tags:["balance","justice","libra","scale","zodiac"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2696-fe0f.png"},{emoji:"🦯",name:"probing_cane",shortcodes:["probing_cane","white_cane"],tags:["accessibility","blind"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9af.png"},{emoji:"🔗",name:"link",shortcodes:["link"],tags:["link"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f517.png"},{emoji:"⛓💥",name:"broken_chain",shortcodes:["broken_chain"],tags:["break","breaking","chain","cuffs","freedom"],group:"objects",emoticons:[],version:15.1},{emoji:"⛓",name:"chains",shortcodes:["chains"],tags:["chain"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26d3-fe0f.png"},{emoji:"🪝",name:"hook",shortcodes:["hook"],tags:["catch","crook","curve","ensnare","selling point"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9d.png"},{emoji:"🧰",name:"toolbox",shortcodes:["toolbox"],tags:["chest","mechanic","tool"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f0.png"},{emoji:"🧲",name:"magnet",shortcodes:["magnet"],tags:["attraction","horseshoe","magnetic"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f2.png"},{emoji:"🪜",name:"ladder",shortcodes:["ladder"],tags:["climb","rung","step"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9c.png"},{emoji:"⚗",name:"alembic",shortcodes:["alembic"],tags:["chemistry","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2697-fe0f.png"},{emoji:"🧪",name:"test_tube",shortcodes:["test_tube"],tags:["chemist","chemistry","experiment","lab","science"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ea.png"},{emoji:"🧫",name:"petri_dish",shortcodes:["petri_dish"],tags:["bacteria","biologist","biology","culture","lab"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9eb.png"},{emoji:"🧬",name:"dna",shortcodes:["dna","double_helix"],tags:["biologist","evolution","gene","genetics","life"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ec.png"},{emoji:"🔬",name:"microscope",shortcodes:["microscope"],tags:["science","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52c.png"},{emoji:"🔭",name:"telescope",shortcodes:["telescope"],tags:["science","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52d.png"},{emoji:"📡",name:"satellite",shortcodes:["satellite_antenna"],tags:["antenna","dish","satellite"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e1.png"},{emoji:"💉",name:"syringe",shortcodes:["syringe"],tags:["medicine","needle","shot","sick"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f489.png"},{emoji:"🩸",name:"drop_of_blood",shortcodes:["drop_of_blood"],tags:["bleed","blood donation","injury","medicine","menstruation"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa78.png"},{emoji:"💊",name:"pill",shortcodes:["pill"],tags:["doctor","medicine","sick"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48a.png"},{emoji:"🩹",name:"adhesive_bandage",shortcodes:["adhesive_bandage","bandaid"],tags:["bandage"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa79.png"},{emoji:"🩼",name:"crutch",shortcodes:["crutch"],tags:["cane","disability","hurt","mobility aid","stick"],group:"objects",emoticons:[],version:14},{emoji:"🩺",name:"stethoscope",shortcodes:["stethoscope"],tags:["doctor","heart","medicine"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa7a.png"},{emoji:"🩻",name:"x_ray",shortcodes:["x-ray","xray"],tags:["bones","doctor","medical","skeleton"],group:"objects",emoticons:[],version:14},{emoji:"🚪",name:"door",shortcodes:["door"],tags:["door"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6aa.png"},{emoji:"🛗",name:"elevator",shortcodes:["elevator"],tags:["accessibility","hoist","lift"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d7.png"},{emoji:"🪞",name:"mirror",shortcodes:["mirror"],tags:["reflection","reflector","speculum"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9e.png"},{emoji:"🪟",name:"window",shortcodes:["window"],tags:["frame","fresh air","opening","transparent","view"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9f.png"},{emoji:"🛏",name:"bed",shortcodes:["bed"],tags:["hotel","sleep"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cf-fe0f.png"},{emoji:"🛋",name:"couch_and_lamp",shortcodes:["couch_and_lamp"],tags:["couch","hotel","lamp"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cb-fe0f.png"},{emoji:"🪑",name:"chair",shortcodes:["chair"],tags:["seat","sit"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa91.png"},{emoji:"🚽",name:"toilet",shortcodes:["toilet"],tags:["toilet"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bd.png"},{emoji:"🪠",name:"plunger",shortcodes:["plunger"],tags:["force cup","plumber","suction","toilet"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa0.png"},{emoji:"🚿",name:"shower",shortcodes:["shower"],tags:["water"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bf.png"},{emoji:"🛁",name:"bathtub",shortcodes:["bathtub"],tags:["bath"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c1.png"},{emoji:"🪤",name:"mouse_trap",shortcodes:["mouse_trap"],tags:["bait","mousetrap","snare","trap"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa4.png"},{emoji:"🪒",name:"razor",shortcodes:["razor"],tags:["sharp","shave"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa92.png"},{emoji:"🧴",name:"lotion_bottle",shortcodes:["lotion_bottle"],tags:["lotion","moisturizer","shampoo","sunscreen"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f4.png"},{emoji:"🧷",name:"safety_pin",shortcodes:["safety_pin"],tags:["diaper","punk rock"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f7.png"},{emoji:"🧹",name:"broom",shortcodes:["broom"],tags:["cleaning","sweeping","witch"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f9.png"},{emoji:"🧺",name:"basket",shortcodes:["basket"],tags:["farming","laundry","picnic"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fa.png"},{emoji:"🧻",name:"roll_of_paper",shortcodes:["roll_of_paper","toilet_paper"],tags:["paper towels","toilet paper"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fb.png"},{emoji:"🪣",name:"bucket",shortcodes:["bucket"],tags:["cask","pail","vat"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa3.png"},{emoji:"🧼",name:"soap",shortcodes:["soap"],tags:["bar","bathing","cleaning","lather","soapdish"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fc.png"},{emoji:"🫧",name:"bubbles",shortcodes:["bubbles"],tags:["burp","clean","soap","underwater"],group:"objects",emoticons:[],version:14},{emoji:"🪥",name:"toothbrush",shortcodes:["toothbrush"],tags:["bathroom","brush","clean","dental","hygiene","teeth"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa5.png"},{emoji:"🧽",name:"sponge",shortcodes:["sponge"],tags:["absorbing","cleaning","porous"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fd.png"},{emoji:"🧯",name:"fire_extinguisher",shortcodes:["fire_extinguisher"],tags:["extinguish","fire","quench"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ef.png"},{emoji:"🛒",name:"shopping_cart",shortcodes:["shopping_cart"],tags:["cart","shopping","trolley"],group:"objects",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d2.png"},{emoji:"🚬",name:"smoking",shortcodes:["cigarette","smoking"],tags:["smoking"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ac.png"},{emoji:"⚰",name:"coffin",shortcodes:["coffin"],tags:["death"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26b0-fe0f.png"},{emoji:"🪦",name:"headstone",shortcodes:["headstone"],tags:["cemetery","grave","graveyard","tombstone"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa6.png"},{emoji:"⚱",name:"funeral_urn",shortcodes:["funeral_urn"],tags:["ashes","death","funeral","urn"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26b1-fe0f.png"},{emoji:"🧿",name:"nazar_amulet",shortcodes:["nazar_amulet"],tags:["bead","charm","evil-eye","nazar","talisman"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ff.png"},{emoji:"🪬",name:"hamsa",shortcodes:["hamsa"],tags:["amulet","fatima","hand","mary","miriam","protection"],group:"objects",emoticons:[],version:14},{emoji:"🗿",name:"moyai",shortcodes:["moai","moyai"],tags:["face","moyai","statue"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5ff.png"},{emoji:"🪧",name:"placard",shortcodes:["placard"],tags:["demonstration","picket","protest","sign"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa7.png"},{emoji:"🪪",name:"identification_card",shortcodes:["id_card"],tags:["credentials","id","license","security"],group:"objects",emoticons:[],version:14},{emoji:"🏧",name:"atm",shortcodes:["atm"],tags:["atm","atm sign","automated","bank","teller"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e7.png"},{emoji:"🚮",name:"put_litter_in_its_place",shortcodes:["litter_bin","put_litter_in_its_place"],tags:["litter","litter bin"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ae.png"},{emoji:"🚰",name:"potable_water",shortcodes:["potable_water"],tags:["drinking","potable","water"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b0.png"},{emoji:"♿",name:"wheelchair",shortcodes:["handicapped","wheelchair"],tags:["access"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/267f.png"},{emoji:"🚹",name:"mens",shortcodes:["mens"],tags:["bathroom","lavatory","man","restroom","toilet","wc"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b9.png"},{emoji:"🚺",name:"womens",shortcodes:["womens"],tags:["bathroom","lavatory","restroom","toilet","wc","woman"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ba.png"},{emoji:"🚻",name:"restroom",shortcodes:["bathroom","restroom"],tags:["bathroom","lavatory","toilet","wc"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bb.png"},{emoji:"🚼",name:"baby_symbol",shortcodes:["baby_symbol"],tags:["baby","changing"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bc.png"},{emoji:"🚾",name:"wc",shortcodes:["water_closet","wc"],tags:["bathroom","closet","lavatory","restroom","toilet","water","wc"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6be.png"},{emoji:"🛂",name:"passport_control",shortcodes:["passport_control"],tags:["control","passport"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c2.png"},{emoji:"🛃",name:"customs",shortcodes:["customs"],tags:["customs"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c3.png"},{emoji:"🛄",name:"baggage_claim",shortcodes:["baggage_claim"],tags:["baggage","claim"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c4.png"},{emoji:"🛅",name:"left_luggage",shortcodes:["left_luggage"],tags:["baggage","locker","luggage"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c5.png"},{emoji:"⚠",name:"warning",shortcodes:["warning"],tags:["warning"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26a0-fe0f.png"},{emoji:"🚸",name:"children_crossing",shortcodes:["children_crossing"],tags:["child","crossing","pedestrian","traffic"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b8.png"},{emoji:"⛔",name:"no_entry",shortcodes:["no_entry"],tags:["entry","forbidden","no","not","prohibited","traffic"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26d4.png"},{emoji:"🚫",name:"no_entry_sign",shortcodes:["no_entry_sign"],tags:["entry","forbidden","no","not"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ab.png"},{emoji:"🚳",name:"no_bicycles",shortcodes:["no_bicycles"],tags:["bicycle","bike","forbidden","no","prohibited"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b3.png"},{emoji:"🚭",name:"no_smoking",shortcodes:["no_smoking"],tags:["forbidden","no","not","prohibited","smoking"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ad.png"},{emoji:"🚯",name:"do_not_litter",shortcodes:["do_not_litter","no_littering"],tags:["forbidden","litter","no","not","prohibited"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6af.png"},{emoji:"🚱",name:"non-potable_water",shortcodes:["non-potable_water"],tags:["non-drinking","non-potable","water"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b1.png"},{emoji:"🚷",name:"no_pedestrians",shortcodes:["no_pedestrians"],tags:["forbidden","no","not","pedestrian","prohibited"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b7.png"},{emoji:"📵",name:"no_mobile_phones",shortcodes:["no_mobile_phones"],tags:["cell","forbidden","mobile","no","phone"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f5.png"},{emoji:"🔞",name:"underage",shortcodes:["no_one_under_18","underage"],tags:["18","age restriction","eighteen","prohibited","underage"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51e.png"},{emoji:"☢",name:"radioactive",shortcodes:["radioactive"],tags:["sign"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2622-fe0f.png"},{emoji:"☣",name:"biohazard",shortcodes:["biohazard"],tags:["sign"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2623-fe0f.png"},{emoji:"⬆",name:"arrow_up",shortcodes:["arrow_up"],tags:["arrow","cardinal","direction","north"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b06-fe0f.png"},{emoji:"↗",name:"arrow_upper_right",shortcodes:["arrow_upper_right"],tags:["arrow","direction","intercardinal","northeast"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2197-fe0f.png"},{emoji:"➡",name:"arrow_right",shortcodes:["arrow_right"],tags:["arrow","cardinal","direction","east"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/27a1-fe0f.png"},{emoji:"↘",name:"arrow_lower_right",shortcodes:["arrow_lower_right"],tags:["arrow","direction","intercardinal","southeast"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2198-fe0f.png"},{emoji:"⬇",name:"arrow_down",shortcodes:["arrow_down"],tags:["arrow","cardinal","direction","down","south"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b07-fe0f.png"},{emoji:"↙",name:"arrow_lower_left",shortcodes:["arrow_lower_left"],tags:["arrow","direction","intercardinal","southwest"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2199-fe0f.png"},{emoji:"⬅",name:"arrow_left",shortcodes:["arrow_left"],tags:["arrow","cardinal","direction","west"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b05-fe0f.png"},{emoji:"↖",name:"arrow_upper_left",shortcodes:["arrow_upper_left"],tags:["arrow","direction","intercardinal","northwest"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2196-fe0f.png"},{emoji:"↕",name:"arrow_up_down",shortcodes:["arrow_up_down"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2195-fe0f.png"},{emoji:"↔",name:"left_right_arrow",shortcodes:["left_right_arrow"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2194-fe0f.png"},{emoji:"↩",name:"leftwards_arrow_with_hook",shortcodes:["arrow_left_hook","leftwards_arrow_with_hook"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/21a9-fe0f.png"},{emoji:"↪",name:"arrow_right_hook",shortcodes:["arrow_right_hook","rightwards_arrow_with_hook"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/21aa-fe0f.png"},{emoji:"⤴",name:"arrow_heading_up",shortcodes:["arrow_heading_up"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2934-fe0f.png"},{emoji:"⤵",name:"arrow_heading_down",shortcodes:["arrow_heading_down"],tags:["arrow","down"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2935-fe0f.png"},{emoji:"🔃",name:"arrows_clockwise",shortcodes:["arrows_clockwise","clockwise"],tags:["arrow","clockwise","reload"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f503.png"},{emoji:"🔄",name:"arrows_counterclockwise",shortcodes:["arrows_counterclockwise","counterclockwise"],tags:["anticlockwise","arrow","counterclockwise","withershins"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f504.png"},{emoji:"🔙",name:"back",shortcodes:["back"],tags:["arrow","back"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f519.png"},{emoji:"🔚",name:"end",shortcodes:["end"],tags:["arrow","end"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51a.png"},{emoji:"🔛",name:"on",shortcodes:["on"],tags:["arrow","mark","on","on!"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51b.png"},{emoji:"🔜",name:"soon",shortcodes:["soon"],tags:["arrow","soon"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51c.png"},{emoji:"🔝",name:"top",shortcodes:["top"],tags:["arrow","top","up"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51d.png"},{emoji:"🛐",name:"place_of_worship",shortcodes:["place_of_worship"],tags:["religion","worship"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d0.png"},{emoji:"⚛",name:"atom_symbol",shortcodes:["atom","atom_symbol"],tags:["atheist","atom"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/269b-fe0f.png"},{emoji:"🕉",name:"om",shortcodes:["om"],tags:["hindu","religion"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f549-fe0f.png"},{emoji:"✡",name:"star_of_david",shortcodes:["star_of_david"],tags:["david","jew","jewish","religion","star","star of david"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2721-fe0f.png"},{emoji:"☸",name:"wheel_of_dharma",shortcodes:["wheel_of_dharma"],tags:["buddhist","dharma","religion","wheel"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2638-fe0f.png"},{emoji:"☯",name:"yin_yang",shortcodes:["yin_yang"],tags:["religion","tao","taoist","yang","yin"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/262f-fe0f.png"},{emoji:"✝",name:"latin_cross",shortcodes:["latin_cross"],tags:["christian","cross","religion"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/271d-fe0f.png"},{emoji:"☦",name:"orthodox_cross",shortcodes:["orthodox_cross"],tags:["christian","cross","religion"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2626-fe0f.png"},{emoji:"☪",name:"star_and_crescent",shortcodes:["star_and_crescent"],tags:["islam","muslim","religion"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/262a-fe0f.png"},{emoji:"☮",name:"peace_symbol",shortcodes:["peace","peace_symbol"],tags:["peace"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/262e-fe0f.png"},{emoji:"🕎",name:"menorah",shortcodes:["menorah"],tags:["candelabrum","candlestick","religion"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54e.png"},{emoji:"🔯",name:"six_pointed_star",shortcodes:["six_pointed_star"],tags:["fortune","star"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52f.png"},{emoji:"🪯",name:"khanda",shortcodes:["khanda"],tags:["religion","sikh"],group:"symbols",emoticons:[],version:15},{emoji:"♈",name:"aries",shortcodes:["aries"],tags:["aries","ram","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2648.png"},{emoji:"♉",name:"taurus",shortcodes:["taurus"],tags:["bull","ox","taurus","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2649.png"},{emoji:"♊",name:"gemini",shortcodes:["gemini"],tags:["gemini","twins","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264a.png"},{emoji:"♋",name:"cancer",shortcodes:["cancer"],tags:["cancer","crab","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264b.png"},{emoji:"♌",name:"leo",shortcodes:["leo"],tags:["leo","lion","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264c.png"},{emoji:"♍",name:"virgo",shortcodes:["virgo"],tags:["virgo","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264d.png"},{emoji:"♎",name:"libra",shortcodes:["libra"],tags:["balance","justice","libra","scales","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264e.png"},{emoji:"♏",name:"scorpius",shortcodes:["scorpius"],tags:["scorpio","scorpion","scorpius","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264f.png"},{emoji:"♐",name:"sagittarius",shortcodes:["sagittarius"],tags:["archer","sagittarius","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2650.png"},{emoji:"♑",name:"capricorn",shortcodes:["capricorn"],tags:["capricorn","goat","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2651.png"},{emoji:"♒",name:"aquarius",shortcodes:["aquarius"],tags:["aquarius","bearer","water","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2652.png"},{emoji:"♓",name:"pisces",shortcodes:["pisces"],tags:["fish","pisces","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2653.png"},{emoji:"⛎",name:"ophiuchus",shortcodes:["ophiuchus"],tags:["bearer","ophiuchus","serpent","snake","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26ce.png"},{emoji:"🔀",name:"twisted_rightwards_arrows",shortcodes:["shuffle","twisted_rightwards_arrows"],tags:["arrow","crossed"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f500.png"},{emoji:"🔁",name:"repeat",shortcodes:["repeat"],tags:["arrow","clockwise","repeat"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f501.png"},{emoji:"🔂",name:"repeat_one",shortcodes:["repeat_one"],tags:["arrow","clockwise","once"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f502.png"},{emoji:"▶",name:"arrow_forward",shortcodes:["arrow_forward","play"],tags:["arrow","play","right","triangle"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25b6-fe0f.png"},{emoji:"⏩",name:"fast_forward",shortcodes:["fast_forward"],tags:["arrow","double","fast","forward"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23e9.png"},{emoji:"⏭",name:"next_track_button",shortcodes:["next_track"],tags:["arrow","next scene","next track","triangle"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ed-fe0f.png"},{emoji:"⏯",name:"play_or_pause_button",shortcodes:["play_pause"],tags:["arrow","pause","play","right","triangle"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ef-fe0f.png"},{emoji:"◀",name:"arrow_backward",shortcodes:["arrow_backward","reverse"],tags:["arrow","left","reverse","triangle"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25c0-fe0f.png"},{emoji:"⏪",name:"rewind",shortcodes:["fast_reverse","rewind"],tags:["arrow","double","rewind"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ea.png"},{emoji:"⏮",name:"previous_track_button",shortcodes:["previous_track"],tags:["arrow","previous scene","previous track","triangle"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ee-fe0f.png"},{emoji:"🔼",name:"arrow_up_small",shortcodes:["arrow_up_small","up"],tags:["arrow","button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53c.png"},{emoji:"⏫",name:"arrow_double_up",shortcodes:["arrow_double_up","fast_up"],tags:["arrow","double"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23eb.png"},{emoji:"🔽",name:"arrow_down_small",shortcodes:["arrow_down_small","down"],tags:["arrow","button","down"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53d.png"},{emoji:"⏬",name:"arrow_double_down",shortcodes:["arrow_double_down","fast_down"],tags:["arrow","double","down"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ec.png"},{emoji:"⏸",name:"pause_button",shortcodes:["pause"],tags:["bar","double","pause","vertical"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f8-fe0f.png"},{emoji:"⏹",name:"stop_button",shortcodes:["stop"],tags:["square","stop"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f9-fe0f.png"},{emoji:"⏺",name:"record_button",shortcodes:["record"],tags:["circle","record"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23fa-fe0f.png"},{emoji:"⏏",name:"eject_button",shortcodes:["eject"],tags:["eject"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23cf-fe0f.png"},{emoji:"🎦",name:"cinema",shortcodes:["cinema"],tags:["camera","film","movie"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a6.png"},{emoji:"🔅",name:"low_brightness",shortcodes:["dim_button","low_brightness"],tags:["brightness","dim","low"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f505.png"},{emoji:"🔆",name:"high_brightness",shortcodes:["bright_button","high_brightness"],tags:["bright","brightness"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f506.png"},{emoji:"📶",name:"signal_strength",shortcodes:["antenna_bars","signal_strength"],tags:["antenna","bar","cell","mobile","phone"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f6.png"},{emoji:"🛜",name:"wireless",shortcodes:["wireless"],tags:["computer","internet","network","wi-fi","wifi"],group:"symbols",emoticons:[],version:15},{emoji:"📳",name:"vibration_mode",shortcodes:["vibration_mode"],tags:["cell","mobile","mode","phone","telephone","vibration"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f3.png"},{emoji:"📴",name:"mobile_phone_off",shortcodes:["mobile_phone_off"],tags:["cell","mobile","off","phone","telephone"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f4.png"},{emoji:"♀",name:"female_sign",shortcodes:["female","female_sign"],tags:["woman"],group:"symbols",emoticons:[],version:4},{emoji:"♂",name:"male_sign",shortcodes:["male","male_sign"],tags:["man"],group:"symbols",emoticons:[],version:4},{emoji:"⚧",name:"transgender_symbol",shortcodes:["transgender_symbol"],tags:["transgender"],group:"symbols",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26a7-fe0f.png"},{emoji:"✖",name:"heavy_multiplication_x",shortcodes:["multiplication","multiply"],tags:["cancel","multiplication","sign","x","×"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2716-fe0f.png"},{emoji:"➕",name:"heavy_plus_sign",shortcodes:["plus"],tags:["+","math","sign"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2795.png"},{emoji:"➖",name:"heavy_minus_sign",shortcodes:["minus"],tags:["-","math","sign","−"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2796.png"},{emoji:"➗",name:"heavy_division_sign",shortcodes:["divide","division"],tags:["division","math","sign","÷"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2797.png"},{emoji:"🟰",name:"heavy_equals_sign",shortcodes:["heavy_equals_sign"],tags:["equality","math"],group:"symbols",emoticons:[],version:14},{emoji:"♾",name:"infinity",shortcodes:["infinity"],tags:["forever","unbounded","universal"],group:"symbols",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/267e-fe0f.png"},{emoji:"‼",name:"bangbang",shortcodes:["bangbang","double_exclamation"],tags:["!","!!","bangbang","exclamation","mark"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/203c-fe0f.png"},{emoji:"⁉",name:"interrobang",shortcodes:["exclamation_question","interrobang"],tags:["!","!?","?","exclamation","interrobang","mark","punctuation","question"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2049-fe0f.png"},{emoji:"❓",name:"question",shortcodes:["question"],tags:["?","mark","punctuation","question"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2753.png"},{emoji:"❔",name:"grey_question",shortcodes:["white_question"],tags:["?","mark","outlined","punctuation","question"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2754.png"},{emoji:"❕",name:"grey_exclamation",shortcodes:["white_exclamation"],tags:["!","exclamation","mark","outlined","punctuation"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2755.png"},{emoji:"❗",name:"exclamation",shortcodes:["exclamation"],tags:["!","exclamation","mark","punctuation"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2757.png"},{emoji:"〰",name:"wavy_dash",shortcodes:["wavy_dash"],tags:["dash","punctuation","wavy"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/3030-fe0f.png"},{emoji:"💱",name:"currency_exchange",shortcodes:["currency_exchange"],tags:["bank","currency","exchange","money"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b1.png"},{emoji:"💲",name:"heavy_dollar_sign",shortcodes:["heavy_dollar_sign"],tags:["currency","dollar","money"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b2.png"},{emoji:"⚕",name:"medical_symbol",shortcodes:["medical","medical_symbol"],tags:["aesculapius","medicine","staff"],group:"symbols",emoticons:[],version:4},{emoji:"♻",name:"recycle",shortcodes:["recycle","recycling_symbol"],tags:["recycle"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/267b-fe0f.png"},{emoji:"⚜",name:"fleur_de_lis",shortcodes:["fleur-de-lis"],tags:["fleur-de-lis"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/269c-fe0f.png"},{emoji:"🔱",name:"trident",shortcodes:["trident"],tags:["anchor","emblem","ship","tool","trident"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f531.png"},{emoji:"📛",name:"name_badge",shortcodes:["name_badge"],tags:["badge","name"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4db.png"},{emoji:"🔰",name:"beginner",shortcodes:["beginner"],tags:["beginner","chevron","japanese","japanese symbol for beginner","leaf"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f530.png"},{emoji:"⭕",name:"o",shortcodes:["hollow_red_circle","red_o"],tags:["circle","large","o","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b55.png"},{emoji:"✅",name:"white_check_mark",shortcodes:["check_mark_button","white_check_mark"],tags:["button","check","mark","✓"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2705.png"},{emoji:"☑",name:"ballot_box_with_check",shortcodes:["ballot_box_with_check"],tags:["box","check","✓"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2611-fe0f.png"},{emoji:"✔",name:"heavy_check_mark",shortcodes:["check_mark","heavy_check_mark"],tags:["check","mark","✓"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2714-fe0f.png"},{emoji:"❌",name:"x",shortcodes:["cross_mark","x"],tags:["cancel","cross","mark","multiplication","multiply","x","×"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/274c.png"},{emoji:"❎",name:"negative_squared_cross_mark",shortcodes:["cross_mark_button","negative_squared_cross_mark"],tags:["mark","square","x","×"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/274e.png"},{emoji:"➰",name:"curly_loop",shortcodes:["curly_loop"],tags:["curl","loop"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/27b0.png"},{emoji:"➿",name:"loop",shortcodes:["double_curly_loop","loop"],tags:["curl","double","loop"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/27bf.png"},{emoji:"〽",name:"part_alternation_mark",shortcodes:["part_alternation_mark"],tags:["mark","part"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/303d-fe0f.png"},{emoji:"✳",name:"eight_spoked_asterisk",shortcodes:["eight_spoked_asterisk"],tags:["*","asterisk"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2733-fe0f.png"},{emoji:"✴",name:"eight_pointed_black_star",shortcodes:["eight_pointed_black_star"],tags:["*","star"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2734-fe0f.png"},{emoji:"❇",name:"sparkle",shortcodes:["sparkle"],tags:["*"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2747-fe0f.png"},{emoji:"©",name:"copyright",shortcodes:["copyright"],tags:["c"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/00a9-fe0f.png"},{emoji:"®",name:"registered",shortcodes:["registered"],tags:["r"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/00ae-fe0f.png"},{emoji:"™",name:"tm",shortcodes:["tm","trade_mark"],tags:["mark","tm","trademark"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2122-fe0f.png"},{emoji:"#⃣",name:"hash",shortcodes:["hash","number_sign"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0023-fe0f-20e3.png"},{emoji:"*⃣",name:"asterisk",shortcodes:["asterisk"],tags:["keycap"],group:"symbols",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/002a-fe0f-20e3.png"},{emoji:"0⃣",name:"zero",shortcodes:["zero"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0030-fe0f-20e3.png"},{emoji:"1⃣",name:"one",shortcodes:["one"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0031-fe0f-20e3.png"},{emoji:"2⃣",name:"two",shortcodes:["two"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0032-fe0f-20e3.png"},{emoji:"3⃣",name:"three",shortcodes:["three"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0033-fe0f-20e3.png"},{emoji:"4⃣",name:"four",shortcodes:["four"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0034-fe0f-20e3.png"},{emoji:"5⃣",name:"five",shortcodes:["five"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0035-fe0f-20e3.png"},{emoji:"6⃣",name:"six",shortcodes:["six"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0036-fe0f-20e3.png"},{emoji:"7⃣",name:"seven",shortcodes:["seven"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0037-fe0f-20e3.png"},{emoji:"8⃣",name:"eight",shortcodes:["eight"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0038-fe0f-20e3.png"},{emoji:"9⃣",name:"nine",shortcodes:["nine"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0039-fe0f-20e3.png"},{emoji:"🔟",name:"keycap_ten",shortcodes:["ten"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51f.png"},{emoji:"🔠",name:"capital_abcd",shortcodes:["capital_abcd"],tags:["abcd","input","latin","letters","uppercase"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f520.png"},{emoji:"🔡",name:"abcd",shortcodes:["abcd"],tags:["abcd","input","latin","letters","lowercase"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f521.png"},{emoji:"🔢",name:"1234",shortcodes:["1234"],tags:["1234","input","numbers"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f522.png"},{emoji:"🔣",name:"symbols",shortcodes:["symbols"],tags:["input","〒♪&%"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f523.png"},{emoji:"🔤",name:"abc",shortcodes:["abc"],tags:["abc","alphabet","input","latin","letters"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f524.png"},{emoji:"🅰",name:"a",shortcodes:["a","a_blood"],tags:["a","a button (blood type)","blood type"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f170-fe0f.png"},{emoji:"🆎",name:"ab",shortcodes:["ab","ab_blood"],tags:["ab","ab button (blood type)","blood type"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f18e.png"},{emoji:"🅱",name:"b",shortcodes:["b","b_blood"],tags:["b","b button (blood type)","blood type"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f171-fe0f.png"},{emoji:"🆑",name:"cl",shortcodes:["cl"],tags:["cl","cl button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f191.png"},{emoji:"🆒",name:"cool",shortcodes:["cool"],tags:["cool","cool button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f192.png"},{emoji:"🆓",name:"free",shortcodes:["free"],tags:["free","free button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f193.png"},{emoji:"ℹ",name:"information_source",shortcodes:["info","information_source"],tags:["i"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2139-fe0f.png"},{emoji:"🆔",name:"id",shortcodes:["id"],tags:["id","id button","identity"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f194.png"},{emoji:"Ⓜ",name:"m",shortcodes:["m"],tags:["circle","circled m","m"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/24c2-fe0f.png"},{emoji:"🆕",name:"new",shortcodes:["new"],tags:["new","new button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f195.png"},{emoji:"🆖",name:"ng",shortcodes:["ng"],tags:["ng","ng button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f196.png"},{emoji:"🅾",name:"o2",shortcodes:["o","o_blood"],tags:["blood type","o","o button (blood type)"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f17e-fe0f.png"},{emoji:"🆗",name:"ok",shortcodes:["ok"],tags:["ok","ok button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f197.png"},{emoji:"🅿",name:"parking",shortcodes:["parking"],tags:["p","p button","parking"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f17f-fe0f.png"},{emoji:"🆘",name:"sos",shortcodes:["sos"],tags:["help","sos","sos button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f198.png"},{emoji:"🆙",name:"up",shortcodes:["up2"],tags:["mark","up","up!","up! button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f199.png"},{emoji:"🆚",name:"vs",shortcodes:["vs"],tags:["versus","vs","vs button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f19a.png"},{emoji:"🈁",name:"koko",shortcodes:["ja_here","koko"],tags:["japanese","japanese “here” button","katakana","“here”","ココ"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f201.png"},{emoji:"🈂",name:"sa",shortcodes:["ja_service_charge"],tags:["japanese","japanese “service charge” button","katakana","“service charge”","サ"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f202-fe0f.png"},{emoji:"🈷",name:"u6708",shortcodes:["ja_monthly_amount"],tags:["ideograph","japanese","japanese “monthly amount” button","“monthly amount”","月"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f237-fe0f.png"},{emoji:"🈶",name:"u6709",shortcodes:["ja_not_free_of_carge"],tags:["ideograph","japanese","japanese “not free of charge” button","“not free of charge”","有"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f236.png"},{emoji:"🈯",name:"u6307",shortcodes:["ja_reserved"],tags:["ideograph","japanese","japanese “reserved” button","“reserved”","指"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f22f.png"},{emoji:"🉐",name:"ideograph_advantage",shortcodes:["ideograph_advantage","ja_bargain"],tags:["ideograph","japanese","japanese “bargain” button","“bargain”","得"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f250.png"},{emoji:"🈹",name:"u5272",shortcodes:["ja_discount"],tags:["ideograph","japanese","japanese “discount” button","“discount”","割"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f239.png"},{emoji:"🈚",name:"u7121",shortcodes:["ja_free_of_charge"],tags:["ideograph","japanese","japanese “free of charge” button","“free of charge”","無"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f21a.png"},{emoji:"🈲",name:"u7981",shortcodes:["ja_prohibited"],tags:["ideograph","japanese","japanese “prohibited” button","“prohibited”","禁"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f232.png"},{emoji:"🉑",name:"accept",shortcodes:["accept","ja_acceptable"],tags:["ideograph","japanese","japanese “acceptable” button","“acceptable”","可"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f251.png"},{emoji:"🈸",name:"u7533",shortcodes:["ja_application"],tags:["ideograph","japanese","japanese “application” button","“application”","申"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f238.png"},{emoji:"🈴",name:"u5408",shortcodes:["ja_passing_grade"],tags:["ideograph","japanese","japanese “passing grade” button","“passing grade”","合"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f234.png"},{emoji:"🈳",name:"u7a7a",shortcodes:["ja_vacancy"],tags:["ideograph","japanese","japanese “vacancy” button","“vacancy”","空"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f233.png"},{emoji:"㊗",name:"congratulations",shortcodes:["congratulations","ja_congratulations"],tags:["ideograph","japanese","japanese “congratulations” button","“congratulations”","祝"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/3297-fe0f.png"},{emoji:"㊙",name:"secret",shortcodes:["ja_secret","secret"],tags:["ideograph","japanese","japanese “secret” button","“secret”","秘"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/3299-fe0f.png"},{emoji:"🈺",name:"u55b6",shortcodes:["ja_open_for_business"],tags:["ideograph","japanese","japanese “open for business” button","“open for business”","営"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f23a.png"},{emoji:"🈵",name:"u6e80",shortcodes:["ja_no_vacancy"],tags:["ideograph","japanese","japanese “no vacancy” button","“no vacancy”","満"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f235.png"},{emoji:"🔴",name:"red_circle",shortcodes:["red_circle"],tags:["circle","geometric","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f534.png"},{emoji:"🟠",name:"orange_circle",shortcodes:["orange_circle"],tags:["circle","orange"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e0.png"},{emoji:"🟡",name:"yellow_circle",shortcodes:["yellow_circle"],tags:["circle","yellow"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e1.png"},{emoji:"🟢",name:"green_circle",shortcodes:["green_circle"],tags:["circle","green"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e2.png"},{emoji:"🔵",name:"large_blue_circle",shortcodes:["blue_circle"],tags:["blue","circle","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f535.png"},{emoji:"🟣",name:"purple_circle",shortcodes:["purple_circle"],tags:["circle","purple"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e3.png"},{emoji:"🟤",name:"brown_circle",shortcodes:["brown_circle"],tags:["brown","circle"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e4.png"},{emoji:"⚫",name:"black_circle",shortcodes:["black_circle"],tags:["circle","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26ab.png"},{emoji:"⚪",name:"white_circle",shortcodes:["white_circle"],tags:["circle","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26aa.png"},{emoji:"🟥",name:"red_square",shortcodes:["red_square"],tags:["red","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e5.png"},{emoji:"🟧",name:"orange_square",shortcodes:["orange_square"],tags:["orange","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e7.png"},{emoji:"🟨",name:"yellow_square",shortcodes:["yellow_square"],tags:["square","yellow"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e8.png"},{emoji:"🟩",name:"green_square",shortcodes:["green_square"],tags:["green","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e9.png"},{emoji:"🟦",name:"blue_square",shortcodes:["blue_square"],tags:["blue","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e6.png"},{emoji:"🟪",name:"purple_square",shortcodes:["purple_square"],tags:["purple","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7ea.png"},{emoji:"🟫",name:"brown_square",shortcodes:["brown_square"],tags:["brown","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7eb.png"},{emoji:"⬛",name:"black_large_square",shortcodes:["black_large_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b1b.png"},{emoji:"⬜",name:"white_large_square",shortcodes:["white_large_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b1c.png"},{emoji:"◼",name:"black_medium_square",shortcodes:["black_medium_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fc-fe0f.png"},{emoji:"◻",name:"white_medium_square",shortcodes:["white_medium_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fb-fe0f.png"},{emoji:"◾",name:"black_medium_small_square",shortcodes:["black_medium_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fe.png"},{emoji:"◽",name:"white_medium_small_square",shortcodes:["white_medium_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fd.png"},{emoji:"▪",name:"black_small_square",shortcodes:["black_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25aa-fe0f.png"},{emoji:"▫",name:"white_small_square",shortcodes:["white_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25ab-fe0f.png"},{emoji:"🔶",name:"large_orange_diamond",shortcodes:["large_orange_diamond"],tags:["diamond","geometric","orange"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f536.png"},{emoji:"🔷",name:"large_blue_diamond",shortcodes:["large_blue_diamond"],tags:["blue","diamond","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f537.png"},{emoji:"🔸",name:"small_orange_diamond",shortcodes:["small_orange_diamond"],tags:["diamond","geometric","orange"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f538.png"},{emoji:"🔹",name:"small_blue_diamond",shortcodes:["small_blue_diamond"],tags:["blue","diamond","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f539.png"},{emoji:"🔺",name:"small_red_triangle",shortcodes:["small_red_triangle"],tags:["geometric","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53a.png"},{emoji:"🔻",name:"small_red_triangle_down",shortcodes:["small_red_triangle_down"],tags:["down","geometric","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53b.png"},{emoji:"💠",name:"diamond_shape_with_a_dot_inside",shortcodes:["diamond_shape_with_a_dot_inside","diamond_with_a_dot"],tags:["comic","diamond","geometric","inside"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a0.png"},{emoji:"🔘",name:"radio_button",shortcodes:["radio_button"],tags:["button","geometric","radio"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f518.png"},{emoji:"🔳",name:"white_square_button",shortcodes:["white_square_button"],tags:["button","geometric","outlined","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f533.png"},{emoji:"🔲",name:"black_square_button",shortcodes:["black_square_button"],tags:["button","geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f532.png"},{emoji:"🏁",name:"checkered_flag",shortcodes:["checkered_flag"],tags:["checkered","chequered","racing"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c1.png"},{emoji:"🚩",name:"triangular_flag_on_post",shortcodes:["triangular_flag","triangular_flag_on_post"],tags:["post"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a9.png"},{emoji:"🎌",name:"crossed_flags",shortcodes:["crossed_flags"],tags:["celebration","cross","crossed","japanese"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38c.png"},{emoji:"🏴",name:"black_flag",shortcodes:["black_flag"],tags:["waving"],group:"flags",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4.png"},{emoji:"🏳",name:"white_flag",shortcodes:["white_flag"],tags:["waving"],group:"flags",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f3-fe0f.png"},{emoji:"🏳🌈",name:"rainbow_flag",shortcodes:["rainbow_flag"],tags:["pride","rainbow"],group:"flags",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f3-fe0f-200d-1f308.png"},{emoji:"🏳⚧️",name:"transgender_flag",shortcodes:["transgender_flag"],tags:["flag","light blue","pink","transgender","white"],group:"flags",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f3-fe0f-200d-26a7-fe0f.png"},{emoji:"🏴☠",name:"pirate_flag",shortcodes:["jolly_roger","pirate_flag"],tags:["jolly roger","pirate","plunder","treasure"],group:"flags",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-200d-2620-fe0f.png"},{emoji:"🇦🇨",name:"ascension_island",shortcodes:["ascension_island","flag_ac"],tags:["AC","flag","flag: ascension island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1e8.png"},{emoji:"🇦🇩",name:"andorra",shortcodes:["andorra","flag_ad"],tags:["AD","flag","flag: andorra"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1e9.png"},{emoji:"🇦🇪",name:"united_arab_emirates",shortcodes:["flag_ae","united_arab_emirates"],tags:["AE","flag","flag: united arab emirates"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ea.png"},{emoji:"🇦🇫",name:"afghanistan",shortcodes:["afghanistan","flag_af"],tags:["AF","flag","flag: afghanistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1eb.png"},{emoji:"🇦🇬",name:"antigua_barbuda",shortcodes:["antigua_barbuda","flag_ag"],tags:["AG","flag","flag: antigua & barbuda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ec.png"},{emoji:"🇦🇮",name:"anguilla",shortcodes:["anguilla","flag_ai"],tags:["AI","flag","flag: anguilla"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ee.png"},{emoji:"🇦🇱",name:"albania",shortcodes:["albania","flag_al"],tags:["AL","flag","flag: albania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f1.png"},{emoji:"🇦🇲",name:"armenia",shortcodes:["armenia","flag_am"],tags:["AM","flag","flag: armenia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f2.png"},{emoji:"🇦🇴",name:"angola",shortcodes:["angola","flag_ao"],tags:["AO","flag","flag: angola"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f4.png"},{emoji:"🇦🇶",name:"antarctica",shortcodes:["antarctica","flag_aq"],tags:["AQ","flag","flag: antarctica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f6.png"},{emoji:"🇦🇷",name:"argentina",shortcodes:["argentina","flag_ar"],tags:["AR","flag","flag: argentina"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f7.png"},{emoji:"🇦🇸",name:"american_samoa",shortcodes:["american_samoa","flag_as"],tags:["AS","flag","flag: american samoa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f8.png"},{emoji:"🇦🇹",name:"austria",shortcodes:["austria","flag_at"],tags:["AT","flag","flag: austria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f9.png"},{emoji:"🇦🇺",name:"australia",shortcodes:["australia","flag_au"],tags:["AU","flag","flag: australia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1fa.png"},{emoji:"🇦🇼",name:"aruba",shortcodes:["aruba","flag_aw"],tags:["AW","flag","flag: aruba"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1fc.png"},{emoji:"🇦🇽",name:"aland_islands",shortcodes:["aland_islands","flag_ax"],tags:["AX","flag","flag: åland islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1fd.png"},{emoji:"🇦🇿",name:"azerbaijan",shortcodes:["azerbaijan","flag_az"],tags:["AZ","flag","flag: azerbaijan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ff.png"},{emoji:"🇧🇦",name:"bosnia_herzegovina",shortcodes:["bosnia_herzegovina","flag_ba"],tags:["BA","flag","flag: bosnia & herzegovina"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1e6.png"},{emoji:"🇧🇧",name:"barbados",shortcodes:["barbados","flag_bb"],tags:["BB","flag","flag: barbados"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1e7.png"},{emoji:"🇧🇩",name:"bangladesh",shortcodes:["bangladesh","flag_bd"],tags:["BD","flag","flag: bangladesh"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1e9.png"},{emoji:"🇧🇪",name:"belgium",shortcodes:["belgium","flag_be"],tags:["BE","flag","flag: belgium"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ea.png"},{emoji:"🇧🇫",name:"burkina_faso",shortcodes:["burkina_faso","flag_bf"],tags:["BF","flag","flag: burkina faso"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1eb.png"},{emoji:"🇧🇬",name:"bulgaria",shortcodes:["bulgaria","flag_bg"],tags:["BG","flag","flag: bulgaria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ec.png"},{emoji:"🇧🇭",name:"bahrain",shortcodes:["bahrain","flag_bh"],tags:["BH","flag","flag: bahrain"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ed.png"},{emoji:"🇧🇮",name:"burundi",shortcodes:["burundi","flag_bi"],tags:["BI","flag","flag: burundi"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ee.png"},{emoji:"🇧🇯",name:"benin",shortcodes:["benin","flag_bj"],tags:["BJ","flag","flag: benin"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ef.png"},{emoji:"🇧🇱",name:"st_barthelemy",shortcodes:["flag_bl","st_barthelemy"],tags:["BL","flag","flag: st. barthélemy"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f1.png"},{emoji:"🇧🇲",name:"bermuda",shortcodes:["bermuda","flag_bm"],tags:["BM","flag","flag: bermuda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f2.png"},{emoji:"🇧🇳",name:"brunei",shortcodes:["brunei","flag_bn"],tags:["BN","flag","flag: brunei"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f3.png"},{emoji:"🇧🇴",name:"bolivia",shortcodes:["bolivia","flag_bo"],tags:["BO","flag","flag: bolivia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f4.png"},{emoji:"🇧🇶",name:"caribbean_netherlands",shortcodes:["caribbean_netherlands","flag_bq"],tags:["BQ","flag","flag: caribbean netherlands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f6.png"},{emoji:"🇧🇷",name:"brazil",shortcodes:["brazil","flag_br"],tags:["BR","flag","flag: brazil"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f7.png"},{emoji:"🇧🇸",name:"bahamas",shortcodes:["bahamas","flag_bs"],tags:["BS","flag","flag: bahamas"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f8.png"},{emoji:"🇧🇹",name:"bhutan",shortcodes:["bhutan","flag_bt"],tags:["BT","flag","flag: bhutan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f9.png"},{emoji:"🇧🇻",name:"bouvet_island",shortcodes:["bouvet_island","flag_bv"],tags:["BV","flag","flag: bouvet island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1fb.png"},{emoji:"🇧🇼",name:"botswana",shortcodes:["botswana","flag_bw"],tags:["BW","flag","flag: botswana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1fc.png"},{emoji:"🇧🇾",name:"belarus",shortcodes:["belarus","flag_by"],tags:["BY","flag","flag: belarus"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1fe.png"},{emoji:"🇧🇿",name:"belize",shortcodes:["belize","flag_bz"],tags:["BZ","flag","flag: belize"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ff.png"},{emoji:"🇨🇦",name:"canada",shortcodes:["canada","flag_ca"],tags:["CA","flag","flag: canada"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1e6.png"},{emoji:"🇨🇨",name:"cocos_islands",shortcodes:["cocos_islands","flag_cc"],tags:["CC","flag","flag: cocos (keeling) islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1e8.png"},{emoji:"🇨🇩",name:"congo_kinshasa",shortcodes:["congo_kinshasa","flag_cd"],tags:["CD","flag","flag: congo - kinshasa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1e9.png"},{emoji:"🇨🇫",name:"central_african_republic",shortcodes:["central_african_republic","flag_cf"],tags:["CF","flag","flag: central african republic"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1eb.png"},{emoji:"🇨🇬",name:"congo_brazzaville",shortcodes:["congo_brazzaville","flag_cg"],tags:["CG","flag","flag: congo - brazzaville"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ec.png"},{emoji:"🇨🇭",name:"switzerland",shortcodes:["flag_ch","switzerland"],tags:["CH","flag","flag: switzerland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ed.png"},{emoji:"🇨🇮",name:"cote_divoire",shortcodes:["cote_divoire","flag_ci"],tags:["CI","flag","flag: côte d’ivoire"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ee.png"},{emoji:"🇨🇰",name:"cook_islands",shortcodes:["cook_islands","flag_ck"],tags:["CK","flag","flag: cook islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f0.png"},{emoji:"🇨🇱",name:"chile",shortcodes:["chile","flag_cl"],tags:["CL","flag","flag: chile"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f1.png"},{emoji:"🇨🇲",name:"cameroon",shortcodes:["cameroon","flag_cm"],tags:["CM","flag","flag: cameroon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f2.png"},{emoji:"🇨🇳",name:"cn",shortcodes:["china","flag_cn"],tags:["CN","flag","flag: china"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f3.png"},{emoji:"🇨🇴",name:"colombia",shortcodes:["colombia","flag_co"],tags:["CO","flag","flag: colombia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f4.png"},{emoji:"🇨🇵",name:"clipperton_island",shortcodes:["clipperton_island","flag_cp"],tags:["CP","flag","flag: clipperton island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f5.png"},{emoji:"🇨🇷",name:"costa_rica",shortcodes:["costa_rica","flag_cr"],tags:["CR","flag","flag: costa rica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f7.png"},{emoji:"🇨🇺",name:"cuba",shortcodes:["cuba","flag_cu"],tags:["CU","flag","flag: cuba"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fa.png"},{emoji:"🇨🇻",name:"cape_verde",shortcodes:["cape_verde","flag_cv"],tags:["CV","flag","flag: cape verde"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fb.png"},{emoji:"🇨🇼",name:"curacao",shortcodes:["curacao","flag_cw"],tags:["CW","flag","flag: curaçao"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fc.png"},{emoji:"🇨🇽",name:"christmas_island",shortcodes:["christmas_island","flag_cx"],tags:["CX","flag","flag: christmas island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fd.png"},{emoji:"🇨🇾",name:"cyprus",shortcodes:["cyprus","flag_cy"],tags:["CY","flag","flag: cyprus"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fe.png"},{emoji:"🇨🇿",name:"czech_republic",shortcodes:["czech_republic","czechia","flag_cz"],tags:["CZ","flag","flag: czechia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ff.png"},{emoji:"🇩🇪",name:"de",shortcodes:["flag_de","germany"],tags:["DE","flag","flag: germany"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ea.png"},{emoji:"🇩🇬",name:"diego_garcia",shortcodes:["diego_garcia","flag_dg"],tags:["DG","flag","flag: diego garcia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ec.png"},{emoji:"🇩🇯",name:"djibouti",shortcodes:["djibouti","flag_dj"],tags:["DJ","flag","flag: djibouti"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ef.png"},{emoji:"🇩🇰",name:"denmark",shortcodes:["denmark","flag_dk"],tags:["DK","flag","flag: denmark"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1f0.png"},{emoji:"🇩🇲",name:"dominica",shortcodes:["dominica","flag_dm"],tags:["DM","flag","flag: dominica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1f2.png"},{emoji:"🇩🇴",name:"dominican_republic",shortcodes:["dominican_republic","flag_do"],tags:["DO","flag","flag: dominican republic"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1f4.png"},{emoji:"🇩🇿",name:"algeria",shortcodes:["algeria","flag_dz"],tags:["DZ","flag","flag: algeria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ff.png"},{emoji:"🇪🇦",name:"ceuta_melilla",shortcodes:["ceuta_melilla","flag_ea"],tags:["EA","flag","flag: ceuta & melilla"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1e6.png"},{emoji:"🇪🇨",name:"ecuador",shortcodes:["ecuador","flag_ec"],tags:["EC","flag","flag: ecuador"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1e8.png"},{emoji:"🇪🇪",name:"estonia",shortcodes:["estonia","flag_ee"],tags:["EE","flag","flag: estonia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1ea.png"},{emoji:"🇪🇬",name:"egypt",shortcodes:["egypt","flag_eg"],tags:["EG","flag","flag: egypt"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1ec.png"},{emoji:"🇪🇭",name:"western_sahara",shortcodes:["flag_eh","western_sahara"],tags:["EH","flag","flag: western sahara"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1ed.png"},{emoji:"🇪🇷",name:"eritrea",shortcodes:["eritrea","flag_er"],tags:["ER","flag","flag: eritrea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1f7.png"},{emoji:"🇪🇸",name:"es",shortcodes:["flag_es","spain"],tags:["ES","flag","flag: spain"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1f8.png"},{emoji:"🇪🇹",name:"ethiopia",shortcodes:["ethiopia","flag_et"],tags:["ET","flag","flag: ethiopia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1f9.png"},{emoji:"🇪🇺",name:"eu",shortcodes:["european_union","flag_eu"],tags:["EU","flag","flag: european union"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1fa.png"},{emoji:"🇫🇮",name:"finland",shortcodes:["finland","flag_fi"],tags:["FI","flag","flag: finland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1ee.png"},{emoji:"🇫🇯",name:"fiji",shortcodes:["fiji","flag_fj"],tags:["FJ","flag","flag: fiji"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1ef.png"},{emoji:"🇫🇰",name:"falkland_islands",shortcodes:["falkland_islands","flag_fk"],tags:["FK","flag","flag: falkland islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f0.png"},{emoji:"🇫🇲",name:"micronesia",shortcodes:["flag_fm","micronesia"],tags:["FM","flag","flag: micronesia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f2.png"},{emoji:"🇫🇴",name:"faroe_islands",shortcodes:["faroe_islands","flag_fo"],tags:["FO","flag","flag: faroe islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f4.png"},{emoji:"🇫🇷",name:"fr",shortcodes:["flag_fr","france"],tags:["FR","flag","flag: france"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f7.png"},{emoji:"🇬🇦",name:"gabon",shortcodes:["flag_ga","gabon"],tags:["GA","flag","flag: gabon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1e6.png"},{emoji:"🇬🇧",name:"gb",shortcodes:["flag_gb","uk","united_kingdom"],tags:["GB","flag","flag: united kingdom"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1e7.png"},{emoji:"🇬🇩",name:"grenada",shortcodes:["flag_gd","grenada"],tags:["GD","flag","flag: grenada"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1e9.png"},{emoji:"🇬🇪",name:"georgia",shortcodes:["flag_ge","georgia"],tags:["GE","flag","flag: georgia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ea.png"},{emoji:"🇬🇫",name:"french_guiana",shortcodes:["flag_gf","french_guiana"],tags:["GF","flag","flag: french guiana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1eb.png"},{emoji:"🇬🇬",name:"guernsey",shortcodes:["flag_gg","guernsey"],tags:["GG","flag","flag: guernsey"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ec.png"},{emoji:"🇬🇭",name:"ghana",shortcodes:["flag_gh","ghana"],tags:["GH","flag","flag: ghana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ed.png"},{emoji:"🇬🇮",name:"gibraltar",shortcodes:["flag_gi","gibraltar"],tags:["GI","flag","flag: gibraltar"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ee.png"},{emoji:"🇬🇱",name:"greenland",shortcodes:["flag_gl","greenland"],tags:["GL","flag","flag: greenland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f1.png"},{emoji:"🇬🇲",name:"gambia",shortcodes:["flag_gm","gambia"],tags:["GM","flag","flag: gambia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f2.png"},{emoji:"🇬🇳",name:"guinea",shortcodes:["flag_gn","guinea"],tags:["GN","flag","flag: guinea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f3.png"},{emoji:"🇬🇵",name:"guadeloupe",shortcodes:["flag_gp","guadeloupe"],tags:["GP","flag","flag: guadeloupe"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f5.png"},{emoji:"🇬🇶",name:"equatorial_guinea",shortcodes:["equatorial_guinea","flag_gq"],tags:["GQ","flag","flag: equatorial guinea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f6.png"},{emoji:"🇬🇷",name:"greece",shortcodes:["flag_gr","greece"],tags:["GR","flag","flag: greece"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f7.png"},{emoji:"🇬🇸",name:"south_georgia_south_sandwich_islands",shortcodes:["flag_gs","south_georgia_south_sandwich_islands"],tags:["GS","flag","flag: south georgia & south sandwich islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f8.png"},{emoji:"🇬🇹",name:"guatemala",shortcodes:["flag_gt","guatemala"],tags:["GT","flag","flag: guatemala"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f9.png"},{emoji:"🇬🇺",name:"guam",shortcodes:["flag_gu","guam"],tags:["GU","flag","flag: guam"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1fa.png"},{emoji:"🇬🇼",name:"guinea_bissau",shortcodes:["flag_gw","guinea_bissau"],tags:["GW","flag","flag: guinea-bissau"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1fc.png"},{emoji:"🇬🇾",name:"guyana",shortcodes:["flag_gy","guyana"],tags:["GY","flag","flag: guyana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1fe.png"},{emoji:"🇭🇰",name:"hong_kong",shortcodes:["flag_hk","hong_kong"],tags:["HK","flag","flag: hong kong sar china"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f0.png"},{emoji:"🇭🇲",name:"heard_mcdonald_islands",shortcodes:["flag_hm","heard_mcdonald_islands"],tags:["HM","flag","flag: heard & mcdonald islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f2.png"},{emoji:"🇭🇳",name:"honduras",shortcodes:["flag_hn","honduras"],tags:["HN","flag","flag: honduras"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f3.png"},{emoji:"🇭🇷",name:"croatia",shortcodes:["croatia","flag_hr"],tags:["HR","flag","flag: croatia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f7.png"},{emoji:"🇭🇹",name:"haiti",shortcodes:["flag_ht","haiti"],tags:["HT","flag","flag: haiti"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f9.png"},{emoji:"🇭🇺",name:"hungary",shortcodes:["flag_hu","hungary"],tags:["HU","flag","flag: hungary"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1fa.png"},{emoji:"🇮🇨",name:"canary_islands",shortcodes:["canary_islands","flag_ic"],tags:["IC","flag","flag: canary islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1e8.png"},{emoji:"🇮🇩",name:"indonesia",shortcodes:["flag_id","indonesia"],tags:["ID","flag","flag: indonesia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1e9.png"},{emoji:"🇮🇪",name:"ireland",shortcodes:["flag_ie","ireland"],tags:["IE","flag","flag: ireland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1ea.png"},{emoji:"🇮🇱",name:"israel",shortcodes:["flag_il","israel"],tags:["IL","flag","flag: israel"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f1.png"},{emoji:"🇮🇲",name:"isle_of_man",shortcodes:["flag_im","isle_of_man"],tags:["IM","flag","flag: isle of man"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f2.png"},{emoji:"🇮🇳",name:"india",shortcodes:["flag_in","india"],tags:["IN","flag","flag: india"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f3.png"},{emoji:"🇮🇴",name:"british_indian_ocean_territory",shortcodes:["british_indian_ocean_territory","flag_io"],tags:["IO","flag","flag: british indian ocean territory"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f4.png"},{emoji:"🇮🇶",name:"iraq",shortcodes:["flag_iq","iraq"],tags:["IQ","flag","flag: iraq"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f6.png"},{emoji:"🇮🇷",name:"iran",shortcodes:["flag_ir","iran"],tags:["IR","flag","flag: iran"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f7.png"},{emoji:"🇮🇸",name:"iceland",shortcodes:["flag_is","iceland"],tags:["IS","flag","flag: iceland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f8.png"},{emoji:"🇮🇹",name:"it",shortcodes:["flag_it","italy"],tags:["IT","flag","flag: italy"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f9.png"},{emoji:"🇯🇪",name:"jersey",shortcodes:["flag_je","jersey"],tags:["JE","flag","flag: jersey"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1ea.png"},{emoji:"🇯🇲",name:"jamaica",shortcodes:["flag_jm","jamaica"],tags:["JM","flag","flag: jamaica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1f2.png"},{emoji:"🇯🇴",name:"jordan",shortcodes:["flag_jo","jordan"],tags:["JO","flag","flag: jordan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1f4.png"},{emoji:"🇯🇵",name:"jp",shortcodes:["flag_jp","japan"],tags:["JP","flag","flag: japan"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1f5.png"},{emoji:"🇰🇪",name:"kenya",shortcodes:["flag_ke","kenya"],tags:["KE","flag","flag: kenya"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ea.png"},{emoji:"🇰🇬",name:"kyrgyzstan",shortcodes:["flag_kg","kyrgyzstan"],tags:["KG","flag","flag: kyrgyzstan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ec.png"},{emoji:"🇰🇭",name:"cambodia",shortcodes:["cambodia","flag_kh"],tags:["KH","flag","flag: cambodia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ed.png"},{emoji:"🇰🇮",name:"kiribati",shortcodes:["flag_ki","kiribati"],tags:["KI","flag","flag: kiribati"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ee.png"},{emoji:"🇰🇲",name:"comoros",shortcodes:["comoros","flag_km"],tags:["KM","flag","flag: comoros"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f2.png"},{emoji:"🇰🇳",name:"st_kitts_nevis",shortcodes:["flag_kn","st_kitts_nevis"],tags:["KN","flag","flag: st. kitts & nevis"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f3.png"},{emoji:"🇰🇵",name:"north_korea",shortcodes:["flag_kp","north_korea"],tags:["KP","flag","flag: north korea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f5.png"},{emoji:"🇰🇷",name:"kr",shortcodes:["flag_kr","south_korea"],tags:["KR","flag","flag: south korea"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f7.png"},{emoji:"🇰🇼",name:"kuwait",shortcodes:["flag_kw","kuwait"],tags:["KW","flag","flag: kuwait"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1fc.png"},{emoji:"🇰🇾",name:"cayman_islands",shortcodes:["cayman_islands","flag_ky"],tags:["KY","flag","flag: cayman islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1fe.png"},{emoji:"🇰🇿",name:"kazakhstan",shortcodes:["flag_kz","kazakhstan"],tags:["KZ","flag","flag: kazakhstan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ff.png"},{emoji:"🇱🇦",name:"laos",shortcodes:["flag_la","laos"],tags:["LA","flag","flag: laos"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1e6.png"},{emoji:"🇱🇧",name:"lebanon",shortcodes:["flag_lb","lebanon"],tags:["LB","flag","flag: lebanon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1e7.png"},{emoji:"🇱🇨",name:"st_lucia",shortcodes:["flag_lc","st_lucia"],tags:["LC","flag","flag: st. lucia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1e8.png"},{emoji:"🇱🇮",name:"liechtenstein",shortcodes:["flag_li","liechtenstein"],tags:["LI","flag","flag: liechtenstein"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1ee.png"},{emoji:"🇱🇰",name:"sri_lanka",shortcodes:["flag_lk","sri_lanka"],tags:["LK","flag","flag: sri lanka"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f0.png"},{emoji:"🇱🇷",name:"liberia",shortcodes:["flag_lr","liberia"],tags:["LR","flag","flag: liberia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f7.png"},{emoji:"🇱🇸",name:"lesotho",shortcodes:["flag_ls","lesotho"],tags:["LS","flag","flag: lesotho"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f8.png"},{emoji:"🇱🇹",name:"lithuania",shortcodes:["flag_lt","lithuania"],tags:["LT","flag","flag: lithuania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f9.png"},{emoji:"🇱🇺",name:"luxembourg",shortcodes:["flag_lu","luxembourg"],tags:["LU","flag","flag: luxembourg"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1fa.png"},{emoji:"🇱🇻",name:"latvia",shortcodes:["flag_lv","latvia"],tags:["LV","flag","flag: latvia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1fb.png"},{emoji:"🇱🇾",name:"libya",shortcodes:["flag_ly","libya"],tags:["LY","flag","flag: libya"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1fe.png"},{emoji:"🇲🇦",name:"morocco",shortcodes:["flag_ma","morocco"],tags:["MA","flag","flag: morocco"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1e6.png"},{emoji:"🇲🇨",name:"monaco",shortcodes:["flag_mc","monaco"],tags:["MC","flag","flag: monaco"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1e8.png"},{emoji:"🇲🇩",name:"moldova",shortcodes:["flag_md","moldova"],tags:["MD","flag","flag: moldova"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1e9.png"},{emoji:"🇲🇪",name:"montenegro",shortcodes:["flag_me","montenegro"],tags:["ME","flag","flag: montenegro"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ea.png"},{emoji:"🇲🇫",name:"st_martin",shortcodes:["flag_mf","st_martin"],tags:["MF","flag","flag: st. martin"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1eb.png"},{emoji:"🇲🇬",name:"madagascar",shortcodes:["flag_mg","madagascar"],tags:["MG","flag","flag: madagascar"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ec.png"},{emoji:"🇲🇭",name:"marshall_islands",shortcodes:["flag_mh","marshall_islands"],tags:["MH","flag","flag: marshall islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ed.png"},{emoji:"🇲🇰",name:"macedonia",shortcodes:["flag_mk","macedonia"],tags:["MK","flag","flag: north macedonia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f0.png"},{emoji:"🇲🇱",name:"mali",shortcodes:["flag_ml","mali"],tags:["ML","flag","flag: mali"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f1.png"},{emoji:"🇲🇲",name:"myanmar",shortcodes:["burma","flag_mm","myanmar"],tags:["MM","flag","flag: myanmar (burma)"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f2.png"},{emoji:"🇲🇳",name:"mongolia",shortcodes:["flag_mn","mongolia"],tags:["MN","flag","flag: mongolia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f3.png"},{emoji:"🇲🇴",name:"macau",shortcodes:["flag_mo","macao","macau"],tags:["MO","flag","flag: macao sar china"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f4.png"},{emoji:"🇲🇵",name:"northern_mariana_islands",shortcodes:["flag_mp","northern_mariana_islands"],tags:["MP","flag","flag: northern mariana islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f5.png"},{emoji:"🇲🇶",name:"martinique",shortcodes:["flag_mq","martinique"],tags:["MQ","flag","flag: martinique"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f6.png"},{emoji:"🇲🇷",name:"mauritania",shortcodes:["flag_mr","mauritania"],tags:["MR","flag","flag: mauritania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f7.png"},{emoji:"🇲🇸",name:"montserrat",shortcodes:["flag_ms","montserrat"],tags:["MS","flag","flag: montserrat"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f8.png"},{emoji:"🇲🇹",name:"malta",shortcodes:["flag_mt","malta"],tags:["MT","flag","flag: malta"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f9.png"},{emoji:"🇲🇺",name:"mauritius",shortcodes:["flag_mu","mauritius"],tags:["MU","flag","flag: mauritius"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fa.png"},{emoji:"🇲🇻",name:"maldives",shortcodes:["flag_mv","maldives"],tags:["MV","flag","flag: maldives"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fb.png"},{emoji:"🇲🇼",name:"malawi",shortcodes:["flag_mw","malawi"],tags:["MW","flag","flag: malawi"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fc.png"},{emoji:"🇲🇽",name:"mexico",shortcodes:["flag_mx","mexico"],tags:["MX","flag","flag: mexico"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fd.png"},{emoji:"🇲🇾",name:"malaysia",shortcodes:["flag_my","malaysia"],tags:["MY","flag","flag: malaysia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fe.png"},{emoji:"🇲🇿",name:"mozambique",shortcodes:["flag_mz","mozambique"],tags:["MZ","flag","flag: mozambique"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ff.png"},{emoji:"🇳🇦",name:"namibia",shortcodes:["flag_na","namibia"],tags:["NA","flag","flag: namibia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1e6.png"},{emoji:"🇳🇨",name:"new_caledonia",shortcodes:["flag_nc","new_caledonia"],tags:["NC","flag","flag: new caledonia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1e8.png"},{emoji:"🇳🇪",name:"niger",shortcodes:["flag_ne","niger"],tags:["NE","flag","flag: niger"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ea.png"},{emoji:"🇳🇫",name:"norfolk_island",shortcodes:["flag_nf","norfolk_island"],tags:["NF","flag","flag: norfolk island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1eb.png"},{emoji:"🇳🇬",name:"nigeria",shortcodes:["flag_ng","nigeria"],tags:["NG","flag","flag: nigeria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ec.png"},{emoji:"🇳🇮",name:"nicaragua",shortcodes:["flag_ni","nicaragua"],tags:["NI","flag","flag: nicaragua"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ee.png"},{emoji:"🇳🇱",name:"netherlands",shortcodes:["flag_nl","netherlands"],tags:["NL","flag","flag: netherlands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f1.png"},{emoji:"🇳🇴",name:"norway",shortcodes:["flag_no","norway"],tags:["NO","flag","flag: norway"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f4.png"},{emoji:"🇳🇵",name:"nepal",shortcodes:["flag_np","nepal"],tags:["NP","flag","flag: nepal"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f5.png"},{emoji:"🇳🇷",name:"nauru",shortcodes:["flag_nr","nauru"],tags:["NR","flag","flag: nauru"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f7.png"},{emoji:"🇳🇺",name:"niue",shortcodes:["flag_nu","niue"],tags:["NU","flag","flag: niue"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1fa.png"},{emoji:"🇳🇿",name:"new_zealand",shortcodes:["flag_nz","new_zealand"],tags:["NZ","flag","flag: new zealand"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ff.png"},{emoji:"🇴🇲",name:"oman",shortcodes:["flag_om","oman"],tags:["OM","flag","flag: oman"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f4-1f1f2.png"},{emoji:"🇵🇦",name:"panama",shortcodes:["flag_pa","panama"],tags:["PA","flag","flag: panama"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1e6.png"},{emoji:"🇵🇪",name:"peru",shortcodes:["flag_pe","peru"],tags:["PE","flag","flag: peru"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1ea.png"},{emoji:"🇵🇫",name:"french_polynesia",shortcodes:["flag_pf","french_polynesia"],tags:["PF","flag","flag: french polynesia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1eb.png"},{emoji:"🇵🇬",name:"papua_new_guinea",shortcodes:["flag_pg","papua_new_guinea"],tags:["PG","flag","flag: papua new guinea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1ec.png"},{emoji:"🇵🇭",name:"philippines",shortcodes:["flag_ph","philippines"],tags:["PH","flag","flag: philippines"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1ed.png"},{emoji:"🇵🇰",name:"pakistan",shortcodes:["flag_pk","pakistan"],tags:["PK","flag","flag: pakistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f0.png"},{emoji:"🇵🇱",name:"poland",shortcodes:["flag_pl","poland"],tags:["PL","flag","flag: poland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f1.png"},{emoji:"🇵🇲",name:"st_pierre_miquelon",shortcodes:["flag_pm","st_pierre_miquelon"],tags:["PM","flag","flag: st. pierre & miquelon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f2.png"},{emoji:"🇵🇳",name:"pitcairn_islands",shortcodes:["flag_pn","pitcairn_islands"],tags:["PN","flag","flag: pitcairn islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f3.png"},{emoji:"🇵🇷",name:"puerto_rico",shortcodes:["flag_pr","puerto_rico"],tags:["PR","flag","flag: puerto rico"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f7.png"},{emoji:"🇵🇸",name:"palestinian_territories",shortcodes:["flag_ps","palestinian_territories"],tags:["PS","flag","flag: palestinian territories"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f8.png"},{emoji:"🇵🇹",name:"portugal",shortcodes:["flag_pt","portugal"],tags:["PT","flag","flag: portugal"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f9.png"},{emoji:"🇵🇼",name:"palau",shortcodes:["flag_pw","palau"],tags:["PW","flag","flag: palau"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1fc.png"},{emoji:"🇵🇾",name:"paraguay",shortcodes:["flag_py","paraguay"],tags:["PY","flag","flag: paraguay"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1fe.png"},{emoji:"🇶🇦",name:"qatar",shortcodes:["flag_qa","qatar"],tags:["QA","flag","flag: qatar"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f6-1f1e6.png"},{emoji:"🇷🇪",name:"reunion",shortcodes:["flag_re","reunion"],tags:["RE","flag","flag: réunion"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1ea.png"},{emoji:"🇷🇴",name:"romania",shortcodes:["flag_ro","romania"],tags:["RO","flag","flag: romania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1f4.png"},{emoji:"🇷🇸",name:"serbia",shortcodes:["flag_rs","serbia"],tags:["RS","flag","flag: serbia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1f8.png"},{emoji:"🇷🇺",name:"ru",shortcodes:["flag_ru","russia"],tags:["RU","flag","flag: russia"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1fa.png"},{emoji:"🇷🇼",name:"rwanda",shortcodes:["flag_rw","rwanda"],tags:["RW","flag","flag: rwanda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1fc.png"},{emoji:"🇸🇦",name:"saudi_arabia",shortcodes:["flag_sa","saudi_arabia"],tags:["SA","flag","flag: saudi arabia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e6.png"},{emoji:"🇸🇧",name:"solomon_islands",shortcodes:["flag_sb","solomon_islands"],tags:["SB","flag","flag: solomon islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e7.png"},{emoji:"🇸🇨",name:"seychelles",shortcodes:["flag_sc","seychelles"],tags:["SC","flag","flag: seychelles"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e8.png"},{emoji:"🇸🇩",name:"sudan",shortcodes:["flag_sd","sudan"],tags:["SD","flag","flag: sudan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e9.png"},{emoji:"🇸🇪",name:"sweden",shortcodes:["flag_se","sweden"],tags:["SE","flag","flag: sweden"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ea.png"},{emoji:"🇸🇬",name:"singapore",shortcodes:["flag_sg","singapore"],tags:["SG","flag","flag: singapore"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ec.png"},{emoji:"🇸🇭",name:"st_helena",shortcodes:["flag_sh","st_helena"],tags:["SH","flag","flag: st. helena"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ed.png"},{emoji:"🇸🇮",name:"slovenia",shortcodes:["flag_si","slovenia"],tags:["SI","flag","flag: slovenia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ee.png"},{emoji:"🇸🇯",name:"svalbard_jan_mayen",shortcodes:["flag_sj","svalbard_jan_mayen"],tags:["SJ","flag","flag: svalbard & jan mayen"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ef.png"},{emoji:"🇸🇰",name:"slovakia",shortcodes:["flag_sk","slovakia"],tags:["SK","flag","flag: slovakia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f0.png"},{emoji:"🇸🇱",name:"sierra_leone",shortcodes:["flag_sl","sierra_leone"],tags:["SL","flag","flag: sierra leone"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f1.png"},{emoji:"🇸🇲",name:"san_marino",shortcodes:["flag_sm","san_marino"],tags:["SM","flag","flag: san marino"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f2.png"},{emoji:"🇸🇳",name:"senegal",shortcodes:["flag_sn","senegal"],tags:["SN","flag","flag: senegal"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f3.png"},{emoji:"🇸🇴",name:"somalia",shortcodes:["flag_so","somalia"],tags:["SO","flag","flag: somalia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f4.png"},{emoji:"🇸🇷",name:"suriname",shortcodes:["flag_sr","suriname"],tags:["SR","flag","flag: suriname"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f7.png"},{emoji:"🇸🇸",name:"south_sudan",shortcodes:["flag_ss","south_sudan"],tags:["SS","flag","flag: south sudan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f8.png"},{emoji:"🇸🇹",name:"sao_tome_principe",shortcodes:["flag_st","sao_tome_principe"],tags:["ST","flag","flag: são tomé & príncipe"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f9.png"},{emoji:"🇸🇻",name:"el_salvador",shortcodes:["el_salvador","flag_sv"],tags:["SV","flag","flag: el salvador"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1fb.png"},{emoji:"🇸🇽",name:"sint_maarten",shortcodes:["flag_sx","sint_maarten"],tags:["SX","flag","flag: sint maarten"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1fd.png"},{emoji:"🇸🇾",name:"syria",shortcodes:["flag_sy","syria"],tags:["SY","flag","flag: syria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1fe.png"},{emoji:"🇸🇿",name:"swaziland",shortcodes:["eswatini","flag_sz","swaziland"],tags:["SZ","flag","flag: eswatini"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ff.png"},{emoji:"🇹🇦",name:"tristan_da_cunha",shortcodes:["flag_ta","tristan_da_cunha"],tags:["TA","flag","flag: tristan da cunha"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1e6.png"},{emoji:"🇹🇨",name:"turks_caicos_islands",shortcodes:["flag_tc","turks_caicos_islands"],tags:["TC","flag","flag: turks & caicos islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1e8.png"},{emoji:"🇹🇩",name:"chad",shortcodes:["chad","flag_td"],tags:["TD","flag","flag: chad"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1e9.png"},{emoji:"🇹🇫",name:"french_southern_territories",shortcodes:["flag_tf","french_southern_territories"],tags:["TF","flag","flag: french southern territories"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1eb.png"},{emoji:"🇹🇬",name:"togo",shortcodes:["flag_tg","togo"],tags:["TG","flag","flag: togo"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ec.png"},{emoji:"🇹🇭",name:"thailand",shortcodes:["flag_th","thailand"],tags:["TH","flag","flag: thailand"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ed.png"},{emoji:"🇹🇯",name:"tajikistan",shortcodes:["flag_tj","tajikistan"],tags:["TJ","flag","flag: tajikistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ef.png"},{emoji:"🇹🇰",name:"tokelau",shortcodes:["flag_tk","tokelau"],tags:["TK","flag","flag: tokelau"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f0.png"},{emoji:"🇹🇱",name:"timor_leste",shortcodes:["flag_tl","timor_leste"],tags:["TL","flag","flag: timor-leste"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f1.png"},{emoji:"🇹🇲",name:"turkmenistan",shortcodes:["flag_tm","turkmenistan"],tags:["TM","flag","flag: turkmenistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f2.png"},{emoji:"🇹🇳",name:"tunisia",shortcodes:["flag_tn","tunisia"],tags:["TN","flag","flag: tunisia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f3.png"},{emoji:"🇹🇴",name:"tonga",shortcodes:["flag_to","tonga"],tags:["TO","flag","flag: tonga"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f4.png"},{emoji:"🇹🇷",name:"tr",shortcodes:["flag_tr","turkey_tr"],tags:["TR","flag","flag: türkiye"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f7.png"},{emoji:"🇹🇹",name:"trinidad_tobago",shortcodes:["flag_tt","trinidad_tobago"],tags:["TT","flag","flag: trinidad & tobago"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f9.png"},{emoji:"🇹🇻",name:"tuvalu",shortcodes:["flag_tv","tuvalu"],tags:["TV","flag","flag: tuvalu"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1fb.png"},{emoji:"🇹🇼",name:"taiwan",shortcodes:["flag_tw","taiwan"],tags:["TW","flag","flag: taiwan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1fc.png"},{emoji:"🇹🇿",name:"tanzania",shortcodes:["flag_tz","tanzania"],tags:["TZ","flag","flag: tanzania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ff.png"},{emoji:"🇺🇦",name:"ukraine",shortcodes:["flag_ua","ukraine"],tags:["UA","flag","flag: ukraine"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1e6.png"},{emoji:"🇺🇬",name:"uganda",shortcodes:["flag_ug","uganda"],tags:["UG","flag","flag: uganda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1ec.png"},{emoji:"🇺🇲",name:"us_outlying_islands",shortcodes:["flag_um","us_outlying_islands"],tags:["UM","flag","flag: u.s. outlying islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1f2.png"},{emoji:"🇺🇳",name:"united_nations",shortcodes:["flag_un","un","united_nations"],tags:["UN","flag","flag: united nations"],group:"flags",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1f3.png"},{emoji:"🇺🇸",name:"us",shortcodes:["flag_us","united_states","usa"],tags:["US","flag","flag: united states"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1f8.png"},{emoji:"🇺🇾",name:"uruguay",shortcodes:["flag_uy","uruguay"],tags:["UY","flag","flag: uruguay"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1fe.png"},{emoji:"🇺🇿",name:"uzbekistan",shortcodes:["flag_uz","uzbekistan"],tags:["UZ","flag","flag: uzbekistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1ff.png"},{emoji:"🇻🇦",name:"vatican_city",shortcodes:["flag_va","vatican_city"],tags:["VA","flag","flag: vatican city"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1e6.png"},{emoji:"🇻🇨",name:"st_vincent_grenadines",shortcodes:["flag_vc","st_vincent_grenadines"],tags:["VC","flag","flag: st. vincent & grenadines"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1e8.png"},{emoji:"🇻🇪",name:"venezuela",shortcodes:["flag_ve","venezuela"],tags:["VE","flag","flag: venezuela"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1ea.png"},{emoji:"🇻🇬",name:"british_virgin_islands",shortcodes:["british_virgin_islands","flag_vg"],tags:["VG","flag","flag: british virgin islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1ec.png"},{emoji:"🇻🇮",name:"us_virgin_islands",shortcodes:["flag_vi","us_virgin_islands"],tags:["VI","flag","flag: u.s. virgin islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1ee.png"},{emoji:"🇻🇳",name:"vietnam",shortcodes:["flag_vn","vietnam"],tags:["VN","flag","flag: vietnam"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1f3.png"},{emoji:"🇻🇺",name:"vanuatu",shortcodes:["flag_vu","vanuatu"],tags:["VU","flag","flag: vanuatu"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1fa.png"},{emoji:"🇼🇫",name:"wallis_futuna",shortcodes:["flag_wf","wallis_futuna"],tags:["WF","flag","flag: wallis & futuna"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fc-1f1eb.png"},{emoji:"🇼🇸",name:"samoa",shortcodes:["flag_ws","samoa"],tags:["WS","flag","flag: samoa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fc-1f1f8.png"},{emoji:"🇽🇰",name:"kosovo",shortcodes:["flag_xk","kosovo"],tags:["XK","flag","flag: kosovo"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fd-1f1f0.png"},{emoji:"🇾🇪",name:"yemen",shortcodes:["flag_ye","yemen"],tags:["YE","flag","flag: yemen"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fe-1f1ea.png"},{emoji:"🇾🇹",name:"mayotte",shortcodes:["flag_yt","mayotte"],tags:["YT","flag","flag: mayotte"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fe-1f1f9.png"},{emoji:"🇿🇦",name:"south_africa",shortcodes:["flag_za","south_africa"],tags:["ZA","flag","flag: south africa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ff-1f1e6.png"},{emoji:"🇿🇲",name:"zambia",shortcodes:["flag_zm","zambia"],tags:["ZM","flag","flag: zambia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ff-1f1f2.png"},{emoji:"🇿🇼",name:"zimbabwe",shortcodes:["flag_zw","zimbabwe"],tags:["ZW","flag","flag: zimbabwe"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ff-1f1fc.png"},{emoji:"🏴",name:"england",shortcodes:["england","flag_gbeng"],tags:["flag","flag: england","gbeng"],group:"flags",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png"},{emoji:"🏴",name:"scotland",shortcodes:["flag_gbsct","scotland"],tags:["flag","flag: scotland","gbsct"],group:"flags",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png"},{emoji:"🏴",name:"wales",shortcodes:["flag_gbwls","wales"],tags:["flag","flag: wales","gbwls"],group:"flags",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png"}],Xst=[{name:"atom",shortcodes:["atom"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/atom.png"},{name:"basecamp",shortcodes:["basecamp"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/basecamp.png"},{name:"basecampy",shortcodes:["basecampy"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/basecampy.png"},{name:"bowtie",shortcodes:["bowtie"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/bowtie.png"},{name:"electron",shortcodes:["electron"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/electron.png"},{name:"feelsgood",shortcodes:["feelsgood"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/feelsgood.png"},{name:"finnadie",shortcodes:["finnadie"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/finnadie.png"},{name:"goberserk",shortcodes:["goberserk"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/goberserk.png"},{name:"godmode",shortcodes:["godmode"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/godmode.png"},{name:"hurtrealbad",shortcodes:["hurtrealbad"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/hurtrealbad.png"},{name:"neckbeard",shortcodes:["neckbeard"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/neckbeard.png"},{name:"octocat",shortcodes:["octocat"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/octocat.png"},{name:"rage1",shortcodes:["rage1"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage1.png"},{name:"rage2",shortcodes:["rage2"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage2.png"},{name:"rage3",shortcodes:["rage3"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage3.png"},{name:"rage4",shortcodes:["rage4"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage4.png"},{name:"shipit",shortcodes:["shipit"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/shipit.png"},{name:"suspect",shortcodes:["suspect"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/suspect.png"},{name:"trollface",shortcodes:["trollface"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/trollface.png"}];[...NE,...Xst];function eat(t){return t.replace("︎","").replace("️","")}function tat(t,e){var n;return(n=e.find(r=>r.emoji===eat(t)))===null||n===void 0?void 0:n.shortcodes[0]}function nat(t,e=JSON.stringify){const n={};return t.filter(r=>{const o=e(r);return Object.prototype.hasOwnProperty.call(n,o)?!1:n[o]=!0})}function Im(t,e){return e.find(n=>t===n.name||n.shortcodes.includes(t))}const rat=new Li("emojiSuggestion"),oat=/:([a-zA-Z0-9_+-]+):$/,sat=/:([a-zA-Z0-9_+-]+):/g,aat=cv.create({name:"emoji",inline:!0,group:"inline",selectable:!1,addOptions(){return{HTMLAttributes:{},emojis:NE,enableEmoticons:!1,forceFallbackImages:!1,suggestion:{char:":",pluginKey:rat,command:({editor:t,range:e,props:n})=>{var r;const o=t.view.state.selection.$to.nodeAfter;((r=o==null?void 0:o.text)===null||r===void 0?void 0:r.startsWith(" "))&&(e.to+=1),t.chain().focus().insertContentAt(e,[{type:this.name,attrs:n},{type:"text",text:" "}]).command(({tr:a,state:i})=>(a.setStoredMarks(i.doc.resolve(i.selection.to-2).marks()),!0)).run()},allow:({state:t,range:e})=>{const n=t.doc.resolve(e.from),r=t.schema.nodes[this.name];return!!n.parent.type.contentMatch.matchType(r)}}}},addStorage(){const{emojis:t}=this.options,e=nat(t.map(n=>n.version)).filter(n=>typeof n=="number").reduce((n,r)=>{const o=t.find(s=>s.version===r&&s.emoji);return{...n,[r]:o?Qst(o.emoji):!1}},{});return{emojis:this.options.emojis,isSupported:n=>n.version?e[n.version]:!1}},addAttributes(){return{name:{default:null,parseHTML:t=>t.dataset.name,renderHTML:t=>({"data-name":t.name})}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:t,node:e}){const n=Im(e.attrs.name,this.options.emojis),r=Bp(t,this.options.HTMLAttributes,{"data-type":this.name});if(!n)return["span",r,`:${e.attrs.name}:`];const o=this.storage.isSupported(n),s=!!(n!=null&&n.emoji),a=!!(n!=null&&n.fallbackImage),i=this.options.forceFallbackImages&&!s||this.options.forceFallbackImages&&a||this.options.forceFallbackImages&&!o&&a||(!o||!s)&&a;return["span",r,i?["img",{src:n.fallbackImage,draggable:"false",loading:"lazy",align:"absmiddle",alt:`${n.name} emoji`}]:n.emoji||`:${n.shortcodes[0]}:`]},renderText({node:t}){const e=Im(t.attrs.name,this.options.emojis);return(e==null?void 0:e.emoji)||`:${t.attrs.name}:`},addCommands(){return{setEmoji:t=>({chain:e})=>{const n=Im(t,this.options.emojis);return n?(e().insertContent({type:this.name,attrs:{name:n.name}}).command(({tr:r,state:o})=>(r.setStoredMarks(o.doc.resolve(o.selection.to-1).marks()),!0)).run(),!0):!1}}},addInputRules(){const t=[];if(t.push(new qhe({find:oat,handler:({range:e,match:n,chain:r})=>{const o=n[1];Im(o,this.options.emojis)&&r().insertContentAt(e,{type:this.name,attrs:{name:o}}).command(({tr:s,state:a})=>(s.setStoredMarks(a.doc.resolve(a.selection.to-1).marks()),!0)).run()}})),this.options.enableEmoticons){const e=this.options.emojis.map(r=>r.emoticons).flat().filter(r=>r),n=new RegExp(`(?:^|\\s)(${e.map(r=>sme(r)).join("|")}) $`);t.push(Yst({find:n,type:this.type,getAttributes:r=>{const o=this.options.emojis.find(s=>{var a;return(a=s.emoticons)===null||a===void 0?void 0:a.includes(r[1])});if(o)return{name:o.name}}}))}return t},addPasteRules(){return[new lot({find:sat,handler:({range:t,match:e,chain:n})=>{const r=e[1];Im(r,this.options.emojis)&&n().insertContentAt(t,{type:this.name,attrs:{name:r}},{updateSelection:!1}).command(({tr:o,state:s})=>(o.setStoredMarks(s.doc.resolve(s.selection.to-1).marks()),!0)).run()}})]},addProseMirrorPlugins(){return[ame({editor:this.editor,...this.options.suggestion}),new ui({key:new Li("emoji"),props:{handleDoubleClickOn:(t,e,n)=>{if(n.type!==this.type)return!1;const r=e,o=r+n.nodeSize;return this.editor.commands.setTextSelection({from:r,to:o}),!0}},appendTransaction:(t,e,n)=>{if(!(t.some(i=>i.docChanged)&&!e.doc.eq(n.doc)))return;const{tr:o}=n,s=ost(e.doc,t);if(pst(s).forEach(({newRange:i})=>{if(n.doc.resolve(i.from).parent.type.spec.code)return;ast(n.doc,i,u=>u.type.isText).forEach(({node:u,pos:d})=>{if(!u.text)return;[...u.text.matchAll(Zst())].forEach(m=>{if(m.index===void 0)return;const g=m[0],w=tat(g,this.options.emojis);if(!w)return;const b=o.mapping.map(d+m.index);if(n.doc.resolve(b).parent.type.spec.code)return;const j=b+g.length,S=this.type.create({name:w});o.replaceRangeWith(b,j,S),o.setStoredMarks(n.doc.resolve(b).marks())})})}),!!o.steps.length)return o}})]}});function a5(t){const e=ime(t),n=/(^|\s+|@)(nostr:)?(nevent|naddr|nprofile|npub)1[a-zA-Z0-9]+/g;return e.replace(n,(r,o)=>{let s=r.trim();const a=o||"";s.startsWith("@nostr:")?s=s.slice(7):s.startsWith("@")?s=s.slice(1):s.startsWith("nostr:")&&(s=s.slice(6));try{return jr.decode(s),`${a}nostr:${s}`}catch{return r}}).trim()}function ime(t){var e;if(!t)return"";if(typeof t=="string")return t;if(t.type==="text")return t.text||"";if(t.type==="hardBreak")return`
2186 `;if(Array.isArray(t.content))return t.content.map(ime).join("")+(t.type==="paragraph"?`
2187 `:"");switch(t.type){case"paragraph":return`
2188 `;case"mention":return t.attrs?`nostr:${t.attrs.id}`:"";case"emoji":return iat((e=t.attrs)==null?void 0:e.name);default:return""}}function iat(t){if(!t)return"";if(ef.isCustomEmojiId(t))return`:${t}:`;const e=Im(t,NE);return e?e.emoji??"":""}const lat=cv.create({name:"doc",topNode:!0,content:"block+"}),cat=cv.create({name:"hardBreak",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",Bp(this.options.HTMLAttributes,t)]},renderText(){return`
2189 `},addCommands(){return{setHardBreak:()=>({commands:t,chain:e,state:n,editor:r})=>t.first([()=>t.exitCode(),()=>t.command(()=>{const{selection:o,storedMarks:s}=n;if(o.$from.parent.type.spec.isolating)return!1;const{keepMarks:a}=this.options,{splittableMarks:i}=r.extensionManager,l=s||o.$to.parentOffset&&o.$from.marks();return e().insertContent({type:this.name}).command(({tr:u,dispatch:d})=>{if(d&&l&&a){const f=l.filter(m=>i.includes(m.type.name));u.ensureMarks(f)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}});var Bj=200,Os=function(){};Os.prototype.append=function(e){return e.length?(e=Os.from(e),!this.length&&e||e.length<Bj&&this.leafAppend(e)||this.length<Bj&&e.leafPrepend(this)||this.appendInner(e)):this};Os.prototype.prepend=function(e){return e.length?Os.from(e).append(this):this};Os.prototype.appendInner=function(e){return new uat(this,e)};Os.prototype.slice=function(e,n){return e===void 0&&(e=0),n===void 0&&(n=this.length),e>=n?Os.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,n))};Os.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};Os.prototype.forEach=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(e,n,r,0):this.forEachInvertedInner(e,n,r,0)};Os.prototype.map=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var o=[];return this.forEach(function(s,a){return o.push(e(s,a))},n,r),o};Os.from=function(e){return e instanceof Os?e:e&&e.length?new lme(e):Os.empty};var lme=(function(t){function e(r){t.call(this),this.values=r}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(o,s){return o==0&&s==this.length?this:new e(this.values.slice(o,s))},e.prototype.getInner=function(o){return this.values[o]},e.prototype.forEachInner=function(o,s,a,i){for(var l=s;l<a;l++)if(o(this.values[l],i+l)===!1)return!1},e.prototype.forEachInvertedInner=function(o,s,a,i){for(var l=s-1;l>=a;l--)if(o(this.values[l],i+l)===!1)return!1},e.prototype.leafAppend=function(o){if(this.length+o.length<=Bj)return new e(this.values.concat(o.flatten()))},e.prototype.leafPrepend=function(o){if(this.length+o.length<=Bj)return new e(o.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(e.prototype,n),e})(Os);Os.empty=new lme([]);var uat=(function(t){function e(n,r){t.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(r){return r<this.left.length?this.left.get(r):this.right.get(r-this.left.length)},e.prototype.forEachInner=function(r,o,s,a){var i=this.left.length;if(o<i&&this.left.forEachInner(r,o,Math.min(s,i),a)===!1||s>i&&this.right.forEachInner(r,Math.max(o-i,0),Math.min(this.length,s)-i,a+i)===!1)return!1},e.prototype.forEachInvertedInner=function(r,o,s,a){var i=this.left.length;if(o>i&&this.right.forEachInvertedInner(r,o-i,Math.max(s,i)-i,a+i)===!1||s<i&&this.left.forEachInvertedInner(r,Math.min(o,i),s,a)===!1)return!1},e.prototype.sliceInner=function(r,o){if(r==0&&o==this.length)return this;var s=this.left.length;return o<=s?this.left.slice(r,o):r>=s?this.right.slice(r-s,o-s):this.left.slice(r,s).append(this.right.slice(0,o-s))},e.prototype.leafAppend=function(r){var o=this.right.leafAppend(r);if(o)return new e(this.left,o)},e.prototype.leafPrepend=function(r){var o=this.left.leafPrepend(r);if(o)return new e(o,this.right)},e.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new e(this.left,new e(this.right,r)):new e(this,r)},e})(Os);const fat=500;class Bc{constructor(e,n){this.items=e,this.eventCount=n}popEvent(e,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let o,s;n&&(o=this.remapping(r,this.items.length),s=o.maps.length);let a=e.tr,i,l,u=[],d=[];return this.items.forEach((f,m)=>{if(!f.step){o||(o=this.remapping(r,m+1),s=o.maps.length),s--,d.push(f);return}if(o){d.push(new dp(f.map));let g=f.step.map(o.slice(s)),w;g&&a.maybeStep(g).doc&&(w=a.mapping.maps[a.mapping.maps.length-1],u.push(new dp(w,void 0,void 0,u.length+d.length))),s--,w&&o.appendMap(w,s)}else a.maybeStep(f.step);if(f.selection)return i=o?f.selection.map(o.slice(s)):f.selection,l=new Bc(this.items.slice(0,r).append(d.reverse().concat(u)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:a,selection:i}}addTransform(e,n,r,o){let s=[],a=this.eventCount,i=this.items,l=!o&&i.length?i.get(i.length-1):null;for(let d=0;d<e.steps.length;d++){let f=e.steps[d].invert(e.docs[d]),m=new dp(e.mapping.maps[d],f,n),g;(g=l&&l.merge(m))&&(m=g,d?s.pop():i=i.slice(0,i.length-1)),s.push(m),n&&(a++,n=void 0),o||(l=m)}let u=a-r.depth;return u>pat&&(i=dat(i,u),a-=u),new Bc(i.append(s),a)}remapping(e,n){let r=new h2;return this.items.forEach((o,s)=>{let a=o.mirrorOffset!=null&&s-o.mirrorOffset>=e?r.maps.length-o.mirrorOffset:void 0;r.appendMap(o.map,a)},e,n),r}addMaps(e){return this.eventCount==0?this:new Bc(this.items.append(e.map(n=>new dp(n))),this.eventCount)}rebased(e,n){if(!this.eventCount)return this;let r=[],o=Math.max(0,this.items.length-n),s=e.mapping,a=e.steps.length,i=this.eventCount;this.items.forEach(m=>{m.selection&&i--},o);let l=n;this.items.forEach(m=>{let g=s.getMirror(--l);if(g==null)return;a=Math.min(a,g);let w=s.maps[g];if(m.step){let b=e.steps[g].invert(e.docs[g]),j=m.selection&&m.selection.map(s.slice(l+1,g));j&&i++,r.push(new dp(w,b,j))}else r.push(new dp(w))},o);let u=[];for(let m=n;m<a;m++)u.push(new dp(s.maps[m]));let d=this.items.slice(0,o).append(u).append(r),f=new Bc(d,i);return f.emptyItemCount()>fat&&(f=f.compress(this.items.length-r.length)),f}emptyItemCount(){let e=0;return this.items.forEach(n=>{n.step||e++}),e}compress(e=this.items.length){let n=this.remapping(0,e),r=n.maps.length,o=[],s=0;return this.items.forEach((a,i)=>{if(i>=e)o.push(a),a.selection&&s++;else if(a.step){let l=a.step.map(n.slice(r)),u=l&&l.getMap();if(r--,u&&n.appendMap(u,r),l){let d=a.selection&&a.selection.map(n.slice(r));d&&s++;let f=new dp(u.invert(),l,d),m,g=o.length-1;(m=o.length&&o[g].merge(f))?o[g]=m:o.push(f)}}else a.map&&r--},this.items.length,0),new Bc(Os.from(o.reverse()),s)}}Bc.empty=new Bc(Os.empty,0);function dat(t,e){let n;return t.forEach((r,o)=>{if(r.selection&&e--==0)return n=o,!1}),t.slice(n)}let dp=class cme{constructor(e,n,r,o){this.map=e,this.step=n,this.selection=r,this.mirrorOffset=o}merge(e){if(this.step&&e.step&&!e.selection){let n=e.step.merge(this.step);if(n)return new cme(n.getMap().invert(),n,this.selection)}}};class Sp{constructor(e,n,r,o,s){this.done=e,this.undone=n,this.prevRanges=r,this.prevTime=o,this.prevComposition=s}}const pat=20;function hat(t,e,n,r){let o=n.getMeta(ng),s;if(o)return o.historyState;n.getMeta(yat)&&(t=new Sp(t.done,t.undone,null,0,-1));let a=n.getMeta("appendedTransaction");if(n.steps.length==0)return t;if(a&&a.getMeta(ng))return a.getMeta(ng).redo?new Sp(t.done.addTransform(n,void 0,r,Z3(e)),t.undone,vK(n.mapping.maps),t.prevTime,t.prevComposition):new Sp(t.done,t.undone.addTransform(n,void 0,r,Z3(e)),null,t.prevTime,t.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(a&&a.getMeta("addToHistory")===!1)){let i=n.getMeta("composition"),l=t.prevTime==0||!a&&t.prevComposition!=i&&(t.prevTime<(n.time||0)-r.newGroupDelay||!mat(n,t.prevRanges)),u=a?i5(t.prevRanges,n.mapping):vK(n.mapping.maps);return new Sp(t.done.addTransform(n,l?e.selection.getBookmark():void 0,r,Z3(e)),Bc.empty,u,n.time,i??t.prevComposition)}else return(s=n.getMeta("rebased"))?new Sp(t.done.rebased(n,s),t.undone.rebased(n,s),i5(t.prevRanges,n.mapping),t.prevTime,t.prevComposition):new Sp(t.done.addMaps(n.mapping.maps),t.undone.addMaps(n.mapping.maps),i5(t.prevRanges,n.mapping),t.prevTime,t.prevComposition)}function mat(t,e){if(!e)return!1;if(!t.docChanged)return!0;let n=!1;return t.mapping.maps[0].forEach((r,o)=>{for(let s=0;s<e.length;s+=2)r<=e[s+1]&&o>=e[s]&&(n=!0)}),n}function vK(t){let e=[];for(let n=t.length-1;n>=0&&e.length==0;n--)t[n].forEach((r,o,s,a)=>e.push(s,a));return e}function i5(t,e){if(!t)return null;let n=[];for(let r=0;r<t.length;r+=2){let o=e.map(t[r],1),s=e.map(t[r+1],-1);o<=s&&n.push(o,s)}return n}function gat(t,e,n){let r=Z3(e),o=ng.get(e).spec.config,s=(n?t.undone:t.done).popEvent(e,r);if(!s)return null;let a=s.selection.resolve(s.transform.doc),i=(n?t.done:t.undone).addTransform(s.transform,e.selection.getBookmark(),o,r),l=new Sp(n?i:s.remaining,n?s.remaining:i,null,0,-1);return s.transform.setSelection(a).setMeta(ng,{redo:n,historyState:l})}let l5=!1,wK=null;function Z3(t){let e=t.plugins;if(wK!=e){l5=!1,wK=e;for(let n=0;n<e.length;n++)if(e[n].spec.historyPreserveItems){l5=!0;break}}return l5}const ng=new Li("history"),yat=new Li("closeHistory");function vat(t={}){return t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500},new ui({key:ng,state:{init(){return new Sp(Bc.empty,Bc.empty,null,0,-1)},apply(e,n,r){return hat(n,r,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(e,n){let r=n.inputType,o=r=="historyUndo"?fme:r=="historyRedo"?dme:null;return o?(n.preventDefault(),o(e.state,e.dispatch)):!1}}}})}function ume(t,e){return(n,r)=>{let o=ng.getState(n);if(!o||(t?o.undone:o.done).eventCount==0)return!1;if(r){let s=gat(o,n,t);s&&r(e?s.scrollIntoView():s)}return!0}}const fme=ume(!1,!0),dme=ume(!0,!0),wat=Ri.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>fme(t,e),redo:()=>({state:t,dispatch:e})=>dme(t,e)}},addProseMirrorPlugins(){return[vat(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),bat=cv.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",Bp(this.options.HTMLAttributes,t),0]},addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),xat=Ri.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new ui({key:new Li("placeholder"),props:{decorations:({doc:t,selection:e})=>{const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=e,o=[];if(!n)return null;const s=this.editor.isEmpty;return t.descendants((a,i)=>{const l=r>=i&&r<=i+a.nodeSize,u=!a.isLeaf&&EE(a);if((l||!this.options.showOnlyCurrent)&&u){const d=[this.options.emptyNodeClass];s&&d.push(this.options.emptyEditorClass);const f=al.node(i,i+a.nodeSize,{class:d.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:a,pos:i,hasAnchor:l}):this.options.placeholder});o.push(f)}return this.options.includeChildren}),Go.create(t,o)}}})]}}),kat=cv.create({name:"text",group:"inline"});var Ni="top",Kl="bottom",Zl="right",Ii="left",yP="auto",Ix=[Ni,Kl,Zl,Ii],Ny="start",b2="end",jat="clippingParents",pme="viewport",Ew="popper",Cat="reference",bK=Ix.reduce(function(t,e){return t.concat([e+"-"+Ny,e+"-"+b2])},[]),hme=[].concat(Ix,[yP]).reduce(function(t,e){return t.concat([e,e+"-"+Ny,e+"-"+b2])},[]),Sat="beforeRead",Eat="read",Nat="afterRead",Iat="beforeMain",Aat="main",_at="afterMain",Mat="beforeWrite",Rat="write",Tat="afterWrite",Dat=[Sat,Eat,Nat,Iat,Aat,_at,Mat,Rat,Tat];function mf(t){return t?(t.nodeName||"").toLowerCase():null}function ml(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Lg(t){var e=ml(t).Element;return t instanceof e||t instanceof Element}function Gl(t){var e=ml(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function vP(t){if(typeof ShadowRoot>"u")return!1;var e=ml(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Lat(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var r=e.styles[n]||{},o=e.attributes[n]||{},s=e.elements[n];!Gl(s)||!mf(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var i=o[a];i===!1?s.removeAttribute(a):s.setAttribute(a,i===!0?"":i)}))})}function Pat(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(r){var o=e.elements[r],s=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:n[r]),i=a.reduce(function(l,u){return l[u]="",l},{});!Gl(o)||!mf(o)||(Object.assign(o.style,i),Object.keys(s).forEach(function(l){o.removeAttribute(l)}))})}}const mme={name:"applyStyles",enabled:!0,phase:"write",fn:Lat,effect:Pat,requires:["computeStyles"]};function Qu(t){return t.split("-")[0]}var rg=Math.max,Uj=Math.min,Iy=Math.round;function sR(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function gme(){return!/^((?!chrome|android).)*safari/i.test(sR())}function Ay(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var r=t.getBoundingClientRect(),o=1,s=1;e&&Gl(t)&&(o=t.offsetWidth>0&&Iy(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&Iy(r.height)/t.offsetHeight||1);var a=Lg(t)?ml(t):window,i=a.visualViewport,l=!gme()&&n,u=(r.left+(l&&i?i.offsetLeft:0))/o,d=(r.top+(l&&i?i.offsetTop:0))/s,f=r.width/o,m=r.height/s;return{width:f,height:m,top:d,right:u+f,bottom:d+m,left:u,x:u,y:d}}function wP(t){var e=Ay(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function yme(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&vP(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function pd(t){return ml(t).getComputedStyle(t)}function Oat(t){return["table","td","th"].indexOf(mf(t))>=0}function Lh(t){return((Lg(t)?t.ownerDocument:t.document)||window.document).documentElement}function IE(t){return mf(t)==="html"?t:t.assignedSlot||t.parentNode||(vP(t)?t.host:null)||Lh(t)}function xK(t){return!Gl(t)||pd(t).position==="fixed"?null:t.offsetParent}function zat(t){var e=/firefox/i.test(sR()),n=/Trident/i.test(sR());if(n&&Gl(t)){var r=pd(t);if(r.position==="fixed")return null}var o=IE(t);for(vP(o)&&(o=o.host);Gl(o)&&["html","body"].indexOf(mf(o))<0;){var s=pd(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||e&&s.willChange==="filter"||e&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Ax(t){for(var e=ml(t),n=xK(t);n&&Oat(n)&&pd(n).position==="static";)n=xK(n);return n&&(mf(n)==="html"||mf(n)==="body"&&pd(n).position==="static")?e:n||zat(t)||e}function bP(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function lb(t,e,n){return rg(t,Uj(e,n))}function Fat(t,e,n){var r=lb(t,e,n);return r>n?n:r}function vme(){return{top:0,right:0,bottom:0,left:0}}function wme(t){return Object.assign({},vme(),t)}function bme(t,e){return e.reduce(function(n,r){return n[r]=t,n},{})}var Bat=function(e,n){return e=typeof e=="function"?e(Object.assign({},n.rects,{placement:n.placement})):e,wme(typeof e!="number"?e:bme(e,Ix))};function Uat(t){var e,n=t.state,r=t.name,o=t.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,i=Qu(n.placement),l=bP(i),u=[Ii,Zl].indexOf(i)>=0,d=u?"height":"width";if(!(!s||!a)){var f=Bat(o.padding,n),m=wP(s),g=l==="y"?Ni:Ii,w=l==="y"?Kl:Zl,b=n.rects.reference[d]+n.rects.reference[l]-a[l]-n.rects.popper[d],j=a[l]-n.rects.reference[l],S=Ax(s),I=S?l==="y"?S.clientHeight||0:S.clientWidth||0:0,N=b/2-j/2,M=f[g],D=I-m[d]-f[w],P=I/2-m[d]/2+N,L=lb(M,P,D),F=l;n.modifiersData[r]=(e={},e[F]=L,e.centerOffset=L-P,e)}}function $at(t){var e=t.state,n=t.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=e.elements.popper.querySelector(o),!o)||yme(e.elements.popper,o)&&(e.elements.arrow=o))}const Vat={name:"arrow",enabled:!0,phase:"main",fn:Uat,effect:$at,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function _y(t){return t.split("-")[1]}var Hat={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Wat(t,e){var n=t.x,r=t.y,o=e.devicePixelRatio||1;return{x:Iy(n*o)/o||0,y:Iy(r*o)/o||0}}function kK(t){var e,n=t.popper,r=t.popperRect,o=t.placement,s=t.variation,a=t.offsets,i=t.position,l=t.gpuAcceleration,u=t.adaptive,d=t.roundOffsets,f=t.isFixed,m=a.x,g=m===void 0?0:m,w=a.y,b=w===void 0?0:w,j=typeof d=="function"?d({x:g,y:b}):{x:g,y:b};g=j.x,b=j.y;var S=a.hasOwnProperty("x"),I=a.hasOwnProperty("y"),N=Ii,M=Ni,D=window;if(u){var P=Ax(n),L="clientHeight",F="clientWidth";if(P===ml(n)&&(P=Lh(n),pd(P).position!=="static"&&i==="absolute"&&(L="scrollHeight",F="scrollWidth")),P=P,o===Ni||(o===Ii||o===Zl)&&s===b2){M=Kl;var T=f&&P===D&&D.visualViewport?D.visualViewport.height:P[L];b-=T-r.height,b*=l?1:-1}if(o===Ii||(o===Ni||o===Kl)&&s===b2){N=Zl;var R=f&&P===D&&D.visualViewport?D.visualViewport.width:P[F];g-=R-r.width,g*=l?1:-1}}var z=Object.assign({position:i},u&&Hat),G=d===!0?Wat({x:g,y:b},ml(n)):{x:g,y:b};if(g=G.x,b=G.y,l){var Z;return Object.assign({},z,(Z={},Z[M]=I?"0":"",Z[N]=S?"0":"",Z.transform=(D.devicePixelRatio||1)<=1?"translate("+g+"px, "+b+"px)":"translate3d("+g+"px, "+b+"px, 0)",Z))}return Object.assign({},z,(e={},e[M]=I?b+"px":"",e[N]=S?g+"px":"",e.transform="",e))}function Yat(t){var e=t.state,n=t.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,i=n.roundOffsets,l=i===void 0?!0:i,u={placement:Qu(e.placement),variation:_y(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,kK(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,kK(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Gat={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Yat,data:{}};var X6={passive:!0};function qat(t){var e=t.state,n=t.instance,r=t.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,i=a===void 0?!0:a,l=ml(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&u.forEach(function(d){d.addEventListener("scroll",n.update,X6)}),i&&l.addEventListener("resize",n.update,X6),function(){s&&u.forEach(function(d){d.removeEventListener("scroll",n.update,X6)}),i&&l.removeEventListener("resize",n.update,X6)}}const Kat={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:qat,data:{}};var Zat={left:"right",right:"left",bottom:"top",top:"bottom"};function Q3(t){return t.replace(/left|right|bottom|top/g,function(e){return Zat[e]})}var Qat={start:"end",end:"start"};function jK(t){return t.replace(/start|end/g,function(e){return Qat[e]})}function xP(t){var e=ml(t),n=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:n,scrollTop:r}}function kP(t){return Ay(Lh(t)).left+xP(t).scrollLeft}function Jat(t,e){var n=ml(t),r=Lh(t),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,i=0,l=0;if(o){s=o.width,a=o.height;var u=gme();(u||!u&&e==="fixed")&&(i=o.offsetLeft,l=o.offsetTop)}return{width:s,height:a,x:i+kP(t),y:l}}function Xat(t){var e,n=Lh(t),r=xP(t),o=(e=t.ownerDocument)==null?void 0:e.body,s=rg(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=rg(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),i=-r.scrollLeft+kP(t),l=-r.scrollTop;return pd(o||n).direction==="rtl"&&(i+=rg(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:i,y:l}}function jP(t){var e=pd(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function xme(t){return["html","body","#document"].indexOf(mf(t))>=0?t.ownerDocument.body:Gl(t)&&jP(t)?t:xme(IE(t))}function cb(t,e){var n;e===void 0&&(e=[]);var r=xme(t),o=r===((n=t.ownerDocument)==null?void 0:n.body),s=ml(r),a=o?[s].concat(s.visualViewport||[],jP(r)?r:[]):r,i=e.concat(a);return o?i:i.concat(cb(IE(a)))}function aR(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function eit(t,e){var n=Ay(t,!1,e==="fixed");return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}function CK(t,e,n){return e===pme?aR(Jat(t,n)):Lg(e)?eit(e,n):aR(Xat(Lh(t)))}function tit(t){var e=cb(IE(t)),n=["absolute","fixed"].indexOf(pd(t).position)>=0,r=n&&Gl(t)?Ax(t):t;return Lg(r)?e.filter(function(o){return Lg(o)&&yme(o,r)&&mf(o)!=="body"}):[]}function nit(t,e,n,r){var o=e==="clippingParents"?tit(t):[].concat(e),s=[].concat(o,[n]),a=s[0],i=s.reduce(function(l,u){var d=CK(t,u,r);return l.top=rg(d.top,l.top),l.right=Uj(d.right,l.right),l.bottom=Uj(d.bottom,l.bottom),l.left=rg(d.left,l.left),l},CK(t,a,r));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function kme(t){var e=t.reference,n=t.element,r=t.placement,o=r?Qu(r):null,s=r?_y(r):null,a=e.x+e.width/2-n.width/2,i=e.y+e.height/2-n.height/2,l;switch(o){case Ni:l={x:a,y:e.y-n.height};break;case Kl:l={x:a,y:e.y+e.height};break;case Zl:l={x:e.x+e.width,y:i};break;case Ii:l={x:e.x-n.width,y:i};break;default:l={x:e.x,y:e.y}}var u=o?bP(o):null;if(u!=null){var d=u==="y"?"height":"width";switch(s){case Ny:l[u]=l[u]-(e[d]/2-n[d]/2);break;case b2:l[u]=l[u]+(e[d]/2-n[d]/2);break}}return l}function x2(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=r===void 0?t.placement:r,s=n.strategy,a=s===void 0?t.strategy:s,i=n.boundary,l=i===void 0?jat:i,u=n.rootBoundary,d=u===void 0?pme:u,f=n.elementContext,m=f===void 0?Ew:f,g=n.altBoundary,w=g===void 0?!1:g,b=n.padding,j=b===void 0?0:b,S=wme(typeof j!="number"?j:bme(j,Ix)),I=m===Ew?Cat:Ew,N=t.rects.popper,M=t.elements[w?I:m],D=nit(Lg(M)?M:M.contextElement||Lh(t.elements.popper),l,d,a),P=Ay(t.elements.reference),L=kme({reference:P,element:N,placement:o}),F=aR(Object.assign({},N,L)),T=m===Ew?F:P,R={top:D.top-T.top+S.top,bottom:T.bottom-D.bottom+S.bottom,left:D.left-T.left+S.left,right:T.right-D.right+S.right},z=t.modifiersData.offset;if(m===Ew&&z){var G=z[o];Object.keys(R).forEach(function(Z){var W=[Zl,Kl].indexOf(Z)>=0?1:-1,U=[Ni,Kl].indexOf(Z)>=0?"y":"x";R[Z]+=G[U]*W})}return R}function rit(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,i=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?hme:l,d=_y(r),f=d?i?bK:bK.filter(function(w){return _y(w)===d}):Ix,m=f.filter(function(w){return u.indexOf(w)>=0});m.length===0&&(m=f);var g=m.reduce(function(w,b){return w[b]=x2(t,{placement:b,boundary:o,rootBoundary:s,padding:a})[Qu(b)],w},{});return Object.keys(g).sort(function(w,b){return g[w]-g[b]})}function oit(t){if(Qu(t)===yP)return[];var e=Q3(t);return[jK(t),e,jK(e)]}function sit(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,i=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,d=n.boundary,f=n.rootBoundary,m=n.altBoundary,g=n.flipVariations,w=g===void 0?!0:g,b=n.allowedAutoPlacements,j=e.options.placement,S=Qu(j),I=S===j,N=l||(I||!w?[Q3(j)]:oit(j)),M=[j].concat(N).reduce(function(de,Ee){return de.concat(Qu(Ee)===yP?rit(e,{placement:Ee,boundary:d,rootBoundary:f,padding:u,flipVariations:w,allowedAutoPlacements:b}):Ee)},[]),D=e.rects.reference,P=e.rects.popper,L=new Map,F=!0,T=M[0],R=0;R<M.length;R++){var z=M[R],G=Qu(z),Z=_y(z)===Ny,W=[Ni,Kl].indexOf(G)>=0,U=W?"width":"height",ee=x2(e,{placement:z,boundary:d,rootBoundary:f,altBoundary:m,padding:u}),$=W?Z?Zl:Ii:Z?Kl:Ni;D[U]>P[U]&&($=Q3($));var H=Q3($),Y=[];if(s&&Y.push(ee[G]<=0),i&&Y.push(ee[$]<=0,ee[H]<=0),Y.every(function(de){return de})){T=z,F=!1;break}L.set(z,Y)}if(F)for(var q=w?3:1,J=function(Ee){var we=M.find(function(xe){var ce=L.get(xe);if(ce)return ce.slice(0,Ee).every(function(pe){return pe})});if(we)return T=we,"break"},ne=q;ne>0;ne--){var re=J(ne);if(re==="break")break}e.placement!==T&&(e.modifiersData[r]._skip=!0,e.placement=T,e.reset=!0)}}const ait={name:"flip",enabled:!0,phase:"main",fn:sit,requiresIfExists:["offset"],data:{_skip:!1}};function SK(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function EK(t){return[Ni,Zl,Kl,Ii].some(function(e){return t[e]>=0})}function iit(t){var e=t.state,n=t.name,r=e.rects.reference,o=e.rects.popper,s=e.modifiersData.preventOverflow,a=x2(e,{elementContext:"reference"}),i=x2(e,{altBoundary:!0}),l=SK(a,r),u=SK(i,o,s),d=EK(l),f=EK(u);e.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:f},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}const lit={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:iit};function cit(t,e,n){var r=Qu(t),o=[Ii,Ni].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,a=s[0],i=s[1];return a=a||0,i=(i||0)*o,[Ii,Zl].indexOf(r)>=0?{x:i,y:a}:{x:a,y:i}}function uit(t){var e=t.state,n=t.options,r=t.name,o=n.offset,s=o===void 0?[0,0]:o,a=hme.reduce(function(d,f){return d[f]=cit(f,e.rects,s),d},{}),i=a[e.placement],l=i.x,u=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[r]=a}const fit={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:uit};function dit(t){var e=t.state,n=t.name;e.modifiersData[n]=kme({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const pit={name:"popperOffsets",enabled:!0,phase:"read",fn:dit,data:{}};function hit(t){return t==="x"?"y":"x"}function mit(t){var e=t.state,n=t.options,r=t.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,i=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,f=n.padding,m=n.tether,g=m===void 0?!0:m,w=n.tetherOffset,b=w===void 0?0:w,j=x2(e,{boundary:l,rootBoundary:u,padding:f,altBoundary:d}),S=Qu(e.placement),I=_y(e.placement),N=!I,M=bP(S),D=hit(M),P=e.modifiersData.popperOffsets,L=e.rects.reference,F=e.rects.popper,T=typeof b=="function"?b(Object.assign({},e.rects,{placement:e.placement})):b,R=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),z=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,G={x:0,y:0};if(P){if(s){var Z,W=M==="y"?Ni:Ii,U=M==="y"?Kl:Zl,ee=M==="y"?"height":"width",$=P[M],H=$+j[W],Y=$-j[U],q=g?-F[ee]/2:0,J=I===Ny?L[ee]:F[ee],ne=I===Ny?-F[ee]:-L[ee],re=e.elements.arrow,de=g&&re?wP(re):{width:0,height:0},Ee=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:vme(),we=Ee[W],xe=Ee[U],ce=lb(0,L[ee],de[ee]),pe=N?L[ee]/2-q-ce-we-R.mainAxis:J-ce-we-R.mainAxis,he=N?-L[ee]/2+q+ce+xe+R.mainAxis:ne+ce+xe+R.mainAxis,ke=e.elements.arrow&&Ax(e.elements.arrow),le=ke?M==="y"?ke.clientTop||0:ke.clientLeft||0:0,ye=(Z=z==null?void 0:z[M])!=null?Z:0,ve=$+pe-ye-le,Ie=$+he-ye,Ve=lb(g?Uj(H,ve):H,$,g?rg(Y,Ie):Y);P[M]=Ve,G[M]=Ve-$}if(i){var Qe,nt=M==="x"?Ni:Ii,Ue=M==="x"?Kl:Zl,qe=P[D],_e=D==="y"?"height":"width",et=qe+j[nt],pt=qe-j[Ue],ht=[Ni,Ii].indexOf(S)!==-1,at=(Qe=z==null?void 0:z[D])!=null?Qe:0,De=ht?et:qe-L[_e]-F[_e]-at+R.altAxis,se=ht?qe+L[_e]+F[_e]-at-R.altAxis:pt,K=g&&ht?Fat(De,qe,se):lb(g?De:et,qe,g?se:pt);P[D]=K,G[D]=K-qe}e.modifiersData[r]=G}}const git={name:"preventOverflow",enabled:!0,phase:"main",fn:mit,requiresIfExists:["offset"]};function yit(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function vit(t){return t===ml(t)||!Gl(t)?xP(t):yit(t)}function wit(t){var e=t.getBoundingClientRect(),n=Iy(e.width)/t.offsetWidth||1,r=Iy(e.height)/t.offsetHeight||1;return n!==1||r!==1}function bit(t,e,n){n===void 0&&(n=!1);var r=Gl(e),o=Gl(e)&&wit(e),s=Lh(e),a=Ay(t,o,n),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((mf(e)!=="body"||jP(s))&&(i=vit(e)),Gl(e)?(l=Ay(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=kP(s))),{x:a.left+i.scrollLeft-l.x,y:a.top+i.scrollTop-l.y,width:a.width,height:a.height}}function xit(t){var e=new Map,n=new Set,r=[];t.forEach(function(s){e.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(i){if(!n.has(i)){var l=e.get(i);l&&o(l)}}),r.push(s)}return t.forEach(function(s){n.has(s.name)||o(s)}),r}function kit(t){var e=xit(t);return Dat.reduce(function(n,r){return n.concat(e.filter(function(o){return o.phase===r}))},[])}function jit(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function Cit(t){var e=t.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(e).map(function(n){return e[n]})}var NK={placement:"bottom",modifiers:[],strategy:"absolute"};function IK(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return!e.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function Sit(t){t===void 0&&(t={});var e=t,n=e.defaultModifiers,r=n===void 0?[]:n,o=e.defaultOptions,s=o===void 0?NK:o;return function(i,l,u){u===void 0&&(u=s);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},NK,s),modifiersData:{},elements:{reference:i,popper:l},attributes:{},styles:{}},f=[],m=!1,g={state:d,setOptions:function(S){var I=typeof S=="function"?S(d.options):S;b(),d.options=Object.assign({},s,d.options,I),d.scrollParents={reference:Lg(i)?cb(i):i.contextElement?cb(i.contextElement):[],popper:cb(l)};var N=kit(Cit([].concat(r,d.options.modifiers)));return d.orderedModifiers=N.filter(function(M){return M.enabled}),w(),g.update()},forceUpdate:function(){if(!m){var S=d.elements,I=S.reference,N=S.popper;if(IK(I,N)){d.rects={reference:bit(I,Ax(N),d.options.strategy==="fixed"),popper:wP(N)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(R){return d.modifiersData[R.name]=Object.assign({},R.data)});for(var M=0;M<d.orderedModifiers.length;M++){if(d.reset===!0){d.reset=!1,M=-1;continue}var D=d.orderedModifiers[M],P=D.fn,L=D.options,F=L===void 0?{}:L,T=D.name;typeof P=="function"&&(d=P({state:d,options:F,name:T,instance:g})||d)}}}},update:jit(function(){return new Promise(function(j){g.forceUpdate(),j(d)})}),destroy:function(){b(),m=!0}};if(!IK(i,l))return g;g.setOptions(u).then(function(j){!m&&u.onFirstUpdate&&u.onFirstUpdate(j)});function w(){d.orderedModifiers.forEach(function(j){var S=j.name,I=j.options,N=I===void 0?{}:I,M=j.effect;if(typeof M=="function"){var D=M({state:d,name:S,instance:g,options:N}),P=function(){};f.push(D||P)}})}function b(){f.forEach(function(j){return j()}),f=[]}return g}}var Eit=[Kat,pit,Gat,mme,fit,ait,git,Vat,lit],Nit=Sit({defaultModifiers:Eit}),Iit="tippy-box",jme="tippy-content",Ait="tippy-backdrop",Cme="tippy-arrow",Sme="tippy-svg-arrow",bm={passive:!0,capture:!0},Eme=function(){return document.body};function c5(t,e,n){if(Array.isArray(t)){var r=t[e];return r??(Array.isArray(n)?n[e]:n)}return t}function CP(t,e){var n={}.toString.call(t);return n.indexOf("[object")===0&&n.indexOf(e+"]")>-1}function Nme(t,e){return typeof t=="function"?t.apply(void 0,e):t}function AK(t,e){if(e===0)return t;var n;return function(r){clearTimeout(n),n=setTimeout(function(){t(r)},e)}}function _it(t){return t.split(/\s+/).filter(Boolean)}function f0(t){return[].concat(t)}function _K(t,e){t.indexOf(e)===-1&&t.push(e)}function Mit(t){return t.filter(function(e,n){return t.indexOf(e)===n})}function Rit(t){return t.split("-")[0]}function $j(t){return[].slice.call(t)}function MK(t){return Object.keys(t).reduce(function(e,n){return t[n]!==void 0&&(e[n]=t[n]),e},{})}function ub(){return document.createElement("div")}function AE(t){return["Element","Fragment"].some(function(e){return CP(t,e)})}function Tit(t){return CP(t,"NodeList")}function Dit(t){return CP(t,"MouseEvent")}function Lit(t){return!!(t&&t._tippy&&t._tippy.reference===t)}function Pit(t){return AE(t)?[t]:Tit(t)?$j(t):Array.isArray(t)?t:$j(document.querySelectorAll(t))}function u5(t,e){t.forEach(function(n){n&&(n.style.transitionDuration=e+"ms")})}function RK(t,e){t.forEach(function(n){n&&n.setAttribute("data-state",e)})}function Oit(t){var e,n=f0(t),r=n[0];return r!=null&&(e=r.ownerDocument)!=null&&e.body?r.ownerDocument:document}function zit(t,e){var n=e.clientX,r=e.clientY;return t.every(function(o){var s=o.popperRect,a=o.popperState,i=o.props,l=i.interactiveBorder,u=Rit(a.placement),d=a.modifiersData.offset;if(!d)return!0;var f=u==="bottom"?d.top.y:0,m=u==="top"?d.bottom.y:0,g=u==="right"?d.left.x:0,w=u==="left"?d.right.x:0,b=s.top-r+f>l,j=r-s.bottom-m>l,S=s.left-n+g>l,I=n-s.right-w>l;return b||j||S||I})}function f5(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(o){t[r](o,n)})}function TK(t,e){for(var n=e;n;){var r;if(t.contains(n))return!0;n=n.getRootNode==null||(r=n.getRootNode())==null?void 0:r.host}return!1}var Du={isTouch:!1},DK=0;function Fit(){Du.isTouch||(Du.isTouch=!0,window.performance&&document.addEventListener("mousemove",Ime))}function Ime(){var t=performance.now();t-DK<20&&(Du.isTouch=!1,document.removeEventListener("mousemove",Ime)),DK=t}function Bit(){var t=document.activeElement;if(Lit(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}function Uit(){document.addEventListener("touchstart",Fit,bm),window.addEventListener("blur",Bit)}var $it=typeof window<"u"&&typeof document<"u",Vit=$it?!!window.msCrypto:!1,Hit={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Wit={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},$c=Object.assign({appendTo:Eme,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Hit,Wit),Yit=Object.keys($c),Git=function(e){var n=Object.keys(e);n.forEach(function(r){$c[r]=e[r]})};function Ame(t){var e=t.plugins||[],n=e.reduce(function(r,o){var s=o.name,a=o.defaultValue;if(s){var i;r[s]=t[s]!==void 0?t[s]:(i=$c[s])!=null?i:a}return r},{});return Object.assign({},t,n)}function qit(t,e){var n=e?Object.keys(Ame(Object.assign({},$c,{plugins:e}))):Yit,r=n.reduce(function(o,s){var a=(t.getAttribute("data-tippy-"+s)||"").trim();if(!a)return o;if(s==="content")o[s]=a;else try{o[s]=JSON.parse(a)}catch{o[s]=a}return o},{});return r}function LK(t,e){var n=Object.assign({},e,{content:Nme(e.content,[t])},e.ignoreAttributes?{}:qit(t,e.plugins));return n.aria=Object.assign({},$c.aria,n.aria),n.aria={expanded:n.aria.expanded==="auto"?e.interactive:n.aria.expanded,content:n.aria.content==="auto"?e.interactive?null:"describedby":n.aria.content},n}var Kit=function(){return"innerHTML"};function iR(t,e){t[Kit()]=e}function PK(t){var e=ub();return t===!0?e.className=Cme:(e.className=Sme,AE(t)?e.appendChild(t):iR(e,t)),e}function OK(t,e){AE(e.content)?(iR(t,""),t.appendChild(e.content)):typeof e.content!="function"&&(e.allowHTML?iR(t,e.content):t.textContent=e.content)}function lR(t){var e=t.firstElementChild,n=$j(e.children);return{box:e,content:n.find(function(r){return r.classList.contains(jme)}),arrow:n.find(function(r){return r.classList.contains(Cme)||r.classList.contains(Sme)}),backdrop:n.find(function(r){return r.classList.contains(Ait)})}}function _me(t){var e=ub(),n=ub();n.className=Iit,n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=ub();r.className=jme,r.setAttribute("data-state","hidden"),OK(r,t.props),e.appendChild(n),n.appendChild(r),o(t.props,t.props);function o(s,a){var i=lR(e),l=i.box,u=i.content,d=i.arrow;a.theme?l.setAttribute("data-theme",a.theme):l.removeAttribute("data-theme"),typeof a.animation=="string"?l.setAttribute("data-animation",a.animation):l.removeAttribute("data-animation"),a.inertia?l.setAttribute("data-inertia",""):l.removeAttribute("data-inertia"),l.style.maxWidth=typeof a.maxWidth=="number"?a.maxWidth+"px":a.maxWidth,a.role?l.setAttribute("role",a.role):l.removeAttribute("role"),(s.content!==a.content||s.allowHTML!==a.allowHTML)&&OK(u,t.props),a.arrow?d?s.arrow!==a.arrow&&(l.removeChild(d),l.appendChild(PK(a.arrow))):l.appendChild(PK(a.arrow)):d&&l.removeChild(d)}return{popper:e,onUpdate:o}}_me.$$tippy=!0;var Zit=1,e3=[],d5=[];function Qit(t,e){var n=LK(t,Object.assign({},$c,Ame(MK(e)))),r,o,s,a=!1,i=!1,l=!1,u=!1,d,f,m,g=[],w=AK(ve,n.interactiveDebounce),b,j=Zit++,S=null,I=Mit(n.plugins),N={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},M={id:j,reference:t,popper:ub(),popperInstance:S,props:n,state:N,plugins:I,clearDelayTimeouts:De,setProps:se,setContent:K,show:Q,hide:ie,hideWithInteractivity:Se,enable:ht,disable:at,unmount:Me,destroy:Ce};if(!n.render)return M;var D=n.render(M),P=D.popper,L=D.onUpdate;P.setAttribute("data-tippy-root",""),P.id="tippy-"+M.id,M.popper=P,t._tippy=M,P._tippy=M;var F=I.map(function(me){return me.fn(M)}),T=t.hasAttribute("aria-expanded");return ke(),q(),$(),H("onCreate",[M]),n.showOnCreate&&et(),P.addEventListener("mouseenter",function(){M.props.interactive&&M.state.isVisible&&M.clearDelayTimeouts()}),P.addEventListener("mouseleave",function(){M.props.interactive&&M.props.trigger.indexOf("mouseenter")>=0&&W().addEventListener("mousemove",w)}),M;function R(){var me=M.props.touch;return Array.isArray(me)?me:[me,0]}function z(){return R()[0]==="hold"}function G(){var me;return!!((me=M.props.render)!=null&&me.$$tippy)}function Z(){return b||t}function W(){var me=Z().parentNode;return me?Oit(me):document}function U(){return lR(P)}function ee(me){return M.state.isMounted&&!M.state.isVisible||Du.isTouch||d&&d.type==="focus"?0:c5(M.props.delay,me?0:1,$c.delay)}function $(me){me===void 0&&(me=!1),P.style.pointerEvents=M.props.interactive&&!me?"":"none",P.style.zIndex=""+M.props.zIndex}function H(me,We,Xe){if(Xe===void 0&&(Xe=!0),F.forEach(function(ze){ze[me]&&ze[me].apply(ze,We)}),Xe){var Re;(Re=M.props)[me].apply(Re,We)}}function Y(){var me=M.props.aria;if(me.content){var We="aria-"+me.content,Xe=P.id,Re=f0(M.props.triggerTarget||t);Re.forEach(function(ze){var rt=ze.getAttribute(We);if(M.state.isVisible)ze.setAttribute(We,rt?rt+" "+Xe:Xe);else{var vt=rt&&rt.replace(Xe,"").trim();vt?ze.setAttribute(We,vt):ze.removeAttribute(We)}})}}function q(){if(!(T||!M.props.aria.expanded)){var me=f0(M.props.triggerTarget||t);me.forEach(function(We){M.props.interactive?We.setAttribute("aria-expanded",M.state.isVisible&&We===Z()?"true":"false"):We.removeAttribute("aria-expanded")})}}function J(){W().removeEventListener("mousemove",w),e3=e3.filter(function(me){return me!==w})}function ne(me){if(!(Du.isTouch&&(l||me.type==="mousedown"))){var We=me.composedPath&&me.composedPath()[0]||me.target;if(!(M.props.interactive&&TK(P,We))){if(f0(M.props.triggerTarget||t).some(function(Xe){return TK(Xe,We)})){if(Du.isTouch||M.state.isVisible&&M.props.trigger.indexOf("click")>=0)return}else H("onClickOutside",[M,me]);M.props.hideOnClick===!0&&(M.clearDelayTimeouts(),M.hide(),i=!0,setTimeout(function(){i=!1}),M.state.isMounted||we())}}}function re(){l=!0}function de(){l=!1}function Ee(){var me=W();me.addEventListener("mousedown",ne,!0),me.addEventListener("touchend",ne,bm),me.addEventListener("touchstart",de,bm),me.addEventListener("touchmove",re,bm)}function we(){var me=W();me.removeEventListener("mousedown",ne,!0),me.removeEventListener("touchend",ne,bm),me.removeEventListener("touchstart",de,bm),me.removeEventListener("touchmove",re,bm)}function xe(me,We){pe(me,function(){!M.state.isVisible&&P.parentNode&&P.parentNode.contains(P)&&We()})}function ce(me,We){pe(me,We)}function pe(me,We){var Xe=U().box;function Re(ze){ze.target===Xe&&(f5(Xe,"remove",Re),We())}if(me===0)return We();f5(Xe,"remove",f),f5(Xe,"add",Re),f=Re}function he(me,We,Xe){Xe===void 0&&(Xe=!1);var Re=f0(M.props.triggerTarget||t);Re.forEach(function(ze){ze.addEventListener(me,We,Xe),g.push({node:ze,eventType:me,handler:We,options:Xe})})}function ke(){z()&&(he("touchstart",ye,{passive:!0}),he("touchend",Ie,{passive:!0})),_it(M.props.trigger).forEach(function(me){if(me!=="manual")switch(he(me,ye),me){case"mouseenter":he("mouseleave",Ie);break;case"focus":he(Vit?"focusout":"blur",Ve);break;case"focusin":he("focusout",Ve);break}})}function le(){g.forEach(function(me){var We=me.node,Xe=me.eventType,Re=me.handler,ze=me.options;We.removeEventListener(Xe,Re,ze)}),g=[]}function ye(me){var We,Xe=!1;if(!(!M.state.isEnabled||Qe(me)||i)){var Re=((We=d)==null?void 0:We.type)==="focus";d=me,b=me.currentTarget,q(),!M.state.isVisible&&Dit(me)&&e3.forEach(function(ze){return ze(me)}),me.type==="click"&&(M.props.trigger.indexOf("mouseenter")<0||a)&&M.props.hideOnClick!==!1&&M.state.isVisible?Xe=!0:et(me),me.type==="click"&&(a=!Xe),Xe&&!Re&&pt(me)}}function ve(me){var We=me.target,Xe=Z().contains(We)||P.contains(We);if(!(me.type==="mousemove"&&Xe)){var Re=_e().concat(P).map(function(ze){var rt,vt=ze._tippy,mt=(rt=vt.popperInstance)==null?void 0:rt.state;return mt?{popperRect:ze.getBoundingClientRect(),popperState:mt,props:n}:null}).filter(Boolean);zit(Re,me)&&(J(),pt(me))}}function Ie(me){var We=Qe(me)||M.props.trigger.indexOf("click")>=0&&a;if(!We){if(M.props.interactive){M.hideWithInteractivity(me);return}pt(me)}}function Ve(me){M.props.trigger.indexOf("focusin")<0&&me.target!==Z()||M.props.interactive&&me.relatedTarget&&P.contains(me.relatedTarget)||pt(me)}function Qe(me){return Du.isTouch?z()!==me.type.indexOf("touch")>=0:!1}function nt(){Ue();var me=M.props,We=me.popperOptions,Xe=me.placement,Re=me.offset,ze=me.getReferenceClientRect,rt=me.moveTransition,vt=G()?lR(P).arrow:null,mt=ze?{getBoundingClientRect:ze,contextElement:ze.contextElement||Z()}:t,Ot={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(Ct){var Pt=Ct.state;if(G()){var yt=U(),$t=yt.box;["placement","reference-hidden","escaped"].forEach(function(bt){bt==="placement"?$t.setAttribute("data-placement",Pt.placement):Pt.attributes.popper["data-popper-"+bt]?$t.setAttribute("data-"+bt,""):$t.removeAttribute("data-"+bt)}),Pt.attributes.popper={}}}},qt=[{name:"offset",options:{offset:Re}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!rt}},Ot];G()&&vt&&qt.push({name:"arrow",options:{element:vt,padding:3}}),qt.push.apply(qt,(We==null?void 0:We.modifiers)||[]),M.popperInstance=Nit(mt,P,Object.assign({},We,{placement:Xe,onFirstUpdate:m,modifiers:qt}))}function Ue(){M.popperInstance&&(M.popperInstance.destroy(),M.popperInstance=null)}function qe(){var me=M.props.appendTo,We,Xe=Z();M.props.interactive&&me===Eme||me==="parent"?We=Xe.parentNode:We=Nme(me,[Xe]),We.contains(P)||We.appendChild(P),M.state.isMounted=!0,nt()}function _e(){return $j(P.querySelectorAll("[data-tippy-root]"))}function et(me){M.clearDelayTimeouts(),me&&H("onTrigger",[M,me]),Ee();var We=ee(!0),Xe=R(),Re=Xe[0],ze=Xe[1];Du.isTouch&&Re==="hold"&&ze&&(We=ze),We?r=setTimeout(function(){M.show()},We):M.show()}function pt(me){if(M.clearDelayTimeouts(),H("onUntrigger",[M,me]),!M.state.isVisible){we();return}if(!(M.props.trigger.indexOf("mouseenter")>=0&&M.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(me.type)>=0&&a)){var We=ee(!1);We?o=setTimeout(function(){M.state.isVisible&&M.hide()},We):s=requestAnimationFrame(function(){M.hide()})}}function ht(){M.state.isEnabled=!0}function at(){M.hide(),M.state.isEnabled=!1}function De(){clearTimeout(r),clearTimeout(o),cancelAnimationFrame(s)}function se(me){if(!M.state.isDestroyed){H("onBeforeUpdate",[M,me]),le();var We=M.props,Xe=LK(t,Object.assign({},We,MK(me),{ignoreAttributes:!0}));M.props=Xe,ke(),We.interactiveDebounce!==Xe.interactiveDebounce&&(J(),w=AK(ve,Xe.interactiveDebounce)),We.triggerTarget&&!Xe.triggerTarget?f0(We.triggerTarget).forEach(function(Re){Re.removeAttribute("aria-expanded")}):Xe.triggerTarget&&t.removeAttribute("aria-expanded"),q(),$(),L&&L(We,Xe),M.popperInstance&&(nt(),_e().forEach(function(Re){requestAnimationFrame(Re._tippy.popperInstance.forceUpdate)})),H("onAfterUpdate",[M,me])}}function K(me){M.setProps({content:me})}function Q(){var me=M.state.isVisible,We=M.state.isDestroyed,Xe=!M.state.isEnabled,Re=Du.isTouch&&!M.props.touch,ze=c5(M.props.duration,0,$c.duration);if(!(me||We||Xe||Re)&&!Z().hasAttribute("disabled")&&(H("onShow",[M],!1),M.props.onShow(M)!==!1)){if(M.state.isVisible=!0,G()&&(P.style.visibility="visible"),$(),Ee(),M.state.isMounted||(P.style.transition="none"),G()){var rt=U(),vt=rt.box,mt=rt.content;u5([vt,mt],0)}m=function(){var qt;if(!(!M.state.isVisible||u)){if(u=!0,P.offsetHeight,P.style.transition=M.props.moveTransition,G()&&M.props.animation){var kt=U(),Ct=kt.box,Pt=kt.content;u5([Ct,Pt],ze),RK([Ct,Pt],"visible")}Y(),q(),_K(d5,M),(qt=M.popperInstance)==null||qt.forceUpdate(),H("onMount",[M]),M.props.animation&&G()&&ce(ze,function(){M.state.isShown=!0,H("onShown",[M])})}},qe()}}function ie(){var me=!M.state.isVisible,We=M.state.isDestroyed,Xe=!M.state.isEnabled,Re=c5(M.props.duration,1,$c.duration);if(!(me||We||Xe)&&(H("onHide",[M],!1),M.props.onHide(M)!==!1)){if(M.state.isVisible=!1,M.state.isShown=!1,u=!1,a=!1,G()&&(P.style.visibility="hidden"),J(),we(),$(!0),G()){var ze=U(),rt=ze.box,vt=ze.content;M.props.animation&&(u5([rt,vt],Re),RK([rt,vt],"hidden"))}Y(),q(),M.props.animation?G()&&xe(Re,M.unmount):M.unmount()}}function Se(me){W().addEventListener("mousemove",w),_K(e3,w),w(me)}function Me(){M.state.isVisible&&M.hide(),M.state.isMounted&&(Ue(),_e().forEach(function(me){me._tippy.unmount()}),P.parentNode&&P.parentNode.removeChild(P),d5=d5.filter(function(me){return me!==M}),M.state.isMounted=!1,H("onHidden",[M]))}function Ce(){M.state.isDestroyed||(M.clearDelayTimeouts(),M.unmount(),le(),delete t._tippy,M.state.isDestroyed=!0,H("onDestroy",[M]))}}function uv(t,e){e===void 0&&(e={});var n=$c.plugins.concat(e.plugins||[]);Uit();var r=Object.assign({},e,{plugins:n}),o=Pit(t),s=o.reduce(function(a,i){var l=i&&Qit(i,r);return l&&a.push(l),a},[]);return AE(t)?s[0]:s}uv.defaultProps=$c;uv.setDefaultProps=Git;uv.currentInput=Du;Object.assign({},mme,{effect:function(e){var n=e.state,r={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,r.popper),n.styles=r,n.elements.arrow&&Object.assign(n.elements.arrow.style,r.arrow)}});uv.setDefaultProps({render:_me});function Jit(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Mme={exports:{}},p5={};/**
2190 * @license React
2191 * use-sync-external-store-shim.production.min.js
2192 *
2193 * Copyright (c) Facebook, Inc. and its affiliates.
2194 *
2195 * This source code is licensed under the MIT license found in the
2196 * LICENSE file in the root directory of this source tree.
2197 */var zK;function Xit(){if(zK)return p5;zK=1;var t=Be;function e(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var n=typeof Object.is=="function"?Object.is:e,r=t.useState,o=t.useEffect,s=t.useLayoutEffect,a=t.useDebugValue;function i(f,m){var g=m(),w=r({inst:{value:g,getSnapshot:m}}),b=w[0].inst,j=w[1];return s(function(){b.value=g,b.getSnapshot=m,l(b)&&j({inst:b})},[f,g,m]),o(function(){return l(b)&&j({inst:b}),f(function(){l(b)&&j({inst:b})})},[f]),a(g),g}function l(f){var m=f.getSnapshot;f=f.value;try{var g=m();return!n(f,g)}catch{return!0}}function u(f,m){return m()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u:i;return p5.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:d,p5}Mme.exports=Xit();var SP=Mme.exports;const elt=(...t)=>e=>{t.forEach(n=>{typeof n=="function"?n(e):n&&(n.current=e)})},tlt=({contentComponent:t})=>{const e=SP.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getServerSnapshot);return Be.createElement(Be.Fragment,null,Object.values(e))};function nlt(){const t=new Set;let e={};return{subscribe(n){return t.add(n),()=>{t.delete(n)}},getSnapshot(){return e},getServerSnapshot(){return e},setRenderer(n,r){e={...e,[n]:GD.createPortal(r.reactElement,r.element,n)},t.forEach(o=>o())},removeRenderer(n){const r={...e};delete r[n],e=r,t.forEach(o=>o())}}}class rlt extends Be.Component{constructor(e){var n;super(e),this.editorContentRef=Be.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!(!((n=e.editor)===null||n===void 0)&&n.contentComponent)}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){const e=this.props.editor;if(e&&!e.isDestroyed&&e.options.element){if(e.contentComponent)return;const n=this.editorContentRef.current;n.append(...e.options.element.childNodes),e.setOptions({element:n}),e.contentComponent=nlt(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=e.contentComponent.subscribe(()=>{this.setState(r=>r.hasContentComponentInitialized?r:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),e.createNodeViews(),this.initialized=!0}}componentWillUnmount(){const e=this.props.editor;if(!e||(this.initialized=!1,e.isDestroyed||e.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),e.contentComponent=null,!e.options.element.firstChild))return;const n=document.createElement("div");n.append(...e.options.element.childNodes),e.setOptions({element:n})}render(){const{editor:e,innerRef:n,...r}=this.props;return Be.createElement(Be.Fragment,null,Be.createElement("div",{ref:elt(n,this.editorContentRef),...r}),(e==null?void 0:e.contentComponent)&&Be.createElement(tlt,{contentComponent:e.contentComponent}))}}const olt=h.forwardRef((t,e)=>{const n=Be.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[t.editor]);return Be.createElement(rlt,{key:n,innerRef:e,...t})}),slt=Be.memo(olt);var alt=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!t(e[o],n[o]))return!1;return!0}if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(o of e.entries())if(!n.has(o[0]))return!1;for(o of e.entries())if(!t(o[1],n.get(o[0])))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(o of e.entries())if(!n.has(o[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){if(r=e.length,r!=n.length)return!1;for(o=r;o--!==0;)if(e[o]!==n[o])return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!(a==="_owner"&&e.$$typeof)&&!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n},ilt=Jit(alt),Rme={exports:{}},h5={};/**
2198 * @license React
2199 * use-sync-external-store-shim/with-selector.production.min.js
2200 *
2201 * Copyright (c) Facebook, Inc. and its affiliates.
2202 *
2203 * This source code is licensed under the MIT license found in the
2204 * LICENSE file in the root directory of this source tree.
2205 */var FK;function llt(){if(FK)return h5;FK=1;var t=Be,e=SP;function n(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}var r=typeof Object.is=="function"?Object.is:n,o=e.useSyncExternalStore,s=t.useRef,a=t.useEffect,i=t.useMemo,l=t.useDebugValue;return h5.useSyncExternalStoreWithSelector=function(u,d,f,m,g){var w=s(null);if(w.current===null){var b={hasValue:!1,value:null};w.current=b}else b=w.current;w=i(function(){function S(P){if(!I){if(I=!0,N=P,P=m(P),g!==void 0&&b.hasValue){var L=b.value;if(g(L,P))return M=L}return M=P}if(L=M,r(N,P))return L;var F=m(P);return g!==void 0&&g(L,F)?L:(N=P,M=F)}var I=!1,N,M,D=f===void 0?null:f;return[function(){return S(d())},D===null?void 0:function(){return S(D())}]},[d,f,m,g]);var j=o(u,w[0],w[1]);return a(function(){b.hasValue=!0,b.value=j},[j]),l(j),j},h5}Rme.exports=llt();var clt=Rme.exports;const ult=typeof window<"u"?h.useLayoutEffect:h.useEffect;class flt{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){const n=()=>{this.transactionNumber+=1,this.subscribers.forEach(o=>o())},r=this.editor;return r.on("transaction",n),()=>{r.off("transaction",n)}}}}function dlt(t){var e;const[n]=h.useState(()=>new flt(t.editor)),r=clt.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,n.getServerSnapshot,t.selector,(e=t.equalityFn)!==null&&e!==void 0?e:ilt);return ult(()=>n.watch(t.editor),[t.editor,n]),h.useDebugValue(r),r}const plt=!1,cR=typeof window>"u",hlt=cR||!!(typeof window<"u"&&window.next);class EP{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId="",this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(n=>n())}getInitialEditor(){return this.options.current.immediatelyRender===void 0?cR||hlt?null:this.createEditor():(this.options.current.immediatelyRender,this.options.current.immediatelyRender?this.createEditor():null)}createEditor(){const e={...this.options.current,onBeforeCreate:(...r)=>{var o,s;return(s=(o=this.options.current).onBeforeCreate)===null||s===void 0?void 0:s.call(o,...r)},onBlur:(...r)=>{var o,s;return(s=(o=this.options.current).onBlur)===null||s===void 0?void 0:s.call(o,...r)},onCreate:(...r)=>{var o,s;return(s=(o=this.options.current).onCreate)===null||s===void 0?void 0:s.call(o,...r)},onDestroy:(...r)=>{var o,s;return(s=(o=this.options.current).onDestroy)===null||s===void 0?void 0:s.call(o,...r)},onFocus:(...r)=>{var o,s;return(s=(o=this.options.current).onFocus)===null||s===void 0?void 0:s.call(o,...r)},onSelectionUpdate:(...r)=>{var o,s;return(s=(o=this.options.current).onSelectionUpdate)===null||s===void 0?void 0:s.call(o,...r)},onTransaction:(...r)=>{var o,s;return(s=(o=this.options.current).onTransaction)===null||s===void 0?void 0:s.call(o,...r)},onUpdate:(...r)=>{var o,s;return(s=(o=this.options.current).onUpdate)===null||s===void 0?void 0:s.call(o,...r)},onContentError:(...r)=>{var o,s;return(s=(o=this.options.current).onContentError)===null||s===void 0?void 0:s.call(o,...r)},onDrop:(...r)=>{var o,s;return(s=(o=this.options.current).onDrop)===null||s===void 0?void 0:s.call(o,...r)},onPaste:(...r)=>{var o,s;return(s=(o=this.options.current).onPaste)===null||s===void 0?void 0:s.call(o,...r)}};return new Wst(e)}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,n){return Object.keys(e).every(r=>["onCreate","onBeforeCreate","onDestroy","onUpdate","onTransaction","onFocus","onBlur","onSelectionUpdate","onContentError","onDrop","onPaste"].includes(r)?!0:r==="extensions"&&e.extensions&&n.extensions?e.extensions.length!==n.extensions.length?!1:e.extensions.every((o,s)=>{var a;return o===((a=n.extensions)===null||a===void 0?void 0:a[s])}):e[r]===n[r])}onRender(e){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&e.length===0?EP.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(e),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=e;return}if(this.previousDeps.length===e.length&&this.previousDeps.every((r,o)=>r===e[o]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){const e=this.instanceId,n=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===e){n&&n.setOptions(this.options.current);return}n&&!n.isDestroyed&&(n.destroy(),this.instanceId===e&&this.setEditor(null))},1)}}function mlt(t={},e=[]){const n=h.useRef(t);n.current=t;const[r]=h.useState(()=>new EP(n)),o=SP.useSyncExternalStore(r.subscribe,r.getEditor,r.getServerSnapshot);return h.useDebugValue(o),h.useEffect(r.onRender(e)),dlt({editor:o,selector:({transactionNumber:s})=>t.shouldRerenderOnTransaction===!1?null:t.immediatelyRender&&s===0?0:s+1}),o}const glt=h.createContext({editor:null});glt.Consumer;const Tme=h.createContext({onDragStart:void 0}),ylt=()=>h.useContext(Tme),uR=Be.forwardRef((t,e)=>{const{onDragStart:n}=ylt(),r=t.as||"div";return Be.createElement(r,{...t,ref:e,"data-node-view-wrapper":"",onDragStart:n,style:{whiteSpace:"normal",...t.style}})});function vlt(t){return!!(typeof t=="function"&&t.prototype&&t.prototype.isReactComponent)}function wlt(t){var e;return typeof t=="object"&&((e=t.$$typeof)===null||e===void 0?void 0:e.toString())==="Symbol(react.forward_ref)"}class NP{constructor(e,{editor:n,props:r={},as:o="div",className:s=""}){this.ref=null,this.id=Math.floor(Math.random()*4294967295).toString(),this.component=e,this.editor=n,this.props=r,this.element=document.createElement(o),this.element.classList.add("react-renderer"),s&&this.element.classList.add(...s.split(" ")),this.editor.isInitialized?Ds.flushSync(()=>{this.render()}):this.render()}render(){var e;const n=this.component,r=this.props,o=this.editor;(vlt(n)||wlt(n))&&(r.ref=s=>{this.ref=s}),this.reactElement=Be.createElement(n,{...r}),(e=o==null?void 0:o.contentComponent)===null||e===void 0||e.setRenderer(this.id,this)}updateProps(e={}){this.props={...this.props,...e},this.render()}destroy(){var e;const n=this.editor;(e=n==null?void 0:n.contentComponent)===null||e===void 0||e.removeRenderer(this.id)}updateAttributes(e){Object.keys(e).forEach(n=>{this.element.setAttribute(n,e[n])})}}class blt extends Gst{mount(){const e={editor:this.editor,node:this.node,decorations:this.decorations,innerDecorations:this.innerDecorations,view:this.view,selected:!1,extension:this.extension,HTMLAttributes:this.HTMLAttributes,getPos:()=>this.getPos(),updateAttributes:(u={})=>this.updateAttributes(u),deleteNode:()=>this.deleteNode()};if(!this.component.displayName){const u=d=>d.charAt(0).toUpperCase()+d.substring(1);this.component.displayName=u(this.extension.name)}const o={onDragStart:this.onDragStart.bind(this),nodeViewContentRef:u=>{u&&this.contentDOMElement&&u.firstChild!==this.contentDOMElement&&u.appendChild(this.contentDOMElement)}},s=this.component,a=Be.memo(u=>Be.createElement(Tme.Provider,{value:o},Be.createElement(s,u)));a.displayName="ReactNodeView",this.node.isLeaf?this.contentDOMElement=null:this.options.contentDOMElementTag?this.contentDOMElement=document.createElement(this.options.contentDOMElementTag):this.contentDOMElement=document.createElement(this.node.isInline?"span":"div"),this.contentDOMElement&&(this.contentDOMElement.dataset.nodeViewContentReact="",this.contentDOMElement.style.whiteSpace="inherit");let i=this.node.isInline?"span":"div";this.options.as&&(i=this.options.as);const{className:l=""}=this.options;this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.renderer=new NP(a,{editor:this.editor,props:e,as:i,className:`node-${this.node.type.name} ${l}`.trim()}),this.editor.on("selectionUpdate",this.handleSelectionUpdate),this.updateElementAttributes()}get dom(){var e;if(this.renderer.element.firstElementChild&&!(!((e=this.renderer.element.firstElementChild)===null||e===void 0)&&e.hasAttribute("data-node-view-wrapper")))throw Error("Please use the NodeViewWrapper component for your node view.");return this.renderer.element}get contentDOM(){return this.node.isLeaf?null:this.contentDOMElement}handleSelectionUpdate(){const{from:e,to:n}=this.editor.state.selection,r=this.getPos();if(typeof r=="number")if(e<=r&&n>=r+this.node.nodeSize){if(this.renderer.props.selected)return;this.selectNode()}else{if(!this.renderer.props.selected)return;this.deselectNode()}}update(e,n,r){const o=s=>{this.renderer.updateProps(s),typeof this.options.attrs=="function"&&this.updateElementAttributes()};if(e.type!==this.node.type)return!1;if(typeof this.options.update=="function"){const s=this.node,a=this.decorations,i=this.innerDecorations;return this.node=e,this.decorations=n,this.innerDecorations=r,this.options.update({oldNode:s,oldDecorations:a,newNode:e,newDecorations:n,oldInnerDecorations:i,innerDecorations:r,updateProps:()=>o({node:e,decorations:n,innerDecorations:r})})}return e===this.node&&this.decorations===n&&this.innerDecorations===r||(this.node=e,this.decorations=n,this.innerDecorations=r,o({node:e,decorations:n,innerDecorations:r})),!0}selectNode(){this.renderer.updateProps({selected:!0}),this.renderer.element.classList.add("ProseMirror-selectednode")}deselectNode(){this.renderer.updateProps({selected:!1}),this.renderer.element.classList.remove("ProseMirror-selectednode")}destroy(){this.renderer.destroy(),this.editor.off("selectionUpdate",this.handleSelectionUpdate),this.contentDOMElement=null}updateElementAttributes(){if(this.options.attrs){let e={};if(typeof this.options.attrs=="function"){const n=this.editor.extensionManager.attributes,r=Pj(this.node,n);e=this.options.attrs({node:this.node,HTMLAttributes:r})}else e=this.options.attrs;this.renderer.updateAttributes(e)}}}function Dme(t,e){return n=>n.editor.contentComponent?new blt(t,n,e):{}}const t3=["outline-2","outline-offset-4","outline-dashed","outline-border","rounded-md"],xlt=Ri.create({name:"clipboardAndDropHandler",addOptions(){return{onUploadStart:void 0,onUploadSuccess:void 0,onUploadError:void 0,onUploadEnd:void 0,onUploadProgress:void 0,onProvideCancel:void 0}},addProseMirrorPlugins(){const t=this.options;return[new ui({props:{handleDOMEvents:{dragenter(e,n){return n.preventDefault(),e.dom.classList.add(...t3),!0},dragover(e,n){return n.preventDefault(),e.dom.classList.add(...t3),!0},dragleave(e){return e.dom.classList.remove(...t3),!0}},handleDrop(e,n){var s;n.preventDefault(),n.stopPropagation(),e.dom.classList.remove(...t3);const o=Array.from(((s=n.dataTransfer)==null?void 0:s.files)??[]).filter(a=>a.type.includes("image")||a.type.includes("video"));return o.length?(BK(e,o,t),!0):!1},handlePaste(e,n){var s;const r=Array.from(((s=n.clipboardData)==null?void 0:s.items)??[]);let o=!1;for(const a of r){if(a.kind==="file"&&(a.type.includes("image")||a.type.includes("video"))){const i=a.getAsFile();i&&(BK(e,[i],t),o=!0)}else a.kind==="string"&&a.type==="text/plain"&&(a.getAsString(i=>{const{schema:l}=e.state,u=i.split(`
2206 `),d=[];for(let f=0;f<u.length;f++)f>0&&d.push(l.nodes.hardBreak.create()),u[f]&&d.push(l.text(u[f]));if(d.length>0){const f=e.state.tr.replaceSelectionWith(d[0]);for(let m=1;m<d.length;m++)f.insert(f.selection.from,d[m]);e.dispatch(f)}}),o=!0);if(o)break}return o}}})]}});async function BK(t,e,n){const r=new Map;e.forEach(o=>{var a;const s=new AbortController;r.set(o,s),(a=n.onUploadStart)==null||a.call(n,o,()=>s.abort())});for(const o of e){const s=o.name,a=`[Uploading "${s}"...]`,i=t.state.schema.text(a),l=t.state.schema.nodes.hardBreak.create();let u=t.state.tr.replaceSelectionWith(i);u=u.insert(u.selection.from,l),t.dispatch(u);const d=r.get(o);(YT(o)?lh.uploadResponsiveImage(o,{onProgress:m=>{var g;return(g=n.onUploadProgress)==null?void 0:g.call(n,o,m)},signal:d==null?void 0:d.signal}).then(m=>{var w;const g=m.variants.find(b=>b.variant==="desktop-sm")||m.variants.find(b=>b.variant==="original")||m.variants[m.variants.length-1];return{url:(g==null?void 0:g.url)??((w=m.variants[0])==null?void 0:w.url)}}):lh.upload(o,{onProgress:m=>{var g;return(g=n.onUploadProgress)==null?void 0:g.call(n,o,m)},signal:d==null?void 0:d.signal})).then(m=>{var j;(j=n.onUploadEnd)==null||j.call(n,o);const g=t.state.schema.text(m.url),w=t.state.tr;let b=!1;if(t.state.doc.descendants((S,I)=>{if(S.isText&&S.text&&S.text.includes(a)&&!b){const N=S.text.indexOf(a),M=I+N,D=M+a.length;return w.replaceWith(M,D,g),b=!0,!1}return!0}),b)t.dispatch(w);else{const S=t.state.doc.content.size,I=t.state.schema.nodes.paragraph.create(null,t.state.schema.text(m.url)),N=t.state.tr.insert(S,I),M=S+1+m.url.length;N.setSelection(Vn.near(N.doc.resolve(M))),t.dispatch(N)}}).catch(m=>{var b;console.error("Upload failed:",m),(b=n.onUploadEnd)==null||b.call(n,o);const g=t.state.tr;let w=!1;throw t.state.doc.descendants((j,S)=>{if(j.isText&&j.text&&j.text.includes(a)&&!w){const I=j.text.indexOf(a),N=S+I,M=N+a.length,D=t.state.schema.text(`[Error uploading "${s}"]`);return g.replaceWith(N,M,D),w=!0,!1}return!0}),w&&t.dispatch(g),m})}}function klt(t){const e=h.useMemo(()=>{var r;const n=t.node.attrs.name;return ef.isCustomEmojiId(n)?ef.getEmojiById(n):(r=Im(n,NE))==null?void 0:r.emoji},[t.node.attrs.name]);return e?typeof e=="string"?c.jsx(uR,{className:"inline",children:c.jsx("span",{children:e})}):c.jsx(uR,{className:"inline",children:c.jsx(Mi,{emoji:e,classNames:{img:"mb-1"}})}):null}const jlt=aat.extend({selectable:!0,addNodeView(){return Dme(klt)}}),Clt=h.forwardRef((t,e)=>{var l;const[n,r]=h.useState(0),o=u=>{const d=t.items[u];d&&t.command({name:d}),ef.updateSuggested(d)},s=()=>{r((n+t.items.length-1)%t.items.length)},a=()=>{r((n+1)%t.items.length)},i=()=>{o(n)};return h.useEffect(()=>r(t.items.length?0:-1),[t.items]),h.useImperativeHandle(e,()=>({onKeyDown:u=>u.event.key==="ArrowUp"?(s(),!0):u.event.key==="ArrowDown"?(a(),!0):u.event.key==="Enter"&&n>=0?(i(),!0):!1}),[s,a,i]),(l=t.items)!=null&&l.length?c.jsx(Fa,{className:"border rounded-lg bg-background z-50 pointer-events-auto flex flex-col max-h-80 overflow-y-auto",onWheel:u=>u.stopPropagation(),onTouchMove:u=>u.stopPropagation(),children:c.jsx("div",{className:"p-1",children:t.items.map((u,d)=>c.jsx(Slt,{id:u,selectedIndex:n,index:d,selectItem:o,setSelectedIndex:r},u))})}):null});function Slt({id:t,selectedIndex:e,index:n,selectItem:r,setSelectedIndex:o}){const s=h.useMemo(()=>ef.getEmojiById(t),[t]);return s?c.jsx("button",{className:Te("cursor-pointer w-full p-1 rounded-lg transition-colors [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e===n&&"bg-accent text-accent-foreground"),onClick:()=>r(n),onMouseEnter:()=>o(n),children:c.jsxs("div",{className:"flex gap-2 items-center truncate pointer-events-none",children:[c.jsx(Mi,{emoji:s,classNames:{img:"size-8 shrink-0 rounded-md",text:"w-8 text-center shrink-0"}}),c.jsxs("span",{className:"truncate",children:[":",s.shortcode,":"]})]})}):null}const Elt={items:async({query:t})=>await ef.searchEmojis(t),render:()=>{let t,e=[],n,r;return{onBeforeStart:()=>{n=o=>{if(e&&e[0]&&Ca.isSuggestionPopupOpen){const s=e[0].popper;s&&!s.contains(o.target)&&e[0].hide()}},document.addEventListener("touchstart",n),r=()=>{e&&e[0]&&e[0].hide()},Ca.addEventListener("closeSuggestionPopup",r)},onStart:o=>{t=new NP(Clt,{props:o,editor:o.editor}),o.clientRect&&(e=uv("body",{getReferenceClientRect:o.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",hideOnClick:!0,touch:!0,onShow(){Ca.isSuggestionPopupOpen=!0},onHide(){Ca.isSuggestionPopupOpen=!1}}))},onUpdate(o){var s;t==null||t.updateProps(o),o.clientRect&&((s=e[0])==null||s.setProps({getReferenceClientRect:o.clientRect}))},onKeyDown(o){var s,a;return o.event.key==="Escape"?((s=e[0])==null||s.hide(),!0):((a=t==null?void 0:t.ref)==null?void 0:a.onKeyDown(o))??!1},onExit(){var o;Ca.isSuggestionPopupOpen=!1,(o=e[0])==null||o.destroy(),t==null||t.destroy(),document.removeEventListener("touchstart",n),Ca.removeEventListener("closeSuggestionPopup",r)}}}},Nlt=new Li("mention"),Ilt=cv.create({name:"mention",priority:101,addOptions(){return{HTMLAttributes:{},renderText({options:t,node:e}){var n;return`${t.suggestion.char}${(n=e.attrs.label)!==null&&n!==void 0?n:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:t,node:e}){var n;return["span",Bp(this.HTMLAttributes,t.HTMLAttributes),`${t.suggestion.char}${(n=e.attrs.label)!==null&&n!==void 0?n:e.attrs.id}`]},suggestion:{char:"@",pluginKey:Nlt,command:({editor:t,range:e,props:n})=>{var r,o,s;const a=t.view.state.selection.$to.nodeAfter;((r=a==null?void 0:a.text)===null||r===void 0?void 0:r.startsWith(" "))&&(e.to+=1),t.chain().focus().insertContentAt(e,[{type:this.name,attrs:n},{type:"text",text:" "}]).run(),(s=(o=t.view.dom.ownerDocument.defaultView)===null||o===void 0?void 0:o.getSelection())===null||s===void 0||s.collapseToEnd()},allow:({state:t,range:e})=>{const n=t.doc.resolve(e.from),r=t.schema.nodes[this.name];return!!n.parent.type.contentMatch.matchType(r)}}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,parseHTML:t=>t.getAttribute("data-label"),renderHTML:t=>t.label?{"data-label":t.label}:{}}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:t,HTMLAttributes:e}){if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",Bp({"data-type":this.name},this.options.HTMLAttributes,e),this.options.renderLabel({options:this.options,node:t})];const n={...this.options};n.HTMLAttributes=Bp({"data-type":this.name},this.options.HTMLAttributes,e);const r=this.options.renderHTML({options:n,node:t});return typeof r=="string"?["span",Bp({"data-type":this.name},this.options.HTMLAttributes,e),r]:r},renderText({node:t}){return this.options.renderLabel!==void 0?(console.warn("renderLabel is deprecated use renderText and renderHTML instead"),this.options.renderLabel({options:this.options,node:t})):this.options.renderText({options:this.options,node:t})},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1;const{selection:r}=e,{empty:o,anchor:s}=r;return o?(e.doc.nodesBetween(s-1,s,(a,i)=>{if(a.type.name===this.name)return n=!0,t.insertText(this.options.deleteTriggerWithBackspace?"":this.options.suggestion.char||"",i,i+a.nodeSize),!1}),n):!1})}},addProseMirrorPlugins(){return[ame({editor:this.editor,...this.options.suggestion})]}});function _x({text:t,emojis:e,className:n,emojiClassName:r}){const o=h.useMemo(()=>!e||e.length===0?[{type:"text",data:t}]:qg(t,[fx]),[t,e]),s=h.useMemo(()=>{const a=new Map;return e==null||e.forEach(i=>{a.set(i.shortcode,i)}),a},[e]);return c.jsx("span",{className:n,children:o.map((a,i)=>{if(a.type==="text")return a.data;if(a.type==="emoji"){const l=a.data.split(":")[1],u=s.get(l);return u?c.jsx(Mi,{emoji:u,classNames:{img:r}},i):a.data}return null})})}function Alt(t){var n;const{profile:e}=ua(t.node.attrs.id);return c.jsxs(uR,{className:Te("inline text-primary",t.selected?"bg-primary/20 rounded-sm":""),children:["@",e?c.jsx(_x,{text:e.username,emojis:e.emojis,emojiClassName:"mb-1"}):((n=Vt.tryFromString(t.node.attrs.id))==null?void 0:n.formatNpub(12))??t.node.attrs.id.slice(0,12)]})}const _lt=Ilt.extend({selectable:!0,addNodeView(){return Dme(Alt)},addCommands(){var t;return{...(t=this.parent)==null?void 0:t.call(this),createMention:e=>({chain:n})=>{var r;return n().focus().insertContent([{type:"mention",attrs:{id:e,label:((r=Vt.tryFromString(e))==null?void 0:r.formatNpub(12))??e.slice(0,12)}},{type:"text",text:" "}]).run(),!0}}}}),Lme=h.forwardRef((t,e)=>{var l;const[n,r]=h.useState(0),o=u=>{var f;const d=t.items[u];d&&t.command({id:d,label:((f=Vt.tryFromString(d))==null?void 0:f.formatNpub(12))??d.slice(0,12)})},s=()=>{r((n+t.items.length-1)%t.items.length)},a=()=>{r((n+1)%t.items.length)},i=()=>{o(n)};return h.useEffect(()=>{r(t.items.length?0:-1)},[t.items]),h.useImperativeHandle(e,()=>({onKeyDown:({event:u})=>u.key==="ArrowUp"?(s(),!0):u.key==="ArrowDown"?(a(),!0):u.key==="Enter"&&n>=0?(i(),!0):!1})),(l=t.items)!=null&&l.length?c.jsx(Fa,{className:"border rounded-lg bg-background z-50 pointer-events-auto flex flex-col max-h-80 overflow-y-auto",onWheel:u=>u.stopPropagation(),onTouchMove:u=>u.stopPropagation(),children:t.items.map((u,d)=>{var f;return c.jsx("button",{className:Te("cursor-pointer text-start items-center m-1 p-2 outline-none transition-colors [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 rounded-md",n===d&&"bg-accent text-accent-foreground"),onClick:()=>o(d),onMouseEnter:()=>r(d),children:c.jsxs("div",{className:"flex gap-2 w-80 items-center truncate pointer-events-none",children:[c.jsx(ec,{userId:u}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(od,{userId:u,className:"font-semibold truncate"}),c.jsx(T7,{userId:u})]}),c.jsx(uc,{pubkey:((f=Vt.tryFromString(u))==null?void 0:f.hex)??u})]})]})},u)})}):null});Lme.displayName="MentionList";const Mlt={items:async({query:t})=>await Oe.searchNpubsFromLocal(t,20),render:()=>{let t,e=[],n,r;return{onBeforeStart:()=>{n=o=>{if(e&&e[0]&&Ca.isSuggestionPopupOpen){const s=e[0].popper;s&&!s.contains(o.target)&&e[0].hide()}},document.addEventListener("touchstart",n),r=()=>{e&&e[0]&&e[0].hide()},Ca.addEventListener("closeSuggestionPopup",r)},onStart:o=>{t=new NP(Lme,{props:o,editor:o.editor}),o.clientRect&&(e=uv("body",{getReferenceClientRect:o.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",hideOnClick:!0,touch:!0,onShow(){Ca.isSuggestionPopupOpen=!0},onHide(){Ca.isSuggestionPopupOpen=!1}}))},onUpdate(o){var s;t==null||t.updateProps(o),o.clientRect&&((s=e[0])==null||s.setProps({getReferenceClientRect:o.clientRect}))},onKeyDown(o){var s,a;return o.event.key==="Escape"?((s=e[0])==null||s.hide(),!0):((a=t==null?void 0:t.ref)==null?void 0:a.onKeyDown(o))??!1},onExit(){var o;Ca.isSuggestionPopupOpen=!1,(o=e[0])==null||o.destroy(),t==null||t.destroy(),document.removeEventListener("touchstart",n),Ca.removeEventListener("closeSuggestionPopup",r)}}}},_E=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Te("rounded-xl border bg-card text-card-foreground transition-all duration-200",t),...e}));_E.displayName="Card";const Pme=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Te("flex flex-col space-y-1.5 p-6",t),...e}));Pme.displayName="CardHeader";const Ome=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Te("font-semibold leading-none tracking-tight",t),...e}));Ome.displayName="CardTitle";const zme=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Te("text-sm text-muted-foreground",t),...e}));zme.displayName="CardDescription";const Fme=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Te("p-6 pt-0",t),...e}));Fme.displayName="CardContent";const Rlt=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Te("flex items-center p-6 pt-0",t),...e}));Rlt.displayName="CardFooter";function Tlt({content:t,className:e}){const{content:n,emojiTags:r}=h.useMemo(()=>W2(t),[t]);return c.jsx(_E,{className:Te("p-3",e),children:c.jsx(dd,{event:Tee({content:n,tags:r}),className:"pointer-events-none h-full",mustLoadMedia:!0})})}const Bme=h.forwardRef(({text:t="",setText:e,defaultContent:n,parentStuff:r,onSubmit:o,className:s,fillHeight:a=!1,onUploadStart:i,onUploadProgress:l,onUploadEnd:u,placeholder:d},f)=>{const{t:m}=Ke(),[g,w]=h.useState("edit"),b=mlt({extensions:[lat,bat,kat,wat,cat,xat.configure({placeholder:d??m("Write something...")+" ("+m("Paste or drop media files to upload")+")"}),jlt.configure({suggestion:Elt}),_lt.configure({suggestion:Mlt}),xlt.configure({onUploadStart:(j,S)=>{i==null||i(j,S)},onUploadEnd:j=>u==null?void 0:u(j),onUploadProgress:(j,S)=>l==null?void 0:l(j,S)})],editorProps:{attributes:{class:Te("border rounded-lg p-3 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",s)},handleKeyDown:(j,S)=>(S.ctrlKey||S.metaKey)&&S.key==="Enter"?(S.preventDefault(),o==null||o(),!0):!1,clipboardTextSerializer(j){return a5(j.toJSON())}},content:Y0.getPostContentCache({defaultContent:n,parentStuff:r}),onUpdate(j){e(a5(j.editor.getJSON())),Y0.setPostContentCache({defaultContent:n,parentStuff:r},j.editor.getJSON())},onCreate(j){e(a5(j.editor.getJSON()))}});return h.useImperativeHandle(f,()=>({appendText:(j,S=!1)=>{if(b){let I=b.chain().focus().command(({tr:N,dispatch:M})=>{if(M){const D=N.doc.content.size,P=Vn.create(N.doc,D);N.setSelection(P),M(N)}return!0}).insertContent(j);S&&(I=I.setHardBreak()),I.run()}},insertText:j=>{b&&b.chain().focus().insertContent(j).run()},insertEmoji:j=>{if(b)if(typeof j=="string")b.chain().insertContent(j).run();else{const S=b.schema.nodes.emoji.create({name:ef.getEmojiId(j)});b.chain().insertContent(S).insertContent(" ").run()}},clear:()=>{b&&(b.commands.clearContent(),Y0.clearPostCache({defaultContent:n,parentStuff:r}))},replaceText:j=>{b&&(b.commands.clearContent(),b.chain().focus().insertContent(j).run())}})),b?c.jsxs(Cx,{defaultValue:"edit",value:g,onValueChange:j=>w(j),className:Te("space-y-2",a&&"flex flex-col h-full"),children:[c.jsxs(iv,{className:"shrink-0",children:[c.jsx(ol,{value:"edit",children:m("Edit")}),c.jsx(ol,{value:"preview",children:m("Preview")})]}),c.jsx(sl,{value:"edit",className:Te(a&&"flex-1 min-h-0 [&_.tiptap]:h-full"),children:c.jsx(slt,{className:Te("tiptap",a&&"h-full"),editor:b})}),c.jsx(sl,{value:"preview",className:Te(a&&"flex-1 min-h-0 overflow-auto"),onClick:()=>{w("edit"),b.commands.focus()},children:c.jsx(Tlt,{content:t,className:Te(s,a&&"h-full")})})]}):null});Bme.displayName="PostTextarea";function fR(t){const{children:e,onUploadStart:n,onUploadEnd:r,onProgress:o,className:s,accept:a="image/*"}=t,i=h.useRef(null),l=async d=>{var m;if(!d.target.files)return;const f=new Map;for(const g of d.target.files){const w=new AbortController;f.set(g,w),n==null||n(g,()=>w.abort())}for(const g of d.target.files)try{const w=f.get(g);if(t.responsive&&YT(g)){const b=await lh.uploadResponsiveImage(g,{onProgress:S=>o==null?void 0:o(g,S),signal:w==null?void 0:w.signal,description:t.description,alt:t.alt}),j=b.variants.find(S=>S.variant==="desktop-sm")||b.variants.find(S=>S.variant==="original")||b.variants[b.variants.length-1];t.onUploadSuccess({event:b.event,variants:b.variants,primaryUrl:(j==null?void 0:j.url)??((m=b.variants[0])==null?void 0:m.url)})}else{const b=await lh.upload(g,{onProgress:j=>o==null?void 0:o(g,j),signal:w==null?void 0:w.signal});t.responsive?t.onUploadSuccess({event:null,variants:[],primaryUrl:b.url}):t.onUploadSuccess(b)}r==null||r(g)}catch(w){console.error("Error uploading file",w);const b=w.message;b!==Ec&&on.error(`Failed to upload file: ${b}`),i.current&&(i.current.value=""),r==null||r(g)}},u=()=>{i.current&&(i.current.value="",i.current.click())};return c.jsxs("div",{className:s,children:[c.jsx("div",{onClick:u,children:e}),c.jsx("input",{type:"file",ref:i,style:{display:"none"},onChange:l,accept:a,multiple:!0})]})}const Ume=h.forwardRef(({defaultContent:t="",parentStuff:e,close:n,highlightedText:r},o)=>{const{t:s}=Ke(),{pubkey:a,publish:i,checkLogin:l}=wt(),[u,d]=h.useState(""),f=h.useRef(null),[m,g]=h.useState(!1),[w,b]=h.useState([]),j=h.useMemo(()=>e&&typeof e!="string"?e:void 0,[e]),{isSmallScreen:S}=gn(),[I,N]=h.useState(!1),[M,D]=h.useState(!1),[P,L]=h.useState([]),[F,T]=h.useState(!1),[R,z]=h.useState(!1),[G,Z]=h.useState({isMultipleChoice:!1,options:["",""],endsAt:void 0,relays:[]}),[W,U]=h.useState(0),[ee,$]=h.useState(!1),H=h.useMemo(()=>a?Ze.getLlmConfig(a):null,[a]),Y=!!(H!=null&&H.apiKey&&(H!=null&&H.systemPrompt)),q=h.useRef(!0),J=h.useMemo(()=>!!a&&(!!u||!!r)&&!m&&!w.length&&(!R||G.options.filter(pe=>!!pe.trim()).length>=2),[a,u,r,m,w,R,G]);h.useImperativeHandle(o,()=>({reset:()=>{var pe;(pe=f.current)==null||pe.clear(),d(""),L([]),T(!1),z(!1),Z({isMultipleChoice:!1,options:["",""],endsAt:void 0,relays:[]}),D(!1),U(0)}})),h.useEffect(()=>{if(q.current){q.current=!1;const pe=Y0.getPostSettingsCache({defaultContent:t,parentStuff:e});pe&&(T(pe.isNsfw??!1),z(pe.isPoll??!1),Z(pe.pollCreateData??{isMultipleChoice:!1,options:["",""],endsAt:void 0,relays:[]}),D(pe.addClientTag??!1));return}Y0.setPostSettingsCache({defaultContent:t,parentStuff:e},{isNsfw:F,isPoll:R,pollCreateData:G,addClientTag:M})},[t,e,F,R,G,M]);const ne=h.useRef(!1),re=async pe=>{pe==null||pe.stopPropagation(),l(async()=>{var he;if(!(!J||!a||ne.current)){ne.current=!0,g(!0);try{let ke=u;if(H!=null&&H.autoRewrite&&H.apiKey&&H.systemPrompt&&u.trim())try{ke=await iq(H.apiKey,H.systemPrompt,u,H.model),(he=f.current)==null||he.replaceText(ke)}catch(Ie){on.error(`${s("Auto-rewrite failed, posting original text")}: ${Ie instanceof Error?Ie.message:String(Ie)}`,{duration:5e3})}const le=await Dlt({parentStuff:e,highlightedText:r,text:ke,mentions:P,isPoll:R,pollCreateData:G,pubkey:a,addClientTag:M,isProtectedEvent:!1,isNsfw:F}),ye=R?G.relays:[],ve=await i(le,{additionalRelayUrls:ye,minPow:W});Y0.clearPostCache({defaultContent:t,parentStuff:e}),gAe(le),dl.addRepliesToThread([ve]),on.success(s("Post successful"),{duration:2e3}),n()}catch(ke){(ke instanceof AggregateError?ke.errors:[ke]).forEach(ye=>{on.error(`${s("Failed to post")}: ${ye instanceof Error?ye.message:String(ye)}`,{duration:1e4}),console.error(ye)});return}finally{g(!1),ne.current=!1}}})},de=()=>{e||z(pe=>!pe)},Ee=async()=>{var pe;if(!(!(H!=null&&H.apiKey)||!(H!=null&&H.systemPrompt)||!u.trim()||ee)){$(!0);try{const he=await iq(H.apiKey,H.systemPrompt,u,H.model);(pe=f.current)==null||pe.replaceText(he)}catch(he){on.error(`${s("Rewrite failed")}: ${he instanceof Error?he.message:String(he)}`,{duration:1e4})}finally{$(!1)}}},we=(pe,he)=>{b(ke=>[...ke,{file:pe,progress:0,cancel:he}])},xe=(pe,he)=>{b(ke=>ke.map(le=>le.file===pe?{...le,progress:he}:le))},ce=pe=>{b(he=>he.filter(ke=>ke.file!==pe))};return c.jsxs("div",{className:Te("space-y-2",S?"flex flex-col h-full":"flex flex-col"),children:[c.jsxs("div",{className:"flex items-center justify-between shrink-0",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(fR,{responsive:!0,onUploadSuccess:({primaryUrl:pe})=>{var he;(he=f.current)==null||he.appendText(pe,!0)},onUploadStart:we,onUploadEnd:ce,onProgress:xe,accept:"image/*,video/*,audio/*",children:c.jsx(Pe,{variant:"ghost",size:"icon",children:c.jsx(N7e,{})})}),!uu()&&c.jsx(Y7,{onEmojiClick:pe=>{var he;pe&&((he=f.current)==null||he.insertEmoji(pe))},children:c.jsx(Pe,{variant:"ghost",size:"icon",children:c.jsx(pae,{})})}),!e&&c.jsx(Pe,{variant:"ghost",size:"icon",title:s("Create Poll"),className:R?"bg-accent":"",onClick:de,children:c.jsx(_7e,{})}),c.jsx(Pe,{variant:"ghost",size:"icon",className:I?"bg-accent":"",onClick:()=>N(pe=>!pe),children:c.jsx(Ch,{})}),Y&&!(H!=null&&H.autoRewrite)&&c.jsx(Pe,{variant:"ghost",size:"icon",title:s("Rewrite with AI"),disabled:!u.trim()||ee||m,onClick:Ee,children:ee?c.jsx(ao,{className:"animate-spin"}):c.jsx(Y7e,{})})]}),c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(zXe,{content:u,parentEvent:j,mentions:P,setMentions:L}),c.jsxs("div",{className:"flex gap-2 items-center max-sm:hidden",children:[c.jsx(Pe,{variant:"secondary",onClick:pe=>{pe.stopPropagation(),n()},children:s("Cancel")}),c.jsxs(Pe,{type:"submit",disabled:!J,onClick:re,children:[m&&c.jsx(ao,{className:"animate-spin"}),s(e?r?"Publish Highlight":"Reply":"Post")]})]})]})]}),c.jsx("div",{className:"shrink-0",children:c.jsx(cet,{posting:m,show:I,addClientTag:M,setAddClientTag:D,isNsfw:F,setIsNsfw:T,minPow:W,setMinPow:U})}),j&&c.jsx(Fa,{className:"flex max-h-48 flex-col overflow-y-auto rounded-lg border bg-muted/40 shrink-0",children:c.jsx("div",{className:"p-2 sm:p-3 pointer-events-none",children:r?c.jsxs("div",{className:"flex gap-4",children:[c.jsx("div",{className:"w-1 flex-shrink-0 my-1 bg-primary/60 rounded-md"}),c.jsx("div",{className:"italic whitespace-pre-line",children:r})]}):c.jsx(W7,{size:"small",event:j,hideParentNotePreview:!0})})}),c.jsx(Bme,{ref:f,text:u,setText:d,defaultContent:t,parentStuff:e,onSubmit:()=>re(),className:Te(R?"min-h-20":"min-h-52",S&&"flex-1"),fillHeight:S,onUploadStart:we,onUploadProgress:xe,onUploadEnd:ce,placeholder:r?s("Write your thoughts about this highlight..."):void 0}),R&&c.jsx("div",{className:"shrink-0",children:c.jsx(iet,{pollCreateData:G,setPollCreateData:Z,setIsPoll:z})}),w.length>0&&w.map(({file:pe,progress:he,cancel:ke},le)=>c.jsxs("div",{className:"mt-2 flex items-end gap-2 shrink-0",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("div",{className:"truncate text-xs text-muted-foreground mb-1",children:pe.name??s("Uploading...")}),c.jsx("div",{className:"h-0.5 w-full rounded-full bg-muted overflow-hidden",children:c.jsx("div",{className:"h-full bg-primary transition-[width] duration-200 ease-out",style:{width:`${he}%`}})})]}),c.jsx("button",{type:"button",onClick:()=>{ke==null||ke(),ce(pe)},className:"text-muted-foreground hover:text-foreground",title:s("Cancel"),children:c.jsx(ia,{className:"h-4 w-4"})})]},`${pe.name}-${le}`)),c.jsx("div",{className:"sm:hidden shrink-0",children:c.jsxs(Pe,{className:"w-full",type:"submit",disabled:!J,onClick:re,children:[m&&c.jsx(ao,{className:"animate-spin"}),s(e?"Reply":"Post")]})})]})});Ume.displayName="PostContent";async function Dlt({parentStuff:t,text:e,mentions:n,isPoll:r,pollCreateData:o,pubkey:s,addClientTag:a,isProtectedEvent:i,isNsfw:l,highlightedText:u}){const{parentEvent:d,externalContent:f}=typeof t=="string"?{parentEvent:void 0,externalContent:t}:{parentEvent:t,externalContent:void 0};return u&&d?bAe(u,e,d,n,{addClientTag:a,protectedEvent:i,isNsfw:l}):t&&(f||(d==null?void 0:d.kind)!==$e.ShortTextNote)?await wAe(e,t,n,{addClientTag:a,protectedEvent:i,isNsfw:l}):r?await EAe(s,e,n,o,{addClientTag:a,isNsfw:l}):await vAe(e,n,{parentEvent:d,addClientTag:a,protectedEvent:i,isNsfw:l})}function m5({parentStuff:t}){const{t:e}=Ke();return t?c.jsxs("div",{className:"flex gap-2 items-center w-full",children:[c.jsx("div",{className:"shrink-0",children:e("Reply to")}),typeof t=="string"&&c.jsx("div",{className:"text-primary truncate",children:t})]}):e("New Note")}function r1({defaultContent:t="",parentStuff:e,open:n,setOpen:r,highlightedText:o,inline:s=!1}){const{t:a}=Ke(),{isSmallScreen:i}=gn(),{navigate:l}=$o(),u=yBe(),d=h.useRef(null),f=()=>{var g;(g=d.current)==null||g.reset()},m=h.useMemo(()=>c.jsx(Ume,{ref:d,defaultContent:t,parentStuff:e,close:()=>{r(!1),l("home")},highlightedText:o}),[o,l]);return s?n?c.jsxs("div",{className:"border-t border-b bg-card animate-in slide-in-from-top-2 fade-in duration-200",children:[c.jsxs("div",{className:"flex items-center h-10 px-3 border-b shrink-0",children:[c.jsx("div",{className:"flex-1 text-sm font-medium truncate",children:o?a("Create Highlight"):c.jsx(m5,{parentStuff:e})}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("button",{onClick:f,className:"flex items-center justify-center w-8 h-8 rounded hover:bg-accent transition-colors text-sm","aria-label":"Reset",children:"🧹"}),c.jsx("button",{onClick:()=>r(!1),className:"flex items-center justify-center w-8 h-8 rounded hover:bg-accent transition-colors","aria-label":"Close",children:c.jsx(ia,{className:"w-4 h-4"})})]})]}),c.jsx("div",{className:"px-4 py-3",children:m})]}):null:i?c.jsx(yle,{open:n,onOpenChange:r,children:c.jsxs(TL,{className:"w-full p-0 border-none flex flex-col",style:{height:`${u}px`},side:"bottom",hideClose:!0,onEscapeKeyDown:g=>{Ca.isSuggestionPopupOpen&&(g.preventDefault(),Ca.closeSuggestionPopup())},children:[c.jsxs("div",{className:"flex items-center h-12 border-b shrink-0",children:[c.jsx("button",{onClick:()=>r(!1),className:"flex items-center justify-center w-10 h-full hover:bg-accent transition-colors","aria-label":"Close",children:c.jsx(Zm,{className:"w-5 h-5"})}),c.jsxs(wle,{className:"flex-1",children:[c.jsx(DL,{className:"text-start text-base font-medium",children:o?a("Create Highlight"):c.jsx(m5,{parentStuff:e})}),c.jsx(LL,{className:"hidden"})]}),c.jsx("button",{onClick:f,className:"flex items-center justify-center w-10 h-full hover:bg-accent transition-colors","aria-label":"Reset",children:"🧹"})]}),c.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 py-4",children:m})]})}):c.jsx(Ls,{open:n,onOpenChange:r,children:c.jsxs(gs,{className:"p-0 max-w-2xl flex flex-col overflow-hidden",style:{maxHeight:`${Math.min(u*.9,u)}px`},withoutClose:!0,onEscapeKeyDown:g=>{Ca.isSuggestionPopupOpen&&(g.preventDefault(),Ca.closeSuggestionPopup())},children:[c.jsx("div",{className:"px-6 pt-6 pb-2 shrink-0",children:c.jsxs(Za,{className:"flex flex-row items-center justify-between",children:[c.jsx(Qa,{children:o?a("Create Highlight"):c.jsx(m5,{parentStuff:e})}),c.jsx("button",{onClick:f,className:"flex items-center justify-center w-8 h-8 rounded hover:bg-accent transition-colors","aria-label":"Reset",children:"🧹"}),c.jsx(rl,{className:"hidden"})]})}),c.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto px-6 pb-6",children:m})]})})}function o1(t,e,n){const r=h.useRef(null),{registerItem:o,unregisterItem:s,isItemSelected:a}=ii();h.useEffect(()=>(o(t,e,r,n==null?void 0:n.meta),()=>s(t,e)),[t,e,o,s,n==null?void 0:n.meta]);const i=a(t,e);return{ref:r,isSelected:i,navProps:{"data-nav-column":t,"data-nav-index":e,"data-nav-selected":i||void 0}}}function IP({alwaysExpand:t=!1,children:e,className:n,threshold:r=1e3,collapsedHeight:o=600,...s}){const{t:a}=Ke(),i=h.useRef(null),[l,u]=h.useState(!1),[d,f]=h.useState(!1);return h.useEffect(()=>{if(t||d)return;const m=i.current;if(!m)return;const g=()=>{m.scrollHeight>r&&f(!0)};g();const w=new ResizeObserver(()=>{g()});return w.observe(m),()=>{w.disconnect()}},[t,d]),c.jsxs("div",{className:Te("relative text-left overflow-hidden",n),ref:i,...s,style:{maxHeight:!d||l?"none":`${o}px`},children:[e,d&&!l&&c.jsx("div",{className:"absolute bottom-0 h-40 w-full z-10 bg-gradient-to-b from-transparent to-background/90 flex items-end justify-center pb-4",children:c.jsx("div",{className:"bg-background rounded-lg",children:c.jsxs(Pe,{className:"bg-foreground hover:bg-foreground/80","data-collapsible-expand":!0,onClick:m=>{m.stopPropagation(),u(!l)},children:[a("Show more"),c.jsx("span",{className:"ml-2 text-xs opacity-60 font-mono",children:"⇧M"})]})})})]})}function pc(t){return h.useMemo(()=>typeof t=="string"?{event:void 0,externalContent:t,stuffKey:t}:{event:t,externalContent:void 0,stuffKey:Qo(t)},[t])}const _0=class _0{constructor(){je(this,"stuffStatsMap",new Map);je(this,"stuffStatsSubscribers",new Map);return _0.instance||(_0.instance=this),_0.instance}async fetchStuffStats(e,n){const{event:r,externalContent:o}=typeof e=="string"?{event:void 0,externalContent:e}:{event:e,externalContent:void 0},s=r?Qo(r):o,a=this.stuffStatsMap.get(s);let i;a!=null&&a.updatedAt&&(i=a.updatedAt);const[l,u]=r?await Promise.all([Oe.fetchRelayList(r.pubkey),Oe.fetchProfile(r.pubkey)]):[],d=r&&Fs(r.kind)?ti(r):void 0,f=[];r?f.push({"#e":[r.id],kinds:[$e.Reaction],limit:500},{"#e":[r.id],kinds:[$e.Repost],limit:100}):f.push({"#i":[o],kinds:[gt.EXTERNAL_CONTENT_REACTION],limit:500}),d&&f.push({"#a":[d],kinds:[$e.Reaction],limit:500},{"#a":[d],kinds:[$e.Repost],limit:100}),r&&(u!=null&&u.lightningAddress)&&(f.push({"#e":[r.id],kinds:[$e.Zap],limit:500}),d&&f.push({"#a":[d],kinds:[$e.Zap],limit:500})),n&&(f.push(r?{"#e":[r.id],authors:[n],kinds:r.kind===$e.ShortTextNote?[$e.Reaction,$e.Repost]:[$e.Reaction,$e.Repost,$e.GenericRepost]}:{"#i":[o],authors:[n],kinds:[gt.EXTERNAL_CONTENT_REACTION]}),d&&f.push({"#a":[d],authors:[n],kinds:[$e.Reaction,$e.Repost,$e.GenericRepost]}),r&&(u!=null&&u.lightningAddress)&&(f.push({"#e":[r.id],"#P":[n],kinds:[$e.Zap]}),d&&f.push({"#a":[d],"#P":[n],kinds:[$e.Zap]}))),i&&f.forEach(g=>{g.since=i});const m=l?l.read.concat(Oe.currentRelays).slice(0,5):Oe.currentRelays;return await Oe.fetchEvents(m,f,{onevent:g=>{this.updateStuffStatsByEvents([g])}}),this.stuffStatsMap.set(s,{...this.stuffStatsMap.get(s)??{},updatedAt:En().unix()}),this.stuffStatsMap.get(s)??{}}subscribeStuffStats(e,n){let r=this.stuffStatsSubscribers.get(e);return r||(r=new Set,this.stuffStatsSubscribers.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.stuffStatsSubscribers.delete(e)}}notifyStuffStats(e){const n=this.stuffStatsSubscribers.get(e);n&&n.forEach(r=>r())}getStuffStats(e){return this.stuffStatsMap.get(e)}addZap(e,n,r,o,s,a=En().unix(),i=!0){const l=this.stuffStatsMap.get(n)||{},u=l.zapPrSet||new Set,d=l.zaps||[];if(!u.has(r))return u.add(r),d.push({pr:r,pubkey:e,amount:o,comment:s,created_at:a}),this.stuffStatsMap.set(n,{...l,zapPrSet:u,zaps:d}),i&&this.notifyStuffStats(n),n}updateStuffStatsByEvents(e){const n=new Set;e.forEach(r=>{let o;r.kind===$e.Reaction?o=this.addLikeByEvent(r):r.kind===gt.EXTERNAL_CONTENT_REACTION?o=this.addExternalContentLikeByEvent(r):r.kind===$e.Repost||r.kind===$e.GenericRepost?o=this.addRepostByEvent(r):r.kind===$e.Zap&&(o=this.addZapByEvent(r)),o&&n.add(o)}),n.forEach(r=>{this.notifyStuffStats(r)})}addLikeByEvent(e){var i,l;let n;if(n=(i=e.tags.findLast(In("a")))==null?void 0:i[1],n||(n=(l=e.tags.findLast(In("e")))==null?void 0:l[1]),!n)return;const r=this.stuffStatsMap.get(n)||{},o=r.likeIdSet||new Set,s=r.likes||[];if(o.has(e.id))return;let a=e.content.trim();if(a){if(a.startsWith(":")&&a.endsWith(":")){const u=th(e.tags),d=a.split(":")[1],f=u.find(m=>m.shortcode===d);f?a=f:a="+"}return o.add(e.id),s.push({id:e.id,pubkey:e.pubkey,created_at:e.created_at,emoji:a}),this.stuffStatsMap.set(n,{...r,likeIdSet:o,likes:s}),n}}addExternalContentLikeByEvent(e){var i;const n=(i=e.tags.findLast(In("i")))==null?void 0:i[1];if(!n)return;const r=this.stuffStatsMap.get(n)||{},o=r.likeIdSet||new Set,s=r.likes||[];if(o.has(e.id))return;let a=e.content.trim();if(a){if(a.startsWith(":")&&a.endsWith(":")){const l=th(e.tags),u=a.split(":")[1],d=l.find(f=>f.shortcode===u);d?a=d:a="+"}return o.add(e.id),s.push({id:e.id,pubkey:e.pubkey,created_at:e.created_at,emoji:a}),this.stuffStatsMap.set(n,{...r,likeIdSet:o,likes:s}),n}}addRepostByEvent(e){var a,i;let n;if(n=(a=e.tags.find(In("a")))==null?void 0:a[1],n||(n=(i=e.tags.find(In("e")))==null?void 0:i[1]),!n)return;const r=this.stuffStatsMap.get(n)||{},o=r.repostPubkeySet||new Set,s=r.reposts||[];if(!o.has(e.pubkey))return o.add(e.pubkey),s.push({id:e.id,pubkey:e.pubkey,created_at:e.created_at}),this.stuffStatsMap.set(n,{...r,repostPubkeySet:o,reposts:s}),n}addZapByEvent(e){const n=Ok(e);if(!n)return;const{originalEventId:r,senderPubkey:o,invoice:s,amount:a,comment:i}=n;if(!(!r||!o))return this.addZap(o,r,s,a,i,e.created_at,!1)}};je(_0,"instance");let dR=_0;const Ai=new dR,$me=h.createContext(void 0),Llt=()=>{const t=h.useContext($me);if(!t)throw new Error("useBookmarks must be used within a BookmarksProvider");return t};function Plt({children:t}){const{pubkey:e,publish:n,updateBookmarkListEvent:r}=wt(),o=async a=>{if(!e)return;const i=await Oe.fetchBookmarkListEvent(e),l=Vt.fromHex(e),u=CB(i)??gee.empty(l),d=u.addFromEvent(a);if(d.type==="no_change")return;const f=u.toDraftEvent(),m=await n(f);await r(m),d.type==="added"&&(await Wt.dispatch(new lke(l,d.entry.id,d.entry.type)),await Wt.dispatch(new xB(l,u.count)))},s=async a=>{if(!e)return;const i=await Oe.fetchBookmarkListEvent(e);if(!i)return;const l=CB(i);if(!l)return;const u=l.owner,d=l.removeFromEvent(a);if(d.type==="no_change")return;const f=l.toDraftEvent(),m=await n(f);await r(m),d.type==="removed"&&(await Wt.dispatch(new cke(u,d.id)),await Wt.dispatch(new xB(u,l.count)))};return c.jsx($me.Provider,{value:{addBookmark:o,removeBookmark:s},children:t})}function UK({stuff:t}){const{t:e}=Ke(),{pubkey:n,bookmarkListEvent:r,checkLogin:o}=wt(),{addBookmark:s,removeBookmark:a}=Llt(),[i,l]=h.useState(!1),{event:u}=pc(t),d=h.useMemo(()=>{if(!u)return!1;const g=Fs(u.kind),w=g?ti(u):u.id;return r==null?void 0:r.tags.some(b=>g?b[0]==="a"&&b[1]===w:b[0]==="e"&&b[1]===w)},[r,u]);if(!n)return null;const f=async g=>{g.stopPropagation(),o(async()=>{if(!(d||!u)){l(!0);try{await s(u)}catch(w){on.error(e("Bookmark failed")+": "+w.message)}finally{l(!1)}}})},m=async g=>{g.stopPropagation(),o(async()=>{if(!(!d||!u)){l(!0);try{await a(u)}catch(w){on.error(e("Remove bookmark failed")+": "+w.message)}finally{l(!1)}}})};return c.jsx("button",{className:`flex items-center gap-1 ${d?"text-rose-400":"text-muted-foreground"} enabled:hover:text-rose-400 px-3 h-full disabled:text-muted-foreground/40 disabled:cursor-default`,onClick:d?m:f,disabled:!u||i,title:e(d?"Remove bookmark":"Bookmark"),children:i?c.jsx(_r,{className:"animate-spin"}):c.jsx(Use,{className:d?"fill-rose-400":""})})}function fb(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function $K(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Vme(...t){return e=>{let n=!1;const r=t.map(o=>{const s=$K(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():$K(t[o],null)}}}}function AP(...t){return h.useCallback(Vme(...t),t)}function Olt(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,zlt(o,...e)]}function zlt(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var Flt=yh.useId||(()=>{}),Blt=0;function Ult(t){const[e,n]=h.useState(Flt());return pr(()=>{n(r=>r??String(Blt++))},[t]),t||(e?`radix-${e}`:"")}function $lt(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var _P=t=>{const{present:e,children:n}=t,r=Vlt(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=AP(r.ref,Hlt(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};_P.displayName="Presence";function Vlt(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=$lt(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=n3(r.current);s.current=i==="mounted"?u:"none"},[i]),pr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=n3(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),pr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=n3(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=n3(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function n3(t){return(t==null?void 0:t.animationName)||"none"}function Hlt(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var MP=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(Ylt);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(pR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(pR,{...r,ref:e,children:n})});MP.displayName="Slot";var pR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=qlt(n);return h.cloneElement(n,{...Glt(r,n.props),ref:e?Vme(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});pR.displayName="SlotClone";var Wlt=({children:t})=>c.jsx(c.Fragment,{children:t});function Ylt(t){return h.isValidElement(t)&&t.type===Wlt}function Glt(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function qlt(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Klt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Hme=Klt.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?MP:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function Zlt({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=Qlt({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function Qlt({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var RP="Popover",[Wme]=Olt(RP,[Eh]),Mx=Eh(),[Jlt,Ph]=Wme(RP),Yme=t=>{const{__scopePopover:e,children:n,open:r,defaultOpen:o,onOpenChange:s,modal:a=!1}=t,i=Mx(e),l=h.useRef(null),[u,d]=h.useState(!1),[f=!1,m]=Zlt({prop:r,defaultProp:o,onChange:s});return c.jsx(sx,{...i,children:c.jsx(Jlt,{scope:e,contentId:Ult(),triggerRef:l,open:f,onOpenChange:m,onOpenToggle:h.useCallback(()=>m(g=>!g),[m]),hasCustomAnchor:u,onCustomAnchorAdd:h.useCallback(()=>d(!0),[]),onCustomAnchorRemove:h.useCallback(()=>d(!1),[]),modal:a,children:n})})};Yme.displayName=RP;var Gme="PopoverAnchor",qme=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Ph(Gme,n),s=Mx(n),{onCustomAnchorAdd:a,onCustomAnchorRemove:i}=o;return h.useEffect(()=>(a(),()=>i()),[a,i]),c.jsx(ax,{...s,...r,ref:e})});qme.displayName=Gme;var Kme="PopoverTrigger",Zme=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Ph(Kme,n),s=Mx(n),a=AP(e,o.triggerRef),i=c.jsx(Hme.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":tge(o.open),...r,ref:a,onClick:fb(t.onClick,o.onOpenToggle)});return o.hasCustomAnchor?i:c.jsx(ax,{asChild:!0,...s,children:i})});Zme.displayName=Kme;var TP="PopoverPortal",[Xlt,ect]=Wme(TP,{forceMount:void 0}),Qme=t=>{const{__scopePopover:e,forceMount:n,children:r,container:o}=t,s=Ph(TP,e);return c.jsx(Xlt,{scope:e,forceMount:n,children:c.jsx(_P,{present:n||s.open,children:c.jsx(K2,{asChild:!0,container:o,children:r})})})};Qme.displayName=TP;var My="PopoverContent",Jme=h.forwardRef((t,e)=>{const n=ect(My,t.__scopePopover),{forceMount:r=n.forceMount,...o}=t,s=Ph(My,t.__scopePopover);return c.jsx(_P,{present:r||s.open,children:s.modal?c.jsx(tct,{...o,ref:e}):c.jsx(nct,{...o,ref:e})})});Jme.displayName=My;var tct=h.forwardRef((t,e)=>{const n=Ph(My,t.__scopePopover),r=h.useRef(null),o=AP(e,r),s=h.useRef(!1);return h.useEffect(()=>{const a=r.current;if(a)return mS(a)},[]),c.jsx(Q2,{as:MP,allowPinchZoom:!0,children:c.jsx(Xme,{...t,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:fb(t.onCloseAutoFocus,a=>{var i;a.preventDefault(),s.current||(i=n.triggerRef.current)==null||i.focus()}),onPointerDownOutside:fb(t.onPointerDownOutside,a=>{const i=a.detail.originalEvent,l=i.button===0&&i.ctrlKey===!0,u=i.button===2||l;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:fb(t.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),nct=h.forwardRef((t,e)=>{const n=Ph(My,t.__scopePopover),r=h.useRef(!1),o=h.useRef(!1);return c.jsx(Xme,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,i;(a=t.onCloseAutoFocus)==null||a.call(t,s),s.defaultPrevented||(r.current||(i=n.triggerRef.current)==null||i.focus(),s.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:s=>{var l,u;(l=t.onInteractOutside)==null||l.call(t,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((u=n.triggerRef.current)==null?void 0:u.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),Xme=h.forwardRef((t,e)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,...f}=t,m=Ph(My,n),g=Mx(n);return pS(),c.jsx(q2,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:s,children:c.jsx(qy,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:d,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>m.onOpenChange(!1),children:c.jsx(RS,{"data-state":tge(m.open),role:"dialog",id:m.contentId,...g,...f,ref:e,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),ege="PopoverClose",rct=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Ph(ege,n);return c.jsx(Hme.button,{type:"button",...r,ref:e,onClick:fb(t.onClick,()=>o.onOpenChange(!1))})});rct.displayName=ege;var oct="PopoverArrow",sct=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Mx(n);return c.jsx(TS,{...o,...r,ref:e})});sct.displayName=oct;function tge(t){return t?"open":"closed"}var act=Yme,ict=qme,lct=Zme,cct=Qme,nge=Jme;const ME=({open:t,onOpenChange:e,...n})=>{const[r,o]=h.useState(!1),s=t!==void 0,a=s?t:r,i=h.useRef(null),l=h.useCallback(u=>{s||o(u),e==null||e(u)},[s,e]);return c.jsxs(c.Fragment,{children:[a&&Ds.createPortal(c.jsx("div",{ref:i,className:"fixed inset-0 z-40 pointer-events-auto",onClick:u=>{u.stopPropagation(),l(!1)}}),document.body),c.jsx(act,{...n,open:a,onOpenChange:l,modal:!1})]})};ME.displayName="Popover";const rge=lct,uct=ict,RE=h.forwardRef(({className:t,align:e="center",sideOffset:n=4,...r},o)=>c.jsx(cct,{children:c.jsx(nge,{ref:o,align:e,sideOffset:n,collisionPadding:10,className:Te("z-50 w-72 rounded-xl border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),onOpenAutoFocus:s=>s.preventDefault(),...r})}));RE.displayName=nge.displayName;function Oh(t){return h.useSyncExternalStore(e=>Ai.subscribeStuffStats(t,e),()=>Ai.getStuffStats(t))}const VK=["👍","❤️","😂","🥲","👀","🫡","🫂"];function fct({onEmojiClick:t,onMoreButtonClick:e,onClose:n}){const[r,o]=h.useState(VK),[s,a]=h.useState(0),i=h.useRef(null),l=1+r.length+1;h.useEffect(()=>{try{const f=WT(),m=new Set,g=f.sort((w,b)=>b.count-w.count).map(w=>xT(w.unified)).filter(Boolean).concat(VK).filter(w=>typeof w!="string"?!0:m.has(w)?!1:(m.add(w),!0));o(g.slice(0,9))}catch{}},[]),h.useEffect(()=>{var f;(f=i.current)==null||f.focus()},[]);const u=h.useCallback(()=>{s===0?t("+"):s<=r.length?t(r[s-1]):e()},[s,r,t,e]),d=h.useCallback(f=>{switch(f.key){case"ArrowLeft":f.preventDefault(),a(m=>m>0?m-1:l-1);break;case"ArrowRight":f.preventDefault(),a(m=>m<l-1?m+1:0);break;case"ArrowUp":f.preventDefault(),a(0);break;case"ArrowDown":f.preventDefault(),a(l-1);break;case"Enter":case" ":f.preventDefault(),u();break;case"Escape":f.preventDefault(),n==null||n();break}},[l,u,n]);return c.jsxs("div",{ref:i,className:"flex gap-1 p-1 outline-none",onClick:f=>f.stopPropagation(),onKeyDown:d,tabIndex:0,children:[c.jsx("div",{className:Te("w-8 h-8 rounded-lg clickable flex justify-center items-center text-xl",s===0&&"ring-2 ring-primary"),onClick:()=>t("+"),children:c.jsx(Mi,{emoji:"+"})}),r.map((f,m)=>typeof f=="string"?c.jsx("div",{className:Te("w-8 h-8 rounded-lg clickable flex justify-center items-center text-xl",s===m+1&&"ring-2 ring-primary"),onClick:()=>t(f),children:f},m):c.jsx("div",{className:Te("flex flex-col items-center justify-center p-1 rounded-lg clickable",s===m+1&&"ring-2 ring-primary"),onClick:()=>t(f),children:c.jsx(Mi,{emoji:f,classNames:{img:"size-6 rounded-md"}})},m)),c.jsx(Pe,{variant:"ghost",className:Te("w-8 h-8 text-muted-foreground",s===l-1&&"ring-2 ring-primary"),onClick:e,children:c.jsx(bS,{size:24})})]})}function k2({shortcut:t}){const{isEnabled:e}=ii();return e?c.jsx("kbd",{className:"absolute -top-1.5 -right-2 text-[9px] font-mono opacity-50 group-hover:opacity-100",children:t}):null}function Vj(t){return t===void 0||t<=0?"":t>=100?"99+":t}function HK({stuff:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{pubkey:r,publish:o,checkLogin:s}=wt(),{hideUntrustedInteractions:a,isUserTrusted:i}=$s(),{quickReaction:l,quickReactionEmoji:u}=ts(),{event:d,externalContent:f,stuffKey:m}=pc(t),[g,w]=h.useState(!1),[b,j]=h.useState(!1),[S,I]=h.useState(!1),N=h.useRef(null),M=h.useRef(!1),D=Oh(m),{myLastEmoji:P,likeCount:L}=h.useMemo(()=>{var ee,$;const Z=D||{},W=(ee=Z.likes)==null?void 0:ee.find(H=>H.pubkey===r),U=a?($=Z.likes)==null?void 0:$.filter(H=>i(H.pubkey)):Z.likes;return{myLastEmoji:W==null?void 0:W.emoji,likeCount:U==null?void 0:U.length}},[D,r,a]);h.useEffect(()=>{setTimeout(()=>I(!1),100)},[b]);const F=async Z=>{s(async()=>{if(g||!r)return;w(!0);const W=setTimeout(()=>w(!1),1e4);try{D!=null&&D.updatedAt||await Ai.fetchStuffStats(m,r);const U=d?ere(d,Z):tre(f,Z),ee=d?Oe.getSeenEventRelayUrls(d.id):Oe.currentRelays,$=await o(U,{additionalRelayUrls:ee});Ai.updateStuffStatsByEvents([$])}catch(U){console.error("like failed",U)}finally{w(!1),clearTimeout(W)}})},T=()=>{l&&(M.current=!1,N.current=setTimeout(()=>{M.current=!0,j(!0)},pee))},R=()=>{N.current&&(clearTimeout(N.current),N.current=null)},z=Z=>{if(l){if(M.current){M.current=!1;return}Z.preventDefault(),Z.stopPropagation(),F(u)}else j(!0)},G=c.jsx("button",{className:"flex items-center enabled:hover:text-primary gap-1 px-3 h-full text-muted-foreground group",title:e("React (Shift+R)"),disabled:g,"data-action":"react",onClick:z,onMouseDown:T,onMouseUp:R,onMouseLeave:R,onTouchStart:T,onTouchEnd:R,children:g?c.jsx(_r,{className:"animate-spin"}):P?c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"relative",children:[c.jsx(Mi,{emoji:P,classNames:{img:"size-4"}}),c.jsx(k2,{shortcut:"R"})]}),!!L&&c.jsx("div",{className:"text-sm",children:Vj(L)})]}):c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"relative",children:[c.jsx(W7e,{}),c.jsx(k2,{shortcut:"R"})]}),!!L&&c.jsx("div",{className:"text-sm",children:Vj(L)})]})});return n?c.jsxs(c.Fragment,{children:[G,c.jsxs(io,{open:b,onOpenChange:j,children:[c.jsx(cc,{onClick:()=>j(!1)}),c.jsx(lo,{hideOverlay:!0,children:c.jsx(jj,{onEmojiClick:Z=>{j(!1),Z&&F(Z)}})})]})]}):c.jsxs(ME,{open:b,onOpenChange:Z=>j(Z),children:[c.jsx(uct,{asChild:!0,children:G}),c.jsx(RE,{side:"top",className:"p-0 w-fit border-0 shadow-lg",children:S?c.jsx(jj,{onEmojiClick:(Z,W)=>{W.stopPropagation(),j(!1),Z&&F(Z)}}):c.jsx(fct,{onEmojiClick:Z=>{j(!1),F(Z)},onMoreButtonClick:()=>{I(!0)},onClose:()=>j(!1)})})]})}function WK({stuff:t}){const{pubkey:e,checkLogin:n,publish:r}=wt(),{event:o,externalContent:s,stuffKey:a}=pc(t),i=Oh(a),[l,u]=h.useState(null),d=h.useRef(null),[f,m]=h.useState(null),[g,w]=h.useState(null),b=h.useMemo(()=>{const D=i==null?void 0:i.likes;if(!D)return[];const P=new Map;return D.forEach(L=>{var T;const F=typeof L.emoji=="string"?L.emoji:L.emoji.url;P.has(F)||P.set(F,{key:F,pubkeys:new Set,emoji:L.emoji}),(T=P.get(F))==null||T.pubkeys.add(L.pubkey)}),Array.from(P.values()).sort((L,F)=>F.pubkeys.size-L.pubkeys.size)},[i,o]);if(!b.length)return null;const j=async(D,P)=>{n(async()=>{if(l||!e)return;u(D);const L=setTimeout(()=>u(F=>F===D?null:F),5e3);try{const F=o?ere(o,P):tre(s,P),T=o?Oe.getSeenEventRelayUrls(o.id):Oe.currentRelays,R=await r(F,{additionalRelayUrls:T});Ai.updateStuffStatsByEvents([R])}catch(F){console.error("like failed",F)}finally{u(null),clearTimeout(L)}})},S=D=>{var P;e&&((P=b.find(L=>L.key===D))!=null&&P.pubkeys.has(e))||(m(D),d.current=setTimeout(()=>{w(D),m(null)},800))},I=()=>{var D;if(d.current&&(clearTimeout(d.current),d.current=null),g){const P=g,L=(D=b.find(F=>F.key===P))==null?void 0:D.emoji;L&&j(P,L)}m(null),w(null)},N=()=>{d.current&&(clearTimeout(d.current),d.current=null),m(null),w(null)},M=D=>{const P=D.touches[0],L=D.currentTarget.getBoundingClientRect();P.clientX>=L.left&&P.clientX<=L.right&&P.clientY>=L.top&&P.clientY<=L.bottom||N()};return c.jsxs(Fa,{className:"pb-2 mb-1",children:[c.jsx("div",{className:"flex gap-1",children:b.map(({key:D,emoji:P,pubkeys:L})=>c.jsxs("div",{className:Te("flex h-7 w-fit gap-2 px-2 rounded-full items-center border shrink-0 select-none relative overflow-hidden transition-all duration-200",e&&L.has(e)?"border-primary bg-primary/20 text-foreground cursor-not-allowed":"bg-muted/80 text-muted-foreground cursor-pointer hover:bg-primary/40 hover:border-primary hover:text-foreground",(f===D||g===D)&&"border-primary bg-primary/20"),onClick:F=>F.stopPropagation(),onMouseDown:()=>S(D),onMouseUp:I,onMouseLeave:N,onTouchStart:()=>S(D),onTouchMove:M,onTouchEnd:I,onTouchCancel:N,children:[(f===D||g===D)&&c.jsx("div",{className:"absolute inset-0 rounded-full overflow-hidden",children:c.jsx("div",{className:"h-full bg-gradient-to-r from-primary/40 via-primary/60 to-primary/80",style:{width:g===D?"100%":"0%",animation:f===D?"progressFill 1000ms ease-out forwards":"none"}})}),c.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[l===D?c.jsx(_r,{className:"animate-spin size-4"}):c.jsx("div",{style:{animation:g===D?"shake 0.5s ease-in-out infinite":void 0},children:c.jsx(Mi,{emoji:P,classNames:{img:"size-4"}})}),c.jsx("div",{className:"text-sm",children:L.size})]})]},D))}),c.jsx(Ed,{orientation:"horizontal"})]})}function dct(t){return h.useSyncExternalStore(e=>dl.listenThread(t,e),()=>dl.getThread(t))}function DP(t){return h.useSyncExternalStore(e=>dl.listenAllDescendantThreads(t,e),()=>dl.getAllDescendantThreads(t))}function YK({stuff:t,onReplyClick:e}){const{t:n}=Ke(),{pubkey:r,checkLogin:o}=wt(),{event:s,stuffKey:a}=pc(t),i=DP(a),{hideUntrustedInteractions:l,isUserTrusted:u}=$s(),{mutePubkeySet:d}=ns(),{hideContentMentioningMutedUsers:f}=Qr(),{replyCount:m,hasReplied:g}=h.useMemo(()=>{var N;const j=r?(N=i.get(a))==null?void 0:N.some(M=>M.pubkey===r):!1;let S=0;const I=[...i.get(a)??[]];for(;I.length>0;){const M=I.pop();if(!M)break;const D=Qo(M),P=i.get(D)??[];I.push(...P),!(l&&!u(M.pubkey))&&(d.has(M.pubkey)||f&&Xu(M,d)||S++)}return{replyCount:S,hasReplied:j}},[i,s,a,l]),[w,b]=h.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsxs("button",{className:Te("flex gap-1 items-center enabled:hover:text-blue-400 pr-3 h-full group",g?"text-blue-400":"text-muted-foreground"),onClick:j=>{j.stopPropagation(),o(()=>{e?e():b(!0)})},title:n("Reply (r)"),"data-action":"reply",children:[c.jsxs("span",{className:"relative",children:[c.jsx(ex,{}),c.jsx(k2,{shortcut:"r"})]}),!!m&&c.jsx("div",{className:"text-sm",children:Vj(m)})]}),!e&&c.jsx(r1,{parentStuff:t,open:w,setOpen:b})]})}function GK({stuff:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{hideUntrustedInteractions:r,isUserTrusted:o}=$s(),{publish:s,checkLogin:a,pubkey:i}=wt(),{event:l,stuffKey:u}=pc(t),d=Oh(u),[f,m]=h.useState(!1),[g,w]=h.useState(!1),[b,j]=h.useState(!1),{repostCount:S,hasReposted:I}=h.useMemo(()=>{var F,T,R;return l?{repostCount:r?(F=d==null?void 0:d.reposts)==null?void 0:F.filter(z=>o(z.pubkey)).length:(T=d==null?void 0:d.reposts)==null?void 0:T.length,hasReposted:i?(R=d==null?void 0:d.repostPubkeySet)==null?void 0:R.has(i):!1}:{repostCount:0,hasReposted:!1}},[d,l,r]),N=!I&&!f&&!!l,M=async()=>{a(async()=>{var T,R;if(!N||!i)return;m(!0);const F=setTimeout(()=>m(!1),5e3);try{if(((T=d==null?void 0:d.repostPubkeySet)==null?void 0:T.has(i))||!(d!=null&&d.updatedAt)&&(R=(await Ai.fetchStuffStats(t,i)).repostPubkeySet)!=null&&R.has(i))return;const G=yAe(l),Z=await s(G);Ai.updateStuffStatsByEvents([Z])}catch(z){console.error("repost failed",z)}finally{m(!1),clearTimeout(F)}})},D=c.jsxs("button",{className:Te("flex gap-1 items-center px-3 h-full enabled:hover:text-lime-500 disabled:text-muted-foreground/40 group",I?"text-lime-500":"text-muted-foreground"),disabled:!l,title:e("Repost (p) / Quote (q)"),"data-action":"repost",onClick:()=>{l&&n&&j(!0)},children:[c.jsxs("span",{className:"relative",children:[f?c.jsx(_r,{className:"animate-spin"}):c.jsx(Qw,{}),c.jsx(k2,{shortcut:"p"})]}),!!S&&c.jsx("div",{className:"text-sm",children:Vj(S)})]});if(!l)return D;const P=c.jsx(r1,{open:g,setOpen:w,defaultContent:`
2207 nostr:`+fg(l)}),L=c.jsx("button",{className:"hidden","data-action":"quote",onClick:F=>{F.stopPropagation(),a(()=>{w(!0)})}});return n?c.jsxs(c.Fragment,{children:[D,L,c.jsxs(io,{open:b,onOpenChange:j,children:[c.jsx(cc,{onClick:()=>j(!1)}),c.jsx(lo,{hideOverlay:!0,children:c.jsxs("div",{className:"py-2",children:[c.jsxs(Pe,{onClick:F=>{F.stopPropagation(),j(!1),M()},disabled:!N,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(Qw,{})," ",e("Repost")]}),c.jsxs(Pe,{onClick:F=>{F.stopPropagation(),j(!1),a(()=>{w(!0)})},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(r2,{})," ",e("Quote")]})]})})]}),P]}):c.jsxs(c.Fragment,{children:[c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:D}),c.jsxs(ci,{children:[c.jsxs(Er,{onClick:F=>{F.stopPropagation(),M()},disabled:!N,children:[c.jsx(Qw,{})," ",e("Repost")]}),c.jsxs(Er,{onClick:F=>{F.stopPropagation(),a(()=>{w(!0)})},children:[c.jsx(r2,{})," ",e("Quote")]})]})]}),L,P]})}function qK({stuff:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{push:r}=Cn(),{event:o}=pc(t),[s,a]=h.useState([]),[i,l]=h.useState(!1);h.useEffect(()=>{if(!o)return;const d=Oe.getSeenEventRelayUrls(o.id);a(d)},[]);const u=c.jsxs("button",{className:"flex gap-1 items-center text-muted-foreground enabled:hover:text-primary pl-3 h-full disabled:text-muted-foreground/40",title:e("Seen on"),disabled:s.length===0,onClick:()=>{o&&n&&l(!0)},children:[c.jsx(ei,{}),s.length>0&&c.jsx("div",{className:"text-sm",children:s.length})]});return s.length===0?u:n?c.jsxs(c.Fragment,{children:[u,c.jsxs(io,{open:i,onOpenChange:l,children:[c.jsx(cc,{onClick:()=>l(!1)}),c.jsx(lo,{hideOverlay:!0,children:c.jsx("div",{className:"py-2",children:s.map(d=>c.jsxs(Pe,{className:"w-full p-6 justify-start text-lg gap-4",variant:"ghost",onClick:()=>{l(!1),setTimeout(()=>{r(Eg(d))},50)},children:[c.jsx(iu,{url:d})," ",Aa(d)]},d))})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:u}),c.jsxs(ci,{children:[c.jsx(ZS,{children:e("Seen on")}),c.jsx(hh,{}),s.map(d=>c.jsxs(Er,{onClick:()=>r(Eg(d)),className:"min-w-52",children:[c.jsx(iu,{url:d}),Aa(d)]},d))]})]})}const oge=h.createContext(void 0),zh=()=>{const t=h.useContext(oge);if(!t)throw new Error("useZap must be used within a ZapProvider");return t};function pct({children:t}){const[e,n]=h.useState(Ze.getDefaultZapSats()),[r,o]=h.useState(Ze.getDefaultZapComment()),[s,a]=h.useState(Ze.getQuickZap()),[i,l]=h.useState(!1),[u,d]=h.useState(null),[f,m]=h.useState(null);h.useEffect(()=>{const j=SRe(I=>{l(!0),m(null),d(I),Km.provider=I,I.getInfo().then(m)}),S=ERe(()=>{l(!1),d(null),Km.provider=null});return Km.initBitcoinConnect(),()=>{j(),S()}},[]);const g=j=>{Ze.setDefaultZapSats(j),n(j),cr()},w=j=>{Ze.setDefaultZapComment(j),o(j),cr()},b=j=>{Ze.setQuickZap(j),a(j),cr()};return c.jsx(oge.Provider,{value:{isWalletConnected:i,provider:u,walletInfo:f,defaultZapSats:e,updateDefaultSats:g,defaultZapComment:r,updateDefaultComment:w,quickZap:s,updateQuickZap:b},children:t})}function TE({open:t,setOpen:e,pubkey:n,event:r,defaultAmount:o,defaultComment:s}){const{t:a}=Ke(),{isSmallScreen:i}=gn(),l=h.useRef(null);return h.useEffect(()=>{const u=()=>{l.current&&l.current.style.setProperty("bottom","env(safe-area-inset-bottom)")};return window.visualViewport&&(window.visualViewport.addEventListener("resize",u),u()),()=>{window.visualViewport&&window.visualViewport.removeEventListener("resize",u)}},[]),i?c.jsxs(io,{open:t,onOpenChange:e,children:[c.jsx(cc,{onClick:()=>e(!1)}),c.jsxs(lo,{hideOverlay:!0,onOpenAutoFocus:u=>u.preventDefault(),ref:l,className:"flex flex-col gap-4 px-4 mb-4",children:[c.jsxs(wf,{children:[c.jsxs(bd,{className:"flex gap-2 items-center",children:[c.jsx("div",{className:"shrink-0",children:a("Zap to")}),c.jsx(Ro,{size:"small",userId:n}),c.jsx(zs,{userId:n,className:"truncate flex-1 w-0 text-start h-5"})]}),c.jsx(rl,{})]}),c.jsx(KK,{open:t,setOpen:e,recipient:n,event:r,defaultAmount:o,defaultComment:s})]})]}):c.jsx(Ls,{open:t,onOpenChange:e,children:c.jsxs(gs,{onOpenAutoFocus:u=>u.preventDefault(),children:[c.jsx(Za,{children:c.jsxs(Qa,{className:"flex gap-2 items-center",children:[c.jsx("div",{className:"shrink-0",children:a("Zap to")}),c.jsx(Ro,{size:"small",userId:n}),c.jsx(zs,{userId:n,className:"truncate flex-1 max-w-fit text-start h-5"})]})}),c.jsx(KK,{open:t,setOpen:e,recipient:n,event:r,defaultAmount:o,defaultComment:s})]})})}function KK({setOpen:t,recipient:e,event:n,defaultAmount:r,defaultComment:o}){const{t:s,i18n:a}=Ke(),{pubkey:i}=wt(),{defaultZapSats:l,defaultZapComment:u}=zh(),[d,f]=h.useState(r??l),[m,g]=h.useState(o??u),w=h.useMemo(()=>i===e,[i,e]),[b,j]=h.useState(!1),S=h.useMemo(()=>a.language.startsWith("zh")?[{display:"21",val:21},{display:"66",val:66},{display:"210",val:210},{display:"666",val:666},{display:"1k",val:1e3},{display:"2.1k",val:2100},{display:"6.6k",val:6666},{display:"10k",val:1e4},{display:"21k",val:21e3},{display:"66k",val:66666},{display:"100k",val:1e5},{display:"210k",val:21e4}]:[{display:"21",val:21},{display:"42",val:42},{display:"210",val:210},{display:"420",val:420},{display:"1k",val:1e3},{display:"2.1k",val:2100},{display:"4.2k",val:4200},{display:"10k",val:1e4},{display:"21k",val:21e3},{display:"42k",val:42e3},{display:"100k",val:1e5},{display:"210k",val:21e4}],[a.language]),I=async()=>{try{if(!i)throw new Error("You need to be logged in to zap");j(!0);const N=await Km.zap(i,n??e,d,m,()=>t(!1));if(!N)return;n&&Ai.addZap(i,n.id,N.invoice,d,m)}catch(N){on.error(`${s("Zap failed")}: ${N.message}`)}finally{j(!1)}};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex flex-col items-center",children:[c.jsx("div",{className:"flex justify-center w-full",children:c.jsx("input",{id:"sats",value:d,onChange:N=>{f(M=>{if(N.target.value==="")return 0;let D=parseInt(N.target.value,10);return(isNaN(D)||D<0)&&(D=M),D})},onFocus:N=>{requestAnimationFrame(()=>{const M=N.target.value;N.target.setSelectionRange(M.length,M.length)})},className:"bg-transparent text-center w-full p-0 focus-visible:outline-none text-6xl font-bold"})}),c.jsx(_t,{htmlFor:"sats",children:s("Sats")})]}),w&&c.jsx("div",{className:"text-sm text-yellow-600 dark:text-yellow-400 text-center px-4 py-2 bg-yellow-50 dark:bg-yellow-950/30 rounded-md border border-yellow-200 dark:border-yellow-900",children:s("selfZapWarning")}),c.jsx("div",{className:"grid grid-cols-6 gap-2",children:S.map(({display:N,val:M})=>c.jsx(Pe,{variant:"secondary",onClick:()=>f(M),children:N},M))}),c.jsxs("div",{children:[c.jsx(_t,{htmlFor:"comment",children:s("zapComment")}),c.jsx(Pn,{id:"comment",value:m,onChange:N=>g(N.target.value)})]}),c.jsxs(Pe,{onClick:I,children:[b&&c.jsx(_r,{className:"animate-spin"})," ",s("Zap n sats",{n:d})]})]})}function ZK({stuff:t}){const{event:e,stuffKey:n}=pc(t),r=Oh(n),[o,s]=h.useState(-1),a=h.useMemo(()=>{var i;return((i=r==null?void 0:r.zaps)==null?void 0:i.sort((l,u)=>u.amount-l.amount).slice(0,10))||[]},[r]);return!a.length||!e?null:c.jsxs(Fa,{className:"pb-2 mb-1",children:[c.jsx("div",{className:"flex gap-1",children:a.map((i,l)=>c.jsxs("div",{className:"flex gap-1 py-1 pl-1 pr-2 text-sm max-w-72 rounded-full bg-muted/80 items-center text-yellow-400 border border-yellow-400 hover:bg-yellow-400/20 cursor-pointer",onClick:u=>{u.stopPropagation(),s(l)},children:[c.jsx(ec,{userId:i.pubkey,size:"xSmall"}),c.jsx(lc,{className:"size-3 fill-yellow-400 shrink-0"}),c.jsx("div",{className:"font-semibold",children:Y2(i.amount)}),c.jsx("div",{className:"truncate",children:i.comment}),c.jsx("div",{onClick:u=>u.stopPropagation(),children:c.jsx(TE,{open:o===l,setOpen:u=>{s(u?l:-1)},pubkey:e.pubkey,event:e,defaultAmount:i.amount,defaultComment:i.comment})})]},i.pr))}),c.jsx(Ed,{orientation:"horizontal"})]})}function QK({stuff:t}){const{t:e}=Ke(),{checkLogin:n,pubkey:r}=wt(),{event:o,stuffKey:s}=pc(t),a=Oh(s),{defaultZapSats:i,defaultZapComment:l,quickZap:u}=zh(),[d,f]=h.useState(null),[m,g]=h.useState(!1),[w,b]=h.useState(!1),{zapAmount:j,hasZapped:S}=h.useMemo(()=>{var R,z;return{zapAmount:(R=a==null?void 0:a.zaps)==null?void 0:R.reduce((G,Z)=>G+Z.amount,0),hasZapped:r?(z=a==null?void 0:a.zaps)==null?void 0:z.some(G=>G.pubkey===r):!1}},[a,r]),[I,N]=h.useState(!0),M=h.useRef(null),D=h.useRef(!1);h.useEffect(()=>{if(!o){N(!0);return}Oe.fetchProfile(o.pubkey).then(R=>{if(!R)return;cre(R)&&N(!1)})},[o]);const P=async()=>{try{if(!r)throw new Error("You need to be logged in to zap");if(w||!o)return;b(!0);const R=await Km.zap(r,o,i,l);if(!R)return;Ai.addZap(r,o.id,R.invoice,i,l)}catch(R){on.error(`${e("Zap failed")}: ${R.message}`)}finally{b(!1)}},L=R=>{if(R.stopPropagation(),R.preventDefault(),!I){if(D.current=!1,"touches"in R){const z=R.touches[0];f({x:z.clientX,y:z.clientY})}u&&(M.current=setTimeout(()=>{D.current=!0,n(()=>{g(!0),b(!0)})},pee))}},F=R=>{if(R.stopPropagation(),R.preventDefault(),M.current&&clearTimeout(M.current),!I){if("touches"in R){if(f(null),!d)return;const z=R.changedTouches[0],G=Math.abs(z.clientX-d.x),Z=Math.abs(z.clientY-d.y);if(G>10||Z>10)return}u?D.current||n(()=>P()):n(()=>{g(!0),b(!0)}),D.current=!1}},T=()=>{M.current&&clearTimeout(M.current)};return c.jsxs(c.Fragment,{children:[c.jsxs("button",{className:Te("flex items-center gap-1 select-none px-3 h-full cursor-pointer enabled:hover:text-yellow-400 disabled:text-muted-foreground/40 disabled:cursor-default group",S?"text-yellow-400":"text-muted-foreground"),title:e("Zap (z)"),disabled:I||w,"data-action":"zap",onMouseDown:L,onMouseUp:F,onMouseLeave:T,onTouchStart:L,onTouchEnd:F,children:[c.jsxs("span",{className:"relative",children:[w?c.jsx(_r,{className:"animate-spin"}):c.jsx(lc,{className:S?"fill-yellow-400":""}),c.jsx(k2,{shortcut:"z"})]}),!!j&&c.jsx("div",{className:"text-sm",children:hct(j)})]}),o&&c.jsx(TE,{open:m,setOpen:R=>{g(R),b(R)},pubkey:o.pubkey,event:o})]})}function hct(t){return t<1e3?t:t<1e6?`${Math.round(t/100)/10}k`:`${Math.round(t/1e5)/10}M`}function Rx({stuff:t,className:e,classNames:n,fetchIfNotExisting:r=!1,displayTopZapsAndLikes:o=!1,onReplyClick:s}){const{isSmallScreen:a}=gn(),{pubkey:i}=wt(),[l,u]=h.useState(!1),{event:d}=pc(t);return h.useEffect(()=>{r&&(u(!0),Ai.fetchStuffStats(t,i).finally(()=>u(!1)))},[d,r]),a?c.jsxs("div",{className:Te("select-none",e),"data-stuff-stats":!0,children:[o&&c.jsxs(c.Fragment,{children:[c.jsx(ZK,{stuff:t}),c.jsx(WK,{stuff:t})]}),c.jsxs("div",{className:Te("flex justify-between items-center h-5 [&_svg]:size-5",l?"animate-pulse":"",n==null?void 0:n.buttonBar),onClick:f=>f.stopPropagation(),children:[c.jsx(YK,{stuff:t,onReplyClick:s}),c.jsx(GK,{stuff:t}),c.jsx(HK,{stuff:t}),c.jsx(QK,{stuff:t}),c.jsx(UK,{stuff:t}),c.jsx(qK,{stuff:t})]})]}):c.jsxs("div",{className:Te("select-none",e),"data-stuff-stats":!0,children:[o&&c.jsxs(c.Fragment,{children:[c.jsx(ZK,{stuff:t}),c.jsx(WK,{stuff:t})]}),c.jsxs("div",{className:"flex justify-between h-5 [&_svg]:size-4",children:[c.jsxs("div",{className:Te("flex items-center",l?"animate-pulse":""),onClick:f=>f.stopPropagation(),children:[c.jsx(YK,{stuff:t,onReplyClick:s}),c.jsx(GK,{stuff:t}),c.jsx(HK,{stuff:t}),c.jsx(QK,{stuff:t})]}),c.jsxs("div",{className:"flex items-center",onClick:f=>f.stopPropagation(),children:[c.jsx(UK,{stuff:t}),c.jsx(qK,{stuff:t})]})]})]})}function mct({event:t}){const{t:e}=Ke(),{pubkey:n}=wt(),{unpin:r}=Dde(),[o,s]=h.useState(!1),[a,i]=h.useState(!1);return t.pubkey!==n?c.jsxs("div",{className:"flex gap-1 text-sm items-center text-primary mb-1 px-4 py-0 h-fit",children:[c.jsx(R8,{size:16,className:"shrink-0"}),e("Pinned")]}):c.jsxs(Pe,{className:"flex gap-1 text-sm text-primary items-center mb-1 px-4 py-0.5 h-fit",variant:"link",onClick:l=>{l.stopPropagation(),i(!0),r(t).finally(()=>i(!1))},disabled:a,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[a?c.jsx(_r,{size:16,className:"animate-spin shrink-0"}):c.jsx(R8,{size:16,className:"shrink-0"}),e(a?"Unpinning":o?"Unpin":"Pinned")]})}function gct({reposters:t,className:e}){const{t:n}=Ke();return t!=null&&t.length?c.jsxs("div",{className:Te("flex gap-1 text-sm items-center text-muted-foreground mb-1",e),children:[c.jsx(iae,{size:16,className:"shrink-0"}),c.jsx(zs,{userId:t[0],className:Te("font-semibold truncate",t.length>1&&'after:content-[","]'),skeletonClassName:"h-3"},t[0]),t.length>1&&c.jsx(zs,{userId:t[1],className:Te("font-semibold truncate",t.length===3&&'after:content-[","]'),skeletonClassName:"h-3"},t[1]),t.length>3?c.jsx(yct,{reposters:t.slice(2)}):t.length===3?c.jsx(zs,{userId:t[2],className:Te("font-semibold truncate"),skeletonClassName:"h-3"},t[2]):null,c.jsx("div",{className:"shrink-0",children:n("reposted")})]}):null}function yct({reposters:t}){const{t:e}=Ke();return c.jsxs(kL,{children:[c.jsx(jL,{asChild:!0,children:c.jsx("span",{className:"shrink-0 hover:underline",children:e("and {{x}} others",{x:t.length})})}),c.jsx(LS,{className:"w-fit max-w-60 flex flex-wrap p-2",children:t.map(n=>c.jsx("div",{className:"p-2",children:c.jsx(Ro,{userId:n,size:"small"},n)},n))})]})}function LP({event:t,className:e,reposters:n,embedded:r,originalNoteId:o,pinned:s=!1,navColumn:a,navIndex:i}){const{push:l}=Cn(),{ref:u,isSelected:d}=o1(a??1,i??0,{meta:{type:"note",event:t}}),[f,m]=h.useState(!1);return c.jsxs("div",{ref:u,className:Te(e,"scroll-mt-[6.5rem]",d&&"ring-2 ring-primary ring-inset"),onClick:g=>{g.stopPropagation(),l(vl(o??t))},children:[c.jsxs("div",{className:Te("clickable transition-all duration-200",r?"p-3 sm:p-4 border rounded-xl bg-card":"py-3 hover:bg-accent/30"),children:[c.jsxs(IP,{alwaysExpand:r,children:[s&&c.jsx(mct,{event:t}),c.jsx(gct,{className:r?"":"px-4",reposters:n}),c.jsx(W7,{className:r?"":"px-4",size:r?"small":"normal",event:t,originalNoteId:o})]}),!r&&c.jsx(Rx,{className:"mt-3 px-4",stuff:t,onReplyClick:()=>m(!0)})]}),!r&&c.jsx(ri,{}),f&&c.jsx("div",{onClick:g=>g.stopPropagation(),children:c.jsx(r1,{inline:!0,parentStuff:t,open:f,setOpen:m})})]})}function sge({noteId:t,className:e}){const{event:n,isFetching:r}=cl(t);return r?c.jsx(vct,{className:e}):n?c.jsx(LP,{className:Te("w-full",e),event:n,embedded:!0,originalNoteId:t}):c.jsx(wct,{className:e,noteId:t})}function vct({className:t}){return c.jsxs("div",{className:Te("text-left p-2 sm:p-3 border rounded-xl bg-card",t),onClick:e=>e.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Dn,{className:"w-9 h-9 rounded-full"}),c.jsxs("div",{children:[c.jsx(Dn,{className:"h-3 w-16 my-1"}),c.jsx(Dn,{className:"h-3 w-16 my-1"})]})]}),c.jsx(Dn,{className:"w-full h-4 my-1 mt-2"}),c.jsx(Dn,{className:"w-2/3 h-4 my-1"})]})}function wct({noteId:t,className:e}){const{t:n}=Ke();return c.jsx("div",{className:Te("text-left p-2 sm:p-3 border rounded-xl bg-card",e),children:c.jsxs("div",{className:"flex flex-col items-center text-muted-foreground font-medium gap-2",children:[c.jsx("div",{children:n("Sorry! The note cannot be found 😔")}),c.jsx(Ig,{className:"w-full mt-2",originalNoteId:t})]})})}function PP({url:t}){const{push:e}=Cn();return c.jsxs("span",{className:"cursor-pointer px-1 text-primary hover:bg-primary/20",onClick:n=>{n.stopPropagation(),e(Eg(t))},children:["[ ",t," ]",c.jsx("span",{className:"w-2 h-1 bg-primary"})]})}function age({about:t,emojis:e,className:n}){const r=h.useMemo(()=>{if(!t)return null;const o=qg(t,[ux,RL,tv,US,fx]),s=new Map;return e==null||e.forEach(a=>{s.set(a.shortcode,a)}),o.map((a,i)=>{if(a.type==="url")return c.jsx(jd,{url:a.data},i);if(a.type==="websocket-url")return c.jsx(PP,{url:a.data},i);if(a.type==="hashtag")return c.jsx(VS,{hashtag:a.data},i);if(a.type==="mention")return c.jsx(HS,{userId:a.data.split(":")[1]},i);if(a.type==="emoji"){const l=a.data.split(":")[1],u=s.get(l);return u?c.jsx(Mi,{classNames:{img:"mb-1"},emoji:u},i):a.data}return a.data})},[t,e]);return c.jsx("div",{className:n,children:r})}function ige({userId:t}){const e=h.useMemo(()=>{var a;return((a=Vt.tryFromString(t))==null?void 0:a.hex)??t},[t]),{profile:n}=ua(t),{username:r,about:o,emojis:s}=n||{};return c.jsxs("div",{className:"w-full flex flex-col gap-2 not-prose",children:[c.jsxs("div",{className:"flex space-x-2 w-full items-start justify-between",children:[c.jsx(ec,{userId:e,className:"w-12 h-12"}),c.jsx(AL,{pubkey:e})]}),c.jsxs("div",{children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(_x,{text:r||"",emojis:s,className:"text-lg font-semibold truncate"}),c.jsx(jx,{pubkey:e})]}),c.jsx(uc,{pubkey:e})]}),o&&c.jsx(age,{about:o,emojis:s,className:"text-sm text-wrap break-words w-full overflow-hidden text-ellipsis line-clamp-6"})]})}function zs({userId:t,showAt:e=!1,className:n,skeletonClassName:r,withoutSkeleton:o=!1,showQrCode:s=!0}){const{profile:a,isFetching:i}=ua(t),l=h.useMemo(()=>uu(),[]);if(!a&&i&&!o)return c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:Te("w-16",r)})});if(!a)return null;const u=c.jsxs(Xl,{to:xf(t),className:"truncate hover:underline",onClick:f=>f.stopPropagation(),children:[e&&"@",c.jsx(_x,{text:a.username,emojis:a.emojis,emojiClassName:"mb-1"})]}),d=c.jsxs("div",{className:Te("flex items-center gap-1",n),children:[u,s&&c.jsx(BS,{pubkey:t})]});return l?d:c.jsxs(kL,{children:[c.jsx(jL,{asChild:!0,children:d}),c.jsx(LS,{className:"w-80",children:c.jsx(ige,{userId:t})})]})}function od({userId:t,showAt:e=!1,className:n,skeletonClassName:r,withoutSkeleton:o=!1,showQrCode:s=!0}){const{profile:a,isFetching:i}=ua(t);if(!a&&i&&!o)return c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:Te("w-16",r)})});if(!a)return null;const{username:l,emojis:u}=a;return c.jsxs("div",{className:Te("flex items-center gap-1",n),children:[c.jsxs("span",{className:"truncate",children:[e&&"@",c.jsx(_x,{text:l,emojis:u,emojiClassName:"mb-1"})]}),s&&c.jsx(BS,{pubkey:t})]})}function OP({userId:t,hideFollowButton:e,showFollowingBadge:n=!1,className:r}){const o=h.useMemo(()=>{var s;return((s=Vt.tryFromString(t))==null?void 0:s.hex)??t},[t]);return c.jsxs("div",{className:Te("flex gap-2 items-center h-14",r),children:[c.jsx(Ro,{userId:t,className:"shrink-0"}),c.jsxs("div",{className:"w-full overflow-hidden",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(zs,{userId:t,className:"font-semibold truncate max-w-full w-fit",skeletonClassName:"h-4"}),n&&c.jsx(T7,{pubkey:o}),c.jsx(jx,{pubkey:o})]}),c.jsx(uc,{pubkey:t})]}),!e&&c.jsx(AL,{pubkey:t})]})}function lge({hideFollowButton:t}){return c.jsxs("div",{className:"flex gap-2 items-center h-14",children:[c.jsx(Dn,{className:"w-10 h-10 rounded-full shrink-0"}),c.jsx("div",{className:"w-full",children:c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:"w-16 h-4"})})}),!t&&c.jsx(Dn,{className:"rounded-full min-w-28 h-9"})]})}const DE=h.forwardRef(({input:t,setInput:e,onSearch:n},r)=>{const{t:o}=Ke(),{push:s}=Cn(),{isSmallScreen:a}=gn(),[i,l]=h.useState(t),{profiles:u,isFetching:d}=oFe(i,5),[f,m]=h.useState(!1),[g,w]=h.useState(!1),[b,j]=h.useState([]),[S,I]=h.useState(-1),N=h.useRef(null),M=h.useMemo(()=>{if(!["w","ws","ws:","ws:/","wss","wss:","wss:/"].includes(t)&&t.includes("."))try{return so(t)}catch{return}},[t]),D=h.useMemo(()=>`search-${yd()}`,[]);h.useImperativeHandle(r,()=>({focus:()=>{var R;(R=N.current)==null||R.focus()},blur:()=>{var R;(R=N.current)==null||R.blur()}})),h.useEffect(()=>{t||n(null),I(-1)},[t]),h.useEffect(()=>{const R=setTimeout(()=>{l(t)},500);return()=>{clearTimeout(R)}},[t]);const P=()=>{var R;m(!1),(R=N.current)==null||R.blur()},L=R=>{P(),R.type==="note"?s(vl(R.search)):R.type==="externalContent"?s(yy(R.search)):n(R)};h.useEffect(()=>{var Z;const R=t.trim();if(!R)return;const z=Bie(R);if(z){j([{type:"nak",search:_Fe(z),request:z,input:R}]);return}if(/^[0-9a-f]{64}$/.test(R)){j([{type:"note",search:R},{type:"profile",search:R}]);return}try{let W=R;W.startsWith("nostr:")&&(W=W.slice(6));const{type:U}=jr.decode(W);if(["nprofile","npub"].includes(U)){j([{type:"profile",search:W}]);return}if(["nevent","naddr","note"].includes(U)){j([{type:"note",search:W}]);return}}catch{}const G=((Z=R.match(/[\p{L}\p{N}\p{M}]+/u))==null?void 0:Z[0].toLowerCase())??"";j([{type:"notes",search:R},...M?[{type:"relay",search:M,input:M}]:[],{type:"externalContent",search:R,input:t},{type:"hashtag",search:G,input:`#${G}`},...u.map(W=>({type:"profile",search:W.npub,input:W.username})),...u.length>=5?[{type:"profiles",search:R}]:[]])},[t,i,u]);const F=h.useMemo(()=>b.length<=0?null:c.jsxs(c.Fragment,{children:[b.map((R,z)=>R.type==="note"?c.jsx(kct,{selected:S===z,id:R.search,onClick:()=>L(R)},z):R.type==="profile"?c.jsx(jct,{selected:S===z,userId:R.search,onClick:()=>L(R)},z):R.type==="notes"?c.jsx(bct,{selected:S===z,search:R.search,onClick:()=>L(R)},z):R.type==="hashtag"?c.jsx(xct,{selected:S===z,hashtag:R.search,onClick:()=>L(R)},z):R.type==="relay"?c.jsx(Cct,{selected:S===z,url:R.search,onClick:()=>L(R)},z):R.type==="externalContent"?c.jsx(Sct,{selected:S===z,search:R.search,onClick:()=>L(R)},z):R.type==="nak"?c.jsx(Ect,{selected:S===z,description:R.search,onClick:()=>L(R)},z):R.type==="profiles"?c.jsx(s1,{selected:S===z,onClick:()=>L(R),children:c.jsx("div",{className:"font-semibold",children:o("Show more...")})},z):null),d&&u.length<5&&c.jsx("div",{className:"px-2",children:c.jsx(lge,{hideFollowButton:!0})})]}),[b,S,d,u]);h.useEffect(()=>{w(f&&!!t)},[f,t]),h.useEffect(()=>{g&&F?po.register(D,()=>{w(!1)}):po.unregister(D)},[g,F]);const T=h.useCallback(R=>{if(R.key==="Enter"){if(R.stopPropagation(),b.length<=0)return;n(b[S>=0?S:0]),P();return}if(R.key==="ArrowDown"){if(R.preventDefault(),b.length<=0)return;I(z=>(z+1)%b.length);return}if(R.key==="ArrowUp"){if(R.preventDefault(),b.length<=0)return;I(z=>(z-1+b.length)%b.length);return}if(R.key==="Escape"){P();return}},[t,n,b,S]);return c.jsxs("div",{className:"relative flex gap-1 items-center h-full w-full",children:[g&&F&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:Te("bg-surface-background rounded-b-lg shadow-lg z-50",a?"fixed top-12 inset-x-0":"absolute top-full -translate-y-2 inset-x-0 pt-3.5 pb-1 border px-1"),onMouseDown:R=>R.preventDefault(),children:c.jsx("div",{className:"h-fit",children:F})}),c.jsx("div",{className:"fixed inset-0 w-full h-full",onClick:()=>P()})]}),c.jsx(FS,{ref:N,className:Te("bg-surface-background shadow-inner h-full border-transparent",f?"z-50":""),placeholder:o("People, keywords, or relays"),value:t,onChange:R=>e(R.target.value),onKeyDown:T,onFocus:()=>m(!0),onBlur:()=>m(!1),onQrScan:R=>{e(R);let z=R;z.startsWith("nostr:")&&(z=z.slice(6));try{const{type:G}=jr.decode(z);if(["nprofile","npub"].includes(G)){L({type:"profile",search:z});return}if(["nevent","naddr","note"].includes(G)){L({type:"note",search:z});return}}catch{}}})]})});DE.displayName="SearchBar";function bct({search:t,onClick:e,selected:n}){const{t:r}=Ke();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(tx,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Search for notes")})]})]})}function xct({hashtag:t,onClick:e,selected:n}){const{t:r}=Ke();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(t2,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsxs("div",{className:"font-semibold truncate",children:["#",t]}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Search for hashtag")})]})]})}function kct({id:t,onClick:e,selected:n}){const{t:r}=Ke();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(D7e,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate font-mono text-sm",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Go to note")})]})]})}function jct({userId:t,onClick:e,selected:n}){return c.jsx("div",{className:Te("px-2 hover:bg-accent rounded-md cursor-pointer",n&&"bg-accent"),onClick:e,children:c.jsx(OP,{userId:t,className:"pointer-events-none",hideFollowButton:!0,showFollowingBadge:!0})})}function Cct({url:t,onClick:e,selected:n}){const{t:r}=Ke();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(ei,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Go to relay")})]})]})}function Sct({search:t,onClick:e,selected:n}){const{t:r}=Ke();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(sf,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("View discussions about this")})]})]})}function Ect({description:t,onClick:e,selected:n}){return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(K7e,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:"REQ"}),c.jsx("div",{className:"text-sm text-muted-foreground truncate",children:t})]})]})}function s1({className:t,children:e,selected:n,...r}){return c.jsx("div",{className:Te("flex gap-2 items-center px-2 py-1.5 hover:bg-accent rounded-md cursor-pointer",n?"bg-accent":"",t),...r,children:e})}function Nct({newEvents:t=[],onClick:e}){const{t:n}=Ke(),{enableSingleColumnLayout:r}=ts(),{isSmallScreen:o}=gn(),s=Gle(Jw),a=h.useMemo(()=>{const i=[];for(const l of t)if(i.includes(l.pubkey)||i.push(l.pubkey),i.length>=3)break;return i},[t]);return c.jsx(c.Fragment,{children:t.length>0&&c.jsx("div",{className:Te("w-full flex justify-center z-40 pointer-events-none",r?"sticky":"absolute"),style:{bottom:o?`calc(${s?7.35:4}rem + env(safe-area-inset-bottom))`:"1rem"},children:c.jsxs(Pe,{onClick:e,className:"group rounded-full h-fit py-2 pl-2 pr-3 hover:bg-primary-hover pointer-events-auto",children:[a.length>0&&c.jsx("div",{className:"*:data-[slot=avatar]:ring-background flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:grayscale",children:a.map(i=>c.jsx(ec,{userId:i,size:"small"},i))}),c.jsx("span",{className:"text-xs opacity-70",children:"⇧↵"}),c.jsx(Fse,{}),c.jsx("div",{className:"text-md font-medium",children:n("Show n new notes",{n:t.length>99?"99+":t.length})})]})})})}function Ict(t,e=1,n){const[r,o]=h.useState([]),[s,a]=h.useState(!1),[i,l]=h.useState(!0),[u,d]=h.useState(null);return h.useEffect(()=>{if(!t){o([]),l(!1);return}(async()=>{var g;l(!0),d(null),a(!1);const m=Oe.currentRelays;try{const w=await kj.queryFollowGraph(m,t,e);if((g=w==null?void 0:w.pubkeys_by_depth)!=null&&g.length){o(w.pubkeys_by_depth),a(!0),l(!1);return}const b=await Act(t,e);o(b)}catch(w){console.error("Failed to fetch follow graph:",w),d(w instanceof Error?w:new Error("Unknown error"))}finally{l(!1)}})()},[t,e,n==null?void 0:n.join(",")]),{pubkeysByDepth:r,usedGraphQuery:s,isLoading:i,error:u}}async function Act(t,e){const n=[],r=await Oe.fetchFollowings(t);if(n.push(r),e<2||r.length===0)return n;const o=new Set,s=new Set(r);s.add(t);const a=10;for(let i=0;i<r.length;i+=a){const l=r.slice(i,i+a),u=await Promise.all(l.map(d=>Oe.fetchFollowings(d)));for(const d of u)for(const f of d)s.has(f)||o.add(f)}return n.push(Array.from(o)),n}const cge=h.createContext(void 0),zP=()=>{const t=h.useContext(cge);if(!t)throw new Error("useSocialGraphFilter must be used within a SocialGraphFilterProvider");return t};function _ct({children:t}){const{pubkey:e}=wt(),[n,r]=h.useState(Ze.getSocialGraphProximity()),[o,s]=h.useState(Ze.getSocialGraphIncludeMode()),{pubkeysByDepth:a,isLoading:i}=Ict(n!==null?e:null,n??1),l=h.useMemo(()=>{const g=new Set;if(e&&g.add(e),n&&a.length)for(let w=0;w<n&&w<a.length;w++)a[w].forEach(b=>g.add(b));return g},[e,n,a]),u=l.size,d=h.useCallback(g=>{Ze.setSocialGraphProximity(g),r(g),cr()},[]),f=h.useCallback(g=>{Ze.setSocialGraphIncludeMode(g),s(g),cr()},[]),m=h.useCallback(g=>{if(n===null||i||g===e)return!0;const w=l.has(g);return o?w:!w},[n,i,l,o,e]);return c.jsx(cge.Provider,{value:{proximityLevel:n,includeMode:o,updateProximityLevel:d,updateIncludeMode:f,graphPubkeys:l,graphPubkeyCount:u,isLoading:i,isPubkeyAllowed:m},children:t})}var j2;(function(t){t[t.UP=-1]="UP",t[t.DOWN=1]="DOWN"})(j2||(j2={}));function Mct(t){var e=getComputedStyle(t).overflowY;return t===document.scrollingElement&&e==="visible"?!0:!(e!=="scroll"&&e!=="auto")}function Rct(t,e){if(!Mct(t))return!1;if(e===j2.DOWN){var n=t.scrollTop+t.clientHeight;return n<t.scrollHeight}if(e===j2.UP)return t.scrollTop>0;throw new Error("unsupported direction")}function uge(t,e){return Rct(t,e)?!0:t.parentElement==null?!1:uge(t.parentElement,e)}function fge(t,e){e===void 0&&(e={});var n=e.insertAt;if(!(!t||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}var Tct=`.lds-ellipsis {
2208 display: inline-block;
2209 position: relative;
2210 width: 64px;
2211 height: 64px; }
2212
2213 .lds-ellipsis div {
2214 position: absolute;
2215 top: 27px;
2216 width: 11px;
2217 height: 11px;
2218 border-radius: 50%;
2219 background: #363636;
2220 animation-timing-function: cubic-bezier(0, 1, 1, 0); }
2221
2222 .lds-ellipsis div:nth-child(1) {
2223 left: 6px;
2224 animation: lds-ellipsis1 0.6s infinite; }
2225
2226 .lds-ellipsis div:nth-child(2) {
2227 left: 6px;
2228 animation: lds-ellipsis2 0.6s infinite; }
2229
2230 .lds-ellipsis div:nth-child(3) {
2231 left: 26px;
2232 animation: lds-ellipsis2 0.6s infinite; }
2233
2234 .lds-ellipsis div:nth-child(4) {
2235 left: 45px;
2236 animation: lds-ellipsis3 0.6s infinite; }
2237
2238 @keyframes lds-ellipsis1 {
2239 0% {
2240 transform: scale(0); }
2241 100% {
2242 transform: scale(1); } }
2243
2244 @keyframes lds-ellipsis3 {
2245 0% {
2246 transform: scale(1); }
2247 100% {
2248 transform: scale(0); } }
2249
2250 @keyframes lds-ellipsis2 {
2251 0% {
2252 transform: translate(0, 0); }
2253 100% {
2254 transform: translate(19px, 0); } }
2255 `;fge(Tct);var Dct=function(){return Be.createElement("div",{className:"lds-ellipsis"},Be.createElement("div",null),Be.createElement("div",null),Be.createElement("div",null),Be.createElement("div",null))},Lct=function(){return Be.createElement("div",null,Be.createElement("p",null,"↧ pull to refresh ↧"))},Pct=`.ptr,
2256 .ptr__children {
2257 height: 100%;
2258 width: 100%;
2259 overflow: hidden;
2260 -webkit-overflow-scrolling: touch;
2261 position: relative; }
2262
2263 .ptr.ptr--fetch-more-treshold-breached .ptr__fetch-more {
2264 display: block; }
2265
2266 .ptr__fetch-more {
2267 display: none; }
2268
2269 /**
2270 * Pull down transition
2271 */
2272 .ptr__children,
2273 .ptr__pull-down {
2274 transition: transform 0.2s cubic-bezier(0, 0, 0.31, 1); }
2275
2276 .ptr__pull-down {
2277 position: absolute;
2278 overflow: hidden;
2279 left: 0;
2280 right: 0;
2281 top: 0;
2282 visibility: hidden; }
2283 .ptr__pull-down > div {
2284 display: none; }
2285
2286 .ptr--dragging {
2287 /**
2288 * Hide PullMore content is treshold breached
2289 */
2290 /**
2291 * Otherwize, display content
2292 */ }
2293 .ptr--dragging.ptr--pull-down-treshold-breached .ptr__pull-down--pull-more {
2294 display: none; }
2295 .ptr--dragging .ptr__pull-down--pull-more {
2296 display: block; }
2297
2298 .ptr--pull-down-treshold-breached {
2299 /**
2300 * Force opacity to 1 is pull down trashold breached
2301 */
2302 /**
2303 * And display loader
2304 */ }
2305 .ptr--pull-down-treshold-breached .ptr__pull-down {
2306 opacity: 1 !important; }
2307 .ptr--pull-down-treshold-breached .ptr__pull-down--loading {
2308 display: block; }
2309
2310 .ptr__loader {
2311 margin: 0 auto;
2312 text-align: center; }
2313 `;fge(Pct);var dge=function(t){var e=t.isPullable,n=e===void 0?!0:e,r=t.canFetchMore,o=r===void 0?!1:r,s=t.onRefresh,a=t.onFetchMore,i=t.refreshingContent,l=i===void 0?Be.createElement(Dct,null):i,u=t.pullingContent,d=u===void 0?Be.createElement(Lct,null):u,f=t.children,m=t.pullDownThreshold,g=m===void 0?67:m,w=t.fetchMoreThreshold,b=w===void 0?100:w,j=t.maxPullDownDistance,S=j===void 0?95:j,I=t.resistance,N=I===void 0?1:I,M=t.backgroundColor,D=t.className,P=D===void 0?"":D,L=h.useRef(null),F=h.useRef(null),T=h.useRef(null),R=h.useRef(null),z=!1,G=!1,Z=!1,W=0,U=0;h.useEffect(function(){if(!(!n||!F||!F.current)){var ne=F.current;return ne.addEventListener("touchstart",H,{passive:!0}),ne.addEventListener("mousedown",H),ne.addEventListener("touchmove",Y,{passive:!1}),ne.addEventListener("mousemove",Y),window.addEventListener("scroll",q),ne.addEventListener("touchend",J),ne.addEventListener("mouseup",J),document.body.addEventListener("mouseleave",J),function(){ne.removeEventListener("touchstart",H),ne.removeEventListener("mousedown",H),ne.removeEventListener("touchmove",Y),ne.removeEventListener("mousemove",Y),window.removeEventListener("scroll",q),ne.removeEventListener("touchend",J),ne.removeEventListener("mouseup",J),document.body.removeEventListener("mouseleave",J)}}},[f,n,s,g,S,o,b]),h.useEffect(function(){var ne;if(!((ne=L)===null||ne===void 0)&&ne.current){var re=L.current.classList.contains("ptr--fetch-more-treshold-breached");re||o&&ee()<b&&a&&(L.current.classList.add("ptr--fetch-more-treshold-breached"),G=!0,a().then($).catch($))}},[o,f]);var ee=function(){if(!F||!F.current)return-1;var ne=window.scrollY,re=F.current.scrollHeight;return re-ne-window.innerHeight},$=function(){requestAnimationFrame(function(){F.current&&(F.current.style.overflowX="hidden",F.current.style.overflowY="auto",F.current.style.transform="unset"),T.current&&(T.current.style.opacity="0"),L.current&&(L.current.classList.remove("ptr--pull-down-treshold-breached"),L.current.classList.remove("ptr--dragging"),L.current.classList.remove("ptr--fetch-more-treshold-breached")),z&&(z=!1),G&&(G=!1)})},H=function(ne){Z=!1,ne instanceof MouseEvent&&(W=ne.pageY),window.TouchEvent&&ne instanceof TouchEvent&&(W=ne.touches[0].pageY),U=W,!(ne.type==="touchstart"&&uge(ne.target,j2.UP))&&(F.current.getBoundingClientRect().top<0||(Z=!0))},Y=function(ne){if(Z){if(window.TouchEvent&&ne instanceof TouchEvent?U=ne.touches[0].pageY:U=ne.pageY,L.current.classList.add("ptr--dragging"),U<W){Z=!1;return}ne.cancelable&&ne.preventDefault();var re=Math.min((U-W)/N,S);re>=g&&(Z=!0,z=!0,L.current.classList.remove("ptr--dragging"),L.current.classList.add("ptr--pull-down-treshold-breached")),!(re>=S)&&(T.current.style.opacity=(re/65).toString(),F.current.style.overflow="visible",F.current.style.transform="translate(0px, "+re+"px)",T.current.style.visibility="visible")}},q=function(ne){G||o&&ee()<b&&a&&(G=!0,L.current.classList.add("ptr--fetch-more-treshold-breached"),a().then($).catch($))},J=function(){if(Z=!1,W=0,U=0,!z){T.current&&(T.current.style.visibility="hidden"),$();return}F.current&&(F.current.style.overflow="visible",F.current.style.transform="translate(0px, "+g+"px)"),s().then($).catch($)};return Be.createElement("div",{className:"ptr "+P,style:{backgroundColor:M},ref:L},Be.createElement("div",{className:"ptr__pull-down",ref:T},Be.createElement("div",{className:"ptr__loader ptr__pull-down--loading"},l),Be.createElement("div",{className:"ptr__pull-down--pull-more"},d)),Be.createElement("div",{className:"ptr__children",ref:F},f,Be.createElement("div",{className:"ptr__fetch-more",ref:R},Be.createElement("div",{className:"ptr__loader ptr__fetch-more--loading"},l))))};function Oct({event:t,className:e,filterMutedNotes:n=!0,pinned:r=!1,reposters:o,navColumn:s,navIndex:a}){const{mutePubkeySet:i}=ns(),{hideContentMentioningMutedUsers:l}=Qr(),[u,d]=h.useState(null),f=h.useMemo(()=>!!(!u||n&&i.has(u.pubkey)||l&&Xu(u,i)),[u,n,l,i]);return h.useEffect(()=>{(async()=>{let g=null;if(t.content)try{g=JSON.parse(t.content)}catch{g=null}if(g&&Py(g)){if(g.kind===$e.Repost||g.kind===$e.GenericRepost)return;Oe.addEventToCache(g),Oe.getSeenEventRelays(g.id).length===0&&Oe.getSeenEventRelays(t.id).forEach(N=>{Oe.trackEventSeenOn(g.id,N)}),d(g);return}let w;const b=t.tags.find(In("a"));if(b)w=eh(b);else{const S=t.tags.find(In("e"));S&&(w=nc(S))}if(!w)return;const j=await Oe.fetchEvent(w);j&&d(j)})()},[t]),!u||f?null:c.jsx(LP,{className:e,reposters:o!=null&&o.includes(t.pubkey)?o:[t.pubkey],event:u,pinned:r,navColumn:s,navIndex:a})}function LE({event:t,className:e,filterMutedNotes:n=!0,pinned:r=!1,reposters:o,navColumn:s,navIndex:a}){const{mutePubkeySet:i}=ns(),{hideContentMentioningMutedUsers:l,nsfwDisplayPolicy:u}=Qr();return h.useMemo(()=>!!(n&&i.has(t.pubkey)||l&&Xu(t,i)||u===Ul.HIDE&&Nee(t)),[t,n,i,u])?null:t.kind===$e.Repost||t.kind===$e.GenericRepost?c.jsx(Oct,{event:t,className:e,filterMutedNotes:n,pinned:r,reposters:o,navColumn:s,navIndex:a}):c.jsx(LP,{event:t,className:e,pinned:r,reposters:o,navColumn:s,navIndex:a})}function Tx({className:t}){return c.jsxs("div",{className:Te("px-4 py-3",t),children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Dn,{className:"w-10 h-10 rounded-full"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:"h-4 w-16"})}),c.jsx("div",{className:"py-0.5",children:c.jsx(Dn,{className:"h-4 w-12"})})]})]}),c.jsxs("div",{className:"pt-2",children:[c.jsx("div",{className:"my-1",children:c.jsx(Dn,{className:"w-full h-4 my-1 mt-2"})}),c.jsx("div",{className:"my-1",children:c.jsx(Dn,{className:"w-2/3 h-4 my-1"})})]})]})}function zct({count:t,onClick:e}){const{t:n}=Ke();return t<=0?null:c.jsx("div",{className:"sticky top-[calc(6rem+1px)] z-40 flex justify-center pointer-events-none",children:c.jsxs(Pe,{onClick:e,variant:"secondary",className:"rounded-full h-8 px-3 gap-1.5 shadow-md pointer-events-auto",size:"sm",children:[c.jsx(Fse,{className:"size-3.5"}),c.jsx("span",{className:"text-sm",children:n("n new notes above",{n:t>99?"99+":t})})]})})}function Fct({eventId:t,className:e}){const{event:n,isFetching:r}=cl(t);return r?c.jsx(Tx,{className:"border-b"}):n?c.jsx(LE,{event:n,className:e,pinned:!0}):null}const JK=200,Bct=500,Uct=10,a1=h.forwardRef(({subRequests:t,showKinds:e,filterMutedNotes:n=!0,hideReplies:r=!1,hideUntrustedNotes:o=!1,hideSpam:s=!1,areAlgoRelays:a=!1,showRelayCloseReason:i=!1,pinnedEventIds:l,filterFn:u,showNewNotesDirectly:d=!1,navColumn:f=1,applySocialGraphFilter:m=!1,onInitialLoad:g},w)=>{const{t:b}=Ke(),{startLogin:j}=wt(),{isUserTrusted:S,isSpammer:I}=$s(),{mutePubkeySet:N}=ns(),{hideContentMentioningMutedUsers:M}=Qr(),{isEventDeleted:D}=CL(),{isPubkeyAllowed:P}=zP(),{autoInsertNewNotes:L}=ts(),{offsetSelection:F,registerLoadMore:T,unregisterLoadMore:R}=ii(),z=d||L,[G,Z]=h.useState([]),[W,U]=h.useState([]),[ee,$]=h.useState(!1),[H,Y]=h.useState(void 0),[q,J]=h.useState([]),[ne,re]=h.useState([]),[de,Ee]=h.useState(0),[we,xe]=h.useState(0),ce=h.useMemo(()=>uu(),[]),pe=h.useRef(null),he=h.useRef(G);he.current=G;const ke=h.useRef(0),le=h.useRef(!0),ye=h.useRef([]),ve=h.useRef(z);ve.current=z;const Ie=h.useRef(g);Ie.current=g;const Ve=h.useCallback(at=>{const De=new Set;return l==null||l.forEach(se=>{try{const{type:K,data:Q}=Fie(se);K==="nevent"&&De.add(Q.id)}catch{}}),!!(De.has(at.id)||D(at)||o&&!S(at.pubkey)||n&&N.has(at.pubkey)||n&&M&&Xu(at,N)||u&&!u(at)||m&&!P(at.pubkey))},[o,n,N,M,JSON.stringify(l),D,u,m,P]);h.useEffect(()=>{const at=new Set,De=new Map,se=[],K=[];G.forEach(ie=>{const Se=Qo(ie);if(at.has(Se)||(at.add(Se),Ve(ie))||r&&E_(ie))return;if(ie.kind!==$e.Repost&&ie.kind!==$e.GenericRepost){se.push(ie),K.push(Se);return}let Me,Ce=null;const me=ie.tags.find(In("a"))??ie.tags.find(In("e"));if(me)Me=xC(me);else{if(ie.content)try{Ce=JSON.parse(ie.content)}catch{Ce=null}if(Ce){if(Ce.kind===$e.Repost||Ce.kind===$e.GenericRepost||Ve(ie))return;Me=Qo(Ce)}}if(Me){const We=De.get(Me);We?We.add(ie.pubkey):De.set(Me,new Set([ie.pubkey])),at.has(Me)||(se.push(ie),K.push(Me),at.add(Me))}});const Q=se.map((ie,Se)=>{const Me=K[Se];return{key:Me,event:ie,reposters:Array.from(De.get(Me)??[])}});if(J(Q),s){let ie=!1;return(async()=>{const Se=await Promise.all(Q.map(async Ce=>await I(Ce.event.pubkey)?Ce.key:null));if(ie)return;const Me=new Set(Se.filter(Boolean));Me.size>0&&J(Ce=>Ce.filter(me=>!Me.has(me.key)))})(),()=>{ie=!0}}},[G,Ve,r,I,s]),h.useEffect(()=>{(async()=>{const De=new Set,se=[];W.forEach(Q=>{if(Ve(Q)||r&&E_(Q))return;const ie=Qo(Q);De.has(ie)||(De.add(ie),se.push(Q))});const K=(await Promise.all(se.map(async Q=>s&&await I(Q.pubkey)?null:Q))).filter(Boolean);re(K)})()},[W,Ve,I,s]);const Qe=(at="instant")=>{setTimeout(()=>{var De;(De=pe.current)==null||De.scrollIntoView({behavior:at,block:"start"})},20)},nt=()=>{Qe(),setTimeout(()=>{Ee(at=>at+1)},500)};h.useImperativeHandle(w,()=>({scrollToTop:Qe,refresh:nt}),[]),h.useEffect(()=>{var se;if(!t.length){(se=Ie.current)==null||se.call(Ie);return}async function at(){if($(!0),Z([]),U([]),ye.current=[],(e==null?void 0:e.length)===0&&t.every(({filter:Se})=>!Se.kinds))return()=>{};const K=await Promise.all(t.map(async({urls:Se,filter:Me})=>({urls:Se.length?Se:await Oe.determineRelaysByFilter(Me),filter:{kinds:e??[],...Me,limit:a?Bct:JK}}))),{closer:Q,timelineKey:ie}=await Oe.subscribeTimeline(K,{onEvents:(Se,Me)=>{var Ce,me;Se.length>0&&(Z(Se),$(!1),(Ce=Ie.current)==null||Ce.call(Ie)),Me&&(dl.addRepliesToThread(Se),$(!1),(me=Ie.current)==null||me.call(Ie))},onNew:Se=>{ve.current?le.current?Z(Me=>Me.some(Ce=>Ce.id===Se.id)?Me:[Se,...Me]):(ye.current.some(Me=>Me.id===Se.id)||(ye.current=[Se,...ye.current]),xe(Me=>Me+1)):U(Me=>[Se,...Me].sort((Ce,me)=>me.created_at-Ce.created_at)),dl.addRepliesToThread([Se])},onClose:(Se,Me)=>{i&&(["closed by caller","relay connection errored","relay connection closed","pingpong timed out","relay connection closed by us"].includes(Me)||on.error(`${Se}: ${Me}`))}},{startLogin:j,needSort:!a});return Y(ie),Q}const De=at();return()=>{De.then(K=>K())}},[JSON.stringify(t),de,JSON.stringify(e)]);const Ue=h.useCallback(async()=>{if(!H||a)return!1;const at=he.current,De=await Oe.loadMoreTimeline(H,at.length?at[at.length-1].created_at-1:En().unix(),JK);return De.length===0?(ke.current++,ke.current>=3?(ke.current=0,!1):!0):(ke.current=0,Z(se=>[...se,...De]),!0)},[H,a]),{visibleItems:qe,shouldShowLoadingIndicator:_e,bottomRef:et}=kie({items:q,showCount:Uct,onLoadMore:Ue,initialLoading:ee});h.useEffect(()=>(T(f,Ue),()=>R(f)),[f,Ue,T,R]),h.useEffect(()=>{const at=pe.current;if(!at)return;const De=new IntersectionObserver(([se])=>{const K=se.isIntersecting;if(le.current=K,K&&(xe(0),ye.current.length>0)){const Q=[...ye.current];ye.current=[],Z(ie=>{const Se=new Set(ie.map(Ce=>Ce.id));return[...Q.filter(Ce=>!Se.has(Ce.id)),...ie]})}},{threshold:0});return De.observe(at),()=>De.disconnect()},[]);const pt=h.useCallback(()=>{ne.length!==0&&(F(f,ne.length),Z(at=>[...W,...at]),U([]),setTimeout(()=>{Qe("smooth")},0))},[ne.length,f,W,F]);h.useEffect(()=>{const at=De=>{De.shiftKey&&De.key==="Enter"&&ne.length>0&&(De.preventDefault(),pt())};return window.addEventListener("keydown",at),()=>window.removeEventListener("keydown",at)},[pt,ne.length]);const ht=c.jsxs("div",{className:"min-h-screen",children:[l==null?void 0:l.map(at=>c.jsx(Fct,{eventId:at,className:"w-full"},at)),qe.map(({key:at,event:De,reposters:se},K)=>c.jsx(LE,{className:"w-full",event:De,filterMutedNotes:n,reposters:se,navColumn:f,navIndex:K},at)),c.jsx("div",{ref:et}),_e||ee?c.jsx(Tx,{}):G.length?c.jsx("div",{className:"text-center text-sm text-muted-foreground mt-2",children:b("no more notes")}):c.jsx("div",{className:"flex justify-center w-full mt-2",children:c.jsx(Pe,{size:"lg",onClick:()=>Ee(at=>at+1),children:b("Reload")})})]});return c.jsxs("div",{children:[c.jsx("div",{ref:pe,className:"scroll-mt-[calc(6rem+1px)]"}),z&&c.jsx(zct,{count:we,onClick:()=>Qe("smooth")}),ce?c.jsx(dge,{onRefresh:async()=>{nt(),await new Promise(at=>setTimeout(at,1e3))},pullingContent:"",children:ht}):ht,c.jsx("div",{className:"h-20"}),!z&&ne.length>0&&c.jsx(Nct,{newEvents:ne,onClick:pt})]})});a1.displayName="NoteList";const pge=h.createContext(void 0),hge=()=>{const t=h.useContext(pge);if(!t)throw new Error("useDeepBrowsing must be used within a DeepBrowsingProvider");return t};function Hj({children:t,active:e,scrollAreaRef:n}){var d;const[r,o]=h.useState(!1),s=h.useRef((n?(d=n.current)==null?void 0:d.scrollTop:window.scrollY)||0),[a,i]=h.useState(s.current),l=h.useRef(0),u=h.useCallback(()=>{l.current||(l.current=requestAnimationFrame(()=>{var g;l.current=0;const f=(n?(g=n.current)==null?void 0:g.scrollTop:window.scrollY)||0,m=f-s.current;if(s.current=f,i(f),f<=800){o(!1);return}m>20?o(!0):m<-20&&o(!1)}))},[n]);return h.useEffect(()=>{if(!e)return;const f=n?n.current:window;return f==null||f.addEventListener("scroll",u),()=>{f==null||f.removeEventListener("scroll",u),l.current&&(cancelAnimationFrame(l.current),l.current=0)}},[e,u]),c.jsx(pge.Provider,{value:{deepBrowsing:r,lastScrollTop:a},children:t})}function Dx({tabs:t,value:e,onTabChange:n,threshold:r=800,options:o=null}){const{t:s}=Ke(),{deepBrowsing:a,lastScrollTop:i}=hge(),l=h.useRef([]),u=h.useRef(null),[d,f]=h.useState({width:0,left:0}),m=()=>{const g=t.findIndex(w=>w.value===e);if(g>=0&&l.current[g]){const w=l.current[g],{offsetWidth:b,offsetLeft:j}=w,S=24;f({width:b-S,left:j+S/2})}};return h.useEffect(()=>{const g=requestAnimationFrame(()=>{m()});return()=>{cancelAnimationFrame(g)}},[t,e]),h.useEffect(()=>{if(!u.current)return;const g=new ResizeObserver(()=>{m()}),w=new IntersectionObserver(b=>{b.forEach(j=>{j.isIntersecting&&requestAnimationFrame(()=>{m()})})},{threshold:0});return w.observe(u.current),l.current.forEach(b=>{b&&g.observe(b)}),()=>{g.disconnect(),w.disconnect()}},[t,e]),c.jsxs("div",{ref:u,className:Te("sticky flex justify-between top-12 bg-background z-30 px-1 w-full transition-all duration-300 border-b",a&&i>r?"-translate-y-[calc(100%+12rem)]":""),children:[c.jsxs(Fa,{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex w-fit relative",children:[t.map((g,w)=>c.jsx("div",{ref:b=>l.current[w]=b,className:Te("w-fit text-center py-2 px-6 my-1 font-semibold whitespace-nowrap clickable cursor-pointer rounded-xl transition-all duration-200",e===g.value?"text-foreground":"text-muted-foreground hover:text-foreground"),onClick:()=>{n==null||n(g.value)},children:s(g.label)},g.value)),c.jsx("div",{className:"absolute bottom-0 h-1 bg-gradient-to-r from-primary to-primary-hover rounded-full transition-all duration-300",style:{width:`${d.width}px`,left:`${d.left}px`}})]}),c.jsx(Ed,{orientation:"horizontal",className:"opacity-0 pointer-events-none"})]}),o&&c.jsx("div",{className:"py-1 flex items-center",children:o})]})}const mge=h.createContext(void 0),Wj=()=>{const t=h.useContext(mge);if(!t)throw new Error("useKindFilter must be used within a KindFilterProvider");return t};function $ct({children:t}){const[e,n]=h.useState(Ze.getShowKinds()),r=o=>{Ze.setShowKinds(o),n(o),cr()};return c.jsx(mge.Provider,{value:{showKinds:e,updateShowKinds:r},children:t})}var PE="Checkbox",[Vct]=Nh(PE),[Hct,FP]=Vct(PE);function Wct(t){const{__scopeCheckbox:e,checked:n,children:r,defaultChecked:o,disabled:s,form:a,name:i,onCheckedChange:l,required:u,value:d="on",internal_do_not_use_render:f}=t,[m,g]=Kg({prop:n,defaultProp:o??!1,onChange:l,caller:PE}),[w,b]=h.useState(null),[j,S]=h.useState(null),I=h.useRef(!1),N=w?!!a||!!w.closest("form"):!0,M={checked:m,disabled:s,setChecked:g,control:w,setControl:b,name:i,form:a,value:d,hasConsumerStoppedPropagationRef:I,required:u,defaultChecked:Qp(o)?!1:o,isFormControl:N,bubbleInput:j,setBubbleInput:S};return c.jsx(Hct,{scope:e,...M,children:Yct(f)?f(M):r})}var gge="CheckboxTrigger",yge=h.forwardRef(({__scopeCheckbox:t,onKeyDown:e,onClick:n,...r},o)=>{const{control:s,value:a,disabled:i,checked:l,required:u,setControl:d,setChecked:f,hasConsumerStoppedPropagationRef:m,isFormControl:g,bubbleInput:w}=FP(gge,t),b=la(o,d),j=h.useRef(l);return h.useEffect(()=>{const S=s==null?void 0:s.form;if(S){const I=()=>f(j.current);return S.addEventListener("reset",I),()=>S.removeEventListener("reset",I)}},[s,f]),c.jsx(vs.button,{type:"button",role:"checkbox","aria-checked":Qp(l)?"mixed":l,"aria-required":u,"data-state":kge(l),"data-disabled":i?"":void 0,disabled:i,value:a,...r,ref:b,onKeyDown:fl(e,S=>{S.key==="Enter"&&S.preventDefault()}),onClick:fl(n,S=>{f(I=>Qp(I)?!0:!I),w&&g&&(m.current=S.isPropagationStopped(),m.current||S.stopPropagation())})})});yge.displayName=gge;var BP=h.forwardRef((t,e)=>{const{__scopeCheckbox:n,name:r,checked:o,defaultChecked:s,required:a,disabled:i,value:l,onCheckedChange:u,form:d,...f}=t;return c.jsx(Wct,{__scopeCheckbox:n,checked:o,defaultChecked:s,disabled:i,required:a,onCheckedChange:u,name:r,form:d,value:l,internal_do_not_use_render:({isFormControl:m})=>c.jsxs(c.Fragment,{children:[c.jsx(yge,{...f,ref:e,__scopeCheckbox:n}),m&&c.jsx(xge,{__scopeCheckbox:n})]})})});BP.displayName=PE;var vge="CheckboxIndicator",wge=h.forwardRef((t,e)=>{const{__scopeCheckbox:n,forceMount:r,...o}=t,s=FP(vge,n);return c.jsx(uE,{present:r||Qp(s.checked)||s.checked===!0,children:c.jsx(vs.span,{"data-state":kge(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:e,style:{pointerEvents:"none",...t.style}})})});wge.displayName=vge;var bge="CheckboxBubbleInput",xge=h.forwardRef(({__scopeCheckbox:t,...e},n)=>{const{control:r,hasConsumerStoppedPropagationRef:o,checked:s,defaultChecked:a,required:i,disabled:l,name:u,value:d,form:f,bubbleInput:m,setBubbleInput:g}=FP(bge,t),w=la(n,g),b=PL(s),j=OL(r);h.useEffect(()=>{const I=m;if(!I)return;const N=window.HTMLInputElement.prototype,D=Object.getOwnPropertyDescriptor(N,"checked").set,P=!o.current;if(b!==s&&D){const L=new Event("click",{bubbles:P});I.indeterminate=Qp(s),D.call(I,Qp(s)?!1:s),I.dispatchEvent(L)}},[m,b,s,o]);const S=h.useRef(Qp(s)?!1:s);return c.jsx(vs.input,{type:"checkbox","aria-hidden":!0,defaultChecked:a??S.current,required:i,disabled:l,name:u,value:d,form:f,...e,tabIndex:-1,ref:w,style:{...e.style,...j,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});xge.displayName=bge;function Yct(t){return typeof t=="function"}function Qp(t){return t==="indeterminate"}function kge(t){return Qp(t)?"indeterminate":t?"checked":"unchecked"}const Lx=h.forwardRef(({className:t,...e},n)=>c.jsx(BP,{ref:n,className:Te("peer h-4 w-4 shrink-0 rounded-md border border-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground transition-all duration-200 hover:border-primary/50",t),...e,children:c.jsx(wge,{className:Te("flex items-center justify-center text-current"),children:c.jsx(Zr,{className:"h-4 w-4"})})}));Lx.displayName=BP.displayName;const Gct={1:"Direct follows",2:"Follows of follows"};function qct({temporaryProximity:t,temporaryIncludeMode:e,onTemporaryProximityChange:n,onTemporaryIncludeModeChange:r}){const{t:o}=Ke(),{graphPubkeyCount:s,isLoading:a}=zP(),i=t!==null,l=t??1,u=m=>{n(m?1:null)},d=()=>{l<2&&n(l+1)},f=()=>{l>1&&n(l-1)};return c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx(_t,{htmlFor:"social-graph-filter",className:"font-medium",children:o("Social graph filter")}),c.jsx(lr,{id:"social-graph-filter",checked:i,onCheckedChange:u})]}),i&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pe,{variant:e?"default":"outline",size:"sm",className:"flex-1",onClick:()=>r(!0),children:o("Include")}),c.jsx(Pe,{variant:e?"outline":"default",size:"sm",className:"flex-1",onClick:()=>r(!1),children:o("Exclude")})]}),c.jsxs("div",{className:"flex items-center justify-between rounded-lg border px-3 py-2",children:[c.jsxs("div",{className:"flex-1",children:[c.jsx("p",{className:"text-sm font-medium",children:o(Gct[l])}),c.jsx("p",{className:"text-xs text-muted-foreground",children:a?c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx(ao,{className:"h-3 w-3 animate-spin"}),o("Loading...")]}):o("{{count}} users",{count:s})})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Pe,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:f,disabled:l<=1,children:c.jsx(T7e,{className:"h-4 w-4"})}),c.jsx("span",{className:"w-6 text-center text-sm font-medium",children:l}),c.jsx(Pe,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:d,disabled:l>=2,children:c.jsx(Xc,{className:"h-4 w-4"})})]})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:o(e?"Only show notes from users in your social graph":"Hide notes from users in your social graph")})]})]})}const jge=[{kindGroup:[$e.ShortTextNote,gt.COMMENT],label:"Posts"},{kindGroup:[$e.Repost,$e.GenericRepost],label:"Reposts"},{kindGroup:[$e.LongFormArticle],label:"Articles"},{kindGroup:[$e.Highlights],label:"Highlights"},{kindGroup:[gt.POLL],label:"Polls"},{kindGroup:[gt.VOICE,gt.VOICE_COMMENT],label:"Voice Posts"},{kindGroup:[gt.PICTURE],label:"Photo Posts"},{kindGroup:[gt.VIDEO,gt.SHORT_VIDEO,gt.ADDRESSABLE_NORMAL_VIDEO,gt.ADDRESSABLE_SHORT_VIDEO],label:"Video Posts"}],Kct=jge.flatMap(({kindGroup:t})=>t);function Cge({showKinds:t,onShowKindsChange:e,showSocialGraphFilter:n=!1}){const{t:r}=Ke(),{isSmallScreen:o}=gn(),{showKinds:s}=Wj(),{proximityLevel:a,includeMode:i,updateProximityLevel:l,updateIncludeMode:u}=zP(),[d,f]=h.useState(!1),{updateShowKinds:m}=Wj(),[g,w]=h.useState(t),[b,j]=h.useState(a),[S,I]=h.useState(i),[N,M]=h.useState(!1),D=h.useMemo(()=>!g5(t,s)||n&&a!==null,[t,s,a,n]),P=h.useMemo(()=>!g5(g,s),[g,s]);h.useEffect(()=>{w(t),j(a),I(i),M(!1)},[d,a,i]);const L=()=>{if(g.length===0)return;const R=[...g].sort();g5(R,t)||e(R),n&&(b!==a&&l(b),S!==i&&u(S)),N&&m(R),M(!1),f(!1)},F=c.jsxs(Pe,{variant:"ghost",size:"titlebar-icon",className:Te("relative w-fit px-3 hover:text-foreground",!D&&"text-muted-foreground"),onClick:()=>{o&&f(!0)},children:[c.jsx(A7e,{size:16}),D&&c.jsx("div",{className:"absolute size-2 rounded-full bg-primary left-7 top-2 ring-2 ring-background"})]}),T=c.jsxs("div",{children:[c.jsx("div",{className:"grid grid-cols-2 gap-2",children:jge.map(({kindGroup:R,label:z})=>{const G=R.every(Z=>g.includes(Z));return c.jsxs("div",{className:Te("cursor-pointer grid gap-1.5 rounded-lg border px-4 py-3",G?"border-primary/60 bg-primary/5":"clickable"),onClick:()=>{w(G?Z=>Z.filter(W=>!R.includes(W)):Z=>Array.from(new Set([...Z,...R])))},children:[c.jsx("p",{className:"leading-none font-medium",children:r(z)}),c.jsxs("p",{className:"text-muted-foreground text-xs",children:["kind ",R.join(", ")]})]},z)})}),c.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-4",children:[c.jsx(Pe,{variant:"secondary",onClick:()=>{w(Kct)},children:r("Select All")}),c.jsx(Pe,{variant:"secondary",onClick:()=>{w([])},children:r("Clear All")}),c.jsx(Pe,{variant:"secondary",onClick:()=>w(s),disabled:!P,children:r("Reset")})]}),n&&c.jsxs(c.Fragment,{children:[c.jsx(ri,{className:"my-4"}),c.jsx(qct,{temporaryProximity:b,temporaryIncludeMode:S,onTemporaryProximityChange:j,onTemporaryIncludeModeChange:I})]}),c.jsxs(_t,{className:"flex items-center gap-2 cursor-pointer mt-4",children:[c.jsx(Lx,{id:"persistent-filter",checked:N,onCheckedChange:R=>M(!!R)}),c.jsx("span",{className:"text-sm",children:r("Set as default filter")})]}),c.jsx(Pe,{onClick:L,className:"mt-4 w-full",disabled:g.length===0,children:r("Apply")})]});return o?c.jsxs(c.Fragment,{children:[F,c.jsxs(io,{open:d,onOpenChange:f,children:[c.jsx(Sh,{asChild:!0}),c.jsxs(lo,{className:"px-4",children:[c.jsx(wf,{}),T]})]})]}):c.jsxs(ME,{open:d,onOpenChange:f,children:[c.jsx(rge,{asChild:!0,children:F}),c.jsx(RE,{className:"w-96",collisionPadding:16,sideOffset:0,children:T})]})}function g5(t,e){if(t.length!==e.length)return!1;const n=[...t].sort(),r=[...e].sort();return n.every((o,s)=>o===r[s])}function UP({onClick:t}){const[e,n]=h.useState(!1);return c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",disabled:e,onClick:()=>{n(!0),t(),setTimeout(()=>n(!1),500)},className:"text-muted-foreground focus:text-foreground [&_svg]:size-4",children:c.jsx(aae,{className:Te(e?"animate-spin":"")})})}function sd({subRequests:t,areAlgoRelays:e=!1,isMainFeed:n=!1,showRelayCloseReason:r=!1,enableSocialGraphFilter:o=!1,onRefresh:s,onInitialLoad:a}){const{hideUntrustedNotes:i}=$s(),{showKinds:l}=Wj(),{composeOpen:u,closeCompose:d}=IL(),[f,m]=h.useState(l),[g,w]=h.useState(()=>{const D=Ze.getNoteListMode();return D==="posts"||D==="24h"?"postsAndReplies":D}),b=h.useMemo(()=>uu(),[]),j=h.useRef(null),S=h.useRef(null),I=h.useMemo(()=>t.every(D=>{var P;return!((P=D.filter.kinds)!=null&&P.length)}),[t]),N=D=>{var P;w(D),n&&(Ze.setNoteListMode(D),cr()),(P=S.current)==null||P.scrollIntoView({behavior:"smooth",block:"start"})},M=D=>{var P;m(D),(P=j.current)==null||P.scrollToTop()};return c.jsxs(c.Fragment,{children:[c.jsx(Dx,{value:g,tabs:[{value:"postsAndReplies",label:"Feed"}],onTabChange:D=>{N(D)},options:c.jsxs(c.Fragment,{children:[!b&&c.jsx(UP,{onClick:()=>{var D;if(s){s();return}(D=j.current)==null||D.refresh()}}),I&&c.jsx(Cge,{showKinds:f,onShowKindsChange:M,showSocialGraphFilter:o})]})}),u&&c.jsx(r1,{inline:!0,open:u,setOpen:D=>{D||d()}}),c.jsx("div",{ref:S,className:"scroll-mt-[calc(6rem+1px)]"}),c.jsx(a1,{ref:j,showKinds:f,subRequests:t,hideReplies:g==="posts",hideUntrustedNotes:i,areAlgoRelays:e,showRelayCloseReason:r,applySocialGraphFilter:o,onInitialLoad:a})]})}function Zct({pubkey:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{pubkey:r}=wt(),{mutePubkeySet:o,mutePubkeyPrivately:s,mutePubkeyPublicly:a,unmutePubkey:i}=ns(),[l,u]=h.useState(!1),d=h.useMemo(()=>o.has(t),[o,t]);if(t===r)return null;const f=c.jsx(Pe,{variant:"secondary",size:"icon",className:"rounded-full",onClick:()=>{n&&u(!0)},children:c.jsx(bS,{})});return n?c.jsxs(c.Fragment,{children:[f,c.jsxs(io,{open:l,onOpenChange:u,children:[c.jsx(cc,{onClick:()=>u(!1)}),c.jsx(lo,{hideOverlay:!0,children:c.jsxs("div",{className:"py-2",children:[c.jsxs(Pe,{onClick:()=>{var m;u(!1),navigator.clipboard.writeText(((m=Vt.tryFromString(t))==null?void 0:m.npub)??"")},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(La,{}),e("Copy user ID")]}),r?d?c.jsxs(Pe,{onClick:()=>{u(!1),i(t)},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 text-destructive focus:text-destructive",variant:"ghost",children:[c.jsx(my,{}),e("Unmute user")]}):c.jsxs(c.Fragment,{children:[c.jsxs(Pe,{onClick:()=>{u(!1),s(t)},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 text-destructive focus:text-destructive",variant:"ghost",children:[c.jsx(Vu,{}),e("Mute user privately")]}),c.jsxs(Pe,{onClick:()=>{u(!1),a(t)},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 text-destructive focus:text-destructive",variant:"ghost",children:[c.jsx(Vu,{}),e("Mute user publicly")]})]}):null]})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:f}),c.jsxs(ci,{children:[c.jsxs(Er,{onClick:()=>{var m;return navigator.clipboard.writeText(((m=Vt.tryFromString(t))==null?void 0:m.npub)??"")},children:[c.jsx(La,{}),e("Copy user ID")]}),r?d?c.jsxs(Er,{onClick:()=>i(t),className:"text-destructive focus:text-destructive",children:[c.jsx(my,{}),e("Unmute user")]}):c.jsxs(c.Fragment,{children:[c.jsxs(Er,{onClick:()=>s(t),className:"text-destructive focus:text-destructive",children:[c.jsx(Vu,{}),e("Mute user privately")]}),c.jsxs(Er,{onClick:()=>a(t),className:"text-destructive focus:text-destructive",children:[c.jsx(Vu,{}),e("Mute user publicly")]})]}):null]})]})}function Qct({pubkey:t}){const{checkLogin:e}=wt(),[n,r]=h.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsx(Pe,{variant:"secondary",size:"icon",className:"rounded-full",onClick:()=>e(()=>r(!0)),children:c.jsx(lc,{className:"text-yellow-400"})}),c.jsx(TE,{open:n,setOpen:r,pubkey:t})]})}function Sge({pubkey:t}){const e=h.useMemo(()=>Vt.tryFromString(t),[t]),n=(e==null?void 0:e.npub)??"",[r,o]=h.useState(!1),s=()=>{n&&(navigator.clipboard.writeText(n),o(!0),setTimeout(()=>o(!1),2e3))};return c.jsxs("div",{className:"flex gap-2 text-sm text-muted-foreground items-center bg-muted w-fit px-2 rounded-full clickable",onClick:()=>s(),children:[c.jsx("div",{children:(e==null?void 0:e.formatNpub(24))??n}),r?c.jsx(Zr,{size:14}):c.jsx(La,{size:14})]})}function $P(){const{t}=Ke();return c.jsxs("div",{className:"text-muted-foreground w-full h-full flex flex-col items-center justify-center gap-2",children:[c.jsxs("div",{children:[t("Lost in the void")," 🌌"]}),c.jsx("div",{children:"(404)"})]})}function Jct({userId:t}){const{profile:e}=ua(t),n=h.useMemo(()=>e!=null&&e.pubkey?lx(e.pubkey):"",[e]);if(!e)return c.jsx(Dn,{className:"shrink-0 w-24 h-24 rounded-full absolute left-3 bottom-0 translate-y-1/2 border-4 border-background"});const{avatar:r,pubkey:o}=e||{};return c.jsx(Ag,{image:{url:r??n,pubkey:o},errorPlaceholder:n,className:"object-cover object-center",classNames:{wrapper:"shrink-0 rounded-full bg-background w-24 h-24 absolute left-3 bottom-0 translate-y-1/2 border-4 border-background"},ignoreAutoLoadPolicy:!0})}function Xct({pubkey:t,banner:e}){const n=h.useMemo(()=>lx(t),[t]),[r,o]=h.useState(e??n);return h.useEffect(()=>{o(e||n)},[n,e]),c.jsx(Ag,{image:{url:r,pubkey:t},className:"rounded-none w-full aspect-[3/1]",classNames:{skeleton:"rounded-none",wrapper:"rounded-none border-none aspect-[3/1]"},errorPlaceholder:n,ignoreAutoLoadPolicy:!0})}function eut({pubkey:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),[r,o]=h.useState([]),{pubkey:s}=wt();return h.useEffect(()=>{if(!t||!s)return;(async()=>{var m;const i=n?3:5,l=await kj.queryFollowGraph(Oe.currentRelays,s,2);if(l!=null&&l.pubkeys_by_depth&&l.pubkeys_by_depth.length>=2){const g=new Set(l.pubkeys_by_depth[0]??[]),w=[],b=await kj.queryFollowerGraph(Oe.currentRelays,t,1);if((m=b==null?void 0:b.pubkeys_by_depth)!=null&&m[0]){const j=new Set(b.pubkeys_by_depth[0]);for(const S of g)if(S!==t&&j.has(S)&&(w.push(S),w.length>=i))break}if(w.length>0){o(w);return}}const u=(await Oe.fetchFollowings(s)).reverse(),d=await Promise.all(u.map(async g=>Oe.fetchFollowings(g))),f=[];for(const[g,w]of u.entries())if(w!==t&&(d[g].includes(t)&&f.push(w),f.length>=i))break;o(f)})()},[t,s,n]),r.length===0?null:c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("div",{className:"text-muted-foreground",children:e("Followed by")}),r.map(a=>c.jsx(Ro,{userId:a,size:"xSmall"},a))]})}function tut({pubkey:t}){const{t:e}=Ke(),{pubkey:n}=wt(),{followingSet:r}=Gg(),{followings:o,isFetching:s}=SL(t);return c.jsxs(Xl,{to:aFe(t),className:"flex gap-1 hover:underline w-fit items-center",children:[n===t?r.size:s?c.jsx(_r,{className:"animate-spin size-4"}):o.length,c.jsx("div",{className:"text-muted-foreground",children:e("Following")})]})}function nut({pubkey:t,topSpace:e=0,search:n=""}){const{pubkey:r,pinListEvent:o}=wt(),{showKinds:s}=Wj(),[a,i]=h.useState(s),[l,u]=h.useState(()=>{const N=Ze.getNoteListMode();return N==="24h"||N==="posts"?"postsAndReplies":N}),[d,f]=h.useState([]),[m,g]=h.useState([]),w=h.useMemo(()=>{const N=[{value:"posts",label:"Notes"},{value:"postsAndReplies",label:"Replies"}];return r&&r!==t&&N.push({value:"you",label:"YouTabName"}),N},[r,t]),b=h.useMemo(()=>uu(),[]),j=h.useRef(null);h.useEffect(()=>{(async()=>{let M=null;t===r?M=o:M=await Oe.fetchPinListEvent(t);const D=new Set,P=(M==null?void 0:M.tags.filter(L=>L[0]==="e").reverse().slice(0,q3e).map(L=>{const[,F,T,R]=L;if(!F||D.has(F)||R&&R!==t)return;const z=nc(["e",F,T??"",t]);return z&&D.add(F),z}).filter(Boolean))??[];g(P)})()},[t,r,o]),h.useEffect(()=>{(async()=>{if(l==="you"){if(!r){f([]);return}const[D,P]=await Promise.all([Oe.fetchRelayList(t),Oe.fetchRelayList(r)]);f([{urls:P.write.concat(Oe.currentRelays).slice(0,5),filter:{authors:[r],"#p":[t]}},{urls:D.write.concat(Oe.currentRelays).slice(0,5),filter:{authors:[t],"#p":[r]}}]);return}const M=await Oe.fetchRelayList(t);if(n){const D=M.write.slice(0,8),P=await ix.getRelayInfos(D),L=D.filter((F,T)=>{var R,z;return(z=(R=P[T])==null?void 0:R.supported_nips)==null?void 0:z.includes(50)});f([{urls:L.concat(Ze.getSearchRelays()).slice(0,8),filter:{authors:[t],search:n}}])}else f([{urls:M.write.concat(Oe.currentRelays).slice(0,8),filter:{authors:[t]}}])})()},[t,l,n]);const S=N=>{var M;u(N),(M=j.current)==null||M.scrollToTop("smooth")},I=N=>{var M;i(N),(M=j.current)==null||M.scrollToTop("instant")};return c.jsxs(c.Fragment,{children:[c.jsx(Dx,{value:l,tabs:w,onTabChange:N=>{S(N)},threshold:Math.max(800,e),options:c.jsxs(c.Fragment,{children:[!b&&c.jsx(UP,{onClick:()=>{var N;return(N=j.current)==null?void 0:N.refresh()}}),c.jsx(Cge,{showKinds:a,onShowKindsChange:I})]})}),c.jsx(a1,{ref:j,subRequests:d,showKinds:a,hideReplies:l==="posts",filterMutedNotes:!1,pinnedEventIds:l==="you"||n?[]:m,showNewNotesDirectly:r===t})]})}function rut({pubkey:t}){const{t:e}=Ke(),{pubkey:n}=wt(),{relayList:r,isFetching:o}=xie(t);return c.jsxs(Xl,{to:n===t?zS("mailbox"):iFe(t),className:"flex gap-1 hover:underline w-fit items-center",children:[o?c.jsx(_r,{className:"animate-spin size-4"}):r.originalRelays.length,c.jsx("div",{className:"text-muted-foreground",children:e("Relays")})]})}const Ege=h.createContext(void 0),VP=()=>{const t=h.useContext(Ege);if(!t)throw new Error("usePinnedUsers must be used within a PinnedUsersProvider");return t};function out({children:t}){const{pubkey:e,publish:n,nip04Decrypt:r,nip04Encrypt:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(!1),u=h.useMemo(()=>!n||!e?null:new dle({publish:n,currentUserPubkey:e,decrypt:async(b,j)=>r(j,b),encrypt:async(b,j)=>o(j,b)}),[n,e,r,o]),d=h.useMemo(()=>s?nke(s):new Set,[s]);h.useEffect(()=>{(async()=>{if(!e||!u){a(null);return}l(!0);try{const j=Vt.tryFromString(e);if(!j){a(null);return}const S=await u.findByOwner(j);a(S)}catch(j){console.error("Failed to load pinned users list:",j),a(null)}finally{l(!1)}})()},[e,u]);const f=h.useCallback(b=>{if(!s)return!1;const j=Vt.tryFromString(b);return j?s.isPinned(j):!1},[s]),m=h.useCallback(async b=>{if(!(!e||!u||f(b)))try{const j=Vt.tryFromString(b);if(!j)return;const S=Vt.tryFromString(e);if(!S)return;const N=await u.findByOwner(S)??xb.empty(S);if(N.pin(j).type==="no_change")return;await u.save(N),a(N)}catch(j){console.error("Failed to pin user:",j)}},[e,u,f]),g=h.useCallback(async b=>{if(!(!e||!u||!f(b)))try{const j=Vt.tryFromString(b);if(!j)return;const S=Vt.tryFromString(e);if(!S)return;const I=await u.findByOwner(S);if(!I||I.unpin(j).type==="no_change")return;await u.save(I),a(I)}catch(j){console.error("Failed to unpin user:",j)}},[e,u,f]),w=h.useCallback(async b=>{f(b)?await g(b):await m(b)},[f,m,g]);return c.jsx(Ege.Provider,{value:{pinnedPubkeySet:d,isLoading:i,isPinned:f,pinUser:m,unpinUser:g,togglePin:w},children:t})}function sut({pubkey:t}){const{t:e}=Ke(),{pubkey:n,checkLogin:r}=wt(),{isPinned:o,togglePin:s}=VP(),[a,i]=h.useState(!1),l=h.useMemo(()=>o(t),[o,t]);if(!n||t&&t===n)return null;const u=async d=>{d.stopPropagation(),r(async()=>{i(!0);try{await s(t)}catch(f){l?on.error(e("Unfollow failed")+": "+f.message):on.error(e("Follow failed")+": "+f.message)}finally{i(!1)}})};return c.jsx(Pe,{variant:"secondary",size:"icon",className:"rounded-full",onClick:u,disabled:a,children:a?c.jsx(_r,{className:"animate-spin"}):c.jsx(ld,{className:l?"fill-primary stroke-primary":""})})}function HP({id:t}){const{t:e}=Ke(),{push:n}=Cn(),{profile:r,isFetching:o}=ua(t),{pubkey:s}=wt(),{mutePubkeySet:a}=ns(),[i,l]=h.useState(""),[u,d]=h.useState(i),{followings:f}=SL(r==null?void 0:r.pubkey),m=h.useMemo(()=>!!s&&s!==(r==null?void 0:r.pubkey)&&f.includes(s),[f,r,s]),[g,w]=h.useState(0),b=s===(r==null?void 0:r.pubkey),[j,S]=h.useState(null),I=h.useCallback(R=>{R&&S(R)},[]);if(h.useEffect(()=>{const R=setTimeout(()=>{d(i.trim())},1e3);return()=>{clearTimeout(R)}},[i]),h.useEffect(()=>{if(!(r!=null&&r.pubkey))return;(async()=>{await Promise.all([Oe.forceUpdateRelayListEvent(r.pubkey),Oe.fetchProfile(r.pubkey,!0)])})()},[r==null?void 0:r.pubkey]),h.useEffect(()=>{if(!j)return;const R=()=>{w(j.scrollHeight)};R();const z=new ResizeObserver(()=>{R()});return z.observe(j),()=>{z.disconnect()}},[j]),!r&&o)return c.jsxs(c.Fragment,{children:[c.jsx("div",{children:c.jsxs("div",{className:"relative bg-cover bg-center mb-2",children:[c.jsx(Dn,{className:"w-full aspect-[3/1] rounded-none"}),c.jsx(Dn,{className:"w-24 h-24 absolute bottom-0 left-3 translate-y-1/2 border-4 border-background rounded-full"})]})}),c.jsxs("div",{className:"px-4",children:[c.jsx(Dn,{className:"h-5 w-28 mt-14 mb-1"}),c.jsx(Dn,{className:"h-5 w-56 mt-2 my-1 rounded-full"})]})]});if(!r)return c.jsx($P,{});const{banner:N,username:M,about:D,pubkey:P,website:L,lightningAddress:F,emojis:T}=r;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{ref:I,children:[c.jsxs("div",{className:"relative bg-cover bg-center mb-2",children:[c.jsx(Xct,{banner:N,pubkey:P}),c.jsx(Jct,{userId:P})]}),c.jsxs("div",{className:"px-4",children:[c.jsxs("div",{className:"flex justify-end h-8 gap-2 items-center",children:[c.jsx(Zct,{pubkey:P}),b?c.jsx(Pe,{className:"w-20 min-w-20 rounded-full",variant:"secondary",onClick:()=>n(uFe()),children:e("Edit")}):c.jsxs(c.Fragment,{children:[!!F&&c.jsx(Qct,{pubkey:P}),c.jsx(sut,{pubkey:P}),c.jsx(AL,{pubkey:P})]})]}),c.jsxs("div",{className:"pt-2",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(_x,{text:M,emojis:T,className:"text-xl font-semibold truncate select-text"}),c.jsx(jx,{pubkey:P}),m&&c.jsx("div",{className:"text-muted-foreground rounded-full bg-muted text-xs h-fit px-2 shrink-0",children:e("Follows you")})]}),c.jsx(uc,{pubkey:P}),F&&c.jsxs("div",{className:"text-sm text-yellow-400 flex gap-1 items-center select-text",children:[c.jsx(lc,{className:"size-4 shrink-0"}),c.jsx("div",{className:"flex-1 max-w-fit w-0 truncate",children:F})]}),c.jsxs("div",{className:"flex gap-1 mt-1",children:[c.jsx(Sge,{pubkey:P}),c.jsx(BS,{pubkey:P})]}),c.jsx(IP,{children:c.jsx(age,{about:D,emojis:T,className:"text-wrap break-words whitespace-pre-wrap mt-2 select-text"})}),L&&c.jsxs("div",{className:"flex gap-1 items-center text-primary mt-2 truncate select-text",children:[c.jsx(n2,{size:14,className:"shrink-0"}),c.jsx("a",{href:L,target:"_blank",className:"hover:underline truncate flex-1 max-w-fit w-0",children:L})]}),c.jsxs("div",{className:"flex justify-between items-center mt-2 text-sm",children:[c.jsxs("div",{className:"flex gap-4 items-center",children:[c.jsx(tut,{pubkey:P}),c.jsx(rut,{pubkey:P}),b&&c.jsxs(Xl,{to:fFe(),className:"flex gap-1 hover:underline w-fit",children:[a.size,c.jsx("div",{className:"text-muted-foreground",children:e("Muted")})]})]}),!b&&c.jsx(eut,{pubkey:P})]})]})]}),c.jsx("div",{className:"px-4 pt-3.5 pb-0.5",children:c.jsx(FS,{value:i,onChange:R=>l(R.target.value),placeholder:e("Search")})})]}),c.jsx(nut,{pubkey:P,topSpace:g+100,search:u})]})}const XK=50;function Nge({search:t}){const[e,n]=h.useState(()=>En().unix()),[r,o]=h.useState(!0),[s,a]=h.useState(new Set),i=h.useRef(null);h.useEffect(()=>{n(En().unix()),o(!0),a(new Set),l()},[t]),h.useEffect(()=>{if(!r)return;const u={root:null,rootMargin:"10px",threshold:1},d=new IntersectionObserver(m=>{m[0].isIntersecting&&r&&l()},u),f=i.current;return f&&d.observe(f),()=>{d&&f&&d.unobserve(f)}},[r,t,e]);const l=async()=>{const u=await Oe.searchProfiles(Ze.getSearchRelays(),{search:t,until:e,limit:XK}),d=new Set;u.forEach(m=>{s.has(m.pubkey)||d.add(m.pubkey)}),a(m=>new Set([...m,...d])),o(u.length>=XK);const f=u[u.length-1].created_at;n(f?f-1:0)};return c.jsxs("div",{className:"px-4",children:[Array.from(s).map((u,d)=>c.jsx(OP,{userId:u},`${d}-${u}`)),r&&c.jsx(lge,{}),r&&c.jsx("div",{ref:i})]})}const Tm=class Tm{constructor(){je(this,"membershipListCache",new Map);je(this,"membershipListDataLoader",new Pu(async e=>Promise.all(e.map(({url:n,pubkey:r})=>this.fetchMembershipList(n,r))),{cacheKeyFn:e=>e.url,cacheMap:this.membershipListCache}))}static getInstance(){return Tm.instance||(Tm.instance=new Tm),Tm.instance}async checkMembership(e,n,r){return r?(await this.membershipListDataLoader.load({url:e,pubkey:r})).has(n):!1}async fetchMembershipList(e,n){try{const r={kinds:[13534],authors:[n],limit:1},o=await Oe.fetchEvents([e],r);if(o.length===0)return new Set;const a=Lke(o)[0].tags.filter(i=>i[0]==="member"&&Vt.isValidHex(i[1])).map(i=>i[1]);return new Set(a)}catch(r){return console.error("Error checking relay membership:",r),new Set}}async requestInviteCode(e,n){try{const r={kinds:[28935],authors:[n],limit:1},o=await Oe.fetchEvents([e],r);if(o.length===0)return null;const a=o[0].tags.find(i=>i[0]==="claim");return(a==null?void 0:a[1])??null}catch(r){return console.error("Error requesting invite code:",r),null}}async addNewMember(e,n){const r=await this.membershipListCache.get(e);r&&r.add(n)}async removeMember(e,n){const r=await this.membershipListCache.get(e);r&&r.delete(n)}};je(Tm,"instance");let hR=Tm;const db=hR.getInstance();function aut({relayInfo:t,showInviteCodeDialog:e,setShowInviteCodeDialog:n}){const{t:r}=Ke(),{isSmallScreen:o}=gn(),[s,a]=h.useState(!1),[i,l]=h.useState(""),[u,d]=h.useState(!1);h.useEffect(()=>{if(!e){l("");return}(async()=>{a(!0);try{if(t.pubkey){const w=await db.requestInviteCode(t.url,t.pubkey);w?l(w):on.error(r("Failed to get invite code from relay"))}}catch(w){on.error(w.message||r("Failed to get invite code"))}finally{a(!1)}})()},[e]);const f=()=>{i&&(navigator.clipboard.writeText(i),on.success(r("Invite code copied to clipboard")),d(!0),setTimeout(()=>{d(!1)},2e3))},m=s?c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx("div",{className:"text-muted-foreground",children:r("Loading...")})}):i?c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"fetched-invite-code",children:r("Invite Code")}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pn,{id:"fetched-invite-code",value:i,readOnly:!0,className:"font-mono"}),c.jsx(Pe,{onClick:f,variant:"outline",children:u?c.jsx(Zr,{}):c.jsx(La,{})})]}),c.jsx("p",{className:"text-sm text-muted-foreground",children:r("This invite code can be used by others to join the relay.")})]}):c.jsx("div",{className:"text-center py-8 text-muted-foreground",children:r("No invite code available from this relay.")});return o?c.jsx(io,{open:e,onOpenChange:n,children:c.jsxs(lo,{children:[c.jsxs(wf,{children:[c.jsx(bd,{children:r("Get Invite Code")}),c.jsx(Wg,{children:r("Share this invite code with others to invite them to join this relay.")})]}),c.jsx("div",{className:"p-4",children:m})]})}):c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(gs,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:r("Get Invite Code")}),c.jsx(rl,{children:r("Share this invite code with others to invite them to join this relay.")})]}),m]})})}function iut({relayInfo:t,showJoinDialog:e,setShowJoinDialog:n,onMembershipStatusChange:r}){const{t:o}=Ke(),{isSmallScreen:s}=gn(),{publish:a}=wt(),[i,l]=h.useState(""),[u,d]=h.useState(!1),f=async()=>{d(!0);try{const g=rre(i),w=await a(g,{specifiedRelayUrls:[t.url]});on.success(o("Join request sent successfully")),await db.addNewMember(t.url,w.pubkey),r(!0),l(""),n(!1)}catch(g){(g instanceof AggregateError?g.errors:[g]).forEach(b=>{on.error(`${o("Failed to send join request")}: ${b instanceof Error?b.message:String(b)}`,{duration:1e4}),console.error(b)});return}finally{d(!1)}},m=c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"invite-code",children:o("Invite Code")}),c.jsx(Pn,{id:"invite-code",value:i,onChange:g=>l(g.target.value),placeholder:o("Enter invite code"),required:!0}),c.jsx("p",{className:"text-sm text-muted-foreground",children:o("You can get an invite code from a relay member.")})]});return s?c.jsx(io,{open:e,onOpenChange:n,children:c.jsxs(lo,{children:[c.jsxs(wf,{children:[c.jsx(bd,{children:o("Request to Join Relay")}),c.jsx(Wg,{children:o("Enter the invite code you received from a relay member.")})]}),c.jsx("div",{className:"p-4",children:m}),c.jsxs(NS,{children:[c.jsx(Pe,{onClick:f,disabled:u||!i.trim(),children:o(u?"Sending...":"Send Request")}),c.jsx(_ae,{asChild:!0,children:c.jsx(Pe,{variant:"outline",children:o("Cancel")})})]})]})}):c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(gs,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:o("Request to Join Relay")}),c.jsx(rl,{children:o("Enter the invite code you received from a relay member.")})]}),m,c.jsxs(zm,{children:[c.jsx(Pe,{variant:"ghost",onClick:()=>{n(!1),l("")},children:o("Cancel")}),c.jsx(Pe,{onClick:f,disabled:u||!i.trim(),children:o(u?"Sending...":"Send Request")})]})]})})}function lut({relayInfo:t,onMembershipStatusChange:e}){const{t:n}=Ke(),{pubkey:r,checkLogin:o,publish:s}=wt(),[a,i]=h.useState(!1),[l,u]=h.useState(!1),[d,f]=h.useState(!1),[m,g]=h.useState(!1),[w,b]=h.useState(!1),j=h.useMemo(()=>bie(t),[t]);if(h.useEffect(()=>{if(!j||!r){i(!1);return}(async()=>{try{f(!0);const D=await db.checkMembership(t.url,r,t.pubkey);i(D)}finally{f(!1)}})()},[t.url,t.pubkey,r,j]),h.useEffect(()=>{e&&e(a)},[a,e]),!j||d)return null;const S=async()=>{u(!0);try{const M=rre(""),D=await s(M,{specifiedRelayUrls:[t.url]});on.success(n("Join request sent successfully")),await db.addNewMember(t.url,D.pubkey),e==null||e(!0)}catch{g(!0)}finally{u(!1)}},I=()=>{b(!0)},N=async()=>{if(confirm(n("Are you sure you want to leave this relay?"))){u(!0);try{const M=MAe(),D=await s(M,{specifiedRelayUrls:[t.url]});on.success(n("Leave request sent successfully")),await db.removeMember(t.url,D.pubkey),i(!1)}catch(M){(M instanceof AggregateError?M.errors:[M]).forEach(P=>{on.error(`${n("Failed to send leave request")}: ${P instanceof Error?P.message:String(P)}`,{duration:1e4}),console.error(P)});return}finally{u(!1)}}};return c.jsxs(c.Fragment,{children:[a?c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsxs(Pe,{variant:"secondary",className:"w-full",onClick:I,disabled:l,children:[c.jsx(jS,{className:"w-4 h-4 mr-2"}),n("Get Invite Code")]}),c.jsxs(Pe,{variant:"outline",className:"w-full",onClick:N,disabled:l,children:[c.jsx(kS,{className:"w-4 h-4 mr-2"}),n("Leave")]})]}):c.jsxs(Pe,{variant:"default",className:"w-full",onClick:()=>{o(()=>S())},disabled:l,children:[c.jsx(X2,{className:"w-4 h-4 mr-2"}),n("Request to Join Relay")]}),c.jsx(iut,{relayInfo:t,showJoinDialog:m,setShowJoinDialog:g,onMembershipStatusChange:i}),c.jsx(aut,{relayInfo:t,showInviteCodeDialog:w,setShowInviteCodeDialog:b})]})}function K0({children:t,className:e,onClick:n}){return c.jsx(_ae,{className:"w-full",children:c.jsx(Pe,{onClick:n,className:Te("w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",e),variant:"ghost",children:t})})}function WP({urls:t,bigButton:e=!1}){const{t:n}=Ke(),{isSmallScreen:r}=gn(),{favoriteRelays:o,relaySets:s}=Pa(),a=h.useMemo(()=>t.map(f=>ike(f)).filter(f=>f!==null),[t]),i=h.useMemo(()=>a.every(f=>o.includes(f))||s.some(f=>a.every(m=>f.relayUrls.includes(m))),[s,a]),[l,u]=h.useState(!1),d=e?c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",onClick:()=>u(!0),children:c.jsx(ld,{className:i?"fill-primary stroke-primary":""})}):c.jsx("button",{className:"enabled:hover:text-primary [&_svg]:size-5 pr-0 pt-0.5",onClick:f=>{f.stopPropagation(),u(!0)},children:c.jsx(ld,{className:i?"fill-primary stroke-primary":""})});return r?c.jsxs("div",{children:[d,c.jsx("div",{onClick:f=>f.stopPropagation(),children:c.jsxs(io,{open:l,onOpenChange:u,children:[c.jsx(cc,{onClick:()=>u(!1)}),c.jsxs(lo,{hideOverlay:!0,children:[c.jsx(wf,{children:c.jsxs(bd,{children:[n("Save to")," ..."]})}),c.jsxs("div",{className:"py-2",children:[c.jsx(eZ,{urls:a}),s.map(f=>c.jsx(tZ,{set:f,urls:a},f.id)),c.jsx(ri,{}),c.jsx(nZ,{urls:a})]})]})]})})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,className:"px-2",children:d}),c.jsxs(ci,{onClick:f=>f.stopPropagation(),children:[c.jsxs(ZS,{children:[n("Save to")," ..."]}),c.jsx(hh,{}),c.jsx(eZ,{urls:a}),s.map(f=>c.jsx(tZ,{set:f,urls:a},f.id)),c.jsx(hh,{}),c.jsx(nZ,{urls:a})]})]})}function eZ({urls:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{favoriteRelays:r,addFavoriteRelays:o,deleteFavoriteRelays:s}=Pa(),a=h.useMemo(()=>t.every(l=>r.includes(l)),[r,t]),i=async()=>{a?await s(t):await o(t)};return n?c.jsxs(K0,{onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Xc,{}),e(a?"Unfavorite":"Favorite")]}):c.jsxs(Er,{className:"flex gap-2",onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Xc,{}),e(a?"Unfavorite":"Favorite")]})}function tZ({set:t,urls:e}){const{isSmallScreen:n}=gn(),{pubkey:r,startLogin:o}=wt(),{updateRelaySet:s}=Pa(),a=e.every(l=>t.relayUrls.includes(l)),i=()=>{if(!r){o();return}s(a?{...t,relayUrls:t.relayUrls.filter(l=>!e.includes(l))}:{...t,relayUrls:Array.from(new Set([...t.relayUrls,...e]))})};return n?c.jsxs(K0,{onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Xc,{}),t.name]}):c.jsxs(Er,{className:"flex gap-2",onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Xc,{}),t.name]},t.id)}function nZ({urls:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{pubkey:r,startLogin:o}=wt(),{createRelaySet:s}=Pa(),a=()=>{if(!r){o();return}const i=prompt(e("Enter a name for the new relay set"));i&&s(i,t)};return n?c.jsxs(K0,{onClick:a,children:[c.jsx(cY,{}),e("Save to a new relay set")]}):c.jsxs(Er,{onClick:a,children:[c.jsx(cY,{}),e("Save to a new relay set")]})}function cut(t){return Object.prototype.toString.call(t)==="[object Object]"}function rZ(t){return cut(t)||Array.isArray(t)}function uut(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function YP(t,e){const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;const o=JSON.stringify(Object.keys(t.breakpoints||{})),s=JSON.stringify(Object.keys(e.breakpoints||{}));return o!==s?!1:n.every(a=>{const i=t[a],l=e[a];return typeof i=="function"?`${i}`==`${l}`:!rZ(i)||!rZ(l)?i===l:YP(i,l)})}function oZ(t){return t.concat().sort((e,n)=>e.name>n.name?1:-1).map(e=>e.options)}function fut(t,e){if(t.length!==e.length)return!1;const n=oZ(t),r=oZ(e);return n.every((o,s)=>{const a=r[s];return YP(o,a)})}function GP(t){return typeof t=="number"}function mR(t){return typeof t=="string"}function OE(t){return typeof t=="boolean"}function sZ(t){return Object.prototype.toString.call(t)==="[object Object]"}function Co(t){return Math.abs(t)}function qP(t){return Math.sign(t)}function pb(t,e){return Co(t-e)}function dut(t,e){if(t===0||e===0||Co(t)<=Co(e))return 0;const n=pb(Co(t),Co(e));return Co(n/t)}function put(t){return Math.round(t*100)/100}function C2(t){return S2(t).map(Number)}function Yc(t){return t[Px(t)]}function Px(t){return Math.max(0,t.length-1)}function KP(t,e){return e===Px(t)}function aZ(t,e=0){return Array.from(Array(t),(n,r)=>e+r)}function S2(t){return Object.keys(t)}function Ige(t,e){return[t,e].reduce((n,r)=>(S2(r).forEach(o=>{const s=n[o],a=r[o],i=sZ(s)&&sZ(a);n[o]=i?Ige(s,a):a}),n),{})}function gR(t,e){return typeof e.MouseEvent<"u"&&t instanceof e.MouseEvent}function hut(t,e){const n={start:r,center:o,end:s};function r(){return 0}function o(l){return s(l)/2}function s(l){return e-l}function a(l,u){return mR(t)?n[t](l):t(e,l,u)}return{measure:a}}function E2(){let t=[];function e(o,s,a,i={passive:!0}){let l;if("addEventListener"in o)o.addEventListener(s,a,i),l=()=>o.removeEventListener(s,a,i);else{const u=o;u.addListener(a),l=()=>u.removeListener(a)}return t.push(l),r}function n(){t=t.filter(o=>o())}const r={add:e,clear:n};return r}function mut(t,e,n,r){const o=E2(),s=1e3/60;let a=null,i=0,l=0;function u(){o.add(t,"visibilitychange",()=>{t.hidden&&w()})}function d(){g(),o.clear()}function f(j){if(!l)return;a||(a=j,n(),n());const S=j-a;for(a=j,i+=S;i>=s;)n(),i-=s;const I=i/s;r(I),l&&(l=e.requestAnimationFrame(f))}function m(){l||(l=e.requestAnimationFrame(f))}function g(){e.cancelAnimationFrame(l),a=null,i=0,l=0}function w(){a=null,i=0}return{init:u,destroy:d,start:m,stop:g,update:n,render:r}}function gut(t,e){const n=e==="rtl",r=t==="y",o=r?"y":"x",s=r?"x":"y",a=!r&&n?-1:1,i=d(),l=f();function u(w){const{height:b,width:j}=w;return r?b:j}function d(){return r?"top":n?"right":"left"}function f(){return r?"bottom":n?"left":"right"}function m(w){return w*a}return{scroll:o,cross:s,startEdge:i,endEdge:l,measureSize:u,direction:m}}function Pg(t=0,e=0){const n=Co(t-e);function r(u){return u<t}function o(u){return u>e}function s(u){return r(u)||o(u)}function a(u){return s(u)?r(u)?t:e:u}function i(u){return n?u-n*Math.ceil((u-e)/n):u}return{length:n,max:e,min:t,constrain:a,reachedAny:s,reachedMax:o,reachedMin:r,removeOffset:i}}function Age(t,e,n){const{constrain:r}=Pg(0,t),o=t+1;let s=a(e);function a(m){return n?Co((o+m)%o):r(m)}function i(){return s}function l(m){return s=a(m),f}function u(m){return d().set(i()+m)}function d(){return Age(t,i(),n)}const f={get:i,set:l,add:u,clone:d};return f}function yut(t,e,n,r,o,s,a,i,l,u,d,f,m,g,w,b,j,S,I){const{cross:N,direction:M}=t,D=["INPUT","SELECT","TEXTAREA"],P={passive:!1},L=E2(),F=E2(),T=Pg(50,225).constrain(g.measure(20)),R={mouse:300,touch:400},z={mouse:500,touch:600},G=w?43:25;let Z=!1,W=0,U=0,ee=!1,$=!1,H=!1,Y=!1;function q(le){if(!I)return;function ye(Ie){(OE(I)||I(le,Ie))&&we(Ie)}const ve=e;L.add(ve,"dragstart",Ie=>Ie.preventDefault(),P).add(ve,"touchmove",()=>{},P).add(ve,"touchend",()=>{}).add(ve,"touchstart",ye).add(ve,"mousedown",ye).add(ve,"touchcancel",ce).add(ve,"contextmenu",ce).add(ve,"click",pe,!0)}function J(){L.clear(),F.clear()}function ne(){const le=Y?n:e;F.add(le,"touchmove",xe,P).add(le,"touchend",ce).add(le,"mousemove",xe,P).add(le,"mouseup",ce)}function re(le){const ye=le.nodeName||"";return D.includes(ye)}function de(){return(w?z:R)[Y?"mouse":"touch"]}function Ee(le,ye){const ve=f.add(qP(le)*-1),Ie=d.byDistance(le,!w).distance;return w||Co(le)<T?Ie:j&&ye?Ie*.5:d.byIndex(ve.get(),0).distance}function we(le){const ye=gR(le,r);Y=ye,H=w&&ye&&!le.buttons&&Z,Z=pb(o.get(),a.get())>=2,!(ye&&le.button!==0)&&(re(le.target)||(ee=!0,s.pointerDown(le),u.useFriction(0).useDuration(0),o.set(a),ne(),W=s.readPoint(le),U=s.readPoint(le,N),m.emit("pointerDown")))}function xe(le){if(!gR(le,r)&&le.touches.length>=2)return ce(le);const ve=s.readPoint(le),Ie=s.readPoint(le,N),Ve=pb(ve,W),Qe=pb(Ie,U);if(!$&&!Y&&(!le.cancelable||($=Ve>Qe,!$)))return ce(le);const nt=s.pointerMove(le);Ve>b&&(H=!0),u.useFriction(.3).useDuration(.75),i.start(),o.add(M(nt)),le.preventDefault()}function ce(le){const ve=d.byDistance(0,!1).index!==f.get(),Ie=s.pointerUp(le)*de(),Ve=Ee(M(Ie),ve),Qe=dut(Ie,Ve),nt=G-10*Qe,Ue=S+Qe/50;$=!1,ee=!1,F.clear(),u.useDuration(nt).useFriction(Ue),l.distance(Ve,!w),Y=!1,m.emit("pointerUp")}function pe(le){H&&(le.stopPropagation(),le.preventDefault(),H=!1)}function he(){return ee}return{init:q,destroy:J,pointerDown:he}}function vut(t,e){let r,o;function s(f){return f.timeStamp}function a(f,m){const w=`client${(m||t.scroll)==="x"?"X":"Y"}`;return(gR(f,e)?f:f.touches[0])[w]}function i(f){return r=f,o=f,a(f)}function l(f){const m=a(f)-a(o),g=s(f)-s(r)>170;return o=f,g&&(r=f),m}function u(f){if(!r||!o)return 0;const m=a(o)-a(r),g=s(f)-s(r),w=s(f)-s(o)>170,b=m/g;return g&&!w&&Co(b)>.1?b:0}return{pointerDown:i,pointerMove:l,pointerUp:u,readPoint:a}}function wut(){function t(n){const{offsetTop:r,offsetLeft:o,offsetWidth:s,offsetHeight:a}=n;return{top:r,right:o+s,bottom:r+a,left:o,width:s,height:a}}return{measure:t}}function but(t){function e(r){return t*(r/100)}return{measure:e}}function xut(t,e,n,r,o,s,a){const i=[t].concat(r);let l,u,d=[],f=!1;function m(j){return o.measureSize(a.measure(j))}function g(j){if(!s)return;u=m(t),d=r.map(m);function S(I){for(const N of I){if(f)return;const M=N.target===t,D=r.indexOf(N.target),P=M?u:d[D],L=m(M?t:r[D]);if(Co(L-P)>=.5){j.reInit(),e.emit("resize");break}}}l=new ResizeObserver(I=>{(OE(s)||s(j,I))&&S(I)}),n.requestAnimationFrame(()=>{i.forEach(I=>l.observe(I))})}function w(){f=!0,l&&l.disconnect()}return{init:g,destroy:w}}function kut(t,e,n,r,o,s){let a=0,i=0,l=o,u=s,d=t.get(),f=0;function m(){const P=r.get()-t.get(),L=!l;let F=0;return L?(a=0,n.set(r),t.set(r),F=P):(n.set(t),a+=P/l,a*=u,d+=a,t.add(a),F=d-f),i=qP(F),f=d,D}function g(){const P=r.get()-e.get();return Co(P)<.001}function w(){return l}function b(){return i}function j(){return a}function S(){return N(o)}function I(){return M(s)}function N(P){return l=P,D}function M(P){return u=P,D}const D={direction:b,duration:w,velocity:j,seek:m,settled:g,useBaseFriction:I,useBaseDuration:S,useFriction:M,useDuration:N};return D}function jut(t,e,n,r,o){const s=o.measure(10),a=o.measure(50),i=Pg(.1,.99);let l=!1;function u(){return!(l||!t.reachedAny(n.get())||!t.reachedAny(e.get()))}function d(g){if(!u())return;const w=t.reachedMin(e.get())?"min":"max",b=Co(t[w]-e.get()),j=n.get()-e.get(),S=i.constrain(b/a);n.subtract(j*S),!g&&Co(j)<s&&(n.set(t.constrain(n.get())),r.useDuration(25).useBaseFriction())}function f(g){l=!g}return{shouldConstrain:u,constrain:d,toggleActive:f}}function Cut(t,e,n,r,o){const s=Pg(-e+t,0),a=f(),i=d(),l=m();function u(w,b){return pb(w,b)<=1}function d(){const w=a[0],b=Yc(a),j=a.lastIndexOf(w),S=a.indexOf(b)+1;return Pg(j,S)}function f(){return n.map((w,b)=>{const{min:j,max:S}=s,I=s.constrain(w),N=!b,M=KP(n,b);return N?S:M||u(j,I)?j:u(S,I)?S:I}).map(w=>parseFloat(w.toFixed(3)))}function m(){if(e<=t+o)return[s.max];if(r==="keepSnaps")return a;const{min:w,max:b}=i;return a.slice(w,b)}return{snapsContained:l,scrollContainLimit:i}}function Sut(t,e,n){const r=e[0],o=n?r-t:Yc(e);return{limit:Pg(o,r)}}function Eut(t,e,n,r){const s=e.min+.1,a=e.max+.1,{reachedMin:i,reachedMax:l}=Pg(s,a);function u(m){return m===1?l(n.get()):m===-1?i(n.get()):!1}function d(m){if(!u(m))return;const g=t*(m*-1);r.forEach(w=>w.add(g))}return{loop:d}}function Nut(t){const{max:e,length:n}=t;function r(s){const a=s-e;return n?a/-n:0}return{get:r}}function Iut(t,e,n,r,o){const{startEdge:s,endEdge:a}=t,{groupSlides:i}=o,l=f().map(e.measure),u=m(),d=g();function f(){return i(r).map(b=>Yc(b)[a]-b[0][s]).map(Co)}function m(){return r.map(b=>n[s]-b[s]).map(b=>-Co(b))}function g(){return i(u).map(b=>b[0]).map((b,j)=>b+l[j])}return{snaps:u,snapsAligned:d}}function Aut(t,e,n,r,o,s){const{groupSlides:a}=o,{min:i,max:l}=r,u=d();function d(){const m=a(s),g=!t||e==="keepSnaps";return n.length===1?[s]:g?m:m.slice(i,l).map((w,b,j)=>{const S=!b,I=KP(j,b);if(S){const N=Yc(j[0])+1;return aZ(N)}if(I){const N=Px(s)-Yc(j)[0]+1;return aZ(N,Yc(j)[0])}return w})}return{slideRegistry:u}}function _ut(t,e,n,r,o){const{reachedAny:s,removeOffset:a,constrain:i}=r;function l(w){return w.concat().sort((b,j)=>Co(b)-Co(j))[0]}function u(w){const b=t?a(w):i(w),j=e.map((I,N)=>({diff:d(I-b,0),index:N})).sort((I,N)=>Co(I.diff)-Co(N.diff)),{index:S}=j[0];return{index:S,distance:b}}function d(w,b){const j=[w,w+n,w-n];if(!t)return w;if(!b)return l(j);const S=j.filter(I=>qP(I)===b);return S.length?l(S):Yc(j)-n}function f(w,b){const j=e[w]-o.get(),S=d(j,b);return{index:w,distance:S}}function m(w,b){const j=o.get()+w,{index:S,distance:I}=u(j),N=!t&&s(j);if(!b||N)return{index:S,distance:w};const M=e[S]-I,D=w+d(M,0);return{index:S,distance:D}}return{byDistance:m,byIndex:f,shortcut:d}}function Mut(t,e,n,r,o,s,a){function i(f){const m=f.distance,g=f.index!==e.get();s.add(m),m&&(r.duration()?t.start():(t.update(),t.render(1),t.update())),g&&(n.set(e.get()),e.set(f.index),a.emit("select"))}function l(f,m){const g=o.byDistance(f,m);i(g)}function u(f,m){const g=e.clone().set(f),w=o.byIndex(g.get(),m);i(w)}return{distance:l,index:u}}function Rut(t,e,n,r,o,s,a,i){const l={passive:!0,capture:!0};let u=0;function d(g){if(!i)return;function w(b){if(new Date().getTime()-u>10)return;a.emit("slideFocusStart"),t.scrollLeft=0;const I=n.findIndex(N=>N.includes(b));GP(I)&&(o.useDuration(0),r.index(I,0),a.emit("slideFocus"))}s.add(document,"keydown",f,!1),e.forEach((b,j)=>{s.add(b,"focus",S=>{(OE(i)||i(g,S))&&w(j)},l)})}function f(g){g.code==="Tab"&&(u=new Date().getTime())}return{init:d}}function Fw(t){let e=t;function n(){return e}function r(l){e=a(l)}function o(l){e+=a(l)}function s(l){e-=a(l)}function a(l){return GP(l)?l:l.get()}return{get:n,set:r,add:o,subtract:s}}function _ge(t,e){const n=t.scroll==="x"?a:i,r=e.style;let o=null,s=!1;function a(m){return`translate3d(${m}px,0px,0px)`}function i(m){return`translate3d(0px,${m}px,0px)`}function l(m){if(s)return;const g=put(t.direction(m));g!==o&&(r.transform=n(g),o=g)}function u(m){s=!m}function d(){s||(r.transform="",e.getAttribute("style")||e.removeAttribute("style"))}return{clear:d,to:l,toggleActive:u}}function Tut(t,e,n,r,o,s,a,i,l){const d=C2(o),f=C2(o).reverse(),m=S().concat(I());function g(L,F){return L.reduce((T,R)=>T-o[R],F)}function w(L,F){return L.reduce((T,R)=>g(T,F)>0?T.concat([R]):T,[])}function b(L){return s.map((F,T)=>({start:F-r[T]+.5+L,end:F+e-.5+L}))}function j(L,F,T){const R=b(F);return L.map(z=>{const G=T?0:-n,Z=T?n:0,W=T?"end":"start",U=R[z][W];return{index:z,loopPoint:U,slideLocation:Fw(-1),translate:_ge(t,l[z]),target:()=>i.get()>U?G:Z}})}function S(){const L=a[0],F=w(f,L);return j(F,n,!1)}function I(){const L=e-a[0]-1,F=w(d,L);return j(F,-n,!0)}function N(){return m.every(({index:L})=>{const F=d.filter(T=>T!==L);return g(F,e)<=.1})}function M(){m.forEach(L=>{const{target:F,translate:T,slideLocation:R}=L,z=F();z!==R.get()&&(T.to(z),R.set(z))})}function D(){m.forEach(L=>L.translate.clear())}return{canLoop:N,clear:D,loop:M,loopPoints:m}}function Dut(t,e,n){let r,o=!1;function s(l){if(!n)return;function u(d){for(const f of d)if(f.type==="childList"){l.reInit(),e.emit("slidesChanged");break}}r=new MutationObserver(d=>{o||(OE(n)||n(l,d))&&u(d)}),r.observe(t,{childList:!0})}function a(){r&&r.disconnect(),o=!0}return{init:s,destroy:a}}function Lut(t,e,n,r){const o={};let s=null,a=null,i,l=!1;function u(){i=new IntersectionObserver(w=>{l||(w.forEach(b=>{const j=e.indexOf(b.target);o[j]=b}),s=null,a=null,n.emit("slidesInView"))},{root:t.parentElement,threshold:r}),e.forEach(w=>i.observe(w))}function d(){i&&i.disconnect(),l=!0}function f(w){return S2(o).reduce((b,j)=>{const S=parseInt(j),{isIntersecting:I}=o[S];return(w&&I||!w&&!I)&&b.push(S),b},[])}function m(w=!0){if(w&&s)return s;if(!w&&a)return a;const b=f(w);return w&&(s=b),w||(a=b),b}return{init:u,destroy:d,get:m}}function Put(t,e,n,r,o,s){const{measureSize:a,startEdge:i,endEdge:l}=t,u=n[0]&&o,d=w(),f=b(),m=n.map(a),g=j();function w(){if(!u)return 0;const I=n[0];return Co(e[i]-I[i])}function b(){if(!u)return 0;const I=s.getComputedStyle(Yc(r));return parseFloat(I.getPropertyValue(`margin-${l}`))}function j(){return n.map((I,N,M)=>{const D=!N,P=KP(M,N);return D?m[N]+d:P?m[N]+f:M[N+1][i]-I[i]}).map(Co)}return{slideSizes:m,slideSizesWithGaps:g,startGap:d,endGap:f}}function Out(t,e,n,r,o,s,a,i,l){const{startEdge:u,endEdge:d,direction:f}=t,m=GP(n);function g(S,I){return C2(S).filter(N=>N%I===0).map(N=>S.slice(N,N+I))}function w(S){return S.length?C2(S).reduce((I,N,M)=>{const D=Yc(I)||0,P=D===0,L=N===Px(S),F=o[u]-s[D][u],T=o[u]-s[N][d],R=!r&&P?f(a):0,z=!r&&L?f(i):0,G=Co(T-z-(F+R));return M&&G>e+l&&I.push(N),L&&I.push(S.length),I},[]).map((I,N,M)=>{const D=Math.max(M[N-1]||0);return S.slice(D,I)}):[]}function b(S){return m?g(S,n):w(S)}return{groupSlides:b}}function zut(t,e,n,r,o,s,a){const{align:i,axis:l,direction:u,startIndex:d,loop:f,duration:m,dragFree:g,dragThreshold:w,inViewThreshold:b,slidesToScroll:j,skipSnaps:S,containScroll:I,watchResize:N,watchSlides:M,watchDrag:D,watchFocus:P}=s,L=2,F=wut(),T=F.measure(e),R=n.map(F.measure),z=gut(l,u),G=z.measureSize(T),Z=but(G),W=hut(i,G),U=!f&&!!I,ee=f||!!I,{slideSizes:$,slideSizesWithGaps:H,startGap:Y,endGap:q}=Put(z,T,R,n,ee,o),J=Out(z,G,j,f,T,R,Y,q,L),{snaps:ne,snapsAligned:re}=Iut(z,W,T,R,J),de=-Yc(ne)+Yc(H),{snapsContained:Ee,scrollContainLimit:we}=Cut(G,de,re,I,L),xe=U?Ee:re,{limit:ce}=Sut(de,xe,f),pe=Age(Px(xe),d,f),he=pe.clone(),ke=C2(n),le=({dragHandler:ie,scrollBody:Se,scrollBounds:Me,options:{loop:Ce}})=>{Ce||Me.constrain(ie.pointerDown()),Se.seek()},ye=({scrollBody:ie,translate:Se,location:Me,offsetLocation:Ce,previousLocation:me,scrollLooper:We,slideLooper:Xe,dragHandler:Re,animation:ze,eventHandler:rt,scrollBounds:vt,options:{loop:mt}},Ot)=>{const qt=ie.settled(),kt=!vt.shouldConstrain(),Ct=mt?qt:qt&&kt,Pt=Ct&&!Re.pointerDown();Pt&&ze.stop();const yt=Me.get()*Ot+me.get()*(1-Ot);Ce.set(yt),mt&&(We.loop(ie.direction()),Xe.loop()),Se.to(Ce.get()),Pt&&rt.emit("settle"),Ct||rt.emit("scroll")},ve=mut(r,o,()=>le(Q),ie=>ye(Q,ie)),Ie=.68,Ve=xe[pe.get()],Qe=Fw(Ve),nt=Fw(Ve),Ue=Fw(Ve),qe=Fw(Ve),_e=kut(Qe,Ue,nt,qe,m,Ie),et=_ut(f,xe,de,ce,qe),pt=Mut(ve,pe,he,_e,et,qe,a),ht=Nut(ce),at=E2(),De=Lut(e,n,a,b),{slideRegistry:se}=Aut(U,I,xe,we,J,ke),K=Rut(t,n,se,pt,_e,at,a,P),Q={ownerDocument:r,ownerWindow:o,eventHandler:a,containerRect:T,slideRects:R,animation:ve,axis:z,dragHandler:yut(z,t,r,o,qe,vut(z,o),Qe,ve,pt,_e,et,pe,a,Z,g,w,S,Ie,D),eventStore:at,percentOfView:Z,index:pe,indexPrevious:he,limit:ce,location:Qe,offsetLocation:Ue,previousLocation:nt,options:s,resizeHandler:xut(e,a,o,n,z,N,F),scrollBody:_e,scrollBounds:jut(ce,Ue,qe,_e,Z),scrollLooper:Eut(de,ce,Ue,[Qe,Ue,nt,qe]),scrollProgress:ht,scrollSnapList:xe.map(ht.get),scrollSnaps:xe,scrollTarget:et,scrollTo:pt,slideLooper:Tut(z,G,de,$,H,ne,xe,Ue,n),slideFocus:K,slidesHandler:Dut(e,a,M),slidesInView:De,slideIndexes:ke,slideRegistry:se,slidesToScroll:J,target:qe,translate:_ge(z,e)};return Q}function Fut(){let t={},e;function n(u){e=u}function r(u){return t[u]||[]}function o(u){return r(u).forEach(d=>d(e,u)),l}function s(u,d){return t[u]=r(u).concat([d]),l}function a(u,d){return t[u]=r(u).filter(f=>f!==d),l}function i(){t={}}const l={init:n,emit:o,off:a,on:s,clear:i};return l}const But={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function Uut(t){function e(s,a){return Ige(s,a||{})}function n(s){const a=s.breakpoints||{},i=S2(a).filter(l=>t.matchMedia(l).matches).map(l=>a[l]).reduce((l,u)=>e(l,u),{});return e(s,i)}function r(s){return s.map(a=>S2(a.breakpoints||{})).reduce((a,i)=>a.concat(i),[]).map(t.matchMedia)}return{mergeOptions:e,optionsAtMedia:n,optionsMediaQueries:r}}function $ut(t){let e=[];function n(s,a){return e=a.filter(({options:i})=>t.optionsAtMedia(i).active!==!1),e.forEach(i=>i.init(s,t)),a.reduce((i,l)=>Object.assign(i,{[l.name]:l}),{})}function r(){e=e.filter(s=>s.destroy())}return{init:n,destroy:r}}function Yj(t,e,n){const r=t.ownerDocument,o=r.defaultView,s=Uut(o),a=$ut(s),i=E2(),l=Fut(),{mergeOptions:u,optionsAtMedia:d,optionsMediaQueries:f}=s,{on:m,off:g,emit:w}=l,b=z;let j=!1,S,I=u(But,Yj.globalOptions),N=u(I),M=[],D,P,L;function F(){const{container:ke,slides:le}=N;P=(mR(ke)?t.querySelector(ke):ke)||t.children[0];const ve=mR(le)?P.querySelectorAll(le):le;L=[].slice.call(ve||P.children)}function T(ke){const le=zut(t,P,L,r,o,ke,l);if(ke.loop&&!le.slideLooper.canLoop()){const ye=Object.assign({},ke,{loop:!1});return T(ye)}return le}function R(ke,le){j||(I=u(I,ke),N=d(I),M=le||M,F(),S=T(N),f([I,...M.map(({options:ye})=>ye)]).forEach(ye=>i.add(ye,"change",z)),N.active&&(S.translate.to(S.location.get()),S.animation.init(),S.slidesInView.init(),S.slideFocus.init(he),S.eventHandler.init(he),S.resizeHandler.init(he),S.slidesHandler.init(he),S.options.loop&&S.slideLooper.loop(),P.offsetParent&&L.length&&S.dragHandler.init(he),D=a.init(he,M)))}function z(ke,le){const ye=J();G(),R(u({startIndex:ye},ke),le),l.emit("reInit")}function G(){S.dragHandler.destroy(),S.eventStore.clear(),S.translate.clear(),S.slideLooper.clear(),S.resizeHandler.destroy(),S.slidesHandler.destroy(),S.slidesInView.destroy(),S.animation.destroy(),a.destroy(),i.clear()}function Z(){j||(j=!0,i.clear(),G(),l.emit("destroy"),l.clear())}function W(ke,le,ye){!N.active||j||(S.scrollBody.useBaseFriction().useDuration(le===!0?0:N.duration),S.scrollTo.index(ke,ye||0))}function U(ke){const le=S.index.add(1).get();W(le,ke,-1)}function ee(ke){const le=S.index.add(-1).get();W(le,ke,1)}function $(){return S.index.add(1).get()!==J()}function H(){return S.index.add(-1).get()!==J()}function Y(){return S.scrollSnapList}function q(){return S.scrollProgress.get(S.offsetLocation.get())}function J(){return S.index.get()}function ne(){return S.indexPrevious.get()}function re(){return S.slidesInView.get()}function de(){return S.slidesInView.get(!1)}function Ee(){return D}function we(){return S}function xe(){return t}function ce(){return P}function pe(){return L}const he={canScrollNext:$,canScrollPrev:H,containerNode:ce,internalEngine:we,destroy:Z,off:g,on:m,emit:w,plugins:Ee,previousScrollSnap:ne,reInit:b,rootNode:xe,scrollNext:U,scrollPrev:ee,scrollProgress:q,scrollSnapList:Y,scrollTo:W,selectedScrollSnap:J,slideNodes:pe,slidesInView:re,slidesNotInView:de};return R(e,n),setTimeout(()=>l.emit("init"),0),he}Yj.globalOptions=void 0;function ZP(t={},e=[]){const n=h.useRef(t),r=h.useRef(e),[o,s]=h.useState(),[a,i]=h.useState(),l=h.useCallback(()=>{o&&o.reInit(n.current,r.current)},[o]);return h.useEffect(()=>{YP(n.current,t)||(n.current=t,l())},[t,l]),h.useEffect(()=>{fut(r.current,e)||(r.current=e,l())},[e,l]),h.useEffect(()=>{if(uut()&&a){Yj.globalOptions=ZP.globalOptions;const u=Yj(a,n.current,r.current);return s(u),()=>u.destroy()}else s(void 0)},[a,s]),[i,o]}ZP.globalOptions=void 0;const Mge=h.createContext(null);function zE(){const t=h.useContext(Mge);if(!t)throw new Error("useCarousel must be used within a <Carousel />");return t}const Rge=h.forwardRef(({orientation:t="horizontal",opts:e,setApi:n,plugins:r,className:o,children:s,...a},i)=>{const[l,u]=ZP({...e,axis:t==="horizontal"?"x":"y"},r),[d,f]=h.useState(!1),[m,g]=h.useState(!1),w=h.useCallback(I=>{I&&(f(I.canScrollPrev()),g(I.canScrollNext()))},[]),b=h.useCallback(()=>{u==null||u.scrollPrev()},[u]),j=h.useCallback(()=>{u==null||u.scrollNext()},[u]),S=h.useCallback(I=>{I.key==="ArrowLeft"?(I.preventDefault(),b()):I.key==="ArrowRight"&&(I.preventDefault(),j())},[b,j]);return h.useEffect(()=>{!u||!n||n(u)},[u,n]),h.useEffect(()=>{if(u)return w(u),u.on("reInit",w),u.on("select",w),()=>{u==null||u.off("select",w)}},[u,w]),c.jsx(Mge.Provider,{value:{carouselRef:l,api:u,opts:e,orientation:t||((e==null?void 0:e.axis)==="y"?"vertical":"horizontal"),scrollPrev:b,scrollNext:j,canScrollPrev:d,canScrollNext:m},children:c.jsx("div",{ref:i,onKeyDownCapture:S,className:Te("relative",o),role:"region","aria-roledescription":"carousel",...a,children:s})})});Rge.displayName="Carousel";const Tge=h.forwardRef(({className:t,...e},n)=>{const{carouselRef:r,orientation:o}=zE();return c.jsx("div",{ref:r,className:"overflow-hidden",children:c.jsx("div",{ref:n,className:Te("flex",o==="horizontal"?"-ml-4":"-mt-4 flex-col",t),...e})})});Tge.displayName="CarouselContent";const Dge=h.forwardRef(({className:t,...e},n)=>{const{orientation:r}=zE();return c.jsx("div",{ref:n,role:"group","aria-roledescription":"slide",className:Te("min-w-0 shrink-0 grow-0 basis-full",r==="horizontal"?"pl-4":"pt-4",t),...e})});Dge.displayName="CarouselItem";const Lge=h.forwardRef(({className:t,variant:e="outline",size:n="icon",...r},o)=>{const{orientation:s,scrollPrev:a,canScrollPrev:i}=zE();return c.jsxs(Pe,{ref:o,variant:e,size:n,className:Te("absolute h-8 w-8 rounded-full",s==="horizontal"?"left-4 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",i?"":"invisible",t),disabled:!i,onClick:a,...r,children:[c.jsx(Zm,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Previous slide"})]})});Lge.displayName="CarouselPrevious";const Pge=h.forwardRef(({className:t,variant:e="outline",size:n="icon",...r},o)=>{const{orientation:s,scrollNext:a,canScrollNext:i}=zE();return c.jsxs(Pe,{ref:o,variant:e,size:n,className:Te("absolute h-8 w-8 rounded-full",s==="horizontal"?"right-4 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",i?"":"invisible",t),disabled:!i,onClick:a,...r,children:[c.jsx(c7e,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Next slide"})]})});Pge.displayName="CarouselNext";function og(){return og=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},og.apply(this,arguments)}var Vut=.996,Hut=function(e,n){return n===void 0&&(n=Vut),e*n/(1-n)};function Wut(t){return t[t.length-1]}function Yut(t){return t.reduce(function(e,n){return e+n})/t.length}var Gut=function(e,n,r){return Math.min(Math.max(n,e),r)};function y5(t,e){if(t.length!==e.length)throw new Error("vectors must be same length");return t.map(function(n,r){return n+e[r]})}function iZ(t){return Math.max.apply(Math,t.map(Math.abs))}function Ry(t){return Object.freeze(t),Object.values(t).forEach(function(e){e!==null&&typeof e=="object"&&!Object.isFrozen(e)&&Ry(e)}),t}function qut(){var t={};function e(o,s){return t[o]=(t[o]||[]).concat(s),function(){return n(o,s)}}function n(o,s){t[o]=(t[o]||[]).filter(function(a){return a!==s})}function r(o,s){o in t&&t[o].forEach(function(a){return a(s)})}return Ry({on:e,off:n,dispatch:r})}function Kut(t){var e=[],n=function(a){return a.addEventListener("wheel",t,{passive:!1}),e.push(a),function(){return r(a)}},r=function(a){a.removeEventListener("wheel",t),e=e.filter(function(i){return i!==a})},o=function(){e.forEach(r)};return Ry({observe:n,unobserve:r,disconnect:o})}var Zut=16*1.125,Qut=typeof window<"u"&&window.innerHeight||800,v5=[1,Zut,Qut];function Jut(t){var e=t.deltaX*v5[t.deltaMode],n=t.deltaY*v5[t.deltaMode],r=(t.deltaZ||0)*v5[t.deltaMode];return{timeStamp:t.timeStamp,axisDelta:[e,n,r]}}var Xut=[-1,-1,-1];function eft(t,e){if(!e)return t;var n=e===!0?Xut:e.map(function(r){return r?-1:1});return og({},t,{axisDelta:t.axisDelta.map(function(r,o){return r*n[o]})})}var lZ=700,tft=function(e){return og({},e,{axisDelta:e.axisDelta.map(function(n){return Gut(n,-lZ,lZ)})})},nft=.6,rft=.96,oft=2,cZ=5,uZ=Ry({preventWheelAction:!0,reverseSign:[!0,!0,!1]}),sft=400;function fZ(){return{isStarted:!1,isStartPublished:!1,isMomentum:!1,startTime:0,lastAbsDelta:1/0,axisMovement:[0,0,0],axisVelocity:[0,0,0],accelerationFactors:[],scrollPoints:[],scrollPointsToMerge:[],willEndTimeout:sft}}function aft(t){t===void 0&&(t={});var e=qut(),n=e.on,r=e.off,o=e.dispatch,s=uZ,a=fZ(),i,l=!1,u,d=function(W){Array.isArray(W)?W.forEach(function(U){return w(U)}):w(W)},f=function(W){return W===void 0&&(W={}),Object.values(W).some(function(U){return U==null})?s:s=Ry(og({},uZ,s,W))},m=function(W){var U=og({event:i,isStart:!1,isEnding:!1,isMomentumCancel:!1,isMomentum:a.isMomentum,axisDelta:[0,0,0],axisVelocity:a.axisVelocity,axisMovement:a.axisMovement,get axisMovementProjection(){return y5(U.axisMovement,U.axisVelocity.map(function(ee){return Hut(ee)}))}},W);o("wheel",og({},U,{previous:u})),u=U},g=function(W,U){var ee=s,$=ee.preventWheelAction,H=U[0],Y=U[1],q=U[2];if(typeof $=="boolean")return $;switch($){case"x":return Math.abs(H)>=W;case"y":return Math.abs(Y)>=W;case"z":return Math.abs(q)>=W;default:return!1}},w=function(W){var U=tft(eft(Jut(W),s.reverseSign)),ee=U.axisDelta,$=U.timeStamp,H=iZ(ee);if(W.preventDefault&&g(H,ee)&&W.preventDefault(),a.isStarted?a.isMomentum&&H>Math.max(2,a.lastAbsDelta*2)&&(F(!0),P()):P(),H===0&&Object.is&&Object.is(W.deltaX,-0)){l=!0;return}i=W,a.axisMovement=y5(a.axisMovement,ee),a.lastAbsDelta=H,a.scrollPointsToMerge.push({axisDelta:ee,timeStamp:$}),b(),m({axisDelta:ee,isStart:!a.isStartPublished}),a.isStartPublished=!0,L()},b=function(){a.scrollPointsToMerge.length===oft?(a.scrollPoints.unshift({axisDeltaSum:a.scrollPointsToMerge.map(function(W){return W.axisDelta}).reduce(y5),timeStamp:Yut(a.scrollPointsToMerge.map(function(W){return W.timeStamp}))}),S(),a.scrollPointsToMerge.length=0,a.scrollPoints.length=1,a.isMomentum||M()):a.isStartPublished||j()},j=function(){a.axisVelocity=Wut(a.scrollPointsToMerge).axisDelta.map(function(W){return W/a.willEndTimeout})},S=function(){var W=a.scrollPoints,U=W[0],ee=W[1];if(!(!ee||!U)){var $=U.timeStamp-ee.timeStamp;if(!($<=0)){var H=U.axisDeltaSum.map(function(q){return q/$}),Y=H.map(function(q,J){return q/(a.axisVelocity[J]||1)});a.axisVelocity=H,a.accelerationFactors.push(Y),I($)}}},I=function(W){var U=Math.ceil(W/10)*10*1.2;a.isMomentum||(U=Math.max(100,U*2)),a.willEndTimeout=Math.min(1e3,Math.round(U))},N=function(W){return W===0?!0:W<=rft&&W>=nft},M=function(){if(a.accelerationFactors.length>=cZ){if(l&&(l=!1,iZ(a.axisVelocity)>=.2)){D();return}var W=a.accelerationFactors.slice(cZ*-1),U=W.every(function(ee){var $=!!ee.reduce(function(Y,q){return Y&&Y<1&&Y===q?1:0}),H=ee.filter(N).length===ee.length;return $||H});U&&D(),a.accelerationFactors=W}},D=function(){a.isMomentum=!0},P=function(){a=fZ(),a.isStarted=!0,a.startTime=Date.now(),u=void 0,l=!1},L=(function(){var Z;return function(){clearTimeout(Z),Z=setTimeout(F,a.willEndTimeout)}})(),F=function(W){W===void 0&&(W=!1),a.isStarted&&(a.isMomentum&&W?m({isEnding:!0,isMomentumCancel:!0}):m({isEnding:!0}),a.isMomentum=!1,a.isStarted=!1)},T=Kut(d),R=T.observe,z=T.unobserve,G=T.disconnect;return f(t),Ry({on:n,off:r,observe:R,unobserve:z,disconnect:G,feedWheel:d,updateOptions:f})}var ift={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};QP.globalOptions=void 0;function QP(t){t===void 0&&(t={});var e,n=function(){};function r(s,a){var i,l,u=a.mergeOptions,d=a.optionsAtMedia,f=u(ift,QP.globalOptions),m=u(f,t);e=d(m);var g=s.internalEngine(),w=(i=e.target)!=null?i:s.containerNode().parentNode,b=(l=e.forceWheelAxis)!=null?l:g.options.axis,j=aft({preventWheelAction:b,reverseSign:[!0,!0,!1]});function S(){L=(b==="x"?g.containerRect.width:g.containerRect.height)/2}var I=j.observe(w),N=j.on("wheel",H),M=!1,D,P=0,L=0,F=!1;S(),s.on("resize",S);function T(Y){try{D=new MouseEvent("mousedown",Y.event),U(D)}catch{return n()}M=!0,P=0,z(),e.wheelDraggingClass&&w.classList.add(e.wheelDraggingClass)}function R(Y){M=!1,U(W("mouseup",Y)),G(),e.wheelDraggingClass&&w.classList.remove(e.wheelDraggingClass)}function z(){document.documentElement.addEventListener("mousemove",Z,!0),document.documentElement.addEventListener("mouseup",Z,!0),document.documentElement.addEventListener("mousedown",Z,!0)}function G(){document.documentElement.removeEventListener("mousemove",Z,!0),document.documentElement.removeEventListener("mouseup",Z,!0),document.documentElement.removeEventListener("mousedown",Z,!0)}function Z(Y){M&&Y.isTrusted&&Y.stopImmediatePropagation()}function W(Y,q){var J,ne;if(b===g.options.axis){var re=q.axisMovement;J=re[0],ne=re[1]}else{var de=q.axisMovement;ne=de[0],J=de[1]}var Ee=ee(q),we=Ee.isAtBoundary;if(we){var xe=Math.min(P/L,1),ce=.25+xe*.5,pe=J>0?-1:1,he=P*pe,ke=he*ce;J+=ke,ne+=ke}if(!g.options.skipSnaps&&!g.options.dragFree){var le=g.containerRect.width,ye=g.containerRect.height;J=J<0?Math.max(J,-le):Math.min(J,le),ne=ne<0?Math.max(ne,-ye):Math.min(ne,ye)}return new MouseEvent(Y,{clientX:D.clientX+J,clientY:D.clientY+ne,screenX:D.screenX+J,screenY:D.screenY+ne,movementX:J,movementY:ne,button:0,bubbles:!0,cancelable:!0,composed:!0})}function U(Y){s.containerNode().dispatchEvent(Y)}function ee(Y){var q=Y.axisDelta,J=q[0],ne=q[1],re=s.scrollProgress(),de=re<1,Ee=re>0,we=b==="x"?J:ne,xe=we<0,ce=we>0,pe=xe&&!de||ce&&!Ee;return{isAtBoundary:pe,primaryAxisDelta:we}}function $(Y){var q=ee(Y),J=q.isAtBoundary,ne=q.primaryAxisDelta;if(J&&!Y.isMomentum){if(P+=Math.abs(ne),P>L)return F=!0,R(Y),!0}else P=0;return!1}function H(Y){var q=Y.axisDelta,J=q[0],ne=q[1],re=b==="x"?J:ne,de=b==="x"?ne:J,Ee=Y.isMomentum&&Y.previous&&!Y.previous.isMomentum,we=Y.isEnding&&!Y.isMomentum||Ee,xe=Math.abs(re)>Math.abs(de);xe&&!M&&!Y.isMomentum&&!F&&T(Y),F&&Y.isEnding&&(F=!1),M&&($(Y)||(we?R(Y):U(W("mousemove",Y))))}n=function(){I(),N(),s.off("resize",S),G()}}var o={name:"wheelGestures",options:t,init:r,destroy:function(){return n()}};return o}function dZ({event:t,className:e}){const{push:n}=Cn(),r=h.useMemo(()=>zk(t),[t]);return c.jsxs("div",{className:Te("clickable border rounded-lg bg-muted/20 p-3 h-full",e),onClick:()=>n(vl(t)),children:[c.jsx("div",{className:"flex justify-between items-start gap-2",children:c.jsxs("div",{className:"flex items-center space-x-2 flex-1",children:[c.jsx(ec,{userId:t.pubkey,size:"medium"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(od,{userId:t.pubkey,className:"font-semibold flex truncate text-sm",skeletonClassName:"h-3"}),c.jsx(JL,{event:t})]}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(uc,{pubkey:t.pubkey,append:"·"}),c.jsx(mh,{timestamp:t.created_at,className:"shrink-0",short:!0})]})]})]})}),c.jsx(H7,{stars:r,className:"mt-2 gap-0.5 [&_svg]:size-3"}),c.jsx(ky,{className:"mt-2 line-clamp-4",event:t})]})}const fv=h.forwardRef(({className:t,...e},n)=>c.jsx("textarea",{className:Te("flex min-h-[80px] w-full rounded-lg border border-input bg-background select-text px-3 py-2 text-base placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-all duration-200 hover:border-ring/50 resize-none",t),ref:n,...e}));fv.displayName="Textarea";function lft({relayUrl:t,onReviewed:e}){const{t:n}=Ke(),{publish:r}=wt(),[o,s]=h.useState(0),[a,i]=h.useState(0),[l,u]=h.useState(""),[d,f]=h.useState(!1),m=h.useMemo(()=>o>0&&!!l.trim(),[o,l]),g=async()=>{if(m){f(!0);try{const w=_Ae(t,l,o),b=await r(w);e(b)}catch(w){w instanceof AggregateError?w.errors.forEach(b=>on.error(`${n("Failed to review")}: ${b.message}`)):w instanceof Error&&on.error(`${n("Failed to review")}: ${w.message}`),console.error(w);return}finally{f(!1)}}};return c.jsxs("div",{className:"px-4 space-y-2",children:[c.jsx(fv,{className:"min-h-36",placeholder:n("Write a review and pick a star rating"),value:l,onChange:w=>u(w.target.value)}),c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsx("div",{className:"flex items-center",children:Array.from({length:5}).map((w,b)=>c.jsx("div",{className:"pr-2 cursor-pointer",onMouseEnter:()=>i(b+1),onMouseLeave:()=>i(0),children:b<(a||o)?c.jsx(ld,{className:"size-6 text-yellow-400 fill-yellow-400",onClick:()=>s(b+1)}):c.jsx(ld,{className:"size-6 text-muted-foreground",onClick:()=>s(b+1)})},b))}),c.jsxs(Pe,{disabled:!m,variant:m?"default":"secondary",onClick:g,children:[d&&c.jsx(ao,{className:"animate-spin"}),n("Submit")]})]})]})}function cft({relayUrl:t}){const{t:e}=Ke(),{push:n}=Cn(),{pubkey:r,checkLogin:o}=wt(),{hideUntrustedNotes:s,isUserTrusted:a,isSpammer:i}=$s(),{mutePubkeySet:l}=ns(),[u,d]=h.useState(!1),[f,m]=h.useState(null),[g,w]=h.useState([]),[b,j]=h.useState(!1),{stars:S,count:I}=h.useMemo(()=>{let M=0,D=0;return[f,...g].forEach(P=>{if(!P)return;const L=zk(P);L&&(M+=L,D+=1)}),{stars:D>0?+(M/D).toFixed(1):0,count:D}},[f,g]);h.useEffect(()=>{(async()=>{const D=[{kinds:[gt.RELAY_REVIEW],"#d":[t],limit:100}];r&&D.push({kinds:[gt.RELAY_REVIEW],authors:[r],"#d":[t]});const P=await Oe.fetchEvents([t,...Oe.currentRelays],D,{cache:!0}),L=new Set,F=[];let T=null;P.sort((z,G)=>dg(G,z));for(const z of P)l.has(z.pubkey)||L.has(z.pubkey)||!zk(z)||(L.add(z.pubkey),z.pubkey===r?T=z:F.push(z));const R=(await Promise.all(F.map(async z=>await i(z.pubkey)?null:z))).filter(Boolean);m(T),w(R),j(!0)})()},[t,r,l,s,a]);const N=M=>{m(M),d(!1)};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"px-4 flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"text-lg font-semibold",children:S}),c.jsx(H7,{stars:S})]}),c.jsx("div",{className:Te("text-sm text-muted-foreground",I>0&&"underline cursor-pointer hover:text-foreground"),onClick:()=>{I>0&&n(Die(t))},children:e("{{count}} reviews",{count:I})})]}),!u&&!f&&c.jsx(Pe,{variant:"outline",onClick:()=>o(()=>d(!0)),children:e("Write a review")})]}),u&&c.jsx(lft,{relayUrl:t,onReviewed:N}),f||g.length>0?c.jsx(uft,{relayUrl:t,myReview:f,reviews:g}):u?null:c.jsx("div",{className:"flex items-center justify-center text-sm text-muted-foreground p-4",children:e(b?"No reviews yet. Be the first to write one!":"Loading...")})]})}function uft({relayUrl:t,myReview:e,reviews:n}){const{t:r}=Ke(),{push:o}=Cn(),s=h.useMemo(()=>!uu(),[]);return c.jsxs(Rge,{opts:{skipSnaps:!0},plugins:[QP()],children:[c.jsxs(Tge,{className:"ml-4 mr-2",children:[e&&c.jsx(w5,{children:c.jsx(dZ,{event:e,className:"border-primary/60 bg-primary/5"})},e.id),n.slice(0,10).map(a=>c.jsx(w5,{children:c.jsx(dZ,{event:a})},a.id)),n.length>10&&c.jsx(w5,{children:c.jsx("div",{className:"border rounded-lg bg-muted/20 p-3 flex items-center justify-center h-full hover:bg-muted cursor-pointer",onClick:()=>o(Die(t)),children:c.jsx("div",{className:"text-sm text-muted-foreground",children:r("View more reviews")})})})]}),s&&c.jsx(Lge,{}),s&&c.jsx(Pge,{})]})}function w5({children:t}){const{enableSingleColumnLayout:e}=ts();return c.jsx(Dge,{className:Te("basis-11/12 pl-0 pr-2",e?"md:basis-5/12 lg:basis-7/12":"lg:basis-2/3 2xl:basis-5/12"),children:t})}function Oge({url:t,className:e}){var m;const{t:n}=Ke(),{checkLogin:r}=wt(),{relayInfo:o,isFetching:s}=PS(t),[a,i]=h.useState(!1),[l,u]=h.useState(!1),d=h.useMemo(()=>bie(o),[o]),f=h.useMemo(()=>!d||l,[d,l]);return s||!o?null:c.jsxs("div",{className:Te("space-y-4 mb-2",e),children:[c.jsxs("div",{className:"px-4 space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[c.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[c.jsx(iu,{url:t,className:"w-8 h-8"}),c.jsx("div",{className:"text-2xl font-semibold truncate select-text flex-1 w-0",children:o.name||o.shortUrl})]}),c.jsx(dft,{url:o.url})]}),!!((m=o.tags)!=null&&m.length)&&c.jsx("div",{className:"flex gap-2",children:o.tags.map(g=>c.jsx(Vl,{variant:"secondary",children:g}))}),o.description&&c.jsx("div",{className:"text-wrap break-words whitespace-pre-wrap mt-2 select-text",children:o.description})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Homepage")}),c.jsx("a",{href:ry(o.url),target:"_blank",className:"hover:underline text-primary select-text truncate block w-fit max-w-full",children:ry(o.url)})]}),c.jsxs(Fa,{className:"overflow-x-auto",children:[c.jsxs("div",{className:"flex gap-8 pb-2",children:[o.pubkey&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Operator")}),c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(Ro,{userId:o.pubkey,size:"small"}),c.jsx(zs,{userId:o.pubkey,className:"font-semibold text-nowrap"})]})]}),o.contact&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Contact")}),c.jsxs("div",{className:"flex gap-2 items-center font-semibold select-text text-nowrap",children:[c.jsx(jS,{}),o.contact]})]}),o.software&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Software")}),c.jsxs("div",{className:"flex gap-2 items-center font-semibold select-text text-nowrap",children:[c.jsx(G7e,{}),fft(o.software)]})]}),o.version&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Version")}),c.jsxs("div",{className:"flex gap-2 items-center font-semibold select-text text-nowrap",children:[c.jsx(C7e,{}),o.version]})]})]}),c.jsx(Ed,{orientation:"horizontal"})]}),c.jsx(lut,{relayInfo:o,onMembershipStatusChange:u}),f&&c.jsxs(c.Fragment,{children:[c.jsx(Pe,{variant:"secondary",className:"w-full",onClick:()=>r(()=>i(!0)),children:n("Share something on this Relay")}),c.jsx(r1,{open:a,setOpen:i})]})]}),c.jsx(cft,{relayUrl:t})]})}function fft(t){const e=t.split("/");return e[e.length-1]}function dft({url:t}){const[e,n]=h.useState(!1),[r,o]=h.useState(!1),s=()=>{navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),2e3)},a=()=>{navigator.clipboard.writeText(`https://smesh.mleku.dev/?r=${t}`),o(!0),on.success("Shareable URL copied to clipboard"),setTimeout(()=>o(!1),2e3)};return c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",onClick:a,children:r?c.jsx(Zr,{}):c.jsx(n2,{})}),c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",onClick:s,children:e?c.jsx(Zr,{}):c.jsx(La,{})}),c.jsx(WP,{urls:[t],bigButton:!0})]})}function JP({url:t,className:e}){var f;const{t:n}=Ke(),{addRelayUrls:r,removeRelayUrls:o}=U7(),s=h.useMemo(()=>t?so(t):void 0,[t]),{relayInfo:a}=PS(s),[i,l]=h.useState(""),[u,d]=h.useState(i);return h.useEffect(()=>{if(s)return r([s]),()=>{o([s])}},[s]),h.useEffect(()=>{const m=setTimeout(()=>{d(i)},1e3);return()=>{clearTimeout(m)}},[i]),s?c.jsxs("div",{className:e,children:[c.jsx(Oge,{url:s,className:"pt-3"}),((f=a==null?void 0:a.supported_nips)==null?void 0:f.includes(50))&&c.jsx("div",{className:"px-4 py-2",children:c.jsx(FS,{value:i,onChange:m=>l(m.target.value),placeholder:n("Search")})}),c.jsx(sd,{subRequests:[{urls:[s],filter:u?{search:u}:{}}],showRelayCloseReason:!0})]}):c.jsx($P,{})}const pft={search:{titleKey:"Search Relays Not Configured",descriptionKey:"Configure search relays to enable searching for users and notes. Search queries will only be sent to relays you explicitly configure.",settingsPath:"/settings"},nrc:{titleKey:"NRC Relay Not Configured",descriptionKey:"Configure a rendezvous relay to enable Nostr Relay Connect (NRC) for device pairing. Your connection requests will only be sent to the relay you configure.",settingsPath:"/settings"},dm:{titleKey:"Relay Configuration Required",descriptionKey:"Direct messages require relay configuration. Configure your relay list to enable private messaging.",settingsPath:"/settings/relays#mailbox"},bunker:{titleKey:"Bunker Relay Not Configured",descriptionKey:"Enter a relay URL to use for bunker authentication. Your connection will only use the relay you specify.",settingsPath:""}};function yR({type:t,className:e}){const{t:n}=Ke(),r=pft[t];return c.jsxs(_E,{className:e,children:[c.jsx(Pme,{className:"pb-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("div",{className:"p-2 rounded-full bg-muted",children:c.jsx(F7e,{className:"size-5 text-muted-foreground"})}),c.jsx("div",{children:c.jsx(Ome,{className:"text-base",children:n(r.titleKey)})})]})}),c.jsxs(Fme,{className:"space-y-4",children:[c.jsx(zme,{className:"text-sm",children:n(r.descriptionKey)}),r.settingsPath&&c.jsx(Xl,{to:r.settingsPath,children:c.jsxs(Pe,{variant:"outline",size:"sm",className:"gap-2",children:[c.jsx(Ch,{className:"size-4"}),n("Configure Relays")]})})]})]})}function XP({searchParams:t}){if(!t)return null;if(t.type==="profile")return c.jsx(HP,{id:t.search});if(t.type==="profiles")return Ze.hasCustomSearchRelays()?c.jsx(Nge,{search:t.search}):c.jsx("div",{className:"p-4",children:c.jsx(yR,{type:"search"})});if(t.type==="notes"){const e=Ze.getSearchRelays();return e.length===0?c.jsx("div",{className:"p-4",children:c.jsx(yR,{type:"search"})}):c.jsx(sd,{subRequests:[{urls:e,filter:{search:t.search}}],showRelayCloseReason:!0})}return t.type==="hashtag"?c.jsx(sd,{subRequests:[{urls:Oe.currentRelays,filter:{"#t":[t.search]}}],showRelayCloseReason:!0}):t.type==="nak"?c.jsx(sd,{subRequests:[t.request],showRelayCloseReason:!0}):c.jsx(JP,{url:t.search})}function hft({open:t,onClose:e}){const[n,r]=h.useState(""),[o,s]=h.useState(null),a=h.useRef(null),i=h.useRef(null);h.useEffect(()=>{t?setTimeout(()=>{var u;return(u=a.current)==null?void 0:u.focus()},100):(r(""),s(null))},[t]);const l=u=>{var d;s(u),u!=null&&u.input&&r(u.input),(d=i.current)==null||d.scrollTo({top:0,behavior:"instant"})};return t?c.jsxs("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:[c.jsxs("div",{className:"flex items-center h-12 border-b bg-background",children:[c.jsx("button",{onClick:e,className:"flex items-center justify-center w-12 h-full hover:bg-accent transition-colors","aria-label":"Close search",children:c.jsx(Zm,{className:"w-5 h-5"})}),c.jsx("div",{className:"flex-1 h-full pr-3",children:c.jsx(DE,{ref:a,onSearch:l,input:n,setInput:r})})]}),c.jsx("div",{ref:i,className:"flex-1 overflow-y-auto bg-background",children:c.jsx(XP,{searchParams:o})})]}):null}function pZ(){const{isSmallScreen:t}=gn(),{checkLogin:e}=wt(),{openCompose:n}=IL(),[r,o]=h.useState(!1);return t?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"fixed z-40 flex flex-col items-center gap-3",style:{bottom:"calc(16px + env(safe-area-inset-bottom))",right:"16px"},children:[c.jsx("button",{onClick:()=>o(!0),className:"flex items-center justify-center size-10 rounded-full bg-muted text-foreground shadow-md active:scale-95 transition-transform","aria-label":"Search",children:c.jsx(tx,{className:"size-5"})}),c.jsx("button",{onClick:()=>e(()=>n()),className:"flex items-center justify-center size-14 rounded-full bg-primary text-primary-foreground shadow-lg active:scale-95 transition-transform","aria-label":"Compose",children:c.jsx(r2,{className:"size-6"})})]}),c.jsx(hft,{open:r,onClose:()=>o(!1)})]}):null}const zge="/assets/smeshiconlight-CFHlRXIS.png";function mft({className:t}){const{theme:e}=vf(),n=e==="light"?zge:ML;return c.jsx("img",{src:n,alt:"Smesh",className:t})}const gft="/assets/smeshlight-BmXzY5ni.png",yft="/assets/smeshdark-DeEYtFvt.png";function Fge({className:t}){const{theme:e}=vf(),n=e==="light"?gft:yft;return c.jsx("img",{src:n,alt:"Smesh",className:t})}function Bge({open:t=!1,setOpen:e}){const{t:n}=Ke(),{isSmallScreen:r}=gn(),{account:o,removeAccount:s}=wt();return r?c.jsx(io,{defaultOpen:!1,open:t,onOpenChange:e,children:c.jsxs(lo,{children:[c.jsxs(wf,{children:[c.jsx(bd,{children:n("Logout")}),c.jsx(Wg,{children:n("Are you sure you want to logout?")})]}),c.jsxs(NS,{children:[c.jsx(Pe,{variant:"outline",onClick:()=>e(!1),className:"w-full",children:n("Cancel")}),c.jsx(Pe,{variant:"destructive",onClick:()=>{o&&(e(!1),s(o))},className:"w-full",children:n("Logout")})]})]})}):c.jsx(cf,{defaultOpen:!1,open:t,onOpenChange:e,children:c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:n("Logout")}),c.jsx(au,{children:n("Are you sure you want to logout?")})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:n("Cancel")}),c.jsx(uf,{variant:"destructive",onClick:()=>{o&&s(o)},children:n("Logout")})]})]})})}const wl=h.forwardRef(({children:t,title:e,description:n,className:r,active:o,collapse:s,navIndex:a,onClick:i,...l},u)=>{const{t:d}=Ke(),f=h.useRef(null),m=h.useCallback(()=>{var b;(b=f.current)==null||b.click()},[]),{ref:g,isSelected:w}=o1(0,a??0,{meta:{type:"sidebar",onActivate:m}});return c.jsx("div",{ref:g,children:c.jsxs(Pe,{className:Te("flex shadow-none items-center transition-colors duration-500 bg-transparent m-0 rounded-lg gap-4 text-lg font-semibold",s?"w-12 h-12 p-3 [&_svg]:size-full":"justify-start w-full h-auto py-2 px-3 [&_svg]:size-5",o&&"text-primary hover:text-primary bg-primary/10 hover:bg-primary/10",w&&"ring-2 ring-primary ring-offset-2 ring-offset-background",r),variant:"ghost",title:d(e),ref:f,onClick:i,...l,children:[t,!s&&c.jsx("div",{children:d(n??e)})]})})});wl.displayName="SidebarItem";function Uge({collapse:t}){const{pubkey:e}=wt();return e?c.jsx(vft,{collapse:t}):c.jsx(wft,{collapse:t})}function vft({collapse:t}){const{t:e}=Ke(),{account:n,accounts:r,switchAccount:o}=wt(),s=n==null?void 0:n.pubkey,{push:a}=Cn(),{isSmallScreen:i}=gn(),{close:l}=lve(),[u,d]=h.useState(!1),[f,m]=h.useState(!1),[g,w]=h.useState(!1);if(!s)return null;const b=()=>{d(!1),i?(l(),setTimeout(()=>m(!0),150)):m(!0)},j=()=>{d(!1),i?(l(),setTimeout(()=>w(!0),150)):w(!0)};return c.jsxs(c.Fragment,{children:[c.jsxs(li,{open:u,onOpenChange:d,children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",className:Te("clickable shadow-none p-2 flex items-center bg-transparent text-foreground hover:text-accent-foreground rounded-lg justify-start gap-4 text-lg font-semibold",t?"w-12 h-12":"w-full h-auto"),children:c.jsxs("div",{className:"flex gap-2 items-center flex-1 w-0",children:[c.jsx(ec,{size:"medium",userId:s}),!t&&c.jsx(od,{className:"truncate font-semibold text-lg",userId:s})]})})}),c.jsxs(ci,{side:"top",className:"w-72",children:[c.jsxs(Er,{onClick:()=>a(NL()),children:[c.jsx(lL,{}),e("Wallet")]}),c.jsx(hh,{}),c.jsx(ZS,{children:e("Switch account")}),r.map(S=>c.jsxs(Er,{className:S.pubkey===s?"cursor-default focus:bg-background":"",onClick:()=>{S.pubkey!==s&&o(S)},children:[c.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[c.jsx(ec,{userId:S.pubkey}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(od,{userId:S.pubkey,className:"font-medium truncate",skeletonClassName:"h-3"}),c.jsx(Pae,{signerType:S.signerType})]})]}),c.jsx("div",{className:Te("border border-muted-foreground rounded-full size-3.5",S.pubkey===s&&"size-4 border-4 border-primary")})]},`${S.pubkey}:${S.signerType}`)),c.jsx(Er,{onClick:b,className:"border border-dashed m-2 focus:border-muted-foreground focus:bg-background",children:c.jsxs("div",{className:"flex gap-2 items-center justify-center w-full py-2",children:[c.jsx(Xc,{}),e("Add an Account")]})}),c.jsxs(Er,{className:"text-destructive focus:text-destructive",onClick:j,children:[c.jsx(kS,{}),c.jsx("span",{className:"shrink-0",children:e("Logout")}),c.jsx(od,{userId:s,className:"text-muted-foreground border border-muted-foreground px-1 rounded-md text-xs truncate"})]}),c.jsx(hh,{}),c.jsxs(Er,{onClick:()=>window.location.reload(),children:[c.jsx(Hl,{}),e("Force Reload")]})]})]}),c.jsx(ZE,{open:f,setOpen:m}),c.jsx(Bge,{open:g,setOpen:w})]})}function wft({collapse:t}){const{checkLogin:e}=wt();return c.jsx(wl,{onClick:()=>e(),title:"Login",collapse:t,children:c.jsx(X2,{})})}function $ge({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=$o(),{checkLogin:s}=wt(),{clearColumn:a}=ii(),i=()=>{s(()=>{n("bookmark"),a(1)})};return c.jsx(wl,{title:"Library",onClick:i,active:o&&r==="bookmark",collapse:t,navIndex:e,children:c.jsx(tae,{})})}const J3=672*60*60,bft=[{label:"1 week",value:10080*60},{label:"2 weeks",value:336*60*60},{label:"4 weeks",value:672*60*60},{label:"2 months",value:1440*60*60},{label:"3 months",value:2160*60*60},{label:"6 months",value:4320*60*60},{label:"9 months",value:270*24*60*60},{label:"12 months",value:360*24*60*60}],hZ=40,mZ=41,b5=42,gZ=43,yZ=44;function Vge(t){return t.access_mode==="open"||t.access_mode==="whitelist"||t.access_mode==="blacklist"?t.access_mode:t.invite_only===!1?"open":"whitelist"}function xft(t){try{const e=JSON.parse(t.content);return{id:t.id,name:e.name||"unnamed",about:e.about||"",picture:e.picture,creator:t.pubkey,createdAt:t.created_at,accessMode:Vge(e),messageExpiry:typeof e.message_expiry=="number"?e.message_expiry:void 0,mods:[],members:[],blocked:[],invited:[],requested:[],rejected:[]}}catch{return null}}function vZ(t){const e=t.tags.find(n=>n[0]==="e"&&(n[3]==="root"||n.length===2));return e?{id:t.id,channelId:e[1],content:t.content,pubkey:t.pubkey,createdAt:t.created_at,event:t}:null}class kft{async fetchChannels(e){return(await Oe.fetchEvents([e],{kinds:[hZ],limit:100})).map(xft).filter(r=>r!==null).sort((r,o)=>o.createdAt-r.createdAt)}async fetchMessages(e,n,r=50,o){const s={kinds:[b5],"#e":[n],limit:r};return o&&(s.until=o),(await Oe.fetchEvents([e],s)).map(vZ).filter(i=>i!==null).sort((i,l)=>i.createdAt-l.createdAt)}async fetchChannelMeta(e,n){const r=await Oe.fetchEvents([e],{kinds:[mZ],"#e":[n],limit:1});if(r.length===0)return null;const o=r[0],s=[],a=[],i=[],l=[],u=[],d=[];for(const g of o.tags){if(g[0]!=="p")continue;const w=g[1],b=g[2],j=g[3]||"";b==="mod"?s.push(w):b==="member"?a.push({pubkey:w,addedBy:j}):b==="blocked"?i.push({pubkey:w,addedBy:j}):b==="invited"?l.push({pubkey:w,addedBy:j}):b==="requested"?u.push(w):b==="rejected"&&d.push(w)}let f="whitelist",m;try{const g=JSON.parse(o.content);f=Vge(g),typeof g.message_expiry=="number"&&(m=g.message_expiry)}catch{}return{mods:s,members:a,blocked:i,invited:l,requested:u,rejected:d,accessMode:f,messageExpiry:m}}async fetchHiddenMessageIds(e,n,r){if(r.length===0)return new Set;const o=await Oe.fetchEvents([e],{kinds:[gZ],authors:r,limit:500}),s=new Set;for(const a of o){const i=a.tags.find(l=>l[0]==="e");i&&s.add(i[1])}return s}async fetchBlockedUsers(e,n,r){if(r.length===0)return new Set;const o=await Oe.fetchEvents([e],{kinds:[yZ],"#e":[n],authors:r,limit:500}),s=new Set;for(const a of o){const i=a.tags.find(l=>l[0]==="p");i&&s.add(i[1])}return s}subscribeMessages(e,n,r){return Oe.subscribe([e],{kinds:[b5],"#e":[n],since:Math.floor(Date.now()/1e3)},{onevent:o=>{const s=vZ(o);s&&r(s)}})}createChannelDraft(e,n,r="whitelist"){return{kind:hZ,created_at:Math.floor(Date.now()/1e3),tags:[],content:JSON.stringify({name:e,about:n,access_mode:r})}}createMessageDraft(e,n,r,o){const s=Math.floor(Date.now()/1e3);return{kind:b5,created_at:s,tags:[["e",e,n,"root"],["expiration",String(s+(o??J3))]],content:r}}createMetadataUpdateDraft(e,n,r,o,s,a,i,l,u){const d=[["e",e,n,"root"]];for(const f of o)d.push(["p",f,"mod"]);for(const f of s)d.push(["p",f.pubkey,"member",f.addedBy]);for(const f of a)d.push(["p",f.pubkey,"blocked",f.addedBy]);for(const f of i)d.push(["p",f.pubkey,"invited",f.addedBy]);for(const f of l)d.push(["p",f,"requested"]);for(const f of u)d.push(["p",f,"rejected"]);return{kind:mZ,created_at:Math.floor(Date.now()/1e3),tags:d,content:JSON.stringify(r)}}createHideMessageDraft(e,n,r=""){const o=Math.floor(Date.now()/1e3);return{kind:gZ,created_at:o,tags:[["e",e,n,"root"],["expiration",String(o+J3)]],content:r}}createBlockUserDraft(e,n,r,o=""){const s=Math.floor(Date.now()/1e3);return{kind:yZ,created_at:s,tags:[["e",e,r,"root"],["p",n],["expiration",String(s+J3)]],content:o}}}const Dl=new kft;function jft(t){try{return JSON.parse(localStorage.getItem(t)||"{}")}catch{return{}}}function Cft(t,e){localStorage.setItem(t,JSON.stringify(e))}function Sft(t){try{return new Set(JSON.parse(localStorage.getItem(t)||"[]"))}catch{return new Set}}function Eft(t,e){localStorage.setItem(t,JSON.stringify([...e]))}const Hge=h.createContext(void 0);function hc(){const t=h.useContext(Hge);if(!t)throw new Error("useChat must be used within ChatProvider");return t}const Nft="wss://relay.orly.dev/";function Ift({children:t}){const{pubkey:e,signEvent:n}=wt(),[r,o]=h.useState(Nft),[s,a]=h.useState([]),[i,l]=h.useState(null),[u,d]=h.useState([]),[f,m]=h.useState(!1),[g,w]=h.useState(!1),b=h.useRef(null),j=h.useRef(new Set),[S,I]=h.useState({}),[N,M]=h.useState(new Set),[,D]=h.useState({}),P=h.useRef(null),[L,F]=h.useState([]),[T,R]=h.useState([]),[z,G]=h.useState([]),[Z,W]=h.useState([]),[U,ee]=h.useState([]),[$,H]=h.useState([]),[Y,q]=h.useState("whitelist"),[J,ne]=h.useState(new Set);h.useEffect(()=>{P.current=i},[i]),h.useEffect(()=>{e&&(jft(`nirc:lastSeen:${e}`),M(Sft(`nirc:muted:${e}`)))},[e]);const re=h.useMemo(()=>!e||!i?!1:i.creator===e?!0:L.includes(e),[e,i,L]),de=h.useMemo(()=>!e||!i?!1:Y==="open"||i.creator===e||L.includes(e)?!0:Y==="whitelist"?T.some(Ce=>Ce.pubkey===e)||Z.some(Ce=>Ce.pubkey===e):Y==="blacklist"?!z.some(Ce=>Ce.pubkey===e):!1,[e,i,Y,L,T,Z,z]),Ee=h.useMemo(()=>{const Ce=new Set;for(const me of u)Ce.add(me.pubkey);for(const me of T)Ce.add(me.pubkey);for(const me of Z)Ce.add(me.pubkey);for(const me of L)Ce.add(me);return i&&Ce.add(i.creator),[...Ce]},[u,T,Z,L,i]),we=h.useMemo(()=>Object.entries(S).some(([Ce,me])=>me>0&&!N.has(Ce)),[S,N]),xe=h.useCallback(Ce=>{I(We=>{if(!We[Ce])return We;const Xe={...We};return delete Xe[Ce],Xe});const me=Math.floor(Date.now()/1e3);D(We=>{const Xe={...We,[Ce]:me};return e&&Cft(`nirc:lastSeen:${e}`,Xe),Xe})},[e]),ce=h.useCallback(Ce=>{M(me=>{const We=new Set(me);return We.has(Ce)?We.delete(Ce):We.add(Ce),e&&Eft(`nirc:muted:${e}`,We),We})},[e]),pe=h.useCallback(async()=>{m(!0);try{const Ce=await Dl.fetchChannels(r);a(Ce)}finally{m(!1)}},[r]);h.useEffect(()=>{pe()},[pe]);const he=h.useCallback(async Ce=>{const me=await Dl.fetchChannelMeta(r,Ce.id),We=Ce.creator;let Xe=[],Re=[],ze=[],rt=[],vt=[],mt=[],Ot=Ce.accessMode;me&&(Xe=me.mods,Re=me.members,ze=me.blocked,rt=me.invited,vt=me.requested,mt=me.rejected,Ot=me.accessMode,Ce.accessMode=Ot,me.messageExpiry!==void 0&&(Ce.messageExpiry=me.messageExpiry)),Xe.includes(We)||(Xe=[We,...Xe]),F(Xe),R(Re),G(ze),W(rt),ee(vt),H(mt),q(Ot);const qt=Xe,kt=await Dl.fetchHiddenMessageIds(r,Ce.id,qt);ne(kt);const Ct=await Dl.fetchBlockedUsers(r,Ce.id,qt);Ct.size>0&&G(Pt=>{const yt=new Set(Pt.map(bt=>bt.pubkey)),$t=[...Ct].filter(bt=>!yt.has(bt)).map(bt=>({pubkey:bt,addedBy:""}));return[...Pt,...$t]})},[r]),ke=h.useCallback(async Ce=>{var me;if((me=b.current)==null||me.close(),b.current=null,j.current.clear(),l(Ce),d([]),F([]),R([]),G([]),W([]),ee([]),H([]),q("whitelist"),ne(new Set),!!Ce){xe(Ce.id),w(!0);try{const[We]=await Promise.all([Dl.fetchMessages(r,Ce.id),he(Ce)]);d(We),We.forEach(Xe=>j.current.add(Xe.id))}finally{w(!1)}b.current=Dl.subscribeMessages(r,Ce.id,We=>{j.current.has(We.id)||(j.current.add(We.id),d(Xe=>[...Xe,We]))})}},[r,xe,he]),le=h.useRef(null),ye=h.useCallback(Ce=>{if(!Ce){le.current=null,ke(null);return}const me=s.find(We=>We.id===Ce);me?(le.current=null,ke(me)):le.current=Ce},[s,ke]);h.useEffect(()=>{if(le.current&&s.length>0){const Ce=s.find(me=>me.id===le.current);Ce&&(le.current=null,ke(Ce))}},[s,ke]),h.useEffect(()=>()=>{var Ce;(Ce=b.current)==null||Ce.close()},[]),h.useEffect(()=>{if(!e||s.length===0)return;const Ce=s.map(We=>We.id),me=Oe.subscribe([r],{kinds:[42],"#e":Ce,since:Math.floor(Date.now()/1e3)},{onevent:We=>{var ze,rt;if(We.pubkey===e)return;const Xe=(ze=We.tags)==null?void 0:ze.find(vt=>vt[0]==="e"&&(vt[3]==="root"||vt.length===2));if(!Xe)return;const Re=Xe[1];((rt=P.current)==null?void 0:rt.id)!==Re&&(N.has(Re)||I(vt=>({...vt,[Re]:(vt[Re]||0)+1})))}});return()=>{me.close()}},[e,s,r,N]);const ve=h.useCallback(async Ce=>{if(!i||!e)return;const me=Dl.createMessageDraft(i.id,r,Ce,i.messageExpiry),We=await n(me);await Oe.publishEvent([r],We)},[i,r,e,n]),Ie=h.useCallback(async(Ce,me,We="whitelist")=>{if(!e)return;const Xe=Dl.createChannelDraft(Ce,me,We),Re=await n(Xe);await Oe.publishEvent([r],Re),await pe()},[r,e,n,pe]),Ve=h.useCallback(async()=>{if(!i||u.length===0)return;const Ce=u[0],me=await Dl.fetchMessages(r,i.id,50,Ce.createdAt-1);me.forEach(We=>j.current.add(We.id)),d(We=>[...me,...We])},[i,u,r]),Qe=h.useCallback(async(Ce,me,We,Xe,Re,ze,rt,vt)=>{if(!i||!e)return;const mt={name:i.name,about:i.about,access_mode:rt??Y},Ot=vt??i.messageExpiry;Ot!==void 0&&(mt.message_expiry=Ot);const qt=Dl.createMetadataUpdateDraft(i.id,r,mt,Ce.filter(Ct=>Ct!==i.creator),me,We,Xe,Re,ze),kt=await n(qt);await Oe.publishEvent([r],kt)},[i,r,e,n,Y]),nt=h.useCallback(async Ce=>{const me=[...L,Ce];F(me),await Qe(me,T,z,Z,U,$)},[L,T,z,Z,U,$,Qe]),Ue=h.useCallback(async Ce=>{const me=L.filter(ze=>ze!==Ce),We=T.filter(ze=>ze.addedBy!==Ce),Xe=z.filter(ze=>ze.addedBy!==Ce),Re=Z.filter(ze=>ze.addedBy!==Ce);F(me),R(We),G(Xe),W(Re),await Qe(me,We,Xe,Re,U,$)},[L,T,z,Z,U,$,Qe]),qe=h.useCallback(async Ce=>{if(!e)return;const me={pubkey:Ce,addedBy:e},We=[...T,me],Xe=U.filter(Re=>Re!==Ce);R(We),ee(Xe),await Qe(L,We,z,Z,Xe,$)},[e,L,T,z,Z,U,$,Qe]),_e=h.useCallback(async Ce=>{const me=T.filter(We=>We.pubkey!==Ce);R(me),await Qe(L,me,z,Z,U,$)},[L,T,z,Z,U,$,Qe]),et=h.useCallback(async Ce=>{if(!e)return;const me=Dl.createHideMessageDraft(Ce,r),We=await n(me);await Oe.publishEvent([r],We),ne(Xe=>new Set([...Xe,Ce]))},[r,e,n]),pt=h.useCallback(async Ce=>{if(!i||!e)return;const me=Dl.createBlockUserDraft(i.id,Ce,r),We=await n(me);await Oe.publishEvent([r],We);const Xe={pubkey:Ce,addedBy:e};G(Re=>[...Re,Xe])},[i,r,e,n]),ht=h.useCallback(async Ce=>{const me=z.filter(We=>We.pubkey!==Ce);G(me),await Qe(L,T,me,Z,U,$)},[L,T,z,Z,U,$,Qe]),at=h.useCallback(async Ce=>{q(Ce),l(me=>me?{...me,accessMode:Ce}:null),await Qe(L,T,z,Z,U,$,Ce)},[L,T,z,Z,U,$,Qe]),De=h.useCallback(async Ce=>{l(me=>me?{...me,messageExpiry:Ce}:null),await Qe(L,T,z,Z,U,$,void 0,Ce)},[L,T,z,Z,U,$,Qe]),se=h.useCallback(async Ce=>{if(!i||!e)return;const me={pubkey:Ce,addedBy:e},We=[...Z,me];W(We),await Qe(L,T,z,We,U,$);const Xe=`https://smesh.mleku.dev/#/chat/${i.id}`,Re=`You've been invited to #${i.name} on NIRC:
2314 ${Xe}`,ze={kind:4,created_at:Math.floor(Date.now()/1e3),tags:[["p",Ce]],content:Re};try{const rt=await n(ze);await Oe.publishEvent([r],rt)}catch{}},[i,e,L,T,z,Z,U,$,Qe,n,r]),K=h.useCallback(async Ce=>{const me=Z.filter(We=>We.pubkey!==Ce);W(me),await Qe(L,T,z,me,U,$)},[L,T,z,Z,U,$,Qe]),Q=h.useCallback(async Ce=>{await qe(Ce)},[qe]),ie=h.useCallback(async Ce=>{const me=U.filter(Xe=>Xe!==Ce),We=[...$,Ce];ee(me),H(We),await Qe(L,T,z,Z,me,We)},[L,T,z,Z,U,$,Qe]),Se=h.useCallback(async Ce=>{const me=$.filter(We=>We!==Ce);H(me),await Qe(L,T,z,Z,U,me)},[L,T,z,Z,U,$,Qe]),Me=h.useMemo(()=>{const Ce=new Set(z.map(me=>me.pubkey));return u.filter(me=>!J.has(me.id)&&!Ce.has(me.pubkey))},[u,J,z]);return c.jsx(Hge.Provider,{value:{channels:s,currentChannel:i,messages:Me,isLoadingChannels:f,isLoadingMessages:g,relayUrl:r,setRelayUrl:o,selectChannel:ke,selectChannelById:ye,sendMessage:ve,createChannel:Ie,refreshChannels:pe,loadMoreMessages:Ve,unreadCounts:S,hasUnreadChannels:we,mutedChannels:N,markChannelAsSeen:xe,toggleMuteChannel:ce,channelMods:L,channelMembers:T,channelBlocked:z,channelInvited:Z,channelRequested:U,channelRejected:$,channelAccessMode:Y,hiddenMessages:J,isOwnerOrMod:re,isMember:de,addMod:nt,removeMod:Ue,approveMember:qe,removeMember:_e,hideMessage:et,blockUser:pt,unblockUser:ht,updateAccessMode:at,updateMessageExpiry:De,sendInvite:se,revokeInvite:K,acceptRequest:Q,rejectRequest:ie,revokeRejection:Se,channelParticipants:Ee},children:t})}function Wge({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=$o(),{hasUnreadChannels:s}=hc(),{hasNewMessages:a}=kd(),{clearColumn:i}=ii(),l=s||a,u=()=>{n("chat"),i(1)};return c.jsx(wl,{title:"Chat",onClick:u,active:o&&r==="chat",collapse:t,navIndex:e,children:c.jsxs("div",{className:"relative",children:[c.jsx(ex,{}),l&&c.jsx("div",{className:"absolute -top-1 right-0 w-2 h-2 ring-2 ring-background bg-primary rounded-full"})]})})}function Aft({collapse:t,navIndex:e}){const{current:n,navigate:r,display:o}=$o(),{push:s}=Cn(),{enableSingleColumnLayout:a}=ts(),{clearColumn:i}=ii(),l=()=>{a?(r("help"),i(1)):s(cFe())};return c.jsx(wl,{title:"Help",onClick:l,collapse:t,active:o&&n==="help",navIndex:e,children:c.jsx(Hse,{})})}function Yge({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=$o(),{resetPrimarySelection:s,clearColumn:a}=ii(),i=()=>{n("home"),a(1),s()};return c.jsx(wl,{title:"Home",onClick:i,active:o&&r==="home",collapse:t,navIndex:e,children:c.jsx(S7e,{})})}function _ft({collapse:t}){const{t:e}=Ke(),{isEnabled:n,toggleKeyboardMode:r}=ii();return c.jsxs(Pe,{className:Te("flex shadow-none items-center transition-colors duration-500 bg-transparent m-0 rounded-lg gap-2 text-sm font-semibold",t?"w-12 h-12 p-3 [&_svg]:size-full":"justify-start w-full h-auto py-2 px-3 [&_svg]:size-5",n&&"text-primary hover:text-primary bg-primary/10 hover:bg-primary/10"),variant:"ghost",title:e("Toggle keyboard navigation (⇧K)"),onClick:r,children:[c.jsx(Xse,{}),!t&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{children:e("Keyboard")}),c.jsx("kbd",{className:"text-xs px-1.5 py-0.5 rounded bg-muted text-muted-foreground border",children:"⇧K"})]}),t&&c.jsx("span",{className:"sr-only",children:e("Toggle keyboard navigation")})]})}function Mft({collapse:t}){const{enableSingleColumnLayout:e,updateEnableSingleColumnLayout:n}=ts(),{canUseDoublePane:r}=gn();return r?t?c.jsx(Pe,{variant:"ghost",className:"size-12 hover:border",onClick:()=>n(!e),children:e?c.jsx(Jk,{className:"!size-5"}):c.jsx(Zk,{className:"!size-5"})}):c.jsx("div",{className:"rounded-lg bg-muted p-1 shadow-inner",children:c.jsxs("div",{className:"relative flex items-center justify-around",children:[c.jsx("div",{className:"py-1 w-full z-10 cursor-pointer flex flex-col items-center",onClick:()=>n(!1),children:c.jsx(Zk,{className:Te("size-5",e&&"text-muted-foreground")})}),c.jsx("div",{className:"py-1 w-full z-10 cursor-pointer flex flex-col items-center",onClick:()=>n(!0),children:c.jsx(Jk,{className:Te("size-5",!e&&"text-muted-foreground")})}),c.jsx("div",{className:Te("rounded-md absolute top-0 left-0 inset-0 w-1/2 h-full transition-transform shadow-sm",e?"translate-x-full bg-background":"translate-x-0 bg-surface-background")})]})}):null}function Gge(t,{pubkey:e,mutePubkeySet:n,hideContentMentioningMutedUsers:r,hideUntrustedNotifications:o,isUserTrusted:s}){var a;return!(n.has(t.pubkey)||r&&Xu(t,n)||o&&!s(t.pubkey)||e&&t.kind===$e.Reaction&&((a=t.tags.findLast(In("p")))==null?void 0:a[1])!==e)}const qge=h.createContext(void 0),eO=()=>{const t=h.useContext(qge);if(!t)throw new Error("useNotification must be used within a NotificationProvider");return t};function x5({children:t}){const{current:e}=$o(),n=h.useMemo(()=>e==="notifications",[e]),{pubkey:r,notificationsSeenAt:o,updateNotificationsSeenAt:s}=wt(),{hideUntrustedNotifications:a,isUserTrusted:i}=$s(),{mutePubkeySet:l}=ns(),{hideContentMentioningMutedUsers:u}=Qr(),[d,f]=h.useState([]),[m,g]=h.useState(new Set),w=h.useMemo(()=>{if(n||o<0)return[];const I=[];for(const N of d){if(N.created_at<=o||I.length>=10)break;Gge(N,{pubkey:r,mutePubkeySet:l,hideContentMentioningMutedUsers:u,hideUntrustedNotifications:a,isUserTrusted:i})&&I.push(N)}return I},[d,o,l,u,a,i,n]);h.useEffect(()=>{f([]),s(!n)},[n]),h.useEffect(()=>{if(!r)return;f([]),g(new Set);const I={current:!0},N={current:null},M=async()=>{if(N.current&&(N.current.close(),N.current=null),!I.current)return null;try{let D=!1;const P=await Oe.fetchRelayList(r),L=Oe.subscribe(P.read.length>0?P.read.slice(0,5):Oe.currentRelays.slice(0,5),[{kinds:[$e.ShortTextNote,$e.Repost,$e.Reaction,$e.Zap,gt.COMMENT,gt.POLL_RESPONSE,gt.VOICE_COMMENT,gt.POLL],"#p":[r],limit:20}],{oneose:F=>{F&&(D=F,f(T=>[...T.sort((R,z)=>dg(z,R))]))},onevent:F=>{F.pubkey!==r&&f(T=>D?T.length&&dg(T[0],F)>=0?T:(Oe.emitNewEvent(F),[F,...T]):[F,...T])},onAllClose:F=>{F.every(T=>T==="closed by caller")||I.current&&setTimeout(()=>{I.current&&M()},5e3)}});return N.current=L,L}catch(D){return console.error("Subscription error:",D),I.current&&setTimeout(()=>{I.current&&M()},5e3),null}};return M(),()=>{I.current=!1,N.current&&(N.current.close(),N.current=null)}},[r]),h.useEffect(()=>{const I=w.length;I>0?document.title=`(${I>=10?"9+":I}) Smesh`:document.title="Smesh";const N=document.querySelectorAll("link[rel*='icon']");if(N.length)if(I===0)N.forEach(M=>{M.href="/favicon.ico"});else{const M=document.createElement("img");M.src="/favicon.ico",M.onload=()=>{const D=Math.max(M.width,M.height,32),P=document.createElement("canvas");P.width=D,P.height=D;const L=P.getContext("2d");if(!L)return;L.drawImage(M,0,0,D,D);const F=D*.16;L.beginPath(),L.arc(D-F-6,F+6,F,0,2*Math.PI),L.fillStyle="#FF0000",L.fill(),N.forEach(T=>{T.href=P.toDataURL("image/png")})}}},[w]);const b=()=>o>=0?o:r?Ze.getLastReadNotificationTime(r):0,j=I=>m.has(I),S=I=>{g(N=>new Set([...N,I]))};return c.jsx(qge.Provider,{value:{hasNewNotification:w.length>0,getNotificationsSeenAt:b,isNotificationRead:j,markNotificationAsRead:S},children:t})}function Kge({collapse:t,navIndex:e}){const{checkLogin:n}=wt(),{navigate:r,current:o,display:s}=$o(),{hasNewNotification:a}=eO(),{clearColumn:i}=ii(),l=()=>{n(()=>{r("notifications"),i(1)})};return c.jsx(wl,{title:"Notifications",onClick:l,active:s&&o==="notifications",collapse:t,navIndex:e,children:c.jsxs("div",{className:"relative",children:[c.jsx(my,{}),a&&c.jsx("div",{className:"absolute -top-1 right-0 w-2 h-2 ring-2 ring-background bg-primary rounded-full"})]})})}function Rft({collapse:t,navIndex:e}){const{checkLogin:n}=wt(),{openCompose:r}=IL();return c.jsx("div",{className:"pt-4",children:c.jsx(wl,{title:"New post",description:"Post",onClick:o=>{o.stopPropagation(),n(()=>{r()})},variant:"default",className:Te("bg-primary gap-2",!t&&"justify-center"),collapse:t,navIndex:e,children:c.jsx(r2,{})})})}function Zge({collapse:t,navIndex:e}){const{push:n}=Cn(),{pubkey:r,checkLogin:o}=wt(),s=()=>{o(()=>{r&&n(xf(r))})};return c.jsx(wl,{title:"Profile",onClick:s,active:!1,collapse:t,navIndex:e,children:c.jsx(SS,{})})}function Tft({collapse:t,navIndex:e}){const{current:n,navigate:r,display:o}=$o(),{clearColumn:s}=ii(),a=()=>{r("relay"),s(1)};return c.jsx(wl,{title:"Relay",onClick:a,collapse:t,active:o&&n==="relay",navIndex:e,children:c.jsx(ei,{})})}function Dft({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=$o(),{clearColumn:s}=ii(),a=()=>{n("search"),s(1)};return c.jsx(wl,{title:"Search",onClick:a,active:r==="search"&&o,collapse:t,navIndex:e,children:c.jsx(tx,{})})}function Qge({collapse:t,navIndex:e}){const{current:n,navigate:r,display:o}=$o(),{push:s}=Cn(),{enableSingleColumnLayout:a}=ts(),{clearColumn:i}=ii(),l=()=>{a?(r("settings"),i(1)):s(Tie())};return c.jsx(wl,{title:"Settings",onClick:l,collapse:t,active:o&&n==="settings",navIndex:e,children:c.jsx(Ch,{})})}function wZ(){const{isSmallScreen:t,isNarrowDesktop:e}=gn(),{themeSetting:n}=vf(),{sidebarCollapse:r,updateSidebarCollapse:o,enableSingleColumnLayout:s}=ts(),{pubkey:a}=wt(),{navigate:i}=$o();if(t)return null;const l=e||r;return c.jsxs("div",{className:Te("relative z-40 flex flex-col pb-2 pt-3 justify-between h-full shrink-0 bg-chrome-background",l?"px-2 w-16":"px-4 w-52"),children:[c.jsxs("div",{className:"space-y-2",children:[l?c.jsx("button",{className:"px-3 py-1 mb-4 w-full cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>i("home"),"aria-label":"Go to home",children:c.jsx(mft,{})}):c.jsx("button",{className:"px-4 mb-4 w-full cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>i("home"),"aria-label":"Go to home",children:c.jsx(Fge,{})}),c.jsx(Yge,{collapse:l,navIndex:0}),c.jsx(Kge,{collapse:l,navIndex:1}),c.jsx(Dft,{collapse:l,navIndex:2}),a&&c.jsx(Wge,{collapse:l,navIndex:3}),c.jsx(Zge,{collapse:l,navIndex:a?4:3}),a&&c.jsx($ge,{collapse:l,navIndex:5}),c.jsx(Tft,{collapse:l,navIndex:a?6:4}),c.jsx(Qge,{collapse:l,navIndex:a?7:5}),c.jsx(Rft,{collapse:l,navIndex:a?8:5})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsx(Aft,{collapse:l,navIndex:a?9:6}),c.jsx(_ft,{collapse:l}),c.jsx(Mft,{collapse:l}),c.jsx(Uge,{collapse:l})]}),!e&&c.jsx("button",{className:Te("absolute flex flex-col justify-center items-center right-0 w-5 h-6 p-0 rounded-l-md hover:shadow-md text-muted-foreground hover:text-foreground hover:bg-background transition-colors [&_svg]:size-4",n==="dark"||s?"top-3":"top-5"),onClick:u=>{u.stopPropagation(),o(!r)},children:r?c.jsx(g7e,{}):c.jsx(m7e,{})})]})}function Lft({className:t}){return c.jsxs("svg",{className:t,viewBox:"0 0 640 640",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("path",{d:"M395.9 484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5 21.2-17.9 33.8-11.8 17.2 8.3 27.1 13 27.1 13l-33.1 68.8c-7.5 15.6 9.4 28.3 23.6 21l68.8-33.1s4.8 9.9 13 27.1c6.1 12.6.7 27.8-11.8 33.8l-43.7 21"}),c.jsx("path",{d:"M320 59.5c-144 0-261 116.8-261 261 0 114.4 93 207.1 207.8 207.1h53.2c114.4 0 207.1-92.7 207.1-207.1 0-144.2-117-261-207.1-261zm143.6 293.8c-1.9 52.5-52.6 94.4-94.4 94.4H269c-52.5 0-94.4-42.3-94.4-94.4s42.3-94.4 94.4-94.4c25.6 0 48.8 10.2 65.8 26.7 4.3 4.2 11.3 4.1 15.5-.2 4.2-4.3 4.1-11.3-.2-15.5-21.2-20.6-49.9-33.2-81.1-33.2-64.5 0-116.6 52-116.6 116.6 0 64.5 52 116.6 116.6 116.6h100.3c64.5 0 116.6-52 116.6-116.6 0-3.3-.1-6.6-.4-9.8l-25.5 9.8z"})]})}function bZ(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Pft(...t){return e=>{let n=!1;const r=t.map(o=>{const s=bZ(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():bZ(t[o],null)}}}}var Jge=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(zft);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(vR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(vR,{...r,ref:e,children:n})});Jge.displayName="Slot";var vR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=Bft(n);return h.cloneElement(n,{...Fft(r,n.props),ref:e?Pft(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});vR.displayName="SlotClone";var Oft=({children:t})=>c.jsx(c.Fragment,{children:t});function zft(t){return h.isValidElement(t)&&t.type===Oft}function Fft(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function Bft(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Uft=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],$ft=Uft.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Jge:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),Vft="VisuallyHidden",tO=h.forwardRef((t,e)=>c.jsx($ft.span,{...t,ref:e,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...t.style}}));tO.displayName=Vft;const Hft=3e3;function Wft({collapse:t}){const{t:e}=Ke(),{account:n,removeAccount:r}=wt(),[o,s]=h.useState(0),[a,i]=h.useState(!1),l=h.useRef(null),u=h.useRef(null),d=h.useCallback(()=>{if(!n)return;i(!0),u.current=Date.now();const m=()=>{if(!u.current)return;const g=Date.now()-u.current,w=Math.min(g/Hft*100,100);if(s(w),w>=100){r(n),s(0),i(!1),u.current=null;return}l.current=requestAnimationFrame(m)};l.current=requestAnimationFrame(m)},[n,r]),f=h.useCallback(()=>{l.current&&(cancelAnimationFrame(l.current),l.current=null),u.current=null,s(0),i(!1)},[]);return n?c.jsxs("div",{className:"relative",children:[c.jsx(wl,{title:e("Logout"),collapse:t,onTouchStart:d,onTouchEnd:f,onTouchCancel:f,onMouseDown:d,onMouseUp:f,onMouseLeave:f,className:Te("select-none",a&&"text-destructive"),children:c.jsx(kS,{})}),a&&c.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-muted rounded-full overflow-hidden",children:c.jsx("div",{className:"h-full bg-destructive transition-none",style:{width:`${o}%`}})})]}):null}function Yft({open:t,onOpenChange:e}){const{pubkey:n}=wt(),{navigate:r}=$o(),o=()=>{e(!1)};return c.jsx(yle,{open:t,onOpenChange:e,children:c.jsxs(TL,{side:"left",hideClose:!0,className:"w-64 p-0 bg-chrome-background border-r-0 rounded-r-none",children:[c.jsxs(tO,{children:[c.jsx(DL,{children:"Navigation Menu"}),c.jsx(LL,{children:"App navigation and account menu"})]}),c.jsxs("div",{className:"flex flex-col h-full pb-4 pt-3 px-4 justify-between",children:[c.jsx("div",{className:"space-y-4",children:c.jsx("div",{onClick:o,children:c.jsx(Uge,{collapse:!1})})}),c.jsxs("div",{className:"space-y-2 flex-1 py-4",children:[c.jsx("div",{onClick:o,children:c.jsx(Yge,{collapse:!1})}),c.jsx("div",{onClick:o,children:c.jsx(Kge,{collapse:!1})}),n&&c.jsx("div",{onClick:o,children:c.jsx(Wge,{collapse:!1})}),c.jsx("div",{onClick:o,children:c.jsx(Zge,{collapse:!1})}),n&&c.jsx("div",{onClick:o,children:c.jsx($ge,{collapse:!1})}),c.jsx("div",{onClick:o,children:c.jsx(Qge,{collapse:!1})}),n&&c.jsx(Wft,{collapse:!1})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx("button",{className:"px-4 w-full cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>{r("home"),o()},"aria-label":"Go to home",children:c.jsx(Fge,{})}),c.jsxs("a",{href:"https://git.mleku.dev/mleku/smesh",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[c.jsx(Lft,{className:"w-4 h-4"}),c.jsxs("span",{children:["v","0.6.10"]})]})]})]})]})})}function xZ({className:t}){const[e,n]=h.useState(null),[r,o]=h.useState(null);return h.useEffect(()=>{const s=i=>{const{src:l,time:u}=i.detail;e!==l&&(o(c.jsx(Gft,{src:l,time:u,className:t},l+u)),n(l))},a=()=>{o(null)};return Hu.addEventListener("playAudioBackground",s),Hu.addEventListener("stopAudioBackground",a),()=>{Hu.removeEventListener("playAudioBackground",s),Hu.removeEventListener("stopAudioBackground",a)}},[]),r}function Gft({src:t,time:e,className:n}){return c.jsx(QL,{src:t,className:n,startTime:e,autoPlay:!0,isMinimized:!0})}function k5(){const{t}=Ke(),{push:e}=Cn(),{profile:n}=wt();return h.useEffect(()=>{n&&!n.lightningAddress&&!Ze.hasShownCreateWalletGuideToast(n.pubkey)&&(on(t("Set up your wallet to send and receive sats!"),{action:{label:t("Set up"),onClick:()=>e(NL())}}),Ze.markCreateWalletGuideToastAsShown(n.pubkey))},[n]),null}function j5(){const{t}=Ke(),{isSmallScreen:e}=gn(),{push:n}=Cn(),{relayList:r}=wt(),[o,s]=h.useState(!1);if(h.useEffect(()=>{Ze.getDismissedTooManyRelaysAlert()||(r&&(r.read.length>5||r.write.length>5)?s(!0):s(!1))},[r]),!r)return null;const a=()=>{s(!1),n(zS("mailbox"))},i=()=>{Ze.setDismissedTooManyRelaysAlert(!0),s(!1)},l=()=>{s(!1)},u=t("Optimize Relay Settings"),d=t("Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.");return e?c.jsx(io,{open:o,onOpenChange:s,children:c.jsxs(lo,{children:[c.jsxs(wf,{children:[c.jsx(bd,{children:u}),c.jsx(Wg,{children:d})]}),c.jsxs(NS,{children:[c.jsx(Pe,{onClick:a,children:t("Optimize Now")}),c.jsx(Pe,{variant:"outline",onClick:l,children:t("Maybe Later")}),c.jsx(Pe,{onClick:i,variant:"link",className:"text-muted-foreground text-xs",children:t("Don't remind me again")})]})]})}):c.jsx(cf,{open:o,onOpenChange:s,children:c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:u}),c.jsx(au,{children:d})]}),c.jsxs(ou,{children:[c.jsx(Pe,{onClick:i,variant:"link",className:"text-muted-foreground text-xs",children:t("Don't remind me again")}),c.jsx(Pe,{variant:"outline",onClick:l,children:t("Maybe Later")}),c.jsx(Pe,{onClick:a,children:t("Optimize Now")})]})]})})}const kZ=10;function Xge(){const{t}=Ke(),{bookmarkListEvent:e}=wt(),n=h.useMemo(()=>e?e.tags.map(a=>a[0]==="e"?nc(a):a[0]==="a"?eh(a):null).filter(Boolean).reverse():[],[e]),[r,o]=h.useState(kZ),s=h.useRef(null);return h.useEffect(()=>{const a={root:null,rootMargin:"10px",threshold:.1},i=()=>{r<n.length&&o(d=>d+kZ)},l=new IntersectionObserver(d=>{d[0].isIntersecting&&i()},a),u=s.current;return u&&l.observe(u),()=>{l&&u&&l.unobserve(u)}},[r,n]),n.length===0?c.jsx("div",{className:"mt-2 text-sm text-center text-muted-foreground",children:t("no bookmarks found")}):c.jsxs("div",{children:[n.slice(0,r).map(a=>c.jsx(qft,{eventId:a},a)),r<n.length?c.jsx("div",{ref:s,children:c.jsx(Tx,{})}):c.jsx("div",{className:"text-center text-sm text-muted-foreground mt-2",children:t("no more bookmarks")})]})}function qft({eventId:t}){const{event:e,isFetching:n}=cl(t);return n?c.jsx(Tx,{className:"border-b"}):e?c.jsx(LE,{event:e,className:"w-full"}):null}function Gj({scrollAreaRef:t,className:e}){const{deepBrowsing:n,lastScrollTop:r}=hge(),{isSmallScreen:o}=gn(),s=Gle(Jw),a=h.useMemo(()=>!n&&r>800,[n,r]),i=()=>{var l;if(!t){const u=window.pageYOffset||document.documentElement.scrollTop,d=500,f=performance.now(),m=w=>w<.5?2*w*w:-1+(4-2*w)*w,g=w=>{const b=w-f,j=Math.min(b/d,1),S=m(j),I=u*(1-S);window.scrollTo(0,I),j<1&&requestAnimationFrame(g)};requestAnimationFrame(g);return}(l=t.current)==null||l.scrollTo({top:0,behavior:"smooth"})};return c.jsx("div",{className:Te("sticky z-30 flex justify-end w-full pr-3 pointer-events-none transition-all duration-700",a?"opacity-100 translate-y-0":"opacity-0 translate-y-4",e),style:{bottom:o?`calc(env(safe-area-inset-bottom) + ${s?7.25:3.85}rem)`:"calc(env(safe-area-inset-bottom) + 0.85rem)"},children:c.jsx(Pe,{variant:"secondary-2",className:"rounded-full size-12 p-0 hover:text-background pointer-events-auto disabled:pointer-events-none transition-all duration-200",onClick:i,disabled:!a,children:c.jsx(wd,{})})})}function N2({children:t,className:e,hideBottomBorder:n=!1,hideMenuButton:r=!1}){const{isSmallScreen:o}=gn();return c.jsx("div",{className:Te("sticky top-0 w-full h-12 z-40 [&_svg]:size-5 [&_svg]:shrink-0 select-none bg-background",!n&&"border-b",e),children:c.jsxs("div",{className:"flex items-center h-full w-full",children:[o&&!r&&c.jsx(Kft,{}),c.jsx("div",{className:"flex-1 h-full",children:t})]})})}function Kft(){const{toggle:t}=lve(),{theme:e}=vf(),n=e==="light"?zge:ML;return c.jsx("button",{onClick:t,className:"flex items-center justify-center w-10 h-full hover:bg-accent transition-colors","aria-label":"Open menu",children:c.jsx("img",{src:n,alt:"Menu",className:"w-6 h-6"})})}const Ql=h.forwardRef(({children:t,titlebar:e,pageName:n,displayScrollToTopButton:r=!1,hideTitlebarBottomBorder:o=!1},s)=>{const{pubkey:a}=wt(),i=h.useRef(null),l=h.useRef(null),u=h.useRef(0),{enableSingleColumnLayout:d}=ts(),{current:f,display:m}=$o();return h.useImperativeHandle(s,()=>({scrollToTop:(g="smooth")=>{setTimeout(()=>{if(i.current)return i.current.scrollTo({top:0,behavior:g});window.scrollTo({top:0,behavior:g})},10)}}),[]),h.useEffect(()=>{if(!d)return;const g=()=>{var b,j;return(b=l.current)!=null&&b.checkVisibility?(j=l.current)==null?void 0:j.checkVisibility():!1};g()&&window.scrollTo({top:u.current,behavior:"instant"});const w=()=>{g()&&(u.current=window.scrollY)};return window.addEventListener("scroll",w),()=>{window.removeEventListener("scroll",w)}},[f,d,m]),h.useEffect(()=>{u.current=0},[a]),d?c.jsxs(Hj,{active:f===n&&m,children:[c.jsxs("div",{ref:l,style:{paddingBottom:"env(safe-area-inset-bottom)"},children:[c.jsx(jZ,{hideBottomBorder:o,children:e}),t]}),r&&c.jsx(Gj,{})]}):c.jsxs(Hj,{active:f===n&&m,scrollAreaRef:i,children:[c.jsxs(Fa,{className:"h-full overflow-auto",scrollBarClassName:"z-30 pt-12",ref:i,children:[c.jsx(jZ,{hideBottomBorder:o,children:e}),t,c.jsx("div",{className:"h-4"})]}),r&&c.jsx(Gj,{scrollAreaRef:i})]})});Ql.displayName="PrimaryPageLayout";function jZ({children:t,hideBottomBorder:e=!1}){return c.jsx(N2,{className:"p-1",hideBottomBorder:e,children:t})}const e1e=h.forwardRef((t,e)=>c.jsx(Ql,{pageName:"bookmark",ref:e,titlebar:c.jsx(Zft,{}),displayScrollToTopButton:!0,children:c.jsx(Xge,{})}));e1e.displayName="BookmarkPage";function Zft(){const{t}=Ke();return c.jsxs("div",{className:"flex gap-2 items-center h-full pl-3",children:[c.jsx(tae,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Library")})]})}const CZ=[{mode:"open",label:"Open",icon:c.jsx(Qse,{className:"size-3"}),desc:"Anyone authenticated can read and write"},{mode:"whitelist",label:"Whitelist",icon:c.jsx(uh,{className:"size-3"}),desc:"Only listed members can access"},{mode:"blacklist",label:"Blacklist",icon:c.jsx(xS,{className:"size-3"}),desc:"Everyone except excluded users can access"}];function Qft({open:t,onOpenChange:e}){const{createChannel:n}=hc(),[r,o]=h.useState(""),[s,a]=h.useState(""),[i,l]=h.useState("open"),[u,d]=h.useState(!1);if(!t)return null;const f=async()=>{if(r.trim()){d(!0);try{await n(r.trim(),s.trim(),i),o(""),a(""),l("open"),e(!1)}finally{d(!1)}}},m=CZ.find(g=>g.mode===i);return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:()=>e(!1),children:c.jsxs("div",{className:"bg-background border rounded-lg p-4 w-80 space-y-3",onClick:g=>g.stopPropagation(),children:[c.jsx("h3",{className:"font-semibold",children:"Create Channel"}),c.jsx("input",{type:"text",placeholder:"Channel name",value:r,onChange:g=>o(g.target.value),className:"w-full px-3 py-2 text-sm border rounded-md bg-background",autoFocus:!0,onKeyDown:g=>g.key==="Enter"&&f()}),c.jsx("input",{type:"text",placeholder:"Description (optional)",value:s,onChange:g=>a(g.target.value),className:"w-full px-3 py-2 text-sm border rounded-md bg-background",onKeyDown:g=>g.key==="Enter"&&f()}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:"Access mode"}),c.jsx("div",{className:"flex gap-1",children:CZ.map(({mode:g,label:w,icon:b})=>c.jsxs("button",{className:`text-xs px-3 py-1.5 rounded border flex items-center gap-1.5 ${i===g?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>l(g),children:[b," ",w]},g))}),c.jsx("div",{className:"text-[10px] text-muted-foreground",children:m.desc})]}),c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx(Pe,{variant:"ghost",size:"sm",onClick:()=>e(!1),children:"Cancel"}),c.jsx(Pe,{size:"sm",onClick:f,disabled:!r.trim()||u,children:u?c.jsx(ao,{className:"size-4 animate-spin"}):"Create"})]})]})})}function Jft(){const{channels:t,currentChannel:e,isLoadingChannels:n,refreshChannels:r,unreadCounts:o,mutedChannels:s}=hc(),{push:a,pop:i}=Cn(),[l,u]=h.useState(!1);return c.jsxs("div",{className:"flex flex-col h-full",children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b",children:[c.jsx("span",{className:"text-sm font-semibold",children:"Channels"}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>r(),title:"Refresh",children:c.jsx(Hl,{className:"size-3.5"})}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>u(!0),title:"Create channel",children:c.jsx(Xc,{className:"size-3.5"})})]})]}),c.jsx("div",{className:"flex-1 overflow-y-auto",children:n?c.jsx("div",{className:"flex justify-center py-8",children:c.jsx(ao,{className:"size-5 animate-spin text-muted-foreground"})}):t.length===0?c.jsx("div",{className:"px-3 py-8 text-center text-sm text-muted-foreground",children:"No channels yet"}):t.map(d=>{const f=o[d.id]||0,m=s.has(d.id);return c.jsxs("button",{onClick:()=>{e&&e.id!==d.id&&i(),a(yFe(d.id))},className:Te("flex items-center gap-2 w-full px-3 py-2 text-left text-sm transition-colors hover:bg-accent",(e==null?void 0:e.id)===d.id&&"bg-accent text-accent-foreground"),children:[c.jsx(t2,{className:"size-4 flex-shrink-0 text-muted-foreground"}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("span",{className:Te("truncate font-medium",f>0&&!m&&"font-bold"),children:d.name}),d.accessMode!=="open"&&c.jsx(uh,{className:"size-3 text-muted-foreground flex-shrink-0"}),m&&c.jsx(Vu,{className:"size-3 text-muted-foreground flex-shrink-0"})]}),d.about&&c.jsx("div",{className:"truncate text-xs text-muted-foreground",children:d.about})]}),f>0&&!m&&c.jsx("span",{className:"inline-flex items-center justify-center size-5 text-xs rounded-full bg-primary text-primary-foreground flex-shrink-0",children:f>99?"99+":f})]},d.id)})}),c.jsx(Qft,{open:l,onOpenChange:u})]})}function Xft(){return localStorage.getItem("nirc:submitKey")==="enter"?"enter":"ctrl+enter"}function edt({onClose:t}){const{currentChannel:e,channelMods:n,channelMembers:r,channelBlocked:o,channelInvited:s,channelRequested:a,channelRejected:i,channelAccessMode:l,isOwnerOrMod:u,addMod:d,removeMod:f,approveMember:m,removeMember:g,unblockUser:w,updateAccessMode:b,updateMessageExpiry:j,sendInvite:S,revokeInvite:I,acceptRequest:N,rejectRequest:M,revokeRejection:D,mutedChannels:P,toggleMuteChannel:L}=hc(),{pubkey:F}=wt(),[T,R]=h.useState(""),[z,G]=h.useState("member"),[Z,W]=h.useState(Xft);if(!e)return null;const U=e.creator===F,ee=P.has(e.id),$=async()=>{const Y=T.trim();if(!Y)return;let q=Y;const J=Vt.tryFromString(Y);J&&(q=J.hex),z==="mod"?await d(q):z==="invite"?await S(q):await m(q),R("")},H=[{mode:"open",label:"Open",icon:c.jsx(Qse,{className:"size-3"})},{mode:"whitelist",label:"Whitelist",icon:c.jsx(uh,{className:"size-3"})},{mode:"blacklist",label:"Blacklist",icon:c.jsx(xS,{className:"size-3"})}];return c.jsx("div",{className:"absolute inset-0 z-20 bg-background overflow-y-auto",children:c.jsxs("div",{className:"max-w-lg mx-auto p-4 space-y-5",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("span",{className:"font-semibold text-sm",children:["Settings — #",e.name]}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-7",onClick:t,children:c.jsx(ia,{className:"size-4"})})]}),c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Chat"}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:"Send message with"}),c.jsx("div",{className:"flex gap-1",children:["enter","ctrl+enter"].map(Y=>c.jsx("button",{className:`text-xs px-2 py-1 rounded border ${Z===Y?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>{W(Y),localStorage.setItem("nirc:submitKey",Y)},children:Y==="enter"?"Enter":"Ctrl+Enter"},Y))})]}),c.jsx("div",{className:"text-[10px] text-muted-foreground",children:Z==="enter"?"Shift+Enter for newline":"Enter for newline"}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:"Notifications"}),c.jsxs(Pe,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:()=>L(e.id),children:[ee?c.jsx(Vu,{className:"size-3"}):c.jsx(my,{className:"size-3"}),ee?"Muted":"Active"]})]})]})]}),U&&c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Access Mode"}),c.jsx("div",{className:"flex gap-1",children:H.map(({mode:Y,label:q,icon:J})=>c.jsxs("button",{className:`text-xs px-3 py-1.5 rounded border flex items-center gap-1.5 ${l===Y?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>b(Y),children:[J," ",q]},Y))}),c.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[l==="open"&&"Anyone authenticated can read and write.",l==="whitelist"&&"Only listed members, mods, and invitees can access.",l==="blacklist"&&"Everyone except excluded users can access."]})]}),U&&c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Message Expiry"}),c.jsx("div",{className:"flex flex-wrap gap-1",children:bft.map(({label:Y,value:q})=>c.jsx("button",{className:`text-xs px-3 py-1.5 rounded border ${(e.messageExpiry??J3)===q?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>j(q),children:Y},q))}),c.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Messages will include a NIP-40 expiration tag set to this duration from send time."})]}),u&&c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Add User"}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{className:`text-xs px-2 py-0.5 rounded ${z==="member"?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>G("member"),children:"Member"}),c.jsx("button",{className:`text-xs px-2 py-0.5 rounded ${z==="invite"?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>G("invite"),children:"Invite"}),U&&c.jsx("button",{className:`text-xs px-2 py-0.5 rounded ${z==="mod"?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>G("mod"),children:"Mod"})]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("input",{type:"text",placeholder:`Add ${z} (npub or hex)`,value:T,onChange:Y=>R(Y.target.value),className:"flex-1 px-2 py-1 text-xs border rounded bg-background",onKeyDown:Y=>Y.key==="Enter"&&$()}),c.jsx(Pe,{variant:"outline",size:"sm",className:"h-7",onClick:$,disabled:!T.trim(),children:z==="mod"?c.jsx(dae,{className:"size-3"}):z==="invite"?c.jsx(jS,{className:"size-3"}):c.jsx(gae,{className:"size-3"})})]})]}),n.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Moderators"}),n.map(Y=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono",children:[c.jsx(Iu,{hex:Y}),Y===e.creator&&c.jsx("span",{className:"text-muted-foreground ml-1",children:"(owner)"})]}),U&&Y!==e.creator&&c.jsx("button",{onClick:()=>f(Y),className:"text-muted-foreground hover:text-destructive",title:"Remove mod (cascades invites/blocks)",children:c.jsx(V7e,{className:"size-3"})})]},Y))]}),l==="whitelist"&&r.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Allowed Members"}),r.map(Y=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono",children:[c.jsx(Iu,{hex:Y.pubkey}),Y.addedBy&&c.jsxs("span",{className:"text-muted-foreground ml-1",children:["via ",c.jsx(Iu,{hex:Y.addedBy})]})]}),u&&c.jsx("button",{onClick:()=>g(Y.pubkey),className:"text-muted-foreground hover:text-destructive",title:"Remove member",children:c.jsx(mae,{className:"size-3"})})]},Y.pubkey))]}),l==="blacklist"&&o.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Excluded Users"}),o.map(Y=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono text-destructive",children:[c.jsx(Iu,{hex:Y.pubkey}),Y.addedBy&&c.jsxs("span",{className:"text-muted-foreground ml-1",children:["by ",c.jsx(Iu,{hex:Y.addedBy})]})]}),u&&c.jsx("button",{onClick:()=>w(Y.pubkey),className:"text-muted-foreground hover:text-foreground",title:"Remove from excluded",children:c.jsx(K9,{className:"size-3"})})]},Y.pubkey))]}),u&&s.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Pending Invites"}),s.map(Y=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono",children:[c.jsx(Iu,{hex:Y.pubkey}),Y.addedBy&&c.jsxs("span",{className:"text-muted-foreground ml-1",children:["by ",c.jsx(Iu,{hex:Y.addedBy})]})]}),c.jsx("button",{onClick:()=>I(Y.pubkey),className:"text-muted-foreground hover:text-destructive",title:"Revoke invite",children:c.jsx(M7e,{className:"size-3"})})]},Y.pubkey))]}),u&&a.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Join Requests"}),a.map(Y=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsx("span",{className:"font-mono",children:c.jsx(Iu,{hex:Y})}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{onClick:()=>N(Y),className:"text-muted-foreground hover:text-foreground",title:"Accept",children:c.jsx(K9,{className:"size-3"})}),c.jsx("button",{onClick:()=>M(Y),className:"text-muted-foreground hover:text-destructive",title:"Reject",children:c.jsx(J7e,{className:"size-3"})})]})]},Y))]}),i.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Rejected"}),i.map(Y=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsx("span",{className:"font-mono text-destructive",children:c.jsx(Iu,{hex:Y})}),U&&c.jsx("button",{onClick:()=>D(Y),className:"text-muted-foreground hover:text-foreground",title:"Revoke rejection",children:c.jsx(iL,{className:"size-3"})})]},Y))]}),l!=="blacklist"&&o.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Blocked"}),o.map(Y=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsx("span",{className:"font-mono text-destructive",children:c.jsx(Iu,{hex:Y.pubkey})}),u&&c.jsx("button",{onClick:()=>w(Y.pubkey),className:"text-muted-foreground hover:text-foreground",title:"Unblock",children:c.jsx(K9,{className:"size-3"})})]},Y.pubkey))]})]})})}function Iu({hex:t}){const{profile:e}=ua(t),n=Vt.tryFromString(t);return c.jsx(c.Fragment,{children:(e==null?void 0:e.username)||(n==null?void 0:n.formatNpub(8))||t.slice(0,12)})}function SZ({content:t,event:e}){const{nodes:n,emojiInfos:r}=h.useMemo(()=>{if(!t)return{nodes:[],emojiInfos:[]};const o=qg(t,[$S,ux,tv,US,fx]),s=th(e==null?void 0:e.tags);return{nodes:o,emojiInfos:s}},[t,e]);return!n||n.length===0?null:c.jsx("span",{className:"break-words whitespace-pre-wrap min-w-0",children:n.map((o,s)=>{if(o.type==="text")return c.jsx("span",{children:o.data},s);if(o.type==="mention"){const a=o.data.split(":")[1];return a?c.jsx(HS,{userId:a,className:"inline"},s):c.jsx("span",{children:o.data},s)}if(o.type==="url")return c.jsx("a",{href:o.data,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:a=>a.stopPropagation(),children:kb(o.data)},s);if(o.type==="image"||o.type==="images"){const a=Array.isArray(o.data)?o.data[0]:o.data;return c.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:i=>i.stopPropagation(),children:"[image]"},s)}if(o.type==="media")return c.jsx("a",{href:o.data,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:a=>a.stopPropagation(),children:"[media]"},s);if(o.type==="event"){const a=o.data.split(":")[1];return a?c.jsx(Xl,{to:vl(a),className:"text-primary hover:underline",onClick:i=>i.stopPropagation(),children:"[note]"},s):c.jsx("span",{children:o.data},s)}if(o.type==="hashtag")return c.jsx(VS,{hashtag:o.data},s);if(o.type==="emoji"){const a=o.data.split(":")[1],i=r.find(l=>l.shortcode===a);return i?c.jsx(Mi,{emoji:i,classNames:{img:"size-4 inline"}},s):c.jsx("span",{children:o.data},s)}return o.type==="youtube"||o.type==="x-post"?c.jsx("a",{href:o.data,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:a=>a.stopPropagation(),children:kb(o.data)},s):o.type==="invoice"?c.jsx("span",{className:"text-primary",children:"[ln-invoice]"},s):null})})}function tdt({pubkeyHex:t,onClose:e}){const{profile:n}=ua(t),{pubkey:r}=wt(),{currentChannel:o,isOwnerOrMod:s,addMod:a,removeMember:i,blockUser:l,channelMods:u}=hc(),{push:d}=Cn(),[f,m]=h.useState(!1),g=Vt.tryFromString(t),w=(g==null?void 0:g.npub)||"",b=(n==null?void 0:n.username)||(g==null?void 0:g.formatNpub(8))||t.slice(0,12),j=(o==null?void 0:o.creator)===t,S=u.includes(t),I=t===r,N=()=>{navigator.clipboard.writeText(w),m(!0),setTimeout(()=>m(!1),1500)};return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:c.jsxs("div",{className:"bg-background border rounded-lg w-80 overflow-hidden",onClick:M=>M.stopPropagation(),children:[n!=null&&n.banner?c.jsx("div",{className:"h-20 bg-muted",children:c.jsx("img",{src:n.banner,alt:"",className:"w-full h-full object-cover"})}):c.jsx("div",{className:"h-20 bg-gradient-to-r from-primary/20 to-primary/5"}),c.jsx("div",{className:"px-4 -mt-6",children:c.jsx("div",{className:"size-12 rounded-full border-2 border-background overflow-hidden bg-muted",children:n!=null&&n.avatar?c.jsx("img",{src:n.avatar,alt:"",className:"w-full h-full object-cover"}):c.jsx("div",{className:"w-full h-full bg-primary/20"})})}),c.jsxs("div",{className:"px-4 pt-1 pb-3 space-y-2",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"font-semibold text-sm flex items-center gap-1",children:[b,j&&c.jsx("span",{className:"text-[10px] text-muted-foreground",children:"(owner)"}),S&&!j&&c.jsx("span",{className:"text-[10px] text-muted-foreground",children:"(mod)"})]}),c.jsxs("button",{onClick:N,className:"text-[10px] text-muted-foreground font-mono flex items-center gap-0.5 hover:text-foreground",children:[w.slice(0,20),"...",f?c.jsx(Zr,{className:"size-2.5"}):c.jsx(La,{className:"size-2.5"})]})]}),(n==null?void 0:n.about)&&c.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:n.about}),c.jsxs("div",{className:"flex gap-1.5 pt-1",children:[c.jsxs(Pe,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{e(),d(`/users/${t}`)},children:[c.jsx(of,{className:"size-3"})," Profile"]}),!I&&c.jsxs(Pe,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{e(),d(`/dm/${t}`)},children:[c.jsx(sf,{className:"size-3"})," DM"]})]}),s&&!I&&!j&&c.jsxs("div",{className:"flex gap-1.5 pt-0.5",children:[!S&&c.jsxs(Pe,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{a(t),e()},children:[c.jsx(dae,{className:"size-3"})," Make Mod"]}),c.jsxs(Pe,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{i(t),e()},children:[c.jsx(mae,{className:"size-3"})," Kick"]}),c.jsxs(Pe,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1 text-destructive border-destructive/30",onClick:()=>{l(t),e()},children:[c.jsx(Bse,{className:"size-3"})," Block"]})]})]}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 size-6 bg-background/80",onClick:e,children:c.jsx(ia,{className:"size-3.5"})})]})})}function ndt({participants:t,query:e,onSelect:n,position:r}){const o=h.useMemo(()=>e?t.filter(s=>{var i;const a=((i=Vt.tryFromString(s))==null?void 0:i.formatNpub(20))||"";return s.toLowerCase().includes(e)||a.toLowerCase().includes(e)}).slice(0,8):t.slice(0,8),[t,e]);return o.length===0?null:c.jsx("div",{className:"absolute z-30 bg-popover border rounded shadow-md max-h-48 overflow-y-auto w-56",style:{bottom:r.bottom,left:r.left},children:o.map(s=>c.jsx(rdt,{pubkey:s,query:e,onSelect:n},s))})}function rdt({pubkey:t,query:e,onSelect:n}){const{profile:r}=ua(t),o=Vt.tryFromString(t),s=(r==null?void 0:r.username)||(o==null?void 0:o.formatNpub(8))||t.slice(0,12),a=(o==null?void 0:o.npub)||"";return!(!e||s.toLowerCase().includes(e))&&!t.toLowerCase().includes(e)?null:c.jsxs("button",{className:"w-full px-3 py-1.5 text-left hover:bg-muted flex items-center gap-2 text-xs",onClick:()=>n(t,s),children:[c.jsx("div",{className:"size-5 rounded-full bg-muted overflow-hidden shrink-0",children:(r==null?void 0:r.avatar)&&c.jsx("img",{src:r.avatar,alt:"",className:"w-full h-full object-cover"})}),c.jsx("span",{className:"font-medium truncate",children:s}),c.jsxs("span",{className:"text-muted-foreground text-[10px] truncate",children:[a.slice(0,16),"..."]})]})}function odt({onClose:t}){const{currentChannel:e,channelParticipants:n,channelMods:r}=hc();if(!e)return null;const o=[...n].sort((s,a)=>{const i=s===e.creator?0:1,l=a===e.creator?0:1;if(i!==l)return i-l;const u=r.includes(s)?0:1,d=r.includes(a)?0:1;return u-d});return c.jsxs("div",{className:"absolute inset-y-0 right-0 z-20 w-56 bg-background border-l overflow-y-auto",children:[c.jsxs("div",{className:"flex items-center justify-between p-2 border-b",children:[c.jsxs("span",{className:"text-xs font-semibold",children:["Members (",o.length,")"]}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-6",onClick:t,children:c.jsx(ia,{className:"size-3.5"})})]}),c.jsx("div",{className:"py-1",children:o.map(s=>c.jsx(sdt,{pubkey:s,isOwner:s===e.creator,isMod:r.includes(s)},s))})]})}function sdt({pubkey:t,isOwner:e,isMod:n}){const{profile:r}=ua(t),{push:o}=Cn(),s=Vt.tryFromString(t),a=(r==null?void 0:r.username)||(s==null?void 0:s.formatNpub(8))||t.slice(0,12);return c.jsxs("div",{className:"group flex items-center gap-2 px-2 py-1 hover:bg-muted/50 text-xs",children:[c.jsx("div",{className:"size-5 rounded-full bg-muted overflow-hidden shrink-0",children:(r==null?void 0:r.avatar)&&c.jsx("img",{src:r.avatar,alt:"",className:"w-full h-full object-cover"})}),c.jsx("span",{className:"font-medium truncate flex-1",children:a}),e&&c.jsx("span",{title:"Owner",children:c.jsx(b7e,{className:"size-3 text-primary shrink-0"})}),n&&!e&&c.jsx("span",{title:"Mod",children:c.jsx(nx,{className:"size-3 text-muted-foreground shrink-0"})}),c.jsx("button",{className:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-foreground shrink-0",onClick:()=>o(`/dm/${t}`),title:"Send DM",children:c.jsx(sf,{className:"size-3"})})]})}function adt(){return localStorage.getItem("nirc:submitKey")==="enter"?"enter":"ctrl+enter"}function t1e(){var ne;const{currentChannel:t,messages:e,isLoadingMessages:n,sendMessage:r,loadMoreMessages:o,isOwnerOrMod:s,isMember:a,channelAccessMode:i,channelParticipants:l}=hc(),{pubkey:u}=wt(),[d,f]=h.useState(""),[m,g]=h.useState(!1),[w,b]=h.useState(!1),[j,S]=h.useState(!1),[I,N]=h.useState(!1),[M,D]=h.useState(null),P=h.useRef(null),L=h.useRef(null),F=h.useRef(!0),T=h.useRef(null),[R,z]=h.useState(null),[G,Z]=h.useState(0);h.useEffect(()=>{F.current&&P.current&&(P.current.scrollTop=P.current.scrollHeight)},[e]),h.useEffect(()=>{if(F.current=!0,P.current&&(P.current.scrollTop=P.current.scrollHeight),t){const re=localStorage.getItem(`nirc:draft:${t.id}`)||"";f(re)}else f("");S(!1),N(!1),z(null)},[t==null?void 0:t.id]),h.useEffect(()=>{t&&!uu()&&setTimeout(()=>{var re;return(re=L.current)==null?void 0:re.focus()},100)},[t==null?void 0:t.id]);const W=h.useCallback(()=>{if(!P.current)return;const{scrollTop:re,scrollHeight:de,clientHeight:Ee}=P.current;F.current=de-re-Ee<100},[]),U=async()=>{b(!0);try{await o()}finally{b(!1)}},ee=async()=>{if(!(!d.trim()||m||!u||!t)){g(!0);try{await r(d.trim()),f(""),localStorage.removeItem(`nirc:draft:${t.id}`),F.current=!0,L.current&&(L.current.style.height="auto")}finally{g(!1),setTimeout(()=>{var re;return(re=L.current)==null?void 0:re.focus()},0)}}},$=re=>{if(re.key==="Escape"&&R!==null){z(null);return}if(re.key==="Enter"){const de=adt();(de==="enter"&&!re.shiftKey&&!re.ctrlKey&&!re.metaKey||de==="ctrl+enter"&&(re.ctrlKey||re.metaKey))&&(re.preventDefault(),ee())}},H=re=>{const de=re.target.value;f(de),t&&localStorage.setItem(`nirc:draft:${t.id}`,de),q();const Ee=re.target.selectionStart||0,xe=de.slice(0,Ee).match(/@(\w*)$/);xe?(z(xe[1].toLowerCase()),Z(Ee-xe[0].length)):z(null)},Y=(re,de)=>{var pe,he;const Ee=((pe=Vt.tryFromString(re))==null?void 0:pe.npub)||re,we=d.slice(0,G),xe=d.slice(((he=L.current)==null?void 0:he.selectionStart)||d.length),ce=`${we}nostr:${Ee} ${xe}`;f(ce),z(null),t&&localStorage.setItem(`nirc:draft:${t.id}`,ce),setTimeout(()=>{var ke;return(ke=L.current)==null?void 0:ke.focus()},0)},q=h.useCallback(()=>{const re=L.current;if(!re)return;re.style.height="auto";const de=window.innerHeight*.3;re.style.height=`${Math.min(re.scrollHeight,de)}px`,re.style.overflowY=re.scrollHeight>de?"auto":"hidden"},[]);if(!t)return c.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2",children:[c.jsx(t2,{className:"size-10"}),c.jsx("span",{className:"text-sm",children:"Select a channel"})]});const J=i!=="open"&&!a;return c.jsxs("div",{className:"flex flex-col h-full relative",children:[c.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 border-b",children:[c.jsx("button",{className:"flex items-center gap-0.5 hover:text-primary",onClick:()=>N(!I),title:"Member list",children:c.jsx(t2,{className:"size-4 text-muted-foreground"})}),c.jsx("span",{className:"font-semibold text-sm",children:t.name}),i!=="open"&&c.jsx("span",{title:i==="whitelist"?"Whitelist":"Blacklist",children:c.jsx(uh,{className:"size-3 text-muted-foreground"})}),t.about&&c.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["— ",t.about]}),c.jsx("div",{className:"flex-1"}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>N(!I),title:"Member list",children:c.jsx(Cg,{className:"size-3.5"})}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>S(!j),title:"Channel settings",children:s?c.jsx(nx,{className:"size-3.5"}):c.jsx(sL,{className:"size-3.5"})})]}),j&&c.jsx(edt,{onClose:()=>S(!1)}),I&&!j&&c.jsx(odt,{onClose:()=>N(!1)}),c.jsx("div",{ref:P,onScroll:W,className:"flex-1 overflow-y-auto px-3 py-2 space-y-1",children:J?c.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground",children:[c.jsx(uh,{className:"size-8"}),c.jsx("span",{className:"text-sm",children:"This channel requires access"}),c.jsx(idt,{})]}):c.jsxs(c.Fragment,{children:[e.length>0&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsxs(Pe,{variant:"ghost",size:"sm",onClick:U,disabled:w,className:"text-xs",children:[w?c.jsx(ao,{className:"size-3 animate-spin mr-1"}):c.jsx(wd,{className:"size-3 mr-1"}),"Load older"]})}),n?c.jsx("div",{className:"flex justify-center py-8",children:c.jsx(ao,{className:"size-5 animate-spin text-muted-foreground"})}):e.length===0?c.jsx("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No messages yet. Say something."}):e.map(re=>c.jsx(ldt,{msg:re,isOwn:re.pubkey===u,showModActions:s&&re.pubkey!==u,onUsernameClick:D},re.id))]})}),u&&a&&!J&&c.jsxs("div",{ref:T,className:"border-t p-2 flex items-end gap-2 relative",children:[R!==null&&c.jsx(ndt,{participants:l,query:R,onSelect:Y,position:{bottom:((ne=T.current)==null?void 0:ne.clientHeight)||48,left:8}}),c.jsx(fv,{ref:L,value:d,onChange:H,onKeyDown:$,placeholder:`Message #${t.name}`,className:"min-h-[36px] resize-none overflow-hidden text-sm",disabled:m}),c.jsx(Pe,{onClick:ee,disabled:!d.trim()||m,size:"icon",className:"flex-shrink-0 size-9",children:m?c.jsx(ao,{className:"size-4 animate-spin"}):c.jsx(cae,{className:"size-4"})})]}),M&&c.jsx(tdt,{pubkeyHex:M,onClose:()=>D(null)})]})}function idt(){const{currentChannel:t}=hc(),{pubkey:e,signEvent:n}=wt(),[r,o]=h.useState(!1),[s,a]=h.useState(!1),i=async()=>{if(!(!t||!e||r)){a(!0);try{const{default:l}=await Bs(async()=>{const{default:m}=await Promise.resolve().then(()=>OCe);return{default:m}},void 0),u=`nirc:request:${t.id}:${t.name}`,d={kind:4,created_at:Math.floor(Date.now()/1e3),tags:[["p",t.creator]],content:u},f=await n(d);await l.publishEvent(["wss://relay.orly.dev/"],f),o(!0)}catch{}finally{a(!1)}}};return e?c.jsxs(Pe,{variant:"outline",size:"sm",className:"gap-1.5",onClick:i,disabled:r||s,children:[s?c.jsx(ao,{className:"size-3 animate-spin"}):c.jsx(X2,{className:"size-3"}),r?"Request Sent":"Request Access"]}):null}function ldt({msg:t,isOwn:e,showModActions:n,onUsernameClick:r}){const{hideMessage:o,blockUser:s}=hc(),{profile:a}=ua(t.pubkey),i=Vt.tryFromString(t.pubkey),l=(a==null?void 0:a.username)||(i==null?void 0:i.formatNpub(8))||t.pubkey.slice(0,12),u=En.unix(t.createdAt).format("HH:mm"),d=t.content.startsWith("/me "),f=d?t.content.slice(4):null;return c.jsxs("div",{className:"group flex items-start gap-0 py-0.5 text-sm font-mono leading-snug",children:[c.jsxs("span",{className:"text-[11px] text-muted-foreground shrink-0",children:["[",u,"] "]}),d?c.jsxs("span",{className:"italic break-words min-w-0",children:[c.jsx("span",{className:"text-muted-foreground",children:"*"})," ",c.jsx("button",{className:`${e?"text-muted-foreground":"text-primary"} hover:underline cursor-pointer`,onClick:()=>r(t.pubkey),children:l})," ",c.jsx(SZ,{content:f,event:t.event})]}):c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"shrink-0",children:[c.jsx("span",{className:"text-muted-foreground",children:"<"}),c.jsx("button",{className:`${e?"text-muted-foreground":"text-primary font-medium"} hover:underline cursor-pointer`,onClick:()=>r(t.pubkey),children:l}),c.jsx("span",{className:"text-muted-foreground",children:">"})]}),c.jsxs("span",{className:"min-w-0",children:[" ",c.jsx(SZ,{content:t.content,event:t.event})]})]}),n&&c.jsxs("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity flex gap-0.5 ml-1 shrink-0",children:[c.jsx("button",{onClick:()=>o(t.id),className:"text-muted-foreground hover:text-destructive p-0.5",title:"Hide message",children:c.jsx(j7e,{className:"size-3"})}),c.jsx("button",{onClick:()=>s(t.pubkey),className:"text-muted-foreground hover:text-destructive p-0.5",title:"Block user",children:c.jsx(Bse,{className:"size-3"})})]})]})}var X3={exports:{}},cdt=X3.exports,EZ;function udt(){return EZ||(EZ=1,(function(t,e){(function(n,r){t.exports=r()})(cdt,(function(){return function(n,r,o){n=n||{};var s=r.prototype,a={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(u,d,f,m){return s.fromToBase(u,d,f,m)}o.en.relativeTime=a,s.fromToBase=function(u,d,f,m,g){for(var w,b,j,S=f.$locale().relativeTime||a,I=n.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],N=I.length,M=0;M<N;M+=1){var D=I[M];D.d&&(w=m?o(u).diff(f,D.d,!0):f.diff(u,D.d,!0));var P=(n.rounding||Math.round)(Math.abs(w));if(j=w>0,P<=D.r||!D.r){P<=1&&M>0&&(D=I[M-1]);var L=S[D.l];g&&(P=g(""+P)),b=typeof L=="string"?L.replace("%d",P):L(P,d,D.l,j);break}}if(d)return b;var F=j?S.future:S.past;return typeof F=="function"?F(b):F.replace("%s",b)},s.to=function(u,d){return i(u,d,this,!0)},s.from=function(u,d){return i(u,d,this)};var l=function(u){return u.$u?o.utc():o()};s.toNow=function(u){return this.to(l(this),u)},s.fromNow=function(u){return this.from(l(this),u)}}}))})(X3)),X3.exports}var fdt=udt();const ddt=tc(fdt);En.extend(ddt);function n1e(t){return En.unix(t).fromNow()}function pdt({conversation:t,isActive:e,isFollowing:n,onClick:r,onClose:o,navIndex:s}){const[a,i]=h.useState(null),l=h.useRef(null),u=h.useCallback(()=>{var w;(w=l.current)==null||w.click()},[]),{ref:d,isSelected:f}=o1(1,s??0,{meta:{type:"sidebar",onActivate:u}});h.useEffect(()=>{(async()=>{try{const b=await Oe.fetchProfile(t.partnerPubkey);b&&i(b)}catch(b){console.error("Failed to fetch profile:",b)}})()},[t.partnerPubkey]);const m=(a==null?void 0:a.username)||t.partnerPubkey.slice(0,8)+"...",g=n1e(t.lastMessageAt);return c.jsx("div",{ref:d,className:"scroll-mt-[6.5rem]",children:c.jsxs("button",{ref:l,onClick:r,className:Te("w-full flex items-start gap-3 p-3 hover:bg-accent/50 transition-colors text-left",e&&"bg-accent",f&&"ring-2 ring-primary ring-inset"),children:[c.jsx(Ro,{userId:t.partnerPubkey,className:"size-10 flex-shrink-0"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[c.jsx("span",{className:"font-medium text-sm truncate",children:m}),n&&c.jsx("span",{className:"text-xs text-primary flex-shrink-0",title:"Following",children:c.jsx(Cg,{className:"size-3"})})]}),c.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:g}),e&&o&&c.jsx("button",{onClick:w=>{w.stopPropagation(),o()},className:"p-0.5 rounded hover:bg-muted-foreground/20 transition-colors",title:"Close conversation",children:c.jsx(ia,{className:"size-4 text-muted-foreground"})})]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[t.preferredEncryption==="nip17"&&c.jsx("span",{title:"NIP-17 encrypted",children:c.jsx(uh,{className:"size-3 text-green-500 flex-shrink-0"})}),c.jsx("p",{className:"text-sm text-muted-foreground truncate",children:t.lastMessagePreview})]}),t.unreadCount>0&&c.jsx("span",{className:"inline-flex items-center justify-center size-5 text-xs rounded-full bg-primary text-primary-foreground mt-1",children:t.unreadCount})]})]})})}function hdt(){const{t}=Ke(),{push:e,pop:n}=Cn(),{conversations:r,currentConversation:o,selectConversation:s,refreshConversations:a,loadMoreConversations:i,hasMoreConversations:l,isLoading:u}=kd(),{followingSet:d}=Gg(),{mutePubkeySet:f}=ns(),m=h.useRef(null),[g,w]=h.useState(()=>Ze.getDMConversationFilter()),b=h.useMemo(()=>{let I=[...r];return g==="follows"&&(I=I.filter(N=>d.has(N.partnerPubkey)&&!f.has(N.partnerPubkey))),I.sort((N,M)=>M.lastMessageAt-N.lastMessageAt)},[r,g,d,f]),j=I=>{w(I),Ze.setDMConversationFilter(I)},S=h.useCallback(I=>{const[N]=I;N.isIntersecting&&l&&!u&&i()},[l,u,i]);return h.useEffect(()=>{const I=new IntersectionObserver(S,{root:null,rootMargin:"100px",threshold:0});return m.current&&I.observe(m.current),()=>I.disconnect()},[S]),c.jsxs("div",{className:"flex flex-col h-full",children:[c.jsxs("div",{className:"flex items-center justify-between p-3 border-b",children:[c.jsx("span",{className:"font-medium text-sm",children:t("Conversations")}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",onClick:a,disabled:u,children:c.jsx(Hl,{className:`size-4 ${u?"animate-spin":""}`})}),c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",children:c.jsx(wS,{className:"size-4"})})}),c.jsxs(ci,{align:"end",children:[c.jsxs(Er,{onClick:()=>j("follows"),children:[g==="follows"&&c.jsx(Zr,{className:"size-4 mr-2"}),c.jsx("span",{className:g!=="follows"?"ml-6":"",children:t("Only show follows")})]}),c.jsxs(Er,{onClick:()=>j("all"),children:[g==="all"&&c.jsx(Zr,{className:"size-4 mr-2"}),c.jsx("span",{className:g!=="all"?"ml-6":"",children:t("Show all")})]})]})]})]})]}),c.jsx(Fa,{className:"flex-1",children:b.length===0&&!u?c.jsxs("div",{className:"flex flex-col items-center justify-center h-48 gap-2 text-muted-foreground px-4",children:[c.jsx(sf,{className:"size-8"}),c.jsx("p",{className:"text-sm text-center",children:t("No conversations yet")}),c.jsx("p",{className:"text-xs text-center",children:t("Start a conversation by visiting a profile")})]}):c.jsxs("div",{className:"divide-y",children:[b.map((I,N)=>c.jsx(pdt,{conversation:I,isActive:o===I.partnerPubkey,isFollowing:d.has(I.partnerPubkey),navIndex:N,onClick:()=>{o&&o!==I.partnerPubkey&&n(),e(vFe(I.partnerPubkey))},onClose:()=>{s(null),n()}},I.partnerPubkey)),l&&c.jsx("div",{ref:m,className:"flex justify-center py-4",children:c.jsx(ao,{className:"size-5 animate-spin text-muted-foreground"})})]})})]})}function mdt(){const{t}=Ke(),{relayList:e}=wt(),{isLoading:n,error:r,refreshConversations:o}=kd();return e&&(e.read.length>0||e.write.length>0)?n?c.jsx("div",{className:"flex items-center justify-center h-64",children:c.jsxs("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[c.jsx(ao,{className:"size-8 animate-spin"}),c.jsx("span",{className:"text-sm",children:t("Loading messages...")})]})}):r?c.jsxs("div",{className:"flex flex-col items-center justify-center h-64 gap-4 text-muted-foreground",children:[c.jsx("p",{children:r}),c.jsxs(Pe,{onClick:o,variant:"outline",size:"sm",className:"gap-2",children:[c.jsx(Hl,{className:"size-4"}),t("Retry")]})]}):c.jsx("div",{className:"h-[calc(100vh-8rem)]",children:c.jsx(hdt,{})}):c.jsx("div",{className:"p-4",children:c.jsx(yR,{type:"dm"})})}const wR=h.forwardRef((t,e)=>{const{t:n}=Ke(),r=h.useRef(null),{pubkey:o}=wt(),{navigate:s}=$o(),{markInboxAsSeen:a}=kd(),[i,l]=h.useState("dms");h.useImperativeHandle(e,()=>r.current),h.useEffect(()=>{o&&i==="dms"&&a()},[o,i,a]);const{refreshChannels:u}=hc();return h.useEffect(()=>{i==="channels"&&u()},[i,u]),c.jsx(Ql,{pageName:"chat",ref:r,titlebar:c.jsx(gdt,{activeTab:i,onTabChange:l}),children:o?i==="dms"?c.jsx(mdt,{}):c.jsxs("div",{className:"flex h-[calc(100vh-3rem)] overflow-hidden",children:[c.jsx("div",{className:"w-56 shrink-0 border-r overflow-hidden",children:c.jsx(Jft,{})}),c.jsx("div",{className:"flex-1 min-w-0 overflow-hidden",children:c.jsx(t1e,{})})]}):c.jsxs("div",{className:"flex flex-col items-center justify-center h-64 gap-4 text-muted-foreground",children:[c.jsx(ex,{className:"size-12"}),c.jsxs("div",{className:"text-center",children:[c.jsx("p",{className:"font-medium",children:n("Sign in to chat")}),c.jsx("p",{className:"text-sm",children:n("Direct messages and public channels")})]}),c.jsxs(Pe,{onClick:()=>s("settings"),className:"gap-2",children:[c.jsx(X2,{className:"size-4"}),n("Sign In")]})]})})});wR.displayName="ChatPage";function gdt({activeTab:t,onTabChange:e}){const{t:n}=Ke(),{hasNewMessages:r}=kd(),{hasUnreadChannels:o}=hc();return c.jsxs("div",{className:"flex items-center h-full px-3 gap-1",children:[c.jsx(ex,{className:"size-5 shrink-0"}),c.jsx("div",{className:"text-lg font-semibold mr-3",children:n("Chat")}),c.jsxs("button",{onClick:()=>e("dms"),className:Te("flex items-center gap-1.5 px-3 py-1 rounded-md text-sm font-medium transition-colors",t==="dms"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground hover:bg-accent/50"),children:[c.jsx(sf,{className:"size-3.5"}),n("DMs"),r&&c.jsx("div",{className:"w-2 h-2 bg-primary rounded-full"})]}),c.jsxs("button",{onClick:()=>e("channels"),className:Te("flex items-center gap-1.5 px-3 py-1 rounded-md text-sm font-medium transition-colors",t==="channels"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground hover:bg-accent/50"),children:[c.jsx(t2,{className:"size-3.5"}),n("Channels"),o&&c.jsx("div",{className:"w-2 h-2 bg-primary rounded-full"})]})]})}var ydt=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},FE="Collapsible",[vdt,r1e]=Nh(FE),[wdt,nO]=vdt(FE),o1e=h.forwardRef((t,e)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:s,onOpenChange:a,...i}=t,[l,u]=Kg({prop:r,defaultProp:o??!1,onChange:a,caller:FE});return c.jsx(wdt,{scope:n,disabled:s,contentId:z7(),open:l,onOpenToggle:h.useCallback(()=>u(d=>!d),[u]),children:c.jsx(vs.div,{"data-state":oO(l),"data-disabled":s?"":void 0,...i,ref:e})})});o1e.displayName=FE;var s1e="CollapsibleTrigger",a1e=h.forwardRef((t,e)=>{const{__scopeCollapsible:n,...r}=t,o=nO(s1e,n);return c.jsx(vs.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":oO(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:e,onClick:fl(t.onClick,o.onOpenToggle)})});a1e.displayName=s1e;var rO="CollapsibleContent",i1e=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=nO(rO,t.__scopeCollapsible);return c.jsx(uE,{present:n||o.open,children:({present:s})=>c.jsx(bdt,{...r,ref:e,present:s})})});i1e.displayName=rO;var bdt=h.forwardRef((t,e)=>{const{__scopeCollapsible:n,present:r,children:o,...s}=t,a=nO(rO,n),[i,l]=h.useState(r),u=h.useRef(null),d=la(e,u),f=h.useRef(0),m=f.current,g=h.useRef(0),w=g.current,b=a.open||i,j=h.useRef(b),S=h.useRef(void 0);return h.useEffect(()=>{const I=requestAnimationFrame(()=>j.current=!1);return()=>cancelAnimationFrame(I)},[]),ydt(()=>{const I=u.current;if(I){S.current=S.current||{transitionDuration:I.style.transitionDuration,animationName:I.style.animationName},I.style.transitionDuration="0s",I.style.animationName="none";const N=I.getBoundingClientRect();f.current=N.height,g.current=N.width,j.current||(I.style.transitionDuration=S.current.transitionDuration,I.style.animationName=S.current.animationName),l(r)}},[a.open,r]),c.jsx(vs.div,{"data-state":oO(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!b,...s,ref:d,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...t.style},children:b&&o})});function oO(t){return t?"open":"closed"}var xdt=o1e,kdt=a1e,jdt=i1e,pu="Accordion",Cdt=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[sO,Sdt,Edt]=zL(pu),[BE]=Nh(pu,[Edt,r1e]),aO=r1e(),l1e=Be.forwardRef((t,e)=>{const{type:n,...r}=t,o=r,s=r;return c.jsx(sO.Provider,{scope:t.__scopeAccordion,children:n==="multiple"?c.jsx(_dt,{...s,ref:e}):c.jsx(Adt,{...o,ref:e})})});l1e.displayName=pu;var[c1e,Ndt]=BE(pu),[u1e,Idt]=BE(pu,{collapsible:!1}),Adt=Be.forwardRef((t,e)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},collapsible:s=!1,...a}=t,[i,l]=Kg({prop:n,defaultProp:r??"",onChange:o,caller:pu});return c.jsx(c1e,{scope:t.__scopeAccordion,value:Be.useMemo(()=>i?[i]:[],[i]),onItemOpen:l,onItemClose:Be.useCallback(()=>s&&l(""),[s,l]),children:c.jsx(u1e,{scope:t.__scopeAccordion,collapsible:s,children:c.jsx(f1e,{...a,ref:e})})})}),_dt=Be.forwardRef((t,e)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...s}=t,[a,i]=Kg({prop:n,defaultProp:r??[],onChange:o,caller:pu}),l=Be.useCallback(d=>i((f=[])=>[...f,d]),[i]),u=Be.useCallback(d=>i((f=[])=>f.filter(m=>m!==d)),[i]);return c.jsx(c1e,{scope:t.__scopeAccordion,value:a,onItemOpen:l,onItemClose:u,children:c.jsx(u1e,{scope:t.__scopeAccordion,collapsible:!0,children:c.jsx(f1e,{...s,ref:e})})})}),[Mdt,UE]=BE(pu),f1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,disabled:r,dir:o,orientation:s="vertical",...a}=t,i=Be.useRef(null),l=la(i,e),u=Sdt(n),f=WS(o)==="ltr",m=fl(t.onKeyDown,g=>{var F;if(!Cdt.includes(g.key))return;const w=g.target,b=u().filter(T=>{var R;return!((R=T.ref.current)!=null&&R.disabled)}),j=b.findIndex(T=>T.ref.current===w),S=b.length;if(j===-1)return;g.preventDefault();let I=j;const N=0,M=S-1,D=()=>{I=j+1,I>M&&(I=N)},P=()=>{I=j-1,I<N&&(I=M)};switch(g.key){case"Home":I=N;break;case"End":I=M;break;case"ArrowRight":s==="horizontal"&&(f?D():P());break;case"ArrowDown":s==="vertical"&&D();break;case"ArrowLeft":s==="horizontal"&&(f?P():D());break;case"ArrowUp":s==="vertical"&&P();break}const L=I%S;(F=b[L].ref.current)==null||F.focus()});return c.jsx(Mdt,{scope:n,disabled:r,direction:o,orientation:s,children:c.jsx(sO.Slot,{scope:n,children:c.jsx(vs.div,{...a,"data-orientation":s,ref:l,onKeyDown:r?void 0:m})})})}),qj="AccordionItem",[Rdt,iO]=BE(qj),d1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,value:r,...o}=t,s=UE(qj,n),a=Ndt(qj,n),i=aO(n),l=z7(),u=r&&a.value.includes(r)||!1,d=s.disabled||t.disabled;return c.jsx(Rdt,{scope:n,open:u,disabled:d,triggerId:l,children:c.jsx(xdt,{"data-orientation":s.orientation,"data-state":v1e(u),...i,...o,ref:e,disabled:d,open:u,onOpenChange:f=>{f?a.onItemOpen(r):a.onItemClose(r)}})})});d1e.displayName=qj;var p1e="AccordionHeader",h1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,...r}=t,o=UE(pu,n),s=iO(p1e,n);return c.jsx(vs.h3,{"data-orientation":o.orientation,"data-state":v1e(s.open),"data-disabled":s.disabled?"":void 0,...r,ref:e})});h1e.displayName=p1e;var bR="AccordionTrigger",m1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,...r}=t,o=UE(pu,n),s=iO(bR,n),a=Idt(bR,n),i=aO(n);return c.jsx(sO.ItemSlot,{scope:n,children:c.jsx(kdt,{"aria-disabled":s.open&&!a.collapsible||void 0,"data-orientation":o.orientation,id:s.triggerId,...i,...r,ref:e})})});m1e.displayName=bR;var g1e="AccordionContent",y1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,...r}=t,o=UE(pu,n),s=iO(g1e,n),a=aO(n);return c.jsx(jdt,{role:"region","aria-labelledby":s.triggerId,"data-orientation":o.orientation,...a,...r,ref:e,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})});y1e.displayName=g1e;function v1e(t){return t?"open":"closed"}var Tdt=l1e,Ddt=d1e,Ldt=h1e,w1e=m1e,b1e=y1e;const x1e=Tdt,Js=h.forwardRef(({className:t,...e},n)=>c.jsx(Ddt,{ref:n,className:Te("border-b",t),...e}));Js.displayName="AccordionItem";const Xs=h.forwardRef(({className:t,children:e,...n},r)=>c.jsx(Ldt,{className:"flex scroll-mt-14",children:c.jsxs(w1e,{ref:r,className:Te("flex flex-1 items-center justify-between py-4 font-medium transition-all [&[data-state=open]>svg]:rotate-180",t),...n,children:[e,c.jsx(ic,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Xs.displayName=w1e.displayName;const ea=h.forwardRef(({className:t,children:e,...n},r)=>c.jsx(b1e,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:c.jsx("div",{className:Te("pb-4 pt-0",t),children:e})}));ea.displayName=b1e.displayName;function k1e(){const{t}=Ke();return c.jsx("div",{className:"px-4 py-4",children:c.jsxs(x1e,{type:"single",collapsible:!0,className:"space-y-2",children:[c.jsxs(Js,{value:"keyboard",className:"border rounded-lg px-4",children:[c.jsx(Xs,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(Xse,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Keyboard Navigation")})]})}),c.jsx(ea,{className:"pb-4",children:c.jsxs("div",{className:"space-y-4 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("Navigate the app entirely with your keyboard:")}),c.jsx("p",{className:"font-medium",children:t("Toggle Keyboard Mode:")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["⇧K"],description:t("Toggle keyboard navigation on/off")}),c.jsx(Gi,{keys:["Esc","Esc","Esc"],description:t("Triple-Escape to quickly exit keyboard mode")})]}),c.jsx("p",{className:"text-xs opacity-70",children:t("You can also click the keyboard button in the sidebar to toggle.")}),c.jsx("p",{className:"font-medium mt-4",children:t("Movement:")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["↑","↓"],altKeys:["k","j"],description:t("Move between items in a list")}),c.jsx(Gi,{keys:["Tab"],description:t("Switch to next column (Shift+Tab for previous)")}),c.jsx(Gi,{keys:["Page Up"],description:t("Jump to top and focus first item")})]}),c.jsx("p",{className:"font-medium mt-4",children:t("Actions:")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["→","Enter"],altKeys:["l"],description:t("Activate the selected item")}),c.jsx(Gi,{keys:["←"],altKeys:["h"],description:t("Go back (close panel or move to sidebar)")}),c.jsx(Gi,{keys:["Escape"],description:t("Close current view or cancel")})]}),c.jsx("p",{className:"font-medium mt-4",children:t("Note Actions (when a note is selected):")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["r"],description:t("Reply")}),c.jsx(Gi,{keys:["p"],description:t("Repost")}),c.jsx(Gi,{keys:["q"],description:t("Quote")}),c.jsx(Gi,{keys:["R"],description:t("React with emoji")}),c.jsx(Gi,{keys:["z"],description:t("Zap (send sats)")})]}),c.jsx("p",{className:"text-xs opacity-70 pt-2",children:t("Selected items are centered on screen for easy viewing.")})]})})]}),c.jsxs(Js,{value:"layout",className:"border rounded-lg px-4",children:[c.jsx(Xs,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(P7e,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Layout & Navigation")})]})}),c.jsx(ea,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("The app uses a multi-column layout:")}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("Sidebar: Quick access to main sections")}),c.jsx("li",{children:t("Primary column: Feed, notifications, inbox, search")}),c.jsx("li",{children:t("Secondary column: Note details, user profiles, relay info")})]}),c.jsx("p",{children:t("On mobile or single-column mode, pages stack on top of each other.")}),c.jsx("p",{children:t("Use the columns button at the bottom of the sidebar to switch between layouts.")})]})})]}),c.jsxs(Js,{value:"posting",className:"border rounded-lg px-4",children:[c.jsx(Xs,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(sf,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Posting & Interactions")})]})}),c.jsx(ea,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:c.jsx("strong",{children:t("Creating Posts:")})}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("Click the post button in the sidebar to compose a new note")}),c.jsx("li",{children:t("Use @ to mention users and # for hashtags")}),c.jsx("li",{children:t("Drag and drop images or use the attachment button")})]}),c.jsx("p",{className:"pt-2",children:c.jsx("strong",{children:t("Interacting with Notes:")})}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("Reply: Continue the conversation")}),c.jsx("li",{children:t("Repost: Share to your followers")}),c.jsx("li",{children:t("Quote: Repost with your own comment")}),c.jsx("li",{children:t("React: Like or add emoji reactions")}),c.jsx("li",{children:t("Zap: Send Bitcoin tips via Lightning")})]})]})})]}),c.jsxs(Js,{value:"zaps",className:"border rounded-lg px-4",children:[c.jsx(Xs,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(lc,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Zaps & Lightning")})]})}),c.jsx(ea,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("Zaps are Bitcoin tips sent via the Lightning Network:")}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("To receive zaps, add a Lightning address to your profile")}),c.jsx("li",{children:t("To send zaps, connect a Lightning wallet in Settings")}),c.jsx("li",{children:t("Click the zap icon on any note to send sats")}),c.jsx("li",{children:t("Long-press for custom zap amounts")})]}),c.jsx("p",{className:"pt-2",children:t("Supported wallets include Alby, NWC-compatible wallets, and Cashu mints.")})]})})]}),c.jsxs(Js,{value:"accounts",className:"border rounded-lg px-4",children:[c.jsx(Xs,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(T8,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Account & Login")})]})}),c.jsx(ea,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("Nostr uses public/private key pairs for identity:")}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"npub"}),": ",t("Your public key (share freely)")]}),c.jsxs("li",{children:[c.jsx("strong",{children:"nsec"}),": ",t("Your private key (keep secret!)")]})]}),c.jsx("p",{className:"pt-2",children:c.jsx("strong",{children:t("Login Methods:")})}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsxs("li",{children:[c.jsx("strong",{children:t("Browser Extension (NIP-07)")}),": ",t("Recommended. Uses extensions like Alby or nos2x")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Remote Signer (NIP-46)")}),": ",t("Connect to bunker signers like Amber or nsecBunker")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Private Key")}),": ",t("Enter nsec directly (less secure)")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("View Only")}),": ",t("Browse with an npub without signing")]})]})]})})]}),c.jsxs(Js,{value:"settings",className:"border rounded-lg px-4",children:[c.jsx(Xs,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(Ch,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Settings Overview")})]})}),c.jsx(ea,{className:"pb-4",children:c.jsx("div",{className:"space-y-3 text-sm text-muted-foreground",children:c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsxs("li",{children:[c.jsx("strong",{children:t("General")}),": ",t("Language, content preferences, mutes")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Appearance")}),": ",t("Theme, layout, visual options")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Relays")}),": ",t("Configure which relays to read from and write to")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Posts")}),": ",t("Posting preferences and default settings")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Wallet")}),": ",t("Lightning wallet connection for zaps")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Emoji Packs")}),": ",t("Custom emoji sets")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("System")}),": ",t("Debug tools and app information")]})]})})})]})]})})}function Gi({keys:t,altKeys:e,description:n}){return c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("div",{className:"flex items-center gap-1",children:[t.map(r=>c.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted border rounded",children:r},r)),e&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-xs text-muted-foreground mx-1",children:"/"}),e.map(r=>c.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted border rounded",children:r},r))]})]}),c.jsx("span",{children:n})]})}const j1e=h.forwardRef((t,e)=>c.jsx(Ql,{pageName:"help",ref:e,titlebar:c.jsx(Pdt,{}),displayScrollToTopButton:!0,children:c.jsx(k1e,{})}));j1e.displayName="HelpPage";function Pdt(){const{t}=Ke();return c.jsxs("div",{className:"flex gap-2 items-center h-full pl-3",children:[c.jsx(Hse,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Help")})]})}const C1e=h.forwardRef((t,e)=>{const{t:n}=Ke(),{push:r}=Cn(),{pubkey:o}=wt(),[s,a]=h.useState(!1),[i,l]=h.useState(!1);return o?c.jsxs(Ql,{ref:e,pageName:"home",titlebar:c.jsx(NZ,{}),hideTitlebarBottomBorder:!0,children:[c.jsxs("div",{className:"flex gap-4 items-center p-4",children:[c.jsx(ec,{userId:o,size:"big"}),c.jsxs("div",{className:"space-y-1 flex-1 w-0",children:[c.jsx(od,{className:"text-xl font-semibold text-wrap",userId:o,skeletonClassName:"h-6 w-32",showQrCode:!1}),c.jsxs("div",{className:"flex gap-1 mt-1",children:[c.jsx(Sge,{pubkey:o}),c.jsx(BS,{pubkey:o})]})]})]}),c.jsxs("div",{className:"mt-4",children:[c.jsxs(n0,{onClick:()=>r(xf(o)),children:[c.jsx(SS,{}),n("Profile")]}),c.jsxs(n0,{onClick:()=>r(zS()),children:[c.jsx(ei,{})," ",n("Relays")]}),c.jsxs(n0,{onClick:()=>r(pFe()),children:[c.jsx(Use,{})," ",n("Bookmarks")]}),c.jsxs(n0,{onClick:()=>r(NL()),children:[c.jsx(lL,{}),n("Wallet")]}),c.jsxs(n0,{onClick:()=>a(!0),children:[c.jsx(zse,{})," ",n("Switch account")]}),c.jsx(ri,{className:"bg-background"}),c.jsxs(n0,{className:"text-destructive focus:text-destructive",onClick:()=>l(!0),hideChevron:!0,children:[c.jsx(kS,{}),n("Logout")]})]}),c.jsx(ZE,{open:s,setOpen:a}),c.jsx(Bge,{open:i,setOpen:l})]}):c.jsx(Ql,{ref:e,pageName:"home",titlebar:c.jsx(NZ,{}),hideTitlebarBottomBorder:!0,children:c.jsx("div",{className:"flex flex-col p-4 gap-4 overflow-auto",children:c.jsx(rC,{})})})});C1e.displayName="MePage";function NZ(){const{push:t}=Cn();return c.jsx("div",{className:"flex justify-end items-center",children:c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",onClick:()=>t(Tie()),children:c.jsx(Ch,{})})})}function n0({children:t,className:e,hideChevron:n=!1,...r}){return c.jsxs("div",{className:Te("flex clickable justify-between items-center px-4 py-2 h-[52px] rounded-lg [&_svg]:size-4 [&_svg]:shrink-0",e),...r,children:[c.jsx("div",{className:"flex items-center gap-4",children:t}),!n&&c.jsx($se,{})]})}const IZ="http://www.w3.org/2000/svg",Odt=["#e07030","#8833bb","#00aabb"],zdt=["#2266cc","#cc2233","#22aa44"],Fdt=110,Bdt=.56,Udt=32,$dt=6,Vdt=Math.PI*.68,S1e=400,E1e=400,Hdt=[-Math.PI/2,-Math.PI/2+2*Math.PI/3,-Math.PI/2+4*Math.PI/3];function Wdt(t){const e=[];let n=50;function r(o,s,a,i,l,u,d){if(i>l)return;const f=Math.pow(Bdt,i-1),m=Fdt*f,g=Udt*f,w=o+Math.cos(a)*m,b=s+Math.sin(a)*m,j=n;n+=30,e.push({x1:o,y1:s,x2:w,y2:b,color:t[u],width:g,delay:j});const S=d*.82,I=[-S/2,S/2];for(const N of I)r(w,b,a+N,i+1,l,u,S)}for(let o=0;o<3;o++)r(S1e,E1e,Hdt[o],1,$dt,o,Vdt);return e}function Ydt(t,e){for(;t.firstChild;)t.removeChild(t.firstChild);const r=Wdt(e?Odt:zdt);for(const i of r){const l=document.createElementNS(IZ,"line");l.setAttribute("x1",String(i.x1)),l.setAttribute("y1",String(i.y1)),l.setAttribute("x2",String(i.x2)),l.setAttribute("y2",String(i.y2)),l.setAttribute("stroke",i.color),l.setAttribute("stroke-width",String(i.width)),l.classList.add("smesh-loader-edge"),l.style.animationDelay=i.delay+"ms",t.appendChild(l)}const o=24,s=[];for(let i=0;i<6;i++){const l=Math.PI/6+i*Math.PI/3;s.push(`${(S1e+o*Math.cos(l)).toFixed(2)},${(E1e+o*Math.sin(l)).toFixed(2)}`)}const a=document.createElementNS(IZ,"polygon");a.setAttribute("points",s.join(" ")),a.setAttribute("fill",e?"#e8e4da":"#1a1a1e"),a.setAttribute("stroke",e?"#0a0a0e":"#f5f5f0"),a.setAttribute("stroke-width","7.5"),a.setAttribute("stroke-linejoin","round"),a.classList.add("smesh-loader-center"),a.style.animationDelay="0ms",t.appendChild(a)}function N1e({className:t}){const{theme:e}=vf(),n=h.useRef(null),r=e!=="light";return h.useEffect(()=>{n.current&&Ydt(n.current,r)},[r]),c.jsxs("div",{className:t,children:[c.jsx("style",{children:`
2315 .smesh-loader-edge {
2316 stroke-linecap: round;
2317 opacity: 0;
2318 animation: smeshEdgeFade 0.4s ease forwards;
2319 }
2320 .smesh-loader-center {
2321 opacity: 0;
2322 animation: smeshNodePop 0.3s ease forwards;
2323 }
2324 @keyframes smeshEdgeFade {
2325 to { opacity: 1; }
2326 }
2327 @keyframes smeshNodePop {
2328 0% { opacity: 0; transform: scale(0); }
2329 70% { transform: scale(1.2); }
2330 100% { opacity: 1; transform: scale(1); }
2331 }
2332 `}),c.jsx("svg",{viewBox:"160.68 160.68 478.65 478.65",className:"w-full h-full",children:c.jsx("g",{ref:n})})]})}function I1e({relaySet:t,select:e,onSelectChange:n}){const{t:r}=Ke(),[o,s]=h.useState(!1);return c.jsxs("div",{className:Te("group relative w-full border rounded-lg px-3 py-2.5 transition-all duration-200",e?"border-primary bg-primary/5 shadow-sm":"border-border hover:border-primary/50 hover:bg-accent/50 clickable"),onClick:()=>n(!e),children:[c.jsxs("div",{className:"flex justify-between items-center gap-2",children:[c.jsxs("div",{className:"flex gap-3 items-center flex-1 min-w-0",children:[c.jsx("div",{className:"flex justify-center items-center size-6 shrink-0",children:c.jsx(Zse,{className:"size-5"})}),c.jsx("div",{className:"font-medium select-none truncate",children:t.name})]}),c.jsx("div",{className:"flex gap-1 items-center shrink-0",children:c.jsx(Gdt,{expand:o,onExpandChange:s,children:r("n relays",{n:t.relayUrls.length})})})]}),o&&c.jsx(qdt,{urls:t.relayUrls})]})}function Gdt({children:t,expand:e,onExpandChange:n}){return c.jsxs("div",{className:"text-xs text-muted-foreground flex items-center gap-0.5 cursor-pointer hover:text-foreground transition-colors",onClick:r=>{r.stopPropagation(),n(!e)},children:[c.jsx("div",{className:"select-none font-medium",children:t}),c.jsx(ic,{size:14,className:Te("transition-transform duration-200",e&&"rotate-180")})]})}function qdt({urls:t}){return t?c.jsx("div",{className:"mt-2.5 pt-2.5 border-t space-y-1.5",children:t.map(e=>c.jsxs("div",{className:"flex items-center gap-2.5 pl-1",children:[c.jsx(iu,{url:e,className:"size-4 shrink-0",classNames:{fallback:"size-3"}}),c.jsx("div",{className:"text-muted-foreground text-xs truncate",children:e})]},e))}):null}function AZ({close:t}){const{t:e}=Ke(),{pubkey:n}=wt(),{relaySets:r,favoriteRelays:o}=Pa(),{feedInfo:s,switchFeed:a}=Yg(),{pinnedPubkeySet:i}=VP(),l=h.useMemo(()=>r.filter(d=>d.relayUrls.length>0),[r]),u=l.length>0||o.length>0;return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_Z,{title:e("Personal Feeds")}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx(C5,{isActive:(s==null?void 0:s.feedType)==="following",disabled:!n,onClick:()=>{n&&(a("following",{pubkey:n}),t==null||t())},children:c.jsxs("div",{className:"flex gap-3 items-center",children:[c.jsx("div",{className:"flex justify-center items-center size-6 shrink-0",children:c.jsx(yae,{className:"size-5"})}),c.jsx("div",{className:"flex-1",children:e("Following")})]})}),c.jsx(C5,{isActive:(s==null?void 0:s.feedType)==="pinned",disabled:!n||i.size===0,onClick:()=>{n&&(a("pinned",{pubkey:n}),t==null||t())},children:c.jsxs("div",{className:"flex gap-3 items-center",children:[c.jsx("div",{className:"flex justify-center items-center size-6 shrink-0",children:c.jsx(ld,{className:"size-5"})}),c.jsx("div",{className:"flex-1",children:e("Special Follow")})]})})]})]}),u&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(_Z,{title:e("Relay Feeds"),action:c.jsxs(Xl,{to:zS(),className:"flex items-center gap-1 text-xs text-primary hover:text-primary-hover transition-colors font-medium",onClick:()=>t==null?void 0:t(),children:[c.jsx(sL,{className:"size-3"}),e("edit")]})}),c.jsxs("div",{className:"space-y-1.5",children:[l.map(d=>c.jsx(I1e,{relaySet:d,select:(s==null?void 0:s.feedType)==="relays"&&d.id===s.id,onSelectChange:f=>{f&&(a("relays",{activeRelaySetId:d.id}),t==null||t())}},d.id)),o.map(d=>c.jsx(C5,{isActive:(s==null?void 0:s.feedType)==="relay"&&s.id===d,onClick:()=>{a("relay",{relay:d}),t==null||t()},children:c.jsxs("div",{className:"flex gap-3 items-center w-full",children:[c.jsx(iu,{url:d,className:"shrink-0"}),c.jsx("div",{className:"flex-1 w-0 truncate",children:Aa(d)})]})},d))]})]})]})}function _Z({title:t,action:e}){return c.jsxs("div",{className:"flex justify-between items-center px-1 py-1",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider",children:t}),e]})}function C5({children:t,isActive:e,disabled:n,onClick:r}){return c.jsx("div",{className:Te("group relative w-full border rounded-lg px-3 py-2.5 transition-all duration-200",n&&"opacity-50 pointer-events-none",e?"border-primary bg-primary/5 shadow-sm":"border-border hover:border-primary/50 hover:bg-accent/50 clickable"),onClick:()=>{n||r()},children:c.jsx("div",{className:"flex justify-between items-center gap-2",children:c.jsx("div",{className:"font-medium flex-1 min-w-0",children:t})})})}function Kdt({className:t}){const{isSmallScreen:e}=gn(),[n,r]=h.useState(!1);return e?c.jsxs(c.Fragment,{children:[c.jsx(MZ,{className:t,onClick:()=>r(!0)}),c.jsx(io,{open:n,onOpenChange:r,children:c.jsx(lo,{className:"max-h-[85vh]",children:c.jsx("div",{className:"flex-1 overflow-y-auto overscroll-contain py-3 px-4",style:{touchAction:"pan-y",WebkitOverflowScrolling:"touch"},children:c.jsx(AZ,{close:()=>r(!1)})})})})]}):c.jsxs(ME,{open:n,onOpenChange:r,children:[c.jsx(rge,{asChild:!0,children:c.jsx(MZ,{className:t})}),c.jsx(RE,{sideOffset:0,side:"bottom",className:"w-[400px] p-0 overflow-hidden",children:c.jsx("div",{className:"max-h-[calc(100vh-16rem)] overflow-y-auto overscroll-contain py-3 px-4",onWheel:o=>o.stopPropagation(),onTouchMove:o=>o.stopPropagation(),children:c.jsx(AZ,{close:()=>r(!1)})})})]})}const MZ=h.forwardRef(({className:t,...e},n)=>{const{t:r}=Ke(),{feedInfo:o,relayUrls:s}=Yg(),{relaySets:a}=Pa(),i=h.useMemo(()=>(o==null?void 0:o.feedType)==="relays"&&o.id?a.find(d=>d.id===o.id):void 0,[o,a]),l=h.useMemo(()=>{if((o==null?void 0:o.feedType)==="following")return r("Following");if((o==null?void 0:o.feedType)==="pinned")return r("Special Follow");if(s.length===0)return r("Choose a feed");if((o==null?void 0:o.feedType)==="relay")return Aa((o==null?void 0:o.id)??"");if((o==null?void 0:o.feedType)==="relays")return(i==null?void 0:i.name)??(i==null?void 0:i.id)},[o,i]),u=h.useMemo(()=>(o==null?void 0:o.feedType)==="following"?c.jsx(yae,{}):(o==null?void 0:o.feedType)==="pinned"?c.jsx(ld,{}):(o==null?void 0:o.feedType)==="relay"&&o.id?c.jsx(iu,{url:o.id}):c.jsx(ei,{}),[o]);return c.jsxs("div",{className:Te("flex items-center gap-2 clickable px-3 h-full rounded-xl",t),ref:n,...e,children:[u,c.jsx("div",{className:"text-lg font-semibold truncate",children:l}),c.jsx(ic,{})]})});function Zdt(){const{t}=Ke(),{pubkey:e}=wt(),{followingSet:n}=Gg(),{navigate:r}=$o(),{markFeedLoaded:o}=Yg(),[s,a]=h.useState([]),[i,l]=h.useState(null),[u,d]=h.useState(0),f=h.useRef(!1);return h.useEffect(()=>{if(f.current)return;async function m(){if(!e){a([]),l(null);return}const g=await Oe.fetchFollowings(e);l(g.length>0),a(await Oe.generateSubRequestsForPubkeys([e,...g],e)),g.length&&(f.current=!0)}m()},[e,n,u]),h.useEffect(()=>{i===!1&&o()},[i,o]),i===!1&&s.length>0?c.jsxs("div",{className:"flex flex-col items-center justify-center min-h-[60vh] px-6 text-center",children:[c.jsx(gae,{size:64,className:"text-muted-foreground mb-4",strokeWidth:1.5}),c.jsx("h2",{className:"text-2xl font-semibold mb-2",children:t("Welcome to Smesh!")}),c.jsx("p",{className:"text-muted-foreground mb-6 max-w-md",children:t("Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!")}),c.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 w-full max-w-md",children:[c.jsxs(Pe,{size:"lg",onClick:()=>r("explore"),className:"w-full",children:[c.jsx(qse,{className:"size-5"}),t("Explore")]}),c.jsxs(Pe,{size:"lg",variant:"outline",onClick:()=>r("search"),className:"w-full",children:[c.jsx(tx,{className:"size-5"}),t("Search Users")]})]})]}):c.jsx(sd,{subRequests:s,onRefresh:()=>{f.current=!1,d(m=>m+1)},onInitialLoad:o,isMainFeed:!0})}function Qdt(){const{pubkey:t}=wt(),{pinnedPubkeySet:e}=VP(),{markFeedLoaded:n}=Yg(),[r,o]=h.useState([]),s=h.useRef(!1);return h.useEffect(()=>{if(s.current)return;async function a(){if(!t||e.size===0){o([]);return}s.current=!0;const i=Array.from(e);o(await Oe.generateSubRequestsForPubkeys(i,t))}a()},[t,e]),c.jsx(sd,{subRequests:r,isMainFeed:!0,enableSocialGraphFilter:!0,onInitialLoad:n})}function Jdt(){const{relayUrls:t,markFeedLoaded:e}=Yg(),[n,r]=h.useState(!1),[o,s]=h.useState(!1);return h.useEffect(()=>{(async()=>{const i=await ix.getRelayInfos(t);s(i.every(l=>wie(l))),r(!0)})()},[t]),n?c.jsx(sd,{subRequests:[{urls:t,filter:{}}],areAlgoRelays:o,isMainFeed:!0,showRelayCloseReason:!0,enableSocialGraphFilter:!0,onInitialLoad:e}):null}const A1e=h.forwardRef((t,e)=>{const{addRelayUrls:n,removeRelayUrls:r}=U7(),o=h.useRef(null),{pubkey:s}=wt(),{feedInfo:a,relayUrls:i,isReady:l,switchFeed:u}=Yg(),[d,f]=h.useState(!1);h.useImperativeHandle(e,()=>o.current),h.useEffect(()=>{o.current&&o.current.scrollToTop("instant")},[JSON.stringify(i),a]),h.useEffect(()=>{if(i.length)return n(i),()=>{r(i)}},[i]);let m=null;if(!l)m=c.jsx("div",{className:"flex items-center justify-center pt-16",children:c.jsx(N1e,{className:"w-48 h-48"})});else if(!a)m=c.jsx(ept,{});else{if(a.feedType==="following"&&!s)return u(null),null;if(a.feedType==="pinned"&&!s)return u(null),null;a.feedType==="following"?m=c.jsx(Zdt,{}):a.feedType==="pinned"?m=c.jsx(Qdt,{}):m=c.jsxs(c.Fragment,{children:[d&&a.feedType==="relay"&&!!a.id&&c.jsx(Oge,{url:a.id,className:"mb-2 pt-3"}),c.jsx(Jdt,{})]})}return c.jsx(Ql,{pageName:"home",ref:o,titlebar:c.jsx(Xdt,{layoutRef:o,showRelayDetails:d,setShowRelayDetails:(a==null?void 0:a.feedType)==="relay"&&a.id?f:void 0}),displayScrollToTopButton:!0,children:m})});A1e.displayName="NoteListPage";function Xdt({layoutRef:t,showRelayDetails:e,setShowRelayDetails:n}){return c.jsxs("div",{className:"flex gap-1 items-center h-full justify-between",children:[c.jsx(Kdt,{className:"flex-1 max-w-fit w-0"}),c.jsx("div",{className:"shrink-0 flex gap-1 items-center",children:n&&c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",onClick:r=>{var o;r.stopPropagation(),n(s=>!s),e||(o=t==null?void 0:t.current)==null||o.scrollToTop("smooth")},className:e?"bg-accent/50":"",children:c.jsx(rL,{})})})]})}function ept(){const{t}=Ke(),{navigate:e}=$o(),{checkLogin:n}=wt();return c.jsxs("div",{className:"flex flex-col items-center justify-center min-h-[60vh] px-4 text-center space-y-6",children:[c.jsx(N1e,{className:"w-40 h-40"}),c.jsxs("div",{className:"space-y-2",children:[c.jsx("h2",{className:"text-2xl font-bold",children:t("Welcome to Smesh")}),c.jsx("p",{className:"text-muted-foreground max-w-md",children:t("Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.")})]}),c.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 w-full max-w-md",children:[c.jsxs(Pe,{size:"lg",className:"w-full",onClick:()=>e("explore"),children:[c.jsx(qse,{className:"size-5"}),t("Explore")]}),c.jsxs(Pe,{size:"lg",className:"w-full",variant:"outline",onClick:()=>n(),children:[c.jsx(X2,{className:"size-5"}),t("Login")]})]})]})}function lO({type:t,size:e="icon"}){const{t:n}=Ke(),{hideUntrustedInteractions:r,hideUntrustedNotifications:o,updateHideUntrustedInteractions:s,updateHideUntrustedNotifications:a}=$s(),i=t==="interactions"?r:o,l=t==="interactions"?s:a,u=n(t);return c.jsxs(cf,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",size:e,children:i?c.jsx($7e,{className:"text-green-400"}):c.jsx(nx,{className:"text-muted-foreground"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:i?n("Show untrusted {type}",{type:u}):n("Hide untrusted {type}",{type:u})}),c.jsxs(au,{children:[i?n("Currently hiding {type} from untrusted users.",{type:u}):n("Currently showing all {type}.",{type:u})," ",n("Trusted users include people you follow and people they follow.")," ",i?n("Click continue to show all {type}.",{type:u}):n("Click continue to hide {type} from untrusted users.",{type:u})]})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:n("Cancel")}),c.jsx(uf,{onClick:()=>l(!i),children:n("Continue")})]})]})]})}function dv({icon:t,notificationId:e,sender:n,sentAt:r,description:o,middle:s=null,targetEvent:a,isNew:i=!1,showStats:l=!1,navIndex:u}){const{t:d}=Ke(),{push:f}=Cn(),{pubkey:m}=wt(),{isNotificationRead:g,markNotificationAsRead:w}=eO(),{notificationListStyle:b}=ts(),j=h.useMemo(()=>i&&!g(e),[i,g,e]),{ref:S,isSelected:I}=o1(1,u??0,{meta:{type:"note"}}),N=()=>{w(e),a?f(vl(a.id)):m&&f(xf(m))};return b===Dp.COMPACT?c.jsxs("div",{ref:S,className:Te("flex items-center justify-between cursor-pointer py-2 px-4 scroll-mt-[6.5rem]",I&&"ring-2 ring-primary ring-inset"),onClick:N,children:[c.jsxs("div",{className:"flex gap-2 items-center flex-1 w-0",children:[c.jsx(Ro,{userId:n,size:"small"}),t,s,a&&c.jsx(ky,{className:Te("truncate flex-1 w-0",j?"font-semibold":"text-muted-foreground"),event:a})]}),c.jsx("div",{className:"text-muted-foreground shrink-0",children:c.jsx(mh,{timestamp:r,short:!0})})]}):c.jsxs("div",{ref:S,className:Te("clickable flex items-start gap-2 cursor-pointer py-2 px-4 border-b scroll-mt-[6.5rem]",I&&"ring-2 ring-primary ring-inset"),onClick:N,children:[c.jsxs("div",{className:"flex gap-2 items-center mt-1.5",children:[t,c.jsx(Ro,{userId:n,size:"medium"})]}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex items-center justify-between gap-1",children:[c.jsxs("div",{className:"flex gap-1 items-center",children:[c.jsx(zs,{userId:n,className:"flex-1 max-w-fit truncate font-semibold",skeletonClassName:"h-4"}),c.jsx("div",{className:"shrink-0 text-muted-foreground text-sm",children:o})]}),j&&c.jsx("button",{className:"m-0.5 size-3 bg-primary rounded-full shrink-0 transition-all hover:ring-4 hover:ring-primary/20",title:d("Mark as read"),onClick:M=>{M.stopPropagation(),w(e)}})]}),s,a&&c.jsx(ky,{className:Te("line-clamp-2",!j&&"text-muted-foreground"),event:a}),c.jsx(mh,{timestamp:r,className:"shrink-0 text-muted-foreground text-sm"}),l&&a&&c.jsx(Rx,{stuff:a,className:"mt-1"})]})]})}function tpt(){const{notificationListStyle:t}=ts();return t===Dp.COMPACT?c.jsxs("div",{className:"flex gap-2 items-center h-11 py-2 px-4",children:[c.jsx(Dn,{className:"w-7 h-7 rounded-full"}),c.jsx(Dn,{className:"h-6 flex-1 w-0"})]}):c.jsxs("div",{className:"flex items-start gap-2 cursor-pointer py-2 px-4",children:[c.jsxs("div",{className:"flex gap-2 items-center mt-1.5",children:[c.jsx(Dn,{className:"w-6 h-6"}),c.jsx(Dn,{className:"w-9 h-9 rounded-full"})]}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:"w-16 h-4"})}),c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:"w-full h-4"})}),c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:"w-12 h-4"})})]})]})}function npt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=Ke();return c.jsx(dv,{notificationId:t.id,icon:c.jsx(Jse,{size:24,className:"text-orange-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:t,description:r("highlighted your note"),isNew:e,navIndex:n})}function rpt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=Ke(),{push:o}=Cn(),{pubkey:s}=wt(),{notificationListStyle:a}=ts(),i=h.useMemo(()=>s?Rke(t).includes(s):!1,[s,t]),{parentEventId:l,parentExternalContent:u}=h.useMemo(()=>Mee(t),[t]);return c.jsx(dv,{notificationId:t.id,icon:i?c.jsx(f7e,{size:24,className:"text-pink-400"}):l?c.jsx(ex,{size:24,className:"text-blue-400"}):c.jsx(sae,{size:24,className:"text-green-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:t,middle:a===Dp.DETAILED&&c.jsx(V7,{eventId:l,externalContent:u,className:"",onClick:d=>{d.stopPropagation(),u?o(yy(u)):l&&o(vl(l))}}),description:i?r("mentioned you in a note"):l?"":r("quoted your note"),isNew:e,showStats:!0,navIndex:n})}function opt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=Ke(),o=h.useMemo(()=>{const a=t.tags.find(In("e"));return a?nc(a):void 0},[t]),{event:s}=cl(o);return s?c.jsx(dv,{notificationId:t.id,icon:c.jsx(X7e,{size:24,className:"text-violet-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:s,description:r("voted in your poll"),isNew:e,navIndex:n}):null}function spt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=Ke(),{pubkey:o}=wt(),s=h.useMemo(()=>{const l=t.tags.findLast(In("a"));if(l)return eh(l);const u=t.tags.findLast(In("e"));return u?nc(u):void 0},[t,o]),{event:a}=cl(s),i=h.useMemo(()=>{var u;if(!t.content||t.content==="+")return c.jsx(Qk,{size:24,className:"text-red-400"});const l=(u=/^:([^:]+):$/.exec(t.content))==null?void 0:u[1];if(l){const d=t.tags.find(m=>m[0]==="emoji"&&m[1]===l),f=d==null?void 0:d[2];if(f)return c.jsx(Uo,{image:{url:f,pubkey:t.pubkey},alt:l,className:"w-6 h-6",classNames:{errorPlaceholder:"bg-transparent",wrapper:"rounded-md"},errorPlaceholder:c.jsx(Qk,{size:24,className:"text-red-400"})})}return t.content.length>4?null:t.content},[t]);return!a||!s||!i?null:c.jsx(dv,{notificationId:t.id,icon:c.jsx("div",{className:"text-xl min-w-6 text-center",children:i}),sender:t.pubkey,sentAt:t.created_at,targetEvent:a,description:r("reacted to your note"),isNew:e,navIndex:n})}function apt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=Ke(),o=h.useMemo(()=>{try{const s=JSON.parse(t.content);return pC(s)?(Oe.addEventToCache(s),s):null}catch{return null}},[t.content]);return o?c.jsx(dv,{notificationId:t.id,icon:c.jsx(Qw,{size:24,className:"text-green-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:o,description:r("reposted your note"),isNew:e,navIndex:n}):null}function ipt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=Ke(),{senderPubkey:o,eventId:s,amount:a,comment:i}=h.useMemo(()=>Ok(t)??{},[t]),{event:l}=cl(s);return!o||!a?null:c.jsx(dv,{notificationId:t.id,icon:c.jsx(lc,{size:24,className:"text-yellow-400 shrink-0"}),sender:o,sentAt:t.created_at,targetEvent:l,middle:c.jsxs("div",{className:"font-semibold text-yellow-400 truncate",children:[Y2(a)," ",r("sats")," ",i]}),description:r(l?"zapped your note":"zapped you"),isNew:e,navIndex:n})}function lpt({notification:t,isNew:e=!1,navIndex:n}){const{pubkey:r}=wt(),{mutePubkeySet:o}=ns(),{hideContentMentioningMutedUsers:s}=Qr(),{hideUntrustedNotifications:a,isUserTrusted:i}=$s();return h.useMemo(()=>Gge(t,{pubkey:r,mutePubkeySet:o,hideContentMentioningMutedUsers:s,hideUntrustedNotifications:a,isUserTrusted:i}),[t,o,s,a,i])?t.kind===$e.Reaction?c.jsx(spt,{notification:t,isNew:e,navIndex:n}):t.kind===$e.ShortTextNote||t.kind===gt.COMMENT||t.kind===gt.VOICE_COMMENT||t.kind===gt.POLL?c.jsx(rpt,{notification:t,isNew:e,navIndex:n}):t.kind===$e.Repost||t.kind===$e.GenericRepost?c.jsx(apt,{notification:t,isNew:e,navIndex:n}):t.kind===$e.Zap?c.jsx(ipt,{notification:t,isNew:e,navIndex:n}):t.kind===gt.POLL_RESPONSE?c.jsx(opt,{notification:t,isNew:e,navIndex:n}):t.kind===$e.Highlights?c.jsx(npt,{notification:t,isNew:e,navIndex:n}):null:null}const r3=100,o3=30,_1e=h.forwardRef((t,e)=>{const{t:n}=Ke(),{current:r,display:o}=$o(),s=h.useMemo(()=>r==="notifications"&&o,[r,o]),{pubkey:a}=wt(),{getNotificationsSeenAt:i}=eO(),{notificationListStyle:l}=ts(),[u,d]=h.useState("all"),[f,m]=h.useState(0),[g,w]=h.useState(void 0),[b,j]=h.useState(!0),[S,I]=h.useState(!1),[N,M]=h.useState(!1),[D,P]=h.useState([]),[L,F]=h.useState([]),[T,R]=h.useState(o3),[z,G]=h.useState(En().unix()),Z=h.useMemo(()=>uu(),[]),W=h.useRef(null),U=h.useRef(null),ee=h.useRef(null),$=h.useMemo(()=>{switch(u){case"mentions":return[$e.ShortTextNote,$e.Highlights,gt.COMMENT,gt.VOICE_COMMENT,gt.POLL];case"reactions":return[$e.Reaction,$e.Repost,$e.GenericRepost,gt.POLL_RESPONSE];case"zaps":return[$e.Zap];default:return[$e.ShortTextNote,$e.Repost,$e.GenericRepost,$e.Reaction,$e.Zap,$e.Highlights,gt.COMMENT,gt.POLL_RESPONSE,gt.VOICE_COMMENT,gt.POLL]}},[u]),H=h.useCallback(re=>{const de=re.filter(Ee=>Ee.pubkey!==a);de.length!==0&&P(Ee=>{const we=new Set(Ee.map(pe=>pe.id)),xe=de.filter(pe=>!we.has(pe.id));if(xe.length===0)return Ee;const ce=[...xe,...Ee];return ce.sort((pe,he)=>he.created_at-pe.created_at),ce})},[a]),Y=h.useCallback(re=>{re.pubkey!==a&&P(de=>{const Ee=de.findIndex(we=>dg(we,re)<=0);return Ee!==-1&&de[Ee].id===re.id?de:(Ai.updateStuffStatsByEvents([re]),Ee===-1?[...de,re]:[...de.slice(0,Ee),re,...de.slice(Ee)])})},[a]),q=h.useCallback(async()=>{if(!(!a||N)){M(!0),m(i());try{const re=await Oe.fetchRelayList(a),de=re.read.length>0?re.read.slice(0,5):Oe.currentRelays.slice(0,5),Ee=await Oe.fetchEvents(de,{"#p":[a],kinds:$,limit:r3});Ee.length>0&&(H(Ee),dl.addRepliesToThread(Ee),Ai.updateStuffStatsByEvents(Ee))}finally{M(!1)}}},[a,N,$,H,i]);h.useImperativeHandle(e,()=>({refresh:()=>{N||q()}}),[N,q]),h.useEffect(()=>{if(r!=="notifications")return;if(!a){G(void 0);return}return(async()=>{j(!0),P([]),R(o3),m(i());const de=await Oe.fetchRelayList(a),{closer:Ee,timelineKey:we}=await Oe.subscribeTimeline([{urls:de.read.length>0?de.read.slice(0,5):Oe.currentRelays.slice(0,5),filter:{"#p":[a],kinds:$,limit:r3}}],{onEvents:(xe,ce)=>{xe.length>0&&P(xe.filter(pe=>pe.pubkey!==a)),ce&&(j(!1),G(xe.length>0?xe[xe.length-1].created_at-1:void 0),dl.addRepliesToThread(xe),Ai.updateStuffStatsByEvents(xe))},onNew:xe=>{Y(xe),dl.addRepliesToThread([xe])}});ee.current=Ee,w(we)})(),()=>{var de;(de=ee.current)==null||de.call(ee),ee.current=null}},[a,$,r]),h.useEffect(()=>{if(!s||!a)return;const re=de=>{const we=de.detail;EX({kinds:$,"#p":[a]},we)&&Y(we)};return Oe.addEventListener("newEvent",re),()=>{Oe.removeEventListener("newEvent",re)}},[a,s,$,Y]),h.useEffect(()=>{F(D.slice(0,T))},[D,T]),h.useEffect(()=>{const re={root:null,rootMargin:"10px",threshold:1},de=async()=>{if(T<D.length&&(R(ce=>ce+o3),D.length-T>r3/2)||!a||!g||!z||S||b)return;I(!0);const xe=await Oe.loadMoreTimeline(g,z,r3);if(I(!1),xe.length===0){G(void 0);return}xe.length>0&&P(ce=>[...ce,...xe.filter(pe=>pe.pubkey!==a)]),G(xe[xe.length-1].created_at-1)},Ee=new IntersectionObserver(xe=>{xe[0].isIntersecting&&de()},re),we=U.current;return we&&Ee.observe(we),()=>{Ee&&we&&Ee.unobserve(we)}},[a,g,z,S,b,T,D]);const J=()=>{var re;(re=W.current)==null||re.scrollIntoView({behavior:"instant",block:"start"}),q()},ne=c.jsxs("div",{className:l===Dp.COMPACT?"pt-2":"",children:[L.map((re,de)=>c.jsx(lpt,{notification:re,isNew:re.created_at>f,navIndex:de},re.id)),c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:z||S||b?c.jsx("div",{ref:U,children:c.jsx(tpt,{})}):n("no more notifications")})]});return c.jsxs("div",{children:[c.jsx(Dx,{value:u,tabs:[{value:"all",label:"All"},{value:"mentions",label:"Mentions"},{value:"reactions",label:"Reactions"},{value:"zaps",label:"Zaps"}],onTabChange:re=>{R(o3),d(re)},options:Z?null:c.jsx(UP,{onClick:()=>J()})}),c.jsx("div",{ref:W,className:"scroll-mt-[calc(6rem+1px)]"}),Z?c.jsx(dge,{onRefresh:async()=>{q(),await new Promise(re=>setTimeout(re,1e3))},pullingContent:"",children:ne}):ne]})});_1e.displayName="NotificationList";const M1e=h.forwardRef((t,e)=>{const{current:n}=$o(),r=h.useRef(!0),o=h.useRef(null);return h.useEffect(()=>{var s;n==="notifications"&&!r.current&&((s=o.current)==null||s.refresh()),r.current=!1},[n]),c.jsx(Ql,{ref:e,pageName:"notifications",titlebar:c.jsx(cpt,{}),displayScrollToTopButton:!0,children:c.jsx(_1e,{ref:o})})});M1e.displayName="NotificationListPage";function cpt(){const{t}=Ke();return c.jsxs("div",{className:"flex gap-2 items-center justify-between h-full pl-3",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(my,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Notifications")})]}),c.jsx(lO,{type:"notifications",size:"titlebar-icon"})]})}const R1e=h.forwardRef((t,e)=>{const{pubkey:n}=wt();return c.jsx(Ql,{pageName:"profile",titlebar:c.jsx(upt,{}),displayScrollToTopButton:!0,ref:e,children:c.jsx(HP,{id:n??void 0})})});R1e.displayName="ProfilePage";function upt(){const{t}=Ke(),[e,n]=h.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex justify-between items-center h-full w-full pl-3 pr-1",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(SS,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Profile")})]}),c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",onClick:()=>n(!0),children:c.jsx(zse,{})})]}),c.jsx(ZE,{open:e,setOpen:n})]})}const M0=class M0{constructor(){return M0.instance||(M0.instance=this),M0.instance}getApiBase(){return window.location.origin}async authGet(e){const n=`${this.getApiBase()}${e}`,r=await Oe.signHttpAuth(n,"GET");return fetch(n,{headers:{Authorization:r}})}async authPost(e,n,r){const o=`${this.getApiBase()}${e}`,a={Authorization:await Oe.signHttpAuth(o,"POST")};return r&&(a["Content-Type"]=r),fetch(o,{method:"POST",headers:a,body:n})}async authPut(e,n,r){const o=`${this.getApiBase()}${e}`,s=await Oe.signHttpAuth(o,"PUT");return fetch(o,{method:"PUT",headers:{Authorization:s,"Content-Type":r},body:n})}async authDelete(e){const n=`${this.getApiBase()}${e}`,r=await Oe.signHttpAuth(n,"DELETE");return fetch(n,{method:"DELETE",headers:{Authorization:r}})}async isEmbeddedInRelay(){try{const e=await fetch(this.getApiBase(),{headers:{Accept:"application/nostr+json"}});if(!e.ok)return!1;const n=await e.json();return!!(n&&n.name)}catch{return!1}}async fetchUserRole(){try{const e=await this.authGet("/api/role");if(e.ok)return(await e.json()).role||""}catch(e){console.error("fetchUserRole error:",e)}return""}async fetchACLMode(){try{const e=await fetch(`${this.getApiBase()}/api/acl-mode`);if(e.ok)return(await e.json()).mode||""}catch(e){console.error("fetchACLMode error:",e)}return""}async fetchRelayInfo(){try{const e=await fetch(this.getApiBase(),{headers:{Accept:"application/nostr+json"}});if(e.ok)return await e.json()}catch(e){console.error("fetchRelayInfo error:",e)}return null}async loadSprocketConfig(){const e=await this.authGet("/api/sprocket/config");if(!e.ok)throw new Error(`Failed to load config: ${e.statusText}`);return await e.json()}async loadSprocketStatus(){const e=await this.authGet("/api/sprocket/status");if(!e.ok)throw new Error(`Failed to load status: ${e.statusText}`);return await e.json()}async loadSprocketScript(){const e=await this.authGet("/api/sprocket");if(e.status===404)return"";if(!e.ok)throw new Error(`Failed to load sprocket: ${e.statusText}`);return await e.text()}async saveSprocketScript(e){const n=await this.authPut("/api/sprocket",e,"text/plain");if(!n.ok)throw new Error(`Failed to save: ${n.statusText}`);return await n.json()}async restartSprocket(){const e=await this.authPost("/api/sprocket/restart");if(!e.ok)throw new Error(`Failed to restart: ${e.statusText}`);return await e.json()}async deleteSprocket(){const e=await this.authDelete("/api/sprocket");if(!e.ok)throw new Error(`Failed to delete: ${e.statusText}`);return await e.json()}async loadSprocketVersions(){const e=await this.authGet("/api/sprocket/versions");if(!e.ok)throw new Error(`Failed to load versions: ${e.statusText}`);return await e.json()}async loadSprocketVersion(e){const n=await this.authGet(`/api/sprocket/versions/${encodeURIComponent(e)}`);if(!n.ok)throw new Error(`Failed to load version: ${n.statusText}`);return await n.text()}async deleteSprocketVersion(e){const n=await this.authDelete(`/api/sprocket/versions/${encodeURIComponent(e)}`);if(!n.ok)throw new Error(`Failed to delete version: ${n.statusText}`);return await n.json()}async loadPolicyConfig(){const e=await this.authGet("/api/policy/config");if(!e.ok)throw new Error(`Failed to load policy config: ${e.statusText}`);return await e.json()}async loadPolicy(){const e=await this.authGet("/api/policy");if(!e.ok)throw new Error(`Failed to load policy: ${e.statusText}`);return await e.json()}async validatePolicy(e){return await(await this.authPost("/api/policy/validate",e,"application/json")).json()}async fetchPolicyFollows(){const e=await this.authGet("/api/policy/follows");if(!e.ok)throw new Error(`Failed to fetch follows: ${e.statusText}`);return(await e.json()).follows||[]}async exportEvents(e=[]){const n=await this.authPost("/api/export",JSON.stringify({pubkeys:e}),"application/json");if(!n.ok)throw new Error(`Export failed: ${n.statusText}`);return await n.blob()}async importEvents(e){const n=new FormData;n.append("file",e);const r=`${this.getApiBase()}/api/import`,o=await Oe.signHttpAuth(r,"POST"),s=await fetch(r,{method:"POST",headers:{Authorization:o},body:n});if(!s.ok)throw new Error(`Import failed: ${s.statusText}`);return await s.json()}async getLogs(e,n=100){const r=new URLSearchParams;e&&r.set("cursor",e),r.set("limit",String(n));const o=await this.authGet(`/api/logs?${r}`);if(!o.ok)throw new Error(`Failed to get logs: ${o.statusText}`);return await o.json()}async clearLogs(){const e=await this.authPost("/api/logs/clear");if(!e.ok)throw new Error(`Failed to clear logs: ${e.statusText}`);return await e.json()}async getLogLevel(){const e=await this.authGet("/api/logs/level");if(!e.ok)throw new Error(`Failed to get log level: ${e.statusText}`);return(await e.json()).level||"info"}async setLogLevel(e){const n=await this.authPost("/api/logs/level",JSON.stringify({level:e}),"application/json");if(!n.ok)throw new Error(`Failed to set log level: ${n.statusText}`);return await n.json()}async nip86Request(e,n=[]){const r=await this.authPost("/api/nip86",JSON.stringify({method:e,params:n}),"application/json");if(!r.ok)throw new Error(`NIP-86 ${e} failed: ${r.statusText}`);return await r.json()}async fetchWireGuardStatus(){try{const e=await fetch(`${this.getApiBase()}/api/wireguard/status`);if(e.ok)return await e.json()}catch(e){console.error("fetchWireGuardStatus error:",e)}return{wireguard_enabled:!1,bunker_enabled:!1,available:!1}}async getWireGuardConfig(){const e=await this.authGet("/api/wireguard/config");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async regenerateWireGuard(){const e=await this.authPost("/api/wireguard/regenerate");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async getWireGuardAudit(){const e=await this.authGet("/api/wireguard/audit");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async fetchNRCConfig(){try{const e=await fetch(`${this.getApiBase()}/api/nrc/config`);if(e.ok)return await e.json()}catch(e){console.error("fetchNRCConfig error:",e)}return{enabled:!1,badger_required:!0}}async fetchNRCConnections(){const e=await this.authGet("/api/nrc/connections");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async createNRCConnection(e){const n=await this.authPost("/api/nrc/connections",JSON.stringify({label:e}),"application/json");if(!n.ok)throw new Error(await n.text()||`Failed: ${n.statusText}`);return await n.json()}async deleteNRCConnection(e){const n=await this.authDelete(`/api/nrc/connections/${e}`);if(!n.ok)throw new Error(await n.text()||`Failed: ${n.statusText}`);return await n.json()}async getNRCConnectionURI(e){const n=await this.authGet(`/api/nrc/connections/${e}/uri`);if(!n.ok)throw new Error(await n.text()||`Failed: ${n.statusText}`);return await n.json()}async fetchBunkerInfo(){try{const e=await fetch(`${this.getApiBase()}/api/bunker/info`);if(e.ok)return await e.json()}catch(e){console.error("fetchBunkerInfo error:",e)}return{}}async fetchBunkerURL(){try{const e=await this.authGet("/api/bunker/url");if(e.ok)return(await e.json()).url||""}catch(e){console.error("fetchBunkerURL error:",e)}return""}async fetchMyEvents(e,n=50){const r=new URLSearchParams;e&&r.set("cursor",e),r.set("limit",String(n));const o=await this.authGet(`/api/events/mine?${r}`);if(!o.ok)throw new Error(`Failed: ${o.statusText}`);return await o.json()}};je(M0,"instance");let xR=M0;const r0=new xR,T1e=h.createContext(void 0),fpt=()=>{const t=h.useContext(T1e);if(!t)throw new Error("useRelayAdmin must be used within a RelayAdminProvider");return t};function dpt({children:t}){const{pubkey:e}=wt(),[n,r]=h.useState(!1),[o,s]=h.useState(!0),[a,i]=h.useState(""),[l,u]=h.useState(""),[d,f]=h.useState(null);h.useEffect(()=>{let j=!1;return(async()=>{const I=await r0.isEmbeddedInRelay();if(!j){if(r(I),I){const[N,M]=await Promise.all([r0.fetchRelayInfo(),r0.fetchACLMode()]);j||(f(N),u(M))}j||s(!1)}})(),()=>{j=!0}},[]),h.useEffect(()=>{if(!n||!e){i("");return}let j=!1;return(async()=>{try{const I=await r0.fetchUserRole();j||i(I)}catch{j||i("")}})(),()=>{j=!0}},[n,e]);const m=h.useCallback(async()=>{if(!n||!e)return;const j=await r0.fetchUserRole();i(j)},[n,e]),g=h.useCallback(async()=>{if(!n)return;const j=await r0.fetchACLMode();u(j)},[n]),w=a==="admin"||a==="owner",b=a==="owner";return c.jsx(T1e.Provider,{value:{isEmbedded:n,isLoading:o,userRole:a,aclMode:l,relayInfo:d,isAdmin:w,isOwner:b,refreshRole:m,refreshACLMode:g},children:t})}const ppt=h.lazy(()=>Bs(()=>import("./index-Ce1NkFAO.js"),[])),D1e=h.forwardRef(({url:t},e)=>{const n=h.useMemo(()=>t?so(t):void 0,[t]),{isEmbedded:r,isAdmin:o,isLoading:s}=fpt(),a=r&&o&&!n;return c.jsx(Ql,{pageName:"relay",titlebar:c.jsx(hpt,{url:n,showAdmin:a}),displayScrollToTopButton:!0,ref:e,children:n?c.jsx(JP,{url:n}):a?c.jsx(h.Suspense,{fallback:c.jsx("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:"Loading admin..."}),children:c.jsx(ppt,{})}):r&&!s?c.jsx("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:"Log in as admin to access relay management."}):c.jsx("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:"Select a relay to view its information."})})});D1e.displayName="RelayPage";function hpt({url:t,showAdmin:e}){return c.jsxs("div",{className:"flex items-center gap-2 px-3 h-full",children:[e?c.jsx(nx,{}):c.jsx(ei,{}),c.jsx("div",{className:"text-lg font-semibold truncate",children:e?"Relay Admin":Aa(t??"")})]})}const L1e=h.forwardRef((t,e)=>{const{current:n,display:r}=$o(),[o,s]=h.useState(""),[a,i]=h.useState(null),l=h.useMemo(()=>n==="search"&&r,[n,r]),u=h.useRef(null),d=h.useRef(null);h.useImperativeHandle(e,()=>({scrollToTop:(m="smooth")=>{var g;return(g=d.current)==null?void 0:g.scrollToTop(m)}}),[]),h.useEffect(()=>{var m;l&&!a&&((m=u.current)==null||m.focus())},[l,a]);const f=m=>{var g;i(m),m!=null&&m.input&&s(m.input),(g=d.current)==null||g.scrollToTop("instant")};return c.jsx(Ql,{ref:d,pageName:"search",titlebar:c.jsx(DE,{ref:u,onSearch:f,input:o,setInput:s}),displayScrollToTopButton:!0,children:c.jsx(XP,{searchParams:a})})});L1e.displayName="SearchPage";function mpt({children:t}){const{isSmallScreen:e}=gn(),[n,r]=h.useState(!1),o=c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"text-xl font-semibold",children:"Smesh"}),c.jsx("div",{className:"text-muted-foreground",children:"A user-friendly Nostr client for exploring relay feeds"}),c.jsxs("div",{children:["Made by ",c.jsx(zs,{userId:bC,className:"inline-block text-primary",showAt:!0})]}),c.jsxs("div",{children:["Source code:"," ",c.jsx("a",{href:"https://git.mleku.dev/mleku/smesh",target:"_blank",rel:"noreferrer",className:"text-primary hover:underline",children:"Git"}),c.jsx("div",{className:"text-sm text-muted-foreground",children:"If you like Smesh, please consider giving it a star ⭐"})]})]});return e?c.jsxs(io,{open:n,onOpenChange:r,children:[c.jsx(Sh,{asChild:!0,children:t}),c.jsx(lo,{children:c.jsx("div",{className:"p-4 space-y-4",children:o})})]}):c.jsxs(Ls,{open:n,onOpenChange:r,children:[c.jsx(ES,{asChild:!0,children:t}),c.jsx(gs,{children:o})]})}function gpt(){const{t}=Ke(),[e,n]=h.useState([]);return h.useEffect(()=>{(async()=>{const o=await Km.fetchRecentSupporters();n(o)})()},[]),e.length?c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"font-semibold text-center",children:t("Named and Shamed")}),c.jsx("div",{className:"flex flex-col gap-2",children:e.map((r,o)=>c.jsxs("div",{className:"flex items-center justify-between rounded-md border p-2 sm:p-4 gap-2",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0",children:[c.jsx(Ro,{userId:r.pubkey}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{className:"font-semibold w-fit",userId:r.pubkey}),c.jsx("div",{className:"text-xs text-muted-foreground line-clamp-3 select-text",children:r.comment})]})]}),c.jsxs("div",{className:"font-semibold text-yellow-400 shrink-0",children:[Y2(r.amount)," ",t("sats")]})]},o))})]}):null}function ypt({className:t}){const[e,n]=h.useState(!1),[r,o]=h.useState(void 0);return c.jsxs("div",{className:Te("p-4 border rounded-lg space-y-4",t),children:[c.jsx("div",{className:"text-center font-semibold text-lg",children:"Can Youse Paradigm?"}),c.jsx("div",{className:"text-center text-muted-foreground",children:"Every hour you don't zap, a donkey eats another cabbage. You can stop this. 🫏"}),c.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[{amount:1e3,text:"🥬 1k"},{amount:1e4,text:"🫏 10k"},{amount:1e5,text:"🥬🫏 100k"},{amount:1e6,text:"🥬🫏🥬🫏 1M"}].map(({amount:s,text:a})=>c.jsx(Pe,{variant:"secondary",className:"",onClick:()=>{o(s),n(!0)},children:a},s))}),c.jsx(gpt,{}),c.jsx(TE,{open:e,setOpen:n,pubkey:bC,defaultAmount:r})]})}function vpt(){const{t}=Ke(),[e,n]=h.useState(!1),[r,o]=h.useState(null),[s,a]=h.useState(null),[i,l]=h.useState(!1),[u,d]=h.useState(Ze.getFallbackRelayCount());h.useEffect(()=>{const I=Wf.getCachedResult();I&&a(I)},[]);const f=h.useCallback(async()=>{n(!0),o({phase:"phase1",relaysQueried:0,totalRelays:0,eventsFound:0,uniqueRelaysFound:0});try{const I=await Wf.discover(N=>{o(N)});a(I),on.success(t("Discovery complete"),{description:`${I.relays.length} relays found`})}catch(I){console.error("[RelayDiscovery] Error:",I),on.error(t("Discovery failed"))}finally{n(!1),o(null)}},[t]),m=h.useCallback(()=>{Wf.abort(),n(!1),o(null)},[]),g=h.useCallback(()=>{Wf.clearCache(),a(null),f()},[f]),w=h.useCallback(()=>{if(!s)return;const I=Wf.exportAsPlaintext(s.relays);navigator.clipboard.writeText(I),l(!0),setTimeout(()=>l(!1),2e3),on.success(t("Copied to clipboard"))},[s,t]),b=h.useCallback(()=>{s&&(Wf.downloadAsFile(s.relays),on.success(t("Downloaded")))},[s,t]),j=I=>{switch(I){case"phase1":return t("Phase 1: Querying bootstrap relays");case"phase2":return t("Phase 2: Querying discovered relays");case"complete":return t("Complete");default:return""}},S=()=>{if(!r||r.totalRelays===0)return 0;const I=r.phase==="phase1"?0:50,N=r.relaysQueried/r.totalRelays*50;return Math.round(I+N)};return c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"text-sm text-muted-foreground",children:t("Discover all known relays on the Nostr network by querying NIP-65 relay lists.")}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs(_t,{children:[t("Fallback relay count"),": ",u]}),c.jsx("div",{className:"text-xs text-muted-foreground",children:t("Number of top discovered relays to search when notes aren't found.")}),c.jsx(GS,{value:[u],onValueChange:([I])=>{d(I),Ze.setFallbackRelayCount(I)},min:3,max:50,step:1,disabled:!s}),c.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[c.jsx("span",{children:"3"}),c.jsx("span",{children:"50"})]})]}),c.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e?c.jsxs(Pe,{onClick:m,size:"sm",variant:"destructive",children:[c.jsx(q7e,{className:"h-4 w-4 mr-2"}),t("Stop")]}):c.jsx(c.Fragment,{children:s?c.jsxs(Pe,{onClick:g,size:"sm",variant:"outline",children:[c.jsx(Hl,{className:"h-4 w-4 mr-2"}),t("Refresh")]}):c.jsxs(Pe,{onClick:f,size:"sm",children:[c.jsx(oL,{className:"h-4 w-4 mr-2"}),t("Start Discovery")]})}),s&&!e&&c.jsxs(c.Fragment,{children:[c.jsxs(Pe,{onClick:w,size:"sm",variant:"outline",children:[c.jsx(La,{className:"h-4 w-4 mr-2"}),t(i?"Copied!":"Copy")]}),c.jsxs(Pe,{onClick:b,size:"sm",variant:"outline",children:[c.jsx(tL,{className:"h-4 w-4 mr-2"}),t("Download")]})]})]}),e&&r&&c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[c.jsx(ao,{className:"h-4 w-4 animate-spin"}),c.jsx("span",{children:j(r.phase)})]}),c.jsx("div",{className:"h-2 w-full rounded-full bg-muted overflow-hidden",children:c.jsx("div",{className:"h-full bg-primary transition-all duration-300",style:{width:`${S()}%`}})}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[t("Relays queried"),": ",r.relaysQueried,"/",r.totalRelays," |"," ",t("Events found"),": ",r.eventsFound," |"," ",t("Unique relays"),": ",r.uniqueRelaysFound]})]}),s&&!e&&c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-medium",children:t("Found {{count}} relays from {{events}} relay list events",{count:s.relays.length,events:s.totalEvents})}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[t("Last updated"),": ",new Date(s.timestamp).toLocaleString()]}),c.jsx(Fa,{className:"h-[300px] rounded-md border",children:c.jsx("div",{className:"p-2",children:c.jsxs("table",{className:"w-full text-sm",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"border-b",children:[c.jsx("th",{className:"text-left py-2 px-2",children:"#"}),c.jsx("th",{className:"text-left py-2 px-2",children:t("Relay URL")}),c.jsx("th",{className:"text-right py-2 px-2",children:t("Count")}),c.jsx("th",{className:"text-right py-2 px-2",children:"%"})]})}),c.jsx("tbody",{children:s.relays.map((I,N)=>c.jsx(wpt,{relay:I,index:N+1},I.url))})]})})})]})]})}function wpt({relay:t,index:e}){return c.jsxs("tr",{className:"border-b border-border/50 hover:bg-muted/50",children:[c.jsx("td",{className:"py-1.5 px-2 text-muted-foreground",children:e}),c.jsx("td",{className:"py-1.5 px-2 font-mono text-xs break-all",children:t.url}),c.jsx("td",{className:"py-1.5 px-2 text-right tabular-nums",children:t.count}),c.jsxs("td",{className:"py-1.5 px-2 text-right tabular-nums text-muted-foreground",children:[t.percentage,"%"]})]})}const RZ=10;function P1e(){const{t}=Ke(),{userEmojiListEvent:e}=wt(),n=h.useMemo(()=>e?e.tags.map(a=>a[0]==="a"?eh(a):null).filter(Boolean).reverse():[],[e]),[r,o]=h.useState(RZ),s=h.useRef(null);return h.useEffect(()=>{const a={root:null,rootMargin:"10px",threshold:.1},i=()=>{r<n.length&&o(d=>d+RZ)},l=new IntersectionObserver(d=>{d[0].isIntersecting&&i()},a),u=s.current;return u&&l.observe(u),()=>{l&&u&&l.unobserve(u)}},[r,n]),n.length===0?c.jsx("div",{className:"mt-2 text-sm text-center text-muted-foreground",children:t("no emoji packs found")}):c.jsx("div",{children:n.slice(0,r).map(a=>c.jsx(bpt,{eventId:a},a))})}function bpt({eventId:t}){const{event:e,isFetching:n}=cl(t);return n?c.jsx(Tx,{className:"border-b"}):e?c.jsx(LE,{event:e,className:"w-full"}):null}function xpt(){const{t}=Ke(),{favoriteRelays:e,addFavoriteRelays:n}=Pa(),[r,o]=h.useState(""),[s,a]=h.useState(""),i=async()=>{if(!r)return;const d=so(r);if(!d){a(t("Invalid URL"));return}if(e.includes(d)){a(t("Already saved"));return}await n([d]),o("")},l=d=>{o(d.target.value),a("")},u=d=>{d.key==="Enter"&&(d.preventDefault(),i())};return c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(Pn,{placeholder:t("Add a new relay"),value:r,onChange:l,onKeyDown:u,className:s?"border-destructive":""}),c.jsx(Pe,{onClick:i,children:t("Add")})]}),s&&c.jsx("div",{className:"text-destructive text-sm pl-8",children:s})]})}function kpt(){const{t}=Ke(),{createRelaySet:e}=Pa(),[n,r]=h.useState(""),o=()=>{n&&(e(n),r(""))},s=i=>{r(i.target.value)},a=i=>{i.key==="Enter"&&(i.preventDefault(),o())};return c.jsx("div",{className:"space-y-1",children:c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(Pn,{placeholder:t("Add a new relay set"),value:n,onChange:s,onKeyDown:a}),c.jsx(Pe,{onClick:o,children:t("Add")})]})})}function jpt(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return h.useMemo(()=>r=>{e.forEach(o=>o(r))},e)}const $E=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function pv(t){const e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function cO(t){return"nodeType"in t}function Pi(t){var e,n;return t?pv(t)?t:cO(t)&&(e=(n=t.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function uO(t){const{Document:e}=Pi(t);return t instanceof e}function Ox(t){return pv(t)?!1:t instanceof Pi(t).HTMLElement}function O1e(t){return t instanceof Pi(t).SVGElement}function hv(t){return t?pv(t)?t.document:cO(t)?uO(t)?t:Ox(t)||O1e(t)?t.ownerDocument:document:document:document}const gf=$E?h.useLayoutEffect:h.useEffect;function fO(t){const e=h.useRef(t);return gf(()=>{e.current=t}),h.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return e.current==null?void 0:e.current(...r)},[])}function Cpt(){const t=h.useRef(null),e=h.useCallback((r,o)=>{t.current=setInterval(r,o)},[]),n=h.useCallback(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[]);return[e,n]}function I2(t,e){e===void 0&&(e=[t]);const n=h.useRef(t);return gf(()=>{n.current!==t&&(n.current=t)},e),n}function zx(t,e){const n=h.useRef();return h.useMemo(()=>{const r=t(n.current);return n.current=r,r},[...e])}function Kj(t){const e=fO(t),n=h.useRef(null),r=h.useCallback(o=>{o!==n.current&&(e==null||e(o,n.current)),n.current=o},[]);return[n,r]}function kR(t){const e=h.useRef();return h.useEffect(()=>{e.current=t},[t]),e.current}let S5={};function Fx(t,e){return h.useMemo(()=>{if(e)return e;const n=S5[t]==null?0:S5[t]+1;return S5[t]=n,t+"-"+n},[t,e])}function z1e(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((s,a)=>{const i=Object.entries(a);for(const[l,u]of i){const d=s[l];d!=null&&(s[l]=d+t*u)}return s},{...e})}}const Z0=z1e(1),A2=z1e(-1);function Spt(t){return"clientX"in t&&"clientY"in t}function dO(t){if(!t)return!1;const{KeyboardEvent:e}=Pi(t.target);return e&&t instanceof e}function Ept(t){if(!t)return!1;const{TouchEvent:e}=Pi(t.target);return e&&t instanceof e}function jR(t){if(Ept(t)){if(t.touches&&t.touches.length){const{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){const{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return Spt(t)?{x:t.clientX,y:t.clientY}:null}const Og=Object.freeze({Translate:{toString(t){if(!t)return;const{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;const{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[Og.Translate.toString(t),Og.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),TZ="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Npt(t){return t.matches(TZ)?t:t.querySelector(TZ)}const Ipt={display:"none"};function Apt(t){let{id:e,value:n}=t;return Be.createElement("div",{id:e,style:Ipt},n)}function _pt(t){let{id:e,announcement:n,ariaLiveType:r="assertive"}=t;const o={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return Be.createElement("div",{id:e,style:o,role:"status","aria-live":r,"aria-atomic":!0},n)}function Mpt(){const[t,e]=h.useState("");return{announce:h.useCallback(r=>{r!=null&&e(r)},[]),announcement:t}}const F1e=h.createContext(null);function Rpt(t){const e=h.useContext(F1e);h.useEffect(()=>{if(!e)throw new Error("useDndMonitor must be used within a children of <DndContext>");return e(t)},[t,e])}function Tpt(){const[t]=h.useState(()=>new Set),e=h.useCallback(r=>(t.add(r),()=>t.delete(r)),[t]);return[h.useCallback(r=>{let{type:o,event:s}=r;t.forEach(a=>{var i;return(i=a[o])==null?void 0:i.call(a,s)})},[t]),e]}const Dpt={draggable:`
2333 To pick up a draggable item, press the space bar.
2334 While dragging, use the arrow keys to move the item.
2335 Press space again to drop the item in its new position, or press escape to cancel.
2336 `},Lpt={onDragStart(t){let{active:e}=t;return"Picked up draggable item "+e.id+"."},onDragOver(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was moved over droppable area "+n.id+".":"Draggable item "+e.id+" is no longer over a droppable area."},onDragEnd(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was dropped over droppable area "+n.id:"Draggable item "+e.id+" was dropped."},onDragCancel(t){let{active:e}=t;return"Dragging was cancelled. Draggable item "+e.id+" was dropped."}};function Ppt(t){let{announcements:e=Lpt,container:n,hiddenTextDescribedById:r,screenReaderInstructions:o=Dpt}=t;const{announce:s,announcement:a}=Mpt(),i=Fx("DndLiveRegion"),[l,u]=h.useState(!1);if(h.useEffect(()=>{u(!0)},[]),Rpt(h.useMemo(()=>({onDragStart(f){let{active:m}=f;s(e.onDragStart({active:m}))},onDragMove(f){let{active:m,over:g}=f;e.onDragMove&&s(e.onDragMove({active:m,over:g}))},onDragOver(f){let{active:m,over:g}=f;s(e.onDragOver({active:m,over:g}))},onDragEnd(f){let{active:m,over:g}=f;s(e.onDragEnd({active:m,over:g}))},onDragCancel(f){let{active:m,over:g}=f;s(e.onDragCancel({active:m,over:g}))}}),[s,e])),!l)return null;const d=Be.createElement(Be.Fragment,null,Be.createElement(Apt,{id:r,value:o.draggable}),Be.createElement(_pt,{id:i,announcement:a}));return n?Ds.createPortal(d,n):d}var ms;(function(t){t.DragStart="dragStart",t.DragMove="dragMove",t.DragEnd="dragEnd",t.DragCancel="dragCancel",t.DragOver="dragOver",t.RegisterDroppable="registerDroppable",t.SetDroppableDisabled="setDroppableDisabled",t.UnregisterDroppable="unregisterDroppable"})(ms||(ms={}));function Zj(){}function sg(t,e){return h.useMemo(()=>({sensor:t,options:e??{}}),[t,e])}function pO(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return h.useMemo(()=>[...e].filter(r=>r!=null),[...e])}const cu=Object.freeze({x:0,y:0});function B1e(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function U1e(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return n-r}function Opt(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return r-n}function DZ(t){let{left:e,top:n,height:r,width:o}=t;return[{x:e,y:n},{x:e+o,y:n},{x:e,y:n+r},{x:e+o,y:n+r}]}function $1e(t,e){if(!t||t.length===0)return null;const[n]=t;return n[e]}function LZ(t,e,n){return e===void 0&&(e=t.left),n===void 0&&(n=t.top),{x:e+t.width*.5,y:n+t.height*.5}}const hO=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const o=LZ(e,e.left,e.top),s=[];for(const a of r){const{id:i}=a,l=n.get(i);if(l){const u=B1e(LZ(l),o);s.push({id:i,data:{droppableContainer:a,value:u}})}}return s.sort(U1e)},zpt=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const o=DZ(e),s=[];for(const a of r){const{id:i}=a,l=n.get(i);if(l){const u=DZ(l),d=o.reduce((m,g,w)=>m+B1e(u[w],g),0),f=Number((d/4).toFixed(4));s.push({id:i,data:{droppableContainer:a,value:f}})}}return s.sort(U1e)};function Fpt(t,e){const n=Math.max(e.top,t.top),r=Math.max(e.left,t.left),o=Math.min(e.left+e.width,t.left+t.width),s=Math.min(e.top+e.height,t.top+t.height),a=o-r,i=s-n;if(r<o&&n<s){const l=e.width*e.height,u=t.width*t.height,d=a*i,f=d/(l+u-d);return Number(f.toFixed(4))}return 0}const Bpt=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const o=[];for(const s of r){const{id:a}=s,i=n.get(a);if(i){const l=Fpt(i,e);l>0&&o.push({id:a,data:{droppableContainer:s,value:l}})}}return o.sort(Opt)};function Upt(t,e,n){return{...t,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function V1e(t,e){return t&&e?{x:t.left-e.left,y:t.top-e.top}:cu}function $pt(t){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];return o.reduce((a,i)=>({...a,top:a.top+t*i.y,bottom:a.bottom+t*i.y,left:a.left+t*i.x,right:a.right+t*i.x}),{...n})}}const Vpt=$pt(1);function Hpt(t){if(t.startsWith("matrix3d(")){const e=t.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(t.startsWith("matrix(")){const e=t.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function Wpt(t,e,n){const r=Hpt(e);if(!r)return t;const{scaleX:o,scaleY:s,x:a,y:i}=r,l=t.left-a-(1-o)*parseFloat(n),u=t.top-i-(1-s)*parseFloat(n.slice(n.indexOf(" ")+1)),d=o?t.width/o:t.width,f=s?t.height/s:t.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const Ypt={ignoreTransform:!1};function mv(t,e){e===void 0&&(e=Ypt);let n=t.getBoundingClientRect();if(e.ignoreTransform){const{transform:u,transformOrigin:d}=Pi(t).getComputedStyle(t);u&&(n=Wpt(n,u,d))}const{top:r,left:o,width:s,height:a,bottom:i,right:l}=n;return{top:r,left:o,width:s,height:a,bottom:i,right:l}}function PZ(t){return mv(t,{ignoreTransform:!0})}function Gpt(t){const e=t.innerWidth,n=t.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function qpt(t,e){return e===void 0&&(e=Pi(t).getComputedStyle(t)),e.position==="fixed"}function Kpt(t,e){e===void 0&&(e=Pi(t).getComputedStyle(t));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(o=>{const s=e[o];return typeof s=="string"?n.test(s):!1})}function VE(t,e){const n=[];function r(o){if(e!=null&&n.length>=e||!o)return n;if(uO(o)&&o.scrollingElement!=null&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!Ox(o)||O1e(o)||n.includes(o))return n;const s=Pi(t).getComputedStyle(o);return o!==t&&Kpt(o,s)&&n.push(o),qpt(o,s)?n:r(o.parentNode)}return t?r(t):n}function H1e(t){const[e]=VE(t,1);return e??null}function E5(t){return!$E||!t?null:pv(t)?t:cO(t)?uO(t)||t===hv(t).scrollingElement?window:Ox(t)?t:null:null}function W1e(t){return pv(t)?t.scrollX:t.scrollLeft}function Y1e(t){return pv(t)?t.scrollY:t.scrollTop}function CR(t){return{x:W1e(t),y:Y1e(t)}}var As;(function(t){t[t.Forward=1]="Forward",t[t.Backward=-1]="Backward"})(As||(As={}));function G1e(t){return!$E||!t?!1:t===document.scrollingElement}function q1e(t){const e={x:0,y:0},n=G1e(t)?{height:window.innerHeight,width:window.innerWidth}:{height:t.clientHeight,width:t.clientWidth},r={x:t.scrollWidth-n.width,y:t.scrollHeight-n.height},o=t.scrollTop<=e.y,s=t.scrollLeft<=e.x,a=t.scrollTop>=r.y,i=t.scrollLeft>=r.x;return{isTop:o,isLeft:s,isBottom:a,isRight:i,maxScroll:r,minScroll:e}}const Zpt={x:.2,y:.2};function Qpt(t,e,n,r,o){let{top:s,left:a,right:i,bottom:l}=n;r===void 0&&(r=10),o===void 0&&(o=Zpt);const{isTop:u,isBottom:d,isLeft:f,isRight:m}=q1e(t),g={x:0,y:0},w={x:0,y:0},b={height:e.height*o.y,width:e.width*o.x};return!u&&s<=e.top+b.height?(g.y=As.Backward,w.y=r*Math.abs((e.top+b.height-s)/b.height)):!d&&l>=e.bottom-b.height&&(g.y=As.Forward,w.y=r*Math.abs((e.bottom-b.height-l)/b.height)),!m&&i>=e.right-b.width?(g.x=As.Forward,w.x=r*Math.abs((e.right-b.width-i)/b.width)):!f&&a<=e.left+b.width&&(g.x=As.Backward,w.x=r*Math.abs((e.left+b.width-a)/b.width)),{direction:g,speed:w}}function Jpt(t){if(t===document.scrollingElement){const{innerWidth:s,innerHeight:a}=window;return{top:0,left:0,right:s,bottom:a,width:s,height:a}}const{top:e,left:n,right:r,bottom:o}=t.getBoundingClientRect();return{top:e,left:n,right:r,bottom:o,width:t.clientWidth,height:t.clientHeight}}function K1e(t){return t.reduce((e,n)=>Z0(e,CR(n)),cu)}function Xpt(t){return t.reduce((e,n)=>e+W1e(n),0)}function eht(t){return t.reduce((e,n)=>e+Y1e(n),0)}function tht(t,e){if(e===void 0&&(e=mv),!t)return;const{top:n,left:r,bottom:o,right:s}=e(t);H1e(t)&&(o<=0||s<=0||n>=window.innerHeight||r>=window.innerWidth)&&t.scrollIntoView({block:"center",inline:"center"})}const nht=[["x",["left","right"],Xpt],["y",["top","bottom"],eht]];class mO{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=VE(n),o=K1e(r);this.rect={...e},this.width=e.width,this.height=e.height;for(const[s,a,i]of nht)for(const l of a)Object.defineProperty(this,l,{get:()=>{const u=i(r),d=o[s]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class hb{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=e}add(e,n,r){var o;(o=this.target)==null||o.addEventListener(e,n,r),this.listeners.push([e,n,r])}}function rht(t){const{EventTarget:e}=Pi(t);return t instanceof e?t:hv(t)}function N5(t,e){const n=Math.abs(t.x),r=Math.abs(t.y);return typeof e=="number"?Math.sqrt(n**2+r**2)>e:"x"in e&&"y"in e?n>e.x&&r>e.y:"x"in e?n>e.x:"y"in e?r>e.y:!1}var Ol;(function(t){t.Click="click",t.DragStart="dragstart",t.Keydown="keydown",t.ContextMenu="contextmenu",t.Resize="resize",t.SelectionChange="selectionchange",t.VisibilityChange="visibilitychange"})(Ol||(Ol={}));function OZ(t){t.preventDefault()}function oht(t){t.stopPropagation()}var ir;(function(t){t.Space="Space",t.Down="ArrowDown",t.Right="ArrowRight",t.Left="ArrowLeft",t.Up="ArrowUp",t.Esc="Escape",t.Enter="Enter",t.Tab="Tab"})(ir||(ir={}));const Z1e={start:[ir.Space,ir.Enter],cancel:[ir.Esc],end:[ir.Space,ir.Enter,ir.Tab]},sht=(t,e)=>{let{currentCoordinates:n}=e;switch(t.code){case ir.Right:return{...n,x:n.x+25};case ir.Left:return{...n,x:n.x-25};case ir.Down:return{...n,y:n.y+25};case ir.Up:return{...n,y:n.y-25}}};class Bx{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:n}}=e;this.props=e,this.listeners=new hb(hv(n)),this.windowListeners=new hb(Pi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ol.Resize,this.handleCancel),this.windowListeners.add(Ol.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ol.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:n}=this.props,r=e.node.current;r&&tht(r),n(cu)}handleKeyDown(e){if(dO(e)){const{active:n,context:r,options:o}=this.props,{keyboardCodes:s=Z1e,coordinateGetter:a=sht,scrollBehavior:i="smooth"}=o,{code:l}=e;if(s.end.includes(l)){this.handleEnd(e);return}if(s.cancel.includes(l)){this.handleCancel(e);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:cu;this.referenceCoordinates||(this.referenceCoordinates=d);const f=a(e,{active:n,context:r.current,currentCoordinates:d});if(f){const m=A2(f,d),g={x:0,y:0},{scrollableAncestors:w}=r.current;for(const b of w){const j=e.code,{isTop:S,isRight:I,isLeft:N,isBottom:M,maxScroll:D,minScroll:P}=q1e(b),L=Jpt(b),F={x:Math.min(j===ir.Right?L.right-L.width/2:L.right,Math.max(j===ir.Right?L.left:L.left+L.width/2,f.x)),y:Math.min(j===ir.Down?L.bottom-L.height/2:L.bottom,Math.max(j===ir.Down?L.top:L.top+L.height/2,f.y))},T=j===ir.Right&&!I||j===ir.Left&&!N,R=j===ir.Down&&!M||j===ir.Up&&!S;if(T&&F.x!==f.x){const z=b.scrollLeft+m.x,G=j===ir.Right&&z<=D.x||j===ir.Left&&z>=P.x;if(G&&!m.y){b.scrollTo({left:z,behavior:i});return}G?g.x=b.scrollLeft-z:g.x=j===ir.Right?b.scrollLeft-D.x:b.scrollLeft-P.x,g.x&&b.scrollBy({left:-g.x,behavior:i});break}else if(R&&F.y!==f.y){const z=b.scrollTop+m.y,G=j===ir.Down&&z<=D.y||j===ir.Up&&z>=P.y;if(G&&!m.x){b.scrollTo({top:z,behavior:i});return}G?g.y=b.scrollTop-z:g.y=j===ir.Down?b.scrollTop-D.y:b.scrollTop-P.y,g.y&&b.scrollBy({top:-g.y,behavior:i});break}}this.handleMove(e,Z0(A2(f,this.referenceCoordinates),g))}}}handleMove(e,n){const{onMove:r}=this.props;e.preventDefault(),r(n)}handleEnd(e){const{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){const{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}Bx.activators=[{eventName:"onKeyDown",handler:(t,e,n)=>{let{keyboardCodes:r=Z1e,onActivation:o}=e,{active:s}=n;const{code:a}=t.nativeEvent;if(r.start.includes(a)){const i=s.activatorNode.current;return i&&t.target!==i?!1:(t.preventDefault(),o==null||o({event:t.nativeEvent}),!0)}return!1}}];function zZ(t){return!!(t&&"distance"in t)}function FZ(t){return!!(t&&"delay"in t)}class gO{constructor(e,n,r){var o;r===void 0&&(r=rht(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;const{event:s}=e,{target:a}=s;this.props=e,this.events=n,this.document=hv(a),this.documentListeners=new hb(this.document),this.listeners=new hb(r),this.windowListeners=new hb(Pi(a)),this.initialCoordinates=(o=jR(s))!=null?o:cu,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Ol.Resize,this.handleCancel),this.windowListeners.add(Ol.DragStart,OZ),this.windowListeners.add(Ol.VisibilityChange,this.handleCancel),this.windowListeners.add(Ol.ContextMenu,OZ),this.documentListeners.add(Ol.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(FZ(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(zZ(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){const{active:r,onPending:o}=this.props;o(r,e,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(Ol.Click,oht,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ol.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;const{activated:r,initialCoordinates:o,props:s}=this,{onMove:a,options:{activationConstraint:i}}=s;if(!o)return;const l=(n=jR(e))!=null?n:cu,u=A2(o,l);if(!r&&i){if(zZ(i)){if(i.tolerance!=null&&N5(u,i.tolerance))return this.handleCancel();if(N5(u,i.distance))return this.handleStart()}if(FZ(i)&&N5(u,i.tolerance))return this.handleCancel();this.handlePending(i,u);return}e.cancelable&&e.preventDefault(),a(l)}handleEnd(){const{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){const{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===ir.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const aht={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Ux extends gO{constructor(e){const{event:n}=e,r=hv(n.target);super(e,aht,r)}}Ux.activators=[{eventName:"onPointerDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const iht={move:{name:"mousemove"},end:{name:"mouseup"}};var SR;(function(t){t[t.RightClick=2]="RightClick"})(SR||(SR={}));class lht extends gO{constructor(e){super(e,iht,hv(e.event.target))}}lht.activators=[{eventName:"onMouseDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return n.button===SR.RightClick?!1:(r==null||r({event:n}),!0)}}];const I5={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class Q1e extends gO{constructor(e){super(e,I5)}static setup(){return window.addEventListener(I5.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(I5.move.name,e)};function e(){}}}Q1e.activators=[{eventName:"onTouchStart",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;const{touches:o}=n;return o.length>1?!1:(r==null||r({event:n}),!0)}}];var mb;(function(t){t[t.Pointer=0]="Pointer",t[t.DraggableRect=1]="DraggableRect"})(mb||(mb={}));var Qj;(function(t){t[t.TreeOrder=0]="TreeOrder",t[t.ReversedTreeOrder=1]="ReversedTreeOrder"})(Qj||(Qj={}));function cht(t){let{acceleration:e,activator:n=mb.Pointer,canScroll:r,draggingRect:o,enabled:s,interval:a=5,order:i=Qj.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:m}=t;const g=fht({delta:f,disabled:!s}),[w,b]=Cpt(),j=h.useRef({x:0,y:0}),S=h.useRef({x:0,y:0}),I=h.useMemo(()=>{switch(n){case mb.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case mb.DraggableRect:return o}},[n,o,l]),N=h.useRef(null),M=h.useCallback(()=>{const P=N.current;if(!P)return;const L=j.current.x*S.current.x,F=j.current.y*S.current.y;P.scrollBy(L,F)},[]),D=h.useMemo(()=>i===Qj.TreeOrder?[...u].reverse():u,[i,u]);h.useEffect(()=>{if(!s||!u.length||!I){b();return}for(const P of D){if((r==null?void 0:r(P))===!1)continue;const L=u.indexOf(P),F=d[L];if(!F)continue;const{direction:T,speed:R}=Qpt(P,F,I,e,m);for(const z of["x","y"])g[z][T[z]]||(R[z]=0,T[z]=0);if(R.x>0||R.y>0){b(),N.current=P,w(M,a),j.current=R,S.current=T;return}}j.current={x:0,y:0},S.current={x:0,y:0},b()},[e,M,r,b,s,a,JSON.stringify(I),JSON.stringify(g),w,u,D,d,JSON.stringify(m)])}const uht={x:{[As.Backward]:!1,[As.Forward]:!1},y:{[As.Backward]:!1,[As.Forward]:!1}};function fht(t){let{delta:e,disabled:n}=t;const r=kR(e);return zx(o=>{if(n||!r||!o)return uht;const s={x:Math.sign(e.x-r.x),y:Math.sign(e.y-r.y)};return{x:{[As.Backward]:o.x[As.Backward]||s.x===-1,[As.Forward]:o.x[As.Forward]||s.x===1},y:{[As.Backward]:o.y[As.Backward]||s.y===-1,[As.Forward]:o.y[As.Forward]||s.y===1}}},[n,e,r])}function dht(t,e){const n=e!=null?t.get(e):void 0,r=n?n.node.current:null;return zx(o=>{var s;return e==null?null:(s=r??o)!=null?s:null},[r,e])}function pht(t,e){return h.useMemo(()=>t.reduce((n,r)=>{const{sensor:o}=r,s=o.activators.map(a=>({eventName:a.eventName,handler:e(a.handler,r)}));return[...n,...s]},[]),[t,e])}var _2;(function(t){t[t.Always=0]="Always",t[t.BeforeDragging=1]="BeforeDragging",t[t.WhileDragging=2]="WhileDragging"})(_2||(_2={}));var ER;(function(t){t.Optimized="optimized"})(ER||(ER={}));const BZ=new Map;function hht(t,e){let{dragging:n,dependencies:r,config:o}=e;const[s,a]=h.useState(null),{frequency:i,measure:l,strategy:u}=o,d=h.useRef(t),f=j(),m=I2(f),g=h.useCallback(function(S){S===void 0&&(S=[]),!m.current&&a(I=>I===null?S:I.concat(S.filter(N=>!I.includes(N))))},[m]),w=h.useRef(null),b=zx(S=>{if(f&&!n)return BZ;if(!S||S===BZ||d.current!==t||s!=null){const I=new Map;for(let N of t){if(!N)continue;if(s&&s.length>0&&!s.includes(N.id)&&N.rect.current){I.set(N.id,N.rect.current);continue}const M=N.node.current,D=M?new mO(l(M),M):null;N.rect.current=D,D&&I.set(N.id,D)}return I}return S},[t,s,n,f,l]);return h.useEffect(()=>{d.current=t},[t]),h.useEffect(()=>{f||g()},[n,f]),h.useEffect(()=>{s&&s.length>0&&a(null)},[JSON.stringify(s)]),h.useEffect(()=>{f||typeof i!="number"||w.current!==null||(w.current=setTimeout(()=>{g(),w.current=null},i))},[i,f,g,...r]),{droppableRects:b,measureDroppableContainers:g,measuringScheduled:s!=null};function j(){switch(u){case _2.Always:return!1;case _2.BeforeDragging:return n;default:return!n}}}function J1e(t,e){return zx(n=>t?n||(typeof e=="function"?e(t):t):null,[e,t])}function mht(t,e){return J1e(t,e)}function ght(t){let{callback:e,disabled:n}=t;const r=fO(e),o=h.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:s}=window;return new s(r)},[r,n]);return h.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function HE(t){let{callback:e,disabled:n}=t;const r=fO(e),o=h.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:s}=window;return new s(r)},[n]);return h.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function yht(t){return new mO(mv(t),t)}function UZ(t,e,n){e===void 0&&(e=yht);const[r,o]=h.useState(null);function s(){o(l=>{if(!t)return null;if(t.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=e(t);return JSON.stringify(l)===JSON.stringify(d)?l:d})}const a=ght({callback(l){if(t)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(t)){s();break}}}}),i=HE({callback:s});return gf(()=>{s(),t?(i==null||i.observe(t),a==null||a.observe(document.body,{childList:!0,subtree:!0})):(i==null||i.disconnect(),a==null||a.disconnect())},[t]),r}function vht(t){const e=J1e(t);return V1e(t,e)}const $Z=[];function wht(t){const e=h.useRef(t),n=zx(r=>t?r&&r!==$Z&&t&&e.current&&t.parentNode===e.current.parentNode?r:VE(t):$Z,[t]);return h.useEffect(()=>{e.current=t},[t]),n}function bht(t){const[e,n]=h.useState(null),r=h.useRef(t),o=h.useCallback(s=>{const a=E5(s.target);a&&n(i=>i?(i.set(a,CR(a)),new Map(i)):null)},[]);return h.useEffect(()=>{const s=r.current;if(t!==s){a(s);const i=t.map(l=>{const u=E5(l);return u?(u.addEventListener("scroll",o,{passive:!0}),[u,CR(u)]):null}).filter(l=>l!=null);n(i.length?new Map(i):null),r.current=t}return()=>{a(t),a(s)};function a(i){i.forEach(l=>{const u=E5(l);u==null||u.removeEventListener("scroll",o)})}},[o,t]),h.useMemo(()=>t.length?e?Array.from(e.values()).reduce((s,a)=>Z0(s,a),cu):K1e(t):cu,[t,e])}function VZ(t,e){e===void 0&&(e=[]);const n=h.useRef(null);return h.useEffect(()=>{n.current=null},e),h.useEffect(()=>{const r=t!==cu;r&&!n.current&&(n.current=t),!r&&n.current&&(n.current=null)},[t]),n.current?A2(t,n.current):cu}function xht(t){h.useEffect(()=>{if(!$E)return;const e=t.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of e)n==null||n()}},t.map(e=>{let{sensor:n}=e;return n}))}function kht(t,e){return h.useMemo(()=>t.reduce((n,r)=>{let{eventName:o,handler:s}=r;return n[o]=a=>{s(a,e)},n},{}),[t,e])}function X1e(t){return h.useMemo(()=>t?Gpt(t):null,[t])}const HZ=[];function jht(t,e){e===void 0&&(e=mv);const[n]=t,r=X1e(n?Pi(n):null),[o,s]=h.useState(HZ);function a(){s(()=>t.length?t.map(l=>G1e(l)?r:new mO(e(l),l)):HZ)}const i=HE({callback:a});return gf(()=>{i==null||i.disconnect(),a(),t.forEach(l=>i==null?void 0:i.observe(l))},[t]),o}function Cht(t){if(!t)return null;if(t.children.length>1)return t;const e=t.children[0];return Ox(e)?e:t}function Sht(t){let{measure:e}=t;const[n,r]=h.useState(null),o=h.useCallback(u=>{for(const{target:d}of u)if(Ox(d)){r(f=>{const m=e(d);return f?{...f,width:m.width,height:m.height}:m});break}},[e]),s=HE({callback:o}),a=h.useCallback(u=>{const d=Cht(u);s==null||s.disconnect(),d&&(s==null||s.observe(d)),r(d?e(d):null)},[e,s]),[i,l]=Kj(a);return h.useMemo(()=>({nodeRef:i,rect:n,setRef:l}),[n,i,l])}const Eht=[{sensor:Ux,options:{}},{sensor:Bx,options:{}}],Nht={current:{}},ek={draggable:{measure:PZ},droppable:{measure:PZ,strategy:_2.WhileDragging,frequency:ER.Optimized},dragOverlay:{measure:mv}};class gb extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,r;return(n=(r=this.get(e))==null?void 0:r.node.current)!=null?n:void 0}}const Iht={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new gb,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Zj},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ek,measureDroppableContainers:Zj,windowRect:null,measuringScheduled:!1},Aht={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Zj,draggableNodes:new Map,over:null,measureDroppableContainers:Zj},WE=h.createContext(Aht),e0e=h.createContext(Iht);function _ht(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new gb}}}function Mht(t,e){switch(e.type){case ms.DragStart:return{...t,draggable:{...t.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case ms.DragMove:return t.draggable.active==null?t:{...t,draggable:{...t.draggable,translate:{x:e.coordinates.x-t.draggable.initialCoordinates.x,y:e.coordinates.y-t.draggable.initialCoordinates.y}}};case ms.DragEnd:case ms.DragCancel:return{...t,draggable:{...t.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ms.RegisterDroppable:{const{element:n}=e,{id:r}=n,o=new gb(t.droppable.containers);return o.set(r,n),{...t,droppable:{...t.droppable,containers:o}}}case ms.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=e,s=t.droppable.containers.get(n);if(!s||r!==s.key)return t;const a=new gb(t.droppable.containers);return a.set(n,{...s,disabled:o}),{...t,droppable:{...t.droppable,containers:a}}}case ms.UnregisterDroppable:{const{id:n,key:r}=e,o=t.droppable.containers.get(n);if(!o||r!==o.key)return t;const s=new gb(t.droppable.containers);return s.delete(n),{...t,droppable:{...t.droppable,containers:s}}}default:return t}}function Rht(t){let{disabled:e}=t;const{active:n,activatorEvent:r,draggableNodes:o}=h.useContext(WE),s=kR(r),a=kR(n==null?void 0:n.id);return h.useEffect(()=>{if(!e&&!r&&s&&a!=null){if(!dO(s)||document.activeElement===s.target)return;const i=o.get(a);if(!i)return;const{activatorNode:l,node:u}=i;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=Npt(d);if(f){f.focus();break}}})}},[r,e,o,a,s]),null}function Tht(t,e){let{transform:n,...r}=e;return t!=null&&t.length?t.reduce((o,s)=>s({transform:o,...r}),n):n}function Dht(t){return h.useMemo(()=>({draggable:{...ek.draggable,...t==null?void 0:t.draggable},droppable:{...ek.droppable,...t==null?void 0:t.droppable},dragOverlay:{...ek.dragOverlay,...t==null?void 0:t.dragOverlay}}),[t==null?void 0:t.draggable,t==null?void 0:t.droppable,t==null?void 0:t.dragOverlay])}function Lht(t){let{activeNode:e,measure:n,initialRect:r,config:o=!0}=t;const s=h.useRef(!1),{x:a,y:i}=typeof o=="boolean"?{x:o,y:o}:o;gf(()=>{if(!a&&!i||!e){s.current=!1;return}if(s.current||!r)return;const u=e==null?void 0:e.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=V1e(d,r);if(a||(f.x=0),i||(f.y=0),s.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const m=H1e(u);m&&m.scrollBy({top:f.y,left:f.x})}},[e,a,i,r,n])}const t0e=h.createContext({...cu,scaleX:1,scaleY:1});var Ep;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Initializing=1]="Initializing",t[t.Initialized=2]="Initialized"})(Ep||(Ep={}));const yO=h.memo(function(e){var n,r,o,s;let{id:a,accessibility:i,autoScroll:l=!0,children:u,sensors:d=Eht,collisionDetection:f=Bpt,measuring:m,modifiers:g,...w}=e;const b=h.useReducer(Mht,void 0,_ht),[j,S]=b,[I,N]=Tpt(),[M,D]=h.useState(Ep.Uninitialized),P=M===Ep.Initialized,{draggable:{active:L,nodes:F,translate:T},droppable:{containers:R}}=j,z=L!=null?F.get(L):null,G=h.useRef({initial:null,translated:null}),Z=h.useMemo(()=>{var Ot;return L!=null?{id:L,data:(Ot=z==null?void 0:z.data)!=null?Ot:Nht,rect:G}:null},[L,z]),W=h.useRef(null),[U,ee]=h.useState(null),[$,H]=h.useState(null),Y=I2(w,Object.values(w)),q=Fx("DndDescribedBy",a),J=h.useMemo(()=>R.getEnabled(),[R]),ne=Dht(m),{droppableRects:re,measureDroppableContainers:de,measuringScheduled:Ee}=hht(J,{dragging:P,dependencies:[T.x,T.y],config:ne.droppable}),we=dht(F,L),xe=h.useMemo(()=>$?jR($):null,[$]),ce=mt(),pe=mht(we,ne.draggable.measure);Lht({activeNode:L!=null?F.get(L):null,config:ce.layoutShiftCompensation,initialRect:pe,measure:ne.draggable.measure});const he=UZ(we,ne.draggable.measure,pe),ke=UZ(we?we.parentElement:null),le=h.useRef({activatorEvent:null,active:null,activeNode:we,collisionRect:null,collisions:null,droppableRects:re,draggableNodes:F,draggingNode:null,draggingNodeRect:null,droppableContainers:R,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ye=R.getNodeFor((n=le.current.over)==null?void 0:n.id),ve=Sht({measure:ne.dragOverlay.measure}),Ie=(r=ve.nodeRef.current)!=null?r:we,Ve=P?(o=ve.rect)!=null?o:he:null,Qe=!!(ve.nodeRef.current&&ve.rect),nt=vht(Qe?null:he),Ue=X1e(Ie?Pi(Ie):null),qe=wht(P?ye??we:null),_e=jht(qe),et=Tht(g,{transform:{x:T.x-nt.x,y:T.y-nt.y,scaleX:1,scaleY:1},activatorEvent:$,active:Z,activeNodeRect:he,containerNodeRect:ke,draggingNodeRect:Ve,over:le.current.over,overlayNodeRect:ve.rect,scrollableAncestors:qe,scrollableAncestorRects:_e,windowRect:Ue}),pt=xe?Z0(xe,T):null,ht=bht(qe),at=VZ(ht),De=VZ(ht,[he]),se=Z0(et,at),K=Ve?Vpt(Ve,et):null,Q=Z&&K?f({active:Z,collisionRect:K,droppableRects:re,droppableContainers:J,pointerCoordinates:pt}):null,ie=$1e(Q,"id"),[Se,Me]=h.useState(null),Ce=Qe?et:Z0(et,De),me=Upt(Ce,(s=Se==null?void 0:Se.rect)!=null?s:null,he),We=h.useRef(null),Xe=h.useCallback((Ot,qt)=>{let{sensor:kt,options:Ct}=qt;if(W.current==null)return;const Pt=F.get(W.current);if(!Pt)return;const yt=Ot.nativeEvent,$t=new kt({active:W.current,activeNode:Pt,event:yt,options:Ct,context:le,onAbort(Bt){if(!F.get(Bt))return;const{onDragAbort:mn}=Y.current,tn={id:Bt};mn==null||mn(tn),I({type:"onDragAbort",event:tn})},onPending(Bt,Yn,mn,tn){if(!F.get(Bt))return;const{onDragPending:Vr}=Y.current,Or={id:Bt,constraint:Yn,initialCoordinates:mn,offset:tn};Vr==null||Vr(Or),I({type:"onDragPending",event:Or})},onStart(Bt){const Yn=W.current;if(Yn==null)return;const mn=F.get(Yn);if(!mn)return;const{onDragStart:tn}=Y.current,Cr={activatorEvent:yt,active:{id:Yn,data:mn.data,rect:G}};Ds.unstable_batchedUpdates(()=>{tn==null||tn(Cr),D(Ep.Initializing),S({type:ms.DragStart,initialCoordinates:Bt,active:Yn}),I({type:"onDragStart",event:Cr}),ee(We.current),H(yt)})},onMove(Bt){S({type:ms.DragMove,coordinates:Bt})},onEnd:bt(ms.DragEnd),onCancel:bt(ms.DragCancel)});We.current=$t;function bt(Bt){return async function(){const{active:mn,collisions:tn,over:Cr,scrollAdjustedTranslate:Vr}=le.current;let Or=null;if(mn&&Vr){const{cancelDrop:Zt}=Y.current;Or={activatorEvent:yt,active:mn,collisions:tn,delta:Vr,over:Cr},Bt===ms.DragEnd&&typeof Zt=="function"&&await Promise.resolve(Zt(Or))&&(Bt=ms.DragCancel)}W.current=null,Ds.unstable_batchedUpdates(()=>{S({type:Bt}),D(Ep.Uninitialized),Me(null),ee(null),H(null),We.current=null;const Zt=Bt===ms.DragEnd?"onDragEnd":"onDragCancel";if(Or){const bl=Y.current[Zt];bl==null||bl(Or),I({type:Zt,event:Or})}})}}},[F]),Re=h.useCallback((Ot,qt)=>(kt,Ct)=>{const Pt=kt.nativeEvent,yt=F.get(Ct);if(W.current!==null||!yt||Pt.dndKit||Pt.defaultPrevented)return;const $t={active:yt};Ot(kt,qt.options,$t)===!0&&(Pt.dndKit={capturedBy:qt.sensor},W.current=Ct,Xe(kt,qt))},[F,Xe]),ze=pht(d,Re);xht(d),gf(()=>{he&&M===Ep.Initializing&&D(Ep.Initialized)},[he,M]),h.useEffect(()=>{const{onDragMove:Ot}=Y.current,{active:qt,activatorEvent:kt,collisions:Ct,over:Pt}=le.current;if(!qt||!kt)return;const yt={active:qt,activatorEvent:kt,collisions:Ct,delta:{x:se.x,y:se.y},over:Pt};Ds.unstable_batchedUpdates(()=>{Ot==null||Ot(yt),I({type:"onDragMove",event:yt})})},[se.x,se.y]),h.useEffect(()=>{const{active:Ot,activatorEvent:qt,collisions:kt,droppableContainers:Ct,scrollAdjustedTranslate:Pt}=le.current;if(!Ot||W.current==null||!qt||!Pt)return;const{onDragOver:yt}=Y.current,$t=Ct.get(ie),bt=$t&&$t.rect.current?{id:$t.id,rect:$t.rect.current,data:$t.data,disabled:$t.disabled}:null,Bt={active:Ot,activatorEvent:qt,collisions:kt,delta:{x:Pt.x,y:Pt.y},over:bt};Ds.unstable_batchedUpdates(()=>{Me(bt),yt==null||yt(Bt),I({type:"onDragOver",event:Bt})})},[ie]),gf(()=>{le.current={activatorEvent:$,active:Z,activeNode:we,collisionRect:K,collisions:Q,droppableRects:re,draggableNodes:F,draggingNode:Ie,draggingNodeRect:Ve,droppableContainers:R,over:Se,scrollableAncestors:qe,scrollAdjustedTranslate:se},G.current={initial:Ve,translated:K}},[Z,we,Q,K,F,Ie,Ve,re,R,Se,qe,se]),cht({...ce,delta:T,draggingRect:K,pointerCoordinates:pt,scrollableAncestors:qe,scrollableAncestorRects:_e});const rt=h.useMemo(()=>({active:Z,activeNode:we,activeNodeRect:he,activatorEvent:$,collisions:Q,containerNodeRect:ke,dragOverlay:ve,draggableNodes:F,droppableContainers:R,droppableRects:re,over:Se,measureDroppableContainers:de,scrollableAncestors:qe,scrollableAncestorRects:_e,measuringConfiguration:ne,measuringScheduled:Ee,windowRect:Ue}),[Z,we,he,$,Q,ke,ve,F,R,re,Se,de,qe,_e,ne,Ee,Ue]),vt=h.useMemo(()=>({activatorEvent:$,activators:ze,active:Z,activeNodeRect:he,ariaDescribedById:{draggable:q},dispatch:S,draggableNodes:F,over:Se,measureDroppableContainers:de}),[$,ze,Z,he,S,q,F,Se,de]);return Be.createElement(F1e.Provider,{value:N},Be.createElement(WE.Provider,{value:vt},Be.createElement(e0e.Provider,{value:rt},Be.createElement(t0e.Provider,{value:me},u)),Be.createElement(Rht,{disabled:(i==null?void 0:i.restoreFocus)===!1})),Be.createElement(Ppt,{...i,hiddenTextDescribedById:q}));function mt(){const Ot=(U==null?void 0:U.autoScrollEnabled)===!1,qt=typeof l=="object"?l.enabled===!1:l===!1,kt=P&&!Ot&&!qt;return typeof l=="object"?{...l,enabled:kt}:{enabled:kt}}}),Pht=h.createContext(null),WZ="button",Oht="Draggable";function zht(t){let{id:e,data:n,disabled:r=!1,attributes:o}=t;const s=Fx(Oht),{activators:a,activatorEvent:i,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:m}=h.useContext(WE),{role:g=WZ,roleDescription:w="draggable",tabIndex:b=0}=o??{},j=(l==null?void 0:l.id)===e,S=h.useContext(j?t0e:Pht),[I,N]=Kj(),[M,D]=Kj(),P=kht(a,e),L=I2(n);gf(()=>(f.set(e,{id:e,key:s,node:I,activatorNode:M,data:L}),()=>{const T=f.get(e);T&&T.key===s&&f.delete(e)}),[f,e]);const F=h.useMemo(()=>({role:g,tabIndex:b,"aria-disabled":r,"aria-pressed":j&&g===WZ?!0:void 0,"aria-roledescription":w,"aria-describedby":d.draggable}),[r,g,b,j,w,d.draggable]);return{active:l,activatorEvent:i,activeNodeRect:u,attributes:F,isDragging:j,listeners:r?void 0:P,node:I,over:m,setNodeRef:N,setActivatorNodeRef:D,transform:S}}function Fht(){return h.useContext(e0e)}const Bht="Droppable",Uht={timeout:25};function $ht(t){let{data:e,disabled:n=!1,id:r,resizeObserverConfig:o}=t;const s=Fx(Bht),{active:a,dispatch:i,over:l,measureDroppableContainers:u}=h.useContext(WE),d=h.useRef({disabled:n}),f=h.useRef(!1),m=h.useRef(null),g=h.useRef(null),{disabled:w,updateMeasurementsFor:b,timeout:j}={...Uht,...o},S=I2(b??r),I=h.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(S.current)?S.current:[S.current]),g.current=null},j)},[j]),N=HE({callback:I,disabled:w||!a}),M=h.useCallback((F,T)=>{N&&(T&&(N.unobserve(T),f.current=!1),F&&N.observe(F))},[N]),[D,P]=Kj(M),L=I2(e);return h.useEffect(()=>{!N||!D.current||(N.disconnect(),f.current=!1,N.observe(D.current))},[D,N]),h.useEffect(()=>(i({type:ms.RegisterDroppable,element:{id:r,key:s,disabled:n,node:D,rect:m,data:L}}),()=>i({type:ms.UnregisterDroppable,key:s,id:r})),[r]),h.useEffect(()=>{n!==d.current.disabled&&(i({type:ms.SetDroppableDisabled,id:r,key:s,disabled:n}),d.current.disabled=n)},[r,s,n,i]),{active:a,rect:m,isOver:(l==null?void 0:l.id)===r,node:D,over:l,setNodeRef:P}}function Vht(t,e,n){const r={...t};return e.top+t.y<=n.top?r.y=n.top-e.top:e.bottom+t.y>=n.top+n.height&&(r.y=n.top+n.height-e.bottom),e.left+t.x<=n.left?r.x=n.left-e.left:e.right+t.x>=n.left+n.width&&(r.x=n.left+n.width-e.right),r}const vO=t=>{let{containerNodeRect:e,draggingNodeRect:n,transform:r}=t;return!n||!e?r:Vht(r,n,e)},wO=t=>{let{transform:e}=t;return{...e,x:0}};function $x(t,e,n){const r=t.slice();return r.splice(n<0?r.length+n:n,0,r.splice(e,1)[0]),r}function Hht(t,e){return t.reduce((n,r,o)=>{const s=e.get(r);return s&&(n[o]=s),n},Array(t.length))}function s3(t){return t!==null&&t>=0}function Wht(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function Yht(t){return typeof t=="boolean"?{draggable:t,droppable:t}:t}const n0e=t=>{let{rects:e,activeIndex:n,overIndex:r,index:o}=t;const s=$x(e,r,n),a=e[o],i=s[o];return!i||!a?null:{x:i.left-a.left,y:i.top-a.top,scaleX:i.width/a.width,scaleY:i.height/a.height}},a3={scaleX:1,scaleY:1},bO=t=>{var e;let{activeIndex:n,activeNodeRect:r,index:o,rects:s,overIndex:a}=t;const i=(e=s[n])!=null?e:r;if(!i)return null;if(o===n){const u=s[a];return u?{x:0,y:n<a?u.top+u.height-(i.top+i.height):u.top-i.top,...a3}:null}const l=Ght(s,o,n);return o>n&&o<=a?{x:0,y:-i.height-l,...a3}:o<n&&o>=a?{x:0,y:i.height+l,...a3}:{x:0,y:0,...a3}};function Ght(t,e,n){const r=t[e],o=t[e-1],s=t[e+1];return r?n<e?o?r.top-(o.top+o.height):s?s.top-(r.top+r.height):0:s?s.top-(r.top+r.height):o?r.top-(o.top+o.height):0:0}const r0e="Sortable",o0e=Be.createContext({activeIndex:-1,containerId:r0e,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:n0e,disabled:{draggable:!1,droppable:!1}});function xO(t){let{children:e,id:n,items:r,strategy:o=n0e,disabled:s=!1}=t;const{active:a,dragOverlay:i,droppableRects:l,over:u,measureDroppableContainers:d}=Fht(),f=Fx(r0e,n),m=i.rect!==null,g=h.useMemo(()=>r.map(P=>typeof P=="object"&&"id"in P?P.id:P),[r]),w=a!=null,b=a?g.indexOf(a.id):-1,j=u?g.indexOf(u.id):-1,S=h.useRef(g),I=!Wht(g,S.current),N=j!==-1&&b===-1||I,M=Yht(s);gf(()=>{I&&w&&d(g)},[I,g,w,d]),h.useEffect(()=>{S.current=g},[g]);const D=h.useMemo(()=>({activeIndex:b,containerId:f,disabled:M,disableTransforms:N,items:g,overIndex:j,useDragOverlay:m,sortedRects:Hht(g,l),strategy:o}),[b,f,M.draggable,M.droppable,N,g,j,l,m,o]);return Be.createElement(o0e.Provider,{value:D},e)}const qht=t=>{let{id:e,items:n,activeIndex:r,overIndex:o}=t;return $x(n,r,o).indexOf(e)},Kht=t=>{let{containerId:e,isSorting:n,wasDragging:r,index:o,items:s,newIndex:a,previousItems:i,previousContainerId:l,transition:u}=t;return!u||!r||i!==s&&o===a?!1:n?!0:a!==o&&e===l},Zht={duration:200,easing:"ease"},s0e="transform",Qht=Og.Transition.toString({property:s0e,duration:0,easing:"linear"}),Jht={roleDescription:"sortable"};function Xht(t){let{disabled:e,index:n,node:r,rect:o}=t;const[s,a]=h.useState(null),i=h.useRef(n);return gf(()=>{if(!e&&n!==i.current&&r.current){const l=o.current;if(l){const u=mv(r.current,{ignoreTransform:!0}),d={x:l.left-u.left,y:l.top-u.top,scaleX:l.width/u.width,scaleY:l.height/u.height};(d.x||d.y)&&a(d)}}n!==i.current&&(i.current=n)},[e,n,r,o]),h.useEffect(()=>{s&&a(null)},[s]),s}function kO(t){let{animateLayoutChanges:e=Kht,attributes:n,disabled:r,data:o,getNewIndex:s=qht,id:a,strategy:i,resizeObserverConfig:l,transition:u=Zht}=t;const{items:d,containerId:f,activeIndex:m,disabled:g,disableTransforms:w,sortedRects:b,overIndex:j,useDragOverlay:S,strategy:I}=h.useContext(o0e),N=emt(r,g),M=d.indexOf(a),D=h.useMemo(()=>({sortable:{containerId:f,index:M,items:d},...o}),[f,o,M,d]),P=h.useMemo(()=>d.slice(d.indexOf(a)),[d,a]),{rect:L,node:F,isOver:T,setNodeRef:R}=$ht({id:a,data:D,disabled:N.droppable,resizeObserverConfig:{updateMeasurementsFor:P,...l}}),{active:z,activatorEvent:G,activeNodeRect:Z,attributes:W,setNodeRef:U,listeners:ee,isDragging:$,over:H,setActivatorNodeRef:Y,transform:q}=zht({id:a,data:D,attributes:{...Jht,...n},disabled:N.draggable}),J=jpt(R,U),ne=!!z,re=ne&&!w&&s3(m)&&s3(j),de=!S&&$,Ee=de&&re?q:null,xe=re?Ee??(i??I)({rects:b,activeNodeRect:Z,activeIndex:m,overIndex:j,index:M}):null,ce=s3(m)&&s3(j)?s({id:a,items:d,activeIndex:m,overIndex:j}):M,pe=z==null?void 0:z.id,he=h.useRef({activeId:pe,items:d,newIndex:ce,containerId:f}),ke=d!==he.current.items,le=e({active:z,containerId:f,isDragging:$,isSorting:ne,id:a,index:M,items:d,newIndex:he.current.newIndex,previousItems:he.current.items,previousContainerId:he.current.containerId,transition:u,wasDragging:he.current.activeId!=null}),ye=Xht({disabled:!le,index:M,node:F,rect:L});return h.useEffect(()=>{ne&&he.current.newIndex!==ce&&(he.current.newIndex=ce),f!==he.current.containerId&&(he.current.containerId=f),d!==he.current.items&&(he.current.items=d)},[ne,ce,f,d]),h.useEffect(()=>{if(pe===he.current.activeId)return;if(pe!=null&&he.current.activeId==null){he.current.activeId=pe;return}const Ie=setTimeout(()=>{he.current.activeId=pe},50);return()=>clearTimeout(Ie)},[pe]),{active:z,activeIndex:m,attributes:W,data:D,rect:L,index:M,newIndex:ce,items:d,isOver:T,isSorting:ne,isDragging:$,listeners:ee,node:F,overIndex:j,over:H,setNodeRef:J,setActivatorNodeRef:Y,setDroppableNodeRef:R,setDraggableNodeRef:U,transform:ye??xe,transition:ve()};function ve(){if(ye||ke&&he.current.newIndex===M)return Qht;if(!(de&&!dO(G)||!u)&&(ne||le))return Og.Transition.toString({...u,property:s0e})}}function emt(t,e){var n,r;return typeof t=="boolean"?{draggable:t,droppable:!1}:{draggable:(n=t==null?void 0:t.draggable)!=null?n:e.draggable,droppable:(r=t==null?void 0:t.droppable)!=null?r:e.droppable}}function Jj(t){if(!t)return!1;const e=t.data.current;return!!(e&&"sortable"in e&&typeof e.sortable=="object"&&"containerId"in e.sortable&&"items"in e.sortable&&"index"in e.sortable)}const tmt=[ir.Down,ir.Right,ir.Up,ir.Left],jO=(t,e)=>{let{context:{active:n,collisionRect:r,droppableRects:o,droppableContainers:s,over:a,scrollableAncestors:i}}=e;if(tmt.includes(t.code)){if(t.preventDefault(),!n||!r)return;const l=[];s.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const m=o.get(f.id);if(m)switch(t.code){case ir.Down:r.top<m.top&&l.push(f);break;case ir.Up:r.top>m.top&&l.push(f);break;case ir.Left:r.left>m.left&&l.push(f);break;case ir.Right:r.left<m.left&&l.push(f);break}});const u=zpt({collisionRect:r,droppableRects:o,droppableContainers:l});let d=$1e(u,"id");if(d===(a==null?void 0:a.id)&&u.length>1&&(d=u[1].id),d!=null){const f=s.get(n.id),m=s.get(d),g=m?o.get(m.id):null,w=m==null?void 0:m.node.current;if(w&&g&&f&&m){const j=VE(w).some((P,L)=>i[L]!==P),S=a0e(f,m),I=nmt(f,m),N=j||!S?{x:0,y:0}:{x:I?r.width-g.width:0,y:I?r.height-g.height:0},M={x:g.left,y:g.top};return N.x&&N.y?M:A2(M,N)}}}};function a0e(t,e){return!Jj(t)||!Jj(e)?!1:t.data.current.sortable.containerId===e.data.current.sortable.containerId}function nmt(t,e){return!Jj(t)||!Jj(e)||!a0e(t,e)?!1:t.data.current.sortable.index<e.data.current.sortable.index}function rmt({relay:t}){const{push:e}=Cn(),{attributes:n,listeners:r,setNodeRef:o,transform:s,transition:a,isDragging:i}=kO({id:t}),l={transform:Og.Transform.toString(s),transition:a,opacity:i?.5:1};return c.jsxs("div",{className:"relative group clickable flex gap-2 border rounded-lg p-2 pr-2.5 items-center justify-between select-none",ref:o,style:l,onClick:()=>e(Eg(t)),children:[c.jsxs("div",{className:"flex items-center gap-1 flex-1",children:[c.jsx("div",{className:"cursor-grab active:cursor-grabbing p-2 hover:bg-muted rounded touch-none shrink-0",...n,...r,children:c.jsx(nL,{className:"size-4 text-muted-foreground"})}),c.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[c.jsx(iu,{url:t}),c.jsx("div",{className:"flex-1 w-0 truncate font-semibold",children:t})]})]}),c.jsx(WP,{urls:[t]})]})}function omt(){const{t}=Ke(),{favoriteRelays:e,reorderFavoriteRelays:n}=Pa(),r=pO(sg(Ux),sg(Bx,{coordinateGetter:jO})),o=s=>{const{active:a,over:i}=s;if(i&&a.id!==i.id){const l=e.findIndex(f=>f===a.id),u=e.findIndex(f=>f===i.id),d=$x(e,l,u);n(d)}};return c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-muted-foreground font-semibold select-none",children:t("Relays")}),c.jsx(yO,{sensors:r,collisionDetection:hO,onDragEnd:o,modifiers:[wO,vO],children:c.jsx(xO,{items:e,strategy:bO,children:c.jsx("div",{className:"grid gap-2",children:e.map(s=>c.jsx(rmt,{relay:s},s))})})})]})}const i0e=h.createContext(void 0),YE=()=>{const t=h.useContext(i0e);if(!t)throw new Error("useRelaySetsSettingComponent must be used within a RelaySetsSettingComponentProvider");return t};function smt({children:t}){const[e,n]=h.useState(null),[r,o]=h.useState(null);return c.jsx(i0e.Provider,{value:{renamingRelaySetId:e,setRenamingRelaySetId:n,expandedRelaySetId:r,setExpandedRelaySetId:o},children:t})}function amt(){const{t}=Ke(),{pubkey:e}=wt(),{isSmallScreen:n}=gn(),[r,o]=h.useState(!1),s=c.jsxs(Pe,{variant:"link",className:"text-muted-foreground hover:no-underline hover:text-foreground p-0 h-fit",disabled:!e,children:[c.jsx(y7e,{}),t("Pull relay sets")]});return n?c.jsxs(io,{open:r,onOpenChange:o,children:[c.jsx(Sh,{asChild:!0,children:s}),c.jsx(lo,{className:"max-h-[90vh]",children:c.jsxs("div",{className:"flex flex-col p-4 gap-4 overflow-auto",children:[c.jsxs(wf,{children:[c.jsx(bd,{children:t("Select the relay sets you want to pull")}),c.jsx(Wg,{className:"hidden"})]}),c.jsx(YZ,{close:()=>o(!1)})]})})]}):c.jsxs(Ls,{open:r,onOpenChange:o,children:[c.jsx(ES,{asChild:!0,children:s}),c.jsxs(gs,{className:"max-h-[90vh] overflow-auto",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Select the relay sets you want to pull")}),c.jsx(rl,{className:"hidden"})]}),c.jsx(YZ,{close:()=>o(!1)})]})]})}function YZ({close:t}){const{t:e}=Ke(),{pubkey:n,relayList:r}=wt(),{addRelaySets:o,relaySets:s}=Pa(),[a,i]=h.useState(!1),[l,u]=h.useState(new Map),[d,f]=h.useState([]),[m,g]=h.useState([]);return h.useEffect(()=>{if(!n)return;(async()=>{i(!1);const b=await Oe.fetchEvents(((r==null?void 0:r.write)??[]).concat(Oe.currentRelays).slice(0,4),{kinds:[$e.Relaysets],authors:[n],limit:50});b.sort((N,M)=>M.created_at-N.created_at);const j=new Set(s.map(N=>N.id)),S=[],I=new Map;b.forEach(N=>{var L;const M=By(N);if(!M||j.has(M))return;j.add(M);const D=N.tags.filter(In("relay")).map(F=>F[1]).filter(F=>F&&Fy(F));if(!D.length)return;let P=(L=N.tags.find(In("title")))==null?void 0:L[1];P||(P=D.length===1?Aa(D[0]):M),S.push({id:M,name:P,relayUrls:D,aTag:Hg(N)}),I.set(M,N)}),f(S),u(I),i(!0)})()},[n]),n?a?d.length?c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"space-y-2",children:d.map(w=>c.jsx(I1e,{relaySet:w,select:m.includes(w.id),onSelectChange:b=>{g(b?[...m,w.id]:m.filter(j=>j!==w.id))}},w.id))}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pe,{className:"w-20 shrink-0",variant:"secondary",onClick:()=>g(d.map(w=>w.id)),children:e("Select all")}),c.jsx(Pe,{className:"w-full",disabled:!m.length,onClick:()=>{const w=m.map(b=>l.get(b)).filter(Boolean);w.length>0&&(o(w),t==null||t())},children:m.length>0?e("Pull n relay sets",{n:m.length}):e("Pull")})]})]}):c.jsx("div",{className:"text-center text-muted-foreground",children:e("No relay sets found")}):c.jsx("div",{className:"text-center text-muted-foreground",children:e("loading...")}):null}function imt({relaySetId:t}){const{t:e}=Ke(),{relaySets:n,updateRelaySet:r}=Pa(),[o,s]=h.useState(""),[a,i]=h.useState(null),l=h.useMemo(()=>n.find(g=>g.id===t),[n,t]);if(!l)return null;const u=g=>{r({...l,relayUrls:l.relayUrls.filter(w=>w!==g)})},d=()=>{if(o==="")return;const g=so(o);if(!g)return i(e("Invalid relay URL"));if(l.relayUrls.includes(g))return i(e("Relay already exists"));if(!Fy(g))return i(e("invalid relay URL"));const w=[...l.relayUrls,g];r({...l,relayUrls:w}),s("")},f=g=>{s(g.target.value),i(null)},m=g=>{g.key==="Enter"&&(g.preventDefault(),d())};return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mt-1",children:l.relayUrls.map((g,w)=>c.jsx(lmt,{url:g,onRemove:()=>u(g)},w))}),c.jsxs("div",{className:"mt-2 flex gap-2",children:[c.jsx(Pn,{className:a?"border-destructive":"",placeholder:e("Add a new relay"),value:o,onKeyDown:m,onChange:f,onBlur:d}),c.jsx(Pe,{onClick:d,children:e("Add")})]}),a&&c.jsx("div",{className:"text-xs text-destructive mt-1",children:a})]})}function lmt({url:t,onRemove:e}){return c.jsxs("div",{className:"flex items-center justify-between pl-1 pr-3",children:[c.jsxs("div",{className:"flex gap-3 items-center flex-1 w-0",children:[c.jsx(iu,{url:t,className:"w-4 h-4"}),c.jsx("div",{className:"text-muted-foreground text-sm truncate",children:t})]}),c.jsx("div",{className:"shrink-0",children:c.jsx(Wse,{size:16,onClick:e,className:"text-muted-foreground hover:text-destructive cursor-pointer"})})]})}function cmt({relaySet:t}){const{t:e}=Ke(),{expandedRelaySetId:n}=YE(),{attributes:r,listeners:o,setNodeRef:s,transform:a,transition:i,isDragging:l}=kO({id:t.id}),u={transform:Og.Transform.toString(a),transition:i,opacity:l?.5:1};return c.jsx("div",{ref:s,style:u,className:"relative group",children:c.jsxs("div",{className:"w-full border rounded-lg px-2 py-2.5",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsxs("div",{className:"flex items-center",children:[c.jsx("div",{className:"cursor-grab active:cursor-grabbing p-2 hover:bg-muted rounded touch-none",...r,...o,children:c.jsx(nL,{className:"size-4 text-muted-foreground"})}),c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx("div",{className:"flex justify-center items-center w-6 h-6 shrink-0",children:c.jsx(Zse,{className:"size-4"})}),c.jsx(umt,{relaySet:t})]})]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx(fmt,{relaySetId:t.id,children:e("n relays",{n:t.relayUrls.length})}),c.jsx(dmt,{relaySet:t})]})]}),n===t.id&&c.jsx(imt,{relaySetId:t.id})]})})}function umt({relaySet:t}){const[e,n]=h.useState(t.name),{updateRelaySet:r}=Pa(),{renamingRelaySetId:o,setRenamingRelaySetId:s}=YE(),a=()=>{if(t.name===e)return s(null);r({...t,name:e}),s(null)},i=u=>{n(u.target.value)},l=u=>{u.key==="Enter"&&(u.preventDefault(),a())};return o===t.id?c.jsxs("div",{className:"flex gap-1 items-center",children:[c.jsx(Pn,{value:e,onChange:i,onBlur:a,onKeyDown:l,className:"font-semibold w-28"}),c.jsx(Pe,{variant:"ghost",size:"icon",onClick:a,children:c.jsx(Zr,{size:18,className:"text-green-500"})})]}):c.jsx("div",{className:"h-8 font-semibold flex items-center select-none",children:t.name})}function fmt({relaySetId:t,children:e}){const{expandedRelaySetId:n,setExpandedRelaySetId:r}=YE();return c.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-1 cursor-pointer hover:text-foreground",onClick:()=>r(o=>o===t?null:t),children:[c.jsx("div",{className:"select-none",children:e}),c.jsx(ic,{size:16,className:`transition-transform duration-200 ${n===t?"rotate-180":""}`})]})}function dmt({relaySet:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{deleteRelaySet:r}=Pa(),{setRenamingRelaySetId:o}=YE(),s=c.jsx(Pe,{variant:"ghost",size:"icon",children:c.jsx(wS,{})}),a=()=>{o(t.id)},i=()=>{navigator.clipboard.writeText(`https://smesh.mleku.dev/?${t.relayUrls.map(l=>"r="+l).join("&")}`)};return n?c.jsxs(io,{children:[c.jsx(Sh,{asChild:!0,children:s}),c.jsx(lo,{children:c.jsxs("div",{className:"py-2",children:[c.jsxs(K0,{onClick:a,children:[c.jsx(fY,{}),e("Rename")]}),c.jsxs(K0,{onClick:i,children:[c.jsx(n2,{}),e("Copy share link")]}),c.jsxs(K0,{className:"text-destructive focus:text-destructive",onClick:()=>r(t.id),children:[c.jsx(af,{}),e("Delete")]})]})})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:s}),c.jsxs(ci,{children:[c.jsxs(Er,{onClick:a,children:[c.jsx(fY,{}),e("Rename")]}),c.jsxs(Er,{onClick:i,children:[c.jsx(n2,{}),e("Copy share link")]}),c.jsxs(Er,{className:"text-destructive focus:text-destructive",onClick:()=>r(t.id),children:[c.jsx(af,{}),e("Delete")]})]})]})}function pmt(){const{t}=Ke(),{relaySets:e,reorderRelaySets:n}=Pa(),r=pO(sg(Ux),sg(Bx,{coordinateGetter:jO})),o=s=>{const{active:a,over:i}=s;if(i&&a.id!==i.id){const l=e.findIndex(f=>f.id===a.id),u=e.findIndex(f=>f.id===i.id),d=$x(e,l,u);n(d)}};return c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[c.jsx("div",{className:"text-muted-foreground font-semibold select-none shrink-0",children:t("Relay sets")}),c.jsx(amt,{})]}),c.jsx(yO,{sensors:r,collisionDetection:hO,onDragEnd:o,modifiers:[wO,vO],children:c.jsx(xO,{items:e.map(s=>s.id),strategy:bO,children:c.jsx("div",{className:"grid gap-2",children:e.map(s=>c.jsx(cmt,{relaySet:s},s.id))})})})]})}function l0e(){return c.jsx(smt,{children:c.jsxs("div",{className:"space-y-4",children:[c.jsx(pmt,{}),c.jsx(kpt,{}),c.jsx(omt,{}),c.jsx(xpt,{})]})})}function hmt(){const{t}=Ke(),{pubkey:e}=wt(),[n,r]=h.useState(fs.getAll()),[o,s]=h.useState(!1),[a,i]=h.useState(""),[l,u]=h.useState(""),[d,f]=h.useState(!0),[m,g]=h.useState(!0),[w,b]=h.useState(!1),[j,S]=h.useState(null),[I,N]=h.useState(null),M=h.useCallback(async()=>{if(!(!a.trim()||!l.trim())){b(!0),N(null);try{await fs.testConnection(a.trim()),fs.add({uri:a.trim(),label:l.trim(),enabled:!0,queryFirst:d,pushEvents:m}),r(fs.getAll()),s(!1),i(""),u(""),f(!0),g(!0)}catch(R){console.error("Failed to add cache relay:",R),N(R instanceof Error?R.message:"Connection failed")}finally{b(!1)}}},[a,l,d,m]),D=h.useCallback(R=>{fs.remove(R),r(fs.getAll())},[]),P=h.useCallback((R,z)=>{fs.update(R,{enabled:z}),r(fs.getAll())},[]),L=h.useCallback((R,z)=>{fs.update(R,{queryFirst:z}),r(fs.getAll())},[]),F=h.useCallback((R,z)=>{fs.update(R,{pushEvents:z}),r(fs.getAll())},[]),T=h.useCallback(async(R,z)=>{S(R),N(null);try{await fs.testConnection(z),fs.update(R,{lastConnected:Date.now(),lastError:void 0}),r(fs.getAll())}catch(G){const Z=G instanceof Error?G.message:"Connection failed";fs.update(R,{lastError:Z}),r(fs.getAll())}finally{S(null)}},[]);return e?c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"p-3 bg-muted/30 rounded-lg",children:c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Cache relays store events via NRC for faster loading. They are queried first (400ms timeout) before regular relays.")})}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(_t,{className:"flex items-center gap-2",children:[c.jsx(x7e,{className:"w-4 h-4"}),t("Cache Relays")]}),c.jsxs(Pe,{variant:"outline",size:"sm",onClick:()=>s(!0),className:"gap-1",children:[c.jsx(Xc,{className:"w-4 h-4"}),t("Add")]})]}),n.length===0?c.jsx("div",{className:"text-sm text-muted-foreground p-4 text-center border border-dashed rounded-lg",children:t("No cache relays configured")}):c.jsx("div",{className:"space-y-2",children:n.map(R=>c.jsxs("div",{className:"p-3 bg-muted/30 rounded-lg space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"font-medium truncate",children:R.label}),R.lastError&&c.jsxs("span",{className:"text-xs text-destructive",children:["(",t("Error"),")"]}),R.lastConnected&&!R.lastError&&c.jsxs("span",{className:"text-xs text-green-500",children:["(",t("Connected"),")"]})]}),c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:R.uri.length>60?R.uri.substring(0,60)+"...":R.uri})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(lr,{checked:R.enabled,onCheckedChange:z=>P(R.id,z),title:t("Enable/Disable")}),c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>T(R.id,R.uri),disabled:j===R.id,title:t("Test Connection"),children:c.jsx(lc,{className:`w-4 h-4 ${j===R.id?"animate-pulse":""}`})}),c.jsxs(cf,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"text-destructive hover:text-destructive",title:t("Remove"),children:c.jsx(af,{className:"w-4 h-4"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Remove Cache Relay?")}),c.jsx(au,{children:t('This will remove "{{label}}" from your cache relays.',{label:R.label})})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:t("Cancel")}),c.jsx(uf,{onClick:()=>D(R.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:t("Remove")})]})]})]})]})]}),c.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx(lr,{checked:R.queryFirst,onCheckedChange:z=>L(R.id,z),disabled:!R.enabled}),c.jsx("span",{className:"text-muted-foreground",children:t("Query first")})]}),c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx(lr,{checked:R.pushEvents,onCheckedChange:z=>F(R.id,z),disabled:!R.enabled}),c.jsx("span",{className:"text-muted-foreground",children:t("Push events")})]})]}),R.lastError&&c.jsx("div",{className:"text-xs text-destructive",children:R.lastError})]},R.id))}),c.jsx(Ls,{open:o,onOpenChange:s,children:c.jsxs(gs,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Add Cache Relay")}),c.jsx(rl,{children:t("Add an NRC connection as a cache relay for faster event loading")})]}),c.jsxs("div",{className:"space-y-4 py-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"cache-relay-uri",children:t("Connection URI")}),c.jsx(Pn,{id:"cache-relay-uri",value:a,onChange:R=>i(R.target.value),placeholder:"nostr+relayconnect://...",className:"font-mono text-xs"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"cache-relay-label",children:t("Label")}),c.jsx(Pn,{id:"cache-relay-label",value:l,onChange:R=>u(R.target.value),placeholder:t("e.g., Home Relay, Personal Cache")})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx(_t,{children:t("Query first")}),c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Check cache relay before regular relays (400ms timeout)")})]}),c.jsx(lr,{checked:d,onCheckedChange:f})]}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx(_t,{children:t("Push events")}),c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Store loaded events in cache relay in background")})]}),c.jsx(lr,{checked:m,onCheckedChange:g})]})]}),I&&c.jsx("div",{className:"text-sm text-destructive",children:I})]}),c.jsxs(zm,{children:[c.jsx(Pe,{variant:"outline",onClick:()=>{s(!1),N(null)},children:t("Cancel")}),c.jsx(Pe,{onClick:M,disabled:!a.trim()||!l.trim()||w,children:t(w?"Testing...":"Add")})]})]})})]}):c.jsx("div",{className:"text-muted-foreground text-sm p-4 text-center",children:t("Login required to configure cache relays")})}function na(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function c0e(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,mmt(o,...e)]}function mmt(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function GZ(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function u0e(...t){return e=>{let n=!1;const r=t.map(o=>{const s=GZ(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():GZ(t[o],null)}}}}function Jl(...t){return h.useCallback(u0e(...t),t)}var M2=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(ymt);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(NR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(NR,{...r,ref:e,children:n})});M2.displayName="Slot";var NR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=wmt(n);return h.cloneElement(n,{...vmt(r,n.props),ref:e?u0e(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});NR.displayName="SlotClone";var gmt=({children:t})=>c.jsx(c.Fragment,{children:t});function ymt(t){return h.isValidElement(t)&&t.type===gmt}function vmt(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function wmt(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function bmt(t){const e=t+"CollectionProvider",[n,r]=c0e(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:w,children:b}=g,j=Be.useRef(null),S=Be.useRef(new Map).current;return c.jsx(o,{scope:w,itemMap:S,collectionRef:j,children:b})};a.displayName=e;const i=t+"CollectionSlot",l=Be.forwardRef((g,w)=>{const{scope:b,children:j}=g,S=s(i,b),I=Jl(w,S.collectionRef);return c.jsx(M2,{ref:I,children:j})});l.displayName=i;const u=t+"CollectionItemSlot",d="data-radix-collection-item",f=Be.forwardRef((g,w)=>{const{scope:b,children:j,...S}=g,I=Be.useRef(null),N=Jl(w,I),M=s(u,b);return Be.useEffect(()=>(M.itemMap.set(I,{ref:I,...S}),()=>void M.itemMap.delete(I))),c.jsx(M2,{[d]:"",ref:N,children:j})});f.displayName=u;function m(g){const w=s(t+"CollectionConsumer",g);return Be.useCallback(()=>{const j=w.collectionRef.current;if(!j)return[];const S=Array.from(j.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((M,D)=>S.indexOf(M.ref.current)-S.indexOf(D.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},m,r]}var xmt=h.createContext(void 0);function kmt(t){const e=h.useContext(xmt);return t||e||"ltr"}var jmt=yh.useId||(()=>{}),Cmt=0;function CO(t){const[e,n]=h.useState(jmt());return pr(()=>{n(r=>r??String(Cmt++))},[t]),e?`radix-${e}`:""}var Smt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],mc=Smt.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?M2:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function qZ({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=Emt({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function Emt({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function Nmt(t){const e=h.useRef({value:t,previous:t});return h.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var Imt=[" ","Enter","ArrowUp","ArrowDown"],Amt=[" ","Enter"],Vx="Select",[GE,qE,_mt]=bmt(Vx),[gv]=c0e(Vx,[_mt,Eh]),KE=Eh(),[Mmt,Fh]=gv(Vx),[Rmt,Tmt]=gv(Vx),f0e=t=>{const{__scopeSelect:e,children:n,open:r,defaultOpen:o,onOpenChange:s,value:a,defaultValue:i,onValueChange:l,dir:u,name:d,autoComplete:f,disabled:m,required:g,form:w}=t,b=KE(e),[j,S]=h.useState(null),[I,N]=h.useState(null),[M,D]=h.useState(!1),P=kmt(u),[L=!1,F]=qZ({prop:r,defaultProp:o,onChange:s}),[T,R]=qZ({prop:a,defaultProp:i,onChange:l}),z=h.useRef(null),G=j?w||!!j.closest("form"):!0,[Z,W]=h.useState(new Set),U=Array.from(Z).map(ee=>ee.props.value).join(";");return c.jsx(sx,{...b,children:c.jsxs(Mmt,{required:g,scope:e,trigger:j,onTriggerChange:S,valueNode:I,onValueNodeChange:N,valueNodeHasChildren:M,onValueNodeHasChildrenChange:D,contentId:CO(),value:T,onValueChange:R,open:L,onOpenChange:F,dir:P,triggerPointerDownPosRef:z,disabled:m,children:[c.jsx(GE.Provider,{scope:e,children:c.jsx(Rmt,{scope:t.__scopeSelect,onNativeOptionAdd:h.useCallback(ee=>{W($=>new Set($).add(ee))},[]),onNativeOptionRemove:h.useCallback(ee=>{W($=>{const H=new Set($);return H.delete(ee),H})},[]),children:n})}),G?c.jsxs(L0e,{"aria-hidden":!0,required:g,tabIndex:-1,name:d,autoComplete:f,value:T,onChange:ee=>R(ee.target.value),disabled:m,form:w,children:[T===void 0?c.jsx("option",{value:""}):null,Array.from(Z)]},U):null]})})};f0e.displayName=Vx;var d0e="SelectTrigger",p0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,disabled:r=!1,...o}=t,s=KE(n),a=Fh(d0e,n),i=a.disabled||r,l=Jl(e,a.onTriggerChange),u=qE(n),d=h.useRef("touch"),[f,m,g]=P0e(b=>{const j=u().filter(N=>!N.disabled),S=j.find(N=>N.value===a.value),I=O0e(j,b,S);I!==void 0&&a.onValueChange(I.value)}),w=b=>{i||(a.onOpenChange(!0),g()),b&&(a.triggerPointerDownPosRef.current={x:Math.round(b.pageX),y:Math.round(b.pageY)})};return c.jsx(ax,{asChild:!0,...s,children:c.jsx(mc.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":D0e(a.value)?"":void 0,...o,ref:l,onClick:na(o.onClick,b=>{b.currentTarget.focus(),d.current!=="mouse"&&w(b)}),onPointerDown:na(o.onPointerDown,b=>{d.current=b.pointerType;const j=b.target;j.hasPointerCapture(b.pointerId)&&j.releasePointerCapture(b.pointerId),b.button===0&&b.ctrlKey===!1&&b.pointerType==="mouse"&&(w(b),b.preventDefault())}),onKeyDown:na(o.onKeyDown,b=>{const j=f.current!=="";!(b.ctrlKey||b.altKey||b.metaKey)&&b.key.length===1&&m(b.key),!(j&&b.key===" ")&&Imt.includes(b.key)&&(w(),b.preventDefault())})})})});p0e.displayName=d0e;var h0e="SelectValue",yb=h.forwardRef((t,e)=>{const{__scopeSelect:n,className:r,style:o,children:s,placeholder:a="",...i}=t,l=Fh(h0e,n),{onValueNodeHasChildrenChange:u}=l,d=s!==void 0,f=Jl(e,l.onValueNodeChange);return pr(()=>{u(d)},[u,d]),c.jsx(mc.span,{...i,ref:f,style:{pointerEvents:"none"},children:D0e(l.value)?c.jsx(c.Fragment,{children:a}):s})});yb.displayName=h0e;var Dmt="SelectIcon",m0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,children:r,...o}=t;return c.jsx(mc.span,{"aria-hidden":!0,...o,ref:e,children:r||"▼"})});m0e.displayName=Dmt;var Lmt="SelectPortal",g0e=t=>c.jsx(K2,{asChild:!0,...t});g0e.displayName=Lmt;var zg="SelectContent",y0e=h.forwardRef((t,e)=>{const n=Fh(zg,t.__scopeSelect),[r,o]=h.useState();if(pr(()=>{o(new DocumentFragment)},[]),!n.open){const s=r;return s?Ds.createPortal(c.jsx(v0e,{scope:t.__scopeSelect,children:c.jsx(GE.Slot,{scope:t.__scopeSelect,children:c.jsx("div",{children:t.children})})}),s):null}return c.jsx(w0e,{...t,ref:e})});y0e.displayName=zg;var Mc=10,[v0e,Bh]=gv(zg),Pmt="SelectContentImpl",w0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:i,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:m,collisionPadding:g,sticky:w,hideWhenDetached:b,avoidCollisions:j,...S}=t,I=Fh(zg,n),[N,M]=h.useState(null),[D,P]=h.useState(null),L=Jl(e,xe=>M(xe)),[F,T]=h.useState(null),[R,z]=h.useState(null),G=qE(n),[Z,W]=h.useState(!1),U=h.useRef(!1);h.useEffect(()=>{if(N)return mS(N)},[N]),pS();const ee=h.useCallback(xe=>{const[ce,...pe]=G().map(le=>le.ref.current),[he]=pe.slice(-1),ke=document.activeElement;for(const le of xe)if(le===ke||(le==null||le.scrollIntoView({block:"nearest"}),le===ce&&D&&(D.scrollTop=0),le===he&&D&&(D.scrollTop=D.scrollHeight),le==null||le.focus(),document.activeElement!==ke))return},[G,D]),$=h.useCallback(()=>ee([F,N]),[ee,F,N]);h.useEffect(()=>{Z&&$()},[Z,$]);const{onOpenChange:H,triggerPointerDownPosRef:Y}=I;h.useEffect(()=>{if(N){let xe={x:0,y:0};const ce=he=>{var ke,le;xe={x:Math.abs(Math.round(he.pageX)-(((ke=Y.current)==null?void 0:ke.x)??0)),y:Math.abs(Math.round(he.pageY)-(((le=Y.current)==null?void 0:le.y)??0))}},pe=he=>{xe.x<=10&&xe.y<=10?he.preventDefault():N.contains(he.target)||H(!1),document.removeEventListener("pointermove",ce),Y.current=null};return Y.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",pe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",pe,{capture:!0})}}},[N,H,Y]),h.useEffect(()=>{const xe=()=>H(!1);return window.addEventListener("blur",xe),window.addEventListener("resize",xe),()=>{window.removeEventListener("blur",xe),window.removeEventListener("resize",xe)}},[H]);const[q,J]=P0e(xe=>{const ce=G().filter(ke=>!ke.disabled),pe=ce.find(ke=>ke.ref.current===document.activeElement),he=O0e(ce,xe,pe);he&&setTimeout(()=>he.ref.current.focus())}),ne=h.useCallback((xe,ce,pe)=>{const he=!U.current&&!pe;(I.value!==void 0&&I.value===ce||he)&&(T(xe),he&&(U.current=!0))},[I.value]),re=h.useCallback(()=>N==null?void 0:N.focus(),[N]),de=h.useCallback((xe,ce,pe)=>{const he=!U.current&&!pe;(I.value!==void 0&&I.value===ce||he)&&z(xe)},[I.value]),Ee=r==="popper"?IR:b0e,we=Ee===IR?{side:i,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:m,collisionPadding:g,sticky:w,hideWhenDetached:b,avoidCollisions:j}:{};return c.jsx(v0e,{scope:n,content:N,viewport:D,onViewportChange:P,itemRefCallback:ne,selectedItem:F,onItemLeave:re,itemTextRefCallback:de,focusSelectedItem:$,selectedItemText:R,position:r,isPositioned:Z,searchRef:q,children:c.jsx(Q2,{as:M2,allowPinchZoom:!0,children:c.jsx(q2,{asChild:!0,trapped:I.open,onMountAutoFocus:xe=>{xe.preventDefault()},onUnmountAutoFocus:na(o,xe=>{var ce;(ce=I.trigger)==null||ce.focus({preventScroll:!0}),xe.preventDefault()}),children:c.jsx(qy,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:xe=>xe.preventDefault(),onDismiss:()=>I.onOpenChange(!1),children:c.jsx(Ee,{role:"listbox",id:I.contentId,"data-state":I.open?"open":"closed",dir:I.dir,onContextMenu:xe=>xe.preventDefault(),...S,...we,onPlaced:()=>W(!0),ref:L,style:{display:"flex",flexDirection:"column",outline:"none",...S.style},onKeyDown:na(S.onKeyDown,xe=>{const ce=xe.ctrlKey||xe.altKey||xe.metaKey;if(xe.key==="Tab"&&xe.preventDefault(),!ce&&xe.key.length===1&&J(xe.key),["ArrowUp","ArrowDown","Home","End"].includes(xe.key)){let he=G().filter(ke=>!ke.disabled).map(ke=>ke.ref.current);if(["ArrowUp","End"].includes(xe.key)&&(he=he.slice().reverse()),["ArrowUp","ArrowDown"].includes(xe.key)){const ke=xe.target,le=he.indexOf(ke);he=he.slice(le+1)}setTimeout(()=>ee(he)),xe.preventDefault()}})})})})})})});w0e.displayName=Pmt;var Omt="SelectItemAlignedPosition",b0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,onPlaced:r,...o}=t,s=Fh(zg,n),a=Bh(zg,n),[i,l]=h.useState(null),[u,d]=h.useState(null),f=Jl(e,L=>d(L)),m=qE(n),g=h.useRef(!1),w=h.useRef(!0),{viewport:b,selectedItem:j,selectedItemText:S,focusSelectedItem:I}=a,N=h.useCallback(()=>{if(s.trigger&&s.valueNode&&i&&u&&b&&j&&S){const L=s.trigger.getBoundingClientRect(),F=u.getBoundingClientRect(),T=s.valueNode.getBoundingClientRect(),R=S.getBoundingClientRect();if(s.dir!=="rtl"){const ke=R.left-F.left,le=T.left-ke,ye=L.left-le,ve=L.width+ye,Ie=Math.max(ve,F.width),Ve=window.innerWidth-Mc,Qe=SM(le,[Mc,Math.max(Mc,Ve-Ie)]);i.style.minWidth=ve+"px",i.style.left=Qe+"px"}else{const ke=F.right-R.right,le=window.innerWidth-T.right-ke,ye=window.innerWidth-L.right-le,ve=L.width+ye,Ie=Math.max(ve,F.width),Ve=window.innerWidth-Mc,Qe=SM(le,[Mc,Math.max(Mc,Ve-Ie)]);i.style.minWidth=ve+"px",i.style.right=Qe+"px"}const z=m(),G=window.innerHeight-Mc*2,Z=b.scrollHeight,W=window.getComputedStyle(u),U=parseInt(W.borderTopWidth,10),ee=parseInt(W.paddingTop,10),$=parseInt(W.borderBottomWidth,10),H=parseInt(W.paddingBottom,10),Y=U+ee+Z+H+$,q=Math.min(j.offsetHeight*5,Y),J=window.getComputedStyle(b),ne=parseInt(J.paddingTop,10),re=parseInt(J.paddingBottom,10),de=L.top+L.height/2-Mc,Ee=G-de,we=j.offsetHeight/2,xe=j.offsetTop+we,ce=U+ee+xe,pe=Y-ce;if(ce<=de){const ke=z.length>0&&j===z[z.length-1].ref.current;i.style.bottom="0px";const le=u.clientHeight-b.offsetTop-b.offsetHeight,ye=Math.max(Ee,we+(ke?re:0)+le+$),ve=ce+ye;i.style.height=ve+"px"}else{const ke=z.length>0&&j===z[0].ref.current;i.style.top="0px";const ye=Math.max(de,U+b.offsetTop+(ke?ne:0)+we)+pe;i.style.height=ye+"px",b.scrollTop=ce-de+b.offsetTop}i.style.margin=`${Mc}px 0`,i.style.minHeight=q+"px",i.style.maxHeight=G+"px",r==null||r(),requestAnimationFrame(()=>g.current=!0)}},[m,s.trigger,s.valueNode,i,u,b,j,S,s.dir,r]);pr(()=>N(),[N]);const[M,D]=h.useState();pr(()=>{u&&D(window.getComputedStyle(u).zIndex)},[u]);const P=h.useCallback(L=>{L&&w.current===!0&&(N(),I==null||I(),w.current=!1)},[N,I]);return c.jsx(Fmt,{scope:n,contentWrapper:i,shouldExpandOnScrollRef:g,onScrollButtonChange:P,children:c.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:M},children:c.jsx(mc.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});b0e.displayName=Omt;var zmt="SelectPopperPosition",IR=h.forwardRef((t,e)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Mc,...s}=t,a=KE(n);return c.jsx(RS,{...a,...s,ref:e,align:r,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});IR.displayName=zmt;var[Fmt,SO]=gv(zg,{}),AR="SelectViewport",x0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,nonce:r,...o}=t,s=Bh(AR,n),a=SO(AR,n),i=Jl(e,s.onViewportChange),l=h.useRef(0);return c.jsxs(c.Fragment,{children:[c.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),c.jsx(GE.Slot,{scope:n,children:c.jsx(mc.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:na(o.onScroll,u=>{const d=u.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:m}=a;if(m!=null&&m.current&&f){const g=Math.abs(l.current-d.scrollTop);if(g>0){const w=window.innerHeight-Mc*2,b=parseFloat(f.style.minHeight),j=parseFloat(f.style.height),S=Math.max(b,j);if(S<w){const I=S+g,N=Math.min(w,I),M=I-N;f.style.height=N+"px",f.style.bottom==="0px"&&(d.scrollTop=M>0?M:0,f.style.justifyContent="flex-end")}}}l.current=d.scrollTop})})})]})});x0e.displayName=AR;var k0e="SelectGroup",[Bmt,Umt]=gv(k0e),$mt=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t,o=CO();return c.jsx(Bmt,{scope:n,id:o,children:c.jsx(mc.div,{role:"group","aria-labelledby":o,...r,ref:e})})});$mt.displayName=k0e;var j0e="SelectLabel",C0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t,o=Umt(j0e,n);return c.jsx(mc.div,{id:o.id,...r,ref:e})});C0e.displayName=j0e;var Xj="SelectItem",[Vmt,S0e]=gv(Xj),E0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:s,...a}=t,i=Fh(Xj,n),l=Bh(Xj,n),u=i.value===r,[d,f]=h.useState(s??""),[m,g]=h.useState(!1),w=Jl(e,I=>{var N;return(N=l.itemRefCallback)==null?void 0:N.call(l,I,r,o)}),b=CO(),j=h.useRef("touch"),S=()=>{o||(i.onValueChange(r),i.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return c.jsx(Vmt,{scope:n,value:r,disabled:o,textId:b,isSelected:u,onItemTextChange:h.useCallback(I=>{f(N=>N||((I==null?void 0:I.textContent)??"").trim())},[]),children:c.jsx(GE.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:c.jsx(mc.div,{role:"option","aria-labelledby":b,"data-highlighted":m?"":void 0,"aria-selected":u&&m,"data-state":u?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:w,onFocus:na(a.onFocus,()=>g(!0)),onBlur:na(a.onBlur,()=>g(!1)),onClick:na(a.onClick,()=>{j.current!=="mouse"&&S()}),onPointerUp:na(a.onPointerUp,()=>{j.current==="mouse"&&S()}),onPointerDown:na(a.onPointerDown,I=>{j.current=I.pointerType}),onPointerMove:na(a.onPointerMove,I=>{var N;j.current=I.pointerType,o?(N=l.onItemLeave)==null||N.call(l):j.current==="mouse"&&I.currentTarget.focus({preventScroll:!0})}),onPointerLeave:na(a.onPointerLeave,I=>{var N;I.currentTarget===document.activeElement&&((N=l.onItemLeave)==null||N.call(l))}),onKeyDown:na(a.onKeyDown,I=>{var M;((M=l.searchRef)==null?void 0:M.current)!==""&&I.key===" "||(Amt.includes(I.key)&&S(),I.key===" "&&I.preventDefault())})})})})});E0e.displayName=Xj;var Bw="SelectItemText",N0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,className:r,style:o,...s}=t,a=Fh(Bw,n),i=Bh(Bw,n),l=S0e(Bw,n),u=Tmt(Bw,n),[d,f]=h.useState(null),m=Jl(e,S=>f(S),l.onItemTextChange,S=>{var I;return(I=i.itemTextRefCallback)==null?void 0:I.call(i,S,l.value,l.disabled)}),g=d==null?void 0:d.textContent,w=h.useMemo(()=>c.jsx("option",{value:l.value,disabled:l.disabled,children:g},l.value),[l.disabled,l.value,g]),{onNativeOptionAdd:b,onNativeOptionRemove:j}=u;return pr(()=>(b(w),()=>j(w)),[b,j,w]),c.jsxs(c.Fragment,{children:[c.jsx(mc.span,{id:l.textId,...s,ref:m}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Ds.createPortal(s.children,a.valueNode):null]})});N0e.displayName=Bw;var I0e="SelectItemIndicator",A0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t;return S0e(I0e,n).isSelected?c.jsx(mc.span,{"aria-hidden":!0,...r,ref:e}):null});A0e.displayName=I0e;var _R="SelectScrollUpButton",_0e=h.forwardRef((t,e)=>{const n=Bh(_R,t.__scopeSelect),r=SO(_R,t.__scopeSelect),[o,s]=h.useState(!1),a=Jl(e,r.onScrollButtonChange);return pr(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=l.scrollTop>0;s(u)};const l=n.viewport;return i(),l.addEventListener("scroll",i),()=>l.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?c.jsx(R0e,{...t,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:l}=n;i&&l&&(i.scrollTop=i.scrollTop-l.offsetHeight)}}):null});_0e.displayName=_R;var MR="SelectScrollDownButton",M0e=h.forwardRef((t,e)=>{const n=Bh(MR,t.__scopeSelect),r=SO(MR,t.__scopeSelect),[o,s]=h.useState(!1),a=Jl(e,r.onScrollButtonChange);return pr(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=l.scrollHeight-l.clientHeight,d=Math.ceil(l.scrollTop)<u;s(d)};const l=n.viewport;return i(),l.addEventListener("scroll",i),()=>l.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?c.jsx(R0e,{...t,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:l}=n;i&&l&&(i.scrollTop=i.scrollTop+l.offsetHeight)}}):null});M0e.displayName=MR;var R0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=t,s=Bh("SelectScrollButton",n),a=h.useRef(null),i=qE(n),l=h.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return h.useEffect(()=>()=>l(),[l]),pr(()=>{var d;const u=i().find(f=>f.ref.current===document.activeElement);(d=u==null?void 0:u.ref.current)==null||d.scrollIntoView({block:"nearest"})},[i]),c.jsx(mc.div,{"aria-hidden":!0,...o,ref:e,style:{flexShrink:0,...o.style},onPointerDown:na(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:na(o.onPointerMove,()=>{var u;(u=s.onItemLeave)==null||u.call(s),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:na(o.onPointerLeave,()=>{l()})})}),Hmt="SelectSeparator",T0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t;return c.jsx(mc.div,{"aria-hidden":!0,...r,ref:e})});T0e.displayName=Hmt;var RR="SelectArrow",Wmt=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t,o=KE(n),s=Fh(RR,n),a=Bh(RR,n);return s.open&&a.position==="popper"?c.jsx(TS,{...o,...r,ref:e}):null});Wmt.displayName=RR;function D0e(t){return t===""||t===void 0}var L0e=h.forwardRef((t,e)=>{const{value:n,...r}=t,o=h.useRef(null),s=Jl(e,o),a=Nmt(n);return h.useEffect(()=>{const i=o.current,l=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==n&&d){const f=new Event("change",{bubbles:!0});d.call(i,n),i.dispatchEvent(f)}},[a,n]),c.jsx(tO,{asChild:!0,children:c.jsx("select",{...r,ref:s,defaultValue:n})})});L0e.displayName="BubbleSelect";function P0e(t){const e=or(t),n=h.useRef(""),r=h.useRef(0),o=h.useCallback(a=>{const i=n.current+a;e(i),(function l(u){n.current=u,window.clearTimeout(r.current),u!==""&&(r.current=window.setTimeout(()=>l(""),1e3))})(i)},[e]),s=h.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return h.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,s]}function O0e(t,e,n){const o=e.length>1&&Array.from(e).every(u=>u===e[0])?e[0]:e,s=n?t.indexOf(n):-1;let a=Ymt(t,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==n?l:void 0}function Ymt(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var Gmt=f0e,z0e=p0e,qmt=yb,Kmt=m0e,Zmt=g0e,F0e=y0e,Qmt=x0e,B0e=C0e,U0e=E0e,Jmt=N0e,Xmt=A0e,$0e=_0e,V0e=M0e,H0e=T0e;const Ju=Gmt,ag=qmt,Gc=h.forwardRef(({className:t,children:e,...n},r)=>c.jsxs(z0e,{ref:r,className:Te("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-lg border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:border-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-all duration-200 hover:border-ring/50",t),...n,children:[e,c.jsx(Kmt,{asChild:!0,children:c.jsx(ic,{className:"h-4 w-4 opacity-50 transition-transform duration-200"})})]}));Gc.displayName=z0e.displayName;const W0e=h.forwardRef(({className:t,...e},n)=>c.jsx($0e,{ref:n,className:Te("flex cursor-default items-center justify-center py-1",t),...e,children:c.jsx(wd,{className:"h-4 w-4"})}));W0e.displayName=$0e.displayName;const Y0e=h.forwardRef(({className:t,...e},n)=>c.jsx(V0e,{ref:n,className:Te("flex cursor-default items-center justify-center py-1",t),...e,children:c.jsx(ic,{className:"h-4 w-4"})}));Y0e.displayName=V0e.displayName;const qc=h.forwardRef(({className:t,children:e,position:n="popper",...r},o)=>c.jsx(Zmt,{children:c.jsxs(F0e,{ref:o,className:Te("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...r,children:[c.jsx(W0e,{}),c.jsx(Qmt,{className:Te("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),c.jsx(Y0e,{})]})}));qc.displayName=F0e.displayName;const egt=h.forwardRef(({className:t,...e},n)=>c.jsx(B0e,{ref:n,className:Te("px-2 py-1.5 text-sm font-semibold",t),...e}));egt.displayName=B0e.displayName;const jo=h.forwardRef(({className:t,children:e,...n},r)=>c.jsxs(U0e,{ref:r,className:Te("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[c.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Xmt,{children:c.jsx(Zr,{className:"h-4 w-4"})})}),c.jsx(Jmt,{children:e})]}));jo.displayName=U0e.displayName;const tgt=h.forwardRef(({className:t,...e},n)=>c.jsx(H0e,{ref:n,className:Te("-mx-1 my-1 h-px bg-muted",t),...e}));tgt.displayName=H0e.displayName;function ngt({mailboxRelay:t,changeMailboxRelayScope:e,removeMailboxRelay:n}){const{t:r}=Ke(),{push:o}=Cn(),{attributes:s,listeners:a,setNodeRef:i,transform:l,transition:u,isDragging:d}=kO({id:t.url}),f={transform:Og.Transform.toString(l),transition:u,opacity:d?.5:1};return c.jsxs("div",{ref:i,style:f,className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0",children:[c.jsx("div",{...s,...a,className:"cursor-grab active:cursor-grabbing p-2 hover:bg-muted rounded touch-none",style:{touchAction:"none"},children:c.jsx(nL,{size:16,className:"text-muted-foreground"})}),c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0 cursor-pointer",onClick:()=>o(Eg(t.url)),children:[c.jsx(iu,{url:t.url}),c.jsx("div",{className:"truncate flex-1 w-0",children:t.url})]})]}),c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsxs(Ju,{value:t.scope,onValueChange:m=>e(t.url,m),children:[c.jsx(Gc,{className:"w-24 shrink-0",children:c.jsx(ag,{})}),c.jsxs(qc,{children:[c.jsx(jo,{value:"both",children:r("R & W")}),c.jsx(jo,{value:"read",children:r("Read")}),c.jsx(jo,{value:"write",children:r("Write")})]})]}),c.jsx(Wse,{size:16,onClick:()=>n(t.url),className:"text-muted-foreground hover:text-destructive clickable"})]})]})}function rgt({saveNewMailboxRelay:t}){const{t:e}=Ke(),[n,r]=h.useState(""),[o,s]=h.useState(null),a=()=>{const u=t(n);u?s(u):r("")},i=u=>{u.key==="Enter"&&(u.preventDefault(),a())},l=u=>{r(u.target.value),s(null)};return c.jsxs("div",{children:[c.jsxs("div",{className:"flex gap-4",children:[c.jsx(Pn,{className:o?"border-destructive":"",placeholder:e("Add a new relay"),value:n,onKeyDown:i,onChange:l,onBlur:a}),c.jsx(Pe,{onClick:a,children:e("Add")})]}),o&&c.jsx("div",{className:"text-destructive text-xs mt-1",children:o})]})}function ogt({relays:t}){const{t:e}=Ke(),n=h.useMemo(()=>t.filter(a=>a.scope!=="write").length,[t]),r=h.useMemo(()=>t.filter(a=>a.scope!=="read").length,[t]),o=n>4,s=r>4;return!o&&!s?null:c.jsx(Cj,{variant:"alert",title:e(o?"Too many read relays":"Too many write relays"),content:o?e("You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.",{count:n}):e("You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.",{count:r})})}function sgt({mailboxRelays:t,hasChange:e,setHasChange:n}){const{t:r}=Ke(),{pubkey:o,publish:s,updateRelayListEvent:a}=wt(),[i,l]=h.useState(!1),u=async()=>{if(!o)return;l(!0);const d=nre(t),f=await s(d);await a(f),on.success("Successfully saved mailbox relays"),n(!1),l(!1)};return c.jsxs(Pe,{className:"w-full",disabled:!o||i||!e,onClick:u,children:[i?c.jsx(_r,{className:"animate-spin"}):c.jsx(v7e,{}),r("Save")]})}function G0e(){const{t}=Ke(),{pubkey:e,relayList:n,checkLogin:r}=wt(),[o,s]=h.useState([]),[a,i]=h.useState(!1),l=pO(sg(Ux,{activationConstraint:{distance:8}}),sg(Q1e,{activationConstraint:{delay:200,tolerance:8}}),sg(Bx,{coordinateGetter:jO}));function u(g){const{active:w,over:b}=g;if(w.id!==(b==null?void 0:b.id)){const j=o.findIndex(I=>I.url===w.id),S=o.findIndex(I=>I.url===(b==null?void 0:b.id));j!==-1&&S!==-1&&(s(I=>$x(I,j,S)),i(!0))}}if(h.useEffect(()=>{n&&s(n.originalRelays)},[n]),!e)return c.jsx("div",{className:"flex flex-col w-full items-center",children:c.jsx(Pe,{size:"lg",onClick:()=>r(),children:t("Login to set")})});if(!n)return c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:t("loading...")});const d=(g,w)=>{s(b=>b.map(j=>j.url===g?{...j,scope:w}:j)),i(!0)},f=g=>{s(w=>w.filter(b=>b.url!==g)),i(!0)},m=g=>{if(g==="")return null;const w=so(g);return w?o.some(b=>b.url===w)?t("Relay already exists"):(s([...o,{url:w,scope:"both"}]),i(!0),null):t("Invalid relay URL")};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"text-xs text-muted-foreground space-y-1",children:[c.jsx("div",{children:t("read relays description")}),c.jsx("div",{children:t("write relays description")}),c.jsx("div",{children:t("read & write relays notice")})]}),c.jsx(ogt,{relays:o}),c.jsx(sgt,{mailboxRelays:o,hasChange:a,setHasChange:i}),c.jsx(yO,{sensors:l,collisionDetection:hO,onDragEnd:u,modifiers:[wO,vO],children:c.jsx(xO,{items:o.map(g=>g.url),strategy:bO,children:c.jsx("div",{className:"space-y-2",children:o.map(g=>c.jsx(ngt,{mailboxRelay:g,changeMailboxRelayScope:d,removeMailboxRelay:f},g.url))})})}),c.jsx(rgt,{saveNewMailboxRelay:m})]})}function agt(t){return t>=.99?"text-red-900 dark:text-red-300":t>.5?"text-red-600 dark:text-red-400":t>.1?"text-yellow-600 dark:text-yellow-400":"text-green-600 dark:text-green-400"}function igt({entry:t,onAction:e}){const{t:n}=Ke(),[r,o]=h.useState(!1),s=qr.getFailureRate(t.url),a=qr.isAutoDisabled(t.url);return c.jsxs("div",{className:"border rounded-lg p-3 space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[c.jsx("button",{type:"button",onClick:()=>o(!r),className:"text-muted-foreground hover:text-foreground shrink-0",children:r?c.jsx(wd,{className:"size-4"}):c.jsx(ic,{className:"size-4"})}),c.jsx("span",{className:"truncate text-sm font-mono",children:t.url}),a&&c.jsx("span",{title:n("Auto-disabled"),children:c.jsx(uae,{className:"size-4 text-red-500 shrink-0"})}),t.manualExclude&&c.jsx("span",{title:n("Manually excluded"),children:c.jsx(fae,{className:"size-4 text-orange-500 shrink-0"})})]}),c.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[c.jsx("span",{className:"text-xs text-muted-foreground capitalize px-1.5 py-0.5 bg-muted rounded",children:t.direction}),c.jsxs("span",{className:`text-xs font-mono ${agt(s)}`,children:[(s*100).toFixed(0),"%"]})]})]}),r&&c.jsxs("div",{className:"pl-6 space-y-2",children:[t.reason&&c.jsx("div",{className:"text-xs text-muted-foreground",children:t.reason}),t.relayIp&&c.jsxs("div",{className:"text-xs text-muted-foreground",children:["IP: ",t.relayIp]}),c.jsxs("div",{className:"flex gap-2 flex-wrap",children:[t.status!=="approved"&&c.jsxs(Pe,{size:"sm",variant:"outline",onClick:()=>{ki.approve(t.url),e()},children:[c.jsx(Zr,{className:"size-3 mr-1"})," ",n("Approve")]}),t.status!=="rejected"&&c.jsxs(Pe,{size:"sm",variant:"outline",onClick:()=>{ki.reject(t.url),e()},children:[c.jsx(ia,{className:"size-3 mr-1"})," ",n("Reject")]}),t.status!=="pending"&&c.jsx(Pe,{size:"sm",variant:"outline",onClick:()=>{ki.resetStatus(t.url),e()},children:n("Reset")}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(lr,{checked:t.manualExclude,onCheckedChange:i=>{ki.setManualExclude(t.url,i),e()}}),c.jsx("span",{className:"text-xs text-muted-foreground",children:n("Exclude")})]})]})]})]})}function lgt(){const{t}=Ke(),[e,n]=h.useState(Ze.getOutboxMode()),[r,o]=h.useState("pending"),[s,a]=h.useState(0),i=h.useCallback(()=>a(b=>b+1),[]),l=h.useMemo(()=>ki.getPendingRelays(),[s]),u=h.useMemo(()=>ki.getApprovedRelays(),[s]),d=h.useMemo(()=>ki.getRejectedRelays(),[s]),f=h.useMemo(()=>ki.getExcludedRelays(),[s]),m=h.useMemo(()=>ki.getAutoDisabledRelays(),[s]),g=r==="pending"?l:r==="approved"?u:d,w=b=>{Ze.setOutboxMode(b),n(b),cr()};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"text-sm text-muted-foreground space-y-2",children:[c.jsxs("p",{children:[t("Relays discovered via outbox model (NIP-65) are tracked here with per-network failure stats. In")," ",c.jsx("strong",{children:t("Automatic")})," ",t("mode, all discovered relays are used unless manually excluded or auto-disabled. In")," ",c.jsx("strong",{children:t("Managed")})," ",t("mode, relays must be explicitly approved before use.")]}),c.jsx("p",{children:t("Approve/Reject controls whether a relay is used in managed mode. Exclude is a manual override that blocks a relay in both modes, independent of approval status. Relays with 99%+ failure rate on your current network are auto-disabled.")}),c.jsx("p",{children:t("Failure rates are tracked per network (based on your external IP), so a relay that fails on one connection may work fine on another.")})]}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx(_t,{className:"text-base font-normal",children:t("Outbox mode")}),c.jsxs(Ju,{value:e,onValueChange:w,children:[c.jsx(Gc,{className:"w-40",children:c.jsx(ag,{})}),c.jsxs(qc,{children:[c.jsx(jo,{value:"automatic",children:t("Automatic")}),c.jsx(jo,{value:"managed",children:t("Managed")})]})]})]}),c.jsxs("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[c.jsxs("span",{children:[l.length," ",t("pending")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[u.length," ",t("approved")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[d.length," ",t("rejected")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[f.length," ",t("excluded")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[m.length," ",t("auto-disabled")]})]}),c.jsx("div",{className:"flex gap-1 border-b",children:["pending","approved","rejected"].map(b=>c.jsxs("button",{type:"button",onClick:()=>o(b),className:`px-3 py-1.5 text-sm capitalize border-b-2 transition-colors ${r===b?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[t(b)," (",b==="pending"?l.length:b==="approved"?u.length:d.length,")"]},b))}),r==="pending"&&l.length>1&&c.jsxs("div",{className:"flex gap-2",children:[c.jsxs(Pe,{size:"sm",variant:"outline",onClick:()=>{ki.bulkApprove(l.map(b=>b.url)),i()},children:[c.jsx(nx,{className:"size-3 mr-1"})," ",t("Approve all")]}),c.jsxs(Pe,{size:"sm",variant:"outline",onClick:()=>{ki.bulkReject(l.map(b=>b.url)),i()},children:[c.jsx(fae,{className:"size-3 mr-1"})," ",t("Reject all")]})]}),c.jsx("div",{className:"space-y-2 max-h-96 overflow-y-auto",children:g.length===0?c.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:t("No relays")}):g.map(b=>c.jsx(igt,{entry:b,onAction:i},b.url))})]})}const cgt=1800*1e3,ugt=100;function fgt(){return crypto.randomUUID()}class dgt{constructor(e=cgt,n=ugt){je(this,"sessions",new Map);je(this,"sessionTimeout");je(this,"maxSubscriptions");je(this,"cleanupInterval",null);this.sessionTimeout=e,this.maxSubscriptions=n}start(){this.cleanupInterval||(this.cleanupInterval=setInterval(()=>{this.cleanupExpiredSessions()},300*1e3))}stop(){this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.sessions.clear()}getOrCreateSession(e,n,r){for(const s of this.sessions.values())if(s.clientPubkey===e)return s.lastActivity=Date.now(),s;const o={id:fgt(),clientPubkey:e,conversationKey:n,deviceName:r,createdAt:Date.now(),lastActivity:Date.now(),subscriptions:new Map};return this.sessions.set(o.id,o),o}getSession(e){return this.sessions.get(e)}getSessionByClientPubkey(e){for(const n of this.sessions.values())if(n.clientPubkey===e)return n}touchSession(e){const n=this.sessions.get(e);n&&(n.lastActivity=Date.now())}addSubscription(e,n,r){const o=this.sessions.get(e);if(!o||o.subscriptions.size>=this.maxSubscriptions)return null;const s={id:n,filters:r,createdAt:Date.now(),eventCount:0,eoseSent:!1};return o.subscriptions.set(n,s),o.lastActivity=Date.now(),s}getSubscription(e,n){const r=this.sessions.get(e);return r==null?void 0:r.subscriptions.get(n)}removeSubscription(e,n){const r=this.sessions.get(e);if(!r)return!1;const o=r.subscriptions.delete(n);return o&&(r.lastActivity=Date.now()),o}markEOSE(e,n){const r=this.getSubscription(e,n);r&&(r.eoseSent=!0)}incrementEventCount(e,n){const r=this.getSubscription(e,n);r&&r.eventCount++}removeSession(e){return this.sessions.delete(e)}getActiveSessionCount(){return this.sessions.size}getAllSessions(){return Array.from(this.sessions.values())}cleanupExpiredSessions(){const e=Date.now(),n=[];for(const[r,o]of this.sessions)e-o.lastActivity>this.sessionTimeout&&n.push(r);for(const r of n)this.sessions.delete(r),console.log(`[NRC] Cleaned up expired session: ${r}`)}isSessionExpired(e){const n=this.sessions.get(e);return n?Date.now()-n.lastActivity>this.sessionTimeout:!0}}function pgt(){const t=crypto.getRandomValues(new Uint8Array(8));return Kc(t)}const R0=class R0{constructor(){je(this,"config",null);je(this,"sessions");je(this,"ws",null);je(this,"subId",null);je(this,"connected",!1);je(this,"running",!1);je(this,"reconnectTimeout",null);je(this,"reconnectDelay",1e3);je(this,"maxReconnectDelay",3e4);je(this,"listenerPubkey",null);je(this,"onSessionChange");this.sessions=new dgt}setOnSessionChange(e){this.onSessionChange=e}async start(e){if(this.running){console.warn("[NRC] Listener already running");return}this.config=e,this.running=!0,this.listenerPubkey=await e.signer.getPublicKey(),this.sessions.start(),await this.connectToRelay()}stop(){if(this.running=!1,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.ws){if(this.subId)try{this.ws.send(JSON.stringify(["CLOSE",this.subId]))}catch{}this.ws.close(),this.ws=null}this.sessions.stop(),this.connected=!1,this.subId=null,console.log("[NRC] Listener stopped")}isRunning(){return this.running}isConnected(){return this.connected}getActiveSessionCount(){return this.sessions.getActiveSessionCount()}async connectToRelay(){if(!this.config||!this.running)return Promise.resolve();const e=this.config.rendezvousUrl;return new Promise((n,r)=>{let o=e;e.startsWith("http://")?o="ws://"+e.slice(7):e.startsWith("https://")?o="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(o="wss://"+e),console.log(`[NRC] Connecting to rendezvous relay: ${o}`);const s=new WebSocket(o),a=setTimeout(()=>{s.close(),r(new Error("Connection timeout"))},1e4);s.onopen=()=>{clearTimeout(a),this.ws=s,this.connected=!0,this.reconnectDelay=1e3,this.subId=pgt(),s.send(JSON.stringify(["REQ",this.subId,{kinds:[D_],"#p":[this.listenerPubkey],since:Math.floor(Date.now()/1e3)-60}])),console.log(`[NRC] Connected and subscribed with subId: ${this.subId}, listening for pubkey: ${this.listenerPubkey}`),n()},s.onerror=i=>{clearTimeout(a),console.error("[NRC] WebSocket error:",i),r(new Error("WebSocket error"))},s.onclose=()=>{this.connected=!1,this.ws=null,this.subId=null,console.log("[NRC] WebSocket closed"),this.running&&this.scheduleReconnect()},s.onmessage=i=>{this.handleMessage(i.data)}}).catch(n=>{console.error("[NRC] Failed to connect:",n),this.running&&this.scheduleReconnect()})}scheduleReconnect(){this.reconnectTimeout||!this.running||(console.log(`[NRC] Scheduling reconnect in ${this.reconnectDelay}ms`),this.reconnectTimeout=setTimeout(()=>{this.reconnectTimeout=null,this.connectToRelay()},this.reconnectDelay),this.reconnectDelay=Math.min(this.reconnectDelay*2,this.maxReconnectDelay))}handleMessage(e){try{const n=JSON.parse(e);if(!Array.isArray(n))return;const[r,...o]=n;if(r==="EVENT"){const[,s]=o;s.kind===D_&&(console.log("[NRC] Received NRC request from pubkey:",s.pubkey),this.handleRequest(s).catch(a=>{console.error("[NRC] Error handling request:",a)}))}else r==="EOSE"?console.log("[NRC] Received EOSE, now listening for live events"):r==="NOTICE"?console.log("[NRC] Relay notice:",o[0]):r==="OK"||r==="CLOSED"&&console.log("[NRC] Subscription closed:",o)}catch(n){console.error("[NRC] Failed to parse message:",n)}}async handleRequest(e){var r;if(!this.config)return;const n=e.tags.find(o=>o[0]==="session");n==null||n[1];try{const o=await this.authorize(e),s=this.sessions.getOrCreateSession(e.pubkey,void 0,o.deviceName);(r=this.onSessionChange)==null||r.call(this,this.sessions.getActiveSessionCount());const a=await this.decrypt(e.pubkey,e.content),i=JSON.parse(a);switch(console.log("[NRC] Received request:",i.type),i.type){case"REQ":await this.handleREQ(e,s,i.payload);break;case"CLOSE":await this.handleCLOSE(s,i.payload);break;case"EVENT":await this.handleEVENT(e,s,i.payload);break;case"IDS":await this.handleIDS(e,s,i.payload);break;case"COUNT":await this.sendError(e,s,"COUNT not supported");break;default:await this.sendError(e,s,`Unknown message type: ${i.type}`)}}catch(o){console.error("[NRC] Request handling failed:",o);try{await this.sendErrorBestEffort(e,`Request failed: ${o instanceof Error?o.message:"Unknown error"}`)}catch{}}}async authorize(e){if(!this.config)throw new Error("Listener not configured");const n=this.config.authorizedSecrets.get(e.pubkey);if(!n)throw console.log("[NRC] Unauthorized pubkey:",e.pubkey),console.log("[NRC] Authorized pubkeys:",Array.from(this.config.authorizedSecrets.keys())),console.log("[NRC] Authorized pubkeys (full):",JSON.stringify(Array.from(this.config.authorizedSecrets.entries()))),new Error("Unauthorized: unknown client pubkey");return{deviceName:n}}async decrypt(e,n){if(!this.config)throw new Error("Listener not configured");if(!this.config.signer.nip44Decrypt)throw new Error("Signer does not support NIP-44 decryption");return this.config.signer.nip44Decrypt(e,n)}async encrypt(e,n){if(!this.config)throw new Error("Listener not configured");if(!this.config.signer.nip44Encrypt)throw new Error("Signer does not support NIP-44 encryption");return this.config.signer.nip44Encrypt(e,n)}async handleREQ(e,n,r){var u;if(r.length<2){await this.sendError(e,n,"Invalid REQ: missing subscription ID or filters");return}const[,o,...s]=r;if(!this.sessions.addSubscription(n.id,o,s)){await this.sendError(e,n,"Too many subscriptions");return}const i=await this.queryLocalEvents(s);console.log(`[NRC] Found ${i.length} events matching filters`);for(const d of i){const f={type:"EVENT",payload:["EVENT",o,d]};try{await this.sendResponseChunked(e,n,f),this.sessions.incrementEventCount(n.id,o)}catch(m){console.error(`[NRC] Failed to send event ${(u=d.id)==null?void 0:u.slice(0,8)}:`,m)}}const l={type:"EOSE",payload:["EOSE",o]};await this.sendResponse(e,n,l),this.sessions.markEOSE(n.id,o),console.log(`[NRC] Sent EOSE for subscription ${o}`)}async handleCLOSE(e,n){const[,r]=n;r&&this.sessions.removeSubscription(e.id,r)}async handleEVENT(e,n,r){const[,o]=r;if(!o||!o.id||!o.sig){await this.sendError(e,n,"Invalid EVENT: missing event data");return}try{await At.putReplaceableEvent(o),console.log(`[NRC] Stored event ${o.id.slice(0,8)} kind ${o.kind} from ${n.deviceName}`);const s={type:"OK",payload:["OK",o.id,!0,""]};await this.sendResponse(e,n,s)}catch(s){console.error("[NRC] Failed to store event:",s);const a={type:"OK",payload:["OK",o.id,!1,`Failed to store: ${s instanceof Error?s.message:"Unknown error"}`]};await this.sendResponse(e,n,a)}}async handleIDS(e,n,r){if(r.length<2){await this.sendError(e,n,"Invalid IDS: missing subscription ID or filters");return}const[,o,...s]=r,a=await this.queryLocalEvents(s);console.log(`[NRC] Found ${a.length} events for IDS request`);const i=a.map(u=>{var d;return{kind:u.kind,id:u.id,created_at:u.created_at,d:(d=u.tags.find(f=>f[0]==="d"))==null?void 0:d[1]}}),l={type:"IDS",payload:["IDS",o,i]};await this.sendResponseChunked(e,n,l),console.log(`[NRC] Sent IDS response with ${i.length} entries`)}async queryLocalEvents(e){return(await At.queryEventsForNRC(e)).filter(r=>!jCe(r))}async sendResponse(e,n,r){if(!this.ws||!this.config||!this.listenerPubkey)throw new Error("Not connected");const o=JSON.stringify(r),s=await this.encrypt(n.clientPubkey,o),a={kind:xk,content:s,tags:[["p",e.pubkey],["encryption","nip44_v2"],["session",n.id],["e",e.id]],created_at:Math.floor(Date.now()/1e3)},i=await this.config.signer.signEvent(a);this.ws.send(JSON.stringify(["EVENT",i]))}async sendResponseChunked(e,n,r){const o=JSON.stringify(r);if(o.length<=R0.MAX_CHUNK_SIZE){await this.sendResponse(e,n,r);return}const s=btoa(unescape(encodeURIComponent(o))),a=[];for(let l=0;l<s.length;l+=R0.MAX_CHUNK_SIZE)a.push(s.slice(l,l+R0.MAX_CHUNK_SIZE));const i=crypto.randomUUID();console.log(`[NRC] Chunking large message (${o.length} bytes) into ${a.length} chunks`);for(let l=0;l<a.length;l++){const u={type:"CHUNK",payload:[{type:"CHUNK",messageId:i,index:l,total:a.length,data:a[l]}]};await this.sendResponse(e,n,u)}}async sendError(e,n,r){const o={type:"NOTICE",payload:["NOTICE",r]};await this.sendResponse(e,n,o)}async sendErrorBestEffort(e,n){if(!(!this.ws||!this.config||!this.listenerPubkey))try{const o=JSON.stringify({type:"NOTICE",payload:["NOTICE",n]}),s=await this.encrypt(e.pubkey,o),a={kind:xk,content:s,tags:[["p",e.pubkey],["encryption","nip44_v2"],["e",e.id]],created_at:Math.floor(Date.now()/1e3)},i=await this.config.signer.signEvent(a);this.ws.send(JSON.stringify(["EVENT",i]))}catch{}}};je(R0,"MAX_CHUNK_SIZE",4e4);let TR=R0,A5=null;function q0e(){return A5||(A5=new TR),A5}q0e();const KZ=[0,3,1e4,10001,10002,10003,10012,30002],ZZ="nrc:enabled",QZ="nrc:connections",JZ="nrc:remoteConnections",XZ="nrc:rendezvousUrl",hgt="",K0e=h.createContext(void 0),mgt=()=>{const t=h.useContext(K0e);if(!t)throw new Error("useNRC must be used within an NRCProvider");return t};function ggt({children:t}){const{pubkey:e}=wt(),[n,r]=h.useState(()=>localStorage.getItem(ZZ)==="true"),[o,s]=h.useState(()=>{const ne=localStorage.getItem(QZ);if(ne)try{return JSON.parse(ne)}catch{return[]}return[]}),[a,i]=h.useState(()=>localStorage.getItem(XZ)||hgt),[l,u]=h.useState(!1),[d,f]=h.useState(!1),[m,g]=h.useState(0),[w,b]=h.useState(()=>{const ne=localStorage.getItem(JZ);if(ne)try{return JSON.parse(ne)}catch{return[]}return[]}),[j,S]=h.useState(!1),[I,N]=h.useState(null),M=q0e();h.useEffect(()=>{localStorage.setItem(ZZ,String(n))},[n]),h.useEffect(()=>{localStorage.setItem(QZ,JSON.stringify(o))},[o]),h.useEffect(()=>{localStorage.setItem(JZ,JSON.stringify(w))},[w]),h.useEffect(()=>{localStorage.setItem(XZ,a)},[a]);const D=h.useCallback(()=>{const ne=new Map;for(const re of o)re.secret&&re.clientPubkey&&ne.set(re.clientPubkey,re.label);return ne},[o]);h.useEffect(()=>{if(!n||!Oe.signer||!e){M.isRunning()&&(M.stop(),u(!1),f(!1),g(0));return}M.isRunning()&&M.stop();let ne=null;return(async()=>{try{const de={rendezvousUrl:a,signer:Oe.signer,authorizedSecrets:D()};console.log("[NRC] Starting listener with",de.authorizedSecrets.size,"authorized clients"),M.setOnSessionChange(Ee=>{g(Ee)}),await M.start(de),u(!0),f(M.isConnected()),ne=setInterval(()=>{f(M.isConnected()),g(M.getActiveSessionCount())},5e3)}catch(de){console.error("[NRC] Failed to start listener:",de),u(!1),f(!1)}})(),()=>{ne&&clearInterval(ne),M.stop(),u(!1),f(!1),g(0)}},[n,e,a,D]),h.useEffect(()=>{!n||Oe.signer},[o,n,e]);const P=900*1e3,L=300*1e3,F=async()=>{const ne=await At.queryEventsForNRC([{kinds:KZ,limit:1e3}]),re=ne.map(de=>{var Ee;return{kind:de.kind,id:de.id,created_at:de.created_at,d:(Ee=de.tags.find(we=>we[0]==="d"))==null?void 0:Ee[1]}});return{events:ne,manifest:re}},T=(ne,re,de)=>{const Ee=new Map,we=new Map;for(let he=0;he<ne.length;he++){const ke=ne[he],le=`${ke.kind}:${ke.d||""}`,ye=Ee.get(le);(!ye||ke.created_at>ye.created_at)&&(Ee.set(le,ke),we.set(ke.id,de[he]))}const xe=new Map;for(const he of re){const ke=`${he.kind}:${he.d||""}`,le=xe.get(ke);(!le||he.created_at>le.created_at)&&xe.set(ke,he)}const ce=[],pe=[];for(const[he,ke]of Ee){const le=xe.get(he);if(!le||ke.created_at>le.created_at){const ye=we.get(ke.id);ye&&ce.push(ye)}}for(const[he,ke]of xe){const le=Ee.get(he);(!le||ke.created_at>le.created_at)&&pe.push(ke.id)}return{toSend:ce,toFetch:pe}};h.useEffect(()=>{if(w.length===0||!Oe.signer||!e||j)return;const ne=async()=>{const Ee=Date.now(),we=w.filter(xe=>!xe.lastSync||Ee-xe.lastSync>L);if(we.length!==0){console.log(`[NRC] Bidirectional sync: ${we.length} connection(s) need syncing`);for(const xe of we){if(j)break;try{console.log(`[NRC] Bidirectional sync with ${xe.label}...`),S(!0),N({phase:"connecting",eventsReceived:0}),N({phase:"requesting",eventsReceived:0,message:"Getting remote event list..."});const ce=await NCe(xe.uri,[{kinds:KZ,limit:1e3}]);console.log(`[NRC] Remote has ${ce.length} events`);const{events:pe,manifest:he}=await F();console.log(`[NRC] Local has ${he.length} events`);const{toSend:ke,toFetch:le}=T(he,ce,pe);console.log(`[NRC] Diff: sending ${ke.length}, fetching ${le.length}`);let ye=0,ve=0;if(ke.length>0&&(N({phase:"sending",eventsReceived:0,eventsSent:0,message:`Sending ${ke.length} events...`}),ye=await ICe(xe.uri,ke,Ie=>N({...Ie,message:`Sending events... (${Ie.eventsSent||0}/${ke.length})`})),console.log(`[NRC] Sent ${ye} events to ${xe.label}`)),le.length>0){N({phase:"receiving",eventsReceived:0,eventsSent:ye,message:`Fetching ${le.length} events...`});const Ie=50,Ve=[];for(let Qe=0;Qe<le.length;Qe+=Ie){const nt=le.slice(Qe,Qe+Ie),Ue=await qB(xe.uri,[{ids:nt}],qe=>N({...qe,eventsSent:ye,message:`Fetching events... (${Ve.length+qe.eventsReceived}/${le.length})`}));Ve.push(...Ue)}for(const Qe of Ve)try{await At.putReplaceableEvent(Qe)}catch{}ve=Ve.length,console.log(`[NRC] Received ${ve} events from ${xe.label}`)}b(Ie=>Ie.map(Ve=>Ve.id===xe.id?{...Ve,lastSync:Date.now(),eventCount:ve}:Ve)),console.log(`[NRC] Bidirectional sync complete with ${xe.label}: sent ${ye}, received ${ve}`)}catch(ce){console.error(`[NRC] Bidirectional sync failed for ${xe.label}:`,ce)}finally{S(!1),N(null)}}}},re=setTimeout(ne,3e3),de=setInterval(ne,P);return()=>{clearTimeout(re),clearInterval(de)}},[w.length,e,j]);const R=h.useCallback(async()=>{if(!Oe.signer)throw new Error("Signer required to enable NRC");if(!a)throw new Error("Rendezvous relay URL required - configure in NRC settings");r(!0)},[a]),z=h.useCallback(()=>{r(!1),M.stop(),u(!1),f(!1),g(0)},[]),G=h.useCallback(async(ne,re)=>{if(!e)throw new Error("Not logged in");const de=re||a;if(!de)throw new Error("Rendezvous relay URL required - configure in NRC settings");const Ee=crypto.randomUUID(),we=Date.now(),xe=GB(e,de,void 0,ne),ce=xe.uri,pe={id:Ee,label:ne,secret:xe.secret,clientPubkey:xe.clientPubkey,createdAt:we};return s(he=>[...he,pe]),{uri:ce,connection:pe}},[e,a]),Z=h.useCallback(async ne=>{s(re=>re.filter(de=>de.id!==ne))},[]),W=h.useCallback(ne=>{if(!e)throw new Error("Not logged in");if(!ne.secret)throw new Error("Connection has no secret");return GB(e,a,ne.secret,ne.label).uri},[e,a]),U=h.useCallback(ne=>{i(ne)},[]),ee=h.useCallback(async(ne,re)=>{const de=ute(ne),Ee={id:crypto.randomUUID(),uri:ne,label:re,relayPubkey:de.relayPubkey,rendezvousUrl:de.rendezvousUrl};return b(we=>[...we,Ee]),Ee},[]),$=h.useCallback(async ne=>{b(re=>re.filter(de=>de.id!==ne))},[]),H=h.useCallback(async(ne,re)=>{const de=w.find(Ee=>Ee.id===ne);if(!de)throw new Error("Remote connection not found");S(!0),N({phase:"connecting",eventsReceived:0});try{const Ee=re||[{kinds:[0,3,1e4,10001,10002,10003,10012,30002],limit:1e3}],we=await qB(de.uri,Ee,xe=>N(xe));for(const xe of we)try{await At.putReplaceableEvent(xe)}catch(ce){console.warn("[NRC] Failed to store event:",ce)}return b(xe=>xe.map(ce=>ce.id===ne?{...ce,lastSync:Date.now(),eventCount:we.length}:ce)),we}finally{S(!1),N(null)}},[w]),Y=h.useCallback(async ne=>{const re=[];for(const de of w)try{const Ee=await H(de.id,ne);re.push(...Ee)}catch(Ee){console.error(`[NRC] Failed to sync from ${de.label}:`,Ee)}return re},[w,H]),q=h.useCallback(async ne=>{const re=w.find(de=>de.id===ne);if(!re)throw new Error("Remote connection not found");S(!0),N({phase:"connecting",eventsReceived:0,message:"Testing connection..."});try{const de=await ECe(re.uri,Ee=>N(Ee));return b(Ee=>Ee.map(we=>we.id===ne?{...we,lastSync:Date.now(),eventCount:0}:we)),de}finally{S(!1),N(null)}},[w]),J={isEnabled:n,isListening:l,isConnected:d,connections:o,activeSessions:m,rendezvousUrl:a,enable:R,disable:z,addConnection:G,removeConnection:Z,getConnectionURI:W,setRendezvousUrl:U,remoteConnections:w,isSyncing:j,syncProgress:I,addRemoteConnection:ee,removeRemoteConnection:$,testRemoteConnection:q,syncFromDevice:H,syncAllRemotes:Y};return c.jsx(K0e.Provider,{value:J,children:t})}var o0={},_5,eQ;function ygt(){return eQ||(eQ=1,_5=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),_5}var M5={},pp={},tQ;function i1(){if(tQ)return pp;tQ=1;let t;const e=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return pp.getSymbolSize=function(r){if(!r)throw new Error('"version" cannot be null or undefined');if(r<1||r>40)throw new Error('"version" should be in range from 1 to 40');return r*4+17},pp.getSymbolTotalCodewords=function(r){return e[r]},pp.getBCHDigit=function(n){let r=0;for(;n!==0;)r++,n>>>=1;return r},pp.setToSJISFunction=function(r){if(typeof r!="function")throw new Error('"toSJISFunc" is not a valid function.');t=r},pp.isKanjiModeEnabled=function(){return typeof t<"u"},pp.toSJIS=function(r){return t(r)},pp}var R5={},nQ;function EO(){return nQ||(nQ=1,(function(t){t.L={bit:1},t.M={bit:0},t.Q={bit:3},t.H={bit:2};function e(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return t.L;case"m":case"medium":return t.M;case"q":case"quartile":return t.Q;case"h":case"high":return t.H;default:throw new Error("Unknown EC Level: "+n)}}t.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},t.from=function(r,o){if(t.isValid(r))return r;try{return e(r)}catch{return o}}})(R5)),R5}var T5,rQ;function vgt(){if(rQ)return T5;rQ=1;function t(){this.buffer=[],this.length=0}return t.prototype={get:function(e){const n=Math.floor(e/8);return(this.buffer[n]>>>7-e%8&1)===1},put:function(e,n){for(let r=0;r<n;r++)this.putBit((e>>>n-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),e&&(this.buffer[n]|=128>>>this.length%8),this.length++}},T5=t,T5}var D5,oQ;function wgt(){if(oQ)return D5;oQ=1;function t(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}return t.prototype.set=function(e,n,r,o){const s=e*this.size+n;this.data[s]=r,o&&(this.reservedBit[s]=!0)},t.prototype.get=function(e,n){return this.data[e*this.size+n]},t.prototype.xor=function(e,n,r){this.data[e*this.size+n]^=r},t.prototype.isReserved=function(e,n){return this.reservedBit[e*this.size+n]},D5=t,D5}var L5={},sQ;function bgt(){return sQ||(sQ=1,(function(t){const e=i1().getSymbolSize;t.getRowColCoords=function(r){if(r===1)return[];const o=Math.floor(r/7)+2,s=e(r),a=s===145?26:Math.ceil((s-13)/(2*o-2))*2,i=[s-7];for(let l=1;l<o-1;l++)i[l]=i[l-1]-a;return i.push(6),i.reverse()},t.getPositions=function(r){const o=[],s=t.getRowColCoords(r),a=s.length;for(let i=0;i<a;i++)for(let l=0;l<a;l++)i===0&&l===0||i===0&&l===a-1||i===a-1&&l===0||o.push([s[i],s[l]]);return o}})(L5)),L5}var P5={},aQ;function xgt(){if(aQ)return P5;aQ=1;const t=i1().getSymbolSize,e=7;return P5.getPositions=function(r){const o=t(r);return[[0,0],[o-e,0],[0,o-e]]},P5}var O5={},iQ;function kgt(){return iQ||(iQ=1,(function(t){t.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const e={N1:3,N2:3,N3:40,N4:10};t.isValid=function(o){return o!=null&&o!==""&&!isNaN(o)&&o>=0&&o<=7},t.from=function(o){return t.isValid(o)?parseInt(o,10):void 0},t.getPenaltyN1=function(o){const s=o.size;let a=0,i=0,l=0,u=null,d=null;for(let f=0;f<s;f++){i=l=0,u=d=null;for(let m=0;m<s;m++){let g=o.get(f,m);g===u?i++:(i>=5&&(a+=e.N1+(i-5)),u=g,i=1),g=o.get(m,f),g===d?l++:(l>=5&&(a+=e.N1+(l-5)),d=g,l=1)}i>=5&&(a+=e.N1+(i-5)),l>=5&&(a+=e.N1+(l-5))}return a},t.getPenaltyN2=function(o){const s=o.size;let a=0;for(let i=0;i<s-1;i++)for(let l=0;l<s-1;l++){const u=o.get(i,l)+o.get(i,l+1)+o.get(i+1,l)+o.get(i+1,l+1);(u===4||u===0)&&a++}return a*e.N2},t.getPenaltyN3=function(o){const s=o.size;let a=0,i=0,l=0;for(let u=0;u<s;u++){i=l=0;for(let d=0;d<s;d++)i=i<<1&2047|o.get(u,d),d>=10&&(i===1488||i===93)&&a++,l=l<<1&2047|o.get(d,u),d>=10&&(l===1488||l===93)&&a++}return a*e.N3},t.getPenaltyN4=function(o){let s=0;const a=o.data.length;for(let l=0;l<a;l++)s+=o.data[l];return Math.abs(Math.ceil(s*100/a/5)-10)*e.N4};function n(r,o,s){switch(r){case t.Patterns.PATTERN000:return(o+s)%2===0;case t.Patterns.PATTERN001:return o%2===0;case t.Patterns.PATTERN010:return s%3===0;case t.Patterns.PATTERN011:return(o+s)%3===0;case t.Patterns.PATTERN100:return(Math.floor(o/2)+Math.floor(s/3))%2===0;case t.Patterns.PATTERN101:return o*s%2+o*s%3===0;case t.Patterns.PATTERN110:return(o*s%2+o*s%3)%2===0;case t.Patterns.PATTERN111:return(o*s%3+(o+s)%2)%2===0;default:throw new Error("bad maskPattern:"+r)}}t.applyMask=function(o,s){const a=s.size;for(let i=0;i<a;i++)for(let l=0;l<a;l++)s.isReserved(l,i)||s.xor(l,i,n(o,l,i))},t.getBestMask=function(o,s){const a=Object.keys(t.Patterns).length;let i=0,l=1/0;for(let u=0;u<a;u++){s(u),t.applyMask(u,o);const d=t.getPenaltyN1(o)+t.getPenaltyN2(o)+t.getPenaltyN3(o)+t.getPenaltyN4(o);t.applyMask(u,o),d<l&&(l=d,i=u)}return i}})(O5)),O5}var i3={},lQ;function Z0e(){if(lQ)return i3;lQ=1;const t=EO(),e=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],n=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return i3.getBlocksCount=function(o,s){switch(s){case t.L:return e[(o-1)*4+0];case t.M:return e[(o-1)*4+1];case t.Q:return e[(o-1)*4+2];case t.H:return e[(o-1)*4+3];default:return}},i3.getTotalCodewordsCount=function(o,s){switch(s){case t.L:return n[(o-1)*4+0];case t.M:return n[(o-1)*4+1];case t.Q:return n[(o-1)*4+2];case t.H:return n[(o-1)*4+3];default:return}},i3}var z5={},Nw={},cQ;function jgt(){if(cQ)return Nw;cQ=1;const t=new Uint8Array(512),e=new Uint8Array(256);return(function(){let r=1;for(let o=0;o<255;o++)t[o]=r,e[r]=o,r<<=1,r&256&&(r^=285);for(let o=255;o<512;o++)t[o]=t[o-255]})(),Nw.log=function(r){if(r<1)throw new Error("log("+r+")");return e[r]},Nw.exp=function(r){return t[r]},Nw.mul=function(r,o){return r===0||o===0?0:t[e[r]+e[o]]},Nw}var uQ;function Cgt(){return uQ||(uQ=1,(function(t){const e=jgt();t.mul=function(r,o){const s=new Uint8Array(r.length+o.length-1);for(let a=0;a<r.length;a++)for(let i=0;i<o.length;i++)s[a+i]^=e.mul(r[a],o[i]);return s},t.mod=function(r,o){let s=new Uint8Array(r);for(;s.length-o.length>=0;){const a=s[0];for(let l=0;l<o.length;l++)s[l]^=e.mul(o[l],a);let i=0;for(;i<s.length&&s[i]===0;)i++;s=s.slice(i)}return s},t.generateECPolynomial=function(r){let o=new Uint8Array([1]);for(let s=0;s<r;s++)o=t.mul(o,new Uint8Array([1,e.exp(s)]));return o}})(z5)),z5}var F5,fQ;function Sgt(){if(fQ)return F5;fQ=1;const t=Cgt();function e(n){this.genPoly=void 0,this.degree=n,this.degree&&this.initialize(this.degree)}return e.prototype.initialize=function(r){this.degree=r,this.genPoly=t.generateECPolynomial(this.degree)},e.prototype.encode=function(r){if(!this.genPoly)throw new Error("Encoder not initialized");const o=new Uint8Array(r.length+this.degree);o.set(r);const s=t.mod(o,this.genPoly),a=this.degree-s.length;if(a>0){const i=new Uint8Array(this.degree);return i.set(s,a),i}return s},F5=e,F5}var B5={},U5={},$5={},dQ;function Q0e(){return dQ||(dQ=1,$5.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}),$5}var Au={},pQ;function J0e(){if(pQ)return Au;pQ=1;const t="[0-9]+",e="[A-Z $%*+\\-./:]+";let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const r="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r
2337 ]))+`;Au.KANJI=new RegExp(n,"g"),Au.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Au.BYTE=new RegExp(r,"g"),Au.NUMERIC=new RegExp(t,"g"),Au.ALPHANUMERIC=new RegExp(e,"g");const o=new RegExp("^"+n+"$"),s=new RegExp("^"+t+"$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Au.testKanji=function(l){return o.test(l)},Au.testNumeric=function(l){return s.test(l)},Au.testAlphanumeric=function(l){return a.test(l)},Au}var hQ;function l1(){return hQ||(hQ=1,(function(t){const e=Q0e(),n=J0e();t.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},t.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},t.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},t.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},t.MIXED={bit:-1},t.getCharCountIndicator=function(s,a){if(!s.ccBits)throw new Error("Invalid mode: "+s);if(!e.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?s.ccBits[0]:a<27?s.ccBits[1]:s.ccBits[2]},t.getBestModeForData=function(s){return n.testNumeric(s)?t.NUMERIC:n.testAlphanumeric(s)?t.ALPHANUMERIC:n.testKanji(s)?t.KANJI:t.BYTE},t.toString=function(s){if(s&&s.id)return s.id;throw new Error("Invalid mode")},t.isValid=function(s){return s&&s.bit&&s.ccBits};function r(o){if(typeof o!="string")throw new Error("Param is not a string");switch(o.toLowerCase()){case"numeric":return t.NUMERIC;case"alphanumeric":return t.ALPHANUMERIC;case"kanji":return t.KANJI;case"byte":return t.BYTE;default:throw new Error("Unknown mode: "+o)}}t.from=function(s,a){if(t.isValid(s))return s;try{return r(s)}catch{return a}}})(U5)),U5}var mQ;function Egt(){return mQ||(mQ=1,(function(t){const e=i1(),n=Z0e(),r=EO(),o=l1(),s=Q0e(),a=7973,i=e.getBCHDigit(a);function l(m,g,w){for(let b=1;b<=40;b++)if(g<=t.getCapacity(b,w,m))return b}function u(m,g){return o.getCharCountIndicator(m,g)+4}function d(m,g){let w=0;return m.forEach(function(b){const j=u(b.mode,g);w+=j+b.getBitsLength()}),w}function f(m,g){for(let w=1;w<=40;w++)if(d(m,w)<=t.getCapacity(w,g,o.MIXED))return w}t.from=function(g,w){return s.isValid(g)?parseInt(g,10):w},t.getCapacity=function(g,w,b){if(!s.isValid(g))throw new Error("Invalid QR Code version");typeof b>"u"&&(b=o.BYTE);const j=e.getSymbolTotalCodewords(g),S=n.getTotalCodewordsCount(g,w),I=(j-S)*8;if(b===o.MIXED)return I;const N=I-u(b,g);switch(b){case o.NUMERIC:return Math.floor(N/10*3);case o.ALPHANUMERIC:return Math.floor(N/11*2);case o.KANJI:return Math.floor(N/13);case o.BYTE:default:return Math.floor(N/8)}},t.getBestVersionForData=function(g,w){let b;const j=r.from(w,r.M);if(Array.isArray(g)){if(g.length>1)return f(g,j);if(g.length===0)return 1;b=g[0]}else b=g;return l(b.mode,b.getLength(),j)},t.getEncodedBits=function(g){if(!s.isValid(g)||g<7)throw new Error("Invalid QR Code version");let w=g<<12;for(;e.getBCHDigit(w)-i>=0;)w^=a<<e.getBCHDigit(w)-i;return g<<12|w}})(B5)),B5}var V5={},gQ;function Ngt(){if(gQ)return V5;gQ=1;const t=i1(),e=1335,n=21522,r=t.getBCHDigit(e);return V5.getEncodedBits=function(s,a){const i=s.bit<<3|a;let l=i<<10;for(;t.getBCHDigit(l)-r>=0;)l^=e<<t.getBCHDigit(l)-r;return(i<<10|l)^n},V5}var H5={},W5,yQ;function Igt(){if(yQ)return W5;yQ=1;const t=l1();function e(n){this.mode=t.NUMERIC,this.data=n.toString()}return e.getBitsLength=function(r){return 10*Math.floor(r/3)+(r%3?r%3*3+1:0)},e.prototype.getLength=function(){return this.data.length},e.prototype.getBitsLength=function(){return e.getBitsLength(this.data.length)},e.prototype.write=function(r){let o,s,a;for(o=0;o+3<=this.data.length;o+=3)s=this.data.substr(o,3),a=parseInt(s,10),r.put(a,10);const i=this.data.length-o;i>0&&(s=this.data.substr(o),a=parseInt(s,10),r.put(a,i*3+1))},W5=e,W5}var Y5,vQ;function Agt(){if(vQ)return Y5;vQ=1;const t=l1(),e=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(r){this.mode=t.ALPHANUMERIC,this.data=r}return n.getBitsLength=function(o){return 11*Math.floor(o/2)+6*(o%2)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(o){let s;for(s=0;s+2<=this.data.length;s+=2){let a=e.indexOf(this.data[s])*45;a+=e.indexOf(this.data[s+1]),o.put(a,11)}this.data.length%2&&o.put(e.indexOf(this.data[s]),6)},Y5=n,Y5}var G5,wQ;function _gt(){if(wQ)return G5;wQ=1;const t=l1();function e(n){this.mode=t.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}return e.getBitsLength=function(r){return r*8},e.prototype.getLength=function(){return this.data.length},e.prototype.getBitsLength=function(){return e.getBitsLength(this.data.length)},e.prototype.write=function(n){for(let r=0,o=this.data.length;r<o;r++)n.put(this.data[r],8)},G5=e,G5}var q5,bQ;function Mgt(){if(bQ)return q5;bQ=1;const t=l1(),e=i1();function n(r){this.mode=t.KANJI,this.data=r}return n.getBitsLength=function(o){return o*13},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(r){let o;for(o=0;o<this.data.length;o++){let s=e.toSJIS(this.data[o]);if(s>=33088&&s<=40956)s-=33088;else if(s>=57408&&s<=60351)s-=49472;else throw new Error("Invalid SJIS character: "+this.data[o]+`
2338 Make sure your charset is UTF-8`);s=(s>>>8&255)*192+(s&255),r.put(s,13)}},q5=n,q5}var K5={exports:{}},xQ;function Rgt(){return xQ||(xQ=1,(function(t){var e={single_source_shortest_paths:function(n,r,o){var s={},a={};a[r]=0;var i=e.PriorityQueue.make();i.push(r,0);for(var l,u,d,f,m,g,w,b,j;!i.empty();){l=i.pop(),u=l.value,f=l.cost,m=n[u]||{};for(d in m)m.hasOwnProperty(d)&&(g=m[d],w=f+g,b=a[d],j=typeof a[d]>"u",(j||b>w)&&(a[d]=w,i.push(d,w),s[d]=u))}if(typeof o<"u"&&typeof a[o]>"u"){var S=["Could not find a path from ",r," to ",o,"."].join("");throw new Error(S)}return s},extract_shortest_path_from_predecessor_list:function(n,r){for(var o=[],s=r;s;)o.push(s),n[s],s=n[s];return o.reverse(),o},find_path:function(n,r,o){var s=e.single_source_shortest_paths(n,r,o);return e.extract_shortest_path_from_predecessor_list(s,o)},PriorityQueue:{make:function(n){var r=e.PriorityQueue,o={},s;n=n||{};for(s in r)r.hasOwnProperty(s)&&(o[s]=r[s]);return o.queue=[],o.sorter=n.sorter||r.default_sorter,o},default_sorter:function(n,r){return n.cost-r.cost},push:function(n,r){var o={value:n,cost:r};this.queue.push(o),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t.exports=e})(K5)),K5.exports}var kQ;function Tgt(){return kQ||(kQ=1,(function(t){const e=l1(),n=Igt(),r=Agt(),o=_gt(),s=Mgt(),a=J0e(),i=i1(),l=Rgt();function u(S){return unescape(encodeURIComponent(S)).length}function d(S,I,N){const M=[];let D;for(;(D=S.exec(N))!==null;)M.push({data:D[0],index:D.index,mode:I,length:D[0].length});return M}function f(S){const I=d(a.NUMERIC,e.NUMERIC,S),N=d(a.ALPHANUMERIC,e.ALPHANUMERIC,S);let M,D;return i.isKanjiModeEnabled()?(M=d(a.BYTE,e.BYTE,S),D=d(a.KANJI,e.KANJI,S)):(M=d(a.BYTE_KANJI,e.BYTE,S),D=[]),I.concat(N,M,D).sort(function(L,F){return L.index-F.index}).map(function(L){return{data:L.data,mode:L.mode,length:L.length}})}function m(S,I){switch(I){case e.NUMERIC:return n.getBitsLength(S);case e.ALPHANUMERIC:return r.getBitsLength(S);case e.KANJI:return s.getBitsLength(S);case e.BYTE:return o.getBitsLength(S)}}function g(S){return S.reduce(function(I,N){const M=I.length-1>=0?I[I.length-1]:null;return M&&M.mode===N.mode?(I[I.length-1].data+=N.data,I):(I.push(N),I)},[])}function w(S){const I=[];for(let N=0;N<S.length;N++){const M=S[N];switch(M.mode){case e.NUMERIC:I.push([M,{data:M.data,mode:e.ALPHANUMERIC,length:M.length},{data:M.data,mode:e.BYTE,length:M.length}]);break;case e.ALPHANUMERIC:I.push([M,{data:M.data,mode:e.BYTE,length:M.length}]);break;case e.KANJI:I.push([M,{data:M.data,mode:e.BYTE,length:u(M.data)}]);break;case e.BYTE:I.push([{data:M.data,mode:e.BYTE,length:u(M.data)}])}}return I}function b(S,I){const N={},M={start:{}};let D=["start"];for(let P=0;P<S.length;P++){const L=S[P],F=[];for(let T=0;T<L.length;T++){const R=L[T],z=""+P+T;F.push(z),N[z]={node:R,lastCount:0},M[z]={};for(let G=0;G<D.length;G++){const Z=D[G];N[Z]&&N[Z].node.mode===R.mode?(M[Z][z]=m(N[Z].lastCount+R.length,R.mode)-m(N[Z].lastCount,R.mode),N[Z].lastCount+=R.length):(N[Z]&&(N[Z].lastCount=R.length),M[Z][z]=m(R.length,R.mode)+4+e.getCharCountIndicator(R.mode,I))}}D=F}for(let P=0;P<D.length;P++)M[D[P]].end=0;return{map:M,table:N}}function j(S,I){let N;const M=e.getBestModeForData(S);if(N=e.from(I,M),N!==e.BYTE&&N.bit<M.bit)throw new Error('"'+S+'" cannot be encoded with mode '+e.toString(N)+`.
2339 Suggested mode is: `+e.toString(M));switch(N===e.KANJI&&!i.isKanjiModeEnabled()&&(N=e.BYTE),N){case e.NUMERIC:return new n(S);case e.ALPHANUMERIC:return new r(S);case e.KANJI:return new s(S);case e.BYTE:return new o(S)}}t.fromArray=function(I){return I.reduce(function(N,M){return typeof M=="string"?N.push(j(M,null)):M.data&&N.push(j(M.data,M.mode)),N},[])},t.fromString=function(I,N){const M=f(I,i.isKanjiModeEnabled()),D=w(M),P=b(D,N),L=l.find_path(P.map,"start","end"),F=[];for(let T=1;T<L.length-1;T++)F.push(P.table[L[T]].node);return t.fromArray(g(F))},t.rawSplit=function(I){return t.fromArray(f(I,i.isKanjiModeEnabled()))}})(H5)),H5}var jQ;function Dgt(){if(jQ)return M5;jQ=1;const t=i1(),e=EO(),n=vgt(),r=wgt(),o=bgt(),s=xgt(),a=kgt(),i=Z0e(),l=Sgt(),u=Egt(),d=Ngt(),f=l1(),m=Tgt();function g(P,L){const F=P.size,T=s.getPositions(L);for(let R=0;R<T.length;R++){const z=T[R][0],G=T[R][1];for(let Z=-1;Z<=7;Z++)if(!(z+Z<=-1||F<=z+Z))for(let W=-1;W<=7;W++)G+W<=-1||F<=G+W||(Z>=0&&Z<=6&&(W===0||W===6)||W>=0&&W<=6&&(Z===0||Z===6)||Z>=2&&Z<=4&&W>=2&&W<=4?P.set(z+Z,G+W,!0,!0):P.set(z+Z,G+W,!1,!0))}}function w(P){const L=P.size;for(let F=8;F<L-8;F++){const T=F%2===0;P.set(F,6,T,!0),P.set(6,F,T,!0)}}function b(P,L){const F=o.getPositions(L);for(let T=0;T<F.length;T++){const R=F[T][0],z=F[T][1];for(let G=-2;G<=2;G++)for(let Z=-2;Z<=2;Z++)G===-2||G===2||Z===-2||Z===2||G===0&&Z===0?P.set(R+G,z+Z,!0,!0):P.set(R+G,z+Z,!1,!0)}}function j(P,L){const F=P.size,T=u.getEncodedBits(L);let R,z,G;for(let Z=0;Z<18;Z++)R=Math.floor(Z/3),z=Z%3+F-8-3,G=(T>>Z&1)===1,P.set(R,z,G,!0),P.set(z,R,G,!0)}function S(P,L,F){const T=P.size,R=d.getEncodedBits(L,F);let z,G;for(z=0;z<15;z++)G=(R>>z&1)===1,z<6?P.set(z,8,G,!0):z<8?P.set(z+1,8,G,!0):P.set(T-15+z,8,G,!0),z<8?P.set(8,T-z-1,G,!0):z<9?P.set(8,15-z-1+1,G,!0):P.set(8,15-z-1,G,!0);P.set(T-8,8,1,!0)}function I(P,L){const F=P.size;let T=-1,R=F-1,z=7,G=0;for(let Z=F-1;Z>0;Z-=2)for(Z===6&&Z--;;){for(let W=0;W<2;W++)if(!P.isReserved(R,Z-W)){let U=!1;G<L.length&&(U=(L[G]>>>z&1)===1),P.set(R,Z-W,U),z--,z===-1&&(G++,z=7)}if(R+=T,R<0||F<=R){R-=T,T=-T;break}}}function N(P,L,F){const T=new n;F.forEach(function(W){T.put(W.mode.bit,4),T.put(W.getLength(),f.getCharCountIndicator(W.mode,P)),W.write(T)});const R=t.getSymbolTotalCodewords(P),z=i.getTotalCodewordsCount(P,L),G=(R-z)*8;for(T.getLengthInBits()+4<=G&&T.put(0,4);T.getLengthInBits()%8!==0;)T.putBit(0);const Z=(G-T.getLengthInBits())/8;for(let W=0;W<Z;W++)T.put(W%2?17:236,8);return M(T,P,L)}function M(P,L,F){const T=t.getSymbolTotalCodewords(L),R=i.getTotalCodewordsCount(L,F),z=T-R,G=i.getBlocksCount(L,F),Z=T%G,W=G-Z,U=Math.floor(T/G),ee=Math.floor(z/G),$=ee+1,H=U-ee,Y=new l(H);let q=0;const J=new Array(G),ne=new Array(G);let re=0;const de=new Uint8Array(P.buffer);for(let pe=0;pe<G;pe++){const he=pe<W?ee:$;J[pe]=de.slice(q,q+he),ne[pe]=Y.encode(J[pe]),q+=he,re=Math.max(re,he)}const Ee=new Uint8Array(T);let we=0,xe,ce;for(xe=0;xe<re;xe++)for(ce=0;ce<G;ce++)xe<J[ce].length&&(Ee[we++]=J[ce][xe]);for(xe=0;xe<H;xe++)for(ce=0;ce<G;ce++)Ee[we++]=ne[ce][xe];return Ee}function D(P,L,F,T){let R;if(Array.isArray(P))R=m.fromArray(P);else if(typeof P=="string"){let U=L;if(!U){const ee=m.rawSplit(P);U=u.getBestVersionForData(ee,F)}R=m.fromString(P,U||40)}else throw new Error("Invalid data");const z=u.getBestVersionForData(R,F);if(!z)throw new Error("The amount of data is too big to be stored in a QR Code");if(!L)L=z;else if(L<z)throw new Error(`
2340 The chosen QR Code version cannot contain this amount of data.
2341 Minimum version required to store current data is: `+z+`.
2342 `);const G=N(L,F,R),Z=t.getSymbolSize(L),W=new r(Z);return g(W,L),w(W),b(W,L),S(W,F,0),L>=7&&j(W,L),I(W,G),isNaN(T)&&(T=a.getBestMask(W,S.bind(null,W,F))),a.applyMask(T,W),S(W,F,T),{modules:W,version:L,errorCorrectionLevel:F,maskPattern:T,segments:R}}return M5.create=function(L,F){if(typeof L>"u"||L==="")throw new Error("No input text");let T=e.M,R,z;return typeof F<"u"&&(T=e.from(F.errorCorrectionLevel,e.M),R=u.from(F.version),z=a.from(F.maskPattern),F.toSJISFunc&&t.setToSJISFunction(F.toSJISFunc)),D(L,R,T,z)},M5}var Z5={},Q5={},CQ;function X0e(){return CQ||(CQ=1,(function(t){function e(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let r=n.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+n);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(s){return[s,s]}))),r.length===6&&r.push("F","F");const o=parseInt(r.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:o&255,hex:"#"+r.slice(0,6).join("")}}t.getOptions=function(r){r||(r={}),r.color||(r.color={});const o=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,s=r.width&&r.width>=21?r.width:void 0,a=r.scale||4;return{width:s,scale:s?4:a,margin:o,color:{dark:e(r.color.dark||"#000000ff"),light:e(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},t.getScale=function(r,o){return o.width&&o.width>=r+o.margin*2?o.width/(r+o.margin*2):o.scale},t.getImageWidth=function(r,o){const s=t.getScale(r,o);return Math.floor((r+o.margin*2)*s)},t.qrToImageData=function(r,o,s){const a=o.modules.size,i=o.modules.data,l=t.getScale(a,s),u=Math.floor((a+s.margin*2)*l),d=s.margin*l,f=[s.color.light,s.color.dark];for(let m=0;m<u;m++)for(let g=0;g<u;g++){let w=(m*u+g)*4,b=s.color.light;if(m>=d&&g>=d&&m<u-d&&g<u-d){const j=Math.floor((m-d)/l),S=Math.floor((g-d)/l);b=f[i[j*a+S]?1:0]}r[w++]=b.r,r[w++]=b.g,r[w++]=b.b,r[w]=b.a}}})(Q5)),Q5}var SQ;function Lgt(){return SQ||(SQ=1,(function(t){const e=X0e();function n(o,s,a){o.clearRect(0,0,s.width,s.height),s.style||(s.style={}),s.height=a,s.width=a,s.style.height=a+"px",s.style.width=a+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}t.render=function(s,a,i){let l=i,u=a;typeof l>"u"&&(!a||!a.getContext)&&(l=a,a=void 0),a||(u=r()),l=e.getOptions(l);const d=e.getImageWidth(s.modules.size,l),f=u.getContext("2d"),m=f.createImageData(d,d);return e.qrToImageData(m.data,s,l),n(f,u,d),f.putImageData(m,0,0),u},t.renderToDataURL=function(s,a,i){let l=i;typeof l>"u"&&(!a||!a.getContext)&&(l=a,a=void 0),l||(l={});const u=t.render(s,a,l),d=l.type||"image/png",f=l.rendererOpts||{};return u.toDataURL(d,f.quality)}})(Z5)),Z5}var J5={},EQ;function Pgt(){if(EQ)return J5;EQ=1;const t=X0e();function e(o,s){const a=o.a/255,i=s+'="'+o.hex+'"';return a<1?i+" "+s+'-opacity="'+a.toFixed(2).slice(1)+'"':i}function n(o,s,a){let i=o+s;return typeof a<"u"&&(i+=" "+a),i}function r(o,s,a){let i="",l=0,u=!1,d=0;for(let f=0;f<o.length;f++){const m=Math.floor(f%s),g=Math.floor(f/s);!m&&!u&&(u=!0),o[f]?(d++,f>0&&m>0&&o[f-1]||(i+=u?n("M",m+a,.5+g+a):n("m",l,0),l=0,u=!1),m+1<s&&o[f+1]||(i+=n("h",d),d=0)):l++}return i}return J5.render=function(s,a,i){const l=t.getOptions(a),u=s.modules.size,d=s.modules.data,f=u+l.margin*2,m=l.color.light.a?"<path "+e(l.color.light,"fill")+' d="M0 0h'+f+"v"+f+'H0z"/>':"",g="<path "+e(l.color.dark,"stroke")+' d="'+r(d,u,l.margin)+'"/>',w='viewBox="0 0 '+f+" "+f+'"',j='<svg xmlns="http://www.w3.org/2000/svg" '+(l.width?'width="'+l.width+'" height="'+l.width+'" ':"")+w+' shape-rendering="crispEdges">'+m+g+`</svg>
2343 `;return typeof i=="function"&&i(null,j),j},J5}var NQ;function Ogt(){if(NQ)return o0;NQ=1;const t=ygt(),e=Dgt(),n=Lgt(),r=Pgt();function o(s,a,i,l,u){const d=[].slice.call(arguments,1),f=d.length,m=typeof d[f-1]=="function";if(!m&&!t())throw new Error("Callback required as last argument");if(m){if(f<2)throw new Error("Too few arguments provided");f===2?(u=i,i=a,a=l=void 0):f===3&&(a.getContext&&typeof u>"u"?(u=l,l=void 0):(u=l,l=i,i=a,a=void 0))}else{if(f<1)throw new Error("Too few arguments provided");return f===1?(i=a,a=l=void 0):f===2&&!a.getContext&&(l=i,i=a,a=void 0),new Promise(function(g,w){try{const b=e.create(i,l);g(s(b,a,l))}catch(b){w(b)}})}try{const g=e.create(i,l);u(null,s(g,a,l))}catch(g){u(g)}}return o0.create=e.create,o0.toCanvas=o.bind(null,n.render),o0.toDataURL=o.bind(null,n.renderToDataURL),o0.toString=o.bind(null,function(s,a,i){return r.render(s,i)}),o0}var zgt=Ogt();const eye=tc(zgt);var nn;(function(t){t[t.QR_CODE=0]="QR_CODE",t[t.AZTEC=1]="AZTEC",t[t.CODABAR=2]="CODABAR",t[t.CODE_39=3]="CODE_39",t[t.CODE_93=4]="CODE_93",t[t.CODE_128=5]="CODE_128",t[t.DATA_MATRIX=6]="DATA_MATRIX",t[t.MAXICODE=7]="MAXICODE",t[t.ITF=8]="ITF",t[t.EAN_13=9]="EAN_13",t[t.EAN_8=10]="EAN_8",t[t.PDF_417=11]="PDF_417",t[t.RSS_14=12]="RSS_14",t[t.RSS_EXPANDED=13]="RSS_EXPANDED",t[t.UPC_A=14]="UPC_A",t[t.UPC_E=15]="UPC_E",t[t.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(nn||(nn={}));var IQ=new Map([[nn.QR_CODE,"QR_CODE"],[nn.AZTEC,"AZTEC"],[nn.CODABAR,"CODABAR"],[nn.CODE_39,"CODE_39"],[nn.CODE_93,"CODE_93"],[nn.CODE_128,"CODE_128"],[nn.DATA_MATRIX,"DATA_MATRIX"],[nn.MAXICODE,"MAXICODE"],[nn.ITF,"ITF"],[nn.EAN_13,"EAN_13"],[nn.EAN_8,"EAN_8"],[nn.PDF_417,"PDF_417"],[nn.RSS_14,"RSS_14"],[nn.RSS_EXPANDED,"RSS_EXPANDED"],[nn.UPC_A,"UPC_A"],[nn.UPC_E,"UPC_E"],[nn.UPC_EAN_EXTENSION,"UPC_EAN_EXTENSION"]]),AQ;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.URL=1]="URL"})(AQ||(AQ={}));function Fgt(t){return Object.values(nn).includes(t)}var eC;(function(t){t[t.SCAN_TYPE_CAMERA=0]="SCAN_TYPE_CAMERA",t[t.SCAN_TYPE_FILE=1]="SCAN_TYPE_FILE"})(eC||(eC={}));var Bgt=(function(){function t(){}return t.GITHUB_PROJECT_URL="https://github.com/mebjas/html5-qrcode",t.SCAN_DEFAULT_FPS=2,t.DEFAULT_DISABLE_FLIP=!1,t.DEFAULT_REMEMBER_LAST_CAMERA_USED=!0,t.DEFAULT_SUPPORTED_SCAN_TYPE=[eC.SCAN_TYPE_CAMERA,eC.SCAN_TYPE_FILE],t})(),tye=(function(){function t(e,n){this.format=e,this.formatName=n}return t.prototype.toString=function(){return this.formatName},t.create=function(e){if(!IQ.has(e))throw"".concat(e," not in html5QrcodeSupportedFormatsTextMap");return new t(e,IQ.get(e))},t})(),_Q=(function(){function t(){}return t.createFromText=function(e){var n={text:e};return{decodedText:e,result:n}},t.createFromQrcodeResult=function(e){return{decodedText:e.text,result:e}},t})(),DR;(function(t){t[t.UNKWOWN_ERROR=0]="UNKWOWN_ERROR",t[t.IMPLEMENTATION_ERROR=1]="IMPLEMENTATION_ERROR",t[t.NO_CODE_FOUND_ERROR=2]="NO_CODE_FOUND_ERROR"})(DR||(DR={}));var Ugt=(function(){function t(){}return t.createFrom=function(e){return{errorMessage:e,type:DR.UNKWOWN_ERROR}},t})(),$gt=(function(){function t(e){this.verbose=e}return t.prototype.log=function(e){this.verbose&&console.log(e)},t.prototype.warn=function(e){this.verbose&&console.warn(e)},t.prototype.logError=function(e,n){(this.verbose||n===!0)&&console.error(e)},t.prototype.logErrors=function(e){if(e.length===0)throw"Logger#logError called without arguments";this.verbose&&console.error(e)},t})();function Vf(t){return typeof t>"u"||t===null}var v0=(function(){function t(){}return t.codeParseError=function(e){return"QR code parse error, error = ".concat(e)},t.errorGettingUserMedia=function(e){return"Error getting userMedia, error = ".concat(e)},t.onlyDeviceSupportedError=function(){return"The device doesn't support navigator.mediaDevices , only supported cameraIdOrConfig in this case is deviceId parameter (string)."},t.cameraStreamingNotSupported=function(){return"Camera streaming not supported by the browser."},t.unableToQuerySupportedDevices=function(){return"Unable to query supported devices, unknown error."},t.insecureContextCameraQueryError=function(){return"Camera access is only supported in secure context like https or localhost."},t.scannerPaused=function(){return"Scanner paused"},t})(),nye=(function(){function t(){}return t.isMediaStreamConstraintsValid=function(e,n){if(typeof e!="object"){var r=typeof e;return n.logError("videoConstraints should be of type object, the "+"object passed is of type ".concat(r,"."),!0),!1}for(var o=["autoGainControl","channelCount","echoCancellation","latency","noiseSuppression","sampleRate","sampleSize","volume"],s=new Set(o),a=Object.keys(e),i=0,l=a;i<l.length;i++){var u=l[i];if(s.has(u))return n.logError("".concat(u," is not supported videoConstaints."),!0),!1}return!0},t})(),Uw={exports:{}},Vgt=Uw.exports,MQ;function Hgt(){return MQ||(MQ=1,(function(t,e){(function(n,r){r(e)})(Vgt,(function(n){function r(ue){return ue==null}var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ue,p){ue.__proto__=p}||function(ue,p){for(var v in p)p.hasOwnProperty(v)&&(ue[v]=p[v])};function s(ue,p){o(ue,p);function v(){this.constructor=ue}ue.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}function a(ue,p){var v=Object.setPrototypeOf;v?v(ue,p):ue.__proto__=p}function i(ue,p){p===void 0&&(p=ue.constructor);var v=Error.captureStackTrace;v&&v(ue,p)}var l=(function(ue){s(p,ue);function p(v){var x=this.constructor,C=ue.call(this,v)||this;return Object.defineProperty(C,"name",{value:x.name,enumerable:!1}),a(C,x.prototype),i(C),C}return p})(Error);class u extends l{constructor(p=void 0){super(p),this.message=p}getKind(){return this.constructor.kind}}u.kind="Exception";class d extends u{}d.kind="ArgumentException";class f extends u{}f.kind="IllegalArgumentException";class m{constructor(p){if(this.binarizer=p,p===null)throw new f("Binarizer must be non-null.")}getWidth(){return this.binarizer.getWidth()}getHeight(){return this.binarizer.getHeight()}getBlackRow(p,v){return this.binarizer.getBlackRow(p,v)}getBlackMatrix(){return(this.matrix===null||this.matrix===void 0)&&(this.matrix=this.binarizer.getBlackMatrix()),this.matrix}isCropSupported(){return this.binarizer.getLuminanceSource().isCropSupported()}crop(p,v,x,C){const E=this.binarizer.getLuminanceSource().crop(p,v,x,C);return new m(this.binarizer.createBinarizer(E))}isRotateSupported(){return this.binarizer.getLuminanceSource().isRotateSupported()}rotateCounterClockwise(){const p=this.binarizer.getLuminanceSource().rotateCounterClockwise();return new m(this.binarizer.createBinarizer(p))}rotateCounterClockwise45(){const p=this.binarizer.getLuminanceSource().rotateCounterClockwise45();return new m(this.binarizer.createBinarizer(p))}toString(){try{return this.getBlackMatrix().toString()}catch{return""}}}class g extends u{static getChecksumInstance(){return new g}}g.kind="ChecksumException";class w{constructor(p){this.source=p}getLuminanceSource(){return this.source}getWidth(){return this.source.getWidth()}getHeight(){return this.source.getHeight()}}class b{static arraycopy(p,v,x,C,E){for(;E--;)x[C++]=p[v++]}static currentTimeMillis(){return Date.now()}}class j extends u{}j.kind="IndexOutOfBoundsException";class S extends j{constructor(p=void 0,v=void 0){super(v),this.index=p,this.message=v}}S.kind="ArrayIndexOutOfBoundsException";class I{static fill(p,v){for(let x=0,C=p.length;x<C;x++)p[x]=v}static fillWithin(p,v,x,C){I.rangeCheck(p.length,v,x);for(let E=v;E<x;E++)p[E]=C}static rangeCheck(p,v,x){if(v>x)throw new f("fromIndex("+v+") > toIndex("+x+")");if(v<0)throw new S(v);if(x>p)throw new S(x)}static asList(...p){return p}static create(p,v,x){return Array.from({length:p}).map(E=>Array.from({length:v}).fill(x))}static createInt32Array(p,v,x){return Array.from({length:p}).map(E=>Int32Array.from({length:v}).fill(x))}static equals(p,v){if(!p||!v||!p.length||!v.length||p.length!==v.length)return!1;for(let x=0,C=p.length;x<C;x++)if(p[x]!==v[x])return!1;return!0}static hashCode(p){if(p===null)return 0;let v=1;for(const x of p)v=31*v+x;return v}static fillUint8Array(p,v){for(let x=0;x!==p.length;x++)p[x]=v}static copyOf(p,v){return p.slice(0,v)}static copyOfUint8Array(p,v){if(p.length<=v){const x=new Uint8Array(v);return x.set(p),x}return p.slice(0,v)}static copyOfRange(p,v,x){const C=x-v,E=new Int32Array(C);return b.arraycopy(p,v,E,0,C),E}static binarySearch(p,v,x){x===void 0&&(x=I.numberComparator);let C=0,E=p.length-1;for(;C<=E;){const A=E+C>>1,O=x(v,p[A]);if(O>0)C=A+1;else if(O<0)E=A-1;else return A}return-C-1}static numberComparator(p,v){return p-v}}class N{static numberOfTrailingZeros(p){let v;if(p===0)return 32;let x=31;return v=p<<16,v!==0&&(x-=16,p=v),v=p<<8,v!==0&&(x-=8,p=v),v=p<<4,v!==0&&(x-=4,p=v),v=p<<2,v!==0&&(x-=2,p=v),x-(p<<1>>>31)}static numberOfLeadingZeros(p){if(p===0)return 32;let v=1;return p>>>16||(v+=16,p<<=16),p>>>24||(v+=8,p<<=8),p>>>28||(v+=4,p<<=4),p>>>30||(v+=2,p<<=2),v-=p>>>31,v}static toHexString(p){return p.toString(16)}static toBinaryString(p){return String(parseInt(String(p),2))}static bitCount(p){return p=p-(p>>>1&1431655765),p=(p&858993459)+(p>>>2&858993459),p=p+(p>>>4)&252645135,p=p+(p>>>8),p=p+(p>>>16),p&63}static truncDivision(p,v){return Math.trunc(p/v)}static parseInt(p,v=void 0){return parseInt(p,v)}}N.MIN_VALUE_32_BITS=-2147483648,N.MAX_VALUE=Number.MAX_SAFE_INTEGER;class M{constructor(p,v){p===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=p,v==null?this.bits=M.makeArray(p):this.bits=v)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(p){if(p>this.bits.length*32){const v=M.makeArray(p);b.arraycopy(this.bits,0,v,0,this.bits.length),this.bits=v}}get(p){return(this.bits[Math.floor(p/32)]&1<<(p&31))!==0}set(p){this.bits[Math.floor(p/32)]|=1<<(p&31)}flip(p){this.bits[Math.floor(p/32)]^=1<<(p&31)}getNextSet(p){const v=this.size;if(p>=v)return v;const x=this.bits;let C=Math.floor(p/32),E=x[C];E&=~((1<<(p&31))-1);const A=x.length;for(;E===0;){if(++C===A)return v;E=x[C]}const O=C*32+N.numberOfTrailingZeros(E);return O>v?v:O}getNextUnset(p){const v=this.size;if(p>=v)return v;const x=this.bits;let C=Math.floor(p/32),E=~x[C];E&=~((1<<(p&31))-1);const A=x.length;for(;E===0;){if(++C===A)return v;E=~x[C]}const O=C*32+N.numberOfTrailingZeros(E);return O>v?v:O}setBulk(p,v){this.bits[Math.floor(p/32)]=v}setRange(p,v){if(v<p||p<0||v>this.size)throw new f;if(v===p)return;v--;const x=Math.floor(p/32),C=Math.floor(v/32),E=this.bits;for(let A=x;A<=C;A++){const O=A>x?0:p&31,X=(2<<(A<C?31:v&31))-(1<<O);E[A]|=X}}clear(){const p=this.bits.length,v=this.bits;for(let x=0;x<p;x++)v[x]=0}isRange(p,v,x){if(v<p||p<0||v>this.size)throw new f;if(v===p)return!0;v--;const C=Math.floor(p/32),E=Math.floor(v/32),A=this.bits;for(let O=C;O<=E;O++){const V=O>C?0:p&31,ae=(2<<(O<E?31:v&31))-(1<<V)&4294967295;if((A[O]&ae)!==(x?ae:0))return!1}return!0}appendBit(p){this.ensureCapacity(this.size+1),p&&(this.bits[Math.floor(this.size/32)]|=1<<(this.size&31)),this.size++}appendBits(p,v){if(v<0||v>32)throw new f("Num bits must be between 0 and 32");this.ensureCapacity(this.size+v);for(let x=v;x>0;x--)this.appendBit((p>>x-1&1)===1)}appendBitArray(p){const v=p.size;this.ensureCapacity(this.size+v);for(let x=0;x<v;x++)this.appendBit(p.get(x))}xor(p){if(this.size!==p.size)throw new f("Sizes don't match");const v=this.bits;for(let x=0,C=v.length;x<C;x++)v[x]^=p.bits[x]}toBytes(p,v,x,C){for(let E=0;E<C;E++){let A=0;for(let O=0;O<8;O++)this.get(p)&&(A|=1<<7-O),p++;v[x+E]=A}}getBitArray(){return this.bits}reverse(){const p=new Int32Array(this.bits.length),v=Math.floor((this.size-1)/32),x=v+1,C=this.bits;for(let E=0;E<x;E++){let A=C[E];A=A>>1&1431655765|(A&1431655765)<<1,A=A>>2&858993459|(A&858993459)<<2,A=A>>4&252645135|(A&252645135)<<4,A=A>>8&16711935|(A&16711935)<<8,A=A>>16&65535|(A&65535)<<16,p[v-E]=A}if(this.size!==x*32){const E=x*32-this.size;let A=p[0]>>>E;for(let O=1;O<x;O++){const V=p[O];A|=V<<32-E,p[O-1]=A,A=V>>>E}p[x-1]=A}this.bits=p}static makeArray(p){return new Int32Array(Math.floor((p+31)/32))}equals(p){if(!(p instanceof M))return!1;const v=p;return this.size===v.size&&I.equals(this.bits,v.bits)}hashCode(){return 31*this.size+I.hashCode(this.bits)}toString(){let p="";for(let v=0,x=this.size;v<x;v++)(v&7)===0&&(p+=" "),p+=this.get(v)?"X":".";return p}clone(){return new M(this.size,this.bits.slice())}}var D;(function(ue){ue[ue.OTHER=0]="OTHER",ue[ue.PURE_BARCODE=1]="PURE_BARCODE",ue[ue.POSSIBLE_FORMATS=2]="POSSIBLE_FORMATS",ue[ue.TRY_HARDER=3]="TRY_HARDER",ue[ue.CHARACTER_SET=4]="CHARACTER_SET",ue[ue.ALLOWED_LENGTHS=5]="ALLOWED_LENGTHS",ue[ue.ASSUME_CODE_39_CHECK_DIGIT=6]="ASSUME_CODE_39_CHECK_DIGIT",ue[ue.ASSUME_GS1=7]="ASSUME_GS1",ue[ue.RETURN_CODABAR_START_END=8]="RETURN_CODABAR_START_END",ue[ue.NEED_RESULT_POINT_CALLBACK=9]="NEED_RESULT_POINT_CALLBACK",ue[ue.ALLOWED_EAN_EXTENSIONS=10]="ALLOWED_EAN_EXTENSIONS"})(D||(D={}));var P=D;class L extends u{static getFormatInstance(){return new L}}L.kind="FormatException";var F;(function(ue){ue[ue.Cp437=0]="Cp437",ue[ue.ISO8859_1=1]="ISO8859_1",ue[ue.ISO8859_2=2]="ISO8859_2",ue[ue.ISO8859_3=3]="ISO8859_3",ue[ue.ISO8859_4=4]="ISO8859_4",ue[ue.ISO8859_5=5]="ISO8859_5",ue[ue.ISO8859_6=6]="ISO8859_6",ue[ue.ISO8859_7=7]="ISO8859_7",ue[ue.ISO8859_8=8]="ISO8859_8",ue[ue.ISO8859_9=9]="ISO8859_9",ue[ue.ISO8859_10=10]="ISO8859_10",ue[ue.ISO8859_11=11]="ISO8859_11",ue[ue.ISO8859_13=12]="ISO8859_13",ue[ue.ISO8859_14=13]="ISO8859_14",ue[ue.ISO8859_15=14]="ISO8859_15",ue[ue.ISO8859_16=15]="ISO8859_16",ue[ue.SJIS=16]="SJIS",ue[ue.Cp1250=17]="Cp1250",ue[ue.Cp1251=18]="Cp1251",ue[ue.Cp1252=19]="Cp1252",ue[ue.Cp1256=20]="Cp1256",ue[ue.UnicodeBigUnmarked=21]="UnicodeBigUnmarked",ue[ue.UTF8=22]="UTF8",ue[ue.ASCII=23]="ASCII",ue[ue.Big5=24]="Big5",ue[ue.GB18030=25]="GB18030",ue[ue.EUC_KR=26]="EUC_KR"})(F||(F={}));class T{constructor(p,v,x,...C){this.valueIdentifier=p,this.name=x,typeof v=="number"?this.values=Int32Array.from([v]):this.values=v,this.otherEncodingNames=C,T.VALUE_IDENTIFIER_TO_ECI.set(p,this),T.NAME_TO_ECI.set(x,this);const E=this.values;for(let A=0,O=E.length;A!==O;A++){const V=E[A];T.VALUES_TO_ECI.set(V,this)}for(const A of C)T.NAME_TO_ECI.set(A,this)}getValueIdentifier(){return this.valueIdentifier}getName(){return this.name}getValue(){return this.values[0]}static getCharacterSetECIByValue(p){if(p<0||p>=900)throw new L("incorect value");const v=T.VALUES_TO_ECI.get(p);if(v===void 0)throw new L("incorect value");return v}static getCharacterSetECIByName(p){const v=T.NAME_TO_ECI.get(p);if(v===void 0)throw new L("incorect value");return v}equals(p){if(!(p instanceof T))return!1;const v=p;return this.getName()===v.getName()}}T.VALUE_IDENTIFIER_TO_ECI=new Map,T.VALUES_TO_ECI=new Map,T.NAME_TO_ECI=new Map,T.Cp437=new T(F.Cp437,Int32Array.from([0,2]),"Cp437"),T.ISO8859_1=new T(F.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),T.ISO8859_2=new T(F.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),T.ISO8859_3=new T(F.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),T.ISO8859_4=new T(F.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),T.ISO8859_5=new T(F.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),T.ISO8859_6=new T(F.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),T.ISO8859_7=new T(F.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),T.ISO8859_8=new T(F.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),T.ISO8859_9=new T(F.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),T.ISO8859_10=new T(F.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),T.ISO8859_11=new T(F.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),T.ISO8859_13=new T(F.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),T.ISO8859_14=new T(F.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),T.ISO8859_15=new T(F.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),T.ISO8859_16=new T(F.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),T.SJIS=new T(F.SJIS,20,"SJIS","Shift_JIS"),T.Cp1250=new T(F.Cp1250,21,"Cp1250","windows-1250"),T.Cp1251=new T(F.Cp1251,22,"Cp1251","windows-1251"),T.Cp1252=new T(F.Cp1252,23,"Cp1252","windows-1252"),T.Cp1256=new T(F.Cp1256,24,"Cp1256","windows-1256"),T.UnicodeBigUnmarked=new T(F.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),T.UTF8=new T(F.UTF8,26,"UTF8","UTF-8"),T.ASCII=new T(F.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),T.Big5=new T(F.Big5,28,"Big5"),T.GB18030=new T(F.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),T.EUC_KR=new T(F.EUC_KR,30,"EUC_KR","EUC-KR");class R extends u{}R.kind="UnsupportedOperationException";class z{static decode(p,v){const x=this.encodingName(v);return this.customDecoder?this.customDecoder(p,x):typeof TextDecoder>"u"||this.shouldDecodeOnFallback(x)?this.decodeFallback(p,x):new TextDecoder(x).decode(p)}static shouldDecodeOnFallback(p){return!z.isBrowser()&&p==="ISO-8859-1"}static encode(p,v){const x=this.encodingName(v);return this.customEncoder?this.customEncoder(p,x):typeof TextEncoder>"u"?this.encodeFallback(p):new TextEncoder().encode(p)}static isBrowser(){return typeof window<"u"&&{}.toString.call(window)==="[object Window]"}static encodingName(p){return typeof p=="string"?p:p.getName()}static encodingCharacterSet(p){return p instanceof T?p:T.getCharacterSetECIByName(p)}static decodeFallback(p,v){const x=this.encodingCharacterSet(v);if(z.isDecodeFallbackSupported(x)){let C="";for(let E=0,A=p.length;E<A;E++){let O=p[E].toString(16);O.length<2&&(O="0"+O),C+="%"+O}return decodeURIComponent(C)}if(x.equals(T.UnicodeBigUnmarked))return String.fromCharCode.apply(null,new Uint16Array(p.buffer));throw new R(`Encoding ${this.encodingName(v)} not supported by fallback.`)}static isDecodeFallbackSupported(p){return p.equals(T.UTF8)||p.equals(T.ISO8859_1)||p.equals(T.ASCII)}static encodeFallback(p){const x=btoa(unescape(encodeURIComponent(p))).split(""),C=[];for(let E=0;E<x.length;E++)C.push(x[E].charCodeAt(0));return new Uint8Array(C)}}class G{static castAsNonUtf8Char(p,v=null){const x=v?v.getName():this.ISO88591;return z.decode(new Uint8Array([p]),x)}static guessEncoding(p,v){if(v!=null&&v.get(P.CHARACTER_SET)!==void 0)return v.get(P.CHARACTER_SET).toString();const x=p.length;let C=!0,E=!0,A=!0,O=0,V=0,X=0,ae=0,fe=0,be=0,Ae=0,He=0,Ge=0,tt=0,ct=0;const Dt=p.length>3&&p[0]===239&&p[1]===187&&p[2]===191;for(let zt=0;zt<x&&(C||E||A);zt++){const Nt=p[zt]&255;A&&(O>0?(Nt&128)===0?A=!1:O--:(Nt&128)!==0&&((Nt&64)===0?A=!1:(O++,(Nt&32)===0?V++:(O++,(Nt&16)===0?X++:(O++,(Nt&8)===0?ae++:A=!1))))),C&&(Nt>127&&Nt<160?C=!1:Nt>159&&(Nt<192||Nt===215||Nt===247)&&ct++),E&&(fe>0?Nt<64||Nt===127||Nt>252?E=!1:fe--:Nt===128||Nt===160||Nt>239?E=!1:Nt>160&&Nt<224?(be++,He=0,Ae++,Ae>Ge&&(Ge=Ae)):Nt>127?(fe++,Ae=0,He++,He>tt&&(tt=He)):(Ae=0,He=0))}return A&&O>0&&(A=!1),E&&fe>0&&(E=!1),A&&(Dt||V+X+ae>0)?G.UTF8:E&&(G.ASSUME_SHIFT_JIS||Ge>=3||tt>=3)?G.SHIFT_JIS:C&&E?Ge===2&&be===2||ct*10>=x?G.SHIFT_JIS:G.ISO88591:C?G.ISO88591:E?G.SHIFT_JIS:A?G.UTF8:G.PLATFORM_DEFAULT_ENCODING}static format(p,...v){let x=-1;function C(A,O,V,X,ae,fe){if(A==="%%")return"%";if(v[++x]===void 0)return;A=X?parseInt(X.substr(1)):void 0;let be=ae?parseInt(ae.substr(1)):void 0,Ae;switch(fe){case"s":Ae=v[x];break;case"c":Ae=v[x][0];break;case"f":Ae=parseFloat(v[x]).toFixed(A);break;case"p":Ae=parseFloat(v[x]).toPrecision(A);break;case"e":Ae=parseFloat(v[x]).toExponential(A);break;case"x":Ae=parseInt(v[x]).toString(be||16);break;case"d":Ae=parseFloat(parseInt(v[x],be||10).toPrecision(A)).toFixed(0);break}Ae=typeof Ae=="object"?JSON.stringify(Ae):(+Ae).toString(be);let He=parseInt(V),Ge=V&&V[0]+""=="0"?"0":" ";for(;Ae.length<He;)Ae=O!==void 0?Ae+Ge:Ge+Ae;return Ae}let E=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return p.replace(E,C)}static getBytes(p,v){return z.encode(p,v)}static getCharCode(p,v=0){return p.charCodeAt(v)}static getCharAt(p){return String.fromCharCode(p)}}G.SHIFT_JIS=T.SJIS.getName(),G.GB2312="GB2312",G.ISO88591=T.ISO8859_1.getName(),G.EUC_JP="EUC_JP",G.UTF8=T.UTF8.getName(),G.PLATFORM_DEFAULT_ENCODING=G.UTF8,G.ASSUME_SHIFT_JIS=!1;class Z{constructor(p=""){this.value=p}enableDecoding(p){return this.encoding=p,this}append(p){return typeof p=="string"?this.value+=p.toString():this.encoding?this.value+=G.castAsNonUtf8Char(p,this.encoding):this.value+=String.fromCharCode(p),this}appendChars(p,v,x){for(let C=v;v<v+x;C++)this.append(p[C]);return this}length(){return this.value.length}charAt(p){return this.value.charAt(p)}deleteCharAt(p){this.value=this.value.substr(0,p)+this.value.substring(p+1)}setCharAt(p,v){this.value=this.value.substr(0,p)+v+this.value.substr(p+1)}substring(p,v){return this.value.substring(p,v)}setLengthToZero(){this.value=""}toString(){return this.value}insert(p,v){this.value=this.value.substr(0,p)+v+this.value.substr(p+v.length)}}class W{constructor(p,v,x,C){if(this.width=p,this.height=v,this.rowSize=x,this.bits=C,v==null&&(v=p),this.height=v,p<1||v<1)throw new f("Both dimensions must be greater than 0");x==null&&(x=Math.floor((p+31)/32)),this.rowSize=x,C==null&&(this.bits=new Int32Array(this.rowSize*this.height))}static parseFromBooleanArray(p){const v=p.length,x=p[0].length,C=new W(x,v);for(let E=0;E<v;E++){const A=p[E];for(let O=0;O<x;O++)A[O]&&C.set(O,E)}return C}static parseFromString(p,v,x){if(p===null)throw new f("stringRepresentation cannot be null");const C=new Array(p.length);let E=0,A=0,O=-1,V=0,X=0;for(;X<p.length;)if(p.charAt(X)===`
2344 `||p.charAt(X)==="\r"){if(E>A){if(O===-1)O=E-A;else if(E-A!==O)throw new f("row lengths do not match");A=E,V++}X++}else if(p.substring(X,X+v.length)===v)X+=v.length,C[E]=!0,E++;else if(p.substring(X,X+x.length)===x)X+=x.length,C[E]=!1,E++;else throw new f("illegal character encountered: "+p.substring(X));if(E>A){if(O===-1)O=E-A;else if(E-A!==O)throw new f("row lengths do not match");V++}const ae=new W(O,V);for(let fe=0;fe<E;fe++)C[fe]&&ae.set(Math.floor(fe%O),Math.floor(fe/O));return ae}get(p,v){const x=v*this.rowSize+Math.floor(p/32);return(this.bits[x]>>>(p&31)&1)!==0}set(p,v){const x=v*this.rowSize+Math.floor(p/32);this.bits[x]|=1<<(p&31)&4294967295}unset(p,v){const x=v*this.rowSize+Math.floor(p/32);this.bits[x]&=~(1<<(p&31)&4294967295)}flip(p,v){const x=v*this.rowSize+Math.floor(p/32);this.bits[x]^=1<<(p&31)&4294967295}xor(p){if(this.width!==p.getWidth()||this.height!==p.getHeight()||this.rowSize!==p.getRowSize())throw new f("input matrix dimensions do not match");const v=new M(Math.floor(this.width/32)+1),x=this.rowSize,C=this.bits;for(let E=0,A=this.height;E<A;E++){const O=E*x,V=p.getRow(E,v).getBitArray();for(let X=0;X<x;X++)C[O+X]^=V[X]}}clear(){const p=this.bits,v=p.length;for(let x=0;x<v;x++)p[x]=0}setRegion(p,v,x,C){if(v<0||p<0)throw new f("Left and top must be nonnegative");if(C<1||x<1)throw new f("Height and width must be at least 1");const E=p+x,A=v+C;if(A>this.height||E>this.width)throw new f("The region must fit inside the matrix");const O=this.rowSize,V=this.bits;for(let X=v;X<A;X++){const ae=X*O;for(let fe=p;fe<E;fe++)V[ae+Math.floor(fe/32)]|=1<<(fe&31)&4294967295}}getRow(p,v){v==null||v.getSize()<this.width?v=new M(this.width):v.clear();const x=this.rowSize,C=this.bits,E=p*x;for(let A=0;A<x;A++)v.setBulk(A*32,C[E+A]);return v}setRow(p,v){b.arraycopy(v.getBitArray(),0,this.bits,p*this.rowSize,this.rowSize)}rotate180(){const p=this.getWidth(),v=this.getHeight();let x=new M(p),C=new M(p);for(let E=0,A=Math.floor((v+1)/2);E<A;E++)x=this.getRow(E,x),C=this.getRow(v-1-E,C),x.reverse(),C.reverse(),this.setRow(E,C),this.setRow(v-1-E,x)}getEnclosingRectangle(){const p=this.width,v=this.height,x=this.rowSize,C=this.bits;let E=p,A=v,O=-1,V=-1;for(let X=0;X<v;X++)for(let ae=0;ae<x;ae++){const fe=C[X*x+ae];if(fe!==0){if(X<A&&(A=X),X>V&&(V=X),ae*32<E){let be=0;for(;(fe<<31-be&4294967295)===0;)be++;ae*32+be<E&&(E=ae*32+be)}if(ae*32+31>O){let be=31;for(;!(fe>>>be);)be--;ae*32+be>O&&(O=ae*32+be)}}}return O<E||V<A?null:Int32Array.from([E,A,O-E+1,V-A+1])}getTopLeftOnBit(){const p=this.rowSize,v=this.bits;let x=0;for(;x<v.length&&v[x]===0;)x++;if(x===v.length)return null;const C=x/p;let E=x%p*32;const A=v[x];let O=0;for(;(A<<31-O&4294967295)===0;)O++;return E+=O,Int32Array.from([E,C])}getBottomRightOnBit(){const p=this.rowSize,v=this.bits;let x=v.length-1;for(;x>=0&&v[x]===0;)x--;if(x<0)return null;const C=Math.floor(x/p);let E=Math.floor(x%p)*32;const A=v[x];let O=31;for(;!(A>>>O);)O--;return E+=O,Int32Array.from([E,C])}getWidth(){return this.width}getHeight(){return this.height}getRowSize(){return this.rowSize}equals(p){if(!(p instanceof W))return!1;const v=p;return this.width===v.width&&this.height===v.height&&this.rowSize===v.rowSize&&I.equals(this.bits,v.bits)}hashCode(){let p=this.width;return p=31*p+this.width,p=31*p+this.height,p=31*p+this.rowSize,p=31*p+I.hashCode(this.bits),p}toString(p="X ",v=" ",x=`
2345 `){return this.buildToString(p,v,x)}buildToString(p,v,x){let C=new Z;for(let E=0,A=this.height;E<A;E++){for(let O=0,V=this.width;O<V;O++)C.append(this.get(O,E)?p:v);C.append(x)}return C.toString()}clone(){return new W(this.width,this.height,this.rowSize,this.bits.slice())}}class U extends u{static getNotFoundInstance(){return new U}}U.kind="NotFoundException";class ee extends w{constructor(p){super(p),this.luminances=ee.EMPTY,this.buckets=new Int32Array(ee.LUMINANCE_BUCKETS)}getBlackRow(p,v){const x=this.getLuminanceSource(),C=x.getWidth();v==null||v.getSize()<C?v=new M(C):v.clear(),this.initArrays(C);const E=x.getRow(p,this.luminances),A=this.buckets;for(let V=0;V<C;V++)A[(E[V]&255)>>ee.LUMINANCE_SHIFT]++;const O=ee.estimateBlackPoint(A);if(C<3)for(let V=0;V<C;V++)(E[V]&255)<O&&v.set(V);else{let V=E[0]&255,X=E[1]&255;for(let ae=1;ae<C-1;ae++){const fe=E[ae+1]&255;(X*4-V-fe)/2<O&&v.set(ae),V=X,X=fe}}return v}getBlackMatrix(){const p=this.getLuminanceSource(),v=p.getWidth(),x=p.getHeight(),C=new W(v,x);this.initArrays(v);const E=this.buckets;for(let V=1;V<5;V++){const X=Math.floor(x*V/5),ae=p.getRow(X,this.luminances),fe=Math.floor(v*4/5);for(let be=Math.floor(v/5);be<fe;be++){const Ae=ae[be]&255;E[Ae>>ee.LUMINANCE_SHIFT]++}}const A=ee.estimateBlackPoint(E),O=p.getMatrix();for(let V=0;V<x;V++){const X=V*v;for(let ae=0;ae<v;ae++)(O[X+ae]&255)<A&&C.set(ae,V)}return C}createBinarizer(p){return new ee(p)}initArrays(p){this.luminances.length<p&&(this.luminances=new Uint8ClampedArray(p));const v=this.buckets;for(let x=0;x<ee.LUMINANCE_BUCKETS;x++)v[x]=0}static estimateBlackPoint(p){const v=p.length;let x=0,C=0,E=0;for(let ae=0;ae<v;ae++)p[ae]>E&&(C=ae,E=p[ae]),p[ae]>x&&(x=p[ae]);let A=0,O=0;for(let ae=0;ae<v;ae++){const fe=ae-C,be=p[ae]*fe*fe;be>O&&(A=ae,O=be)}if(C>A){const ae=C;C=A,A=ae}if(A-C<=v/16)throw new U;let V=A-1,X=-1;for(let ae=A-1;ae>C;ae--){const fe=ae-C,be=fe*fe*(A-ae)*(x-p[ae]);be>X&&(V=ae,X=be)}return V<<ee.LUMINANCE_SHIFT}}ee.LUMINANCE_BITS=5,ee.LUMINANCE_SHIFT=8-ee.LUMINANCE_BITS,ee.LUMINANCE_BUCKETS=1<<ee.LUMINANCE_BITS,ee.EMPTY=Uint8ClampedArray.from([0]);class $ extends ee{constructor(p){super(p),this.matrix=null}getBlackMatrix(){if(this.matrix!==null)return this.matrix;const p=this.getLuminanceSource(),v=p.getWidth(),x=p.getHeight();if(v>=$.MINIMUM_DIMENSION&&x>=$.MINIMUM_DIMENSION){const C=p.getMatrix();let E=v>>$.BLOCK_SIZE_POWER;(v&$.BLOCK_SIZE_MASK)!==0&&E++;let A=x>>$.BLOCK_SIZE_POWER;(x&$.BLOCK_SIZE_MASK)!==0&&A++;const O=$.calculateBlackPoints(C,E,A,v,x),V=new W(v,x);$.calculateThresholdForBlock(C,E,A,v,x,O,V),this.matrix=V}else this.matrix=super.getBlackMatrix();return this.matrix}createBinarizer(p){return new $(p)}static calculateThresholdForBlock(p,v,x,C,E,A,O){const V=E-$.BLOCK_SIZE,X=C-$.BLOCK_SIZE;for(let ae=0;ae<x;ae++){let fe=ae<<$.BLOCK_SIZE_POWER;fe>V&&(fe=V);const be=$.cap(ae,2,x-3);for(let Ae=0;Ae<v;Ae++){let He=Ae<<$.BLOCK_SIZE_POWER;He>X&&(He=X);const Ge=$.cap(Ae,2,v-3);let tt=0;for(let Dt=-2;Dt<=2;Dt++){const zt=A[be+Dt];tt+=zt[Ge-2]+zt[Ge-1]+zt[Ge]+zt[Ge+1]+zt[Ge+2]}const ct=tt/25;$.thresholdBlock(p,He,fe,ct,C,O)}}}static cap(p,v,x){return p<v?v:p>x?x:p}static thresholdBlock(p,v,x,C,E,A){for(let O=0,V=x*E+v;O<$.BLOCK_SIZE;O++,V+=E)for(let X=0;X<$.BLOCK_SIZE;X++)(p[V+X]&255)<=C&&A.set(v+X,x+O)}static calculateBlackPoints(p,v,x,C,E){const A=E-$.BLOCK_SIZE,O=C-$.BLOCK_SIZE,V=new Array(x);for(let X=0;X<x;X++){V[X]=new Int32Array(v);let ae=X<<$.BLOCK_SIZE_POWER;ae>A&&(ae=A);for(let fe=0;fe<v;fe++){let be=fe<<$.BLOCK_SIZE_POWER;be>O&&(be=O);let Ae=0,He=255,Ge=0;for(let ct=0,Dt=ae*C+be;ct<$.BLOCK_SIZE;ct++,Dt+=C){for(let zt=0;zt<$.BLOCK_SIZE;zt++){const Nt=p[Dt+zt]&255;Ae+=Nt,Nt<He&&(He=Nt),Nt>Ge&&(Ge=Nt)}if(Ge-He>$.MIN_DYNAMIC_RANGE)for(ct++,Dt+=C;ct<$.BLOCK_SIZE;ct++,Dt+=C)for(let zt=0;zt<$.BLOCK_SIZE;zt++)Ae+=p[Dt+zt]&255}let tt=Ae>>$.BLOCK_SIZE_POWER*2;if(Ge-He<=$.MIN_DYNAMIC_RANGE&&(tt=He/2,X>0&&fe>0)){const ct=(V[X-1][fe]+2*V[X][fe-1]+V[X-1][fe-1])/4;He<ct&&(tt=ct)}V[X][fe]=tt}}return V}}$.BLOCK_SIZE_POWER=3,$.BLOCK_SIZE=1<<$.BLOCK_SIZE_POWER,$.BLOCK_SIZE_MASK=$.BLOCK_SIZE-1,$.MINIMUM_DIMENSION=$.BLOCK_SIZE*5,$.MIN_DYNAMIC_RANGE=24;class H{constructor(p,v){this.width=p,this.height=v}getWidth(){return this.width}getHeight(){return this.height}isCropSupported(){return!1}crop(p,v,x,C){throw new R("This luminance source does not support cropping.")}isRotateSupported(){return!1}rotateCounterClockwise(){throw new R("This luminance source does not support rotation by 90 degrees.")}rotateCounterClockwise45(){throw new R("This luminance source does not support rotation by 45 degrees.")}toString(){const p=new Uint8ClampedArray(this.width);let v=new Z;for(let x=0;x<this.height;x++){const C=this.getRow(x,p);for(let E=0;E<this.width;E++){const A=C[E]&255;let O;A<64?O="#":A<128?O="+":A<192?O=".":O=" ",v.append(O)}v.append(`
2346 `)}return v.toString()}}class Y extends H{constructor(p){super(p.getWidth(),p.getHeight()),this.delegate=p}getRow(p,v){const x=this.delegate.getRow(p,v),C=this.getWidth();for(let E=0;E<C;E++)x[E]=255-(x[E]&255);return x}getMatrix(){const p=this.delegate.getMatrix(),v=this.getWidth()*this.getHeight(),x=new Uint8ClampedArray(v);for(let C=0;C<v;C++)x[C]=255-(p[C]&255);return x}isCropSupported(){return this.delegate.isCropSupported()}crop(p,v,x,C){return new Y(this.delegate.crop(p,v,x,C))}isRotateSupported(){return this.delegate.isRotateSupported()}invert(){return this.delegate}rotateCounterClockwise(){return new Y(this.delegate.rotateCounterClockwise())}rotateCounterClockwise45(){return new Y(this.delegate.rotateCounterClockwise45())}}class q extends H{constructor(p){super(p.width,p.height),this.canvas=p,this.tempCanvasElement=null,this.buffer=q.makeBufferFromCanvasImageData(p)}static makeBufferFromCanvasImageData(p){const v=p.getContext("2d").getImageData(0,0,p.width,p.height);return q.toGrayscaleBuffer(v.data,p.width,p.height)}static toGrayscaleBuffer(p,v,x){const C=new Uint8ClampedArray(v*x);for(let E=0,A=0,O=p.length;E<O;E+=4,A++){let V;if(p[E+3]===0)V=255;else{const ae=p[E],fe=p[E+1],be=p[E+2];V=306*ae+601*fe+117*be+512>>10}C[A]=V}return C}getRow(p,v){if(p<0||p>=this.getHeight())throw new f("Requested row is outside the image: "+p);const x=this.getWidth(),C=p*x;return v===null?v=this.buffer.slice(C,C+x):(v.length<x&&(v=new Uint8ClampedArray(x)),v.set(this.buffer.slice(C,C+x))),v}getMatrix(){return this.buffer}isCropSupported(){return!0}crop(p,v,x,C){return super.crop(p,v,x,C),this}isRotateSupported(){return!0}rotateCounterClockwise(){return this.rotate(-90),this}rotateCounterClockwise45(){return this.rotate(-45),this}getTempCanvasElement(){if(this.tempCanvasElement===null){const p=this.canvas.ownerDocument.createElement("canvas");p.width=this.canvas.width,p.height=this.canvas.height,this.tempCanvasElement=p}return this.tempCanvasElement}rotate(p){const v=this.getTempCanvasElement(),x=v.getContext("2d"),C=p*q.DEGREE_TO_RADIANS,E=this.canvas.width,A=this.canvas.height,O=Math.ceil(Math.abs(Math.cos(C))*E+Math.abs(Math.sin(C))*A),V=Math.ceil(Math.abs(Math.sin(C))*E+Math.abs(Math.cos(C))*A);return v.width=O,v.height=V,x.translate(O/2,V/2),x.rotate(C),x.drawImage(this.canvas,E/-2,A/-2),this.buffer=q.makeBufferFromCanvasImageData(v),this}invert(){return new Y(this)}}q.DEGREE_TO_RADIANS=Math.PI/180;class J{constructor(p,v,x){this.deviceId=p,this.label=v,this.kind="videoinput",this.groupId=x||void 0}toJSON(){return{kind:this.kind,groupId:this.groupId,deviceId:this.deviceId,label:this.label}}}var ne=(globalThis||J4||self||window||void 0)&&(globalThis||J4||self||window||void 0).__awaiter||function(ue,p,v,x){function C(E){return E instanceof v?E:new v(function(A){A(E)})}return new(v||(v=Promise))(function(E,A){function O(ae){try{X(x.next(ae))}catch(fe){A(fe)}}function V(ae){try{X(x.throw(ae))}catch(fe){A(fe)}}function X(ae){ae.done?E(ae.value):C(ae.value).then(O,V)}X((x=x.apply(ue,p||[])).next())})};class re{constructor(p,v=500,x){this.reader=p,this.timeBetweenScansMillis=v,this._hints=x,this._stopContinuousDecode=!1,this._stopAsyncDecode=!1,this._timeBetweenDecodingAttempts=0}get hasNavigator(){return typeof navigator<"u"}get isMediaDevicesSuported(){return this.hasNavigator&&!!navigator.mediaDevices}get canEnumerateDevices(){return!!(this.isMediaDevicesSuported&&navigator.mediaDevices.enumerateDevices)}get timeBetweenDecodingAttempts(){return this._timeBetweenDecodingAttempts}set timeBetweenDecodingAttempts(p){this._timeBetweenDecodingAttempts=p<0?0:p}set hints(p){this._hints=p||null}get hints(){return this._hints}listVideoInputDevices(){return ne(this,void 0,void 0,function*(){if(!this.hasNavigator)throw new Error("Can't enumerate devices, navigator is not present.");if(!this.canEnumerateDevices)throw new Error("Can't enumerate devices, method not supported.");const p=yield navigator.mediaDevices.enumerateDevices(),v=[];for(const x of p){const C=x.kind==="video"?"videoinput":x.kind;if(C!=="videoinput")continue;const E=x.deviceId||x.id,A=x.label||`Video device ${v.length+1}`,O=x.groupId,V={deviceId:E,label:A,kind:C,groupId:O};v.push(V)}return v})}getVideoInputDevices(){return ne(this,void 0,void 0,function*(){return(yield this.listVideoInputDevices()).map(v=>new J(v.deviceId,v.label))})}findDeviceById(p){return ne(this,void 0,void 0,function*(){const v=yield this.listVideoInputDevices();return v?v.find(x=>x.deviceId===p):null})}decodeFromInputVideoDevice(p,v){return ne(this,void 0,void 0,function*(){return yield this.decodeOnceFromVideoDevice(p,v)})}decodeOnceFromVideoDevice(p,v){return ne(this,void 0,void 0,function*(){this.reset();let x;p?x={deviceId:{exact:p}}:x={facingMode:"environment"};const C={video:x};return yield this.decodeOnceFromConstraints(C,v)})}decodeOnceFromConstraints(p,v){return ne(this,void 0,void 0,function*(){const x=yield navigator.mediaDevices.getUserMedia(p);return yield this.decodeOnceFromStream(x,v)})}decodeOnceFromStream(p,v){return ne(this,void 0,void 0,function*(){this.reset();const x=yield this.attachStreamToVideo(p,v);return yield this.decodeOnce(x)})}decodeFromInputVideoDeviceContinuously(p,v,x){return ne(this,void 0,void 0,function*(){return yield this.decodeFromVideoDevice(p,v,x)})}decodeFromVideoDevice(p,v,x){return ne(this,void 0,void 0,function*(){let C;p?C={deviceId:{exact:p}}:C={facingMode:"environment"};const E={video:C};return yield this.decodeFromConstraints(E,v,x)})}decodeFromConstraints(p,v,x){return ne(this,void 0,void 0,function*(){const C=yield navigator.mediaDevices.getUserMedia(p);return yield this.decodeFromStream(C,v,x)})}decodeFromStream(p,v,x){return ne(this,void 0,void 0,function*(){this.reset();const C=yield this.attachStreamToVideo(p,v);return yield this.decodeContinuously(C,x)})}stopAsyncDecode(){this._stopAsyncDecode=!0}stopContinuousDecode(){this._stopContinuousDecode=!0}attachStreamToVideo(p,v){return ne(this,void 0,void 0,function*(){const x=this.prepareVideoElement(v);return this.addVideoSource(x,p),this.videoElement=x,this.stream=p,yield this.playVideoOnLoadAsync(x),x})}playVideoOnLoadAsync(p){return new Promise((v,x)=>this.playVideoOnLoad(p,()=>v()))}playVideoOnLoad(p,v){this.videoEndedListener=()=>this.stopStreams(),this.videoCanPlayListener=()=>this.tryPlayVideo(p),p.addEventListener("ended",this.videoEndedListener),p.addEventListener("canplay",this.videoCanPlayListener),p.addEventListener("playing",v),this.tryPlayVideo(p)}isVideoPlaying(p){return p.currentTime>0&&!p.paused&&!p.ended&&p.readyState>2}tryPlayVideo(p){return ne(this,void 0,void 0,function*(){if(this.isVideoPlaying(p)){console.warn("Trying to play video that is already playing.");return}try{yield p.play()}catch{console.warn("It was not possible to play the video.")}})}getMediaElement(p,v){const x=document.getElementById(p);if(!x)throw new d(`element with id '${p}' not found`);if(x.nodeName.toLowerCase()!==v.toLowerCase())throw new d(`element with id '${p}' must be an ${v} element`);return x}decodeFromImage(p,v){if(!p&&!v)throw new d("either imageElement with a src set or an url must be provided");return v&&!p?this.decodeFromImageUrl(v):this.decodeFromImageElement(p)}decodeFromVideo(p,v){if(!p&&!v)throw new d("Either an element with a src set or an URL must be provided");return v&&!p?this.decodeFromVideoUrl(v):this.decodeFromVideoElement(p)}decodeFromVideoContinuously(p,v,x){if(p===void 0&&v===void 0)throw new d("Either an element with a src set or an URL must be provided");return v&&!p?this.decodeFromVideoUrlContinuously(v,x):this.decodeFromVideoElementContinuously(p,x)}decodeFromImageElement(p){if(!p)throw new d("An image element must be provided.");this.reset();const v=this.prepareImageElement(p);this.imageElement=v;let x;return this.isImageLoaded(v)?x=this.decodeOnce(v,!1,!0):x=this._decodeOnLoadImage(v),x}decodeFromVideoElement(p){const v=this._decodeFromVideoElementSetup(p);return this._decodeOnLoadVideo(v)}decodeFromVideoElementContinuously(p,v){const x=this._decodeFromVideoElementSetup(p);return this._decodeOnLoadVideoContinuously(x,v)}_decodeFromVideoElementSetup(p){if(!p)throw new d("A video element must be provided.");this.reset();const v=this.prepareVideoElement(p);return this.videoElement=v,v}decodeFromImageUrl(p){if(!p)throw new d("An URL must be provided.");this.reset();const v=this.prepareImageElement();this.imageElement=v;const x=this._decodeOnLoadImage(v);return v.src=p,x}decodeFromVideoUrl(p){if(!p)throw new d("An URL must be provided.");this.reset();const v=this.prepareVideoElement(),x=this.decodeFromVideoElement(v);return v.src=p,x}decodeFromVideoUrlContinuously(p,v){if(!p)throw new d("An URL must be provided.");this.reset();const x=this.prepareVideoElement(),C=this.decodeFromVideoElementContinuously(x,v);return x.src=p,C}_decodeOnLoadImage(p){return new Promise((v,x)=>{this.imageLoadedListener=()=>this.decodeOnce(p,!1,!0).then(v,x),p.addEventListener("load",this.imageLoadedListener)})}_decodeOnLoadVideo(p){return ne(this,void 0,void 0,function*(){return yield this.playVideoOnLoadAsync(p),yield this.decodeOnce(p)})}_decodeOnLoadVideoContinuously(p,v){return ne(this,void 0,void 0,function*(){yield this.playVideoOnLoadAsync(p),this.decodeContinuously(p,v)})}isImageLoaded(p){return!(!p.complete||p.naturalWidth===0)}prepareImageElement(p){let v;return typeof p>"u"&&(v=document.createElement("img"),v.width=200,v.height=200),typeof p=="string"&&(v=this.getMediaElement(p,"img")),p instanceof HTMLImageElement&&(v=p),v}prepareVideoElement(p){let v;return!p&&typeof document<"u"&&(v=document.createElement("video"),v.width=200,v.height=200),typeof p=="string"&&(v=this.getMediaElement(p,"video")),p instanceof HTMLVideoElement&&(v=p),v.setAttribute("autoplay","true"),v.setAttribute("muted","true"),v.setAttribute("playsinline","true"),v}decodeOnce(p,v=!0,x=!0){this._stopAsyncDecode=!1;const C=(E,A)=>{if(this._stopAsyncDecode){A(new U("Video stream has ended before any code could be detected.")),this._stopAsyncDecode=void 0;return}try{const O=this.decode(p);E(O)}catch(O){const V=v&&O instanceof U,ae=(O instanceof g||O instanceof L)&&x;if(V||ae)return setTimeout(C,this._timeBetweenDecodingAttempts,E,A);A(O)}};return new Promise((E,A)=>C(E,A))}decodeContinuously(p,v){this._stopContinuousDecode=!1;const x=()=>{if(this._stopContinuousDecode){this._stopContinuousDecode=void 0;return}try{const C=this.decode(p);v(C,null),setTimeout(x,this.timeBetweenScansMillis)}catch(C){v(null,C);const E=C instanceof g||C instanceof L,A=C instanceof U;(E||A)&&setTimeout(x,this._timeBetweenDecodingAttempts)}};x()}decode(p){const v=this.createBinaryBitmap(p);return this.decodeBitmap(v)}_isHTMLVideoElement(p){return p.videoWidth!==0}drawFrameOnCanvas(p,v,x){v||(v={sx:0,sy:0,sWidth:p.videoWidth,sHeight:p.videoHeight,dx:0,dy:0,dWidth:p.videoWidth,dHeight:p.videoHeight}),x||(x=this.captureCanvasContext),x.drawImage(p,v.sx,v.sy,v.sWidth,v.sHeight,v.dx,v.dy,v.dWidth,v.dHeight)}drawImageOnCanvas(p,v,x=this.captureCanvasContext){v||(v={sx:0,sy:0,sWidth:p.naturalWidth,sHeight:p.naturalHeight,dx:0,dy:0,dWidth:p.naturalWidth,dHeight:p.naturalHeight}),x||(x=this.captureCanvasContext),x.drawImage(p,v.sx,v.sy,v.sWidth,v.sHeight,v.dx,v.dy,v.dWidth,v.dHeight)}createBinaryBitmap(p){this.getCaptureCanvasContext(p),this._isHTMLVideoElement(p)?this.drawFrameOnCanvas(p):this.drawImageOnCanvas(p);const v=this.getCaptureCanvas(p),x=new q(v),C=new $(x);return new m(C)}getCaptureCanvasContext(p){if(!this.captureCanvasContext){const x=this.getCaptureCanvas(p).getContext("2d");this.captureCanvasContext=x}return this.captureCanvasContext}getCaptureCanvas(p){if(!this.captureCanvas){const v=this.createCaptureCanvas(p);this.captureCanvas=v}return this.captureCanvas}decodeBitmap(p){return this.reader.decode(p,this._hints)}createCaptureCanvas(p){if(typeof document>"u")return this._destroyCaptureCanvas(),null;const v=document.createElement("canvas");let x,C;return typeof p<"u"&&(p instanceof HTMLVideoElement?(x=p.videoWidth,C=p.videoHeight):p instanceof HTMLImageElement&&(x=p.naturalWidth||p.width,C=p.naturalHeight||p.height)),v.style.width=x+"px",v.style.height=C+"px",v.width=x,v.height=C,v}stopStreams(){this.stream&&(this.stream.getVideoTracks().forEach(p=>p.stop()),this.stream=void 0),this._stopAsyncDecode===!1&&this.stopAsyncDecode(),this._stopContinuousDecode===!1&&this.stopContinuousDecode()}reset(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()}_destroyVideoElement(){this.videoElement&&(typeof this.videoEndedListener<"u"&&this.videoElement.removeEventListener("ended",this.videoEndedListener),typeof this.videoPlayingEventListener<"u"&&this.videoElement.removeEventListener("playing",this.videoPlayingEventListener),typeof this.videoCanPlayListener<"u"&&this.videoElement.removeEventListener("loadedmetadata",this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),this.videoElement=void 0)}_destroyImageElement(){this.imageElement&&(this.imageLoadedListener!==void 0&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute("src"),this.imageElement=void 0)}_destroyCaptureCanvas(){this.captureCanvasContext=void 0,this.captureCanvas=void 0}addVideoSource(p,v){try{p.srcObject=v}catch{p.src=URL.createObjectURL(v)}}cleanVideoSource(p){try{p.srcObject=null}catch{p.src=""}this.videoElement.removeAttribute("src")}}class de{constructor(p,v,x=v==null?0:8*v.length,C,E,A=b.currentTimeMillis()){this.text=p,this.rawBytes=v,this.numBits=x,this.resultPoints=C,this.format=E,this.timestamp=A,this.text=p,this.rawBytes=v,x==null?this.numBits=v==null?0:8*v.length:this.numBits=x,this.resultPoints=C,this.format=E,this.resultMetadata=null,A==null?this.timestamp=b.currentTimeMillis():this.timestamp=A}getText(){return this.text}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}getResultPoints(){return this.resultPoints}getBarcodeFormat(){return this.format}getResultMetadata(){return this.resultMetadata}putMetadata(p,v){this.resultMetadata===null&&(this.resultMetadata=new Map),this.resultMetadata.set(p,v)}putAllMetadata(p){p!==null&&(this.resultMetadata===null?this.resultMetadata=p:this.resultMetadata=new Map(p))}addResultPoints(p){const v=this.resultPoints;if(v===null)this.resultPoints=p;else if(p!==null&&p.length>0){const x=new Array(v.length+p.length);b.arraycopy(v,0,x,0,v.length),b.arraycopy(p,0,x,v.length,p.length),this.resultPoints=x}}getTimestamp(){return this.timestamp}toString(){return this.text}}var Ee;(function(ue){ue[ue.AZTEC=0]="AZTEC",ue[ue.CODABAR=1]="CODABAR",ue[ue.CODE_39=2]="CODE_39",ue[ue.CODE_93=3]="CODE_93",ue[ue.CODE_128=4]="CODE_128",ue[ue.DATA_MATRIX=5]="DATA_MATRIX",ue[ue.EAN_8=6]="EAN_8",ue[ue.EAN_13=7]="EAN_13",ue[ue.ITF=8]="ITF",ue[ue.MAXICODE=9]="MAXICODE",ue[ue.PDF_417=10]="PDF_417",ue[ue.QR_CODE=11]="QR_CODE",ue[ue.RSS_14=12]="RSS_14",ue[ue.RSS_EXPANDED=13]="RSS_EXPANDED",ue[ue.UPC_A=14]="UPC_A",ue[ue.UPC_E=15]="UPC_E",ue[ue.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(Ee||(Ee={}));var we=Ee,xe;(function(ue){ue[ue.OTHER=0]="OTHER",ue[ue.ORIENTATION=1]="ORIENTATION",ue[ue.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",ue[ue.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",ue[ue.ISSUE_NUMBER=4]="ISSUE_NUMBER",ue[ue.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",ue[ue.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",ue[ue.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",ue[ue.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",ue[ue.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",ue[ue.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"})(xe||(xe={}));var ce=xe;class pe{constructor(p,v,x,C,E=-1,A=-1){this.rawBytes=p,this.text=v,this.byteSegments=x,this.ecLevel=C,this.structuredAppendSequenceNumber=E,this.structuredAppendParity=A,this.numBits=p==null?0:8*p.length}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}setNumBits(p){this.numBits=p}getText(){return this.text}getByteSegments(){return this.byteSegments}getECLevel(){return this.ecLevel}getErrorsCorrected(){return this.errorsCorrected}setErrorsCorrected(p){this.errorsCorrected=p}getErasures(){return this.erasures}setErasures(p){this.erasures=p}getOther(){return this.other}setOther(p){this.other=p}hasStructuredAppend(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0}getStructuredAppendParity(){return this.structuredAppendParity}getStructuredAppendSequenceNumber(){return this.structuredAppendSequenceNumber}}class he{exp(p){return this.expTable[p]}log(p){if(p===0)throw new f;return this.logTable[p]}static addOrSubtract(p,v){return p^v}}class ke{constructor(p,v){if(v.length===0)throw new f;this.field=p;const x=v.length;if(x>1&&v[0]===0){let C=1;for(;C<x&&v[C]===0;)C++;C===x?this.coefficients=Int32Array.from([0]):(this.coefficients=new Int32Array(x-C),b.arraycopy(v,C,this.coefficients,0,this.coefficients.length))}else this.coefficients=v}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(p){return this.coefficients[this.coefficients.length-1-p]}evaluateAt(p){if(p===0)return this.getCoefficient(0);const v=this.coefficients;let x;if(p===1){x=0;for(let A=0,O=v.length;A!==O;A++){const V=v[A];x=he.addOrSubtract(x,V)}return x}x=v[0];const C=v.length,E=this.field;for(let A=1;A<C;A++)x=he.addOrSubtract(E.multiply(p,x),v[A]);return x}addOrSubtract(p){if(!this.field.equals(p.field))throw new f("GenericGFPolys do not have same GenericGF field");if(this.isZero())return p;if(p.isZero())return this;let v=this.coefficients,x=p.coefficients;if(v.length>x.length){const A=v;v=x,x=A}let C=new Int32Array(x.length);const E=x.length-v.length;b.arraycopy(x,0,C,0,E);for(let A=E;A<x.length;A++)C[A]=he.addOrSubtract(v[A-E],x[A]);return new ke(this.field,C)}multiply(p){if(!this.field.equals(p.field))throw new f("GenericGFPolys do not have same GenericGF field");if(this.isZero()||p.isZero())return this.field.getZero();const v=this.coefficients,x=v.length,C=p.coefficients,E=C.length,A=new Int32Array(x+E-1),O=this.field;for(let V=0;V<x;V++){const X=v[V];for(let ae=0;ae<E;ae++)A[V+ae]=he.addOrSubtract(A[V+ae],O.multiply(X,C[ae]))}return new ke(O,A)}multiplyScalar(p){if(p===0)return this.field.getZero();if(p===1)return this;const v=this.coefficients.length,x=this.field,C=new Int32Array(v),E=this.coefficients;for(let A=0;A<v;A++)C[A]=x.multiply(E[A],p);return new ke(x,C)}multiplyByMonomial(p,v){if(p<0)throw new f;if(v===0)return this.field.getZero();const x=this.coefficients,C=x.length,E=new Int32Array(C+p),A=this.field;for(let O=0;O<C;O++)E[O]=A.multiply(x[O],v);return new ke(A,E)}divide(p){if(!this.field.equals(p.field))throw new f("GenericGFPolys do not have same GenericGF field");if(p.isZero())throw new f("Divide by 0");const v=this.field;let x=v.getZero(),C=this;const E=p.getCoefficient(p.getDegree()),A=v.inverse(E);for(;C.getDegree()>=p.getDegree()&&!C.isZero();){const O=C.getDegree()-p.getDegree(),V=v.multiply(C.getCoefficient(C.getDegree()),A),X=p.multiplyByMonomial(O,V),ae=v.buildMonomial(O,V);x=x.addOrSubtract(ae),C=C.addOrSubtract(X)}return[x,C]}toString(){let p="";for(let v=this.getDegree();v>=0;v--){let x=this.getCoefficient(v);if(x!==0){if(x<0?(p+=" - ",x=-x):p.length>0&&(p+=" + "),v===0||x!==1){const C=this.field.log(x);C===0?p+="1":C===1?p+="a":(p+="a^",p+=C)}v!==0&&(v===1?p+="x":(p+="x^",p+=v))}}return p}}class le extends u{}le.kind="ArithmeticException";class ye extends he{constructor(p,v,x){super(),this.primitive=p,this.size=v,this.generatorBase=x;const C=new Int32Array(v);let E=1;for(let O=0;O<v;O++)C[O]=E,E*=2,E>=v&&(E^=p,E&=v-1);this.expTable=C;const A=new Int32Array(v);for(let O=0;O<v-1;O++)A[C[O]]=O;this.logTable=A,this.zero=new ke(this,Int32Array.from([0])),this.one=new ke(this,Int32Array.from([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(p,v){if(p<0)throw new f;if(v===0)return this.zero;const x=new Int32Array(p+1);return x[0]=v,new ke(this,x)}inverse(p){if(p===0)throw new le;return this.expTable[this.size-this.logTable[p]-1]}multiply(p,v){return p===0||v===0?0:this.expTable[(this.logTable[p]+this.logTable[v])%(this.size-1)]}getSize(){return this.size}getGeneratorBase(){return this.generatorBase}toString(){return"GF(0x"+N.toHexString(this.primitive)+","+this.size+")"}equals(p){return p===this}}ye.AZTEC_DATA_12=new ye(4201,4096,1),ye.AZTEC_DATA_10=new ye(1033,1024,1),ye.AZTEC_DATA_6=new ye(67,64,1),ye.AZTEC_PARAM=new ye(19,16,1),ye.QR_CODE_FIELD_256=new ye(285,256,0),ye.DATA_MATRIX_FIELD_256=new ye(301,256,1),ye.AZTEC_DATA_8=ye.DATA_MATRIX_FIELD_256,ye.MAXICODE_FIELD_64=ye.AZTEC_DATA_6;class ve extends u{}ve.kind="ReedSolomonException";class Ie extends u{}Ie.kind="IllegalStateException";class Ve{constructor(p){this.field=p}decode(p,v){const x=this.field,C=new ke(x,p),E=new Int32Array(v);let A=!0;for(let Ae=0;Ae<v;Ae++){const He=C.evaluateAt(x.exp(Ae+x.getGeneratorBase()));E[E.length-1-Ae]=He,He!==0&&(A=!1)}if(A)return;const O=new ke(x,E),V=this.runEuclideanAlgorithm(x.buildMonomial(v,1),O,v),X=V[0],ae=V[1],fe=this.findErrorLocations(X),be=this.findErrorMagnitudes(ae,fe);for(let Ae=0;Ae<fe.length;Ae++){const He=p.length-1-x.log(fe[Ae]);if(He<0)throw new ve("Bad error location");p[He]=ye.addOrSubtract(p[He],be[Ae])}}runEuclideanAlgorithm(p,v,x){if(p.getDegree()<v.getDegree()){const Ae=p;p=v,v=Ae}const C=this.field;let E=p,A=v,O=C.getZero(),V=C.getOne();for(;A.getDegree()>=(x/2|0);){let Ae=E,He=O;if(E=A,O=V,E.isZero())throw new ve("r_{i-1} was zero");A=Ae;let Ge=C.getZero();const tt=E.getCoefficient(E.getDegree()),ct=C.inverse(tt);for(;A.getDegree()>=E.getDegree()&&!A.isZero();){const Dt=A.getDegree()-E.getDegree(),zt=C.multiply(A.getCoefficient(A.getDegree()),ct);Ge=Ge.addOrSubtract(C.buildMonomial(Dt,zt)),A=A.addOrSubtract(E.multiplyByMonomial(Dt,zt))}if(V=Ge.multiply(O).addOrSubtract(He),A.getDegree()>=E.getDegree())throw new Ie("Division algorithm failed to reduce polynomial?")}const X=V.getCoefficient(0);if(X===0)throw new ve("sigmaTilde(0) was zero");const ae=C.inverse(X),fe=V.multiplyScalar(ae),be=A.multiplyScalar(ae);return[fe,be]}findErrorLocations(p){const v=p.getDegree();if(v===1)return Int32Array.from([p.getCoefficient(1)]);const x=new Int32Array(v);let C=0;const E=this.field;for(let A=1;A<E.getSize()&&C<v;A++)p.evaluateAt(A)===0&&(x[C]=E.inverse(A),C++);if(C!==v)throw new ve("Error locator degree does not match number of roots");return x}findErrorMagnitudes(p,v){const x=v.length,C=new Int32Array(x),E=this.field;for(let A=0;A<x;A++){const O=E.inverse(v[A]);let V=1;for(let X=0;X<x;X++)if(A!==X){const ae=E.multiply(v[X],O),fe=(ae&1)===0?ae|1:ae&-2;V=E.multiply(V,fe)}C[A]=E.multiply(p.evaluateAt(O),E.inverse(V)),E.getGeneratorBase()!==0&&(C[A]=E.multiply(C[A],O))}return C}}var Qe;(function(ue){ue[ue.UPPER=0]="UPPER",ue[ue.LOWER=1]="LOWER",ue[ue.MIXED=2]="MIXED",ue[ue.DIGIT=3]="DIGIT",ue[ue.PUNCT=4]="PUNCT",ue[ue.BINARY=5]="BINARY"})(Qe||(Qe={}));class nt{decode(p){this.ddata=p;let v=p.getBits(),x=this.extractBits(v),C=this.correctBits(x),E=nt.convertBoolArrayToByteArray(C),A=nt.getEncodedData(C),O=new pe(E,A,null,null);return O.setNumBits(C.length),O}static highLevelDecode(p){return this.getEncodedData(p)}static getEncodedData(p){let v=p.length,x=Qe.UPPER,C=Qe.UPPER,E="",A=0;for(;A<v;)if(C===Qe.BINARY){if(v-A<5)break;let O=nt.readCode(p,A,5);if(A+=5,O===0){if(v-A<11)break;O=nt.readCode(p,A,11)+31,A+=11}for(let V=0;V<O;V++){if(v-A<8){A=v;break}const X=nt.readCode(p,A,8);E+=G.castAsNonUtf8Char(X),A+=8}C=x}else{let O=C===Qe.DIGIT?4:5;if(v-A<O)break;let V=nt.readCode(p,A,O);A+=O;let X=nt.getCharacter(C,V);X.startsWith("CTRL_")?(x=C,C=nt.getTable(X.charAt(5)),X.charAt(6)==="L"&&(x=C)):(E+=X,C=x)}return E}static getTable(p){switch(p){case"L":return Qe.LOWER;case"P":return Qe.PUNCT;case"M":return Qe.MIXED;case"D":return Qe.DIGIT;case"B":return Qe.BINARY;case"U":default:return Qe.UPPER}}static getCharacter(p,v){switch(p){case Qe.UPPER:return nt.UPPER_TABLE[v];case Qe.LOWER:return nt.LOWER_TABLE[v];case Qe.MIXED:return nt.MIXED_TABLE[v];case Qe.PUNCT:return nt.PUNCT_TABLE[v];case Qe.DIGIT:return nt.DIGIT_TABLE[v];default:throw new Ie("Bad table")}}correctBits(p){let v,x;this.ddata.getNbLayers()<=2?(x=6,v=ye.AZTEC_DATA_6):this.ddata.getNbLayers()<=8?(x=8,v=ye.AZTEC_DATA_8):this.ddata.getNbLayers()<=22?(x=10,v=ye.AZTEC_DATA_10):(x=12,v=ye.AZTEC_DATA_12);let C=this.ddata.getNbDatablocks(),E=p.length/x;if(E<C)throw new L;let A=p.length%x,O=new Int32Array(E);for(let be=0;be<E;be++,A+=x)O[be]=nt.readCode(p,A,x);try{new Ve(v).decode(O,E-C)}catch(be){throw new L(be)}let V=(1<<x)-1,X=0;for(let be=0;be<C;be++){let Ae=O[be];if(Ae===0||Ae===V)throw new L;(Ae===1||Ae===V-1)&&X++}let ae=new Array(C*x-X),fe=0;for(let be=0;be<C;be++){let Ae=O[be];if(Ae===1||Ae===V-1)ae.fill(Ae>1,fe,fe+x-1),fe+=x-1;else for(let He=x-1;He>=0;--He)ae[fe++]=(Ae&1<<He)!==0}return ae}extractBits(p){let v=this.ddata.isCompact(),x=this.ddata.getNbLayers(),C=(v?11:14)+x*4,E=new Int32Array(C),A=new Array(this.totalBitsInLayer(x,v));if(v)for(let O=0;O<E.length;O++)E[O]=O;else{let O=C+1+2*N.truncDivision(N.truncDivision(C,2)-1,15),V=C/2,X=N.truncDivision(O,2);for(let ae=0;ae<V;ae++){let fe=ae+N.truncDivision(ae,15);E[V-ae-1]=X-fe-1,E[V+ae]=X+fe+1}}for(let O=0,V=0;O<x;O++){let X=(x-O)*4+(v?9:12),ae=O*2,fe=C-1-ae;for(let be=0;be<X;be++){let Ae=be*2;for(let He=0;He<2;He++)A[V+Ae+He]=p.get(E[ae+He],E[ae+be]),A[V+2*X+Ae+He]=p.get(E[ae+be],E[fe-He]),A[V+4*X+Ae+He]=p.get(E[fe-He],E[fe-be]),A[V+6*X+Ae+He]=p.get(E[fe-be],E[ae+He])}V+=X*8}return A}static readCode(p,v,x){let C=0;for(let E=v;E<v+x;E++)C<<=1,p[E]&&(C|=1);return C}static readByte(p,v){let x=p.length-v;return x>=8?nt.readCode(p,v,8):nt.readCode(p,v,x)<<8-x}static convertBoolArrayToByteArray(p){let v=new Uint8Array((p.length+7)/8);for(let x=0;x<v.length;x++)v[x]=nt.readByte(p,8*x);return v}totalBitsInLayer(p,v){return((v?88:112)+16*p)*p}}nt.UPPER_TABLE=["CTRL_PS"," ","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","CTRL_LL","CTRL_ML","CTRL_DL","CTRL_BS"],nt.LOWER_TABLE=["CTRL_PS"," ","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","CTRL_US","CTRL_ML","CTRL_DL","CTRL_BS"],nt.MIXED_TABLE=["CTRL_PS"," ","\\1","\\2","\\3","\\4","\\5","\\6","\\7","\b"," ",`
2347 `,"\\13","\f","\r","\\33","\\34","\\35","\\36","\\37","@","\\","^","_","`","|","~","\\177","CTRL_LL","CTRL_UL","CTRL_PL","CTRL_BS"],nt.PUNCT_TABLE=["","\r",`\r
2348 `,". ",", ",": ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}","CTRL_UL"],nt.DIGIT_TABLE=["CTRL_PS"," ","0","1","2","3","4","5","6","7","8","9",",",".","CTRL_UL","CTRL_US"];class Ue{constructor(){}static round(p){return p===NaN?0:p<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:p>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:p+(p<0?-.5:.5)|0}static distance(p,v,x,C){const E=p-x,A=v-C;return Math.sqrt(E*E+A*A)}static sum(p){let v=0;for(let x=0,C=p.length;x!==C;x++){const E=p[x];v+=E}return v}}class qe{static floatToIntBits(p){return p}}qe.MAX_VALUE=Number.MAX_SAFE_INTEGER;class _e{constructor(p,v){this.x=p,this.y=v}getX(){return this.x}getY(){return this.y}equals(p){if(p instanceof _e){const v=p;return this.x===v.x&&this.y===v.y}return!1}hashCode(){return 31*qe.floatToIntBits(this.x)+qe.floatToIntBits(this.y)}toString(){return"("+this.x+","+this.y+")"}static orderBestPatterns(p){const v=this.distance(p[0],p[1]),x=this.distance(p[1],p[2]),C=this.distance(p[0],p[2]);let E,A,O;if(x>=v&&x>=C?(A=p[0],E=p[1],O=p[2]):C>=x&&C>=v?(A=p[1],E=p[0],O=p[2]):(A=p[2],E=p[0],O=p[1]),this.crossProductZ(E,A,O)<0){const V=E;E=O,O=V}p[0]=E,p[1]=A,p[2]=O}static distance(p,v){return Ue.distance(p.x,p.y,v.x,v.y)}static crossProductZ(p,v,x){const C=v.x,E=v.y;return(x.x-C)*(p.y-E)-(x.y-E)*(p.x-C)}}class et{constructor(p,v){this.bits=p,this.points=v}getBits(){return this.bits}getPoints(){return this.points}}class pt extends et{constructor(p,v,x,C,E){super(p,v),this.compact=x,this.nbDatablocks=C,this.nbLayers=E}getNbLayers(){return this.nbLayers}getNbDatablocks(){return this.nbDatablocks}isCompact(){return this.compact}}class ht{constructor(p,v,x,C){this.image=p,this.height=p.getHeight(),this.width=p.getWidth(),v==null&&(v=ht.INIT_SIZE),x==null&&(x=p.getWidth()/2|0),C==null&&(C=p.getHeight()/2|0);const E=v/2|0;if(this.leftInit=x-E,this.rightInit=x+E,this.upInit=C-E,this.downInit=C+E,this.upInit<0||this.leftInit<0||this.downInit>=this.height||this.rightInit>=this.width)throw new U}detect(){let p=this.leftInit,v=this.rightInit,x=this.upInit,C=this.downInit,E=!1,A=!0,O=!1,V=!1,X=!1,ae=!1,fe=!1;const be=this.width,Ae=this.height;for(;A;){A=!1;let He=!0;for(;(He||!V)&&v<be;)He=this.containsBlackPoint(x,C,v,!1),He?(v++,A=!0,V=!0):V||v++;if(v>=be){E=!0;break}let Ge=!0;for(;(Ge||!X)&&C<Ae;)Ge=this.containsBlackPoint(p,v,C,!0),Ge?(C++,A=!0,X=!0):X||C++;if(C>=Ae){E=!0;break}let tt=!0;for(;(tt||!ae)&&p>=0;)tt=this.containsBlackPoint(x,C,p,!1),tt?(p--,A=!0,ae=!0):ae||p--;if(p<0){E=!0;break}let ct=!0;for(;(ct||!fe)&&x>=0;)ct=this.containsBlackPoint(p,v,x,!0),ct?(x--,A=!0,fe=!0):fe||x--;if(x<0){E=!0;break}A&&(O=!0)}if(!E&&O){const He=v-p;let Ge=null;for(let zt=1;Ge===null&&zt<He;zt++)Ge=this.getBlackPointOnSegment(p,C-zt,p+zt,C);if(Ge==null)throw new U;let tt=null;for(let zt=1;tt===null&&zt<He;zt++)tt=this.getBlackPointOnSegment(p,x+zt,p+zt,x);if(tt==null)throw new U;let ct=null;for(let zt=1;ct===null&&zt<He;zt++)ct=this.getBlackPointOnSegment(v,x+zt,v-zt,x);if(ct==null)throw new U;let Dt=null;for(let zt=1;Dt===null&&zt<He;zt++)Dt=this.getBlackPointOnSegment(v,C-zt,v-zt,C);if(Dt==null)throw new U;return this.centerEdges(Dt,Ge,ct,tt)}else throw new U}getBlackPointOnSegment(p,v,x,C){const E=Ue.round(Ue.distance(p,v,x,C)),A=(x-p)/E,O=(C-v)/E,V=this.image;for(let X=0;X<E;X++){const ae=Ue.round(p+X*A),fe=Ue.round(v+X*O);if(V.get(ae,fe))return new _e(ae,fe)}return null}centerEdges(p,v,x,C){const E=p.getX(),A=p.getY(),O=v.getX(),V=v.getY(),X=x.getX(),ae=x.getY(),fe=C.getX(),be=C.getY(),Ae=ht.CORR;return E<this.width/2?[new _e(fe-Ae,be+Ae),new _e(O+Ae,V+Ae),new _e(X-Ae,ae-Ae),new _e(E+Ae,A-Ae)]:[new _e(fe+Ae,be+Ae),new _e(O+Ae,V-Ae),new _e(X-Ae,ae+Ae),new _e(E-Ae,A-Ae)]}containsBlackPoint(p,v,x,C){const E=this.image;if(C){for(let A=p;A<=v;A++)if(E.get(A,x))return!0}else for(let A=p;A<=v;A++)if(E.get(x,A))return!0;return!1}}ht.INIT_SIZE=10,ht.CORR=1;class at{static checkAndNudgePoints(p,v){const x=p.getWidth(),C=p.getHeight();let E=!0;for(let A=0;A<v.length&&E;A+=2){const O=Math.floor(v[A]),V=Math.floor(v[A+1]);if(O<-1||O>x||V<-1||V>C)throw new U;E=!1,O===-1?(v[A]=0,E=!0):O===x&&(v[A]=x-1,E=!0),V===-1?(v[A+1]=0,E=!0):V===C&&(v[A+1]=C-1,E=!0)}E=!0;for(let A=v.length-2;A>=0&&E;A-=2){const O=Math.floor(v[A]),V=Math.floor(v[A+1]);if(O<-1||O>x||V<-1||V>C)throw new U;E=!1,O===-1?(v[A]=0,E=!0):O===x&&(v[A]=x-1,E=!0),V===-1?(v[A+1]=0,E=!0):V===C&&(v[A+1]=C-1,E=!0)}}}class De{constructor(p,v,x,C,E,A,O,V,X){this.a11=p,this.a21=v,this.a31=x,this.a12=C,this.a22=E,this.a32=A,this.a13=O,this.a23=V,this.a33=X}static quadrilateralToQuadrilateral(p,v,x,C,E,A,O,V,X,ae,fe,be,Ae,He,Ge,tt){const ct=De.quadrilateralToSquare(p,v,x,C,E,A,O,V);return De.squareToQuadrilateral(X,ae,fe,be,Ae,He,Ge,tt).times(ct)}transformPoints(p){const v=p.length,x=this.a11,C=this.a12,E=this.a13,A=this.a21,O=this.a22,V=this.a23,X=this.a31,ae=this.a32,fe=this.a33;for(let be=0;be<v;be+=2){const Ae=p[be],He=p[be+1],Ge=E*Ae+V*He+fe;p[be]=(x*Ae+A*He+X)/Ge,p[be+1]=(C*Ae+O*He+ae)/Ge}}transformPointsWithValues(p,v){const x=this.a11,C=this.a12,E=this.a13,A=this.a21,O=this.a22,V=this.a23,X=this.a31,ae=this.a32,fe=this.a33,be=p.length;for(let Ae=0;Ae<be;Ae++){const He=p[Ae],Ge=v[Ae],tt=E*He+V*Ge+fe;p[Ae]=(x*He+A*Ge+X)/tt,v[Ae]=(C*He+O*Ge+ae)/tt}}static squareToQuadrilateral(p,v,x,C,E,A,O,V){const X=p-x+E-O,ae=v-C+A-V;if(X===0&&ae===0)return new De(x-p,E-x,p,C-v,A-C,v,0,0,1);{const fe=x-E,be=O-E,Ae=C-A,He=V-A,Ge=fe*He-be*Ae,tt=(X*He-be*ae)/Ge,ct=(fe*ae-X*Ae)/Ge;return new De(x-p+tt*x,O-p+ct*O,p,C-v+tt*C,V-v+ct*V,v,tt,ct,1)}}static quadrilateralToSquare(p,v,x,C,E,A,O,V){return De.squareToQuadrilateral(p,v,x,C,E,A,O,V).buildAdjoint()}buildAdjoint(){return new De(this.a22*this.a33-this.a23*this.a32,this.a23*this.a31-this.a21*this.a33,this.a21*this.a32-this.a22*this.a31,this.a13*this.a32-this.a12*this.a33,this.a11*this.a33-this.a13*this.a31,this.a12*this.a31-this.a11*this.a32,this.a12*this.a23-this.a13*this.a22,this.a13*this.a21-this.a11*this.a23,this.a11*this.a22-this.a12*this.a21)}times(p){return new De(this.a11*p.a11+this.a21*p.a12+this.a31*p.a13,this.a11*p.a21+this.a21*p.a22+this.a31*p.a23,this.a11*p.a31+this.a21*p.a32+this.a31*p.a33,this.a12*p.a11+this.a22*p.a12+this.a32*p.a13,this.a12*p.a21+this.a22*p.a22+this.a32*p.a23,this.a12*p.a31+this.a22*p.a32+this.a32*p.a33,this.a13*p.a11+this.a23*p.a12+this.a33*p.a13,this.a13*p.a21+this.a23*p.a22+this.a33*p.a23,this.a13*p.a31+this.a23*p.a32+this.a33*p.a33)}}class se extends at{sampleGrid(p,v,x,C,E,A,O,V,X,ae,fe,be,Ae,He,Ge,tt,ct,Dt,zt){const Nt=De.quadrilateralToQuadrilateral(C,E,A,O,V,X,ae,fe,be,Ae,He,Ge,tt,ct,Dt,zt);return this.sampleGridWithTransform(p,v,x,Nt)}sampleGridWithTransform(p,v,x,C){if(v<=0||x<=0)throw new U;const E=new W(v,x),A=new Float32Array(2*v);for(let O=0;O<x;O++){const V=A.length,X=O+.5;for(let ae=0;ae<V;ae+=2)A[ae]=ae/2+.5,A[ae+1]=X;C.transformPoints(A),at.checkAndNudgePoints(p,A);try{for(let ae=0;ae<V;ae+=2)p.get(Math.floor(A[ae]),Math.floor(A[ae+1]))&&E.set(ae/2,O)}catch{throw new U}}return E}}class K{static setGridSampler(p){K.gridSampler=p}static getInstance(){return K.gridSampler}}K.gridSampler=new se;class Q{constructor(p,v){this.x=p,this.y=v}toResultPoint(){return new _e(this.getX(),this.getY())}getX(){return this.x}getY(){return this.y}}class ie{constructor(p){this.EXPECTED_CORNER_BITS=new Int32Array([3808,476,2107,1799]),this.image=p}detect(){return this.detectMirror(!1)}detectMirror(p){let v=this.getMatrixCenter(),x=this.getBullsEyeCorners(v);if(p){let A=x[0];x[0]=x[2],x[2]=A}this.extractParameters(x);let C=this.sampleGrid(this.image,x[this.shift%4],x[(this.shift+1)%4],x[(this.shift+2)%4],x[(this.shift+3)%4]),E=this.getMatrixCornerPoints(x);return new pt(C,E,this.compact,this.nbDataBlocks,this.nbLayers)}extractParameters(p){if(!this.isValidPoint(p[0])||!this.isValidPoint(p[1])||!this.isValidPoint(p[2])||!this.isValidPoint(p[3]))throw new U;let v=2*this.nbCenterLayers,x=new Int32Array([this.sampleLine(p[0],p[1],v),this.sampleLine(p[1],p[2],v),this.sampleLine(p[2],p[3],v),this.sampleLine(p[3],p[0],v)]);this.shift=this.getRotation(x,v);let C=0;for(let A=0;A<4;A++){let O=x[(this.shift+A)%4];this.compact?(C<<=7,C+=O>>1&127):(C<<=10,C+=(O>>2&992)+(O>>1&31))}let E=this.getCorrectedParameterData(C,this.compact);this.compact?(this.nbLayers=(E>>6)+1,this.nbDataBlocks=(E&63)+1):(this.nbLayers=(E>>11)+1,this.nbDataBlocks=(E&2047)+1)}getRotation(p,v){let x=0;p.forEach((C,E,A)=>{let O=(C>>v-2<<1)+(C&1);x=(x<<3)+O}),x=((x&1)<<11)+(x>>1);for(let C=0;C<4;C++)if(N.bitCount(x^this.EXPECTED_CORNER_BITS[C])<=2)return C;throw new U}getCorrectedParameterData(p,v){let x,C;v?(x=7,C=2):(x=10,C=4);let E=x-C,A=new Int32Array(x);for(let V=x-1;V>=0;--V)A[V]=p&15,p>>=4;try{new Ve(ye.AZTEC_PARAM).decode(A,E)}catch{throw new U}let O=0;for(let V=0;V<C;V++)O=(O<<4)+A[V];return O}getBullsEyeCorners(p){let v=p,x=p,C=p,E=p,A=!0;for(this.nbCenterLayers=1;this.nbCenterLayers<9;this.nbCenterLayers++){let fe=this.getFirstDifferent(v,A,1,-1),be=this.getFirstDifferent(x,A,1,1),Ae=this.getFirstDifferent(C,A,-1,1),He=this.getFirstDifferent(E,A,-1,-1);if(this.nbCenterLayers>2){let Ge=this.distancePoint(He,fe)*this.nbCenterLayers/(this.distancePoint(E,v)*(this.nbCenterLayers+2));if(Ge<.75||Ge>1.25||!this.isWhiteOrBlackRectangle(fe,be,Ae,He))break}v=fe,x=be,C=Ae,E=He,A=!A}if(this.nbCenterLayers!==5&&this.nbCenterLayers!==7)throw new U;this.compact=this.nbCenterLayers===5;let O=new _e(v.getX()+.5,v.getY()-.5),V=new _e(x.getX()+.5,x.getY()+.5),X=new _e(C.getX()-.5,C.getY()+.5),ae=new _e(E.getX()-.5,E.getY()-.5);return this.expandSquare([O,V,X,ae],2*this.nbCenterLayers-3,2*this.nbCenterLayers)}getMatrixCenter(){let p,v,x,C;try{let O=new ht(this.image).detect();p=O[0],v=O[1],x=O[2],C=O[3]}catch{let V=this.image.getWidth()/2,X=this.image.getHeight()/2;p=this.getFirstDifferent(new Q(V+7,X-7),!1,1,-1).toResultPoint(),v=this.getFirstDifferent(new Q(V+7,X+7),!1,1,1).toResultPoint(),x=this.getFirstDifferent(new Q(V-7,X+7),!1,-1,1).toResultPoint(),C=this.getFirstDifferent(new Q(V-7,X-7),!1,-1,-1).toResultPoint()}let E=Ue.round((p.getX()+C.getX()+v.getX()+x.getX())/4),A=Ue.round((p.getY()+C.getY()+v.getY()+x.getY())/4);try{let O=new ht(this.image,15,E,A).detect();p=O[0],v=O[1],x=O[2],C=O[3]}catch{p=this.getFirstDifferent(new Q(E+7,A-7),!1,1,-1).toResultPoint(),v=this.getFirstDifferent(new Q(E+7,A+7),!1,1,1).toResultPoint(),x=this.getFirstDifferent(new Q(E-7,A+7),!1,-1,1).toResultPoint(),C=this.getFirstDifferent(new Q(E-7,A-7),!1,-1,-1).toResultPoint()}return E=Ue.round((p.getX()+C.getX()+v.getX()+x.getX())/4),A=Ue.round((p.getY()+C.getY()+v.getY()+x.getY())/4),new Q(E,A)}getMatrixCornerPoints(p){return this.expandSquare(p,2*this.nbCenterLayers,this.getDimension())}sampleGrid(p,v,x,C,E){let A=K.getInstance(),O=this.getDimension(),V=O/2-this.nbCenterLayers,X=O/2+this.nbCenterLayers;return A.sampleGrid(p,O,O,V,V,X,V,X,X,V,X,v.getX(),v.getY(),x.getX(),x.getY(),C.getX(),C.getY(),E.getX(),E.getY())}sampleLine(p,v,x){let C=0,E=this.distanceResultPoint(p,v),A=E/x,O=p.getX(),V=p.getY(),X=A*(v.getX()-p.getX())/E,ae=A*(v.getY()-p.getY())/E;for(let fe=0;fe<x;fe++)this.image.get(Ue.round(O+fe*X),Ue.round(V+fe*ae))&&(C|=1<<x-fe-1);return C}isWhiteOrBlackRectangle(p,v,x,C){let E=3;p=new Q(p.getX()-E,p.getY()+E),v=new Q(v.getX()-E,v.getY()-E),x=new Q(x.getX()+E,x.getY()-E),C=new Q(C.getX()+E,C.getY()+E);let A=this.getColor(C,p);if(A===0)return!1;let O=this.getColor(p,v);return O!==A||(O=this.getColor(v,x),O!==A)?!1:(O=this.getColor(x,C),O===A)}getColor(p,v){let x=this.distancePoint(p,v),C=(v.getX()-p.getX())/x,E=(v.getY()-p.getY())/x,A=0,O=p.getX(),V=p.getY(),X=this.image.get(p.getX(),p.getY()),ae=Math.ceil(x);for(let be=0;be<ae;be++)O+=C,V+=E,this.image.get(Ue.round(O),Ue.round(V))!==X&&A++;let fe=A/x;return fe>.1&&fe<.9?0:fe<=.1===X?1:-1}getFirstDifferent(p,v,x,C){let E=p.getX()+x,A=p.getY()+C;for(;this.isValid(E,A)&&this.image.get(E,A)===v;)E+=x,A+=C;for(E-=x,A-=C;this.isValid(E,A)&&this.image.get(E,A)===v;)E+=x;for(E-=x;this.isValid(E,A)&&this.image.get(E,A)===v;)A+=C;return A-=C,new Q(E,A)}expandSquare(p,v,x){let C=x/(2*v),E=p[0].getX()-p[2].getX(),A=p[0].getY()-p[2].getY(),O=(p[0].getX()+p[2].getX())/2,V=(p[0].getY()+p[2].getY())/2,X=new _e(O+C*E,V+C*A),ae=new _e(O-C*E,V-C*A);E=p[1].getX()-p[3].getX(),A=p[1].getY()-p[3].getY(),O=(p[1].getX()+p[3].getX())/2,V=(p[1].getY()+p[3].getY())/2;let fe=new _e(O+C*E,V+C*A),be=new _e(O-C*E,V-C*A);return[X,fe,ae,be]}isValid(p,v){return p>=0&&p<this.image.getWidth()&&v>0&&v<this.image.getHeight()}isValidPoint(p){let v=Ue.round(p.getX()),x=Ue.round(p.getY());return this.isValid(v,x)}distancePoint(p,v){return Ue.distance(p.getX(),p.getY(),v.getX(),v.getY())}distanceResultPoint(p,v){return Ue.distance(p.getX(),p.getY(),v.getX(),v.getY())}getDimension(){return this.compact?4*this.nbLayers+11:this.nbLayers<=4?4*this.nbLayers+15:4*this.nbLayers+2*(N.truncDivision(this.nbLayers-4,8)+1)+15}}class Se{decode(p,v=null){let x=null,C=new ie(p.getBlackMatrix()),E=null,A=null;try{let ae=C.detectMirror(!1);E=ae.getPoints(),this.reportFoundResultPoints(v,E),A=new nt().decode(ae)}catch(ae){x=ae}if(A==null)try{let ae=C.detectMirror(!0);E=ae.getPoints(),this.reportFoundResultPoints(v,E),A=new nt().decode(ae)}catch(ae){throw x??ae}let O=new de(A.getText(),A.getRawBytes(),A.getNumBits(),E,we.AZTEC,b.currentTimeMillis()),V=A.getByteSegments();V!=null&&O.putMetadata(ce.BYTE_SEGMENTS,V);let X=A.getECLevel();return X!=null&&O.putMetadata(ce.ERROR_CORRECTION_LEVEL,X),O}reportFoundResultPoints(p,v){if(p!=null){let x=p.get(P.NEED_RESULT_POINT_CALLBACK);x!=null&&v.forEach((C,E,A)=>{x.foundPossibleResultPoint(C)})}}reset(){}}class Me extends re{constructor(p=500){super(new Se,p)}}class Ce{decode(p,v){try{return this.doDecode(p,v)}catch{if(v&&v.get(P.TRY_HARDER)===!0&&p.isRotateSupported()){const E=p.rotateCounterClockwise(),A=this.doDecode(E,v),O=A.getResultMetadata();let V=270;O!==null&&O.get(ce.ORIENTATION)===!0&&(V=V+O.get(ce.ORIENTATION)%360),A.putMetadata(ce.ORIENTATION,V);const X=A.getResultPoints();if(X!==null){const ae=E.getHeight();for(let fe=0;fe<X.length;fe++)X[fe]=new _e(ae-X[fe].getY()-1,X[fe].getX())}return A}else throw new U}}reset(){}doDecode(p,v){const x=p.getWidth(),C=p.getHeight();let E=new M(x);const A=v&&v.get(P.TRY_HARDER)===!0,O=Math.max(1,C>>(A?8:5));let V;A?V=C:V=15;const X=Math.trunc(C/2);for(let ae=0;ae<V;ae++){const fe=Math.trunc((ae+1)/2),be=(ae&1)===0,Ae=X+O*(be?fe:-fe);if(Ae<0||Ae>=C)break;try{E=p.getBlackRow(Ae,E)}catch{continue}for(let He=0;He<2;He++){if(He===1&&(E.reverse(),v&&v.get(P.NEED_RESULT_POINT_CALLBACK)===!0)){const Ge=new Map;v.forEach((tt,ct)=>Ge.set(ct,tt)),Ge.delete(P.NEED_RESULT_POINT_CALLBACK),v=Ge}try{const Ge=this.decodeRow(Ae,E,v);if(He===1){Ge.putMetadata(ce.ORIENTATION,180);const tt=Ge.getResultPoints();tt!==null&&(tt[0]=new _e(x-tt[0].getX()-1,tt[0].getY()),tt[1]=new _e(x-tt[1].getX()-1,tt[1].getY()))}return Ge}catch{}}}throw new U}static recordPattern(p,v,x){const C=x.length;for(let X=0;X<C;X++)x[X]=0;const E=p.getSize();if(v>=E)throw new U;let A=!p.get(v),O=0,V=v;for(;V<E;){if(p.get(V)!==A)x[O]++;else{if(++O===C)break;x[O]=1,A=!A}V++}if(!(O===C||O===C-1&&V===E))throw new U}static recordPatternInReverse(p,v,x){let C=x.length,E=p.get(v);for(;v>0&&C>=0;)p.get(--v)!==E&&(C--,E=!E);if(C>=0)throw new U;Ce.recordPattern(p,v+1,x)}static patternMatchVariance(p,v,x){const C=p.length;let E=0,A=0;for(let X=0;X<C;X++)E+=p[X],A+=v[X];if(E<A)return Number.POSITIVE_INFINITY;const O=E/A;x*=O;let V=0;for(let X=0;X<C;X++){const ae=p[X],fe=v[X]*O,be=ae>fe?ae-fe:fe-ae;if(be>x)return Number.POSITIVE_INFINITY;V+=be}return V/E}}class me extends Ce{static findStartPattern(p){const v=p.getSize(),x=p.getNextSet(0);let C=0,E=Int32Array.from([0,0,0,0,0,0]),A=x,O=!1;const V=6;for(let X=x;X<v;X++)if(p.get(X)!==O)E[C]++;else{if(C===V-1){let ae=me.MAX_AVG_VARIANCE,fe=-1;for(let be=me.CODE_START_A;be<=me.CODE_START_C;be++){const Ae=Ce.patternMatchVariance(E,me.CODE_PATTERNS[be],me.MAX_INDIVIDUAL_VARIANCE);Ae<ae&&(ae=Ae,fe=be)}if(fe>=0&&p.isRange(Math.max(0,A-(X-A)/2),A,!1))return Int32Array.from([A,X,fe]);A+=E[0]+E[1],E=E.slice(2,E.length-1),E[C-1]=0,E[C]=0,C--}else C++;E[C]=1,O=!O}throw new U}static decodeCode(p,v,x){Ce.recordPattern(p,x,v);let C=me.MAX_AVG_VARIANCE,E=-1;for(let A=0;A<me.CODE_PATTERNS.length;A++){const O=me.CODE_PATTERNS[A],V=this.patternMatchVariance(v,O,me.MAX_INDIVIDUAL_VARIANCE);V<C&&(C=V,E=A)}if(E>=0)return E;throw new U}decodeRow(p,v,x){const C=x&&x.get(P.ASSUME_GS1)===!0,E=me.findStartPattern(v),A=E[2];let O=0;const V=new Uint8Array(20);V[O++]=A;let X;switch(A){case me.CODE_START_A:X=me.CODE_CODE_A;break;case me.CODE_START_B:X=me.CODE_CODE_B;break;case me.CODE_START_C:X=me.CODE_CODE_C;break;default:throw new L}let ae=!1,fe=!1,be="",Ae=E[0],He=E[1];const Ge=Int32Array.from([0,0,0,0,0,0]);let tt=0,ct=0,Dt=A,zt=0,Nt=!0,Gn=!1,Mn=!1;for(;!ae;){const wc=fe;switch(fe=!1,tt=ct,ct=me.decodeCode(v,Ge,He),V[O++]=ct,ct!==me.CODE_STOP&&(Nt=!0),ct!==me.CODE_STOP&&(zt++,Dt+=zt*ct),Ae=He,He+=Ge.reduce((Pd,Tv)=>Pd+Tv,0),ct){case me.CODE_START_A:case me.CODE_START_B:case me.CODE_START_C:throw new L}switch(X){case me.CODE_CODE_A:if(ct<64)Mn===Gn?be+=String.fromCharCode(32+ct):be+=String.fromCharCode(32+ct+128),Mn=!1;else if(ct<96)Mn===Gn?be+=String.fromCharCode(ct-64):be+=String.fromCharCode(ct+64),Mn=!1;else switch(ct!==me.CODE_STOP&&(Nt=!1),ct){case me.CODE_FNC_1:C&&(be.length===0?be+="]C1":be+="");break;case me.CODE_FNC_2:case me.CODE_FNC_3:break;case me.CODE_FNC_4_A:!Gn&&Mn?(Gn=!0,Mn=!1):Gn&&Mn?(Gn=!1,Mn=!1):Mn=!0;break;case me.CODE_SHIFT:fe=!0,X=me.CODE_CODE_B;break;case me.CODE_CODE_B:X=me.CODE_CODE_B;break;case me.CODE_CODE_C:X=me.CODE_CODE_C;break;case me.CODE_STOP:ae=!0;break}break;case me.CODE_CODE_B:if(ct<96)Mn===Gn?be+=String.fromCharCode(32+ct):be+=String.fromCharCode(32+ct+128),Mn=!1;else switch(ct!==me.CODE_STOP&&(Nt=!1),ct){case me.CODE_FNC_1:C&&(be.length===0?be+="]C1":be+="");break;case me.CODE_FNC_2:case me.CODE_FNC_3:break;case me.CODE_FNC_4_B:!Gn&&Mn?(Gn=!0,Mn=!1):Gn&&Mn?(Gn=!1,Mn=!1):Mn=!0;break;case me.CODE_SHIFT:fe=!0,X=me.CODE_CODE_A;break;case me.CODE_CODE_A:X=me.CODE_CODE_A;break;case me.CODE_CODE_C:X=me.CODE_CODE_C;break;case me.CODE_STOP:ae=!0;break}break;case me.CODE_CODE_C:if(ct<100)ct<10&&(be+="0"),be+=ct;else switch(ct!==me.CODE_STOP&&(Nt=!1),ct){case me.CODE_FNC_1:C&&(be.length===0?be+="]C1":be+="");break;case me.CODE_CODE_A:X=me.CODE_CODE_A;break;case me.CODE_CODE_B:X=me.CODE_CODE_B;break;case me.CODE_STOP:ae=!0;break}break}wc&&(X=X===me.CODE_CODE_A?me.CODE_CODE_B:me.CODE_CODE_A)}const pa=He-Ae;if(He=v.getNextUnset(He),!v.isRange(He,Math.min(v.getSize(),He+(He-Ae)/2),!1))throw new U;if(Dt-=zt*tt,Dt%103!==tt)throw new g;const $i=be.length;if($i===0)throw new U;$i>0&&Nt&&(X===me.CODE_CODE_C?be=be.substring(0,$i-2):be=be.substring(0,$i-1));const Oo=(E[1]+E[0])/2,Sr=Ae+pa/2,yo=V.length,Ws=new Uint8Array(yo);for(let wc=0;wc<yo;wc++)Ws[wc]=V[wc];const If=[new _e(Oo,p),new _e(Sr,p)];return new de(be,Ws,0,If,we.CODE_128,new Date().getTime())}}me.CODE_PATTERNS=[Int32Array.from([2,1,2,2,2,2]),Int32Array.from([2,2,2,1,2,2]),Int32Array.from([2,2,2,2,2,1]),Int32Array.from([1,2,1,2,2,3]),Int32Array.from([1,2,1,3,2,2]),Int32Array.from([1,3,1,2,2,2]),Int32Array.from([1,2,2,2,1,3]),Int32Array.from([1,2,2,3,1,2]),Int32Array.from([1,3,2,2,1,2]),Int32Array.from([2,2,1,2,1,3]),Int32Array.from([2,2,1,3,1,2]),Int32Array.from([2,3,1,2,1,2]),Int32Array.from([1,1,2,2,3,2]),Int32Array.from([1,2,2,1,3,2]),Int32Array.from([1,2,2,2,3,1]),Int32Array.from([1,1,3,2,2,2]),Int32Array.from([1,2,3,1,2,2]),Int32Array.from([1,2,3,2,2,1]),Int32Array.from([2,2,3,2,1,1]),Int32Array.from([2,2,1,1,3,2]),Int32Array.from([2,2,1,2,3,1]),Int32Array.from([2,1,3,2,1,2]),Int32Array.from([2,2,3,1,1,2]),Int32Array.from([3,1,2,1,3,1]),Int32Array.from([3,1,1,2,2,2]),Int32Array.from([3,2,1,1,2,2]),Int32Array.from([3,2,1,2,2,1]),Int32Array.from([3,1,2,2,1,2]),Int32Array.from([3,2,2,1,1,2]),Int32Array.from([3,2,2,2,1,1]),Int32Array.from([2,1,2,1,2,3]),Int32Array.from([2,1,2,3,2,1]),Int32Array.from([2,3,2,1,2,1]),Int32Array.from([1,1,1,3,2,3]),Int32Array.from([1,3,1,1,2,3]),Int32Array.from([1,3,1,3,2,1]),Int32Array.from([1,1,2,3,1,3]),Int32Array.from([1,3,2,1,1,3]),Int32Array.from([1,3,2,3,1,1]),Int32Array.from([2,1,1,3,1,3]),Int32Array.from([2,3,1,1,1,3]),Int32Array.from([2,3,1,3,1,1]),Int32Array.from([1,1,2,1,3,3]),Int32Array.from([1,1,2,3,3,1]),Int32Array.from([1,3,2,1,3,1]),Int32Array.from([1,1,3,1,2,3]),Int32Array.from([1,1,3,3,2,1]),Int32Array.from([1,3,3,1,2,1]),Int32Array.from([3,1,3,1,2,1]),Int32Array.from([2,1,1,3,3,1]),Int32Array.from([2,3,1,1,3,1]),Int32Array.from([2,1,3,1,1,3]),Int32Array.from([2,1,3,3,1,1]),Int32Array.from([2,1,3,1,3,1]),Int32Array.from([3,1,1,1,2,3]),Int32Array.from([3,1,1,3,2,1]),Int32Array.from([3,3,1,1,2,1]),Int32Array.from([3,1,2,1,1,3]),Int32Array.from([3,1,2,3,1,1]),Int32Array.from([3,3,2,1,1,1]),Int32Array.from([3,1,4,1,1,1]),Int32Array.from([2,2,1,4,1,1]),Int32Array.from([4,3,1,1,1,1]),Int32Array.from([1,1,1,2,2,4]),Int32Array.from([1,1,1,4,2,2]),Int32Array.from([1,2,1,1,2,4]),Int32Array.from([1,2,1,4,2,1]),Int32Array.from([1,4,1,1,2,2]),Int32Array.from([1,4,1,2,2,1]),Int32Array.from([1,1,2,2,1,4]),Int32Array.from([1,1,2,4,1,2]),Int32Array.from([1,2,2,1,1,4]),Int32Array.from([1,2,2,4,1,1]),Int32Array.from([1,4,2,1,1,2]),Int32Array.from([1,4,2,2,1,1]),Int32Array.from([2,4,1,2,1,1]),Int32Array.from([2,2,1,1,1,4]),Int32Array.from([4,1,3,1,1,1]),Int32Array.from([2,4,1,1,1,2]),Int32Array.from([1,3,4,1,1,1]),Int32Array.from([1,1,1,2,4,2]),Int32Array.from([1,2,1,1,4,2]),Int32Array.from([1,2,1,2,4,1]),Int32Array.from([1,1,4,2,1,2]),Int32Array.from([1,2,4,1,1,2]),Int32Array.from([1,2,4,2,1,1]),Int32Array.from([4,1,1,2,1,2]),Int32Array.from([4,2,1,1,1,2]),Int32Array.from([4,2,1,2,1,1]),Int32Array.from([2,1,2,1,4,1]),Int32Array.from([2,1,4,1,2,1]),Int32Array.from([4,1,2,1,2,1]),Int32Array.from([1,1,1,1,4,3]),Int32Array.from([1,1,1,3,4,1]),Int32Array.from([1,3,1,1,4,1]),Int32Array.from([1,1,4,1,1,3]),Int32Array.from([1,1,4,3,1,1]),Int32Array.from([4,1,1,1,1,3]),Int32Array.from([4,1,1,3,1,1]),Int32Array.from([1,1,3,1,4,1]),Int32Array.from([1,1,4,1,3,1]),Int32Array.from([3,1,1,1,4,1]),Int32Array.from([4,1,1,1,3,1]),Int32Array.from([2,1,1,4,1,2]),Int32Array.from([2,1,1,2,1,4]),Int32Array.from([2,1,1,2,3,2]),Int32Array.from([2,3,3,1,1,1,2])],me.MAX_AVG_VARIANCE=.25,me.MAX_INDIVIDUAL_VARIANCE=.7,me.CODE_SHIFT=98,me.CODE_CODE_C=99,me.CODE_CODE_B=100,me.CODE_CODE_A=101,me.CODE_FNC_1=102,me.CODE_FNC_2=97,me.CODE_FNC_3=96,me.CODE_FNC_4_A=101,me.CODE_FNC_4_B=100,me.CODE_START_A=103,me.CODE_START_B=104,me.CODE_START_C=105,me.CODE_STOP=106;class We extends Ce{constructor(p=!1,v=!1){super(),this.usingCheckDigit=p,this.extendedMode=v,this.decodeRowResult="",this.counters=new Int32Array(9)}decodeRow(p,v,x){let C=this.counters;C.fill(0),this.decodeRowResult="";let E=We.findAsteriskPattern(v,C),A=v.getNextSet(E[1]),O=v.getSize(),V,X;do{We.recordPattern(v,A,C);let Ge=We.toNarrowWidePattern(C);if(Ge<0)throw new U;V=We.patternToChar(Ge),this.decodeRowResult+=V,X=A;for(let tt of C)A+=tt;A=v.getNextSet(A)}while(V!=="*");this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);let ae=0;for(let Ge of C)ae+=Ge;let fe=A-X-ae;if(A!==O&&fe*2<ae)throw new U;if(this.usingCheckDigit){let Ge=this.decodeRowResult.length-1,tt=0;for(let ct=0;ct<Ge;ct++)tt+=We.ALPHABET_STRING.indexOf(this.decodeRowResult.charAt(ct));if(this.decodeRowResult.charAt(Ge)!==We.ALPHABET_STRING.charAt(tt%43))throw new g;this.decodeRowResult=this.decodeRowResult.substring(0,Ge)}if(this.decodeRowResult.length===0)throw new U;let be;this.extendedMode?be=We.decodeExtended(this.decodeRowResult):be=this.decodeRowResult;let Ae=(E[1]+E[0])/2,He=X+ae/2;return new de(be,null,0,[new _e(Ae,p),new _e(He,p)],we.CODE_39,new Date().getTime())}static findAsteriskPattern(p,v){let x=p.getSize(),C=p.getNextSet(0),E=0,A=C,O=!1,V=v.length;for(let X=C;X<x;X++)if(p.get(X)!==O)v[E]++;else{if(E===V-1){if(this.toNarrowWidePattern(v)===We.ASTERISK_ENCODING&&p.isRange(Math.max(0,A-Math.floor((X-A)/2)),A,!1))return[A,X];A+=v[0]+v[1],v.copyWithin(0,2,2+E-1),v[E-1]=0,v[E]=0,E--}else E++;v[E]=1,O=!O}throw new U}static toNarrowWidePattern(p){let v=p.length,x=0,C;do{let E=2147483647;for(let V of p)V<E&&V>x&&(E=V);x=E,C=0;let A=0,O=0;for(let V=0;V<v;V++){let X=p[V];X>x&&(O|=1<<v-1-V,C++,A+=X)}if(C===3){for(let V=0;V<v&&C>0;V++){let X=p[V];if(X>x&&(C--,X*2>=A))return-1}return O}}while(C>3);return-1}static patternToChar(p){for(let v=0;v<We.CHARACTER_ENCODINGS.length;v++)if(We.CHARACTER_ENCODINGS[v]===p)return We.ALPHABET_STRING.charAt(v);if(p===We.ASTERISK_ENCODING)return"*";throw new U}static decodeExtended(p){let v=p.length,x="";for(let C=0;C<v;C++){let E=p.charAt(C);if(E==="+"||E==="$"||E==="%"||E==="/"){let A=p.charAt(C+1),O="\0";switch(E){case"+":if(A>="A"&&A<="Z")O=String.fromCharCode(A.charCodeAt(0)+32);else throw new L;break;case"$":if(A>="A"&&A<="Z")O=String.fromCharCode(A.charCodeAt(0)-64);else throw new L;break;case"%":if(A>="A"&&A<="E")O=String.fromCharCode(A.charCodeAt(0)-38);else if(A>="F"&&A<="J")O=String.fromCharCode(A.charCodeAt(0)-11);else if(A>="K"&&A<="O")O=String.fromCharCode(A.charCodeAt(0)+16);else if(A>="P"&&A<="T")O=String.fromCharCode(A.charCodeAt(0)+43);else if(A==="U")O="\0";else if(A==="V")O="@";else if(A==="W")O="`";else if(A==="X"||A==="Y"||A==="Z")O="";else throw new L;break;case"/":if(A>="A"&&A<="O")O=String.fromCharCode(A.charCodeAt(0)-32);else if(A==="Z")O=":";else throw new L;break}x+=O,C++}else x+=E}return x}}We.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%",We.CHARACTER_ENCODINGS=[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,168,162,138,42],We.ASTERISK_ENCODING=148;class Xe extends Ce{constructor(){super(...arguments),this.narrowLineWidth=-1}decodeRow(p,v,x){let C=this.decodeStart(v),E=this.decodeEnd(v),A=new Z;Xe.decodeMiddle(v,C[1],E[0],A);let O=A.toString(),V=null;x!=null&&(V=x.get(P.ALLOWED_LENGTHS)),V==null&&(V=Xe.DEFAULT_ALLOWED_LENGTHS);let X=O.length,ae=!1,fe=0;for(let He of V){if(X===He){ae=!0;break}He>fe&&(fe=He)}if(!ae&&X>fe&&(ae=!0),!ae)throw new L;const be=[new _e(C[1],p),new _e(E[0],p)];return new de(O,null,0,be,we.ITF,new Date().getTime())}static decodeMiddle(p,v,x,C){let E=new Int32Array(10),A=new Int32Array(5),O=new Int32Array(5);for(E.fill(0),A.fill(0),O.fill(0);v<x;){Ce.recordPattern(p,v,E);for(let X=0;X<5;X++){let ae=2*X;A[X]=E[ae],O[X]=E[ae+1]}let V=Xe.decodeDigit(A);C.append(V.toString()),V=this.decodeDigit(O),C.append(V.toString()),E.forEach(function(X){v+=X})}}decodeStart(p){let v=Xe.skipWhiteSpace(p),x=Xe.findGuardPattern(p,v,Xe.START_PATTERN);return this.narrowLineWidth=(x[1]-x[0])/4,this.validateQuietZone(p,x[0]),x}validateQuietZone(p,v){let x=this.narrowLineWidth*10;x=x<v?x:v;for(let C=v-1;x>0&&C>=0&&!p.get(C);C--)x--;if(x!==0)throw new U}static skipWhiteSpace(p){const v=p.getSize(),x=p.getNextSet(0);if(x===v)throw new U;return x}decodeEnd(p){p.reverse();try{let v=Xe.skipWhiteSpace(p),x;try{x=Xe.findGuardPattern(p,v,Xe.END_PATTERN_REVERSED[0])}catch(E){E instanceof U&&(x=Xe.findGuardPattern(p,v,Xe.END_PATTERN_REVERSED[1]))}this.validateQuietZone(p,x[0]);let C=x[0];return x[0]=p.getSize()-x[1],x[1]=p.getSize()-C,x}finally{p.reverse()}}static findGuardPattern(p,v,x){let C=x.length,E=new Int32Array(C),A=p.getSize(),O=!1,V=0,X=v;E.fill(0);for(let ae=v;ae<A;ae++)if(p.get(ae)!==O)E[V]++;else{if(V===C-1){if(Ce.patternMatchVariance(E,x,Xe.MAX_INDIVIDUAL_VARIANCE)<Xe.MAX_AVG_VARIANCE)return[X,ae];X+=E[0]+E[1],b.arraycopy(E,2,E,0,V-1),E[V-1]=0,E[V]=0,V--}else V++;E[V]=1,O=!O}throw new U}static decodeDigit(p){let v=Xe.MAX_AVG_VARIANCE,x=-1,C=Xe.PATTERNS.length;for(let E=0;E<C;E++){let A=Xe.PATTERNS[E],O=Ce.patternMatchVariance(p,A,Xe.MAX_INDIVIDUAL_VARIANCE);O<v?(v=O,x=E):O===v&&(x=-1)}if(x>=0)return x%10;throw new U}}Xe.PATTERNS=[Int32Array.from([1,1,2,2,1]),Int32Array.from([2,1,1,1,2]),Int32Array.from([1,2,1,1,2]),Int32Array.from([2,2,1,1,1]),Int32Array.from([1,1,2,1,2]),Int32Array.from([2,1,2,1,1]),Int32Array.from([1,2,2,1,1]),Int32Array.from([1,1,1,2,2]),Int32Array.from([2,1,1,2,1]),Int32Array.from([1,2,1,2,1]),Int32Array.from([1,1,3,3,1]),Int32Array.from([3,1,1,1,3]),Int32Array.from([1,3,1,1,3]),Int32Array.from([3,3,1,1,1]),Int32Array.from([1,1,3,1,3]),Int32Array.from([3,1,3,1,1]),Int32Array.from([1,3,3,1,1]),Int32Array.from([1,1,1,3,3]),Int32Array.from([3,1,1,3,1]),Int32Array.from([1,3,1,3,1])],Xe.MAX_AVG_VARIANCE=.38,Xe.MAX_INDIVIDUAL_VARIANCE=.5,Xe.DEFAULT_ALLOWED_LENGTHS=[6,8,10,12,14],Xe.START_PATTERN=Int32Array.from([1,1,1,1]),Xe.END_PATTERN_REVERSED=[Int32Array.from([1,1,2]),Int32Array.from([1,1,3])];class Re extends Ce{constructor(){super(...arguments),this.decodeRowStringBuffer=""}static findStartGuardPattern(p){let v=!1,x,C=0,E=Int32Array.from([0,0,0]);for(;!v;){E=Int32Array.from([0,0,0]),x=Re.findGuardPattern(p,C,!1,this.START_END_PATTERN,E);let A=x[0];C=x[1];let O=A-(C-A);O>=0&&(v=p.isRange(O,A,!1))}return x}static checkChecksum(p){return Re.checkStandardUPCEANChecksum(p)}static checkStandardUPCEANChecksum(p){let v=p.length;if(v===0)return!1;let x=parseInt(p.charAt(v-1),10);return Re.getStandardUPCEANChecksum(p.substring(0,v-1))===x}static getStandardUPCEANChecksum(p){let v=p.length,x=0;for(let C=v-1;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}x*=3;for(let C=v-2;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}return(1e3-x)%10}static decodeEnd(p,v){return Re.findGuardPattern(p,v,!1,Re.START_END_PATTERN,new Int32Array(Re.START_END_PATTERN.length).fill(0))}static findGuardPatternWithoutCounters(p,v,x,C){return this.findGuardPattern(p,v,x,C,new Int32Array(C.length))}static findGuardPattern(p,v,x,C,E){let A=p.getSize();v=x?p.getNextUnset(v):p.getNextSet(v);let O=0,V=v,X=C.length,ae=x;for(let fe=v;fe<A;fe++)if(p.get(fe)!==ae)E[O]++;else{if(O===X-1){if(Ce.patternMatchVariance(E,C,Re.MAX_INDIVIDUAL_VARIANCE)<Re.MAX_AVG_VARIANCE)return Int32Array.from([V,fe]);V+=E[0]+E[1];let be=E.slice(2,E.length-1);for(let Ae=0;Ae<O-1;Ae++)E[Ae]=be[Ae];E[O-1]=0,E[O]=0,O--}else O++;E[O]=1,ae=!ae}throw new U}static decodeDigit(p,v,x,C){this.recordPattern(p,x,v);let E=this.MAX_AVG_VARIANCE,A=-1,O=C.length;for(let V=0;V<O;V++){let X=C[V],ae=Ce.patternMatchVariance(v,X,Re.MAX_INDIVIDUAL_VARIANCE);ae<E&&(E=ae,A=V)}if(A>=0)return A;throw new U}}Re.MAX_AVG_VARIANCE=.48,Re.MAX_INDIVIDUAL_VARIANCE=.7,Re.START_END_PATTERN=Int32Array.from([1,1,1]),Re.MIDDLE_PATTERN=Int32Array.from([1,1,1,1,1]),Re.END_PATTERN=Int32Array.from([1,1,1,1,1,1]),Re.L_PATTERNS=[Int32Array.from([3,2,1,1]),Int32Array.from([2,2,2,1]),Int32Array.from([2,1,2,2]),Int32Array.from([1,4,1,1]),Int32Array.from([1,1,3,2]),Int32Array.from([1,2,3,1]),Int32Array.from([1,1,1,4]),Int32Array.from([1,3,1,2]),Int32Array.from([1,2,1,3]),Int32Array.from([3,1,1,2])];class ze{constructor(){this.CHECK_DIGIT_ENCODINGS=[24,20,18,17,12,6,3,10,9,5],this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(p,v,x){let C=this.decodeRowStringBuffer,E=this.decodeMiddle(v,x,C),A=C.toString(),O=ze.parseExtensionString(A),V=[new _e((x[0]+x[1])/2,p),new _e(E,p)],X=new de(A,null,0,V,we.UPC_EAN_EXTENSION,new Date().getTime());return O!=null&&X.putAllMetadata(O),X}decodeMiddle(p,v,x){let C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1],O=0;for(let X=0;X<5&&A<E;X++){let ae=Re.decodeDigit(p,C,A,Re.L_AND_G_PATTERNS);x+=String.fromCharCode(48+ae%10);for(let fe of C)A+=fe;ae>=10&&(O|=1<<4-X),X!==4&&(A=p.getNextSet(A),A=p.getNextUnset(A))}if(x.length!==5)throw new U;let V=this.determineCheckDigit(O);if(ze.extensionChecksum(x.toString())!==V)throw new U;return A}static extensionChecksum(p){let v=p.length,x=0;for(let C=v-2;C>=0;C-=2)x+=p.charAt(C).charCodeAt(0)-48;x*=3;for(let C=v-1;C>=0;C-=2)x+=p.charAt(C).charCodeAt(0)-48;return x*=3,x%10}determineCheckDigit(p){for(let v=0;v<10;v++)if(p===this.CHECK_DIGIT_ENCODINGS[v])return v;throw new U}static parseExtensionString(p){if(p.length!==5)return null;let v=ze.parseExtension5String(p);return v==null?null:new Map([[ce.SUGGESTED_PRICE,v]])}static parseExtension5String(p){let v;switch(p.charAt(0)){case"0":v="£";break;case"5":v="$";break;case"9":switch(p){case"90000":return null;case"99991":return"0.00";case"99990":return"Used"}v="";break;default:v="";break}let x=parseInt(p.substring(1)),C=(x/100).toString(),E=x%100,A=E<10?"0"+E:E.toString();return v+C+"."+A}}class rt{constructor(){this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(p,v,x){let C=this.decodeRowStringBuffer,E=this.decodeMiddle(v,x,C),A=C.toString(),O=rt.parseExtensionString(A),V=[new _e((x[0]+x[1])/2,p),new _e(E,p)],X=new de(A,null,0,V,we.UPC_EAN_EXTENSION,new Date().getTime());return O!=null&&X.putAllMetadata(O),X}decodeMiddle(p,v,x){let C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1],O=0;for(let V=0;V<2&&A<E;V++){let X=Re.decodeDigit(p,C,A,Re.L_AND_G_PATTERNS);x+=String.fromCharCode(48+X%10);for(let ae of C)A+=ae;X>=10&&(O|=1<<1-V),V!==1&&(A=p.getNextSet(A),A=p.getNextUnset(A))}if(x.length!==2)throw new U;if(parseInt(x.toString())%4!==O)throw new U;return A}static parseExtensionString(p){return p.length!==2?null:new Map([[ce.ISSUE_NUMBER,parseInt(p)]])}}class vt{static decodeRow(p,v,x){let C=Re.findGuardPattern(v,x,!1,this.EXTENSION_START_PATTERN,new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));try{return new ze().decodeRow(p,v,C)}catch{return new rt().decodeRow(p,v,C)}}}vt.EXTENSION_START_PATTERN=Int32Array.from([1,1,2]);class mt extends Re{constructor(){super(),this.decodeRowStringBuffer="",mt.L_AND_G_PATTERNS=mt.L_PATTERNS.map(p=>Int32Array.from(p));for(let p=10;p<20;p++){let v=mt.L_PATTERNS[p-10],x=new Int32Array(v.length);for(let C=0;C<v.length;C++)x[C]=v[v.length-C-1];mt.L_AND_G_PATTERNS[p]=x}}decodeRow(p,v,x){let C=mt.findStartGuardPattern(v),E=x==null?null:x.get(P.NEED_RESULT_POINT_CALLBACK);if(E!=null){const Nt=new _e((C[0]+C[1])/2,p);E.foundPossibleResultPoint(Nt)}let A=this.decodeMiddle(v,C,this.decodeRowStringBuffer),O=A.rowOffset,V=A.resultString;if(E!=null){const Nt=new _e(O,p);E.foundPossibleResultPoint(Nt)}let X=this.decodeEnd(v,O);if(E!=null){const Nt=new _e((X[0]+X[1])/2,p);E.foundPossibleResultPoint(Nt)}let ae=X[1],fe=ae+(ae-X[0]);if(fe>=v.getSize()||!v.isRange(ae,fe,!1))throw new U;let be=V.toString();if(be.length<8)throw new L;if(!mt.checkChecksum(be))throw new g;let Ae=(C[1]+C[0])/2,He=(X[1]+X[0])/2,Ge=this.getBarcodeFormat(),tt=[new _e(Ae,p),new _e(He,p)],ct=new de(be,null,0,tt,Ge,new Date().getTime()),Dt=0;try{let Nt=vt.decodeRow(p,v,X[1]);ct.putMetadata(ce.UPC_EAN_EXTENSION,Nt.getText()),ct.putAllMetadata(Nt.getResultMetadata()),ct.addResultPoints(Nt.getResultPoints()),Dt=Nt.getText().length}catch{}let zt=x==null?null:x.get(P.ALLOWED_EAN_EXTENSIONS);if(zt!=null){let Nt=!1;for(let Gn in zt)if(Dt.toString()===Gn){Nt=!0;break}if(!Nt)throw new U}return ct}decodeEnd(p,v){return mt.findGuardPattern(p,v,!1,mt.START_END_PATTERN,new Int32Array(mt.START_END_PATTERN.length).fill(0))}static checkChecksum(p){return mt.checkStandardUPCEANChecksum(p)}static checkStandardUPCEANChecksum(p){let v=p.length;if(v===0)return!1;let x=parseInt(p.charAt(v-1),10);return mt.getStandardUPCEANChecksum(p.substring(0,v-1))===x}static getStandardUPCEANChecksum(p){let v=p.length,x=0;for(let C=v-1;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}x*=3;for(let C=v-2;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}return(1e3-x)%10}}class Ot extends mt{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(p,v,x){let C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1],O=0;for(let X=0;X<6&&A<E;X++){let ae=mt.decodeDigit(p,C,A,mt.L_AND_G_PATTERNS);x+=String.fromCharCode(48+ae%10);for(let fe of C)A+=fe;ae>=10&&(O|=1<<5-X)}x=Ot.determineFirstDigit(x,O),A=mt.findGuardPattern(p,A,!0,mt.MIDDLE_PATTERN,new Int32Array(mt.MIDDLE_PATTERN.length).fill(0))[1];for(let X=0;X<6&&A<E;X++){let ae=mt.decodeDigit(p,C,A,mt.L_PATTERNS);x+=String.fromCharCode(48+ae);for(let fe of C)A+=fe}return{rowOffset:A,resultString:x}}getBarcodeFormat(){return we.EAN_13}static determineFirstDigit(p,v){for(let x=0;x<10;x++)if(v===this.FIRST_DIGIT_ENCODINGS[x])return p=String.fromCharCode(48+x)+p,p;throw new U}}Ot.FIRST_DIGIT_ENCODINGS=[0,11,13,14,19,25,28,21,22,26];class qt extends mt{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(p,v,x){const C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1];for(let V=0;V<4&&A<E;V++){let X=mt.decodeDigit(p,C,A,mt.L_PATTERNS);x+=String.fromCharCode(48+X);for(let ae of C)A+=ae}A=mt.findGuardPattern(p,A,!0,mt.MIDDLE_PATTERN,new Int32Array(mt.MIDDLE_PATTERN.length).fill(0))[1];for(let V=0;V<4&&A<E;V++){let X=mt.decodeDigit(p,C,A,mt.L_PATTERNS);x+=String.fromCharCode(48+X);for(let ae of C)A+=ae}return{rowOffset:A,resultString:x}}getBarcodeFormat(){return we.EAN_8}}class kt extends mt{constructor(){super(...arguments),this.ean13Reader=new Ot}getBarcodeFormat(){return we.UPC_A}decode(p,v){return this.maybeReturnResult(this.ean13Reader.decode(p))}decodeRow(p,v,x){return this.maybeReturnResult(this.ean13Reader.decodeRow(p,v,x))}decodeMiddle(p,v,x){return this.ean13Reader.decodeMiddle(p,v,x)}maybeReturnResult(p){let v=p.getText();if(v.charAt(0)==="0"){let x=new de(v.substring(1),null,null,p.getResultPoints(),we.UPC_A);return p.getResultMetadata()!=null&&x.putAllMetadata(p.getResultMetadata()),x}else throw new U}reset(){this.ean13Reader.reset()}}class Ct extends mt{constructor(){super(),this.decodeMiddleCounters=new Int32Array(4)}decodeMiddle(p,v,x){const C=this.decodeMiddleCounters.map(X=>X);C[0]=0,C[1]=0,C[2]=0,C[3]=0;const E=p.getSize();let A=v[1],O=0;for(let X=0;X<6&&A<E;X++){const ae=Ct.decodeDigit(p,C,A,Ct.L_AND_G_PATTERNS);x+=String.fromCharCode(48+ae%10);for(let fe of C)A+=fe;ae>=10&&(O|=1<<5-X)}let V=Ct.determineNumSysAndCheckDigit(x,O);return{rowOffset:A,resultString:V}}decodeEnd(p,v){return Ct.findGuardPatternWithoutCounters(p,v,!0,Ct.MIDDLE_END_PATTERN)}checkChecksum(p){return mt.checkChecksum(Ct.convertUPCEtoUPCA(p))}static determineNumSysAndCheckDigit(p,v){for(let x=0;x<=1;x++)for(let C=0;C<10;C++)if(v===this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[x][C]){let E=String.fromCharCode(48+x),A=String.fromCharCode(48+C);return E+p+A}throw U.getNotFoundInstance()}getBarcodeFormat(){return we.UPC_E}static convertUPCEtoUPCA(p){const v=p.slice(1,7).split("").map(E=>E.charCodeAt(0)),x=new Z;x.append(p.charAt(0));let C=v[5];switch(C){case 0:case 1:case 2:x.appendChars(v,0,2),x.append(C),x.append("0000"),x.appendChars(v,2,3);break;case 3:x.appendChars(v,0,3),x.append("00000"),x.appendChars(v,3,2);break;case 4:x.appendChars(v,0,4),x.append("00000"),x.append(v[4]);break;default:x.appendChars(v,0,5),x.append("0000"),x.append(C);break}return p.length>=8&&x.append(p.charAt(7)),x.toString()}}Ct.MIDDLE_END_PATTERN=Int32Array.from([1,1,1,1,1,1]),Ct.NUMSYS_AND_CHECK_DIGIT_PATTERNS=[Int32Array.from([56,52,50,49,44,38,35,42,41,37]),Int32Array.from([7,11,13,14,19,25,28,21,22,26])];class Pt extends Ce{constructor(p){super();let v=p==null?null:p.get(P.POSSIBLE_FORMATS),x=[];r(v)?(x.push(new Ot),x.push(new kt),x.push(new qt),x.push(new Ct)):(v.indexOf(we.EAN_13)>-1&&x.push(new Ot),v.indexOf(we.UPC_A)>-1&&x.push(new kt),v.indexOf(we.EAN_8)>-1&&x.push(new qt),v.indexOf(we.UPC_E)>-1&&x.push(new Ct)),this.readers=x}decodeRow(p,v,x){for(let C of this.readers)try{const E=C.decodeRow(p,v,x),A=E.getBarcodeFormat()===we.EAN_13&&E.getText().charAt(0)==="0",O=x==null?null:x.get(P.POSSIBLE_FORMATS),V=O==null||O.includes(we.UPC_A);if(A&&V){const X=E.getRawBytes(),ae=new de(E.getText().substring(1),X,X?X.length:null,E.getResultPoints(),we.UPC_A);return ae.putAllMetadata(E.getResultMetadata()),ae}return E}catch{}throw new U}reset(){for(let p of this.readers)p.reset()}}class yt extends Ce{constructor(){super(),this.decodeFinderCounters=new Int32Array(4),this.dataCharacterCounters=new Int32Array(8),this.oddRoundingErrors=new Array(4),this.evenRoundingErrors=new Array(4),this.oddCounts=new Array(this.dataCharacterCounters.length/2),this.evenCounts=new Array(this.dataCharacterCounters.length/2)}getDecodeFinderCounters(){return this.decodeFinderCounters}getDataCharacterCounters(){return this.dataCharacterCounters}getOddRoundingErrors(){return this.oddRoundingErrors}getEvenRoundingErrors(){return this.evenRoundingErrors}getOddCounts(){return this.oddCounts}getEvenCounts(){return this.evenCounts}parseFinderValue(p,v){for(let x=0;x<v.length;x++)if(Ce.patternMatchVariance(p,v[x],yt.MAX_INDIVIDUAL_VARIANCE)<yt.MAX_AVG_VARIANCE)return x;throw new U}static count(p){return Ue.sum(new Int32Array(p))}static increment(p,v){let x=0,C=v[0];for(let E=1;E<p.length;E++)v[E]>C&&(C=v[E],x=E);p[x]++}static decrement(p,v){let x=0,C=v[0];for(let E=1;E<p.length;E++)v[E]<C&&(C=v[E],x=E);p[x]--}static isFinderPattern(p){let v=p[0]+p[1],x=v+p[2]+p[3],C=v/x;if(C>=yt.MIN_FINDER_PATTERN_RATIO&&C<=yt.MAX_FINDER_PATTERN_RATIO){let E=Number.MAX_SAFE_INTEGER,A=Number.MIN_SAFE_INTEGER;for(let O of p)O>A&&(A=O),O<E&&(E=O);return A<10*E}return!1}}yt.MAX_AVG_VARIANCE=.2,yt.MAX_INDIVIDUAL_VARIANCE=.45,yt.MIN_FINDER_PATTERN_RATIO=9.5/12,yt.MAX_FINDER_PATTERN_RATIO=12.5/14;class $t{constructor(p,v){this.value=p,this.checksumPortion=v}getValue(){return this.value}getChecksumPortion(){return this.checksumPortion}toString(){return this.value+"("+this.checksumPortion+")"}equals(p){if(!(p instanceof $t))return!1;const v=p;return this.value===v.value&&this.checksumPortion===v.checksumPortion}hashCode(){return this.value^this.checksumPortion}}class bt{constructor(p,v,x,C,E){this.value=p,this.startEnd=v,this.value=p,this.startEnd=v,this.resultPoints=new Array,this.resultPoints.push(new _e(x,E)),this.resultPoints.push(new _e(C,E))}getValue(){return this.value}getStartEnd(){return this.startEnd}getResultPoints(){return this.resultPoints}equals(p){if(!(p instanceof bt))return!1;const v=p;return this.value===v.value}hashCode(){return this.value}}class Bt{constructor(){}static getRSSvalue(p,v,x){let C=0;for(let V of p)C+=V;let E=0,A=0,O=p.length;for(let V=0;V<O-1;V++){let X;for(X=1,A|=1<<V;X<p[V];X++,A&=~(1<<V)){let ae=Bt.combins(C-X-1,O-V-2);if(x&&A===0&&C-X-(O-V-1)>=O-V-1&&(ae-=Bt.combins(C-X-(O-V),O-V-2)),O-V-1>1){let fe=0;for(let be=C-X-(O-V-2);be>v;be--)fe+=Bt.combins(C-X-be-1,O-V-3);ae-=fe*(O-1-V)}else C-X>v&&ae--;E+=ae}C-=X}return E}static combins(p,v){let x,C;p-v>v?(C=v,x=p-v):(C=p-v,x=v);let E=1,A=1;for(let O=p;O>x;O--)E*=O,A<=C&&(E/=A,A++);for(;A<=C;)E/=A,A++;return E}}class Yn{static buildBitArray(p){let v=p.length*2-1;p[p.length-1].getRightChar()==null&&(v-=1);let x=12*v,C=new M(x),E=0,O=p[0].getRightChar().getValue();for(let V=11;V>=0;--V)(O&1<<V)!=0&&C.set(E),E++;for(let V=1;V<p.length;++V){let X=p[V],ae=X.getLeftChar().getValue();for(let fe=11;fe>=0;--fe)(ae&1<<fe)!=0&&C.set(E),E++;if(X.getRightChar()!=null){let fe=X.getRightChar().getValue();for(let be=11;be>=0;--be)(fe&1<<be)!=0&&C.set(E),E++}}return C}}class mn{constructor(p,v){v?this.decodedInformation=null:(this.finished=p,this.decodedInformation=v)}getDecodedInformation(){return this.decodedInformation}isFinished(){return this.finished}}class tn{constructor(p){this.newPosition=p}getNewPosition(){return this.newPosition}}class Cr extends tn{constructor(p,v){super(p),this.value=v}getValue(){return this.value}isFNC1(){return this.value===Cr.FNC1}}Cr.FNC1="$";class Vr extends tn{constructor(p,v,x){super(p),x?(this.remaining=!0,this.remainingValue=this.remainingValue):(this.remaining=!1,this.remainingValue=0),this.newString=v}getNewString(){return this.newString}isRemaining(){return this.remaining}getRemainingValue(){return this.remainingValue}}class Or extends tn{constructor(p,v,x){if(super(p),v<0||v>10||x<0||x>10)throw new L;this.firstDigit=v,this.secondDigit=x}getFirstDigit(){return this.firstDigit}getSecondDigit(){return this.secondDigit}getValue(){return this.firstDigit*10+this.secondDigit}isFirstDigitFNC1(){return this.firstDigit===Or.FNC1}isSecondDigitFNC1(){return this.secondDigit===Or.FNC1}isAnyFNC1(){return this.firstDigit===Or.FNC1||this.secondDigit===Or.FNC1}}Or.FNC1=10;class Zt{constructor(){}static parseFieldsInGeneralPurpose(p){if(!p)return null;if(p.length<2)throw new U;let v=p.substring(0,2);for(let E of Zt.TWO_DIGIT_DATA_LENGTH)if(E[0]===v)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(2,E[2],p):Zt.processFixedAI(2,E[1],p);if(p.length<3)throw new U;let x=p.substring(0,3);for(let E of Zt.THREE_DIGIT_DATA_LENGTH)if(E[0]===x)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(3,E[2],p):Zt.processFixedAI(3,E[1],p);for(let E of Zt.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH)if(E[0]===x)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(4,E[2],p):Zt.processFixedAI(4,E[1],p);if(p.length<4)throw new U;let C=p.substring(0,4);for(let E of Zt.FOUR_DIGIT_DATA_LENGTH)if(E[0]===C)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(4,E[2],p):Zt.processFixedAI(4,E[1],p);throw new U}static processFixedAI(p,v,x){if(x.length<p)throw new U;let C=x.substring(0,p);if(x.length<p+v)throw new U;let E=x.substring(p,p+v),A=x.substring(p+v),O="("+C+")"+E,V=Zt.parseFieldsInGeneralPurpose(A);return V==null?O:O+V}static processVariableAI(p,v,x){let C=x.substring(0,p),E;x.length<p+v?E=x.length:E=p+v;let A=x.substring(p,E),O=x.substring(E),V="("+C+")"+A,X=Zt.parseFieldsInGeneralPurpose(O);return X==null?V:V+X}}Zt.VARIABLE_LENGTH=[],Zt.TWO_DIGIT_DATA_LENGTH=[["00",18],["01",14],["02",14],["10",Zt.VARIABLE_LENGTH,20],["11",6],["12",6],["13",6],["15",6],["17",6],["20",2],["21",Zt.VARIABLE_LENGTH,20],["22",Zt.VARIABLE_LENGTH,29],["30",Zt.VARIABLE_LENGTH,8],["37",Zt.VARIABLE_LENGTH,8],["90",Zt.VARIABLE_LENGTH,30],["91",Zt.VARIABLE_LENGTH,30],["92",Zt.VARIABLE_LENGTH,30],["93",Zt.VARIABLE_LENGTH,30],["94",Zt.VARIABLE_LENGTH,30],["95",Zt.VARIABLE_LENGTH,30],["96",Zt.VARIABLE_LENGTH,30],["97",Zt.VARIABLE_LENGTH,3],["98",Zt.VARIABLE_LENGTH,30],["99",Zt.VARIABLE_LENGTH,30]],Zt.THREE_DIGIT_DATA_LENGTH=[["240",Zt.VARIABLE_LENGTH,30],["241",Zt.VARIABLE_LENGTH,30],["242",Zt.VARIABLE_LENGTH,6],["250",Zt.VARIABLE_LENGTH,30],["251",Zt.VARIABLE_LENGTH,30],["253",Zt.VARIABLE_LENGTH,17],["254",Zt.VARIABLE_LENGTH,20],["400",Zt.VARIABLE_LENGTH,30],["401",Zt.VARIABLE_LENGTH,30],["402",17],["403",Zt.VARIABLE_LENGTH,30],["410",13],["411",13],["412",13],["413",13],["414",13],["420",Zt.VARIABLE_LENGTH,20],["421",Zt.VARIABLE_LENGTH,15],["422",3],["423",Zt.VARIABLE_LENGTH,15],["424",3],["425",3],["426",3]],Zt.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH=[["310",6],["311",6],["312",6],["313",6],["314",6],["315",6],["316",6],["320",6],["321",6],["322",6],["323",6],["324",6],["325",6],["326",6],["327",6],["328",6],["329",6],["330",6],["331",6],["332",6],["333",6],["334",6],["335",6],["336",6],["340",6],["341",6],["342",6],["343",6],["344",6],["345",6],["346",6],["347",6],["348",6],["349",6],["350",6],["351",6],["352",6],["353",6],["354",6],["355",6],["356",6],["357",6],["360",6],["361",6],["362",6],["363",6],["364",6],["365",6],["366",6],["367",6],["368",6],["369",6],["390",Zt.VARIABLE_LENGTH,15],["391",Zt.VARIABLE_LENGTH,18],["392",Zt.VARIABLE_LENGTH,15],["393",Zt.VARIABLE_LENGTH,18],["703",Zt.VARIABLE_LENGTH,30]],Zt.FOUR_DIGIT_DATA_LENGTH=[["7001",13],["7002",Zt.VARIABLE_LENGTH,30],["7003",10],["8001",14],["8002",Zt.VARIABLE_LENGTH,20],["8003",Zt.VARIABLE_LENGTH,30],["8004",Zt.VARIABLE_LENGTH,30],["8005",6],["8006",18],["8007",Zt.VARIABLE_LENGTH,30],["8008",Zt.VARIABLE_LENGTH,12],["8018",18],["8020",Zt.VARIABLE_LENGTH,25],["8100",6],["8101",10],["8102",2],["8110",Zt.VARIABLE_LENGTH,70],["8200",Zt.VARIABLE_LENGTH,70]];class bl{constructor(p){this.buffer=new Z,this.information=p}decodeAllCodes(p,v){let x=v,C=null;do{let E=this.decodeGeneralPurposeField(x,C),A=Zt.parseFieldsInGeneralPurpose(E.getNewString());if(A!=null&&p.append(A),E.isRemaining()?C=""+E.getRemainingValue():C=null,x===E.getNewPosition())break;x=E.getNewPosition()}while(!0);return p.toString()}isStillNumeric(p){if(p+7>this.information.getSize())return p+4<=this.information.getSize();for(let v=p;v<p+3;++v)if(this.information.get(v))return!0;return this.information.get(p+3)}decodeNumeric(p){if(p+7>this.information.getSize()){let E=this.extractNumericValueFromBitArray(p,4);return E===0?new Or(this.information.getSize(),Or.FNC1,Or.FNC1):new Or(this.information.getSize(),E-1,Or.FNC1)}let v=this.extractNumericValueFromBitArray(p,7),x=(v-8)/11,C=(v-8)%11;return new Or(p+7,x,C)}extractNumericValueFromBitArray(p,v){return bl.extractNumericValueFromBitArray(this.information,p,v)}static extractNumericValueFromBitArray(p,v,x){let C=0;for(let E=0;E<x;++E)p.get(v+E)&&(C|=1<<x-E-1);return C}decodeGeneralPurposeField(p,v){this.buffer.setLengthToZero(),v!=null&&this.buffer.append(v),this.current.setPosition(p);let x=this.parseBlocks();return x!=null&&x.isRemaining()?new Vr(this.current.getPosition(),this.buffer.toString(),x.getRemainingValue()):new Vr(this.current.getPosition(),this.buffer.toString())}parseBlocks(){let p,v;do{let x=this.current.getPosition();if(this.current.isAlpha()?(v=this.parseAlphaBlock(),p=v.isFinished()):this.current.isIsoIec646()?(v=this.parseIsoIec646Block(),p=v.isFinished()):(v=this.parseNumericBlock(),p=v.isFinished()),!(x!==this.current.getPosition())&&!p)break}while(!p);return v.getDecodedInformation()}parseNumericBlock(){for(;this.isStillNumeric(this.current.getPosition());){let p=this.decodeNumeric(this.current.getPosition());if(this.current.setPosition(p.getNewPosition()),p.isFirstDigitFNC1()){let v;return p.isSecondDigitFNC1()?v=new Vr(this.current.getPosition(),this.buffer.toString()):v=new Vr(this.current.getPosition(),this.buffer.toString(),p.getSecondDigit()),new mn(!0,v)}if(this.buffer.append(p.getFirstDigit()),p.isSecondDigitFNC1()){let v=new Vr(this.current.getPosition(),this.buffer.toString());return new mn(!0,v)}this.buffer.append(p.getSecondDigit())}return this.isNumericToAlphaNumericLatch(this.current.getPosition())&&(this.current.setAlpha(),this.current.incrementPosition(4)),new mn(!1)}parseIsoIec646Block(){for(;this.isStillIsoIec646(this.current.getPosition());){let p=this.decodeIsoIec646(this.current.getPosition());if(this.current.setPosition(p.getNewPosition()),p.isFNC1()){let v=new Vr(this.current.getPosition(),this.buffer.toString());return new mn(!0,v)}this.buffer.append(p.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setAlpha()),new mn(!1)}parseAlphaBlock(){for(;this.isStillAlpha(this.current.getPosition());){let p=this.decodeAlphanumeric(this.current.getPosition());if(this.current.setPosition(p.getNewPosition()),p.isFNC1()){let v=new Vr(this.current.getPosition(),this.buffer.toString());return new mn(!0,v)}this.buffer.append(p.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setIsoIec646()),new mn(!1)}isStillIsoIec646(p){if(p+5>this.information.getSize())return!1;let v=this.extractNumericValueFromBitArray(p,5);if(v>=5&&v<16)return!0;if(p+7>this.information.getSize())return!1;let x=this.extractNumericValueFromBitArray(p,7);if(x>=64&&x<116)return!0;if(p+8>this.information.getSize())return!1;let C=this.extractNumericValueFromBitArray(p,8);return C>=232&&C<253}decodeIsoIec646(p){let v=this.extractNumericValueFromBitArray(p,5);if(v===15)return new Cr(p+5,Cr.FNC1);if(v>=5&&v<15)return new Cr(p+5,"0"+(v-5));let x=this.extractNumericValueFromBitArray(p,7);if(x>=64&&x<90)return new Cr(p+7,""+(x+1));if(x>=90&&x<116)return new Cr(p+7,""+(x+7));let C=this.extractNumericValueFromBitArray(p,8),E;switch(C){case 232:E="!";break;case 233:E='"';break;case 234:E="%";break;case 235:E="&";break;case 236:E="'";break;case 237:E="(";break;case 238:E=")";break;case 239:E="*";break;case 240:E="+";break;case 241:E=",";break;case 242:E="-";break;case 243:E=".";break;case 244:E="/";break;case 245:E=":";break;case 246:E=";";break;case 247:E="<";break;case 248:E="=";break;case 249:E=">";break;case 250:E="?";break;case 251:E="_";break;case 252:E=" ";break;default:throw new L}return new Cr(p+8,E)}isStillAlpha(p){if(p+5>this.information.getSize())return!1;let v=this.extractNumericValueFromBitArray(p,5);if(v>=5&&v<16)return!0;if(p+6>this.information.getSize())return!1;let x=this.extractNumericValueFromBitArray(p,6);return x>=16&&x<63}decodeAlphanumeric(p){let v=this.extractNumericValueFromBitArray(p,5);if(v===15)return new Cr(p+5,Cr.FNC1);if(v>=5&&v<15)return new Cr(p+5,"0"+(v-5));let x=this.extractNumericValueFromBitArray(p,6);if(x>=32&&x<58)return new Cr(p+6,""+(x+33));let C;switch(x){case 58:C="*";break;case 59:C=",";break;case 60:C="-";break;case 61:C=".";break;case 62:C="/";break;default:throw new Ie("Decoding invalid alphanumeric value: "+x)}return new Cr(p+6,C)}isAlphaTo646ToAlphaLatch(p){if(p+1>this.information.getSize())return!1;for(let v=0;v<5&&v+p<this.information.getSize();++v)if(v===2){if(!this.information.get(p+2))return!1}else if(this.information.get(p+v))return!1;return!0}isAlphaOr646ToNumericLatch(p){if(p+3>this.information.getSize())return!1;for(let v=p;v<p+3;++v)if(this.information.get(v))return!1;return!0}isNumericToAlphaNumericLatch(p){if(p+1>this.information.getSize())return!1;for(let v=0;v<4&&v+p<this.information.getSize();++v)if(this.information.get(p+v))return!1;return!0}}class yv{constructor(p){this.information=p,this.generalDecoder=new bl(p)}getInformation(){return this.information}getGeneralDecoder(){return this.generalDecoder}}class fa extends yv{constructor(p){super(p)}encodeCompressedGtin(p,v){p.append("(01)");let x=p.length();p.append("9"),this.encodeCompressedGtinWithoutAI(p,v,x)}encodeCompressedGtinWithoutAI(p,v,x){for(let C=0;C<4;++C){let E=this.getGeneralDecoder().extractNumericValueFromBitArray(v+10*C,10);E/100===0&&p.append("0"),E/10===0&&p.append("0"),p.append(E)}fa.appendCheckDigit(p,x)}static appendCheckDigit(p,v){let x=0;for(let C=0;C<13;C++){let E=p.charAt(C+v).charCodeAt(0)-48;x+=(C&1)===0?3*E:E}x=10-x%10,x===10&&(x=0),p.append(x)}}fa.GTIN_SIZE=40;class fi extends fa{constructor(p){super(p)}parseInformation(){let p=new Z;p.append("(01)");let v=p.length(),x=this.getGeneralDecoder().extractNumericValueFromBitArray(fi.HEADER_SIZE,4);return p.append(x),this.encodeCompressedGtinWithoutAI(p,fi.HEADER_SIZE+4,v),this.getGeneralDecoder().decodeAllCodes(p,fi.HEADER_SIZE+44)}}fi.HEADER_SIZE=4;class Uh extends yv{constructor(p){super(p)}parseInformation(){let p=new Z;return this.getGeneralDecoder().decodeAllCodes(p,Uh.HEADER_SIZE)}}Uh.HEADER_SIZE=5;class $h extends fa{constructor(p){super(p)}encodeCompressedWeight(p,v,x){let C=this.getGeneralDecoder().extractNumericValueFromBitArray(v,x);this.addWeightCode(p,C);let E=this.checkWeight(C),A=1e5;for(let O=0;O<5;++O)E/A===0&&p.append("0"),A/=10;p.append(E)}}class xl extends $h{constructor(p){super(p)}parseInformation(){if(this.getInformation().getSize()!=xl.HEADER_SIZE+$h.GTIN_SIZE+xl.WEIGHT_SIZE)throw new U;let p=new Z;return this.encodeCompressedGtin(p,xl.HEADER_SIZE),this.encodeCompressedWeight(p,xl.HEADER_SIZE+$h.GTIN_SIZE,xl.WEIGHT_SIZE),p.toString()}}xl.HEADER_SIZE=5,xl.WEIGHT_SIZE=15;class Wx extends xl{constructor(p){super(p)}addWeightCode(p,v){p.append("(3103)")}checkWeight(p){return p}}class Yx extends xl{constructor(p){super(p)}addWeightCode(p,v){v<1e4?p.append("(3202)"):p.append("(3203)")}checkWeight(p){return p<1e4?p:p-1e4}}class Oi extends fa{constructor(p){super(p)}parseInformation(){if(this.getInformation().getSize()<Oi.HEADER_SIZE+fa.GTIN_SIZE)throw new U;let p=new Z;this.encodeCompressedGtin(p,Oi.HEADER_SIZE);let v=this.getGeneralDecoder().extractNumericValueFromBitArray(Oi.HEADER_SIZE+fa.GTIN_SIZE,Oi.LAST_DIGIT_SIZE);p.append("(392"),p.append(v),p.append(")");let x=this.getGeneralDecoder().decodeGeneralPurposeField(Oi.HEADER_SIZE+fa.GTIN_SIZE+Oi.LAST_DIGIT_SIZE,null);return p.append(x.getNewString()),p.toString()}}Oi.HEADER_SIZE=8,Oi.LAST_DIGIT_SIZE=2;class ws extends fa{constructor(p){super(p)}parseInformation(){if(this.getInformation().getSize()<ws.HEADER_SIZE+fa.GTIN_SIZE)throw new U;let p=new Z;this.encodeCompressedGtin(p,ws.HEADER_SIZE);let v=this.getGeneralDecoder().extractNumericValueFromBitArray(ws.HEADER_SIZE+fa.GTIN_SIZE,ws.LAST_DIGIT_SIZE);p.append("(393"),p.append(v),p.append(")");let x=this.getGeneralDecoder().extractNumericValueFromBitArray(ws.HEADER_SIZE+fa.GTIN_SIZE+ws.LAST_DIGIT_SIZE,ws.FIRST_THREE_DIGITS_SIZE);x/100==0&&p.append("0"),x/10==0&&p.append("0"),p.append(x);let C=this.getGeneralDecoder().decodeGeneralPurposeField(ws.HEADER_SIZE+fa.GTIN_SIZE+ws.LAST_DIGIT_SIZE+ws.FIRST_THREE_DIGITS_SIZE,null);return p.append(C.getNewString()),p.toString()}}ws.HEADER_SIZE=8,ws.LAST_DIGIT_SIZE=2,ws.FIRST_THREE_DIGITS_SIZE=10;class Hr extends $h{constructor(p,v,x){super(p),this.dateCode=x,this.firstAIdigits=v}parseInformation(){if(this.getInformation().getSize()!=Hr.HEADER_SIZE+Hr.GTIN_SIZE+Hr.WEIGHT_SIZE+Hr.DATE_SIZE)throw new U;let p=new Z;return this.encodeCompressedGtin(p,Hr.HEADER_SIZE),this.encodeCompressedWeight(p,Hr.HEADER_SIZE+Hr.GTIN_SIZE,Hr.WEIGHT_SIZE),this.encodeCompressedDate(p,Hr.HEADER_SIZE+Hr.GTIN_SIZE+Hr.WEIGHT_SIZE),p.toString()}encodeCompressedDate(p,v){let x=this.getGeneralDecoder().extractNumericValueFromBitArray(v,Hr.DATE_SIZE);if(x==38400)return;p.append("("),p.append(this.dateCode),p.append(")");let C=x%32;x/=32;let E=x%12+1;x/=12;let A=x;A/10==0&&p.append("0"),p.append(A),E/10==0&&p.append("0"),p.append(E),C/10==0&&p.append("0"),p.append(C)}addWeightCode(p,v){p.append("("),p.append(this.firstAIdigits),p.append(v/1e5),p.append(")")}checkWeight(p){return p%1e5}}Hr.HEADER_SIZE=8,Hr.WEIGHT_SIZE=20,Hr.DATE_SIZE=16;function Gx(ue){try{if(ue.get(1))return new fi(ue);if(!ue.get(2))return new Uh(ue);switch(bl.extractNumericValueFromBitArray(ue,1,4)){case 4:return new Wx(ue);case 5:return new Yx(ue)}switch(bl.extractNumericValueFromBitArray(ue,1,5)){case 12:return new Oi(ue);case 13:return new ws(ue)}switch(bl.extractNumericValueFromBitArray(ue,1,7)){case 56:return new Hr(ue,"310","11");case 57:return new Hr(ue,"320","11");case 58:return new Hr(ue,"310","13");case 59:return new Hr(ue,"320","13");case 60:return new Hr(ue,"310","15");case 61:return new Hr(ue,"320","15");case 62:return new Hr(ue,"310","17");case 63:return new Hr(ue,"320","17")}}catch(p){throw console.log(p),new Ie("unknown decoder: "+ue)}}class Ir{constructor(p,v,x,C){this.leftchar=p,this.rightchar=v,this.finderpattern=x,this.maybeLast=C}mayBeLast(){return this.maybeLast}getLeftChar(){return this.leftchar}getRightChar(){return this.rightchar}getFinderPattern(){return this.finderpattern}mustBeLast(){return this.rightchar==null}toString(){return"[ "+this.leftchar+", "+this.rightchar+" : "+(this.finderpattern==null?"null":this.finderpattern.getValue())+" ]"}static equals(p,v){return p instanceof Ir?Ir.equalsOrNull(p.leftchar,v.leftchar)&&Ir.equalsOrNull(p.rightchar,v.rightchar)&&Ir.equalsOrNull(p.finderpattern,v.finderpattern):!1}static equalsOrNull(p,v){return p===null?v===null:Ir.equals(p,v)}hashCode(){return this.leftchar.getValue()^this.rightchar.getValue()^this.finderpattern.getValue()}}class vv{constructor(p,v,x){this.pairs=p,this.rowNumber=v,this.wasReversed=x}getPairs(){return this.pairs}getRowNumber(){return this.rowNumber}isReversed(){return this.wasReversed}isEquivalent(p){return this.checkEqualitity(this,p)}toString(){return"{ "+this.pairs+" }"}equals(p,v){return p instanceof vv?this.checkEqualitity(p,v)&&p.wasReversed===v.wasReversed:!1}checkEqualitity(p,v){if(!p||!v)return;let x;return p.forEach((C,E)=>{v.forEach(A=>{C.getLeftChar().getValue()===A.getLeftChar().getValue()&&C.getRightChar().getValue()===A.getRightChar().getValue()&&C.getFinderPatter().getValue()===A.getFinderPatter().getValue()&&(x=!0)})}),x}}class jt extends yt{constructor(p){super(...arguments),this.pairs=new Array(jt.MAX_PAIRS),this.rows=new Array,this.startEnd=[2],this.verbose=p===!0}decodeRow(p,v,x){this.pairs.length=0,this.startFromEven=!1;try{return jt.constructResult(this.decodeRow2pairs(p,v))}catch(C){this.verbose&&console.log(C)}return this.pairs.length=0,this.startFromEven=!0,jt.constructResult(this.decodeRow2pairs(p,v))}reset(){this.pairs.length=0,this.rows.length=0}decodeRow2pairs(p,v){let x=!1;for(;!x;)try{this.pairs.push(this.retrieveNextPair(v,this.pairs,p))}catch(E){if(E instanceof U){if(!this.pairs.length)throw new U;x=!0}}if(this.checkChecksum())return this.pairs;let C;if(this.rows.length?C=!0:C=!1,this.storeRow(p,!1),C){let E=this.checkRowsBoolean(!1);if(E!=null||(E=this.checkRowsBoolean(!0),E!=null))return E}throw new U}checkRowsBoolean(p){if(this.rows.length>25)return this.rows.length=0,null;this.pairs.length=0,p&&(this.rows=this.rows.reverse());let v=null;try{v=this.checkRows(new Array,0)}catch(x){this.verbose&&console.log(x)}return p&&(this.rows=this.rows.reverse()),v}checkRows(p,v){for(let x=v;x<this.rows.length;x++){let C=this.rows[x];this.pairs.length=0;for(let A of p)this.pairs.push(A.getPairs());if(this.pairs.push(C.getPairs()),!jt.isValidSequence(this.pairs))continue;if(this.checkChecksum())return this.pairs;let E=new Array(p);E.push(C);try{return this.checkRows(E,x+1)}catch(A){this.verbose&&console.log(A)}}throw new U}static isValidSequence(p){for(let v of jt.FINDER_PATTERN_SEQUENCES){if(p.length>v.length)continue;let x=!0;for(let C=0;C<p.length;C++)if(p[C].getFinderPattern().getValue()!=v[C]){x=!1;break}if(x)return!0}return!1}storeRow(p,v){let x=0,C=!1,E=!1;for(;x<this.rows.length;){let A=this.rows[x];if(A.getRowNumber()>p){E=A.isEquivalent(this.pairs);break}C=A.isEquivalent(this.pairs),x++}E||C||jt.isPartialRow(this.pairs,this.rows)||(this.rows.push(x,new vv(this.pairs,p,v)),this.removePartialRows(this.pairs,this.rows))}removePartialRows(p,v){for(let x of v)if(x.getPairs().length!==p.length){for(let C of x.getPairs())for(let E of p)if(Ir.equals(C,E))break}}static isPartialRow(p,v){for(let x of v){let C=!0;for(let E of p){let A=!1;for(let O of x.getPairs())if(E.equals(O)){A=!0;break}if(!A){C=!1;break}}if(C)return!0}return!1}getRows(){return this.rows}static constructResult(p){let v=Yn.buildBitArray(p),C=Gx(v).parseInformation(),E=p[0].getFinderPattern().getResultPoints(),A=p[p.length-1].getFinderPattern().getResultPoints(),O=[E[0],E[1],A[0],A[1]];return new de(C,null,null,O,we.RSS_EXPANDED,null)}checkChecksum(){let p=this.pairs.get(0),v=p.getLeftChar(),x=p.getRightChar();if(x==null)return!1;let C=x.getChecksumPortion(),E=2;for(let O=1;O<this.pairs.size();++O){let V=this.pairs.get(O);C+=V.getLeftChar().getChecksumPortion(),E++;let X=V.getRightChar();X!=null&&(C+=X.getChecksumPortion(),E++)}return C%=211,211*(E-4)+C==v.getValue()}static getNextSecondBar(p,v){let x;return p.get(v)?(x=p.getNextUnset(v),x=p.getNextSet(x)):(x=p.getNextSet(v),x=p.getNextUnset(x)),x}retrieveNextPair(p,v,x){let C=v.length%2==0;this.startFromEven&&(C=!C);let E,A=!0,O=-1;do this.findNextPair(p,v,O),E=this.parseFoundFinderPattern(p,x,C),E==null?O=jt.getNextSecondBar(p,this.startEnd[0]):A=!1;while(A);let V=this.decodeDataCharacter(p,E,C,!0);if(!this.isEmptyPair(v)&&v[v.length-1].mustBeLast())throw new U;let X;try{X=this.decodeDataCharacter(p,E,C,!1)}catch(ae){X=null,this.verbose&&console.log(ae)}return new Ir(V,X,E,!0)}isEmptyPair(p){return p.length===0}findNextPair(p,v,x){let C=this.getDecodeFinderCounters();C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A;x>=0?A=x:this.isEmptyPair(v)?A=0:A=v[v.length-1].getFinderPattern().getStartEnd()[1];let O=v.length%2!=0;this.startFromEven&&(O=!O);let V=!1;for(;A<E&&(V=!p.get(A),!!V);)A++;let X=0,ae=A;for(let fe=A;fe<E;fe++)if(p.get(fe)!=V)C[X]++;else{if(X==3){if(O&&jt.reverseCounters(C),jt.isFinderPattern(C)){this.startEnd[0]=ae,this.startEnd[1]=fe;return}O&&jt.reverseCounters(C),ae+=C[0]+C[1],C[0]=C[2],C[1]=C[3],C[2]=0,C[3]=0,X--}else X++;C[X]=1,V=!V}throw new U}static reverseCounters(p){let v=p.length;for(let x=0;x<v/2;++x){let C=p[x];p[x]=p[v-x-1],p[v-x-1]=C}}parseFoundFinderPattern(p,v,x){let C,E,A;if(x){let X=this.startEnd[0]-1;for(;X>=0&&!p.get(X);)X--;X++,C=this.startEnd[0]-X,E=X,A=this.startEnd[1]}else E=this.startEnd[0],A=p.getNextUnset(this.startEnd[1]+1),C=A-this.startEnd[1];let O=this.getDecodeFinderCounters();b.arraycopy(O,0,O,1,O.length-1),O[0]=C;let V;try{V=this.parseFinderValue(O,jt.FINDER_PATTERNS)}catch{return null}return new bt(V,[E,A],E,A,v)}decodeDataCharacter(p,v,x,C){let E=this.getDataCharacterCounters();for(let Sr=0;Sr<E.length;Sr++)E[Sr]=0;if(C)jt.recordPatternInReverse(p,v.getStartEnd()[0],E);else{jt.recordPattern(p,v.getStartEnd()[1],E);for(let Sr=0,yo=E.length-1;Sr<yo;Sr++,yo--){let Ws=E[Sr];E[Sr]=E[yo],E[yo]=Ws}}let A=17,O=Ue.sum(new Int32Array(E))/A,V=(v.getStartEnd()[1]-v.getStartEnd()[0])/15;if(Math.abs(O-V)/V>.3)throw new U;let X=this.getOddCounts(),ae=this.getEvenCounts(),fe=this.getOddRoundingErrors(),be=this.getEvenRoundingErrors();for(let Sr=0;Sr<E.length;Sr++){let yo=1*E[Sr]/O,Ws=yo+.5;if(Ws<1){if(yo<.3)throw new U;Ws=1}else if(Ws>8){if(yo>8.7)throw new U;Ws=8}let If=Sr/2;(Sr&1)==0?(X[If]=Ws,fe[If]=yo-Ws):(ae[If]=Ws,be[If]=yo-Ws)}this.adjustOddEvenCounts(A);let Ae=4*v.getValue()+(x?0:2)+(C?0:1)-1,He=0,Ge=0;for(let Sr=X.length-1;Sr>=0;Sr--){if(jt.isNotA1left(v,x,C)){let yo=jt.WEIGHTS[Ae][2*Sr];Ge+=X[Sr]*yo}He+=X[Sr]}let tt=0;for(let Sr=ae.length-1;Sr>=0;Sr--)if(jt.isNotA1left(v,x,C)){let yo=jt.WEIGHTS[Ae][2*Sr+1];tt+=ae[Sr]*yo}let ct=Ge+tt;if((He&1)!=0||He>13||He<4)throw new U;let Dt=(13-He)/2,zt=jt.SYMBOL_WIDEST[Dt],Nt=9-zt,Gn=Bt.getRSSvalue(X,zt,!0),Mn=Bt.getRSSvalue(ae,Nt,!1),pa=jt.EVEN_TOTAL_SUBSET[Dt],$i=jt.GSUM[Dt],Oo=Gn*pa+Mn+$i;return new $t(Oo,ct)}static isNotA1left(p,v,x){return!(p.getValue()==0&&v&&x)}adjustOddEvenCounts(p){let v=Ue.sum(new Int32Array(this.getOddCounts())),x=Ue.sum(new Int32Array(this.getEvenCounts())),C=!1,E=!1;v>13?E=!0:v<4&&(C=!0);let A=!1,O=!1;x>13?O=!0:x<4&&(A=!0);let V=v+x-p,X=(v&1)==1,ae=(x&1)==0;if(V==1)if(X){if(ae)throw new U;E=!0}else{if(!ae)throw new U;O=!0}else if(V==-1)if(X){if(ae)throw new U;C=!0}else{if(!ae)throw new U;A=!0}else if(V==0){if(X){if(!ae)throw new U;v<x?(C=!0,O=!0):(E=!0,A=!0)}else if(ae)throw new U}else throw new U;if(C){if(E)throw new U;jt.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(E&&jt.decrement(this.getOddCounts(),this.getOddRoundingErrors()),A){if(O)throw new U;jt.increment(this.getEvenCounts(),this.getOddRoundingErrors())}O&&jt.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}jt.SYMBOL_WIDEST=[7,5,4,3,1],jt.EVEN_TOTAL_SUBSET=[4,20,52,104,204],jt.GSUM=[0,348,1388,2948,3988],jt.FINDER_PATTERNS=[Int32Array.from([1,8,4,1]),Int32Array.from([3,6,4,1]),Int32Array.from([3,4,6,1]),Int32Array.from([3,2,8,1]),Int32Array.from([2,6,5,1]),Int32Array.from([2,2,9,1])],jt.WEIGHTS=[[1,3,9,27,81,32,96,77],[20,60,180,118,143,7,21,63],[189,145,13,39,117,140,209,205],[193,157,49,147,19,57,171,91],[62,186,136,197,169,85,44,132],[185,133,188,142,4,12,36,108],[113,128,173,97,80,29,87,50],[150,28,84,41,123,158,52,156],[46,138,203,187,139,206,196,166],[76,17,51,153,37,111,122,155],[43,129,176,106,107,110,119,146],[16,48,144,10,30,90,59,177],[109,116,137,200,178,112,125,164],[70,210,208,202,184,130,179,115],[134,191,151,31,93,68,204,190],[148,22,66,198,172,94,71,2],[6,18,54,162,64,192,154,40],[120,149,25,75,14,42,126,167],[79,26,78,23,69,207,199,175],[103,98,83,38,114,131,182,124],[161,61,183,127,170,88,53,159],[55,165,73,8,24,72,5,15],[45,135,194,160,58,174,100,89]],jt.FINDER_PAT_A=0,jt.FINDER_PAT_B=1,jt.FINDER_PAT_C=2,jt.FINDER_PAT_D=3,jt.FINDER_PAT_E=4,jt.FINDER_PAT_F=5,jt.FINDER_PATTERN_SEQUENCES=[[jt.FINDER_PAT_A,jt.FINDER_PAT_A],[jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B],[jt.FINDER_PAT_A,jt.FINDER_PAT_C,jt.FINDER_PAT_B,jt.FINDER_PAT_D],[jt.FINDER_PAT_A,jt.FINDER_PAT_E,jt.FINDER_PAT_B,jt.FINDER_PAT_D,jt.FINDER_PAT_C],[jt.FINDER_PAT_A,jt.FINDER_PAT_E,jt.FINDER_PAT_B,jt.FINDER_PAT_D,jt.FINDER_PAT_D,jt.FINDER_PAT_F],[jt.FINDER_PAT_A,jt.FINDER_PAT_E,jt.FINDER_PAT_B,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_F,jt.FINDER_PAT_F],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_D],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_E],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_F,jt.FINDER_PAT_F],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_E,jt.FINDER_PAT_F,jt.FINDER_PAT_F]],jt.MAX_PAIRS=11;class qx extends $t{constructor(p,v,x){super(p,v),this.count=0,this.finderPattern=x}getFinderPattern(){return this.finderPattern}getCount(){return this.count}incrementCount(){this.count++}}class zr extends yt{constructor(){super(...arguments),this.possibleLeftPairs=[],this.possibleRightPairs=[]}decodeRow(p,v,x){const C=this.decodePair(v,!1,p,x);zr.addOrTally(this.possibleLeftPairs,C),v.reverse();let E=this.decodePair(v,!0,p,x);zr.addOrTally(this.possibleRightPairs,E),v.reverse();for(let A of this.possibleLeftPairs)if(A.getCount()>1){for(let O of this.possibleRightPairs)if(O.getCount()>1&&zr.checkChecksum(A,O))return zr.constructResult(A,O)}throw new U}static addOrTally(p,v){if(v==null)return;let x=!1;for(let C of p)if(C.getValue()===v.getValue()){C.incrementCount(),x=!0;break}x||p.push(v)}reset(){this.possibleLeftPairs.length=0,this.possibleRightPairs.length=0}static constructResult(p,v){let x=4537077*p.getValue()+v.getValue(),C=new String(x).toString(),E=new Z;for(let X=13-C.length;X>0;X--)E.append("0");E.append(C);let A=0;for(let X=0;X<13;X++){let ae=E.charAt(X).charCodeAt(0)-48;A+=(X&1)===0?3*ae:ae}A=10-A%10,A===10&&(A=0),E.append(A.toString());let O=p.getFinderPattern().getResultPoints(),V=v.getFinderPattern().getResultPoints();return new de(E.toString(),null,0,[O[0],O[1],V[0],V[1]],we.RSS_14,new Date().getTime())}static checkChecksum(p,v){let x=(p.getChecksumPortion()+16*v.getChecksumPortion())%79,C=9*p.getFinderPattern().getValue()+v.getFinderPattern().getValue();return C>72&&C--,C>8&&C--,x===C}decodePair(p,v,x,C){try{let E=this.findFinderPattern(p,v),A=this.parseFoundFinderPattern(p,x,v,E),O=C==null?null:C.get(P.NEED_RESULT_POINT_CALLBACK);if(O!=null){let ae=(E[0]+E[1])/2;v&&(ae=p.getSize()-1-ae),O.foundPossibleResultPoint(new _e(ae,x))}let V=this.decodeDataCharacter(p,A,!0),X=this.decodeDataCharacter(p,A,!1);return new qx(1597*V.getValue()+X.getValue(),V.getChecksumPortion()+4*X.getChecksumPortion(),A)}catch{return null}}decodeDataCharacter(p,v,x){let C=this.getDataCharacterCounters();for(let tt=0;tt<C.length;tt++)C[tt]=0;if(x)Ce.recordPatternInReverse(p,v.getStartEnd()[0],C);else{Ce.recordPattern(p,v.getStartEnd()[1]+1,C);for(let tt=0,ct=C.length-1;tt<ct;tt++,ct--){let Dt=C[tt];C[tt]=C[ct],C[ct]=Dt}}let E=x?16:15,A=Ue.sum(new Int32Array(C))/E,O=this.getOddCounts(),V=this.getEvenCounts(),X=this.getOddRoundingErrors(),ae=this.getEvenRoundingErrors();for(let tt=0;tt<C.length;tt++){let ct=C[tt]/A,Dt=Math.floor(ct+.5);Dt<1?Dt=1:Dt>8&&(Dt=8);let zt=Math.floor(tt/2);(tt&1)===0?(O[zt]=Dt,X[zt]=ct-Dt):(V[zt]=Dt,ae[zt]=ct-Dt)}this.adjustOddEvenCounts(x,E);let fe=0,be=0;for(let tt=O.length-1;tt>=0;tt--)be*=9,be+=O[tt],fe+=O[tt];let Ae=0,He=0;for(let tt=V.length-1;tt>=0;tt--)Ae*=9,Ae+=V[tt],He+=V[tt];let Ge=be+3*Ae;if(x){if((fe&1)!==0||fe>12||fe<4)throw new U;let tt=(12-fe)/2,ct=zr.OUTSIDE_ODD_WIDEST[tt],Dt=9-ct,zt=Bt.getRSSvalue(O,ct,!1),Nt=Bt.getRSSvalue(V,Dt,!0),Gn=zr.OUTSIDE_EVEN_TOTAL_SUBSET[tt],Mn=zr.OUTSIDE_GSUM[tt];return new $t(zt*Gn+Nt+Mn,Ge)}else{if((He&1)!==0||He>10||He<4)throw new U;let tt=(10-He)/2,ct=zr.INSIDE_ODD_WIDEST[tt],Dt=9-ct,zt=Bt.getRSSvalue(O,ct,!0),Nt=Bt.getRSSvalue(V,Dt,!1),Gn=zr.INSIDE_ODD_TOTAL_SUBSET[tt],Mn=zr.INSIDE_GSUM[tt];return new $t(Nt*Gn+zt+Mn,Ge)}}findFinderPattern(p,v){let x=this.getDecodeFinderCounters();x[0]=0,x[1]=0,x[2]=0,x[3]=0;let C=p.getSize(),E=!1,A=0;for(;A<C&&(E=!p.get(A),v!==E);)A++;let O=0,V=A;for(let X=A;X<C;X++)if(p.get(X)!==E)x[O]++;else{if(O===3){if(yt.isFinderPattern(x))return[V,X];V+=x[0]+x[1],x[0]=x[2],x[1]=x[3],x[2]=0,x[3]=0,O--}else O++;x[O]=1,E=!E}throw new U}parseFoundFinderPattern(p,v,x,C){let E=p.get(C[0]),A=C[0]-1;for(;A>=0&&E!==p.get(A);)A--;A++;const O=C[0]-A,V=this.getDecodeFinderCounters(),X=new Int32Array(V.length);b.arraycopy(V,0,X,1,V.length-1),X[0]=O;const ae=this.parseFinderValue(X,zr.FINDER_PATTERNS);let fe=A,be=C[1];return x&&(fe=p.getSize()-1-fe,be=p.getSize()-1-be),new bt(ae,[A,C[1]],fe,be,v)}adjustOddEvenCounts(p,v){let x=Ue.sum(new Int32Array(this.getOddCounts())),C=Ue.sum(new Int32Array(this.getEvenCounts())),E=!1,A=!1,O=!1,V=!1;p?(x>12?A=!0:x<4&&(E=!0),C>12?V=!0:C<4&&(O=!0)):(x>11?A=!0:x<5&&(E=!0),C>10?V=!0:C<4&&(O=!0));let X=x+C-v,ae=(x&1)===(p?1:0),fe=(C&1)===1;if(X===1)if(ae){if(fe)throw new U;A=!0}else{if(!fe)throw new U;V=!0}else if(X===-1)if(ae){if(fe)throw new U;E=!0}else{if(!fe)throw new U;O=!0}else if(X===0){if(ae){if(!fe)throw new U;x<C?(E=!0,V=!0):(A=!0,O=!0)}else if(fe)throw new U}else throw new U;if(E){if(A)throw new U;yt.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(A&&yt.decrement(this.getOddCounts(),this.getOddRoundingErrors()),O){if(V)throw new U;yt.increment(this.getEvenCounts(),this.getOddRoundingErrors())}V&&yt.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}zr.OUTSIDE_EVEN_TOTAL_SUBSET=[1,10,34,70,126],zr.INSIDE_ODD_TOTAL_SUBSET=[4,20,48,81],zr.OUTSIDE_GSUM=[0,161,961,2015,2715],zr.INSIDE_GSUM=[0,336,1036,1516],zr.OUTSIDE_ODD_WIDEST=[8,6,4,3,1],zr.INSIDE_ODD_WIDEST=[2,4,6,8],zr.FINDER_PATTERNS=[Int32Array.from([3,8,2,1]),Int32Array.from([3,5,5,1]),Int32Array.from([3,3,7,1]),Int32Array.from([3,1,9,1]),Int32Array.from([2,7,4,1]),Int32Array.from([2,5,6,1]),Int32Array.from([2,3,8,1]),Int32Array.from([1,5,7,1]),Int32Array.from([1,3,9,1])];class Nd extends Ce{constructor(p,v){super(),this.readers=[],this.verbose=v===!0;const x=p?p.get(P.POSSIBLE_FORMATS):null,C=p&&p.get(P.ASSUME_CODE_39_CHECK_DIGIT)!==void 0;x?((x.includes(we.EAN_13)||x.includes(we.UPC_A)||x.includes(we.EAN_8)||x.includes(we.UPC_E))&&this.readers.push(new Pt(p)),x.includes(we.CODE_39)&&this.readers.push(new We(C)),x.includes(we.CODE_128)&&this.readers.push(new me),x.includes(we.ITF)&&this.readers.push(new Xe),x.includes(we.RSS_14)&&this.readers.push(new zr),x.includes(we.RSS_EXPANDED)&&this.readers.push(new jt(this.verbose))):(this.readers.push(new Pt(p)),this.readers.push(new We),this.readers.push(new Pt(p)),this.readers.push(new me),this.readers.push(new Xe),this.readers.push(new zr),this.readers.push(new jt(this.verbose)))}decodeRow(p,v,x){for(let C=0;C<this.readers.length;C++)try{return this.readers[C].decodeRow(p,v,x)}catch{}throw new U}reset(){this.readers.forEach(p=>p.reset())}}class Kx extends re{constructor(p=500,v){super(new Nd(v),p,v)}}class ar{constructor(p,v,x){this.ecCodewords=p,this.ecBlocks=[v],x&&this.ecBlocks.push(x)}getECCodewords(){return this.ecCodewords}getECBlocks(){return this.ecBlocks}}class On{constructor(p,v){this.count=p,this.dataCodewords=v}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class Jn{constructor(p,v,x,C,E,A){this.versionNumber=p,this.symbolSizeRows=v,this.symbolSizeColumns=x,this.dataRegionSizeRows=C,this.dataRegionSizeColumns=E,this.ecBlocks=A;let O=0;const V=A.getECCodewords(),X=A.getECBlocks();for(let ae of X)O+=ae.getCount()*(ae.getDataCodewords()+V);this.totalCodewords=O}getVersionNumber(){return this.versionNumber}getSymbolSizeRows(){return this.symbolSizeRows}getSymbolSizeColumns(){return this.symbolSizeColumns}getDataRegionSizeRows(){return this.dataRegionSizeRows}getDataRegionSizeColumns(){return this.dataRegionSizeColumns}getTotalCodewords(){return this.totalCodewords}getECBlocks(){return this.ecBlocks}static getVersionForDimensions(p,v){if((p&1)!==0||(v&1)!==0)throw new L;for(let x of Jn.VERSIONS)if(x.symbolSizeRows===p&&x.symbolSizeColumns===v)return x;throw new L}toString(){return""+this.versionNumber}static buildVersions(){return[new Jn(1,10,10,8,8,new ar(5,new On(1,3))),new Jn(2,12,12,10,10,new ar(7,new On(1,5))),new Jn(3,14,14,12,12,new ar(10,new On(1,8))),new Jn(4,16,16,14,14,new ar(12,new On(1,12))),new Jn(5,18,18,16,16,new ar(14,new On(1,18))),new Jn(6,20,20,18,18,new ar(18,new On(1,22))),new Jn(7,22,22,20,20,new ar(20,new On(1,30))),new Jn(8,24,24,22,22,new ar(24,new On(1,36))),new Jn(9,26,26,24,24,new ar(28,new On(1,44))),new Jn(10,32,32,14,14,new ar(36,new On(1,62))),new Jn(11,36,36,16,16,new ar(42,new On(1,86))),new Jn(12,40,40,18,18,new ar(48,new On(1,114))),new Jn(13,44,44,20,20,new ar(56,new On(1,144))),new Jn(14,48,48,22,22,new ar(68,new On(1,174))),new Jn(15,52,52,24,24,new ar(42,new On(2,102))),new Jn(16,64,64,14,14,new ar(56,new On(2,140))),new Jn(17,72,72,16,16,new ar(36,new On(4,92))),new Jn(18,80,80,18,18,new ar(48,new On(4,114))),new Jn(19,88,88,20,20,new ar(56,new On(4,144))),new Jn(20,96,96,22,22,new ar(68,new On(4,174))),new Jn(21,104,104,24,24,new ar(56,new On(6,136))),new Jn(22,120,120,18,18,new ar(68,new On(6,175))),new Jn(23,132,132,20,20,new ar(62,new On(8,163))),new Jn(24,144,144,22,22,new ar(62,new On(8,156),new On(2,155))),new Jn(25,8,18,6,16,new ar(7,new On(1,5))),new Jn(26,8,32,6,14,new ar(11,new On(1,10))),new Jn(27,12,26,10,24,new ar(14,new On(1,16))),new Jn(28,12,36,10,16,new ar(18,new On(1,22))),new Jn(29,16,36,14,16,new ar(24,new On(1,32))),new Jn(30,16,48,14,22,new ar(28,new On(1,49)))]}}Jn.VERSIONS=Jn.buildVersions();class Ua{constructor(p){const v=p.getHeight();if(v<8||v>144||(v&1)!==0)throw new L;this.version=Ua.readVersion(p),this.mappingBitMatrix=this.extractDataRegion(p),this.readMappingMatrix=new W(this.mappingBitMatrix.getWidth(),this.mappingBitMatrix.getHeight())}getVersion(){return this.version}static readVersion(p){const v=p.getHeight(),x=p.getWidth();return Jn.getVersionForDimensions(v,x)}readCodewords(){const p=new Int8Array(this.version.getTotalCodewords());let v=0,x=4,C=0;const E=this.mappingBitMatrix.getHeight(),A=this.mappingBitMatrix.getWidth();let O=!1,V=!1,X=!1,ae=!1;do if(x===E&&C===0&&!O)p[v++]=this.readCorner1(E,A)&255,x-=2,C+=2,O=!0;else if(x===E-2&&C===0&&(A&3)!==0&&!V)p[v++]=this.readCorner2(E,A)&255,x-=2,C+=2,V=!0;else if(x===E+4&&C===2&&(A&7)===0&&!X)p[v++]=this.readCorner3(E,A)&255,x-=2,C+=2,X=!0;else if(x===E-2&&C===0&&(A&7)===4&&!ae)p[v++]=this.readCorner4(E,A)&255,x-=2,C+=2,ae=!0;else{do x<E&&C>=0&&!this.readMappingMatrix.get(C,x)&&(p[v++]=this.readUtah(x,C,E,A)&255),x-=2,C+=2;while(x>=0&&C<A);x+=1,C+=3;do x>=0&&C<A&&!this.readMappingMatrix.get(C,x)&&(p[v++]=this.readUtah(x,C,E,A)&255),x+=2,C-=2;while(x<E&&C>=0);x+=3,C+=1}while(x<E||C<A);if(v!==this.version.getTotalCodewords())throw new L;return p}readModule(p,v,x,C){return p<0&&(p+=x,v+=4-(x+4&7)),v<0&&(v+=C,p+=4-(C+4&7)),this.readMappingMatrix.set(v,p),this.mappingBitMatrix.get(v,p)}readUtah(p,v,x,C){let E=0;return this.readModule(p-2,v-2,x,C)&&(E|=1),E<<=1,this.readModule(p-2,v-1,x,C)&&(E|=1),E<<=1,this.readModule(p-1,v-2,x,C)&&(E|=1),E<<=1,this.readModule(p-1,v-1,x,C)&&(E|=1),E<<=1,this.readModule(p-1,v,x,C)&&(E|=1),E<<=1,this.readModule(p,v-2,x,C)&&(E|=1),E<<=1,this.readModule(p,v-1,x,C)&&(E|=1),E<<=1,this.readModule(p,v,x,C)&&(E|=1),E}readCorner1(p,v){let x=0;return this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,1,p,v)&&(x|=1),x<<=1,this.readModule(p-1,2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x<<=1,this.readModule(2,v-1,p,v)&&(x|=1),x<<=1,this.readModule(3,v-1,p,v)&&(x|=1),x}readCorner2(p,v){let x=0;return this.readModule(p-3,0,p,v)&&(x|=1),x<<=1,this.readModule(p-2,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(0,v-4,p,v)&&(x|=1),x<<=1,this.readModule(0,v-3,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x}readCorner3(p,v){let x=0;return this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,v-1,p,v)&&(x|=1),x<<=1,this.readModule(0,v-3,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-3,p,v)&&(x|=1),x<<=1,this.readModule(1,v-2,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x}readCorner4(p,v){let x=0;return this.readModule(p-3,0,p,v)&&(x|=1),x<<=1,this.readModule(p-2,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x<<=1,this.readModule(2,v-1,p,v)&&(x|=1),x<<=1,this.readModule(3,v-1,p,v)&&(x|=1),x}extractDataRegion(p){const v=this.version.getSymbolSizeRows(),x=this.version.getSymbolSizeColumns();if(p.getHeight()!==v)throw new f("Dimension of bitMatrix must match the version size");const C=this.version.getDataRegionSizeRows(),E=this.version.getDataRegionSizeColumns(),A=v/C|0,O=x/E|0,V=A*C,X=O*E,ae=new W(X,V);for(let fe=0;fe<A;++fe){const be=fe*C;for(let Ae=0;Ae<O;++Ae){const He=Ae*E;for(let Ge=0;Ge<C;++Ge){const tt=fe*(C+2)+1+Ge,ct=be+Ge;for(let Dt=0;Dt<E;++Dt){const zt=Ae*(E+2)+1+Dt;if(p.get(zt,tt)){const Nt=He+Dt;ae.set(Nt,ct)}}}}}return ae}}class wv{constructor(p,v){this.numDataCodewords=p,this.codewords=v}static getDataBlocks(p,v){const x=v.getECBlocks();let C=0;const E=x.getECBlocks();for(let Ge of E)C+=Ge.getCount();const A=new Array(C);let O=0;for(let Ge of E)for(let tt=0;tt<Ge.getCount();tt++){const ct=Ge.getDataCodewords(),Dt=x.getECCodewords()+ct;A[O++]=new wv(ct,new Uint8Array(Dt))}const X=A[0].codewords.length-x.getECCodewords(),ae=X-1;let fe=0;for(let Ge=0;Ge<ae;Ge++)for(let tt=0;tt<O;tt++)A[tt].codewords[Ge]=p[fe++];const be=v.getVersionNumber()===24,Ae=be?8:O;for(let Ge=0;Ge<Ae;Ge++)A[Ge].codewords[X-1]=p[fe++];const He=A[0].codewords.length;for(let Ge=X;Ge<He;Ge++)for(let tt=0;tt<O;tt++){const ct=be?(tt+8)%O:tt,Dt=be&&ct>7?Ge-1:Ge;A[ct].codewords[Dt]=p[fe++]}if(fe!==p.length)throw new f;return A}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}class bv{constructor(p){this.bytes=p,this.byteOffset=0,this.bitOffset=0}getBitOffset(){return this.bitOffset}getByteOffset(){return this.byteOffset}readBits(p){if(p<1||p>32||p>this.available())throw new f(""+p);let v=0,x=this.bitOffset,C=this.byteOffset;const E=this.bytes;if(x>0){const A=8-x,O=p<A?p:A,V=A-O,X=255>>8-O<<V;v=(E[C]&X)>>V,p-=O,x+=O,x===8&&(x=0,C++)}if(p>0){for(;p>=8;)v=v<<8|E[C]&255,C++,p-=8;if(p>0){const A=8-p,O=255>>A<<A;v=v<<p|(E[C]&O)>>A,x+=p}}return this.bitOffset=x,this.byteOffset=C,v}available(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset}}var Lo;(function(ue){ue[ue.PAD_ENCODE=0]="PAD_ENCODE",ue[ue.ASCII_ENCODE=1]="ASCII_ENCODE",ue[ue.C40_ENCODE=2]="C40_ENCODE",ue[ue.TEXT_ENCODE=3]="TEXT_ENCODE",ue[ue.ANSIX12_ENCODE=4]="ANSIX12_ENCODE",ue[ue.EDIFACT_ENCODE=5]="EDIFACT_ENCODE",ue[ue.BASE256_ENCODE=6]="BASE256_ENCODE"})(Lo||(Lo={}));class zi{static decode(p){const v=new bv(p),x=new Z,C=new Z,E=new Array;let A=Lo.ASCII_ENCODE;do if(A===Lo.ASCII_ENCODE)A=this.decodeAsciiSegment(v,x,C);else{switch(A){case Lo.C40_ENCODE:this.decodeC40Segment(v,x);break;case Lo.TEXT_ENCODE:this.decodeTextSegment(v,x);break;case Lo.ANSIX12_ENCODE:this.decodeAnsiX12Segment(v,x);break;case Lo.EDIFACT_ENCODE:this.decodeEdifactSegment(v,x);break;case Lo.BASE256_ENCODE:this.decodeBase256Segment(v,x,E);break;default:throw new L}A=Lo.ASCII_ENCODE}while(A!==Lo.PAD_ENCODE&&v.available()>0);return C.length()>0&&x.append(C.toString()),new pe(p,x.toString(),E.length===0?null:E,null)}static decodeAsciiSegment(p,v,x){let C=!1;do{let E=p.readBits(8);if(E===0)throw new L;if(E<=128)return C&&(E+=128),v.append(String.fromCharCode(E-1)),Lo.ASCII_ENCODE;if(E===129)return Lo.PAD_ENCODE;if(E<=229){const A=E-130;A<10&&v.append("0"),v.append(""+A)}else switch(E){case 230:return Lo.C40_ENCODE;case 231:return Lo.BASE256_ENCODE;case 232:v.append("");break;case 233:case 234:break;case 235:C=!0;break;case 236:v.append("[)>05"),x.insert(0,"");break;case 237:v.append("[)>06"),x.insert(0,"");break;case 238:return Lo.ANSIX12_ENCODE;case 239:return Lo.TEXT_ENCODE;case 240:return Lo.EDIFACT_ENCODE;case 241:break;default:if(E!==254||p.available()!==0)throw new L;break}}while(p.available()>0);return Lo.ASCII_ENCODE}static decodeC40Segment(p,v){let x=!1;const C=[];let E=0;do{if(p.available()===8)return;const A=p.readBits(8);if(A===254)return;this.parseTwoBytes(A,p.readBits(8),C);for(let O=0;O<3;O++){const V=C[O];switch(E){case 0:if(V<3)E=V+1;else if(V<this.C40_BASIC_SET_CHARS.length){const X=this.C40_BASIC_SET_CHARS[V];x?(v.append(String.fromCharCode(X.charCodeAt(0)+128)),x=!1):v.append(X)}else throw new L;break;case 1:x?(v.append(String.fromCharCode(V+128)),x=!1):v.append(String.fromCharCode(V)),E=0;break;case 2:if(V<this.C40_SHIFT2_SET_CHARS.length){const X=this.C40_SHIFT2_SET_CHARS[V];x?(v.append(String.fromCharCode(X.charCodeAt(0)+128)),x=!1):v.append(X)}else switch(V){case 27:v.append("");break;case 30:x=!0;break;default:throw new L}E=0;break;case 3:x?(v.append(String.fromCharCode(V+224)),x=!1):v.append(String.fromCharCode(V+96)),E=0;break;default:throw new L}}}while(p.available()>0)}static decodeTextSegment(p,v){let x=!1,C=[],E=0;do{if(p.available()===8)return;const A=p.readBits(8);if(A===254)return;this.parseTwoBytes(A,p.readBits(8),C);for(let O=0;O<3;O++){const V=C[O];switch(E){case 0:if(V<3)E=V+1;else if(V<this.TEXT_BASIC_SET_CHARS.length){const X=this.TEXT_BASIC_SET_CHARS[V];x?(v.append(String.fromCharCode(X.charCodeAt(0)+128)),x=!1):v.append(X)}else throw new L;break;case 1:x?(v.append(String.fromCharCode(V+128)),x=!1):v.append(String.fromCharCode(V)),E=0;break;case 2:if(V<this.TEXT_SHIFT2_SET_CHARS.length){const X=this.TEXT_SHIFT2_SET_CHARS[V];x?(v.append(String.fromCharCode(X.charCodeAt(0)+128)),x=!1):v.append(X)}else switch(V){case 27:v.append("");break;case 30:x=!0;break;default:throw new L}E=0;break;case 3:if(V<this.TEXT_SHIFT3_SET_CHARS.length){const X=this.TEXT_SHIFT3_SET_CHARS[V];x?(v.append(String.fromCharCode(X.charCodeAt(0)+128)),x=!1):v.append(X),E=0}else throw new L;break;default:throw new L}}}while(p.available()>0)}static decodeAnsiX12Segment(p,v){const x=[];do{if(p.available()===8)return;const C=p.readBits(8);if(C===254)return;this.parseTwoBytes(C,p.readBits(8),x);for(let E=0;E<3;E++){const A=x[E];switch(A){case 0:v.append("\r");break;case 1:v.append("*");break;case 2:v.append(">");break;case 3:v.append(" ");break;default:if(A<14)v.append(String.fromCharCode(A+44));else if(A<40)v.append(String.fromCharCode(A+51));else throw new L;break}}}while(p.available()>0)}static parseTwoBytes(p,v,x){let C=(p<<8)+v-1,E=Math.floor(C/1600);x[0]=E,C-=E*1600,E=Math.floor(C/40),x[1]=E,x[2]=C-E*40}static decodeEdifactSegment(p,v){do{if(p.available()<=16)return;for(let x=0;x<4;x++){let C=p.readBits(6);if(C===31){const E=8-p.getBitOffset();E!==8&&p.readBits(E);return}(C&32)===0&&(C|=64),v.append(String.fromCharCode(C))}}while(p.available()>0)}static decodeBase256Segment(p,v,x){let C=1+p.getByteOffset();const E=this.unrandomize255State(p.readBits(8),C++);let A;if(E===0?A=p.available()/8|0:E<250?A=E:A=250*(E-249)+this.unrandomize255State(p.readBits(8),C++),A<0)throw new L;const O=new Uint8Array(A);for(let V=0;V<A;V++){if(p.available()<8)throw new L;O[V]=this.unrandomize255State(p.readBits(8),C++)}x.push(O);try{v.append(z.decode(O,G.ISO88591))}catch(V){throw new Ie("Platform does not support required encoding: "+V.message)}}static unrandomize255State(p,v){const x=149*v%255+1,C=p-x;return C>=0?C:C+256}}zi.C40_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],zi.C40_SHIFT2_SET_CHARS=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_"],zi.TEXT_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],zi.TEXT_SHIFT2_SET_CHARS=zi.C40_SHIFT2_SET_CHARS,zi.TEXT_SHIFT3_SET_CHARS=["`","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","{","|","}","~",""];class c1{constructor(){this.rsDecoder=new Ve(ye.DATA_MATRIX_FIELD_256)}decode(p){const v=new Ua(p),x=v.getVersion(),C=v.readCodewords(),E=wv.getDataBlocks(C,x);let A=0;for(let X of E)A+=X.getNumDataCodewords();const O=new Uint8Array(A),V=E.length;for(let X=0;X<V;X++){const ae=E[X],fe=ae.getCodewords(),be=ae.getNumDataCodewords();this.correctErrors(fe,be);for(let Ae=0;Ae<be;Ae++)O[Ae*V+X]=fe[Ae]}return zi.decode(O)}correctErrors(p,v){const x=new Int32Array(p);try{this.rsDecoder.decode(x,p.length-v)}catch{throw new g}for(let C=0;C<v;C++)p[C]=x[C]}}class Fr{constructor(p){this.image=p,this.rectangleDetector=new ht(this.image)}detect(){const p=this.rectangleDetector.detect();let v=this.detectSolid1(p);if(v=this.detectSolid2(v),v[3]=this.correctTopRight(v),!v[3])throw new U;v=this.shiftToModuleCenter(v);const x=v[0],C=v[1],E=v[2],A=v[3];let O=this.transitionsBetween(x,A)+1,V=this.transitionsBetween(E,A)+1;(O&1)===1&&(O+=1),(V&1)===1&&(V+=1),4*O<7*V&&4*V<7*O&&(O=V=Math.max(O,V));let X=Fr.sampleGrid(this.image,x,C,E,A,O,V);return new et(X,[x,C,E,A])}static shiftPoint(p,v,x){let C=(v.getX()-p.getX())/(x+1),E=(v.getY()-p.getY())/(x+1);return new _e(p.getX()+C,p.getY()+E)}static moveAway(p,v,x){let C=p.getX(),E=p.getY();return C<v?C-=1:C+=1,E<x?E-=1:E+=1,new _e(C,E)}detectSolid1(p){let v=p[0],x=p[1],C=p[3],E=p[2],A=this.transitionsBetween(v,x),O=this.transitionsBetween(x,C),V=this.transitionsBetween(C,E),X=this.transitionsBetween(E,v),ae=A,fe=[E,v,x,C];return ae>O&&(ae=O,fe[0]=v,fe[1]=x,fe[2]=C,fe[3]=E),ae>V&&(ae=V,fe[0]=x,fe[1]=C,fe[2]=E,fe[3]=v),ae>X&&(fe[0]=C,fe[1]=E,fe[2]=v,fe[3]=x),fe}detectSolid2(p){let v=p[0],x=p[1],C=p[2],E=p[3],A=this.transitionsBetween(v,E),O=Fr.shiftPoint(x,C,(A+1)*4),V=Fr.shiftPoint(C,x,(A+1)*4),X=this.transitionsBetween(O,v),ae=this.transitionsBetween(V,E);return X<ae?(p[0]=v,p[1]=x,p[2]=C,p[3]=E):(p[0]=x,p[1]=C,p[2]=E,p[3]=v),p}correctTopRight(p){let v=p[0],x=p[1],C=p[2],E=p[3],A=this.transitionsBetween(v,E),O=this.transitionsBetween(x,E),V=Fr.shiftPoint(v,x,(O+1)*4),X=Fr.shiftPoint(C,x,(A+1)*4);A=this.transitionsBetween(V,E),O=this.transitionsBetween(X,E);let ae=new _e(E.getX()+(C.getX()-x.getX())/(A+1),E.getY()+(C.getY()-x.getY())/(A+1)),fe=new _e(E.getX()+(v.getX()-x.getX())/(O+1),E.getY()+(v.getY()-x.getY())/(O+1));if(!this.isValid(ae))return this.isValid(fe)?fe:null;if(!this.isValid(fe))return ae;let be=this.transitionsBetween(V,ae)+this.transitionsBetween(X,ae),Ae=this.transitionsBetween(V,fe)+this.transitionsBetween(X,fe);return be>Ae?ae:fe}shiftToModuleCenter(p){let v=p[0],x=p[1],C=p[2],E=p[3],A=this.transitionsBetween(v,E)+1,O=this.transitionsBetween(C,E)+1,V=Fr.shiftPoint(v,x,O*4),X=Fr.shiftPoint(C,x,A*4);A=this.transitionsBetween(V,E)+1,O=this.transitionsBetween(X,E)+1,(A&1)===1&&(A+=1),(O&1)===1&&(O+=1);let ae=(v.getX()+x.getX()+C.getX()+E.getX())/4,fe=(v.getY()+x.getY()+C.getY()+E.getY())/4;v=Fr.moveAway(v,ae,fe),x=Fr.moveAway(x,ae,fe),C=Fr.moveAway(C,ae,fe),E=Fr.moveAway(E,ae,fe);let be,Ae;return V=Fr.shiftPoint(v,x,O*4),V=Fr.shiftPoint(V,E,A*4),be=Fr.shiftPoint(x,v,O*4),be=Fr.shiftPoint(be,C,A*4),X=Fr.shiftPoint(C,E,O*4),X=Fr.shiftPoint(X,x,A*4),Ae=Fr.shiftPoint(E,C,O*4),Ae=Fr.shiftPoint(Ae,v,A*4),[V,be,X,Ae]}isValid(p){return p.getX()>=0&&p.getX()<this.image.getWidth()&&p.getY()>0&&p.getY()<this.image.getHeight()}static sampleGrid(p,v,x,C,E,A,O){return K.getInstance().sampleGrid(p,A,O,.5,.5,A-.5,.5,A-.5,O-.5,.5,O-.5,v.getX(),v.getY(),E.getX(),E.getY(),C.getX(),C.getY(),x.getX(),x.getY())}transitionsBetween(p,v){let x=Math.trunc(p.getX()),C=Math.trunc(p.getY()),E=Math.trunc(v.getX()),A=Math.trunc(v.getY()),O=Math.abs(A-C)>Math.abs(E-x);if(O){let Ge=x;x=C,C=Ge,Ge=E,E=A,A=Ge}let V=Math.abs(E-x),X=Math.abs(A-C),ae=-V/2,fe=C<A?1:-1,be=x<E?1:-1,Ae=0,He=this.image.get(O?C:x,O?x:C);for(let Ge=x,tt=C;Ge!==E;Ge+=be){let ct=this.image.get(O?tt:Ge,O?Ge:tt);if(ct!==He&&(Ae++,He=ct),ae+=X,ae>0){if(tt===A)break;tt+=fe,ae-=V}}return Ae}}class Fi{constructor(){this.decoder=new c1}decode(p,v=null){let x,C;if(v!=null&&v.has(P.PURE_BARCODE)){const X=Fi.extractPureBits(p.getBlackMatrix());x=this.decoder.decode(X),C=Fi.NO_POINTS}else{const X=new Fr(p.getBlackMatrix()).detect();x=this.decoder.decode(X.getBits()),C=X.getPoints()}const E=x.getRawBytes(),A=new de(x.getText(),E,8*E.length,C,we.DATA_MATRIX,b.currentTimeMillis()),O=x.getByteSegments();O!=null&&A.putMetadata(ce.BYTE_SEGMENTS,O);const V=x.getECLevel();return V!=null&&A.putMetadata(ce.ERROR_CORRECTION_LEVEL,V),A}reset(){}static extractPureBits(p){const v=p.getTopLeftOnBit(),x=p.getBottomRightOnBit();if(v==null||x==null)throw new U;const C=this.moduleSize(v,p);let E=v[1];const A=x[1];let O=v[0];const X=(x[0]-O+1)/C,ae=(A-E+1)/C;if(X<=0||ae<=0)throw new U;const fe=C/2;E+=fe,O+=fe;const be=new W(X,ae);for(let Ae=0;Ae<ae;Ae++){const He=E+Ae*C;for(let Ge=0;Ge<X;Ge++)p.get(O+Ge*C,He)&&be.set(Ge,Ae)}return be}static moduleSize(p,v){const x=v.getWidth();let C=p[0];const E=p[1];for(;C<x&&v.get(C,E);)C++;if(C===x)throw new U;const A=C-p[0];if(A===0)throw new U;return A}}Fi.NO_POINTS=[];class QE extends re{constructor(p=500){super(new Fi,p)}}var Id;(function(ue){ue[ue.L=0]="L",ue[ue.M=1]="M",ue[ue.Q=2]="Q",ue[ue.H=3]="H"})(Id||(Id={}));class Ar{constructor(p,v,x){this.value=p,this.stringValue=v,this.bits=x,Ar.FOR_BITS.set(x,this),Ar.FOR_VALUE.set(p,this)}getValue(){return this.value}getBits(){return this.bits}static fromString(p){switch(p){case"L":return Ar.L;case"M":return Ar.M;case"Q":return Ar.Q;case"H":return Ar.H;default:throw new d(p+"not available")}}toString(){return this.stringValue}equals(p){if(!(p instanceof Ar))return!1;const v=p;return this.value===v.value}static forBits(p){if(p<0||p>=Ar.FOR_BITS.size)throw new f;return Ar.FOR_BITS.get(p)}}Ar.FOR_BITS=new Map,Ar.FOR_VALUE=new Map,Ar.L=new Ar(Id.L,"L",1),Ar.M=new Ar(Id.M,"M",0),Ar.Q=new Ar(Id.Q,"Q",3),Ar.H=new Ar(Id.H,"H",2);class rs{constructor(p){this.errorCorrectionLevel=Ar.forBits(p>>3&3),this.dataMask=p&7}static numBitsDiffering(p,v){return N.bitCount(p^v)}static decodeFormatInformation(p,v){const x=rs.doDecodeFormatInformation(p,v);return x!==null?x:rs.doDecodeFormatInformation(p^rs.FORMAT_INFO_MASK_QR,v^rs.FORMAT_INFO_MASK_QR)}static doDecodeFormatInformation(p,v){let x=Number.MAX_SAFE_INTEGER,C=0;for(const E of rs.FORMAT_INFO_DECODE_LOOKUP){const A=E[0];if(A===p||A===v)return new rs(E[1]);let O=rs.numBitsDiffering(p,A);O<x&&(C=E[1],x=O),p!==v&&(O=rs.numBitsDiffering(v,A),O<x&&(C=E[1],x=O))}return x<=3?new rs(C):null}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getDataMask(){return this.dataMask}hashCode(){return this.errorCorrectionLevel.getBits()<<3|this.dataMask}equals(p){if(!(p instanceof rs))return!1;const v=p;return this.errorCorrectionLevel===v.errorCorrectionLevel&&this.dataMask===v.dataMask}}rs.FORMAT_INFO_MASK_QR=21522,rs.FORMAT_INFO_DECODE_LOOKUP=[Int32Array.from([21522,0]),Int32Array.from([20773,1]),Int32Array.from([24188,2]),Int32Array.from([23371,3]),Int32Array.from([17913,4]),Int32Array.from([16590,5]),Int32Array.from([20375,6]),Int32Array.from([19104,7]),Int32Array.from([30660,8]),Int32Array.from([29427,9]),Int32Array.from([32170,10]),Int32Array.from([30877,11]),Int32Array.from([26159,12]),Int32Array.from([25368,13]),Int32Array.from([27713,14]),Int32Array.from([26998,15]),Int32Array.from([5769,16]),Int32Array.from([5054,17]),Int32Array.from([7399,18]),Int32Array.from([6608,19]),Int32Array.from([1890,20]),Int32Array.from([597,21]),Int32Array.from([3340,22]),Int32Array.from([2107,23]),Int32Array.from([13663,24]),Int32Array.from([12392,25]),Int32Array.from([16177,26]),Int32Array.from([14854,27]),Int32Array.from([9396,28]),Int32Array.from([8579,29]),Int32Array.from([11994,30]),Int32Array.from([11245,31])];class ot{constructor(p,...v){this.ecCodewordsPerBlock=p,this.ecBlocks=v}getECCodewordsPerBlock(){return this.ecCodewordsPerBlock}getNumBlocks(){let p=0;const v=this.ecBlocks;for(const x of v)p+=x.getCount();return p}getTotalECCodewords(){return this.ecCodewordsPerBlock*this.getNumBlocks()}getECBlocks(){return this.ecBlocks}}class Ne{constructor(p,v){this.count=p,this.dataCodewords=v}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class pn{constructor(p,v,...x){this.versionNumber=p,this.alignmentPatternCenters=v,this.ecBlocks=x;let C=0;const E=x[0].getECCodewordsPerBlock(),A=x[0].getECBlocks();for(const O of A)C+=O.getCount()*(O.getDataCodewords()+E);this.totalCodewords=C}getVersionNumber(){return this.versionNumber}getAlignmentPatternCenters(){return this.alignmentPatternCenters}getTotalCodewords(){return this.totalCodewords}getDimensionForVersion(){return 17+4*this.versionNumber}getECBlocksForLevel(p){return this.ecBlocks[p.getValue()]}static getProvisionalVersionForDimension(p){if(p%4!==1)throw new L;try{return this.getVersionForNumber((p-17)/4)}catch{throw new L}}static getVersionForNumber(p){if(p<1||p>40)throw new f;return pn.VERSIONS[p-1]}static decodeVersionInformation(p){let v=Number.MAX_SAFE_INTEGER,x=0;for(let C=0;C<pn.VERSION_DECODE_INFO.length;C++){const E=pn.VERSION_DECODE_INFO[C];if(E===p)return pn.getVersionForNumber(C+7);const A=rs.numBitsDiffering(p,E);A<v&&(x=C+7,v=A)}return v<=3?pn.getVersionForNumber(x):null}buildFunctionPattern(){const p=this.getDimensionForVersion(),v=new W(p);v.setRegion(0,0,9,9),v.setRegion(p-8,0,8,9),v.setRegion(0,p-8,9,8);const x=this.alignmentPatternCenters.length;for(let C=0;C<x;C++){const E=this.alignmentPatternCenters[C]-2;for(let A=0;A<x;A++)C===0&&(A===0||A===x-1)||C===x-1&&A===0||v.setRegion(this.alignmentPatternCenters[A]-2,E,5,5)}return v.setRegion(6,9,1,p-17),v.setRegion(9,6,p-17,1),this.versionNumber>6&&(v.setRegion(p-11,0,3,6),v.setRegion(0,p-11,6,3)),v}toString(){return""+this.versionNumber}}pn.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),pn.VERSIONS=[new pn(1,new Int32Array(0),new ot(7,new Ne(1,19)),new ot(10,new Ne(1,16)),new ot(13,new Ne(1,13)),new ot(17,new Ne(1,9))),new pn(2,Int32Array.from([6,18]),new ot(10,new Ne(1,34)),new ot(16,new Ne(1,28)),new ot(22,new Ne(1,22)),new ot(28,new Ne(1,16))),new pn(3,Int32Array.from([6,22]),new ot(15,new Ne(1,55)),new ot(26,new Ne(1,44)),new ot(18,new Ne(2,17)),new ot(22,new Ne(2,13))),new pn(4,Int32Array.from([6,26]),new ot(20,new Ne(1,80)),new ot(18,new Ne(2,32)),new ot(26,new Ne(2,24)),new ot(16,new Ne(4,9))),new pn(5,Int32Array.from([6,30]),new ot(26,new Ne(1,108)),new ot(24,new Ne(2,43)),new ot(18,new Ne(2,15),new Ne(2,16)),new ot(22,new Ne(2,11),new Ne(2,12))),new pn(6,Int32Array.from([6,34]),new ot(18,new Ne(2,68)),new ot(16,new Ne(4,27)),new ot(24,new Ne(4,19)),new ot(28,new Ne(4,15))),new pn(7,Int32Array.from([6,22,38]),new ot(20,new Ne(2,78)),new ot(18,new Ne(4,31)),new ot(18,new Ne(2,14),new Ne(4,15)),new ot(26,new Ne(4,13),new Ne(1,14))),new pn(8,Int32Array.from([6,24,42]),new ot(24,new Ne(2,97)),new ot(22,new Ne(2,38),new Ne(2,39)),new ot(22,new Ne(4,18),new Ne(2,19)),new ot(26,new Ne(4,14),new Ne(2,15))),new pn(9,Int32Array.from([6,26,46]),new ot(30,new Ne(2,116)),new ot(22,new Ne(3,36),new Ne(2,37)),new ot(20,new Ne(4,16),new Ne(4,17)),new ot(24,new Ne(4,12),new Ne(4,13))),new pn(10,Int32Array.from([6,28,50]),new ot(18,new Ne(2,68),new Ne(2,69)),new ot(26,new Ne(4,43),new Ne(1,44)),new ot(24,new Ne(6,19),new Ne(2,20)),new ot(28,new Ne(6,15),new Ne(2,16))),new pn(11,Int32Array.from([6,30,54]),new ot(20,new Ne(4,81)),new ot(30,new Ne(1,50),new Ne(4,51)),new ot(28,new Ne(4,22),new Ne(4,23)),new ot(24,new Ne(3,12),new Ne(8,13))),new pn(12,Int32Array.from([6,32,58]),new ot(24,new Ne(2,92),new Ne(2,93)),new ot(22,new Ne(6,36),new Ne(2,37)),new ot(26,new Ne(4,20),new Ne(6,21)),new ot(28,new Ne(7,14),new Ne(4,15))),new pn(13,Int32Array.from([6,34,62]),new ot(26,new Ne(4,107)),new ot(22,new Ne(8,37),new Ne(1,38)),new ot(24,new Ne(8,20),new Ne(4,21)),new ot(22,new Ne(12,11),new Ne(4,12))),new pn(14,Int32Array.from([6,26,46,66]),new ot(30,new Ne(3,115),new Ne(1,116)),new ot(24,new Ne(4,40),new Ne(5,41)),new ot(20,new Ne(11,16),new Ne(5,17)),new ot(24,new Ne(11,12),new Ne(5,13))),new pn(15,Int32Array.from([6,26,48,70]),new ot(22,new Ne(5,87),new Ne(1,88)),new ot(24,new Ne(5,41),new Ne(5,42)),new ot(30,new Ne(5,24),new Ne(7,25)),new ot(24,new Ne(11,12),new Ne(7,13))),new pn(16,Int32Array.from([6,26,50,74]),new ot(24,new Ne(5,98),new Ne(1,99)),new ot(28,new Ne(7,45),new Ne(3,46)),new ot(24,new Ne(15,19),new Ne(2,20)),new ot(30,new Ne(3,15),new Ne(13,16))),new pn(17,Int32Array.from([6,30,54,78]),new ot(28,new Ne(1,107),new Ne(5,108)),new ot(28,new Ne(10,46),new Ne(1,47)),new ot(28,new Ne(1,22),new Ne(15,23)),new ot(28,new Ne(2,14),new Ne(17,15))),new pn(18,Int32Array.from([6,30,56,82]),new ot(30,new Ne(5,120),new Ne(1,121)),new ot(26,new Ne(9,43),new Ne(4,44)),new ot(28,new Ne(17,22),new Ne(1,23)),new ot(28,new Ne(2,14),new Ne(19,15))),new pn(19,Int32Array.from([6,30,58,86]),new ot(28,new Ne(3,113),new Ne(4,114)),new ot(26,new Ne(3,44),new Ne(11,45)),new ot(26,new Ne(17,21),new Ne(4,22)),new ot(26,new Ne(9,13),new Ne(16,14))),new pn(20,Int32Array.from([6,34,62,90]),new ot(28,new Ne(3,107),new Ne(5,108)),new ot(26,new Ne(3,41),new Ne(13,42)),new ot(30,new Ne(15,24),new Ne(5,25)),new ot(28,new Ne(15,15),new Ne(10,16))),new pn(21,Int32Array.from([6,28,50,72,94]),new ot(28,new Ne(4,116),new Ne(4,117)),new ot(26,new Ne(17,42)),new ot(28,new Ne(17,22),new Ne(6,23)),new ot(30,new Ne(19,16),new Ne(6,17))),new pn(22,Int32Array.from([6,26,50,74,98]),new ot(28,new Ne(2,111),new Ne(7,112)),new ot(28,new Ne(17,46)),new ot(30,new Ne(7,24),new Ne(16,25)),new ot(24,new Ne(34,13))),new pn(23,Int32Array.from([6,30,54,78,102]),new ot(30,new Ne(4,121),new Ne(5,122)),new ot(28,new Ne(4,47),new Ne(14,48)),new ot(30,new Ne(11,24),new Ne(14,25)),new ot(30,new Ne(16,15),new Ne(14,16))),new pn(24,Int32Array.from([6,28,54,80,106]),new ot(30,new Ne(6,117),new Ne(4,118)),new ot(28,new Ne(6,45),new Ne(14,46)),new ot(30,new Ne(11,24),new Ne(16,25)),new ot(30,new Ne(30,16),new Ne(2,17))),new pn(25,Int32Array.from([6,32,58,84,110]),new ot(26,new Ne(8,106),new Ne(4,107)),new ot(28,new Ne(8,47),new Ne(13,48)),new ot(30,new Ne(7,24),new Ne(22,25)),new ot(30,new Ne(22,15),new Ne(13,16))),new pn(26,Int32Array.from([6,30,58,86,114]),new ot(28,new Ne(10,114),new Ne(2,115)),new ot(28,new Ne(19,46),new Ne(4,47)),new ot(28,new Ne(28,22),new Ne(6,23)),new ot(30,new Ne(33,16),new Ne(4,17))),new pn(27,Int32Array.from([6,34,62,90,118]),new ot(30,new Ne(8,122),new Ne(4,123)),new ot(28,new Ne(22,45),new Ne(3,46)),new ot(30,new Ne(8,23),new Ne(26,24)),new ot(30,new Ne(12,15),new Ne(28,16))),new pn(28,Int32Array.from([6,26,50,74,98,122]),new ot(30,new Ne(3,117),new Ne(10,118)),new ot(28,new Ne(3,45),new Ne(23,46)),new ot(30,new Ne(4,24),new Ne(31,25)),new ot(30,new Ne(11,15),new Ne(31,16))),new pn(29,Int32Array.from([6,30,54,78,102,126]),new ot(30,new Ne(7,116),new Ne(7,117)),new ot(28,new Ne(21,45),new Ne(7,46)),new ot(30,new Ne(1,23),new Ne(37,24)),new ot(30,new Ne(19,15),new Ne(26,16))),new pn(30,Int32Array.from([6,26,52,78,104,130]),new ot(30,new Ne(5,115),new Ne(10,116)),new ot(28,new Ne(19,47),new Ne(10,48)),new ot(30,new Ne(15,24),new Ne(25,25)),new ot(30,new Ne(23,15),new Ne(25,16))),new pn(31,Int32Array.from([6,30,56,82,108,134]),new ot(30,new Ne(13,115),new Ne(3,116)),new ot(28,new Ne(2,46),new Ne(29,47)),new ot(30,new Ne(42,24),new Ne(1,25)),new ot(30,new Ne(23,15),new Ne(28,16))),new pn(32,Int32Array.from([6,34,60,86,112,138]),new ot(30,new Ne(17,115)),new ot(28,new Ne(10,46),new Ne(23,47)),new ot(30,new Ne(10,24),new Ne(35,25)),new ot(30,new Ne(19,15),new Ne(35,16))),new pn(33,Int32Array.from([6,30,58,86,114,142]),new ot(30,new Ne(17,115),new Ne(1,116)),new ot(28,new Ne(14,46),new Ne(21,47)),new ot(30,new Ne(29,24),new Ne(19,25)),new ot(30,new Ne(11,15),new Ne(46,16))),new pn(34,Int32Array.from([6,34,62,90,118,146]),new ot(30,new Ne(13,115),new Ne(6,116)),new ot(28,new Ne(14,46),new Ne(23,47)),new ot(30,new Ne(44,24),new Ne(7,25)),new ot(30,new Ne(59,16),new Ne(1,17))),new pn(35,Int32Array.from([6,30,54,78,102,126,150]),new ot(30,new Ne(12,121),new Ne(7,122)),new ot(28,new Ne(12,47),new Ne(26,48)),new ot(30,new Ne(39,24),new Ne(14,25)),new ot(30,new Ne(22,15),new Ne(41,16))),new pn(36,Int32Array.from([6,24,50,76,102,128,154]),new ot(30,new Ne(6,121),new Ne(14,122)),new ot(28,new Ne(6,47),new Ne(34,48)),new ot(30,new Ne(46,24),new Ne(10,25)),new ot(30,new Ne(2,15),new Ne(64,16))),new pn(37,Int32Array.from([6,28,54,80,106,132,158]),new ot(30,new Ne(17,122),new Ne(4,123)),new ot(28,new Ne(29,46),new Ne(14,47)),new ot(30,new Ne(49,24),new Ne(10,25)),new ot(30,new Ne(24,15),new Ne(46,16))),new pn(38,Int32Array.from([6,32,58,84,110,136,162]),new ot(30,new Ne(4,122),new Ne(18,123)),new ot(28,new Ne(13,46),new Ne(32,47)),new ot(30,new Ne(48,24),new Ne(14,25)),new ot(30,new Ne(42,15),new Ne(32,16))),new pn(39,Int32Array.from([6,26,54,82,110,138,166]),new ot(30,new Ne(20,117),new Ne(4,118)),new ot(28,new Ne(40,47),new Ne(7,48)),new ot(30,new Ne(43,24),new Ne(22,25)),new ot(30,new Ne(10,15),new Ne(67,16))),new pn(40,Int32Array.from([6,30,58,86,114,142,170]),new ot(30,new Ne(19,118),new Ne(6,119)),new ot(28,new Ne(18,47),new Ne(31,48)),new ot(30,new Ne(34,24),new Ne(34,25)),new ot(30,new Ne(20,15),new Ne(61,16)))];var Eo;(function(ue){ue[ue.DATA_MASK_000=0]="DATA_MASK_000",ue[ue.DATA_MASK_001=1]="DATA_MASK_001",ue[ue.DATA_MASK_010=2]="DATA_MASK_010",ue[ue.DATA_MASK_011=3]="DATA_MASK_011",ue[ue.DATA_MASK_100=4]="DATA_MASK_100",ue[ue.DATA_MASK_101=5]="DATA_MASK_101",ue[ue.DATA_MASK_110=6]="DATA_MASK_110",ue[ue.DATA_MASK_111=7]="DATA_MASK_111"})(Eo||(Eo={}));class zn{constructor(p,v){this.value=p,this.isMasked=v}unmaskBitMatrix(p,v){for(let x=0;x<v;x++)for(let C=0;C<v;C++)this.isMasked(x,C)&&p.flip(C,x)}}zn.values=new Map([[Eo.DATA_MASK_000,new zn(Eo.DATA_MASK_000,(ue,p)=>(ue+p&1)===0)],[Eo.DATA_MASK_001,new zn(Eo.DATA_MASK_001,(ue,p)=>(ue&1)===0)],[Eo.DATA_MASK_010,new zn(Eo.DATA_MASK_010,(ue,p)=>p%3===0)],[Eo.DATA_MASK_011,new zn(Eo.DATA_MASK_011,(ue,p)=>(ue+p)%3===0)],[Eo.DATA_MASK_100,new zn(Eo.DATA_MASK_100,(ue,p)=>(Math.floor(ue/2)+Math.floor(p/3)&1)===0)],[Eo.DATA_MASK_101,new zn(Eo.DATA_MASK_101,(ue,p)=>ue*p%6===0)],[Eo.DATA_MASK_110,new zn(Eo.DATA_MASK_110,(ue,p)=>ue*p%6<3)],[Eo.DATA_MASK_111,new zn(Eo.DATA_MASK_111,(ue,p)=>(ue+p+ue*p%3&1)===0)]]);class Zx{constructor(p){const v=p.getHeight();if(v<21||(v&3)!==1)throw new L;this.bitMatrix=p}readFormatInformation(){if(this.parsedFormatInfo!==null&&this.parsedFormatInfo!==void 0)return this.parsedFormatInfo;let p=0;for(let E=0;E<6;E++)p=this.copyBit(E,8,p);p=this.copyBit(7,8,p),p=this.copyBit(8,8,p),p=this.copyBit(8,7,p);for(let E=5;E>=0;E--)p=this.copyBit(8,E,p);const v=this.bitMatrix.getHeight();let x=0;const C=v-7;for(let E=v-1;E>=C;E--)x=this.copyBit(8,E,x);for(let E=v-8;E<v;E++)x=this.copyBit(E,8,x);if(this.parsedFormatInfo=rs.decodeFormatInformation(p,x),this.parsedFormatInfo!==null)return this.parsedFormatInfo;throw new L}readVersion(){if(this.parsedVersion!==null&&this.parsedVersion!==void 0)return this.parsedVersion;const p=this.bitMatrix.getHeight(),v=Math.floor((p-17)/4);if(v<=6)return pn.getVersionForNumber(v);let x=0;const C=p-11;for(let A=5;A>=0;A--)for(let O=p-9;O>=C;O--)x=this.copyBit(O,A,x);let E=pn.decodeVersionInformation(x);if(E!==null&&E.getDimensionForVersion()===p)return this.parsedVersion=E,E;x=0;for(let A=5;A>=0;A--)for(let O=p-9;O>=C;O--)x=this.copyBit(A,O,x);if(E=pn.decodeVersionInformation(x),E!==null&&E.getDimensionForVersion()===p)return this.parsedVersion=E,E;throw new L}copyBit(p,v,x){return(this.isMirror?this.bitMatrix.get(v,p):this.bitMatrix.get(p,v))?x<<1|1:x<<1}readCodewords(){const p=this.readFormatInformation(),v=this.readVersion(),x=zn.values.get(p.getDataMask()),C=this.bitMatrix.getHeight();x.unmaskBitMatrix(this.bitMatrix,C);const E=v.buildFunctionPattern();let A=!0;const O=new Uint8Array(v.getTotalCodewords());let V=0,X=0,ae=0;for(let fe=C-1;fe>0;fe-=2){fe===6&&fe--;for(let be=0;be<C;be++){const Ae=A?C-1-be:be;for(let He=0;He<2;He++)E.get(fe-He,Ae)||(ae++,X<<=1,this.bitMatrix.get(fe-He,Ae)&&(X|=1),ae===8&&(O[V++]=X,ae=0,X=0))}A=!A}if(V!==v.getTotalCodewords())throw new L;return O}remask(){if(this.parsedFormatInfo===null)return;const p=zn.values[this.parsedFormatInfo.getDataMask()],v=this.bitMatrix.getHeight();p.unmaskBitMatrix(this.bitMatrix,v)}setMirror(p){this.parsedVersion=null,this.parsedFormatInfo=null,this.isMirror=p}mirror(){const p=this.bitMatrix;for(let v=0,x=p.getWidth();v<x;v++)for(let C=v+1,E=p.getHeight();C<E;C++)p.get(v,C)!==p.get(C,v)&&(p.flip(C,v),p.flip(v,C))}}class u1{constructor(p,v){this.numDataCodewords=p,this.codewords=v}static getDataBlocks(p,v,x){if(p.length!==v.getTotalCodewords())throw new f;const C=v.getECBlocksForLevel(x);let E=0;const A=C.getECBlocks();for(const He of A)E+=He.getCount();const O=new Array(E);let V=0;for(const He of A)for(let Ge=0;Ge<He.getCount();Ge++){const tt=He.getDataCodewords(),ct=C.getECCodewordsPerBlock()+tt;O[V++]=new u1(tt,new Uint8Array(ct))}const X=O[0].codewords.length;let ae=O.length-1;for(;ae>=0&&O[ae].codewords.length!==X;)ae--;ae++;const fe=X-C.getECCodewordsPerBlock();let be=0;for(let He=0;He<fe;He++)for(let Ge=0;Ge<V;Ge++)O[Ge].codewords[He]=p[be++];for(let He=ae;He<V;He++)O[He].codewords[fe]=p[be++];const Ae=O[0].codewords.length;for(let He=fe;He<Ae;He++)for(let Ge=0;Ge<V;Ge++){const tt=Ge<ae?He:He+1;O[Ge].codewords[tt]=p[be++]}return O}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}var da;(function(ue){ue[ue.TERMINATOR=0]="TERMINATOR",ue[ue.NUMERIC=1]="NUMERIC",ue[ue.ALPHANUMERIC=2]="ALPHANUMERIC",ue[ue.STRUCTURED_APPEND=3]="STRUCTURED_APPEND",ue[ue.BYTE=4]="BYTE",ue[ue.ECI=5]="ECI",ue[ue.KANJI=6]="KANJI",ue[ue.FNC1_FIRST_POSITION=7]="FNC1_FIRST_POSITION",ue[ue.FNC1_SECOND_POSITION=8]="FNC1_SECOND_POSITION",ue[ue.HANZI=9]="HANZI"})(da||(da={}));class hn{constructor(p,v,x,C){this.value=p,this.stringValue=v,this.characterCountBitsForVersions=x,this.bits=C,hn.FOR_BITS.set(C,this),hn.FOR_VALUE.set(p,this)}static forBits(p){const v=hn.FOR_BITS.get(p);if(v===void 0)throw new f;return v}getCharacterCountBits(p){const v=p.getVersionNumber();let x;return v<=9?x=0:v<=26?x=1:x=2,this.characterCountBitsForVersions[x]}getValue(){return this.value}getBits(){return this.bits}equals(p){if(!(p instanceof hn))return!1;const v=p;return this.value===v.value}toString(){return this.stringValue}}hn.FOR_BITS=new Map,hn.FOR_VALUE=new Map,hn.TERMINATOR=new hn(da.TERMINATOR,"TERMINATOR",Int32Array.from([0,0,0]),0),hn.NUMERIC=new hn(da.NUMERIC,"NUMERIC",Int32Array.from([10,12,14]),1),hn.ALPHANUMERIC=new hn(da.ALPHANUMERIC,"ALPHANUMERIC",Int32Array.from([9,11,13]),2),hn.STRUCTURED_APPEND=new hn(da.STRUCTURED_APPEND,"STRUCTURED_APPEND",Int32Array.from([0,0,0]),3),hn.BYTE=new hn(da.BYTE,"BYTE",Int32Array.from([8,16,16]),4),hn.ECI=new hn(da.ECI,"ECI",Int32Array.from([0,0,0]),7),hn.KANJI=new hn(da.KANJI,"KANJI",Int32Array.from([8,10,12]),8),hn.FNC1_FIRST_POSITION=new hn(da.FNC1_FIRST_POSITION,"FNC1_FIRST_POSITION",Int32Array.from([0,0,0]),5),hn.FNC1_SECOND_POSITION=new hn(da.FNC1_SECOND_POSITION,"FNC1_SECOND_POSITION",Int32Array.from([0,0,0]),9),hn.HANZI=new hn(da.HANZI,"HANZI",Int32Array.from([8,10,12]),13);class Wr{static decode(p,v,x,C){const E=new bv(p);let A=new Z;const O=new Array;let V=-1,X=-1;try{let ae=null,fe=!1,be;do{if(E.available()<4)be=hn.TERMINATOR;else{const Ae=E.readBits(4);be=hn.forBits(Ae)}switch(be){case hn.TERMINATOR:break;case hn.FNC1_FIRST_POSITION:case hn.FNC1_SECOND_POSITION:fe=!0;break;case hn.STRUCTURED_APPEND:if(E.available()<16)throw new L;V=E.readBits(8),X=E.readBits(8);break;case hn.ECI:const Ae=Wr.parseECIValue(E);if(ae=T.getCharacterSetECIByValue(Ae),ae===null)throw new L;break;case hn.HANZI:const He=E.readBits(4),Ge=E.readBits(be.getCharacterCountBits(v));He===Wr.GB2312_SUBSET&&Wr.decodeHanziSegment(E,A,Ge);break;default:const tt=E.readBits(be.getCharacterCountBits(v));switch(be){case hn.NUMERIC:Wr.decodeNumericSegment(E,A,tt);break;case hn.ALPHANUMERIC:Wr.decodeAlphanumericSegment(E,A,tt,fe);break;case hn.BYTE:Wr.decodeByteSegment(E,A,tt,ae,O,C);break;case hn.KANJI:Wr.decodeKanjiSegment(E,A,tt);break;default:throw new L}break}}while(be!==hn.TERMINATOR)}catch{throw new L}return new pe(p,A.toString(),O.length===0?null:O,x===null?null:x.toString(),V,X)}static decodeHanziSegment(p,v,x){if(x*13>p.available())throw new L;const C=new Uint8Array(2*x);let E=0;for(;x>0;){const A=p.readBits(13);let O=A/96<<8&4294967295|A%96;O<959?O+=41377:O+=42657,C[E]=O>>8&255,C[E+1]=O&255,E+=2,x--}try{v.append(z.decode(C,G.GB2312))}catch(A){throw new L(A)}}static decodeKanjiSegment(p,v,x){if(x*13>p.available())throw new L;const C=new Uint8Array(2*x);let E=0;for(;x>0;){const A=p.readBits(13);let O=A/192<<8&4294967295|A%192;O<7936?O+=33088:O+=49472,C[E]=O>>8,C[E+1]=O,E+=2,x--}try{v.append(z.decode(C,G.SHIFT_JIS))}catch(A){throw new L(A)}}static decodeByteSegment(p,v,x,C,E,A){if(8*x>p.available())throw new L;const O=new Uint8Array(x);for(let X=0;X<x;X++)O[X]=p.readBits(8);let V;C===null?V=G.guessEncoding(O,A):V=C.getName();try{v.append(z.decode(O,V))}catch(X){throw new L(X)}E.push(O)}static toAlphaNumericChar(p){if(p>=Wr.ALPHANUMERIC_CHARS.length)throw new L;return Wr.ALPHANUMERIC_CHARS[p]}static decodeAlphanumericSegment(p,v,x,C){const E=v.length();for(;x>1;){if(p.available()<11)throw new L;const A=p.readBits(11);v.append(Wr.toAlphaNumericChar(Math.floor(A/45))),v.append(Wr.toAlphaNumericChar(A%45)),x-=2}if(x===1){if(p.available()<6)throw new L;v.append(Wr.toAlphaNumericChar(p.readBits(6)))}if(C)for(let A=E;A<v.length();A++)v.charAt(A)==="%"&&(A<v.length()-1&&v.charAt(A+1)==="%"?v.deleteCharAt(A+1):v.setCharAt(A,""))}static decodeNumericSegment(p,v,x){for(;x>=3;){if(p.available()<10)throw new L;const C=p.readBits(10);if(C>=1e3)throw new L;v.append(Wr.toAlphaNumericChar(Math.floor(C/100))),v.append(Wr.toAlphaNumericChar(Math.floor(C/10)%10)),v.append(Wr.toAlphaNumericChar(C%10)),x-=3}if(x===2){if(p.available()<7)throw new L;const C=p.readBits(7);if(C>=100)throw new L;v.append(Wr.toAlphaNumericChar(Math.floor(C/10))),v.append(Wr.toAlphaNumericChar(C%10))}else if(x===1){if(p.available()<4)throw new L;const C=p.readBits(4);if(C>=10)throw new L;v.append(Wr.toAlphaNumericChar(C))}}static parseECIValue(p){const v=p.readBits(8);if((v&128)===0)return v&127;if((v&192)===128){const x=p.readBits(8);return(v&63)<<8&4294967295|x}if((v&224)===192){const x=p.readBits(16);return(v&31)<<16&4294967295|x}throw new L}}Wr.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",Wr.GB2312_SUBSET=1;class xv{constructor(p){this.mirrored=p}isMirrored(){return this.mirrored}applyMirroredCorrection(p){if(!this.mirrored||p===null||p.length<3)return;const v=p[0];p[0]=p[2],p[2]=v}}class kv{constructor(){this.rsDecoder=new Ve(ye.QR_CODE_FIELD_256)}decodeBooleanArray(p,v){return this.decodeBitMatrix(W.parseFromBooleanArray(p),v)}decodeBitMatrix(p,v){const x=new Zx(p);let C=null;try{return this.decodeBitMatrixParser(x,v)}catch(E){C=E}try{x.remask(),x.setMirror(!0),x.readVersion(),x.readFormatInformation(),x.mirror();const E=this.decodeBitMatrixParser(x,v);return E.setOther(new xv(!0)),E}catch(E){throw C!==null?C:E}}decodeBitMatrixParser(p,v){const x=p.readVersion(),C=p.readFormatInformation().getErrorCorrectionLevel(),E=p.readCodewords(),A=u1.getDataBlocks(E,x,C);let O=0;for(const ae of A)O+=ae.getNumDataCodewords();const V=new Uint8Array(O);let X=0;for(const ae of A){const fe=ae.getCodewords(),be=ae.getNumDataCodewords();this.correctErrors(fe,be);for(let Ae=0;Ae<be;Ae++)V[X++]=fe[Ae]}return Wr.decode(V,x,C,v)}correctErrors(p,v){const x=new Int32Array(p);try{this.rsDecoder.decode(x,p.length-v)}catch{throw new g}for(let C=0;C<v;C++)p[C]=x[C]}}class Ad extends _e{constructor(p,v,x){super(p,v),this.estimatedModuleSize=x}aboutEquals(p,v,x){if(Math.abs(v-this.getY())<=p&&Math.abs(x-this.getX())<=p){const C=Math.abs(p-this.estimatedModuleSize);return C<=1||C<=this.estimatedModuleSize}return!1}combineEstimate(p,v,x){const C=(this.getX()+v)/2,E=(this.getY()+p)/2,A=(this.estimatedModuleSize+x)/2;return new Ad(C,E,A)}}class Bi{constructor(p,v,x,C,E,A,O){this.image=p,this.startX=v,this.startY=x,this.width=C,this.height=E,this.moduleSize=A,this.resultPointCallback=O,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(3)}find(){const p=this.startX,v=this.height,x=this.width,C=p+x,E=this.startY+v/2,A=new Int32Array(3),O=this.image;for(let V=0;V<v;V++){const X=E+((V&1)===0?Math.floor((V+1)/2):-Math.floor((V+1)/2));A[0]=0,A[1]=0,A[2]=0;let ae=p;for(;ae<C&&!O.get(ae,X);)ae++;let fe=0;for(;ae<C;){if(O.get(ae,X))if(fe===1)A[1]++;else if(fe===2){if(this.foundPatternCross(A)){const be=this.handlePossibleCenter(A,X,ae);if(be!==null)return be}A[0]=A[2],A[1]=1,A[2]=0,fe=1}else A[++fe]++;else fe===1&&fe++,A[fe]++;ae++}if(this.foundPatternCross(A)){const be=this.handlePossibleCenter(A,X,C);if(be!==null)return be}}if(this.possibleCenters.length!==0)return this.possibleCenters[0];throw new U}static centerFromEnd(p,v){return v-p[2]-p[1]/2}foundPatternCross(p){const v=this.moduleSize,x=v/2;for(let C=0;C<3;C++)if(Math.abs(v-p[C])>=x)return!1;return!0}crossCheckVertical(p,v,x,C){const E=this.image,A=E.getHeight(),O=this.crossCheckStateCount;O[0]=0,O[1]=0,O[2]=0;let V=p;for(;V>=0&&E.get(v,V)&&O[1]<=x;)O[1]++,V--;if(V<0||O[1]>x)return NaN;for(;V>=0&&!E.get(v,V)&&O[0]<=x;)O[0]++,V--;if(O[0]>x)return NaN;for(V=p+1;V<A&&E.get(v,V)&&O[1]<=x;)O[1]++,V++;if(V===A||O[1]>x)return NaN;for(;V<A&&!E.get(v,V)&&O[2]<=x;)O[2]++,V++;if(O[2]>x)return NaN;const X=O[0]+O[1]+O[2];return 5*Math.abs(X-C)>=2*C?NaN:this.foundPatternCross(O)?Bi.centerFromEnd(O,V):NaN}handlePossibleCenter(p,v,x){const C=p[0]+p[1]+p[2],E=Bi.centerFromEnd(p,x),A=this.crossCheckVertical(v,E,2*p[1],C);if(!isNaN(A)){const O=(p[0]+p[1]+p[2])/3;for(const X of this.possibleCenters)if(X.aboutEquals(O,A,E))return X.combineEstimate(A,E,O);const V=new Ad(E,A,O);this.possibleCenters.push(V),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(V)}return null}}class kl extends _e{constructor(p,v,x,C){super(p,v),this.estimatedModuleSize=x,this.count=C,C===void 0&&(this.count=1)}getEstimatedModuleSize(){return this.estimatedModuleSize}getCount(){return this.count}aboutEquals(p,v,x){if(Math.abs(v-this.getY())<=p&&Math.abs(x-this.getX())<=p){const C=Math.abs(p-this.estimatedModuleSize);return C<=1||C<=this.estimatedModuleSize}return!1}combineEstimate(p,v,x){const C=this.count+1,E=(this.count*this.getX()+v)/C,A=(this.count*this.getY()+p)/C,O=(this.count*this.estimatedModuleSize+x)/C;return new kl(E,A,O,C)}}class hu{constructor(p){this.bottomLeft=p[0],this.topLeft=p[1],this.topRight=p[2]}getBottomLeft(){return this.bottomLeft}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}}class co{constructor(p,v){this.image=p,this.resultPointCallback=v,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=v}getImage(){return this.image}getPossibleCenters(){return this.possibleCenters}find(p){const v=p!=null&&p.get(P.TRY_HARDER)!==void 0,x=p!=null&&p.get(P.PURE_BARCODE)!==void 0,C=this.image,E=C.getHeight(),A=C.getWidth();let O=Math.floor(3*E/(4*co.MAX_MODULES));(O<co.MIN_SKIP||v)&&(O=co.MIN_SKIP);let V=!1;const X=new Int32Array(5);for(let fe=O-1;fe<E&&!V;fe+=O){X[0]=0,X[1]=0,X[2]=0,X[3]=0,X[4]=0;let be=0;for(let Ae=0;Ae<A;Ae++)if(C.get(Ae,fe))(be&1)===1&&be++,X[be]++;else if((be&1)===0)if(be===4)if(co.foundPatternCross(X)){if(this.handlePossibleCenter(X,fe,Ae,x)===!0)if(O=2,this.hasSkipped===!0)V=this.haveMultiplyConfirmedCenters();else{const Ge=this.findRowSkip();Ge>X[2]&&(fe+=Ge-X[2]-O,Ae=A-1)}else{X[0]=X[2],X[1]=X[3],X[2]=X[4],X[3]=1,X[4]=0,be=3;continue}be=0,X[0]=0,X[1]=0,X[2]=0,X[3]=0,X[4]=0}else X[0]=X[2],X[1]=X[3],X[2]=X[4],X[3]=1,X[4]=0,be=3;else X[++be]++;else X[be]++;co.foundPatternCross(X)&&this.handlePossibleCenter(X,fe,A,x)===!0&&(O=X[0],this.hasSkipped&&(V=this.haveMultiplyConfirmedCenters()))}const ae=this.selectBestPatterns();return _e.orderBestPatterns(ae),new hu(ae)}static centerFromEnd(p,v){return v-p[4]-p[3]-p[2]/2}static foundPatternCross(p){let v=0;for(let E=0;E<5;E++){const A=p[E];if(A===0)return!1;v+=A}if(v<7)return!1;const x=v/7,C=x/2;return Math.abs(x-p[0])<C&&Math.abs(x-p[1])<C&&Math.abs(3*x-p[2])<3*C&&Math.abs(x-p[3])<C&&Math.abs(x-p[4])<C}getCrossCheckStateCount(){const p=this.crossCheckStateCount;return p[0]=0,p[1]=0,p[2]=0,p[3]=0,p[4]=0,p}crossCheckDiagonal(p,v,x,C){const E=this.getCrossCheckStateCount();let A=0;const O=this.image;for(;p>=A&&v>=A&&O.get(v-A,p-A);)E[2]++,A++;if(p<A||v<A)return!1;for(;p>=A&&v>=A&&!O.get(v-A,p-A)&&E[1]<=x;)E[1]++,A++;if(p<A||v<A||E[1]>x)return!1;for(;p>=A&&v>=A&&O.get(v-A,p-A)&&E[0]<=x;)E[0]++,A++;if(E[0]>x)return!1;const V=O.getHeight(),X=O.getWidth();for(A=1;p+A<V&&v+A<X&&O.get(v+A,p+A);)E[2]++,A++;if(p+A>=V||v+A>=X)return!1;for(;p+A<V&&v+A<X&&!O.get(v+A,p+A)&&E[3]<x;)E[3]++,A++;if(p+A>=V||v+A>=X||E[3]>=x)return!1;for(;p+A<V&&v+A<X&&O.get(v+A,p+A)&&E[4]<x;)E[4]++,A++;if(E[4]>=x)return!1;const ae=E[0]+E[1]+E[2]+E[3]+E[4];return Math.abs(ae-C)<2*C&&co.foundPatternCross(E)}crossCheckVertical(p,v,x,C){const E=this.image,A=E.getHeight(),O=this.getCrossCheckStateCount();let V=p;for(;V>=0&&E.get(v,V);)O[2]++,V--;if(V<0)return NaN;for(;V>=0&&!E.get(v,V)&&O[1]<=x;)O[1]++,V--;if(V<0||O[1]>x)return NaN;for(;V>=0&&E.get(v,V)&&O[0]<=x;)O[0]++,V--;if(O[0]>x)return NaN;for(V=p+1;V<A&&E.get(v,V);)O[2]++,V++;if(V===A)return NaN;for(;V<A&&!E.get(v,V)&&O[3]<x;)O[3]++,V++;if(V===A||O[3]>=x)return NaN;for(;V<A&&E.get(v,V)&&O[4]<x;)O[4]++,V++;if(O[4]>=x)return NaN;const X=O[0]+O[1]+O[2]+O[3]+O[4];return 5*Math.abs(X-C)>=2*C?NaN:co.foundPatternCross(O)?co.centerFromEnd(O,V):NaN}crossCheckHorizontal(p,v,x,C){const E=this.image,A=E.getWidth(),O=this.getCrossCheckStateCount();let V=p;for(;V>=0&&E.get(V,v);)O[2]++,V--;if(V<0)return NaN;for(;V>=0&&!E.get(V,v)&&O[1]<=x;)O[1]++,V--;if(V<0||O[1]>x)return NaN;for(;V>=0&&E.get(V,v)&&O[0]<=x;)O[0]++,V--;if(O[0]>x)return NaN;for(V=p+1;V<A&&E.get(V,v);)O[2]++,V++;if(V===A)return NaN;for(;V<A&&!E.get(V,v)&&O[3]<x;)O[3]++,V++;if(V===A||O[3]>=x)return NaN;for(;V<A&&E.get(V,v)&&O[4]<x;)O[4]++,V++;if(O[4]>=x)return NaN;const X=O[0]+O[1]+O[2]+O[3]+O[4];return 5*Math.abs(X-C)>=C?NaN:co.foundPatternCross(O)?co.centerFromEnd(O,V):NaN}handlePossibleCenter(p,v,x,C){const E=p[0]+p[1]+p[2]+p[3]+p[4];let A=co.centerFromEnd(p,x),O=this.crossCheckVertical(v,Math.floor(A),p[2],E);if(!isNaN(O)&&(A=this.crossCheckHorizontal(Math.floor(A),Math.floor(O),p[2],E),!isNaN(A)&&(!C||this.crossCheckDiagonal(Math.floor(O),Math.floor(A),p[2],E)))){const V=E/7;let X=!1;const ae=this.possibleCenters;for(let fe=0,be=ae.length;fe<be;fe++){const Ae=ae[fe];if(Ae.aboutEquals(V,O,A)){ae[fe]=Ae.combineEstimate(O,A,V),X=!0;break}}if(!X){const fe=new kl(A,O,V);ae.push(fe),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(fe)}return!0}return!1}findRowSkip(){if(this.possibleCenters.length<=1)return 0;let v=null;for(const x of this.possibleCenters)if(x.getCount()>=co.CENTER_QUORUM)if(v==null)v=x;else return this.hasSkipped=!0,Math.floor((Math.abs(v.getX()-x.getX())-Math.abs(v.getY()-x.getY()))/2);return 0}haveMultiplyConfirmedCenters(){let p=0,v=0;const x=this.possibleCenters.length;for(const A of this.possibleCenters)A.getCount()>=co.CENTER_QUORUM&&(p++,v+=A.getEstimatedModuleSize());if(p<3)return!1;const C=v/x;let E=0;for(const A of this.possibleCenters)E+=Math.abs(A.getEstimatedModuleSize()-C);return E<=.05*v}selectBestPatterns(){const p=this.possibleCenters.length;if(p<3)throw new U;const v=this.possibleCenters;let x;if(p>3){let C=0,E=0;for(const V of this.possibleCenters){const X=V.getEstimatedModuleSize();C+=X,E+=X*X}x=C/p;let A=Math.sqrt(E/p-x*x);v.sort((V,X)=>{const ae=Math.abs(X.getEstimatedModuleSize()-x),fe=Math.abs(V.getEstimatedModuleSize()-x);return ae<fe?-1:ae>fe?1:0});const O=Math.max(.2*x,A);for(let V=0;V<v.length&&v.length>3;V++){const X=v[V];Math.abs(X.getEstimatedModuleSize()-x)>O&&(v.splice(V,1),V--)}}if(v.length>3){let C=0;for(const E of v)C+=E.getEstimatedModuleSize();x=C/v.length,v.sort((E,A)=>{if(A.getCount()===E.getCount()){const O=Math.abs(A.getEstimatedModuleSize()-x),V=Math.abs(E.getEstimatedModuleSize()-x);return O<V?1:O>V?-1:0}else return A.getCount()-E.getCount()}),v.splice(3)}return[v[0],v[1],v[2]]}}co.CENTER_QUORUM=2,co.MIN_SKIP=3,co.MAX_MODULES=57;class gc{constructor(p){this.image=p}getImage(){return this.image}getResultPointCallback(){return this.resultPointCallback}detect(p){this.resultPointCallback=p==null?null:p.get(P.NEED_RESULT_POINT_CALLBACK);const x=new co(this.image,this.resultPointCallback).find(p);return this.processFinderPatternInfo(x)}processFinderPatternInfo(p){const v=p.getTopLeft(),x=p.getTopRight(),C=p.getBottomLeft(),E=this.calculateModuleSize(v,x,C);if(E<1)throw new U("No pattern found in proccess finder.");const A=gc.computeDimension(v,x,C,E),O=pn.getProvisionalVersionForDimension(A),V=O.getDimensionForVersion()-7;let X=null;if(O.getAlignmentPatternCenters().length>0){const Ae=x.getX()-v.getX()+C.getX(),He=x.getY()-v.getY()+C.getY(),Ge=1-3/V,tt=Math.floor(v.getX()+Ge*(Ae-v.getX())),ct=Math.floor(v.getY()+Ge*(He-v.getY()));for(let Dt=4;Dt<=16;Dt<<=1)try{X=this.findAlignmentInRegion(E,tt,ct,Dt);break}catch(zt){if(!(zt instanceof U))throw zt}}const ae=gc.createTransform(v,x,C,X,A),fe=gc.sampleGrid(this.image,ae,A);let be;return X===null?be=[C,v,x]:be=[C,v,x,X],new et(fe,be)}static createTransform(p,v,x,C,E){const A=E-3.5;let O,V,X,ae;return C!==null?(O=C.getX(),V=C.getY(),X=A-3,ae=X):(O=v.getX()-p.getX()+x.getX(),V=v.getY()-p.getY()+x.getY(),X=A,ae=A),De.quadrilateralToQuadrilateral(3.5,3.5,A,3.5,X,ae,3.5,A,p.getX(),p.getY(),v.getX(),v.getY(),O,V,x.getX(),x.getY())}static sampleGrid(p,v,x){return K.getInstance().sampleGridWithTransform(p,x,x,v)}static computeDimension(p,v,x,C){const E=Ue.round(_e.distance(p,v)/C),A=Ue.round(_e.distance(p,x)/C);let O=Math.floor((E+A)/2)+7;switch(O&3){case 0:O++;break;case 2:O--;break;case 3:throw new U("Dimensions could be not found.")}return O}calculateModuleSize(p,v,x){return(this.calculateModuleSizeOneWay(p,v)+this.calculateModuleSizeOneWay(p,x))/2}calculateModuleSizeOneWay(p,v){const x=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(p.getX()),Math.floor(p.getY()),Math.floor(v.getX()),Math.floor(v.getY())),C=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(v.getX()),Math.floor(v.getY()),Math.floor(p.getX()),Math.floor(p.getY()));return isNaN(x)?C/7:isNaN(C)?x/7:(x+C)/14}sizeOfBlackWhiteBlackRunBothWays(p,v,x,C){let E=this.sizeOfBlackWhiteBlackRun(p,v,x,C),A=1,O=p-(x-p);O<0?(A=p/(p-O),O=0):O>=this.image.getWidth()&&(A=(this.image.getWidth()-1-p)/(O-p),O=this.image.getWidth()-1);let V=Math.floor(v-(C-v)*A);return A=1,V<0?(A=v/(v-V),V=0):V>=this.image.getHeight()&&(A=(this.image.getHeight()-1-v)/(V-v),V=this.image.getHeight()-1),O=Math.floor(p+(O-p)*A),E+=this.sizeOfBlackWhiteBlackRun(p,v,O,V),E-1}sizeOfBlackWhiteBlackRun(p,v,x,C){const E=Math.abs(C-v)>Math.abs(x-p);if(E){let Ae=p;p=v,v=Ae,Ae=x,x=C,C=Ae}const A=Math.abs(x-p),O=Math.abs(C-v);let V=-A/2;const X=p<x?1:-1,ae=v<C?1:-1;let fe=0;const be=x+X;for(let Ae=p,He=v;Ae!==be;Ae+=X){const Ge=E?He:Ae,tt=E?Ae:He;if(fe===1===this.image.get(Ge,tt)){if(fe===2)return Ue.distance(Ae,He,p,v);fe++}if(V+=O,V>0){if(He===C)break;He+=ae,V-=A}}return fe===2?Ue.distance(x+X,C,p,v):NaN}findAlignmentInRegion(p,v,x,C){const E=Math.floor(C*p),A=Math.max(0,v-E),O=Math.min(this.image.getWidth()-1,v+E);if(O-A<p*3)throw new U("Alignment top exceeds estimated module size.");const V=Math.max(0,x-E),X=Math.min(this.image.getHeight()-1,x+E);if(X-V<p*3)throw new U("Alignment bottom exceeds estimated module size.");return new Bi(this.image,A,V,O-A,X-V,p,this.resultPointCallback).find()}}class Vs{constructor(){this.decoder=new kv}getDecoder(){return this.decoder}decode(p,v){let x,C;if(v!=null&&v.get(P.PURE_BARCODE)!==void 0){const V=Vs.extractPureBits(p.getBlackMatrix());x=this.decoder.decodeBitMatrix(V,v),C=Vs.NO_POINTS}else{const V=new gc(p.getBlackMatrix()).detect(v);x=this.decoder.decodeBitMatrix(V.getBits(),v),C=V.getPoints()}x.getOther()instanceof xv&&x.getOther().applyMirroredCorrection(C);const E=new de(x.getText(),x.getRawBytes(),void 0,C,we.QR_CODE,void 0),A=x.getByteSegments();A!==null&&E.putMetadata(ce.BYTE_SEGMENTS,A);const O=x.getECLevel();return O!==null&&E.putMetadata(ce.ERROR_CORRECTION_LEVEL,O),x.hasStructuredAppend()&&(E.putMetadata(ce.STRUCTURED_APPEND_SEQUENCE,x.getStructuredAppendSequenceNumber()),E.putMetadata(ce.STRUCTURED_APPEND_PARITY,x.getStructuredAppendParity())),E}reset(){}static extractPureBits(p){const v=p.getTopLeftOnBit(),x=p.getBottomRightOnBit();if(v===null||x===null)throw new U;const C=this.moduleSize(v,p);let E=v[1],A=x[1],O=v[0],V=x[0];if(O>=V||E>=A)throw new U;if(A-E!==V-O&&(V=O+(A-E),V>=p.getWidth()))throw new U;const X=Math.round((V-O+1)/C),ae=Math.round((A-E+1)/C);if(X<=0||ae<=0)throw new U;if(ae!==X)throw new U;const fe=Math.floor(C/2);E+=fe,O+=fe;const be=O+Math.floor((X-1)*C)-V;if(be>0){if(be>fe)throw new U;O-=be}const Ae=E+Math.floor((ae-1)*C)-A;if(Ae>0){if(Ae>fe)throw new U;E-=Ae}const He=new W(X,ae);for(let Ge=0;Ge<ae;Ge++){const tt=E+Math.floor(Ge*C);for(let ct=0;ct<X;ct++)p.get(O+Math.floor(ct*C),tt)&&He.set(ct,Ge)}return He}static moduleSize(p,v){const x=v.getHeight(),C=v.getWidth();let E=p[0],A=p[1],O=!0,V=0;for(;E<C&&A<x;){if(O!==v.get(E,A)){if(++V===5)break;O=!O}E++,A++}if(E===C||A===x)throw new U;return(E-p[0])/7}}Vs.NO_POINTS=new Array;class xn{PDF417Common(){}static getBitCountSum(p){return Ue.sum(p)}static toIntArray(p){if(p==null||!p.length)return xn.EMPTY_INT_ARRAY;const v=new Int32Array(p.length);let x=0;for(const C of p)v[x++]=C;return v}static getCodeword(p){const v=I.binarySearch(xn.SYMBOL_TABLE,p&262143);return v<0?-1:(xn.CODEWORD_TABLE[v]-1)%xn.NUMBER_OF_CODEWORDS}}xn.NUMBER_OF_CODEWORDS=929,xn.MAX_CODEWORDS_IN_BARCODE=xn.NUMBER_OF_CODEWORDS-1,xn.MIN_ROWS_IN_BARCODE=3,xn.MAX_ROWS_IN_BARCODE=90,xn.MODULES_IN_CODEWORD=17,xn.MODULES_IN_STOP_PATTERN=18,xn.BARS_IN_MODULE=8,xn.EMPTY_INT_ARRAY=new Int32Array([]),xn.SYMBOL_TABLE=Int32Array.from([66142,66170,66206,66236,66290,66292,66350,66382,66396,66454,66470,66476,66594,66600,66614,66626,66628,66632,66640,66654,66662,66668,66682,66690,66718,66720,66748,66758,66776,66798,66802,66804,66820,66824,66832,66846,66848,66876,66880,66936,66950,66956,66968,66992,67006,67022,67036,67042,67044,67048,67062,67118,67150,67164,67214,67228,67256,67294,67322,67350,67366,67372,67398,67404,67416,67438,67474,67476,67490,67492,67496,67510,67618,67624,67650,67656,67664,67678,67686,67692,67706,67714,67716,67728,67742,67744,67772,67782,67788,67800,67822,67826,67828,67842,67848,67870,67872,67900,67904,67960,67974,67992,68016,68030,68046,68060,68066,68068,68072,68086,68104,68112,68126,68128,68156,68160,68216,68336,68358,68364,68376,68400,68414,68448,68476,68494,68508,68536,68546,68548,68552,68560,68574,68582,68588,68654,68686,68700,68706,68708,68712,68726,68750,68764,68792,68802,68804,68808,68816,68830,68838,68844,68858,68878,68892,68920,68976,68990,68994,68996,69e3,69008,69022,69024,69052,69062,69068,69080,69102,69106,69108,69142,69158,69164,69190,69208,69230,69254,69260,69272,69296,69310,69326,69340,69386,69394,69396,69410,69416,69430,69442,69444,69448,69456,69470,69478,69484,69554,69556,69666,69672,69698,69704,69712,69726,69754,69762,69764,69776,69790,69792,69820,69830,69836,69848,69870,69874,69876,69890,69918,69920,69948,69952,70008,70022,70040,70064,70078,70094,70108,70114,70116,70120,70134,70152,70174,70176,70264,70384,70412,70448,70462,70496,70524,70542,70556,70584,70594,70600,70608,70622,70630,70636,70664,70672,70686,70688,70716,70720,70776,70896,71136,71180,71192,71216,71230,71264,71292,71360,71416,71452,71480,71536,71550,71554,71556,71560,71568,71582,71584,71612,71622,71628,71640,71662,71726,71732,71758,71772,71778,71780,71784,71798,71822,71836,71864,71874,71880,71888,71902,71910,71916,71930,71950,71964,71992,72048,72062,72066,72068,72080,72094,72096,72124,72134,72140,72152,72174,72178,72180,72206,72220,72248,72304,72318,72416,72444,72456,72464,72478,72480,72508,72512,72568,72588,72600,72624,72638,72654,72668,72674,72676,72680,72694,72726,72742,72748,72774,72780,72792,72814,72838,72856,72880,72894,72910,72924,72930,72932,72936,72950,72966,72972,72984,73008,73022,73056,73084,73102,73116,73144,73156,73160,73168,73182,73190,73196,73210,73226,73234,73236,73250,73252,73256,73270,73282,73284,73296,73310,73318,73324,73346,73348,73352,73360,73374,73376,73404,73414,73420,73432,73454,73498,73518,73522,73524,73550,73564,73570,73572,73576,73590,73800,73822,73858,73860,73872,73886,73888,73916,73944,73970,73972,73992,74014,74016,74044,74048,74104,74118,74136,74160,74174,74210,74212,74216,74230,74244,74256,74270,74272,74360,74480,74502,74508,74544,74558,74592,74620,74638,74652,74680,74690,74696,74704,74726,74732,74782,74784,74812,74992,75232,75288,75326,75360,75388,75456,75512,75576,75632,75646,75650,75652,75664,75678,75680,75708,75718,75724,75736,75758,75808,75836,75840,75896,76016,76256,76736,76824,76848,76862,76896,76924,76992,77048,77296,77340,77368,77424,77438,77536,77564,77572,77576,77584,77600,77628,77632,77688,77702,77708,77720,77744,77758,77774,77788,77870,77902,77916,77922,77928,77966,77980,78008,78018,78024,78032,78046,78060,78074,78094,78136,78192,78206,78210,78212,78224,78238,78240,78268,78278,78284,78296,78322,78324,78350,78364,78448,78462,78560,78588,78600,78622,78624,78652,78656,78712,78726,78744,78768,78782,78798,78812,78818,78820,78824,78838,78862,78876,78904,78960,78974,79072,79100,79296,79352,79368,79376,79390,79392,79420,79424,79480,79600,79628,79640,79664,79678,79712,79740,79772,79800,79810,79812,79816,79824,79838,79846,79852,79894,79910,79916,79942,79948,79960,79982,79988,80006,80024,80048,80062,80078,80092,80098,80100,80104,80134,80140,80176,80190,80224,80252,80270,80284,80312,80328,80336,80350,80358,80364,80378,80390,80396,80408,80432,80446,80480,80508,80576,80632,80654,80668,80696,80752,80766,80776,80784,80798,80800,80828,80844,80856,80878,80882,80884,80914,80916,80930,80932,80936,80950,80962,80968,80976,80990,80998,81004,81026,81028,81040,81054,81056,81084,81094,81100,81112,81134,81154,81156,81160,81168,81182,81184,81212,81216,81272,81286,81292,81304,81328,81342,81358,81372,81380,81384,81398,81434,81454,81458,81460,81486,81500,81506,81508,81512,81526,81550,81564,81592,81602,81604,81608,81616,81630,81638,81644,81702,81708,81722,81734,81740,81752,81774,81778,81780,82050,82078,82080,82108,82180,82184,82192,82206,82208,82236,82240,82296,82316,82328,82352,82366,82402,82404,82408,82440,82448,82462,82464,82492,82496,82552,82672,82694,82700,82712,82736,82750,82784,82812,82830,82882,82884,82888,82896,82918,82924,82952,82960,82974,82976,83004,83008,83064,83184,83424,83468,83480,83504,83518,83552,83580,83648,83704,83740,83768,83824,83838,83842,83844,83848,83856,83872,83900,83910,83916,83928,83950,83984,84e3,84028,84032,84088,84208,84448,84928,85040,85054,85088,85116,85184,85240,85488,85560,85616,85630,85728,85756,85764,85768,85776,85790,85792,85820,85824,85880,85894,85900,85912,85936,85966,85980,86048,86080,86136,86256,86496,86976,88160,88188,88256,88312,88560,89056,89200,89214,89312,89340,89536,89592,89608,89616,89632,89664,89720,89840,89868,89880,89904,89952,89980,89998,90012,90040,90190,90204,90254,90268,90296,90306,90308,90312,90334,90382,90396,90424,90480,90494,90500,90504,90512,90526,90528,90556,90566,90572,90584,90610,90612,90638,90652,90680,90736,90750,90848,90876,90884,90888,90896,90910,90912,90940,90944,91e3,91014,91020,91032,91056,91070,91086,91100,91106,91108,91112,91126,91150,91164,91192,91248,91262,91360,91388,91584,91640,91664,91678,91680,91708,91712,91768,91888,91928,91952,91966,92e3,92028,92046,92060,92088,92098,92100,92104,92112,92126,92134,92140,92188,92216,92272,92384,92412,92608,92664,93168,93200,93214,93216,93244,93248,93304,93424,93664,93720,93744,93758,93792,93820,93888,93944,93980,94008,94064,94078,94084,94088,94096,94110,94112,94140,94150,94156,94168,94246,94252,94278,94284,94296,94318,94342,94348,94360,94384,94398,94414,94428,94440,94470,94476,94488,94512,94526,94560,94588,94606,94620,94648,94658,94660,94664,94672,94686,94694,94700,94714,94726,94732,94744,94768,94782,94816,94844,94912,94968,94990,95004,95032,95088,95102,95112,95120,95134,95136,95164,95180,95192,95214,95218,95220,95244,95256,95280,95294,95328,95356,95424,95480,95728,95758,95772,95800,95856,95870,95968,95996,96008,96016,96030,96032,96060,96064,96120,96152,96176,96190,96220,96226,96228,96232,96290,96292,96296,96310,96322,96324,96328,96336,96350,96358,96364,96386,96388,96392,96400,96414,96416,96444,96454,96460,96472,96494,96498,96500,96514,96516,96520,96528,96542,96544,96572,96576,96632,96646,96652,96664,96688,96702,96718,96732,96738,96740,96744,96758,96772,96776,96784,96798,96800,96828,96832,96888,97008,97030,97036,97048,97072,97086,97120,97148,97166,97180,97208,97220,97224,97232,97246,97254,97260,97326,97330,97332,97358,97372,97378,97380,97384,97398,97422,97436,97464,97474,97476,97480,97488,97502,97510,97516,97550,97564,97592,97648,97666,97668,97672,97680,97694,97696,97724,97734,97740,97752,97774,97830,97836,97850,97862,97868,97880,97902,97906,97908,97926,97932,97944,97968,97998,98012,98018,98020,98024,98038,98618,98674,98676,98838,98854,98874,98892,98904,98926,98930,98932,98968,99006,99042,99044,99048,99062,99166,99194,99246,99286,99350,99366,99372,99386,99398,99416,99438,99442,99444,99462,99504,99518,99534,99548,99554,99556,99560,99574,99590,99596,99608,99632,99646,99680,99708,99726,99740,99768,99778,99780,99784,99792,99806,99814,99820,99834,99858,99860,99874,99880,99894,99906,99920,99934,99962,99970,99972,99976,99984,99998,1e5,100028,100038,100044,100056,100078,100082,100084,100142,100174,100188,100246,100262,100268,100306,100308,100390,100396,100410,100422,100428,100440,100462,100466,100468,100486,100504,100528,100542,100558,100572,100578,100580,100584,100598,100620,100656,100670,100704,100732,100750,100792,100802,100808,100816,100830,100838,100844,100858,100888,100912,100926,100960,100988,101056,101112,101148,101176,101232,101246,101250,101252,101256,101264,101278,101280,101308,101318,101324,101336,101358,101362,101364,101410,101412,101416,101430,101442,101448,101456,101470,101478,101498,101506,101508,101520,101534,101536,101564,101580,101618,101620,101636,101640,101648,101662,101664,101692,101696,101752,101766,101784,101838,101858,101860,101864,101934,101938,101940,101966,101980,101986,101988,101992,102030,102044,102072,102082,102084,102088,102096,102138,102166,102182,102188,102214,102220,102232,102254,102282,102290,102292,102306,102308,102312,102326,102444,102458,102470,102476,102488,102514,102516,102534,102552,102576,102590,102606,102620,102626,102632,102646,102662,102668,102704,102718,102752,102780,102798,102812,102840,102850,102856,102864,102878,102886,102892,102906,102936,102974,103008,103036,103104,103160,103224,103280,103294,103298,103300,103312,103326,103328,103356,103366,103372,103384,103406,103410,103412,103472,103486,103520,103548,103616,103672,103920,103992,104048,104062,104160,104188,104194,104196,104200,104208,104224,104252,104256,104312,104326,104332,104344,104368,104382,104398,104412,104418,104420,104424,104482,104484,104514,104520,104528,104542,104550,104570,104578,104580,104592,104606,104608,104636,104652,104690,104692,104706,104712,104734,104736,104764,104768,104824,104838,104856,104910,104930,104932,104936,104968,104976,104990,104992,105020,105024,105080,105200,105240,105278,105312,105372,105410,105412,105416,105424,105446,105518,105524,105550,105564,105570,105572,105576,105614,105628,105656,105666,105672,105680,105702,105722,105742,105756,105784,105840,105854,105858,105860,105864,105872,105888,105932,105970,105972,106006,106022,106028,106054,106060,106072,106100,106118,106124,106136,106160,106174,106190,106210,106212,106216,106250,106258,106260,106274,106276,106280,106306,106308,106312,106320,106334,106348,106394,106414,106418,106420,106566,106572,106610,106612,106630,106636,106648,106672,106686,106722,106724,106728,106742,106758,106764,106776,106800,106814,106848,106876,106894,106908,106936,106946,106948,106952,106960,106974,106982,106988,107032,107056,107070,107104,107132,107200,107256,107292,107320,107376,107390,107394,107396,107400,107408,107422,107424,107452,107462,107468,107480,107502,107506,107508,107544,107568,107582,107616,107644,107712,107768,108016,108060,108088,108144,108158,108256,108284,108290,108292,108296,108304,108318,108320,108348,108352,108408,108422,108428,108440,108464,108478,108494,108508,108514,108516,108520,108592,108640,108668,108736,108792,109040,109536,109680,109694,109792,109820,110016,110072,110084,110088,110096,110112,110140,110144,110200,110320,110342,110348,110360,110384,110398,110432,110460,110478,110492,110520,110532,110536,110544,110558,110658,110686,110714,110722,110724,110728,110736,110750,110752,110780,110796,110834,110836,110850,110852,110856,110864,110878,110880,110908,110912,110968,110982,111e3,111054,111074,111076,111080,111108,111112,111120,111134,111136,111164,111168,111224,111344,111372,111422,111456,111516,111554,111556,111560,111568,111590,111632,111646,111648,111676,111680,111736,111856,112096,112152,112224,112252,112320,112440,112514,112516,112520,112528,112542,112544,112588,112686,112718,112732,112782,112796,112824,112834,112836,112840,112848,112870,112890,112910,112924,112952,113008,113022,113026,113028,113032,113040,113054,113056,113100,113138,113140,113166,113180,113208,113264,113278,113376,113404,113416,113424,113440,113468,113472,113560,113614,113634,113636,113640,113686,113702,113708,113734,113740,113752,113778,113780,113798,113804,113816,113840,113854,113870,113890,113892,113896,113926,113932,113944,113968,113982,114016,114044,114076,114114,114116,114120,114128,114150,114170,114194,114196,114210,114212,114216,114242,114244,114248,114256,114270,114278,114306,114308,114312,114320,114334,114336,114364,114380,114420,114458,114478,114482,114484,114510,114524,114530,114532,114536,114842,114866,114868,114970,114994,114996,115042,115044,115048,115062,115130,115226,115250,115252,115278,115292,115298,115300,115304,115318,115342,115394,115396,115400,115408,115422,115430,115436,115450,115478,115494,115514,115526,115532,115570,115572,115738,115758,115762,115764,115790,115804,115810,115812,115816,115830,115854,115868,115896,115906,115912,115920,115934,115942,115948,115962,115996,116024,116080,116094,116098,116100,116104,116112,116126,116128,116156,116166,116172,116184,116206,116210,116212,116246,116262,116268,116282,116294,116300,116312,116334,116338,116340,116358,116364,116376,116400,116414,116430,116444,116450,116452,116456,116498,116500,116514,116520,116534,116546,116548,116552,116560,116574,116582,116588,116602,116654,116694,116714,116762,116782,116786,116788,116814,116828,116834,116836,116840,116854,116878,116892,116920,116930,116936,116944,116958,116966,116972,116986,117006,117048,117104,117118,117122,117124,117136,117150,117152,117180,117190,117196,117208,117230,117234,117236,117304,117360,117374,117472,117500,117506,117508,117512,117520,117536,117564,117568,117624,117638,117644,117656,117680,117694,117710,117724,117730,117732,117736,117750,117782,117798,117804,117818,117830,117848,117874,117876,117894,117936,117950,117966,117986,117988,117992,118022,118028,118040,118064,118078,118112,118140,118172,118210,118212,118216,118224,118238,118246,118266,118306,118312,118338,118352,118366,118374,118394,118402,118404,118408,118416,118430,118432,118460,118476,118514,118516,118574,118578,118580,118606,118620,118626,118628,118632,118678,118694,118700,118730,118738,118740,118830,118834,118836,118862,118876,118882,118884,118888,118902,118926,118940,118968,118978,118980,118984,118992,119006,119014,119020,119034,119068,119096,119152,119166,119170,119172,119176,119184,119198,119200,119228,119238,119244,119256,119278,119282,119284,119324,119352,119408,119422,119520,119548,119554,119556,119560,119568,119582,119584,119612,119616,119672,119686,119692,119704,119728,119742,119758,119772,119778,119780,119784,119798,119920,119934,120032,120060,120256,120312,120324,120328,120336,120352,120384,120440,120560,120582,120588,120600,120624,120638,120672,120700,120718,120732,120760,120770,120772,120776,120784,120798,120806,120812,120870,120876,120890,120902,120908,120920,120946,120948,120966,120972,120984,121008,121022,121038,121058,121060,121064,121078,121100,121112,121136,121150,121184,121212,121244,121282,121284,121288,121296,121318,121338,121356,121368,121392,121406,121440,121468,121536,121592,121656,121730,121732,121736,121744,121758,121760,121804,121842,121844,121890,121922,121924,121928,121936,121950,121958,121978,121986,121988,121992,122e3,122014,122016,122044,122060,122098,122100,122116,122120,122128,122142,122144,122172,122176,122232,122246,122264,122318,122338,122340,122344,122414,122418,122420,122446,122460,122466,122468,122472,122510,122524,122552,122562,122564,122568,122576,122598,122618,122646,122662,122668,122694,122700,122712,122738,122740,122762,122770,122772,122786,122788,122792,123018,123026,123028,123042,123044,123048,123062,123098,123146,123154,123156,123170,123172,123176,123190,123202,123204,123208,123216,123238,123244,123258,123290,123314,123316,123402,123410,123412,123426,123428,123432,123446,123458,123464,123472,123486,123494,123500,123514,123522,123524,123528,123536,123552,123580,123590,123596,123608,123630,123634,123636,123674,123698,123700,123740,123746,123748,123752,123834,123914,123922,123924,123938,123944,123958,123970,123976,123984,123998,124006,124012,124026,124034,124036,124048,124062,124064,124092,124102,124108,124120,124142,124146,124148,124162,124164,124168,124176,124190,124192,124220,124224,124280,124294,124300,124312,124336,124350,124366,124380,124386,124388,124392,124406,124442,124462,124466,124468,124494,124508,124514,124520,124558,124572,124600,124610,124612,124616,124624,124646,124666,124694,124710,124716,124730,124742,124748,124760,124786,124788,124818,124820,124834,124836,124840,124854,124946,124948,124962,124964,124968,124982,124994,124996,125e3,125008,125022,125030,125036,125050,125058,125060,125064,125072,125086,125088,125116,125126,125132,125144,125166,125170,125172,125186,125188,125192,125200,125216,125244,125248,125304,125318,125324,125336,125360,125374,125390,125404,125410,125412,125416,125430,125444,125448,125456,125472,125504,125560,125680,125702,125708,125720,125744,125758,125792,125820,125838,125852,125880,125890,125892,125896,125904,125918,125926,125932,125978,125998,126002,126004,126030,126044,126050,126052,126056,126094,126108,126136,126146,126148,126152,126160,126182,126202,126222,126236,126264,126320,126334,126338,126340,126344,126352,126366,126368,126412,126450,126452,126486,126502,126508,126522,126534,126540,126552,126574,126578,126580,126598,126604,126616,126640,126654,126670,126684,126690,126692,126696,126738,126754,126756,126760,126774,126786,126788,126792,126800,126814,126822,126828,126842,126894,126898,126900,126934,127126,127142,127148,127162,127178,127186,127188,127254,127270,127276,127290,127302,127308,127320,127342,127346,127348,127370,127378,127380,127394,127396,127400,127450,127510,127526,127532,127546,127558,127576,127598,127602,127604,127622,127628,127640,127664,127678,127694,127708,127714,127716,127720,127734,127754,127762,127764,127778,127784,127810,127812,127816,127824,127838,127846,127866,127898,127918,127922,127924,128022,128038,128044,128058,128070,128076,128088,128110,128114,128116,128134,128140,128152,128176,128190,128206,128220,128226,128228,128232,128246,128262,128268,128280,128304,128318,128352,128380,128398,128412,128440,128450,128452,128456,128464,128478,128486,128492,128506,128522,128530,128532,128546,128548,128552,128566,128578,128580,128584,128592,128606,128614,128634,128642,128644,128648,128656,128670,128672,128700,128716,128754,128756,128794,128814,128818,128820,128846,128860,128866,128868,128872,128886,128918,128934,128940,128954,128978,128980,129178,129198,129202,129204,129238,129258,129306,129326,129330,129332,129358,129372,129378,129380,129384,129398,129430,129446,129452,129466,129482,129490,129492,129562,129582,129586,129588,129614,129628,129634,129636,129640,129654,129678,129692,129720,129730,129732,129736,129744,129758,129766,129772,129814,129830,129836,129850,129862,129868,129880,129902,129906,129908,129930,129938,129940,129954,129956,129960,129974,130010]),xn.CODEWORD_TABLE=Int32Array.from([2627,1819,2622,2621,1813,1812,2729,2724,2723,2779,2774,2773,902,896,908,868,865,861,859,2511,873,871,1780,835,2493,825,2491,842,837,844,1764,1762,811,810,809,2483,807,2482,806,2480,815,814,813,812,2484,817,816,1745,1744,1742,1746,2655,2637,2635,2626,2625,2623,2628,1820,2752,2739,2737,2728,2727,2725,2730,2785,2783,2778,2777,2775,2780,787,781,747,739,736,2413,754,752,1719,692,689,681,2371,678,2369,700,697,694,703,1688,1686,642,638,2343,631,2341,627,2338,651,646,643,2345,654,652,1652,1650,1647,1654,601,599,2322,596,2321,594,2319,2317,611,610,608,606,2324,603,2323,615,614,612,1617,1616,1614,1612,616,1619,1618,2575,2538,2536,905,901,898,909,2509,2507,2504,870,867,864,860,2512,875,872,1781,2490,2489,2487,2485,1748,836,834,832,830,2494,827,2492,843,841,839,845,1765,1763,2701,2676,2674,2653,2648,2656,2634,2633,2631,2629,1821,2638,2636,2770,2763,2761,2750,2745,2753,2736,2735,2733,2731,1848,2740,2738,2786,2784,591,588,576,569,566,2296,1590,537,534,526,2276,522,2274,545,542,539,548,1572,1570,481,2245,466,2242,462,2239,492,485,482,2249,496,494,1534,1531,1528,1538,413,2196,406,2191,2188,425,419,2202,415,2199,432,430,427,1472,1467,1464,433,1476,1474,368,367,2160,365,2159,362,2157,2155,2152,378,377,375,2166,372,2165,369,2162,383,381,379,2168,1419,1418,1416,1414,385,1411,384,1423,1422,1420,1424,2461,802,2441,2439,790,786,783,794,2409,2406,2403,750,742,738,2414,756,753,1720,2367,2365,2362,2359,1663,693,691,684,2373,680,2370,702,699,696,704,1690,1687,2337,2336,2334,2332,1624,2329,1622,640,637,2344,634,2342,630,2340,650,648,645,2346,655,653,1653,1651,1649,1655,2612,2597,2595,2571,2568,2565,2576,2534,2529,2526,1787,2540,2537,907,904,900,910,2503,2502,2500,2498,1768,2495,1767,2510,2508,2506,869,866,863,2513,876,874,1782,2720,2713,2711,2697,2694,2691,2702,2672,2670,2664,1828,2678,2675,2647,2646,2644,2642,1823,2639,1822,2654,2652,2650,2657,2771,1855,2765,2762,1850,1849,2751,2749,2747,2754,353,2148,344,342,336,2142,332,2140,345,1375,1373,306,2130,299,2128,295,2125,319,314,311,2132,1354,1352,1349,1356,262,257,2101,253,2096,2093,274,273,267,2107,263,2104,280,278,275,1316,1311,1308,1320,1318,2052,202,2050,2044,2040,219,2063,212,2060,208,2055,224,221,2066,1260,1258,1252,231,1248,229,1266,1264,1261,1268,155,1998,153,1996,1994,1991,1988,165,164,2007,162,2006,159,2003,2e3,172,171,169,2012,166,2010,1186,1184,1182,1179,175,1176,173,1192,1191,1189,1187,176,1194,1193,2313,2307,2305,592,589,2294,2292,2289,578,572,568,2297,580,1591,2272,2267,2264,1547,538,536,529,2278,525,2275,547,544,541,1574,1571,2237,2235,2229,1493,2225,1489,478,2247,470,2244,465,2241,493,488,484,2250,498,495,1536,1533,1530,1539,2187,2186,2184,2182,1432,2179,1430,2176,1427,414,412,2197,409,2195,405,2193,2190,426,424,421,2203,418,2201,431,429,1473,1471,1469,1466,434,1477,1475,2478,2472,2470,2459,2457,2454,2462,803,2437,2432,2429,1726,2443,2440,792,789,785,2401,2399,2393,1702,2389,1699,2411,2408,2405,745,741,2415,758,755,1721,2358,2357,2355,2353,1661,2350,1660,2347,1657,2368,2366,2364,2361,1666,690,687,2374,683,2372,701,698,705,1691,1689,2619,2617,2610,2608,2605,2613,2593,2588,2585,1803,2599,2596,2563,2561,2555,1797,2551,1795,2573,2570,2567,2577,2525,2524,2522,2520,1786,2517,1785,2514,1783,2535,2533,2531,2528,1788,2541,2539,906,903,911,2721,1844,2715,2712,1838,1836,2699,2696,2693,2703,1827,1826,1824,2673,2671,2669,2666,1829,2679,2677,1858,1857,2772,1854,1853,1851,1856,2766,2764,143,1987,139,1986,135,133,131,1984,128,1983,125,1981,138,137,136,1985,1133,1132,1130,112,110,1974,107,1973,104,1971,1969,122,121,119,117,1977,114,1976,124,1115,1114,1112,1110,1117,1116,84,83,1953,81,1952,78,1950,1948,1945,94,93,91,1959,88,1958,85,1955,99,97,95,1961,1086,1085,1083,1081,1078,100,1090,1089,1087,1091,49,47,1917,44,1915,1913,1910,1907,59,1926,56,1925,53,1922,1919,66,64,1931,61,1929,1042,1040,1038,71,1035,70,1032,68,1048,1047,1045,1043,1050,1049,12,10,1869,1867,1864,1861,21,1880,19,1877,1874,1871,28,1888,25,1886,22,1883,982,980,977,974,32,30,991,989,987,984,34,995,994,992,2151,2150,2147,2146,2144,356,355,354,2149,2139,2138,2136,2134,1359,343,341,338,2143,335,2141,348,347,346,1376,1374,2124,2123,2121,2119,1326,2116,1324,310,308,305,2131,302,2129,298,2127,320,318,316,313,2133,322,321,1355,1353,1351,1357,2092,2091,2089,2087,1276,2084,1274,2081,1271,259,2102,256,2100,252,2098,2095,272,269,2108,266,2106,281,279,277,1317,1315,1313,1310,282,1321,1319,2039,2037,2035,2032,1203,2029,1200,1197,207,2053,205,2051,201,2049,2046,2043,220,218,2064,215,2062,211,2059,228,226,223,2069,1259,1257,1254,232,1251,230,1267,1265,1263,2316,2315,2312,2311,2309,2314,2304,2303,2301,2299,1593,2308,2306,590,2288,2287,2285,2283,1578,2280,1577,2295,2293,2291,579,577,574,571,2298,582,581,1592,2263,2262,2260,2258,1545,2255,1544,2252,1541,2273,2271,2269,2266,1550,535,532,2279,528,2277,546,543,549,1575,1573,2224,2222,2220,1486,2217,1485,2214,1482,1479,2238,2236,2234,2231,1496,2228,1492,480,477,2248,473,2246,469,2243,490,487,2251,497,1537,1535,1532,2477,2476,2474,2479,2469,2468,2466,2464,1730,2473,2471,2453,2452,2450,2448,1729,2445,1728,2460,2458,2456,2463,805,804,2428,2427,2425,2423,1725,2420,1724,2417,1722,2438,2436,2434,2431,1727,2444,2442,793,791,788,795,2388,2386,2384,1697,2381,1696,2378,1694,1692,2402,2400,2398,2395,1703,2392,1701,2412,2410,2407,751,748,744,2416,759,757,1807,2620,2618,1806,1805,2611,2609,2607,2614,1802,1801,1799,2594,2592,2590,2587,1804,2600,2598,1794,1793,1791,1789,2564,2562,2560,2557,1798,2554,1796,2574,2572,2569,2578,1847,1846,2722,1843,1842,1840,1845,2716,2714,1835,1834,1832,1830,1839,1837,2700,2698,2695,2704,1817,1811,1810,897,862,1777,829,826,838,1760,1758,808,2481,1741,1740,1738,1743,2624,1818,2726,2776,782,740,737,1715,686,679,695,1682,1680,639,628,2339,647,644,1645,1643,1640,1648,602,600,597,595,2320,593,2318,609,607,604,1611,1610,1608,1606,613,1615,1613,2328,926,924,892,886,899,857,850,2505,1778,824,823,821,819,2488,818,2486,833,831,828,840,1761,1759,2649,2632,2630,2746,2734,2732,2782,2781,570,567,1587,531,527,523,540,1566,1564,476,467,463,2240,486,483,1524,1521,1518,1529,411,403,2192,399,2189,423,416,1462,1457,1454,428,1468,1465,2210,366,363,2158,360,2156,357,2153,376,373,370,2163,1410,1409,1407,1405,382,1402,380,1417,1415,1412,1421,2175,2174,777,774,771,784,732,725,722,2404,743,1716,676,674,668,2363,665,2360,685,1684,1681,626,624,622,2335,620,2333,617,2330,641,635,649,1646,1644,1642,2566,928,925,2530,2527,894,891,888,2501,2499,2496,858,856,854,851,1779,2692,2668,2665,2645,2643,2640,2651,2768,2759,2757,2744,2743,2741,2748,352,1382,340,337,333,1371,1369,307,300,296,2126,315,312,1347,1342,1350,261,258,250,2097,246,2094,271,268,264,1306,1301,1298,276,1312,1309,2115,203,2048,195,2045,191,2041,213,209,2056,1246,1244,1238,225,1234,222,1256,1253,1249,1262,2080,2079,154,1997,150,1995,147,1992,1989,163,160,2004,156,2001,1175,1174,1172,1170,1167,170,1164,167,1185,1183,1180,1177,174,1190,1188,2025,2024,2022,587,586,564,559,556,2290,573,1588,520,518,512,2268,508,2265,530,1568,1565,461,457,2233,450,2230,446,2226,479,471,489,1526,1523,1520,397,395,2185,392,2183,389,2180,2177,410,2194,402,422,1463,1461,1459,1456,1470,2455,799,2433,2430,779,776,773,2397,2394,2390,734,728,724,746,1717,2356,2354,2351,2348,1658,677,675,673,670,667,688,1685,1683,2606,2589,2586,2559,2556,2552,927,2523,2521,2518,2515,1784,2532,895,893,890,2718,2709,2707,2689,2687,2684,2663,2662,2660,2658,1825,2667,2769,1852,2760,2758,142,141,1139,1138,134,132,129,126,1982,1129,1128,1126,1131,113,111,108,105,1972,101,1970,120,118,115,1109,1108,1106,1104,123,1113,1111,82,79,1951,75,1949,72,1946,92,89,86,1956,1077,1076,1074,1072,98,1069,96,1084,1082,1079,1088,1968,1967,48,45,1916,42,1914,39,1911,1908,60,57,54,1923,50,1920,1031,1030,1028,1026,67,1023,65,1020,62,1041,1039,1036,1033,69,1046,1044,1944,1943,1941,11,9,1868,7,1865,1862,1859,20,1878,16,1875,13,1872,970,968,966,963,29,960,26,23,983,981,978,975,33,971,31,990,988,985,1906,1904,1902,993,351,2145,1383,331,330,328,326,2137,323,2135,339,1372,1370,294,293,291,289,2122,286,2120,283,2117,309,303,317,1348,1346,1344,245,244,242,2090,239,2088,236,2085,2082,260,2099,249,270,1307,1305,1303,1300,1314,189,2038,186,2036,183,2033,2030,2026,206,198,2047,194,216,1247,1245,1243,1240,227,1237,1255,2310,2302,2300,2286,2284,2281,565,563,561,558,575,1589,2261,2259,2256,2253,1542,521,519,517,514,2270,511,533,1569,1567,2223,2221,2218,2215,1483,2211,1480,459,456,453,2232,449,474,491,1527,1525,1522,2475,2467,2465,2451,2449,2446,801,800,2426,2424,2421,2418,1723,2435,780,778,775,2387,2385,2382,2379,1695,2375,1693,2396,735,733,730,727,749,1718,2616,2615,2604,2603,2601,2584,2583,2581,2579,1800,2591,2550,2549,2547,2545,1792,2542,1790,2558,929,2719,1841,2710,2708,1833,1831,2690,2688,2686,1815,1809,1808,1774,1756,1754,1737,1736,1734,1739,1816,1711,1676,1674,633,629,1638,1636,1633,1641,598,1605,1604,1602,1600,605,1609,1607,2327,887,853,1775,822,820,1757,1755,1584,524,1560,1558,468,464,1514,1511,1508,1519,408,404,400,1452,1447,1444,417,1458,1455,2208,364,361,358,2154,1401,1400,1398,1396,374,1393,371,1408,1406,1403,1413,2173,2172,772,726,723,1712,672,669,666,682,1678,1675,625,623,621,618,2331,636,632,1639,1637,1635,920,918,884,880,889,849,848,847,846,2497,855,852,1776,2641,2742,2787,1380,334,1367,1365,301,297,1340,1338,1335,1343,255,251,247,1296,1291,1288,265,1302,1299,2113,204,196,192,2042,1232,1230,1224,214,1220,210,1242,1239,1235,1250,2077,2075,151,148,1993,144,1990,1163,1162,1160,1158,1155,161,1152,157,1173,1171,1168,1165,168,1181,1178,2021,2020,2018,2023,585,560,557,1585,516,509,1562,1559,458,447,2227,472,1516,1513,1510,398,396,393,390,2181,386,2178,407,1453,1451,1449,1446,420,1460,2209,769,764,720,712,2391,729,1713,664,663,661,659,2352,656,2349,671,1679,1677,2553,922,919,2519,2516,885,883,881,2685,2661,2659,2767,2756,2755,140,1137,1136,130,127,1125,1124,1122,1127,109,106,102,1103,1102,1100,1098,116,1107,1105,1980,80,76,73,1947,1068,1067,1065,1063,90,1060,87,1075,1073,1070,1080,1966,1965,46,43,40,1912,36,1909,1019,1018,1016,1014,58,1011,55,1008,51,1029,1027,1024,1021,63,1037,1034,1940,1939,1937,1942,8,1866,4,1863,1,1860,956,954,952,949,946,17,14,969,967,964,961,27,957,24,979,976,972,1901,1900,1898,1896,986,1905,1903,350,349,1381,329,327,324,1368,1366,292,290,287,284,2118,304,1341,1339,1337,1345,243,240,237,2086,233,2083,254,1297,1295,1293,1290,1304,2114,190,187,184,2034,180,2031,177,2027,199,1233,1231,1229,1226,217,1223,1241,2078,2076,584,555,554,552,550,2282,562,1586,507,506,504,502,2257,499,2254,515,1563,1561,445,443,441,2219,438,2216,435,2212,460,454,475,1517,1515,1512,2447,798,797,2422,2419,770,768,766,2383,2380,2376,721,719,717,714,731,1714,2602,2582,2580,2548,2546,2543,923,921,2717,2706,2705,2683,2682,2680,1771,1752,1750,1733,1732,1731,1735,1814,1707,1670,1668,1631,1629,1626,1634,1599,1598,1596,1594,1603,1601,2326,1772,1753,1751,1581,1554,1552,1504,1501,1498,1509,1442,1437,1434,401,1448,1445,2206,1392,1391,1389,1387,1384,359,1399,1397,1394,1404,2171,2170,1708,1672,1669,619,1632,1630,1628,1773,1378,1363,1361,1333,1328,1336,1286,1281,1278,248,1292,1289,2111,1218,1216,1210,197,1206,193,1228,1225,1221,1236,2073,2071,1151,1150,1148,1146,152,1143,149,1140,145,1161,1159,1156,1153,158,1169,1166,2017,2016,2014,2019,1582,510,1556,1553,452,448,1506,1500,394,391,387,1443,1441,1439,1436,1450,2207,765,716,713,1709,662,660,657,1673,1671,916,914,879,878,877,882,1135,1134,1121,1120,1118,1123,1097,1096,1094,1092,103,1101,1099,1979,1059,1058,1056,1054,77,1051,74,1066,1064,1061,1071,1964,1963,1007,1006,1004,1002,999,41,996,37,1017,1015,1012,1009,52,1025,1022,1936,1935,1933,1938,942,940,938,935,932,5,2,955,953,950,947,18,943,15,965,962,958,1895,1894,1892,1890,973,1899,1897,1379,325,1364,1362,288,285,1334,1332,1330,241,238,234,1287,1285,1283,1280,1294,2112,188,185,181,178,2028,1219,1217,1215,1212,200,1209,1227,2074,2072,583,553,551,1583,505,503,500,513,1557,1555,444,442,439,436,2213,455,451,1507,1505,1502,796,763,762,760,767,711,710,708,706,2377,718,715,1710,2544,917,915,2681,1627,1597,1595,2325,1769,1749,1747,1499,1438,1435,2204,1390,1388,1385,1395,2169,2167,1704,1665,1662,1625,1623,1620,1770,1329,1282,1279,2109,1214,1207,1222,2068,2065,1149,1147,1144,1141,146,1157,1154,2013,2011,2008,2015,1579,1549,1546,1495,1487,1433,1431,1428,1425,388,1440,2205,1705,658,1667,1664,1119,1095,1093,1978,1057,1055,1052,1062,1962,1960,1005,1003,1e3,997,38,1013,1010,1932,1930,1927,1934,941,939,936,933,6,930,3,951,948,944,1889,1887,1884,1881,959,1893,1891,35,1377,1360,1358,1327,1325,1322,1331,1277,1275,1272,1269,235,1284,2110,1205,1204,1201,1198,182,1195,179,1213,2070,2067,1580,501,1551,1548,440,437,1497,1494,1490,1503,761,709,707,1706,913,912,2198,1386,2164,2161,1621,1766,2103,1208,2058,2054,1145,1142,2005,2002,1999,2009,1488,1429,1426,2200,1698,1659,1656,1975,1053,1957,1954,1001,998,1924,1921,1918,1928,937,934,931,1879,1876,1873,1870,945,1885,1882,1323,1273,1270,2105,1202,1199,1196,1211,2061,2057,1576,1543,1540,1484,1481,1478,1491,1700]);class Qx{constructor(p,v){this.bits=p,this.points=v}getBits(){return this.bits}getPoints(){return this.points}}class _n{static detectMultiple(p,v,x){let C=p.getBlackMatrix(),E=_n.detect(x,C);return E.length||(C=C.clone(),C.rotate180(),E=_n.detect(x,C)),new Qx(C,E)}static detect(p,v){const x=new Array;let C=0,E=0,A=!1;for(;C<v.getHeight();){const O=_n.findVertices(v,C,E);if(O[0]==null&&O[3]==null){if(!A)break;A=!1,E=0;for(const V of x)V[1]!=null&&(C=Math.trunc(Math.max(C,V[1].getY()))),V[3]!=null&&(C=Math.max(C,Math.trunc(V[3].getY())));C+=_n.ROW_STEP;continue}if(A=!0,x.push(O),!p)break;O[2]!=null?(E=Math.trunc(O[2].getX()),C=Math.trunc(O[2].getY())):(E=Math.trunc(O[4].getX()),C=Math.trunc(O[4].getY()))}return x}static findVertices(p,v,x){const C=p.getHeight(),E=p.getWidth(),A=new Array(8);return _n.copyToResult(A,_n.findRowsWithPattern(p,C,E,v,x,_n.START_PATTERN),_n.INDEXES_START_PATTERN),A[4]!=null&&(x=Math.trunc(A[4].getX()),v=Math.trunc(A[4].getY())),_n.copyToResult(A,_n.findRowsWithPattern(p,C,E,v,x,_n.STOP_PATTERN),_n.INDEXES_STOP_PATTERN),A}static copyToResult(p,v,x){for(let C=0;C<x.length;C++)p[x[C]]=v[C]}static findRowsWithPattern(p,v,x,C,E,A){const O=new Array(4);let V=!1;const X=new Int32Array(A.length);for(;C<v;C+=_n.ROW_STEP){let fe=_n.findGuardPattern(p,E,C,x,!1,A,X);if(fe!=null){for(;C>0;){const be=_n.findGuardPattern(p,E,--C,x,!1,A,X);if(be!=null)fe=be;else{C++;break}}O[0]=new _e(fe[0],C),O[1]=new _e(fe[1],C),V=!0;break}}let ae=C+1;if(V){let fe=0,be=Int32Array.from([Math.trunc(O[0].getX()),Math.trunc(O[1].getX())]);for(;ae<v;ae++){const Ae=_n.findGuardPattern(p,be[0],ae,x,!1,A,X);if(Ae!=null&&Math.abs(be[0]-Ae[0])<_n.MAX_PATTERN_DRIFT&&Math.abs(be[1]-Ae[1])<_n.MAX_PATTERN_DRIFT)be=Ae,fe=0;else{if(fe>_n.SKIPPED_ROW_COUNT_MAX)break;fe++}}ae-=fe+1,O[2]=new _e(be[0],ae),O[3]=new _e(be[1],ae)}return ae-C<_n.BARCODE_MIN_HEIGHT&&I.fill(O,null),O}static findGuardPattern(p,v,x,C,E,A,O){I.fillWithin(O,0,O.length,0);let V=v,X=0;for(;p.get(V,x)&&V>0&&X++<_n.MAX_PIXEL_DRIFT;)V--;let ae=V,fe=0,be=A.length;for(let Ae=E;ae<C;ae++)if(p.get(ae,x)!==Ae)O[fe]++;else{if(fe===be-1){if(_n.patternMatchVariance(O,A,_n.MAX_INDIVIDUAL_VARIANCE)<_n.MAX_AVG_VARIANCE)return new Int32Array([V,ae]);V+=O[0]+O[1],b.arraycopy(O,2,O,0,fe-1),O[fe-1]=0,O[fe]=0,fe--}else fe++;O[fe]=1,Ae=!Ae}return fe===be-1&&_n.patternMatchVariance(O,A,_n.MAX_INDIVIDUAL_VARIANCE)<_n.MAX_AVG_VARIANCE?new Int32Array([V,ae-1]):null}static patternMatchVariance(p,v,x){let C=p.length,E=0,A=0;for(let X=0;X<C;X++)E+=p[X],A+=v[X];if(E<A)return 1/0;let O=E/A;x*=O;let V=0;for(let X=0;X<C;X++){let ae=p[X],fe=v[X]*O,be=ae>fe?ae-fe:fe-ae;if(be>x)return 1/0;V+=be}return V/E}}_n.INDEXES_START_PATTERN=Int32Array.from([0,4,1,5]),_n.INDEXES_STOP_PATTERN=Int32Array.from([6,2,7,3]),_n.MAX_AVG_VARIANCE=.42,_n.MAX_INDIVIDUAL_VARIANCE=.8,_n.START_PATTERN=Int32Array.from([8,1,1,1,1,1,1,3]),_n.STOP_PATTERN=Int32Array.from([7,1,1,3,1,1,1,2,1]),_n.MAX_PIXEL_DRIFT=3,_n.MAX_PATTERN_DRIFT=5,_n.SKIPPED_ROW_COUNT_MAX=25,_n.ROW_STEP=5,_n.BARCODE_MIN_HEIGHT=10;class ss{constructor(p,v){if(v.length===0)throw new f;this.field=p;let x=v.length;if(x>1&&v[0]===0){let C=1;for(;C<x&&v[C]===0;)C++;C===x?this.coefficients=new Int32Array([0]):(this.coefficients=new Int32Array(x-C),b.arraycopy(v,C,this.coefficients,0,this.coefficients.length))}else this.coefficients=v}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(p){return this.coefficients[this.coefficients.length-1-p]}evaluateAt(p){if(p===0)return this.getCoefficient(0);if(p===1){let C=0;for(let E of this.coefficients)C=this.field.add(C,E);return C}let v=this.coefficients[0],x=this.coefficients.length;for(let C=1;C<x;C++)v=this.field.add(this.field.multiply(p,v),this.coefficients[C]);return v}add(p){if(!this.field.equals(p.field))throw new f("ModulusPolys do not have same ModulusGF field");if(this.isZero())return p;if(p.isZero())return this;let v=this.coefficients,x=p.coefficients;if(v.length>x.length){let A=v;v=x,x=A}let C=new Int32Array(x.length),E=x.length-v.length;b.arraycopy(x,0,C,0,E);for(let A=E;A<x.length;A++)C[A]=this.field.add(v[A-E],x[A]);return new ss(this.field,C)}subtract(p){if(!this.field.equals(p.field))throw new f("ModulusPolys do not have same ModulusGF field");return p.isZero()?this:this.add(p.negative())}multiply(p){return p instanceof ss?this.multiplyOther(p):this.multiplyScalar(p)}multiplyOther(p){if(!this.field.equals(p.field))throw new f("ModulusPolys do not have same ModulusGF field");if(this.isZero()||p.isZero())return new ss(this.field,new Int32Array([0]));let v=this.coefficients,x=v.length,C=p.coefficients,E=C.length,A=new Int32Array(x+E-1);for(let O=0;O<x;O++){let V=v[O];for(let X=0;X<E;X++)A[O+X]=this.field.add(A[O+X],this.field.multiply(V,C[X]))}return new ss(this.field,A)}negative(){let p=this.coefficients.length,v=new Int32Array(p);for(let x=0;x<p;x++)v[x]=this.field.subtract(0,this.coefficients[x]);return new ss(this.field,v)}multiplyScalar(p){if(p===0)return new ss(this.field,new Int32Array([0]));if(p===1)return this;let v=this.coefficients.length,x=new Int32Array(v);for(let C=0;C<v;C++)x[C]=this.field.multiply(this.coefficients[C],p);return new ss(this.field,x)}multiplyByMonomial(p,v){if(p<0)throw new f;if(v===0)return new ss(this.field,new Int32Array([0]));let x=this.coefficients.length,C=new Int32Array(x+p);for(let E=0;E<x;E++)C[E]=this.field.multiply(this.coefficients[E],v);return new ss(this.field,C)}toString(){let p=new Z;for(let v=this.getDegree();v>=0;v--){let x=this.getCoefficient(v);x!==0&&(x<0?(p.append(" - "),x=-x):p.length()>0&&p.append(" + "),(v===0||x!==1)&&p.append(x),v!==0&&(v===1?p.append("x"):(p.append("x^"),p.append(v))))}return p.toString()}}class Jx{add(p,v){return(p+v)%this.modulus}subtract(p,v){return(this.modulus+p-v)%this.modulus}exp(p){return this.expTable[p]}log(p){if(p===0)throw new f;return this.logTable[p]}inverse(p){if(p===0)throw new le;return this.expTable[this.modulus-this.logTable[p]-1]}multiply(p,v){return p===0||v===0?0:this.expTable[(this.logTable[p]+this.logTable[v])%(this.modulus-1)]}getSize(){return this.modulus}equals(p){return p===this}}class _d extends Jx{constructor(p,v){super(),this.modulus=p,this.expTable=new Int32Array(p),this.logTable=new Int32Array(p);let x=1;for(let C=0;C<p;C++)this.expTable[C]=x,x=x*v%p;for(let C=0;C<p-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new ss(this,new Int32Array([0])),this.one=new ss(this,new Int32Array([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(p,v){if(p<0)throw new f;if(v===0)return this.zero;let x=new Int32Array(p+1);return x[0]=v,new ss(this,x)}}_d.PDF417_GF=new _d(xn.NUMBER_OF_CODEWORDS,3);class jv{constructor(){this.field=_d.PDF417_GF}decode(p,v,x){let C=new ss(this.field,p),E=new Int32Array(v),A=!1;for(let He=v;He>0;He--){let Ge=C.evaluateAt(this.field.exp(He));E[v-He]=Ge,Ge!==0&&(A=!0)}if(!A)return 0;let O=this.field.getOne();if(x!=null)for(const He of x){let Ge=this.field.exp(p.length-1-He),tt=new ss(this.field,new Int32Array([this.field.subtract(0,Ge),1]));O=O.multiply(tt)}let V=new ss(this.field,E),X=this.runEuclideanAlgorithm(this.field.buildMonomial(v,1),V,v),ae=X[0],fe=X[1],be=this.findErrorLocations(ae),Ae=this.findErrorMagnitudes(fe,ae,be);for(let He=0;He<be.length;He++){let Ge=p.length-1-this.field.log(be[He]);if(Ge<0)throw g.getChecksumInstance();p[Ge]=this.field.subtract(p[Ge],Ae[He])}return be.length}runEuclideanAlgorithm(p,v,x){if(p.getDegree()<v.getDegree()){let be=p;p=v,v=be}let C=p,E=v,A=this.field.getZero(),O=this.field.getOne();for(;E.getDegree()>=Math.round(x/2);){let be=C,Ae=A;if(C=E,A=O,C.isZero())throw g.getChecksumInstance();E=be;let He=this.field.getZero(),Ge=C.getCoefficient(C.getDegree()),tt=this.field.inverse(Ge);for(;E.getDegree()>=C.getDegree()&&!E.isZero();){let ct=E.getDegree()-C.getDegree(),Dt=this.field.multiply(E.getCoefficient(E.getDegree()),tt);He=He.add(this.field.buildMonomial(ct,Dt)),E=E.subtract(C.multiplyByMonomial(ct,Dt))}O=He.multiply(A).subtract(Ae).negative()}let V=O.getCoefficient(0);if(V===0)throw g.getChecksumInstance();let X=this.field.inverse(V),ae=O.multiply(X),fe=E.multiply(X);return[ae,fe]}findErrorLocations(p){let v=p.getDegree(),x=new Int32Array(v),C=0;for(let E=1;E<this.field.getSize()&&C<v;E++)p.evaluateAt(E)===0&&(x[C]=this.field.inverse(E),C++);if(C!==v)throw g.getChecksumInstance();return x}findErrorMagnitudes(p,v,x){let C=v.getDegree(),E=new Int32Array(C);for(let X=1;X<=C;X++)E[C-X]=this.field.multiply(X,v.getCoefficient(X));let A=new ss(this.field,E),O=x.length,V=new Int32Array(O);for(let X=0;X<O;X++){let ae=this.field.inverse(x[X]),fe=this.field.subtract(0,p.evaluateAt(ae)),be=this.field.inverse(A.evaluateAt(ae));V[X]=this.field.multiply(fe,be)}return V}}class Cf{constructor(p,v,x,C,E){p instanceof Cf?this.constructor_2(p):this.constructor_1(p,v,x,C,E)}constructor_1(p,v,x,C,E){const A=v==null||x==null,O=C==null||E==null;if(A&&O)throw new U;A?(v=new _e(0,C.getY()),x=new _e(0,E.getY())):O&&(C=new _e(p.getWidth()-1,v.getY()),E=new _e(p.getWidth()-1,x.getY())),this.image=p,this.topLeft=v,this.bottomLeft=x,this.topRight=C,this.bottomRight=E,this.minX=Math.trunc(Math.min(v.getX(),x.getX())),this.maxX=Math.trunc(Math.max(C.getX(),E.getX())),this.minY=Math.trunc(Math.min(v.getY(),C.getY())),this.maxY=Math.trunc(Math.max(x.getY(),E.getY()))}constructor_2(p){this.image=p.image,this.topLeft=p.getTopLeft(),this.bottomLeft=p.getBottomLeft(),this.topRight=p.getTopRight(),this.bottomRight=p.getBottomRight(),this.minX=p.getMinX(),this.maxX=p.getMaxX(),this.minY=p.getMinY(),this.maxY=p.getMaxY()}static merge(p,v){return p==null?v:v==null?p:new Cf(p.image,p.topLeft,p.bottomLeft,v.topRight,v.bottomRight)}addMissingRows(p,v,x){let C=this.topLeft,E=this.bottomLeft,A=this.topRight,O=this.bottomRight;if(p>0){let V=x?this.topLeft:this.topRight,X=Math.trunc(V.getY()-p);X<0&&(X=0);let ae=new _e(V.getX(),X);x?C=ae:A=ae}if(v>0){let V=x?this.bottomLeft:this.bottomRight,X=Math.trunc(V.getY()+v);X>=this.image.getHeight()&&(X=this.image.getHeight()-1);let ae=new _e(V.getX(),X);x?E=ae:O=ae}return new Cf(this.image,C,E,A,O)}getMinX(){return this.minX}getMaxX(){return this.maxX}getMinY(){return this.minY}getMaxY(){return this.maxY}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}getBottomLeft(){return this.bottomLeft}getBottomRight(){return this.bottomRight}}class Vh{constructor(p,v,x,C){this.columnCount=p,this.errorCorrectionLevel=C,this.rowCountUpperPart=v,this.rowCountLowerPart=x,this.rowCount=v+x}getColumnCount(){return this.columnCount}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getRowCount(){return this.rowCount}getRowCountUpperPart(){return this.rowCountUpperPart}getRowCountLowerPart(){return this.rowCountLowerPart}}class yc{constructor(){this.buffer=""}static form(p,v){let x=-1;function C(A,O,V,X,ae,fe){if(A==="%%")return"%";if(v[++x]===void 0)return;A=X?parseInt(X.substr(1)):void 0;let be=ae?parseInt(ae.substr(1)):void 0,Ae;switch(fe){case"s":Ae=v[x];break;case"c":Ae=v[x][0];break;case"f":Ae=parseFloat(v[x]).toFixed(A);break;case"p":Ae=parseFloat(v[x]).toPrecision(A);break;case"e":Ae=parseFloat(v[x]).toExponential(A);break;case"x":Ae=parseInt(v[x]).toString(be||16);break;case"d":Ae=parseFloat(parseInt(v[x],be||10).toPrecision(A)).toFixed(0);break}Ae=typeof Ae=="object"?JSON.stringify(Ae):(+Ae).toString(be);let He=parseInt(V),Ge=V&&V[0]+""=="0"?"0":" ";for(;Ae.length<He;)Ae=O!==void 0?Ae+Ge:Ge+Ae;return Ae}let E=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return p.replace(E,C)}format(p,...v){this.buffer+=yc.form(p,v)}toString(){return this.buffer}}class jl{constructor(p){this.boundingBox=new Cf(p),this.codewords=new Array(p.getMaxY()-p.getMinY()+1)}getCodewordNearby(p){let v=this.getCodeword(p);if(v!=null)return v;for(let x=1;x<jl.MAX_NEARBY_DISTANCE;x++){let C=this.imageRowToCodewordIndex(p)-x;if(C>=0&&(v=this.codewords[C],v!=null)||(C=this.imageRowToCodewordIndex(p)+x,C<this.codewords.length&&(v=this.codewords[C],v!=null)))return v}return null}imageRowToCodewordIndex(p){return p-this.boundingBox.getMinY()}setCodeword(p,v){this.codewords[this.imageRowToCodewordIndex(p)]=v}getCodeword(p){return this.codewords[this.imageRowToCodewordIndex(p)]}getBoundingBox(){return this.boundingBox}getCodewords(){return this.codewords}toString(){const p=new yc;let v=0;for(const x of this.codewords){if(x==null){p.format("%3d: | %n",v++);continue}p.format("%3d: %3d|%3d%n",v++,x.getRowNumber(),x.getValue())}return p.toString()}}jl.MAX_NEARBY_DISTANCE=5;class mu{constructor(){this.values=new Map}setValue(p){p=Math.trunc(p);let v=this.values.get(p);v==null&&(v=0),v++,this.values.set(p,v)}getValue(){let p=-1,v=new Array;for(const[x,C]of this.values.entries()){const E={getKey:()=>x,getValue:()=>C};E.getValue()>p?(p=E.getValue(),v=[],v.push(E.getKey())):E.getValue()===p&&v.push(E.getKey())}return xn.toIntArray(v)}getConfidence(p){return this.values.get(p)}}class Xx extends jl{constructor(p,v){super(p),this._isLeft=v}setRowNumbers(){for(let p of this.getCodewords())p!=null&&p.setRowNumberAsRowIndicatorColumn()}adjustCompleteIndicatorColumnRowNumbers(p){let v=this.getCodewords();this.setRowNumbers(),this.removeIncorrectCodewords(v,p);let x=this.getBoundingBox(),C=this._isLeft?x.getTopLeft():x.getTopRight(),E=this._isLeft?x.getBottomLeft():x.getBottomRight(),A=this.imageRowToCodewordIndex(Math.trunc(C.getY())),O=this.imageRowToCodewordIndex(Math.trunc(E.getY())),V=-1,X=1,ae=0;for(let fe=A;fe<O;fe++){if(v[fe]==null)continue;let be=v[fe],Ae=be.getRowNumber()-V;if(Ae===0)ae++;else if(Ae===1)X=Math.max(X,ae),ae=1,V=be.getRowNumber();else if(Ae<0||be.getRowNumber()>=p.getRowCount()||Ae>fe)v[fe]=null;else{let He;X>2?He=(X-2)*Ae:He=Ae;let Ge=He>=fe;for(let tt=1;tt<=He&&!Ge;tt++)Ge=v[fe-tt]!=null;Ge?v[fe]=null:(V=be.getRowNumber(),ae=1)}}}getRowHeights(){let p=this.getBarcodeMetadata();if(p==null)return null;this.adjustIncompleteIndicatorColumnRowNumbers(p);let v=new Int32Array(p.getRowCount());for(let x of this.getCodewords())if(x!=null){let C=x.getRowNumber();if(C>=v.length)continue;v[C]++}return v}adjustIncompleteIndicatorColumnRowNumbers(p){let v=this.getBoundingBox(),x=this._isLeft?v.getTopLeft():v.getTopRight(),C=this._isLeft?v.getBottomLeft():v.getBottomRight(),E=this.imageRowToCodewordIndex(Math.trunc(x.getY())),A=this.imageRowToCodewordIndex(Math.trunc(C.getY())),O=this.getCodewords(),V=-1;for(let X=E;X<A;X++){if(O[X]==null)continue;let ae=O[X];ae.setRowNumberAsRowIndicatorColumn();let fe=ae.getRowNumber()-V;fe===0||(fe===1?V=ae.getRowNumber():ae.getRowNumber()>=p.getRowCount()?O[X]=null:V=ae.getRowNumber())}}getBarcodeMetadata(){let p=this.getCodewords(),v=new mu,x=new mu,C=new mu,E=new mu;for(let O of p){if(O==null)continue;O.setRowNumberAsRowIndicatorColumn();let V=O.getValue()%30,X=O.getRowNumber();switch(this._isLeft||(X+=2),X%3){case 0:x.setValue(V*3+1);break;case 1:E.setValue(V/3),C.setValue(V%3);break;case 2:v.setValue(V+1);break}}if(v.getValue().length===0||x.getValue().length===0||C.getValue().length===0||E.getValue().length===0||v.getValue()[0]<1||x.getValue()[0]+C.getValue()[0]<xn.MIN_ROWS_IN_BARCODE||x.getValue()[0]+C.getValue()[0]>xn.MAX_ROWS_IN_BARCODE)return null;let A=new Vh(v.getValue()[0],x.getValue()[0],C.getValue()[0],E.getValue()[0]);return this.removeIncorrectCodewords(p,A),A}removeIncorrectCodewords(p,v){for(let x=0;x<p.length;x++){let C=p[x];if(p[x]==null)continue;let E=C.getValue()%30,A=C.getRowNumber();if(A>v.getRowCount()){p[x]=null;continue}switch(this._isLeft||(A+=2),A%3){case 0:E*3+1!==v.getRowCountUpperPart()&&(p[x]=null);break;case 1:(Math.trunc(E/3)!==v.getErrorCorrectionLevel()||E%3!==v.getRowCountLowerPart())&&(p[x]=null);break;case 2:E+1!==v.getColumnCount()&&(p[x]=null);break}}}isLeft(){return this._isLeft}toString(){return"IsLeft: "+this._isLeft+`
2349 `+super.toString()}}class Hh{constructor(p,v){this.ADJUST_ROW_NUMBER_SKIP=2,this.barcodeMetadata=p,this.barcodeColumnCount=p.getColumnCount(),this.boundingBox=v,this.detectionResultColumns=new Array(this.barcodeColumnCount+2)}getDetectionResultColumns(){this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]),this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount+1]);let p=xn.MAX_CODEWORDS_IN_BARCODE,v;do v=p,p=this.adjustRowNumbersAndGetCount();while(p>0&&p<v);return this.detectionResultColumns}adjustIndicatorColumnRowNumbers(p){p!=null&&p.adjustCompleteIndicatorColumnRowNumbers(this.barcodeMetadata)}adjustRowNumbersAndGetCount(){let p=this.adjustRowNumbersByRow();if(p===0)return 0;for(let v=1;v<this.barcodeColumnCount+1;v++){let x=this.detectionResultColumns[v].getCodewords();for(let C=0;C<x.length;C++)x[C]!=null&&(x[C].hasValidRowNumber()||this.adjustRowNumbers(v,C,x))}return p}adjustRowNumbersByRow(){return this.adjustRowNumbersFromBothRI(),this.adjustRowNumbersFromLRI()+this.adjustRowNumbersFromRRI()}adjustRowNumbersFromBothRI(){if(this.detectionResultColumns[0]==null||this.detectionResultColumns[this.barcodeColumnCount+1]==null)return;let p=this.detectionResultColumns[0].getCodewords(),v=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let x=0;x<p.length;x++)if(p[x]!=null&&v[x]!=null&&p[x].getRowNumber()===v[x].getRowNumber())for(let C=1;C<=this.barcodeColumnCount;C++){let E=this.detectionResultColumns[C].getCodewords()[x];E!=null&&(E.setRowNumber(p[x].getRowNumber()),E.hasValidRowNumber()||(this.detectionResultColumns[C].getCodewords()[x]=null))}}adjustRowNumbersFromRRI(){if(this.detectionResultColumns[this.barcodeColumnCount+1]==null)return 0;let p=0,v=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let x=0;x<v.length;x++){if(v[x]==null)continue;let C=v[x].getRowNumber(),E=0;for(let A=this.barcodeColumnCount+1;A>0&&E<this.ADJUST_ROW_NUMBER_SKIP;A--){let O=this.detectionResultColumns[A].getCodewords()[x];O!=null&&(E=Hh.adjustRowNumberIfValid(C,E,O),O.hasValidRowNumber()||p++)}}return p}adjustRowNumbersFromLRI(){if(this.detectionResultColumns[0]==null)return 0;let p=0,v=this.detectionResultColumns[0].getCodewords();for(let x=0;x<v.length;x++){if(v[x]==null)continue;let C=v[x].getRowNumber(),E=0;for(let A=1;A<this.barcodeColumnCount+1&&E<this.ADJUST_ROW_NUMBER_SKIP;A++){let O=this.detectionResultColumns[A].getCodewords()[x];O!=null&&(E=Hh.adjustRowNumberIfValid(C,E,O),O.hasValidRowNumber()||p++)}}return p}static adjustRowNumberIfValid(p,v,x){return x==null||x.hasValidRowNumber()||(x.isValidRowNumber(p)?(x.setRowNumber(p),v=0):++v),v}adjustRowNumbers(p,v,x){if(!this.detectionResultColumns[p-1])return;let C=x[v],E=this.detectionResultColumns[p-1].getCodewords(),A=E;this.detectionResultColumns[p+1]!=null&&(A=this.detectionResultColumns[p+1].getCodewords());let O=new Array(14);O[2]=E[v],O[3]=A[v],v>0&&(O[0]=x[v-1],O[4]=E[v-1],O[5]=A[v-1]),v>1&&(O[8]=x[v-2],O[10]=E[v-2],O[11]=A[v-2]),v<x.length-1&&(O[1]=x[v+1],O[6]=E[v+1],O[7]=A[v+1]),v<x.length-2&&(O[9]=x[v+2],O[12]=E[v+2],O[13]=A[v+2]);for(let V of O)if(Hh.adjustRowNumber(C,V))return}static adjustRowNumber(p,v){return v==null?!1:v.hasValidRowNumber()&&v.getBucket()===p.getBucket()?(p.setRowNumber(v.getRowNumber()),!0):!1}getBarcodeColumnCount(){return this.barcodeColumnCount}getBarcodeRowCount(){return this.barcodeMetadata.getRowCount()}getBarcodeECLevel(){return this.barcodeMetadata.getErrorCorrectionLevel()}setBoundingBox(p){this.boundingBox=p}getBoundingBox(){return this.boundingBox}setDetectionResultColumn(p,v){this.detectionResultColumns[p]=v}getDetectionResultColumn(p){return this.detectionResultColumns[p]}toString(){let p=this.detectionResultColumns[0];p==null&&(p=this.detectionResultColumns[this.barcodeColumnCount+1]);let v=new yc;for(let x=0;x<p.getCodewords().length;x++){v.format("CW %3d:",x);for(let C=0;C<this.barcodeColumnCount+2;C++){if(this.detectionResultColumns[C]==null){v.format(" | ");continue}let E=this.detectionResultColumns[C].getCodewords()[x];if(E==null){v.format(" | ");continue}v.format(" %3d|%3d",E.getRowNumber(),E.getValue())}v.format("%n")}return v.toString()}}class Sf{constructor(p,v,x,C){this.rowNumber=Sf.BARCODE_ROW_UNKNOWN,this.startX=Math.trunc(p),this.endX=Math.trunc(v),this.bucket=Math.trunc(x),this.value=Math.trunc(C)}hasValidRowNumber(){return this.isValidRowNumber(this.rowNumber)}isValidRowNumber(p){return p!==Sf.BARCODE_ROW_UNKNOWN&&this.bucket===p%3*3}setRowNumberAsRowIndicatorColumn(){this.rowNumber=Math.trunc(Math.trunc(this.value/30)*3+Math.trunc(this.bucket/3))}getWidth(){return this.endX-this.startX}getStartX(){return this.startX}getEndX(){return this.endX}getBucket(){return this.bucket}getValue(){return this.value}getRowNumber(){return this.rowNumber}setRowNumber(p){this.rowNumber=p}toString(){return this.rowNumber+"|"+this.value}}Sf.BARCODE_ROW_UNKNOWN=-1;class as{static initialize(){for(let p=0;p<xn.SYMBOL_TABLE.length;p++){let v=xn.SYMBOL_TABLE[p],x=v&1;for(let C=0;C<xn.BARS_IN_MODULE;C++){let E=0;for(;(v&1)===x;)E+=1,v>>=1;x=v&1,as.RATIOS_TABLE[p]||(as.RATIOS_TABLE[p]=new Array(xn.BARS_IN_MODULE)),as.RATIOS_TABLE[p][xn.BARS_IN_MODULE-C-1]=Math.fround(E/xn.MODULES_IN_CODEWORD)}}this.bSymbolTableReady=!0}static getDecodedValue(p){let v=as.getDecodedCodewordValue(as.sampleBitCounts(p));return v!==-1?v:as.getClosestDecodedValue(p)}static sampleBitCounts(p){let v=Ue.sum(p),x=new Int32Array(xn.BARS_IN_MODULE),C=0,E=0;for(let A=0;A<xn.MODULES_IN_CODEWORD;A++){let O=v/(2*xn.MODULES_IN_CODEWORD)+A*v/xn.MODULES_IN_CODEWORD;E+p[C]<=O&&(E+=p[C],C++),x[C]++}return x}static getDecodedCodewordValue(p){let v=as.getBitValue(p);return xn.getCodeword(v)===-1?-1:v}static getBitValue(p){let v=0;for(let x=0;x<p.length;x++)for(let C=0;C<p[x];C++)v=v<<1|(x%2===0?1:0);return Math.trunc(v)}static getClosestDecodedValue(p){let v=Ue.sum(p),x=new Array(xn.BARS_IN_MODULE);if(v>1)for(let A=0;A<x.length;A++)x[A]=Math.fround(p[A]/v);let C=qe.MAX_VALUE,E=-1;this.bSymbolTableReady||as.initialize();for(let A=0;A<as.RATIOS_TABLE.length;A++){let O=0,V=as.RATIOS_TABLE[A];for(let X=0;X<xn.BARS_IN_MODULE;X++){let ae=Math.fround(V[X]-x[X]);if(O+=Math.fround(ae*ae),O>=C)break}O<C&&(C=O,E=xn.SYMBOL_TABLE[A])}return E}}as.bSymbolTableReady=!1,as.RATIOS_TABLE=new Array(xn.SYMBOL_TABLE.length).map(ue=>new Array(xn.BARS_IN_MODULE));class f1{constructor(){this.segmentCount=-1,this.fileSize=-1,this.timestamp=-1,this.checksum=-1}getSegmentIndex(){return this.segmentIndex}setSegmentIndex(p){this.segmentIndex=p}getFileId(){return this.fileId}setFileId(p){this.fileId=p}getOptionalData(){return this.optionalData}setOptionalData(p){this.optionalData=p}isLastSegment(){return this.lastSegment}setLastSegment(p){this.lastSegment=p}getSegmentCount(){return this.segmentCount}setSegmentCount(p){this.segmentCount=p}getSender(){return this.sender||null}setSender(p){this.sender=p}getAddressee(){return this.addressee||null}setAddressee(p){this.addressee=p}getFileName(){return this.fileName}setFileName(p){this.fileName=p}getFileSize(){return this.fileSize}setFileSize(p){this.fileSize=p}getChecksum(){return this.checksum}setChecksum(p){this.checksum=p}getTimestamp(){return this.timestamp}setTimestamp(p){this.timestamp=p}}class Cv{static parseLong(p,v=void 0){return parseInt(p,v)}}class vc extends u{}vc.kind="NullPointerException";class Sv{writeBytes(p){this.writeBytesOffset(p,0,p.length)}writeBytesOffset(p,v,x){if(p==null)throw new vc;if(v<0||v>p.length||x<0||v+x>p.length||v+x<0)throw new j;if(x===0)return;for(let C=0;C<x;C++)this.write(p[v+C])}flush(){}close(){}}class d1 extends u{}class e4 extends Sv{constructor(p=32){if(super(),this.count=0,p<0)throw new f("Negative initial size: "+p);this.buf=new Uint8Array(p)}ensureCapacity(p){p-this.buf.length>0&&this.grow(p)}grow(p){let x=this.buf.length<<1;if(x-p<0&&(x=p),x<0){if(p<0)throw new d1;x=N.MAX_VALUE}this.buf=I.copyOfUint8Array(this.buf,x)}write(p){this.ensureCapacity(this.count+1),this.buf[this.count]=p,this.count+=1}writeBytesOffset(p,v,x){if(v<0||v>p.length||x<0||v+x-p.length>0)throw new j;this.ensureCapacity(this.count+x),b.arraycopy(p,v,this.buf,this.count,x),this.count+=x}writeTo(p){p.writeBytesOffset(this.buf,0,this.count)}reset(){this.count=0}toByteArray(){return I.copyOfUint8Array(this.buf,this.count)}size(){return this.count}toString(p){return p?typeof p=="string"?this.toString_string(p):this.toString_number(p):this.toString_void()}toString_void(){return new String(this.buf).toString()}toString_string(p){return new String(this.buf).toString()}toString_number(p){return new String(this.buf).toString()}close(){}}var hr;(function(ue){ue[ue.ALPHA=0]="ALPHA",ue[ue.LOWER=1]="LOWER",ue[ue.MIXED=2]="MIXED",ue[ue.PUNCT=3]="PUNCT",ue[ue.ALPHA_SHIFT=4]="ALPHA_SHIFT",ue[ue.PUNCT_SHIFT=5]="PUNCT_SHIFT"})(hr||(hr={}));function Wh(){if(typeof window<"u")return window.BigInt||null;if(typeof J4<"u")return J4.BigInt||null;if(typeof self<"u")return self.BigInt||null;throw new Error("Can't search globals for BigInt!")}let Yh;function No(ue){if(typeof Yh>"u"&&(Yh=Wh()),Yh===null)throw new Error("BigInt is not supported!");return Yh(ue)}function Md(){let ue=[];ue[0]=No(1);let p=No(900);ue[1]=p;for(let v=2;v<16;v++)ue[v]=ue[v-1]*p;return ue}class ut{static decode(p,v){let x=new Z(""),C=T.ISO8859_1;x.enableDecoding(C);let E=1,A=p[E++],O=new f1;for(;E<p[0];){switch(A){case ut.TEXT_COMPACTION_MODE_LATCH:E=ut.textCompaction(p,E,x);break;case ut.BYTE_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH_6:E=ut.byteCompaction(A,p,C,E,x);break;case ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:x.append(p[E++]);break;case ut.NUMERIC_COMPACTION_MODE_LATCH:E=ut.numericCompaction(p,E,x);break;case ut.ECI_CHARSET:T.getCharacterSetECIByValue(p[E++]);break;case ut.ECI_GENERAL_PURPOSE:E+=2;break;case ut.ECI_USER_DEFINED:E++;break;case ut.BEGIN_MACRO_PDF417_CONTROL_BLOCK:E=ut.decodeMacroBlock(p,E,O);break;case ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ut.MACRO_PDF417_TERMINATOR:throw new L;default:E--,E=ut.textCompaction(p,E,x);break}if(E<p.length)A=p[E++];else throw L.getFormatInstance()}if(x.length()===0)throw L.getFormatInstance();let V=new pe(null,x.toString(),null,v);return V.setOther(O),V}static decodeMacroBlock(p,v,x){if(v+ut.NUMBER_OF_SEQUENCE_CODEWORDS>p[0])throw L.getFormatInstance();let C=new Int32Array(ut.NUMBER_OF_SEQUENCE_CODEWORDS);for(let O=0;O<ut.NUMBER_OF_SEQUENCE_CODEWORDS;O++,v++)C[O]=p[v];x.setSegmentIndex(N.parseInt(ut.decodeBase900toBase10(C,ut.NUMBER_OF_SEQUENCE_CODEWORDS)));let E=new Z;v=ut.textCompaction(p,v,E),x.setFileId(E.toString());let A=-1;for(p[v]===ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD&&(A=v+1);v<p[0];)switch(p[v]){case ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:switch(v++,p[v]){case ut.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:let O=new Z;v=ut.textCompaction(p,v+1,O),x.setFileName(O.toString());break;case ut.MACRO_PDF417_OPTIONAL_FIELD_SENDER:let V=new Z;v=ut.textCompaction(p,v+1,V),x.setSender(V.toString());break;case ut.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:let X=new Z;v=ut.textCompaction(p,v+1,X),x.setAddressee(X.toString());break;case ut.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:let ae=new Z;v=ut.numericCompaction(p,v+1,ae),x.setSegmentCount(N.parseInt(ae.toString()));break;case ut.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:let fe=new Z;v=ut.numericCompaction(p,v+1,fe),x.setTimestamp(Cv.parseLong(fe.toString()));break;case ut.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:let be=new Z;v=ut.numericCompaction(p,v+1,be),x.setChecksum(N.parseInt(be.toString()));break;case ut.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:let Ae=new Z;v=ut.numericCompaction(p,v+1,Ae),x.setFileSize(Cv.parseLong(Ae.toString()));break;default:throw L.getFormatInstance()}break;case ut.MACRO_PDF417_TERMINATOR:v++,x.setLastSegment(!0);break;default:throw L.getFormatInstance()}if(A!==-1){let O=v-A;x.isLastSegment()&&O--,x.setOptionalData(I.copyOfRange(p,A,A+O))}return v}static textCompaction(p,v,x){let C=new Int32Array((p[0]-v)*2),E=new Int32Array((p[0]-v)*2),A=0,O=!1;for(;v<p[0]&&!O;){let V=p[v++];if(V<ut.TEXT_COMPACTION_MODE_LATCH)C[A]=V/30,C[A+1]=V%30,A+=2;else switch(V){case ut.TEXT_COMPACTION_MODE_LATCH:C[A++]=ut.TEXT_COMPACTION_MODE_LATCH;break;case ut.BYTE_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH_6:case ut.NUMERIC_COMPACTION_MODE_LATCH:case ut.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ut.MACRO_PDF417_TERMINATOR:v--,O=!0;break;case ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C[A]=ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE,V=p[v++],E[A]=V,A++;break}}return ut.decodeTextCompaction(C,E,A,x),v}static decodeTextCompaction(p,v,x,C){let E=hr.ALPHA,A=hr.ALPHA,O=0;for(;O<x;){let V=p[O],X="";switch(E){case hr.ALPHA:if(V<26)X=String.fromCharCode(65+V);else switch(V){case 26:X=" ";break;case ut.LL:E=hr.LOWER;break;case ut.ML:E=hr.MIXED;break;case ut.PS:A=E,E=hr.PUNCT_SHIFT;break;case ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[O]);break;case ut.TEXT_COMPACTION_MODE_LATCH:E=hr.ALPHA;break}break;case hr.LOWER:if(V<26)X=String.fromCharCode(97+V);else switch(V){case 26:X=" ";break;case ut.AS:A=E,E=hr.ALPHA_SHIFT;break;case ut.ML:E=hr.MIXED;break;case ut.PS:A=E,E=hr.PUNCT_SHIFT;break;case ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[O]);break;case ut.TEXT_COMPACTION_MODE_LATCH:E=hr.ALPHA;break}break;case hr.MIXED:if(V<ut.PL)X=ut.MIXED_CHARS[V];else switch(V){case ut.PL:E=hr.PUNCT;break;case 26:X=" ";break;case ut.LL:E=hr.LOWER;break;case ut.AL:E=hr.ALPHA;break;case ut.PS:A=E,E=hr.PUNCT_SHIFT;break;case ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[O]);break;case ut.TEXT_COMPACTION_MODE_LATCH:E=hr.ALPHA;break}break;case hr.PUNCT:if(V<ut.PAL)X=ut.PUNCT_CHARS[V];else switch(V){case ut.PAL:E=hr.ALPHA;break;case ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[O]);break;case ut.TEXT_COMPACTION_MODE_LATCH:E=hr.ALPHA;break}break;case hr.ALPHA_SHIFT:if(E=A,V<26)X=String.fromCharCode(65+V);else switch(V){case 26:X=" ";break;case ut.TEXT_COMPACTION_MODE_LATCH:E=hr.ALPHA;break}break;case hr.PUNCT_SHIFT:if(E=A,V<ut.PAL)X=ut.PUNCT_CHARS[V];else switch(V){case ut.PAL:E=hr.ALPHA;break;case ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[O]);break;case ut.TEXT_COMPACTION_MODE_LATCH:E=hr.ALPHA;break}break}X!==""&&C.append(X),O++}}static byteCompaction(p,v,x,C,E){let A=new e4,O=0,V=0,X=!1;switch(p){case ut.BYTE_COMPACTION_MODE_LATCH:let ae=new Int32Array(6),fe=v[C++];for(;C<v[0]&&!X;)switch(ae[O++]=fe,V=900*V+fe,fe=v[C++],fe){case ut.TEXT_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH:case ut.NUMERIC_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH_6:case ut.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ut.MACRO_PDF417_TERMINATOR:C--,X=!0;break;default:if(O%5===0&&O>0){for(let be=0;be<6;++be)A.write(Number(No(V)>>No(8*(5-be))));V=0,O=0}break}C===v[0]&&fe<ut.TEXT_COMPACTION_MODE_LATCH&&(ae[O++]=fe);for(let be=0;be<O;be++)A.write(ae[be]);break;case ut.BYTE_COMPACTION_MODE_LATCH_6:for(;C<v[0]&&!X;){let be=v[C++];if(be<ut.TEXT_COMPACTION_MODE_LATCH)O++,V=900*V+be;else switch(be){case ut.TEXT_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH:case ut.NUMERIC_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH_6:case ut.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ut.MACRO_PDF417_TERMINATOR:C--,X=!0;break}if(O%5===0&&O>0){for(let Ae=0;Ae<6;++Ae)A.write(Number(No(V)>>No(8*(5-Ae))));V=0,O=0}}break}return E.append(z.decode(A.toByteArray(),x)),C}static numericCompaction(p,v,x){let C=0,E=!1,A=new Int32Array(ut.MAX_NUMERIC_CODEWORDS);for(;v<p[0]&&!E;){let O=p[v++];if(v===p[0]&&(E=!0),O<ut.TEXT_COMPACTION_MODE_LATCH)A[C]=O,C++;else switch(O){case ut.TEXT_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH:case ut.BYTE_COMPACTION_MODE_LATCH_6:case ut.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ut.MACRO_PDF417_TERMINATOR:v--,E=!0;break}(C%ut.MAX_NUMERIC_CODEWORDS===0||O===ut.NUMERIC_COMPACTION_MODE_LATCH||E)&&C>0&&(x.append(ut.decodeBase900toBase10(A,C)),C=0)}return v}static decodeBase900toBase10(p,v){let x=No(0);for(let E=0;E<v;E++)x+=ut.EXP900[v-E-1]*No(p[E]);let C=x.toString();if(C.charAt(0)!=="1")throw new L;return C.substring(1)}}ut.TEXT_COMPACTION_MODE_LATCH=900,ut.BYTE_COMPACTION_MODE_LATCH=901,ut.NUMERIC_COMPACTION_MODE_LATCH=902,ut.BYTE_COMPACTION_MODE_LATCH_6=924,ut.ECI_USER_DEFINED=925,ut.ECI_GENERAL_PURPOSE=926,ut.ECI_CHARSET=927,ut.BEGIN_MACRO_PDF417_CONTROL_BLOCK=928,ut.BEGIN_MACRO_PDF417_OPTIONAL_FIELD=923,ut.MACRO_PDF417_TERMINATOR=922,ut.MODE_SHIFT_TO_BYTE_COMPACTION_MODE=913,ut.MAX_NUMERIC_CODEWORDS=15,ut.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME=0,ut.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT=1,ut.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP=2,ut.MACRO_PDF417_OPTIONAL_FIELD_SENDER=3,ut.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE=4,ut.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE=5,ut.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM=6,ut.PL=25,ut.LL=27,ut.AS=27,ut.ML=28,ut.AL=28,ut.PS=29,ut.PAL=29,ut.PUNCT_CHARS=`;<>@[\\]_\`~!\r ,:
2350 -.$/"|*()?{}'`,ut.MIXED_CHARS="0123456789&\r ,:#-.$/+%*=^",ut.EXP900=Wh()?Md():[],ut.NUMBER_OF_SEQUENCE_CODEWORDS=2;class Rn{constructor(){}static decode(p,v,x,C,E,A,O){let V=new Cf(p,v,x,C,E),X=null,ae=null,fe;for(let He=!0;;He=!1){if(v!=null&&(X=Rn.getRowIndicatorColumn(p,V,v,!0,A,O)),C!=null&&(ae=Rn.getRowIndicatorColumn(p,V,C,!1,A,O)),fe=Rn.merge(X,ae),fe==null)throw U.getNotFoundInstance();let Ge=fe.getBoundingBox();if(He&&Ge!=null&&(Ge.getMinY()<V.getMinY()||Ge.getMaxY()>V.getMaxY()))V=Ge;else break}fe.setBoundingBox(V);let be=fe.getBarcodeColumnCount()+1;fe.setDetectionResultColumn(0,X),fe.setDetectionResultColumn(be,ae);let Ae=X!=null;for(let He=1;He<=be;He++){let Ge=Ae?He:be-He;if(fe.getDetectionResultColumn(Ge)!==void 0)continue;let tt;Ge===0||Ge===be?tt=new Xx(V,Ge===0):tt=new jl(V),fe.setDetectionResultColumn(Ge,tt);let ct=-1,Dt=ct;for(let zt=V.getMinY();zt<=V.getMaxY();zt++){if(ct=Rn.getStartColumn(fe,Ge,zt,Ae),ct<0||ct>V.getMaxX()){if(Dt===-1)continue;ct=Dt}let Nt=Rn.detectCodeword(p,V.getMinX(),V.getMaxX(),Ae,ct,zt,A,O);Nt!=null&&(tt.setCodeword(zt,Nt),Dt=ct,A=Math.min(A,Nt.getWidth()),O=Math.max(O,Nt.getWidth()))}}return Rn.createDecoderResult(fe)}static merge(p,v){if(p==null&&v==null)return null;let x=Rn.getBarcodeMetadata(p,v);if(x==null)return null;let C=Cf.merge(Rn.adjustBoundingBox(p),Rn.adjustBoundingBox(v));return new Hh(x,C)}static adjustBoundingBox(p){if(p==null)return null;let v=p.getRowHeights();if(v==null)return null;let x=Rn.getMax(v),C=0;for(let O of v)if(C+=x-O,O>0)break;let E=p.getCodewords();for(let O=0;C>0&&E[O]==null;O++)C--;let A=0;for(let O=v.length-1;O>=0&&(A+=x-v[O],!(v[O]>0));O--);for(let O=E.length-1;A>0&&E[O]==null;O--)A--;return p.getBoundingBox().addMissingRows(C,A,p.isLeft())}static getMax(p){let v=-1;for(let x of p)v=Math.max(v,x);return v}static getBarcodeMetadata(p,v){let x;if(p==null||(x=p.getBarcodeMetadata())==null)return v==null?null:v.getBarcodeMetadata();let C;return v==null||(C=v.getBarcodeMetadata())==null?x:x.getColumnCount()!==C.getColumnCount()&&x.getErrorCorrectionLevel()!==C.getErrorCorrectionLevel()&&x.getRowCount()!==C.getRowCount()?null:x}static getRowIndicatorColumn(p,v,x,C,E,A){let O=new Xx(v,C);for(let V=0;V<2;V++){let X=V===0?1:-1,ae=Math.trunc(Math.trunc(x.getX()));for(let fe=Math.trunc(Math.trunc(x.getY()));fe<=v.getMaxY()&&fe>=v.getMinY();fe+=X){let be=Rn.detectCodeword(p,0,p.getWidth(),C,ae,fe,E,A);be!=null&&(O.setCodeword(fe,be),C?ae=be.getStartX():ae=be.getEndX())}}return O}static adjustCodewordCount(p,v){let x=v[0][1],C=x.getValue(),E=p.getBarcodeColumnCount()*p.getBarcodeRowCount()-Rn.getNumberOfECCodeWords(p.getBarcodeECLevel());if(C.length===0){if(E<1||E>xn.MAX_CODEWORDS_IN_BARCODE)throw U.getNotFoundInstance();x.setValue(E)}else C[0]!==E&&x.setValue(E)}static createDecoderResult(p){let v=Rn.createBarcodeMatrix(p);Rn.adjustCodewordCount(p,v);let x=new Array,C=new Int32Array(p.getBarcodeRowCount()*p.getBarcodeColumnCount()),E=[],A=new Array;for(let V=0;V<p.getBarcodeRowCount();V++)for(let X=0;X<p.getBarcodeColumnCount();X++){let ae=v[V][X+1].getValue(),fe=V*p.getBarcodeColumnCount()+X;ae.length===0?x.push(fe):ae.length===1?C[fe]=ae[0]:(A.push(fe),E.push(ae))}let O=new Array(E.length);for(let V=0;V<O.length;V++)O[V]=E[V];return Rn.createDecoderResultFromAmbiguousValues(p.getBarcodeECLevel(),C,xn.toIntArray(x),xn.toIntArray(A),O)}static createDecoderResultFromAmbiguousValues(p,v,x,C,E){let A=new Int32Array(C.length),O=100;for(;O-- >0;){for(let V=0;V<A.length;V++)v[C[V]]=E[V][A[V]];try{return Rn.decodeCodewords(v,p,x)}catch(V){if(!(V instanceof g))throw V}if(A.length===0)throw g.getChecksumInstance();for(let V=0;V<A.length;V++)if(A[V]<E[V].length-1){A[V]++;break}else if(A[V]=0,V===A.length-1)throw g.getChecksumInstance()}throw g.getChecksumInstance()}static createBarcodeMatrix(p){let v=Array.from({length:p.getBarcodeRowCount()},()=>new Array(p.getBarcodeColumnCount()+2));for(let C=0;C<v.length;C++)for(let E=0;E<v[C].length;E++)v[C][E]=new mu;let x=0;for(let C of p.getDetectionResultColumns()){if(C!=null){for(let E of C.getCodewords())if(E!=null){let A=E.getRowNumber();if(A>=0){if(A>=v.length)continue;v[A][x].setValue(E.getValue())}}}x++}return v}static isValidBarcodeColumn(p,v){return v>=0&&v<=p.getBarcodeColumnCount()+1}static getStartColumn(p,v,x,C){let E=C?1:-1,A=null;if(Rn.isValidBarcodeColumn(p,v-E)&&(A=p.getDetectionResultColumn(v-E).getCodeword(x)),A!=null)return C?A.getEndX():A.getStartX();if(A=p.getDetectionResultColumn(v).getCodewordNearby(x),A!=null)return C?A.getStartX():A.getEndX();if(Rn.isValidBarcodeColumn(p,v-E)&&(A=p.getDetectionResultColumn(v-E).getCodewordNearby(x)),A!=null)return C?A.getEndX():A.getStartX();let O=0;for(;Rn.isValidBarcodeColumn(p,v-E);){v-=E;for(let V of p.getDetectionResultColumn(v).getCodewords())if(V!=null)return(C?V.getEndX():V.getStartX())+E*O*(V.getEndX()-V.getStartX());O++}return C?p.getBoundingBox().getMinX():p.getBoundingBox().getMaxX()}static detectCodeword(p,v,x,C,E,A,O,V){E=Rn.adjustCodewordStartColumn(p,v,x,C,E,A);let X=Rn.getModuleBitCount(p,v,x,C,E,A);if(X==null)return null;let ae,fe=Ue.sum(X);if(C)ae=E+fe;else{for(let He=0;He<X.length/2;He++){let Ge=X[He];X[He]=X[X.length-1-He],X[X.length-1-He]=Ge}ae=E,E=ae-fe}if(!Rn.checkCodewordSkew(fe,O,V))return null;let be=as.getDecodedValue(X),Ae=xn.getCodeword(be);return Ae===-1?null:new Sf(E,ae,Rn.getCodewordBucketNumber(be),Ae)}static getModuleBitCount(p,v,x,C,E,A){let O=E,V=new Int32Array(8),X=0,ae=C?1:-1,fe=C;for(;(C?O<x:O>=v)&&X<V.length;)p.get(O,A)===fe?(V[X]++,O+=ae):(X++,fe=!fe);return X===V.length||O===(C?x:v)&&X===V.length-1?V:null}static getNumberOfECCodeWords(p){return 2<<p}static adjustCodewordStartColumn(p,v,x,C,E,A){let O=E,V=C?-1:1;for(let X=0;X<2;X++){for(;(C?O>=v:O<x)&&C===p.get(O,A);){if(Math.abs(E-O)>Rn.CODEWORD_SKEW_SIZE)return E;O+=V}V=-V,C=!C}return O}static checkCodewordSkew(p,v,x){return v-Rn.CODEWORD_SKEW_SIZE<=p&&p<=x+Rn.CODEWORD_SKEW_SIZE}static decodeCodewords(p,v,x){if(p.length===0)throw L.getFormatInstance();let C=1<<v+1,E=Rn.correctErrors(p,x,C);Rn.verifyCodewordCount(p,C);let A=ut.decode(p,""+v);return A.setErrorsCorrected(E),A.setErasures(x.length),A}static correctErrors(p,v,x){if(v!=null&&v.length>x/2+Rn.MAX_ERRORS||x<0||x>Rn.MAX_EC_CODEWORDS)throw g.getChecksumInstance();return Rn.errorCorrection.decode(p,x,v)}static verifyCodewordCount(p,v){if(p.length<4)throw L.getFormatInstance();let x=p[0];if(x>p.length)throw L.getFormatInstance();if(x===0)if(v<p.length)p[0]=p.length-v;else throw L.getFormatInstance()}static getBitCountForCodeword(p){let v=new Int32Array(8),x=0,C=v.length-1;for(;!((p&1)!==x&&(x=p&1,C--,C<0));)v[C]++,p>>=1;return v}static getCodewordBucketNumber(p){return p instanceof Int32Array?this.getCodewordBucketNumber_Int32Array(p):this.getCodewordBucketNumber_number(p)}static getCodewordBucketNumber_number(p){return Rn.getCodewordBucketNumber(Rn.getBitCountForCodeword(p))}static getCodewordBucketNumber_Int32Array(p){return(p[0]-p[2]+p[4]-p[6]+9)%9}static toString(p){let v=new yc;for(let x=0;x<p.length;x++){v.format("Row %2d: ",x);for(let C=0;C<p[x].length;C++){let E=p[x][C];E.getValue().length===0?v.format(" ",null):v.format("%4d(%2d)",E.getValue()[0],E.getConfidence(E.getValue()[0]))}v.format("%n")}return v.toString()}}Rn.CODEWORD_SKEW_SIZE=2,Rn.MAX_ERRORS=3,Rn.MAX_EC_CODEWORDS=512,Rn.errorCorrection=new jv;class is{decode(p,v=null){let x=is.decode(p,v,!1);if(x==null||x.length===0||x[0]==null)throw U.getNotFoundInstance();return x[0]}decodeMultiple(p,v=null){try{return is.decode(p,v,!0)}catch(x){throw x instanceof L||x instanceof g?U.getNotFoundInstance():x}}static decode(p,v,x){const C=new Array,E=_n.detectMultiple(p,v,x);for(const A of E.getPoints()){const O=Rn.decode(E.getBits(),A[4],A[5],A[6],A[7],is.getMinCodewordWidth(A),is.getMaxCodewordWidth(A)),V=new de(O.getText(),O.getRawBytes(),void 0,A,we.PDF_417);V.putMetadata(ce.ERROR_CORRECTION_LEVEL,O.getECLevel());const X=O.getOther();X!=null&&V.putMetadata(ce.PDF417_EXTRA_METADATA,X),C.push(V)}return C.map(A=>A)}static getMaxWidth(p,v){return p==null||v==null?0:Math.trunc(Math.abs(p.getX()-v.getX()))}static getMinWidth(p,v){return p==null||v==null?N.MAX_VALUE:Math.trunc(Math.abs(p.getX()-v.getX()))}static getMaxCodewordWidth(p){return Math.floor(Math.max(Math.max(is.getMaxWidth(p[0],p[4]),is.getMaxWidth(p[6],p[2])*xn.MODULES_IN_CODEWORD/xn.MODULES_IN_STOP_PATTERN),Math.max(is.getMaxWidth(p[1],p[5]),is.getMaxWidth(p[7],p[3])*xn.MODULES_IN_CODEWORD/xn.MODULES_IN_STOP_PATTERN)))}static getMinCodewordWidth(p){return Math.floor(Math.min(Math.min(is.getMinWidth(p[0],p[4]),is.getMinWidth(p[6],p[2])*xn.MODULES_IN_CODEWORD/xn.MODULES_IN_STOP_PATTERN),Math.min(is.getMinWidth(p[1],p[5]),is.getMinWidth(p[7],p[3])*xn.MODULES_IN_CODEWORD/xn.MODULES_IN_STOP_PATTERN)))}reset(){}}class Rd extends u{}Rd.kind="ReaderException";class p1{constructor(p,v){this.verbose=p===!0,v&&this.setHints(v)}decode(p,v){return v&&this.setHints(v),this.decodeInternal(p)}decodeWithState(p){return(this.readers===null||this.readers===void 0)&&this.setHints(null),this.decodeInternal(p)}setHints(p){this.hints=p;const v=!r(p)&&p.get(P.TRY_HARDER)===!0,x=r(p)?null:p.get(P.POSSIBLE_FORMATS),C=new Array;if(!r(x)){const E=x.some(A=>A===we.UPC_A||A===we.UPC_E||A===we.EAN_13||A===we.EAN_8||A===we.CODABAR||A===we.CODE_39||A===we.CODE_93||A===we.CODE_128||A===we.ITF||A===we.RSS_14||A===we.RSS_EXPANDED);E&&!v&&C.push(new Nd(p,this.verbose)),x.includes(we.QR_CODE)&&C.push(new Vs),x.includes(we.DATA_MATRIX)&&C.push(new Fi),x.includes(we.AZTEC)&&C.push(new Se),x.includes(we.PDF_417)&&C.push(new is),E&&v&&C.push(new Nd(p,this.verbose))}C.length===0&&(v||C.push(new Nd(p,this.verbose)),C.push(new Vs),C.push(new Fi),C.push(new Se),C.push(new is),v&&C.push(new Nd(p,this.verbose))),this.readers=C}reset(){if(this.readers!==null)for(const p of this.readers)p.reset()}decodeInternal(p){if(this.readers===null)throw new Rd("No readers where selected, nothing can be read.");for(const v of this.readers)try{return v.decode(p,this.hints)}catch(x){if(x instanceof Rd)continue}throw new U("No MultiFormat Readers were able to detect the code.")}}class Gh extends re{constructor(p=null,v=500){const x=new p1;x.setHints(p),super(x,v)}decodeBitmap(p){return this.reader.decodeWithState(p)}}class h1 extends re{constructor(p=500){super(new is,p)}}class t4 extends re{constructor(p=500){super(new Vs,p)}}var Ev;(function(ue){ue[ue.ERROR_CORRECTION=0]="ERROR_CORRECTION",ue[ue.CHARACTER_SET=1]="CHARACTER_SET",ue[ue.DATA_MATRIX_SHAPE=2]="DATA_MATRIX_SHAPE",ue[ue.MIN_SIZE=3]="MIN_SIZE",ue[ue.MAX_SIZE=4]="MAX_SIZE",ue[ue.MARGIN=5]="MARGIN",ue[ue.PDF417_COMPACT=6]="PDF417_COMPACT",ue[ue.PDF417_COMPACTION=7]="PDF417_COMPACTION",ue[ue.PDF417_DIMENSIONS=8]="PDF417_DIMENSIONS",ue[ue.AZTEC_LAYERS=9]="AZTEC_LAYERS",ue[ue.QR_VERSION=10]="QR_VERSION"})(Ev||(Ev={}));var Po=Ev;class Nv{constructor(p){this.field=p,this.cachedGenerators=[],this.cachedGenerators.push(new ke(p,Int32Array.from([1])))}buildGenerator(p){const v=this.cachedGenerators;if(p>=v.length){let x=v[v.length-1];const C=this.field;for(let E=v.length;E<=p;E++){const A=x.multiply(new ke(C,Int32Array.from([1,C.exp(E-1+C.getGeneratorBase())])));v.push(A),x=A}}return v[p]}encode(p,v){if(v===0)throw new f("No error correction bytes");const x=p.length-v;if(x<=0)throw new f("No data bytes provided");const C=this.buildGenerator(v),E=new Int32Array(x);b.arraycopy(p,0,E,0,x);let A=new ke(this.field,E);A=A.multiplyByMonomial(v,1);const V=A.divide(C)[1].getCoefficients(),X=v-V.length;for(let ae=0;ae<X;ae++)p[x+ae]=0;b.arraycopy(V,0,p,x+X,V.length)}}class Yr{constructor(){}static applyMaskPenaltyRule1(p){return Yr.applyMaskPenaltyRule1Internal(p,!0)+Yr.applyMaskPenaltyRule1Internal(p,!1)}static applyMaskPenaltyRule2(p){let v=0;const x=p.getArray(),C=p.getWidth(),E=p.getHeight();for(let A=0;A<E-1;A++){const O=x[A];for(let V=0;V<C-1;V++){const X=O[V];X===O[V+1]&&X===x[A+1][V]&&X===x[A+1][V+1]&&v++}}return Yr.N2*v}static applyMaskPenaltyRule3(p){let v=0;const x=p.getArray(),C=p.getWidth(),E=p.getHeight();for(let A=0;A<E;A++)for(let O=0;O<C;O++){const V=x[A];O+6<C&&V[O]===1&&V[O+1]===0&&V[O+2]===1&&V[O+3]===1&&V[O+4]===1&&V[O+5]===0&&V[O+6]===1&&(Yr.isWhiteHorizontal(V,O-4,O)||Yr.isWhiteHorizontal(V,O+7,O+11))&&v++,A+6<E&&x[A][O]===1&&x[A+1][O]===0&&x[A+2][O]===1&&x[A+3][O]===1&&x[A+4][O]===1&&x[A+5][O]===0&&x[A+6][O]===1&&(Yr.isWhiteVertical(x,O,A-4,A)||Yr.isWhiteVertical(x,O,A+7,A+11))&&v++}return v*Yr.N3}static isWhiteHorizontal(p,v,x){v=Math.max(v,0),x=Math.min(x,p.length);for(let C=v;C<x;C++)if(p[C]===1)return!1;return!0}static isWhiteVertical(p,v,x,C){x=Math.max(x,0),C=Math.min(C,p.length);for(let E=x;E<C;E++)if(p[E][v]===1)return!1;return!0}static applyMaskPenaltyRule4(p){let v=0;const x=p.getArray(),C=p.getWidth(),E=p.getHeight();for(let V=0;V<E;V++){const X=x[V];for(let ae=0;ae<C;ae++)X[ae]===1&&v++}const A=p.getHeight()*p.getWidth();return Math.floor(Math.abs(v*2-A)*10/A)*Yr.N4}static getDataMaskBit(p,v,x){let C,E;switch(p){case 0:C=x+v&1;break;case 1:C=x&1;break;case 2:C=v%3;break;case 3:C=(x+v)%3;break;case 4:C=Math.floor(x/2)+Math.floor(v/3)&1;break;case 5:E=x*v,C=(E&1)+E%3;break;case 6:E=x*v,C=(E&1)+E%3&1;break;case 7:E=x*v,C=E%3+(x+v&1)&1;break;default:throw new f("Invalid mask pattern: "+p)}return C===0}static applyMaskPenaltyRule1Internal(p,v){let x=0;const C=v?p.getHeight():p.getWidth(),E=v?p.getWidth():p.getHeight(),A=p.getArray();for(let O=0;O<C;O++){let V=0,X=-1;for(let ae=0;ae<E;ae++){const fe=v?A[O][ae]:A[ae][O];fe===X?V++:(V>=5&&(x+=Yr.N1+(V-5)),V=1,X=fe)}V>=5&&(x+=Yr.N1+(V-5))}return x}}Yr.N1=3,Yr.N2=3,Yr.N3=40,Yr.N4=10;class m1{constructor(p,v){this.width=p,this.height=v;const x=new Array(v);for(let C=0;C!==v;C++)x[C]=new Uint8Array(p);this.bytes=x}getHeight(){return this.height}getWidth(){return this.width}get(p,v){return this.bytes[v][p]}getArray(){return this.bytes}setNumber(p,v,x){this.bytes[v][p]=x}setBoolean(p,v,x){this.bytes[v][p]=x?1:0}clear(p){for(const v of this.bytes)I.fill(v,p)}equals(p){if(!(p instanceof m1))return!1;const v=p;if(this.width!==v.width||this.height!==v.height)return!1;for(let x=0,C=this.height;x<C;++x){const E=this.bytes[x],A=v.bytes[x];for(let O=0,V=this.width;O<V;++O)if(E[O]!==A[O])return!1}return!0}toString(){const p=new Z;for(let v=0,x=this.height;v<x;++v){const C=this.bytes[v];for(let E=0,A=this.width;E<A;++E)switch(C[E]){case 0:p.append(" 0");break;case 1:p.append(" 1");break;default:p.append(" ");break}p.append(`
2351 `)}return p.toString()}}class Ef{constructor(){this.maskPattern=-1}getMode(){return this.mode}getECLevel(){return this.ecLevel}getVersion(){return this.version}getMaskPattern(){return this.maskPattern}getMatrix(){return this.matrix}toString(){const p=new Z;return p.append(`<<
2352 `),p.append(" mode: "),p.append(this.mode?this.mode.toString():"null"),p.append(`
2353 ecLevel: `),p.append(this.ecLevel?this.ecLevel.toString():"null"),p.append(`
2354 version: `),p.append(this.version?this.version.toString():"null"),p.append(`
2355 maskPattern: `),p.append(this.maskPattern.toString()),this.matrix?(p.append(`
2356 matrix:
2357 `),p.append(this.matrix.toString())):p.append(`
2358 matrix: null
2359 `),p.append(`>>
2360 `),p.toString()}setMode(p){this.mode=p}setECLevel(p){this.ecLevel=p}setVersion(p){this.version=p}setMaskPattern(p){this.maskPattern=p}setMatrix(p){this.matrix=p}static isValidMaskPattern(p){return p>=0&&p<Ef.NUM_MASK_PATTERNS}}Ef.NUM_MASK_PATTERNS=8;class Mr extends u{}Mr.kind="WriterException";class yn{constructor(){}static clearMatrix(p){p.clear(255)}static buildMatrix(p,v,x,C,E){yn.clearMatrix(E),yn.embedBasicPatterns(x,E),yn.embedTypeInfo(v,C,E),yn.maybeEmbedVersionInfo(x,E),yn.embedDataBits(p,C,E)}static embedBasicPatterns(p,v){yn.embedPositionDetectionPatternsAndSeparators(v),yn.embedDarkDotAtLeftBottomCorner(v),yn.maybeEmbedPositionAdjustmentPatterns(p,v),yn.embedTimingPatterns(v)}static embedTypeInfo(p,v,x){const C=new M;yn.makeTypeInfoBits(p,v,C);for(let E=0,A=C.getSize();E<A;++E){const O=C.get(C.getSize()-1-E),V=yn.TYPE_INFO_COORDINATES[E],X=V[0],ae=V[1];if(x.setBoolean(X,ae,O),E<8){const fe=x.getWidth()-E-1;x.setBoolean(fe,8,O)}else{const be=x.getHeight()-7+(E-8);x.setBoolean(8,be,O)}}}static maybeEmbedVersionInfo(p,v){if(p.getVersionNumber()<7)return;const x=new M;yn.makeVersionInfoBits(p,x);let C=17;for(let E=0;E<6;++E)for(let A=0;A<3;++A){const O=x.get(C);C--,v.setBoolean(E,v.getHeight()-11+A,O),v.setBoolean(v.getHeight()-11+A,E,O)}}static embedDataBits(p,v,x){let C=0,E=-1,A=x.getWidth()-1,O=x.getHeight()-1;for(;A>0;){for(A===6&&(A-=1);O>=0&&O<x.getHeight();){for(let V=0;V<2;++V){const X=A-V;if(!yn.isEmpty(x.get(X,O)))continue;let ae;C<p.getSize()?(ae=p.get(C),++C):ae=!1,v!==255&&Yr.getDataMaskBit(v,X,O)&&(ae=!ae),x.setBoolean(X,O,ae)}O+=E}E=-E,O+=E,A-=2}if(C!==p.getSize())throw new Mr("Not all bits consumed: "+C+"/"+p.getSize())}static findMSBSet(p){return 32-N.numberOfLeadingZeros(p)}static calculateBCHCode(p,v){if(v===0)throw new f("0 polynomial");const x=yn.findMSBSet(v);for(p<<=x-1;yn.findMSBSet(p)>=x;)p^=v<<yn.findMSBSet(p)-x;return p}static makeTypeInfoBits(p,v,x){if(!Ef.isValidMaskPattern(v))throw new Mr("Invalid mask pattern");const C=p.getBits()<<3|v;x.appendBits(C,5);const E=yn.calculateBCHCode(C,yn.TYPE_INFO_POLY);x.appendBits(E,10);const A=new M;if(A.appendBits(yn.TYPE_INFO_MASK_PATTERN,15),x.xor(A),x.getSize()!==15)throw new Mr("should not happen but we got: "+x.getSize())}static makeVersionInfoBits(p,v){v.appendBits(p.getVersionNumber(),6);const x=yn.calculateBCHCode(p.getVersionNumber(),yn.VERSION_INFO_POLY);if(v.appendBits(x,12),v.getSize()!==18)throw new Mr("should not happen but we got: "+v.getSize())}static isEmpty(p){return p===255}static embedTimingPatterns(p){for(let v=8;v<p.getWidth()-8;++v){const x=(v+1)%2;yn.isEmpty(p.get(v,6))&&p.setNumber(v,6,x),yn.isEmpty(p.get(6,v))&&p.setNumber(6,v,x)}}static embedDarkDotAtLeftBottomCorner(p){if(p.get(8,p.getHeight()-8)===0)throw new Mr;p.setNumber(8,p.getHeight()-8,1)}static embedHorizontalSeparationPattern(p,v,x){for(let C=0;C<8;++C){if(!yn.isEmpty(x.get(p+C,v)))throw new Mr;x.setNumber(p+C,v,0)}}static embedVerticalSeparationPattern(p,v,x){for(let C=0;C<7;++C){if(!yn.isEmpty(x.get(p,v+C)))throw new Mr;x.setNumber(p,v+C,0)}}static embedPositionAdjustmentPattern(p,v,x){for(let C=0;C<5;++C){const E=yn.POSITION_ADJUSTMENT_PATTERN[C];for(let A=0;A<5;++A)x.setNumber(p+A,v+C,E[A])}}static embedPositionDetectionPattern(p,v,x){for(let C=0;C<7;++C){const E=yn.POSITION_DETECTION_PATTERN[C];for(let A=0;A<7;++A)x.setNumber(p+A,v+C,E[A])}}static embedPositionDetectionPatternsAndSeparators(p){const v=yn.POSITION_DETECTION_PATTERN[0].length;yn.embedPositionDetectionPattern(0,0,p),yn.embedPositionDetectionPattern(p.getWidth()-v,0,p),yn.embedPositionDetectionPattern(0,p.getWidth()-v,p);const x=8;yn.embedHorizontalSeparationPattern(0,x-1,p),yn.embedHorizontalSeparationPattern(p.getWidth()-x,x-1,p),yn.embedHorizontalSeparationPattern(0,p.getWidth()-x,p);const C=7;yn.embedVerticalSeparationPattern(C,0,p),yn.embedVerticalSeparationPattern(p.getHeight()-C-1,0,p),yn.embedVerticalSeparationPattern(C,p.getHeight()-C,p)}static maybeEmbedPositionAdjustmentPatterns(p,v){if(p.getVersionNumber()<2)return;const x=p.getVersionNumber()-1,C=yn.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[x];for(let E=0,A=C.length;E!==A;E++){const O=C[E];if(O>=0)for(let V=0;V!==A;V++){const X=C[V];X>=0&&yn.isEmpty(v.get(X,O))&&yn.embedPositionAdjustmentPattern(X-2,O-2,v)}}}}yn.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),yn.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),yn.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),yn.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),yn.VERSION_INFO_POLY=7973,yn.TYPE_INFO_POLY=1335,yn.TYPE_INFO_MASK_PATTERN=21522;class JE{constructor(p,v){this.dataBytes=p,this.errorCorrectionBytes=v}getDataBytes(){return this.dataBytes}getErrorCorrectionBytes(){return this.errorCorrectionBytes}}class Dr{constructor(){}static calculateMaskPenalty(p){return Yr.applyMaskPenaltyRule1(p)+Yr.applyMaskPenaltyRule2(p)+Yr.applyMaskPenaltyRule3(p)+Yr.applyMaskPenaltyRule4(p)}static encode(p,v,x=null){let C=Dr.DEFAULT_BYTE_MODE_ENCODING;const E=x!==null&&x.get(Po.CHARACTER_SET)!==void 0;E&&(C=x.get(Po.CHARACTER_SET).toString());const A=this.chooseMode(p,C),O=new M;if(A===hn.BYTE&&(E||Dr.DEFAULT_BYTE_MODE_ENCODING!==C)){const zt=T.getCharacterSetECIByName(C);zt!==void 0&&this.appendECI(zt,O)}this.appendModeInfo(A,O);const V=new M;this.appendBytes(p,A,V,C);let X;if(x!==null&&x.get(Po.QR_VERSION)!==void 0){const zt=Number.parseInt(x.get(Po.QR_VERSION).toString(),10);X=pn.getVersionForNumber(zt);const Nt=this.calculateBitsNeeded(A,O,V,X);if(!this.willFit(Nt,X,v))throw new Mr("Data too big for requested version")}else X=this.recommendVersion(v,A,O,V);const ae=new M;ae.appendBitArray(O);const fe=A===hn.BYTE?V.getSizeInBytes():p.length;this.appendLengthInfo(fe,X,A,ae),ae.appendBitArray(V);const be=X.getECBlocksForLevel(v),Ae=X.getTotalCodewords()-be.getTotalECCodewords();this.terminateBits(Ae,ae);const He=this.interleaveWithECBytes(ae,X.getTotalCodewords(),Ae,be.getNumBlocks()),Ge=new Ef;Ge.setECLevel(v),Ge.setMode(A),Ge.setVersion(X);const tt=X.getDimensionForVersion(),ct=new m1(tt,tt),Dt=this.chooseMaskPattern(He,v,X,ct);return Ge.setMaskPattern(Dt),yn.buildMatrix(He,v,X,Dt,ct),Ge.setMatrix(ct),Ge}static recommendVersion(p,v,x,C){const E=this.calculateBitsNeeded(v,x,C,pn.getVersionForNumber(1)),A=this.chooseVersion(E,p),O=this.calculateBitsNeeded(v,x,C,A);return this.chooseVersion(O,p)}static calculateBitsNeeded(p,v,x,C){return v.getSize()+p.getCharacterCountBits(C)+x.getSize()}static getAlphanumericCode(p){return p<Dr.ALPHANUMERIC_TABLE.length?Dr.ALPHANUMERIC_TABLE[p]:-1}static chooseMode(p,v=null){if(T.SJIS.getName()===v&&this.isOnlyDoubleByteKanji(p))return hn.KANJI;let x=!1,C=!1;for(let E=0,A=p.length;E<A;++E){const O=p.charAt(E);if(Dr.isDigit(O))x=!0;else if(this.getAlphanumericCode(O.charCodeAt(0))!==-1)C=!0;else return hn.BYTE}return C?hn.ALPHANUMERIC:x?hn.NUMERIC:hn.BYTE}static isOnlyDoubleByteKanji(p){let v;try{v=z.encode(p,T.SJIS)}catch{return!1}const x=v.length;if(x%2!==0)return!1;for(let C=0;C<x;C+=2){const E=v[C]&255;if((E<129||E>159)&&(E<224||E>235))return!1}return!0}static chooseMaskPattern(p,v,x,C){let E=Number.MAX_SAFE_INTEGER,A=-1;for(let O=0;O<Ef.NUM_MASK_PATTERNS;O++){yn.buildMatrix(p,v,x,O,C);let V=this.calculateMaskPenalty(C);V<E&&(E=V,A=O)}return A}static chooseVersion(p,v){for(let x=1;x<=40;x++){const C=pn.getVersionForNumber(x);if(Dr.willFit(p,C,v))return C}throw new Mr("Data too big")}static willFit(p,v,x){const C=v.getTotalCodewords(),A=v.getECBlocksForLevel(x).getTotalECCodewords(),O=C-A,V=(p+7)/8;return O>=V}static terminateBits(p,v){const x=p*8;if(v.getSize()>x)throw new Mr("data bits cannot fit in the QR Code"+v.getSize()+" > "+x);for(let A=0;A<4&&v.getSize()<x;++A)v.appendBit(!1);const C=v.getSize()&7;if(C>0)for(let A=C;A<8;A++)v.appendBit(!1);const E=p-v.getSizeInBytes();for(let A=0;A<E;++A)v.appendBits((A&1)===0?236:17,8);if(v.getSize()!==x)throw new Mr("Bits size does not equal capacity")}static getNumDataBytesAndNumECBytesForBlockID(p,v,x,C,E,A){if(C>=x)throw new Mr("Block ID too large");const O=p%x,V=x-O,X=Math.floor(p/x),ae=X+1,fe=Math.floor(v/x),be=fe+1,Ae=X-fe,He=ae-be;if(Ae!==He)throw new Mr("EC bytes mismatch");if(x!==V+O)throw new Mr("RS blocks mismatch");if(p!==(fe+Ae)*V+(be+He)*O)throw new Mr("Total bytes mismatch");C<V?(E[0]=fe,A[0]=Ae):(E[0]=be,A[0]=He)}static interleaveWithECBytes(p,v,x,C){if(p.getSizeInBytes()!==x)throw new Mr("Number of bits and data bytes does not match");let E=0,A=0,O=0;const V=new Array;for(let ae=0;ae<C;++ae){const fe=new Int32Array(1),be=new Int32Array(1);Dr.getNumDataBytesAndNumECBytesForBlockID(v,x,C,ae,fe,be);const Ae=fe[0],He=new Uint8Array(Ae);p.toBytes(8*E,He,0,Ae);const Ge=Dr.generateECBytes(He,be[0]);V.push(new JE(He,Ge)),A=Math.max(A,Ae),O=Math.max(O,Ge.length),E+=fe[0]}if(x!==E)throw new Mr("Data bytes does not match offset");const X=new M;for(let ae=0;ae<A;++ae)for(const fe of V){const be=fe.getDataBytes();ae<be.length&&X.appendBits(be[ae],8)}for(let ae=0;ae<O;++ae)for(const fe of V){const be=fe.getErrorCorrectionBytes();ae<be.length&&X.appendBits(be[ae],8)}if(v!==X.getSizeInBytes())throw new Mr("Interleaving error: "+v+" and "+X.getSizeInBytes()+" differ.");return X}static generateECBytes(p,v){const x=p.length,C=new Int32Array(x+v);for(let A=0;A<x;A++)C[A]=p[A]&255;new Nv(ye.QR_CODE_FIELD_256).encode(C,v);const E=new Uint8Array(v);for(let A=0;A<v;A++)E[A]=C[x+A];return E}static appendModeInfo(p,v){v.appendBits(p.getBits(),4)}static appendLengthInfo(p,v,x,C){const E=x.getCharacterCountBits(v);if(p>=1<<E)throw new Mr(p+" is bigger than "+((1<<E)-1));C.appendBits(p,E)}static appendBytes(p,v,x,C){switch(v){case hn.NUMERIC:Dr.appendNumericBytes(p,x);break;case hn.ALPHANUMERIC:Dr.appendAlphanumericBytes(p,x);break;case hn.BYTE:Dr.append8BitBytes(p,x,C);break;case hn.KANJI:Dr.appendKanjiBytes(p,x);break;default:throw new Mr("Invalid mode: "+v)}}static getDigit(p){return p.charCodeAt(0)-48}static isDigit(p){const v=Dr.getDigit(p);return v>=0&&v<=9}static appendNumericBytes(p,v){const x=p.length;let C=0;for(;C<x;){const E=Dr.getDigit(p.charAt(C));if(C+2<x){const A=Dr.getDigit(p.charAt(C+1)),O=Dr.getDigit(p.charAt(C+2));v.appendBits(E*100+A*10+O,10),C+=3}else if(C+1<x){const A=Dr.getDigit(p.charAt(C+1));v.appendBits(E*10+A,7),C+=2}else v.appendBits(E,4),C++}}static appendAlphanumericBytes(p,v){const x=p.length;let C=0;for(;C<x;){const E=Dr.getAlphanumericCode(p.charCodeAt(C));if(E===-1)throw new Mr;if(C+1<x){const A=Dr.getAlphanumericCode(p.charCodeAt(C+1));if(A===-1)throw new Mr;v.appendBits(E*45+A,11),C+=2}else v.appendBits(E,6),C++}}static append8BitBytes(p,v,x){let C;try{C=z.encode(p,x)}catch(E){throw new Mr(E)}for(let E=0,A=C.length;E!==A;E++){const O=C[E];v.appendBits(O,8)}}static appendKanjiBytes(p,v){let x;try{x=z.encode(p,T.SJIS)}catch(E){throw new Mr(E)}const C=x.length;for(let E=0;E<C;E+=2){const A=x[E]&255,O=x[E+1]&255,V=A<<8&4294967295|O;let X=-1;if(V>=33088&&V<=40956?X=V-33088:V>=57408&&V<=60351&&(X=V-49472),X===-1)throw new Mr("Invalid byte sequence");const ae=(X>>8)*192+(X&255);v.appendBits(ae,13)}}static appendECI(p,v){v.appendBits(hn.ECI.getBits(),4),v.appendBits(p.getValue(),8)}}Dr.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),Dr.DEFAULT_BYTE_MODE_ENCODING=T.UTF8.getName();class Nf{write(p,v,x,C=null){if(p.length===0)throw new f("Found empty contents");if(v<0||x<0)throw new f("Requested dimensions are too small: "+v+"x"+x);let E=Ar.L,A=Nf.QUIET_ZONE_SIZE;C!==null&&(C.get(Po.ERROR_CORRECTION)!==void 0&&(E=Ar.fromString(C.get(Po.ERROR_CORRECTION).toString())),C.get(Po.MARGIN)!==void 0&&(A=Number.parseInt(C.get(Po.MARGIN).toString(),10)));const O=Dr.encode(p,E,C);return this.renderResult(O,v,x,A)}writeToDom(p,v,x,C,E=null){typeof p=="string"&&(p=document.querySelector(p));const A=this.write(v,x,C,E);p&&p.appendChild(A)}renderResult(p,v,x,C){const E=p.getMatrix();if(E===null)throw new Ie;const A=E.getWidth(),O=E.getHeight(),V=A+C*2,X=O+C*2,ae=Math.max(v,V),fe=Math.max(x,X),be=Math.min(Math.floor(ae/V),Math.floor(fe/X)),Ae=Math.floor((ae-A*be)/2),He=Math.floor((fe-O*be)/2),Ge=this.createSVGElement(ae,fe);for(let tt=0,ct=He;tt<O;tt++,ct+=be)for(let Dt=0,zt=Ae;Dt<A;Dt++,zt+=be)if(E.get(Dt,tt)===1){const Nt=this.createSvgRectElement(zt,ct,be,be);Ge.appendChild(Nt)}return Ge}createSVGElement(p,v){const x=document.createElementNS(Nf.SVG_NS,"svg");return x.setAttributeNS(null,"height",p.toString()),x.setAttributeNS(null,"width",v.toString()),x}createSvgRectElement(p,v,x,C){const E=document.createElementNS(Nf.SVG_NS,"rect");return E.setAttributeNS(null,"x",p.toString()),E.setAttributeNS(null,"y",v.toString()),E.setAttributeNS(null,"height",x.toString()),E.setAttributeNS(null,"width",C.toString()),E.setAttributeNS(null,"fill","#000000"),E}}Nf.QUIET_ZONE_SIZE=4,Nf.SVG_NS="http://www.w3.org/2000/svg";class Td{encode(p,v,x,C,E){if(p.length===0)throw new f("Found empty contents");if(v!==we.QR_CODE)throw new f("Can only encode QR_CODE, but got "+v);if(x<0||C<0)throw new f(`Requested dimensions are too small: ${x}x${C}`);let A=Ar.L,O=Td.QUIET_ZONE_SIZE;E!==null&&(E.get(Po.ERROR_CORRECTION)!==void 0&&(A=Ar.fromString(E.get(Po.ERROR_CORRECTION).toString())),E.get(Po.MARGIN)!==void 0&&(O=Number.parseInt(E.get(Po.MARGIN).toString(),10)));const V=Dr.encode(p,A,E);return Td.renderResult(V,x,C,O)}static renderResult(p,v,x,C){const E=p.getMatrix();if(E===null)throw new Ie;const A=E.getWidth(),O=E.getHeight(),V=A+C*2,X=O+C*2,ae=Math.max(v,V),fe=Math.max(x,X),be=Math.min(Math.floor(ae/V),Math.floor(fe/X)),Ae=Math.floor((ae-A*be)/2),He=Math.floor((fe-O*be)/2),Ge=new W(ae,fe);for(let tt=0,ct=He;tt<O;tt++,ct+=be)for(let Dt=0,zt=Ae;Dt<A;Dt++,zt+=be)E.get(Dt,tt)===1&&Ge.setRegion(zt,ct,be,be);return Ge}}Td.QUIET_ZONE_SIZE=4;class XE{encode(p,v,x,C,E){let A;switch(v){case we.QR_CODE:A=new Td;break;default:throw new f("No encoder available for format "+v)}return A.encode(p,v,x,C,E)}}class Cl extends H{constructor(p,v,x,C,E,A,O,V){if(super(A,O),this.yuvData=p,this.dataWidth=v,this.dataHeight=x,this.left=C,this.top=E,C+A>v||E+O>x)throw new f("Crop rectangle does not fit within image data.");V&&this.reverseHorizontal(A,O)}getRow(p,v){if(p<0||p>=this.getHeight())throw new f("Requested row is outside the image: "+p);const x=this.getWidth();(v==null||v.length<x)&&(v=new Uint8ClampedArray(x));const C=(p+this.top)*this.dataWidth+this.left;return b.arraycopy(this.yuvData,C,v,0,x),v}getMatrix(){const p=this.getWidth(),v=this.getHeight();if(p===this.dataWidth&&v===this.dataHeight)return this.yuvData;const x=p*v,C=new Uint8ClampedArray(x);let E=this.top*this.dataWidth+this.left;if(p===this.dataWidth)return b.arraycopy(this.yuvData,E,C,0,x),C;for(let A=0;A<v;A++){const O=A*p;b.arraycopy(this.yuvData,E,C,O,p),E+=this.dataWidth}return C}isCropSupported(){return!0}crop(p,v,x,C){return new Cl(this.yuvData,this.dataWidth,this.dataHeight,this.left+p,this.top+v,x,C,!1)}renderThumbnail(){const p=this.getWidth()/Cl.THUMBNAIL_SCALE_FACTOR,v=this.getHeight()/Cl.THUMBNAIL_SCALE_FACTOR,x=new Int32Array(p*v),C=this.yuvData;let E=this.top*this.dataWidth+this.left;for(let A=0;A<v;A++){const O=A*p;for(let V=0;V<p;V++){const X=C[E+V*Cl.THUMBNAIL_SCALE_FACTOR]&255;x[O+V]=4278190080|X*65793}E+=this.dataWidth*Cl.THUMBNAIL_SCALE_FACTOR}return x}getThumbnailWidth(){return this.getWidth()/Cl.THUMBNAIL_SCALE_FACTOR}getThumbnailHeight(){return this.getHeight()/Cl.THUMBNAIL_SCALE_FACTOR}reverseHorizontal(p,v){const x=this.yuvData;for(let C=0,E=this.top*this.dataWidth+this.left;C<v;C++,E+=this.dataWidth){const A=E+p/2;for(let O=E,V=E+p-1;O<A;O++,V--){const X=x[O];x[O]=x[V],x[V]=X}}}invert(){return new Y(this)}}Cl.THUMBNAIL_SCALE_FACTOR=2;class qh extends H{constructor(p,v,x,C,E,A,O){if(super(v,x),this.dataWidth=C,this.dataHeight=E,this.left=A,this.top=O,p.BYTES_PER_ELEMENT===4){const V=v*x,X=new Uint8ClampedArray(V);for(let ae=0;ae<V;ae++){const fe=p[ae],be=fe>>16&255,Ae=fe>>7&510,He=fe&255;X[ae]=(be+Ae+He)/4&255}this.luminances=X}else this.luminances=p;if(C===void 0&&(this.dataWidth=v),E===void 0&&(this.dataHeight=x),A===void 0&&(this.left=0),O===void 0&&(this.top=0),this.left+v>this.dataWidth||this.top+x>this.dataHeight)throw new f("Crop rectangle does not fit within image data.")}getRow(p,v){if(p<0||p>=this.getHeight())throw new f("Requested row is outside the image: "+p);const x=this.getWidth();(v==null||v.length<x)&&(v=new Uint8ClampedArray(x));const C=(p+this.top)*this.dataWidth+this.left;return b.arraycopy(this.luminances,C,v,0,x),v}getMatrix(){const p=this.getWidth(),v=this.getHeight();if(p===this.dataWidth&&v===this.dataHeight)return this.luminances;const x=p*v,C=new Uint8ClampedArray(x);let E=this.top*this.dataWidth+this.left;if(p===this.dataWidth)return b.arraycopy(this.luminances,E,C,0,x),C;for(let A=0;A<v;A++){const O=A*p;b.arraycopy(this.luminances,E,C,O,p),E+=this.dataWidth}return C}isCropSupported(){return!0}crop(p,v,x,C){return new qh(this.luminances,x,C,this.dataWidth,this.dataHeight,this.left+p,this.top+v)}invert(){return new Y(this)}}class n4 extends T{static forName(p){return this.getCharacterSetECIByName(p)}}class Iv{}Iv.ISO_8859_1=T.ISO8859_1;class r4{isCompact(){return this.compact}setCompact(p){this.compact=p}getSize(){return this.size}setSize(p){this.size=p}getLayers(){return this.layers}setLayers(p){this.layers=p}getCodeWords(){return this.codeWords}setCodeWords(p){this.codeWords=p}getMatrix(){return this.matrix}setMatrix(p){this.matrix=p}}class Av{static singletonList(p){return[p]}static min(p,v){return p.sort(v)[0]}}class eN{constructor(p){this.previous=p}getPrevious(){return this.previous}}class Dd extends eN{constructor(p,v,x){super(p),this.value=v,this.bitCount=x}appendTo(p,v){p.appendBits(this.value,this.bitCount)}add(p,v){return new Dd(this,p,v)}addBinaryShift(p,v){return console.warn("addBinaryShift on SimpleToken, this simply returns a copy of this token"),new Dd(this,p,v)}toString(){let p=this.value&(1<<this.bitCount)-1;return p|=1<<this.bitCount,"<"+N.toBinaryString(p|1<<this.bitCount).substring(1)+">"}}class _v extends Dd{constructor(p,v,x){super(p,0,0),this.binaryShiftStart=v,this.binaryShiftByteCount=x}appendTo(p,v){for(let x=0;x<this.binaryShiftByteCount;x++)(x===0||x===31&&this.binaryShiftByteCount<=62)&&(p.appendBits(31,5),this.binaryShiftByteCount>62?p.appendBits(this.binaryShiftByteCount-31,16):x===0?p.appendBits(Math.min(this.binaryShiftByteCount,31),5):p.appendBits(this.binaryShiftByteCount-31,5)),p.appendBits(v[this.binaryShiftStart+x],8)}addBinaryShift(p,v){return new _v(this,p,v)}toString(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"}}function tN(ue,p,v){return new _v(ue,p,v)}function Kh(ue,p,v){return new Dd(ue,p,v)}const nN=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],gu=0,Ld=1,bs=2,o4=3,Ui=4,s4=new Dd(null,0,0),g1=[Int32Array.from([0,(5<<16)+28,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(9<<16)+480+14,0,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(4<<16)+14,(9<<16)+448+28,0,(9<<16)+448+29,932798]),Int32Array.from([(5<<16)+29,(5<<16)+28,656318,0,(5<<16)+30]),Int32Array.from([(5<<16)+31,656380,656382,656381,0])];function a4(ue){for(let p of ue)I.fill(p,-1);return ue[gu][Ui]=0,ue[Ld][Ui]=0,ue[Ld][gu]=28,ue[o4][Ui]=0,ue[bs][Ui]=0,ue[bs][gu]=15,ue}const Mv=a4(I.createInt32Array(6,6));class Hs{constructor(p,v,x,C){this.token=p,this.mode=v,this.binaryShiftByteCount=x,this.bitCount=C}getMode(){return this.mode}getToken(){return this.token}getBinaryShiftByteCount(){return this.binaryShiftByteCount}getBitCount(){return this.bitCount}latchAndAppend(p,v){let x=this.bitCount,C=this.token;if(p!==this.mode){let A=g1[this.mode][p];C=Kh(C,A&65535,A>>16),x+=A>>16}let E=p===bs?4:5;return C=Kh(C,v,E),new Hs(C,p,0,x+E)}shiftAndAppend(p,v){let x=this.token,C=this.mode===bs?4:5;return x=Kh(x,Mv[this.mode][p],C),x=Kh(x,v,5),new Hs(x,this.mode,0,this.bitCount+C+5)}addBinaryShiftChar(p){let v=this.token,x=this.mode,C=this.bitCount;if(this.mode===Ui||this.mode===bs){let O=g1[x][gu];v=Kh(v,O&65535,O>>16),C+=O>>16,x=gu}let E=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,A=new Hs(v,x,this.binaryShiftByteCount+1,C+E);return A.binaryShiftByteCount===2078&&(A=A.endBinaryShift(p+1)),A}endBinaryShift(p){if(this.binaryShiftByteCount===0)return this;let v=this.token;return v=tN(v,p-this.binaryShiftByteCount,this.binaryShiftByteCount),new Hs(v,this.mode,0,this.bitCount)}isBetterThanOrEqualTo(p){let v=this.bitCount+(g1[this.mode][p.mode]>>16);return this.binaryShiftByteCount<p.binaryShiftByteCount?v+=Hs.calculateBinaryShiftCost(p)-Hs.calculateBinaryShiftCost(this):this.binaryShiftByteCount>p.binaryShiftByteCount&&p.binaryShiftByteCount>0&&(v+=10),v<=p.bitCount}toBitArray(p){let v=[];for(let C=this.endBinaryShift(p.length).token;C!==null;C=C.getPrevious())v.unshift(C);let x=new M;for(const C of v)C.appendTo(x,p);return x}toString(){return G.format("%s bits=%d bytes=%d",nN[this.mode],this.bitCount,this.binaryShiftByteCount)}static calculateBinaryShiftCost(p){return p.binaryShiftByteCount>62?21:p.binaryShiftByteCount>31?20:p.binaryShiftByteCount>0?10:0}}Hs.INITIAL_STATE=new Hs(s4,gu,0,0);function rN(ue){const p=G.getCharCode(" "),v=G.getCharCode("."),x=G.getCharCode(",");ue[gu][p]=1;const C=G.getCharCode("Z"),E=G.getCharCode("A");for(let be=E;be<=C;be++)ue[gu][be]=be-E+2;ue[Ld][p]=1;const A=G.getCharCode("z"),O=G.getCharCode("a");for(let be=O;be<=A;be++)ue[Ld][be]=be-O+2;ue[bs][p]=1;const V=G.getCharCode("9"),X=G.getCharCode("0");for(let be=X;be<=V;be++)ue[bs][be]=be-X+2;ue[bs][x]=12,ue[bs][v]=13;const ae=["\0"," ","","","","","","","\x07","\b"," ",`
2361 `,"\v","\f","\r","\x1B","","","","","@","\\","^","_","`","|","~",""];for(let be=0;be<ae.length;be++)ue[o4][G.getCharCode(ae[be])]=be;const fe=["\0","\r","\0","\0","\0","\0","!","'","#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}"];for(let be=0;be<fe.length;be++)G.getCharCode(fe[be])>0&&(ue[Ui][G.getCharCode(fe[be])]=be);return ue}const Rv=rN(I.createInt32Array(5,256));class Zh{constructor(p){this.text=p}encode(){const p=G.getCharCode(" "),v=G.getCharCode(`
2362 `);let x=Av.singletonList(Hs.INITIAL_STATE);for(let E=0;E<this.text.length;E++){let A,O=E+1<this.text.length?this.text[E+1]:0;switch(this.text[E]){case G.getCharCode("\r"):A=O===v?2:0;break;case G.getCharCode("."):A=O===p?3:0;break;case G.getCharCode(","):A=O===p?4:0;break;case G.getCharCode(":"):A=O===p?5:0;break;default:A=0}A>0?(x=Zh.updateStateListForPair(x,E,A),E++):x=this.updateStateListForChar(x,E)}return Av.min(x,(E,A)=>E.getBitCount()-A.getBitCount()).toBitArray(this.text)}updateStateListForChar(p,v){const x=[];for(let C of p)this.updateStateForChar(C,v,x);return Zh.simplifyStates(x)}updateStateForChar(p,v,x){let C=this.text[v]&255,E=Rv[p.getMode()][C]>0,A=null;for(let O=0;O<=Ui;O++){let V=Rv[O][C];if(V>0){if(A==null&&(A=p.endBinaryShift(v)),!E||O===p.getMode()||O===bs){const X=A.latchAndAppend(O,V);x.push(X)}if(!E&&Mv[p.getMode()][O]>=0){const X=A.shiftAndAppend(O,V);x.push(X)}}}if(p.getBinaryShiftByteCount()>0||Rv[p.getMode()][C]===0){let O=p.addBinaryShiftChar(v);x.push(O)}}static updateStateListForPair(p,v,x){const C=[];for(let E of p)this.updateStateForPair(E,v,x,C);return this.simplifyStates(C)}static updateStateForPair(p,v,x,C){let E=p.endBinaryShift(v);if(C.push(E.latchAndAppend(Ui,x)),p.getMode()!==Ui&&C.push(E.shiftAndAppend(Ui,x)),x===3||x===4){let A=E.latchAndAppend(bs,16-x).latchAndAppend(bs,1);C.push(A)}if(p.getBinaryShiftByteCount()>0){let A=p.addBinaryShiftChar(v).addBinaryShiftChar(v+1);C.push(A)}}static simplifyStates(p){let v=[];for(const x of p){let C=!0;for(const E of v){if(E.isBetterThanOrEqualTo(x)){C=!1;break}x.isBetterThanOrEqualTo(E)&&(v=v.filter(A=>A!==E))}C&&v.push(x)}return v}}class tr{constructor(){}static encodeBytes(p){return tr.encode(p,tr.DEFAULT_EC_PERCENT,tr.DEFAULT_AZTEC_LAYERS)}static encode(p,v,x){let C=new Zh(p).encode(),E=N.truncDivision(C.getSize()*v,100)+11,A=C.getSize()+E,O,V,X,ae,fe;if(x!==tr.DEFAULT_AZTEC_LAYERS){if(O=x<0,V=Math.abs(x),V>(O?tr.MAX_NB_BITS_COMPACT:tr.MAX_NB_BITS))throw new f(G.format("Illegal value %s for layers",x));X=tr.totalBitsInLayer(V,O),ae=tr.WORD_SIZE[V];let Nt=X-X%ae;if(fe=tr.stuffBits(C,ae),fe.getSize()+E>Nt)throw new f("Data to large for user specified layer");if(O&&fe.getSize()>ae*64)throw new f("Data to large for user specified layer")}else{ae=0,fe=null;for(let Nt=0;;Nt++){if(Nt>tr.MAX_NB_BITS)throw new f("Data too large for an Aztec code");if(O=Nt<=3,V=O?Nt+1:Nt,X=tr.totalBitsInLayer(V,O),A>X)continue;(fe==null||ae!==tr.WORD_SIZE[V])&&(ae=tr.WORD_SIZE[V],fe=tr.stuffBits(C,ae));let Gn=X-X%ae;if(!(O&&fe.getSize()>ae*64)&&fe.getSize()+E<=Gn)break}}let be=tr.generateCheckWords(fe,X,ae),Ae=fe.getSize()/ae,He=tr.generateModeMessage(O,V,Ae),Ge=(O?11:14)+V*4,tt=new Int32Array(Ge),ct;if(O){ct=Ge;for(let Nt=0;Nt<tt.length;Nt++)tt[Nt]=Nt}else{ct=Ge+1+2*N.truncDivision(N.truncDivision(Ge,2)-1,15);let Nt=N.truncDivision(Ge,2),Gn=N.truncDivision(ct,2);for(let Mn=0;Mn<Nt;Mn++){let pa=Mn+N.truncDivision(Mn,15);tt[Nt-Mn-1]=Gn-pa-1,tt[Nt+Mn]=Gn+pa+1}}let Dt=new W(ct);for(let Nt=0,Gn=0;Nt<V;Nt++){let Mn=(V-Nt)*4+(O?9:12);for(let pa=0;pa<Mn;pa++){let $i=pa*2;for(let Oo=0;Oo<2;Oo++)be.get(Gn+$i+Oo)&&Dt.set(tt[Nt*2+Oo],tt[Nt*2+pa]),be.get(Gn+Mn*2+$i+Oo)&&Dt.set(tt[Nt*2+pa],tt[Ge-1-Nt*2-Oo]),be.get(Gn+Mn*4+$i+Oo)&&Dt.set(tt[Ge-1-Nt*2-Oo],tt[Ge-1-Nt*2-pa]),be.get(Gn+Mn*6+$i+Oo)&&Dt.set(tt[Ge-1-Nt*2-pa],tt[Nt*2+Oo])}Gn+=Mn*8}if(tr.drawModeMessage(Dt,O,ct,He),O)tr.drawBullsEye(Dt,N.truncDivision(ct,2),5);else{tr.drawBullsEye(Dt,N.truncDivision(ct,2),7);for(let Nt=0,Gn=0;Nt<N.truncDivision(Ge,2)-1;Nt+=15,Gn+=16)for(let Mn=N.truncDivision(ct,2)&1;Mn<ct;Mn+=2)Dt.set(N.truncDivision(ct,2)-Gn,Mn),Dt.set(N.truncDivision(ct,2)+Gn,Mn),Dt.set(Mn,N.truncDivision(ct,2)-Gn),Dt.set(Mn,N.truncDivision(ct,2)+Gn)}let zt=new r4;return zt.setCompact(O),zt.setSize(ct),zt.setLayers(V),zt.setCodeWords(Ae),zt.setMatrix(Dt),zt}static drawBullsEye(p,v,x){for(let C=0;C<x;C+=2)for(let E=v-C;E<=v+C;E++)p.set(E,v-C),p.set(E,v+C),p.set(v-C,E),p.set(v+C,E);p.set(v-x,v-x),p.set(v-x+1,v-x),p.set(v-x,v-x+1),p.set(v+x,v-x),p.set(v+x,v-x+1),p.set(v+x,v+x-1)}static generateModeMessage(p,v,x){let C=new M;return p?(C.appendBits(v-1,2),C.appendBits(x-1,6),C=tr.generateCheckWords(C,28,4)):(C.appendBits(v-1,5),C.appendBits(x-1,11),C=tr.generateCheckWords(C,40,4)),C}static drawModeMessage(p,v,x,C){let E=N.truncDivision(x,2);if(v)for(let A=0;A<7;A++){let O=E-3+A;C.get(A)&&p.set(O,E-5),C.get(A+7)&&p.set(E+5,O),C.get(20-A)&&p.set(O,E+5),C.get(27-A)&&p.set(E-5,O)}else for(let A=0;A<10;A++){let O=E-5+A+N.truncDivision(A,5);C.get(A)&&p.set(O,E-7),C.get(A+10)&&p.set(E+7,O),C.get(29-A)&&p.set(O,E+7),C.get(39-A)&&p.set(E-7,O)}}static generateCheckWords(p,v,x){let C=p.getSize()/x,E=new Nv(tr.getGF(x)),A=N.truncDivision(v,x),O=tr.bitsToWords(p,x,A);E.encode(O,A-C);let V=v%x,X=new M;X.appendBits(0,V);for(const ae of Array.from(O))X.appendBits(ae,x);return X}static bitsToWords(p,v,x){let C=new Int32Array(x),E,A;for(E=0,A=p.getSize()/v;E<A;E++){let O=0;for(let V=0;V<v;V++)O|=p.get(E*v+V)?1<<v-V-1:0;C[E]=O}return C}static getGF(p){switch(p){case 4:return ye.AZTEC_PARAM;case 6:return ye.AZTEC_DATA_6;case 8:return ye.AZTEC_DATA_8;case 10:return ye.AZTEC_DATA_10;case 12:return ye.AZTEC_DATA_12;default:throw new f("Unsupported word size "+p)}}static stuffBits(p,v){let x=new M,C=p.getSize(),E=(1<<v)-2;for(let A=0;A<C;A+=v){let O=0;for(let V=0;V<v;V++)(A+V>=C||p.get(A+V))&&(O|=1<<v-1-V);(O&E)===E?(x.appendBits(O&E,v),A--):(O&E)===0?(x.appendBits(O|1,v),A--):x.appendBits(O,v)}return x}static totalBitsInLayer(p,v){return((v?88:112)+16*p)*p}}tr.DEFAULT_EC_PERCENT=33,tr.DEFAULT_AZTEC_LAYERS=0,tr.MAX_NB_BITS=32,tr.MAX_NB_BITS_COMPACT=4,tr.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]);class Qh{encode(p,v,x,C){return this.encodeWithHints(p,v,x,C,null)}encodeWithHints(p,v,x,C,E){let A=Iv.ISO_8859_1,O=tr.DEFAULT_EC_PERCENT,V=tr.DEFAULT_AZTEC_LAYERS;return E!=null&&(E.has(Po.CHARACTER_SET)&&(A=n4.forName(E.get(Po.CHARACTER_SET).toString())),E.has(Po.ERROR_CORRECTION)&&(O=N.parseInt(E.get(Po.ERROR_CORRECTION).toString())),E.has(Po.AZTEC_LAYERS)&&(V=N.parseInt(E.get(Po.AZTEC_LAYERS).toString()))),Qh.encodeLayers(p,v,x,C,A,O,V)}static encodeLayers(p,v,x,C,E,A,O){if(v!==we.AZTEC)throw new f("Can only encode AZTEC, but got "+v);let V=tr.encode(G.getBytes(p,E),A,O);return Qh.renderResult(V,x,C)}static renderResult(p,v,x){let C=p.getMatrix();if(C==null)throw new Ie;let E=C.getWidth(),A=C.getHeight(),O=Math.max(v,E),V=Math.max(x,A),X=Math.min(O/E,V/A),ae=(O-E*X)/2,fe=(V-A*X)/2,be=new W(O,V);for(let Ae=0,He=fe;Ae<A;Ae++,He+=X)for(let Ge=0,tt=ae;Ge<E;Ge++,tt+=X)C.get(Ge,Ae)&&be.setRegion(tt,He,X,X);return be}}n.AbstractExpandedDecoder=yv,n.ArgumentException=d,n.ArithmeticException=le,n.AztecCode=r4,n.AztecCodeReader=Se,n.AztecCodeWriter=Qh,n.AztecDecoder=nt,n.AztecDetector=ie,n.AztecDetectorResult=pt,n.AztecEncoder=tr,n.AztecHighLevelEncoder=Zh,n.AztecPoint=Q,n.BarcodeFormat=we,n.Binarizer=w,n.BinaryBitmap=m,n.BitArray=M,n.BitMatrix=W,n.BitSource=bv,n.BrowserAztecCodeReader=Me,n.BrowserBarcodeReader=Kx,n.BrowserCodeReader=re,n.BrowserDatamatrixCodeReader=QE,n.BrowserMultiFormatReader=Gh,n.BrowserPDF417Reader=h1,n.BrowserQRCodeReader=t4,n.BrowserQRCodeSvgWriter=Nf,n.CharacterSetECI=T,n.ChecksumException=g,n.Code128Reader=me,n.Code39Reader=We,n.DataMatrixDecodedBitStreamParser=zi,n.DataMatrixReader=Fi,n.DecodeHintType=P,n.DecoderResult=pe,n.DefaultGridSampler=se,n.DetectorResult=et,n.EAN13Reader=Ot,n.EncodeHintType=Po,n.Exception=u,n.FormatException=L,n.GenericGF=ye,n.GenericGFPoly=ke,n.GlobalHistogramBinarizer=ee,n.GridSampler=at,n.GridSamplerInstance=K,n.HTMLCanvasElementLuminanceSource=q,n.HybridBinarizer=$,n.ITFReader=Xe,n.IllegalArgumentException=f,n.IllegalStateException=Ie,n.InvertedLuminanceSource=Y,n.LuminanceSource=H,n.MathUtils=Ue,n.MultiFormatOneDReader=Nd,n.MultiFormatReader=p1,n.MultiFormatWriter=XE,n.NotFoundException=U,n.OneDReader=Ce,n.PDF417DecodedBitStreamParser=ut,n.PDF417DecoderErrorCorrection=jv,n.PDF417Reader=is,n.PDF417ResultMetadata=f1,n.PerspectiveTransform=De,n.PlanarYUVLuminanceSource=Cl,n.QRCodeByteMatrix=m1,n.QRCodeDataMask=zn,n.QRCodeDecodedBitStreamParser=Wr,n.QRCodeDecoderErrorCorrectionLevel=Ar,n.QRCodeDecoderFormatInformation=rs,n.QRCodeEncoder=Dr,n.QRCodeEncoderQRCode=Ef,n.QRCodeMaskUtil=Yr,n.QRCodeMatrixUtil=yn,n.QRCodeMode=hn,n.QRCodeReader=Vs,n.QRCodeVersion=pn,n.QRCodeWriter=Td,n.RGBLuminanceSource=qh,n.RSS14Reader=zr,n.RSSExpandedReader=jt,n.ReaderException=Rd,n.ReedSolomonDecoder=Ve,n.ReedSolomonEncoder=Nv,n.ReedSolomonException=ve,n.Result=de,n.ResultMetadataType=ce,n.ResultPoint=_e,n.StringUtils=G,n.UnsupportedOperationException=R,n.VideoInputDevice=J,n.WhiteRectangleDetector=ht,n.WriterException=Mr,n.ZXingArrays=I,n.ZXingCharset=n4,n.ZXingInteger=N,n.ZXingStandardCharsets=Iv,n.ZXingStringBuilder=Z,n.ZXingStringEncoding=z,n.ZXingSystem=b,n.createAbstractExpandedDecoder=Gx,Object.defineProperty(n,"__esModule",{value:!0})}))})(Uw,Uw.exports)),Uw.exports}var no=Hgt();const Wgt=tc(no),Ygt=fJ({__proto__:null,default:Wgt},[no]);var RQ=(function(){function t(e,n,r){if(this.formatMap=new Map([[nn.QR_CODE,no.BarcodeFormat.QR_CODE],[nn.AZTEC,no.BarcodeFormat.AZTEC],[nn.CODABAR,no.BarcodeFormat.CODABAR],[nn.CODE_39,no.BarcodeFormat.CODE_39],[nn.CODE_93,no.BarcodeFormat.CODE_93],[nn.CODE_128,no.BarcodeFormat.CODE_128],[nn.DATA_MATRIX,no.BarcodeFormat.DATA_MATRIX],[nn.MAXICODE,no.BarcodeFormat.MAXICODE],[nn.ITF,no.BarcodeFormat.ITF],[nn.EAN_13,no.BarcodeFormat.EAN_13],[nn.EAN_8,no.BarcodeFormat.EAN_8],[nn.PDF_417,no.BarcodeFormat.PDF_417],[nn.RSS_14,no.BarcodeFormat.RSS_14],[nn.RSS_EXPANDED,no.BarcodeFormat.RSS_EXPANDED],[nn.UPC_A,no.BarcodeFormat.UPC_A],[nn.UPC_E,no.BarcodeFormat.UPC_E],[nn.UPC_EAN_EXTENSION,no.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!Ygt)throw"Use html5qrcode.min.js without edit, ZXing not found.";this.verbose=n,this.logger=r;var o=this.createZXingFormats(e),s=new Map;s.set(no.DecodeHintType.POSSIBLE_FORMATS,o),s.set(no.DecodeHintType.TRY_HARDER,!1),this.hints=s}return t.prototype.decodeAsync=function(e){var n=this;return new Promise(function(r,o){try{r(n.decode(e))}catch(s){o(s)}})},t.prototype.decode=function(e){var n=new no.MultiFormatReader(this.verbose,this.hints),r=new no.HTMLCanvasElementLuminanceSource(e),o=new no.BinaryBitmap(new no.HybridBinarizer(r)),s=n.decode(o);return{text:s.text,format:tye.create(this.toHtml5QrcodeSupportedFormats(s.format)),debugData:this.createDebugData()}},t.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(n,r,o){e.set(n,r)}),e},t.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw"reverseFormatMap doesn't have ".concat(e);return this.reverseFormatMap.get(e)},t.prototype.createZXingFormats=function(e){for(var n=[],r=0,o=e;r<o.length;r++){var s=o[r];this.formatMap.has(s)?n.push(this.formatMap.get(s)):this.logger.logError("".concat(s," is not supported by")+"ZXingHtml5QrcodeShim")}return n},t.prototype.createDebugData=function(){return{decoderName:"zxing-js"}},t})(),Ggt=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},qgt=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},TQ=(function(){function t(e,n,r){if(this.formatMap=new Map([[nn.QR_CODE,"qr_code"],[nn.AZTEC,"aztec"],[nn.CODABAR,"codabar"],[nn.CODE_39,"code_39"],[nn.CODE_93,"code_93"],[nn.CODE_128,"code_128"],[nn.DATA_MATRIX,"data_matrix"],[nn.ITF,"itf"],[nn.EAN_13,"ean_13"],[nn.EAN_8,"ean_8"],[nn.PDF_417,"pdf417"],[nn.UPC_A,"upc_a"],[nn.UPC_E,"upc_e"]]),this.reverseFormatMap=this.createReverseFormatMap(),!t.isSupported())throw"Use html5qrcode.min.js without edit, Use BarcodeDetectorDelegate only if it isSupported();";this.verbose=n,this.logger=r;var o=this.createBarcodeDetectorFormats(e);if(this.detector=new BarcodeDetector(o),!this.detector)throw"BarcodeDetector detector not supported"}return t.isSupported=function(){if(!("BarcodeDetector"in window))return!1;var e=new BarcodeDetector({formats:["qr_code"]});return typeof e<"u"},t.prototype.decodeAsync=function(e){return Ggt(this,void 0,void 0,function(){var n,r;return qgt(this,function(o){switch(o.label){case 0:return[4,this.detector.detect(e)];case 1:if(n=o.sent(),!n||n.length===0)throw"No barcode or QR code detected.";return r=this.selectLargestBarcode(n),[2,{text:r.rawValue,format:tye.create(this.toHtml5QrcodeSupportedFormats(r.format)),debugData:this.createDebugData()}]}})})},t.prototype.selectLargestBarcode=function(e){for(var n=null,r=0,o=0,s=e;o<s.length;o++){var a=s[o],i=a.boundingBox.width*a.boundingBox.height;i>r&&(r=i,n=a)}if(!n)throw"No largest barcode found";return n},t.prototype.createBarcodeDetectorFormats=function(e){for(var n=[],r=0,o=e;r<o.length;r++){var s=o[r];this.formatMap.has(s)?n.push(this.formatMap.get(s)):this.logger.warn("".concat(s," is not supported by")+"BarcodeDetectorDelegate")}return{formats:n}},t.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw"reverseFormatMap doesn't have ".concat(e);return this.reverseFormatMap.get(e)},t.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(n,r,o){e.set(n,r)}),e},t.prototype.createDebugData=function(){return{decoderName:"BarcodeDetector"}},t})(),DQ=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},LQ=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},Kgt=(function(){function t(e,n,r,o){this.EXECUTIONS_TO_REPORT_PERFORMANCE=100,this.executions=0,this.executionResults=[],this.wasPrimaryDecoderUsedInLastDecode=!1,this.verbose=r,n&&TQ.isSupported()?(this.primaryDecoder=new TQ(e,r,o),this.secondaryDecoder=new RQ(e,r,o)):this.primaryDecoder=new RQ(e,r,o)}return t.prototype.decodeAsync=function(e){return DQ(this,void 0,void 0,function(){var n;return LQ(this,function(r){switch(r.label){case 0:n=performance.now(),r.label=1;case 1:return r.trys.push([1,,3,4]),[4,this.getDecoder().decodeAsync(e)];case 2:return[2,r.sent()];case 3:return this.possiblyLogPerformance(n),[7];case 4:return[2]}})})},t.prototype.decodeRobustlyAsync=function(e){return DQ(this,void 0,void 0,function(){var n,r;return LQ(this,function(o){switch(o.label){case 0:n=performance.now(),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,this.primaryDecoder.decodeAsync(e)];case 2:return[2,o.sent()];case 3:if(r=o.sent(),this.secondaryDecoder)return[2,this.secondaryDecoder.decodeAsync(e)];throw r;case 4:return this.possiblyLogPerformance(n),[7];case 5:return[2]}})})},t.prototype.getDecoder=function(){return this.secondaryDecoder?this.wasPrimaryDecoderUsedInLastDecode===!1?(this.wasPrimaryDecoderUsedInLastDecode=!0,this.primaryDecoder):(this.wasPrimaryDecoderUsedInLastDecode=!1,this.secondaryDecoder):this.primaryDecoder},t.prototype.possiblyLogPerformance=function(e){if(this.verbose){var n=performance.now()-e;this.executionResults.push(n),this.executions++,this.possiblyFlushPerformanceReport()}},t.prototype.possiblyFlushPerformanceReport=function(){if(!(this.executions<this.EXECUTIONS_TO_REPORT_PERFORMANCE)){for(var e=0,n=0,r=this.executionResults;n<r.length;n++){var o=r[n];e+=o}var s=e/this.executionResults.length;console.log("".concat(s," ms for ").concat(this.executionResults.length," last runs.")),this.executions=0,this.executionResults=[]}},t})(),NO=(function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),tC=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},nC=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},rye=(function(){function t(e,n){this.name=e,this.track=n}return t.prototype.isSupported=function(){return this.track.getCapabilities?this.name in this.track.getCapabilities():!1},t.prototype.apply=function(e){var n={};n[this.name]=e;var r={advanced:[n]};return this.track.applyConstraints(r)},t.prototype.value=function(){var e=this.track.getSettings();if(this.name in e){var n=e[this.name];return n}return null},t})(),Zgt=(function(t){NO(e,t);function e(n,r){return t.call(this,n,r)||this}return e.prototype.min=function(){return this.getCapabilities().min},e.prototype.max=function(){return this.getCapabilities().max},e.prototype.step=function(){return this.getCapabilities().step},e.prototype.apply=function(n){var r={};r[this.name]=n;var o={advanced:[r]};return this.track.applyConstraints(o)},e.prototype.getCapabilities=function(){this.failIfNotSupported();var n=this.track.getCapabilities(),r=n[this.name];return{min:r.min,max:r.max,step:r.step}},e.prototype.failIfNotSupported=function(){if(!this.isSupported())throw new Error("".concat(this.name," capability not supported"))},e})(rye),Qgt=(function(t){NO(e,t);function e(n){return t.call(this,"zoom",n)||this}return e})(Zgt),Jgt=(function(t){NO(e,t);function e(n){return t.call(this,"torch",n)||this}return e})(rye),Xgt=(function(){function t(e){this.track=e}return t.prototype.zoomFeature=function(){return new Qgt(this.track)},t.prototype.torchFeature=function(){return new Jgt(this.track)},t})(),e1t=(function(){function t(e,n,r){this.isClosed=!1,this.parentElement=e,this.mediaStream=n,this.callbacks=r,this.surface=this.createVideoElement(this.parentElement.clientWidth),e.append(this.surface)}return t.prototype.createVideoElement=function(e){var n=document.createElement("video");return n.style.width="".concat(e,"px"),n.style.display="block",n.muted=!0,n.setAttribute("muted","true"),n.playsInline=!0,n},t.prototype.setupSurface=function(){var e=this;this.surface.onabort=function(){throw"RenderedCameraImpl video surface onabort() called"},this.surface.onerror=function(){throw"RenderedCameraImpl video surface onerror() called"};var n=function(){var r=e.surface.clientWidth,o=e.surface.clientHeight;e.callbacks.onRenderSurfaceReady(r,o),e.surface.removeEventListener("playing",n)};this.surface.addEventListener("playing",n),this.surface.srcObject=this.mediaStream,this.surface.play()},t.create=function(e,n,r,o){return tC(this,void 0,void 0,function(){var s,a;return nC(this,function(i){switch(i.label){case 0:return s=new t(e,n,o),r.aspectRatio?(a={aspectRatio:r.aspectRatio},[4,s.getFirstTrackOrFail().applyConstraints(a)]):[3,2];case 1:i.sent(),i.label=2;case 2:return s.setupSurface(),[2,s]}})})},t.prototype.failIfClosed=function(){if(this.isClosed)throw"The RenderedCamera has already been closed."},t.prototype.getFirstTrackOrFail=function(){if(this.failIfClosed(),this.mediaStream.getVideoTracks().length===0)throw"No video tracks found";return this.mediaStream.getVideoTracks()[0]},t.prototype.pause=function(){this.failIfClosed(),this.surface.pause()},t.prototype.resume=function(e){this.failIfClosed();var n=this,r=function(){setTimeout(e,200),n.surface.removeEventListener("playing",r)};this.surface.addEventListener("playing",r),this.surface.play()},t.prototype.isPaused=function(){return this.failIfClosed(),this.surface.paused},t.prototype.getSurface=function(){return this.failIfClosed(),this.surface},t.prototype.getRunningTrackCapabilities=function(){return this.getFirstTrackOrFail().getCapabilities()},t.prototype.getRunningTrackSettings=function(){return this.getFirstTrackOrFail().getSettings()},t.prototype.applyVideoConstraints=function(e){return tC(this,void 0,void 0,function(){return nC(this,function(n){if("aspectRatio"in e)throw"Changing 'aspectRatio' in run-time is not yet supported.";return[2,this.getFirstTrackOrFail().applyConstraints(e)]})})},t.prototype.close=function(){if(this.isClosed)return Promise.resolve();var e=this;return new Promise(function(n,r){var o=e.mediaStream.getVideoTracks(),s=o.length,a=0;e.mediaStream.getVideoTracks().forEach(function(i){e.mediaStream.removeTrack(i),i.stop(),++a,a>=s&&(e.isClosed=!0,e.parentElement.removeChild(e.surface),n())})})},t.prototype.getCapabilities=function(){return new Xgt(this.getFirstTrackOrFail())},t})(),t1t=(function(){function t(e){this.mediaStream=e}return t.prototype.render=function(e,n,r){return tC(this,void 0,void 0,function(){return nC(this,function(o){return[2,e1t.create(e,this.mediaStream,n,r)]})})},t.create=function(e){return tC(this,void 0,void 0,function(){var n,r;return nC(this,function(o){switch(o.label){case 0:if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return n={audio:!1,video:e},[4,navigator.mediaDevices.getUserMedia(n)];case 1:return r=o.sent(),[2,new t(r)]}})})},t})(),PQ=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},OQ=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},n1t=(function(){function t(){}return t.failIfNotSupported=function(){return PQ(this,void 0,void 0,function(){return OQ(this,function(e){if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return[2,new t]})})},t.prototype.create=function(e){return PQ(this,void 0,void 0,function(){return OQ(this,function(n){return[2,t1t.create(e)]})})},t})(),r1t=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},o1t=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},s1t=(function(){function t(){}return t.retrieve=function(){if(navigator.mediaDevices)return t.getCamerasFromMediaDevices();var e=MediaStreamTrack;return MediaStreamTrack&&e.getSources?t.getCamerasFromMediaStreamTrack():t.rejectWithError()},t.rejectWithError=function(){var e=v0.unableToQuerySupportedDevices();return t.isHttpsOrLocalhost()||(e=v0.insecureContextCameraQueryError()),Promise.reject(e)},t.isHttpsOrLocalhost=function(){if(location.protocol==="https:")return!0;var e=location.host.split(":")[0];return e==="127.0.0.1"||e==="localhost"},t.getCamerasFromMediaDevices=function(){return r1t(this,void 0,void 0,function(){var e,n,r,o,s,a,i;return o1t(this,function(l){switch(l.label){case 0:return e=function(u){for(var d=u.getVideoTracks(),f=0,m=d;f<m.length;f++){var g=m[f];g.enabled=!1,g.stop(),u.removeTrack(g)}},[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 1:return n=l.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:for(r=l.sent(),o=[],s=0,a=r;s<a.length;s++)i=a[s],i.kind==="videoinput"&&o.push({id:i.deviceId,label:i.label});return e(n),[2,o]}})})},t.getCamerasFromMediaStreamTrack=function(){return new Promise(function(e,n){var r=function(s){for(var a=[],i=0,l=s;i<l.length;i++){var u=l[i];u.kind==="video"&&a.push({id:u.id,label:u.label})}e(a)},o=MediaStreamTrack;o.getSources(r)})},t})(),Ao;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.NOT_STARTED=1]="NOT_STARTED",t[t.SCANNING=2]="SCANNING",t[t.PAUSED=3]="PAUSED"})(Ao||(Ao={}));var a1t=(function(){function t(){this.state=Ao.NOT_STARTED,this.onGoingTransactionNewState=Ao.UNKNOWN}return t.prototype.directTransition=function(e){this.failIfTransitionOngoing(),this.validateTransition(e),this.state=e},t.prototype.startTransition=function(e){return this.failIfTransitionOngoing(),this.validateTransition(e),this.onGoingTransactionNewState=e,this},t.prototype.execute=function(){if(this.onGoingTransactionNewState===Ao.UNKNOWN)throw"Transaction is already cancelled, cannot execute().";var e=this.onGoingTransactionNewState;this.onGoingTransactionNewState=Ao.UNKNOWN,this.directTransition(e)},t.prototype.cancel=function(){if(this.onGoingTransactionNewState===Ao.UNKNOWN)throw"Transaction is already cancelled, cannot cancel().";this.onGoingTransactionNewState=Ao.UNKNOWN},t.prototype.getState=function(){return this.state},t.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==Ao.UNKNOWN)throw"Cannot transition to a new state, already under transition"},t.prototype.validateTransition=function(e){switch(this.state){case Ao.UNKNOWN:throw"Transition from unknown is not allowed";case Ao.NOT_STARTED:this.failIfNewStateIs(e,[Ao.PAUSED]);break;case Ao.SCANNING:break;case Ao.PAUSED:break}},t.prototype.failIfNewStateIs=function(e,n){for(var r=0,o=n;r<o.length;r++){var s=o[r];if(e===s)throw"Cannot transition from ".concat(this.state," to ").concat(e)}},t})(),i1t=(function(){function t(e){this.stateManager=e}return t.prototype.startTransition=function(e){return this.stateManager.startTransition(e)},t.prototype.directTransition=function(e){this.stateManager.directTransition(e)},t.prototype.getState=function(){return this.stateManager.getState()},t.prototype.canScanFile=function(){return this.stateManager.getState()===Ao.NOT_STARTED},t.prototype.isScanning=function(){return this.stateManager.getState()!==Ao.NOT_STARTED},t.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===Ao.SCANNING},t.prototype.isPaused=function(){return this.stateManager.getState()===Ao.PAUSED},t})(),l1t=(function(){function t(){}return t.create=function(){return new i1t(new a1t)},t})(),c1t=(function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),Zi=(function(t){c1t(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.DEFAULT_WIDTH=300,e.DEFAULT_WIDTH_OFFSET=2,e.FILE_SCAN_MIN_HEIGHT=300,e.FILE_SCAN_HIDDEN_CANVAS_PADDING=100,e.MIN_QR_BOX_SIZE=50,e.SHADED_LEFT=1,e.SHADED_RIGHT=2,e.SHADED_TOP=3,e.SHADED_BOTTOM=4,e.SHADED_REGION_ELEMENT_ID="qr-shaded-region",e.VERBOSE=!1,e.BORDER_SHADER_DEFAULT_COLOR="#ffffff",e.BORDER_SHADER_MATCH_COLOR="rgb(90, 193, 56)",e})(Bgt),u1t=(function(){function t(e,n){this.logger=n,this.fps=Zi.SCAN_DEFAULT_FPS,e?(e.fps&&(this.fps=e.fps),this.disableFlip=e.disableFlip===!0,this.qrbox=e.qrbox,this.aspectRatio=e.aspectRatio,this.videoConstraints=e.videoConstraints):this.disableFlip=Zi.DEFAULT_DISABLE_FLIP}return t.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?nye.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError("Empty videoConstraints",!0),!1)},t.prototype.isShadedBoxEnabled=function(){return!Vf(this.qrbox)},t.create=function(e,n){return new t(e,n)},t})(),f1t=(function(){function t(e,n){if(this.element=null,this.canvasElement=null,this.scannerPausedUiElement=null,this.hasBorderShaders=null,this.borderShaders=null,this.qrMatch=null,this.renderedCamera=null,this.qrRegion=null,this.context=null,this.lastScanImageFile=null,this.isScanning=!1,!document.getElementById(e))throw"HTML Element with id=".concat(e," not found");this.elementId=e,this.verbose=!1;var r;typeof n=="boolean"?this.verbose=n===!0:n&&(r=n,this.verbose=r.verbose===!0,r.experimentalFeatures),this.logger=new $gt(this.verbose),this.qrcode=new Kgt(this.getSupportedFormats(n),this.getUseBarCodeDetectorIfSupported(r),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=l1t.create()}return t.prototype.start=function(e,n,r,o){var s=this;if(!e)throw"cameraIdOrConfig is required";if(!r||typeof r!="function")throw"qrCodeSuccessCallback is required and should be a function.";var a;o?a=o:a=this.verbose?this.logger.log:function(){};var i=u1t.create(n,this.logger);this.clearElement();var l=!1;i.videoConstraints&&(i.isMediaStreamConstraintsValid()?l=!0:this.logger.logError("'videoConstraints' is not valid 'MediaStreamConstraints, it will be ignored.'",!0));var u=l,d=document.getElementById(this.elementId);d.clientWidth?d.clientWidth:Zi.DEFAULT_WIDTH,d.style.position="relative",this.shouldScan=!0,this.element=d;var f=this,m=this.stateManagerProxy.startTransition(Ao.SCANNING);return new Promise(function(g,w){var b=u?i.videoConstraints:f.createVideoConstraints(e);if(!b){m.cancel(),w("videoConstraints should be defined");return}var j={};(!u||i.aspectRatio)&&(j.aspectRatio=i.aspectRatio);var S={onRenderSurfaceReady:function(I,N){f.setupUi(I,N,i),f.isScanning=!0,f.foreverScan(i,r,a)}};n1t.failIfNotSupported().then(function(I){I.create(b).then(function(N){return N.render(s.element,j,S).then(function(M){f.renderedCamera=M,m.execute(),g(null)}).catch(function(M){m.cancel(),w(M)})}).catch(function(N){m.cancel(),w(v0.errorGettingUserMedia(N))})}).catch(function(I){m.cancel(),w(v0.cameraStreamingNotSupported())})})},t.prototype.pause=function(e){if(!this.stateManagerProxy.isStrictlyScanning())throw"Cannot pause, scanner is not scanning.";this.stateManagerProxy.directTransition(Ao.PAUSED),this.showPausedState(),(Vf(e)||e!==!0)&&(e=!1),e&&this.renderedCamera&&this.renderedCamera.pause()},t.prototype.resume=function(){if(!this.stateManagerProxy.isPaused())throw"Cannot result, scanner is not paused.";if(!this.renderedCamera)throw"renderedCamera doesn't exist while trying resume()";var e=this,n=function(){e.stateManagerProxy.directTransition(Ao.SCANNING),e.hidePausedState()};if(!this.renderedCamera.isPaused()){n();return}this.renderedCamera.resume(function(){n()})},t.prototype.getState=function(){return this.stateManagerProxy.getState()},t.prototype.stop=function(){var e=this;if(!this.stateManagerProxy.isScanning())throw"Cannot stop, scanner is not running or paused.";var n=this.stateManagerProxy.startTransition(Ao.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var r=function(){if(e.element){var s=document.getElementById(Zi.SHADED_REGION_ELEMENT_ID);s&&e.element.removeChild(s)}},o=this;return this.renderedCamera.close().then(function(){return o.renderedCamera=null,o.element&&(o.element.removeChild(o.canvasElement),o.canvasElement=null),r(),o.qrRegion&&(o.qrRegion=null),o.context&&(o.context=null),n.execute(),o.hidePausedState(),o.isScanning=!1,Promise.resolve()})},t.prototype.scanFile=function(e,n){return this.scanFileV2(e,n).then(function(r){return r.decodedText})},t.prototype.scanFileV2=function(e,n){var r=this;if(!e||!(e instanceof File))throw"imageFile argument is mandatory and should be instance of File. Use 'event.target.files[0]'.";if(Vf(n)&&(n=!0),!this.stateManagerProxy.canScanFile())throw"Cannot start file scan - ongoing camera scan";return new Promise(function(o,s){r.possiblyCloseLastScanImageFile(),r.clearElement(),r.lastScanImageFile=URL.createObjectURL(e);var a=new Image;a.onload=function(){var i=a.width,l=a.height,u=document.getElementById(r.elementId),d=u.clientWidth?u.clientWidth:Zi.DEFAULT_WIDTH,f=Math.max(u.clientHeight?u.clientHeight:l,Zi.FILE_SCAN_MIN_HEIGHT),m=r.computeCanvasDrawConfig(i,l,d,f);if(n){var g=r.createCanvasElement(d,f,"qr-canvas-visible");g.style.display="inline-block",u.appendChild(g);var w=g.getContext("2d");if(!w)throw"Unable to get 2d context from canvas";w.canvas.width=d,w.canvas.height=f,w.drawImage(a,0,0,i,l,m.x,m.y,m.width,m.height)}var b=Zi.FILE_SCAN_HIDDEN_CANVAS_PADDING,j=Math.max(a.width,m.width),S=Math.max(a.height,m.height),I=j+2*b,N=S+2*b,M=r.createCanvasElement(I,N);u.appendChild(M);var D=M.getContext("2d");if(!D)throw"Unable to get 2d context from canvas";D.canvas.width=I,D.canvas.height=N,D.drawImage(a,0,0,i,l,b,b,j,S);try{r.qrcode.decodeRobustlyAsync(M).then(function(P){o(_Q.createFromQrcodeResult(P))}).catch(s)}catch(P){s("QR code parse error, error = ".concat(P))}},a.onerror=s,a.onabort=s,a.onstalled=s,a.onsuspend=s,a.src=URL.createObjectURL(e)})},t.prototype.clear=function(){this.clearElement()},t.getCameras=function(){return s1t.retrieve()},t.prototype.getRunningTrackCapabilities=function(){return this.getRenderedCameraOrFail().getRunningTrackCapabilities()},t.prototype.getRunningTrackSettings=function(){return this.getRenderedCameraOrFail().getRunningTrackSettings()},t.prototype.getRunningTrackCameraCapabilities=function(){return this.getRenderedCameraOrFail().getCapabilities()},t.prototype.applyVideoConstraints=function(e){if(e){if(!nye.isMediaStreamConstraintsValid(e,this.logger))throw"invalid videoConstaints passed, check logs for more details"}else throw"videoConstaints is required argument.";return this.getRenderedCameraOrFail().applyVideoConstraints(e)},t.prototype.getRenderedCameraOrFail=function(){if(this.renderedCamera==null)throw"Scanning is not in running state, call this API only when QR code scanning using camera is in running state.";return this.renderedCamera},t.prototype.getSupportedFormats=function(e){var n=[nn.QR_CODE,nn.AZTEC,nn.CODABAR,nn.CODE_39,nn.CODE_93,nn.CODE_128,nn.DATA_MATRIX,nn.MAXICODE,nn.ITF,nn.EAN_13,nn.EAN_8,nn.PDF_417,nn.RSS_14,nn.RSS_EXPANDED,nn.UPC_A,nn.UPC_E,nn.UPC_EAN_EXTENSION];if(!e||typeof e=="boolean"||!e.formatsToSupport)return n;if(!Array.isArray(e.formatsToSupport))throw"configOrVerbosityFlag.formatsToSupport should be undefined or an array.";if(e.formatsToSupport.length===0)throw"Atleast 1 formatsToSupport is needed.";for(var r=[],o=0,s=e.formatsToSupport;o<s.length;o++){var a=s[o];Fgt(a)?r.push(a):this.logger.warn("Invalid format: ".concat(a," passed in config, ignoring."))}if(r.length===0)throw"None of formatsToSupport match supported values.";return r},t.prototype.getUseBarCodeDetectorIfSupported=function(e){if(Vf(e))return!0;if(!Vf(e.useBarCodeDetectorIfSupported))return e.useBarCodeDetectorIfSupported!==!1;if(Vf(e.experimentalFeatures))return!0;var n=e.experimentalFeatures;return Vf(n.useBarCodeDetectorIfSupported)?!0:n.useBarCodeDetectorIfSupported!==!1},t.prototype.validateQrboxSize=function(e,n,r){var o=this,s=r.qrbox;this.validateQrboxConfig(s);var a=this.toQrdimensions(e,n,s),i=function(u){if(u<Zi.MIN_QR_BOX_SIZE)throw"minimum size of 'config.qrbox' dimension value is"+" ".concat(Zi.MIN_QR_BOX_SIZE,"px.")},l=function(u){return u>e&&(o.logger.warn("`qrbox.width` or `qrbox` is larger than the width of the root element. The width will be truncated to the width of root element."),u=e),u};i(a.width),i(a.height),a.width=l(a.width)},t.prototype.validateQrboxConfig=function(e){if(typeof e!="number"&&typeof e!="function"&&(e.width===void 0||e.height===void 0))throw"Invalid instance of QrDimensions passed for 'config.qrbox'. Both 'width' and 'height' should be set."},t.prototype.toQrdimensions=function(e,n,r){if(typeof r=="number")return{width:r,height:r};if(typeof r=="function")try{return r(e,n)}catch(o){throw new Error("qrbox config was passed as a function but it failed with unknown error"+o)}return r},t.prototype.setupUi=function(e,n,r){r.isShadedBoxEnabled()&&this.validateQrboxSize(e,n,r);var o=Vf(r.qrbox)?{width:e,height:n}:r.qrbox;this.validateQrboxConfig(o);var s=this.toQrdimensions(e,n,o);s.height>n&&this.logger.warn("[Html5Qrcode] config.qrbox has height that isgreater than the height of the video stream. Shading will be ignored");var a=r.isShadedBoxEnabled()&&s.height<=n,i={x:0,y:0,width:e,height:n},l=a?this.getShadedRegionBounds(e,n,s):i,u=this.createCanvasElement(l.width,l.height),d={willReadFrequently:!0},f=u.getContext("2d",d);f.canvas.width=l.width,f.canvas.height=l.height,this.element.append(u),a&&this.possiblyInsertShadingElement(this.element,e,n,s),this.createScannerPausedUiElement(this.element),this.qrRegion=l,this.context=f,this.canvasElement=u},t.prototype.createScannerPausedUiElement=function(e){var n=document.createElement("div");n.innerText=v0.scannerPaused(),n.style.display="none",n.style.position="absolute",n.style.top="0px",n.style.zIndex="1",n.style.background="rgba(9, 9, 9, 0.46)",n.style.color="#FFECEC",n.style.textAlign="center",n.style.width="100%",e.appendChild(n),this.scannerPausedUiElement=n},t.prototype.scanContext=function(e,n){var r=this;return this.stateManagerProxy.isPaused()?Promise.resolve(!1):this.qrcode.decodeAsync(this.canvasElement).then(function(o){return e(o.text,_Q.createFromQrcodeResult(o)),r.possiblyUpdateShaders(!0),!0}).catch(function(o){r.possiblyUpdateShaders(!1);var s=v0.codeParseError(o);return n(s,Ugt.createFrom(s)),!1})},t.prototype.foreverScan=function(e,n,r){var o=this;if(this.shouldScan&&this.renderedCamera){var s=this.renderedCamera.getSurface(),a=s.videoWidth/s.clientWidth,i=s.videoHeight/s.clientHeight;if(!this.qrRegion)throw"qrRegion undefined when localMediaStream is ready.";var l=this.qrRegion.width*a,u=this.qrRegion.height*i,d=this.qrRegion.x*a,f=this.qrRegion.y*i;this.context.drawImage(s,d,f,l,u,0,0,this.qrRegion.width,this.qrRegion.height);var m=function(){o.foreverScanTimeout=setTimeout(function(){o.foreverScan(e,n,r)},o.getTimeoutFps(e.fps))};this.scanContext(n,r).then(function(g){!g&&e.disableFlip!==!0?(o.context.translate(o.context.canvas.width,0),o.context.scale(-1,1),o.scanContext(n,r).finally(function(){m()})):m()}).catch(function(g){o.logger.logError("Error happend while scanning context",g),m()})}},t.prototype.createVideoConstraints=function(e){if(typeof e=="string")return{deviceId:{exact:e}};if(typeof e=="object"){var n="facingMode",r="deviceId",o={user:!0,environment:!0},s="exact",a=function(w){if(w in o)return!0;throw"config has invalid 'facingMode' value = "+"'".concat(w,"'")},i=Object.keys(e);if(i.length!==1)throw"'cameraIdOrConfig' object should have exactly 1 key,"+" if passed as an object, found ".concat(i.length," keys");var l=Object.keys(e)[0];if(l!==n&&l!==r)throw"Only '".concat(n,"' and '").concat(r,"' ")+" are supported for 'cameraIdOrConfig'";if(l===n){var u=e.facingMode;if(typeof u=="string"){if(a(u))return{facingMode:u}}else if(typeof u=="object")if(s in u){if(a(u["".concat(s)]))return{facingMode:{exact:u["".concat(s)]}}}else throw"'facingMode' should be string or object with"+" ".concat(s," as key.");else{var d=typeof u;throw"Invalid type of 'facingMode' = ".concat(d)}}else{var f=e.deviceId;if(typeof f=="string")return{deviceId:f};if(typeof f=="object"){if(s in f)return{deviceId:{exact:f["".concat(s)]}};throw"'deviceId' should be string or object with"+" ".concat(s," as key.")}else{var m=typeof f;throw"Invalid type of 'deviceId' = ".concat(m)}}}var g=typeof e;throw"Invalid type of 'cameraIdOrConfig' = ".concat(g)},t.prototype.computeCanvasDrawConfig=function(e,n,r,o){if(e<=r&&n<=o){var s=(r-e)/2,a=(o-n)/2;return{x:s,y:a,width:e,height:n}}else{var i=e,l=n;return e>r&&(n=r/e*n,e=r),n>o&&(e=o/n*e,n=o),this.logger.log("Image downsampled from "+"".concat(i,"X").concat(l)+" to ".concat(e,"X").concat(n,".")),this.computeCanvasDrawConfig(e,n,r,o)}},t.prototype.clearElement=function(){if(this.stateManagerProxy.isScanning())throw"Cannot clear while scan is ongoing, close it first.";var e=document.getElementById(this.elementId);e&&(e.innerHTML="")},t.prototype.possiblyUpdateShaders=function(e){this.qrMatch!==e&&(this.hasBorderShaders&&this.borderShaders&&this.borderShaders.length&&this.borderShaders.forEach(function(n){n.style.backgroundColor=e?Zi.BORDER_SHADER_MATCH_COLOR:Zi.BORDER_SHADER_DEFAULT_COLOR}),this.qrMatch=e)},t.prototype.possiblyCloseLastScanImageFile=function(){this.lastScanImageFile&&(URL.revokeObjectURL(this.lastScanImageFile),this.lastScanImageFile=null)},t.prototype.createCanvasElement=function(e,n,r){var o=e,s=n,a=document.createElement("canvas");return a.style.width="".concat(o,"px"),a.style.height="".concat(s,"px"),a.style.display="none",a.id=Vf(r)?"qr-canvas":r,a},t.prototype.getShadedRegionBounds=function(e,n,r){if(r.width>e||r.height>n)throw"'config.qrbox' dimensions should not be greater than the dimensions of the root HTML element.";return{x:(e-r.width)/2,y:(n-r.height)/2,width:r.width,height:r.height}},t.prototype.possiblyInsertShadingElement=function(e,n,r,o){if(!(n-o.width<1||r-o.height<1)){var s=document.createElement("div");s.style.position="absolute";var a=(n-o.width)/2,i=(r-o.height)/2;if(s.style.borderLeft="".concat(a,"px solid rgba(0, 0, 0, 0.48)"),s.style.borderRight="".concat(a,"px solid rgba(0, 0, 0, 0.48)"),s.style.borderTop="".concat(i,"px solid rgba(0, 0, 0, 0.48)"),s.style.borderBottom="".concat(i,"px solid rgba(0, 0, 0, 0.48)"),s.style.boxSizing="border-box",s.style.top="0px",s.style.bottom="0px",s.style.left="0px",s.style.right="0px",s.id="".concat(Zi.SHADED_REGION_ELEMENT_ID),n-o.width<11||r-o.height<11)this.hasBorderShaders=!1;else{var l=5,u=40;this.insertShaderBorders(s,u,l,-l,null,0,!0),this.insertShaderBorders(s,u,l,-l,null,0,!1),this.insertShaderBorders(s,u,l,null,-l,0,!0),this.insertShaderBorders(s,u,l,null,-l,0,!1),this.insertShaderBorders(s,l,u+l,-l,null,-l,!0),this.insertShaderBorders(s,l,u+l,null,-l,-l,!0),this.insertShaderBorders(s,l,u+l,-l,null,-l,!1),this.insertShaderBorders(s,l,u+l,null,-l,-l,!1),this.hasBorderShaders=!0}e.append(s)}},t.prototype.insertShaderBorders=function(e,n,r,o,s,a,i){var l=document.createElement("div");l.style.position="absolute",l.style.backgroundColor=Zi.BORDER_SHADER_DEFAULT_COLOR,l.style.width="".concat(n,"px"),l.style.height="".concat(r,"px"),o!==null&&(l.style.top="".concat(o,"px")),s!==null&&(l.style.bottom="".concat(s,"px")),i?l.style.left="".concat(a,"px"):l.style.right="".concat(a,"px"),this.borderShaders||(this.borderShaders=[]),this.borderShaders.push(l),e.appendChild(l)},t.prototype.showPausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="block"},t.prototype.hidePausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="none"},t.prototype.getTimeoutFps=function(e){return 1e3/e},t})(),zQ;(function(t){t[t.STATUS_DEFAULT=0]="STATUS_DEFAULT",t[t.STATUS_SUCCESS=1]="STATUS_SUCCESS",t[t.STATUS_WARNING=2]="STATUS_WARNING",t[t.STATUS_REQUESTING_PERMISSION=3]="STATUS_REQUESTING_PERMISSION"})(zQ||(zQ={}));function d1t(){const{t}=Ke(),{pubkey:e}=wt(),{isEnabled:n,isConnected:r,connections:o,activeSessions:s,rendezvousUrl:a,enable:i,disable:l,addConnection:u,removeConnection:d,getConnectionURI:f,setRendezvousUrl:m,remoteConnections:g,isSyncing:w,syncProgress:b,addRemoteConnection:j,removeRemoteConnection:S,testRemoteConnection:I,syncFromDevice:N,syncAllRemotes:M}=mgt(),[D,P]=h.useState(""),[L,F]=h.useState(""),[T,R]=h.useState(!1),[z,G]=h.useState(!1),[Z,W]=h.useState(null),[U,ee]=h.useState(""),[$,H]=h.useState(""),[Y,q]=h.useState(!1),[J,ne]=h.useState(!1),[re,de]=h.useState(null),[Ee,we]=h.useState(null),[xe,ce]=h.useState(""),[pe,he]=h.useState(""),[ke,le]=h.useState(!1),[ye,ve]=h.useState(!1),[Ie,Ve]=h.useState(""),Qe=h.useRef(null),nt=h.useRef(null),[Ue,qe]=h.useState(Ze.getNrcOnlyConfigSync()),_e=h.useCallback(Re=>{Ze.setNrcOnlyConfigSync(Re),qe(Re),cr()},[]),et=h.useCallback(async Re=>{try{const ze=await eye.toDataURL(Re,{width:256,margin:2,color:{dark:"#000000",light:"#ffffff"}});H(ze)}catch(ze){console.error("Failed to generate QR code:",ze)}},[]),pt=h.useCallback(async()=>{if(n)l(),de(null);else{ne(!0),de(null);try{await i()}catch(Re){const ze=Re instanceof Error?Re.message:"Failed to enable NRC";de(ze),console.error("Failed to enable NRC:",Re)}finally{ne(!1)}}},[n,i,l]),ht=h.useCallback(async()=>{if(D.trim()){ne(!0),we(null);try{const Re=L.trim()||void 0,{uri:ze,connection:rt}=await u(D.trim(),Re);R(!1),P(""),F(""),W(rt),ee(ze),await et(ze),G(!0)}catch(Re){const ze=Re instanceof Error?Re.message:"Failed to add connection";we(ze),console.error("Failed to add connection:",Re)}finally{ne(!1)}}},[D,L,u]),at=h.useCallback(async Re=>{try{const ze=f(Re);W(Re),ee(ze),await et(ze),G(!0)}catch(ze){console.error("Failed to get connection URI:",ze)}},[f,et]),De=h.useCallback(async()=>{try{await navigator.clipboard.writeText(U),q(!0),setTimeout(()=>q(!1),2e3)}catch(Re){console.error("Failed to copy URI:",Re)}},[U]),se=h.useCallback(async Re=>{try{await d(Re)}catch(ze){console.error("Failed to remove connection:",ze)}},[d]),K=h.useCallback(async()=>{if(!(!xe.trim()||!pe.trim())){ne(!0);try{await j(xe.trim(),pe.trim()),le(!1),ce(""),he("")}catch(Re){console.error("Failed to add remote connection:",Re)}finally{ne(!1)}}},[xe,pe,j]),Q=h.useCallback(async Re=>{try{await S(Re)}catch(ze){console.error("Failed to remove remote connection:",ze)}},[S]),ie=h.useCallback(async Re=>{try{await N(Re)}catch(ze){console.error("Failed to sync from device:",ze)}},[N]),Se=h.useCallback(async Re=>{try{await I(Re)}catch(ze){console.error("Failed to test connection:",ze)}},[I]),Me=h.useCallback(async()=>{try{await M()}catch(Re){console.error("Failed to sync all remotes:",Re)}},[M]),Ce=h.useCallback(async()=>{if(nt.current){Ve("");try{const Re=new f1t("qr-scanner-container");Qe.current=Re,await Re.start({facingMode:"environment"},{fps:10,qrbox:{width:250,height:250}},ze=>{ze.startsWith("nostr+relayconnect://")&&(ce(ze),me(),ve(!1),le(!0))},()=>{})}catch(Re){console.error("Failed to start scanner:",Re),Ve(Re instanceof Error?Re.message:"Failed to start camera")}}},[]),me=h.useCallback(()=>{Qe.current&&(Qe.current.stop().catch(()=>{}),Qe.current=null)},[]),We=h.useCallback(()=>{ve(!0),setTimeout(Ce,100)},[Ce]),Xe=h.useCallback(()=>{me(),ve(!1),Ve("")},[me]);return e?c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/30 rounded-lg",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{htmlFor:"nrc-only-config",className:"text-base font-medium",children:t("Private Configuration Sync")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Only sync configurations between paired devices, not to public relays")})]}),c.jsx(lr,{id:"nrc-only-config",checked:Ue,onCheckedChange:_e})]}),c.jsxs(Cx,{defaultValue:"listener",className:"w-full",children:[c.jsxs(iv,{className:"grid w-full grid-cols-2",children:[c.jsxs(ol,{value:"listener",className:"gap-2",children:[c.jsx(ei,{className:"w-4 h-4"}),t("Share")]}),c.jsxs(ol,{value:"client",className:"gap-2",children:[c.jsx(H7e,{className:"w-4 h-4"}),t("Connect")]})]}),c.jsxs(sl,{value:"listener",className:"space-y-6 mt-4",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{htmlFor:"nrc-enabled",className:"text-base font-medium",children:t("Enable Relay Connect")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Allow other devices to sync with this client")})]}),c.jsx(lr,{id:"nrc-enabled",checked:n,onCheckedChange:pt,disabled:J})]}),re&&c.jsx("div",{className:"p-3 bg-destructive/10 border border-destructive/20 rounded-lg text-sm text-destructive",children:re}),n&&c.jsxs("div",{className:"flex items-center gap-4 p-3 bg-muted/50 rounded-lg",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[r?c.jsx(tPe,{className:"w-4 h-4 text-green-500"}):c.jsx(ePe,{className:"w-4 h-4 text-yellow-500"}),c.jsx("span",{className:"text-sm",children:t(r?"Connected":"Connecting...")})]}),s>0&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Cg,{className:"w-4 h-4"}),c.jsxs("span",{className:"text-sm",children:[s," ",t("active session(s)")]})]})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs(_t,{htmlFor:"rendezvous-url",className:"flex items-center gap-2",children:[c.jsx(ei,{className:"w-4 h-4"}),t("Rendezvous Relay")]}),c.jsx(Pn,{id:"rendezvous-url",value:a,onChange:Re=>m(Re.target.value),placeholder:"wss://relay.example.com",disabled:n}),n&&c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Disable NRC to change the relay")})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(_t,{className:"flex items-center gap-2",children:[c.jsx(I7e,{className:"w-4 h-4"}),t("Authorized Devices")]}),c.jsxs(Pe,{variant:"outline",size:"sm",onClick:()=>R(!0),className:"gap-1",children:[c.jsx(Xc,{className:"w-4 h-4"}),t("Add")]})]}),o.length===0?c.jsx("div",{className:"text-sm text-muted-foreground p-4 text-center border border-dashed rounded-lg",children:t("No devices connected yet")}):c.jsx("div",{className:"space-y-2",children:o.map(Re=>c.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/30 rounded-lg",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"font-medium truncate",children:Re.label}),c.jsx("div",{className:"text-xs text-muted-foreground",children:new Date(Re.createdAt).toLocaleDateString()})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>at(Re),title:t("Show QR Code"),children:c.jsx(o2,{className:"w-4 h-4"})}),c.jsxs(cf,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"text-destructive hover:text-destructive",title:t("Remove"),children:c.jsx(af,{className:"w-4 h-4"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Remove Device?")}),c.jsx(au,{children:t('This will revoke access for "{{label}}". The device will no longer be able to sync.',{label:Re.label})})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:t("Cancel")}),c.jsx(uf,{onClick:()=>se(Re.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:t("Remove")})]})]})]})]})]},Re.id))})]})]}),c.jsxs(sl,{value:"client",className:"space-y-6 mt-4",children:[w&&b&&c.jsxs("div",{className:"p-3 bg-muted/50 rounded-lg space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Hl,{className:"w-4 h-4 animate-spin"}),c.jsxs("span",{className:"text-sm font-medium",children:[b.phase==="connecting"&&t("Connecting..."),b.phase==="requesting"&&t("Requesting events..."),b.phase==="receiving"&&t("Receiving events..."),b.phase==="complete"&&t("Sync complete"),b.phase==="error"&&t("Error")]})]}),b.eventsReceived>0&&c.jsx("div",{className:"text-xs text-muted-foreground",children:t("{{count}} events received",{count:b.eventsReceived})}),b.message&&b.phase==="error"&&c.jsx("div",{className:"text-xs text-destructive",children:b.message})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(_t,{className:"flex items-center gap-2",children:[c.jsx(tL,{className:"w-4 h-4"}),t("Remote Devices")]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsxs(Pe,{variant:"outline",size:"sm",onClick:We,className:"gap-1",children:[c.jsx(h7e,{className:"w-4 h-4"}),t("Scan")]}),c.jsxs(Pe,{variant:"outline",size:"sm",onClick:()=>le(!0),className:"gap-1",children:[c.jsx(Xc,{className:"w-4 h-4"}),t("Add")]})]})]}),g.length===0?c.jsx("div",{className:"text-sm text-muted-foreground p-4 text-center border border-dashed rounded-lg",children:t("No remote devices configured")}):c.jsxs("div",{className:"space-y-2",children:[g.length>1&&c.jsxs(Pe,{variant:"secondary",size:"sm",onClick:Me,disabled:w,className:"w-full gap-2",children:[c.jsx(Hl,{className:`w-4 h-4 ${w?"animate-spin":""}`}),t("Sync All Devices")]}),g.map(Re=>c.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/30 rounded-lg",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"font-medium truncate",children:Re.label}),c.jsx("div",{className:"text-xs text-muted-foreground",children:Re.lastSync?c.jsxs(c.Fragment,{children:[t("Last sync"),": ",new Date(Re.lastSync).toLocaleString(),Re.eventCount!==void 0&&c.jsxs("span",{className:"ml-2",children:["(",Re.eventCount," ",t("events"),")"]})]}):t("Never synced")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[Re.lastSync?null:c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>Se(Re.id),disabled:w,title:t("Test Connection"),children:c.jsx(lc,{className:`w-4 h-4 ${w?"animate-pulse":""}`})}),c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>ie(Re.id),disabled:w,title:t("Sync"),children:c.jsx(Hl,{className:`w-4 h-4 ${w?"animate-spin":""}`})}),c.jsxs(cf,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"text-destructive hover:text-destructive",title:t("Remove"),children:c.jsx(af,{className:"w-4 h-4"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Remove Remote Device?")}),c.jsx(au,{children:t('This will remove "{{label}}" from your remote devices list.',{label:Re.label})})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:t("Cancel")}),c.jsx(uf,{onClick:()=>Q(Re.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:t("Remove")})]})]})]})]})]},Re.id))]})]})]})]}),c.jsx(Ls,{open:T,onOpenChange:Re=>{R(Re),Re?(F(a),we(null)):(P(""),F(""),we(null))},children:c.jsxs(gs,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Add Device")}),c.jsx(rl,{children:t("Create a connection URI to link another device")})]}),c.jsxs("div",{className:"space-y-4 py-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"device-label",children:t("Device Name")}),c.jsx(Pn,{id:"device-label",value:D,onChange:Re=>P(Re.target.value),placeholder:t("e.g., Phone, Laptop")})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs(_t,{htmlFor:"device-rendezvous",className:"flex items-center gap-2",children:[c.jsx(ei,{className:"w-4 h-4"}),t("Rendezvous Relay")]}),c.jsx(Pn,{id:"device-rendezvous",value:L,onChange:Re=>F(Re.target.value),placeholder:"wss://relay.example.com",onKeyDown:Re=>{Re.key==="Enter"&&ht()}}),c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Relay used to establish the connection")})]}),Ee&&c.jsx("div",{className:"p-3 bg-destructive/10 border border-destructive/20 rounded-lg text-sm text-destructive",children:Ee})]}),c.jsxs(zm,{children:[c.jsx(Pe,{variant:"outline",onClick:()=>R(!1),children:t("Cancel")}),c.jsx(Pe,{onClick:ht,disabled:!D.trim()||J,children:t("Create")})]})]})}),c.jsx(Ls,{open:z,onOpenChange:G,children:c.jsxs(gs,{className:"sm:max-w-md",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Connection QR Code")}),c.jsx(rl,{children:Z&&c.jsx(c.Fragment,{children:t('Scan this code with "{{label}}" to connect',{label:Z.label})})})]}),c.jsxs("div",{className:"flex flex-col items-center gap-4 py-4",children:[$&&c.jsx("div",{className:"p-4 bg-white rounded-lg",children:c.jsx("img",{src:$,alt:"Connection QR Code",className:"w-64 h-64"})}),c.jsx("div",{className:"w-full",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pn,{value:U,readOnly:!0,className:"font-mono text-xs"}),c.jsx(Pe,{variant:"outline",size:"icon",onClick:De,title:t("Copy"),children:Y?c.jsx(Zr,{className:"w-4 h-4 text-green-500"}):c.jsx(La,{className:"w-4 h-4"})})]})})]}),c.jsx(zm,{children:c.jsx(Pe,{onClick:()=>G(!1),children:t("Done")})})]})}),c.jsx(Ls,{open:ke,onOpenChange:le,children:c.jsxs(gs,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Connect to Device")}),c.jsx(rl,{children:t("Enter a connection URI from another device to sync with it")})]}),c.jsxs("div",{className:"space-y-4 py-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"connection-uri",children:t("Connection URI")}),c.jsx(Pn,{id:"connection-uri",value:xe,onChange:Re=>ce(Re.target.value),placeholder:"nostr+relayconnect://...",className:"font-mono text-xs"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"remote-label",children:t("Device Name")}),c.jsx(Pn,{id:"remote-label",value:pe,onChange:Re=>he(Re.target.value),placeholder:t("e.g., Desktop, Main Phone"),onKeyDown:Re=>{Re.key==="Enter"&&K()}})]})]}),c.jsxs(zm,{children:[c.jsx(Pe,{variant:"outline",onClick:()=>le(!1),children:t("Cancel")}),c.jsx(Pe,{onClick:K,disabled:!xe.trim()||!pe.trim()||J,children:t("Connect")})]})]})}),c.jsx(Ls,{open:ye,onOpenChange:Xe,children:c.jsxs(gs,{className:"sm:max-w-md",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Scan QR Code")}),c.jsx(rl,{children:t("Point your camera at a connection QR code")})]}),c.jsxs("div",{className:"py-4",children:[c.jsx("div",{id:"qr-scanner-container",ref:nt,className:"w-full aspect-square bg-muted rounded-lg overflow-hidden"}),Ie&&c.jsx("div",{className:"mt-2 text-sm text-destructive",children:Ie})]}),c.jsx(zm,{children:c.jsx(Pe,{variant:"outline",onClick:Xe,children:t("Cancel")})})]})})]}):c.jsx("div",{className:"text-muted-foreground text-sm",children:t("Login required to use NRC")})}const FQ={apiKey:"",model:"",systemPrompt:"",autoRewrite:!1};function oye(){const{t}=Ke(),{pubkey:e}=wt(),[n,r]=h.useState(FQ),[o,s]=h.useState([]),[a,i]=h.useState(!1);h.useEffect(()=>{e&&r(Ze.getLlmConfig(e)??FQ)},[e]),h.useEffect(()=>{if(!n.apiKey||n.apiKey.length<10){s([]);return}let d=!1;const f=setTimeout(async()=>{i(!0);try{const m=await OXe(n.apiKey);d||s(m)}catch(m){console.error("[LLM] Failed to fetch models:",m),d||s([])}finally{d||i(!1)}},500);return()=>{d=!0,clearTimeout(f)}},[n.apiKey]);const l=h.useCallback(d=>{r(d),e&&(Ze.setLlmConfig(e,d),cr())},[e]),u=n.model||Ude;return c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{className:"text-base font-semibold",children:t("LLM Settings")}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{htmlFor:"llm-api-key",children:t("Anthropic API key")}),c.jsx(Pn,{id:"llm-api-key",type:"password",placeholder:"sk-ant-...",value:n.apiKey,onChange:d=>l({...n,apiKey:d.target.value})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{children:t("Model")}),a?c.jsxs("div",{className:"flex items-center gap-2 h-10 px-3 text-sm text-muted-foreground",children:[c.jsx(ao,{className:"size-4 animate-spin"}),t("Loading models...")]}):o.length>0?c.jsxs(Ju,{value:u,onValueChange:d=>l({...n,model:d}),children:[c.jsx(Gc,{children:c.jsx(ag,{})}),c.jsx(qc,{children:o.map(d=>c.jsx(jo,{value:d.id,children:d.display_name},d.id))})]}):c.jsx("div",{className:"flex items-center h-10 px-3 text-sm text-muted-foreground rounded-lg border border-input",children:n.apiKey?t("Enter a valid API key to load models"):t("Enter API key first")})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{htmlFor:"llm-system-prompt",children:t("Rewrite instructions")}),c.jsx(fv,{id:"llm-system-prompt",rows:6,placeholder:t("e.g. Rewrite the following note to be concise and clear. Preserve the original meaning and tone."),value:n.systemPrompt,onChange:d=>l({...n,systemPrompt:d.target.value})})]}),c.jsxs("div",{className:"flex items-center justify-between min-h-9",children:[c.jsx(_t,{htmlFor:"llm-auto-rewrite",className:"text-base font-normal",children:t("Auto-rewrite on publish")}),c.jsx(lr,{id:"llm-auto-rewrite",checked:n.autoRewrite,onCheckedChange:d=>l({...n,autoRewrite:d})})]}),c.jsxs("p",{className:"text-xs text-muted-foreground",children:[t("Only Anthropic Claude is supported.")," ",c.jsx("a",{href:"https://git.mleku.dev/mleku/smesh",target:"_blank",rel:"noopener noreferrer",className:"underline",children:t("Create an issue or PR for other APIs")})]})]})}const sye=h.createContext(void 0),p1t=()=>{const t=h.useContext(sye);if(!t)throw new Error("useMediaUploadService must be used within MediaUploadServiceProvider");return t};function h1t({children:t}){const{pubkey:e,isInitialized:n,startLogin:r}=wt(),[o,s]=h.useState(()=>Ze.getMediaUploadServiceConfig(e??void 0));h.useEffect(()=>{const i=Ze.getMediaUploadServiceConfig(e??void 0);s(i),lh.setServiceConfig(i)},[e,n]);const a=i=>{if(!e){r();return}s(i),Ze.setMediaUploadServiceConfig(e,i),lh.setServiceConfig(i),cr()};return c.jsx(sye.Provider,{value:{serviceConfig:o,updateServiceConfig:a},children:t})}function m1t(){const{t}=Ke(),{pubkey:e,publish:n}=wt(),[r,o]=h.useState(null),s=h.useMemo(()=>Eee(r?r.tags:[]),[r]),[a,i]=h.useState(""),[l,u]=h.useState(-1),[d,f]=h.useState(-1),[m,g]=h.useState(!1);h.useEffect(()=>{(async()=>{if(!e){o(null);return}const N=await Oe.fetchBlossomServerListEvent(e);o(N)})()},[e]);const w=async I=>{if(!(!I||m||l>=0||d>=0)){g(!0);try{const N=JI([...s,I]),M=await n(N);await Oe.updateBlossomServerListEventCache(M),o(M),i("")}catch(N){console.error("Failed to add Blossom URL:",N)}finally{g(!1)}}},b=I=>{if(I.key==="Enter"){I.preventDefault();const N=ry(a.trim());if(!N)return;w(N)}},j=async I=>{if(!(l>=0||m||d>=0)){u(I);try{const N=JI(s.filter((D,P)=>P!==I)),M=await n(N);await Oe.updateBlossomServerListEventCache(M),o(M)}catch(N){console.error("Failed to remove Blossom URL:",N)}finally{u(-1)}}},S=async I=>{if(!(l>=0||m||d>=0||I===0)){f(I);try{const N=[s[I],...s.filter((P,L)=>L!==I)],M=JI(N),D=await n(M);await Oe.updateBlossomServerListEventCache(D),o(D)}catch(N){console.error("Failed to move Blossom URL to top:",N)}finally{f(-1)}}};return c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-medium",children:t("Blossom server URLs")}),s.length===0&&c.jsxs("div",{className:"flex flex-col gap-1 text-sm border rounded-lg p-2 bg-muted text-muted-foreground",children:[c.jsxs("div",{className:"font-medium flex gap-2 items-center",children:[c.jsx(Vse,{className:"size-4"}),t("You need to add at least one media server in order to upload media files.")]}),c.jsx(ri,{className:"bg-muted-foreground my-2"}),c.jsxs("div",{className:"font-medium",children:[t("Recommended blossom servers"),":"]}),c.jsx("div",{className:"flex flex-col",children:hk.map(I=>c.jsx(Pe,{variant:"link",onClick:()=>w(I),disabled:l>=0||m||d>=0,className:"w-fit p-0 text-muted-foreground hover:text-foreground h-fit",children:I},I))})]}),s.map((I,N)=>c.jsxs("div",{className:Te("flex items-center justify-between gap-2 pl-3 pr-1 py-1 border rounded-lg",N===0&&"border-primary"),children:[c.jsx("a",{href:I,target:"_blank",rel:"noopener noreferrer",className:"truncate hover:underline",children:I}),c.jsxs("div",{className:"flex items-center gap-2",children:[N>0?c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>S(N),title:t("Move to top"),disabled:l>=0||m||d>=0,className:"text-muted-foreground",children:d===N?c.jsx(_r,{className:"animate-spin"}):c.jsx(u7e,{})}):c.jsx(Vl,{children:t("Preferred")}),c.jsx(Pe,{variant:"ghost-destructive",size:"icon",onClick:()=>j(N),title:t("Remove"),disabled:l>=0||m||d>=0,children:l===N?c.jsx(_r,{className:"animate-spin"}):c.jsx(ia,{})})]})]},I)),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pn,{value:a,onChange:I=>i(I.target.value),placeholder:t("Enter Blossom server URL"),onKeyDown:b}),c.jsxs(Pe,{type:"button",onClick:()=>{const I=ry(a.trim());I&&w(I)},title:t("Add"),children:[m&&c.jsx(_r,{className:"animate-spin"}),t("Add")]})]})]})}const l3="blossom";function aye(){const{t}=Ke(),{serviceConfig:e,updateServiceConfig:n}=p1t(),r=h.useMemo(()=>e.type==="blossom"?l3:e.service,[e]),o=s=>n(s===l3?{type:"blossom"}:{type:"nip96",service:s});return c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"media-upload-service-select",children:t("Media upload service")}),c.jsxs(Ju,{defaultValue:G3e,value:r,onValueChange:o,children:[c.jsx(Gc,{id:"media-upload-service-select",className:"w-48",children:c.jsx(ag,{})}),c.jsxs(qc,{children:[c.jsx(jo,{value:l3,children:t("Blossom")}),Y3e.map(s=>c.jsx(jo,{value:s,children:Aa(s)},s))]})]}),r===l3&&c.jsx(m1t,{})]})}function iye(){const{t}=Ke(),{defaultZapSats:e,updateDefaultSats:n}=zh(),[r,o]=h.useState(e);return c.jsxs("div",{className:"w-full space-y-1",children:[c.jsx(_t,{htmlFor:"default-zap-amount-input",children:t("Default zap amount")}),c.jsx("div",{className:"flex w-full items-center gap-2",children:c.jsx(Pn,{id:"default-zap-amount-input",value:r,onChange:s=>{o(a=>{if(s.target.value==="")return 0;let i=parseInt(s.target.value,10);return(isNaN(i)||i<0)&&(i=a),i})},onBlur:()=>{n(r)}})})]})}function lye(){const{t}=Ke(),{defaultZapComment:e,updateDefaultComment:n}=zh(),[r,o]=h.useState(e);return c.jsxs("div",{className:"w-full space-y-1",children:[c.jsx(_t,{htmlFor:"default-zap-comment-input",children:t("Default zap comment")}),c.jsx("div",{className:"flex w-full items-center gap-2",children:c.jsx(Pn,{id:"default-zap-comment-input",value:r,onChange:s=>o(s.target.value),onBlur:()=>{n(r)}})})]})}function cye(){const{t}=Ke(),{profile:e,profileEvent:n,publish:r,updateProfileEvent:o}=wt(),[s,a]=h.useState(""),[i,l]=h.useState(!1),[u,d]=h.useState(!1);if(h.useEffect(()=>{e&&a(e.lightningAddress||"")},[e]),!e||!n)return null;const f=async()=>{d(!0);const m=n?JSON.parse(n.content):{};if(s.startsWith("lnurl"))m.lud06=s;else if(oy(s))m.lud16=s;else if(s){on.error(t("Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.")),d(!1);return}else delete m.lud16;const g=ZT(JSON.stringify(m),n==null?void 0:n.tags),w=await r(g);await o(w),d(!1)};return c.jsxs("div",{className:"w-full space-y-1",children:[c.jsx(_t,{htmlFor:"ln-address",children:t("Lightning Address (or LNURL)")}),c.jsxs("div",{className:"flex w-full items-center gap-2",children:[c.jsx(Pn,{id:"ln-address",placeholder:"xxxxxxxx@xxx.xxx",value:s,onChange:m=>{a(m.target.value),l(!0)}}),c.jsx(Pe,{onClick:f,disabled:u||!i,className:"w-20",children:u?c.jsx(_r,{className:"animate-spin"}):t("Save")})]})]})}function uye(){const{t}=Ke(),{quickZap:e,updateQuickZap:n}=zh();return c.jsxs("div",{className:"w-full flex justify-between items-center",children:[c.jsxs(_t,{htmlFor:"quick-zap-switch",children:[c.jsx("div",{className:"text-base font-medium",children:t("Quick zap")}),c.jsx("div",{className:"text-muted-foreground text-sm",children:t("If enabled, you can zap with a single click. Click and hold for custom amounts")})]}),c.jsx(lr,{id:"quick-zap-switch",checked:e,onCheckedChange:n})]})}const g1t=[{key:"system",label:"System",icon:c.jsx(rae,{className:"size-5"})},{key:"light",label:"Light",icon:c.jsx(hae,{className:"size-5"})},{key:"dark",label:"Dark",icon:c.jsx(oae,{className:"size-5"})}],y1t=[{key:!1,label:"Two-column",icon:c.jsx(Zk,{className:"size-5"})},{key:!0,label:"Single-column",icon:c.jsx(Jk,{className:"size-5"})}],v1t=[{key:"detailed",label:"Detailed",icon:c.jsx(eae,{className:"size-5"})},{key:"compact",label:"Compact",icon:c.jsx(nae,{className:"size-5"})}],BQ=["general","appearance","relays","sync","wallet","posts","emoji-packs","messaging","system","tools"];function fye(){const{t,i18n:e}=Ke(),{pubkey:n,nsec:r,ncryptsec:o}=wt(),{isSmallScreen:s}=gn(),[a,i]=h.useState(!1),[l,u]=h.useState(!1),[d,f]=h.useState(""),[m,g]=h.useState(-1),w=h.useRef([]),{activeColumn:b,scrollToCenter:j}=ii(),{current:S}=$o(),I=n?BQ:BQ.filter(ze=>!["sync","wallet","posts","emoji-packs","messaging"].includes(ze)),N=h.useCallback(ze=>{switch(ze){case"up":return g(rt=>{const vt=rt<=0?0:rt-1;return setTimeout(()=>{const mt=w.current[vt];mt&&j(mt)},0),vt}),!0;case"down":return g(rt=>{const vt=rt<0?0:Math.min(rt+1,I.length-1);return setTimeout(()=>{const mt=w.current[vt];mt&&j(mt)},0),vt}),!0;case"activate":if(m>=0&&m<I.length){const rt=I[m];return f(vt=>vt===rt?"":rt),!0}return!1;case"cancel":return d?(f(""),!0):!1;default:return!1}},[m,d,I,j]);bFe("settings-accordion",100,()=>b===1&&S==="settings",N,[N,b,S]),h.useEffect(()=>{b!==1&&g(-1)},[b]);const M=h.useCallback(ze=>I.indexOf(ze),[I]),D=h.useCallback(ze=>m===M(ze),[m,M]),P=h.useCallback(ze=>rt=>{const vt=I.indexOf(ze);vt!==-1&&(w.current[vt]=rt)},[I]),[L,F]=h.useState(e.language),{autoplay:T,setAutoplay:R,nsfwDisplayPolicy:z,setNsfwDisplayPolicy:G,hideContentMentioningMutedUsers:Z,setHideContentMentioningMutedUsers:W,mediaAutoLoadPolicy:U,setMediaAutoLoadPolicy:ee,faviconUrlTemplate:$,setFaviconUrlTemplate:H}=Qr(),{hideUntrustedNotes:Y,updateHideUntrustedNotes:q,hideUntrustedInteractions:J,updateHideUntrustedInteractions:ne,hideUntrustedNotifications:re,updateHideUntrustedNotifications:de}=$s(),{quickReaction:Ee,updateQuickReaction:we,quickReactionEmoji:xe,updateQuickReactionEmoji:ce,enableSingleColumnLayout:pe,updateEnableSingleColumnLayout:he,autoInsertNewNotes:ke,updateAutoInsertNewNotes:le,notificationListStyle:ye,updateNotificationListStyle:ve}=ts(),{themeSetting:Ie,setThemeSetting:Ve,primaryColor:Qe,setPrimaryColor:nt}=vf(),{isWalletConnected:Ue,walletInfo:qe}=zh(),[_e,et]=h.useState("favorite-relays"),[pt,ht]=h.useState("my-packs"),[at,De]=h.useState(Ze.getFilterOutOnionRelays()),[se,K]=h.useState(Ze.getGraphQueriesEnabled()),[Q,ie]=h.useState(Ze.getPreferNip44()),[Se,Me]=h.useState(Ze.getAddClientTag()),[Ce,me]=h.useState(!1),We=h.useCallback(ze=>{ze.startsWith("nostr+walletconnect://")&&Yoe(ze)},[]),Xe=ze=>{e.changeLanguage(ze),F(ze)},Re=h.useCallback(ze=>{const rt=window.scrollY;f(ze),requestAnimationFrame(()=>{window.scrollTo(0,rt)})},[]);return c.jsxs("div",{children:[c.jsxs(x1e,{type:"single",collapsible:!0,value:d,onValueChange:Re,className:"w-full",children:[c.jsx(Ic,{ref:P("general"),isSelected:D("general"),children:c.jsxs(Js,{value:"general",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(sL,{className:"size-4"}),c.jsx("span",{children:t("General")})]})}),c.jsxs(ea,{className:"px-4 space-y-4",children:[c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"languages",className:"text-base font-normal",children:t("Languages")}),c.jsxs(Ju,{defaultValue:"en",value:L,onValueChange:Xe,children:[c.jsx(Gc,{id:"languages",className:"w-48",children:c.jsx(ag,{})}),c.jsx(qc,{children:Object.entries(zR).map(([ze,rt])=>c.jsx(jo,{value:ze,children:rt},ze))})]})]}),c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"media-auto-load-policy",className:"text-base font-normal",children:t("Auto-load media")}),c.jsxs(Ju,{defaultValue:"wifi-only",value:U,onValueChange:ze=>ee(ze),children:[c.jsx(Gc,{id:"media-auto-load-policy",className:"w-48",children:c.jsx(ag,{})}),c.jsxs(qc,{children:[c.jsx(jo,{value:Yu.ALWAYS,children:t("Always")}),Uee()&&c.jsx(jo,{value:Yu.WIFI_ONLY,children:t("Wi-Fi only")}),c.jsx(jo,{value:Yu.NEVER,children:t("Never")})]})]})]}),c.jsxs(us,{children:[c.jsxs(_t,{htmlFor:"autoplay",className:"text-base font-normal",children:[c.jsx("div",{children:t("Autoplay")}),c.jsx("div",{className:"text-muted-foreground",children:t("Enable video autoplay on this device")})]}),c.jsx(lr,{id:"autoplay",checked:T,onCheckedChange:R})]}),c.jsxs(us,{children:[c.jsxs(_t,{htmlFor:"auto-insert-new-notes",className:"text-base font-normal",children:[c.jsx("div",{children:t("Live feed")}),c.jsx("div",{className:"text-muted-foreground",children:t("Automatically insert new notes into the feed")})]}),c.jsx(lr,{id:"auto-insert-new-notes",checked:ke,onCheckedChange:le})]}),c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"hide-untrusted-notes",className:"text-base font-normal",children:t("Hide untrusted notes")}),c.jsx(lr,{id:"hide-untrusted-notes",checked:Y,onCheckedChange:q})]}),c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"hide-untrusted-interactions",className:"text-base font-normal",children:t("Hide untrusted interactions")}),c.jsx(lr,{id:"hide-untrusted-interactions",checked:J,onCheckedChange:ne})]}),c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"hide-untrusted-notifications",className:"text-base font-normal",children:t("Hide untrusted notifications")}),c.jsx(lr,{id:"hide-untrusted-notifications",checked:re,onCheckedChange:de})]}),c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"hide-content-mentioning-muted-users",className:"text-base font-normal",children:t("Hide content mentioning muted users")}),c.jsx(lr,{id:"hide-content-mentioning-muted-users",checked:Z,onCheckedChange:W})]}),c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"nsfw-display-policy",className:"text-base font-normal",children:t("NSFW content display")}),c.jsxs(Ju,{value:z,onValueChange:ze=>G(ze),children:[c.jsx(Gc,{id:"nsfw-display-policy",className:"w-48",children:c.jsx(ag,{})}),c.jsxs(qc,{children:[c.jsx(jo,{value:Ul.HIDE,children:t("Hide completely")}),c.jsx(jo,{value:Ul.HIDE_CONTENT,children:t("Show but hide content")}),c.jsx(jo,{value:Ul.SHOW,children:t("Show directly")})]})]})]}),c.jsxs(us,{children:[c.jsxs(_t,{htmlFor:"quick-reaction",className:"text-base font-normal",children:[c.jsx("div",{children:t("Quick reaction")}),c.jsx("div",{className:"text-muted-foreground",children:t("If enabled, you can react with a single click. Click and hold for more options")})]}),c.jsx(lr,{id:"quick-reaction",checked:Ee,onCheckedChange:we})]}),Ee&&c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"quick-reaction-emoji",className:"text-base font-normal",children:t("Quick reaction emoji")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>ce("+"),className:"text-muted-foreground hover:text-foreground",children:c.jsx(lae,{})}),c.jsx(Y7,{onEmojiClick:ze=>{ze&&ce(ze)},children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"border",children:c.jsx(Mi,{emoji:xe})})})]})]})]})]})}),c.jsx(Ic,{ref:P("appearance"),isSelected:D("appearance"),children:c.jsxs(Js,{value:"appearance",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(L7e,{className:"size-4"}),c.jsx("span",{children:t("Appearance")})]})}),c.jsxs(ea,{className:"px-4 space-y-4",children:[c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(_t,{className:"text-base",children:t("Theme")}),c.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 w-full",children:g1t.map(({key:ze,label:rt,icon:vt})=>c.jsx(c3,{isSelected:Ie===ze,icon:vt,label:t(rt),onClick:()=>Ve(ze)},ze))})]}),!s&&c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(_t,{className:"text-base",children:t("Layout")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:y1t.map(({key:ze,label:rt,icon:vt})=>c.jsx(c3,{isSelected:pe===ze,icon:vt,label:t(rt),onClick:()=>he(ze)},ze.toString()))})]}),c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(_t,{className:"text-base",children:t("Notification list style")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:v1t.map(({key:ze,label:rt,icon:vt})=>c.jsx(c3,{isSelected:ye===ze,icon:vt,label:t(rt),onClick:()=>ve(ze)},ze))})]}),c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(_t,{className:"text-base",children:t("Primary color")}),c.jsx("div",{className:"grid grid-cols-4 gap-4 w-full",children:Object.entries(gk).map(([ze,rt])=>c.jsx(c3,{isSelected:Qe===ze,icon:c.jsx("div",{className:"size-8 rounded-full shadow-md",style:{backgroundColor:`hsl(${rt.light.primary})`}}),label:t(rt.name),onClick:()=>nt(ze)},ze))})]})]})]})}),c.jsx(Ic,{ref:P("relays"),isSelected:D("relays"),children:c.jsxs(Js,{value:"relays",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(ei,{className:"size-4"}),c.jsx("span",{children:t("Relays")})]})}),c.jsx(ea,{className:"px-4",children:c.jsxs(Cx,{value:_e,onValueChange:et,className:"space-y-4",children:[c.jsxs(iv,{children:[c.jsx(ol,{value:"favorite-relays",children:t("Favorite Relays")}),c.jsx(ol,{value:"mailbox",children:t("Read & Write Relays")}),c.jsx(ol,{value:"cache-relays",children:t("Cache Relays")}),c.jsx(ol,{value:"outbox",children:t("Outbox")})]}),c.jsx(sl,{value:"favorite-relays",children:c.jsx(l0e,{})}),c.jsx(sl,{value:"mailbox",children:c.jsx(G0e,{})}),c.jsx(sl,{value:"cache-relays",children:c.jsx(hmt,{})}),c.jsx(sl,{value:"outbox",children:c.jsx(lgt,{})})]})})]})}),!!n&&c.jsx(Ic,{ref:P("sync"),isSelected:D("sync"),children:c.jsxs(Js,{value:"sync",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(Hl,{className:"size-4"}),c.jsx("span",{children:t("Device Sync")})]})}),c.jsx(ea,{className:"px-4",children:c.jsx(d1t,{})})]})}),!!n&&c.jsx(Ic,{ref:P("wallet"),isSelected:D("wallet"),children:c.jsxs(Js,{value:"wallet",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(lL,{className:"size-4"}),c.jsx("span",{children:t("Wallet")})]})}),c.jsx(ea,{className:"px-4 space-y-4",children:Ue?c.jsxs(c.Fragment,{children:[c.jsxs("div",{children:[(qe==null?void 0:qe.node.alias)&&c.jsxs("div",{className:"mb-2",children:[t("Connected to")," ",c.jsx("strong",{children:qe.node.alias})]}),c.jsxs(cf,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Pe,{variant:"destructive",children:t("Disconnect Wallet")})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Are you absolutely sure?")}),c.jsx(au,{children:t("You will not be able to send zaps to others.")})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:t("Cancel")}),c.jsx(uf,{variant:"destructive",onClick:()=>Goe(),children:t("Disconnect")})]})]})]})]}),c.jsx(iye,{}),c.jsx(lye,{}),c.jsx(uye,{}),c.jsx(cye,{})]}):c.jsxs(c.Fragment,{children:[Ce&&c.jsx(cx,{onScan:We,onClose:()=>me(!1)}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pe,{className:"bg-foreground hover:bg-foreground/90",onClick:()=>UD(),children:t("Connect Wallet")}),c.jsx(Pe,{variant:"outline",size:"icon",onClick:()=>me(!0),title:t("Scan NWC QR code"),children:c.jsx(CS,{className:"h-4 w-4"})})]})]})})]})}),!!n&&c.jsx(Ic,{ref:P("posts"),isSelected:D("posts"),children:c.jsxs(Js,{value:"posts",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(r2,{className:"size-4"}),c.jsx("span",{children:t("Post settings")})]})}),c.jsxs(ea,{className:"px-4 space-y-4",children:[c.jsx(aye,{}),c.jsx(oye,{}),c.jsxs(us,{children:[c.jsxs("div",{children:[c.jsx(_t,{htmlFor:"add-client-tag",className:"text-base font-normal",children:t("Include client tag")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Add a tag to identify posts as coming from smesh")})]}),c.jsx(lr,{id:"add-client-tag",checked:Se,onCheckedChange:ze=>{Ze.setAddClientTag(ze),Me(ze),cr()}})]})]})]})}),!!n&&c.jsx(Ic,{ref:P("emoji-packs"),isSelected:D("emoji-packs"),children:c.jsxs(Js,{value:"emoji-packs",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(pae,{className:"size-4"}),c.jsx("span",{children:t("Emoji Packs")})]})}),c.jsxs(ea,{className:"px-4",children:[c.jsx(Dx,{value:pt,tabs:[{value:"my-packs",label:"My Packs"},{value:"explore",label:"Explore"}],onTabChange:ze=>ht(ze)}),pt==="my-packs"?c.jsx(P1e,{}):c.jsx(a1,{showKinds:[$e.Emojisets],subRequests:[{urls:Oe.currentRelays,filter:{}}],hideUntrustedNotes:Y})]})]})}),!!n&&c.jsx(Ic,{ref:P("messaging"),isSelected:D("messaging"),children:c.jsxs(Js,{value:"messaging",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(sf,{className:"size-4"}),c.jsx("span",{children:t("Messaging")})]})}),c.jsx(ea,{className:"px-4 space-y-4",children:c.jsxs(us,{children:[c.jsxs(_t,{htmlFor:"prefer-nip44",className:"text-base font-normal",children:[c.jsx("div",{children:t("Prefer NIP-44 encryption")}),c.jsx("div",{className:"text-muted-foreground text-sm",children:t("Use modern encryption for new conversations")})]}),c.jsx(lr,{id:"prefer-nip44",checked:Q,onCheckedChange:ze=>{Ze.setPreferNip44(ze),ie(ze),cr()}})]})})]})}),c.jsx(Ic,{ref:P("system"),isSelected:D("system"),children:c.jsxs(Js,{value:"system",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(w7e,{className:"size-4"}),c.jsx("span",{children:t("System")})]})}),c.jsxs(ea,{className:"px-4 space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"favicon-url",className:"text-base font-normal",children:t("Favicon URL")}),c.jsx(Pn,{id:"favicon-url",type:"text",value:$,onChange:ze=>H(ze.target.value),placeholder:mk})]}),c.jsxs(us,{children:[c.jsx(_t,{htmlFor:"filter-out-onion-relays",className:"text-base font-normal",children:t("Filter out onion relays")}),c.jsx(lr,{id:"filter-out-onion-relays",checked:at,onCheckedChange:ze=>{Ze.setFilterOutOnionRelays(ze),De(ze),cr()}})]}),c.jsxs(us,{children:[c.jsxs("div",{children:[c.jsx(_t,{htmlFor:"graph-queries-enabled",className:"text-base font-normal",children:t("Graph query optimization")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Use graph queries for faster follow/thread loading on supported relays")})]}),c.jsx(lr,{id:"graph-queries-enabled",checked:se,onCheckedChange:ze=>{Ze.setGraphQueriesEnabled(ze),K(ze),cr()}})]})]})]})}),c.jsx(Ic,{ref:P("tools"),isSelected:D("tools"),children:c.jsxs(Js,{value:"tools",children:[c.jsx(Xs,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(nPe,{className:"size-4"}),c.jsx("span",{children:t("Tools")})]})}),c.jsx(ea,{className:"px-4 space-y-4",children:c.jsxs("div",{className:"space-y-2",children:[c.jsx("h4",{className:"font-medium",children:t("Relay Discovery")}),c.jsx(vpt,{})]})})]})})]}),!!r&&c.jsxs(us,{className:"clickable",onClick:()=>{navigator.clipboard.writeText(r),i(!0),setTimeout(()=>i(!1),2e3)},children:[c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(uY,{}),c.jsxs("div",{children:[t("Copy private key")," (nsec)"]})]}),a?c.jsx(Zr,{}):c.jsx(La,{})]}),!!o&&c.jsxs(us,{className:"clickable",onClick:()=>{navigator.clipboard.writeText(o),u(!0),setTimeout(()=>u(!1),2e3)},children:[c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(uY,{}),c.jsxs("div",{children:[t("Copy private key")," (ncryptsec)"]})]}),l?c.jsx(Zr,{}):c.jsx(La,{})]}),c.jsx(mpt,{children:c.jsxs(us,{className:"clickable",children:[c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(rL,{}),c.jsx("div",{children:t("About")})]}),c.jsx("div",{className:"flex gap-2 items-center",children:c.jsxs("div",{className:"text-muted-foreground",children:["v","0.6.10"," (","351c1343",")"]})})]})}),c.jsx("div",{className:"p-4",children:c.jsx(ypt,{})})]})}const us=h.forwardRef(({children:t,className:e,...n},r)=>c.jsx("div",{className:Te("flex justify-between select-none items-center px-4 min-h-9 [&_svg]:size-4 [&_svg]:shrink-0",e),...n,ref:r,children:t}));us.displayName="SettingItem";const c3=({isSelected:t,onClick:e,icon:n,label:r})=>c.jsxs("button",{onClick:e,className:Te("flex flex-col items-center gap-2 py-4 rounded-lg border-2 transition-all",t?"border-primary":"border-border hover:border-muted-foreground/40"),children:[c.jsx("div",{className:"flex items-center justify-center w-8 h-8",children:n}),c.jsx("span",{className:"text-xs font-medium",children:r})]}),Ic=h.forwardRef(({isSelected:t,children:e},n)=>c.jsx("div",{ref:n,className:Te("rounded-lg transition-all",t&&"ring-2 ring-primary ring-offset-2 ring-offset-background"),children:e}));Ic.displayName="NavigableAccordionItem";const dye=h.forwardRef((t,e)=>c.jsx(Ql,{pageName:"settings",ref:e,titlebar:c.jsx(w1t,{}),displayScrollToTopButton:!0,children:c.jsx(fye,{})}));dye.displayName="SettingsPage";function w1t(){const{t}=Ke();return c.jsxs("div",{className:"flex gap-2 items-center h-full pl-3",children:[c.jsx(Ch,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Settings")})]})}const pye=[{key:"home",component:A1e},{key:"inbox",component:wR},{key:"notifications",component:M1e},{key:"me",component:C1e},{key:"profile",component:R1e},{key:"relay",component:D1e},{key:"search",component:L1e},{key:"bookmark",component:e1e},{key:"settings",component:dye},{key:"help",component:j1e},{key:"chat",component:wR}],hye=pye.reduce((t,{key:e})=>(t[e]=h.createRef(),t),{}),UQ=pye.reduce((t,{key:e,component:n})=>(t[e]=c.jsx(n,{ref:hye[e]}),t),{}),mye=h.forwardRef(({channelId:t},e)=>{const n=h.useRef(null),{selectChannelById:r}=hc(),{pop:o}=Cn();h.useImperativeHandle(e,()=>n.current),h.useEffect(()=>{t&&r(t)},[t,r]),h.useEffect(()=>()=>{r(null)},[]);const s=()=>{r(null),o()};return c.jsxs("div",{className:"flex flex-col h-[var(--vh)]",children:[c.jsx(N2,{className:"p-1 shrink-0",hideBottomBorder:!0,children:c.jsx("div",{className:"flex items-center w-full px-1",children:c.jsx(Pe,{className:"flex gap-1 items-center justify-start pl-2 pr-1",variant:"ghost",size:"titlebar-icon",title:"Back to channels",onClick:s,children:c.jsx(vS,{})})})}),c.jsx("div",{className:"flex-1 min-h-0",children:c.jsx(t1e,{})})]})});mye.displayName="ChatChannelPage";const wr=h.forwardRef(({children:t,index:e,title:n,controls:r,hideBackButton:o=!1,hideTitlebarBottomBorder:s=!1,displayScrollToTopButton:a=!1,titlebar:i},l)=>{const u=h.useRef(null),{enableSingleColumnLayout:d}=ts(),{currentIndex:f}=Cn();return h.useImperativeHandle(l,()=>({scrollToTop:(m="smooth")=>{setTimeout(()=>{if(u.current)return u.current.scrollTo({top:0,behavior:m});window.scrollTo({top:0,behavior:m})},10)}}),[]),h.useEffect(()=>{if(d){setTimeout(()=>window.scrollTo({top:0}),10);return}},[]),d?c.jsxs(Hj,{active:f===e,children:[c.jsxs("div",{style:{paddingBottom:"env(safe-area-inset-bottom)"},children:[c.jsx($Q,{title:n,controls:r,hideBackButton:o,hideBottomBorder:s,titlebar:i}),t]}),a&&c.jsx(Gj,{})]}):c.jsxs(Hj,{active:f===e,scrollAreaRef:u,children:[c.jsxs(Fa,{className:"h-full overflow-auto",scrollBarClassName:"z-30 pt-12",ref:u,children:[c.jsx($Q,{title:n,controls:r,hideBackButton:o,hideBottomBorder:s,titlebar:i}),t,c.jsx("div",{className:"h-4"})]}),a&&c.jsx(Gj,{scrollAreaRef:u})]})});wr.displayName="SecondaryPageLayout";function $Q({title:t,controls:e,hideBackButton:n=!1,hideBottomBorder:r=!1,titlebar:o}){return o?c.jsx(N2,{className:"p-1",hideBottomBorder:r,children:o}):c.jsxs(N2,{className:"flex gap-1 p-1 items-center justify-between font-semibold",hideBottomBorder:r,children:[n?c.jsx("div",{className:"flex gap-2 items-center pl-3 w-fit truncate text-lg font-semibold",children:t}):c.jsx("div",{className:"flex items-center flex-1 w-0",children:c.jsx(b1t,{children:t})}),c.jsx("div",{className:"flex-shrink-0",children:e})]})}function b1t({children:t}){const{t:e}=Ke(),{pop:n}=Cn();return c.jsxs(Pe,{className:"flex gap-1 items-center w-fit max-w-full justify-start pl-2 pr-3",variant:"ghost",size:"titlebar-icon",title:e("back"),onClick:()=>n(),children:[c.jsx(vS,{}),c.jsx("div",{className:"truncate text-lg font-semibold",children:t})]})}const x1t=[{key:"system",label:"System",icon:c.jsx(rae,{className:"size-5"})},{key:"light",label:"Light",icon:c.jsx(hae,{className:"size-5"})},{key:"dark",label:"Dark",icon:c.jsx(oae,{className:"size-5"})}],k1t=[{key:!1,label:"Two-column",icon:c.jsx(Zk,{className:"size-5"})},{key:!0,label:"Single-column",icon:c.jsx(Jk,{className:"size-5"})}],j1t=[{key:"detailed",label:"Detailed",icon:c.jsx(eae,{className:"size-5"})},{key:"compact",label:"Compact",icon:c.jsx(nae,{className:"size-5"})}],gye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{isSmallScreen:r}=gn(),{themeSetting:o,setThemeSetting:s,primaryColor:a,setPrimaryColor:i}=vf(),{enableSingleColumnLayout:l,updateEnableSingleColumnLayout:u,notificationListStyle:d,updateNotificationListStyle:f}=ts();return c.jsx(wr,{ref:e,index:t,title:n("Appearance"),children:c.jsxs("div",{className:"space-y-4 my-3",children:[c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(_t,{className:"text-base",children:n("Theme")}),c.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 w-full",children:x1t.map(({key:m,label:g,icon:w})=>c.jsx(u3,{isSelected:o===m,icon:w,label:n(g),onClick:()=>s(m)},m))})]}),!r&&c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(_t,{className:"text-base",children:n("Layout")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:k1t.map(({key:m,label:g,icon:w})=>c.jsx(u3,{isSelected:l===m,icon:w,label:n(g),onClick:()=>u(m)},m.toString()))})]}),c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(_t,{className:"text-base",children:n("Notification list style")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:j1t.map(({key:m,label:g,icon:w})=>c.jsx(u3,{isSelected:d===m,icon:w,label:n(g),onClick:()=>f(m)},m))})]}),c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(_t,{className:"text-base",children:n("Primary color")}),c.jsx("div",{className:"grid grid-cols-4 gap-4 w-full",children:Object.entries(gk).map(([m,g])=>c.jsx(u3,{isSelected:a===m,icon:c.jsx("div",{className:"size-8 rounded-full shadow-md",style:{backgroundColor:`hsl(${g.light.primary})`}}),label:n(g.name),onClick:()=>i(m)},m))})]})]})})});gye.displayName="AppearanceSettingsPage";const u3=({isSelected:t,onClick:e,icon:n,label:r})=>c.jsxs("button",{onClick:e,className:Te("flex flex-col items-center gap-2 py-4 rounded-lg border-2 transition-all",t?"border-primary":"border-border hover:border-muted-foreground/40"),children:[c.jsx("div",{className:"flex items-center justify-center w-8 h-8",children:n}),c.jsx("span",{className:"text-xs font-medium",children:r})]}),yye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke();return c.jsx(wr,{index:t,title:n("Bookmarks"),displayScrollToTopButton:!0,ref:e,children:c.jsx(Xge,{})})});yye.displayName="BookmarkPage";function C1t(){const{t}=Ke(),{sendMessage:e,currentConversation:n}=kd(),{relayList:r}=wt(),[o,s]=h.useState(""),[a,i]=h.useState(!1),[l,u]=h.useState(null),[d,f]=h.useState(!1),[m,g]=h.useState(new Set),w=h.useRef(null),b=h.useMemo(()=>(r==null?void 0:r.write)||[],[r]);h.useEffect(()=>{b.length>0&&m.size===0&&g(new Set(b))},[b]),h.useEffect(()=>{if(n&&!uu()){const D=setTimeout(()=>{var P;return(P=w.current)==null?void 0:P.focus()},100);return()=>clearTimeout(D)}},[n]);const j=h.useCallback(()=>{const D=w.current;if(!D)return;D.style.height="auto";const P=window.innerHeight*.5;D.style.height=`${Math.min(D.scrollHeight,P)}px`,D.style.overflowY=D.scrollHeight>P?"auto":"hidden"},[]),S=D=>{g(P=>{const L=new Set(P);return L.has(D)?L.size>1&&L.delete(D):L.add(D),L})},I=async()=>{if(!(!o.trim()||!n||a)){i(!0),u(null);try{const D=Array.from(m);await e(o.trim(),D.length>0?D:void 0),s(""),w.current&&(w.current.style.height="auto",w.current.style.overflowY="hidden",w.current.focus())}catch(D){console.error("Failed to send message:",D),u(D instanceof Error?D.message:t("Failed to send message"))}finally{i(!1)}}},N=D=>{D.key==="Enter"&&(D.ctrlKey||D.metaKey)&&(D.preventDefault(),I())},M=D=>D.replace(/^wss?:\/\//,"").replace(/\/$/,"");return c.jsxs("div",{className:"p-3 space-y-2",children:[l&&c.jsxs("div",{className:"flex items-center gap-2 text-destructive text-xs",children:[c.jsx(Vse,{className:"size-3 flex-shrink-0"}),c.jsx("span",{children:l})]}),b.length>0&&c.jsxs("div",{className:"space-y-1",children:[c.jsxs("button",{onClick:()=>f(!d),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[d?c.jsx(wd,{className:"size-3"}):c.jsx(ic,{className:"size-3"}),c.jsxs("span",{children:[t("Relays")," (",m.size,"/",b.length,")"]})]}),d&&c.jsx("div",{className:"flex flex-wrap gap-1",children:b.map(D=>c.jsx("button",{onClick:()=>S(D),className:Te("text-xs px-2 py-0.5 rounded-full border transition-colors",m.has(D)?"bg-primary text-primary-foreground border-primary":"bg-muted text-muted-foreground border-muted hover:border-primary/50"),title:D,children:M(D)},D))})]}),c.jsxs("div",{className:"flex items-end gap-2",children:[c.jsx(fv,{ref:w,value:o,onChange:D=>{s(D.target.value),l&&u(null),j()},onKeyDown:N,placeholder:t("Type a message..."),className:"min-h-[40px] resize-none overflow-hidden",disabled:a||!n}),c.jsx(Pe,{onClick:I,disabled:!o.trim()||a||!n,size:"icon",className:"flex-shrink-0",children:a?c.jsx(ao,{className:"size-4 animate-spin"}):c.jsx(cae,{className:"size-4"})})]})]})}function S1t({content:t,className:e,isOwnMessage:n}){const{push:r}=Cn(),o=h.useMemo(()=>qg(t,[$S,ux,tv]),[t]),s=Te("underline cursor-pointer hover:opacity-80",n?"text-primary-foreground":"text-primary");return c.jsx("span",{className:Te("whitespace-pre-wrap break-words",e),children:o.map((a,i)=>{if(a.type==="text")return a.data;if(a.type==="url"||a.type==="image"||a.type==="media"){const l=a.data;return c.jsx("a",{href:l,target:"_blank",rel:"noreferrer",className:s,onClick:u=>u.stopPropagation(),children:kb(l)},i)}if(a.type==="youtube"||a.type==="x-post"){const l=a.data;return c.jsx("a",{href:l,target:"_blank",rel:"noreferrer",className:s,onClick:u=>u.stopPropagation(),children:kb(l)},i)}if(a.type==="mention"){const l=a.data.replace("nostr:","");return c.jsxs("button",{className:s,onClick:u=>{u.stopPropagation(),r(xf(l))},children:["@",l.slice(0,12),"..."]},i)}if(a.type==="event"){const l=a.data.replace("nostr:",""),d=l.startsWith("note1")?"note":l.startsWith("nevent")?"nevent":"naddr";return c.jsxs("button",{className:s,onClick:f=>{f.stopPropagation(),r(vl(l))},children:[d,":",l.slice(d.length,d.length+8),"..."]},i)}return null})})}function E1t({message:t,open:e,onOpenChange:n,onRelaysUpdated:r}){const{t:o}=Ke(),[s,a]=h.useState(!1),[i,l]=h.useState([]);if(!t)return null;const u=[...t.seenOnRelays||[],...i],d=[...new Set(u)],f=async()=>{a(!0);try{const g=await Ac.checkOtherRelaysForEvent(t.id,d);if(g.length>0){const w=[...i,...g];l(w),r==null||r([...t.seenOnRelays||[],...w])}}catch(g){console.error("Failed to check other relays:",g)}finally{a(!1)}},m=g=>{try{const w=new URL(g);return w.hostname+(w.pathname!=="/"?w.pathname:"")}catch{return g}};return c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(gs,{className:"max-w-sm",children:[c.jsx(Za,{children:c.jsxs(Qa,{className:"flex items-center gap-2",children:[c.jsx(ei,{className:"size-4"}),o("Message Info")]})}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:o("Encryption")}),c.jsx("p",{className:"text-sm mt-1",children:t.encryptionType==="nip17"?"NIP-44 (Gift Wrap)":"NIP-04 (Legacy)"})]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:o("Seen on relays")}),d.length>0?c.jsx("ul",{className:"mt-1 space-y-1",children:d.map(g=>c.jsx("li",{className:"text-sm font-mono bg-muted px-2 py-1 rounded truncate",title:g,children:m(g)},g))}):c.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:o("No relay information available")})]}),c.jsx(Pe,{variant:"outline",size:"sm",className:"w-full",onClick:f,disabled:s,children:s?c.jsxs(c.Fragment,{children:[c.jsx(ao,{className:"size-4 mr-2 animate-spin"}),o("Checking...")]}):c.jsxs(c.Fragment,{children:[c.jsx(Hl,{className:"size-4 mr-2"}),o("Check for other relays")]})})]})]})})}function vye({partnerPubkey:t,open:e,onOpenChange:n,selectedRelays:r,onSelectedRelaysChange:o}){const{t:s}=Ke(),{pubkey:a,relayList:i,hasNip44Support:l}=wt(),[u,d]=h.useState(null),[f,m]=h.useState(!1),[g,w]=h.useState([]),[b,j]=h.useState("auto");h.useEffect(()=>{if(!e||!t)return;(async()=>{m(!0);try{const L=await Oe.fetchRelayList(t);d(L)}catch(L){console.error("Failed to fetch partner relay list:",L)}finally{m(!1)}})()},[e,t]),h.useEffect(()=>{if(!e||!t||!a)return;(async()=>{const L=await At.getConversationEncryptionPreference(a,t);j(L||"auto")})()},[e,t,a]);const S=async P=>{j(P),a&&t&&await At.putConversationEncryptionPreference(a,t,P)};h.useEffect(()=>{if(!i||!u)return;const P=new Set(i.write.map(R=>R.replace(/\/$/,""))),L=new Set(u.read.map(R=>R.replace(/\/$/,""))),F=new Set;i.write.forEach(R=>F.add(R.replace(/\/$/,""))),u.read.forEach(R=>F.add(R.replace(/\/$/,"")));const T=Array.from(F).map(R=>{const z=R.replace(/\/$/,""),G=P.has(z),Z=L.has(z);return{url:R,isYours:G,isTheirs:Z,isShared:G&&Z}});if(T.sort((R,z)=>R.isShared&&!z.isShared?-1:!R.isShared&&z.isShared?1:R.isYours&&!z.isYours?-1:!R.isYours&&z.isYours?1:R.url.localeCompare(z.url)),w(T),r.length===0){const R=T.filter(z=>z.isShared).map(z=>z.url);R.length>0&&o(R)}},[i,u]);const I=P=>{r.includes(P)?o(r.filter(L=>L!==P)):o([...r,P])},N=()=>{const P=g.filter(L=>L.isShared).map(L=>L.url);o(P)},M=()=>{o(g.map(P=>P.url))},D=P=>{try{const L=new URL(P);return L.hostname+(L.pathname!=="/"?L.pathname:"")}catch{return P}};return!t||!a?null:c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(gs,{className:"max-w-md max-h-[80vh] flex flex-col",children:[c.jsx(Za,{children:c.jsx(Qa,{children:s("Conversation Settings")})}),c.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col gap-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{className:"text-sm font-medium",children:s("Encryption")}),c.jsxs(B7,{value:b,onValueChange:P=>S(P),className:"grid grid-cols-3 gap-2",children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(nb,{value:"auto",id:"enc-auto"}),c.jsxs(_t,{htmlFor:"enc-auto",className:"flex items-center gap-1 text-xs cursor-pointer",children:[c.jsx(lc,{className:"size-3"}),s("Auto")]})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(nb,{value:"nip04",id:"enc-nip04"}),c.jsxs(_t,{htmlFor:"enc-nip04",className:"flex items-center gap-1 text-xs cursor-pointer",children:[c.jsx(xS,{className:"size-3"}),"NIP-04"]})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(nb,{value:"nip17",id:"enc-nip17",disabled:!l}),c.jsxs(_t,{htmlFor:"enc-nip17",className:`flex items-center gap-1 text-xs cursor-pointer ${l?"":"opacity-50"}`,children:[c.jsx(uh,{className:"size-3"}),"NIP-17"]})]})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:s(b==="auto"?"Matches existing conversation encryption, or sends both on first message":b==="nip04"?"Classic encryption (NIP-04) - compatible with all clients":"Modern encryption (NIP-17) - more private with metadata protection")})]}),c.jsx("div",{className:"border-t pt-4",children:c.jsx(_t,{className:"text-sm font-medium",children:s("Relays")})}),c.jsxs("div",{className:"flex flex-wrap gap-3 text-xs text-muted-foreground",children:[c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(T8,{className:"size-3"}),c.jsx("span",{children:s("You")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Cg,{className:"size-3"}),c.jsx("span",{children:s("Them")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("div",{className:"size-3 rounded bg-green-500/20 border border-green-500/50"}),c.jsx("span",{children:s("Shared")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Zr,{className:"size-3"}),c.jsx("span",{children:s("Selected for sending")})]})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pe,{variant:"outline",size:"sm",onClick:N,children:s("Select shared")}),c.jsx(Pe,{variant:"outline",size:"sm",onClick:M,children:s("Select all")})]}),c.jsx("div",{className:"flex-1 overflow-y-auto space-y-1 min-h-0",children:f?c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx(ao,{className:"size-6 animate-spin text-muted-foreground"})}):g.length===0?c.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:s("No relay information available")}):g.map(P=>c.jsxs("div",{className:`flex items-center gap-2 p-2 rounded-lg cursor-pointer hover:bg-accent/50 transition-colors ${P.isShared?"bg-green-500/10 border border-green-500/30":"bg-muted/50"}`,onClick:()=>I(P.url),children:[c.jsx(Lx,{checked:r.includes(P.url),onCheckedChange:()=>I(P.url)}),c.jsx("div",{className:"flex-1 min-w-0",children:c.jsx("span",{className:"text-sm font-mono truncate block",title:P.url,children:D(P.url)})}),c.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[P.isYours&&c.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-600 dark:text-blue-400",title:s("Your write relay"),children:c.jsx(T8,{className:"size-3"})}),P.isTheirs&&c.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-purple-500/20 text-purple-600 dark:text-purple-400",title:s("Their read relay"),children:c.jsx(Cg,{className:"size-3"})})]})]},P.url))}),c.jsx("p",{className:"text-xs text-muted-foreground",children:s("Selected relays will be used when sending new messages in this conversation.")})]})]})})}function N1t({onBack:t,hideHeader:e}){const{t:n}=Ke(),{pubkey:r}=wt(),{currentConversation:o,messages:s,isLoadingConversation:a,isNewConversation:i,clearNewConversationFlag:l,reloadConversation:u,selectedMessages:d,isSelectionMode:f,toggleMessageSelection:m,clearSelection:g,deleteSelectedMessages:w,deleteAllInConversation:b,undeleteAllInConversation:j}=kd(),{followingSet:S}=Gg(),[I,N]=h.useState(null),M=h.useRef(null),[D,P]=h.useState(null),[L,F]=h.useState(!1),[T,R]=h.useState(!1),[z,G]=h.useState([]),[Z,W]=h.useState(!1),[U,ee]=h.useState(!1),[$,H]=h.useState(0),Y=h.useRef(0),q=h.useRef(!0),[J,ne]=h.useState(20),re=20,de=o?S.has(o):!1,Ee=s.length>J,we=Ee?s.slice(-J):s,xe=()=>{ne(ye=>ye+re)};h.useEffect(()=>{ne(20)},[o]),h.useEffect(()=>{if(i){W(!0);const ye=setTimeout(()=>{W(!1),l()},1e4);return()=>clearTimeout(ye)}},[i,l]),h.useEffect(()=>{if(!o)return;(async()=>{try{const ve=await Oe.fetchProfile(o);ve&&N(ve)}catch(ve){console.error("Failed to fetch profile:",ve)}})()},[o]),h.useEffect(()=>{if(!o||!r)return;(async()=>{const ve=await At.getConversationRelaySettings(r,o);G(ve||[])})()},[o,r]);const ce=async ye=>{G(ye),r&&o&&await At.putConversationRelaySettings(r,o,ye)},pe=()=>{if(!M.current)return;const{scrollTop:ye,scrollHeight:ve,clientHeight:Ie}=M.current,Qe=ve-ye-Ie<100;q.current=Qe,ee(!Qe),Qe&&(H(0),Y.current=s.length)};h.useEffect(()=>{!q.current&&s.length>Y.current?H(s.length-Y.current):q.current&&(Y.current=s.length)},[s.length]),h.useEffect(()=>{M.current&&q.current&&(M.current.scrollTop=M.current.scrollHeight,Y.current=s.length)},[s]);const he=()=>{M.current&&(M.current.scrollTo({top:M.current.scrollHeight,behavior:"smooth"}),H(0),Y.current=s.length,q.current=!0,ee(!1))};h.useEffect(()=>{q.current=!0,ee(!1),H(0),Y.current=0},[o]);const ke=s.length>0;if(h.useEffect(()=>{o&&ke&&M.current&&requestAnimationFrame(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight,Y.current=s.length)})},[o,ke]),!o||!r)return null;const le=(I==null?void 0:I.username)||o.slice(0,8)+"...";return c.jsxs("div",{className:"flex flex-col h-full",children:[(!e||f)&&c.jsx("div",{className:"flex items-center gap-3 p-3 border-b",children:f?c.jsxs(c.Fragment,{children:[c.jsx(Pe,{variant:"ghost",size:"icon",onClick:g,className:"size-8",title:n("Cancel"),children:c.jsx(ia,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(af,{className:"size-4 text-destructive"}),c.jsx("span",{className:"font-medium text-sm",children:n("Delete")})]}),c.jsx("div",{className:"flex-1"}),c.jsxs(Pe,{variant:"outline",size:"sm",onClick:w,disabled:d.size===0,className:"text-xs",children:[n("Selected")," (",d.size,")"]}),c.jsx(Pe,{variant:"destructive",size:"sm",onClick:b,className:"text-xs",children:n("All")})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ro,{userId:o,className:"size-8"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"font-medium text-sm truncate",children:le}),de&&c.jsx("span",{title:"Following",children:c.jsx(Cg,{className:"size-3 text-primary"})})]}),(I==null?void 0:I.nip05)&&c.jsx("span",{className:"text-xs text-muted-foreground truncate",children:I.nip05})]}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",title:n("Reload messages"),onClick:u,disabled:a,children:c.jsx(Hl,{className:Te("size-4",a&&"animate-spin")})}),c.jsx(Pe,{variant:"ghost",size:"icon",className:Te("size-8",Z&&"animate-pulse ring-2 ring-primary ring-offset-2"),title:n("Conversation settings"),onClick:()=>{W(!1),l(),R(!0)},children:c.jsx(Ch,{className:"size-4"})}),c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",children:c.jsx(wS,{className:"size-4"})})}),c.jsxs(ci,{align:"end",children:[c.jsxs(Er,{onClick:b,className:"text-destructive focus:text-destructive",children:[c.jsx(af,{className:"size-4 mr-2"}),n("Delete All")]}),c.jsxs(Er,{onClick:j,children:[c.jsx(iL,{className:"size-4 mr-2"}),n("Undelete All")]})]})]}),t&&c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",title:n("Close conversation"),onClick:t,children:c.jsx(ia,{className:"size-4"})})]})}),c.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[c.jsx(Fa,{ref:M,className:"h-full p-3",onScrollCapture:pe,children:a&&s.length===0?c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsx(ao,{className:"size-6 animate-spin text-muted-foreground"})}):s.length===0?c.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:c.jsx("p",{className:"text-sm",children:n("No messages yet. Send one to start the conversation!")})}):c.jsxs("div",{className:"space-y-3",children:[Ee&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsxs(Pe,{variant:"ghost",size:"sm",onClick:xe,className:"text-xs text-muted-foreground",children:[c.jsx(wd,{className:"size-4 mr-1"}),n("Load older messages")," (",s.length-J," more)"]})}),a&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsx(ao,{className:"size-4 animate-spin text-muted-foreground"})}),we.map(ye=>{const ve=ye.senderPubkey===r,Ie=d.has(ye.id);return c.jsxs("div",{className:Te("flex items-start gap-2 group",ve?"flex-row-reverse":"flex-row"),children:[c.jsx("div",{className:Te("flex-shrink-0 transition-opacity",f||Ie?"opacity-100":"opacity-0 group-hover:opacity-100"),children:c.jsx(Lx,{checked:Ie,onCheckedChange:()=>m(ye.id),className:"mt-2"})}),c.jsxs("div",{className:Te("max-w-[80%] rounded-lg px-3 py-2",ve?"bg-primary text-primary-foreground":"bg-muted",Ie&&"ring-2 ring-primary ring-offset-2"),children:[c.jsx(S1t,{content:ye.content,className:"text-sm",isOwnMessage:ve}),c.jsxs("div",{className:Te("flex items-center justify-between gap-2 mt-1 text-xs",ve?"text-primary-foreground/70":"text-muted-foreground"),children:[c.jsx("span",{children:n1e(ye.createdAt)}),c.jsx("button",{onClick:()=>{P(ye),F(!0)},className:Te("font-mono opacity-60 hover:opacity-100 transition-opacity",ve?"hover:text-primary-foreground":"hover:text-foreground"),title:n("Message info"),children:ye.encryptionType==="nip17"?"44":"4"})]})]})]},ye.id)})]})}),U&&c.jsxs(Pe,{onClick:he,className:"absolute bottom-4 right-4 rounded-full shadow-lg size-10 p-0",size:"icon",children:[c.jsx(ic,{className:"size-5"}),$>0&&c.jsx("span",{className:"absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full min-w-5 h-5 flex items-center justify-center text-xs font-medium px-1",children:$>99?"99+":$})]})]}),c.jsx("div",{className:"border-t",children:c.jsx(C1t,{})}),c.jsx(E1t,{message:D,open:L,onOpenChange:F}),c.jsx(vye,{partnerPubkey:o,open:T,onOpenChange:R,selectedRelays:z,onSelectedRelaysChange:ce})]})}const wye=h.forwardRef(({pubkey:t},e)=>{const{t:n}=Ke(),r=h.useRef(null),{pubkey:o}=wt(),{selectConversation:s,currentConversation:a,isLoadingConversation:i,isNewConversation:l,clearNewConversationFlag:u,reloadConversation:d,deleteAllInConversation:f,undeleteAllInConversation:m}=kd(),{pop:g}=Cn(),{followingSet:w}=Gg(),[b,j]=h.useState(null),[S,I]=h.useState(!1),[N,M]=h.useState([]),[D,P]=h.useState(!1),L=h.useMemo(()=>{if(!t)return null;if(t.startsWith("npub"))try{const Z=jr.decode(t);return Z.type==="npub"?Z.data:null}catch{return null}return t},[t]),F=L?w.has(L):!1;h.useImperativeHandle(e,()=>r.current),h.useEffect(()=>{L&&L!==a&&s(L)},[L,s,a]),h.useEffect(()=>()=>{s(null)},[]),h.useEffect(()=>{if(!L)return;(async()=>{try{const W=await Oe.fetchProfile(L);W&&j(W)}catch(W){console.error("Failed to fetch profile:",W)}})()},[L]),h.useEffect(()=>{if(l){P(!0);const Z=setTimeout(()=>{P(!1),u()},1e4);return()=>clearTimeout(Z)}},[l,u]),h.useEffect(()=>{if(!L||!o)return;(async()=>{const W=await At.getConversationRelaySettings(o,L);M(W||[])})()},[L,o]);const T=async Z=>{M(Z),o&&L&&await At.putConversationRelaySettings(o,L,Z)},R=()=>{s(null),g()},z=(b==null?void 0:b.username)||(L?L.slice(0,8)+"...":""),G=c.jsxs("div",{className:"flex items-center gap-2 w-full px-1",children:[c.jsx(Pe,{className:"flex gap-1 items-center justify-start pl-2 pr-1",variant:"ghost",size:"titlebar-icon",title:n("back"),onClick:R,children:c.jsx(vS,{})}),L&&c.jsxs(c.Fragment,{children:[c.jsx(Ro,{userId:L,className:"size-7"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"font-semibold text-sm truncate",children:z}),F&&c.jsx("span",{title:"Following",children:c.jsx(Cg,{className:"size-3 text-primary"})})]}),(b==null?void 0:b.nip05)&&c.jsx("span",{className:"text-xs text-muted-foreground truncate block",children:b.nip05})]}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",title:n("Reload messages"),onClick:d,disabled:i,children:c.jsx(Hl,{className:Te("size-4",i&&"animate-spin")})}),c.jsx(Pe,{variant:"ghost",size:"icon",className:Te("size-8",D&&"animate-pulse ring-2 ring-primary ring-offset-2"),title:n("Conversation settings"),onClick:()=>{P(!1),u(),I(!0)},children:c.jsx(Ch,{className:"size-4"})}),c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",children:c.jsx(wS,{className:"size-4"})})}),c.jsxs(ci,{align:"end",children:[c.jsxs(Er,{onClick:f,className:"text-destructive focus:text-destructive",children:[c.jsx(af,{className:"size-4 mr-2"}),n("Delete All")]}),c.jsxs(Er,{onClick:m,children:[c.jsx(iL,{className:"size-4 mr-2"}),n("Undelete All")]})]})]}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"size-8",title:n("Close conversation"),onClick:R,children:c.jsx(ia,{className:"size-4"})})]})]});return c.jsxs("div",{className:"flex flex-col h-[var(--vh)]",children:[c.jsx(N2,{className:"p-1 shrink-0",hideBottomBorder:!1,children:G}),c.jsx("div",{className:"flex-1 min-h-0",children:c.jsx(N1t,{hideHeader:!0})}),L&&c.jsx(vye,{partnerPubkey:L,open:S,onOpenChange:I,selectedRelays:N,onSelectedRelaysChange:T})]})});wye.displayName="DMConversationPage";const bye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{hideUntrustedNotes:r}=$s(),[o,s]=h.useState("my-packs");return c.jsxs(wr,{ref:e,index:t,title:n("Emoji Packs"),displayScrollToTopButton:!0,children:[c.jsx(Dx,{value:o,tabs:[{value:"my-packs",label:"My Packs"},{value:"explore",label:"Explore"}],onTabChange:a=>{s(a)}}),o==="my-packs"?c.jsx(P1e,{}):c.jsx(a1,{showKinds:[$e.Emojisets],subRequests:[{urls:Oe.currentRelays,filter:{}}],hideUntrustedNotes:r})]})});bye.displayName="EmojiPackSettingsPage";function I1t({content:t,className:e,mustLoadMedia:n}){const r=h.useMemo(()=>t?qg(t,[tv,RL,US]):[],[t]);if(!r||r.length===0)return null;const o=r[0];if(o.type==="text")return c.jsx("div",{className:Te("text-wrap break-words whitespace-pre-wrap",e),children:t});if(o.type==="url")return c.jsx(Pue,{url:o.data,className:e,mustLoad:n});if(o.type==="x-post")return c.jsx(zue,{url:o.data,className:e,mustLoad:n,embedded:!1});if(o.type==="youtube")return c.jsx(Bue,{url:o.data,className:e,mustLoad:n});if(o.type==="image"||o.type==="images"){const s=Array.isArray(o.data)?o.data:[o.data];return c.jsx(Fde,{className:e,images:s.map(a=>({url:a})),mustLoad:n})}return o.type==="media"?c.jsx(m7,{className:e,src:o.data,mustLoad:n}):o.type==="invoice"?c.jsx(mle,{invoice:o.data,className:e}):o.type==="websocket-url"?c.jsx(PP,{url:o.data}):o.type==="hashtag"?c.jsx(VS,{hashtag:o.data}):null}function xye({stuff:t}){const{event:e,externalContent:n}=pc(t),[r,o]=h.useState([]);return h.useEffect(()=>{async function s(){const a=new Set(Oe.currentRelays),i=[];if(e){(await Oe.fetchRelayList(e.pubkey)).read.slice(0,5).forEach(g=>a.add(g)),Oe.getSeenEventRelayUrls(e.id).forEach(g=>a.add(g));const f=Fs(e.kind),m=f?ti(e):e.id;i.push({"#q":[m],kinds:[$e.ShortTextNote,$e.LongFormArticle,gt.COMMENT,gt.POLL]}),f?i.push({"#a":[m],kinds:[$e.Highlights]}):i.push({"#e":[m],kinds:[$e.Highlights]})}n&&i.push({"#r":[n],kinds:[$e.Highlights]});const l=Array.from(a);o(i.map(u=>({urls:l,filter:u})))}s()},[e]),c.jsx(a1,{subRequests:r})}const VQ=20;function kye({stuff:t}){const{t:e}=Ke(),{push:n}=Cn(),{isSmallScreen:r}=gn(),{hideUntrustedInteractions:o,isUserTrusted:s}=$s(),{stuffKey:a}=pc(t),i=Oh(a),l=h.useMemo(()=>((i==null?void 0:i.likes)??[]).filter(m=>!o||s(m.pubkey)).sort((m,g)=>g.created_at-m.created_at),[i,a,o,s]),[u,d]=h.useState(VQ),f=h.useRef(null);return h.useEffect(()=>{if(!f.current||l.length<=u)return;const m=new IntersectionObserver(([g])=>{g.isIntersecting&&d(w=>w+VQ)},{rootMargin:"10px",threshold:.1});return m.observe(f.current),()=>m.disconnect()},[l.length,u]),c.jsxs("div",{className:"min-h-[80vh]",children:[l.slice(0,u).map(m=>c.jsxs("div",{className:"px-4 py-3 border-b transition-colors clickable flex items-center gap-3",onClick:()=>n(xf(m.pubkey)),children:[c.jsx("div",{className:"w-6 flex flex-col items-center",children:c.jsx(Mi,{emoji:m.emoji,classNames:{text:"text-xl"}})}),c.jsx(Ro,{userId:m.pubkey,size:"medium",className:"shrink-0"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{userId:m.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground max-w-fit truncate",skeletonClassName:"h-3"}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(uc,{pubkey:m.pubkey,append:"·"}),c.jsx(mh,{timestamp:m.created_at,className:"shrink-0",short:r})]})]})]},m.id)),c.jsx("div",{ref:f}),c.jsx("div",{className:"text-sm mt-2 text-center text-muted-foreground",children:l.length>0?e("No more reactions"):e("No reactions yet")})]})}function A1t({className:t}){return c.jsx("div",{className:Te("h-0.5 w-full overflow-hidden",t),children:c.jsx("div",{className:"h-full w-full bg-gradient-to-r from-primary/40 from-25% via-primary via-50% to-primary/40 to-75% animate-shimmer",style:{backgroundSize:"400% 100%"}})})}function jye({event:t,parentEventId:e,onClickParent:n=()=>{},highlight:r=!1,className:o="",navColumn:s,navIndex:a}){const{t:i}=Ke(),{isSmallScreen:l}=gn(),{push:u}=Cn(),{mutePubkeySet:d}=ns(),{hideUntrustedInteractions:f,isUserTrusted:m}=$s(),{hideContentMentioningMutedUsers:g}=Qr(),w=h.useMemo(()=>Qo(t),[t]),b=dct(w),[j,S]=h.useState(!1),{ref:I,isSelected:N}=o1(s??2,a??0,{meta:{type:"note",event:t}}),M=h.useMemo(()=>j?!0:!(d.has(t.pubkey)||g&&Xu(t,d)),[j,d,t,g]),D=h.useMemo(()=>{if(!b||b.length===0)return!1;for(const P of b)if(!(f&&!m(P.pubkey))&&!d.has(P.pubkey)&&!(g&&Xu(P,d)))return!0},[b]);return c.jsxs("div",{ref:I,className:Te("relative pb-3 transition-colors duration-500 clickable scroll-mt-[6.5rem]",r?"bg-primary/40":"",N&&"ring-2 ring-primary ring-inset",o),onClick:()=>u(vl(t)),children:[D&&c.jsx("div",{className:"absolute left-[34px] top-14 bottom-0 border-l z-20"}),c.jsx(IP,{children:c.jsxs("div",{className:"flex space-x-2 items-start px-4 pt-3",children:[c.jsx(Ro,{userId:t.pubkey,size:"medium",className:"shrink-0 mt-0.5"}),c.jsxs("div",{className:"w-full overflow-hidden",children:[c.jsxs("div",{className:"flex items-start justify-between gap-2",children:[c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex gap-1 items-center",children:[c.jsx(zs,{userId:t.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground truncate",skeletonClassName:"h-3"}),c.jsx(jx,{pubkey:t.pubkey,className:"!size-3.5"}),c.jsx(JL,{event:t})]}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(uc,{pubkey:t.pubkey,append:"·"}),c.jsx(mh,{timestamp:t.created_at,className:"shrink-0",short:l})]})]}),c.jsx(Lde,{event:t,className:"shrink-0 [&_svg]:size-5"})]}),e&&c.jsx(V7,{className:"mt-2",eventId:e,onClick:P=>{P.stopPropagation(),n()}}),M?c.jsx(dd,{className:"mt-2",event:t}):c.jsx(Pe,{variant:"outline",className:"text-muted-foreground font-medium mt-2",onClick:P=>{P.stopPropagation(),S(!0)},children:i("Temporarily display this reply")})]})]})}),M&&c.jsx(Rx,{className:"ml-14 pl-1 mr-4 mt-2",stuff:t,displayTopZapsAndLikes:!0})]})}function _1t(){return c.jsxs("div",{className:"px-4 py-3 flex items-start space-x-2 w-full",children:[c.jsx(Dn,{className:"w-9 h-9 rounded-full shrink-0 mt-0.5"}),c.jsxs("div",{className:"w-full",children:[c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:"h-3 w-16"})}),c.jsx("div",{className:"my-1",children:c.jsx(Dn,{className:"w-full h-4 my-1 mt-2"})}),c.jsx("div",{className:"my-1",children:c.jsx(Dn,{className:"w-2/3 h-4 my-1"})})]})]})}function M1t({parentKey:t,revealerNavIndex:e,subReplyNavIndexStart:n}){const{push:r}=Cn(),o=DP(t),{hideUntrustedInteractions:s,isUserTrusted:a}=$s(),{mutePubkeySet:i}=ns(),{hideContentMentioningMutedUsers:l}=Qr(),[u,d]=h.useState(!1),f=h.useMemo(()=>{const j=new Set,S=[];let I=[t];for(;I.length>0;){const N=I.flatMap(M=>o.get(M)??[]);N.forEach(M=>{const D=Qo(M);if(!j.has(D)&&!i.has(M.pubkey)&&!(l&&Xu(M,i))){if(s&&!a(M.pubkey)){const P=Qo(M),L=o.get(P);if(!L||L.every(F=>!a(F.pubkey)))return}j.add(D),S.push(M)}}),I=N.map(M=>Qo(M))}return S.sort((N,M)=>N.created_at-M.created_at)},[t,o,i,l,s]),[m,g]=h.useState(void 0),w=h.useRef({}),b=h.useCallback((j,S,I=!0)=>{let N=!1;if(I){const M=w.current[j];M&&(N=!0,M.scrollIntoView({behavior:"smooth",block:"nearest"}))}if(!N){S&&r(vl(S));return}g(j),setTimeout(()=>{g(M=>M===j?void 0:M)},1500)},[]);return f.length===0?null:c.jsxs("div",{children:[f.length>1&&c.jsx(R1t,{isExpanded:u,onToggle:()=>d(j=>!j),replyCount:f.length,navIndex:e}),(u||f.length===1)&&c.jsx("div",{children:f.map((j,S)=>{const I=Qo(j),N=P2(j);if((N==null?void 0:N.type)!=="e")return null;const M=N?xC(N.tag):void 0,D=nc(N.tag);return c.jsxs("div",{ref:P=>w.current[I]=P,className:"scroll-mt-12 flex relative",children:[c.jsx("div",{className:"absolute left-[34px] top-0 h-8 w-4 rounded-bl-lg border-l border-b z-20"}),S<f.length-1&&c.jsx("div",{className:"absolute left-[34px] top-0 bottom-0 border-l z-20"}),c.jsx(jye,{className:"flex-1 w-0 pl-10",event:j,navColumn:2,navIndex:n!==void 0?n+S:void 0,parentEventId:M!==t?D:void 0,onClickParent:()=>{M&&b(M,D)},highlight:m===I})]},I)})})]})}function R1t({isExpanded:t,onToggle:e,replyCount:n,navIndex:r}){const{t:o}=Ke(),{ref:s,isSelected:a}=o1(2,r??0,{meta:{type:"note",onActivate:e}});return c.jsx("div",{ref:s,className:"scroll-mt-[6.5rem]",children:c.jsxs("button",{onClick:i=>{i.stopPropagation(),e()},className:Te("relative w-full flex items-center gap-1.5 pl-14 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors clickable",a&&"ring-2 ring-primary ring-inset"),children:[c.jsx("div",{className:Te("absolute left-[34px] top-0 bottom-0 w-px text-border z-20"),style:{background:t?"currentColor":"repeating-linear-gradient(to bottom, currentColor 0 3px, transparent 3px 7px)"}}),t?c.jsxs(c.Fragment,{children:[c.jsx(wd,{className:"size-3.5"}),c.jsxs("span",{children:[o("Hide replies")," (",n,")"]})]}):c.jsxs(c.Fragment,{children:[c.jsx(ic,{className:"size-3.5"}),c.jsxs("span",{children:[o("Show replies")," (",n,")"]})]})]})})}const HQ=100,T1t=10;function Cye({stuff:t,navIndexOffset:e=0}){const{t:n}=Ke(),{hideUntrustedInteractions:r,isUserTrusted:o}=$s(),{mutePubkeySet:s}=ns(),{hideContentMentioningMutedUsers:a}=Qr(),{stuffKey:i}=pc(t),l=DP(i),[u,d]=h.useState(!1),f=h.useMemo(()=>{const S=new Set;return(l.get(i)||[]).filter(M=>{const D=Qo(M);if(S.has(D)||s.has(M.pubkey)||a&&Xu(M,s))return!1;if(r&&!o(M.pubkey)){const P=Qo(M),L=l.get(P);if(!L||L.every(F=>!o(F.pubkey)))return!1}return S.add(D),!0}).sort((M,D)=>D.created_at-M.created_at)},[i,l,s,a,r,o]);h.useEffect(()=>((async()=>{d(!0),await dl.subscribe(t,HQ),d(!1)})(),()=>{dl.unsubscribe(t)}),[t]);const m=h.useCallback(async()=>await dl.loadMore(t,HQ),[t]),{visibleItems:g,loading:w,shouldShowLoadingIndicator:b,bottomRef:j}=kie({items:f,showCount:T1t,onLoadMore:m,initialLoading:u});return c.jsxs("div",{className:"min-h-[80vh]",children:[(w||u)&&c.jsx(A1t,{}),c.jsx("div",{children:g.map((S,I)=>c.jsx(L1t,{reply:S,navIndex:e+I},S.id))}),c.jsx("div",{ref:j}),b?c.jsx(_1t,{}):c.jsx("div",{className:"text-sm mt-2 mb-3 text-center text-muted-foreground",children:f.length>0?n("no more replies"):n("no replies")})]})}const D1t=100;function L1t({reply:t,navIndex:e}){const n=h.useMemo(()=>Qo(t),[t]),r=e*D1t;return c.jsxs("div",{className:"relative border-b",children:[c.jsx(jye,{event:t,navColumn:2,navIndex:r}),c.jsx(M1t,{parentKey:n,revealerNavIndex:r+1,subReplyNavIndexStart:r+2})]})}const WQ=[{value:"replies",label:"Replies"},{value:"reactions",label:"Reactions"},{value:"quotes",label:"Quotes"}];function P1t({selectedTab:t,onTabChange:e}){const{t:n}=Ke(),r=h.useRef([]),[o,s]=h.useState({width:0,left:0});return h.useEffect(()=>{setTimeout(()=>{const a=WQ.findIndex(i=>i.value===t);if(a>=0&&r.current[a]){const i=r.current[a],{offsetWidth:l,offsetLeft:u}=i,d=32;s({width:l-d,left:u+d/2})}},20)},[t]),c.jsx("div",{className:"w-fit",children:c.jsxs("div",{className:"flex relative",children:[WQ.map((a,i)=>c.jsx("div",{ref:l=>r.current[i]=l,className:Te("text-center px-4 py-2 font-semibold clickable cursor-pointer rounded-lg",t===a.value?"":"text-muted-foreground"),onClick:()=>e(a.value),children:n(a.label)},a.value)),c.jsx("div",{className:"absolute bottom-0 h-1 bg-primary rounded-full transition-all duration-500",style:{width:`${o.width}px`,left:`${o.left}px`}})]})})}function O1t({externalContent:t}){const[e,n]=h.useState("replies");let r;switch(e){case"replies":r=c.jsx(Cye,{stuff:t});break;case"reactions":r=c.jsx(kye,{stuff:t});break;case"quotes":r=c.jsx(xye,{stuff:t});break}return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(Fa,{className:"flex-1 w-0",children:[c.jsx(P1t,{selectedTab:e,onTabChange:n}),c.jsx(Ed,{orientation:"horizontal",className:"opacity-0 pointer-events-none"})]}),c.jsx(ri,{orientation:"vertical",className:"h-6"}),c.jsx("div",{className:"size-10 flex items-center justify-center",children:c.jsx(lO,{type:"interactions"})})]}),c.jsx(ri,{}),r]})}const Hx=h.forwardRef(({index:t},e)=>c.jsx(wr,{ref:e,index:t,hideBackButton:!0,children:c.jsx($P,{})}));Hx.displayName="NotFoundPage";const Sye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),[r,o]=h.useState();return h.useEffect(()=>{const a=new URLSearchParams(window.location.search).get("id");a&&o(a)},[]),r?c.jsxs(wr,{ref:e,index:t,title:n("External Content"),displayScrollToTopButton:!0,children:[c.jsxs("div",{className:"px-4 mt-3",children:[c.jsx(I1t,{content:r,mustLoadMedia:!0}),c.jsx(Rx,{className:"mt-3",stuff:r,fetchIfNotExisting:!0,displayTopZapsAndLikes:!0})]}),c.jsx(ri,{className:"mt-4"}),c.jsx(O1t,{externalContent:r})]}):c.jsx(Hx,{index:t})});Sye.displayName="ExternalContentPage";function IO({pubkeys:t}){const[e,n]=h.useState([]),r=h.useRef(null);return h.useEffect(()=>{n(t.slice(0,10))},[t]),h.useEffect(()=>{const o={root:null,rootMargin:"10px",threshold:1},s=new IntersectionObserver(i=>{i[0].isIntersecting&&t.length>e.length&&n(l=>[...l,...t.slice(l.length,l.length+10)])},o),a=r.current;return a&&s.observe(a),()=>{s&&a&&s.unobserve(a)}},[e,t]),c.jsxs("div",{className:"px-4 pt-2",children:[e.map((o,s)=>c.jsx(OP,{userId:o},`${s}-${o}`)),t.length>e.length&&c.jsx("div",{ref:r})]})}const Eye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=Ke(),{profile:o}=ua(t),{followings:s}=SL(o==null?void 0:o.pubkey);return c.jsx(wr,{ref:n,index:e,title:o!=null&&o.username?r("username's following",{username:o.username}):r("Following"),displayScrollToTopButton:!0,children:c.jsx(IO,{pubkeys:s})})});Eye.displayName="FollowingListPage";const Nye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=Ke(),[o,s]=h.useState("users"),{event:a,isFetching:i}=cl(t),{title:l,description:u,image:d,pubkeys:f}=h.useMemo(()=>a?oD(a):{title:"",description:"",image:"",pubkeys:[]},[a]);return i?c.jsx(wr,{ref:n,index:e,title:r("Follow Pack"),children:c.jsxs("div",{className:"px-4 py-3 space-y-2",children:[c.jsx(Dn,{className:"h-48 w-full"}),c.jsx(Dn,{className:"h-7 py-1 w-full"})]})}):a?c.jsx(wr,{ref:n,index:e,title:r("Follow Pack"),displayScrollToTopButton:!0,children:c.jsxs("div",{children:[c.jsxs("div",{className:"px-4 pt-3 space-y-2",children:[d&&c.jsx(Ag,{image:{url:d,pubkey:a.pubkey},className:"w-full h-48 object-cover rounded-lg",classNames:{wrapper:"w-full h-48 border-none"}}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("h3",{className:"text-2xl font-semibold mb-1 truncate",children:l}),c.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:r("n users",{count:f.length})})]}),u&&c.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-wrap",children:u}),c.jsxs("div",{className:"inline-flex items-center rounded-lg border bg-muted/50",children:[c.jsx("button",{onClick:()=>s("users"),className:Te("px-3 py-1.5 text-sm font-medium rounded-l-lg transition-colors",o==="users"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:r("Users")}),c.jsx("button",{onClick:()=>s("feed"),className:Te("px-3 py-1.5 text-sm font-medium rounded-r-lg transition-colors",o==="feed"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:r("Feed")})]})]}),o==="users"&&c.jsx(IO,{pubkeys:f}),o==="feed"&&f.length>0&&c.jsx(z1t,{pubkeys:f})]})}):c.jsx(wr,{ref:n,index:e,title:r("Follow Pack"),children:c.jsx("div",{className:"p-4 text-center text-muted-foreground",children:r("Follow pack not found")})})});Nye.displayName="FollowPackPage";function z1t({pubkeys:t}){const{pubkey:e}=wt(),[n,r]=h.useState([]);return h.useEffect(()=>{Oe.generateSubRequestsForPubkeys(t,e).then(r)},[t,e]),c.jsx(sd,{subRequests:n})}const Iye=h.forwardRef(({index:t},e)=>{const{t:n,i18n:r}=Ke(),[o,s]=h.useState(r.language),{autoplay:a,setAutoplay:i,nsfwDisplayPolicy:l,setNsfwDisplayPolicy:u,hideContentMentioningMutedUsers:d,setHideContentMentioningMutedUsers:f,mediaAutoLoadPolicy:m,setMediaAutoLoadPolicy:g,verboseLogging:w,setVerboseLogging:b,enableMarkdown:j,setEnableMarkdown:S}=Qr(),{hideUntrustedNotes:I,updateHideUntrustedNotes:N,hideUntrustedInteractions:M,updateHideUntrustedInteractions:D,hideUntrustedNotifications:P,updateHideUntrustedNotifications:L}=$s(),{quickReaction:F,updateQuickReaction:T,quickReactionEmoji:R,updateQuickReactionEmoji:z}=ts(),G=Z=>{r.changeLanguage(Z),s(Z)};return c.jsx(wr,{ref:e,index:t,title:n("General"),children:c.jsxs("div",{className:"space-y-4 mt-3",children:[c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"languages",className:"text-base font-normal",children:n("Languages")}),c.jsxs(Ju,{defaultValue:"en",value:o,onValueChange:G,children:[c.jsx(Gc,{id:"languages",className:"w-48",children:c.jsx(yb,{})}),c.jsx(qc,{children:Object.entries(zR).map(([Z,W])=>c.jsx(jo,{value:Z,children:W},Z))})]})]}),c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"media-auto-load-policy",className:"text-base font-normal",children:n("Auto-load media")}),c.jsxs(Ju,{defaultValue:"wifi-only",value:m,onValueChange:Z=>g(Z),children:[c.jsx(Gc,{id:"media-auto-load-policy",className:"w-48",children:c.jsx(yb,{})}),c.jsxs(qc,{children:[c.jsx(jo,{value:Yu.ALWAYS,children:n("Always")}),Uee()&&c.jsx(jo,{value:Yu.WIFI_ONLY,children:n("Wi-Fi only")}),c.jsx(jo,{value:Yu.NEVER,children:n("Never")})]})]})]}),c.jsxs(Ki,{children:[c.jsxs(_t,{htmlFor:"autoplay",className:"text-base font-normal",children:[c.jsx("div",{children:n("Autoplay")}),c.jsx("div",{className:"text-muted-foreground",children:n("Enable video autoplay on this device")})]}),c.jsx(lr,{id:"autoplay",checked:a,onCheckedChange:i})]}),c.jsxs(Ki,{children:[c.jsxs(_t,{htmlFor:"enable-markdown",className:"text-base font-normal",children:[c.jsx("div",{children:n("Render Markdown")}),c.jsx("div",{className:"text-muted-foreground",children:n("Parse and render markdown formatting in notes")})]}),c.jsx(lr,{id:"enable-markdown",checked:j,onCheckedChange:S})]}),c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"hide-untrusted-notes",className:"text-base font-normal",children:n("Hide untrusted notes")}),c.jsx(lr,{id:"hide-untrusted-notes",checked:I,onCheckedChange:N})]}),c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"hide-untrusted-interactions",className:"text-base font-normal",children:n("Hide untrusted interactions")}),c.jsx(lr,{id:"hide-untrusted-interactions",checked:M,onCheckedChange:D})]}),c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"hide-untrusted-notifications",className:"text-base font-normal",children:n("Hide untrusted notifications")}),c.jsx(lr,{id:"hide-untrusted-notifications",checked:P,onCheckedChange:L})]}),c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"hide-content-mentioning-muted-users",className:"text-base font-normal",children:n("Hide content mentioning muted users")}),c.jsx(lr,{id:"hide-content-mentioning-muted-users",checked:d,onCheckedChange:f})]}),c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"nsfw-display-policy",className:"text-base font-normal",children:n("NSFW content display")}),c.jsxs(Ju,{value:l,onValueChange:Z=>u(Z),children:[c.jsx(Gc,{id:"nsfw-display-policy",className:"w-48",children:c.jsx(yb,{})}),c.jsxs(qc,{children:[c.jsx(jo,{value:Ul.HIDE,children:n("Hide completely")}),c.jsx(jo,{value:Ul.HIDE_CONTENT,children:n("Show but hide content")}),c.jsx(jo,{value:Ul.SHOW,children:n("Show directly")})]})]})]}),c.jsxs(Ki,{children:[c.jsxs(_t,{htmlFor:"quick-reaction",className:"text-base font-normal",children:[c.jsx("div",{children:n("Quick reaction")}),c.jsx("div",{className:"text-muted-foreground",children:n("If enabled, you can react with a single click. Click and hold for more options")})]}),c.jsx(lr,{id:"quick-reaction",checked:F,onCheckedChange:T})]}),F&&c.jsxs(Ki,{children:[c.jsx(_t,{htmlFor:"quick-reaction-emoji",className:"text-base font-normal",children:n("Quick reaction emoji")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>z("+"),className:"text-muted-foreground hover:text-foreground",children:c.jsx(lae,{})}),c.jsx(Y7,{onEmojiClick:Z=>{Z&&z(Z)},children:c.jsx(Pe,{variant:"ghost",size:"icon",className:"border",children:c.jsx(Mi,{emoji:R})})})]})]}),c.jsxs(Ki,{children:[c.jsxs(_t,{htmlFor:"verbose-logging",className:"text-base font-normal",children:[c.jsx("div",{children:n("Verbose logging")}),c.jsx("div",{className:"text-muted-foreground",children:n("Enable detailed logging for debugging (check browser console)")})]}),c.jsx(lr,{id:"verbose-logging",checked:w,onCheckedChange:b})]})]})})});Iye.displayName="GeneralSettingsPage";const Ki=h.forwardRef(({children:t,className:e,...n},r)=>c.jsx("div",{className:Te("flex justify-between select-none items-center px-4 min-h-9 [&_svg]:size-4 [&_svg]:shrink-0",e),...n,ref:r,children:t}));Ki.displayName="SettingItem";const Aye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke();return c.jsx(wr,{ref:e,index:t,title:n("Help"),children:c.jsx(k1e,{})})});Aye.displayName="HelpPage";const _ye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{pop:r}=Cn();return c.jsx(wr,{ref:e,index:t,title:n("Login"),children:c.jsx("div",{className:"p-4",children:c.jsx(rC,{close:()=>r()})})})});_ye.displayName="LoginPage";const Mye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{pop:r}=Cn(),{account:o,removeAccount:s}=wt(),a=()=>{o&&(s(o),r())};return c.jsx(wr,{ref:e,index:t,title:n("Logout"),children:c.jsxs("div",{className:"p-4 space-y-6",children:[c.jsx("p",{className:"text-muted-foreground",children:n("Are you sure you want to logout?")}),c.jsxs("div",{className:"flex flex-col gap-3",children:[c.jsx(Pe,{variant:"outline",onClick:()=>r(),className:"w-full",children:n("Cancel")}),c.jsx(Pe,{variant:"destructive",onClick:a,className:"w-full",children:n("Logout")})]})]})})});Mye.displayName="LogoutPage";function F1t({pubkey:t}){const{t:e}=Ke(),{isSmallScreen:n}=gn(),{pubkey:r,checkLogin:o}=wt(),{mutePubkeySet:s,changing:a,mutePubkeyPrivately:i,mutePubkeyPublicly:l,unmutePubkey:u}=ns(),[d,f]=h.useState(!1),m=h.useMemo(()=>s.has(t),[s,t]);if(!r||t&&t===r)return null;const g=async(j,S=!0)=>{j.stopPropagation(),o(async()=>{if(!m){f(!0);try{S?await i(t):await l(t)}catch(I){on.error(`${e("Mute failed")}: ${I.message}`)}finally{f(!1)}}})},w=async j=>{j.stopPropagation(),o(async()=>{if(m){f(!0);try{await u(t)}catch(S){on.error(`${e("Unmute failed")}: ${S.message}`)}finally{f(!1)}}})};if(m)return c.jsx(Pe,{className:"w-20 min-w-20 rounded-full",variant:"secondary",onClick:w,disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Unmute")});const b=c.jsx(Pe,{variant:"destructive",className:"w-20 min-w-20 rounded-full",disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Mute")});return n?c.jsxs(io,{children:[c.jsx(Sh,{asChild:!0,children:b}),c.jsx(lo,{children:c.jsxs("div",{className:"py-2",children:[c.jsx(Pe,{className:"w-full p-6 justify-start text-destructive text-lg gap-4 [&_svg]:size-5 focus:text-destructive",variant:"ghost",onClick:j=>g(j,!0),disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Mute user privately")}),c.jsx(Pe,{className:"w-full p-6 justify-start text-destructive text-lg gap-4 [&_svg]:size-5 focus:text-destructive",variant:"ghost",onClick:j=>g(j,!1),disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Mute user publicly")})]})})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:b}),c.jsxs(ci,{children:[c.jsxs(Er,{onClick:j=>g(j,!0),className:"text-destructive focus:text-destructive",children:[c.jsx(Vu,{}),e("Mute user privately")]}),c.jsxs(Er,{onClick:j=>g(j,!1),className:"text-destructive focus:text-destructive",children:[c.jsx(Vu,{}),e("Mute user publicly")]})]})]})}const Rye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{profile:r,pubkey:o}=wt(),{getMutePubkeys:s}=ns(),a=h.useMemo(()=>s(),[o]),[i,l]=h.useState([]),u=h.useRef(null);return h.useEffect(()=>{l(a.slice(0,10))},[a]),h.useEffect(()=>{const d={root:null,rootMargin:"10px",threshold:1},f=new IntersectionObserver(g=>{g[0].isIntersecting&&a.length>i.length&&l(w=>[...w,...a.slice(w.length,w.length+10)])},d),m=u.current;return m&&f.observe(m),()=>{f&&m&&f.unobserve(m)}},[i,a]),r?c.jsx(wr,{ref:e,index:t,title:n("username's muted",{username:r.username}),displayScrollToTopButton:!0,children:c.jsxs("div",{className:"space-y-2 px-4 pt-2",children:[i.map((d,f)=>c.jsx(B1t,{pubkey:d},`${f}-${d}`)),a.length>i.length&&c.jsx("div",{ref:u})]})}):c.jsx(Hx,{})});Rye.displayName="MuteListPage";function B1t({pubkey:t}){const{changing:e,getMuteType:n,switchToPrivateMute:r,switchToPublicMute:o}=ns(),{profile:s}=ua(t),a=h.useMemo(()=>n(t),[t,n]),[i,l]=h.useState(!1);return c.jsxs("div",{className:"flex gap-2 items-start",children:[c.jsx(Ro,{userId:t,className:"shrink-0"}),c.jsxs("div",{className:"w-full overflow-hidden",children:[c.jsx(zs,{userId:t,className:"font-semibold truncate max-w-full w-fit",skeletonClassName:"h-4"}),c.jsx(uc,{pubkey:t}),c.jsx("div",{className:"truncate text-muted-foreground text-sm",children:s==null?void 0:s.about})]}),c.jsxs("div",{className:"flex gap-2 items-center",children:[i?c.jsx(Pe,{disabled:!0,variant:"ghost",size:"icon",children:c.jsx(_r,{className:"animate-spin"})}):a==="private"?c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>{i||(l(!0),o(t).finally(()=>l(!1)))},disabled:e,children:c.jsx(uh,{className:"text-green-400"})}):a==="public"?c.jsx(Pe,{variant:"ghost",size:"icon",onClick:()=>{i||(l(!0),r(t).finally(()=>l(!1)))},disabled:e,children:c.jsx(xS,{className:"text-muted-foreground"})}):null,c.jsx(F1t,{pubkey:t})]})]})}const Tye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{push:r}=Cn(),{pubkey:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(null),[u,d]=h.useState(null),[f,m]=h.useState([]);h.useEffect(()=>{(async()=>{const b=new URLSearchParams(window.location.search),j=b.getAll("k").map(M=>parseInt(M)).filter(M=>!isNaN(M)),S=b.get("t");if(S){d({type:"hashtag"}),a(`# ${S}`),m([{filter:{"#t":[S],...j.length>0?{kinds:j}:{}},urls:Oe.currentRelays}]);return}const I=b.get("s");if(I){d({type:"search"}),a(`${n("Search")}: ${I}`),m([{filter:{search:I,...j.length>0?{kinds:j}:{}},urls:Ze.getSearchRelays()}]);return}const N=b.get("d");if(N){a(c.jsxs("div",{className:"flex items-center gap-1",children:[N,c.jsx(_L,{domain:N,className:"w-5 h-5"})]}));const M=await vie(N);d({type:"domain",domain:N}),M.length?(m(await Oe.generateSubRequestsForPubkeys(M,o)),l(c.jsxs(Pe,{variant:"ghost",className:"h-10 [&_svg]:size-3",onClick:()=>r(sFe({domain:N})),children:[M.length.toLocaleString()," ",c.jsx(SS,{})]}))):m([]);return}})()},[]);let g=null;return(u==null?void 0:u.type)==="domain"&&f.length===0?g=c.jsx("div",{className:"text-center w-full py-10",children:c.jsx("span",{className:"text-muted-foreground",children:n("No pubkeys found from {url}",{url:EL(u.domain)})})}):u&&(g=c.jsx(sd,{subRequests:f})),c.jsx(wr,{ref:e,index:t,title:s,controls:i,displayScrollToTopButton:!0,children:g})});Tye.displayName="NoteListPage";const YQ=20;function U1t({event:t}){const{t:e}=Ke(),{push:n}=Cn(),{isSmallScreen:r}=gn(),{hideUntrustedInteractions:o,isUserTrusted:s}=$s(),a=Oh(Qo(t)),i=h.useMemo(()=>((a==null?void 0:a.reposts)??[]).filter(f=>!o||s(f.pubkey)).sort((f,m)=>m.created_at-f.created_at),[a,t.id,o,s]),[l,u]=h.useState(YQ),d=h.useRef(null);return h.useEffect(()=>{if(!d.current||i.length<=l)return;const f=new IntersectionObserver(([m])=>{m.isIntersecting&&u(g=>g+YQ)},{rootMargin:"10px",threshold:.1});return f.observe(d.current),()=>f.disconnect()},[i.length,l]),c.jsxs("div",{className:"min-h-[80vh]",children:[i.slice(0,l).map(f=>c.jsxs("div",{className:"px-4 py-3 border-b transition-colors clickable flex items-center gap-3",onClick:()=>n(xf(f.pubkey)),children:[c.jsx(Qw,{className:"text-green-400 size-5"}),c.jsx(Ro,{userId:f.pubkey,size:"medium",className:"shrink-0"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{userId:f.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground max-w-fit truncate",skeletonClassName:"h-3"}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(uc,{pubkey:f.pubkey,append:"·"}),c.jsx(mh,{timestamp:f.created_at,className:"shrink-0",short:r})]})]})]},f.id)),c.jsx("div",{ref:d}),c.jsx("div",{className:"text-sm mt-2 text-center text-muted-foreground",children:i.length>0?e("No more reposts"):e("No reposts yet")})]})}const GQ=20;function $1t({event:t}){const{t:e}=Ke(),{push:n}=Cn(),{isSmallScreen:r}=gn(),o=Oh(t.id),s=h.useMemo(()=>((o==null?void 0:o.zaps)??[]).sort((u,d)=>d.amount-u.amount),[o,t.id]),[a,i]=h.useState(GQ),l=h.useRef(null);return h.useEffect(()=>{if(!l.current||s.length<=a)return;const u=new IntersectionObserver(([d])=>{d.isIntersecting&&i(f=>f+GQ)},{rootMargin:"10px",threshold:.1});return u.observe(l.current),()=>u.disconnect()},[s.length,a]),c.jsxs("div",{className:"min-h-[80vh]",children:[s.slice(0,a).map(u=>c.jsxs("div",{className:"px-4 py-3 border-b transition-colors clickable flex gap-2",onClick:()=>n(xf(u.pubkey)),children:[c.jsxs("div",{className:"w-8 flex flex-col items-center mt-0.5",children:[c.jsx(lc,{className:"text-yellow-400 size-5"}),c.jsx("div",{className:"text-sm font-semibold text-yellow-400",children:Y2(u.amount)})]}),c.jsxs("div",{className:"flex space-x-2 items-start",children:[c.jsx(Ro,{userId:u.pubkey,size:"medium",className:"shrink-0 mt-0.5"}),c.jsxs("div",{className:"flex-1",children:[c.jsx(zs,{userId:u.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground max-w-fit truncate",skeletonClassName:"h-3"}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(uc,{pubkey:u.pubkey,append:"·"}),c.jsx(mh,{timestamp:u.created_at,className:"shrink-0",short:r})]}),c.jsx(dd,{className:"mt-2",content:u.comment})]})]})]},u.pr)),c.jsx("div",{ref:l}),c.jsx("div",{className:"text-sm mt-2 text-center text-muted-foreground",children:s.length>0?e("No more zaps"):e("No zaps yet")})]})}const qQ=[{value:"replies",label:"Replies"},{value:"zaps",label:"Zaps"},{value:"reposts",label:"Reposts"},{value:"reactions",label:"Reactions"},{value:"quotes",label:"Quotes"}];function V1t({selectedTab:t,onTabChange:e}){const{t:n}=Ke(),r=h.useRef([]),[o,s]=h.useState({width:0,left:0});return h.useEffect(()=>{setTimeout(()=>{const a=qQ.findIndex(i=>i.value===t);if(a>=0&&r.current[a]){const i=r.current[a],{offsetWidth:l,offsetLeft:u}=i,d=32;s({width:l-d,left:u+d/2})}},20)},[t]),c.jsx("div",{className:"w-fit",children:c.jsxs("div",{className:"flex relative",children:[qQ.map((a,i)=>c.jsx("div",{ref:l=>r.current[i]=l,className:Te("text-center px-4 py-2 font-semibold clickable cursor-pointer rounded-lg",t===a.value?"":"text-muted-foreground"),onClick:()=>e(a.value),children:n(a.label)},a.value)),c.jsx("div",{className:"absolute bottom-0 h-1 bg-primary rounded-full transition-all duration-500",style:{width:`${o.width}px`,left:`${o.left}px`}})]})})}function H1t({event:t,navIndexOffset:e=0}){const[n,r]=h.useState("replies");let o;switch(n){case"replies":o=c.jsx(Cye,{stuff:t,navIndexOffset:e});break;case"quotes":o=c.jsx(xye,{stuff:t});break;case"reactions":o=c.jsx(kye,{stuff:t});break;case"reposts":o=c.jsx(U1t,{event:t});break;case"zaps":o=c.jsx($1t,{event:t});break}return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(Fa,{className:"flex-1 w-0",children:[c.jsx(V1t,{selectedTab:n,onTabChange:r}),c.jsx(Ed,{orientation:"horizontal",className:"opacity-0 pointer-events-none"})]}),c.jsx(ri,{orientation:"vertical",className:"h-6"}),c.jsx("div",{className:"size-10 flex items-center justify-center",children:c.jsx(lO,{type:"interactions"})})]}),c.jsx(ri,{}),o]})}function W1t({bech32Id:t}){const{t:e}=Ke();return c.jsxs("div",{className:"text-muted-foreground w-full h-full flex flex-col items-center justify-center gap-2",children:[c.jsx("div",{children:e("Note not found")}),c.jsx(Ig,{originalNoteId:t})]})}const Dye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=Ke(),{event:o,isFetching:s}=cl(t),a=h.useMemo(()=>Aee(o),[o]),i=h.useMemo(()=>_ke(o),[o]),l=h.useMemo(()=>(o==null?void 0:o.kind)===gt.COMMENT?o.tags.find(In("I")):void 0,[o]),{isFetching:u,event:d}=cl(i),{isFetching:f,event:m}=cl(a);if(!o&&s)return c.jsx(wr,{ref:n,index:e,title:r("Note"),children:c.jsxs("div",{className:"px-4 pt-3",children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Dn,{className:"w-10 h-10 rounded-full"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"py-1",children:c.jsx(Dn,{className:"h-4 w-16"})}),c.jsx("div",{className:"py-0.5",children:c.jsx(Dn,{className:"h-4 w-12"})})]})]}),c.jsxs("div",{className:"pt-2",children:[c.jsx("div",{className:"my-1",children:c.jsx(Dn,{className:"w-full h-4 my-1 mt-2"})}),c.jsx("div",{className:"my-1",children:c.jsx(Dn,{className:"w-2/3 h-4 my-1"})})]})]})});if(!o)return c.jsx(wr,{ref:n,index:e,title:r("Note"),displayScrollToTopButton:!0,children:c.jsx(W1t,{bech32Id:t})});const g=i&&i!==a,w=!!a,b=(g?1:0)+(w?1:0);return c.jsxs(wr,{ref:n,index:e,title:r("Note"),displayScrollToTopButton:!0,children:[c.jsxs("div",{className:"px-4 pt-3",children:[l&&c.jsx(Y1t,{value:l[1]}),g&&c.jsx(KQ,{isFetching:u,event:d,eventBech32Id:i,isConsecutive:G1t(d,m),navIndex:0},`root-note-${o.id}`),w&&c.jsx(KQ,{isFetching:f,event:m,eventBech32Id:a,navIndex:g?1:0},`parent-note-${o.id}`),c.jsx(W7,{event:o,className:"select-text",hideParentNotePreview:!0,originalNoteId:t,showFull:!0},`note-${o.id}`),c.jsx(Rx,{className:"mt-3",stuff:o,fetchIfNotExisting:!0,displayTopZapsAndLikes:!0})]}),c.jsx(ri,{className:"mt-4"}),c.jsx(H1t,{event:o,navIndexOffset:b},`note-interactions-${o.id}`)]})});Dye.displayName="NotePage";function Y1t({value:t}){const{push:e}=Cn();return c.jsxs("div",{children:[c.jsx(_E,{className:"flex space-x-1 px-1.5 py-1 items-center clickable text-sm text-muted-foreground hover:text-foreground",onClick:()=>e(yy(t)),children:c.jsx("div",{className:"truncate",children:t})}),c.jsx("div",{className:"ml-5 w-px h-2 bg-border"})]})}function KQ({event:t,eventBech32Id:e,isFetching:n,isConsecutive:r=!0,navIndex:o}){const{push:s}=Cn(),a=h.useCallback(()=>{s(vl(t??e))},[s,t,e]),{ref:i,isSelected:l}=o1(2,o??0,{meta:{type:"note",onActivate:a}});return n?c.jsxs("div",{children:[c.jsxs("div",{className:"flex space-x-1 px-[0.4375rem] py-1 items-center rounded-full border clickable text-sm text-muted-foreground",children:[c.jsx(Dn,{className:"shrink w-4 h-4 rounded-full"}),c.jsx("div",{className:"py-1 flex-1",children:c.jsx(Dn,{className:"h-3"})})]}),c.jsx("div",{className:"ml-5 w-px h-3 bg-border"})]}):c.jsxs("div",{ref:i,className:"scroll-mt-[6.5rem]",children:[c.jsxs("div",{className:Te("flex space-x-1 px-[0.4375rem] py-1 items-center rounded-full border clickable text-sm text-muted-foreground",t&&"hover:text-foreground",l&&"ring-2 ring-primary"),onClick:a,children:[t&&c.jsx(Ro,{userId:t.pubkey,size:"tiny",className:"shrink-0"}),c.jsx(ky,{className:"truncate",event:t})]}),r?c.jsx("div",{className:"ml-5 w-px h-3 bg-border"}):c.jsx(bS,{className:"ml-3.5 text-muted-foreground/60 size-3"})]})}function G1t(t,e){if(!t||!e)return!1;const n=P2(e);return n?Qo(t)===xC(n.tag):!1}function q1t({relayInfo:t,users:e,className:n,...r}){const{t:o}=Ke();return c.jsxs("div",{className:Te("space-y-1",n),...r,children:[c.jsxs("div",{className:"flex items-start justify-between gap-2 w-full",children:[c.jsxs("div",{className:"flex flex-1 w-0 items-center gap-2",children:[c.jsx(iu,{url:t==null?void 0:t.url,className:"h-9 w-9"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"truncate font-semibold",children:(t==null?void 0:t.name)||(t==null?void 0:t.shortUrl)}),(t==null?void 0:t.name)&&c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:t==null?void 0:t.shortUrl})]})]}),t&&c.jsx(WP,{urls:[t.url]})]}),!!(t!=null&&t.description)&&c.jsx("div",{className:"line-clamp-3 break-words whitespace-pre-wrap",style:{overflowWrap:"anywhere"},children:t.description}),!!(e!=null&&e.length)&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs("div",{className:"text-muted-foreground",children:[o("Favorited by")," "]}),c.jsxs("div",{className:"flex items-center gap-1",children:[e.slice(0,10).map(s=>c.jsx(ec,{userId:s,size:"xSmall"},s)),e.length>10&&c.jsxs("div",{className:"text-muted-foreground text-xs rounded-full bg-muted w-5 h-5 flex items-center justify-center",children:["+",e.length-10]})]})]})]})}function K1t({userId:t}){const{t:e}=Ke(),n=h.useMemo(()=>{var s;return((s=Vt.tryFromString(t))==null?void 0:s.hex)??t},[t]),{relayList:r,isFetching:o}=xie(n);return o?c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:e("loading...")}):c.jsx("div",{className:"space-y-4",children:r.originalRelays.map((s,a)=>c.jsx(Z1t,{relay:s},`read-${s.url}-${a}`))})}function Z1t({relay:t}){const{t:e}=Ke(),{push:n}=Cn(),{relayInfo:r}=PS(t.url),{url:o,scope:s}=t;return c.jsxs("div",{className:"p-4 rounded-lg border clickable space-y-1",onClick:()=>n(Eg(o)),children:[c.jsx(q1t,{relayInfo:r}),c.jsxs("div",{className:"flex gap-2",children:[["both","read"].includes(s)&&c.jsx(Vl,{className:"bg-blue-400 hover:bg-blue-400/80",children:e("Read")}),["both","write"].includes(s)&&c.jsx(Vl,{className:"bg-green-400 hover:bg-green-400/80",children:e("Write")})]})]})}const Lye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=Ke(),{profile:o}=ua(t);return!t||!o?null:c.jsx(wr,{ref:n,index:e,title:r("username's used relays",{username:o.username}),children:c.jsx("div",{className:"px-4 pt-3",children:c.jsx(K1t,{userId:t})})})});Lye.displayName="RelaySettingsPage";const Pye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke();return c.jsx(wr,{ref:e,index:t,title:n("Post settings"),children:c.jsxs("div",{className:"px-4 pt-3 space-y-4",children:[c.jsx(aye,{}),c.jsx(oye,{})]})})});Pye.displayName="PostSettingsPage";function Q1t({pubkey:t,banner:e,className:n}){const r=h.useMemo(()=>lx(t),[t]),[o,s]=h.useState(e??r);return h.useEffect(()=>{s(e||r)},[r,e]),c.jsx(Uo,{image:{url:o,pubkey:t},alt:`${t} banner`,className:n,classNames:{wrapper:"rounded-none"},errorPlaceholder:r})}function J1t(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,X1t(o,...e)]}function X1t(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function ZQ(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function e0t(...t){return e=>{let n=!1;const r=t.map(o=>{const s=ZQ(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():ZQ(t[o],null)}}}}var Oye=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(n0t);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(LR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(LR,{...r,ref:e,children:n})});Oye.displayName="Slot";var LR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=o0t(n);return h.cloneElement(n,{...r0t(r,n.props),ref:e?e0t(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});LR.displayName="SlotClone";var t0t=({children:t})=>c.jsx(c.Fragment,{children:t});function n0t(t){return h.isValidElement(t)&&t.type===t0t}function r0t(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function o0t(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var s0t=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],AO=s0t.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Oye:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),_O="Avatar",[a0t]=J1t(_O),[i0t,zye]=a0t(_O),Fye=h.forwardRef((t,e)=>{const{__scopeAvatar:n,...r}=t,[o,s]=h.useState("idle");return c.jsx(i0t,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:s,children:c.jsx(AO.span,{...r,ref:e})})});Fye.displayName=_O;var Bye="AvatarImage",Uye=h.forwardRef((t,e)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...s}=t,a=zye(Bye,n),i=l0t(r,s.referrerPolicy),l=or(u=>{o(u),a.onImageLoadingStatusChange(u)});return pr(()=>{i!=="idle"&&l(i)},[i,l]),i==="loaded"?c.jsx(AO.img,{...s,ref:e,src:r}):null});Uye.displayName=Bye;var $ye="AvatarFallback",Vye=h.forwardRef((t,e)=>{const{__scopeAvatar:n,delayMs:r,...o}=t,s=zye($ye,n),[a,i]=h.useState(r===void 0);return h.useEffect(()=>{if(r!==void 0){const l=window.setTimeout(()=>i(!0),r);return()=>window.clearTimeout(l)}},[r]),a&&s.imageLoadingStatus!=="loaded"?c.jsx(AO.span,{...o,ref:e}):null});Vye.displayName=$ye;function l0t(t,e){const[n,r]=h.useState("idle");return pr(()=>{if(!t){r("error");return}let o=!0;const s=new window.Image,a=i=>()=>{o&&r(i)};return r("loading"),s.onload=a("loaded"),s.onerror=a("error"),s.src=t,e&&(s.referrerPolicy=e),()=>{o=!1}},[t,e]),n}var Hye=Fye,Wye=Uye,Yye=Vye;const Gye=h.forwardRef(({className:t,...e},n)=>c.jsx(Hye,{ref:n,className:Te("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",t),...e}));Gye.displayName=Hye.displayName;const qye=h.forwardRef(({className:t,...e},n)=>c.jsx(Wye,{ref:n,className:Te("aspect-square h-full w-full",t),...e}));qye.displayName=Wye.displayName;const Kye=h.forwardRef(({className:t,...e},n)=>c.jsx(Yye,{ref:n,className:Te("flex h-full w-full items-center justify-center rounded-full bg-muted",t),...e}));Kye.displayName=Yye.displayName;const Zye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{pop:r}=Cn(),{account:o,profile:s,profileEvent:a,publish:i,updateProfileEvent:l}=wt(),[u,d]=h.useState(""),[f,m]=h.useState(""),[g,w]=h.useState(""),[b,j]=h.useState(""),[S,I]=h.useState(""),[N,M]=h.useState(""),[D,P]=h.useState(""),[L,F]=h.useState(""),[T,R]=h.useState(""),[z,G]=h.useState(!1),[Z,W]=h.useState(!1),[U,ee]=h.useState(!1),[$,H]=h.useState(!1),Y=h.useMemo(()=>o?lx(o.pubkey):void 0,[o]);if(h.useEffect(()=>{s?(d(s.banner??""),m(s.avatar??""),w(s.original_username??""),j(s.about??""),I(s.website??""),M(s.nip05??""),F(s.lightningAddress||"")):(d(""),m(""),w(""),j(""),I(""),M(""),F(""))},[s]),!o||!s)return null;const q=async()=>{if(N&&!oy(N)){P(n("Invalid NIP-05 address"));return}const de=a?JSON.parse(a.content):{},Ee={...de,display_name:g,displayName:g,name:de.name??g,about:b,website:S,nip05:N,banner:u,picture:f};if(L)if(oy(L))Ee.lud16=L;else if(L.startsWith("lnurl"))Ee.lud06=L;else{R(n("Invalid Lightning Address"));return}else delete Ee.lud16;W(!0),G(!1);const we=ZT(JSON.stringify(Ee),a==null?void 0:a.tags),xe=await i(we);await l(xe),W(!1),r()},J=({url:de})=>{d(de),G(!0)},ne=({url:de})=>{m(de),G(!0)},re=c.jsx("div",{className:"pr-3",children:c.jsx(Pe,{className:"w-16 rounded-full",onClick:q,disabled:Z||!z,children:Z?c.jsx(_r,{className:"animate-spin"}):n("Save")})});return c.jsxs(wr,{ref:e,index:t,title:s.username,controls:re,children:[c.jsxs("div",{className:"relative bg-cover bg-center mb-2",children:[c.jsxs(fR,{onUploadSuccess:J,onUploadStart:()=>ee(!0),onUploadEnd:()=>ee(!1),className:"w-full relative cursor-pointer",children:[c.jsx(Q1t,{banner:u,pubkey:o.pubkey,className:"w-full aspect-[3/1]"}),c.jsx("div",{className:"absolute top-0 bg-muted/30 w-full h-full flex flex-col justify-center items-center",children:U?c.jsx(_r,{size:36,className:"animate-spin"}):c.jsx(dY,{size:36})})]}),c.jsxs(fR,{onUploadSuccess:ne,onUploadStart:()=>H(!0),onUploadEnd:()=>H(!1),className:"w-24 h-24 absolute bottom-0 left-4 translate-y-1/2 border-4 border-background cursor-pointer rounded-full",children:[c.jsxs(Gye,{className:"w-full h-full",children:[c.jsx(qye,{src:f,className:"object-cover object-center"}),c.jsx(Kye,{children:c.jsx("img",{src:Y})})]}),c.jsx("div",{className:"absolute top-0 bg-muted/30 w-full h-full rounded-full flex flex-col justify-center items-center",children:$?c.jsx(_r,{className:"animate-spin"}):c.jsx(dY,{})})]})]}),c.jsxs("div",{className:"pt-14 px-4 flex flex-col gap-4",children:[c.jsxs(Iw,{children:[c.jsx(_t,{htmlFor:"profile-username-input",children:n("Display Name")}),c.jsx(Pn,{id:"profile-username-input",value:g,onChange:de=>{w(de.target.value),G(!0)}})]}),c.jsxs(Iw,{children:[c.jsx(_t,{htmlFor:"profile-about-textarea",children:n("Bio")}),c.jsx(fv,{id:"profile-about-textarea",className:"h-44",value:b,onChange:de=>{j(de.target.value),G(!0)}})]}),c.jsxs(Iw,{children:[c.jsx(_t,{htmlFor:"profile-website-input",children:n("Website")}),c.jsx(Pn,{id:"profile-website-input",value:S,onChange:de=>{I(de.target.value),G(!0)}})]}),c.jsxs(Iw,{children:[c.jsx(_t,{htmlFor:"profile-nip05-input",children:n("Nostr Address (NIP-05)")}),c.jsx(Pn,{id:"profile-nip05-input",value:N,onChange:de=>{P(""),M(de.target.value),G(!0)},className:D?"border-destructive":""}),D&&c.jsx("div",{className:"text-xs text-destructive pl-3",children:D})]}),c.jsxs(Iw,{children:[c.jsx(_t,{htmlFor:"profile-lightning-address-input",children:n("Lightning Address (or LNURL)")}),c.jsx(Pn,{id:"profile-lightning-address-input",value:L,onChange:de=>{R(""),F(de.target.value),G(!0)},className:T?"border-destructive":""}),T&&c.jsx("div",{className:"text-xs text-destructive pl-3",children:T})]})]})]})});Zye.displayName="ProfileEditorPage";function Iw({children:t}){return c.jsx("div",{className:"grid gap-2",children:t})}const Qye=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),[r,o]=h.useState(),[s,a]=h.useState(null);h.useEffect(()=>{const l=new URLSearchParams(window.location.search),u=l.get("s");if(u){o(`${n("Search")}: ${u}`),a({type:"search",id:u});return}const d=l.get("d");if(d){o(c.jsxs("div",{className:"flex items-center gap-1",children:[d,c.jsx(_L,{domain:d,className:"w-5 h-5"})]})),a({type:"domain",id:d});return}},[]);let i=null;return(s==null?void 0:s.type)==="search"?i=c.jsx(Nge,{search:s.id}):(s==null?void 0:s.type)==="domain"&&(i=c.jsx(c0t,{domain:s.id})),c.jsx(wr,{ref:e,index:t,title:r,displayScrollToTopButton:!0,children:i})});Qye.displayName="ProfileListPage";function c0t({domain:t}){const[e,n]=h.useState([]);return h.useEffect(()=>{(async()=>{const o=await vie(t);n(o)})()},[t]),c.jsx(IO,{pubkeys:e})}const Jye=h.forwardRef(({id:t,index:e},n)=>{const{profile:r}=ua(t);return c.jsx(wr,{index:e,title:r==null?void 0:r.username,displayScrollToTopButton:!0,ref:n,children:c.jsx(HP,{id:t})})});Jye.displayName="ProfilePage";const Xye=h.forwardRef(({url:t,index:e},n)=>{const r=h.useMemo(()=>t?so(t):void 0,[t]),o=h.useMemo(()=>t?Aa(t):void 0,[t]);return r?c.jsx(wr,{ref:n,index:e,title:o,displayScrollToTopButton:!0,children:c.jsx(JP,{url:r})}):c.jsx(Hx,{ref:n})});Xye.displayName="RelayPage";const eve=h.forwardRef(({url:t,index:e},n)=>{const{t:r}=Ke(),o=h.useMemo(()=>t?so(t):void 0,[t]),s=h.useMemo(()=>t?r("Reviews for {{relay}}",{relay:Aa(t)}):void 0,[t]);return o?c.jsx(wr,{ref:n,index:e,title:s,displayScrollToTopButton:!0,children:c.jsx(a1,{showKinds:[gt.RELAY_REVIEW],subRequests:[{urls:[o,...Oe.currentRelays],filter:{"#d":[o]}}],hideSpam:!0})}):c.jsx(Hx,{ref:n})});eve.displayName="RelayReviewsPage";const tve=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),[r,o]=h.useState("favorite-relays");return h.useEffect(()=>{switch(window.location.hash){case"#mailbox":o("mailbox");break;case"#favorite-relays":o("favorite-relays");break}},[]),c.jsx(wr,{ref:e,index:t,title:n("Relay settings"),children:c.jsxs(Cx,{value:r,onValueChange:o,className:"px-4 py-3 space-y-4",children:[c.jsxs(iv,{children:[c.jsx(ol,{value:"favorite-relays",children:n("Favorite Relays")}),c.jsx(ol,{value:"mailbox",children:n("Read & Write Relays")})]}),c.jsx(sl,{value:"favorite-relays",children:c.jsx(l0e,{})}),c.jsx(sl,{value:"mailbox",children:c.jsx(G0e,{})})]})})});tve.displayName="RelaySettingsPage";const MO="https://rizful.com",u0t=`${MO}/create-account`,f0t=`${MO}/nostr_onboarding_auth_token/get_token`,d0t=`${MO}/nostr_onboarding_auth_token/post_for_secrets`,nve=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{pubkey:r,profile:o,profileEvent:s,publish:a,updateProfileEvent:i}=wt(),{provider:l}=zh(),[u,d]=h.useState(""),[f,m]=h.useState(!1),[g,w]=h.useState(!1),[b,j]=h.useState(!1),[S,I]=h.useState("");h.useEffect(()=>{if(l instanceof kTe.NostrWebLNProvider){const D=l.client.lud16;if((D==null?void 0:D.split("@")[1])!=="rizful.com")return;D&&(w(!0),I(D))}},[l]);const N=async D=>{try{if(o!=null&&o.lightningAddress)return;const P=s?JSON.parse(s.content):{};if(oy(D))P.lud16=D;else if(D.startsWith("lnurl"))P.lud06=D;else throw new Error(n("Invalid Lightning Address"));P.nip05||(P.nip05=D);const L=ZT(JSON.stringify(P),s==null?void 0:s.tags),F=await a(L);await i(F)}catch(P){on.error(P instanceof Error?P.message:String(P))}},M=async()=>{m(!0);try{const D=await fetch(d0t,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"omit",body:JSON.stringify({secret_code:u.trim(),nostr_public_key:r})});if(!D.ok){const L=await D.text();throw new Error(L||"Exchange failed")}const P=await D.json();P.nwc_uri&&Yoe(P.nwc_uri),P.lightning_address&&N(P.lightning_address)}catch(D){on.error(D instanceof Error?D.message:String(D))}finally{setTimeout(()=>m(!1),5e3)}};return g?c.jsx(wr,{ref:e,index:t,title:n("Rizful Vault"),children:c.jsxs("div",{className:"px-4 pt-3 space-y-6 flex flex-col items-center",children:[c.jsx(eL,{className:"size-40 fill-green-400 text-background"}),c.jsx("div",{className:"font-semibold text-2xl",children:n("Rizful Vault connected!")}),c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:n("You can now use your Rizful Vault to zap your favorite notes and creators.")}),S&&c.jsxs("div",{className:"flex flex-col items-center gap-2",children:[c.jsxs("div",{children:[n("Your Lightning Address"),":"]}),c.jsxs("div",{className:"font-semibold text-lg rounded-lg px-4 py-1 flex justify-center items-center gap-2 cursor-pointer hover:bg-accent/80",onClick:()=>{navigator.clipboard.writeText(S),j(!0),setTimeout(()=>j(!1),2e3)},children:[S," ",b?c.jsx(Zr,{className:"size-4"}):c.jsx(La,{className:"size-4"})]})]})]})}):c.jsx(wr,{ref:e,index:t,title:n("Rizful Vault"),children:c.jsxs("div",{className:"px-4 pt-3 space-y-6",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"font-semibold",children:["1. ",n("New to Rizful?")]}),c.jsxs(Pe,{className:"bg-lime-500 hover:bg-lime-500/90 w-64",onClick:()=>window.open(u0t,"_blank"),children:[n("Sign up for Rizful")," ",c.jsx(of,{})]}),c.jsx("div",{className:"text-sm text-muted-foreground",children:n("If you already have a Rizful account, you can skip this step.")})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"font-semibold",children:["2. ",n("Get your one-time code")]}),c.jsxs(Pe,{className:"bg-orange-500 hover:bg-orange-500/90 w-64",onClick:()=>p0t(f0t,"rizful_codes"),children:[n("Get code"),c.jsx(of,{})]})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"font-semibold",children:["3. ",n("Connect to your Rizful Vault")]}),c.jsx(Pn,{placeholder:n("Paste your one-time code here"),value:u,onChange:D=>{d(D.target.value.trim())}}),c.jsxs(Pe,{className:"bg-sky-500 hover:bg-sky-500/90 w-64",disabled:!u||f,onClick:()=>M(),children:[f&&c.jsx(ao,{className:"animate-spin"}),n("Connect")]})]})]})})});nve.displayName="RizfulPage";function p0t(t,e,n=520,r=700){const o=Math.max((window.screenX||0)+(window.innerWidth-n)/2,0),s=Math.max((window.screenY||0)+(window.innerHeight-r)/2,0);return window.open(t,e,`width=${n},height=${r},left=${o},top=${s},resizable=yes,scrollbars=yes,menubar=no,toolbar=no,location=no,status=no`)}const rve=h.forwardRef(({index:t},e)=>{const{push:n,pop:r}=Cn(),[o,s]=h.useState(""),a=h.useRef(null),i=h.useMemo(()=>{const u=new URLSearchParams(window.location.search),d=u.get("t");if(d!=="profile"&&d!=="profiles"&&d!=="notes"&&d!=="hashtag"&&d!=="relay"&&d!=="nak")return null;const f=u.get("q");if(!f)return null;const m=u.get("i")??"";let g;if(d==="nak")try{g=Bie(m)}catch{}return s(m||f),{type:d,search:f,input:m,request:g}},[]);h.useEffect(()=>{var u;window.location.search||(u=a.current)==null||u.focus()},[]);const l=u=>{u&&n(lFe(u))};return c.jsx(wr,{ref:e,index:t,titlebar:c.jsxs("div",{className:"flex items-center gap-1 h-full",children:[c.jsx(Pe,{variant:"ghost",size:"titlebar-icon",onClick:()=>r(),children:c.jsx(vS,{})}),c.jsx(DE,{ref:a,input:o,setInput:s,onSearch:l})]}),displayScrollToTopButton:!0,children:c.jsx(XP,{searchParams:i})})});rve.displayName="SearchPage";const ove=h.forwardRef(({index:t},e)=>{const{t:n}=Ke();return c.jsx(wr,{ref:e,index:t,title:n("Settings"),children:c.jsx(fye,{})})});ove.displayName="SettingsPage";const sve=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{faviconUrlTemplate:r,setFaviconUrlTemplate:o}=Qr(),[s,a]=h.useState(Ze.getFilterOutOnionRelays());return c.jsx(wr,{ref:e,index:t,title:n("System"),children:c.jsxs("div",{className:"space-y-4 mt-3",children:[c.jsxs("div",{className:"px-4 space-y-2",children:[c.jsx(_t,{htmlFor:"favicon-url",className:"text-base font-normal",children:n("Favicon URL")}),c.jsx(Pn,{id:"favicon-url",type:"text",value:r,onChange:i=>o(i.target.value),placeholder:mk})]}),c.jsxs("div",{className:"flex justify-between items-center px-4 min-h-9",children:[c.jsx(_t,{htmlFor:"filter-out-onion-relays",className:"text-base font-normal",children:n("Filter out onion relays")}),c.jsx(lr,{id:"filter-out-onion-relays",checked:s,onCheckedChange:i=>{Ze.setFilterOutOnionRelays(i),a(i),cr()}})]})]})})});sve.displayName="SystemSettingsPage";const ave=h.forwardRef(({index:t},e)=>{const{t:n}=Ke(),{push:r}=Cn(),{isWalletConnected:o,walletInfo:s}=zh();return c.jsx(wr,{ref:e,index:t,title:n("Wallet"),children:o?c.jsxs("div",{className:"px-4 pt-3 space-y-4",children:[c.jsxs("div",{children:[(s==null?void 0:s.node.alias)&&c.jsxs("div",{className:"mb-2",children:[n("Connected to")," ",c.jsx("strong",{children:s.node.alias})]}),c.jsxs(cf,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Pe,{variant:"destructive",children:n("Disconnect Wallet")})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:n("Are you absolutely sure?")}),c.jsx(au,{children:n("You will not be able to send zaps to others.")})]}),c.jsxs(ou,{children:[c.jsx(ff,{children:n("Cancel")}),c.jsx(uf,{variant:"destructive",onClick:()=>Goe(),children:n("Disconnect")})]})]})]})]}),c.jsx(iye,{}),c.jsx(lye,{}),c.jsx(uye,{}),c.jsx(cye,{})]}):c.jsxs("div",{className:"px-4 pt-3 flex items-center gap-2",children:[c.jsx(Pe,{className:"bg-foreground hover:bg-foreground/90",onClick:()=>r(dFe()),children:n("Start with a Rizful Vault")}),c.jsx(Pe,{variant:"link",className:"text-muted-foreground hover:text-foreground px-0",onClick:()=>{UD()},children:n("or other wallets")})]})})});ave.displayName="WalletPage";var _u={},QQ;function h0t(){if(QQ)return _u;QQ=1,Object.defineProperty(_u,"__esModule",{value:!0}),_u.TokenData=void 0,_u.parse=f,_u.compile=m,_u.match=b,_u.pathToRegexp=j,_u.stringify=M;const t="/",e=L=>L,n=/^[$_\p{ID_Start}]$/u,r=/^[$\u200c\u200d\p{ID_Continue}]$/u,o="https://git.new/pathToRegexpError",s={"{":"{","}":"}","(":"(",")":")","[":"[","]":"]","+":"+","?":"?","!":"!"};function a(L){return L.replace(/[{}()\[\]+?!:*]/g,"\\$&")}function i(L){return L.replace(/[.+*?^${}()[\]|/\\]/g,"\\$&")}function*l(L){const F=[...L];let T=0;function R(){let z="";if(n.test(F[++T]))for(z+=F[T];r.test(F[++T]);)z+=F[T];else if(F[T]==='"'){let G=T;for(;T<F.length;){if(F[++T]==='"'){T++,G=0;break}F[T]==="\\"?z+=F[++T]:z+=F[T]}if(G)throw new TypeError(`Unterminated quote at ${G}: ${o}`)}if(!z)throw new TypeError(`Missing parameter name at ${T}: ${o}`);return z}for(;T<F.length;){const z=F[T],G=s[z];if(G)yield{type:G,index:T++,value:z};else if(z==="\\")yield{type:"ESCAPED",index:T++,value:F[T++]};else if(z===":"){const Z=R();yield{type:"PARAM",index:T,value:Z}}else if(z==="*"){const Z=R();yield{type:"WILDCARD",index:T,value:Z}}else yield{type:"CHAR",index:T,value:F[T++]}}return{type:"END",index:T,value:""}}class u{constructor(F){this.tokens=F}peek(){if(!this._peek){const F=this.tokens.next();this._peek=F.value}return this._peek}tryConsume(F){const T=this.peek();if(T.type===F)return this._peek=void 0,T.value}consume(F){const T=this.tryConsume(F);if(T!==void 0)return T;const{type:R,index:z}=this.peek();throw new TypeError(`Unexpected ${R} at ${z}, expected ${F}: ${o}`)}text(){let F="",T;for(;T=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)F+=T;return F}}class d{constructor(F){this.tokens=F}}_u.TokenData=d;function f(L,F={}){const{encodePath:T=e}=F,R=new u(l(L));function z(Z){const W=[];for(;;){const U=R.text();U&&W.push({type:"text",value:T(U)});const ee=R.tryConsume("PARAM");if(ee){W.push({type:"param",name:ee});continue}const $=R.tryConsume("WILDCARD");if($){W.push({type:"wildcard",name:$});continue}if(R.tryConsume("{")){W.push({type:"group",tokens:z("}")});continue}return R.consume(Z),W}}const G=z("END");return new d(G)}function m(L,F={}){const{encode:T=encodeURIComponent,delimiter:R=t}=F,z=L instanceof d?L:f(L,F),G=g(z.tokens,R,T);return function(W={}){const[U,...ee]=G(W);if(ee.length)throw new TypeError(`Missing parameters: ${ee.join(", ")}`);return U}}function g(L,F,T){const R=L.map(z=>w(z,F,T));return z=>{const G=[""];for(const Z of R){const[W,...U]=Z(z);G[0]+=W,G.push(...U)}return G}}function w(L,F,T){if(L.type==="text")return()=>[L.value];if(L.type==="group"){const z=g(L.tokens,F,T);return G=>{const[Z,...W]=z(G);return W.length?[""]:[Z]}}const R=T||e;return L.type==="wildcard"&&T!==!1?z=>{const G=z[L.name];if(G==null)return["",L.name];if(!Array.isArray(G)||G.length===0)throw new TypeError(`Expected "${L.name}" to be a non-empty array`);return[G.map((Z,W)=>{if(typeof Z!="string")throw new TypeError(`Expected "${L.name}/${W}" to be a string`);return R(Z)}).join(F)]}:z=>{const G=z[L.name];if(G==null)return["",L.name];if(typeof G!="string")throw new TypeError(`Expected "${L.name}" to be a string`);return[R(G)]}}function b(L,F={}){const{decode:T=decodeURIComponent,delimiter:R=t}=F,{regexp:z,keys:G}=j(L,F),Z=G.map(W=>T===!1?e:W.type==="param"?T:U=>U.split(R).map(T));return function(U){const ee=z.exec(U);if(!ee)return!1;const $=ee[0],H=Object.create(null);for(let Y=1;Y<ee.length;Y++){if(ee[Y]===void 0)continue;const q=G[Y-1],J=Z[Y-1];H[q.name]=J(ee[Y])}return{path:$,params:H}}}function j(L,F={}){const{delimiter:T=t,end:R=!0,sensitive:z=!1,trailing:G=!0}=F,Z=[],W=[],U=z?"":"i",$=(Array.isArray(L)?L:[L]).map(q=>q instanceof d?q:f(q,F));for(const{tokens:q}of $)for(const J of S(q,0,[])){const ne=I(J,T,Z);W.push(ne)}let H=`^(?:${W.join("|")})`;return G&&(H+=`(?:${i(T)}$)?`),H+=R?"$":`(?=${i(T)}|$)`,{regexp:new RegExp(H,U),keys:Z}}function*S(L,F,T){if(F===L.length)return yield T;const R=L[F];if(R.type==="group"){const z=T.slice();for(const G of S(R.tokens,0,z))yield*S(L,F+1,G)}else T.push(R);yield*S(L,F+1,T)}function I(L,F,T){let R="",z="",G=!0;for(let Z=0;Z<L.length;Z++){const W=L[Z];if(W.type==="text"){R+=i(W.value),z+=W.value,G||(G=W.value.includes(F));continue}if(W.type==="param"||W.type==="wildcard"){if(!G&&!z)throw new TypeError(`Missing text after "${W.name}": ${o}`);W.type==="param"?R+=`(${N(F,G?"":z)}+)`:R+="([\\s\\S]+)",T.push(W),z="",G=!1;continue}}return R}function N(L,F){return F.length<2?L.length<2?`[^${i(L+F)}]`:`(?:(?!${i(L)})[^${i(F)}])`:L.length<2?`(?:(?!${i(F)})[^${i(L)}])`:`(?:(?!${i(F)}|${i(L)})[\\s\\S])`}function M(L){return L.tokens.map(function F(T,R,z){if(T.type==="text")return a(T.value);if(T.type==="group")return`{${T.tokens.map(F).join("")}}`;const Z=D(T.name)&&P(z[R+1])?T.name:JSON.stringify(T.name);if(T.type==="param")return`:${Z}`;if(T.type==="wildcard")return`*${Z}`;throw new TypeError(`Unexpected token: ${T}`)}).join("")}function D(L){const[F,...T]=L;return n.test(F)?T.every(R=>r.test(R)):!1}function P(L){return(L==null?void 0:L.type)!=="text"?!0:!r.test(L.value[0])}return _u}var m0t=h0t();const g0t=[{path:"/login",element:c.jsx(_ye,{})},{path:"/logout",element:c.jsx(Mye,{})},{path:"/notes",element:c.jsx(Tye,{})},{path:"/notes/:id",element:c.jsx(Dye,{})},{path:"/users",element:c.jsx(Qye,{})},{path:"/users/:id",element:c.jsx(Jye,{})},{path:"/users/:id/following",element:c.jsx(Eye,{})},{path:"/users/:id/relays",element:c.jsx(Lye,{})},{path:"/relays/:url",element:c.jsx(Xye,{})},{path:"/relays/:url/reviews",element:c.jsx(eve,{})},{path:"/search",element:c.jsx(rve,{})},{path:"/external-content",element:c.jsx(Sye,{})},{path:"/settings",element:c.jsx(ove,{})},{path:"/help",element:c.jsx(Aye,{})},{path:"/settings/relays",element:c.jsx(tve,{})},{path:"/settings/wallet",element:c.jsx(ave,{})},{path:"/settings/posts",element:c.jsx(Pye,{})},{path:"/settings/general",element:c.jsx(Iye,{})},{path:"/settings/appearance",element:c.jsx(gye,{})},{path:"/settings/emoji-packs",element:c.jsx(bye,{})},{path:"/settings/system",element:c.jsx(sve,{})},{path:"/profile-editor",element:c.jsx(Zye,{})},{path:"/mutes",element:c.jsx(Rye,{})},{path:"/rizful",element:c.jsx(nve,{})},{path:"/bookmarks",element:c.jsx(yye,{})},{path:"/dm/:pubkey",element:c.jsx(wye,{})},{path:"/follow-packs/:id",element:c.jsx(Nye,{})},{path:"/chat/:channelId",element:c.jsx(mye,{})}],y0t=g0t.map(({path:t,element:e})=>({path:t,element:h.isValidElement(e)?e:null,matcher:m0t.match(t)})),tk=h.createContext(void 0),nk=h.createContext(void 0),ive=h.createContext(void 0);function $o(){const t=h.useContext(tk);if(!t)throw new Error("usePrimaryPage must be used within a PrimaryPageContext.Provider");return t}function Cn(){const t=h.useContext(nk);if(!t)throw new Error("usePrimaryPage must be used within a SecondaryPageContext.Provider");return t}function lve(){const t=h.useContext(ive);return t||{isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}}}function v0t({maxStackSize:t=5}){const[e,n]=h.useState("home"),[r,o]=h.useState([{name:"home",element:UQ.home}]),[s,a]=h.useState([]),[i,l]=h.useState(!1),{isSmallScreen:u}=gn(),{themeSetting:d}=vf(),{enableSingleColumnLayout:f}=ts(),m=h.useRef(!1),g={isOpen:i,open:()=>l(!0),close:()=>l(!1),toggle:()=>l(I=>!I)};h.useEffect(()=>{if(u)return;const I=N=>{(N.metaKey||N.ctrlKey)&&N.key==="k"&&(N.preventDefault(),w("search"))};return window.addEventListener("keydown",I),()=>{window.removeEventListener("keydown",I)}},[u]),h.useEffect(()=>{if(["/npub1","/nprofile1"].some(N=>window.location.pathname.startsWith(N))?window.history.replaceState(null,"","/users"+window.location.pathname+window.location.search+window.location.hash):["/note1","/nevent1","/naddr1"].some(N=>window.location.pathname.startsWith(N))&&window.history.replaceState(null,"","/notes"+window.location.pathname+window.location.search+window.location.hash),window.history.pushState(null,"",window.location.href),window.location.pathname!=="/"){const N=window.location.pathname+window.location.search+window.location.hash;a(M=>{var L;if(JQ(M,N))return M;const{newStack:D,newItem:P}=X5(M,N,t,(L=window.history.state)==null?void 0:L.index);return P&&window.history.replaceState({index:P.index,url:N},"",N),D})}else{const M=new URLSearchParams(window.location.search).get("r");if(M){const D=so(M);D&&w("relay",{url:D})}}const I=N=>{if(m.current){m.current=!1;return}if(po.pop()){m.current=!0,window.history.forward();return}let D=N.state;a(P=>{const L=P[P.length-1],F=L==null?void 0:L.index;if(!D){if(window.location.pathname+window.location.search+window.location.hash!=="/")return P;D={index:-1,url:"/"}}if(F===void 0||D.index>F){const{newStack:z}=X5(P,D.url,t);return z}if(D.index===F)return P;const T=P.filter(z=>z.index<=D.index),R=T[T.length-1];if(R){if(!R.element){const{element:z,ref:G}=PR(R.url,D.index);z&&(R.element=z,R.ref=G)}}else{const{element:z,ref:G}=PR(D.url,D.index);z&&T.push({index:D.index,url:D.url,element:z,ref:G})}return T.length===0&&window.history.replaceState(null,"","/"),T})};return window.addEventListener("popstate",I),()=>{window.removeEventListener("popstate",I)}},[]);const w=(I,N)=>{var D;const M=I===e;o(P=>{const L=P.find(F=>F.name===I);return L&&N?(L.props=N,[...P]):L?P:[...P,{name:I,element:UQ[I],props:N}]}),n(I),M&&((D=hye[I].current)==null||D.scrollToTop("smooth")),f&&S()},b=(I,N)=>{a(M=>{var L;if(JQ(M,I)){const F=M[M.length-1];return(L=F==null?void 0:F.ref)!=null&&L.current&&F.ref.current.scrollToTop("instant"),M}const{newStack:D,newItem:P}=X5(M,I,t,N);return P&&window.history.pushState({index:P.index,url:I},"",I),D})},j=(I=-1)=>{s.length<=-I?(window.history.replaceState(null,"","/"),a([])):window.history.go(I)},S=()=>{s.length!==0&&j(-s.length)};return u?c.jsx(tk.Provider,{value:{navigate:w,current:e,display:s.length===0},children:c.jsx(nk.Provider,{value:{push:b,pop:j,currentIndex:s.length?s[s.length-1].index:0},children:c.jsx(ive.Provider,{value:g,children:c.jsx(zA,{children:c.jsx(x5,{children:c.jsxs(oA,{secondaryStackLength:s.length,sidebarDrawerOpen:i,onBack:()=>j(),onCloseSecondary:()=>S(),children:[!!s.length&&s.map((I,N)=>c.jsx("div",{style:{display:N===s.length-1?"block":"none"},children:I.element},I.index)),r.map(({name:I,element:N,props:M})=>c.jsx("div",{style:{display:s.length===0&&e===I?"block":"none"},children:M?h.cloneElement(N,M):N},I)),c.jsx(Yft,{open:i,onOpenChange:l}),c.jsx(j5,{}),c.jsx(k5,{}),c.jsx(sA,{}),c.jsx(pZ,{})]})})})})})}):f?c.jsx(tk.Provider,{value:{navigate:w,current:e,display:s.length===0},children:c.jsx(nk.Provider,{value:{push:b,pop:j,currentIndex:s.length?s[s.length-1].index:0},children:c.jsx(zA,{children:c.jsx(x5,{children:c.jsxs(oA,{secondaryStackLength:s.length,sidebarDrawerOpen:!1,onBack:()=>j(),onCloseSecondary:()=>S(),children:[c.jsxs("div",{className:"flex lg:justify-around w-full bg-chrome-background",children:[c.jsx("div",{className:"sticky top-0 z-40 lg:w-full flex self-start h-[var(--vh)]",children:c.jsx(wZ,{})}),c.jsxs("div",{className:"flex-1 w-0 bg-background border-x lg:flex-auto lg:w-[640px] lg:shrink-0",children:[!!s.length&&s.map((I,N)=>c.jsx("div",{style:{display:N===s.length-1?"block":"none"},children:I.element},I.index)),r.map(({name:I,element:N,props:M})=>c.jsx("div",{style:{display:s.length===0&&e===I?"block":"none"},children:M?h.cloneElement(N,M):N},I))]}),c.jsx("div",{className:"hidden lg:w-full lg:block"})]}),c.jsx(j5,{}),c.jsx(k5,{}),c.jsx(xZ,{className:"fixed bottom-20 right-0 z-50 w-80 rounded-l-full rounded-r-none overflow-hidden shadow-lg border"}),c.jsx(sA,{}),c.jsx(pZ,{})]})})})})}):c.jsx(tk.Provider,{value:{navigate:w,current:e,display:!0},children:c.jsx(nk.Provider,{value:{push:b,pop:j,currentIndex:s.length?s[s.length-1].index:0},children:c.jsx(zA,{children:c.jsx(x5,{children:c.jsxs(oA,{secondaryStackLength:s.length,sidebarDrawerOpen:!1,onBack:()=>j(),onCloseSecondary:()=>S(),children:[c.jsx("div",{className:"flex flex-col items-center bg-surface-background",children:c.jsxs("div",{className:"flex h-[var(--vh)] w-full bg-surface-background",style:{maxWidth:"1920px"},children:[c.jsx(wZ,{}),c.jsxs("div",{className:Te("grid grid-cols-2 w-full",d==="dark"?"":"gap-2 pr-2 py-2"),children:[c.jsx("div",{className:Te("bg-background overflow-hidden",d==="dark"?"border-l":"rounded-2xl shadow-lg"),children:r.map(({name:I,element:N,props:M})=>c.jsx("div",{className:"flex flex-col h-full w-full",style:{display:e===I?"block":"none"},children:M?h.cloneElement(N,M):N},I))}),c.jsx("div",{className:Te("bg-background overflow-hidden",d==="dark"?"border-l":"rounded-2xl",d!=="dark"&&s.length>0&&"shadow-lg",s.length===0?"bg-surface":""),children:s.map((I,N)=>c.jsx("div",{className:"flex flex-col h-full w-full",style:{display:N===s.length-1?"block":"none"},children:I.element},I.index))})]})]})}),c.jsx(j5,{}),c.jsx(k5,{}),c.jsx(xZ,{className:"fixed bottom-20 right-0 z-50 w-80 rounded-l-full rounded-r-none overflow-hidden shadow-lg border"}),c.jsx(sA,{})]})})})})})}function Xl({to:t,children:e,className:n,onClick:r}){const{push:o}=Cn();return c.jsx("span",{className:Te("cursor-pointer",n),onClick:s=>{r&&r(s),o(t)},children:e})}function JQ(t,e){const n=t[t.length-1];return n?n.url===e:!1}function PR(t,e){const n=t.split("?")[0].split("#")[0];for(const{matcher:r,element:o}of y0t){const s=r(n);if(!s)continue;if(!o)return{};const a=h.createRef();return{element:h.cloneElement(o,{...s.params,index:e,ref:a}),ref:a}}return{}}function X5(t,e,n=5,r){const o=t[t.length-1],s=r??(o?o.index+1:0),{element:a,ref:i}=PR(e,s);if(!a)return{newStack:t,newItem:null};const l={element:a,ref:i,url:e,index:s},u=[...t,l],d=u.findIndex(f=>f.element);return u.length-d>n&&(u[d].element=null),{newStack:u,newItem:l}}const XQ={large:"w-24 h-24",big:"w-16 h-16",semiBig:"w-12 h-12",normal:"w-10 h-10",medium:"w-9 h-9",small:"w-7 h-7",xSmall:"w-5 h-5",tiny:"w-4 h-4"};function Ro({userId:t,className:e,size:n="normal"}){const r=h.useMemo(()=>uu(),[]),o=c.jsx(Xl,{to:xf(t),onClick:s=>s.stopPropagation(),children:c.jsx(ec,{userId:t,size:n,className:e})});return r?o:c.jsxs(kL,{children:[c.jsx(jL,{children:o}),c.jsx(LS,{className:"w-72",children:c.jsx(ige,{userId:t})})]})}function ec({userId:t,size:e="normal",className:n,onClick:r}){const{profile:o}=ua(t),s=h.useMemo(()=>o!=null&&o.pubkey?lx(o.pubkey):"",[o]);if(!o)return c.jsx(Dn,{className:Te("shrink-0",XQ[e],"rounded-full",n)});const{avatar:a,pubkey:i}=o||{};return c.jsx(Uo,{image:{url:a??s,pubkey:i},errorPlaceholder:s,className:"object-cover object-center",classNames:{wrapper:Te("shrink-0 rounded-full bg-background",XQ[e],n)},onClick:r})}function w0t({className:t,afterSwitch:e}){const{accounts:n,account:r,switchAccount:o,removeAccount:s}=wt(),[a,i]=h.useState(null);return c.jsx("div",{className:Te("space-y-2",t),children:n.map(l=>{var u;return c.jsxs("div",{className:Te("relative rounded-lg",Ap(l,r)?"border border-primary":"clickable"),onClick:()=>{Ap(l,r)||(i(l),o(l).then(()=>e()).finally(()=>i(null)))},children:[c.jsxs("div",{className:"flex justify-between items-center p-2",children:[c.jsxs("div",{className:"flex-1 flex items-center gap-2 relative",children:[c.jsx(ec,{userId:l.pubkey}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(od,{userId:l.pubkey,className:"font-semibold truncate"}),c.jsx("div",{className:"text-sm rounded-full bg-muted px-2 w-fit",children:((u=Vt.tryFromString(l.pubkey))==null?void 0:u.formatNpub(12))??l.pubkey.slice(0,8)})]})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"flex gap-2 items-center",children:c.jsx(Pae,{signerType:l.signerType})}),c.jsx(Pe,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive",onClick:d=>{d.stopPropagation(),s(l)},children:c.jsx(af,{})})]})]}),a&&Ap(l,a)&&c.jsx("div",{className:"absolute top-0 left-0 flex w-full h-full items-center justify-center rounded-lg bg-muted/60",children:c.jsx(_r,{size:16,className:"animate-spin"})})]},`${l.pubkey}-${l.signerType}`)})})}const vm={CONNECT:"connect",GET_PUBLIC_KEY:"get_public_key",SIGN_EVENT:"sign_event",NIP04_ENCRYPT:"nip04_encrypt",NIP04_DECRYPT:"nip04_decrypt",NIP44_ENCRYPT:"nip44_encrypt",NIP44_DECRYPT:"nip44_decrypt"};function f3(){const t=crypto.getRandomValues(new Uint8Array(16));return Kc(t)}function b0t(t){if(!t.startsWith("bunker://"))throw new Error("Invalid bunker URL: must start with bunker://");const e=t.slice(9),[n,r]=e.split("?");if(!n||n.length!==64)throw new Error("Invalid bunker URL: missing or invalid pubkey");const o=new URLSearchParams(r||""),s=o.getAll("relay"),a=o.get("secret")||void 0;if(s.length===0)throw new Error("Invalid bunker URL: no relay specified");return{pubkey:n,relays:s,secret:a}}function x0t(t,e,n){let r=t.replace("wss://","").replace("ws://","").replace("https://","").replace("http://","").replace(/\/$/,"");const o=new URLSearchParams;return o.set("pubkey",e),n&&o.set("secret",n),`nostr+connect://${r}?${o.toString()}`}function k0t(t,e,n){const r=new URLSearchParams;return e.forEach(o=>r.append("relay",o)),`bunker://${t}?${r.toString()}`}class R2{constructor(e,n,r){je(this,"bunkerPubkey");je(this,"relayUrls");je(this,"connectionSecret");je(this,"localPrivkey");je(this,"localPubkey");je(this,"remotePubkey",null);je(this,"ws",null);je(this,"pendingRequests",new Map);je(this,"connected",!1);je(this,"requestTimeout",3e4);je(this,"awaitingConnection",!1);je(this,"connectionResolve",null);this.bunkerPubkey=e,this.relayUrls=n,this.connectionSecret=r,this.localPrivkey=ql.utils.randomPrivateKey(),this.localPubkey=ug(this.localPrivkey)}static async awaitSignerConnection(e,n,r=12e4){const o=ql.utils.randomPrivateKey(),s=ug(o),a=n||f3(),i=x0t(e,s,a),l=new R2("",[e],a);l.localPrivkey=o,l.localPubkey=s,l.awaitingConnection=!0;const u=new Promise((d,f)=>{l.connectionResolve=m=>{l.bunkerPubkey=m,l.awaitingConnection=!1,d(l)},setTimeout(()=>{l.awaitingConnection&&(l.disconnect(),f(new Error("Connection timeout waiting for signer")))},r),l.connectAndWait(e).catch(f)});return{connectUrl:i,signer:u}}async connectAndWait(e){await this.connectToRelayAndListen(e)}async connectToRelayAndListen(e){return new Promise((n,r)=>{let o=e;e.startsWith("http://")?o="ws://"+e.slice(7):e.startsWith("https://")?o="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(o="wss://"+e);const s=new WebSocket(o),a=setTimeout(()=>{s.close(),r(new Error("Connection timeout"))},1e4);s.onopen=()=>{clearTimeout(a),this.ws=s,this.connected=!0;const i=f3();s.send(JSON.stringify(["REQ",i,{kinds:[24133],"#p":[this.localPubkey],since:Math.floor(Date.now()/1e3)-60}])),n()},s.onerror=()=>{clearTimeout(a),r(new Error("WebSocket error"))},s.onclose=()=>{this.connected=!1,this.ws=null},s.onmessage=i=>{this.handleMessage(i.data)}})}getLocalPubkey(){return this.localPubkey}async init(){for(const e of this.relayUrls)try{await this.connectToRelay(e);break}catch(n){console.warn(`Failed to connect to ${e}:`,n)}if(!this.connected)throw new Error("Failed to connect to any bunker relay");await this.connect()}async connectToRelay(e){return new Promise((n,r)=>{let o=e;e.startsWith("http://")?o="ws://"+e.slice(7):e.startsWith("https://")?o="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(o="wss://"+e);const s=new WebSocket(o),a=setTimeout(()=>{s.close(),r(new Error("Connection timeout"))},1e4);s.onopen=()=>{clearTimeout(a),this.ws=s,this.connected=!0;const i=f3();s.send(JSON.stringify(["REQ",i,{kinds:[24133],"#p":[this.localPubkey],since:Math.floor(Date.now()/1e3)-60}])),n()},s.onerror=()=>{clearTimeout(a),r(new Error("WebSocket error"))},s.onclose=()=>{this.connected=!1,this.ws=null},s.onmessage=i=>{this.handleMessage(i.data)}})}async handleMessage(e){try{const n=JSON.parse(e);if(!Array.isArray(n))return;const[r,...o]=n;if(r==="EVENT"){const[,s]=o;s.kind===24133&&await this.handleNIP46Response(s)}else r==="OK"||r==="NOTICE"&&console.warn("Relay notice:",o[0])}catch(n){console.error("Failed to parse message:",n)}}async handleNIP46Response(e){var n;try{const r=await T0.decrypt(this.localPrivkey,e.pubkey,e.content),o=JSON.parse(r);if(this.awaitingConnection&&o.method==="connect"){const i=o;if(console.log("Received connect request from signer:",e.pubkey),this.connectionSecret&&i.params[1]!==this.connectionSecret){console.warn("Connect request has wrong secret, ignoring");return}const l={id:i.id,result:"ack"},u=await T0.encrypt(this.localPrivkey,e.pubkey,JSON.stringify(l)),d={kind:24133,created_at:Math.floor(Date.now()/1e3),content:u,tags:[["p",e.pubkey]]},f=_i(d,this.localPrivkey);(n=this.ws)==null||n.send(JSON.stringify(["EVENT",f])),this.connectionResolve&&this.connectionResolve(e.pubkey);return}const s=o,a=this.pendingRequests.get(s.id);a&&(clearTimeout(a.timeout),this.pendingRequests.delete(s.id),s.error?a.reject(new Error(s.error)):s.result!==void 0?a.resolve(s.result):a.reject(new Error("Empty response")))}catch(r){console.error("Failed to handle NIP-46 response:",r)}}async sendRequest(e,n=[]){if(!this.ws||!this.connected)throw new Error("Not connected to bunker");const r={id:f3(),method:e,params:n},o=await T0.encrypt(this.localPrivkey,this.bunkerPubkey,JSON.stringify(r)),s={kind:24133,created_at:Math.floor(Date.now()/1e3),content:o,tags:[["p",this.bunkerPubkey]]},a=_i(s,this.localPrivkey);return this.ws.send(JSON.stringify(["EVENT",a])),new Promise((i,l)=>{const u=setTimeout(()=>{this.pendingRequests.delete(r.id),l(new Error("Request timeout"))},this.requestTimeout);this.pendingRequests.set(r.id,{resolve:i,reject:l,timeout:u})})}async connect(){const e=[this.localPubkey];this.connectionSecret&&e.push(this.connectionSecret);const n=await this.sendRequest(vm.CONNECT,e);if(n!=="ack")throw new Error(`Connect failed: ${n}`)}async getPublicKey(){if(this.remotePubkey)return this.remotePubkey;const e=await this.sendRequest(vm.GET_PUBLIC_KEY);return this.remotePubkey=e,e}async signEvent(e){const n=JSON.stringify({...e,pubkey:await this.getPublicKey()}),r=await this.sendRequest(vm.SIGN_EVENT,[n]);return JSON.parse(r)}async nip04Encrypt(e,n){return this.sendRequest(vm.NIP04_ENCRYPT,[e,n])}async nip04Decrypt(e,n){return this.sendRequest(vm.NIP04_DECRYPT,[e,n])}async nip44Encrypt(e,n){return this.sendRequest(vm.NIP44_ENCRYPT,[e,n])}async nip44Decrypt(e,n){return this.sendRequest(vm.NIP44_DECRYPT,[e,n])}isConnected(){return this.connected}disconnect(){this.ws&&(this.ws.close(),this.ws=null),this.connected=!1,this.pendingRequests.forEach(e=>{clearTimeout(e.timeout),e.reject(new Error("Disconnected"))}),this.pendingRequests.clear()}getBunkerPubkey(){return this.bunkerPubkey}getRelayUrls(){return this.relayUrls}getBunkerUrl(){return k0t(this.bunkerPubkey,this.relayUrls)}}const j0t="";function C0t({back:t,onLoginSuccess:e}){const{t:n}=Ke(),{bunkerLoginWithSigner:r,bunkerLogin:o}=wt(),[s,a]=h.useState("choose"),[i,l]=h.useState(""),[u,d]=h.useState(j0t),[f,m]=h.useState(!1),[g,w]=h.useState(null),[b,j]=h.useState(null),[S,I]=h.useState(null),[N,M]=h.useState(!1),[D,P]=h.useState(!1);h.useEffect(()=>{if(s!=="scan")return;let R=!1;return(async()=>{if(m(!0),w(null),!u.trim()){w(n("Relay URL is required - enter a relay to use for bunker connection")),m(!1);return}try{const{connectUrl:G,signer:Z}=await R2.awaitSignerConnection(u,void 0,12e4);if(R)return;j(G);const W=await eye.toDataURL(G,{width:256,margin:2,color:{dark:"#000000",light:"#ffffff"}});I(W),m(!1);const U=await Z;if(R){U.disconnect();return}const ee=await U.getPublicKey();await r(U,ee),e()}catch(G){R||(w(G.message),m(!1))}})(),()=>{R=!0}},[s,u,r,e]);const L=R=>{l(R),w(null)},F=async R=>{if(R.preventDefault(),!i.trim()){w(n("Please enter a bunker URL"));return}if(!i.startsWith("bunker://")){w(n("Invalid bunker URL format. Must start with bunker://"));return}m(!0),w(null);try{await o(i.trim()),e()}catch(z){w(z.message)}finally{m(!1)}},T=async()=>{b&&(await navigator.clipboard.writeText(b),M(!0),setTimeout(()=>M(!1),2e3))};return s==="choose"?c.jsxs("div",{className:"flex flex-col gap-4",onClick:R=>R.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pe,{size:"icon",variant:"ghost",className:"rounded-full",onClick:t,children:c.jsx(Zm,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(ei,{className:"size-5"}),c.jsx("span",{className:"font-semibold",children:n("Login with Bunker")})]})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs(Pe,{variant:"outline",className:"w-full justify-start gap-3 h-auto py-4",onClick:()=>a("scan"),children:[c.jsx(o2,{className:"size-6"}),c.jsxs("div",{className:"text-left",children:[c.jsx("div",{className:"font-medium",children:n("Show QR Code")}),c.jsx("div",{className:"text-xs text-muted-foreground",children:n("Scan with Amber or another NIP-46 signer")})]})]}),c.jsxs(Pe,{variant:"outline",className:"w-full justify-start gap-3 h-auto py-4",onClick:()=>a("paste"),children:[c.jsx(ei,{className:"size-6"}),c.jsxs("div",{className:"text-left",children:[c.jsx("div",{className:"font-medium",children:n("Paste Bunker URL")}),c.jsx("div",{className:"text-xs text-muted-foreground",children:n("Enter a bunker:// URL from your signer")})]})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 pt-2",children:[c.jsx("p",{children:c.jsx("strong",{children:n("What is a bunker?")})}),c.jsx("p",{children:n("A bunker (NIP-46) is a remote signing service that keeps your private key secure while allowing you to sign Nostr events. Your key never leaves the bunker.")})]})]}):s==="scan"?c.jsxs("div",{className:"flex flex-col gap-4",onClick:R=>R.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pe,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>a("choose"),children:c.jsx(Zm,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(o2,{className:"size-5"}),c.jsx("span",{className:"font-semibold",children:n("Scan with Signer")})]})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"relayUrl",children:n("Relay URL")}),c.jsx(Pn,{id:"relayUrl",type:"text",placeholder:"wss://relay.nsec.app",value:u,onChange:R=>d(R.target.value),disabled:f||!!S,className:"font-mono text-sm"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:n("Enter a relay URL for bunker connection (e.g., wss://relay.nsec.app)")})]}),f&&!S&&c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx(ao,{className:"h-8 w-8 animate-spin text-muted-foreground"})}),S&&c.jsxs("div",{className:"flex flex-col items-center gap-4",children:[c.jsxs("div",{className:"relative cursor-pointer rounded-lg overflow-hidden",onClick:T,title:n("Click to copy URL"),children:[c.jsx("img",{src:S,alt:"Bunker QR Code",className:"w-64 h-64"}),c.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 opacity-0 hover:opacity-100 transition-opacity",children:N?c.jsx(Zr,{className:"size-8 text-white"}):c.jsx(La,{className:"size-8 text-white"})})]}),c.jsx("p",{className:"text-sm text-muted-foreground text-center",children:n("Scan this QR code with Amber or your NIP-46 signer")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(ao,{className:"h-4 w-4 animate-spin"}),c.jsx("span",{className:"text-sm text-muted-foreground",children:n("Waiting for connection...")})]}),b&&c.jsxs("div",{className:"w-full",children:[c.jsx(_t,{className:"text-xs text-muted-foreground",children:n("Connection URL")}),c.jsxs("div",{className:"flex gap-2 mt-1",children:[c.jsx(Pn,{value:b,readOnly:!0,className:"font-mono text-xs"}),c.jsx(Pe,{size:"icon",variant:"outline",onClick:T,children:N?c.jsx(Zr,{className:"size-4"}):c.jsx(La,{className:"size-4"})})]})]})]}),g&&c.jsx("div",{className:"text-sm text-destructive text-center",children:g})]})]}):c.jsxs(c.Fragment,{children:[D&&c.jsx(cx,{onScan:L,onClose:()=>P(!1)}),c.jsxs("div",{className:"flex flex-col gap-4",onClick:R=>R.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Pe,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>a("choose"),children:c.jsx(Zm,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(ei,{className:"size-5"}),c.jsx("span",{className:"font-semibold",children:n("Paste Bunker URL")})]})]}),c.jsxs("form",{onSubmit:F,className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(_t,{htmlFor:"bunkerUrl",children:n("Bunker URL")}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pn,{id:"bunkerUrl",type:"text",placeholder:"bunker://pubkey?relay=wss://...",value:i,onChange:R=>l(R.target.value),disabled:f,className:"font-mono text-sm"}),c.jsx(Pe,{type:"button",variant:"outline",size:"icon",onClick:()=>P(!0),disabled:f,title:n("Scan QR code"),children:c.jsx(CS,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:n("Enter the bunker connection URL. This is typically provided by your signing device or service.")})]}),g&&c.jsx("div",{className:"text-sm text-destructive",children:g}),c.jsx(Pe,{type:"submit",className:"w-full",disabled:f||!i.trim(),children:f?c.jsxs(c.Fragment,{children:[c.jsx(ao,{className:"mr-2 h-4 w-4 animate-spin"}),n("Connecting...")]}):n("Connect to Bunker")})]})]})]})}function S0t({back:t,onLoginSuccess:e}){const{t:n}=Ke(),{npubLogin:r}=wt(),[o,s]=h.useState(!1),[a,i]=h.useState(""),[l,u]=h.useState(null),d=m=>{i(m.target.value),u(null)},f=()=>{a!==""&&(s(!0),r(a).then(()=>e()).catch(m=>u(m.message)).finally(()=>s(!1)))};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(Pn,{placeholder:"npub...",value:a,onChange:d,className:l?"border-destructive":""}),l&&c.jsx("div",{className:"text-xs text-destructive pl-3",children:l})]}),c.jsxs(Pe,{onClick:f,disabled:o,children:[c.jsx(_r,{className:o?"animate-spin":"hidden"}),n("Login")]}),c.jsx(Pe,{variant:"secondary",onClick:t,children:n("Back")})]})}function E0t({back:t,onLoginSuccess:e}){return c.jsxs(Cx,{defaultValue:"nsec",children:[c.jsxs(iv,{children:[c.jsx(ol,{value:"nsec",children:"nsec"}),c.jsx(ol,{value:"ncryptsec",children:"ncryptsec"})]}),c.jsx(sl,{value:"nsec",children:c.jsx(N0t,{back:t,onLoginSuccess:e})}),c.jsx(sl,{value:"ncryptsec",children:c.jsx(I0t,{back:t,onLoginSuccess:e})})]})}function N0t({back:t,onLoginSuccess:e}){const{t:n}=Ke(),{nsecLogin:r}=wt(),[o,s]=h.useState(""),[a,i]=h.useState(null),[l,u]=h.useState(""),[d,f]=h.useState(!1),m=b=>{s(b.target.value),i(null)},g=b=>{s(b),i(null)},w=()=>{o!==""&&r(o,l).then(()=>e()).catch(b=>{i(b.message)})};return c.jsxs(c.Fragment,{children:[d&&c.jsx(cx,{onScan:g,onClose:()=>f(!1)}),c.jsxs("form",{className:"space-y-4",onSubmit:b=>{b.preventDefault(),w()},children:[c.jsx("div",{className:"text-orange-400",children:n("Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.")}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(_t,{htmlFor:"nsec-input",children:"nsec or hex"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pn,{id:"nsec-input",type:"password",placeholder:"nsec1.. or hex",value:o,onChange:m,className:a?"border-destructive":""}),c.jsx(Pe,{type:"button",variant:"outline",size:"icon",onClick:()=>f(!0),title:n("Scan QR code"),children:c.jsx(CS,{className:"h-4 w-4"})})]}),a&&c.jsx("div",{className:"text-xs text-destructive",children:a})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(_t,{htmlFor:"password-input",children:n("password")}),c.jsx(Pn,{id:"password-input",type:"password",placeholder:n("optional: encrypt nsec"),value:l,onChange:b=>u(b.target.value)})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pe,{className:"w-fit px-8",variant:"secondary",type:"button",onClick:t,children:n("Back")}),c.jsx(Pe,{className:"flex-1",type:"submit",children:n("Login")})]})]})]})}function I0t({back:t,onLoginSuccess:e}){const{t:n}=Ke(),{ncryptsecLogin:r}=wt(),[o,s]=h.useState(""),[a,i]=h.useState(null),[l,u]=h.useState(!1),d=g=>{s(g.target.value),i(null)},f=g=>{s(g),i(null)},m=()=>{o!==""&&r(o).then(()=>e()).catch(g=>{i(g.message)})};return c.jsxs(c.Fragment,{children:[l&&c.jsx(cx,{onScan:f,onClose:()=>u(!1)}),c.jsxs("form",{className:"space-y-4",onSubmit:g=>{g.preventDefault(),m()},children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx(_t,{htmlFor:"ncryptsec-input",children:"ncryptsec"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pn,{id:"ncryptsec-input",type:"password",placeholder:"ncryptsec1..",value:o,onChange:d,className:a?"border-destructive":""}),c.jsx(Pe,{type:"button",variant:"outline",size:"icon",onClick:()=>u(!0),title:n("Scan QR code"),children:c.jsx(CS,{className:"h-4 w-4"})})]}),a&&c.jsx("div",{className:"text-xs text-destructive",children:a})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pe,{className:"w-fit px-8",variant:"secondary",type:"button",onClick:t,children:n("Back")}),c.jsx(Pe,{className:"flex-1",type:"submit",children:n("Login")})]})]})]})}function A0t({back:t,onSignupSuccess:e}){const{t:n}=Ke(),{nsecLogin:r}=wt(),[o,s]=h.useState("generate"),[a,i]=h.useState(eJ()),[l,u]=h.useState(!1),[d,f]=h.useState(""),[m,g]=h.useState(""),[w,b]=h.useState(!1),j=()=>{const D=new Blob([a],{type:"text/plain"}),P=URL.createObjectURL(D),L=document.createElement("a");L.href=P,L.download="nostr-private-key.txt",document.body.appendChild(L),L.click(),document.body.removeChild(L),URL.revokeObjectURL(P)},S=async()=>{await r(a,d||void 0,!0),e()},I=d===m,N=!d||I,M=()=>c.jsx("div",{className:"flex items-center justify-center gap-2",children:["generate","password"].map((D,P)=>c.jsxs("div",{className:"flex items-center",children:[c.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold ${o===D?"bg-primary text-primary-foreground":o==="password"&&D==="generate"?"bg-primary/20 text-primary":"bg-muted text-muted-foreground"}`,children:P+1}),P<1&&c.jsx("div",{className:"w-12 h-0.5 bg-muted mx-1"})]},D))});return o==="generate"?c.jsxs("div",{className:"space-y-6",children:[M(),c.jsxs("div",{className:"text-center",children:[c.jsx("h3",{className:"text-lg font-semibold mb-2",children:n("Create Your Nostr Account")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:n("Generate your unique private key. This is your digital identity.")})]}),c.jsx(Cj,{variant:"alert",title:n("Critical: Save Your Private Key"),content:n("Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.")}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{children:n("Your Private Key")}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pn,{value:a,readOnly:!0,className:"font-mono text-sm",onClick:D=>D.currentTarget.select()}),c.jsx(Pe,{type:"button",variant:"secondary",size:"icon",onClick:()=>i(eJ()),title:n("Generate new key"),children:c.jsx(aae,{})})]})]}),c.jsxs("div",{className:"w-full flex flex-wrap gap-2",children:[c.jsxs(Pe,{onClick:j,className:"flex-1",children:[c.jsx(tL,{}),n("Download Backup File")]}),c.jsxs(Pe,{onClick:()=>{navigator.clipboard.writeText(a),b(!0),setTimeout(()=>b(!1),2e3)},variant:"secondary",className:"flex-1",children:[w?c.jsx(Zr,{}):c.jsx(La,{}),n(w?"Copied to Clipboard":"Copy to Clipboard")]})]}),c.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[c.jsx(Lx,{id:"acknowledge-checkbox",checked:l,onCheckedChange:D=>u(!!D)}),c.jsx(_t,{htmlFor:"acknowledge-checkbox",className:"cursor-pointer",children:n("I have safely backed up my private key")})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Pe,{variant:"secondary",onClick:t,className:"w-fit px-6",children:n("Back")}),c.jsx(Pe,{onClick:()=>s("password"),className:"flex-1",disabled:!l,children:n("Continue")})]})]}):c.jsxs("div",{className:"space-y-6",children:[M(),c.jsxs("div",{className:"text-center",children:[c.jsx("h3",{className:"text-lg font-semibold mb-2",children:n("Secure Your Account")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:n("Add an extra layer of protection with a password")})]}),c.jsx(Cj,{title:n("Password Protection (Recommended)"),content:n("Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.")}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{htmlFor:"password-input",children:n("Password (Optional)")}),c.jsx(Pn,{id:"password-input",type:"password",placeholder:n("Create a password (or skip)"),value:d,onChange:D=>f(D.target.value)})]}),d&&c.jsxs("div",{className:"space-y-1",children:[c.jsx(_t,{htmlFor:"confirm-password-input",children:n("Confirm Password")}),c.jsx(Pn,{id:"confirm-password-input",type:"password",placeholder:n("Enter your password again"),value:m,onChange:D=>g(D.target.value)}),m&&!I&&c.jsx("p",{className:"text-xs text-red-500",children:n("Passwords do not match")})]})]}),c.jsxs("div",{className:"w-full flex gap-2",children:[c.jsx(Pe,{variant:"secondary",onClick:()=>{s("generate"),f(""),g("")},className:"w-fit px-6",children:n("Back")}),c.jsx(Pe,{onClick:S,className:"flex-1",disabled:!N,children:n("Complete Signup")})]})]})}function eJ(){const t=dX();return CFe(t)}function rC({close:t}){const[e,n]=h.useState(null);return c.jsx(c.Fragment,{children:e==="nsec"?c.jsx(E0t,{back:()=>n(null),onLoginSuccess:()=>t==null?void 0:t()}):e==="npub"?c.jsx(S0t,{back:()=>n(null),onLoginSuccess:()=>t==null?void 0:t()}):e==="signup"?c.jsx(A0t,{back:()=>n(null),onSignupSuccess:()=>t==null?void 0:t()}):e==="bunker"?c.jsx(C0t,{back:()=>n(null),onLoginSuccess:()=>t==null?void 0:t()}):c.jsx(_0t,{setPage:n,close:t})})}function _0t({setPage:t,close:e}){const{t:n}=Ke(),{nip07Login:r,accounts:o}=wt();return c.jsxs("div",{onClick:s=>s.stopPropagation(),className:"flex flex-col gap-8",children:[c.jsxs("div",{children:[c.jsx("div",{className:"text-center text-muted-foreground text-sm font-semibold",children:n("Add an Account")}),c.jsxs("div",{className:"space-y-2 mt-4",children:[!!window.nostr&&c.jsx(Pe,{onClick:()=>r().then(()=>e==null?void 0:e()),className:"w-full",children:n("Login with Browser Extension")}),c.jsx(Pe,{variant:"secondary",onClick:()=>t("nsec"),className:"w-full",children:n("Login with Private Key")}),c.jsx(Pe,{variant:"secondary",onClick:()=>t("bunker"),className:"w-full",children:n("Login with Bunker")}),wje()]})]}),c.jsx(ri,{}),c.jsxs("div",{children:[c.jsx("div",{className:"text-center text-muted-foreground text-sm font-semibold",children:n("Don't have an account yet?")}),c.jsx(Pe,{onClick:()=>t("signup"),className:"w-full mt-4",children:n("Create New Account")})]}),o.length>0&&c.jsxs(c.Fragment,{children:[c.jsx(ri,{}),c.jsxs("div",{children:[c.jsx("div",{className:"text-center text-muted-foreground text-sm font-semibold",children:n("Logged in Accounts")}),c.jsx(w0t,{className:"mt-4",afterSwitch:()=>e==null?void 0:e()})]})]})]})}function ZE({open:t,setOpen:e}){const{isSmallScreen:n}=gn();return n?c.jsx(io,{open:t,onOpenChange:e,children:c.jsx(lo,{className:"max-h-[90vh]",children:c.jsx("div",{className:"flex flex-col p-4 gap-4 overflow-auto",children:c.jsx(rC,{close:()=>e(!1)})})})}):c.jsx(Ls,{open:t,onOpenChange:e,children:c.jsx(gs,{className:"w-[520px] max-h-[90vh] py-8 overflow-auto",children:c.jsx(rC,{close:()=>e(!1)})})})}function M0t(t,e,n,r){qo.hash(t);const o=$J({dkLen:32,asyncTick:10},r),{c:s,dkLen:a,asyncTick:i}=o;if(qo.number(s),qo.number(a),qo.number(i),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const l=cg(e),u=cg(n),d=new Uint8Array(a),f=Ly.create(t,l),m=f._cloneInto().update(u);return{c:s,dkLen:a,asyncTick:i,DK:d,PRF:f,PRFSalt:m}}function R0t(t,e,n,r,o){return t.destroy(),e.destroy(),r&&r.destroy(),o.fill(0),n}function cve(t,e,n,r){const{c:o,dkLen:s,DK:a,PRF:i,PRFSalt:l}=M0t(t,e,n,r);let u;const d=new Uint8Array(4),f=m3(d),m=new Uint8Array(i.outputLen);for(let g=1,w=0;w<s;g++,w+=i.outputLen){const b=a.subarray(w,w+i.outputLen);f.setInt32(0,g,!1),(u=l._cloneInto(u)).update(d).digestInto(m),b.set(m.subarray(0,b.length));for(let j=1;j<o;j++){i._cloneInto(u).update(m).digestInto(m);for(let S=0;S<b.length;S++)b[S]^=m[S]}}return R0t(i,l,a,u,m)}const xr=(t,e)=>t<<e|t>>>32-e;function tJ(t,e,n,r,o,s){let a=t[e++]^n[r++],i=t[e++]^n[r++],l=t[e++]^n[r++],u=t[e++]^n[r++],d=t[e++]^n[r++],f=t[e++]^n[r++],m=t[e++]^n[r++],g=t[e++]^n[r++],w=t[e++]^n[r++],b=t[e++]^n[r++],j=t[e++]^n[r++],S=t[e++]^n[r++],I=t[e++]^n[r++],N=t[e++]^n[r++],M=t[e++]^n[r++],D=t[e++]^n[r++],P=a,L=i,F=l,T=u,R=d,z=f,G=m,Z=g,W=w,U=b,ee=j,$=S,H=I,Y=N,q=M,J=D;for(let ne=0;ne<8;ne+=2)R^=xr(P+H|0,7),W^=xr(R+P|0,9),H^=xr(W+R|0,13),P^=xr(H+W|0,18),U^=xr(z+L|0,7),Y^=xr(U+z|0,9),L^=xr(Y+U|0,13),z^=xr(L+Y|0,18),q^=xr(ee+G|0,7),F^=xr(q+ee|0,9),G^=xr(F+q|0,13),ee^=xr(G+F|0,18),T^=xr(J+$|0,7),Z^=xr(T+J|0,9),$^=xr(Z+T|0,13),J^=xr($+Z|0,18),L^=xr(P+T|0,7),F^=xr(L+P|0,9),T^=xr(F+L|0,13),P^=xr(T+F|0,18),G^=xr(z+R|0,7),Z^=xr(G+z|0,9),R^=xr(Z+G|0,13),z^=xr(R+Z|0,18),$^=xr(ee+U|0,7),W^=xr($+ee|0,9),U^=xr(W+$|0,13),ee^=xr(U+W|0,18),H^=xr(J+q|0,7),Y^=xr(H+J|0,9),q^=xr(Y+H|0,13),J^=xr(q+Y|0,18);o[s++]=a+P|0,o[s++]=i+L|0,o[s++]=l+F|0,o[s++]=u+T|0,o[s++]=d+R|0,o[s++]=f+z|0,o[s++]=m+G|0,o[s++]=g+Z|0,o[s++]=w+W|0,o[s++]=b+U|0,o[s++]=j+ee|0,o[s++]=S+$|0,o[s++]=I+H|0,o[s++]=N+Y|0,o[s++]=M+q|0,o[s++]=D+J|0}function e_(t,e,n,r,o){let s=r+0,a=r+16*o;for(let i=0;i<16;i++)n[a+i]=t[e+(2*o-1)*16+i];for(let i=0;i<o;i++,s+=16,e+=16)tJ(n,a,t,e,n,s),i>0&&(a+=16),tJ(n,s,t,e+=16,n,a)}function T0t(t,e,n){const r=$J({dkLen:32,asyncTick:10,maxmem:1073742848},n),{N:o,r:s,p:a,dkLen:i,asyncTick:l,maxmem:u,onProgress:d}=r;if(qo.number(o),qo.number(s),qo.number(a),qo.number(i),qo.number(l),qo.number(u),d!==void 0&&typeof d!="function")throw new Error("progressCb should be function");const f=128*s,m=f/4;if(o<=1||(o&o-1)!==0||o>=2**(f/8)||o>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(a<0||a>(2**32-1)*32/f)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(i<0||i>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const g=f*(o+a);if(g>u)throw new Error(`Scrypt: parameters too large, ${g} (128 * r * (N + p)) > ${u} (maxmem)`);const w=cve(gl,t,e,{c:1,dkLen:f*a}),b=NI(w),j=NI(new Uint8Array(f*o)),S=NI(new Uint8Array(f));let I=()=>{};if(d){const N=2*o*a,M=Math.max(Math.floor(N/1e4),1);let D=0;I=()=>{D++,d&&(!(D%M)||D===N)&&d(D/N)}}return{N:o,r:s,p:a,dkLen:i,blockSize32:m,V:j,B32:b,B:w,tmp:S,blockMixCb:I,asyncTick:l}}function D0t(t,e,n,r,o){const s=cve(gl,t,n,{c:1,dkLen:e});return n.fill(0),r.fill(0),o.fill(0),s}function uve(t,e,n){const{N:r,r:o,p:s,dkLen:a,blockSize32:i,V:l,B32:u,B:d,tmp:f,blockMixCb:m}=T0t(t,e,n);for(let g=0;g<s;g++){const w=i*g;for(let b=0;b<i;b++)l[b]=u[w+b];for(let b=0,j=0;b<r-1;b++)e_(l,j,l,j+=i,o),m();e_(l,(r-1)*i,u,w,o),m();for(let b=0;b<r;b++){const j=u[w+i-16]%r;for(let S=0;S<i;S++)f[S]=u[w+S]^l[j*i+S];e_(f,0,u,w,o),m()}}return D0t(t,a,d,l,f)}var fve=5e3;function L0t(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,fve)}function P0t(t,e){return L0t(t,e)}function O0t(t,e,n=16,r=2){let o=bb(16),s=2**n,a=uve(e.normalize("NFKC"),o,{N:s,r:8,p:1,dkLen:32}),i=bb(24),l=Uint8Array.from([r]),d=aX(a,i,l).encrypt(t),f=vh(Uint8Array.from([2]),Uint8Array.from([n]),o,i,l,d);return P0t("ncryptsec",f)}function nJ(t,e){let{prefix:n,words:r}=Pr.decode(t,fve);if(n!=="ncryptsec")throw new Error(`invalid prefix ${n}, expected 'ncryptsec'`);let o=new Uint8Array(Pr.fromWords(r)),s=o[0];if(s!==2)throw new Error(`invalid version ${s}, expected 0x02`);let i=2**o[1],l=o.slice(2,18),u=o.slice(18,42),d=o[42],f=Uint8Array.from([d]),m=o.slice(43),g=uve(e.normalize("NFKC"),l,{N:i,r:8,p:1,dkLen:32});return aX(g,u,f).decrypt(m)}const dve=h.createContext(void 0),z0t=()=>{const t=h.useContext(dve);if(!t)throw new Error("usePasswordPrompt must be used within PasswordPromptProvider");return t};function F0t({children:t}){const{t:e}=Ke(),[n,r]=h.useState(!1),[o,s]=h.useState(""),[a,i]=h.useState(""),l=h.useRef(null),u=h.useCallback(m=>new Promise(g=>{s(m),i(""),r(!0),l.current=g}),[]),d=()=>{var m;r(!1),(m=l.current)==null||m.call(l,a),l.current=null},f=()=>{var m;r(!1),(m=l.current)==null||m.call(l,null),l.current=null};return c.jsxs(dve.Provider,{value:{promptPassword:u},children:[t,c.jsx(cf,{open:n,onOpenChange:m=>!m&&f(),children:c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:e("Password Required")}),c.jsx(au,{children:o})]}),c.jsx(Pn,{type:"password",value:a,onChange:m=>i(m.target.value),placeholder:e("Enter password"),autoFocus:!0,onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),d())}}),c.jsxs(ou,{children:[c.jsx(ff,{onClick:f,children:e("Cancel")}),c.jsx(uf,{onClick:d,children:e("Confirm")})]})]})})]})}class rJ{constructor(){je(this,"signer");je(this,"pubkey",null)}async init(){for(let r=0;r<50;r++){if(window.nostr){this.signer=window.nostr;return}await new Promise(o=>setTimeout(o,100))}throw new Error("You need to install a nostr signer extension to login. Such as alby, nostr-keyx or nos2x.")}async getPublicKey(){if(!this.signer)throw new Error("Should call init() first");return this.pubkey||(this.pubkey=await this.signer.getPublicKey()),this.pubkey}async signEvent(e){if(!this.signer)throw new Error("Should call init() first");return await this.signer.signEvent(e)}async nip04Encrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip04)!=null&&r.encrypt))throw new Error("The extension you are using does not support nip04 encryption");return await this.signer.nip04.encrypt(e,n)}async nip04Decrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip04)!=null&&r.decrypt))throw new Error("The extension you are using does not support nip04 decryption");return await this.signer.nip04.decrypt(e,n)}async nip44Encrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip44)!=null&&r.encrypt))throw new Error("The extension you are using does not support nip44 encryption");return await this.signer.nip44.encrypt(e,n)}async nip44Decrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip44)!=null&&r.decrypt))throw new Error("The extension you are using does not support nip44 decryption");return await this.signer.nip44.decrypt(e,n)}}class oJ{constructor(){je(this,"pubkey",null)}login(e){const{type:n,data:r}=jr.decode(e);if(n!=="npub")throw new Error("invalid nsec");return this.pubkey=r,this.pubkey}async getPublicKey(){if(!this.pubkey)throw new Error("Not logged in");return this.pubkey}async signEvent(){throw new Error("Not logged in")}async nip04Encrypt(){throw new Error("Not logged in")}async nip04Decrypt(){throw new Error("Not logged in")}}function B0t(t){const{prefix:e,words:n}=Pr.decode(t,5e3);if(e!=="nsec")throw new Error("Invalid nsec prefix");const r=new Uint8Array(Pr.fromWords(n));return Kc(r)}function U0t(t){return t.startsWith("nsec")?B0t(t):t}function $0t(t){if(!/^[0-9a-fA-F]{64}$/.test(t))throw new Error("Private key must be 64 hex characters")}class d3{constructor(){je(this,"privkey",null);je(this,"pubkey",null)}login(e){let n;if(typeof e=="string")try{const r=U0t(e);$0t(r),n=ad(r)}catch(r){throw new Error(`Invalid private key: ${r instanceof Error?r.message:"unknown error"}`)}else n=e;return this.privkey=n,this.pubkey=ug(n),this.pubkey}async getPublicKey(){if(!this.pubkey)throw new Error("Not logged in");return this.pubkey}async signEvent(e){if(!this.privkey)throw new Error("Not logged in");return _i(e,this.privkey)}async nip04Encrypt(e,n){if(!this.privkey)throw new Error("Not logged in");return T0.encrypt(this.privkey,e,n)}async nip04Decrypt(e,n){if(!this.privkey)throw new Error("Not logged in");return T0.decrypt(this.privkey,e,n)}async nip44Encrypt(e,n){if(!this.privkey)throw new Error("Not logged in");const r=Lm.utils.getConversationKey(this.privkey,e);return Lm.encrypt(n,r)}async nip44Decrypt(e,n){if(!this.privkey)throw new Error("Not logged in");const r=Lm.utils.getConversationKey(this.privkey,e);return Lm.decrypt(n,r)}}const pve=h.createContext(void 0),sJ=new Map,wt=()=>{const t=h.useContext(pve);if(!t)throw new Error("useNostr must be used within a NostrProvider");return t};function V0t({children:t}){const{t:e}=Ke(),{addDeletedEvent:n}=CL(),{promptPassword:r}=z0t(),[o,s]=h.useState(Ze.getAccounts().map(K=>({pubkey:K.pubkey,signerType:K.signerType}))),[a,i]=h.useState(null),[l,u]=h.useState(null),[d,f]=h.useState(null),[m,g]=h.useState(null),[w,b]=h.useState(!1),[j,S]=h.useState(null),[I,N]=h.useState(null),[M,D]=h.useState(null),[P,L]=h.useState(null),[F,T]=h.useState(null),[R,z]=h.useState(null),[G,Z]=h.useState(null),[W,U]=h.useState(-1),[ee,$]=h.useState(!1);h.useEffect(()=>{(async()=>{if(H()){await Y(),$(!0);return}const ie=Ze.getAccounts(),Se=Ze.getCurrentAccount()??ie[0];if(!Se){$(!0);return}i({pubkey:Se.pubkey,signerType:Se.signerType}),$(!0),await pe(Se)})();const Q=()=>{H()&&Y()};return window.addEventListener("hashchange",Q),()=>{window.removeEventListener("hashchange",Q)}},[]),h.useEffect(()=>{const Q=(async()=>{if(D(null),S(null),N(null),u(null),T(null),L(null),Z(null),U(-1),!a)return;const ie=new AbortController,Se=Ze.getAccountNsec(a.pubkey);u(Se||null);const Me=Ze.getAccountNcryptsec(a.pubkey);f(Me||null);const Ce=Ze.getLastReadNotificationTime(a.pubkey),[me,We,Xe,Re,ze,rt]=await Promise.all([At.getReplaceableEvent(a.pubkey,$e.RelayList),At.getReplaceableEvent(a.pubkey,$e.Metadata),At.getReplaceableEvent(a.pubkey,$e.BookmarkList),At.getReplaceableEvent(a.pubkey,gt.FAVORITE_RELAYS),At.getReplaceableEvent(a.pubkey,$e.UserEmojiList),At.getReplaceableEvent(a.pubkey,$e.Pinlist)]);me&&D(M3(me,Ze.getFilterOutOnionRelays())),We&&(N(We),S(B0(We))),Xe&&L(Xe),Re&&T(Re),ze&&z(ze),rt&&Z(rt);const vt=await Oe.fetchEvents(Oe.currentRelays,{kinds:[$e.RelayList],authors:[a.pubkey]}),mt=Tke(vt)??me,Ot=M3(mt,Ze.getFilterOutOnionRelays());mt&&(Oe.updateRelayListCache(mt),await At.putReplaceableEvent(mt)),D(Ot);const kt=(await Oe.fetchEvents(Ot.write.concat(Oe.currentRelays).slice(0,4),[{kinds:[$e.Metadata,$e.BookmarkList,gt.FAVORITE_RELAYS,gt.BLOSSOM_SERVER_LIST,$e.UserEmojiList,$e.Pinlist],authors:[a.pubkey]},{kinds:[$e.Application],authors:[a.pubkey],"#d":[Xp.NOTIFICATIONS_SEEN_AT]}])).sort((tn,Cr)=>Cr.created_at-tn.created_at),Ct=kt.find(tn=>tn.kind===$e.Metadata),Pt=kt.find(tn=>tn.kind===$e.BookmarkList),yt=kt.find(tn=>tn.kind===gt.FAVORITE_RELAYS),$t=kt.find(tn=>tn.kind===gt.BLOSSOM_SERVER_LIST),bt=kt.find(tn=>tn.kind===$e.UserEmojiList),Bt=kt.find(tn=>tn.kind===$e.Application&&By(tn)===Xp.NOTIFICATIONS_SEEN_AT),Yn=kt.find(tn=>tn.kind===$e.Pinlist);if(Ct){const tn=await At.putReplaceableEvent(Ct);tn.id===Ct.id&&(N(tn),S(B0(tn)))}else if(!We){const tn=Vt.tryFromString(a.pubkey);S({pubkey:a.pubkey,npub:(tn==null?void 0:tn.npub)??"",username:(tn==null?void 0:tn.formatNpub(12))??a.pubkey.slice(0,8)})}if(Pt&&(await At.putReplaceableEvent(Pt)).id===Pt.id&&L(Pt),yt){const tn=await At.putReplaceableEvent(yt);tn.id===yt.id&&T(tn)}if($t&&await Oe.updateBlossomServerListEventCache($t),bt){const tn=await At.putReplaceableEvent(bt);tn.id===bt.id&&z(tn)}if(Yn){const tn=await At.putReplaceableEvent(Yn);tn.id===Yn.id&&Z(tn)}const mn=Math.max((Bt==null?void 0:Bt.created_at)??0,Ce);return U(mn),Ze.setLastReadNotificationTime(a.pubkey,mn),Oe.initUserIndexFromFollowings(a.pubkey,ie.signal),ie})();return()=>{Q.then(ie=>{ie==null||ie.abort()})}},[a]),h.useEffect(()=>{if(!a)return;(async()=>{const Q=a.pubkey,ie=await Oe.fetchRelayList(Q),Se=await Oe.fetchEvents(ie.write.slice(0,4),[{authors:[Q],kinds:[$e.Reaction,$e.Repost],limit:100},{"#P":[Q],kinds:[$e.Zap],limit:100}]);Ai.updateStuffStatsByEvents(Se)})()},[a]),h.useEffect(()=>{m?Oe.signer=m:Oe.signer=void 0},[m]),h.useEffect(()=>{a?Oe.pubkey=a.pubkey:Oe.pubkey=void 0},[a]),h.useEffect(()=>{ef.init(R)},[R]);const H=()=>window.location.hash&&window.location.hash.startsWith("#nostr-login"),Y=async()=>{const K=window.location.hash.replace("#nostr-login=",""),Q=window.location.href.split("#")[0];if(history.replaceState(null,"",Q),K.startsWith("ncryptsec"))return await de(K);if(K.startsWith("nsec"))return await re(K)},q=(K,Q)=>{const ie=Ze.addAccount(Q);return s(ie),Ze.switchAccount(Q),i({pubkey:Q.pubkey,signerType:Q.signerType}),g(K),Q.pubkey},J=K=>{const Q=Ze.removeAccount(K);s(Q),(a==null?void 0:a.pubkey)===K.pubkey&&(i(null),g(null))},ne=async K=>{if(!K){Ze.switchAccount(null),i(null),g(null);return}await pe(K)},re=async(K,Q,ie)=>{const Se=new d3;let Me;const Ce=K.trim();if(Ce.startsWith("nsec"))try{const{prefix:We,words:Xe}=Pr.decode(Ce,5e3);if(We!=="nsec")throw new Error("invalid nsec prefix");Me=new Uint8Array(Pr.fromWords(Xe))}catch(We){throw new Error(`invalid nsec: ${We instanceof Error?We.message:"decode failed"}`)}else if(/^[0-9a-fA-F]{64}$/.test(Ce))Me=ad(Ce);else throw new Error("invalid nsec or hex");const me=Se.login(Me);if(Q){const We=O0t(Me,Q);q(Se,{pubkey:me,signerType:"ncryptsec",ncryptsec:We})}else{const We=Pr.toWords(Me),Xe=Pr.encode("nsec",We,5e3);q(Se,{pubkey:me,signerType:"nsec",nsec:Xe})}return ie&&he(Se),me},de=async K=>{const Q=await r(e("Enter the password to decrypt your ncryptsec"));if(!Q)throw new Error("Password is required");const ie=nJ(K,Q),Se=new d3,Me=Se.login(ie);return q(Se,{pubkey:Me,signerType:"ncryptsec",ncryptsec:K})},Ee=async K=>{const Q=new oJ,ie=Q.login(K);return q(Q,{pubkey:ie,signerType:"npub",npub:K})},we=async()=>{try{const K=new rJ;await K.init();const Q=await K.getPublicKey();if(!Q)throw new Error("You did not allow to access your pubkey");return q(K,{pubkey:Q,signerType:"nip-07"})}catch(K){throw on.error(e("Login failed")+": "+K.message),K}},xe=async K=>{try{const{pubkey:Q,relays:ie,secret:Se}=b0t(K),Me=new R2(Q,ie,Se);await Me.init();const Ce=await Me.getPublicKey();return q(Me,{pubkey:Ce,signerType:"bunker",bunkerPubkey:Q,bunkerRelays:ie,bunkerSecret:Se})}catch(Q){throw on.error(e("Bunker login failed")+": "+Q.message),Q}},ce=async(K,Q)=>{try{return q(K,{pubkey:Q,signerType:"bunker",bunkerPubkey:K.getBunkerPubkey(),bunkerRelays:K.getRelayUrls(),bunkerSecret:void 0})}catch(ie){throw on.error(e("Bunker login failed")+": "+ie.message),ie}},pe=async K=>{let Q=Ze.findAccount(K);if(!Q)return null;if(Q.signerType==="nsec"||Q.signerType==="browser-nsec"){if(Q.nsec){const ie=new d3;return ie.login(Q.nsec),Q.signerType==="browser-nsec"&&(Ze.removeAccount(Q),Q={...Q,signerType:"nsec"},Ze.addAccount(Q)),q(ie,Q)}}else if(Q.signerType==="ncryptsec"){if(Q.ncryptsec){const ie=await r(e("Enter the password to decrypt your ncryptsec"));if(!ie)return null;const Se=nJ(Q.ncryptsec,ie),Me=new d3;return Me.login(Se),q(Me,Q)}}else if(Q.signerType==="nip-07"){const ie=new rJ;return await ie.init(),q(ie,Q)}else if(Q.signerType==="npub"&&Q.npub){const ie=new oJ,Se=ie.login(Q.npub);return Se?(Se!==Q.pubkey&&(Ze.removeAccount(Q),Q={...Q,pubkey:Se},Ze.addAccount(Q)),q(ie,Q)):(Ze.removeAccount(Q),null)}else if(Q.signerType==="bunker"&&Q.bunkerPubkey&&Q.bunkerRelays)try{const ie=new R2(Q.bunkerPubkey,Q.bunkerRelays,Q.bunkerSecret);return await ie.init(),q(ie,Q)}catch(ie){return console.error("Failed to reconnect to bunker:",ie),on.error(e("Failed to reconnect to bunker")),null}return Ze.removeAccount(Q),null},he=async K=>{const Q=Oe.currentRelays.length>0?Oe.currentRelays:[];Q.length!==0&&await Promise.allSettled([Oe.publishEvent(Q,await K.signEvent(xAe([]))),Oe.publishEvent(Q,await K.signEvent(kAe([]))),Oe.publishEvent(Q,await K.signEvent(nre(Q.map(ie=>({url:ie,scope:"both"})))))])},ke=async K=>{const Q=await(m==null?void 0:m.signEvent(K));if(!Q)throw new Error("sign event failed");return Q},le=async(K,{minPow:Q=0,...ie}={})=>{if(!a||!m||a.signerType==="npub")throw new Error("You need to login first");const Se=JSON.parse(JSON.stringify(K));let Me;if(Q>0){const me=await Dke({...Se,pubkey:a.pubkey},Q);Me=await ke(me)}else Me=await ke(Se);if(Me.kind!==$e.Application&&Me.pubkey!==a.pubkey){const me=await Oe.fetchProfile(Me.pubkey);if(!confirm(e("You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?",{eventAuthorName:me==null?void 0:me.username,currentUsername:j==null?void 0:j.username})))throw new Error(e("Cancelled"))}const Ce=await Oe.determineTargetRelays(Me,ie);return await Oe.publishEvent(Ce,Me),Me},ye=async K=>{if(!m)throw new Error(e("You need to login first"));if((a==null?void 0:a.pubkey)!==K.pubkey)throw new Error(e("You can only delete your own notes"));const Q=await ke(IAe(K)),ie=Oe.getSeenEventRelayUrls(K.id),Se=await Oe.determineTargetRelays(K,{specifiedRelayUrls:gT(K)?ie:void 0,additionalRelayUrls:ie});await Oe.publishEvent(Se,Q),n(K),on.success(e("Deletion request sent to {{count}} relays",{count:Se.length}))},ve=async(K,Q,ie="")=>{const Se=await ke({content:ie,kind:$e.HTTPAuth,created_at:En().unix(),tags:[["u",K],["method",Q]]});return"Nostr "+btoa(JSON.stringify(Se))},Ie=async(K,Q)=>{if(!m)throw new Error("No signer available for NIP-04 encryption");try{const ie=await m.nip04Encrypt(K,Q);if(!ie)throw new Error("NIP-04 encryption returned empty result");return ie}catch(ie){throw console.error("NIP-04 encryption failed:",ie),ie}},Ve=async(K,Q)=>(m==null?void 0:m.nip04Decrypt(K,Q))??"",Qe=async(K,Q)=>{if(!(m!=null&&m.nip44Encrypt))throw new Error("NIP-44 encryption not supported by this signer");return m.nip44Encrypt(K,Q)},nt=async(K,Q)=>{if(!(m!=null&&m.nip44Decrypt))throw new Error("NIP-44 decryption not supported by this signer");return m.nip44Decrypt(K,Q)},Ue=!!(m!=null&&m.nip44Encrypt)&&!!(m!=null&&m.nip44Decrypt),qe=async K=>m?K&&K():b(!0),_e=async K=>{const Q=await Oe.updateRelayListCache(K);D(M3(Q,Ze.getFilterOutOnionRelays()))},et=async K=>{const Q=await At.putReplaceableEvent(K);N(Q),S(B0(Q))},pt=async K=>{const Q=await At.putReplaceableEvent(K);Q.id===K.id&&L(Q)},ht=async K=>{const Q=await At.putReplaceableEvent(K);Q.id===K.id&&T(Q)},at=async K=>{const Q=await At.putReplaceableEvent(K);Q.id===K.id&&z(Q)},De=async K=>{const Q=await At.putReplaceableEvent(K);Q.id===K.id&&Z(Q)},se=async(K=!1)=>{if(!a)return;const Q=En().unix();Ze.setLastReadNotificationTime(a.pubkey,Q),setTimeout(()=>{U(Q)},5e3);const ie=sJ.get(a.pubkey)??-1;!K&&(ie<0||Q-ie>600)&&(await le(jAe()),sJ.set(a.pubkey,Q))};return c.jsxs(pve.Provider,{value:{isInitialized:ee,pubkey:(a==null?void 0:a.pubkey)??null,profile:j,profileEvent:I,relayList:M,bookmarkListEvent:P,favoriteRelaysEvent:F,userEmojiListEvent:R,pinListEvent:G,notificationsSeenAt:W,account:a,accounts:o,nsec:l,ncryptsec:d,switchAccount:ne,nsecLogin:re,ncryptsecLogin:de,nip07Login:we,npubLogin:Ee,bunkerLogin:xe,bunkerLoginWithSigner:ce,removeAccount:J,publish:le,attemptDelete:ye,signHttpAuth:ve,nip04Encrypt:Ie,nip04Decrypt:Ve,nip44Encrypt:Qe,nip44Decrypt:nt,hasNip44Support:Ue,startLogin:()=>b(!0),checkLogin:qe,signEvent:ke,updateRelayListEvent:_e,updateProfileEvent:et,updateBookmarkListEvent:pt,updateFavoriteRelaysEvent:ht,updateUserEmojiListEvent:at,updatePinListEvent:De,updateNotificationsSeenAt:se},children:[t,c.jsx(ZE,{open:w,setOpen:b})]})}function H0t(){const{isInitialized:t}=wt();return h.useEffect(()=>{if(!t)return;const e=setTimeout(()=>{Wf.discoverIfNeeded()},15e3);return()=>clearTimeout(e)},[t]),null}function W0t(t={}){const{immediate:e=!1,onNeedRefresh:n,onOfflineReady:r,onRegistered:o,onRegisteredSW:s,onRegisterError:a}=t;let i,l;const u=async(f=!0)=>{await l};async function d(){if("serviceWorker"in navigator){if(i=await Bs(async()=>{const{Workbox:f}=await import("./workbox-window.prod.es5-CwtvwXb3.js");return{Workbox:f}},[]).then(({Workbox:f})=>new f("/sw.js",{scope:"/",type:"classic"})).catch(f=>{a==null||a(f)}),!i)return;i.addEventListener("activated",f=>{(f.isUpdate||f.isExternal)&&window.location.reload()}),i.addEventListener("installed",f=>{f.isUpdate||r==null||r()}),i.register({immediate:e}).then(f=>{s?s("/sw.js",f):o==null||o(f)}).catch(f=>{a==null||a(f)})}}return l=d(),u}function Y0t(t={}){const{immediate:e=!0,onNeedRefresh:n,onOfflineReady:r,onRegistered:o,onRegisteredSW:s,onRegisterError:a}=t,[i,l]=h.useState(!1),[u,d]=h.useState(!1),[f]=h.useState(()=>W0t({immediate:e,onOfflineReady(){d(!0),r==null||r()},onNeedRefresh(){l(!0),n==null||n()},onRegistered:o,onRegisteredSW:s,onRegisterError:a}));return{needRefresh:[i,l],offlineReady:[u,d],updateServiceWorker:f}}function G0t(){return Y0t({onRegisteredSW(t,e){e&&setInterval(()=>{e.update()},60*1e3)},onRegisterError(t){console.error("SW registration error:",t)}}),typeof window<"u"&&navigator.serviceWorker&&navigator.serviceWorker.addEventListener("controllerchange",()=>{window.location.reload()}),null}let Ja={};function q0t(){Ja={}}const hve=async t=>{console.debug("[ContentEventHandler] Event bookmarked:",{actor:t.actor.formatted,bookmarkedEventId:t.bookmarkedEventId,type:t.bookmarkType})},mve=async t=>{console.debug("[ContentEventHandler] Event unbookmarked:",{actor:t.actor.formatted,unbookmarkedEventId:t.unbookmarkedEventId})},gve=async t=>{console.debug("[ContentEventHandler] Bookmark list published:",{owner:t.owner.formatted,bookmarkCount:t.bookmarkCount})},yve=async t=>{console.debug("[ContentEventHandler] Note pinned:",{actor:t.actor.formatted,pinnedEventId:t.pinnedEventId.hex}),Ja.onUpdateProfilePins&&Ja.onUpdateProfilePins(t.actor.hex)},vve=async t=>{console.debug("[ContentEventHandler] Note unpinned:",{actor:t.actor.formatted,unpinnedEventId:t.unpinnedEventId}),Ja.onUpdateProfilePins&&Ja.onUpdateProfilePins(t.actor.hex)},wve=async t=>{console.debug("[ContentEventHandler] Pins limit exceeded:",{actor:t.actor.formatted,removedCount:t.removedEventIds.length}),Ja.onShowToast&&Ja.onShowToast(`Pin limit reached. ${t.removedEventIds.length} older pin(s) were removed.`,"warning")},bve=async t=>{console.debug("[ContentEventHandler] Pin list published:",{owner:t.owner.formatted,pinCount:t.pinCount})},xve=async t=>{console.debug("[ContentEventHandler] Reaction added:",{actor:t.actor.formatted,targetEventId:t.targetEventId.hex,targetAuthor:t.targetAuthor.formatted,emoji:t.emoji,isLike:t.isLike}),Ja.onUpdateReactionCount&&Ja.onUpdateReactionCount(t.targetEventId.hex,t.emoji,1),Ja.onCreateNotification&&t.actor.hex!==t.targetAuthor.hex&&Ja.onCreateNotification("reaction",t.actor.hex,t.targetEventId.hex)},kve=async t=>{console.debug("[ContentEventHandler] Content reposted:",{actor:t.actor.formatted,originalEventId:t.originalEventId.hex,originalAuthor:t.originalAuthor.formatted}),Ja.onUpdateRepostCount&&Ja.onUpdateRepostCount(t.originalEventId.hex,1),Ja.onCreateNotification&&t.actor.hex!==t.originalAuthor.hex&&Ja.onCreateNotification("repost",t.actor.hex,t.originalEventId.hex)};function K0t(){Wt.on("content.event_bookmarked",hve),Wt.on("content.event_unbookmarked",mve),Wt.on("content.bookmark_list_published",gve),Wt.on("content.note_pinned",yve),Wt.on("content.note_unpinned",vve),Wt.on("content.pins_limit_exceeded",wve),Wt.on("content.pin_list_published",bve),Wt.on("content.reaction_added",xve),Wt.on("content.reposted",kve)}function Z0t(){Wt.off("content.event_bookmarked",hve),Wt.off("content.event_unbookmarked",mve),Wt.off("content.bookmark_list_published",gve),Wt.off("content.note_pinned",yve),Wt.off("content.note_unpinned",vve),Wt.off("content.pins_limit_exceeded",wve),Wt.off("content.pin_list_published",bve),Wt.off("content.reaction_added",xve),Wt.off("content.reposted",kve)}const jve=async t=>{var e,n;console.debug("[FeedEventHandler] Feed switched:",{owner:(e=t.owner)==null?void 0:e.formatted,fromType:((n=t.fromType)==null?void 0:n.value)??"none",toType:t.toType.value,relaySetId:t.relaySetId})},Cve=async t=>{console.debug("[FeedEventHandler] Content filter updated:",{owner:t.owner.formatted,hideRepliesChanged:t.previousFilter.hideReplies!==t.newFilter.hideReplies,hideRepostsChanged:t.previousFilter.hideReposts!==t.newFilter.hideReposts,nsfwPolicyChanged:t.previousFilter.nsfwPolicy!==t.newFilter.nsfwPolicy})},Sve=async t=>{var e;console.debug("[FeedEventHandler] Feed refreshed:",{owner:(e=t.owner)==null?void 0:e.formatted,feedType:t.feedType.value})},Eve=async t=>{console.debug("[FeedEventHandler] Note created:",{author:t.author.formatted,noteId:t.noteId.hex,mentionCount:t.mentions.length,isReply:t.isReply,isQuote:t.isQuote})},Nve=async t=>{console.debug("[FeedEventHandler] Note deleted:",{author:t.author.formatted,noteId:t.noteId.hex})},Ive=async t=>{console.debug("[FeedEventHandler] Note replied:",{replier:t.replier.formatted,replyNoteId:t.replyNoteId.hex,originalNoteId:t.originalNoteId.hex,originalAuthor:t.originalAuthor.formatted})},Ave=async t=>{console.debug("[FeedEventHandler] Users mentioned:",{author:t.author.formatted,noteId:t.noteId.hex,mentionedCount:t.mentionedPubkeys.length})},_ve=async t=>{console.debug("[FeedEventHandler] Timeline events received:",{feedType:t.feedType.value,eventCount:t.eventCount,newestTimestamp:t.newestTimestamp.unix,isHistorical:t.isHistorical})},Mve=async t=>{console.debug("[FeedEventHandler] Timeline EOSE:",{feedType:t.feedType.value,totalEvents:t.totalEvents})};function Q0t(){Wt.on("feed.switched",jve),Wt.on("feed.content_filter_updated",Cve),Wt.on("feed.refreshed",Sve),Wt.on("feed.note_created",Eve),Wt.on("feed.note_deleted",Nve),Wt.on("feed.note_replied",Ive),Wt.on("feed.users_mentioned",Ave),Wt.on("feed.timeline_events_received",_ve),Wt.on("feed.timeline_eosed",Mve)}function J0t(){Wt.off("feed.switched",jve),Wt.off("feed.content_filter_updated",Cve),Wt.off("feed.refreshed",Sve),Wt.off("feed.note_created",Eve),Wt.off("feed.note_deleted",Nve),Wt.off("feed.note_replied",Ive),Wt.off("feed.users_mentioned",Ave),Wt.off("feed.timeline_events_received",_ve),Wt.off("feed.timeline_eosed",Mve)}const Rve=async t=>{console.debug("[RelayEventHandler] Favorite relay added:",{owner:t.owner.formatted,relay:t.relayUrl.value})},Tve=async t=>{console.debug("[RelayEventHandler] Favorite relay removed:",{owner:t.owner.formatted,relay:t.relayUrl.value})},Dve=async t=>{console.debug("[RelayEventHandler] Favorite relays published:",{owner:t.owner.formatted,relayCount:t.relayCount})},Lve=async t=>{console.debug("[RelayEventHandler] Relay set created:",{owner:t.owner.formatted,setId:t.setId,name:t.name,relayCount:t.relays.length})},Pve=async t=>{var e,n;console.debug("[RelayEventHandler] Relay set updated:",{owner:t.owner.formatted,setId:t.setId,nameChanged:t.nameChanged,changes:{addedCount:((e=t.changes.addedRelays)==null?void 0:e.length)??0,removedCount:((n=t.changes.removedRelays)==null?void 0:n.length)??0}})},Ove=async t=>{console.debug("[RelayEventHandler] Relay set deleted:",{owner:t.owner.formatted,setId:t.setId})},zve=async t=>{console.debug("[RelayEventHandler] Mailbox relay added:",{owner:t.owner.formatted,relay:t.relayUrl.value,scope:t.scope})},Fve=async t=>{console.debug("[RelayEventHandler] Mailbox relay removed:",{owner:t.owner.formatted,relay:t.relayUrl.value})},Bve=async t=>{console.debug("[RelayEventHandler] Mailbox relay scope changed:",{owner:t.owner.formatted,relay:t.relayUrl.value,fromScope:t.fromScope,toScope:t.toScope})},Uve=async t=>{console.debug("[RelayEventHandler] Relay list published:",{owner:t.owner.formatted,readRelayCount:t.readRelayCount,writeRelayCount:t.writeRelayCount})};function X0t(){Wt.on("relay.favorite_added",Rve),Wt.on("relay.favorite_removed",Tve),Wt.on("relay.favorites_published",Dve),Wt.on("relay.set_created",Lve),Wt.on("relay.set_updated",Pve),Wt.on("relay.set_deleted",Ove),Wt.on("relay.mailbox_added",zve),Wt.on("relay.mailbox_removed",Fve),Wt.on("relay.mailbox_scope_changed",Bve),Wt.on("relay.list_published",Uve)}function eyt(){Wt.off("relay.favorite_added",Rve),Wt.off("relay.favorite_removed",Tve),Wt.off("relay.favorites_published",Dve),Wt.off("relay.set_created",Lve),Wt.off("relay.set_updated",Pve),Wt.off("relay.set_deleted",Ove),Wt.off("relay.mailbox_added",zve),Wt.off("relay.mailbox_removed",Fve),Wt.off("relay.mailbox_scope_changed",Bve),Wt.off("relay.list_published",Uve)}function tyt({children:t}){return h.useEffect(()=>(tFe(),K0t(),Q0t(),X0t(),console.debug("[EventHandlerProvider] Domain event handlers registered"),()=>{nFe(),Z0t(),J0t(),eyt(),eFe(),q0t(),console.debug("[EventHandlerProvider] Domain event handlers unregistered")}),[]),c.jsx(c.Fragment,{children:t})}const nyt=h.createContext(void 0);function ryt({children:t}){const{pubkey:e,publish:n,nip04Encrypt:r,nip04Decrypt:o}=wt(),s=h.useMemo(()=>{if(!e)return null;const a=new ule({publish:n}),i=new fle({publish:n,currentUserPubkey:e,decrypt:async(u,d)=>o(d,u),encrypt:async(u,d)=>r(d,u)}),l=new dle({publish:n,currentUserPubkey:e,decrypt:async(u,d)=>o(d,u),encrypt:async(u,d)=>r(d,u)});return{followListRepository:a,muteListRepository:i,pinnedUsersListRepository:l}},[e,n,r,o]);return s?c.jsx(nyt.Provider,{value:s,children:t}):c.jsx(c.Fragment,{children:t})}const oyt=h.createContext(void 0);function p3(t){return{themeSetting:Ze.getThemeSetting(),primaryColor:Ze.getPrimaryColor(),defaultZapSats:Ze.getDefaultZapSats(),defaultZapComment:Ze.getDefaultZapComment(),quickZap:Ze.getQuickZap(),autoplay:Ze.getAutoplay(),hideUntrustedInteractions:Ze.getHideUntrustedInteractions(),hideUntrustedNotifications:Ze.getHideUntrustedNotifications(),hideUntrustedNotes:Ze.getHideUntrustedNotes(),nsfwDisplayPolicy:Ze.getNsfwDisplayPolicy(),showKinds:Ze.getShowKinds(),hideContentMentioningMutedUsers:Ze.getHideContentMentioningMutedUsers(),notificationListStyle:Ze.getNotificationListStyle(),mediaAutoLoadPolicy:Ze.getMediaAutoLoadPolicy(),sidebarCollapse:Ze.getSidebarCollapse(),enableSingleColumnLayout:Ze.getEnableSingleColumnLayout(),faviconUrlTemplate:Ze.getFaviconUrlTemplate(),filterOutOnionRelays:Ze.getFilterOutOnionRelays(),quickReaction:Ze.getQuickReaction(),quickReactionEmoji:Ze.getQuickReactionEmoji(),noteListMode:Ze.getNoteListMode(),nrcOnlyConfigSync:Ze.getNrcOnlyConfigSync(),autoInsertNewNotes:Ze.getAutoInsertNewNotes(),addClientTag:Ze.getAddClientTag(),enableMarkdown:Ze.getEnableMarkdown(),verboseLogging:Ze.getVerboseLogging(),fallbackRelayCount:Ze.getFallbackRelayCount(),preferNip44:Ze.getPreferNip44(),dmConversationFilter:Ze.getDMConversationFilter(),graphQueriesEnabled:Ze.getGraphQueriesEnabled(),socialGraphProximity:Ze.getSocialGraphProximity(),socialGraphIncludeMode:Ze.getSocialGraphIncludeMode(),llmConfig:t?Ze.getLlmConfig(t):null,mediaUploadServiceConfig:t?Ze.getMediaUploadServiceConfig(t):void 0,searchRelays:Ze.getSearchRelays(),nrcRendezvousUrl:Ze.getNrcRendezvousUrl()||void 0,outboxMode:Ze.getOutboxMode(),relayStatsData:btoa(String.fromCharCode(...qr.encodeBinary()))}}function syt(t,e){if(t.themeSetting!==void 0&&Ze.setThemeSetting(t.themeSetting),t.primaryColor!==void 0&&Ze.setPrimaryColor(t.primaryColor),t.defaultZapSats!==void 0&&Ze.setDefaultZapSats(t.defaultZapSats),t.defaultZapComment!==void 0&&Ze.setDefaultZapComment(t.defaultZapComment),t.quickZap!==void 0&&Ze.setQuickZap(t.quickZap),t.autoplay!==void 0&&Ze.setAutoplay(t.autoplay),t.hideUntrustedInteractions!==void 0&&Ze.setHideUntrustedInteractions(t.hideUntrustedInteractions),t.hideUntrustedNotifications!==void 0&&Ze.setHideUntrustedNotifications(t.hideUntrustedNotifications),t.hideUntrustedNotes!==void 0&&Ze.setHideUntrustedNotes(t.hideUntrustedNotes),t.nsfwDisplayPolicy!==void 0&&Ze.setNsfwDisplayPolicy(t.nsfwDisplayPolicy),t.showKinds!==void 0&&Ze.setShowKinds(t.showKinds),t.hideContentMentioningMutedUsers!==void 0&&Ze.setHideContentMentioningMutedUsers(t.hideContentMentioningMutedUsers),t.notificationListStyle!==void 0&&Ze.setNotificationListStyle(t.notificationListStyle),t.mediaAutoLoadPolicy!==void 0&&Ze.setMediaAutoLoadPolicy(t.mediaAutoLoadPolicy),t.sidebarCollapse!==void 0&&Ze.setSidebarCollapse(t.sidebarCollapse),t.enableSingleColumnLayout!==void 0&&Ze.setEnableSingleColumnLayout(t.enableSingleColumnLayout),t.faviconUrlTemplate!==void 0&&Ze.setFaviconUrlTemplate(t.faviconUrlTemplate),t.filterOutOnionRelays!==void 0&&Ze.setFilterOutOnionRelays(t.filterOutOnionRelays),t.quickReaction!==void 0&&Ze.setQuickReaction(t.quickReaction),t.quickReactionEmoji!==void 0&&Ze.setQuickReactionEmoji(t.quickReactionEmoji),t.noteListMode!==void 0&&Ze.setNoteListMode(t.noteListMode),t.nrcOnlyConfigSync!==void 0&&Ze.setNrcOnlyConfigSync(t.nrcOnlyConfigSync),t.autoInsertNewNotes!==void 0&&Ze.setAutoInsertNewNotes(t.autoInsertNewNotes),t.addClientTag!==void 0&&Ze.setAddClientTag(t.addClientTag),t.enableMarkdown!==void 0&&Ze.setEnableMarkdown(t.enableMarkdown),t.verboseLogging!==void 0&&Ze.setVerboseLogging(t.verboseLogging),t.fallbackRelayCount!==void 0&&Ze.setFallbackRelayCount(t.fallbackRelayCount),t.preferNip44!==void 0&&Ze.setPreferNip44(t.preferNip44),t.dmConversationFilter!==void 0&&Ze.setDMConversationFilter(t.dmConversationFilter),t.graphQueriesEnabled!==void 0&&Ze.setGraphQueriesEnabled(t.graphQueriesEnabled),t.socialGraphProximity!==void 0&&Ze.setSocialGraphProximity(t.socialGraphProximity),t.socialGraphIncludeMode!==void 0&&Ze.setSocialGraphIncludeMode(t.socialGraphIncludeMode),t.searchRelays!==void 0&&Ze.setSearchRelays(t.searchRelays.length>0?t.searchRelays:null),t.nrcRendezvousUrl!==void 0&&Ze.setNrcRendezvousUrl(t.nrcRendezvousUrl),t.outboxMode!==void 0&&Ze.setOutboxMode(t.outboxMode),t.relayStatsData)try{const n=atob(t.relayStatsData),r=new Uint8Array(n.length);for(let o=0;o<n.length;o++)r[o]=n.charCodeAt(o);qr.decodeBinary(r)}catch{console.error("Failed to decode relay stats data")}e&&(t.llmConfig!==void 0&&t.llmConfig&&Ze.setLlmConfig(e,t.llmConfig),t.mediaUploadServiceConfig!==void 0&&Ze.setMediaUploadServiceConfig(e,t.mediaUploadServiceConfig))}function ayt({children:t}){const{pubkey:e,account:n,publish:r,nip44Encrypt:o,nip44Decrypt:s,hasNip44Support:a}=wt(),[i,l]=h.useState(!1),u=h.useRef(null),d=h.useRef(null),f=h.useRef(!1),m=h.useRef({nip44Encrypt:o,nip44Decrypt:s,hasNip44Support:a});m.current={nip44Encrypt:o,nip44Decrypt:s,hasNip44Support:a};const g=h.useCallback(async(S,I)=>{try{const D=JSON.parse(S);if(typeof D=="object"&&D!==null)return D}catch{}const{hasNip44Support:N,nip44Decrypt:M}=m.current;if(N)try{const D=await M(I,S);return JSON.parse(D)}catch(D){console.error("Failed to decrypt settings:",D)}return null},[]),w=h.useCallback(async()=>{if(!e)return null;try{const S=await Oe.fetchRelayList(e),I=S.write.length>0?S.write.slice(0,5):Oe.currentRelays.slice(0,5),M=(await Oe.fetchEvents(I,{kinds:[$e.Application],authors:[e],"#d":[Xp.SETTINGS],limit:1})).filter(D=>By(D)===Xp.SETTINGS).sort((D,P)=>P.created_at-D.created_at)[0];if(M)return await g(M.content,M.pubkey)}catch(S){console.error("Failed to fetch remote settings:",S)}return null},[e,g]),b=h.useCallback(async()=>{if(!e||!n||Ze.getNrcOnlyConfigSync())return;const S=p3(e),I=JSON.stringify(S);if(I!==d.current){l(!0);try{const{hasNip44Support:N,nip44Encrypt:M}=m.current;let D;N?D=await M(e,I):D=I;const P=CAe(D);await r(P),d.current=I}catch(N){console.error("Failed to sync settings:",N)}finally{l(!1)}}},[e,n,r]),j=h.useCallback(()=>{u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{b()},2e3)},[b]);return h.useEffect(()=>{if(!e){d.current=null,f.current=!1;return}if(f.current)return;if(f.current=!0,Ze.getNrcOnlyConfigSync()){d.current=JSON.stringify(p3(e));return}(async()=>{m.current.hasNip44Support||await new Promise(I=>setTimeout(I,500)),l(!0);try{const I=p3(e),N=JSON.stringify(I),M=await w();if(M){syt(M,e);const D=JSON.stringify(p3(e));N!==D?(d.current=D,window.dispatchEvent(new CustomEvent(S3))):d.current=N}else d.current=N}catch(I){console.error("Failed to load remote settings:",I)}finally{l(!1)}})()},[e,w]),h.useEffect(()=>{if(!e||!n)return;const S=()=>{j()};return window.addEventListener(S3,S),()=>{window.removeEventListener(S3,S),u.current&&clearTimeout(u.current)}},[e,n,j]),c.jsx(oyt.Provider,{value:{syncSettings:b,isLoading:i},children:t})}function iyt(){return c.jsx(TPe,{children:c.jsx(tyt,{children:c.jsx(wFe,{children:c.jsx(BTe,{children:c.jsx(nBe,{children:c.jsx(Fze,{children:c.jsx(F0t,{children:c.jsx(V0t,{children:c.jsx(dpt,{children:c.jsx(ggt,{children:c.jsx(ryt,{children:c.jsx(ayt,{children:c.jsx(pct,{children:c.jsx(Yze,{children:c.jsx(ZFe,{children:c.jsx(CBe,{children:c.jsx(jBe,{children:c.jsx(Ift,{children:c.jsx(cXe,{children:c.jsx(Plt,{children:c.jsx(dXe,{children:c.jsx(ZJe,{children:c.jsx(out,{children:c.jsx(rFe,{children:c.jsx(h1t,{children:c.jsx(_ct,{children:c.jsx($ct,{children:c.jsxs(jFe,{children:[c.jsx(G0t,{}),c.jsx(H0t,{}),c.jsx(v0t,{}),c.jsx(hDe,{})]})})})})})})})})})})})})})})})})})})})})})})})})})})})})}class lyt extends h.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,n){console.error("ErrorBoundary caught an error:",e,n)}render(){var e;return this.state.hasError?c.jsxs("div",{className:"w-screen h-screen flex flex-col items-center justify-center p-4 gap-4",children:[c.jsx("h1",{className:"text-2xl font-bold",children:"Oops, something went wrong."}),c.jsxs("p",{className:"text-lg text-center max-w-md",children:["Sorry for the inconvenience. If you don't mind helping, you can"," ",c.jsx("a",{href:"https://git.mleku.dev/mleku/smesh/issues/new",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"submit an issue"})," ","with the error details, or"," ",c.jsx("a",{href:"https://smesh.mleku.dev/npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"mention me"}),". Thank you for your support!"]}),((e=this.state.error)==null?void 0:e.message)&&c.jsxs(c.Fragment,{children:[c.jsx(Pe,{onClick:()=>{navigator.clipboard.writeText(this.state.error.message)},variant:"secondary",children:"Copy Error Message"}),c.jsxs("pre",{className:"bg-destructive/10 text-destructive p-2 rounded text-wrap break-words whitespace-pre-wrap",children:["Error: ",this.state.error.message]})]}),c.jsxs(Pe,{onClick:()=>window.location.reload(),className:"mt-2",children:[c.jsx(B7e,{}),"Reload Page"]})]}):this.props.children}}const oC=()=>{var e;const t=((e=window.visualViewport)==null?void 0:e.height)??window.innerHeight;document.documentElement.style.setProperty("--vh",`${t}px`)};window.visualViewport?window.visualViewport.addEventListener("resize",oC):window.addEventListener("resize",oC);window.addEventListener("orientationchange",oC);oC();OTe.createRoot(document.getElementById("root")).render(c.jsx(h.StrictMode,{children:c.jsx(lyt,{children:c.jsx(iyt,{})})}));export{Pe as B,r9e as H,Pn as I,TX as S,Cx as T,Bs as _,fpt as a,r0 as b,Te as c,iv as d,ol as e,sl as f,tc as g,Oe as i,c as j,jr as n,h as r,on as t,wt as u};
2363