@ahzoo/sus 1.3.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +17133 -5710
- package/index.umd.cjs +118 -233
- package/main.ts +5 -0
- package/package.json +1 -1
- package/style.css +1 -26
package/index.umd.cjs
CHANGED
|
@@ -1,234 +1,119 @@
|
|
|
1
|
-
(function(De,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],T):(De=typeof globalThis<"u"?globalThis:De||self,T(De.SuSComment={},De.vue))})(this,function(De,T){"use strict";var vo=Object.defineProperty;var go=(De,T,Je)=>T in De?vo(De,T,{enumerable:!0,configurable:!0,writable:!0,value:Je}):De[T]=Je;var qe=(De,T,Je)=>(go(De,typeof T!="symbol"?T+"":T,Je),Je);var Je=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Bn(he){return he&&he.__esModule&&Object.prototype.hasOwnProperty.call(he,"default")?he.default:he}var Gt={exports:{}};(function(he,Ae){(function(ke,de){he.exports=de()})(Je,()=>(()=>{var ke={471:Z=>{var _=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},b=-1;_.Diff=function(c,m){return[c,m]},_.prototype.diff_main=function(c,m,l,y){y===void 0&&(y=this.Diff_Timeout<=0?Number.MAX_VALUE:new Date().getTime()+1e3*this.Diff_Timeout);var s=y;if(c==null||m==null)throw new Error("Null input. (diff_main)");if(c==m)return c?[new _.Diff(0,c)]:[];l===void 0&&(l=!0);var u=l,f=this.diff_commonPrefix(c,m),w=c.substring(0,f);c=c.substring(f),m=m.substring(f),f=this.diff_commonSuffix(c,m);var L=c.substring(c.length-f);c=c.substring(0,c.length-f),m=m.substring(0,m.length-f);var S=this.diff_compute_(c,m,u,s);return w&&S.unshift(new _.Diff(0,w)),L&&S.push(new _.Diff(0,L)),this.diff_cleanupMerge(S),S},_.prototype.diff_compute_=function(c,m,l,y){var s;if(!c)return[new _.Diff(1,m)];if(!m)return[new _.Diff(b,c)];var u=c.length>m.length?c:m,f=c.length>m.length?m:c,w=u.indexOf(f);if(w!=-1)return s=[new _.Diff(1,u.substring(0,w)),new _.Diff(0,f),new _.Diff(1,u.substring(w+f.length))],c.length>m.length&&(s[0][0]=s[2][0]=b),s;if(f.length==1)return[new _.Diff(b,c),new _.Diff(1,m)];var L=this.diff_halfMatch_(c,m);if(L){var S=L[0],C=L[1],E=L[2],k=L[3],p=L[4],N=this.diff_main(S,E,l,y),j=this.diff_main(C,k,l,y);return N.concat([new _.Diff(0,p)],j)}return l&&c.length>100&&m.length>100?this.diff_lineMode_(c,m,y):this.diff_bisect_(c,m,y)},_.prototype.diff_lineMode_=function(c,m,l){var y=this.diff_linesToChars_(c,m);c=y.chars1,m=y.chars2;var s=y.lineArray,u=this.diff_main(c,m,!1,l);this.diff_charsToLines_(u,s),this.diff_cleanupSemantic(u),u.push(new _.Diff(0,""));for(var f=0,w=0,L=0,S="",C="";f<u.length;){switch(u[f][0]){case 1:L++,C+=u[f][1];break;case b:w++,S+=u[f][1];break;case 0:if(w>=1&&L>=1){u.splice(f-w-L,w+L),f=f-w-L;for(var E=this.diff_main(S,C,!1,l),k=E.length-1;k>=0;k--)u.splice(f,0,E[k]);f+=E.length}L=0,w=0,S="",C=""}f++}return u.pop(),u},_.prototype.diff_bisect_=function(c,m,l){for(var y=c.length,s=m.length,u=Math.ceil((y+s)/2),f=u,w=2*u,L=new Array(w),S=new Array(w),C=0;C<w;C++)L[C]=-1,S[C]=-1;L[f+1]=0,S[f+1]=0;for(var E=y-s,k=E%2!=0,p=0,N=0,j=0,z=0,D=0;D<u&&!(new Date().getTime()>l);D++){for(var X=-D+p;X<=D-N;X+=2){for(var re=f+X,ve=(Me=X==-D||X!=D&&L[re-1]<L[re+1]?L[re+1]:L[re-1]+1)-X;Me<y&&ve<s&&c.charAt(Me)==m.charAt(ve);)Me++,ve++;if(L[re]=Me,Me>y)N+=2;else if(ve>s)p+=2;else if(k&&(ge=f+E-X)>=0&&ge<w&&S[ge]!=-1&&Me>=(ce=y-S[ge]))return this.diff_bisectSplit_(c,m,Me,ve,l)}for(var pe=-D+j;pe<=D-z;pe+=2){for(var ce,ge=f+pe,xe=(ce=pe==-D||pe!=D&&S[ge-1]<S[ge+1]?S[ge+1]:S[ge-1]+1)-pe;ce<y&&xe<s&&c.charAt(y-ce-1)==m.charAt(s-xe-1);)ce++,xe++;if(S[ge]=ce,ce>y)z+=2;else if(xe>s)j+=2;else if(!k&&(re=f+E-pe)>=0&&re<w&&L[re]!=-1){var Me;if(ve=f+(Me=L[re])-re,Me>=(ce=y-ce))return this.diff_bisectSplit_(c,m,Me,ve,l)}}}return[new _.Diff(b,c),new _.Diff(1,m)]},_.prototype.diff_bisectSplit_=function(c,m,l,y,s){var u=c.substring(0,l),f=m.substring(0,y),w=c.substring(l),L=m.substring(y),S=this.diff_main(u,f,!1,s),C=this.diff_main(w,L,!1,s);return S.concat(C)},_.prototype.diff_linesToChars_=function(c,m){var l=[],y={};function s(w){for(var L="",S=0,C=-1,E=l.length;C<w.length-1;){(C=w.indexOf(`
|
|
2
|
-
`,S))==-1&&(C=w.length-1);var k=w.substring(S,C+1);(y.hasOwnProperty?y.hasOwnProperty(k):y[k]!==void 0)?L+=String.fromCharCode(y[k]):(E==u&&(k=w.substring(S),C=w.length),L+=String.fromCharCode(E),y[k]=E,l[E++]=k),S=C+1}return L}l[0]="";var u=4e4,f=s(c);return u=65535,{chars1:f,chars2:s(m),lineArray:l}},_.prototype.diff_charsToLines_=function(c,m){for(var l=0;l<c.length;l++){for(var y=c[l][1],s=[],u=0;u<y.length;u++)s[u]=m[y.charCodeAt(u)];c[l][1]=s.join("")}},_.prototype.diff_commonPrefix=function(c,m){if(!c||!m||c.charAt(0)!=m.charAt(0))return 0;for(var l=0,y=Math.min(c.length,m.length),s=y,u=0;l<s;)c.substring(u,s)==m.substring(u,s)?u=l=s:y=s,s=Math.floor((y-l)/2+l);return s},_.prototype.diff_commonSuffix=function(c,m){if(!c||!m||c.charAt(c.length-1)!=m.charAt(m.length-1))return 0;for(var l=0,y=Math.min(c.length,m.length),s=y,u=0;l<s;)c.substring(c.length-s,c.length-u)==m.substring(m.length-s,m.length-u)?u=l=s:y=s,s=Math.floor((y-l)/2+l);return s},_.prototype.diff_commonOverlap_=function(c,m){var l=c.length,y=m.length;if(l==0||y==0)return 0;l>y?c=c.substring(l-y):l<y&&(m=m.substring(0,l));var s=Math.min(l,y);if(c==m)return s;for(var u=0,f=1;;){var w=c.substring(s-f),L=m.indexOf(w);if(L==-1)return u;f+=L,L!=0&&c.substring(s-f)!=m.substring(0,f)||(u=f,f++)}},_.prototype.diff_halfMatch_=function(c,m){if(this.Diff_Timeout<=0)return null;var l=c.length>m.length?c:m,y=c.length>m.length?m:c;if(l.length<4||2*y.length<l.length)return null;var s=this;function u(p,N,j){for(var z,D,X,re,ve=p.substring(j,j+Math.floor(p.length/4)),pe=-1,ce="";(pe=N.indexOf(ve,pe+1))!=-1;){var ge=s.diff_commonPrefix(p.substring(j),N.substring(pe)),xe=s.diff_commonSuffix(p.substring(0,j),N.substring(0,pe));ce.length<xe+ge&&(ce=N.substring(pe-xe,pe)+N.substring(pe,pe+ge),z=p.substring(0,j-xe),D=p.substring(j+ge),X=N.substring(0,pe-xe),re=N.substring(pe+ge))}return 2*ce.length>=p.length?[z,D,X,re,ce]:null}var f,w,L,S,C,E=u(l,y,Math.ceil(l.length/4)),k=u(l,y,Math.ceil(l.length/2));return E||k?(f=k?E&&E[4].length>k[4].length?E:k:E,c.length>m.length?(w=f[0],L=f[1],S=f[2],C=f[3]):(S=f[0],C=f[1],w=f[2],L=f[3]),[w,L,S,C,f[4]]):null},_.prototype.diff_cleanupSemantic=function(c){for(var m=!1,l=[],y=0,s=null,u=0,f=0,w=0,L=0,S=0;u<c.length;)c[u][0]==0?(l[y++]=u,f=L,w=S,L=0,S=0,s=c[u][1]):(c[u][0]==1?L+=c[u][1].length:S+=c[u][1].length,s&&s.length<=Math.max(f,w)&&s.length<=Math.max(L,S)&&(c.splice(l[y-1],0,new _.Diff(b,s)),c[l[y-1]+1][0]=1,y--,u=--y>0?l[y-1]:-1,f=0,w=0,L=0,S=0,s=null,m=!0)),u++;for(m&&this.diff_cleanupMerge(c),this.diff_cleanupSemanticLossless(c),u=1;u<c.length;){if(c[u-1][0]==b&&c[u][0]==1){var C=c[u-1][1],E=c[u][1],k=this.diff_commonOverlap_(C,E),p=this.diff_commonOverlap_(E,C);k>=p?(k>=C.length/2||k>=E.length/2)&&(c.splice(u,0,new _.Diff(0,E.substring(0,k))),c[u-1][1]=C.substring(0,C.length-k),c[u+1][1]=E.substring(k),u++):(p>=C.length/2||p>=E.length/2)&&(c.splice(u,0,new _.Diff(0,C.substring(0,p))),c[u-1][0]=1,c[u-1][1]=E.substring(0,E.length-p),c[u+1][0]=b,c[u+1][1]=C.substring(p),u++),u++}u++}},_.prototype.diff_cleanupSemanticLossless=function(c){function m(p,N){if(!p||!N)return 6;var j=p.charAt(p.length-1),z=N.charAt(0),D=j.match(_.nonAlphaNumericRegex_),X=z.match(_.nonAlphaNumericRegex_),re=D&&j.match(_.whitespaceRegex_),ve=X&&z.match(_.whitespaceRegex_),pe=re&&j.match(_.linebreakRegex_),ce=ve&&z.match(_.linebreakRegex_),ge=pe&&p.match(_.blanklineEndRegex_),xe=ce&&N.match(_.blanklineStartRegex_);return ge||xe?5:pe||ce?4:D&&!re&&ve?3:re||ve?2:D||X?1:0}for(var l=1;l<c.length-1;){if(c[l-1][0]==0&&c[l+1][0]==0){var y=c[l-1][1],s=c[l][1],u=c[l+1][1],f=this.diff_commonSuffix(y,s);if(f){var w=s.substring(s.length-f);y=y.substring(0,y.length-f),s=w+s.substring(0,s.length-f),u=w+u}for(var L=y,S=s,C=u,E=m(y,s)+m(s,u);s.charAt(0)===u.charAt(0);){y+=s.charAt(0),s=s.substring(1)+u.charAt(0),u=u.substring(1);var k=m(y,s)+m(s,u);k>=E&&(E=k,L=y,S=s,C=u)}c[l-1][1]!=L&&(L?c[l-1][1]=L:(c.splice(l-1,1),l--),c[l][1]=S,C?c[l+1][1]=C:(c.splice(l+1,1),l--))}l++}},_.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,_.whitespaceRegex_=/\s/,_.linebreakRegex_=/[\r\n]/,_.blanklineEndRegex_=/\n\r?\n$/,_.blanklineStartRegex_=/^\r?\n\r?\n/,_.prototype.diff_cleanupEfficiency=function(c){for(var m=!1,l=[],y=0,s=null,u=0,f=!1,w=!1,L=!1,S=!1;u<c.length;)c[u][0]==0?(c[u][1].length<this.Diff_EditCost&&(L||S)?(l[y++]=u,f=L,w=S,s=c[u][1]):(y=0,s=null),L=S=!1):(c[u][0]==b?S=!0:L=!0,s&&(f&&w&&L&&S||s.length<this.Diff_EditCost/2&&f+w+L+S==3)&&(c.splice(l[y-1],0,new _.Diff(b,s)),c[l[y-1]+1][0]=1,y--,s=null,f&&w?(L=S=!0,y=0):(u=--y>0?l[y-1]:-1,L=S=!1),m=!0)),u++;m&&this.diff_cleanupMerge(c)},_.prototype.diff_cleanupMerge=function(c){c.push(new _.Diff(0,""));for(var m,l=0,y=0,s=0,u="",f="";l<c.length;)switch(c[l][0]){case 1:s++,f+=c[l][1],l++;break;case b:y++,u+=c[l][1],l++;break;case 0:y+s>1?(y!==0&&s!==0&&((m=this.diff_commonPrefix(f,u))!==0&&(l-y-s>0&&c[l-y-s-1][0]==0?c[l-y-s-1][1]+=f.substring(0,m):(c.splice(0,0,new _.Diff(0,f.substring(0,m))),l++),f=f.substring(m),u=u.substring(m)),(m=this.diff_commonSuffix(f,u))!==0&&(c[l][1]=f.substring(f.length-m)+c[l][1],f=f.substring(0,f.length-m),u=u.substring(0,u.length-m))),l-=y+s,c.splice(l,y+s),u.length&&(c.splice(l,0,new _.Diff(b,u)),l++),f.length&&(c.splice(l,0,new _.Diff(1,f)),l++),l++):l!==0&&c[l-1][0]==0?(c[l-1][1]+=c[l][1],c.splice(l,1)):l++,s=0,y=0,u="",f=""}c[c.length-1][1]===""&&c.pop();var w=!1;for(l=1;l<c.length-1;)c[l-1][0]==0&&c[l+1][0]==0&&(c[l][1].substring(c[l][1].length-c[l-1][1].length)==c[l-1][1]?(c[l][1]=c[l-1][1]+c[l][1].substring(0,c[l][1].length-c[l-1][1].length),c[l+1][1]=c[l-1][1]+c[l+1][1],c.splice(l-1,1),w=!0):c[l][1].substring(0,c[l+1][1].length)==c[l+1][1]&&(c[l-1][1]+=c[l+1][1],c[l][1]=c[l][1].substring(c[l+1][1].length)+c[l+1][1],c.splice(l+1,1),w=!0)),l++;w&&this.diff_cleanupMerge(c)},_.prototype.diff_xIndex=function(c,m){var l,y=0,s=0,u=0,f=0;for(l=0;l<c.length&&(c[l][0]!==1&&(y+=c[l][1].length),c[l][0]!==b&&(s+=c[l][1].length),!(y>m));l++)u=y,f=s;return c.length!=l&&c[l][0]===b?f:f+(m-u)},_.prototype.diff_prettyHtml=function(c){for(var m=[],l=/&/g,y=/</g,s=/>/g,u=/\n/g,f=0;f<c.length;f++){var w=c[f][0],L=c[f][1].replace(l,"&").replace(y,"<").replace(s,">").replace(u,"¶<br>");switch(w){case 1:m[f]='<ins style="background:#e6ffe6;">'+L+"</ins>";break;case b:m[f]='<del style="background:#ffe6e6;">'+L+"</del>";break;case 0:m[f]="<span>"+L+"</span>"}}return m.join("")},_.prototype.diff_text1=function(c){for(var m=[],l=0;l<c.length;l++)c[l][0]!==1&&(m[l]=c[l][1]);return m.join("")},_.prototype.diff_text2=function(c){for(var m=[],l=0;l<c.length;l++)c[l][0]!==b&&(m[l]=c[l][1]);return m.join("")},_.prototype.diff_levenshtein=function(c){for(var m=0,l=0,y=0,s=0;s<c.length;s++){var u=c[s][0],f=c[s][1];switch(u){case 1:l+=f.length;break;case b:y+=f.length;break;case 0:m+=Math.max(l,y),l=0,y=0}}return m+=Math.max(l,y)},_.prototype.diff_toDelta=function(c){for(var m=[],l=0;l<c.length;l++)switch(c[l][0]){case 1:m[l]="+"+encodeURI(c[l][1]);break;case b:m[l]="-"+c[l][1].length;break;case 0:m[l]="="+c[l][1].length}return m.join(" ").replace(/%20/g," ")},_.prototype.diff_fromDelta=function(c,m){for(var l=[],y=0,s=0,u=m.split(/\t/g),f=0;f<u.length;f++){var w=u[f].substring(1);switch(u[f].charAt(0)){case"+":try{l[y++]=new _.Diff(1,decodeURI(w))}catch{throw new Error("Illegal escape in diff_fromDelta: "+w)}break;case"-":case"=":var L=parseInt(w,10);if(isNaN(L)||L<0)throw new Error("Invalid number in diff_fromDelta: "+w);var S=c.substring(s,s+=L);u[f].charAt(0)=="="?l[y++]=new _.Diff(0,S):l[y++]=new _.Diff(b,S);break;default:if(u[f])throw new Error("Invalid diff operation in diff_fromDelta: "+u[f])}}if(s!=c.length)throw new Error("Delta length ("+s+") does not equal source text length ("+c.length+").");return l},_.prototype.match_main=function(c,m,l){if(c==null||m==null||l==null)throw new Error("Null input. (match_main)");return l=Math.max(0,Math.min(l,c.length)),c==m?0:c.length?c.substring(l,l+m.length)==m?l:this.match_bitap_(c,m,l):-1},_.prototype.match_bitap_=function(c,m,l){if(m.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var y=this.match_alphabet_(m),s=this;function u(ve,pe){var ce=ve/m.length,ge=Math.abs(l-pe);return s.Match_Distance?ce+ge/s.Match_Distance:ge?1:ce}var f=this.Match_Threshold,w=c.indexOf(m,l);w!=-1&&(f=Math.min(u(0,w),f),(w=c.lastIndexOf(m,l+m.length))!=-1&&(f=Math.min(u(0,w),f)));var L,S,C=1<<m.length-1;w=-1;for(var E,k=m.length+c.length,p=0;p<m.length;p++){for(L=0,S=k;L<S;)u(p,l+S)<=f?L=S:k=S,S=Math.floor((k-L)/2+L);k=S;var N=Math.max(1,l-S+1),j=Math.min(l+S,c.length)+m.length,z=Array(j+2);z[j+1]=(1<<p)-1;for(var D=j;D>=N;D--){var X=y[c.charAt(D-1)];if(z[D]=p===0?(z[D+1]<<1|1)&X:(z[D+1]<<1|1)&X|(E[D+1]|E[D])<<1|1|E[D+1],z[D]&C){var re=u(p,D-1);if(re<=f){if(f=re,!((w=D-1)>l))break;N=Math.max(1,2*l-w)}}}if(u(p+1,l)>f)break;E=z}return w},_.prototype.match_alphabet_=function(c){for(var m={},l=0;l<c.length;l++)m[c.charAt(l)]=0;for(l=0;l<c.length;l++)m[c.charAt(l)]|=1<<c.length-l-1;return m},_.prototype.patch_addContext_=function(c,m){if(m.length!=0){if(c.start2===null)throw Error("patch not initialized");for(var l=m.substring(c.start2,c.start2+c.length1),y=0;m.indexOf(l)!=m.lastIndexOf(l)&&l.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)y+=this.Patch_Margin,l=m.substring(c.start2-y,c.start2+c.length1+y);y+=this.Patch_Margin;var s=m.substring(c.start2-y,c.start2);s&&c.diffs.unshift(new _.Diff(0,s));var u=m.substring(c.start2+c.length1,c.start2+c.length1+y);u&&c.diffs.push(new _.Diff(0,u)),c.start1-=s.length,c.start2-=s.length,c.length1+=s.length+u.length,c.length2+=s.length+u.length}},_.prototype.patch_make=function(c,m,l){var y,s;if(typeof c=="string"&&typeof m=="string"&&l===void 0)y=c,(s=this.diff_main(y,m,!0)).length>2&&(this.diff_cleanupSemantic(s),this.diff_cleanupEfficiency(s));else if(c&&typeof c=="object"&&m===void 0&&l===void 0)s=c,y=this.diff_text1(s);else if(typeof c=="string"&&m&&typeof m=="object"&&l===void 0)y=c,s=m;else{if(typeof c!="string"||typeof m!="string"||!l||typeof l!="object")throw new Error("Unknown call format to patch_make.");y=c,s=l}if(s.length===0)return[];for(var u=[],f=new _.patch_obj,w=0,L=0,S=0,C=y,E=y,k=0;k<s.length;k++){var p=s[k][0],N=s[k][1];switch(w||p===0||(f.start1=L,f.start2=S),p){case 1:f.diffs[w++]=s[k],f.length2+=N.length,E=E.substring(0,S)+N+E.substring(S);break;case b:f.length1+=N.length,f.diffs[w++]=s[k],E=E.substring(0,S)+E.substring(S+N.length);break;case 0:N.length<=2*this.Patch_Margin&&w&&s.length!=k+1?(f.diffs[w++]=s[k],f.length1+=N.length,f.length2+=N.length):N.length>=2*this.Patch_Margin&&w&&(this.patch_addContext_(f,C),u.push(f),f=new _.patch_obj,w=0,C=E,L=S)}p!==1&&(L+=N.length),p!==b&&(S+=N.length)}return w&&(this.patch_addContext_(f,C),u.push(f)),u},_.prototype.patch_deepCopy=function(c){for(var m=[],l=0;l<c.length;l++){var y=c[l],s=new _.patch_obj;s.diffs=[];for(var u=0;u<y.diffs.length;u++)s.diffs[u]=new _.Diff(y.diffs[u][0],y.diffs[u][1]);s.start1=y.start1,s.start2=y.start2,s.length1=y.length1,s.length2=y.length2,m[l]=s}return m},_.prototype.patch_apply=function(c,m){if(c.length==0)return[m,[]];c=this.patch_deepCopy(c);var l=this.patch_addPadding(c);m=l+m+l,this.patch_splitMax(c);for(var y=0,s=[],u=0;u<c.length;u++){var f,w,L=c[u].start2+y,S=this.diff_text1(c[u].diffs),C=-1;if(S.length>this.Match_MaxBits?(f=this.match_main(m,S.substring(0,this.Match_MaxBits),L))!=-1&&((C=this.match_main(m,S.substring(S.length-this.Match_MaxBits),L+S.length-this.Match_MaxBits))==-1||f>=C)&&(f=-1):f=this.match_main(m,S,L),f==-1)s[u]=!1,y-=c[u].length2-c[u].length1;else if(s[u]=!0,y=f-L,S==(w=C==-1?m.substring(f,f+S.length):m.substring(f,C+this.Match_MaxBits)))m=m.substring(0,f)+this.diff_text2(c[u].diffs)+m.substring(f+S.length);else{var E=this.diff_main(S,w,!1);if(S.length>this.Match_MaxBits&&this.diff_levenshtein(E)/S.length>this.Patch_DeleteThreshold)s[u]=!1;else{this.diff_cleanupSemanticLossless(E);for(var k,p=0,N=0;N<c[u].diffs.length;N++){var j=c[u].diffs[N];j[0]!==0&&(k=this.diff_xIndex(E,p)),j[0]===1?m=m.substring(0,f+k)+j[1]+m.substring(f+k):j[0]===b&&(m=m.substring(0,f+k)+m.substring(f+this.diff_xIndex(E,p+j[1].length))),j[0]!==b&&(p+=j[1].length)}}}}return[m=m.substring(l.length,m.length-l.length),s]},_.prototype.patch_addPadding=function(c){for(var m=this.Patch_Margin,l="",y=1;y<=m;y++)l+=String.fromCharCode(y);for(y=0;y<c.length;y++)c[y].start1+=m,c[y].start2+=m;var s=c[0],u=s.diffs;if(u.length==0||u[0][0]!=0)u.unshift(new _.Diff(0,l)),s.start1-=m,s.start2-=m,s.length1+=m,s.length2+=m;else if(m>u[0][1].length){var f=m-u[0][1].length;u[0][1]=l.substring(u[0][1].length)+u[0][1],s.start1-=f,s.start2-=f,s.length1+=f,s.length2+=f}return(u=(s=c[c.length-1]).diffs).length==0||u[u.length-1][0]!=0?(u.push(new _.Diff(0,l)),s.length1+=m,s.length2+=m):m>u[u.length-1][1].length&&(f=m-u[u.length-1][1].length,u[u.length-1][1]+=l.substring(0,f),s.length1+=f,s.length2+=f),l},_.prototype.patch_splitMax=function(c){for(var m=this.Match_MaxBits,l=0;l<c.length;l++)if(!(c[l].length1<=m)){var y=c[l];c.splice(l--,1);for(var s=y.start1,u=y.start2,f="";y.diffs.length!==0;){var w=new _.patch_obj,L=!0;for(w.start1=s-f.length,w.start2=u-f.length,f!==""&&(w.length1=w.length2=f.length,w.diffs.push(new _.Diff(0,f)));y.diffs.length!==0&&w.length1<m-this.Patch_Margin;){var S=y.diffs[0][0],C=y.diffs[0][1];S===1?(w.length2+=C.length,u+=C.length,w.diffs.push(y.diffs.shift()),L=!1):S===b&&w.diffs.length==1&&w.diffs[0][0]==0&&C.length>2*m?(w.length1+=C.length,s+=C.length,L=!1,w.diffs.push(new _.Diff(S,C)),y.diffs.shift()):(C=C.substring(0,m-w.length1-this.Patch_Margin),w.length1+=C.length,s+=C.length,S===0?(w.length2+=C.length,u+=C.length):L=!1,w.diffs.push(new _.Diff(S,C)),C==y.diffs[0][1]?y.diffs.shift():y.diffs[0][1]=y.diffs[0][1].substring(C.length))}f=(f=this.diff_text2(w.diffs)).substring(f.length-this.Patch_Margin);var E=this.diff_text1(y.diffs).substring(0,this.Patch_Margin);E!==""&&(w.length1+=E.length,w.length2+=E.length,w.diffs.length!==0&&w.diffs[w.diffs.length-1][0]===0?w.diffs[w.diffs.length-1][1]+=E:w.diffs.push(new _.Diff(0,E))),L||c.splice(++l,0,w)}}},_.prototype.patch_toText=function(c){for(var m=[],l=0;l<c.length;l++)m[l]=c[l];return m.join("")},_.prototype.patch_fromText=function(c){var m=[];if(!c)return m;for(var l=c.split(`
|
|
3
|
-
`)
|
|
4
|
-
`],l=0;l<this.diffs.length;l++){switch(this.diffs[l][0]){case 1:c="+";break;case b:c="-";break;case 0:c=" "}m[l+1]=c+encodeURI(this.diffs[l][1])+`
|
|
5
|
-
`}return m.join("").replace(/%20/g," ")},Z.exports=_,Z.exports.diff_match_patch=_,Z.exports.DIFF_DELETE=b,Z.exports.DIFF_INSERT=1,Z.exports.DIFF_EQUAL=0},872:(Z,_,b)=>{b.d(_,{default:()=>yt});var c=b(478),m=b(156),l=b(314),y=b(730),s=b(66),u=b(218),f=b(702),w=function(G){G===void 0&&(G=document);var ye=function(U){var R=document.createElement("img");R.src=U.getAttribute("data-src"),R.addEventListener("load",function(){U.getAttribute("style")||U.getAttribute("class")||U.getAttribute("width")||U.getAttribute("height")||R.naturalHeight>R.naturalWidth&&R.naturalWidth/R.naturalHeight<document.querySelector(".vditor-reset").clientWidth/(window.innerHeight-40)&&R.naturalHeight>window.innerHeight-40&&(U.style.height=window.innerHeight-40+"px"),U.src=R.src}),U.removeAttribute("data-src")};if(!("IntersectionObserver"in window))return G.querySelectorAll("img").forEach(function(U){U.getAttribute("data-src")&&ye(U)}),!1;window.vditorImageIntersectionObserver?(window.vditorImageIntersectionObserver.disconnect(),G.querySelectorAll("img").forEach(function(U){window.vditorImageIntersectionObserver.observe(U)})):(window.vditorImageIntersectionObserver=new IntersectionObserver(function(U){U.forEach(function(R){(R.isIntersecting===void 0?R.intersectionRatio!==0:R.isIntersecting)&&R.target.getAttribute("data-src")&&ye(R.target)})}),G.querySelectorAll("img").forEach(function(U){window.vditorImageIntersectionObserver.observe(U)}))},L=b(466),S=b(554),C=b(40),E=b(563),k=b(749),p=b(818),N=b(408),j=b(54),z=b(227),D=b(526),X=b(827),re=b(640),ve=b(895),pe=b(393),ce=function(G,ye){if(ye===void 0&&(ye="zh_CN"),typeof speechSynthesis<"u"&&typeof SpeechSynthesisUtterance<"u"){var U=function(){var fe,me;return speechSynthesis.getVoices().forEach(function(Y){Y.lang===ye.replace("_","-")&&(fe=Y),Y.default&&(me=Y)}),fe||(fe=me),fe},R='<svg><use xlink:href="#vditor-icon-play"></use></svg>',oe='<svg><use xlink:href="#vditor-icon-pause"></use></svg>';document.getElementById("vditorIconScript")||(R='<svg viewBox="0 0 32 32"><path d="M3.436 0l25.128 16-25.128 16v-32z"></path></svg>',oe='<svg viewBox="0 0 32 32"><path d="M20.617 0h9.128v32h-9.128v-32zM2.255 32v-32h9.128v32h-9.128z"></path></svg>');var le=document.querySelector(".vditor-speech");le||((le=document.createElement("button")).className="vditor-speech",G.insertAdjacentElement("beforeend",le),speechSynthesis.onvoiceschanged!==void 0&&(speechSynthesis.onvoiceschanged=U));var ae=U(),He=new SpeechSynthesisUtterance;He.voice=ae,He.onend=He.onerror=function(){le.style.display="none",speechSynthesis.cancel(),le.classList.remove("vditor-speech--current"),le.innerHTML=R},G.addEventListener(window.ontouchstart!==void 0?"touchend":"click",function(fe){var me=fe.target;if(me.classList.contains("vditor-speech")||me.parentElement.classList.contains("vditor-speech"))return le.classList.contains("vditor-speech--current")?speechSynthesis.speaking&&(speechSynthesis.paused?(speechSynthesis.resume(),le.innerHTML=oe):(speechSynthesis.pause(),le.innerHTML=R)):(He.text=le.getAttribute("data-text"),speechSynthesis.speak(He),le.classList.add("vditor-speech--current"),le.innerHTML=oe),(0,pe.Hc)(window.vditorSpeechRange),void G.focus();if(le.style.display="none",speechSynthesis.cancel(),le.classList.remove("vditor-speech--current"),le.innerHTML=R,getSelection().rangeCount!==0){var Y=getSelection().getRangeAt(0),ze=Y.toString().trim();if(ze){window.vditorSpeechRange=Y.cloneRange();var Xe=Y.getBoundingClientRect();le.innerHTML=R,le.style.display="block",le.style.top=Xe.top+Xe.height+document.querySelector("html").scrollTop-20+"px",window.ontouchstart!==void 0?le.style.left=fe.changedTouches[fe.changedTouches.length-1].pageX+2+"px":le.style.left=fe.clientX+2+"px",le.setAttribute("data-text",ze)}}})}},ge=function(G,ye,U,R){return new(U||(U=Promise))(function(oe,le){function ae(me){try{fe(R.next(me))}catch(Y){le(Y)}}function He(me){try{fe(R.throw(me))}catch(Y){le(Y)}}function fe(me){var Y;me.done?oe(me.value):(Y=me.value,Y instanceof U?Y:new U(function(ze){ze(Y)})).then(ae,He)}fe((R=R.apply(G,[])).next())})},xe=function(G,ye){var U,R,oe,le,ae={label:0,sent:function(){if(1&oe[0])throw oe[1];return oe[1]},trys:[],ops:[]};return le={next:He(0),throw:He(1),return:He(2)},typeof Symbol=="function"&&(le[Symbol.iterator]=function(){return this}),le;function He(fe){return function(me){return function(Y){if(U)throw new TypeError("Generator is already executing.");for(;ae;)try{if(U=1,R&&(oe=2&Y[0]?R.return:Y[0]?R.throw||((oe=R.return)&&oe.call(R),0):R.next)&&!(oe=oe.call(R,Y[1])).done)return oe;switch(R=0,oe&&(Y=[2&Y[0],oe.value]),Y[0]){case 0:case 1:oe=Y;break;case 4:return ae.label++,{value:Y[1],done:!1};case 5:ae.label++,R=Y[1],Y=[0];continue;case 7:Y=ae.ops.pop(),ae.trys.pop();continue;default:if(oe=ae.trys,!((oe=oe.length>0&&oe[oe.length-1])||Y[0]!==6&&Y[0]!==2)){ae=0;continue}if(Y[0]===3&&(!oe||Y[1]>oe[0]&&Y[1]<oe[3])){ae.label=Y[1];break}if(Y[0]===6&&ae.label<oe[1]){ae.label=oe[1],oe=Y;break}if(oe&&ae.label<oe[2]){ae.label=oe[2],ae.ops.push(Y);break}oe[2]&&ae.ops.pop(),ae.trys.pop();continue}Y=ye.call(G,ae)}catch(ze){Y=[6,ze],R=0}finally{U=oe=0}if(5&Y[0])throw Y[1];return{value:Y[0]?Y[1]:void 0,done:!0}}([fe,me])}}},Me=function(G){var ye,U={anchor:0,cdn:j.g.CDN,customEmoji:{},emojiPath:j.g.CDN+"/dist/images/emoji",hljs:j.g.HLJS_OPTIONS,icon:"ant",lang:"zh_CN",markdown:j.g.MARKDOWN_OPTIONS,math:j.g.MATH_OPTIONS,mode:"light",speech:{enable:!1},render:{media:{enable:!0}},theme:j.g.THEME_OPTIONS};return G.cdn&&(!((ye=G.theme)===null||ye===void 0)&&ye.path||(U.theme.path=G.cdn+"/dist/css/content-theme"),G.emojiPath||(U.emojiPath=G.cdn+"/dist/images/emoji")),(0,re.T)(U,G)},$e=function(G,ye){var U=Me(ye);return(0,D.G)(U.cdn+"/dist/js/lute/lute.min.js","vditorLuteScript").then(function(){var R=(0,ve.X)({autoSpace:U.markdown.autoSpace,gfmAutoLink:U.markdown.gfmAutoLink,codeBlockPreview:U.markdown.codeBlockPreview,emojiSite:U.emojiPath,emojis:U.customEmoji,fixTermTypo:U.markdown.fixTermTypo,footnotes:U.markdown.footnotes,headingAnchor:U.anchor!==0,inlineMathDigit:U.math.inlineDigit,lazyLoadImage:U.lazyLoadImage,linkBase:U.markdown.linkBase,linkPrefix:U.markdown.linkPrefix,listStyle:U.markdown.listStyle,mark:U.markdown.mark,mathBlockPreview:U.markdown.mathBlockPreview,paragraphBeginningSpace:U.markdown.paragraphBeginningSpace,sanitize:U.markdown.sanitize,toc:U.markdown.toc});return ye!=null&&ye.renderers&&R.SetJSRenderers({renderers:{Md2HTML:ye.renderers}}),R.SetHeadingID(!0),R.Md2HTML(G)})},Le=function(G,ye,U){return ge(void 0,void 0,void 0,function(){var R,oe,le;return xe(this,function(ae){switch(ae.label){case 0:return R=Me(U),[4,$e(ye,R)];case 1:if(oe=ae.sent(),R.transform&&(oe=R.transform(oe)),G.innerHTML=oe,G.classList.add("vditor-reset"),R.i18n)return[3,5];if(["en_US","fr_FR","pt_BR","ja_JP","ko_KR","ru_RU","sv_SE","zh_CN","zh_TW"].includes(R.lang))return[3,2];throw new Error("options.lang error, see https://ld246.com/article/1549638745630#options");case 2:return le="vditorI18nScript"+R.lang,document.querySelectorAll('head script[id^="vditorI18nScript"]').forEach(function(fe){fe.id!==le&&document.head.removeChild(fe)}),[4,(0,D.G)(R.cdn+"/dist/js/i18n/"+R.lang+".js",le)];case 3:ae.sent(),ae.label=4;case 4:return[3,6];case 5:window.VditorI18n=R.i18n,ae.label=6;case 6:return R.icon?[4,(0,D.G)(R.cdn+"/dist/js/icons/"+R.icon+".js","vditorIconScript")]:[3,8];case 7:ae.sent(),ae.label=8;case 8:return(0,z.Z)(R.theme.current,R.theme.path),R.anchor===1&&G.classList.add("vditor-reset--anchor"),(0,y.O)(G,R.hljs),(0,f.s)(R.hljs,G,R.cdn),(0,L.H)(G,{cdn:R.cdn,math:R.math}),(0,C.i)(G,R.cdn,R.mode),(0,E.K)(G,R.cdn,R.mode),(0,s.P)(G,R.cdn),(0,u.v)(G,R.cdn),(0,l.p)(G,R.cdn,R.mode),(0,k.P)(G,R.cdn,R.mode),(0,N.B)(G,R.cdn),(0,c.Q)(G,R.cdn),R.render.media.enable&&(0,S.Y)(G),R.speech.enable&&ce(G),R.anchor!==0&&(He=R.anchor,document.querySelectorAll(".vditor-anchor").forEach(function(fe){He===1&&fe.classList.add("vditor-anchor--left"),fe.onclick=function(){var me=fe.getAttribute("href").substr(1),Y=document.getElementById("vditorAnchor-"+me).offsetTop;document.querySelector("html").scrollTop=Y}}),window.onhashchange=function(){var fe=document.getElementById("vditorAnchor-"+decodeURIComponent(window.location.hash.substr(1)));fe&&(document.querySelector("html").scrollTop=fe.offsetTop)}),R.after&&R.after(),R.lazyLoadImage&&w(G),G.addEventListener("click",function(fe){var me=(0,X.lG)(fe.target,"SPAN");if(me&&(0,X.fb)(me,"vditor-toc")){var Y=G.querySelector("#"+me.getAttribute("data-target-id"));Y&&window.scrollTo(window.scrollX,Y.offsetTop)}}),[2]}var He})})},A=b(863),Ue=b(312);const yt=function(){function G(){}return G.adapterRender=m,G.previewImage=A.E,G.codeRender=y.O,G.graphvizRender=u.v,G.highlightRender=f.s,G.mathRender=L.H,G.mermaidRender=C.i,G.markmapRender=E.K,G.flowchartRender=s.P,G.chartRender=l.p,G.abcRender=c.Q,G.mindmapRender=k.P,G.plantumlRender=N.B,G.outlineRender=p.k,G.mediaRender=S.Y,G.speechRender=ce,G.lazyLoadImageRender=w,G.md2html=$e,G.preview=Le,G.setCodeTheme=Ue.Y,G.setContentTheme=z.Z,G}()},54:(Z,_,b)=>{b.d(_,{H:()=>c,g:()=>m});var c="3.10.4",m=function(){function l(){}return l.ZWSP="",l.DROP_EDITOR="application/editor",l.MOBILE_WIDTH=520,l.CLASS_MENU_DISABLED="vditor-menu--disabled",l.EDIT_TOOLBARS=["emoji","headings","bold","italic","strike","link","list","ordered-list","outdent","indent","check","line","quote","code","inline-code","insert-after","insert-before","upload","record","table"],l.CODE_THEME=["abap","algol","algol_nu","arduino","autumn","borland","bw","colorful","dracula","emacs","friendly","fruity","github","igor","lovelace","manni","monokai","monokailight","murphy","native","paraiso-dark","paraiso-light","pastie","perldoc","pygments","rainbow_dash","rrt","solarized-dark","solarized-dark256","solarized-light","swapoff","tango","trac","vim","vs","xcode","ant-design"],l.CODE_LANGUAGES=["mermaid","echarts","mindmap","plantuml","abc","graphviz","flowchart","apache","js","ts","html","markmap","properties","apache","bash","c","csharp","cpp","css","coffeescript","diff","go","xml","http","json","java","javascript","kotlin","less","lua","makefile","markdown","nginx","objectivec","php","php-template","perl","plaintext","python","python-repl","r","ruby","rust","scss","sql","shell","swift","ini","typescript","vbnet","yaml","ada","clojure","dart","erb","fortran","gradle","haskell","julia","julia-repl","lisp","matlab","pgsql","powershell","sql_more","stata","cmake","mathematica","solidity","yul"],l.CDN="https://unpkg.com/vditor@3.10.4",l.MARKDOWN_OPTIONS={autoSpace:!1,gfmAutoLink:!0,codeBlockPreview:!0,fixTermTypo:!1,footnotes:!0,linkBase:"",linkPrefix:"",listStyle:!1,mark:!1,mathBlockPreview:!0,paragraphBeginningSpace:!1,sanitize:!0,toc:!1},l.HLJS_OPTIONS={enable:!0,lineNumber:!1,defaultLang:"",style:"github"},l.MATH_OPTIONS={engine:"KaTeX",inlineDigit:!1,macros:{}},l.THEME_OPTIONS={current:"light",list:{"ant-design":"Ant Design",dark:"Dark",light:"Light",wechat:"WeChat"},path:l.CDN+"/dist/css/content-theme"},l}()},478:(Z,_,b)=>{b.d(_,{Q:()=>y});var c=b(54),m=b(526),l=b(156),y=function(s,u){s===void 0&&(s=document),u===void 0&&(u=c.g.CDN);var f=l.abcRenderAdapter.getElements(s);f.length>0&&(0,m.G)(u+"/dist/js/abcjs/abcjs_basic.min.js","vditorAbcjsScript").then(function(){f.forEach(function(w){w.parentElement.classList.contains("vditor-wysiwyg__pre")||w.parentElement.classList.contains("vditor-ir__marker--pre")||w.getAttribute("data-processed")!=="true"&&(ABCJS.renderAbc(w,l.abcRenderAdapter.getCode(w).trim()),w.style.overflowX="auto",w.setAttribute("data-processed","true"))})})}},156:(Z,_,b)=>{b.r(_),b.d(_,{abcRenderAdapter:()=>u,chartRenderAdapter:()=>s,flowchartRenderAdapter:()=>w,graphvizRenderAdapter:()=>f,markmapRenderAdapter:()=>l,mathRenderAdapter:()=>c,mermaidRenderAdapter:()=>m,mindmapRenderAdapter:()=>y,plantumlRenderAdapter:()=>L});var c={getCode:function(S){return S.textContent},getElements:function(S){return S.querySelectorAll(".language-math")}},m={getCode:function(S){return S.textContent},getElements:function(S){return S.querySelectorAll(".language-mermaid")}},l={getCode:function(S){return S.textContent},getElements:function(S){return S.querySelectorAll(".language-markmap")}},y={getCode:function(S){return S.getAttribute("data-code")},getElements:function(S){return S.querySelectorAll(".language-mindmap")}},s={getCode:function(S){return S.innerText},getElements:function(S){return S.querySelectorAll(".language-echarts")}},u={getCode:function(S){return S.textContent},getElements:function(S){return S.querySelectorAll(".language-abc")}},f={getCode:function(S){return S.textContent},getElements:function(S){return S.querySelectorAll(".language-graphviz")}},w={getCode:function(S){return S.textContent},getElements:function(S){return S.querySelectorAll(".language-flowchart")}},L={getCode:function(S){return S.textContent},getElements:function(S){return S.querySelectorAll(".language-plantuml")}}},314:(Z,_,b)=>{b.d(_,{p:()=>y});var c=b(54),m=b(526),l=b(156),y=function(s,u,f){s===void 0&&(s=document),u===void 0&&(u=c.g.CDN);var w=l.chartRenderAdapter.getElements(s);w.length>0&&(0,m.G)(u+"/dist/js/echarts/echarts.min.js","vditorEchartsScript").then(function(){w.forEach(function(L){if(!L.parentElement.classList.contains("vditor-wysiwyg__pre")&&!L.parentElement.classList.contains("vditor-ir__marker--pre")){var S=l.chartRenderAdapter.getCode(L).trim();if(S)try{if(L.getAttribute("data-processed")==="true")return;var C=JSON.parse(S);echarts.init(L,f==="dark"?"dark":void 0).setOption(C),L.setAttribute("data-processed","true")}catch(E){L.className="vditor-reset--error",L.innerHTML="echarts render error: <br>"+E}}})})}},730:(Z,_,b)=>{b.d(_,{O:()=>l});var c=b(51),m=b(54),l=function(y,s){Array.from(y.querySelectorAll("pre > code")).filter(function(u,f){return!u.parentElement.classList.contains("vditor-wysiwyg__pre")&&!u.parentElement.classList.contains("vditor-ir__marker--pre")&&!(u.classList.contains("language-mermaid")||u.classList.contains("language-flowchart")||u.classList.contains("language-echarts")||u.classList.contains("language-mindmap")||u.classList.contains("language-plantuml")||u.classList.contains("language-markmap")||u.classList.contains("language-abc")||u.classList.contains("language-graphviz")||u.classList.contains("language-math"))&&!(u.style.maxHeight.indexOf("px")>-1)&&!(y.classList.contains("vditor-preview")&&f>5)}).forEach(function(u){var f,w,L,S=u.innerText;if(u.classList.contains("highlight-chroma")){var C=u.cloneNode(!0);C.querySelectorAll(".highlight-ln").forEach(function(N){N.remove()}),S=C.innerText}else S.endsWith(`
|
|
6
|
-
`)&&(S=S.substr(0,S.length-1));var E='<svg><use xlink:href="#vditor-icon-copy"></use></svg>';document.getElementById("vditorIconScript")||(E='<svg viewBox="0 0 32 32"><path d="M22.545-0h-17.455c-1.6 0-2.909 1.309-2.909 2.909v20.364h2.909v-20.364h17.455v-2.909zM26.909 5.818h-16c-1.6 0-2.909 1.309-2.909 2.909v20.364c0 1.6 1.309 2.909 2.909 2.909h16c1.6 0 2.909-1.309 2.909-2.909v-20.364c0-1.6-1.309-2.909-2.909-2.909zM26.909 29.091h-16v-20.364h16v20.364z"></path></svg>');var k=document.createElement("div");k.className="vditor-copy",k.innerHTML='<span aria-label="'+(((f=window.VditorI18n)===null||f===void 0?void 0:f.copy)||"复制")+`"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
onclick="this.previousElementSibling.select();document.execCommand('copy');this.setAttribute('aria-label', '`+(((L=window.VditorI18n)===null||L===void 0?void 0:L.copied)||"已复制")+`');this.previousElementSibling.blur()">`+E+"</span>";var p=document.createElement("textarea");p.value=(0,c.X)(S),k.insertAdjacentElement("afterbegin",p),s&&s.renderMenu&&s.renderMenu(u,k),u.before(k),u.style.maxHeight=window.outerHeight-40+"px",u.insertAdjacentHTML("afterend",'<span style="position: absolute">'+m.g.ZWSP+"</span>")})}},66:(Z,_,b)=>{b.d(_,{P:()=>y});var c=b(54),m=b(526),l=b(156),y=function(s,u){u===void 0&&(u=c.g.CDN);var f=l.flowchartRenderAdapter.getElements(s);f.length!==0&&(0,m.G)(u+"/dist/js/flowchart.js/flowchart.min.js","vditorFlowchartScript").then(function(){f.forEach(function(w){if(w.getAttribute("data-processed")!=="true"){var L=flowchart.parse(l.flowchartRenderAdapter.getCode(w));w.innerHTML="",L.drawSVG(w),w.setAttribute("data-processed","true")}})})}},218:(Z,_,b)=>{b.d(_,{v:()=>y});var c=b(54),m=b(526),l=b(156),y=function(s,u){u===void 0&&(u=c.g.CDN);var f=l.graphvizRenderAdapter.getElements(s);f.length!==0&&(0,m.G)(u+"/dist/js/graphviz/viz.js","vditorGraphVizScript").then(function(){f.forEach(function(w){var L=l.graphvizRenderAdapter.getCode(w);if(!w.parentElement.classList.contains("vditor-wysiwyg__pre")&&!w.parentElement.classList.contains("vditor-ir__marker--pre")&&w.getAttribute("data-processed")!=="true"&&L.trim()!==""){try{var S=new Blob(["importScripts('"+document.getElementById("vditorGraphVizScript").src.replace("viz.js","full.render.js")+"');"],{type:"application/javascript"}),C=(window.URL||window.webkitURL).createObjectURL(S),E=new Worker(C);new Viz({worker:E}).renderSVGElement(L).then(function(k){w.innerHTML=k.outerHTML}).catch(function(k){w.innerHTML="graphviz render error: <br>"+k,w.className="vditor-reset--error"})}catch(k){console.error("graphviz error",k)}w.setAttribute("data-processed","true")}})})}},702:(Z,_,b)=>{b.d(_,{s:()=>y});var c=b(54),m=b(526),l=b(578),y=function(s,u,f){u===void 0&&(u=document),f===void 0&&(f=c.g.CDN);var w=s.style;c.g.CODE_THEME.includes(w)||(w="github");var L=document.getElementById("vditorHljsStyle"),S=f+"/dist/js/highlight.js/styles/"+w+".css";L&&L.getAttribute("href")!==S&&L.remove(),(0,l.c)(f+"/dist/js/highlight.js/styles/"+w+".css","vditorHljsStyle"),s.enable!==!1&&u.querySelectorAll("pre > code").length!==0&&(0,m.G)(f+"/dist/js/highlight.js/highlight.pack.js","vditorHljsScript").then(function(){(0,m.G)(f+"/dist/js/highlight.js/solidity.min.js","vditorHljsSolidityScript").then(function(){(0,m.G)(f+"/dist/js/highlight.js/yul.min.js","vditorHljsYulScript").then(function(){u.querySelectorAll("pre > code").forEach(function(C){if(!C.parentElement.classList.contains("vditor-ir__marker--pre")&&!C.parentElement.classList.contains("vditor-wysiwyg__pre")&&!(C.classList.contains("language-mermaid")||C.classList.contains("language-flowchart")||C.classList.contains("language-echarts")||C.classList.contains("language-mindmap")||C.classList.contains("language-plantuml")||C.classList.contains("language-abc")||C.classList.contains("language-graphviz")||C.classList.contains("language-math"))&&(s.defaultLang!==""&&C.className.indexOf("language-")===-1&&C.classList.add("language-"+s.defaultLang),hljs.highlightElement(C),s.lineNumber)){C.classList.add("vditor-linenumber");var E=C.querySelector(".vditor-linenumber__temp");E||((E=document.createElement("div")).className="vditor-linenumber__temp",C.insertAdjacentElement("beforeend",E));var k=getComputedStyle(C).whiteSpace,p=!1;k!=="pre-wrap"&&k!=="pre-line"||(p=!0);var N="",j=C.textContent.split(/\r\n|\r|\n/g);j.pop(),j.map(function(z){var D="";p&&(E.textContent=z||`
|
|
10
|
-
`,D=' style="height:'+E.getBoundingClientRect().height+'px"'),N+="<span"+D+"></span>"}),E.style.display="none",N='<span class="vditor-linenumber__rows">'+N+"</span>",C.insertAdjacentHTML("beforeend",N)}})})})})}},563:(Z,_,b)=>{b.d(_,{K:()=>u});var c=b(54),m=b(526),l=b(156),y={},s=function(f,w){var L=window.markmap,S=L.Transformer,C=L.Markmap,E=L.deriveOptions,k=(L.globalCSS,new S);f.innerHTML='<svg style="width:100%"></svg>';var p=f.firstChild,N=C.create(p,null),j=function(re,ve){var pe=re.transform(ve),ce=Object.keys(pe.features).filter(function(Le){return!y[Le]});ce.forEach(function(Le){y[Le]=!0});var ge=re.getAssets(ce),xe=ge.styles,Me=ge.scripts,$e=window.markmap;return xe&&$e.loadCSS(xe),Me&&$e.loadJS(Me),pe}(k,w),z=j.root,D=j.frontmatter,X=E(D==null?void 0:D.markmap);N.setData(z,X),N.fit()},u=function(f,w,L){w===void 0&&(w=c.g.CDN);var S=l.markmapRenderAdapter.getElements(f);S.length!==0&&(0,m.G)(w+"/dist/js/markmap/markmap.min.js","vditorMermaidScript").then(function(){S.forEach(function(C){var E=l.markmapRenderAdapter.getCode(C);if(C.getAttribute("data-processed")!=="true"&&E.trim()!==""){var k=document.createElement("div");k.className="language-markmap",C.parentNode.appendChild(k),s(k,E),C.parentNode.childNodes[0].nodeName=="CODE"&&C.parentNode.removeChild(C.parentNode.childNodes[0])}})})}},466:(Z,_,b)=>{b.d(_,{H:()=>u});var c=b(54),m=b(526),l=b(578),y=b(51),s=b(156),u=function(f,w){var L=s.mathRenderAdapter.getElements(f);if(L.length!==0){var S={cdn:c.g.CDN,math:{engine:"KaTeX",inlineDigit:!1,macros:{}}};if(w&&w.math&&(w.math=Object.assign({},S.math,w.math)),(w=Object.assign({},S,w)).math.engine==="KaTeX")(0,l.c)(w.cdn+"/dist/js/katex/katex.min.css?v=0.16.9","vditorKatexStyle"),(0,m.G)(w.cdn+"/dist/js/katex/katex.min.js?v=0.16.9","vditorKatexScript").then(function(){(0,m.G)(w.cdn+"/dist/js/katex/mhchem.min.js?v=0.16.9","vditorKatexChemScript").then(function(){L.forEach(function(E){if(!E.parentElement.classList.contains("vditor-wysiwyg__pre")&&!E.parentElement.classList.contains("vditor-ir__marker--pre")&&!E.getAttribute("data-math")){var k=(0,y.X)(s.mathRenderAdapter.getCode(E));E.setAttribute("data-math",k);try{E.innerHTML=katex.renderToString(k,{displayMode:E.tagName==="DIV",output:"html",macros:w.math.macros})}catch(p){E.innerHTML=p.message,E.className="language-math vditor-reset--error"}E.addEventListener("copy",function(p){p.stopPropagation(),p.preventDefault();var N=p.currentTarget.closest(".language-math");p.clipboardData.setData("text/html",N.innerHTML),p.clipboardData.setData("text/plain",N.getAttribute("data-math"))})}})})});else if(w.math.engine==="MathJax"){window.MathJax||(window.MathJax={loader:{paths:{mathjax:w.cdn+"/dist/js/mathjax"}},startup:{typeset:!1},tex:{macros:w.math.macros}},Object.assign(window.MathJax,w.math.mathJaxOptions)),(0,m.J)(w.cdn+"/dist/js/mathjax/tex-svg-full.js","protyleMathJaxScript");var C=function(E,k){var p=(0,y.X)(E.textContent).trim(),N=window.MathJax.getMetricsFor(E);N.display=E.tagName==="DIV",window.MathJax.tex2svgPromise(p,N).then(function(j){E.innerHTML="",E.setAttribute("data-math",p),E.append(j),window.MathJax.startup.document.clear(),window.MathJax.startup.document.updateDocument();var z=j.querySelector('[data-mml-node="merror"]');z&&z.textContent.trim()!==""&&(E.innerHTML=z.textContent.trim(),E.className="vditor-reset--error"),k&&k()})};window.MathJax.startup.promise.then(function(){for(var E=[],k=function(N){var j=L[N];j.parentElement.classList.contains("vditor-wysiwyg__pre")||j.parentElement.classList.contains("vditor-ir__marker--pre")||j.getAttribute("data-math")||!(0,y.X)(j.textContent).trim()||E.push(function(z){N===L.length-1?C(j):C(j,z)})},p=0;p<L.length;p++)k(p);(function(N){if(N.length!==0){var j=0,z=N[N.length-1],D=function(){var X=N[j++];X===z?X():X(D)};D()}})(E)})}}}},554:(Z,_,b)=>{b.d(_,{Y:()=>m});var c=b(835),m=function(l){l&&l.querySelectorAll("a").forEach(function(y){var s=y.getAttribute("href");s&&(s.match(/^.+.(mp4|m4v|ogg|ogv|webm)$/)?function(u,f){u.insertAdjacentHTML("afterend",'<video controls="controls" src="'+f+'"></video>'),u.remove()}(y,s):s.match(/^.+.(mp3|wav|flac)$/)?function(u,f){u.insertAdjacentHTML("afterend",'<audio controls="controls" src="'+f+'"></audio>'),u.remove()}(y,s):function(u,f){var w=f.match(/\/\/(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([\w|-]{11})(?:(?:[\?&]t=)(\S+))?/),L=f.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/),S=f.match(/\/\/v\.qq\.com\/x\/cover\/.*\/([^\/]+)\.html\??.*/),C=f.match(/(?:www\.|\/\/)coub\.com\/view\/(\w+)/),E=f.match(/(?:www\.|\/\/)facebook\.com\/([^\/]+)\/videos\/([0-9]+)/),k=f.match(/.+dailymotion.com\/(video|hub)\/(\w+)\?/),p=f.match(/(?:www\.|\/\/)bilibili\.com\/video\/(\w+)/),N=f.match(/(?:www\.|\/\/)ted\.com\/talks\/(\w+)/);if(w&&w[1].length===11)u.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="//www.youtube.com/embed/'+w[1]+(w[2]?"?start="+w[2]:"")+'"></iframe>'),u.remove();else if(L&&L[1])u.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="//player.youku.com/embed/'+L[1]+'"></iframe>'),u.remove();else if(S&&S[1])u.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="https://v.qq.com/txp/iframe/player.html?vid='+S[1]+'"></iframe>'),u.remove();else if(C&&C[1])u.insertAdjacentHTML("afterend",`<iframe class="iframe__video"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
src="https://www.dailymotion.com/embed/video/`+k[2]+'"></iframe>'),u.remove();else if(f.indexOf("bilibili.com")>-1&&(f.indexOf("bvid=")>-1||p&&p[1])){var j={bvid:(0,c.o)("bvid",f)||p&&p[1],page:"1",high_quality:"1",as_wide:"1",allowfullscreen:"true",autoplay:"0"};new URL(f.startsWith("http")?f:"https:"+f).search.split("&").forEach(function(X,re){if(X){re===0&&(X=X.substr(1));var ve=X.split("=");j[ve[0]]=ve[1]}});var z="https://player.bilibili.com/player.html?",D=Object.keys(j);D.forEach(function(X,re){z+=X+"="+j[X],re<D.length-1&&(z+="&")}),u.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="'+z+'"></iframe>'),u.remove()}else N&&N[1]&&(u.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="//embed.ted.com/talks/'+N[1]+'"></iframe>'),u.remove())}(y,s))})}},40:(Z,_,b)=>{b.d(_,{i:()=>f});var c=b(54),m=b(526),l=b(156),y=b(835),s=function(w,L,S,C){return new(S||(S=Promise))(function(E,k){function p(z){try{j(C.next(z))}catch(D){k(D)}}function N(z){try{j(C.throw(z))}catch(D){k(D)}}function j(z){var D;z.done?E(z.value):(D=z.value,D instanceof S?D:new S(function(X){X(D)})).then(p,N)}j((C=C.apply(w,[])).next())})},u=function(w,L){var S,C,E,k,p={label:0,sent:function(){if(1&E[0])throw E[1];return E[1]},trys:[],ops:[]};return k={next:N(0),throw:N(1),return:N(2)},typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function N(j){return function(z){return function(D){if(S)throw new TypeError("Generator is already executing.");for(;p;)try{if(S=1,C&&(E=2&D[0]?C.return:D[0]?C.throw||((E=C.return)&&E.call(C),0):C.next)&&!(E=E.call(C,D[1])).done)return E;switch(C=0,E&&(D=[2&D[0],E.value]),D[0]){case 0:case 1:E=D;break;case 4:return p.label++,{value:D[1],done:!1};case 5:p.label++,C=D[1],D=[0];continue;case 7:D=p.ops.pop(),p.trys.pop();continue;default:if(E=p.trys,!((E=E.length>0&&E[E.length-1])||D[0]!==6&&D[0]!==2)){p=0;continue}if(D[0]===3&&(!E||D[1]>E[0]&&D[1]<E[3])){p.label=D[1];break}if(D[0]===6&&p.label<E[1]){p.label=E[1],E=D;break}if(E&&p.label<E[2]){p.label=E[2],p.ops.push(D);break}E[2]&&p.ops.pop(),p.trys.pop();continue}D=L.call(w,p)}catch(X){D=[6,X],C=0}finally{S=E=0}if(5&D[0])throw D[1];return{value:D[0]?D[1]:void 0,done:!0}}([j,z])}}},f=function(w,L,S){L===void 0&&(L=c.g.CDN);var C=l.mermaidRenderAdapter.getElements(w);C.length!==0&&(0,m.G)(L+"/dist/js/mermaid/mermaid.min.js","vditorMermaidScript").then(function(){var E={securityLevel:"loose",altFontFamily:"sans-serif",fontFamily:"sans-serif",startOnLoad:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequence:{useMaxWidth:!0,diagramMarginX:8,diagramMarginY:8,boxMargin:8,showSequenceNumbers:!0},gantt:{leftPadding:75,rightPadding:20}};S==="dark"&&(E.theme="dark"),mermaid.initialize(E),C.forEach(function(k){return s(void 0,void 0,void 0,function(){var p,N,j,z,D;return u(this,function(X){switch(X.label){case 0:if(p=l.mermaidRenderAdapter.getCode(k),k.getAttribute("data-processed")==="true"||p.trim()==="")return[2];N="mermaid"+(0,y.W)(),X.label=1;case 1:return X.trys.push([1,3,,4]),[4,mermaid.render(N,k.textContent)];case 2:return j=X.sent(),k.innerHTML=j.svg,[3,4];case 3:return z=X.sent(),D=document.querySelector("#"+N),k.innerHTML=D.outerHTML+`<br>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
</div>`),document.body.style.overflow="hidden";var u=document.querySelector(".vditor-img img"),f="translate3d("+Math.max(0,window.innerWidth-m.naturalWidth)/2+"px, "+Math.max(0,window.innerHeight-36-m.naturalHeight)/2+"px, 0)";setTimeout(function(){u.setAttribute("style","transition: transform .3s ease-in-out;transform: "+f),setTimeout(function(){u.parentElement.scrollTo((u.parentElement.scrollWidth-u.parentElement.clientWidth)/2,(u.parentElement.scrollHeight-u.parentElement.clientHeight)/2)},400)});var w=document.querySelector(".vditor-img__btn");w.addEventListener("click",function(){var L=parseInt(w.getAttribute("data-deg"),10)+90;L/90%2==1&&m.naturalWidth>u.parentElement.clientHeight?u.style.transform="translate3d("+Math.max(0,window.innerWidth-m.naturalWidth)/2+"px, "+(m.naturalWidth/2-m.naturalHeight/2)+"px, 0) rotateZ("+L+"deg)":u.style.transform=f+" rotateZ("+L+"deg)",w.setAttribute("data-deg",L.toString()),setTimeout(function(){u.parentElement.scrollTo((u.parentElement.scrollWidth-u.parentElement.clientWidth)/2,(u.parentElement.scrollHeight-u.parentElement.clientHeight)/2)},400)})}},312:(Z,_,b)=>{b.d(_,{Y:()=>l});var c=b(54),m=b(578),l=function(y,s){s===void 0&&(s=c.g.CDN),c.g.CODE_THEME.includes(y)||(y="github");var u=document.getElementById("vditorHljsStyle"),f=s+"/dist/js/highlight.js/styles/"+y+".css";u?u.getAttribute("href")!==f&&(u.remove(),(0,m.c)(f,"vditorHljsStyle")):(0,m.c)(f,"vditorHljsStyle")}},227:(Z,_,b)=>{b.d(_,{Z:()=>m});var c=b(578),m=function(l,y){if(l&&y){var s=document.getElementById("vditorContentTheme"),u=y+"/"+l+".css";s?s.getAttribute("href")!==u&&(s.remove(),(0,c.c)(u,"vditorContentTheme")):(0,c.c)(u,"vditorContentTheme")}}},526:(Z,_,b)=>{b.d(_,{G:()=>m,J:()=>c});var c=function(l,y){if(document.getElementById(y))return!1;var s=new XMLHttpRequest;s.open("GET",l,!1),s.setRequestHeader("Accept","text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"),s.send("");var u=document.createElement("script");u.type="text/javascript",u.text=s.responseText,u.id=y,document.head.appendChild(u)},m=function(l,y){return new Promise(function(s,u){if(document.getElementById(y))return s(),!1;var f=document.createElement("script");f.src=l,f.async=!0,document.head.appendChild(f),f.onerror=function(w){u(w)},f.onload=function(){if(document.getElementById(y))return f.remove(),s(),!1;f.id=y,s()}})}},578:(Z,_,b)=>{b.d(_,{c:()=>c});var c=function(m,l){if(!document.getElementById(l)){var y=document.createElement("link");y.id=l,y.rel="stylesheet",y.type="text/css",y.href=m,document.getElementsByTagName("head")[0].appendChild(y)}}},51:(Z,_,b)=>{b.d(_,{X:()=>c});var c=function(m){return m.replace(/\u00a0/g," ")}},794:(Z,_,b)=>{b.d(_,{G6:()=>c,Le:()=>y,i7:()=>f,ns:()=>u,pK:()=>l,vU:()=>m,yl:()=>s});var c=function(){return navigator.userAgent.indexOf("Safari")>-1&&navigator.userAgent.indexOf("Chrome")===-1},m=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},l=function(){try{return typeof localStorage<"u"}catch{return!1}},y=function(){return navigator.userAgent.indexOf("iPhone")>-1?"touchstart":"click"},s=function(w){return navigator.platform.toUpperCase().indexOf("MAC")>=0?!(!w.metaKey||w.ctrlKey):!(w.metaKey||!w.ctrlKey)},u=function(w){return/Mac/.test(navigator.platform)||navigator.platform==="iPhone"?w.indexOf("⇧")>-1&&m()&&(w=w.replace(";",":").replace("=","+").replace("-","_")):(w=(w=w.startsWith("⌘")?w.replace("⌘","⌘+"):w.startsWith("⌥")&&w.substr(1,1)!=="⌘"?w.replace("⌥","⌥+"):w.replace("⇧⌘","⌘+⇧+").replace("⌥⌘","⌥+⌘+")).replace("⌘","Ctrl").replace("⇧","Shift").replace("⌥","Alt")).indexOf("Shift")>-1&&(w=w.replace(";",":").replace("=","+").replace("-","_")),w},f=function(){return/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}},835:(Z,_,b)=>{b.d(_,{W:()=>c,o:()=>m});var c=function(){return([1e7].toString()+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,function(l){return(parseInt(l,10)^window.crypto.getRandomValues(new Uint32Array(1))[0]&15>>parseInt(l,10)/4).toString(16)})},m=function(l,y){y===void 0&&(y=window.location.search);var s=y.substring(y.indexOf("?")),u=s.indexOf("#");return new URLSearchParams(s.substring(0,u>=0?u:void 0)).get(l)}},827:(Z,_,b)=>{b.d(_,{DX:()=>L,E2:()=>l,F9:()=>u,JQ:()=>m,O9:()=>y,a1:()=>s,fb:()=>w,lG:()=>f});var c=b(64),m=function(S,C){for(var E=w(S,C),k=!1,p=!1;E&&!E.classList.contains("vditor-reset")&&!p;)(k=w(E.parentElement,C))?E=k:p=!0;return E||!1},l=function(S,C){for(var E=(0,c.S)(S,C),k=!1,p=!1;E&&!E.classList.contains("vditor-reset")&&!p;)(k=(0,c.S)(E.parentElement,C))?E=k:p=!0;return E||!1},y=function(S){var C=l(S,"UL"),E=l(S,"OL"),k=C;return E&&(!C||C&&E.contains(C))&&(k=E),k},s=function(S,C,E){if(!S)return!1;S.nodeType===3&&(S=S.parentElement);for(var k=S,p=!1;k&&!p&&!k.classList.contains("vditor-reset");)k.getAttribute(C)===E?p=!0:k=k.parentElement;return p&&k},u=function(S){if(!S)return!1;S.nodeType===3&&(S=S.parentElement);var C=S,E=!1,k=s(S,"data-block","0");if(k)return k;for(;C&&!E&&!C.classList.contains("vditor-reset");)C.tagName==="H1"||C.tagName==="H2"||C.tagName==="H3"||C.tagName==="H4"||C.tagName==="H5"||C.tagName==="H6"||C.tagName==="P"||C.tagName==="BLOCKQUOTE"||C.tagName==="OL"||C.tagName==="UL"?E=!0:C=C.parentElement;return E&&C},f=function(S,C){if(!S)return!1;S.nodeType===3&&(S=S.parentElement);for(var E=S,k=!1;E&&!k&&!E.classList.contains("vditor-reset");)E.nodeName===C?k=!0:E=E.parentElement;return k&&E},w=function(S,C){if(!S)return!1;S.nodeType===3&&(S=S.parentElement);for(var E=S,k=!1;E&&!k&&!E.classList.contains("vditor-reset");)E.classList.contains(C)?k=!0:E=E.parentElement;return k&&E},L=function(S){for(;S&&S.lastChild;)S=S.lastChild;return S}},64:(Z,_,b)=>{b.d(_,{S:()=>c,W:()=>m});var c=function(l,y){if(!l)return!1;l.nodeType===3&&(l=l.parentElement);for(var s=l,u=!1;s&&!u&&!s.classList.contains("vditor-reset");)s.nodeName.indexOf(y)===0?u=!0:s=s.parentElement;return u&&s},m=function(l){var y=c(l,"H");return!(!y||y.tagName.length!==2||y.tagName==="HR")&&y}},640:(Z,_,b)=>{b.d(_,{T:()=>c});var c=function(){for(var m=[],l=0;l<arguments.length;l++)m[l]=arguments[l];for(var y={},s=function(f){for(var w in f)f.hasOwnProperty(w)&&(Object.prototype.toString.call(f[w])==="[object Object]"?y[w]=c(y[w],f[w]):y[w]=f[w])},u=0;u<m.length;u++)s(m[u]);return y}},393:(Z,_,b)=>{b.d(_,{$j:()=>L,Gb:()=>u,Hc:()=>f,Ny:()=>s,ib:()=>S,im:()=>w,oC:()=>C,zh:()=>y});var c=b(54),m=b(794),l=b(827),y=function(E){var k,p=E[E.currentMode].element;return getSelection().rangeCount>0&&(k=getSelection().getRangeAt(0),p.isEqualNode(k.startContainer)||p.contains(k.startContainer))?k:E[E.currentMode].range?E[E.currentMode].range:(p.focus(),(k=p.ownerDocument.createRange()).setStart(p,0),k.collapse(!0),k)},s=function(E){var k=window.getSelection().getRangeAt(0);if(!E.contains(k.startContainer)&&!(0,l.fb)(k.startContainer,"vditor-panel--none"))return{left:0,top:0};var p,N=E.parentElement.getBoundingClientRect();if(k.getClientRects().length===0)if(k.startContainer.nodeType===3){var j=k.startContainer.parentElement;if(!(j&&j.getClientRects().length>0))return{left:0,top:0};p=j.getClientRects()[0]}else{var z=k.startContainer.children;if(z[k.startOffset]&&z[k.startOffset].getClientRects().length>0)p=z[k.startOffset].getClientRects()[0];else if(k.startContainer.childNodes.length>0){var D=k.cloneRange();k.selectNode(k.startContainer.childNodes[Math.max(0,k.startOffset-1)]),p=k.getClientRects()[0],k.setEnd(D.endContainer,D.endOffset),k.setStart(D.startContainer,D.startOffset)}else p=k.startContainer.getClientRects()[0];if(!p){for(var X=k.startContainer.childNodes[k.startOffset];!X.getClientRects||X.getClientRects&&X.getClientRects().length===0;)X=X.parentElement;p=X.getClientRects()[0]}}else p=k.getClientRects()[0];return{left:p.left-N.left,top:p.top-N.top}},u=function(E,k){if(!k){if(getSelection().rangeCount===0)return!1;k=getSelection().getRangeAt(0)}var p=k.commonAncestorContainer;return E.isEqualNode(p)||E.contains(p)},f=function(E){var k=window.getSelection();k.removeAllRanges(),k.addRange(E)},w=function(E,k,p){var N={end:0,start:0};if(!p){if(getSelection().rangeCount===0)return N;p=window.getSelection().getRangeAt(0)}if(u(k,p)){var j=p.cloneRange();E.childNodes[0]&&E.childNodes[0].childNodes[0]?j.setStart(E.childNodes[0].childNodes[0],0):j.selectNodeContents(E),j.setEnd(p.startContainer,p.startOffset),N.start=j.toString().length,N.end=N.start+p.toString().length}return N},L=function(E,k,p){var N=0,j=0,z=p.childNodes[j],D=!1,X=!1;E=Math.max(0,E),k=Math.max(0,k);var re=p.ownerDocument.createRange();for(re.setStart(z||p,0),re.collapse(!0);!X&&z;){var ve=N+z.textContent.length;if(!D&&E>=N&&E<=ve&&(E===0?re.setStart(z,0):z.childNodes[0].nodeType===3?re.setStart(z.childNodes[0],E-N):z.nextSibling?re.setStartBefore(z.nextSibling):re.setStartAfter(z),D=!0,E===k)){X=!0;break}D&&k>=N&&k<=ve&&(k===0?re.setEnd(z,0):z.childNodes[0].nodeType===3?re.setEnd(z.childNodes[0],k-N):z.nextSibling?re.setEndBefore(z.nextSibling):re.setEndAfter(z),X=!0),N=ve,z=p.childNodes[++j]}return!X&&p.childNodes[j-1]&&re.setStartBefore(p.childNodes[j-1]),f(re),re},S=function(E,k){var p=E.querySelector("wbr");if(p){if(p.previousElementSibling)if(p.previousElementSibling.isSameNode(p.previousSibling)){if(p.previousElementSibling.lastChild)return k.setStartBefore(p),k.collapse(!0),f(k),!(0,m.i7)()||p.previousElementSibling.tagName!=="EM"&&p.previousElementSibling.tagName!=="STRONG"&&p.previousElementSibling.tagName!=="S"||(k.insertNode(document.createTextNode(c.g.ZWSP)),k.collapse(!1)),void p.remove();k.setStartAfter(p.previousElementSibling)}else k.setStart(p.previousSibling,p.previousSibling.textContent.length);else p.previousSibling?k.setStart(p.previousSibling,p.previousSibling.textContent.length):p.nextSibling?p.nextSibling.nodeType===3?k.setStart(p.nextSibling,0):k.setStartBefore(p.nextSibling):k.setStart(p.parentElement,0);k.collapse(!0),p.remove(),f(k)}},C=function(E,k){var p=document.createElement("div");p.innerHTML=E;var N=p.querySelectorAll("p");N.length===1&&!N[0].previousSibling&&!N[0].nextSibling&&k[k.currentMode].element.children.length>0&&p.firstElementChild.tagName==="P"&&(E=N[0].innerHTML.trim());var j=document.createElement("div");j.innerHTML=E;var z=y(k);if(z.toString()!==""&&(k[k.currentMode].preventInput=!0,document.execCommand("delete",!1,"")),j.firstElementChild&&j.firstElementChild.getAttribute("data-block")==="0"){j.lastElementChild.insertAdjacentHTML("beforeend","<wbr>");var D=(0,l.F9)(z.startContainer);D?D.insertAdjacentHTML("afterend",j.innerHTML):k[k.currentMode].element.insertAdjacentHTML("beforeend",j.innerHTML),S(k[k.currentMode].element,z)}else{var X=document.createElement("template");X.innerHTML=E,z.insertNode(X.content.cloneNode(!0)),z.collapse(!1),f(z)}}}},de={};function J(Z){var _=de[Z];if(_!==void 0)return _.exports;var b=de[Z]={exports:{}};return ke[Z](b,b.exports,J),b.exports}J.d=(Z,_)=>{for(var b in _)J.o(_,b)&&!J.o(Z,b)&&Object.defineProperty(Z,b,{enumerable:!0,get:_[b]})},J.o=(Z,_)=>Object.prototype.hasOwnProperty.call(Z,_),J.r=Z=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(Z,"__esModule",{value:!0})};var ue={};return(()=>{J.d(ue,{default:()=>ho});var Z,_=J(872),b=J(54),c=J(51),m=function(e){return e.currentMode==="sv"?(0,c.X)((e.sv.element.textContent+`
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
`,O.parentElement.remove())}),M=V+M}M=an(M,e),P?o.innerHTML=M:o.outerHTML=M,e.sv.element.querySelectorAll("[data-type='link-ref-defs-block']").forEach(function(O){e.sv.element.insertAdjacentElement("beforeend",O.parentElement)}),le(e.sv.element,function(O){e.sv.element.insertAdjacentElement("beforeend",O)}),(0,A.ib)(e.sv.element,i),Ce(e),Ne(e,{enableAddUndoStack:!0,enableHint:!0,enableInput:!0})}},He=J(227),fe=function(e){e.options.theme==="dark"?e.element.classList.add("vditor--dark"):e.element.classList.remove("vditor--dark")},me=function(e){var t=window.innerWidth<=b.g.MOBILE_WIDTH?10:35;if(e.wysiwyg.element.parentElement.style.display!=="none"){var n=(e.wysiwyg.element.parentElement.clientWidth-e.options.preview.maxWidth)/2;e.wysiwyg.element.style.padding="10px "+Math.max(t,n)+"px"}e.ir.element.parentElement.style.display!=="none"&&(n=(e.ir.element.parentElement.clientWidth-e.options.preview.maxWidth)/2,e.ir.element.style.padding="10px "+Math.max(t,n)+"px"),e.preview.element.style.display!=="block"?e.toolbar.element.style.paddingLeft=Math.max(5,parseInt(e[e.currentMode].element.style.paddingLeft||"0",10)+(e.options.outline.position==="left"?e.outline.element.offsetWidth:0))+"px":e.toolbar.element.style.paddingLeft=5+(e.options.outline.position==="left"?e.outline.element.offsetWidth:0)+"px"},Y=function(e){if(e.options.typewriterMode){var t=window.innerHeight;typeof e.options.height=="number"?(t=e.options.height,typeof e.options.minHeight=="number"&&(t=Math.max(t,e.options.minHeight)),t=Math.min(window.innerHeight,t)):t=e.element.clientHeight,e.element.classList.contains("vditor--fullscreen")&&(t=window.innerHeight),e[e.currentMode].element.style.setProperty("--editor-bottom",(t-e.toolbar.element.offsetHeight)/2+"px")}};function ze(){window.removeEventListener("resize",Z)}var Xe,Xt,zr=function(e){Y(e),ze(),window.addEventListener("resize",Z=function(){me(e),Y(e)});var t=(0,s.pK)()&&localStorage.getItem(e.options.cache.id);return e.options.cache.enable&&t||(e.options.value?t=e.options.value:e.originalInnerHTML?t=e.lute.HTML2Md(e.originalInnerHTML):e.options.cache.enable||(t="")),t||""},dt=function(e){clearTimeout(e[e.currentMode].hlToolbarTimeoutId),e[e.currentMode].hlToolbarTimeoutId=window.setTimeout(function(){if(e[e.currentMode].element.getAttribute("contenteditable")!=="false"&&(0,A.Gb)(e[e.currentMode].element)){u(e.toolbar.elements,b.g.EDIT_TOOLBARS),w(e.toolbar.elements,b.g.EDIT_TOOLBARS);var t=(0,A.zh)(e),n=t.startContainer;t.startContainer.nodeType===3&&(n=t.startContainer.parentElement),n.classList.contains("vditor-reset")&&(n=n.childNodes[t.startOffset]),(e.currentMode==="sv"?(0,p.a1)(n,"data-type","heading"):(0,N.W)(n))&&f(e.toolbar.elements,["headings"]),(e.currentMode==="sv"?(0,p.a1)(n,"data-type","blockquote"):(0,p.lG)(n,"BLOCKQUOTE"))&&f(e.toolbar.elements,["quote"]),(0,p.a1)(n,"data-type","strong")&&f(e.toolbar.elements,["bold"]),(0,p.a1)(n,"data-type","em")&&f(e.toolbar.elements,["italic"]),(0,p.a1)(n,"data-type","s")&&f(e.toolbar.elements,["strike"]),(0,p.a1)(n,"data-type","a")&&f(e.toolbar.elements,["link"]);var i=(0,p.lG)(n,"LI");i?(i.classList.contains("vditor-task")?f(e.toolbar.elements,["check"]):i.parentElement.tagName==="OL"?f(e.toolbar.elements,["ordered-list"]):i.parentElement.tagName==="UL"&&f(e.toolbar.elements,["list"]),w(e.toolbar.elements,["outdent","indent"])):L(e.toolbar.elements,["outdent","indent"]),(0,p.a1)(n,"data-type","code-block")&&(L(e.toolbar.elements,["headings","bold","italic","strike","line","quote","list","ordered-list","check","code","inline-code","upload","link","table","record"]),f(e.toolbar.elements,["code"])),(0,p.a1)(n,"data-type","code")&&(L(e.toolbar.elements,["headings","bold","italic","strike","line","quote","list","ordered-list","check","code","upload","link","table","record"]),f(e.toolbar.elements,["inline-code"])),(0,p.a1)(n,"data-type","table")&&L(e.toolbar.elements,["headings","list","ordered-list","check","line","quote","code","table"])}},200)},we=function(e,t){t===void 0&&(t={enableAddUndoStack:!0,enableHint:!1,enableInput:!0}),t.enableHint&&e.hint.render(e),clearTimeout(e.wysiwyg.afterRenderTimeoutId),e.wysiwyg.afterRenderTimeoutId=window.setTimeout(function(){if(!e.wysiwyg.composingLock){var n=m(e);typeof e.options.input=="function"&&t.enableInput&&e.options.input(n),e.options.counter.enable&&e.counter.render(e,n),e.options.cache.enable&&(0,s.pK)()&&(localStorage.setItem(e.options.cache.id,n),e.options.cache.after&&e.options.cache.after(n)),e.devtools&&e.devtools.renderEchart(e),t.enableAddUndoStack&&e.undo.addToUndoStack(e)}},e.options.undoDelay)},Qt=function(e){for(var t="",n=e.nextSibling;n;)n.nodeType===3?t+=n.textContent:t+=n.outerHTML,n=n.nextSibling;return t},Yt=function(e){for(var t="",n=e.previousSibling;n;)t=n.nodeType===3?n.textContent+t:n.outerHTML+t,n=n.previousSibling;return t},en=function(e,t){Array.from(e.wysiwyg.element.childNodes).find(function(n){if(n.nodeType===3){var i=document.createElement("p");i.setAttribute("data-block","0"),i.textContent=n.textContent;var r=t.startContainer.nodeType===3?t.startOffset:n.textContent.length;return n.parentNode.insertBefore(i,n),n.remove(),t.setStart(i.firstChild,Math.min(i.firstChild.textContent.length,r)),t.collapse(!0),(0,A.Hc)(t),!0}if(!n.getAttribute("data-block"))return n.tagName==="P"?n.remove():(n.tagName==="DIV"?(t.insertNode(document.createElement("wbr")),n.outerHTML='<p data-block="0">'+n.innerHTML+"</p>"):n.tagName==="BR"?n.outerHTML='<p data-block="0">'+n.outerHTML+"<wbr></p>":(t.insertNode(document.createElement("wbr")),n.outerHTML='<p data-block="0">'+n.outerHTML+"</p>"),(0,A.ib)(e.wysiwyg.element,t),t=getSelection().getRangeAt(0)),!0})},bt=function(e,t){var n=(0,A.zh)(e),i=(0,p.F9)(n.startContainer);i||(i=n.startContainer.childNodes[n.startOffset]),i||e.wysiwyg.element.children.length!==0||(i=e.wysiwyg.element),i&&!i.classList.contains("vditor-wysiwyg__block")&&(n.insertNode(document.createElement("wbr")),i.innerHTML.trim()==="<wbr>"&&(i.innerHTML="<wbr><br>"),i.tagName==="BLOCKQUOTE"||i.classList.contains("vditor-reset")?i.innerHTML="<"+t+' data-block="0">'+i.innerHTML.trim()+"</"+t+">":i.outerHTML="<"+t+' data-block="0">'+i.innerHTML.trim()+"</"+t+">",(0,A.ib)(e.wysiwyg.element,n),Ue(e))},At=function(e){var t=getSelection().getRangeAt(0),n=(0,p.F9)(t.startContainer);n||(n=t.startContainer.childNodes[t.startOffset]),n&&(t.insertNode(document.createElement("wbr")),n.outerHTML='<p data-block="0">'+n.innerHTML+"</p>",(0,A.ib)(e.wysiwyg.element,t)),e.wysiwyg.popover.style.display="none"},ut=function(e,t,n){n===void 0&&(n=!0);var i=e.previousElementSibling,r=i.ownerDocument.createRange();i.tagName==="CODE"?(i.style.display="inline-block",n?r.setStart(i.firstChild,1):r.selectNodeContents(i)):(i.style.display="block",i.firstChild.firstChild||i.firstChild.appendChild(document.createTextNode("")),r.selectNodeContents(i.firstChild)),n?r.collapse(!0):r.collapse(!1),(0,A.Hc)(r),e.firstElementChild.classList.contains("language-mindmap")||Ce(t)},Oe=function(e,t){if(U("⇧⌘X",t)){var n=e.wysiwyg.popover.querySelector('[data-type="remove"]');return n&&n.click(),t.preventDefault(),!0}},Qe=function(e){clearTimeout(e.wysiwyg.hlToolbarTimeoutId),e.wysiwyg.hlToolbarTimeoutId=window.setTimeout(function(){if(e.wysiwyg.element.getAttribute("contenteditable")!=="false"&&(0,A.Gb)(e.wysiwyg.element)){u(e.toolbar.elements,b.g.EDIT_TOOLBARS),w(e.toolbar.elements,b.g.EDIT_TOOLBARS);var t=getSelection().getRangeAt(0),n=t.startContainer;n=t.startContainer.nodeType===3?t.startContainer.parentElement:n.childNodes[t.startOffset>=n.childNodes.length?n.childNodes.length-1:t.startOffset];var i=(0,p.a1)(n,"data-type","footnotes-block");if(i)return e.wysiwyg.popover.innerHTML="",Pe(i,e),void Re(e,i);var r=(0,p.lG)(n,"LI");r?(r.classList.contains("vditor-task")?f(e.toolbar.elements,["check"]):r.parentElement.tagName==="OL"?f(e.toolbar.elements,["ordered-list"]):r.parentElement.tagName==="UL"&&f(e.toolbar.elements,["list"]),w(e.toolbar.elements,["outdent","indent"])):L(e.toolbar.elements,["outdent","indent"]),(0,p.lG)(n,"BLOCKQUOTE")&&f(e.toolbar.elements,["quote"]),((0,p.lG)(n,"B")||(0,p.lG)(n,"STRONG"))&&f(e.toolbar.elements,["bold"]),((0,p.lG)(n,"I")||(0,p.lG)(n,"EM"))&&f(e.toolbar.elements,["italic"]),((0,p.lG)(n,"STRIKE")||(0,p.lG)(n,"S"))&&f(e.toolbar.elements,["strike"]),e.wysiwyg.element.querySelectorAll(".vditor-comment--focus").forEach(function(K){K.classList.remove("vditor-comment--focus")});var o=(0,p.fb)(n,"vditor-comment");if(o){var a=o.getAttribute("data-cmtids").split(" ");if(a.length>1&&o.nextSibling.isSameNode(o.nextElementSibling)){var d=o.nextElementSibling.getAttribute("data-cmtids").split(" ");a.find(function(K){if(d.includes(K))return a=[K],!0})}e.wysiwyg.element.querySelectorAll(".vditor-comment").forEach(function(K){K.getAttribute("data-cmtids").indexOf(a[0])>-1&&K.classList.add("vditor-comment--focus")})}var v=(0,p.lG)(n,"A");v&&f(e.toolbar.elements,["link"]);var g=(0,p.lG)(n,"TABLE"),h=(0,N.W)(n);(0,p.lG)(n,"CODE")?(0,p.lG)(n,"PRE")?(L(e.toolbar.elements,["headings","bold","italic","strike","line","quote","list","ordered-list","check","code","inline-code","upload","link","table","record"]),f(e.toolbar.elements,["code"])):(L(e.toolbar.elements,["headings","bold","italic","strike","line","quote","list","ordered-list","check","code","upload","link","table","record"]),f(e.toolbar.elements,["inline-code"])):h?(L(e.toolbar.elements,["bold"]),f(e.toolbar.elements,["headings"])):g&&L(e.toolbar.elements,["table"]);var x=(0,p.fb)(n,"vditor-toc");if(x)return e.wysiwyg.popover.innerHTML="",Pe(x,e),void Re(e,x);var I=(0,N.S)(n,"BLOCKQUOTE");if(I&&(e.wysiwyg.popover.innerHTML="",tt(t,I,e),nt(t,I,e),Pe(I,e),Re(e,I)),r&&(e.wysiwyg.popover.innerHTML="",tt(t,r,e),nt(t,r,e),Pe(r,e),Re(e,r)),g){e.options.lang,e.options,e.wysiwyg.popover.innerHTML="";var W=function(){var K=g.rows.length,Ee=g.rows[0].cells.length,et=parseInt(ie.value,10)||K,Fe=parseInt(_e.value,10)||Ee;if(et!==K||Ee!==Fe){if(Ee!==Fe)for(var In=Fe-Ee,st=0;st<g.rows.length;st++)if(In>0)for(var jn=0;jn<In;jn++)st===0?g.rows[st].lastElementChild.insertAdjacentHTML("afterend","<th> </th>"):g.rows[st].lastElementChild.insertAdjacentHTML("afterend","<td> </td>");else for(var zt=Ee-1;zt>=Fe;zt--)g.rows[st].cells[zt].remove();if(K!==et){var Rn=et-K;if(Rn>0){for(var Kt="<tr>",lt=0;lt<Fe;lt++)Kt+="<td> </td>";for(var Pn=0;Pn<Rn;Pn++)g.querySelector("tbody")?g.querySelector("tbody").insertAdjacentHTML("beforeend",Kt):g.querySelector("thead").insertAdjacentHTML("afterend",Kt+"</tr>")}else for(lt=K-1;lt>=et;lt--)g.rows[lt].remove(),g.rows.length===1&&g.querySelector("tbody").remove()}typeof e.options.input=="function"&&e.options.input(m(e))}},M=function(K){_t(g,K),K==="right"?(q.classList.remove("vditor-icon--current"),B.classList.remove("vditor-icon--current"),H.classList.add("vditor-icon--current")):K==="center"?(q.classList.remove("vditor-icon--current"),H.classList.remove("vditor-icon--current"),B.classList.add("vditor-icon--current")):(B.classList.remove("vditor-icon--current"),H.classList.remove("vditor-icon--current"),q.classList.add("vditor-icon--current")),(0,A.Hc)(t),we(e)},P=(0,p.lG)(n,"TD"),V=(0,p.lG)(n,"TH"),O="left";P?O=P.getAttribute("align")||"left":V&&(O=V.getAttribute("align")||"center");var q=document.createElement("button");q.setAttribute("type","button"),q.setAttribute("aria-label",window.VditorI18n.alignLeft+"<"+(0,s.ns)("⇧⌘L")+">"),q.setAttribute("data-type","left"),q.innerHTML='<svg><use xlink:href="#vditor-icon-align-left"></use></svg>',q.className="vditor-icon vditor-tooltipped vditor-tooltipped__n"+(O==="left"?" vditor-icon--current":""),q.onclick=function(){M("left")};var B=document.createElement("button");B.setAttribute("type","button"),B.setAttribute("aria-label",window.VditorI18n.alignCenter+"<"+(0,s.ns)("⇧⌘C")+">"),B.setAttribute("data-type","center"),B.innerHTML='<svg><use xlink:href="#vditor-icon-align-center"></use></svg>',B.className="vditor-icon vditor-tooltipped vditor-tooltipped__n"+(O==="center"?" vditor-icon--current":""),B.onclick=function(){M("center")};var H=document.createElement("button");H.setAttribute("type","button"),H.setAttribute("aria-label",window.VditorI18n.alignRight+"<"+(0,s.ns)("⇧⌘R")+">"),H.setAttribute("data-type","right"),H.innerHTML='<svg><use xlink:href="#vditor-icon-align-right"></use></svg>',H.className="vditor-icon vditor-tooltipped vditor-tooltipped__n"+(O==="right"?" vditor-icon--current":""),H.onclick=function(){M("right")};var $=document.createElement("button");$.setAttribute("type","button"),$.setAttribute("aria-label",window.VditorI18n.insertRowBelow+"<"+(0,s.ns)("⌘=")+">"),$.setAttribute("data-type","insertRow"),$.innerHTML='<svg><use xlink:href="#vditor-icon-insert-row"></use></svg>',$.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",$.onclick=function(){var K=getSelection().getRangeAt(0).startContainer,Ee=(0,p.lG)(K,"TD")||(0,p.lG)(K,"TH");Ee&&gn(e,t,Ee)};var ne=document.createElement("button");ne.setAttribute("type","button"),ne.setAttribute("aria-label",window.VditorI18n.insertRowAbove+"<"+(0,s.ns)("⇧⌘F")+">"),ne.setAttribute("data-type","insertRow"),ne.innerHTML='<svg><use xlink:href="#vditor-icon-insert-rowb"></use></svg>',ne.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",ne.onclick=function(){var K=getSelection().getRangeAt(0).startContainer,Ee=(0,p.lG)(K,"TD")||(0,p.lG)(K,"TH");Ee&&yn(e,t,Ee)};var Q=document.createElement("button");Q.setAttribute("type","button"),Q.setAttribute("aria-label",window.VditorI18n.insertColumnRight+"<"+(0,s.ns)("⇧⌘=")+">"),Q.setAttribute("data-type","insertColumn"),Q.innerHTML='<svg><use xlink:href="#vditor-icon-insert-column"></use></svg>',Q.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",Q.onclick=function(){var K=getSelection().getRangeAt(0).startContainer,Ee=(0,p.lG)(K,"TD")||(0,p.lG)(K,"TH");Ee&&Lt(e,g,Ee)};var te=document.createElement("button");te.setAttribute("type","button"),te.setAttribute("aria-label",window.VditorI18n.insertColumnLeft+"<"+(0,s.ns)("⇧⌘G")+">"),te.setAttribute("data-type","insertColumn"),te.innerHTML='<svg><use xlink:href="#vditor-icon-insert-columnb"></use></svg>',te.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",te.onclick=function(){var K=getSelection().getRangeAt(0).startContainer,Ee=(0,p.lG)(K,"TD")||(0,p.lG)(K,"TH");Ee&&Lt(e,g,Ee,"beforebegin")};var ee=document.createElement("button");ee.setAttribute("type","button"),ee.setAttribute("aria-label",window.VditorI18n["delete-row"]+"<"+(0,s.ns)("⌘-")+">"),ee.setAttribute("data-type","deleteRow"),ee.innerHTML='<svg><use xlink:href="#vditor-icon-delete-row"></use></svg>',ee.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",ee.onclick=function(){var K=getSelection().getRangeAt(0).startContainer,Ee=(0,p.lG)(K,"TD")||(0,p.lG)(K,"TH");Ee&&bn(e,t,Ee)};var F=document.createElement("button");F.setAttribute("type","button"),F.setAttribute("aria-label",window.VditorI18n["delete-column"]+"<"+(0,s.ns)("⇧⌘-")+">"),F.setAttribute("data-type","deleteColumn"),F.innerHTML='<svg><use xlink:href="#vditor-icon-delete-column"></use></svg>',F.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",F.onclick=function(){var K=getSelection().getRangeAt(0).startContainer,Ee=(0,p.lG)(K,"TD")||(0,p.lG)(K,"TH");Ee&&wn(e,t,g,Ee)},(Be=document.createElement("span")).setAttribute("aria-label",window.VditorI18n.row),Be.className="vditor-tooltipped vditor-tooltipped__n";var ie=document.createElement("input");Be.appendChild(ie),ie.type="number",ie.min="1",ie.className="vditor-input",ie.style.width="42px",ie.style.textAlign="center",ie.setAttribute("placeholder",window.VditorI18n.row),ie.value=g.rows.length.toString(),ie.oninput=function(){W()},ie.onkeydown=function(K){if(!K.isComposing)return K.key==="Tab"?(_e.focus(),_e.select(),void K.preventDefault()):void(Oe(e,K)||We(K,t))};var be=document.createElement("span");be.setAttribute("aria-label",window.VditorI18n.column),be.className="vditor-tooltipped vditor-tooltipped__n";var _e=document.createElement("input");be.appendChild(_e),_e.type="number",_e.min="1",_e.className="vditor-input",_e.style.width="42px",_e.style.textAlign="center",_e.setAttribute("placeholder",window.VditorI18n.column),_e.value=g.rows[0].cells.length.toString(),_e.oninput=function(){W()},_e.onkeydown=function(K){if(!K.isComposing)return K.key==="Tab"?(ie.focus(),ie.select(),void K.preventDefault()):void(Oe(e,K)||We(K,t))},tt(t,g,e),nt(t,g,e),Pe(g,e),e.wysiwyg.popover.insertAdjacentElement("beforeend",q),e.wysiwyg.popover.insertAdjacentElement("beforeend",B),e.wysiwyg.popover.insertAdjacentElement("beforeend",H),e.wysiwyg.popover.insertAdjacentElement("beforeend",ne),e.wysiwyg.popover.insertAdjacentElement("beforeend",$),e.wysiwyg.popover.insertAdjacentElement("beforeend",te),e.wysiwyg.popover.insertAdjacentElement("beforeend",Q),e.wysiwyg.popover.insertAdjacentElement("beforeend",ee),e.wysiwyg.popover.insertAdjacentElement("beforeend",F),e.wysiwyg.popover.insertAdjacentElement("beforeend",Be),e.wysiwyg.popover.insertAdjacentHTML("beforeend"," x "),e.wysiwyg.popover.insertAdjacentElement("beforeend",be),Re(e,g)}var Ge=(0,p.a1)(n,"data-type","link-ref");Ge&&tn(e,Ge,t);var Ie=(0,p.a1)(n,"data-type","footnotes-ref");if(Ie){e.options.lang,e.options,e.wysiwyg.popover.innerHTML="",(Be=document.createElement("span")).setAttribute("aria-label",window.VditorI18n.footnoteRef+"<"+(0,s.ns)("⌥Enter")+">"),Be.className="vditor-tooltipped vditor-tooltipped__n";var je=document.createElement("input");Be.appendChild(je),je.className="vditor-input",je.setAttribute("placeholder",window.VditorI18n.footnoteRef+"<"+(0,s.ns)("⌥Enter")+">"),je.style.width="120px",je.value=Ie.getAttribute("data-footnotes-label"),je.oninput=function(){je.value.trim()!==""&&Ie.setAttribute("data-footnotes-label",je.value),typeof e.options.input=="function"&&e.options.input(m(e))},je.onkeydown=function(K){K.isComposing||Oe(e,K)||We(K,t)},Pe(Ie,e),e.wysiwyg.popover.insertAdjacentElement("beforeend",Be),Re(e,Ie)}var Te=(0,p.fb)(n,"vditor-wysiwyg__block"),ot=!!Te&&Te.getAttribute("data-type").indexOf("block")>-1;if(e.wysiwyg.element.querySelectorAll(".vditor-wysiwyg__preview").forEach(function(K){(!Te||Te&&ot&&!Te.contains(K))&&(K.previousElementSibling.style.display="none")}),Te&&ot){if(e.wysiwyg.popover.innerHTML="",tt(t,Te,e),nt(t,Te,e),Pe(Te,e),Te.getAttribute("data-type")==="code-block"){var Tt=document.createElement("span");Tt.setAttribute("aria-label",window.VditorI18n.language+"<"+(0,s.ns)("⌥Enter")+">"),Tt.className="vditor-tooltipped vditor-tooltipped__n";var Ve=document.createElement("input");Tt.appendChild(Ve);var vt=Te.firstElementChild.firstElementChild;Ve.className="vditor-input",Ve.setAttribute("placeholder",window.VditorI18n.language+"<"+(0,s.ns)("⌥Enter")+">"),Ve.value=vt.className.indexOf("language-")>-1?vt.className.split("-")[1].split(" ")[0]:"",Ve.oninput=function(K){Ve.value.trim()!==""?vt.className="language-"+Ve.value:(vt.className="",e.hint.recentLanguage=""),Te.lastElementChild.classList.contains("vditor-wysiwyg__preview")&&(Te.lastElementChild.innerHTML=Te.firstElementChild.innerHTML,Le(Te.lastElementChild,e)),we(e),K.detail===1&&(t.setStart(vt.firstChild,0),t.collapse(!0),(0,A.Hc)(t))},Ve.onkeydown=function(K){if(!K.isComposing&&!Oe(e,K)){if(K.key==="Escape"&&e.hint.element.style.display==="block")return e.hint.element.style.display="none",void K.preventDefault();e.hint.select(K,e),We(K,t)}},Ve.onkeyup=function(K){if(!K.isComposing&&K.key!=="Enter"&&K.key!=="ArrowUp"&&K.key!=="Escape"&&K.key!=="ArrowDown"){var Ee=[],et=Ve.value.substring(0,Ve.selectionStart);(e.options.preview.hljs.langs||b.g.CODE_LANGUAGES).forEach(function(Fe){Fe.indexOf(et.toLowerCase())>-1&&Ee.push({html:Fe,value:Fe})}),e.hint.genHTML(Ee,et,e),K.preventDefault()}},e.wysiwyg.popover.insertAdjacentElement("beforeend",Tt)}Re(e,Te)}else Te=void 0;if(h){var Be;e.wysiwyg.popover.innerHTML="",(Be=document.createElement("span")).setAttribute("aria-label","ID<"+(0,s.ns)("⌥Enter")+">"),Be.className="vditor-tooltipped vditor-tooltipped__n";var Ze=document.createElement("input");Be.appendChild(Ze),Ze.className="vditor-input",Ze.setAttribute("placeholder","ID<"+(0,s.ns)("⌥Enter")+">"),Ze.style.width="120px",Ze.value=h.getAttribute("data-id")||"",Ze.oninput=function(){h.setAttribute("data-id",Ze.value),typeof e.options.input=="function"&&e.options.input(m(e))},Ze.onkeydown=function(K){K.isComposing||Oe(e,K)||We(K,t)},tt(t,h,e),nt(t,h,e),Pe(h,e),e.wysiwyg.popover.insertAdjacentElement("beforeend",Be),Re(e,h)}if(v&&xt(e,v,t),!(I||r||g||Te||v||Ge||Ie||h||x)){var at=(0,p.a1)(n,"data-block","0");at&&at.parentElement.isEqualNode(e.wysiwyg.element)?(e.wysiwyg.popover.innerHTML="",tt(t,at,e),nt(t,at,e),Pe(at,e),Re(e,at)):e.wysiwyg.popover.style.display="none"}e.wysiwyg.element.querySelectorAll('span[data-type="backslash"] > span').forEach(function(K){K.style.display="none"});var On=(0,p.a1)(t.startContainer,"data-type","backslash");On&&(On.querySelector("span").style.display="inline")}},200)},Re=function(e,t){var n=t,i=(0,p.lG)(t,"TABLE");i&&(n=i),e.wysiwyg.popover.style.left="0",e.wysiwyg.popover.style.display="block",e.wysiwyg.popover.style.top=Math.max(-8,n.offsetTop-21-e.wysiwyg.element.scrollTop)+"px",e.wysiwyg.popover.style.left=Math.min(n.offsetLeft,e.wysiwyg.element.clientWidth-e.wysiwyg.popover.clientWidth)+"px",e.wysiwyg.popover.setAttribute("data-top",(n.offsetTop-21).toString())},tn=function(e,t,n){n===void 0&&(n=getSelection().getRangeAt(0)),e.wysiwyg.popover.innerHTML="";var i=function(){o.value.trim()!==""&&(t.tagName==="IMG"?t.setAttribute("alt",o.value):t.textContent=o.value),d.value.trim()!==""&&t.setAttribute("data-link-label",d.value),typeof e.options.input=="function"&&e.options.input(m(e))},r=document.createElement("span");r.setAttribute("aria-label",window.VditorI18n.textIsNotEmpty),r.className="vditor-tooltipped vditor-tooltipped__n";var o=document.createElement("input");r.appendChild(o),o.className="vditor-input",o.setAttribute("placeholder",window.VditorI18n.textIsNotEmpty),o.style.width="120px",o.value=t.getAttribute("alt")||t.textContent,o.oninput=function(){i()},o.onkeydown=function(v){Oe(e,v)||We(v,n)||pt(e,t,v,d)};var a=document.createElement("span");a.setAttribute("aria-label",window.VditorI18n.linkRef),a.className="vditor-tooltipped vditor-tooltipped__n";var d=document.createElement("input");a.appendChild(d),d.className="vditor-input",d.setAttribute("placeholder",window.VditorI18n.linkRef),d.value=t.getAttribute("data-link-label"),d.oninput=function(){i()},d.onkeydown=function(v){Oe(e,v)||We(v,n)||pt(e,t,v,o)},Pe(t,e),e.wysiwyg.popover.insertAdjacentElement("beforeend",r),e.wysiwyg.popover.insertAdjacentElement("beforeend",a),Re(e,t)},tt=function(e,t,n){var i=t.previousElementSibling;if(i&&(t.parentElement.isEqualNode(n.wysiwyg.element)||t.tagName==="LI")){var r=document.createElement("button");r.setAttribute("type","button"),r.setAttribute("data-type","up"),r.setAttribute("aria-label",window.VditorI18n.up+"<"+(0,s.ns)("⇧⌘U")+">"),r.innerHTML='<svg><use xlink:href="#vditor-icon-up"></use></svg>',r.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",r.onclick=function(){e.insertNode(document.createElement("wbr")),i.insertAdjacentElement("beforebegin",t),(0,A.ib)(n.wysiwyg.element,e),we(n),Qe(n),Ce(n)},n.wysiwyg.popover.insertAdjacentElement("beforeend",r)}},nt=function(e,t,n){var i=t.nextElementSibling;if(i&&(t.parentElement.isEqualNode(n.wysiwyg.element)||t.tagName==="LI")){var r=document.createElement("button");r.setAttribute("type","button"),r.setAttribute("data-type","down"),r.setAttribute("aria-label",window.VditorI18n.down+"<"+(0,s.ns)("⇧⌘D")+">"),r.innerHTML='<svg><use xlink:href="#vditor-icon-down"></use></svg>',r.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",r.onclick=function(){e.insertNode(document.createElement("wbr")),i.insertAdjacentElement("afterend",t),(0,A.ib)(n.wysiwyg.element,e),we(n),Qe(n),Ce(n)},n.wysiwyg.popover.insertAdjacentElement("beforeend",r)}},Pe=function(e,t){var n=document.createElement("button");n.setAttribute("type","button"),n.setAttribute("data-type","remove"),n.setAttribute("aria-label",window.VditorI18n.remove+"<"+(0,s.ns)("⇧⌘X")+">"),n.innerHTML='<svg><use xlink:href="#vditor-icon-trashcan"></use></svg>',n.className="vditor-icon vditor-tooltipped vditor-tooltipped__n",n.onclick=function(){var i=(0,A.zh)(t);i.setStartAfter(e),(0,A.Hc)(i),e.remove(),we(t),Qe(t),["H1","H2","H3","H4","H5","H6"].includes(e.tagName)&&Ue(t)},t.wysiwyg.popover.insertAdjacentElement("beforeend",n)},pt=function(e,t,n,i){if(!n.isComposing){if(n.key==="Tab")return i.focus(),i.select(),void n.preventDefault();if(!(0,s.yl)(n)&&!n.shiftKey&&n.altKey&&n.key==="Enter"){var r=(0,A.zh)(e);t.insertAdjacentHTML("afterend",b.g.ZWSP),r.setStartAfter(t.nextSibling),r.collapse(!0),(0,A.Hc)(r),n.preventDefault()}}},xt=function(e,t,n){e.wysiwyg.popover.innerHTML="";var i=function(){o.value.trim()!==""&&(t.innerHTML=o.value),t.setAttribute("href",d.value),t.setAttribute("title",g.value),we(e)};t.querySelectorAll("[data-marker]").forEach(function(h){h.removeAttribute("data-marker")});var r=document.createElement("span");r.setAttribute("aria-label",window.VditorI18n.textIsNotEmpty),r.className="vditor-tooltipped vditor-tooltipped__n";var o=document.createElement("input");r.appendChild(o),o.className="vditor-input",o.setAttribute("placeholder",window.VditorI18n.textIsNotEmpty),o.style.width="120px",o.value=t.innerHTML||"",o.oninput=function(){i()},o.onkeydown=function(h){Oe(e,h)||We(h,n)||pt(e,t,h,d)};var a=document.createElement("span");a.setAttribute("aria-label",window.VditorI18n.link),a.className="vditor-tooltipped vditor-tooltipped__n";var d=document.createElement("input");a.appendChild(d),d.className="vditor-input",d.setAttribute("placeholder",window.VditorI18n.link),d.value=t.getAttribute("href")||"",d.oninput=function(){i()},d.onkeydown=function(h){Oe(e,h)||We(h,n)||pt(e,t,h,g)};var v=document.createElement("span");v.setAttribute("aria-label",window.VditorI18n.tooltipText),v.className="vditor-tooltipped vditor-tooltipped__n";var g=document.createElement("input");v.appendChild(g),g.className="vditor-input",g.setAttribute("placeholder",window.VditorI18n.tooltipText),g.style.width="60px",g.value=t.getAttribute("title")||"",g.oninput=function(){i()},g.onkeydown=function(h){Oe(e,h)||We(h,n)||pt(e,t,h,o)},Pe(t,e),e.wysiwyg.popover.insertAdjacentElement("beforeend",r),e.wysiwyg.popover.insertAdjacentElement("beforeend",a),e.wysiwyg.popover.insertAdjacentElement("beforeend",v),Re(e,t)},We=function(e,t){if(!(0,s.yl)(e)&&!e.shiftKey&&e.key==="Enter"||e.key==="Escape")return t&&(0,A.Hc)(t),e.preventDefault(),e.stopPropagation(),!0},rt=function(e){e.currentMode==="wysiwyg"?Qe(e):e.currentMode==="ir"&&dt(e)},nn=function(e,t,n){n===void 0&&(n={enableAddUndoStack:!0,enableHint:!1,enableInput:!0});var i=e.wysiwyg.element;i.innerHTML=e.lute.Md2VditorDOM(t),i.querySelectorAll(".vditor-wysiwyg__preview[data-render='2']").forEach(function(r){Le(r,e),r.previousElementSibling.setAttribute("style","display:none")}),we(e,n)},Kr=function(e,t,n){for(var i=e.startContainer.parentElement,r=!1,o="",a="",d=function(M){var P=Yt(M.startContainer),V=Qt(M.startContainer),O=M.startContainer.textContent,q=M.startOffset,B="",H="";return(O.substr(0,q)!==""&&O.substr(0,q)!==b.g.ZWSP||P)&&(B=""+P+O.substr(0,q)),(O.substr(q)!==""&&O.substr(q)!==b.g.ZWSP||V)&&(H=""+O.substr(q)+V),{afterHTML:H,beforeHTML:B}}(e),v=d.beforeHTML,g=d.afterHTML;i&&!r;){var h=i.tagName;if(h==="STRIKE"&&(h="S"),h==="I"&&(h="EM"),h==="B"&&(h="STRONG"),h==="S"||h==="STRONG"||h==="EM"){var x="",I="",W="";i.parentElement.getAttribute("data-block")!=="0"&&(I=Yt(i),W=Qt(i)),(v||I)&&(v=x=I+"<"+h+">"+v+"</"+h+">"),(n==="bold"&&h==="STRONG"||n==="italic"&&h==="EM"||n==="strikeThrough"&&h==="S")&&(x+=""+o+b.g.ZWSP+"<wbr>"+a,r=!0),(g||W)&&(x+=g="<"+h+">"+g+"</"+h+">"+W),i.parentElement.getAttribute("data-block")!=="0"?(i=i.parentElement).innerHTML=x:(i.outerHTML=x,i=i.parentElement),o="<"+h+">"+o,a="</"+h+">"+a}else r=!0}(0,A.ib)(t.wysiwyg.element,e)},Se=function(e,t){var n,i=this;this.element=document.createElement("div"),t.className&&(n=this.element.classList).add.apply(n,t.className.split(" "));var r=t.hotkey?" <"+(0,s.ns)(t.hotkey)+">":"";t.level===2&&(r=t.hotkey?" <"+(0,s.ns)(t.hotkey)+">":"");var o=t.tip?t.tip+r:""+window.VditorI18n[t.name]+r,a=t.name==="upload"?"div":"button";if(t.level===2)this.element.innerHTML="<"+a+' data-type="'+t.name+'">'+o+"</"+a+">";else{this.element.classList.add("vditor-toolbar__item");var d=document.createElement(a);d.setAttribute("data-type",t.name),d.className="vditor-tooltipped vditor-tooltipped__"+t.tipPosition,d.setAttribute("aria-label",o),d.innerHTML=t.icon,this.element.appendChild(d)}t.prefix&&this.element.children[0].addEventListener((0,s.Le)(),function(v){v.preventDefault(),i.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)||(e.currentMode==="wysiwyg"?function(g,h,x){if(!(g.wysiwyg.composingLock&&x instanceof CustomEvent)){var I=!0,W=!0;g.wysiwyg.element.querySelector("wbr")&&g.wysiwyg.element.querySelector("wbr").remove();var M=(0,A.zh)(g),P=h.getAttribute("data-type");if(h.classList.contains("vditor-menu--current"))if(P==="strike"&&(P="strikeThrough"),P==="quote"){var V=(0,p.lG)(M.startContainer,"BLOCKQUOTE");V||(V=M.startContainer.childNodes[M.startOffset]),V&&(I=!1,h.classList.remove("vditor-menu--current"),M.insertNode(document.createElement("wbr")),V.outerHTML=V.innerHTML.trim()===""?'<p data-block="0">'+V.innerHTML+"</p>":V.innerHTML,(0,A.ib)(g.wysiwyg.element,M))}else if(P==="inline-code"){var O=(0,p.lG)(M.startContainer,"CODE");O||(O=M.startContainer.childNodes[M.startOffset]),O&&(O.outerHTML=O.innerHTML.replace(b.g.ZWSP,"")+"<wbr>",(0,A.ib)(g.wysiwyg.element,M))}else P==="link"?(M.collapsed&&M.selectNode(M.startContainer.parentElement),document.execCommand("unlink",!1,"")):P==="check"||P==="list"||P==="ordered-list"?(St(g,M,P),(0,A.ib)(g.wysiwyg.element,M),I=!1,h.classList.remove("vditor-menu--current")):(I=!1,h.classList.remove("vditor-menu--current"),M.toString()===""?Kr(M,g,P):document.execCommand(P,!1,""));else{g.wysiwyg.element.childNodes.length===0&&(g.wysiwyg.element.innerHTML='<p data-block="0"><wbr></p>',(0,A.ib)(g.wysiwyg.element,M));var q=(0,p.F9)(M.startContainer);if(P==="quote"){if(q||(q=M.startContainer.childNodes[M.startOffset]),q){I=!1,h.classList.add("vditor-menu--current"),M.insertNode(document.createElement("wbr"));var B=(0,p.lG)(M.startContainer,"LI");B&&q.contains(B)?B.innerHTML='<blockquote data-block="0">'+B.innerHTML+"</blockquote>":q.outerHTML='<blockquote data-block="0">'+q.outerHTML+"</blockquote>",(0,A.ib)(g.wysiwyg.element,M)}}else if(P==="check"||P==="list"||P==="ordered-list")St(g,M,P,!1),(0,A.ib)(g.wysiwyg.element,M),I=!1,u(g.toolbar.elements,["check","list","ordered-list"]),h.classList.add("vditor-menu--current");else if(P==="inline-code"){if(M.toString()==="")(H=document.createElement("code")).textContent=b.g.ZWSP,M.insertNode(H),M.setStart(H.firstChild,1),M.collapse(!0),(0,A.Hc)(M);else if(M.startContainer.nodeType===3){var H=document.createElement("code");M.surroundContents(H),M.insertNode(H),(0,A.Hc)(M)}h.classList.add("vditor-menu--current")}else if(P==="code")(H=document.createElement("div")).className="vditor-wysiwyg__block",H.setAttribute("data-type","code-block"),H.setAttribute("data-block","0"),H.setAttribute("data-marker","```"),M.toString()===""?H.innerHTML=`<pre><code><wbr>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
</p>`),(0,A.ib)(e[e.currentMode].element,n),rt(e),se(e))},ni=function(e){var t=(0,p.lG)(e,"TABLE");return!(!t||!t.rows[0].cells[0].isSameNode(e))&&t},ri=function(e){var t=(0,p.lG)(e,"TABLE");return!(!t||!t.lastElementChild.lastElementChild.lastElementChild.isSameNode(e))&&t},mn=function(e,t,n){n===void 0&&(n=!0);var i=e.previousElementSibling;return i||(i=e.parentElement.previousElementSibling?e.parentElement.previousElementSibling.lastElementChild:e.parentElement.parentElement.tagName==="TBODY"&&e.parentElement.parentElement.previousElementSibling?e.parentElement.parentElement.previousElementSibling.lastElementChild.lastElementChild:null),i&&(t.selectNodeContents(i),n||t.collapse(!1),(0,A.Hc)(t)),i},ft=function(e,t,n,i,r){var o=(0,A.im)(i,e[e.currentMode].element,n);if(t.key==="ArrowDown"&&i.textContent.trimRight().substr(o.start).indexOf(`
|
|
67
|
-
`)===-1||t.key==="ArrowRight"&&o.start>=i.textContent.trimRight().length){var a=r.nextElementSibling;return!a||a&&(a.tagName==="TABLE"||a.getAttribute("data-type"))?(r.insertAdjacentHTML("afterend",'<p data-block="0">'+b.g.ZWSP+"<wbr></p>"),(0,A.ib)(e[e.currentMode].element,n)):(n.selectNodeContents(a),n.collapse(!0),(0,A.Hc)(n)),t.preventDefault(),!0}return!1},it=function(e,t,n,i,r){var o=(0,A.im)(i,e[e.currentMode].element,n);if(t.key==="ArrowUp"&&i.textContent.substr(0,o.start).indexOf(`
|
|
68
|
-
`)===-1||(t.key==="ArrowLeft"||t.key==="Backspace"&&n.toString()==="")&&o.start===0){var a=r.previousElementSibling;return!a||a&&(a.tagName==="TABLE"||a.getAttribute("data-type"))?(r.insertAdjacentHTML("beforebegin",'<p data-block="0">'+b.g.ZWSP+"<wbr></p>"),(0,A.ib)(e[e.currentMode].element,n)):(n.selectNodeContents(a),n.collapse(!1),(0,A.Hc)(n)),t.preventDefault(),!0}return!1},St=function(e,t,n,i){i===void 0&&(i=!0);var r=(0,p.lG)(t.startContainer,"LI");if(e[e.currentMode].element.querySelectorAll("wbr").forEach(function(h){h.remove()}),t.insertNode(document.createElement("wbr")),i&&r){for(var o="",a=0;a<r.parentElement.childElementCount;a++){var d=r.parentElement.children[a].querySelector("input");d&&d.remove(),o+='<p data-block="0">'+r.parentElement.children[a].innerHTML.trimLeft()+"</p>"}r.parentElement.insertAdjacentHTML("beforebegin",o),r.parentElement.remove()}else if(r)if(n==="check")r.parentElement.querySelectorAll("li").forEach(function(h){h.insertAdjacentHTML("afterbegin",'<input type="checkbox" />'+(h.textContent.indexOf(" ")===0?"":" ")),h.classList.add("vditor-task")});else{r.querySelector("input")&&r.parentElement.querySelectorAll("li").forEach(function(h){h.querySelector("input").remove(),h.classList.remove("vditor-task")});var v=void 0;n==="list"?(v=document.createElement("ul")).setAttribute("data-marker","*"):(v=document.createElement("ol")).setAttribute("data-marker","1."),v.setAttribute("data-block","0"),v.setAttribute("data-tight",r.parentElement.getAttribute("data-tight")),v.innerHTML=r.parentElement.innerHTML,r.parentElement.parentNode.replaceChild(v,r.parentElement)}else{var g=(0,p.a1)(t.startContainer,"data-block","0");g||(e[e.currentMode].element.querySelector("wbr").remove(),(g=e[e.currentMode].element.querySelector("p")).innerHTML="<wbr>"),n==="check"?(g.insertAdjacentHTML("beforebegin",'<ul data-block="0"><li class="vditor-task"><input type="checkbox" /> '+g.innerHTML+"</li></ul>"),g.remove()):n==="list"?(g.insertAdjacentHTML("beforebegin",'<ul data-block="0"><li>'+g.innerHTML+"</li></ul>"),g.remove()):n==="ordered-list"&&(g.insertAdjacentHTML("beforebegin",'<ol data-block="0"><li>'+g.innerHTML+"</li></ol>"),g.remove())}},fn=function(e,t,n){var i=t.previousElementSibling;if(t&&i){var r=[t];Array.from(n.cloneContents().children).forEach(function(v,g){v.nodeType!==3&&t&&v.textContent.trim()!==""&&t.getAttribute("data-node-id")===v.getAttribute("data-node-id")&&(g!==0&&r.push(t),t=t.nextElementSibling)}),e[e.currentMode].element.querySelectorAll("wbr").forEach(function(v){v.remove()}),n.insertNode(document.createElement("wbr"));var o=i.parentElement,a="";r.forEach(function(v){var g=v.getAttribute("data-marker");g.length!==1&&(g="1"+g.slice(-1)),a+='<li data-node-id="'+v.getAttribute("data-node-id")+'" data-marker="'+g+'">'+v.innerHTML+"</li>",v.remove()}),i.insertAdjacentHTML("beforeend","<"+o.tagName+' data-block="0">'+a+"</"+o.tagName+">"),e.currentMode==="wysiwyg"?o.outerHTML=e.lute.SpinVditorDOM(o.outerHTML):o.outerHTML=e.lute.SpinVditorIRDOM(o.outerHTML),(0,A.ib)(e[e.currentMode].element,n);var d=(0,p.O9)(n.startContainer);d&&d.querySelectorAll(".vditor-"+e.currentMode+"__preview[data-render='2']").forEach(function(v){Le(v,e),e.currentMode==="wysiwyg"&&v.previousElementSibling.setAttribute("style","display:none")}),se(e),rt(e)}else e[e.currentMode].element.focus()},Bt=function(e,t,n,i){var r=(0,p.lG)(t.parentElement,"LI");if(r){e[e.currentMode].element.querySelectorAll("wbr").forEach(function(x){x.remove()}),n.insertNode(document.createElement("wbr"));var o=t.parentElement,a=o.cloneNode(),d=[t];Array.from(n.cloneContents().children).forEach(function(x,I){x.nodeType!==3&&t&&x.textContent.trim()!==""&&t.getAttribute("data-node-id")===x.getAttribute("data-node-id")&&(I!==0&&d.push(t),t=t.nextElementSibling)});var v=!1,g="";o.querySelectorAll("li").forEach(function(x){v&&(g+=x.outerHTML,x.nextElementSibling||x.previousElementSibling?x.remove():x.parentElement.remove()),x.isSameNode(d[d.length-1])&&(v=!0)}),d.reverse().forEach(function(x){r.insertAdjacentElement("afterend",x)}),g&&(a.innerHTML=g,d[0].insertAdjacentElement("beforeend",a)),e.currentMode==="wysiwyg"?i.outerHTML=e.lute.SpinVditorDOM(i.outerHTML):i.outerHTML=e.lute.SpinVditorIRDOM(i.outerHTML),(0,A.ib)(e[e.currentMode].element,n);var h=(0,p.O9)(n.startContainer);h&&h.querySelectorAll(".vditor-"+e.currentMode+"__preview[data-render='2']").forEach(function(x){Le(x,e),e.currentMode==="wysiwyg"&&x.previousElementSibling.setAttribute("style","display:none")}),se(e),rt(e)}else e[e.currentMode].element.focus()},_t=function(e,t){for(var n=getSelection().getRangeAt(0).startContainer.parentElement,i=e.rows[0].cells.length,r=e.rows.length,o=0,a=0;a<r;a++)for(var d=0;d<i;d++)if(e.rows[a].cells[d].isSameNode(n)){o=d;break}for(var v=0;v<r;v++)e.rows[v].cells[o].setAttribute("align",t)},Vt=function(e){var t=e.trimRight().split(`
|
|
69
|
-
`).pop();return t!==""&&(t.replace(/ |-/g,"")===""||t.replace(/ |_/g,"")===""||t.replace(/ |\*/g,"")==="")&&t.replace(/ /g,"").length>2&&!(t.indexOf("-")>-1&&t.trimLeft().indexOf(" ")===-1&&e.trimRight().split(`
|
|
70
|
-
`).length>1)&&t.indexOf(" ")!==0&&t.indexOf(" ")!==0},qt=function(e){var t=e.trimRight().split(`
|
|
71
|
-
`);return(e=t.pop()).indexOf(" ")!==0&&e.indexOf(" ")!==0&&(e=e.trimLeft())!==""&&t.length!==0&&(e.replace(/-/g,"")===""||e.replace(/=/g,"")==="")},se=function(e,t){t===void 0&&(t={enableAddUndoStack:!0,enableHint:!1,enableInput:!0}),e.currentMode==="wysiwyg"?we(e,t):e.currentMode==="ir"?Ke(e,t):e.currentMode==="sv"&&Ne(e,t)},hn=function(e,t,n,i){var r,o=e.startContainer,a=(0,p.lG)(o,"LI");if(a){if(!(0,s.yl)(i)&&!i.altKey&&i.key==="Enter"&&!i.shiftKey&&n&&a.contains(n)&&n.nextElementSibling)return a&&!a.textContent.endsWith(`
|
|
72
|
-
`)&&a.insertAdjacentText("beforeend",`
|
|
73
|
-
`),e.insertNode(document.createTextNode(`
|
|
74
|
-
|
|
75
|
-
`)),e.collapse(!1),se(t),i.preventDefault(),!0;if(!((0,s.yl)(i)||i.shiftKey||i.altKey||i.key!=="Backspace"||a.previousElementSibling||e.toString()!==""||(0,A.im)(a,t[t.currentMode].element,e).start!==0))return a.nextElementSibling?(a.parentElement.insertAdjacentHTML("beforebegin",'<p data-block="0"><wbr>'+a.innerHTML+"</p>"),a.remove()):a.parentElement.outerHTML='<p data-block="0"><wbr>'+a.innerHTML+"</p>",(0,A.ib)(t[t.currentMode].element,e),se(t),i.preventDefault(),!0;if(!(0,s.yl)(i)&&!i.shiftKey&&!i.altKey&&i.key==="Backspace"&&a.textContent.trim().replace(b.g.ZWSP,"")===""&&e.toString()===""&&((r=a.previousElementSibling)===null||r===void 0?void 0:r.tagName)==="LI")return a.previousElementSibling.insertAdjacentText("beforeend",`
|
|
76
|
-
|
|
77
|
-
`),e.selectNodeContents(a.previousElementSibling),e.collapse(!1),a.remove(),(0,A.ib)(t[t.currentMode].element,e),se(t),i.preventDefault(),!0;if(!(0,s.yl)(i)&&!i.altKey&&i.key==="Tab"){var d=!1;if((e.startOffset===0&&(o.nodeType===3&&!o.previousSibling||o.nodeType!==3&&o.nodeName==="LI")||a.classList.contains("vditor-task")&&e.startOffset===1&&o.previousSibling.nodeType!==3&&o.previousSibling.tagName==="INPUT")&&(d=!0),d||e.toString()!=="")return i.shiftKey?Bt(t,a,e,a.parentElement):fn(t,a,e),i.preventDefault(),!0}}return!1},Ut=function(e,t,n){if(e.options.tab&&n.key==="Tab")return n.shiftKey||(t.toString()===""?(t.insertNode(document.createTextNode(e.options.tab)),t.collapse(!1)):(t.extractContents(),t.insertNode(document.createTextNode(e.options.tab)),t.collapse(!1))),(0,A.Hc)(t),se(e),n.preventDefault(),!0},vn=function(e,t,n,i){if(n){if(!(0,s.yl)(e)&&!e.altKey&&e.key==="Enter"){var r=String.raw(Xt||(Xt=Yr(["",""],["",""])),n.textContent).replace(/\\\|/g,"").trim(),o=r.split("|");if(r.startsWith("|")&&r.endsWith("|")&&o.length>3){var a=o.map(function(){return"---"}).join("|");return a=n.textContent+`
|
|
78
|
-
`+a.substring(3,a.length-3)+`
|
|
79
|
-
|<wbr>`,n.outerHTML=t.lute.SpinVditorDOM(a),(0,A.ib)(t[t.currentMode].element,i),se(t),Ce(t),e.preventDefault(),!0}if(Vt(n.innerHTML)&&n.previousElementSibling){var d="",v=n.innerHTML.trimRight().split(`
|
|
80
|
-
`);return v.length>1&&(v.pop(),d='<p data-block="0">'+v.join(`
|
|
81
|
-
`)+"</p>"),n.insertAdjacentHTML("afterend",d+`<hr data-block="0"><p data-block="0"><wbr>
|
|
82
|
-
</p>`),n.remove(),(0,A.ib)(t[t.currentMode].element,i),se(t),Ce(t),e.preventDefault(),!0}if(qt(n.innerHTML))return t.currentMode==="wysiwyg"?n.outerHTML=t.lute.SpinVditorDOM(n.innerHTML+`<p data-block="0"><wbr>
|
|
83
|
-
</p>`):n.outerHTML=t.lute.SpinVditorIRDOM(n.innerHTML+`<p data-block="0"><wbr>
|
|
84
|
-
</p>`),(0,A.ib)(t[t.currentMode].element,i),se(t),Ce(t),e.preventDefault(),!0}if(i.collapsed&&n.previousElementSibling&&e.key==="Backspace"&&!(0,s.yl)(e)&&!e.altKey&&!e.shiftKey&&n.textContent.trimRight().split(`
|
|
85
|
-
`).length>1&&(0,A.im)(n,t[t.currentMode].element,i).start===0){var g=(0,p.DX)(n.previousElementSibling);return g.textContent.endsWith(`
|
|
86
|
-
`)||(g.textContent=g.textContent+`
|
|
87
|
-
`),g.parentElement.insertAdjacentHTML("beforeend","<wbr>"+n.innerHTML),n.remove(),(0,A.ib)(t[t.currentMode].element,i),!1}return!1}},gn=function(e,t,n){for(var i="",r=0;r<n.parentElement.childElementCount;r++)i+='<td align="'+n.parentElement.children[r].getAttribute("align")+'"> </td>';n.tagName==="TH"?n.parentElement.parentElement.insertAdjacentHTML("afterend","<tbody><tr>"+i+"</tr></tbody>"):n.parentElement.insertAdjacentHTML("afterend","<tr>"+i+"</tr>"),se(e)},yn=function(e,t,n){for(var i="",r=0;r<n.parentElement.childElementCount;r++)n.tagName==="TH"?i+='<th align="'+n.parentElement.children[r].getAttribute("align")+'"> </th>':i+='<td align="'+n.parentElement.children[r].getAttribute("align")+'"> </td>';if(n.tagName==="TH"){n.parentElement.parentElement.insertAdjacentHTML("beforebegin","<thead><tr>"+i+"</tr></thead>"),t.insertNode(document.createElement("wbr"));var o=n.parentElement.innerHTML.replace(/<th>/g,"<td>").replace(/<\/th>/g,"</td>");n.parentElement.parentElement.nextElementSibling.insertAdjacentHTML("afterbegin",o),n.parentElement.parentElement.remove(),(0,A.ib)(e.ir.element,t)}else n.parentElement.insertAdjacentHTML("beforebegin","<tr>"+i+"</tr>");se(e)},Lt=function(e,t,n,i){i===void 0&&(i="afterend");for(var r=0,o=n.previousElementSibling;o;)r++,o=o.previousElementSibling;for(var a=0;a<t.rows.length;a++)a===0?t.rows[a].cells[r].insertAdjacentHTML(i,"<th> </th>"):t.rows[a].cells[r].insertAdjacentHTML(i,"<td> </td>");se(e)},bn=function(e,t,n){if(n.tagName==="TD"){var i=n.parentElement.parentElement;n.parentElement.previousElementSibling?t.selectNodeContents(n.parentElement.previousElementSibling.lastElementChild):t.selectNodeContents(i.previousElementSibling.lastElementChild.lastElementChild),i.childElementCount===1?i.remove():n.parentElement.remove(),t.collapse(!1),(0,A.Hc)(t),se(e)}},wn=function(e,t,n,i){for(var r=0,o=i.previousElementSibling;o;)r++,o=o.previousElementSibling;(i.previousElementSibling||i.nextElementSibling)&&(t.selectNodeContents(i.previousElementSibling||i.nextElementSibling),t.collapse(!0));for(var a=0;a<n.rows.length;a++){var d=n.rows[a].cells;if(d.length===1){n.remove(),rt(e);break}d[r].remove()}(0,A.Hc)(t),se(e)},En=function(e,t,n){var i=n.startContainer,r=(0,p.lG)(i,"TD")||(0,p.lG)(i,"TH");if(r){if(!(0,s.yl)(t)&&!t.altKey&&t.key==="Enter"){r.lastElementChild&&(!r.lastElementChild||r.lastElementChild.isSameNode(r.lastChild)&&r.lastElementChild.tagName==="BR")||r.insertAdjacentHTML("beforeend","<br>");var o=document.createElement("br");return n.insertNode(o),n.setStartAfter(o),se(e),Ce(e),t.preventDefault(),!0}if(t.key==="Tab")return t.shiftKey?(mn(r,n),t.preventDefault(),!0):((h=r.nextElementSibling)||(h=r.parentElement.nextElementSibling?r.parentElement.nextElementSibling.firstElementChild:r.parentElement.parentElement.tagName==="THEAD"&&r.parentElement.parentElement.nextElementSibling?r.parentElement.parentElement.nextElementSibling.firstElementChild.firstElementChild:null),h&&(n.selectNodeContents(h),(0,A.Hc)(n)),t.preventDefault(),!0);var a=r.parentElement.parentElement.parentElement;if(t.key==="ArrowUp"){if(t.preventDefault(),r.tagName==="TH")return a.previousElementSibling?(n.selectNodeContents(a.previousElementSibling),n.collapse(!1),(0,A.Hc)(n)):kt(e,"beforebegin"),!0;for(var d=0,v=r.parentElement;d<v.cells.length&&!v.cells[d].isSameNode(r);d++);var g=v.previousElementSibling;return g||(g=v.parentElement.previousElementSibling.firstChild),n.selectNodeContents(g.cells[d]),n.collapse(!1),(0,A.Hc)(n),!0}if(t.key==="ArrowDown"){var h;if(t.preventDefault(),!(v=r.parentElement).nextElementSibling&&r.tagName==="TD")return a.nextElementSibling?(n.selectNodeContents(a.nextElementSibling),n.collapse(!0),(0,A.Hc)(n)):kt(e,"afterend"),!0;for(d=0;d<v.cells.length&&!v.cells[d].isSameNode(r);d++);return(h=v.nextElementSibling)||(h=v.parentElement.nextElementSibling.firstChild),n.selectNodeContents(h.cells[d]),n.collapse(!0),(0,A.Hc)(n),!0}if(e.currentMode==="wysiwyg"&&!(0,s.yl)(t)&&t.key==="Enter"&&!t.shiftKey&&t.altKey){var x=e.wysiwyg.popover.querySelector(".vditor-input");return x.focus(),x.select(),t.preventDefault(),!0}if(!(0,s.yl)(t)&&!t.shiftKey&&!t.altKey&&t.key==="Backspace"&&n.startOffset===0&&n.toString()==="")return!mn(r,n,!1)&&a&&(a.textContent.trim()===""?(a.outerHTML=`<p data-block="0"><wbr>
|
|
88
|
-
</p>`,(0,A.ib)(e[e.currentMode].element,n)):(n.setStartBefore(a),n.collapse(!0)),se(e)),t.preventDefault(),!0;if(U("⇧⌘F",t))return yn(e,n,r),t.preventDefault(),!0;if(U("⌘=",t))return gn(e,n,r),t.preventDefault(),!0;if(U("⇧⌘G",t))return Lt(e,a,r,"beforebegin"),t.preventDefault(),!0;if(U("⇧⌘=",t))return Lt(e,a,r),t.preventDefault(),!0;if(U("⌘-",t))return bn(e,n,r),t.preventDefault(),!0;if(U("⇧⌘-",t))return wn(e,n,a,r),t.preventDefault(),!0;if(U("⇧⌘L",t)){if(e.currentMode==="ir")return _t(a,"left"),se(e),t.preventDefault(),!0;if(I=e.wysiwyg.popover.querySelector('[data-type="left"]'))return I.click(),t.preventDefault(),!0}if(U("⇧⌘C",t)){if(e.currentMode==="ir")return _t(a,"center"),se(e),t.preventDefault(),!0;if(I=e.wysiwyg.popover.querySelector('[data-type="center"]'))return I.click(),t.preventDefault(),!0}if(U("⇧⌘R",t)){if(e.currentMode==="ir")return _t(a,"right"),se(e),t.preventDefault(),!0;var I;if(I=e.wysiwyg.popover.querySelector('[data-type="right"]'))return I.click(),t.preventDefault(),!0}}return!1},kn=function(e,t,n,i){if(n.tagName==="PRE"&&U("⌘A",t))return i.selectNodeContents(n.firstElementChild),t.preventDefault(),!0;if(e.options.tab&&t.key==="Tab"&&!t.shiftKey&&i.toString()==="")return i.insertNode(document.createTextNode(e.options.tab)),i.collapse(!1),se(e),t.preventDefault(),!0;if(t.key==="Backspace"&&!(0,s.yl)(t)&&!t.shiftKey&&!t.altKey){var r=(0,A.im)(n,e[e.currentMode].element,i);if((r.start===0||r.start===1&&n.innerText===`
|
|
89
|
-
`)&&i.toString()==="")return n.parentElement.outerHTML='<p data-block="0"><wbr>'+n.firstElementChild.innerHTML+"</p>",(0,A.ib)(e[e.currentMode].element,i),se(e),t.preventDefault(),!0}return!(0,s.yl)(t)&&!t.altKey&&t.key==="Enter"&&(n.firstElementChild.textContent.endsWith(`
|
|
90
|
-
`)||n.firstElementChild.insertAdjacentText("beforeend",`
|
|
91
|
-
`),i.extractContents(),i.insertNode(document.createTextNode(`
|
|
92
|
-
`)),i.collapse(!1),(0,A.Hc)(i),(0,s.vU)()||(e.currentMode==="wysiwyg"?Et(e,i):ye(e,i)),Ce(e),t.preventDefault(),!0)},Sn=function(e,t,n,i){var r=t.startContainer,o=(0,p.lG)(r,"BLOCKQUOTE");if(o&&t.toString()===""){if(n.key==="Backspace"&&!(0,s.yl)(n)&&!n.shiftKey&&!n.altKey&&(0,A.im)(o,e[e.currentMode].element,t).start===0)return t.insertNode(document.createElement("wbr")),o.outerHTML=o.innerHTML,(0,A.ib)(e[e.currentMode].element,t),se(e),n.preventDefault(),!0;if(i&&n.key==="Enter"&&!(0,s.yl)(n)&&!n.shiftKey&&!n.altKey&&i.parentElement.tagName==="BLOCKQUOTE"){var a=!1;if(i.innerHTML.replace(b.g.ZWSP,"")===`
|
|
93
|
-
`||i.innerHTML.replace(b.g.ZWSP,"")===""?(a=!0,i.remove()):i.innerHTML.endsWith(`
|
|
94
|
-
|
|
95
|
-
`)&&(0,A.im)(i,e[e.currentMode].element,t).start===i.textContent.length-1&&(i.innerHTML=i.innerHTML.substr(0,i.innerHTML.length-2),a=!0),a)return o.insertAdjacentHTML("afterend",'<p data-block="0">'+b.g.ZWSP+`<wbr>
|
|
96
|
-
</p>`),(0,A.ib)(e[e.currentMode].element,t),se(e),n.preventDefault(),!0}var d=(0,p.F9)(r);if(e.currentMode==="wysiwyg"&&d&&U("⇧⌘;",n))return t.insertNode(document.createElement("wbr")),d.outerHTML='<blockquote data-block="0">'+d.outerHTML+"</blockquote>",(0,A.ib)(e.wysiwyg.element,t),we(e),n.preventDefault(),!0;if(ft(e,n,t,o,o)||it(e,n,t,o,o))return!0}return!1},_n=function(e,t,n){var i=t.startContainer,r=(0,p.fb)(i,"vditor-task");if(r){if(U("⇧⌘J",n)){var o=r.firstElementChild;return o.checked?o.removeAttribute("checked"):o.setAttribute("checked","checked"),se(e),n.preventDefault(),!0}if(n.key==="Backspace"&&!(0,s.yl)(n)&&!n.shiftKey&&!n.altKey&&t.toString()===""&&t.startOffset===1&&(i.nodeType===3&&i.previousSibling&&i.previousSibling.tagName==="INPUT"||i.nodeType!==3)){var a=r.previousElementSibling;return r.querySelector("input").remove(),a?((0,p.DX)(a).parentElement.insertAdjacentHTML("beforeend","<wbr>"+r.innerHTML.trim()),r.remove()):(r.parentElement.insertAdjacentHTML("beforebegin",'<p data-block="0"><wbr>'+(r.innerHTML.trim()||`
|
|
97
|
-
`)+"</p>"),r.nextElementSibling?r.remove():r.parentElement.remove()),(0,A.ib)(e[e.currentMode].element,t),se(e),n.preventDefault(),!0}if(n.key==="Enter"&&!(0,s.yl)(n)&&!n.shiftKey&&!n.altKey){if(r.textContent.trim()==="")if((0,p.fb)(r.parentElement,"vditor-task")){var d=(0,p.O9)(i);d&&Bt(e,r,t,d)}else if(r.nextElementSibling){var v="",g="",h=!1;Array.from(r.parentElement.children).forEach(function(M){r.isSameNode(M)?h=!0:h?v+=M.outerHTML:g+=M.outerHTML});var x=r.parentElement.tagName,I=r.parentElement.tagName==="OL"?"":' data-marker="'+r.parentElement.getAttribute("data-marker")+'"',W="";g&&(W=r.parentElement.tagName==="UL"?"":' start="1"',g="<"+x+' data-tight="true"'+I+' data-block="0">'+g+"</"+x+">"),r.parentElement.outerHTML=g+`<p data-block="0"><wbr>
|
|
98
|
-
</p><`+x+`
|
|
99
|
-
data-tight="true"`+I+' data-block="0"'+W+">"+v+"</"+x+">"}else r.parentElement.insertAdjacentHTML("afterend",`<p data-block="0"><wbr>
|
|
100
|
-
</p>`),r.parentElement.querySelectorAll("li").length===1?r.parentElement.remove():r.remove();else i.nodeType!==3&&t.startOffset===0&&i.firstChild.tagName==="INPUT"?t.setStart(i.childNodes[1],1):(t.setEndAfter(r.lastChild),r.insertAdjacentHTML("afterend",'<li class="vditor-task" data-marker="'+r.getAttribute("data-marker")+'"><input type="checkbox"> <wbr></li>'),document.querySelector("wbr").after(t.extractContents()));return(0,A.ib)(e[e.currentMode].element,t),se(e),Ce(e),n.preventDefault(),!0}}return!1},Ln=function(e,t,n,i){if(t.startContainer.nodeType!==3){var r=t.startContainer.children[t.startOffset];if(r&&r.tagName==="HR")return t.selectNodeContents(r.previousElementSibling),t.collapse(!1),n.preventDefault(),!0}if(i){var o=i.previousElementSibling;if(o&&(0,A.im)(i,e[e.currentMode].element,t).start===0&&((0,s.vU)()&&o.tagName==="HR"||o.tagName==="TABLE")){if(o.tagName==="TABLE"){var a=o.lastElementChild.lastElementChild.lastElementChild;a.innerHTML=a.innerHTML.trimLeft()+"<wbr>"+i.textContent.trim(),i.remove()}else o.remove();return(0,A.ib)(e[e.currentMode].element,t),se(e),n.preventDefault(),!0}}return!1},Mn=function(e){(0,s.vU)()&&e.startContainer.nodeType!==3&&e.startContainer.tagName==="HR"&&e.setStartBefore(e.startContainer)},Cn=function(e,t,n){var i,r;if(!(0,s.vU)())return!1;if(e.key==="ArrowUp"&&t&&((i=t.previousElementSibling)===null||i===void 0?void 0:i.tagName)==="TABLE"){var o=t.previousElementSibling;return n.selectNodeContents(o.rows[o.rows.length-1].lastElementChild),n.collapse(!1),e.preventDefault(),!0}return!(e.key!=="ArrowDown"||!t||((r=t.nextElementSibling)===null||r===void 0?void 0:r.tagName)!=="TABLE")&&(n.selectNodeContents(t.nextElementSibling.rows[0].cells[0]),n.collapse(!0),e.preventDefault(),!0)},Mt=function(e,t,n){return ei(void 0,void 0,void 0,function(){var i,r,o,a,d,v,g,h,x,I,W,M,P,V,O,q;return ti(this,function(B){switch(B.label){case 0:return e[e.currentMode].element.getAttribute("contenteditable")!=="true"?[2]:(t.stopPropagation(),t.preventDefault(),"clipboardData"in t?(i=t.clipboardData.getData("text/html"),r=t.clipboardData.getData("text/plain"),o=t.clipboardData.files):(i=t.dataTransfer.getData("text/html"),r=t.dataTransfer.getData("text/plain"),t.dataTransfer.types.includes("Files")&&(o=t.dataTransfer.items)),a={},d=function(H,$){if(!$)return["",Lute.WalkContinue];var ne=H.TokensStr();if(H.__internal_object__.Parent.Type===34&&ne&&ne.indexOf("file://")===-1&&e.options.upload.linkToImgUrl){var Q=new XMLHttpRequest;Q.open("POST",e.options.upload.linkToImgUrl),e.options.upload.token&&Q.setRequestHeader("X-Upload-Token",e.options.upload.token),e.options.upload.withCredentials&&(Q.withCredentials=!0),cn(e,Q),Q.setRequestHeader("Content-Type","application/json; charset=utf-8"),Q.onreadystatechange=function(){if(Q.readyState===XMLHttpRequest.DONE){if(Q.status===200){var te=Q.responseText;e.options.upload.linkToImgFormat&&(te=e.options.upload.linkToImgFormat(Q.responseText));var ee=JSON.parse(te);if(ee.code!==0)return void e.tip.show(ee.msg);var F=ee.data.originalURL;if(e.currentMode==="sv")e.sv.element.querySelectorAll(".vditor-sv__marker--link").forEach(function(be){be.textContent===F&&(be.textContent=ee.data.url)});else{var ie=e[e.currentMode].element.querySelector('img[src="'+F+'"]');ie.src=ee.data.url,e.currentMode==="ir"&&(ie.previousElementSibling.previousElementSibling.innerHTML=ee.data.url)}se(e)}else e.tip.show(Q.responseText);e.options.upload.linkToImgCallback&&e.options.upload.linkToImgCallback(Q.responseText)}},Q.send(JSON.stringify({url:ne}))}return e.currentMode==="ir"?['<span class="vditor-ir__marker vditor-ir__marker--link">'+Lute.EscapeHTMLStr(ne)+"</span>",Lute.WalkContinue]:e.currentMode==="wysiwyg"?["",Lute.WalkContinue]:['<span class="vditor-sv__marker--link">'+Lute.EscapeHTMLStr(ne)+"</span>",Lute.WalkContinue]},i.replace(/&/g,"&").replace(/<(|\/)(html|body|meta)[^>]*?>/gi,"").trim()!=='<a href="'+r+'">'+r+"</a>"&&i.replace(/&/g,"&").replace(/<(|\/)(html|body|meta)[^>]*?>/gi,"").trim()!=='<!--StartFragment--><a href="'+r+'">'+r+"</a><!--EndFragment-->"||(i=""),(v=new DOMParser().parseFromString(i,"text/html")).body&&(i=v.body.innerHTML),i=Lute.Sanitize(i),e.wysiwyg.getComments(e),g=e[e.currentMode].element.scrollHeight,h=function(H,$,ne){ne===void 0&&(ne="sv");var Q=document.createElement("div");Q.innerHTML=H;var te=!1;Q.childElementCount===1&&Q.lastElementChild.style.fontFamily.indexOf("monospace")>-1&&(te=!0);var ee=Q.querySelectorAll("pre");if(Q.childElementCount===1&&ee.length===1&&ee[0].className!=="vditor-wysiwyg"&&ee[0].className!=="vditor-sv"&&(te=!0),H.indexOf(`
|
|
101
|
-
<p class="p1">`)===0&&(te=!0),Q.childElementCount===1&&Q.firstElementChild.tagName==="TABLE"&&Q.querySelector(".line-number")&&Q.querySelector(".line-content")&&(te=!0),te){var F=$||H;return/\n/.test(F)||ee.length===1?ne==="wysiwyg"?'<div class="vditor-wysiwyg__block" data-block="0" data-type="code-block"><pre><code>'+F.replace(/&/g,"&").replace(/</g,"<")+"<wbr></code></pre></div>":"\n```\n"+F.replace(/&/g,"&").replace(/</g,"<")+"\n```":ne==="wysiwyg"?"<code>"+F.replace(/&/g,"&").replace(/</g,"<")+"</code><wbr>":"`"+F+"`"}return!1}(i,r,e.currentMode),(x=e.currentMode==="sv"?(0,p.a1)(t.target,"data-type","code-block"):(0,p.lG)(t.target,"CODE"))?(e.currentMode==="sv"?document.execCommand("insertHTML",!1,r.replace(/&/g,"&").replace(/</g,"<")):(I=(0,A.im)(t.target,e[e.currentMode].element),x.parentElement.tagName!=="PRE"&&(r+=b.g.ZWSP),x.textContent=x.textContent.substring(0,I.start)+r+x.textContent.substring(I.end),(0,A.$j)(I.start+r.length,I.start+r.length,x.parentElement),!((q=x.parentElement)===null||q===void 0)&&q.nextElementSibling.classList.contains("vditor-"+e.currentMode+"__preview")&&(x.parentElement.nextElementSibling.innerHTML=x.outerHTML,Le(x.parentElement.nextElementSibling,e))),[3,8]):[3,1]);case 1:return h?(n.pasteCode(h),[3,8]):[3,2];case 2:return i.trim()===""?[3,3]:((W=document.createElement("div")).innerHTML=i,W.querySelectorAll("[style]").forEach(function(H){H.removeAttribute("style")}),W.querySelectorAll(".vditor-copy").forEach(function(H){H.remove()}),e.currentMode==="ir"?(a.HTML2VditorIRDOM={renderLinkDest:d},e.lute.SetJSRenderers({renderers:a}),(0,A.oC)(e.lute.HTML2VditorIRDOM(W.innerHTML),e)):e.currentMode==="wysiwyg"?(a.HTML2VditorDOM={renderLinkDest:d},e.lute.SetJSRenderers({renderers:a}),(0,A.oC)(e.lute.HTML2VditorDOM(W.innerHTML),e)):(a.Md2VditorSVDOM={renderLinkDest:d},e.lute.SetJSRenderers({renderers:a}),on(e,e.lute.HTML2Md(W.innerHTML).trimRight())),e.outline.render(e),[3,8]);case 3:return o.length>0?e.options.upload.url||e.options.upload.handler?[4,Pt(e,o)]:[3,5]:[3,7];case 4:return B.sent(),[3,6];case 5:M=new FileReader,"clipboardData"in t?(o=t.clipboardData.files,P=o[0]):t.dataTransfer.types.includes("Files")&&(o=t.dataTransfer.items,P=o[0].getAsFile()),P&&P.type.startsWith("image")&&(M.readAsDataURL(P),M.onload=function(){var H="";e.currentMode==="wysiwyg"?H+='<img alt="'+P.name+'" src="'+M.result.toString()+`">
|
|
102
|
-
`:H+="+`)
|
|
103
|
-
`,document.execCommand("insertHTML",!1,H)}),B.label=6;case 6:return[3,8];case 7:r.trim()!==""&&o.length===0&&((O=(0,A.zh)(e)).toString()!==""&&e.lute.IsValidLinkDest(r)&&(r="["+O.toString()+"]("+r+")"),e.currentMode==="ir"?(a.Md2VditorIRDOM={renderLinkDest:d},e.lute.SetJSRenderers({renderers:a}),(0,A.oC)(e.lute.Md2VditorIRDOM(r),e)):e.currentMode==="wysiwyg"?(a.Md2VditorDOM={renderLinkDest:d},e.lute.SetJSRenderers({renderers:a}),(0,A.oC)(e.lute.Md2VditorDOM(r),e)):(a.Md2VditorSVDOM={renderLinkDest:d},e.lute.SetJSRenderers({renderers:a}),on(e,r)),e.outline.render(e)),B.label=8;case 8:return e.currentMode!=="sv"&&((V=(0,p.F9)((0,A.zh)(e).startContainer))&&(O=(0,A.zh)(e),e[e.currentMode].element.querySelectorAll("wbr").forEach(function(H){H.remove()}),O.insertNode(document.createElement("wbr")),e.currentMode==="wysiwyg"?V.outerHTML=e.lute.SpinVditorDOM(V.outerHTML):V.outerHTML=e.lute.SpinVditorIRDOM(V.outerHTML),(0,A.ib)(e[e.currentMode].element,O)),e[e.currentMode].element.querySelectorAll(".vditor-"+e.currentMode+"__preview[data-render='2']").forEach(function(H){Le(H,e)})),e.wysiwyg.triggerRemoveComment(e),se(e),e[e.currentMode].element.scrollHeight-g>Math.min(e[e.currentMode].element.clientHeight,window.innerHeight)/2&&Ce(e),[2]}})})},Tn=function(e){e.hint.render(e);var t=(0,A.zh)(e).startContainer,n=(0,p.a1)(t,"data-type","code-block-info");if(n)if(n.textContent.replace(b.g.ZWSP,"")===""&&e.hint.recentLanguage)n.textContent=b.g.ZWSP+e.hint.recentLanguage,(0,A.zh)(e).selectNodeContents(n);else{var i=[],r=n.textContent.substring(0,(0,A.im)(n,e.ir.element).start).replace(b.g.ZWSP,"");(e.options.preview.hljs.langs||b.g.CODE_LANGUAGES).forEach(function(o){o.indexOf(r.toLowerCase())>-1&&i.push({html:o,value:o})}),e.hint.genHTML(i,r,e)}},Ke=function(e,t){t===void 0&&(t={enableAddUndoStack:!0,enableHint:!1,enableInput:!0}),t.enableHint&&Tn(e),clearTimeout(e.ir.processTimeoutId),e.ir.processTimeoutId=window.setTimeout(function(){if(!e.ir.composingLock){var n=m(e);typeof e.options.input=="function"&&t.enableInput&&e.options.input(n),e.options.counter.enable&&e.counter.render(e,n),e.options.cache.enable&&(0,s.pK)()&&(localStorage.setItem(e.options.cache.id,n),e.options.cache.after&&e.options.cache.after(n)),e.devtools&&e.devtools.renderEchart(e),t.enableAddUndoStack&&e.undo.addToUndoStack(e)}},e.options.undoDelay)},ht=function(e,t){var n=(0,A.zh)(e),i=(0,p.F9)(n.startContainer)||n.startContainer;if(i){var r=i.querySelector(".vditor-ir__marker--heading");r?r.innerHTML=t:(i.insertAdjacentText("afterbegin",t),n.selectNodeContents(i),n.collapse(!1)),ye(e,n.cloneRange()),dt(e)}},Ct=function(e,t,n){var i=(0,p.a1)(e.startContainer,"data-type",n);if(i){i.firstElementChild.remove(),i.lastElementChild.remove(),e.insertNode(document.createElement("wbr"));var r=document.createElement("div");r.innerHTML=t.lute.SpinVditorIRDOM(i.outerHTML),i.outerHTML=r.firstElementChild.innerHTML.trim()}},ii=function(e,t,n,i){var r=(0,A.zh)(e),o=t.getAttribute("data-type"),a=r.startContainer;a.nodeType===3&&(a=a.parentElement);var d=!0;if(t.classList.contains("vditor-menu--current"))if(o==="quote"){var v=(0,p.lG)(a,"BLOCKQUOTE");v&&(r.insertNode(document.createElement("wbr")),v.outerHTML=v.innerHTML.trim()===""?'<p data-block="0">'+v.innerHTML+"</p>":v.innerHTML)}else if(o==="link"){var g=(0,p.a1)(r.startContainer,"data-type","a");if(g){var h=(0,p.fb)(r.startContainer,"vditor-ir__link");h?(r.insertNode(document.createElement("wbr")),g.outerHTML=h.innerHTML):g.outerHTML=g.querySelector(".vditor-ir__link").innerHTML+"<wbr>"}}else o==="italic"?Ct(r,e,"em"):o==="bold"?Ct(r,e,"strong"):o==="strike"?Ct(r,e,"s"):o==="inline-code"?Ct(r,e,"code"):o!=="check"&&o!=="list"&&o!=="ordered-list"||(St(e,r,o),d=!1,t.classList.remove("vditor-menu--current"));else{e.ir.element.childNodes.length===0&&(e.ir.element.innerHTML='<p data-block="0"><wbr></p>',(0,A.ib)(e.ir.element,r));var x=(0,p.F9)(r.startContainer);if(o==="line"){if(x){var I=`<hr data-block="0"><p data-block="0"><wbr>
|
|
104
|
-
</p>`;x.innerHTML.trim()===""?x.outerHTML=I:x.insertAdjacentHTML("afterend",I)}}else if(o==="quote")x&&(r.insertNode(document.createElement("wbr")),x.outerHTML='<blockquote data-block="0">'+x.outerHTML+"</blockquote>",d=!1,t.classList.add("vditor-menu--current"));else if(o==="link"){var W=void 0;W=r.toString()===""?n+"<wbr>"+i:""+n+r.toString()+i.replace(")","<wbr>)"),document.execCommand("insertHTML",!1,W),d=!1,t.classList.add("vditor-menu--current")}else if(o==="italic"||o==="bold"||o==="strike"||o==="inline-code"||o==="code"||o==="table"){W=void 0,r.toString()===""?W=n+"<wbr>"+i:(W=o==="code"?n+`
|
|
105
|
-
`+r.toString()+"<wbr>"+i:o==="table"?""+n+r.toString()+"<wbr>"+i:""+n+r.toString()+i+"<wbr>",r.deleteContents()),o!=="table"&&o!=="code"||(W=`
|
|
106
|
-
`+W+`
|
|
107
|
-
|
|
108
|
-
`);var M=document.createElement("span");M.innerHTML=W,r.insertNode(M),ye(e,r),o==="table"&&(r.selectNodeContents(getSelection().getRangeAt(0).startContainer.parentElement),(0,A.Hc)(r))}else o!=="check"&&o!=="list"&&o!=="ordered-list"||(St(e,r,o,!1),d=!1,u(e.toolbar.elements,["check","list","ordered-list"]),t.classList.add("vditor-menu--current"))}(0,A.ib)(e.ir.element,r),Ke(e),d&&dt(e)},oi=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(g){try{v(i.next(g))}catch(h){o(h)}}function d(g){try{v(i.throw(g))}catch(h){o(h)}}function v(g){var h;g.done?r(g.value):(h=g.value,h instanceof n?h:new n(function(x){x(h)})).then(a,d)}v((i=i.apply(e,[])).next())})},ai=function(e,t){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:d(0),throw:d(1),return:d(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function d(v){return function(g){return function(h){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&h[0]?i.return:h[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,h[1])).done)return r;switch(i=0,r&&(h=[2&h[0],r.value]),h[0]){case 0:case 1:r=h;break;case 4:return a.label++,{value:h[1],done:!1};case 5:a.label++,i=h[1],h=[0];continue;case 7:h=a.ops.pop(),a.trys.pop();continue;default:if(r=a.trys,!((r=r.length>0&&r[r.length-1])||h[0]!==6&&h[0]!==2)){a=0;continue}if(h[0]===3&&(!r||h[1]>r[0]&&h[1]<r[3])){a.label=h[1];break}if(h[0]===6&&a.label<r[1]){a.label=r[1],r=h;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(h);break}r[2]&&a.ops.pop(),a.trys.pop();continue}h=t.call(e,a)}catch(x){h=[6,x],i=0}finally{n=r=0}if(5&h[0])throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}([v,g])}}},si=function(){function e(t){var n=this;this.splitChar="",this.lastIndex=-1,this.fillEmoji=function(i,r){n.element.style.display="none";var o=decodeURIComponent(i.getAttribute("data-value")),a=window.getSelection().getRangeAt(0);if(r.currentMode==="ir"){var d=(0,p.a1)(a.startContainer,"data-type","code-block-info");if(d)return d.textContent=b.g.ZWSP+o.trimRight(),a.selectNodeContents(d),a.collapse(!1),Ke(r),d.parentElement.querySelectorAll("code").forEach(function(x){x.className="language-"+o.trimRight()}),Le(d.parentElement.querySelector(".vditor-ir__preview"),r),void(n.recentLanguage=o.trimRight())}if(r.currentMode==="wysiwyg"&&a.startContainer.nodeType!==3){var v=a.startContainer,g=void 0;if((g=v.classList.contains("vditor-input")?v:v.firstElementChild)&&g.classList.contains("vditor-input"))return g.value=o.trimRight(),a.selectNodeContents(g),a.collapse(!1),g.dispatchEvent(new CustomEvent("input",{detail:1})),void(n.recentLanguage=o.trimRight())}if(a.setStart(a.startContainer,n.lastIndex),a.deleteContents(),r.options.hint.parse?r.currentMode==="sv"?(0,A.oC)(r.lute.SpinVditorSVDOM(o),r):r.currentMode==="wysiwyg"?(0,A.oC)(r.lute.SpinVditorDOM(o),r):(0,A.oC)(r.lute.SpinVditorIRDOM(o),r):(0,A.oC)(o,r),n.splitChar===":"&&o.indexOf(":")>-1&&r.currentMode!=="sv"&&a.insertNode(document.createTextNode(" ")),a.collapse(!1),(0,A.Hc)(a),r.currentMode==="wysiwyg")(h=(0,p.fb)(a.startContainer,"vditor-wysiwyg__block"))&&h.lastElementChild.classList.contains("vditor-wysiwyg__preview")&&(h.lastElementChild.innerHTML=h.firstElementChild.innerHTML,Le(h.lastElementChild,r));else if(r.currentMode==="ir"){var h;(h=(0,p.fb)(a.startContainer,"vditor-ir__marker--pre"))&&h.nextElementSibling.classList.contains("vditor-ir__preview")&&(h.nextElementSibling.innerHTML=h.innerHTML,Le(h.nextElementSibling,r))}se(r)},this.timeId=-1,this.element=document.createElement("div"),this.element.className="vditor-hint",this.recentLanguage="",t.push({key:":"})}return e.prototype.render=function(t){var n=this;if(window.getSelection().focusNode){var i,r=getSelection().getRangeAt(0);i=r.startContainer.textContent.substring(0,r.startOffset)||"";var o=this.getKey(i,t.options.hint.extend);if(o===void 0)this.element.style.display="none",clearTimeout(this.timeId);else if(this.splitChar===":"){var a=o===""?t.options.hint.emoji:t.lute.GetEmojis(),d=[];Object.keys(a).forEach(function(v){v.indexOf(o.toLowerCase())===0&&(a[v].indexOf(".")>-1?d.push({html:'<img src="'+a[v]+'" title=":'+v+':"/> :'+v+":",value:":"+v+":"}):d.push({html:'<span class="vditor-hint__emoji">'+a[v]+"</span>"+v,value:a[v]}))}),this.genHTML(d,o,t)}else t.options.hint.extend.forEach(function(v){v.key===n.splitChar&&(clearTimeout(n.timeId),n.timeId=window.setTimeout(function(){return oi(n,void 0,void 0,function(){var g;return ai(this,function(h){switch(h.label){case 0:return g=this.genHTML,[4,v.hint(o)];case 1:return g.apply(this,[h.sent(),o,t]),[2]}})})},t.options.hint.delay))})}},e.prototype.genHTML=function(t,n,i){var r=this;if(t.length!==0){var o=i[i.currentMode].element,a=(0,A.Ny)(o),d=a.left+(i.options.outline.position==="left"?i.outline.element.offsetWidth:0),v=a.top,g="";t.forEach(function(x,I){if(!(I>7)){var W=x.html;if(n!==""){var M=W.lastIndexOf(">")+1,P=W.substr(M),V=P.toLowerCase().indexOf(n.toLowerCase());V>-1&&(P=P.substring(0,V)+"<b>"+P.substring(V,V+n.length)+"</b>"+P.substring(V+n.length),W=W.substr(0,M)+P)}g+='<button type="button" data-value="'+encodeURIComponent(x.value)+` "
|
|
109
|
-
`+(I===0?"class='vditor-hint--current'":"")+"> "+W+"</button>"}}),this.element.innerHTML=g;var h=parseInt(document.defaultView.getComputedStyle(o,null).getPropertyValue("line-height"),10);this.element.style.top=v+(h||22)+"px",this.element.style.left=d+"px",this.element.style.display="block",this.element.style.right="auto",this.element.querySelectorAll("button").forEach(function(x){x.addEventListener("click",function(I){r.fillEmoji(x,i),I.preventDefault()})}),this.element.getBoundingClientRect().bottom>window.innerHeight&&(this.element.style.top=v-this.element.offsetHeight+"px"),this.element.getBoundingClientRect().right>window.innerWidth&&(this.element.style.left="auto",this.element.style.right="0")}else this.element.style.display="none"},e.prototype.select=function(t,n){if(this.element.querySelectorAll("button").length===0||this.element.style.display==="none")return!1;var i=this.element.querySelector(".vditor-hint--current");if(t.key==="ArrowDown")return t.preventDefault(),t.stopPropagation(),i.removeAttribute("class"),i.nextElementSibling?i.nextElementSibling.className="vditor-hint--current":this.element.children[0].className="vditor-hint--current",!0;if(t.key==="ArrowUp"){if(t.preventDefault(),t.stopPropagation(),i.removeAttribute("class"),i.previousElementSibling)i.previousElementSibling.className="vditor-hint--current";else{var r=this.element.children.length;this.element.children[r-1].className="vditor-hint--current"}return!0}return!((0,s.yl)(t)||t.shiftKey||t.altKey||t.key!=="Enter"||t.isComposing)&&(t.preventDefault(),t.stopPropagation(),this.fillEmoji(i,n),!0)},e.prototype.getKey=function(t,n){var i,r=this;if(this.lastIndex=-1,this.splitChar="",n.forEach(function(v){var g=t.lastIndexOf(v.key);r.lastIndex<g&&(r.splitChar=v.key,r.lastIndex=g)}),this.lastIndex===-1)return i;var o=t.split(this.splitChar),a=o[o.length-1];if(o.length>1&&a.trim()===a)if(o.length===2&&o[0]===""&&o[1].length<32)i=o[1];else{var d=o[o.length-2].slice(-1);(0,c.X)(d)===" "&&a.length<32&&(i=a)}return i},e}(),li=function(){function e(t){this.composingLock=!1;var n=document.createElement("div");n.className="vditor-ir",n.innerHTML='<pre class="vditor-reset" placeholder="'+t.options.placeholder+`"
|
|
110
|
-
contenteditable="true" spellcheck="false"></pre>`,this.element=n.firstElementChild,this.bindEvent(t),Nt(t,this.element),rn(t,this.element),Ht(t,this.element),jt(t,this.element),Rt(t,this.element),Dt(t,this.element),Ot(t,this.element,this.copy),It(t,this.element,this.copy)}return e.prototype.copy=function(t,n){var i=getSelection().getRangeAt(0);if(i.toString()!==""){t.stopPropagation(),t.preventDefault();var r=document.createElement("div");r.appendChild(i.cloneContents()),t.clipboardData.setData("text/plain",n.lute.VditorIRDOM2Md(r.innerHTML).trim()),t.clipboardData.setData("text/html","")}},e.prototype.bindEvent=function(t){var n=this;this.element.addEventListener("paste",function(i){Mt(t,i,{pasteCode:function(r){document.execCommand("insertHTML",!1,r)}})}),this.element.addEventListener("scroll",function(){E(t,["hint"])}),this.element.addEventListener("compositionstart",function(i){n.composingLock=!0}),this.element.addEventListener("compositionend",function(i){(0,s.vU)()||ye(t,getSelection().getRangeAt(0).cloneRange()),n.composingLock=!1}),this.element.addEventListener("input",function(i){if(i.inputType!=="deleteByDrag"&&i.inputType!=="insertFromDrop")return n.preventInput?(n.preventInput=!1,void Ke(t,{enableAddUndoStack:!0,enableHint:!0,enableInput:!0})):void(n.composingLock||i.data==="‘"||i.data==="“"||i.data==="《"||ye(t,getSelection().getRangeAt(0).cloneRange(),!1,i))}),this.element.addEventListener("click",function(i){if(i.target.tagName==="INPUT")return i.target.checked?i.target.setAttribute("checked","checked"):i.target.removeAttribute("checked"),n.preventInput=!0,void Ke(t);var r=(0,A.zh)(t),o=(0,p.fb)(i.target,"vditor-ir__preview");if(o||(o=(0,p.fb)(r.startContainer,"vditor-ir__preview")),o&&(o.previousElementSibling.firstElementChild?r.selectNodeContents(o.previousElementSibling.firstElementChild):r.selectNodeContents(o.previousElementSibling),r.collapse(!0),(0,A.Hc)(r),Ce(t)),i.target.tagName==="IMG"){var a=i.target.parentElement.querySelector(".vditor-ir__marker--link");a&&(r.selectNode(a),(0,A.Hc)(r))}var d=(0,p.a1)(i.target,"data-type","a");if(!d||d.classList.contains("vditor-ir__node--expand")){if(i.target.isEqualNode(n.element)&&n.element.lastElementChild&&r.collapsed){var v=n.element.lastElementChild.getBoundingClientRect();i.y>v.top+v.height&&(n.element.lastElementChild.tagName==="P"&&n.element.lastElementChild.textContent.trim().replace(b.g.ZWSP,"")===""?(r.selectNodeContents(n.element.lastElementChild),r.collapse(!1)):(n.element.insertAdjacentHTML("beforeend",'<p data-block="0">'+b.g.ZWSP+"<wbr></p>"),(0,A.ib)(n.element,r)))}r.toString()===""?R(r,t):setTimeout(function(){R((0,A.zh)(t),t)}),yt(i,t),dt(t)}else t.options.link.click?t.options.link.click(d.querySelector(":scope > .vditor-ir__marker--link")):t.options.link.isOpen&&window.open(d.querySelector(":scope > .vditor-ir__marker--link").textContent)}),this.element.addEventListener("keyup",function(i){if(!i.isComposing&&!(0,s.yl)(i))if(i.key==="Enter"&&Ce(t),dt(t),i.key!=="Backspace"&&i.key!=="Delete"||t.ir.element.innerHTML===""||t.ir.element.childNodes.length!==1||!t.ir.element.firstElementChild||t.ir.element.firstElementChild.tagName!=="P"||t.ir.element.firstElementChild.childElementCount!==0||t.ir.element.textContent!==""&&t.ir.element.textContent!==`
|
|
111
|
-
`){var r=(0,A.zh)(t);i.key==="Backspace"?((0,s.vU)()&&r.startContainer.textContent===`
|
|
112
|
-
`&&r.startOffset===1&&(r.startContainer.textContent="",R(r,t)),n.element.querySelectorAll(".language-math").forEach(function(a){var d=a.querySelector("br");d&&d.remove()})):i.key.indexOf("Arrow")>-1?(i.key!=="ArrowLeft"&&i.key!=="ArrowRight"||Tn(t),R(r,t)):i.keyCode===229&&i.code===""&&i.key==="Unidentified"&&R(r,t);var o=(0,p.fb)(r.startContainer,"vditor-ir__preview");if(o){if(i.key==="ArrowUp"||i.key==="ArrowLeft")return o.previousElementSibling.firstElementChild?r.selectNodeContents(o.previousElementSibling.firstElementChild):r.selectNodeContents(o.previousElementSibling),r.collapse(!1),i.preventDefault(),!0;if(o.tagName==="SPAN"&&(i.key==="ArrowDown"||i.key==="ArrowRight"))return o.parentElement.getAttribute("data-type")==="html-entity"?(o.parentElement.insertAdjacentText("afterend",b.g.ZWSP),r.setStart(o.parentElement.nextSibling,1)):r.selectNodeContents(o.parentElement.lastElementChild),r.collapse(!1),i.preventDefault(),!0}}else t.ir.element.innerHTML=""})},e}(),An=function(e){return e.currentMode==="sv"?e.lute.Md2HTML(m(e)):e.currentMode==="wysiwyg"?e.lute.VditorDOM2HTML(e.wysiwyg.element.innerHTML):e.currentMode==="ir"?e.lute.VditorIRDOM2HTML(e.ir.element.innerHTML):void 0},ci=J(895),xn=J(818),di=function(){function e(t){this.element=document.createElement("div"),this.element.className="vditor-outline",this.element.innerHTML='<div class="vditor-outline__title">'+t+`</div>
|
|
113
|
-
<div class="vditor-outline__content"></div>`}return e.prototype.render=function(t){return t.preview.element.style.display==="block"?(0,xn.k)(t.preview.previewElement,this.element.lastElementChild,t):(0,xn.k)(t[t.currentMode].element,this.element.lastElementChild,t)},e.prototype.toggle=function(t,n,i){var r;n===void 0&&(n=!0),i===void 0&&(i=!0);var o=(r=t.toolbar.elements.outline)===null||r===void 0?void 0:r.firstElementChild;if(n&&window.innerWidth>=b.g.MOBILE_WIDTH?(this.element.style.display="block",this.render(t),o==null||o.classList.add("vditor-menu--current")):(this.element.style.display="none",o==null||o.classList.remove("vditor-menu--current")),i&&getSelection().rangeCount>0){var a=getSelection().getRangeAt(0);t[t.currentMode].element.contains(a.startContainer)&&(0,A.Hc)(a)}me(t)},e}(),ui=J(554),pi=function(){function e(t){var n=this;this.element=document.createElement("div"),this.element.className="vditor-preview",this.previewElement=document.createElement("div"),this.previewElement.className="vditor-reset",t.options.classes.preview&&this.previewElement.classList.add(t.options.classes.preview),this.previewElement.style.maxWidth=t.options.preview.maxWidth+"px",this.previewElement.addEventListener("copy",function(v){if(v.target.tagName!=="TEXTAREA"){var g=document.createElement("div");g.className="vditor-reset",g.appendChild(getSelection().getRangeAt(0).cloneContents()),n.copyToX(t,g,"default"),v.preventDefault()}}),this.previewElement.addEventListener("click",function(v){var g=(0,p.lG)(v.target,"SPAN");if(g&&(0,p.fb)(g,"vditor-toc")){var h=n.previewElement.querySelector("#"+g.getAttribute("data-target-id"));h&&(n.element.scrollTop=h.offsetTop)}else{if(v.target.tagName==="A")return t.options.link.click?t.options.link.click(v.target):t.options.link.isOpen&&window.open(v.target.getAttribute("href")),void v.preventDefault();v.target.tagName==="IMG"&&(t.options.image.preview?t.options.image.preview(v.target):t.options.image.isPreview&&(0,oe.E)(v.target,t.options.lang,t.options.theme))}}),this.element.appendChild(this.previewElement);var i=t.options.preview.actions;if(i.length!==0){var r=document.createElement("div");r.className="vditor-preview__action";for(var o=[],a=0;a<i.length;a++){var d=i[a];if(typeof d!="object")switch(d){case"desktop":o.push('<button type="button" class="vditor-preview__action--current" data-type="desktop">Desktop</button>');break;case"tablet":o.push('<button type="button" data-type="tablet">Tablet</button>');break;case"mobile":o.push('<button type="button" data-type="mobile">Mobile/Wechat</button>');break;case"mp-wechat":o.push('<button type="button" data-type="mp-wechat" class="vditor-tooltipped vditor-tooltipped__w" aria-label="复制到公众号"><svg><use xlink:href="#vditor-icon-mp-wechat"></use></svg></button>');break;case"zhihu":o.push('<button type="button" data-type="zhihu" class="vditor-tooltipped vditor-tooltipped__w" aria-label="复制到知乎"><svg><use xlink:href="#vditor-icon-zhihu"></use></svg></button>')}else o.push('<button type="button" data-type="'+d.key+'" class="'+d.className+'"'+(d.tooltip?' aria-label="'+d.tooltip+'"':"")+'">'+d.text+"</button>")}r.innerHTML=o.join(""),r.addEventListener((0,s.Le)(),function(v){var g=(0,N.S)(v.target,"BUTTON");if(g){var h=g.getAttribute("data-type"),x=i.find(function(I){return(I==null?void 0:I.key)===h});x?x.click(h):h!=="mp-wechat"&&h!=="zhihu"?(n.previewElement.style.width=h==="desktop"?"auto":h==="tablet"?"780px":"360px",n.previewElement.scrollWidth>n.previewElement.parentElement.clientWidth&&(n.previewElement.style.width="auto"),n.render(t),r.querySelectorAll("button").forEach(function(I){I.classList.remove("vditor-preview__action--current")}),g.classList.add("vditor-preview__action--current")):n.copyToX(t,n.previewElement.cloneNode(!0),h)}}),this.element.insertBefore(r,this.previewElement)}}return e.prototype.render=function(t,n){var i=this;if(clearTimeout(this.mdTimeoutId),this.element.style.display!=="none")if(n)this.previewElement.innerHTML=n;else if(m(t).replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")!==""){var r=new Date().getTime(),o=m(t);this.mdTimeoutId=window.setTimeout(function(){if(t.options.preview.url){var a=new XMLHttpRequest;a.open("POST",t.options.preview.url),a.setRequestHeader("Content-Type","application/json;charset=UTF-8"),a.onreadystatechange=function(){if(a.readyState===XMLHttpRequest.DONE)if(a.status===200){var v=JSON.parse(a.responseText);if(v.code!==0)return void t.tip.show(v.msg);t.options.preview.transform&&(v.data=t.options.preview.transform(v.data)),i.previewElement.innerHTML=v.data,i.afterRender(t,r)}else{var g=t.lute.Md2HTML(o);t.options.preview.transform&&(g=t.options.preview.transform(g)),i.previewElement.innerHTML=g,i.afterRender(t,r)}},a.send(JSON.stringify({markdownText:o}))}else{var d=t.lute.Md2HTML(o);t.options.preview.transform&&(d=t.options.preview.transform(d)),i.previewElement.innerHTML=d,i.afterRender(t,r)}},t.options.preview.delay)}else this.previewElement.innerHTML="";else this.element.getAttribute("data-type")==="renderPerformance"&&t.tip.hide()},e.prototype.afterRender=function(t,n){t.options.preview.parse&&t.options.preview.parse(this.element);var i=new Date().getTime()-n;new Date().getTime()-n>2600?(t.tip.show(window.VditorI18n.performanceTip.replace("${x}",i.toString())),t.preview.element.setAttribute("data-type","renderPerformance")):t.preview.element.getAttribute("data-type")==="renderPerformance"&&(t.tip.hide(),t.preview.element.removeAttribute("data-type"));var r=t.preview.element.querySelector(".vditor-comment--focus");r&&r.classList.remove("vditor-comment--focus"),(0,X.O)(t.preview.previewElement,t.options.preview.hljs),(0,pe.s)(t.options.preview.hljs,t.preview.previewElement,t.options.cdn),(0,ge.i)(t.preview.previewElement,t.options.cdn,t.options.theme),(0,xe.K)(t.preview.previewElement,t.options.cdn,t.options.theme),(0,re.P)(t.preview.previewElement,t.options.cdn),(0,ve.v)(t.preview.previewElement,t.options.cdn),(0,D.p)(t.preview.previewElement,t.options.cdn,t.options.theme),(0,Me.P)(t.preview.previewElement,t.options.cdn,t.options.theme),(0,$e.B)(t.preview.previewElement,t.options.cdn),(0,z.Q)(t.preview.previewElement,t.options.cdn),t.options.preview.render.media.enable&&(0,ui.Y)(t.preview.previewElement),t.options.customRenders.forEach(function(d){d.render(t.preview.previewElement,t)});var o=t.preview.element,a=t.outline.render(t);a===""&&(a="[ToC]"),o.querySelectorAll('[data-type="toc-block"]').forEach(function(d){d.innerHTML=a,(0,ce.H)(d,{cdn:t.options.cdn,math:t.options.preview.math})}),(0,ce.H)(t.preview.previewElement,{cdn:t.options.cdn,math:t.options.preview.math})},e.prototype.copyToX=function(t,n,i){i===void 0&&(i="mp-wechat"),i!=="zhihu"?n.querySelectorAll(".katex-html .base").forEach(function(o){o.style.display="initial"}):n.querySelectorAll(".language-math").forEach(function(o){o.outerHTML='<img class="Formula-image" data-eeimg="true" src="//www.zhihu.com/equation?tex=" alt="'+o.getAttribute("data-math")+'\\" style="display: block; margin: 0 auto; max-width: 100%;">'}),n.style.backgroundColor="#fff",n.querySelectorAll("code").forEach(function(o){o.style.backgroundImage="none"}),this.element.append(n);var r=n.ownerDocument.createRange();r.selectNode(n),(0,A.Hc)(r),document.execCommand("copy"),n.remove(),t.tip.show(["zhihu","mp-wechat"].includes(i)?"已复制,可到"+(i==="zhihu"?"知乎":"微信公众号平台")+"进行粘贴":"已复制到剪切板")},e}(),mi=function(){function e(t){this.element=document.createElement("div"),this.element.className="vditor-resize vditor-resize--"+t.options.resize.position,this.element.innerHTML='<div><svg><use xlink:href="#vditor-icon-resize"></use></svg></div>',this.bindEvent(t)}return e.prototype.bindEvent=function(t){var n=this;this.element.addEventListener("mousedown",function(i){var r=document,o=i.clientY,a=t.element.offsetHeight,d=63+t.element.querySelector(".vditor-toolbar").clientHeight;r.ondragstart=function(){return!1},window.captureEvents&&window.captureEvents(),n.element.classList.add("vditor-resize--selected"),r.onmousemove=function(v){t.options.resize.position==="top"?t.element.style.height=Math.max(d,a+(o-v.clientY))+"px":t.element.style.height=Math.max(d,a+(v.clientY-o))+"px",t.options.typewriterMode&&(t.sv.element.style.paddingBottom=t.sv.element.parentElement.offsetHeight/2+"px")},r.onmouseup=function(){t.options.resize.after&&t.options.resize.after(t.element.offsetHeight-a),window.captureEvents&&window.captureEvents(),r.onmousemove=null,r.onmouseup=null,r.ondragstart=null,r.onselectstart=null,r.onselect=null,n.element.classList.remove("vditor-resize--selected")}})},e}(),fi=function(){function e(t){this.composingLock=!1,this.element=document.createElement("pre"),this.element.className="vditor-sv vditor-reset",this.element.setAttribute("placeholder",t.options.placeholder),this.element.setAttribute("contenteditable","true"),this.element.setAttribute("spellcheck","false"),this.bindEvent(t),Nt(t,this.element),Ht(t,this.element),jt(t,this.element),Rt(t,this.element),Dt(t,this.element),Ot(t,this.element,this.copy),It(t,this.element,this.copy)}return e.prototype.copy=function(t,n){t.stopPropagation(),t.preventDefault(),t.clipboardData.setData("text/plain",mt(n[n.currentMode].element))},e.prototype.bindEvent=function(t){var n=this;this.element.addEventListener("paste",function(i){Mt(t,i,{pasteCode:function(r){document.execCommand("insertHTML",!1,r)}})}),this.element.addEventListener("scroll",function(){if(t.preview.element.style.display==="block"){var i=n.element.scrollTop,r=n.element.clientHeight,o=n.element.scrollHeight-parseFloat(n.element.style.paddingBottom||"0"),a=t.preview.element;a.scrollTop=i/r>.5?(i+r)*a.scrollHeight/o-r:i*a.scrollHeight/o}}),this.element.addEventListener("compositionstart",function(i){n.composingLock=!0}),this.element.addEventListener("compositionend",function(i){(0,s.vU)()||ae(t,i),n.composingLock=!1}),this.element.addEventListener("input",function(i){if(i.inputType!=="deleteByDrag"&&i.inputType!=="insertFromDrop"&&!n.composingLock&&i.data!=="‘"&&i.data!=="“"&&i.data!=="《")return n.preventInput?(n.preventInput=!1,void Ne(t,{enableAddUndoStack:!0,enableHint:!0,enableInput:!0})):void ae(t,i)}),this.element.addEventListener("keyup",function(i){i.isComposing||(0,s.yl)(i)||(i.key!=="Backspace"&&i.key!=="Delete"||t.sv.element.innerHTML===""||t.sv.element.childNodes.length!==1||!t.sv.element.firstElementChild||t.sv.element.firstElementChild.tagName!=="DIV"||t.sv.element.firstElementChild.childElementCount!==2||t.sv.element.firstElementChild.textContent!==""&&t.sv.element.textContent!==`
|
|
114
|
-
`?i.key==="Enter"&&Ce(t):t.sv.element.innerHTML="")})},e}(),Nn=function(){function e(){this.element=document.createElement("div"),this.element.className="vditor-tip"}return e.prototype.show=function(t,n){var i=this;n===void 0&&(n=6e3),this.element.className="vditor-tip vditor-tip--show",n===0?(this.element.innerHTML='<div class="vditor-tip__content">'+t+`
|
|
115
|
-
<div class="vditor-tip__close">X</div></div>`,this.element.querySelector(".vditor-tip__close").addEventListener("click",function(){i.hide()})):(this.element.innerHTML='<div class="vditor-tip__content">'+t+"</div>",setTimeout(function(){i.hide()},n)),this.element.removeAttribute("style"),setTimeout(function(){i.element.getBoundingClientRect().top<46&&(i.element.style.position="fixed",i.element.style.top="46px")},150)},e.prototype.hide=function(){this.element.className="vditor-messageElementtip",this.element.innerHTML=""},e}(),Wt=function(e,t){if(t.options.preview.mode!==e){switch(t.options.preview.mode=e,e){case"both":t.sv.element.style.display="block",t.preview.element.style.display="block",t.preview.render(t),f(t.toolbar.elements,["both"]);break;case"editor":t.sv.element.style.display="block",t.preview.element.style.display="none",u(t.toolbar.elements,["both"])}t.devtools&&t.devtools.renderEchart(t)}},hi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),vi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return n.options.preview.mode==="both"&&r.element.children[0].classList.add("vditor-menu--current"),r.element.children[0].addEventListener((0,s.Le)(),function(o){r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)||(o.preventDefault(),n.currentMode==="sv"&&(n.options.preview.mode==="both"?Wt("editor",n):Wt("both",n)))}),r}return hi(t,e),t}(Se),gi=function(){this.element=document.createElement("div"),this.element.className="vditor-toolbar__br"},Hn=J(312),yi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),bi=function(e){function t(n,i){var r=e.call(this,n,i)||this,o=r.element.children[0],a=document.createElement("div");a.className="vditor-hint"+(i.level===2?"":" vditor-panel--arrow");var d="";return b.g.CODE_THEME.forEach(function(v){d+="<button>"+v+"</button>"}),a.innerHTML='<div style="overflow: auto;max-height:'+window.innerHeight/2+'px">'+d+"</div>",a.addEventListener((0,s.Le)(),function(v){v.target.tagName==="BUTTON"&&(E(n,["subToolbar"]),n.options.preview.hljs.style=v.target.textContent,(0,Hn.Y)(v.target.textContent,n.options.cdn),v.preventDefault(),v.stopPropagation())}),r.element.appendChild(a),k(n,a,o,i.level),r}return yi(t,e),t}(Se),wi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ei=function(e){function t(n,i){var r=e.call(this,n,i)||this,o=r.element.children[0],a=document.createElement("div");a.className="vditor-hint"+(i.level===2?"":" vditor-panel--arrow");var d="";return Object.keys(n.options.preview.theme.list).forEach(function(v){d+='<button data-type="'+v+'">'+n.options.preview.theme.list[v]+"</button>"}),a.innerHTML='<div style="overflow: auto;max-height:'+window.innerHeight/2+'px">'+d+"</div>",a.addEventListener((0,s.Le)(),function(v){v.target.tagName==="BUTTON"&&(E(n,["subToolbar"]),n.options.preview.theme.current=v.target.getAttribute("data-type"),(0,He.Z)(n.options.preview.theme.current,n.options.preview.theme.path),v.preventDefault(),v.stopPropagation())}),r.element.appendChild(a),k(n,a,o,i.level),r}return wi(t,e),t}(Se),ki=function(){function e(t){this.element=document.createElement("span"),this.element.className="vditor-counter vditor-tooltipped vditor-tooltipped__nw",this.render(t,"")}return e.prototype.render=function(t,n){var i=n.endsWith(`
|
|
116
|
-
`)?n.length-1:n.length;if(t.options.counter.type==="text"&&t[t.currentMode]){var r=t[t.currentMode].element.cloneNode(!0);r.querySelectorAll(".vditor-wysiwyg__preview").forEach(function(o){o.remove()}),i=r.textContent.length}typeof t.options.counter.max=="number"?(i>t.options.counter.max?this.element.className="vditor-counter vditor-counter--error":this.element.className="vditor-counter",this.element.innerHTML=i+"/"+t.options.counter.max):this.element.innerHTML=""+i,this.element.setAttribute("aria-label",t.options.counter.type),t.options.counter.after&&t.options.counter.after(i,{enable:t.options.counter.enable,max:t.options.counter.max,type:t.options.counter.type})},e}(),Si=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),_i=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.element.children[0].innerHTML=i.icon,r.element.children[0].addEventListener((0,s.Le)(),function(o){o.preventDefault(),o.currentTarget.classList.contains(b.g.CLASS_MENU_DISABLED)||i.click(o,n)}),r}return Si(t,e),t}(Se),Li=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Mi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.element.firstElementChild.addEventListener((0,s.Le)(),function(o){var a=r.element.firstElementChild;a.classList.contains(b.g.CLASS_MENU_DISABLED)||(o.preventDefault(),a.classList.contains("vditor-menu--current")?(a.classList.remove("vditor-menu--current"),n.devtools.element.style.display="none",me(n)):(a.classList.add("vditor-menu--current"),n.devtools.element.style.display="block",me(n),n.devtools.renderEchart(n)))}),r}return Li(t,e),t}(Se),Ci=function(){this.element=document.createElement("div"),this.element.className="vditor-toolbar__divider"},Ti=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ai=function(e){function t(n,i){var r=e.call(this,n,i)||this,o=document.createElement("div");o.className="vditor-panel vditor-panel--arrow";var a="";return Object.keys(n.options.hint.emoji).forEach(function(d){var v=n.options.hint.emoji[d];v.indexOf(".")>-1?a+='<button data-value=":'+d+': " data-key=":'+d+`:"><img
|
|
117
|
-
data-value=":`+d+': " data-key=":'+d+':" class="vditor-emojis__icon" src="'+v+'"/></button>':a+='<button data-value="'+v+` "
|
|
118
|
-
data-key="`+d+'"><span class="vditor-emojis__icon">'+v+"</span></button>"}),o.innerHTML='<div class="vditor-emojis" style="max-height: '+(n.options.height==="auto"?"auto":n.options.height-80)+'px">'+a+`</div><div class="vditor-emojis__tail">
|
|
119
|
-
<span class="vditor-emojis__tip"></span><span>`+(n.options.hint.emojiTail||"")+`</span>
|
|
120
|
-
</div>`,r.element.appendChild(o),k(n,o,r.element.firstElementChild,i.level),r.bindEvent(n),r}return Ti(t,e),t.prototype.bindEvent=function(n){var i=this;this.element.lastElementChild.addEventListener((0,s.Le)(),function(r){var o=(0,N.S)(r.target,"BUTTON");if(o){r.preventDefault();var a=o.getAttribute("data-value"),d=(0,A.zh)(n),v=a;if(n.currentMode==="wysiwyg"?v=n.lute.SpinVditorDOM(a):n.currentMode==="ir"&&(v=n.lute.SpinVditorIRDOM(a)),a.indexOf(":")>-1&&n.currentMode!=="sv"){var g=document.createElement("div");g.innerHTML=v,v=g.firstElementChild.firstElementChild.outerHTML+" ",(0,A.oC)(v,n)}else d.extractContents(),d.insertNode(document.createTextNode(a));d.collapse(!1),(0,A.Hc)(d),i.element.lastElementChild.style.display="none",se(n)}}),this.element.lastElementChild.addEventListener("mouseover",function(r){var o=(0,N.S)(r.target,"BUTTON");o&&(i.element.querySelector(".vditor-emojis__tip").innerHTML=o.getAttribute("data-key"))})},t}(Se),Dn=function(e,t,n){var i=document.createElement("a");"download"in i?(i.download=n,i.style.display="none",i.href=URL.createObjectURL(new Blob([t])),document.body.appendChild(i),i.click(),i.remove()):e.tip.show(window.VditorI18n.downloadTip,0)},xi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ni=function(e){function t(n,i){var r=e.call(this,n,i)||this,o=r.element.children[0],a=document.createElement("div");return a.className="vditor-hint"+(i.level===2?"":" vditor-panel--arrow"),a.innerHTML=`<button data-type="markdown">Markdown</button>
|
|
121
|
-
<button data-type="pdf">PDF</button>
|
|
122
|
-
<button data-type="html">HTML</button>`,a.addEventListener((0,s.Le)(),function(d){var v=d.target;if(v.tagName==="BUTTON"){switch(v.getAttribute("data-type")){case"markdown":(function(g){var h=m(g);Dn(g,h,h.substr(0,10)+".md")})(n);break;case"pdf":(function(g){g.tip.show(window.VditorI18n.generate,3800);var h=document.querySelector("#vditorExportIframe");h.contentDocument.open(),h.contentDocument.write('<link rel="stylesheet" href="'+g.options.cdn+`/dist/index.css"/>
|
|
123
|
-
<script src="`+g.options.cdn+`/dist/method.min.js"><\/script>
|
|
124
|
-
<div id="preview" style="width: 800px"></div>
|
|
125
|
-
<script>
|
|
126
|
-
window.addEventListener("message", (e) => {
|
|
127
|
-
if(!e.data) {
|
|
128
|
-
return;
|
|
1
|
+
(function(ce,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],f):(ce=typeof globalThis<"u"?globalThis:ce||self,f(ce.SuSComment={},ce.vue))})(this,function(ce,f){"use strict";var N1=Object.defineProperty;var B1=(ce,f,G)=>f in ce?N1(ce,f,{enumerable:!0,configurable:!0,writable:!0,value:G}):ce[f]=G;var Ke=(ce,f,G)=>(B1(ce,typeof f!="symbol"?f+"":f,G),G);function G(o){this.content=o}G.prototype={constructor:G,find:function(o){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===o)return e;return-1},get:function(o){var e=this.find(o);return e==-1?void 0:this.content[e+1]},update:function(o,e,t){var n=t&&t!=o?this.remove(t):this,a=n.find(o),s=n.content.slice();return a==-1?s.push(t||o,e):(s[a+1]=e,t&&(s[a]=t)),new G(s)},remove:function(o){var e=this.find(o);if(e==-1)return this;var t=this.content.slice();return t.splice(e,2),new G(t)},addToStart:function(o,e){return new G([o,e].concat(this.remove(o).content))},addToEnd:function(o,e){var t=this.remove(o).content.slice();return t.push(o,e),new G(t)},addBefore:function(o,e,t){var n=this.remove(e),a=n.content.slice(),s=n.find(o);return a.splice(s==-1?a.length:s,0,e,t),new G(a)},forEach:function(o){for(var e=0;e<this.content.length;e+=2)o(this.content[e],this.content[e+1])},prepend:function(o){return o=G.from(o),o.size?new G(o.content.concat(this.subtract(o).content)):this},append:function(o){return o=G.from(o),o.size?new G(this.subtract(o).content.concat(o.content)):this},subtract:function(o){var e=this;o=G.from(o);for(var t=0;t<o.content.length;t+=2)e=e.remove(o.content[t]);return e},toObject:function(){var o={};return this.forEach(function(e,t){o[e]=t}),o},get size(){return this.content.length>>1}},G.from=function(o){if(o instanceof G)return o;var e=[];if(o)for(var t in o)e.push(t,o[t]);return new G(e)};function rr(o,e,t){for(let n=0;;n++){if(n==o.childCount||n==e.childCount)return o.childCount==e.childCount?null:t;let a=o.child(n),s=e.child(n);if(a==s){t+=a.nodeSize;continue}if(!a.sameMarkup(s))return t;if(a.isText&&a.text!=s.text){for(let i=0;a.text[i]==s.text[i];i++)t++;return t}if(a.content.size||s.content.size){let i=rr(a.content,s.content,t+1);if(i!=null)return i}t+=a.nodeSize}}function lr(o,e,t,n){for(let a=o.childCount,s=e.childCount;;){if(a==0||s==0)return a==s?null:{a:t,b:n};let i=o.child(--a),r=e.child(--s),l=i.nodeSize;if(i==r){t-=l,n-=l;continue}if(!i.sameMarkup(r))return{a:t,b:n};if(i.isText&&i.text!=r.text){let p=0,c=Math.min(i.text.length,r.text.length);for(;p<c&&i.text[i.text.length-p-1]==r.text[r.text.length-p-1];)p++,t--,n--;return{a:t,b:n}}if(i.content.size||r.content.size){let p=lr(i.content,r.content,t-1,n-1);if(p)return p}t-=l,n-=l}}class w{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let n=0;n<e.length;n++)this.size+=e[n].nodeSize}nodesBetween(e,t,n,a=0,s){for(let i=0,r=0;r<t;i++){let l=this.content[i],p=r+l.nodeSize;if(p>e&&n(l,a+r,s||null,i)!==!1&&l.content.size){let c=r+1;l.nodesBetween(Math.max(0,e-c),Math.min(l.content.size,t-c),n,a+c)}r=p}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,a){let s="",i=!0;return this.nodesBetween(e,t,(r,l)=>{let p=r.isText?r.text.slice(Math.max(e,l)-l,t-l):r.isLeaf?a?typeof a=="function"?a(r):a:r.type.spec.leafText?r.type.spec.leafText(r):"":"";r.isBlock&&(r.isLeaf&&p||r.isTextblock)&&n&&(i?i=!1:s+=n),s+=p},0),s}append(e){if(!e.size)return this;if(!this.size)return e;let t=this.lastChild,n=e.firstChild,a=this.content.slice(),s=0;for(t.isText&&t.sameMarkup(n)&&(a[a.length-1]=t.withText(t.text+n.text),s=1);s<e.content.length;s++)a.push(e.content[s]);return new w(a,this.size+e.size)}cut(e,t=this.size){if(e==0&&t==this.size)return this;let n=[],a=0;if(t>e)for(let s=0,i=0;i<t;s++){let r=this.content[s],l=i+r.nodeSize;l>e&&((i<e||l>t)&&(r.isText?r=r.cut(Math.max(0,e-i),Math.min(r.text.length,t-i)):r=r.cut(Math.max(0,e-i-1),Math.min(r.content.size,t-i-1))),n.push(r),a+=r.nodeSize),i=l}return new w(n,a)}cutByIndex(e,t){return e==t?w.empty:e==0&&t==this.content.length?this:new w(this.content.slice(e,t))}replaceChild(e,t){let n=this.content[e];if(n==t)return this;let a=this.content.slice(),s=this.size+t.nodeSize-n.nodeSize;return a[e]=t,new w(a,s)}addToStart(e){return new w([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new w(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))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 t=this.content[e];if(!t)throw new RangeError("Index "+e+" out of range for "+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let a=this.content[t];e(a,n,t),n+=a.nodeSize}}findDiffStart(e,t=0){return rr(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return lr(this,e,t,n)}findIndex(e,t=-1){if(e==0)return Cn(0,e);if(e==this.size)return Cn(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let n=0,a=0;;n++){let s=this.child(n),i=a+s.nodeSize;if(i>=e)return i==e||t>0?Cn(n+1,i):Cn(n,a);a=i}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,t){if(!t)return w.empty;if(!Array.isArray(t))throw new RangeError("Invalid input for Fragment.fromJSON");return new w(t.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return w.empty;let t,n=0;for(let a=0;a<e.length;a++){let s=e[a];n+=s.nodeSize,a&&s.isText&&e[a-1].sameMarkup(s)?(t||(t=e.slice(0,a)),t[t.length-1]=s.withText(t[t.length-1].text+s.text)):t&&t.push(s)}return new w(t||e,n)}static from(e){if(!e)return w.empty;if(e instanceof w)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new w([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}w.empty=new w([],0);const gs={index:0,offset:0};function Cn(o,e){return gs.index=o,gs.offset=e,gs}function En(o,e){if(o===e)return!0;if(!(o&&typeof o=="object")||!(e&&typeof e=="object"))return!1;let t=Array.isArray(o);if(Array.isArray(e)!=t)return!1;if(t){if(o.length!=e.length)return!1;for(let n=0;n<o.length;n++)if(!En(o[n],e[n]))return!1}else{for(let n in o)if(!(n in e)||!En(o[n],e[n]))return!1;for(let n in e)if(!(n in o))return!1}return!0}let K=class sr{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let a=0;a<e.length;a++){let s=e[a];if(this.eq(s))return e;if(this.type.excludes(s.type))t||(t=e.slice(0,a));else{if(s.type.excludes(this.type))return e;!n&&s.type.rank>this.type.rank&&(t||(t=e.slice(0,a)),t.push(this),n=!0),t&&t.push(s)}}return t||(t=e.slice()),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&En(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw new RangeError("Invalid input for Mark.fromJSON");let n=e.marks[t.type];if(!n)throw new RangeError(`There is no mark type ${t.type} in this schema`);let a=n.create(t.attrs);return n.checkAttrs(a.attrs),a}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return sr.none;if(e instanceof sr)return[e];let t=e.slice();return t.sort((n,a)=>n.type.rank-a.type.rank),t}};K.none=[];class xn extends Error{}class E{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,t){let n=cr(this.content,e+this.openStart,t);return n&&new E(n,this.openStart,this.openEnd)}removeBetween(e,t){return new E(pr(this.content,e+this.openStart,t+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,t){if(!t)return E.empty;let n=t.openStart||0,a=t.openEnd||0;if(typeof n!="number"||typeof a!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new E(w.fromJSON(e,t.content),n,a)}static maxOpen(e,t=!0){let n=0,a=0;for(let s=e.firstChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.firstChild)n++;for(let s=e.lastChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.lastChild)a++;return new E(e,n,a)}}E.empty=new E(w.empty,0,0);function pr(o,e,t){let{index:n,offset:a}=o.findIndex(e),s=o.maybeChild(n),{index:i,offset:r}=o.findIndex(t);if(a==e||s.isText){if(r!=t&&!o.child(i).isText)throw new RangeError("Removing non-flat range");return o.cut(0,e).append(o.cut(t))}if(n!=i)throw new RangeError("Removing non-flat range");return o.replaceChild(n,s.copy(pr(s.content,e-a-1,t-a-1)))}function cr(o,e,t,n){let{index:a,offset:s}=o.findIndex(e),i=o.maybeChild(a);if(s==e||i.isText)return o.cut(0,e).append(t).append(o.cut(e));let r=cr(i.content,e-s-1,t);return r&&o.replaceChild(a,i.copy(r))}function um(o,e,t){if(t.openStart>o.depth)throw new xn("Inserted content deeper than insertion position");if(o.depth-t.openStart!=e.depth-t.openEnd)throw new xn("Inconsistent open depths");return mr(o,e,t,0)}function mr(o,e,t,n){let a=o.index(n),s=o.node(n);if(a==e.index(n)&&n<o.depth-t.openStart){let i=mr(o,e,t,n+1);return s.copy(s.content.replaceChild(a,i))}else if(t.content.size)if(!t.openStart&&!t.openEnd&&o.depth==n&&e.depth==n){let i=o.parent,r=i.content;return Lt(i,r.cut(0,o.parentOffset).append(t.content).append(r.cut(e.parentOffset)))}else{let{start:i,end:r}=gm(t,o);return Lt(s,ur(o,i,r,e,n))}else return Lt(s,Fn(o,e,n))}function dr(o,e){if(!e.type.compatibleContent(o.type))throw new xn("Cannot join "+e.type.name+" onto "+o.type.name)}function fs(o,e,t){let n=o.node(t);return dr(n,e.node(t)),n}function Pt(o,e){let t=e.length-1;t>=0&&o.isText&&o.sameMarkup(e[t])?e[t]=o.withText(e[t].text+o.text):e.push(o)}function Po(o,e,t,n){let a=(e||o).node(t),s=0,i=e?e.index(t):a.childCount;o&&(s=o.index(t),o.depth>t?s++:o.textOffset&&(Pt(o.nodeAfter,n),s++));for(let r=s;r<i;r++)Pt(a.child(r),n);e&&e.depth==t&&e.textOffset&&Pt(e.nodeBefore,n)}function Lt(o,e){return o.type.checkContent(e),o.copy(e)}function ur(o,e,t,n,a){let s=o.depth>a&&fs(o,e,a+1),i=n.depth>a&&fs(t,n,a+1),r=[];return Po(null,o,a,r),s&&i&&e.index(a)==t.index(a)?(dr(s,i),Pt(Lt(s,ur(o,e,t,n,a+1)),r)):(s&&Pt(Lt(s,Fn(o,e,a+1)),r),Po(e,t,a,r),i&&Pt(Lt(i,Fn(t,n,a+1)),r)),Po(n,null,a,r),new w(r)}function Fn(o,e,t){let n=[];if(Po(null,o,t,n),o.depth>t){let a=fs(o,e,t+1);Pt(Lt(a,Fn(o,e,t+1)),n)}return Po(e,null,t,n),new w(n)}function gm(o,e){let t=e.depth-o.openStart,a=e.node(t).copy(o.content);for(let s=t-1;s>=0;s--)a=e.node(s).copy(w.from(a));return{start:a.resolveNoCache(o.openStart+t),end:a.resolveNoCache(a.content.size-o.openEnd-t)}}class Lo{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.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,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],a=e.child(t);return n?e.child(t).cut(n):a}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],a=t==0?0:this.path[t*3-1]+1;for(let s=0;s<e;s++)a+=n.child(s).nodeSize;return a}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return K.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),a=e.maybeChild(t);if(!n){let r=n;n=a,a=r}let s=n.marks;for(var i=0;i<s.length;i++)s[i].type.spec.inclusive===!1&&(!a||!s[i].isInSet(a.marks))&&(s=s[i--].removeFromSet(s));return s}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,a=e.parent.maybeChild(e.index());for(var s=0;s<n.length;s++)n[s].type.spec.inclusive===!1&&(!a||!n[s].isInSet(a.marks))&&(n=n[s--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Sn(this,e,n);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 t=1;t<=this.depth;t++)e+=(e?"/":"")+this.node(t).type.name+"_"+this.index(t-1);return e+":"+this.parentOffset}static resolve(e,t){if(!(t>=0&&t<=e.content.size))throw new RangeError("Position "+t+" out of range");let n=[],a=0,s=t;for(let i=e;;){let{index:r,offset:l}=i.content.findIndex(s),p=s-l;if(n.push(i,r,a+l),!p||(i=i.child(r),i.isText))break;s=p-1,a+=l+1}return new Lo(t,n,s)}static resolveCached(e,t){let n=gr.get(e);if(n)for(let s=0;s<n.elts.length;s++){let i=n.elts[s];if(i.pos==t)return i}else gr.set(e,n=new fm);let a=n.elts[n.i]=Lo.resolve(e,t);return n.i=(n.i+1)%hm,a}}class fm{constructor(){this.elts=[],this.i=0}}const hm=12,gr=new WeakMap;class Sn{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}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 bm=Object.create(null);let zt=class ir{constructor(e,t,n,a=K.none){this.type=e,this.attrs=t,this.marks=a,this.content=n||w.empty}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,t,n,a=0){this.content.nodesBetween(e,t,n,a,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,t,n,a){return this.content.textBetween(e,t,n,a)}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,t,n){return this.type==e&&En(this.attrs,t||e.defaultAttrs||bm)&&K.sameSet(this.marks,n||K.none)}copy(e=null){return e==this.content?this:new ir(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new ir(this.type,this.attrs,this.content,e)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return E.empty;let a=this.resolve(e),s=this.resolve(t),i=n?0:a.sharedDepth(t),r=a.start(i),p=a.node(i).content.cut(a.pos-r,s.pos-r);return new E(p,a.depth-i,s.depth-i)}replace(e,t,n){return um(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:a}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(a==e||t.isText)return t;e-=a+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let a=this.content.child(t-1);return{node:a,index:t-1,offset:n-a.nodeSize}}resolve(e){return Lo.resolveCached(this,e)}resolveNoCache(e){return Lo.resolve(this,e)}rangeHasMark(e,t,n){let a=!1;return t>e&&this.nodesBetween(e,t,s=>(n.isInSet(s.marks)&&(a=!0),!a)),a}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()+")"),fr(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw new Error("Called contentMatchAt on a node with invalid content");return t}canReplace(e,t,n=w.empty,a=0,s=n.childCount){let i=this.contentMatchAt(e).matchFragment(n,a,s),r=i&&i.matchFragment(this.content,t);if(!r||!r.validEnd)return!1;for(let l=a;l<s;l++)if(!this.type.allowsMarks(n.child(l).marks))return!1;return!0}canReplaceWith(e,t,n,a){if(a&&!this.type.allowsMarks(a))return!1;let s=this.contentMatchAt(e).matchType(n),i=s&&s.matchFragment(this.content,t);return i?i.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=K.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!K.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(t=>t.type.name)}`);this.content.forEach(t=>t.check())}toJSON(){let e={type:this.type.name};for(let t 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(t=>t.toJSON())),e}static fromJSON(e,t){if(!t)throw new RangeError("Invalid input for Node.fromJSON");let n;if(t.marks){if(!Array.isArray(t.marks))throw new RangeError("Invalid mark data for Node.fromJSON");n=t.marks.map(e.markFromJSON)}if(t.type=="text"){if(typeof t.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(t.text,n)}let a=w.fromJSON(e,t.content),s=e.nodeType(t.type).create(t.attrs,a,n);return s.type.checkAttrs(s.attrs),s}};zt.prototype.text=void 0;class Mn extends zt{constructor(e,t,n,a){if(super(e,t,null,a),!n)throw new RangeError("Empty text nodes are not allowed");this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):fr(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new Mn(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new Mn(this.type,this.attrs,e,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function fr(o,e){for(let t=o.length-1;t>=0;t--)e=o[t].type.name+"("+e+")";return e}class Ht{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,t){let n=new jm(e,t);if(n.next==null)return Ht.empty;let a=hr(n);n.next&&n.err("Unexpected trailing text");let s=Im(wm(a));return Cm(s,n),s}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let a=this;for(let s=t;a&&s<n;s++)a=a.matchType(e.child(s).type);return a}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:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let a=[this];function s(i,r){let l=i.matchFragment(e,n);if(l&&(!t||l.validEnd))return w.from(r.map(p=>p.createAndFill()));for(let p=0;p<i.next.length;p++){let{type:c,next:m}=i.next[p];if(!(c.isText||c.hasRequiredAttrs())&&a.indexOf(m)==-1){a.push(m);let d=s(m,r.concat(c));if(d)return d}}return null}return s(this,[])}findWrapping(e){for(let n=0;n<this.wrapCache.length;n+=2)if(this.wrapCache[n]==e)return this.wrapCache[n+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let a=n.shift(),s=a.match;if(s.matchType(e)){let i=[];for(let r=a;r.type;r=r.via)i.push(r.type);return i.reverse()}for(let i=0;i<s.next.length;i++){let{type:r,next:l}=s.next[i];!r.isLeaf&&!r.hasRequiredAttrs()&&!(r.name in t)&&(!a.type||l.validEnd)&&(n.push({match:r.contentMatch,type:r,via:a}),t[r.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 t(n){e.push(n);for(let a=0;a<n.next.length;a++)e.indexOf(n.next[a].next)==-1&&t(n.next[a].next)}return t(this),e.map((n,a)=>{let s=a+(n.validEnd?"*":" ")+" ";for(let i=0;i<n.next.length;i++)s+=(i?", ":"")+n.next[i].type.name+"->"+e.indexOf(n.next[i].next);return s}).join(`
|
|
2
|
+
`)}}Ht.empty=new Ht(!0);class jm{constructor(e,t){this.string=e,this.nodeTypes=t,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 hr(o){let e=[];do e.push(vm(o));while(o.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function vm(o){let e=[];do e.push(km(o));while(o.next&&o.next!=")"&&o.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function km(o){let e=Dm(o);for(;;)if(o.eat("+"))e={type:"plus",expr:e};else if(o.eat("*"))e={type:"star",expr:e};else if(o.eat("?"))e={type:"opt",expr:e};else if(o.eat("{"))e=ym(o,e);else break;return e}function br(o){/\D/.test(o.next)&&o.err("Expected number, got '"+o.next+"'");let e=Number(o.next);return o.pos++,e}function ym(o,e){let t=br(o),n=t;return o.eat(",")&&(o.next!="}"?n=br(o):n=-1),o.eat("}")||o.err("Unclosed braced range"),{type:"range",min:t,max:n,expr:e}}function _m(o,e){let t=o.nodeTypes,n=t[e];if(n)return[n];let a=[];for(let s in t){let i=t[s];i.groups.indexOf(e)>-1&&a.push(i)}return a.length==0&&o.err("No node type or group '"+e+"' found"),a}function Dm(o){if(o.eat("(")){let e=hr(o);return o.eat(")")||o.err("Missing closing paren"),e}else if(/\W/.test(o.next))o.err("Unexpected token '"+o.next+"'");else{let e=_m(o,o.next).map(t=>(o.inline==null?o.inline=t.isInline:o.inline!=t.isInline&&o.err("Mixing inline and block content"),{type:"name",value:t}));return o.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function wm(o){let e=[[]];return a(s(o,0),t()),e;function t(){return e.push([])-1}function n(i,r,l){let p={term:l,to:r};return e[i].push(p),p}function a(i,r){i.forEach(l=>l.to=r)}function s(i,r){if(i.type=="choice")return i.exprs.reduce((l,p)=>l.concat(s(p,r)),[]);if(i.type=="seq")for(let l=0;;l++){let p=s(i.exprs[l],r);if(l==i.exprs.length-1)return p;a(p,r=t())}else if(i.type=="star"){let l=t();return n(r,l),a(s(i.expr,l),l),[n(l)]}else if(i.type=="plus"){let l=t();return a(s(i.expr,r),l),a(s(i.expr,l),l),[n(l)]}else{if(i.type=="opt")return[n(r)].concat(s(i.expr,r));if(i.type=="range"){let l=r;for(let p=0;p<i.min;p++){let c=t();a(s(i.expr,l),c),l=c}if(i.max==-1)a(s(i.expr,l),l);else for(let p=i.min;p<i.max;p++){let c=t();n(l,c),a(s(i.expr,l),c),l=c}return[n(l)]}else{if(i.type=="name")return[n(r,void 0,i.value)];throw new Error("Unknown expr type")}}}}function jr(o,e){return e-o}function vr(o,e){let t=[];return n(e),t.sort(jr);function n(a){let s=o[a];if(s.length==1&&!s[0].term)return n(s[0].to);t.push(a);for(let i=0;i<s.length;i++){let{term:r,to:l}=s[i];!r&&t.indexOf(l)==-1&&n(l)}}}function Im(o){let e=Object.create(null);return t(vr(o,0));function t(n){let a=[];n.forEach(i=>{o[i].forEach(({term:r,to:l})=>{if(!r)return;let p;for(let c=0;c<a.length;c++)a[c][0]==r&&(p=a[c][1]);vr(o,l).forEach(c=>{p||a.push([r,p=[]]),p.indexOf(c)==-1&&p.push(c)})})});let s=e[n.join(",")]=new Ht(n.indexOf(o.length-1)>-1);for(let i=0;i<a.length;i++){let r=a[i][1].sort(jr);s.next.push({type:a[i][0],next:e[r.join(",")]||t(r)})}return s}}function Cm(o,e){for(let t=0,n=[o];t<n.length;t++){let a=n[t],s=!a.validEnd,i=[];for(let r=0;r<a.next.length;r++){let{type:l,next:p}=a.next[r];i.push(l.name),s&&!(l.isText||l.hasRequiredAttrs())&&(s=!1),n.indexOf(p)==-1&&n.push(p)}s&&e.err("Only non-generatable nodes ("+i.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function kr(o){let e=Object.create(null);for(let t in o){let n=o[t];if(!n.hasDefault)return null;e[t]=n.default}return e}function yr(o,e){let t=Object.create(null);for(let n in o){let a=e&&e[n];if(a===void 0){let s=o[n];if(s.hasDefault)a=s.default;else throw new RangeError("No value supplied for attribute "+n)}t[n]=a}return t}function _r(o,e,t,n){for(let a in e)if(!(a in o))throw new RangeError(`Unsupported attribute ${a} for ${t} of type ${a}`);for(let a in o){let s=o[a];s.validate&&s.validate(e[a])}}function Dr(o,e){let t=Object.create(null);if(e)for(let n in e)t[n]=new xm(o,n,e[n]);return t}let wr=class dm{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(" "):[],this.attrs=Dr(e,n.attrs),this.defaultAttrs=kr(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e=="text"),this.isText=e=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Ht.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}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:yr(this.attrs,e)}create(e=null,t,n){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new zt(this,this.computeAttrs(e),w.from(t),K.setFrom(n))}createChecked(e=null,t,n){return t=w.from(t),this.checkContent(t),new zt(this,this.computeAttrs(e),t,K.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=w.from(t),t.size){let i=this.contentMatch.fillBefore(t);if(!i)return null;t=i.append(t)}let a=this.contentMatch.matchFragment(t),s=a&&a.fillBefore(w.empty,!0);return s?new zt(this,e,t.append(s),K.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let n=0;n<e.childCount;n++)if(!this.allowsMarks(e.child(n).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){_r(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 t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||(t=e.slice(0,n));return t?t.length?t:K.none:e}static compile(e,t){let n=Object.create(null);e.forEach((s,i)=>n[s]=new dm(s,t,i));let a=t.spec.topNode||"doc";if(!n[a])throw new RangeError("Schema is missing its top node type ('"+a+"')");if(!n.text)throw new RangeError("Every schema needs a 'text' type");for(let s in n.text.attrs)throw new RangeError("The text node type should not have attributes");return n}};function Em(o,e,t){let n=t.split("|");return a=>{let s=a===null?"null":typeof a;if(n.indexOf(s)<0)throw new RangeError(`Expected value of type ${n} for attribute ${e} on type ${o}, got ${s}`)}}class xm{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,"default"),this.default=n.default,this.validate=typeof n.validate=="string"?Em(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}}class An{constructor(e,t,n,a){this.name=e,this.rank=t,this.schema=n,this.spec=a,this.attrs=Dr(e,a.attrs),this.excluded=null;let s=kr(this.attrs);this.instance=s?new K(this,s):null}create(e=null){return!e&&this.instance?this.instance:new K(this,yr(this.attrs,e))}static compile(e,t){let n=Object.create(null),a=0;return e.forEach((s,i)=>n[s]=new An(s,a++,t,i)),n}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){_r(this.attrs,e,"mark",this.name)}excludes(e){return this.excluded.indexOf(e)>-1}}class Ir{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let a in e)t[a]=e[a];t.nodes=G.from(e.nodes),t.marks=G.from(e.marks||{}),this.nodes=wr.compile(this.spec.nodes,this),this.marks=An.compile(this.spec.marks,this);let n=Object.create(null);for(let a in this.nodes){if(a in this.marks)throw new RangeError(a+" can not be both a node and a mark");let s=this.nodes[a],i=s.spec.content||"",r=s.spec.marks;if(s.contentMatch=n[i]||(n[i]=Ht.parse(i,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=r=="_"?null:r?Cr(this,r.split(" ")):r==""||!s.inlineContent?[]:null}for(let a in this.marks){let s=this.marks[a],i=s.spec.excludes;s.excluded=i==null?[s]:i==""?[]:Cr(this,i.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,t=null,n,a){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof wr){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(t,n,a)}text(e,t){let n=this.nodes.text;return new Mn(n,n.defaultAttrs,e,K.setFrom(t))}mark(e,t){return typeof e=="string"&&(e=this.marks[e]),e.create(t)}nodeFromJSON(e){return zt.fromJSON(this,e)}markFromJSON(e){return K.fromJSON(this,e)}nodeType(e){let t=this.nodes[e];if(!t)throw new RangeError("Unknown node type: "+e);return t}}function Cr(o,e){let t=[];for(let n=0;n<e.length;n++){let a=e[n],s=o.marks[a],i=s;if(s)t.push(s);else for(let r in o.marks){let l=o.marks[r];(a=="_"||l.spec.group&&l.spec.group.split(" ").indexOf(a)>-1)&&t.push(i=l)}if(!i)throw new SyntaxError("Unknown mark type: '"+e[n]+"'")}return t}function Fm(o){return o.tag!=null}function Sm(o){return o.style!=null}class ht{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(a=>{if(Fm(a))this.tags.push(a);else if(Sm(a)){let s=/[^=]*/.exec(a.style)[0];n.indexOf(s)<0&&n.push(s),this.styles.push(a)}}),this.normalizeLists=!this.tags.some(a=>{if(!/^(ul|ol)\b/.test(a.tag)||!a.node)return!1;let s=e.nodes[a.node];return s.contentMatch.matchType(s)})}parse(e,t={}){let n=new Sr(this,t,!1);return n.addAll(e,K.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new Sr(this,t,!0);return n.addAll(e,K.none,t.from,t.to),E.maxOpen(n.finish())}matchTag(e,t,n){for(let a=n?this.tags.indexOf(n)+1:0;a<this.tags.length;a++){let s=this.tags[a];if(Tm(e,s.tag)&&(s.namespace===void 0||e.namespaceURI==s.namespace)&&(!s.context||t.matchesContext(s.context))){if(s.getAttrs){let i=s.getAttrs(e);if(i===!1)continue;s.attrs=i||void 0}return s}}}matchStyle(e,t,n,a){for(let s=a?this.styles.indexOf(a)+1:0;s<this.styles.length;s++){let i=this.styles[s],r=i.style;if(!(r.indexOf(e)!=0||i.context&&!n.matchesContext(i.context)||r.length>e.length&&(r.charCodeAt(e.length)!=61||r.slice(e.length+1)!=t))){if(i.getAttrs){let l=i.getAttrs(t);if(l===!1)continue;i.attrs=l||void 0}return i}}}static schemaRules(e){let t=[];function n(a){let s=a.priority==null?50:a.priority,i=0;for(;i<t.length;i++){let r=t[i];if((r.priority==null?50:r.priority)<s)break}t.splice(i,0,a)}for(let a in e.marks){let s=e.marks[a].spec.parseDOM;s&&s.forEach(i=>{n(i=Mr(i)),i.mark||i.ignore||i.clearMark||(i.mark=a)})}for(let a in e.nodes){let s=e.nodes[a].spec.parseDOM;s&&s.forEach(i=>{n(i=Mr(i)),i.node||i.ignore||i.mark||(i.node=a)})}return t}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new ht(e,ht.schemaRules(e)))}}const Er={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},Mm={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},xr={ol:!0,ul:!0},Tn=1,On=2,zo=4;function Fr(o,e,t){return e!=null?(e?Tn:0)|(e==="full"?On:0):o&&o.whitespace=="pre"?Tn|On:t&~zo}class Nn{constructor(e,t,n,a,s,i){this.type=e,this.attrs=t,this.marks=n,this.solid=a,this.options=i,this.content=[],this.activeMarks=K.none,this.match=s||(i&zo?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(w.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let n=this.type.contentMatch,a;return(a=n.findWrapping(e.type))?(this.match=n,a):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&Tn)){let n=this.content[this.content.length-1],a;if(n&&n.isText&&(a=/[ \t\r\n\u000c]+$/.exec(n.text))){let s=n;n.text.length==a[0].length?this.content.pop():this.content[this.content.length-1]=s.withText(s.text.slice(0,s.text.length-a[0].length))}}let t=w.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(w.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!Er.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}}class Sr{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0;let a=t.topNode,s,i=Fr(null,t.preserveWhitespace,0)|(n?zo:0);a?s=new Nn(a.type,a.attrs,K.none,!0,t.topMatch||a.type.contentMatch,i):n?s=new Nn(null,null,K.none,!0,null,i):s=new Nn(e.schema.topNodeType,null,K.none,!0,null,i),this.nodes=[s],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,a=this.top;if(a.options&On||a.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(a.options&Tn)a.options&On?n=n.replace(/\r\n?/g,`
|
|
3
|
+
`):n=n.replace(/\r?\n|\r/g," ");else if(n=n.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let s=a.content[a.content.length-1],i=e.previousSibling;(!s||i&&i.nodeName=="BR"||s.isText&&/[ \t\r\n\u000c]$/.test(s.text))&&(n=n.slice(1))}n&&this.insertNode(this.parser.schema.text(n),t),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let a=e.nodeName.toLowerCase(),s;xr.hasOwnProperty(a)&&this.parser.normalizeLists&&Am(e);let i=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(s=this.parser.matchTag(e,this,n));if(i?i.ignore:Mm.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,t);else if(!i||i.skip||i.closeParent){i&&i.closeParent?this.open=Math.max(0,this.open-1):i&&i.skip.nodeType&&(e=i.skip);let r,l=this.top,p=this.needsBlock;if(Er.hasOwnProperty(a))l.content.length&&l.content[0].isInline&&this.open&&(this.open--,l=this.top),r=!0,l.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);return}let c=i&&i.skip?t:this.readStyles(e,t);c&&this.addAll(e,c),r&&this.sync(l),this.needsBlock=p}else{let r=this.readStyles(e,t);r&&this.addElementByRule(e,i,r,i.consuming===!1?s:void 0)}}leafFallback(e,t){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
|
|
4
|
+
`),t)}ignoreFallback(e,t){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),t)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let a=0;a<this.parser.matchedStyles.length;a++){let s=this.parser.matchedStyles[a],i=n.getPropertyValue(s);if(i)for(let r=void 0;;){let l=this.parser.matchStyle(s,i,this,r);if(!l)break;if(l.ignore)return null;if(l.clearMark?t=t.filter(p=>!l.clearMark(p)):t=t.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)r=l;else break}}return t}addElementByRule(e,t,n,a){let s,i;if(t.node)if(i=this.parser.schema.nodes[t.node],i.isLeaf)this.insertNode(i.create(t.attrs),n)||this.leafFallback(e,n);else{let l=this.enter(i,t.attrs||null,n,t.preserveWhitespace);l&&(s=!0,n=l)}else{let l=this.parser.schema.marks[t.mark];n=n.concat(l.create(t.attrs))}let r=this.top;if(i&&i.isLeaf)this.findInside(e);else if(a)this.addElement(e,n,a);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(l=>this.insertNode(l,n));else{let l=e;typeof t.contentElement=="string"?l=e.querySelector(t.contentElement):typeof t.contentElement=="function"?l=t.contentElement(e):t.contentElement&&(l=t.contentElement),this.findAround(e,l,!0),this.addAll(l,n)}s&&this.sync(r)&&this.open--}addAll(e,t,n,a){let s=n||0;for(let i=n?e.childNodes[n]:e.firstChild,r=a==null?null:e.childNodes[a];i!=r;i=i.nextSibling,++s)this.findAtPoint(e,s),this.addDOM(i,t);this.findAtPoint(e,s)}findPlace(e,t){let n,a;for(let s=this.open;s>=0;s--){let i=this.nodes[s],r=i.findWrapping(e);if(r&&(!n||n.length>r.length)&&(n=r,a=i,!r.length)||i.solid)break}if(!n)return null;this.sync(a);for(let s=0;s<n.length;s++)t=this.enterInner(n[s],null,t,!1);return t}insertNode(e,t){if(e.isInline&&this.needsBlock&&!this.top.type){let a=this.textblockFromContext();a&&(t=this.enterInner(a,null,t))}let n=this.findPlace(e,t);if(n){this.closeExtra();let a=this.top;a.match&&(a.match=a.match.matchType(e.type));let s=K.none;for(let i of n.concat(e.marks))(a.type?a.type.allowsMarkType(i.type):Ar(i.type,e.type))&&(s=i.addToSet(s));return a.content.push(e.mark(s)),!0}return!1}enter(e,t,n,a){let s=this.findPlace(e.create(t),n);return s&&(s=this.enterInner(e,t,n,!0,a)),s}enterInner(e,t,n,a=!1,s){this.closeExtra();let i=this.top;i.match=i.match&&i.match.matchType(e);let r=Fr(e,s,i.options);i.options&zo&&i.content.length==0&&(r|=zo);let l=K.none;return n=n.filter(p=>(i.type?i.type.allowsMarkType(p.type):Ar(p.type,e))?(l=p.addToSet(l),!1):!0),this.nodes.push(new Nn(e,t,l,a,null,r)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].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 t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let a=n.length-1;a>=0;a--)e+=n[a].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let a=0;a<this.find.length;a++)this.find[a].pos==null&&e.nodeType==1&&e.contains(this.find[a].node)&&t.compareDocumentPosition(this.find[a].node)&(n?2:4)&&(this.find[a].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split("/"),n=this.options.context,a=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),s=-(n?n.depth+1:0)+(a?0:1),i=(r,l)=>{for(;r>=0;r--){let p=t[r];if(p==""){if(r==t.length-1||r==0)continue;for(;l>=s;l--)if(i(r-1,l))return!0;return!1}else{let c=l>0||l==0&&a?this.nodes[l].type:n&&l>=s?n.node(l-s).type:null;if(!c||c.name!=p&&c.groups.indexOf(p)==-1)return!1;l--}}return!0};return i(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let t in this.parser.schema.nodes){let n=this.parser.schema.nodes[t];if(n.isTextblock&&n.defaultAttrs)return n}}}function Am(o){for(let e=o.firstChild,t=null;e;e=e.nextSibling){let n=e.nodeType==1?e.nodeName.toLowerCase():null;n&&xr.hasOwnProperty(n)&&t?(t.appendChild(e),e=t):n=="li"?t=e:n&&(t=null)}}function Tm(o,e){return(o.matches||o.msMatchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector).call(o,e)}function Mr(o){let e={};for(let t in o)e[t]=o[t];return e}function Ar(o,e){let t=e.schema.nodes;for(let n in t){let a=t[n];if(!a.allowsMarkType(o))continue;let s=[],i=r=>{s.push(r);for(let l=0;l<r.edgeCount;l++){let{type:p,next:c}=r.edge(l);if(p==e||s.indexOf(c)<0&&i(c))return!0}};if(i(a.contentMatch))return!0}}class Vt{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||(n=hs(t).createDocumentFragment());let a=n,s=[];return e.forEach(i=>{if(s.length||i.marks.length){let r=0,l=0;for(;r<s.length&&l<i.marks.length;){let p=i.marks[l];if(!this.marks[p.type.name]){l++;continue}if(!p.eq(s[r][0])||p.type.spec.spanning===!1)break;r++,l++}for(;r<s.length;)a=s.pop()[1];for(;l<i.marks.length;){let p=i.marks[l++],c=this.serializeMark(p,i.isInline,t);c&&(s.push([p,a]),a.appendChild(c.dom),a=c.contentDOM||c.dom)}}a.appendChild(this.serializeNodeInner(i,t))}),n}serializeNodeInner(e,t){let{dom:n,contentDOM:a}=Bn(hs(t),this.nodes[e.type.name](e),null,e.attrs);if(a){if(e.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(e.content,t,a)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let a=e.marks.length-1;a>=0;a--){let s=this.serializeMark(e.marks[a],e.isInline,t);s&&((s.contentDOM||s.dom).appendChild(n),n=s.dom)}return n}serializeMark(e,t,n={}){let a=this.marks[e.type.name];return a&&Bn(hs(n),a(e,t),null,e.attrs)}static renderSpec(e,t,n=null,a){return Bn(e,t,n,a)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new Vt(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let t=Tr(e.nodes);return t.text||(t.text=n=>n.text),t}static marksFromSchema(e){return Tr(e.marks)}}function Tr(o){let e={};for(let t in o){let n=o[t].spec.toDOM;n&&(e[t]=n)}return e}function hs(o){return o.document||window.document}const Or=new WeakMap;function Om(o){let e=Or.get(o);return e===void 0&&Or.set(o,e=Nm(o)),e}function Nm(o){let e=null;function t(n){if(n&&typeof n=="object")if(Array.isArray(n))if(typeof n[0]=="string")e||(e=[]),e.push(n);else for(let a=0;a<n.length;a++)t(n[a]);else for(let a in n)t(n[a])}return t(o),e}function Bn(o,e,t,n){if(typeof e=="string")return{dom:o.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let a=e[0],s;if(typeof a!="string")throw new RangeError("Invalid array passed to renderSpec");if(n&&(s=Om(n))&&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 i=a.indexOf(" ");i>0&&(t=a.slice(0,i),a=a.slice(i+1));let r,l=t?o.createElementNS(t,a):o.createElement(a),p=e[1],c=1;if(p&&typeof p=="object"&&p.nodeType==null&&!Array.isArray(p)){c=2;for(let m in p)if(p[m]!=null){let d=m.indexOf(" ");d>0?l.setAttributeNS(m.slice(0,d),m.slice(d+1),p[m]):l.setAttribute(m,p[m])}}for(let m=c;m<e.length;m++){let d=e[m];if(d===0){if(m<e.length-1||m>c)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else{let{dom:g,contentDOM:u}=Bn(o,d,t,n);if(l.appendChild(g),u){if(r)throw new RangeError("Multiple content holes");r=u}}}return{dom:l,contentDOM:r}}const Nr=65535,Br=Math.pow(2,16);function Bm(o,e){return o+e*Br}function Rr(o){return o&Nr}function Rm(o){return(o-(o&Nr))/Br}const Pr=1,Lr=2,Rn=4,zr=8;class bs{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&zr)>0}get deletedBefore(){return(this.delInfo&(Pr|Rn))>0}get deletedAfter(){return(this.delInfo&(Lr|Rn))>0}get deletedAcross(){return(this.delInfo&Rn)>0}}class xe{constructor(e,t=!1){if(this.ranges=e,this.inverted=t,!e.length&&xe.empty)return xe.empty}recover(e){let t=0,n=Rr(e);if(!this.inverted)for(let a=0;a<n;a++)t+=this.ranges[a*3+2]-this.ranges[a*3+1];return this.ranges[n*3]+t+Rm(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let a=0,s=this.inverted?2:1,i=this.inverted?1:2;for(let r=0;r<this.ranges.length;r+=3){let l=this.ranges[r]-(this.inverted?a:0);if(l>e)break;let p=this.ranges[r+s],c=this.ranges[r+i],m=l+p;if(e<=m){let d=p?e==l?-1:e==m?1:t:t,g=l+a+(d<0?0:c);if(n)return g;let u=e==(t<0?l:m)?null:Bm(r/3,e-l),h=e==l?Lr:e==m?Pr:Rn;return(t<0?e!=l:e!=m)&&(h|=zr),new bs(g,h,u)}a+=c-p}return n?e+a:new bs(e+a,0,null)}touches(e,t){let n=0,a=Rr(t),s=this.inverted?2:1,i=this.inverted?1:2;for(let r=0;r<this.ranges.length;r+=3){let l=this.ranges[r]-(this.inverted?n:0);if(l>e)break;let p=this.ranges[r+s],c=l+p;if(e<=c&&r==a*3)return!0;n+=this.ranges[r+i]-p}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let a=0,s=0;a<this.ranges.length;a+=3){let i=this.ranges[a],r=i-(this.inverted?s:0),l=i+(this.inverted?0:s),p=this.ranges[a+t],c=this.ranges[a+n];e(r,r+p,l,l+c),s+=c-p}}invert(){return new xe(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?xe.empty:new xe(e<0?[0,-e,0]:[0,0,e])}}xe.empty=new xe([]);class io{constructor(e=[],t,n=0,a=e.length){this.maps=e,this.mirror=t,this.from=n,this.to=a}slice(e=0,t=this.maps.length){return new io(this.maps,this.mirror,e,t)}copy(){return new io(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)}appendMap(e,t){this.to=this.maps.push(e),t!=null&&this.setMirror(this.maps.length-1,t)}appendMapping(e){for(let t=0,n=this.maps.length;t<e.maps.length;t++){let a=e.getMirror(t);this.appendMap(e.maps[t],a!=null&&a<t?n+a:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||(this.mirror=[]),this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this.maps.length+e.maps.length;t>=0;t--){let a=e.getMirror(t);this.appendMap(e.maps[t].invert(),a!=null&&a>t?n-a-1:void 0)}}invert(){let e=new io;return e.appendMappingInverted(this),e}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this.maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let a=0;for(let s=this.from;s<this.to;s++){let i=this.maps[s],r=i.mapResult(e,t);if(r.recover!=null){let l=this.getMirror(s);if(l!=null&&l>s&&l<this.to){s=l,e=this.maps[l].recover(r.recover);continue}}a|=r.delInfo,e=r.pos}return n?e:new bs(e,a,null)}}const js=Object.create(null);class ue{getMap(){return xe.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw new RangeError("Invalid input for Step.fromJSON");let n=js[t.stepType];if(!n)throw new RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in js)throw new RangeError("Duplicate use of step JSON ID "+e);return js[e]=t,t.prototype.jsonID=e,t}}class te{constructor(e,t){this.doc=e,this.failed=t}static ok(e){return new te(e,null)}static fail(e){return new te(null,e)}static fromReplace(e,t,n,a){try{return te.ok(e.replace(t,n,a))}catch(s){if(s instanceof xn)return te.fail(s.message);throw s}}}function vs(o,e,t){let n=[];for(let a=0;a<o.childCount;a++){let s=o.child(a);s.content.size&&(s=s.copy(vs(s.content,e,s))),s.isInline&&(s=e(s,t,a)),n.push(s)}return w.fromArray(n)}class bt extends ue{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),a=n.node(n.sharedDepth(this.to)),s=new E(vs(t.content,(i,r)=>!i.isAtom||!r.type.allowsMarkType(this.mark.type)?i:i.mark(this.mark.addToSet(i.marks)),a),t.openStart,t.openEnd);return te.fromReplace(e,this.from,this.to,s)}invert(){return new Ue(this.from,this.to,this.mark)}map(e){let t=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return t.deleted&&n.deleted||t.pos>=n.pos?null:new bt(t.pos,n.pos,this.mark)}merge(e){return e instanceof bt&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new bt(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,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new bt(t.from,t.to,e.markFromJSON(t.mark))}}ue.jsonID("addMark",bt);class Ue extends ue{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new E(vs(t.content,a=>a.mark(this.mark.removeFromSet(a.marks)),e),t.openStart,t.openEnd);return te.fromReplace(e,this.from,this.to,n)}invert(){return new bt(this.from,this.to,this.mark)}map(e){let t=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return t.deleted&&n.deleted||t.pos>=n.pos?null:new Ue(t.pos,n.pos,this.mark)}merge(e){return e instanceof Ue&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Ue(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,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Ue(t.from,t.to,e.markFromJSON(t.mark))}}ue.jsonID("removeMark",Ue);class jt extends ue{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return te.fail("No node at mark step's position");let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return te.fromReplace(e,this.pos,this.pos+1,new E(w.from(n),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);if(t){let n=this.mark.addToSet(t.marks);if(n.length==t.marks.length){for(let a=0;a<t.marks.length;a++)if(!t.marks[a].isInSet(n))return new jt(this.pos,t.marks[a]);return new jt(this.pos,this.mark)}}return new ro(this.pos,this.mark)}map(e){let t=e.mapResult(this.pos,1);return t.deletedAfter?null:new jt(t.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,t){if(typeof t.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new jt(t.pos,e.markFromJSON(t.mark))}}ue.jsonID("addNodeMark",jt);class ro extends ue{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return te.fail("No node at mark step's position");let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return te.fromReplace(e,this.pos,this.pos+1,new E(w.from(n),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new jt(this.pos,this.mark)}map(e){let t=e.mapResult(this.pos,1);return t.deletedAfter?null:new ro(t.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,t){if(typeof t.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new ro(t.pos,e.markFromJSON(t.mark))}}ue.jsonID("removeNodeMark",ro);class se extends ue{constructor(e,t,n,a=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=a}apply(e){return this.structure&&ks(e,this.from,this.to)?te.fail("Structure replace would overwrite content"):te.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new xe([this.from,this.to-this.from,this.slice.size])}invert(e){return new se(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let t=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return t.deletedAcross&&n.deletedAcross?null:new se(t.pos,Math.max(t.pos,n.pos),this.slice)}merge(e){if(!(e instanceof se)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let t=this.slice.size+e.slice.size==0?E.empty:new E(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new se(this.from,this.to+(e.to-e.from),t,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let t=this.slice.size+e.slice.size==0?E.empty:new E(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new se(e.from,this.to,t,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,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new se(t.from,t.to,E.fromJSON(e,t.slice),!!t.structure)}}ue.jsonID("replace",se);class ie extends ue{constructor(e,t,n,a,s,i,r=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=a,this.slice=s,this.insert=i,this.structure=r}apply(e){if(this.structure&&(ks(e,this.from,this.gapFrom)||ks(e,this.gapTo,this.to)))return te.fail("Structure gap-replace would overwrite content");let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return te.fail("Gap is not a flat range");let n=this.slice.insertAt(this.insert,t.content);return n?te.fromReplace(e,this.from,this.to,n):te.fail("Content does not fit in gap")}getMap(){return new xe([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let t=this.gapTo-this.gapFrom;return new ie(this.from,this.from+this.slice.size+t,this.from+this.insert,this.from+this.insert+t,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let t=e.mapResult(this.from,1),n=e.mapResult(this.to,-1),a=this.from==this.gapFrom?t.pos:e.map(this.gapFrom,-1),s=this.to==this.gapTo?n.pos:e.map(this.gapTo,1);return t.deletedAcross&&n.deletedAcross||a<t.pos||s>n.pos?null:new ie(t.pos,n.pos,a,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,t){if(typeof t.from!="number"||typeof t.to!="number"||typeof t.gapFrom!="number"||typeof t.gapTo!="number"||typeof t.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new ie(t.from,t.to,t.gapFrom,t.gapTo,E.fromJSON(e,t.slice),t.insert,!!t.structure)}}ue.jsonID("replaceAround",ie);function ks(o,e,t){let n=o.resolve(e),a=t-e,s=n.depth;for(;a>0&&s>0&&n.indexAfter(s)==n.node(s).childCount;)s--,a--;if(a>0){let i=n.node(s).maybeChild(n.indexAfter(s));for(;a>0;){if(!i||i.isLeaf)return!0;i=i.firstChild,a--}}return!1}function Pm(o,e,t,n){let a=[],s=[],i,r;o.doc.nodesBetween(e,t,(l,p,c)=>{if(!l.isInline)return;let m=l.marks;if(!n.isInSet(m)&&c.type.allowsMarkType(n.type)){let d=Math.max(p,e),g=Math.min(p+l.nodeSize,t),u=n.addToSet(m);for(let h=0;h<m.length;h++)m[h].isInSet(u)||(i&&i.to==d&&i.mark.eq(m[h])?i.to=g:a.push(i=new Ue(d,g,m[h])));r&&r.to==d?r.to=g:s.push(r=new bt(d,g,n))}}),a.forEach(l=>o.step(l)),s.forEach(l=>o.step(l))}function Lm(o,e,t,n){let a=[],s=0;o.doc.nodesBetween(e,t,(i,r)=>{if(!i.isInline)return;s++;let l=null;if(n instanceof An){let p=i.marks,c;for(;c=n.isInSet(p);)(l||(l=[])).push(c),p=c.removeFromSet(p)}else n?n.isInSet(i.marks)&&(l=[n]):l=i.marks;if(l&&l.length){let p=Math.min(r+i.nodeSize,t);for(let c=0;c<l.length;c++){let m=l[c],d;for(let g=0;g<a.length;g++){let u=a[g];u.step==s-1&&m.eq(a[g].style)&&(d=u)}d?(d.to=p,d.step=s):a.push({style:m,from:Math.max(r,e),to:p,step:s})}}}),a.forEach(i=>o.step(new Ue(i.from,i.to,i.style)))}function Hr(o,e,t,n=t.contentMatch,a=!0){let s=o.doc.nodeAt(e),i=[],r=e+1;for(let l=0;l<s.childCount;l++){let p=s.child(l),c=r+p.nodeSize,m=n.matchType(p.type);if(!m)i.push(new se(r,c,E.empty));else{n=m;for(let d=0;d<p.marks.length;d++)t.allowsMarkType(p.marks[d].type)||o.step(new Ue(r,c,p.marks[d]));if(a&&p.isText&&t.whitespace!="pre"){let d,g=/\r?\n|\r/g,u;for(;d=g.exec(p.text);)u||(u=new E(w.from(t.schema.text(" ",t.allowedMarks(p.marks))),0,0)),i.push(new se(r+d.index,r+d.index+d[0].length,u))}}r=c}if(!n.validEnd){let l=n.fillBefore(w.empty,!0);o.replace(r,r,new E(l,0,0))}for(let l=i.length-1;l>=0;l--)o.step(i[l])}function zm(o,e,t){return(e==0||o.canReplace(e,o.childCount))&&(t==o.childCount||o.canReplace(0,t))}function lo(o){let t=o.parent.content.cutByIndex(o.startIndex,o.endIndex);for(let n=o.depth;;--n){let a=o.$from.node(n),s=o.$from.index(n),i=o.$to.indexAfter(n);if(n<o.depth&&a.canReplace(s,i,t))return n;if(n==0||a.type.spec.isolating||!zm(a,s,i))break}return null}function Hm(o,e,t){let{$from:n,$to:a,depth:s}=e,i=n.before(s+1),r=a.after(s+1),l=i,p=r,c=w.empty,m=0;for(let u=s,h=!1;u>t;u--)h||n.index(u)>0?(h=!0,c=w.from(n.node(u).copy(c)),m++):l--;let d=w.empty,g=0;for(let u=s,h=!1;u>t;u--)h||a.after(u+1)<a.end(u)?(h=!0,d=w.from(a.node(u).copy(d)),g++):p++;o.step(new ie(l,p,i,r,new E(c.append(d),m,g),c.size-m,!0))}function ys(o,e,t=null,n=o){let a=Vm(o,e),s=a&&$m(n,e);return s?a.map(Vr).concat({type:e,attrs:t}).concat(s.map(Vr)):null}function Vr(o){return{type:o,attrs:null}}function Vm(o,e){let{parent:t,startIndex:n,endIndex:a}=o,s=t.contentMatchAt(n).findWrapping(e);if(!s)return null;let i=s.length?s[0]:e;return t.canReplaceWith(n,a,i)?s:null}function $m(o,e){let{parent:t,startIndex:n,endIndex:a}=o,s=t.child(n),i=e.contentMatch.findWrapping(s.type);if(!i)return null;let l=(i.length?i[i.length-1]:e).contentMatch;for(let p=n;l&&p<a;p++)l=l.matchType(t.child(p).type);return!l||!l.validEnd?null:i}function qm(o,e,t){let n=w.empty;for(let i=t.length-1;i>=0;i--){if(n.size){let r=t[i].type.contentMatch.matchFragment(n);if(!r||!r.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}n=w.from(t[i].type.create(t[i].attrs,n))}let a=e.start,s=e.end;o.step(new ie(a,s,a,s,new E(n,0,0),t.length,!0))}function Wm(o,e,t,n,a){if(!n.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=o.steps.length;o.doc.nodesBetween(e,t,(i,r)=>{let l=typeof a=="function"?a(i):a;if(i.isTextblock&&!i.hasMarkup(n,l)&&Jm(o.doc,o.mapping.slice(s).map(r),n)){let p=null;if(n.schema.linebreakReplacement){let g=n.whitespace=="pre",u=!!n.contentMatch.matchType(n.schema.linebreakReplacement);g&&!u?p=!1:!g&&u&&(p=!0)}p===!1&&Um(o,i,r,s),Hr(o,o.mapping.slice(s).map(r,1),n,void 0,p===null);let c=o.mapping.slice(s),m=c.map(r,1),d=c.map(r+i.nodeSize,1);return o.step(new ie(m,d,m+1,d-1,new E(w.from(n.create(l,null,i.marks)),0,0),1,!0)),p===!0&&Km(o,i,r,s),!1}})}function Km(o,e,t,n){e.forEach((a,s)=>{if(a.isText){let i,r=/\r?\n|\r/g;for(;i=r.exec(a.text);){let l=o.mapping.slice(n).map(t+1+s+i.index);o.replaceWith(l,l+1,e.type.schema.linebreakReplacement.create())}}})}function Um(o,e,t,n){e.forEach((a,s)=>{if(a.type==a.type.schema.linebreakReplacement){let i=o.mapping.slice(n).map(t+1+s);o.replaceWith(i,i+1,e.type.schema.text(`
|
|
5
|
+
`))}})}function Jm(o,e,t){let n=o.resolve(e),a=n.index();return n.parent.canReplaceWith(a,a+1,t)}function Gm(o,e,t,n,a){let s=o.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");t||(t=s.type);let i=t.create(n,null,a||s.marks);if(s.isLeaf)return o.replaceWith(e,e+s.nodeSize,i);if(!t.validContent(s.content))throw new RangeError("Invalid content for node type "+t.name);o.step(new ie(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new E(w.from(i),0,0),1,!0))}function po(o,e,t=1,n){let a=o.resolve(e),s=a.depth-t,i=n&&n[n.length-1]||a.parent;if(s<0||a.parent.type.spec.isolating||!a.parent.canReplace(a.index(),a.parent.childCount)||!i.type.validContent(a.parent.content.cutByIndex(a.index(),a.parent.childCount)))return!1;for(let p=a.depth-1,c=t-2;p>s;p--,c--){let m=a.node(p),d=a.index(p);if(m.type.spec.isolating)return!1;let g=m.content.cutByIndex(d,m.childCount),u=n&&n[c+1];u&&(g=g.replaceChild(0,u.type.create(u.attrs)));let h=n&&n[c]||m;if(!m.canReplace(d+1,m.childCount)||!h.type.validContent(g))return!1}let r=a.indexAfter(s),l=n&&n[0];return a.node(s).canReplaceWith(r,r,l?l.type:a.node(s+1).type)}function Ym(o,e,t=1,n){let a=o.doc.resolve(e),s=w.empty,i=w.empty;for(let r=a.depth,l=a.depth-t,p=t-1;r>l;r--,p--){s=w.from(a.node(r).copy(s));let c=n&&n[p];i=w.from(c?c.type.create(c.attrs,i):a.node(r).copy(i))}o.step(new se(e,e,new E(s.append(i),t,t),!0))}function vt(o,e){let t=o.resolve(e),n=t.index();return $r(t.nodeBefore,t.nodeAfter)&&t.parent.canReplace(n,n+1)}function $r(o,e){return!!(o&&e&&!o.isLeaf&&o.canAppend(e))}function Pn(o,e,t=-1){let n=o.resolve(e);for(let a=n.depth;;a--){let s,i,r=n.index(a);if(a==n.depth?(s=n.nodeBefore,i=n.nodeAfter):t>0?(s=n.node(a+1),r++,i=n.node(a).maybeChild(r)):(s=n.node(a).maybeChild(r-1),i=n.node(a+1)),s&&!s.isTextblock&&$r(s,i)&&n.node(a).canReplace(r,r+1))return e;if(a==0)break;e=t<0?n.before(a):n.after(a)}}function Xm(o,e,t){let n=new se(e-t,e+t,E.empty,!0);o.step(n)}function Qm(o,e,t){let n=o.resolve(e);if(n.parent.canReplaceWith(n.index(),n.index(),t))return e;if(n.parentOffset==0)for(let a=n.depth-1;a>=0;a--){let s=n.index(a);if(n.node(a).canReplaceWith(s,s,t))return n.before(a+1);if(s>0)return null}if(n.parentOffset==n.parent.content.size)for(let a=n.depth-1;a>=0;a--){let s=n.indexAfter(a);if(n.node(a).canReplaceWith(s,s,t))return n.after(a+1);if(s<n.node(a).childCount)return null}return null}function qr(o,e,t){let n=o.resolve(e);if(!t.content.size)return e;let a=t.content;for(let s=0;s<t.openStart;s++)a=a.firstChild.content;for(let s=1;s<=(t.openStart==0&&t.size?2:1);s++)for(let i=n.depth;i>=0;i--){let r=i==n.depth?0:n.pos<=(n.start(i+1)+n.end(i+1))/2?-1:1,l=n.index(i)+(r>0?1:0),p=n.node(i),c=!1;if(s==1)c=p.canReplace(l,l,a);else{let m=p.contentMatchAt(l).findWrapping(a.firstChild.type);c=m&&p.canReplaceWith(l,l,m[0])}if(c)return r==0?n.pos:r<0?n.before(i+1):n.after(i+1)}return null}function Ln(o,e,t=e,n=E.empty){if(e==t&&!n.size)return null;let a=o.resolve(e),s=o.resolve(t);return Wr(a,s,n)?new se(e,t,n):new Zm(a,s,n).fit()}function Wr(o,e,t){return!t.openStart&&!t.openEnd&&o.start()==e.start()&&o.parent.canReplace(o.index(),e.index(),t.content)}class Zm{constructor(e,t,n){this.$from=e,this.$to=t,this.unplaced=n,this.frontier=[],this.placed=w.empty;for(let a=0;a<=e.depth;a++){let s=e.node(a);this.frontier.push({type:s.type,match:s.contentMatchAt(e.indexAfter(a))})}for(let a=e.depth;a>0;a--)this.placed=w.from(e.node(a).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let p=this.findFittable();p?this.placeNodes(p):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),t=this.placed.size-this.depth-this.$from.depth,n=this.$from,a=this.close(e<0?this.$to:n.doc.resolve(e));if(!a)return null;let s=this.placed,i=n.depth,r=a.depth;for(;i&&r&&s.childCount==1;)s=s.firstChild.content,i--,r--;let l=new E(s,i,r);return e>-1?new ie(n.pos,e,this.$to.pos,this.$to.end(),l,t):l.size||n.pos!=this.$to.pos?new se(n.pos,a.pos,l):null}findFittable(){let e=this.unplaced.openStart;for(let t=this.unplaced.content,n=0,a=this.unplaced.openEnd;n<e;n++){let s=t.firstChild;if(t.childCount>1&&(a=0),s.type.spec.isolating&&a<=n){e=n;break}t=s.content}for(let t=1;t<=2;t++)for(let n=t==1?e:this.unplaced.openStart;n>=0;n--){let a,s=null;n?(s=_s(this.unplaced.content,n-1).firstChild,a=s.content):a=this.unplaced.content;let i=a.firstChild;for(let r=this.depth;r>=0;r--){let{type:l,match:p}=this.frontier[r],c,m=null;if(t==1&&(i?p.matchType(i.type)||(m=p.fillBefore(w.from(i),!1)):s&&l.compatibleContent(s.type)))return{sliceDepth:n,frontierDepth:r,parent:s,inject:m};if(t==2&&i&&(c=p.findWrapping(i.type)))return{sliceDepth:n,frontierDepth:r,parent:s,wrap:c};if(s&&p.matchType(s.type))break}}}openMore(){let{content:e,openStart:t,openEnd:n}=this.unplaced,a=_s(e,t);return!a.childCount||a.firstChild.isLeaf?!1:(this.unplaced=new E(e,t+1,Math.max(n,a.size+t>=e.size-n?t+1:0)),!0)}dropNode(){let{content:e,openStart:t,openEnd:n}=this.unplaced,a=_s(e,t);if(a.childCount<=1&&t>0){let s=e.size-t<=t+a.size;this.unplaced=new E(Ho(e,t-1,1),t-1,s?t-1:n)}else this.unplaced=new E(Ho(e,t,1),t,n)}placeNodes({sliceDepth:e,frontierDepth:t,parent:n,inject:a,wrap:s}){for(;this.depth>t;)this.closeFrontierNode();if(s)for(let h=0;h<s.length;h++)this.openFrontierNode(s[h]);let i=this.unplaced,r=n?n.content:i.content,l=i.openStart-e,p=0,c=[],{match:m,type:d}=this.frontier[t];if(a){for(let h=0;h<a.childCount;h++)c.push(a.child(h));m=m.matchFragment(a)}let g=r.size+e-(i.content.size-i.openEnd);for(;p<r.childCount;){let h=r.child(p),j=m.matchType(h.type);if(!j)break;p++,(p>1||l==0||h.content.size)&&(m=j,c.push(Kr(h.mark(d.allowedMarks(h.marks)),p==1?l:0,p==r.childCount?g:-1)))}let u=p==r.childCount;u||(g=-1),this.placed=Vo(this.placed,t,w.from(c)),this.frontier[t].match=m,u&&g<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let h=0,j=r;h<g;h++){let v=j.lastChild;this.frontier.push({type:v.type,match:v.contentMatchAt(v.childCount)}),j=v.content}this.unplaced=u?e==0?E.empty:new E(Ho(i.content,e-1,1),e-1,g<0?i.openEnd:e-1):new E(Ho(i.content,e,p),i.openStart,i.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],t;if(!e.type.isTextblock||!Ds(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(t=this.findCloseLevel(this.$to))&&t.depth==this.depth)return-1;let{depth:n}=this.$to,a=this.$to.after(n);for(;n>1&&a==this.$to.end(--n);)++a;return a}findCloseLevel(e){e:for(let t=Math.min(this.depth,e.depth);t>=0;t--){let{match:n,type:a}=this.frontier[t],s=t<e.depth&&e.end(t+1)==e.pos+(e.depth-(t+1)),i=Ds(e,t,a,n,s);if(i){for(let r=t-1;r>=0;r--){let{match:l,type:p}=this.frontier[r],c=Ds(e,r,p,l,!0);if(!c||c.childCount)continue e}return{depth:t,fit:i,move:s?e.doc.resolve(e.after(t+1)):e}}}}close(e){let t=this.findCloseLevel(e);if(!t)return null;for(;this.depth>t.depth;)this.closeFrontierNode();t.fit.childCount&&(this.placed=Vo(this.placed,t.depth,t.fit)),e=t.move;for(let n=t.depth+1;n<=e.depth;n++){let a=e.node(n),s=a.type.contentMatch.fillBefore(a.content,!0,e.index(n));this.openFrontierNode(a.type,a.attrs,s)}return e}openFrontierNode(e,t=null,n){let a=this.frontier[this.depth];a.match=a.match.matchType(e),this.placed=Vo(this.placed,this.depth,w.from(e.create(t,n))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let t=this.frontier.pop().match.fillBefore(w.empty,!0);t.childCount&&(this.placed=Vo(this.placed,this.frontier.length,t))}}function Ho(o,e,t){return e==0?o.cutByIndex(t,o.childCount):o.replaceChild(0,o.firstChild.copy(Ho(o.firstChild.content,e-1,t)))}function Vo(o,e,t){return e==0?o.append(t):o.replaceChild(o.childCount-1,o.lastChild.copy(Vo(o.lastChild.content,e-1,t)))}function _s(o,e){for(let t=0;t<e;t++)o=o.firstChild.content;return o}function Kr(o,e,t){if(e<=0)return o;let n=o.content;return e>1&&(n=n.replaceChild(0,Kr(n.firstChild,e-1,n.childCount==1?t-1:0))),e>0&&(n=o.type.contentMatch.fillBefore(n).append(n),t<=0&&(n=n.append(o.type.contentMatch.matchFragment(n).fillBefore(w.empty,!0)))),o.copy(n)}function Ds(o,e,t,n,a){let s=o.node(e),i=a?o.indexAfter(e):o.index(e);if(i==s.childCount&&!t.compatibleContent(s.type))return null;let r=n.fillBefore(s.content,!0,i);return r&&!ed(t,s.content,i)?r:null}function ed(o,e,t){for(let n=t;n<e.childCount;n++)if(!o.allowsMarks(e.child(n).marks))return!0;return!1}function td(o){return o.spec.defining||o.spec.definingForContent}function od(o,e,t,n){if(!n.size)return o.deleteRange(e,t);let a=o.doc.resolve(e),s=o.doc.resolve(t);if(Wr(a,s,n))return o.step(new se(e,t,n));let i=Jr(a,o.doc.resolve(t));i[i.length-1]==0&&i.pop();let r=-(a.depth+1);i.unshift(r);for(let d=a.depth,g=a.pos-1;d>0;d--,g--){let u=a.node(d).type.spec;if(u.defining||u.definingAsContext||u.isolating)break;i.indexOf(d)>-1?r=d:a.before(d)==g&&i.splice(1,0,-d)}let l=i.indexOf(r),p=[],c=n.openStart;for(let d=n.content,g=0;;g++){let u=d.firstChild;if(p.push(u),g==n.openStart)break;d=u.content}for(let d=c-1;d>=0;d--){let g=p[d],u=td(g.type);if(u&&!g.sameMarkup(a.node(Math.abs(r)-1)))c=d;else if(u||!g.type.isTextblock)break}for(let d=n.openStart;d>=0;d--){let g=(d+c+1)%(n.openStart+1),u=p[g];if(u)for(let h=0;h<i.length;h++){let j=i[(h+l)%i.length],v=!0;j<0&&(v=!1,j=-j);let k=a.node(j-1),D=a.index(j-1);if(k.canReplaceWith(D,D,u.type,u.marks))return o.replace(a.before(j),v?s.after(j):t,new E(Ur(n.content,0,n.openStart,g),g,n.openEnd))}}let m=o.steps.length;for(let d=i.length-1;d>=0&&(o.replace(e,t,n),!(o.steps.length>m));d--){let g=i[d];g<0||(e=a.before(g),t=s.after(g))}}function Ur(o,e,t,n,a){if(e<t){let s=o.firstChild;o=o.replaceChild(0,s.copy(Ur(s.content,e+1,t,n,s)))}if(e>n){let s=a.contentMatchAt(0),i=s.fillBefore(o).append(o);o=i.append(s.matchFragment(i).fillBefore(w.empty,!0))}return o}function nd(o,e,t,n){if(!n.isInline&&e==t&&o.doc.resolve(e).parent.content.size){let a=Qm(o.doc,e,n.type);a!=null&&(e=t=a)}o.replaceRange(e,t,new E(w.from(n),0,0))}function ad(o,e,t){let n=o.doc.resolve(e),a=o.doc.resolve(t),s=Jr(n,a);for(let i=0;i<s.length;i++){let r=s[i],l=i==s.length-1;if(l&&r==0||n.node(r).type.contentMatch.validEnd)return o.delete(n.start(r),a.end(r));if(r>0&&(l||n.node(r-1).canReplace(n.index(r-1),a.indexAfter(r-1))))return o.delete(n.before(r),a.after(r))}for(let i=1;i<=n.depth&&i<=a.depth;i++)if(e-n.start(i)==n.depth-i&&t>n.end(i)&&a.end(i)-t!=a.depth-i)return o.delete(n.before(i),t);o.delete(e,t)}function Jr(o,e){let t=[],n=Math.min(o.depth,e.depth);for(let a=n;a>=0;a--){let s=o.start(a);if(s<o.pos-(o.depth-a)||e.end(a)>e.pos+(e.depth-a)||o.node(a).type.spec.isolating||e.node(a).type.spec.isolating)break;(s==e.start(a)||a==o.depth&&a==e.depth&&o.parent.inlineContent&&e.parent.inlineContent&&a&&e.start(a-1)==s-1)&&t.push(a)}return t}class co extends ue{constructor(e,t,n){super(),this.pos=e,this.attr=t,this.value=n}apply(e){let t=e.nodeAt(this.pos);if(!t)return te.fail("No node at attribute step's position");let n=Object.create(null);for(let s in t.attrs)n[s]=t.attrs[s];n[this.attr]=this.value;let a=t.type.create(n,null,t.marks);return te.fromReplace(e,this.pos,this.pos+1,new E(w.from(a),0,t.isLeaf?0:1))}getMap(){return xe.empty}invert(e){return new co(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let t=e.mapResult(this.pos,1);return t.deletedAfter?null:new co(t.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,t){if(typeof t.pos!="number"||typeof t.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new co(t.pos,t.attr,t.value)}}ue.jsonID("attr",co);class $o extends ue{constructor(e,t){super(),this.attr=e,this.value=t}apply(e){let t=Object.create(null);for(let a in e.attrs)t[a]=e.attrs[a];t[this.attr]=this.value;let n=e.type.create(t,e.content,e.marks);return te.ok(n)}getMap(){return xe.empty}invert(e){return new $o(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,t){if(typeof t.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new $o(t.attr,t.value)}}ue.jsonID("docAttr",$o);let mo=class extends Error{};mo=function o(e){let t=Error.call(this,e);return t.__proto__=o.prototype,t},mo.prototype=Object.create(Error.prototype),mo.prototype.constructor=mo,mo.prototype.name="TransformError";class Gr{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new io}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let t=this.maybeStep(e);if(t.failed)throw new mo(t.failed);return this}maybeStep(e){let t=e.apply(this.doc);return t.failed||this.addStep(e,t.doc),t}get docChanged(){return this.steps.length>0}addStep(e,t){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=t}replace(e,t=e,n=E.empty){let a=Ln(this.doc,e,t,n);return a&&this.step(a),this}replaceWith(e,t,n){return this.replace(e,t,new E(w.from(n),0,0))}delete(e,t){return this.replace(e,t,E.empty)}insert(e,t){return this.replaceWith(e,e,t)}replaceRange(e,t,n){return od(this,e,t,n),this}replaceRangeWith(e,t,n){return nd(this,e,t,n),this}deleteRange(e,t){return ad(this,e,t),this}lift(e,t){return Hm(this,e,t),this}join(e,t=1){return Xm(this,e,t),this}wrap(e,t){return qm(this,e,t),this}setBlockType(e,t=e,n,a=null){return Wm(this,e,t,n,a),this}setNodeMarkup(e,t,n=null,a){return Gm(this,e,t,n,a),this}setNodeAttribute(e,t,n){return this.step(new co(e,t,n)),this}setDocAttribute(e,t){return this.step(new $o(e,t)),this}addNodeMark(e,t){return this.step(new jt(e,t)),this}removeNodeMark(e,t){if(!(t instanceof K)){let n=this.doc.nodeAt(e);if(!n)throw new RangeError("No node at position "+e);if(t=t.isInSet(n.marks),!t)return this}return this.step(new ro(e,t)),this}split(e,t=1,n){return Ym(this,e,t,n),this}addMark(e,t,n){return Pm(this,e,t,n),this}removeMark(e,t,n){return Lm(this,e,t,n),this}clearIncompatible(e,t,n){return Hr(this,e,t,n),this}}const ws=Object.create(null);class R{constructor(e,t,n){this.$anchor=e,this.$head=t,this.ranges=n||[new sd(e.min(t),e.max(t))]}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 t=0;t<e.length;t++)if(e[t].$from.pos!=e[t].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,t=E.empty){let n=t.content.lastChild,a=null;for(let r=0;r<t.openEnd;r++)a=n,n=n.lastChild;let s=e.steps.length,i=this.ranges;for(let r=0;r<i.length;r++){let{$from:l,$to:p}=i[r],c=e.mapping.slice(s);e.replaceRange(c.map(l.pos),c.map(p.pos),r?E.empty:t),r==0&&Qr(e,s,(n?n.isInline:a&&a.isTextblock)?-1:1)}}replaceWith(e,t){let n=e.steps.length,a=this.ranges;for(let s=0;s<a.length;s++){let{$from:i,$to:r}=a[s],l=e.mapping.slice(n),p=l.map(i.pos),c=l.map(r.pos);s?e.deleteRange(p,c):(e.replaceRangeWith(p,c,t),Qr(e,n,t.isInline?-1:1))}}static findFrom(e,t,n=!1){let a=e.parent.inlineContent?new B(e):uo(e.node(0),e.parent,e.pos,e.index(),t,n);if(a)return a;for(let s=e.depth-1;s>=0;s--){let i=t<0?uo(e.node(0),e.node(s),e.before(s+1),e.index(s),t,n):uo(e.node(0),e.node(s),e.after(s+1),e.index(s)+1,t,n);if(i)return i}return null}static near(e,t=1){return this.findFrom(e,t)||this.findFrom(e,-t)||new He(e.node(0))}static atStart(e){return uo(e,e,0,0,1)||new He(e)}static atEnd(e){return uo(e,e,e.content.size,e.childCount,-1)||new He(e)}static fromJSON(e,t){if(!t||!t.type)throw new RangeError("Invalid input for Selection.fromJSON");let n=ws[t.type];if(!n)throw new RangeError(`No selection type ${t.type} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in ws)throw new RangeError("Duplicate use of selection JSON ID "+e);return ws[e]=t,t.prototype.jsonID=e,t}getBookmark(){return B.between(this.$anchor,this.$head).getBookmark()}}R.prototype.visible=!0;class sd{constructor(e,t){this.$from=e,this.$to=t}}let Yr=!1;function Xr(o){!Yr&&!o.parent.inlineContent&&(Yr=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+o.parent.type.name+")"))}class B extends R{constructor(e,t=e){Xr(e),Xr(t),super(e,t)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,t){let n=e.resolve(t.map(this.head));if(!n.parent.inlineContent)return R.near(n);let a=e.resolve(t.map(this.anchor));return new B(a.parent.inlineContent?a:n,n)}replace(e,t=E.empty){if(super.replace(e,t),t==E.empty){let n=this.$from.marksAcross(this.$to);n&&e.ensureMarks(n)}}eq(e){return e instanceof B&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new zn(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,t){if(typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new B(e.resolve(t.anchor),e.resolve(t.head))}static create(e,t,n=t){let a=e.resolve(t);return new this(a,n==t?a:e.resolve(n))}static between(e,t,n){let a=e.pos-t.pos;if((!n||a)&&(n=a>=0?1:-1),!t.parent.inlineContent){let s=R.findFrom(t,n,!0)||R.findFrom(t,-n,!0);if(s)t=s.$head;else return R.near(t,n)}return e.parent.inlineContent||(a==0?e=t:(e=(R.findFrom(e,-n,!0)||R.findFrom(e,n,!0)).$anchor,e.pos<t.pos!=a<0&&(e=t))),new B(e,t)}}R.jsonID("text",B);class zn{constructor(e,t){this.anchor=e,this.head=t}map(e){return new zn(e.map(this.anchor),e.map(this.head))}resolve(e){return B.between(e.resolve(this.anchor),e.resolve(this.head))}}class A extends R{constructor(e){let t=e.nodeAfter,n=e.node(0).resolve(e.pos+t.nodeSize);super(e,n),this.node=t}map(e,t){let{deleted:n,pos:a}=t.mapResult(this.anchor),s=e.resolve(a);return n?R.near(s):new A(s)}content(){return new E(w.from(this.node),0,0)}eq(e){return e instanceof A&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new Is(this.anchor)}static fromJSON(e,t){if(typeof t.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new A(e.resolve(t.anchor))}static create(e,t){return new A(e.resolve(t))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}}A.prototype.visible=!1,R.jsonID("node",A);class Is{constructor(e){this.anchor=e}map(e){let{deleted:t,pos:n}=e.mapResult(this.anchor);return t?new zn(n,n):new Is(n)}resolve(e){let t=e.resolve(this.anchor),n=t.nodeAfter;return n&&A.isSelectable(n)?new A(t):R.near(t)}}class He extends R{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,t=E.empty){if(t==E.empty){e.delete(0,e.doc.content.size);let n=R.atStart(e.doc);n.eq(e.selection)||e.setSelection(n)}else super.replace(e,t)}toJSON(){return{type:"all"}}static fromJSON(e){return new He(e)}map(e){return new He(e)}eq(e){return e instanceof He}getBookmark(){return id}}R.jsonID("all",He);const id={map(){return this},resolve(o){return new He(o)}};function uo(o,e,t,n,a,s=!1){if(e.inlineContent)return B.create(o,t);for(let i=n-(a>0?0:1);a>0?i<e.childCount:i>=0;i+=a){let r=e.child(i);if(r.isAtom){if(!s&&A.isSelectable(r))return A.create(o,t-(a<0?r.nodeSize:0))}else{let l=uo(o,r,t+a,a<0?r.childCount:0,a,s);if(l)return l}t+=r.nodeSize*a}return null}function Qr(o,e,t){let n=o.steps.length-1;if(n<e)return;let a=o.steps[n];if(!(a instanceof se||a instanceof ie))return;let s=o.mapping.maps[n],i;s.forEach((r,l,p,c)=>{i==null&&(i=c)}),o.setSelection(R.near(o.doc.resolve(i),t))}const Zr=1,Hn=2,el=4;class rd extends Gr{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|Zr)&~Hn,this.storedMarks=null,this}get selectionSet(){return(this.updated&Zr)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=Hn,this}ensureMarks(e){return K.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&Hn)>0}addStep(e,t){super.addStep(e,t),this.updated=this.updated&~Hn,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,t=!0){let n=this.selection;return t&&(e=e.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||K.none))),n.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,t,n){let a=this.doc.type.schema;if(t==null)return e?this.replaceSelectionWith(a.text(e),!0):this.deleteSelection();{if(n==null&&(n=t),n=n??t,!e)return this.deleteRange(t,n);let s=this.storedMarks;if(!s){let i=this.doc.resolve(t);s=n==t?i.marks():i.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(t,n,a.text(e,s)),this.selection.empty||this.setSelection(R.near(this.selection.$to)),this}}setMeta(e,t){return this.meta[typeof e=="string"?e:e.key]=t,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|=el,this}get scrolledIntoView(){return(this.updated&el)>0}}function tl(o,e){return!e||!o?o:o.bind(e)}class qo{constructor(e,t,n){this.name=e,this.init=tl(t.init,n),this.apply=tl(t.apply,n)}}const ld=[new qo("doc",{init(o){return o.doc||o.schema.topNodeType.createAndFill()},apply(o){return o.doc}}),new qo("selection",{init(o,e){return o.selection||R.atStart(e.doc)},apply(o){return o.selection}}),new qo("storedMarks",{init(o){return o.storedMarks||null},apply(o,e,t,n){return n.selection.$cursor?o.storedMarks:null}}),new qo("scrollToSelection",{init(){return 0},apply(o,e){return o.scrolledIntoView?e+1:e}})];class Cs{constructor(e,t){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=ld.slice(),t&&t.forEach(n=>{if(this.pluginsByKey[n.key])throw new RangeError("Adding different instances of a keyed plugin ("+n.key+")");this.plugins.push(n),this.pluginsByKey[n.key]=n,n.spec.state&&this.fields.push(new qo(n.key,n.spec.state,n))})}}class go{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,t=-1){for(let n=0;n<this.config.plugins.length;n++)if(n!=t){let a=this.config.plugins[n];if(a.spec.filterTransaction&&!a.spec.filterTransaction.call(a,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let t=[e],n=this.applyInner(e),a=null;for(;;){let s=!1;for(let i=0;i<this.config.plugins.length;i++){let r=this.config.plugins[i];if(r.spec.appendTransaction){let l=a?a[i].n:0,p=a?a[i].state:this,c=l<t.length&&r.spec.appendTransaction.call(r,l?t.slice(l):t,p,n);if(c&&n.filterTransaction(c,i)){if(c.setMeta("appendedTransaction",e),!a){a=[];for(let m=0;m<this.config.plugins.length;m++)a.push(m<i?{state:n,n:t.length}:{state:this,n:0})}t.push(c),n=n.applyInner(c),s=!0}a&&(a[i]={state:n,n:t.length})}}if(!s)return{state:n,transactions:t}}}applyInner(e){if(!e.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let t=new go(this.config),n=this.config.fields;for(let a=0;a<n.length;a++){let s=n[a];t[s.name]=s.apply(e,this[s.name],this,t)}return t}get tr(){return new rd(this)}static create(e){let t=new Cs(e.doc?e.doc.type.schema:e.schema,e.plugins),n=new go(t);for(let a=0;a<t.fields.length;a++)n[t.fields[a].name]=t.fields[a].init(e,n);return n}reconfigure(e){let t=new Cs(this.schema,e.plugins),n=t.fields,a=new go(t);for(let s=0;s<n.length;s++){let i=n[s].name;a[i]=this.hasOwnProperty(i)?this[i]:n[s].init(e,a)}return a}toJSON(e){let t={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(t.storedMarks=this.storedMarks.map(n=>n.toJSON())),e&&typeof e=="object")for(let n in e){if(n=="doc"||n=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let a=e[n],s=a.spec.state;s&&s.toJSON&&(t[n]=s.toJSON.call(a,this[a.key]))}return t}static fromJSON(e,t,n){if(!t)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let a=new Cs(e.schema,e.plugins),s=new go(a);return a.fields.forEach(i=>{if(i.name=="doc")s.doc=zt.fromJSON(e.schema,t.doc);else if(i.name=="selection")s.selection=R.fromJSON(s.doc,t.selection);else if(i.name=="storedMarks")t.storedMarks&&(s.storedMarks=t.storedMarks.map(e.schema.markFromJSON));else{if(n)for(let r in n){let l=n[r],p=l.spec.state;if(l.key==i.name&&p&&p.fromJSON&&Object.prototype.hasOwnProperty.call(t,r)){s[i.name]=p.fromJSON.call(l,e,t[r],s);return}}s[i.name]=i.init(e,s)}}),s}}function ol(o,e,t){for(let n in o){let a=o[n];a instanceof Function?a=a.bind(e):n=="handleDOMEvents"&&(a=ol(a,e,{})),t[n]=a}return t}class Q{constructor(e){this.spec=e,this.props={},e.props&&ol(e.props,this,this.props),this.key=e.key?e.key.key:nl("plugin")}getState(e){return e[this.key]}}const Es=Object.create(null);function nl(o){return o in Es?o+"$"+ ++Es[o]:(Es[o]=0,o+"$")}class ae{constructor(e="key"){this.key=nl(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const me=function(o){for(var e=0;;e++)if(o=o.previousSibling,!o)return e},Wo=function(o){let e=o.assignedSlot||o.parentNode;return e&&e.nodeType==11?e.host:e};let xs=null;const at=function(o,e,t){let n=xs||(xs=document.createRange());return n.setEnd(o,t??o.nodeValue.length),n.setStart(o,e||0),n},pd=function(){xs=null},$t=function(o,e,t,n){return t&&(al(o,e,t,n,-1)||al(o,e,t,n,1))},cd=/^(img|br|input|textarea|hr)$/i;function al(o,e,t,n,a){for(;;){if(o==t&&e==n)return!0;if(e==(a<0?0:Ae(o))){let s=o.parentNode;if(!s||s.nodeType!=1||Ko(o)||cd.test(o.nodeName)||o.contentEditable=="false")return!1;e=me(o)+(a<0?0:1),o=s}else if(o.nodeType==1){if(o=o.childNodes[e+(a<0?-1:0)],o.contentEditable=="false")return!1;e=a<0?Ae(o):0}else return!1}}function Ae(o){return o.nodeType==3?o.nodeValue.length:o.childNodes.length}function md(o,e){for(;;){if(o.nodeType==3&&e)return o;if(o.nodeType==1&&e>0){if(o.contentEditable=="false")return null;o=o.childNodes[e-1],e=Ae(o)}else if(o.parentNode&&!Ko(o))e=me(o),o=o.parentNode;else return null}}function dd(o,e){for(;;){if(o.nodeType==3&&e<o.nodeValue.length)return o;if(o.nodeType==1&&e<o.childNodes.length){if(o.contentEditable=="false")return null;o=o.childNodes[e],e=0}else if(o.parentNode&&!Ko(o))e=me(o)+1,o=o.parentNode;else return null}}function ud(o,e,t){for(let n=e==0,a=e==Ae(o);n||a;){if(o==t)return!0;let s=me(o);if(o=o.parentNode,!o)return!1;n=n&&s==0,a=a&&s==Ae(o)}}function Ko(o){let e;for(let t=o;t&&!(e=t.pmViewDesc);t=t.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==o||e.contentDOM==o)}const Vn=function(o){return o.focusNode&&$t(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)};function qt(o,e){let t=document.createEvent("Event");return t.initEvent("keydown",!0,!0),t.keyCode=o,t.key=t.code=e,t}function gd(o){let e=o.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function fd(o,e,t){if(o.caretPositionFromPoint)try{let n=o.caretPositionFromPoint(e,t);if(n)return{node:n.offsetNode,offset:Math.min(Ae(n.offsetNode),n.offset)}}catch{}if(o.caretRangeFromPoint){let n=o.caretRangeFromPoint(e,t);if(n)return{node:n.startContainer,offset:Math.min(Ae(n.startContainer),n.startOffset)}}}const Je=typeof navigator<"u"?navigator:null,sl=typeof document<"u"?document:null,kt=Je&&Je.userAgent||"",Fs=/Edge\/(\d+)/.exec(kt),il=/MSIE \d/.exec(kt),Ss=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(kt),_e=!!(il||Ss||Fs),yt=il?document.documentMode:Ss?+Ss[1]:Fs?+Fs[1]:0,Ve=!_e&&/gecko\/(\d+)/i.test(kt);Ve&&+(/Firefox\/(\d+)/.exec(kt)||[0,0])[1];const Ms=!_e&&/Chrome\/(\d+)/.exec(kt),ge=!!Ms,rl=Ms?+Ms[1]:0,je=!_e&&!!Je&&/Apple Computer/.test(Je.vendor),fo=je&&(/Mobile\/\w+/.test(kt)||!!Je&&Je.maxTouchPoints>2),Te=fo||(Je?/Mac/.test(Je.platform):!1),hd=Je?/Win/.test(Je.platform):!1,$e=/Android \d/.test(kt),Uo=!!sl&&"webkitFontSmoothing"in sl.documentElement.style,bd=Uo?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function jd(o){let e=o.defaultView&&o.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:o.documentElement.clientWidth,top:0,bottom:o.documentElement.clientHeight}}function st(o,e){return typeof o=="number"?o:o[e]}function vd(o){let e=o.getBoundingClientRect(),t=e.width/o.offsetWidth||1,n=e.height/o.offsetHeight||1;return{left:e.left,right:e.left+o.clientWidth*t,top:e.top,bottom:e.top+o.clientHeight*n}}function ll(o,e,t){let n=o.someProp("scrollThreshold")||0,a=o.someProp("scrollMargin")||5,s=o.dom.ownerDocument;for(let i=t||o.dom;i;i=Wo(i)){if(i.nodeType!=1)continue;let r=i,l=r==s.body,p=l?jd(s):vd(r),c=0,m=0;if(e.top<p.top+st(n,"top")?m=-(p.top-e.top+st(a,"top")):e.bottom>p.bottom-st(n,"bottom")&&(m=e.bottom-e.top>p.bottom-p.top?e.top+st(a,"top")-p.top:e.bottom-p.bottom+st(a,"bottom")),e.left<p.left+st(n,"left")?c=-(p.left-e.left+st(a,"left")):e.right>p.right-st(n,"right")&&(c=e.right-p.right+st(a,"right")),c||m)if(l)s.defaultView.scrollBy(c,m);else{let d=r.scrollLeft,g=r.scrollTop;m&&(r.scrollTop+=m),c&&(r.scrollLeft+=c);let u=r.scrollLeft-d,h=r.scrollTop-g;e={left:e.left-u,top:e.top-h,right:e.right-u,bottom:e.bottom-h}}if(l||/^(fixed|sticky)$/.test(getComputedStyle(i).position))break}}function kd(o){let e=o.dom.getBoundingClientRect(),t=Math.max(0,e.top),n,a;for(let s=(e.left+e.right)/2,i=t+1;i<Math.min(innerHeight,e.bottom);i+=5){let r=o.root.elementFromPoint(s,i);if(!r||r==o.dom||!o.dom.contains(r))continue;let l=r.getBoundingClientRect();if(l.top>=t-20){n=r,a=l.top;break}}return{refDOM:n,refTop:a,stack:pl(o.dom)}}function pl(o){let e=[],t=o.ownerDocument;for(let n=o;n&&(e.push({dom:n,top:n.scrollTop,left:n.scrollLeft}),o!=t);n=Wo(n));return e}function yd({refDOM:o,refTop:e,stack:t}){let n=o?o.getBoundingClientRect().top:0;cl(t,n==0?0:n-e)}function cl(o,e){for(let t=0;t<o.length;t++){let{dom:n,top:a,left:s}=o[t];n.scrollTop!=a+e&&(n.scrollTop=a+e),n.scrollLeft!=s&&(n.scrollLeft=s)}}let ho=null;function _d(o){if(o.setActive)return o.setActive();if(ho)return o.focus(ho);let e=pl(o);o.focus(ho==null?{get preventScroll(){return ho={preventScroll:!0},!0}}:void 0),ho||(ho=!1,cl(e,0))}function ml(o,e){let t,n=2e8,a,s=0,i=e.top,r=e.top,l,p;for(let c=o.firstChild,m=0;c;c=c.nextSibling,m++){let d;if(c.nodeType==1)d=c.getClientRects();else if(c.nodeType==3)d=at(c).getClientRects();else continue;for(let g=0;g<d.length;g++){let u=d[g];if(u.top<=i&&u.bottom>=r){i=Math.max(u.bottom,i),r=Math.min(u.top,r);let h=u.left>e.left?u.left-e.left:u.right<e.left?e.left-u.right:0;if(h<n){t=c,n=h,a=h&&t.nodeType==3?{left:u.right<e.left?u.right:u.left,top:e.top}:e,c.nodeType==1&&h&&(s=m+(e.left>=(u.left+u.right)/2?1:0));continue}}else u.top>e.top&&!l&&u.left<=e.left&&u.right>=e.left&&(l=c,p={left:Math.max(u.left,Math.min(u.right,e.left)),top:u.top});!t&&(e.left>=u.right&&e.top>=u.top||e.left>=u.left&&e.top>=u.bottom)&&(s=m+1)}}return!t&&l&&(t=l,a=p,n=0),t&&t.nodeType==3?Dd(t,a):!t||n&&t.nodeType==1?{node:o,offset:s}:ml(t,a)}function Dd(o,e){let t=o.nodeValue.length,n=document.createRange();for(let a=0;a<t;a++){n.setEnd(o,a+1),n.setStart(o,a);let s=_t(n,1);if(s.top!=s.bottom&&As(e,s))return{node:o,offset:a+(e.left>=(s.left+s.right)/2?1:0)}}return{node:o,offset:0}}function As(o,e){return o.left>=e.left-1&&o.left<=e.right+1&&o.top>=e.top-1&&o.top<=e.bottom+1}function wd(o,e){let t=o.parentNode;return t&&/^li$/i.test(t.nodeName)&&e.left<o.getBoundingClientRect().left?t:o}function Id(o,e,t){let{node:n,offset:a}=ml(e,t),s=-1;if(n.nodeType==1&&!n.firstChild){let i=n.getBoundingClientRect();s=i.left!=i.right&&t.left>(i.left+i.right)/2?1:-1}return o.docView.posFromDOM(n,a,s)}function Cd(o,e,t,n){let a=-1;for(let s=e,i=!1;s!=o.dom;){let r=o.docView.nearestDesc(s,!0);if(!r)return null;if(r.dom.nodeType==1&&(r.node.isBlock&&r.parent||!r.contentDOM)){let l=r.dom.getBoundingClientRect();if(r.node.isBlock&&r.parent&&(!i&&l.left>n.left||l.top>n.top?a=r.posBefore:(!i&&l.right<n.left||l.bottom<n.top)&&(a=r.posAfter),i=!0),!r.contentDOM&&a<0&&!r.node.isText)return(r.node.isBlock?n.top<(l.top+l.bottom)/2:n.left<(l.left+l.right)/2)?r.posBefore:r.posAfter}s=r.dom.parentNode}return a>-1?a:o.docView.posFromDOM(e,t,-1)}function dl(o,e,t){let n=o.childNodes.length;if(n&&t.top<t.bottom)for(let a=Math.max(0,Math.min(n-1,Math.floor(n*(e.top-t.top)/(t.bottom-t.top))-2)),s=a;;){let i=o.childNodes[s];if(i.nodeType==1){let r=i.getClientRects();for(let l=0;l<r.length;l++){let p=r[l];if(As(e,p))return dl(i,e,p)}}if((s=(s+1)%n)==a)break}return o}function Ed(o,e){let t=o.dom.ownerDocument,n,a=0,s=fd(t,e.left,e.top);s&&({node:n,offset:a}=s);let i=(o.root.elementFromPoint?o.root:t).elementFromPoint(e.left,e.top),r;if(!i||!o.dom.contains(i.nodeType!=1?i.parentNode:i)){let p=o.dom.getBoundingClientRect();if(!As(e,p)||(i=dl(o.dom,e,p),!i))return null}if(je)for(let p=i;n&&p;p=Wo(p))p.draggable&&(n=void 0);if(i=wd(i,e),n){if(Ve&&n.nodeType==1&&(a=Math.min(a,n.childNodes.length),a<n.childNodes.length)){let c=n.childNodes[a],m;c.nodeName=="IMG"&&(m=c.getBoundingClientRect()).right<=e.left&&m.bottom>e.top&&a++}let p;Uo&&a&&n.nodeType==1&&(p=n.childNodes[a-1]).nodeType==1&&p.contentEditable=="false"&&p.getBoundingClientRect().top>=e.top&&a--,n==o.dom&&a==n.childNodes.length-1&&n.lastChild.nodeType==1&&e.top>n.lastChild.getBoundingClientRect().bottom?r=o.state.doc.content.size:(a==0||n.nodeType!=1||n.childNodes[a-1].nodeName!="BR")&&(r=Cd(o,n,a,e))}r==null&&(r=Id(o,i,e));let l=o.docView.nearestDesc(i,!0);return{pos:r,inside:l?l.posAtStart-l.border:-1}}function ul(o){return o.top<o.bottom||o.left<o.right}function _t(o,e){let t=o.getClientRects();if(t.length){let n=t[e<0?0:t.length-1];if(ul(n))return n}return Array.prototype.find.call(t,ul)||o.getBoundingClientRect()}const xd=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function gl(o,e,t){let{node:n,offset:a,atom:s}=o.docView.domFromPos(e,t<0?-1:1),i=Uo||Ve;if(n.nodeType==3)if(i&&(xd.test(n.nodeValue)||(t<0?!a:a==n.nodeValue.length))){let l=_t(at(n,a,a),t);if(Ve&&a&&/\s/.test(n.nodeValue[a-1])&&a<n.nodeValue.length){let p=_t(at(n,a-1,a-1),-1);if(p.top==l.top){let c=_t(at(n,a,a+1),-1);if(c.top!=l.top)return Jo(c,c.left<p.left)}}return l}else{let l=a,p=a,c=t<0?1:-1;return t<0&&!a?(p++,c=-1):t>=0&&a==n.nodeValue.length?(l--,c=1):t<0?l--:p++,Jo(_t(at(n,l,p),c),c<0)}if(!o.state.doc.resolve(e-(s||0)).parent.inlineContent){if(s==null&&a&&(t<0||a==Ae(n))){let l=n.childNodes[a-1];if(l.nodeType==1)return Ts(l.getBoundingClientRect(),!1)}if(s==null&&a<Ae(n)){let l=n.childNodes[a];if(l.nodeType==1)return Ts(l.getBoundingClientRect(),!0)}return Ts(n.getBoundingClientRect(),t>=0)}if(s==null&&a&&(t<0||a==Ae(n))){let l=n.childNodes[a-1],p=l.nodeType==3?at(l,Ae(l)-(i?0:1)):l.nodeType==1&&(l.nodeName!="BR"||!l.nextSibling)?l:null;if(p)return Jo(_t(p,1),!1)}if(s==null&&a<Ae(n)){let l=n.childNodes[a];for(;l.pmViewDesc&&l.pmViewDesc.ignoreForCoords;)l=l.nextSibling;let p=l?l.nodeType==3?at(l,0,i?0:1):l.nodeType==1?l:null:null;if(p)return Jo(_t(p,-1),!0)}return Jo(_t(n.nodeType==3?at(n):n,-t),t>=0)}function Jo(o,e){if(o.width==0)return o;let t=e?o.left:o.right;return{top:o.top,bottom:o.bottom,left:t,right:t}}function Ts(o,e){if(o.height==0)return o;let t=e?o.top:o.bottom;return{top:t,bottom:t,left:o.left,right:o.right}}function fl(o,e,t){let n=o.state,a=o.root.activeElement;n!=e&&o.updateState(e),a!=o.dom&&o.focus();try{return t()}finally{n!=e&&o.updateState(n),a!=o.dom&&a&&a.focus()}}function Fd(o,e,t){let n=e.selection,a=t=="up"?n.$from:n.$to;return fl(o,e,()=>{let{node:s}=o.docView.domFromPos(a.pos,t=="up"?-1:1);for(;;){let r=o.docView.nearestDesc(s,!0);if(!r)break;if(r.node.isBlock){s=r.contentDOM||r.dom;break}s=r.dom.parentNode}let i=gl(o,a.pos,1);for(let r=s.firstChild;r;r=r.nextSibling){let l;if(r.nodeType==1)l=r.getClientRects();else if(r.nodeType==3)l=at(r,0,r.nodeValue.length).getClientRects();else continue;for(let p=0;p<l.length;p++){let c=l[p];if(c.bottom>c.top+1&&(t=="up"?i.top-c.top>(c.bottom-i.top)*2:c.bottom-i.bottom>(i.bottom-c.top)*2))return!1}}return!0})}const Sd=/[\u0590-\u08ac]/;function Md(o,e,t){let{$head:n}=e.selection;if(!n.parent.isTextblock)return!1;let a=n.parentOffset,s=!a,i=a==n.parent.content.size,r=o.domSelection();return r?!Sd.test(n.parent.textContent)||!r.modify?t=="left"||t=="backward"?s:i:fl(o,e,()=>{let{focusNode:l,focusOffset:p,anchorNode:c,anchorOffset:m}=o.domSelectionRange(),d=r.caretBidiLevel;r.modify("move",t,"character");let g=n.depth?o.docView.domAfterPos(n.before()):o.dom,{focusNode:u,focusOffset:h}=o.domSelectionRange(),j=u&&!g.contains(u.nodeType==1?u:u.parentNode)||l==u&&p==h;try{r.collapse(c,m),l&&(l!=c||p!=m)&&r.extend&&r.extend(l,p)}catch{}return d!=null&&(r.caretBidiLevel=d),j}):n.pos==n.start()||n.pos==n.end()}let hl=null,bl=null,jl=!1;function Ad(o,e,t){return hl==e&&bl==t?jl:(hl=e,bl=t,jl=t=="up"||t=="down"?Fd(o,e,t):Md(o,e,t))}const Oe=0,vl=1,Wt=2,Ge=3;class Go{constructor(e,t,n,a){this.parent=e,this.children=t,this.dom=n,this.contentDOM=a,this.dirty=Oe,n.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,t,n){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let t=0;t<this.children.length;t++)e+=this.children[t].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 t=0,n=this.posAtStart;;t++){let a=this.children[t];if(a==e)return n;n+=a.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,t,n){if(this.contentDOM&&this.contentDOM.contains(e.nodeType==1?e:e.parentNode))if(n<0){let s,i;if(e==this.contentDOM)s=e.childNodes[t-1];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;s=e.previousSibling}for(;s&&!((i=s.pmViewDesc)&&i.parent==this);)s=s.previousSibling;return s?this.posBeforeChild(i)+i.size:this.posAtStart}else{let s,i;if(e==this.contentDOM)s=e.childNodes[t];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;s=e.nextSibling}for(;s&&!((i=s.pmViewDesc)&&i.parent==this);)s=s.nextSibling;return s?this.posBeforeChild(i):this.posAtEnd}let a;if(e==this.dom&&this.contentDOM)a=t>me(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))a=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(t==0)for(let s=e;;s=s.parentNode){if(s==this.dom){a=!1;break}if(s.previousSibling)break}if(a==null&&t==e.childNodes.length)for(let s=e;;s=s.parentNode){if(s==this.dom){a=!0;break}if(s.nextSibling)break}}return a??n>0?this.posAtEnd:this.posAtStart}nearestDesc(e,t=!1){for(let n=!0,a=e;a;a=a.parentNode){let s=this.getDesc(a),i;if(s&&(!t||s.node))if(n&&(i=s.nodeDOM)&&!(i.nodeType==1?i.contains(e.nodeType==1?e:e.parentNode):i==e))n=!1;else return s}}getDesc(e){let t=e.pmViewDesc;for(let n=t;n;n=n.parent)if(n==this)return t}posFromDOM(e,t,n){for(let a=e;a;a=a.parentNode){let s=this.getDesc(a);if(s)return s.localPosFromDOM(e,t,n)}return-1}descAt(e){for(let t=0,n=0;t<this.children.length;t++){let a=this.children[t],s=n+a.size;if(n==e&&s!=n){for(;!a.border&&a.children.length;)a=a.children[0];return a}if(e<s)return a.descAt(e-n-a.border);n=s}}domFromPos(e,t){if(!this.contentDOM)return{node:this.dom,offset:0,atom:e+1};let n=0,a=0;for(let s=0;n<this.children.length;n++){let i=this.children[n],r=s+i.size;if(r>e||i instanceof _l){a=e-s;break}s=r}if(a)return this.children[n].domFromPos(a-this.children[n].border,t);for(let s;n&&!(s=this.children[n-1]).size&&s instanceof kl&&s.side>=0;n--);if(t<=0){let s,i=!0;for(;s=n?this.children[n-1]:null,!(!s||s.dom.parentNode==this.contentDOM);n--,i=!1);return s&&t&&i&&!s.border&&!s.domAtom?s.domFromPos(s.size,t):{node:this.contentDOM,offset:s?me(s.dom)+1:0}}else{let s,i=!0;for(;s=n<this.children.length?this.children[n]:null,!(!s||s.dom.parentNode==this.contentDOM);n++,i=!1);return s&&i&&!s.border&&!s.domAtom?s.domFromPos(0,t):{node:this.contentDOM,offset:s?me(s.dom):this.contentDOM.childNodes.length}}}parseRange(e,t,n=0){if(this.children.length==0)return{node:this.contentDOM,from:e,to:t,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let a=-1,s=-1;for(let i=n,r=0;;r++){let l=this.children[r],p=i+l.size;if(a==-1&&e<=p){let c=i+l.border;if(e>=c&&t<=p-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(e,t,c);e=i;for(let m=r;m>0;m--){let d=this.children[m-1];if(d.size&&d.dom.parentNode==this.contentDOM&&!d.emptyChildAt(1)){a=me(d.dom)+1;break}e-=d.size}a==-1&&(a=0)}if(a>-1&&(p>t||r==this.children.length-1)){t=p;for(let c=r+1;c<this.children.length;c++){let m=this.children[c];if(m.size&&m.dom.parentNode==this.contentDOM&&!m.emptyChildAt(-1)){s=me(m.dom);break}t+=m.size}s==-1&&(s=this.contentDOM.childNodes.length);break}i=p}return{node:this.contentDOM,from:e,to:t,fromOffset:a,toOffset:s}}emptyChildAt(e){if(this.border||!this.contentDOM||!this.children.length)return!1;let t=this.children[e<0?0:this.children.length-1];return t.size==0||t.emptyChildAt(e)}domAfterPos(e){let{node:t,offset:n}=this.domFromPos(e,0);if(t.nodeType!=1||n==t.childNodes.length)throw new RangeError("No node after pos "+e);return t.childNodes[n]}setSelection(e,t,n,a=!1){let s=Math.min(e,t),i=Math.max(e,t);for(let d=0,g=0;d<this.children.length;d++){let u=this.children[d],h=g+u.size;if(s>g&&i<h)return u.setSelection(e-g-u.border,t-g-u.border,n,a);g=h}let r=this.domFromPos(e,e?-1:1),l=t==e?r:this.domFromPos(t,t?-1:1),p=n.getSelection(),c=!1;if((Ve||je)&&e==t){let{node:d,offset:g}=r;if(d.nodeType==3){if(c=!!(g&&d.nodeValue[g-1]==`
|
|
6
|
+
`),c&&g==d.nodeValue.length)for(let u=d,h;u;u=u.parentNode){if(h=u.nextSibling){h.nodeName=="BR"&&(r=l={node:h.parentNode,offset:me(h)+1});break}let j=u.pmViewDesc;if(j&&j.node&&j.node.isBlock)break}}else{let u=d.childNodes[g-1];c=u&&(u.nodeName=="BR"||u.contentEditable=="false")}}if(Ve&&p.focusNode&&p.focusNode!=l.node&&p.focusNode.nodeType==1){let d=p.focusNode.childNodes[p.focusOffset];d&&d.contentEditable=="false"&&(a=!0)}if(!(a||c&&je)&&$t(r.node,r.offset,p.anchorNode,p.anchorOffset)&&$t(l.node,l.offset,p.focusNode,p.focusOffset))return;let m=!1;if((p.extend||e==t)&&!c){p.collapse(r.node,r.offset);try{e!=t&&p.extend(l.node,l.offset),m=!0}catch{}}if(!m){if(e>t){let g=r;r=l,l=g}let d=document.createRange();d.setEnd(l.node,l.offset),d.setStart(r.node,r.offset),p.removeAllRanges(),p.addRange(d)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,t){for(let n=0,a=0;a<this.children.length;a++){let s=this.children[a],i=n+s.size;if(n==i?e<=i&&t>=n:e<i&&t>n){let r=n+s.border,l=i-s.border;if(e>=r&&t<=l){this.dirty=e==n||t==i?Wt:vl,e==r&&t==l&&(s.contentLost||s.dom.parentNode!=this.contentDOM)?s.dirty=Ge:s.markDirty(e-r,t-r);return}else s.dirty=s.dom==s.contentDOM&&s.dom.parentNode==this.contentDOM&&!s.children.length?Wt:Ge}n=i}this.dirty=Wt}markParentsDirty(){let e=1;for(let t=this.parent;t;t=t.parent,e++){let n=e==1?Wt:vl;t.dirty<n&&(t.dirty=n)}}get domAtom(){return!1}get ignoreForCoords(){return!1}isText(e){return!1}}class kl extends Go{constructor(e,t,n,a){let s,i=t.type.toDOM;if(typeof i=="function"&&(i=i(n,()=>{if(!s)return a;if(s.parent)return s.parent.posBeforeChild(s)})),!t.type.spec.raw){if(i.nodeType!=1){let r=document.createElement("span");r.appendChild(i),i=r}i.contentEditable="false",i.classList.add("ProseMirror-widget")}super(e,[],i,null),this.widget=t,this.widget=t,s=this}matchesWidget(e){return this.dirty==Oe&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let t=this.widget.spec.stopEvent;return t?t(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 Td extends Go{constructor(e,t,n,a){super(e,[],t,null),this.textDOM=n,this.text=a}get size(){return this.text.length}localPosFromDOM(e,t){return e!=this.textDOM?this.posAtStart+(t?this.size:0):this.posAtStart+t}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}}class Kt extends Go{constructor(e,t,n,a){super(e,[],n,a),this.mark=t}static create(e,t,n,a){let s=a.nodeViews[t.type.name],i=s&&s(t,a,n);return(!i||!i.dom)&&(i=Vt.renderSpec(document,t.type.spec.toDOM(t,n),null,t.attrs)),new Kt(e,t,i.dom,i.contentDOM||i.dom)}parseRule(){return this.dirty&Ge||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=Ge&&this.mark.eq(e)}markDirty(e,t){if(super.markDirty(e,t),this.dirty!=Oe){let n=this.parent;for(;!n.node;)n=n.parent;n.dirty<this.dirty&&(n.dirty=this.dirty),this.dirty=Oe}}slice(e,t,n){let a=Kt.create(this.parent,this.mark,!0,n),s=this.children,i=this.size;t<i&&(s=Ns(s,t,i,n)),e>0&&(s=Ns(s,0,e,n));for(let r=0;r<s.length;r++)s[r].parent=a;return a.children=s,a}}class Dt extends Go{constructor(e,t,n,a,s,i,r,l,p){super(e,[],s,i),this.node=t,this.outerDeco=n,this.innerDeco=a,this.nodeDOM=r}static create(e,t,n,a,s,i){let r=s.nodeViews[t.type.name],l,p=r&&r(t,s,()=>{if(!l)return i;if(l.parent)return l.parent.posBeforeChild(l)},n,a),c=p&&p.dom,m=p&&p.contentDOM;if(t.isText){if(!c)c=document.createTextNode(t.text);else if(c.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else c||({dom:c,contentDOM:m}=Vt.renderSpec(document,t.type.spec.toDOM(t),null,t.attrs));!m&&!t.isText&&c.nodeName!="BR"&&(c.hasAttribute("contenteditable")||(c.contentEditable="false"),t.type.spec.draggable&&(c.draggable=!0));let d=c;return c=Il(c,n,t),p?l=new Od(e,t,n,a,c,m||null,d,p,s,i+1):t.isText?new $n(e,t,n,a,c,d,s):new Dt(e,t,n,a,c,m||null,d,s,i+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 t=this.children.length-1;t>=0;t--){let n=this.children[t];if(this.dom.contains(n.dom.parentNode)){e.contentElement=n.dom.parentNode;break}}e.contentElement||(e.getContent=()=>w.empty)}return e}matchesNode(e,t,n){return this.dirty==Oe&&e.eq(this.node)&&qn(t,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,t){let n=this.node.inlineContent,a=t,s=e.composing?this.localCompositionInfo(e,t):null,i=s&&s.pos>-1?s:null,r=s&&s.pos<0,l=new Bd(this,i&&i.node,e);Ld(this.node,this.innerDeco,(p,c,m)=>{p.spec.marks?l.syncToMarks(p.spec.marks,n,e):p.type.side>=0&&!m&&l.syncToMarks(c==this.node.childCount?K.none:this.node.child(c).marks,n,e),l.placeWidget(p,e,a)},(p,c,m,d)=>{l.syncToMarks(p.marks,n,e);let g;l.findNodeMatch(p,c,m,d)||r&&e.state.selection.from>a&&e.state.selection.to<a+p.nodeSize&&(g=l.findIndexWithChild(s.node))>-1&&l.updateNodeAt(p,c,m,g,e)||l.updateNextNode(p,c,m,e,d,a)||l.addNode(p,c,m,e,a),a+=p.nodeSize}),l.syncToMarks([],n,e),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==Wt)&&(i&&this.protectLocalComposition(e,i),Dl(this.contentDOM,this.children,e),fo&&zd(this.dom))}localCompositionInfo(e,t){let{from:n,to:a}=e.state.selection;if(!(e.state.selection instanceof B)||n<t||a>t+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 i=s.nodeValue,r=Hd(this.node.content,i,n-t,a-t);return r<0?null:{node:s,pos:r,text:i}}else return{node:s,pos:-1,text:""}}protectLocalComposition(e,{node:t,pos:n,text:a}){if(this.getDesc(t))return;let s=t;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 i=new Td(this,s,t,a);e.input.compositionNodes.push(i),this.children=Ns(this.children,n,n+a.length,e,i)}update(e,t,n,a){return this.dirty==Ge||!e.sameMarkup(this.node)?!1:(this.updateInner(e,t,n,a),!0)}updateInner(e,t,n,a){this.updateOuterDeco(t),this.node=e,this.innerDeco=n,this.contentDOM&&this.updateChildren(a,this.posAtStart),this.dirty=Oe}updateOuterDeco(e){if(qn(e,this.outerDeco))return;let t=this.nodeDOM.nodeType!=1,n=this.dom;this.dom=wl(this.dom,this.nodeDOM,Os(this.outerDeco,this.node,t),Os(e,this.node,t)),this.dom!=n&&(n.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 yl(o,e,t,n,a){Il(n,e,o);let s=new Dt(void 0,o,e,t,n,n,n,a,0);return s.contentDOM&&s.updateChildren(a,0),s}class $n extends Dt{constructor(e,t,n,a,s,i,r){super(e,t,n,a,s,null,i,r,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,t,n,a){return this.dirty==Ge||this.dirty!=Oe&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(t),(this.dirty!=Oe||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,a.trackWrites==this.nodeDOM&&(a.trackWrites=null)),this.node=e,this.dirty=Oe,!0)}inParent(){let e=this.parent.contentDOM;for(let t=this.nodeDOM;t;t=t.parentNode)if(t==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,t,n){return e==this.nodeDOM?this.posAtStart+Math.min(t,this.node.text.length):super.localPosFromDOM(e,t,n)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,t,n){let a=this.node.cut(e,t),s=document.createTextNode(a.text);return new $n(this.parent,a,this.outerDeco,this.innerDeco,s,s,n)}markDirty(e,t){super.markDirty(e,t),this.dom!=this.nodeDOM&&(e==0||t==this.nodeDOM.nodeValue.length)&&(this.dirty=Ge)}get domAtom(){return!1}isText(e){return this.node.text==e}}class _l extends Go{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==Oe&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class Od extends Dt{constructor(e,t,n,a,s,i,r,l,p,c){super(e,t,n,a,s,i,r,p,c),this.spec=l}update(e,t,n,a){if(this.dirty==Ge)return!1;if(this.spec.update){let s=this.spec.update(e,t,n);return s&&this.updateInner(e,t,n,a),s}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,t,n,a)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,t,n,a){this.spec.setSelection?this.spec.setSelection(e,t,n):super.setSelection(e,t,n,a)}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 Dl(o,e,t){let n=o.firstChild,a=!1;for(let s=0;s<e.length;s++){let i=e[s],r=i.dom;if(r.parentNode==o){for(;r!=n;)n=Cl(n),a=!0;n=n.nextSibling}else a=!0,o.insertBefore(r,n);if(i instanceof Kt){let l=n?n.previousSibling:o.lastChild;Dl(i.contentDOM,i.children,t),n=l?l.nextSibling:o.firstChild}}for(;n;)n=Cl(n),a=!0;a&&t.trackWrites==o&&(t.trackWrites=null)}const Yo=function(o){o&&(this.nodeName=o)};Yo.prototype=Object.create(null);const Ut=[new Yo];function Os(o,e,t){if(o.length==0)return Ut;let n=t?Ut[0]:new Yo,a=[n];for(let s=0;s<o.length;s++){let i=o[s].type.attrs;if(i){i.nodeName&&a.push(n=new Yo(i.nodeName));for(let r in i){let l=i[r];l!=null&&(t&&a.length==1&&a.push(n=new Yo(e.isInline?"span":"div")),r=="class"?n.class=(n.class?n.class+" ":"")+l:r=="style"?n.style=(n.style?n.style+";":"")+l:r!="nodeName"&&(n[r]=l))}}}return a}function wl(o,e,t,n){if(t==Ut&&n==Ut)return e;let a=e;for(let s=0;s<n.length;s++){let i=n[s],r=t[s];if(s){let l;r&&r.nodeName==i.nodeName&&a!=o&&(l=a.parentNode)&&l.nodeName.toLowerCase()==i.nodeName||(l=document.createElement(i.nodeName),l.pmIsDeco=!0,l.appendChild(a),r=Ut[0]),a=l}Nd(a,r||Ut[0],i)}return a}function Nd(o,e,t){for(let n in e)n!="class"&&n!="style"&&n!="nodeName"&&!(n in t)&&o.removeAttribute(n);for(let n in t)n!="class"&&n!="style"&&n!="nodeName"&&t[n]!=e[n]&&o.setAttribute(n,t[n]);if(e.class!=t.class){let n=e.class?e.class.split(" ").filter(Boolean):[],a=t.class?t.class.split(" ").filter(Boolean):[];for(let s=0;s<n.length;s++)a.indexOf(n[s])==-1&&o.classList.remove(n[s]);for(let s=0;s<a.length;s++)n.indexOf(a[s])==-1&&o.classList.add(a[s]);o.classList.length==0&&o.removeAttribute("class")}if(e.style!=t.style){if(e.style){let n=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,a;for(;a=n.exec(e.style);)o.style.removeProperty(a[1])}t.style&&(o.style.cssText+=t.style)}}function Il(o,e,t){return wl(o,o,Ut,Os(e,t,o.nodeType!=1))}function qn(o,e){if(o.length!=e.length)return!1;for(let t=0;t<o.length;t++)if(!o[t].type.eq(e[t].type))return!1;return!0}function Cl(o){let e=o.nextSibling;return o.parentNode.removeChild(o),e}class Bd{constructor(e,t,n){this.lock=t,this.view=n,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=Rd(e.node.content,e)}destroyBetween(e,t){if(e!=t){for(let n=e;n<t;n++)this.top.children[n].destroy();this.top.children.splice(e,t-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,t,n){let a=0,s=this.stack.length>>1,i=Math.min(s,e.length);for(;a<i&&(a==s-1?this.top:this.stack[a+1<<1]).matchesMark(e[a])&&e[a].type.spec.spanning!==!1;)a++;for(;a<s;)this.destroyRest(),this.top.dirty=Oe,this.index=this.stack.pop(),this.top=this.stack.pop(),s--;for(;s<e.length;){this.stack.push(this.top,this.index+1);let r=-1;for(let l=this.index;l<Math.min(this.index+3,this.top.children.length);l++){let p=this.top.children[l];if(p.matchesMark(e[s])&&!this.isLocked(p.dom)){r=l;break}}if(r>-1)r>this.index&&(this.changed=!0,this.destroyBetween(this.index,r)),this.top=this.top.children[this.index];else{let l=Kt.create(this.top,e[s],t,n);this.top.children.splice(this.index,0,l),this.top=l,this.changed=!0}this.index=0,s++}}findNodeMatch(e,t,n,a){let s=-1,i;if(a>=this.preMatch.index&&(i=this.preMatch.matches[a-this.preMatch.index]).parent==this.top&&i.matchesNode(e,t,n))s=this.top.children.indexOf(i,this.index);else for(let r=this.index,l=Math.min(this.top.children.length,r+5);r<l;r++){let p=this.top.children[r];if(p.matchesNode(e,t,n)&&!this.preMatch.matched.has(p)){s=r;break}}return s<0?!1:(this.destroyBetween(this.index,s),this.index++,!0)}updateNodeAt(e,t,n,a,s){let i=this.top.children[a];return i.dirty==Ge&&i.dom==i.contentDOM&&(i.dirty=Wt),i.update(e,t,n,s)?(this.destroyBetween(this.index,a),this.index++,!0):!1}findIndexWithChild(e){for(;;){let t=e.parentNode;if(!t)return-1;if(t==this.top.contentDOM){let n=e.pmViewDesc;if(n){for(let a=this.index;a<this.top.children.length;a++)if(this.top.children[a]==n)return a}return-1}e=t}}updateNextNode(e,t,n,a,s,i){for(let r=this.index;r<this.top.children.length;r++){let l=this.top.children[r];if(l instanceof Dt){let p=this.preMatch.matched.get(l);if(p!=null&&p!=s)return!1;let c=l.dom,m,d=this.isLocked(c)&&!(e.isText&&l.node&&l.node.isText&&l.nodeDOM.nodeValue==e.text&&l.dirty!=Ge&&qn(t,l.outerDeco));if(!d&&l.update(e,t,n,a))return this.destroyBetween(this.index,r),l.dom!=c&&(this.changed=!0),this.index++,!0;if(!d&&(m=this.recreateWrapper(l,e,t,n,a,i)))return this.destroyBetween(this.index,r),this.top.children[this.index]=m,m.contentDOM&&(m.dirty=Wt,m.updateChildren(a,i+1),m.dirty=Oe),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,t,n,a,s,i){if(e.dirty||t.isAtom||!e.children.length||!e.node.content.eq(t.content)||!qn(n,e.outerDeco)||!a.eq(e.innerDeco))return null;let r=Dt.create(this.top,t,n,a,s,i);if(r.contentDOM){r.children=e.children,e.children=[];for(let l of r.children)l.parent=r}return e.destroy(),r}addNode(e,t,n,a,s){let i=Dt.create(this.top,e,t,n,a,s);i.contentDOM&&i.updateChildren(a,s+1),this.top.children.splice(this.index++,0,i),this.changed=!0}placeWidget(e,t,n){let a=this.index<this.top.children.length?this.top.children[this.index]:null;if(a&&a.matchesWidget(e)&&(e==a.widget||!a.widget.type.toDOM.parentNode))this.index++;else{let s=new kl(this.top,e,t,n);this.top.children.splice(this.index++,0,s),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],t=this.top;for(;e instanceof Kt;)t=e,e=t.children[t.children.length-1];(!e||!(e instanceof $n)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((je||ge)&&e&&e.dom.contentEditable=="false"&&this.addHackNode("IMG",t),this.addHackNode("BR",this.top))}addHackNode(e,t){if(t==this.top&&this.index<t.children.length&&t.children[this.index].matchesHack(e))this.index++;else{let n=document.createElement(e);e=="IMG"&&(n.className="ProseMirror-separator",n.alt=""),e=="BR"&&(n.className="ProseMirror-trailingBreak");let a=new _l(this.top,[],n,null);t!=this.top?t.children.push(a):t.children.splice(this.index++,0,a),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||e.nodeType==1&&e.contains(this.lock.parentNode))}}function Rd(o,e){let t=e,n=t.children.length,a=o.childCount,s=new Map,i=[];e:for(;a>0;){let r;for(;;)if(n){let p=t.children[n-1];if(p instanceof Kt)t=p,n=p.children.length;else{r=p,n--;break}}else{if(t==e)break e;n=t.parent.children.indexOf(t),t=t.parent}let l=r.node;if(l){if(l!=o.child(a-1))break;--a,s.set(r,a),i.push(r)}}return{index:a,matched:s,matches:i.reverse()}}function Pd(o,e){return o.type.side-e.type.side}function Ld(o,e,t,n){let a=e.locals(o),s=0;if(a.length==0){for(let p=0;p<o.childCount;p++){let c=o.child(p);n(c,a,e.forChild(s,c),p),s+=c.nodeSize}return}let i=0,r=[],l=null;for(let p=0;;){let c,m;for(;i<a.length&&a[i].to==s;){let j=a[i++];j.widget&&(c?(m||(m=[c])).push(j):c=j)}if(c)if(m){m.sort(Pd);for(let j=0;j<m.length;j++)t(m[j],p,!!l)}else t(c,p,!!l);let d,g;if(l)g=-1,d=l,l=null;else if(p<o.childCount)g=p,d=o.child(p++);else break;for(let j=0;j<r.length;j++)r[j].to<=s&&r.splice(j--,1);for(;i<a.length&&a[i].from<=s&&a[i].to>s;)r.push(a[i++]);let u=s+d.nodeSize;if(d.isText){let j=u;i<a.length&&a[i].from<j&&(j=a[i].from);for(let v=0;v<r.length;v++)r[v].to<j&&(j=r[v].to);j<u&&(l=d.cut(j-s),d=d.cut(0,j-s),u=j,g=-1)}else for(;i<a.length&&a[i].to<u;)i++;let h=d.isInline&&!d.isLeaf?r.filter(j=>!j.inline):r.slice();n(d,h,e.forChild(s,d),g),s=u}}function zd(o){if(o.nodeName=="UL"||o.nodeName=="OL"){let e=o.style.cssText;o.style.cssText=e+"; list-style: square !important",window.getComputedStyle(o).listStyle,o.style.cssText=e}}function Hd(o,e,t,n){for(let a=0,s=0;a<o.childCount&&s<=n;){let i=o.child(a++),r=s;if(s+=i.nodeSize,!i.isText)continue;let l=i.text;for(;a<o.childCount;){let p=o.child(a++);if(s+=p.nodeSize,!p.isText)break;l+=p.text}if(s>=t){if(s>=n&&l.slice(n-e.length-r,n-r)==e)return n-e.length;let p=r<n?l.lastIndexOf(e,n-r-1):-1;if(p>=0&&p+e.length+r>=t)return r+p;if(t==n&&l.length>=n+e.length-r&&l.slice(n-r,n-r+e.length)==e)return n}}return-1}function Ns(o,e,t,n,a){let s=[];for(let i=0,r=0;i<o.length;i++){let l=o[i],p=r,c=r+=l.size;p>=t||c<=e?s.push(l):(p<e&&s.push(l.slice(0,e-p,n)),a&&(s.push(a),a=void 0),c>t&&s.push(l.slice(t-p,l.size,n)))}return s}function Bs(o,e=null){let t=o.domSelectionRange(),n=o.state.doc;if(!t.focusNode)return null;let a=o.docView.nearestDesc(t.focusNode),s=a&&a.size==0,i=o.docView.posFromDOM(t.focusNode,t.focusOffset,1);if(i<0)return null;let r=n.resolve(i),l,p;if(Vn(t)){for(l=i;a&&!a.node;)a=a.parent;let m=a.node;if(a&&m.isAtom&&A.isSelectable(m)&&a.parent&&!(m.isInline&&ud(t.focusNode,t.focusOffset,a.dom))){let d=a.posBefore;p=new A(i==d?r:n.resolve(d))}}else{if(t instanceof o.dom.ownerDocument.defaultView.Selection&&t.rangeCount>1){let m=i,d=i;for(let g=0;g<t.rangeCount;g++){let u=t.getRangeAt(g);m=Math.min(m,o.docView.posFromDOM(u.startContainer,u.startOffset,1)),d=Math.max(d,o.docView.posFromDOM(u.endContainer,u.endOffset,-1))}if(m<0)return null;[l,i]=d==o.state.selection.anchor?[d,m]:[m,d],r=n.resolve(i)}else l=o.docView.posFromDOM(t.anchorNode,t.anchorOffset,1);if(l<0)return null}let c=n.resolve(l);if(!p){let m=e=="pointer"||o.state.selection.head<r.pos&&!s?1:-1;p=Ps(o,c,r,m)}return p}function El(o){return o.editable?o.hasFocus():Ol(o)&&document.activeElement&&document.activeElement.contains(o.dom)}function it(o,e=!1){let t=o.state.selection;if(Ml(o,t),!!El(o)){if(!e&&o.input.mouseDown&&o.input.mouseDown.allowDefault&&ge){let n=o.domSelectionRange(),a=o.domObserver.currentSelection;if(n.anchorNode&&a.anchorNode&&$t(n.anchorNode,n.anchorOffset,a.anchorNode,a.anchorOffset)){o.input.mouseDown.delayedSelectionSync=!0,o.domObserver.setCurSelection();return}}if(o.domObserver.disconnectSelection(),o.cursorWrapper)$d(o);else{let{anchor:n,head:a}=t,s,i;xl&&!(t instanceof B)&&(t.$from.parent.inlineContent||(s=Fl(o,t.from)),!t.empty&&!t.$from.parent.inlineContent&&(i=Fl(o,t.to))),o.docView.setSelection(n,a,o.root,e),xl&&(s&&Sl(s),i&&Sl(i)),t.visible?o.dom.classList.remove("ProseMirror-hideselection"):(o.dom.classList.add("ProseMirror-hideselection"),"onselectionchange"in document&&Vd(o))}o.domObserver.setCurSelection(),o.domObserver.connectSelection()}}const xl=je||ge&&rl<63;function Fl(o,e){let{node:t,offset:n}=o.docView.domFromPos(e,0),a=n<t.childNodes.length?t.childNodes[n]:null,s=n?t.childNodes[n-1]:null;if(je&&a&&a.contentEditable=="false")return Rs(a);if((!a||a.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(a)return Rs(a);if(s)return Rs(s)}}function Rs(o){return o.contentEditable="true",je&&o.draggable&&(o.draggable=!1,o.wasDraggable=!0),o}function Sl(o){o.contentEditable="false",o.wasDraggable&&(o.draggable=!0,o.wasDraggable=null)}function Vd(o){let e=o.dom.ownerDocument;e.removeEventListener("selectionchange",o.input.hideSelectionGuard);let t=o.domSelectionRange(),n=t.anchorNode,a=t.anchorOffset;e.addEventListener("selectionchange",o.input.hideSelectionGuard=()=>{(t.anchorNode!=n||t.anchorOffset!=a)&&(e.removeEventListener("selectionchange",o.input.hideSelectionGuard),setTimeout(()=>{(!El(o)||o.state.selection.visible)&&o.dom.classList.remove("ProseMirror-hideselection")},20))})}function $d(o){let e=o.domSelection(),t=document.createRange();if(!e)return;let n=o.cursorWrapper.dom,a=n.nodeName=="IMG";a?t.setStart(n.parentNode,me(n)+1):t.setStart(n,0),t.collapse(!0),e.removeAllRanges(),e.addRange(t),!a&&!o.state.selection.visible&&_e&&yt<=11&&(n.disabled=!0,n.disabled=!1)}function Ml(o,e){if(e instanceof A){let t=o.docView.descAt(e.from);t!=o.lastSelectedViewDesc&&(Al(o),t&&t.selectNode(),o.lastSelectedViewDesc=t)}else Al(o)}function Al(o){o.lastSelectedViewDesc&&(o.lastSelectedViewDesc.parent&&o.lastSelectedViewDesc.deselectNode(),o.lastSelectedViewDesc=void 0)}function Ps(o,e,t,n){return o.someProp("createSelectionBetween",a=>a(o,e,t))||B.between(e,t,n)}function Tl(o){return o.editable&&!o.hasFocus()?!1:Ol(o)}function Ol(o){let e=o.domSelectionRange();if(!e.anchorNode)return!1;try{return o.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(o.editable||o.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch{return!1}}function qd(o){let e=o.docView.domFromPos(o.state.selection.anchor,0),t=o.domSelectionRange();return $t(e.node,e.offset,t.anchorNode,t.anchorOffset)}function Ls(o,e){let{$anchor:t,$head:n}=o.selection,a=e>0?t.max(n):t.min(n),s=a.parent.inlineContent?a.depth?o.doc.resolve(e>0?a.after():a.before()):null:a;return s&&R.findFrom(s,e)}function wt(o,e){return o.dispatch(o.state.tr.setSelection(e).scrollIntoView()),!0}function Nl(o,e,t){let n=o.state.selection;if(n instanceof B)if(t.indexOf("s")>-1){let{$head:a}=n,s=a.textOffset?null:e<0?a.nodeBefore:a.nodeAfter;if(!s||s.isText||!s.isLeaf)return!1;let i=o.state.doc.resolve(a.pos+s.nodeSize*(e<0?-1:1));return wt(o,new B(n.$anchor,i))}else if(n.empty){if(o.endOfTextblock(e>0?"forward":"backward")){let a=Ls(o.state,e);return a&&a instanceof A?wt(o,a):!1}else if(!(Te&&t.indexOf("m")>-1)){let a=n.$head,s=a.textOffset?null:e<0?a.nodeBefore:a.nodeAfter,i;if(!s||s.isText)return!1;let r=e<0?a.pos-s.nodeSize:a.pos;return s.isAtom||(i=o.docView.descAt(r))&&!i.contentDOM?A.isSelectable(s)?wt(o,new A(e<0?o.state.doc.resolve(a.pos-s.nodeSize):a)):Uo?wt(o,new B(o.state.doc.resolve(e<0?r:r+s.nodeSize))):!1:!1}}else return!1;else{if(n instanceof A&&n.node.isInline)return wt(o,new B(e>0?n.$to:n.$from));{let a=Ls(o.state,e);return a?wt(o,a):!1}}}function Wn(o){return o.nodeType==3?o.nodeValue.length:o.childNodes.length}function Xo(o,e){let t=o.pmViewDesc;return t&&t.size==0&&(e<0||o.nextSibling||o.nodeName!="BR")}function bo(o,e){return e<0?Wd(o):Kd(o)}function Wd(o){let e=o.domSelectionRange(),t=e.focusNode,n=e.focusOffset;if(!t)return;let a,s,i=!1;for(Ve&&t.nodeType==1&&n<Wn(t)&&Xo(t.childNodes[n],-1)&&(i=!0);;)if(n>0){if(t.nodeType!=1)break;{let r=t.childNodes[n-1];if(Xo(r,-1))a=t,s=--n;else if(r.nodeType==3)t=r,n=t.nodeValue.length;else break}}else{if(Bl(t))break;{let r=t.previousSibling;for(;r&&Xo(r,-1);)a=t.parentNode,s=me(r),r=r.previousSibling;if(r)t=r,n=Wn(t);else{if(t=t.parentNode,t==o.dom)break;n=0}}}i?zs(o,t,n):a&&zs(o,a,s)}function Kd(o){let e=o.domSelectionRange(),t=e.focusNode,n=e.focusOffset;if(!t)return;let a=Wn(t),s,i;for(;;)if(n<a){if(t.nodeType!=1)break;let r=t.childNodes[n];if(Xo(r,1))s=t,i=++n;else break}else{if(Bl(t))break;{let r=t.nextSibling;for(;r&&Xo(r,1);)s=r.parentNode,i=me(r)+1,r=r.nextSibling;if(r)t=r,n=0,a=Wn(t);else{if(t=t.parentNode,t==o.dom)break;n=a=0}}}s&&zs(o,s,i)}function Bl(o){let e=o.pmViewDesc;return e&&e.node&&e.node.isBlock}function Ud(o,e){for(;o&&e==o.childNodes.length&&!Ko(o);)e=me(o)+1,o=o.parentNode;for(;o&&e<o.childNodes.length;){let t=o.childNodes[e];if(t.nodeType==3)return t;if(t.nodeType==1&&t.contentEditable=="false")break;o=t,e=0}}function Jd(o,e){for(;o&&!e&&!Ko(o);)e=me(o),o=o.parentNode;for(;o&&e;){let t=o.childNodes[e-1];if(t.nodeType==3)return t;if(t.nodeType==1&&t.contentEditable=="false")break;o=t,e=o.childNodes.length}}function zs(o,e,t){if(e.nodeType!=3){let s,i;(i=Ud(e,t))?(e=i,t=0):(s=Jd(e,t))&&(e=s,t=s.nodeValue.length)}let n=o.domSelection();if(!n)return;if(Vn(n)){let s=document.createRange();s.setEnd(e,t),s.setStart(e,t),n.removeAllRanges(),n.addRange(s)}else n.extend&&n.extend(e,t);o.domObserver.setCurSelection();let{state:a}=o;setTimeout(()=>{o.state==a&&it(o)},50)}function Rl(o,e){let t=o.state.doc.resolve(e);if(!(ge||hd)&&t.parent.inlineContent){let a=o.coordsAtPos(e);if(e>t.start()){let s=o.coordsAtPos(e-1),i=(s.top+s.bottom)/2;if(i>a.top&&i<a.bottom&&Math.abs(s.left-a.left)>1)return s.left<a.left?"ltr":"rtl"}if(e<t.end()){let s=o.coordsAtPos(e+1),i=(s.top+s.bottom)/2;if(i>a.top&&i<a.bottom&&Math.abs(s.left-a.left)>1)return s.left>a.left?"ltr":"rtl"}}return getComputedStyle(o.dom).direction=="rtl"?"rtl":"ltr"}function Pl(o,e,t){let n=o.state.selection;if(n instanceof B&&!n.empty||t.indexOf("s")>-1||Te&&t.indexOf("m")>-1)return!1;let{$from:a,$to:s}=n;if(!a.parent.inlineContent||o.endOfTextblock(e<0?"up":"down")){let i=Ls(o.state,e);if(i&&i instanceof A)return wt(o,i)}if(!a.parent.inlineContent){let i=e<0?a:s,r=n instanceof He?R.near(i,e):R.findFrom(i,e);return r?wt(o,r):!1}return!1}function Ll(o,e){if(!(o.state.selection instanceof B))return!0;let{$head:t,$anchor:n,empty:a}=o.state.selection;if(!t.sameParent(n))return!0;if(!a)return!1;if(o.endOfTextblock(e>0?"forward":"backward"))return!0;let s=!t.textOffset&&(e<0?t.nodeBefore:t.nodeAfter);if(s&&!s.isText){let i=o.state.tr;return e<0?i.delete(t.pos-s.nodeSize,t.pos):i.delete(t.pos,t.pos+s.nodeSize),o.dispatch(i),!0}return!1}function zl(o,e,t){o.domObserver.stop(),e.contentEditable=t,o.domObserver.start()}function Gd(o){if(!je||o.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:t}=o.domSelectionRange();if(e&&e.nodeType==1&&t==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let n=e.firstChild;zl(o,n,"true"),setTimeout(()=>zl(o,n,"false"),20)}return!1}function Yd(o){let e="";return o.ctrlKey&&(e+="c"),o.metaKey&&(e+="m"),o.altKey&&(e+="a"),o.shiftKey&&(e+="s"),e}function Xd(o,e){let t=e.keyCode,n=Yd(e);if(t==8||Te&&t==72&&n=="c")return Ll(o,-1)||bo(o,-1);if(t==46&&!e.shiftKey||Te&&t==68&&n=="c")return Ll(o,1)||bo(o,1);if(t==13||t==27)return!0;if(t==37||Te&&t==66&&n=="c"){let a=t==37?Rl(o,o.state.selection.from)=="ltr"?-1:1:-1;return Nl(o,a,n)||bo(o,a)}else if(t==39||Te&&t==70&&n=="c"){let a=t==39?Rl(o,o.state.selection.from)=="ltr"?1:-1:1;return Nl(o,a,n)||bo(o,a)}else{if(t==38||Te&&t==80&&n=="c")return Pl(o,-1,n)||bo(o,-1);if(t==40||Te&&t==78&&n=="c")return Gd(o)||Pl(o,1,n)||bo(o,1);if(n==(Te?"m":"c")&&(t==66||t==73||t==89||t==90))return!0}return!1}function Hl(o,e){o.someProp("transformCopied",g=>{e=g(e,o)});let t=[],{content:n,openStart:a,openEnd:s}=e;for(;a>1&&s>1&&n.childCount==1&&n.firstChild.childCount==1;){a--,s--;let g=n.firstChild;t.push(g.type.name,g.attrs!=g.type.defaultAttrs?g.attrs:null),n=g.content}let i=o.someProp("clipboardSerializer")||Vt.fromSchema(o.state.schema),r=Gl(),l=r.createElement("div");l.appendChild(i.serializeFragment(n,{document:r}));let p=l.firstChild,c,m=0;for(;p&&p.nodeType==1&&(c=Ul[p.nodeName.toLowerCase()]);){for(let g=c.length-1;g>=0;g--){let u=r.createElement(c[g]);for(;l.firstChild;)u.appendChild(l.firstChild);l.appendChild(u),m++}p=l.firstChild}p&&p.nodeType==1&&p.setAttribute("data-pm-slice",`${a} ${s}${m?` -${m}`:""} ${JSON.stringify(t)}`);let d=o.someProp("clipboardTextSerializer",g=>g(e,o))||e.content.textBetween(0,e.content.size,`
|
|
7
|
+
|
|
8
|
+
`);return{dom:l,text:d,slice:e}}function Vl(o,e,t,n,a){let s=a.parent.type.spec.code,i,r;if(!t&&!e)return null;let l=e&&(n||s||!t);if(l){if(o.someProp("transformPastedText",d=>{e=d(e,s||n,o)}),s)return e?new E(w.from(o.state.schema.text(e.replace(/\r\n?/g,`
|
|
9
|
+
`))),0,0):E.empty;let m=o.someProp("clipboardTextParser",d=>d(e,a,n,o));if(m)r=m;else{let d=a.marks(),{schema:g}=o.state,u=Vt.fromSchema(g);i=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(h=>{let j=i.appendChild(document.createElement("p"));h&&j.appendChild(u.serializeNode(g.text(h,d)))})}}else o.someProp("transformPastedHTML",m=>{t=m(t,o)}),i=tu(t),Uo&&ou(i);let p=i&&i.querySelector("[data-pm-slice]"),c=p&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(p.getAttribute("data-pm-slice")||"");if(c&&c[3])for(let m=+c[3];m>0;m--){let d=i.firstChild;for(;d&&d.nodeType!=1;)d=d.nextSibling;if(!d)break;i=d}if(r||(r=(o.someProp("clipboardParser")||o.someProp("domParser")||ht.fromSchema(o.state.schema)).parseSlice(i,{preserveWhitespace:!!(l||c),context:a,ruleFromNode(d){return d.nodeName=="BR"&&!d.nextSibling&&d.parentNode&&!Qd.test(d.parentNode.nodeName)?{ignore:!0}:null}})),c)r=nu(Kl(r,+c[1],+c[2]),c[4]);else if(r=E.maxOpen(Zd(r.content,a),!0),r.openStart||r.openEnd){let m=0,d=0;for(let g=r.content.firstChild;m<r.openStart&&!g.type.spec.isolating;m++,g=g.firstChild);for(let g=r.content.lastChild;d<r.openEnd&&!g.type.spec.isolating;d++,g=g.lastChild);r=Kl(r,m,d)}return o.someProp("transformPasted",m=>{r=m(r,o)}),r}const Qd=/^(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 Zd(o,e){if(o.childCount<2)return o;for(let t=e.depth;t>=0;t--){let a=e.node(t).contentMatchAt(e.index(t)),s,i=[];if(o.forEach(r=>{if(!i)return;let l=a.findWrapping(r.type),p;if(!l)return i=null;if(p=i.length&&s.length&&ql(l,s,r,i[i.length-1],0))i[i.length-1]=p;else{i.length&&(i[i.length-1]=Wl(i[i.length-1],s.length));let c=$l(r,l);i.push(c),a=a.matchType(c.type),s=l}}),i)return w.from(i)}return o}function $l(o,e,t=0){for(let n=e.length-1;n>=t;n--)o=e[n].create(null,w.from(o));return o}function ql(o,e,t,n,a){if(a<o.length&&a<e.length&&o[a]==e[a]){let s=ql(o,e,t,n.lastChild,a+1);if(s)return n.copy(n.content.replaceChild(n.childCount-1,s));if(n.contentMatchAt(n.childCount).matchType(a==o.length-1?t.type:o[a+1]))return n.copy(n.content.append(w.from($l(t,o,a+1))))}}function Wl(o,e){if(e==0)return o;let t=o.content.replaceChild(o.childCount-1,Wl(o.lastChild,e-1)),n=o.contentMatchAt(o.childCount).fillBefore(w.empty,!0);return o.copy(t.append(n))}function Hs(o,e,t,n,a,s){let i=e<0?o.firstChild:o.lastChild,r=i.content;return o.childCount>1&&(s=0),a<n-1&&(r=Hs(r,e,t,n,a+1,s)),a>=t&&(r=e<0?i.contentMatchAt(0).fillBefore(r,s<=a).append(r):r.append(i.contentMatchAt(i.childCount).fillBefore(w.empty,!0))),o.replaceChild(e<0?0:o.childCount-1,i.copy(r))}function Kl(o,e,t){return e<o.openStart&&(o=new E(Hs(o.content,-1,e,o.openStart,0,o.openEnd),e,o.openEnd)),t<o.openEnd&&(o=new E(Hs(o.content,1,t,o.openEnd,0,0),o.openStart,t)),o}const Ul={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 Jl=null;function Gl(){return Jl||(Jl=document.implementation.createHTMLDocument("title"))}function eu(o){let e=window.trustedTypes;return e?e.createPolicy("detachedDocument",{createHTML:t=>t}).createHTML(o):o}function tu(o){let e=/^(\s*<meta [^>]*>)*/.exec(o);e&&(o=o.slice(e[0].length));let t=Gl().createElement("div"),n=/<([a-z][^>\s]+)/i.exec(o),a;if((a=n&&Ul[n[1].toLowerCase()])&&(o=a.map(s=>"<"+s+">").join("")+o+a.map(s=>"</"+s+">").reverse().join("")),t.innerHTML=eu(o),a)for(let s=0;s<a.length;s++)t=t.querySelector(a[s])||t;return t}function ou(o){let e=o.querySelectorAll(ge?"span:not([class]):not([style])":"span.Apple-converted-space");for(let t=0;t<e.length;t++){let n=e[t];n.childNodes.length==1&&n.textContent==" "&&n.parentNode&&n.parentNode.replaceChild(o.ownerDocument.createTextNode(" "),n)}}function nu(o,e){if(!o.size)return o;let t=o.content.firstChild.type.schema,n;try{n=JSON.parse(e)}catch{return o}let{content:a,openStart:s,openEnd:i}=o;for(let r=n.length-2;r>=0;r-=2){let l=t.nodes[n[r]];if(!l||l.hasRequiredAttrs())break;a=w.from(l.create(n[r+1],a)),s++,i++}return new E(a,s,i)}const ve={},ke={},au={touchstart:!0,touchmove:!0};class su{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.lastAndroidDelete=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 iu(o){for(let e in ve){let t=ve[e];o.dom.addEventListener(e,o.input.eventHandlers[e]=n=>{lu(o,n)&&!$s(o,n)&&(o.editable||!(n.type in ke))&&t(o,n)},au[e]?{passive:!0}:void 0)}je&&o.dom.addEventListener("input",()=>null),Vs(o)}function It(o,e){o.input.lastSelectionOrigin=e,o.input.lastSelectionTime=Date.now()}function ru(o){o.domObserver.stop();for(let e in o.input.eventHandlers)o.dom.removeEventListener(e,o.input.eventHandlers[e]);clearTimeout(o.input.composingTimeout),clearTimeout(o.input.lastIOSEnterFallbackTimeout)}function Vs(o){o.someProp("handleDOMEvents",e=>{for(let t in e)o.input.eventHandlers[t]||o.dom.addEventListener(t,o.input.eventHandlers[t]=n=>$s(o,n))})}function $s(o,e){return o.someProp("handleDOMEvents",t=>{let n=t[e.type];return n?n(o,e)||e.defaultPrevented:!1})}function lu(o,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target;t!=o.dom;t=t.parentNode)if(!t||t.nodeType==11||t.pmViewDesc&&t.pmViewDesc.stopEvent(e))return!1;return!0}function pu(o,e){!$s(o,e)&&ve[e.type]&&(o.editable||!(e.type in ke))&&ve[e.type](o,e)}ke.keydown=(o,e)=>{let t=e;if(o.input.shiftKey=t.keyCode==16||t.shiftKey,!Xl(o,t)&&(o.input.lastKeyCode=t.keyCode,o.input.lastKeyCodeTime=Date.now(),!($e&&ge&&t.keyCode==13)))if(o.domObserver.selectionChanged(o.domSelectionRange())?o.domObserver.flush():t.keyCode!=229&&o.domObserver.forceFlush(),fo&&t.keyCode==13&&!t.ctrlKey&&!t.altKey&&!t.metaKey){let n=Date.now();o.input.lastIOSEnter=n,o.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{o.input.lastIOSEnter==n&&(o.someProp("handleKeyDown",a=>a(o,qt(13,"Enter"))),o.input.lastIOSEnter=0)},200)}else o.someProp("handleKeyDown",n=>n(o,t))||Xd(o,t)?t.preventDefault():It(o,"key")},ke.keyup=(o,e)=>{e.keyCode==16&&(o.input.shiftKey=!1)},ke.keypress=(o,e)=>{let t=e;if(Xl(o,t)||!t.charCode||t.ctrlKey&&!t.altKey||Te&&t.metaKey)return;if(o.someProp("handleKeyPress",a=>a(o,t))){t.preventDefault();return}let n=o.state.selection;if(!(n instanceof B)||!n.$from.sameParent(n.$to)){let a=String.fromCharCode(t.charCode);!/[\r\n]/.test(a)&&!o.someProp("handleTextInput",s=>s(o,n.$from.pos,n.$to.pos,a))&&o.dispatch(o.state.tr.insertText(a).scrollIntoView()),t.preventDefault()}};function Kn(o){return{left:o.clientX,top:o.clientY}}function cu(o,e){let t=e.x-o.clientX,n=e.y-o.clientY;return t*t+n*n<100}function qs(o,e,t,n,a){if(n==-1)return!1;let s=o.state.doc.resolve(n);for(let i=s.depth+1;i>0;i--)if(o.someProp(e,r=>i>s.depth?r(o,t,s.nodeAfter,s.before(i),a,!0):r(o,t,s.node(i),s.before(i),a,!1)))return!0;return!1}function jo(o,e,t){if(o.focused||o.focus(),o.state.selection.eq(e))return;let n=o.state.tr.setSelection(e);n.setMeta("pointer",!0),o.dispatch(n)}function mu(o,e){if(e==-1)return!1;let t=o.state.doc.resolve(e),n=t.nodeAfter;return n&&n.isAtom&&A.isSelectable(n)?(jo(o,new A(t)),!0):!1}function du(o,e){if(e==-1)return!1;let t=o.state.selection,n,a;t instanceof A&&(n=t.node);let s=o.state.doc.resolve(e);for(let i=s.depth+1;i>0;i--){let r=i>s.depth?s.nodeAfter:s.node(i);if(A.isSelectable(r)){n&&t.$from.depth>0&&i>=t.$from.depth&&s.before(t.$from.depth+1)==t.$from.pos?a=s.before(t.$from.depth):a=s.before(i);break}}return a!=null?(jo(o,A.create(o.state.doc,a)),!0):!1}function uu(o,e,t,n,a){return qs(o,"handleClickOn",e,t,n)||o.someProp("handleClick",s=>s(o,e,n))||(a?du(o,t):mu(o,t))}function gu(o,e,t,n){return qs(o,"handleDoubleClickOn",e,t,n)||o.someProp("handleDoubleClick",a=>a(o,e,n))}function fu(o,e,t,n){return qs(o,"handleTripleClickOn",e,t,n)||o.someProp("handleTripleClick",a=>a(o,e,n))||hu(o,t,n)}function hu(o,e,t){if(t.button!=0)return!1;let n=o.state.doc;if(e==-1)return n.inlineContent?(jo(o,B.create(n,0,n.content.size)),!0):!1;let a=n.resolve(e);for(let s=a.depth+1;s>0;s--){let i=s>a.depth?a.nodeAfter:a.node(s),r=a.before(s);if(i.inlineContent)jo(o,B.create(n,r+1,r+1+i.content.size));else if(A.isSelectable(i))jo(o,A.create(n,r));else continue;return!0}}function Ws(o){return Un(o)}const Yl=Te?"metaKey":"ctrlKey";ve.mousedown=(o,e)=>{let t=e;o.input.shiftKey=t.shiftKey;let n=Ws(o),a=Date.now(),s="singleClick";a-o.input.lastClick.time<500&&cu(t,o.input.lastClick)&&!t[Yl]&&(o.input.lastClick.type=="singleClick"?s="doubleClick":o.input.lastClick.type=="doubleClick"&&(s="tripleClick")),o.input.lastClick={time:a,x:t.clientX,y:t.clientY,type:s};let i=o.posAtCoords(Kn(t));i&&(s=="singleClick"?(o.input.mouseDown&&o.input.mouseDown.done(),o.input.mouseDown=new bu(o,i,t,!!n)):(s=="doubleClick"?gu:fu)(o,i.pos,i.inside,t)?t.preventDefault():It(o,"pointer"))};class bu{constructor(e,t,n,a){this.view=e,this.pos=t,this.event=n,this.flushed=a,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!n[Yl],this.allowDefault=n.shiftKey;let s,i;if(t.inside>-1)s=e.state.doc.nodeAt(t.inside),i=t.inside;else{let c=e.state.doc.resolve(t.pos);s=c.parent,i=c.depth?c.before():0}const r=a?null:n.target,l=r?e.docView.nearestDesc(r,!0):null;this.target=l&&l.dom.nodeType==1?l.dom:null;let{selection:p}=e.state;(n.button==0&&s.type.spec.draggable&&s.type.spec.selectable!==!1||p instanceof A&&p.from<=i&&p.to>i)&&(this.mightDrag={node:s,pos:i,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&Ve&&!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)),It(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(()=>it(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(Kn(e))),this.updateAllowDefault(e),this.allowDefault||!t?It(this.view,"pointer"):uu(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||je&&this.mightDrag&&!this.mightDrag.node.isAtom||ge&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?(jo(this.view,R.near(this.view.state.doc.resolve(t.pos))),e.preventDefault()):It(this.view,"pointer")}move(e){this.updateAllowDefault(e),It(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)}}ve.touchstart=o=>{o.input.lastTouch=Date.now(),Ws(o),It(o,"pointer")},ve.touchmove=o=>{o.input.lastTouch=Date.now(),It(o,"pointer")},ve.contextmenu=o=>Ws(o);function Xl(o,e){return o.composing?!0:je&&Math.abs(e.timeStamp-o.input.compositionEndedAt)<500?(o.input.compositionEndedAt=-2e8,!0):!1}const ju=$e?5e3:-1;ke.compositionstart=ke.compositionupdate=o=>{if(!o.composing){o.domObserver.flush();let{state:e}=o,t=e.selection.$to;if(e.selection instanceof B&&(e.storedMarks||!t.textOffset&&t.parentOffset&&t.nodeBefore.marks.some(n=>n.type.spec.inclusive===!1)))o.markCursor=o.state.storedMarks||t.marks(),Un(o,!0),o.markCursor=null;else if(Un(o,!e.selection.empty),Ve&&e.selection.empty&&t.parentOffset&&!t.textOffset&&t.nodeBefore.marks.length){let n=o.domSelectionRange();for(let a=n.focusNode,s=n.focusOffset;a&&a.nodeType==1&&s!=0;){let i=s<0?a.lastChild:a.childNodes[s-1];if(!i)break;if(i.nodeType==3){let r=o.domSelection();r&&r.collapse(i,i.nodeValue.length);break}else a=i,s=-1}}o.input.composing=!0}Ql(o,ju)},ke.compositionend=(o,e)=>{o.composing&&(o.input.composing=!1,o.input.compositionEndedAt=e.timeStamp,o.input.compositionPendingChanges=o.domObserver.pendingRecords().length?o.input.compositionID:0,o.input.compositionNode=null,o.input.compositionPendingChanges&&Promise.resolve().then(()=>o.domObserver.flush()),o.input.compositionID++,Ql(o,20))};function Ql(o,e){clearTimeout(o.input.composingTimeout),e>-1&&(o.input.composingTimeout=setTimeout(()=>Un(o),e))}function Zl(o){for(o.composing&&(o.input.composing=!1,o.input.compositionEndedAt=ku());o.input.compositionNodes.length>0;)o.input.compositionNodes.pop().markParentsDirty()}function vu(o){let e=o.domSelectionRange();if(!e.focusNode)return null;let t=md(e.focusNode,e.focusOffset),n=dd(e.focusNode,e.focusOffset);if(t&&n&&t!=n){let a=n.pmViewDesc,s=o.domObserver.lastChangedTextNode;if(t==s||n==s)return s;if(!a||!a.isText(n.nodeValue))return n;if(o.input.compositionNode==n){let i=t.pmViewDesc;if(!(!i||!i.isText(t.nodeValue)))return n}}return t||n}function ku(){let o=document.createEvent("Event");return o.initEvent("event",!0,!0),o.timeStamp}function Un(o,e=!1){if(!($e&&o.domObserver.flushingSoon>=0)){if(o.domObserver.forceFlush(),Zl(o),e||o.docView&&o.docView.dirty){let t=Bs(o);return t&&!t.eq(o.state.selection)?o.dispatch(o.state.tr.setSelection(t)):(o.markCursor||e)&&!o.state.selection.empty?o.dispatch(o.state.tr.deleteSelection()):o.updateState(o.state),!0}return!1}}function yu(o,e){if(!o.dom.parentNode)return;let t=o.dom.parentNode.appendChild(document.createElement("div"));t.appendChild(e),t.style.cssText="position: fixed; left: -10000px; top: 10px";let n=getSelection(),a=document.createRange();a.selectNodeContents(e),o.dom.blur(),n.removeAllRanges(),n.addRange(a),setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t),o.focus()},50)}const Qo=_e&&yt<15||fo&&bd<604;ve.copy=ke.cut=(o,e)=>{let t=e,n=o.state.selection,a=t.type=="cut";if(n.empty)return;let s=Qo?null:t.clipboardData,i=n.content(),{dom:r,text:l}=Hl(o,i);s?(t.preventDefault(),s.clearData(),s.setData("text/html",r.innerHTML),s.setData("text/plain",l)):yu(o,r),a&&o.dispatch(o.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function _u(o){return o.openStart==0&&o.openEnd==0&&o.content.childCount==1?o.content.firstChild:null}function Du(o,e){if(!o.dom.parentNode)return;let t=o.input.shiftKey||o.state.selection.$from.parent.type.spec.code,n=o.dom.parentNode.appendChild(document.createElement(t?"textarea":"div"));t||(n.contentEditable="true"),n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus();let a=o.input.shiftKey&&o.input.lastKeyCode!=45;setTimeout(()=>{o.focus(),n.parentNode&&n.parentNode.removeChild(n),t?Zo(o,n.value,null,a,e):Zo(o,n.textContent,n.innerHTML,a,e)},50)}function Zo(o,e,t,n,a){let s=Vl(o,e,t,n,o.state.selection.$from);if(o.someProp("handlePaste",l=>l(o,a,s||E.empty)))return!0;if(!s)return!1;let i=_u(s),r=i?o.state.tr.replaceSelectionWith(i,n):o.state.tr.replaceSelection(s);return o.dispatch(r.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function ep(o){let e=o.getData("text/plain")||o.getData("Text");if(e)return e;let t=o.getData("text/uri-list");return t?t.replace(/\r?\n/g," "):""}ke.paste=(o,e)=>{let t=e;if(o.composing&&!$e)return;let n=Qo?null:t.clipboardData,a=o.input.shiftKey&&o.input.lastKeyCode!=45;n&&Zo(o,ep(n),n.getData("text/html"),a,t)?t.preventDefault():Du(o,t)};class tp{constructor(e,t,n){this.slice=e,this.move=t,this.node=n}}const op=Te?"altKey":"ctrlKey";ve.dragstart=(o,e)=>{let t=e,n=o.input.mouseDown;if(n&&n.done(),!t.dataTransfer)return;let a=o.state.selection,s=a.empty?null:o.posAtCoords(Kn(t)),i;if(!(s&&s.pos>=a.from&&s.pos<=(a instanceof A?a.to-1:a.to))){if(n&&n.mightDrag)i=A.create(o.state.doc,n.mightDrag.pos);else if(t.target&&t.target.nodeType==1){let m=o.docView.nearestDesc(t.target,!0);m&&m.node.type.spec.draggable&&m!=o.docView&&(i=A.create(o.state.doc,m.posBefore))}}let r=(i||o.state.selection).content(),{dom:l,text:p,slice:c}=Hl(o,r);(!t.dataTransfer.files.length||!ge||rl>120)&&t.dataTransfer.clearData(),t.dataTransfer.setData(Qo?"Text":"text/html",l.innerHTML),t.dataTransfer.effectAllowed="copyMove",Qo||t.dataTransfer.setData("text/plain",p),o.dragging=new tp(c,!t[op],i)},ve.dragend=o=>{let e=o.dragging;window.setTimeout(()=>{o.dragging==e&&(o.dragging=null)},50)},ke.dragover=ke.dragenter=(o,e)=>e.preventDefault(),ke.drop=(o,e)=>{let t=e,n=o.dragging;if(o.dragging=null,!t.dataTransfer)return;let a=o.posAtCoords(Kn(t));if(!a)return;let s=o.state.doc.resolve(a.pos),i=n&&n.slice;i?o.someProp("transformPasted",u=>{i=u(i,o)}):i=Vl(o,ep(t.dataTransfer),Qo?null:t.dataTransfer.getData("text/html"),!1,s);let r=!!(n&&!t[op]);if(o.someProp("handleDrop",u=>u(o,t,i||E.empty,r))){t.preventDefault();return}if(!i)return;t.preventDefault();let l=i?qr(o.state.doc,s.pos,i):s.pos;l==null&&(l=s.pos);let p=o.state.tr;if(r){let{node:u}=n;u?u.replace(p):p.deleteSelection()}let c=p.mapping.map(l),m=i.openStart==0&&i.openEnd==0&&i.content.childCount==1,d=p.doc;if(m?p.replaceRangeWith(c,c,i.content.firstChild):p.replaceRange(c,c,i),p.doc.eq(d))return;let g=p.doc.resolve(c);if(m&&A.isSelectable(i.content.firstChild)&&g.nodeAfter&&g.nodeAfter.sameMarkup(i.content.firstChild))p.setSelection(new A(g));else{let u=p.mapping.map(l);p.mapping.maps[p.mapping.maps.length-1].forEach((h,j,v,k)=>u=k),p.setSelection(Ps(o,g,p.doc.resolve(u)))}o.focus(),o.dispatch(p.setMeta("uiEvent","drop"))},ve.focus=o=>{o.input.lastFocus=Date.now(),o.focused||(o.domObserver.stop(),o.dom.classList.add("ProseMirror-focused"),o.domObserver.start(),o.focused=!0,setTimeout(()=>{o.docView&&o.hasFocus()&&!o.domObserver.currentSelection.eq(o.domSelectionRange())&&it(o)},20))},ve.blur=(o,e)=>{let t=e;o.focused&&(o.domObserver.stop(),o.dom.classList.remove("ProseMirror-focused"),o.domObserver.start(),t.relatedTarget&&o.dom.contains(t.relatedTarget)&&o.domObserver.currentSelection.clear(),o.focused=!1)},ve.beforeinput=(o,e)=>{if(ge&&$e&&e.inputType=="deleteContentBackward"){o.domObserver.flushSoon();let{domChangeCount:n}=o.input;setTimeout(()=>{if(o.input.domChangeCount!=n||(o.dom.blur(),o.focus(),o.someProp("handleKeyDown",s=>s(o,qt(8,"Backspace")))))return;let{$cursor:a}=o.state.selection;a&&a.pos>0&&o.dispatch(o.state.tr.delete(a.pos-1,a.pos).scrollIntoView())},50)}};for(let o in ke)ve[o]=ke[o];function en(o,e){if(o==e)return!0;for(let t in o)if(o[t]!==e[t])return!1;for(let t in e)if(!(t in o))return!1;return!0}class Jn{constructor(e,t){this.toDOM=e,this.spec=t||Jt,this.side=this.spec.side||0}map(e,t,n,a){let{pos:s,deleted:i}=e.mapResult(t.from+a,this.side<0?-1:1);return i?null:new De(s-n,s-n,this)}valid(){return!0}eq(e){return this==e||e instanceof Jn&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&en(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}}class Ct{constructor(e,t){this.attrs=e,this.spec=t||Jt}map(e,t,n,a){let s=e.map(t.from+a,this.spec.inclusiveStart?-1:1)-n,i=e.map(t.to+a,this.spec.inclusiveEnd?1:-1)-n;return s>=i?null:new De(s,i,this)}valid(e,t){return t.from<t.to}eq(e){return this==e||e instanceof Ct&&en(this.attrs,e.attrs)&&en(this.spec,e.spec)}static is(e){return e.type instanceof Ct}destroy(){}}class Ks{constructor(e,t){this.attrs=e,this.spec=t||Jt}map(e,t,n,a){let s=e.mapResult(t.from+a,1);if(s.deleted)return null;let i=e.mapResult(t.to+a,-1);return i.deleted||i.pos<=s.pos?null:new De(s.pos-n,i.pos-n,this)}valid(e,t){let{index:n,offset:a}=e.content.findIndex(t.from),s;return a==t.from&&!(s=e.child(n)).isText&&a+s.nodeSize==t.to}eq(e){return this==e||e instanceof Ks&&en(this.attrs,e.attrs)&&en(this.spec,e.spec)}destroy(){}}class De{constructor(e,t,n){this.from=e,this.to=t,this.type=n}copy(e,t){return new De(e,t,this.type)}eq(e,t=0){return this.type.eq(e.type)&&this.from+t==e.from&&this.to+t==e.to}map(e,t,n){return this.type.map(e,this,t,n)}static widget(e,t,n){return new De(e,e,new Jn(t,n))}static inline(e,t,n,a){return new De(e,t,new Ct(n,a))}static node(e,t,n,a){return new De(e,t,new Ks(n,a))}get spec(){return this.type.spec}get inline(){return this.type instanceof Ct}get widget(){return this.type instanceof Jn}}const vo=[],Jt={};class ee{constructor(e,t){this.local=e.length?e:vo,this.children=t.length?t:vo}static create(e,t){return t.length?Gn(t,e,0,Jt):fe}find(e,t,n){let a=[];return this.findInner(e??0,t??1e9,a,0,n),a}findInner(e,t,n,a,s){for(let i=0;i<this.local.length;i++){let r=this.local[i];r.from<=t&&r.to>=e&&(!s||s(r.spec))&&n.push(r.copy(r.from+a,r.to+a))}for(let i=0;i<this.children.length;i+=3)if(this.children[i]<t&&this.children[i+1]>e){let r=this.children[i]+1;this.children[i+2].findInner(e-r,t-r,n,a+r,s)}}map(e,t,n){return this==fe||e.maps.length==0?this:this.mapInner(e,t,0,0,n||Jt)}mapInner(e,t,n,a,s){let i;for(let r=0;r<this.local.length;r++){let l=this.local[r].map(e,n,a);l&&l.type.valid(t,l)?(i||(i=[])).push(l):s.onRemove&&s.onRemove(this.local[r].spec)}return this.children.length?wu(this.children,i||[],e,t,n,a,s):i?new ee(i.sort(Gt),vo):fe}add(e,t){return t.length?this==fe?ee.create(e,t):this.addInner(e,t,0):this}addInner(e,t,n){let a,s=0;e.forEach((r,l)=>{let p=l+n,c;if(c=ap(t,r,p)){for(a||(a=this.children.slice());s<a.length&&a[s]<l;)s+=3;a[s]==l?a[s+2]=a[s+2].addInner(r,c,p+1):a.splice(s,0,l,l+r.nodeSize,Gn(c,r,p+1,Jt)),s+=3}});let i=np(s?sp(t):t,-n);for(let r=0;r<i.length;r++)i[r].type.valid(e,i[r])||i.splice(r--,1);return new ee(i.length?this.local.concat(i).sort(Gt):this.local,a||this.children)}remove(e){return e.length==0||this==fe?this:this.removeInner(e,0)}removeInner(e,t){let n=this.children,a=this.local;for(let s=0;s<n.length;s+=3){let i,r=n[s]+t,l=n[s+1]+t;for(let c=0,m;c<e.length;c++)(m=e[c])&&m.from>r&&m.to<l&&(e[c]=null,(i||(i=[])).push(m));if(!i)continue;n==this.children&&(n=this.children.slice());let p=n[s+2].removeInner(i,r+1);p!=fe?n[s+2]=p:(n.splice(s,3),s-=3)}if(a.length){for(let s=0,i;s<e.length;s++)if(i=e[s])for(let r=0;r<a.length;r++)a[r].eq(i,t)&&(a==this.local&&(a=this.local.slice()),a.splice(r--,1))}return n==this.children&&a==this.local?this:a.length||n.length?new ee(a,n):fe}forChild(e,t){if(this==fe)return this;if(t.isLeaf)return ee.empty;let n,a;for(let r=0;r<this.children.length;r+=3)if(this.children[r]>=e){this.children[r]==e&&(n=this.children[r+2]);break}let s=e+1,i=s+t.content.size;for(let r=0;r<this.local.length;r++){let l=this.local[r];if(l.from<i&&l.to>s&&l.type instanceof Ct){let p=Math.max(s,l.from)-s,c=Math.min(i,l.to)-s;p<c&&(a||(a=[])).push(l.copy(p,c))}}if(a){let r=new ee(a.sort(Gt),vo);return n?new Et([r,n]):r}return n||fe}eq(e){if(this==e)return!0;if(!(e instanceof ee)||this.local.length!=e.local.length||this.children.length!=e.children.length)return!1;for(let t=0;t<this.local.length;t++)if(!this.local[t].eq(e.local[t]))return!1;for(let t=0;t<this.children.length;t+=3)if(this.children[t]!=e.children[t]||this.children[t+1]!=e.children[t+1]||!this.children[t+2].eq(e.children[t+2]))return!1;return!0}locals(e){return Us(this.localsInner(e))}localsInner(e){if(this==fe)return vo;if(e.inlineContent||!this.local.some(Ct.is))return this.local;let t=[];for(let n=0;n<this.local.length;n++)this.local[n].type instanceof Ct||t.push(this.local[n]);return t}forEachSet(e){e(this)}}ee.empty=new ee([],[]),ee.removeOverlap=Us;const fe=ee.empty;class Et{constructor(e){this.members=e}map(e,t){const n=this.members.map(a=>a.map(e,t,Jt));return Et.from(n)}forChild(e,t){if(t.isLeaf)return ee.empty;let n=[];for(let a=0;a<this.members.length;a++){let s=this.members[a].forChild(e,t);s!=fe&&(s instanceof Et?n=n.concat(s.members):n.push(s))}return Et.from(n)}eq(e){if(!(e instanceof Et)||e.members.length!=this.members.length)return!1;for(let t=0;t<this.members.length;t++)if(!this.members[t].eq(e.members[t]))return!1;return!0}locals(e){let t,n=!0;for(let a=0;a<this.members.length;a++){let s=this.members[a].localsInner(e);if(s.length)if(!t)t=s;else{n&&(t=t.slice(),n=!1);for(let i=0;i<s.length;i++)t.push(s[i])}}return t?Us(n?t:t.sort(Gt)):vo}static from(e){switch(e.length){case 0:return fe;case 1:return e[0];default:return new Et(e.every(t=>t instanceof ee)?e:e.reduce((t,n)=>t.concat(n instanceof ee?n:n.members),[]))}}forEachSet(e){for(let t=0;t<this.members.length;t++)this.members[t].forEachSet(e)}}function wu(o,e,t,n,a,s,i){let r=o.slice();for(let p=0,c=s;p<t.maps.length;p++){let m=0;t.maps[p].forEach((d,g,u,h)=>{let j=h-u-(g-d);for(let v=0;v<r.length;v+=3){let k=r[v+1];if(k<0||d>k+c-m)continue;let D=r[v]+c-m;g>=D?r[v+1]=d<=D?-2:-1:d>=c&&j&&(r[v]+=j,r[v+1]+=j)}m+=j}),c=t.maps[p].map(c,-1)}let l=!1;for(let p=0;p<r.length;p+=3)if(r[p+1]<0){if(r[p+1]==-2){l=!0,r[p+1]=-1;continue}let c=t.map(o[p]+s),m=c-a;if(m<0||m>=n.content.size){l=!0;continue}let d=t.map(o[p+1]+s,-1),g=d-a,{index:u,offset:h}=n.content.findIndex(m),j=n.maybeChild(u);if(j&&h==m&&h+j.nodeSize==g){let v=r[p+2].mapInner(t,j,c+1,o[p]+s+1,i);v!=fe?(r[p]=m,r[p+1]=g,r[p+2]=v):(r[p+1]=-2,l=!0)}else l=!0}if(l){let p=Iu(r,o,e,t,a,s,i),c=Gn(p,n,0,i);e=c.local;for(let m=0;m<r.length;m+=3)r[m+1]<0&&(r.splice(m,3),m-=3);for(let m=0,d=0;m<c.children.length;m+=3){let g=c.children[m];for(;d<r.length&&r[d]<g;)d+=3;r.splice(d,0,c.children[m],c.children[m+1],c.children[m+2])}}return new ee(e.sort(Gt),r)}function np(o,e){if(!e||!o.length)return o;let t=[];for(let n=0;n<o.length;n++){let a=o[n];t.push(new De(a.from+e,a.to+e,a.type))}return t}function Iu(o,e,t,n,a,s,i){function r(l,p){for(let c=0;c<l.local.length;c++){let m=l.local[c].map(n,a,p);m?t.push(m):i.onRemove&&i.onRemove(l.local[c].spec)}for(let c=0;c<l.children.length;c+=3)r(l.children[c+2],l.children[c]+p+1)}for(let l=0;l<o.length;l+=3)o[l+1]==-1&&r(o[l+2],e[l]+s+1);return t}function ap(o,e,t){if(e.isLeaf)return null;let n=t+e.nodeSize,a=null;for(let s=0,i;s<o.length;s++)(i=o[s])&&i.from>t&&i.to<n&&((a||(a=[])).push(i),o[s]=null);return a}function sp(o){let e=[];for(let t=0;t<o.length;t++)o[t]!=null&&e.push(o[t]);return e}function Gn(o,e,t,n){let a=[],s=!1;e.forEach((r,l)=>{let p=ap(o,r,l+t);if(p){s=!0;let c=Gn(p,r,t+l+1,n);c!=fe&&a.push(l,l+r.nodeSize,c)}});let i=np(s?sp(o):o,-t).sort(Gt);for(let r=0;r<i.length;r++)i[r].type.valid(e,i[r])||(n.onRemove&&n.onRemove(i[r].spec),i.splice(r--,1));return i.length||a.length?new ee(i,a):fe}function Gt(o,e){return o.from-e.from||o.to-e.to}function Us(o){let e=o;for(let t=0;t<e.length-1;t++){let n=e[t];if(n.from!=n.to)for(let a=t+1;a<e.length;a++){let s=e[a];if(s.from==n.from){s.to!=n.to&&(e==o&&(e=o.slice()),e[a]=s.copy(s.from,n.to),ip(e,a+1,s.copy(n.to,s.to)));continue}else{s.from<n.to&&(e==o&&(e=o.slice()),e[t]=n.copy(n.from,s.from),ip(e,a,n.copy(s.from,n.to)));break}}}return e}function ip(o,e,t){for(;e<o.length&&Gt(t,o[e])>0;)e++;o.splice(e,0,t)}function Js(o){let e=[];return o.someProp("decorations",t=>{let n=t(o.state);n&&n!=fe&&e.push(n)}),o.cursorWrapper&&e.push(ee.create(o.state.doc,[o.cursorWrapper.deco])),Et.from(e)}const Cu={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},Eu=_e&&yt<=11;class xu{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 Fu{constructor(e,t){this.view=e,this.handleDOMChange=t,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new xu,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(n=>{for(let a=0;a<n.length;a++)this.queue.push(n[a]);_e&&yt<=11&&n.some(a=>a.type=="childList"&&a.removedNodes.length||a.type=="characterData"&&a.oldValue.length>a.target.nodeValue.length)?this.flushSoon():this.flush()}),Eu&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.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,Cu)),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 t=0;t<e.length;t++)this.queue.push(e[t]);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(Tl(this.view)){if(this.suppressingSelectionUpdates)return it(this.view);if(_e&&yt<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&$t(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 t=new Set,n;for(let s=e.focusNode;s;s=Wo(s))t.add(s);for(let s=e.anchorNode;s;s=Wo(s))if(t.has(s)){n=s;break}let a=n&&this.view.docView.nearestDesc(n);if(a&&a.ignoreMutation({type:"selection",target:n.nodeType==3?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}selectionChanged(e){return!this.suppressingSelectionUpdates&&!this.currentSelection.eq(e)&&Tl(this.view)&&!this.ignoreSelectionChange(e)}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let t=this.pendingRecords();t.length&&(this.queue=[]);let n=e.domSelectionRange(),a=this.selectionChanged(n),s=-1,i=-1,r=!1,l=[];if(e.editable)for(let c=0;c<t.length;c++){let m=this.registerMutation(t[c],l);m&&(s=s<0?m.from:Math.min(m.from,s),i=i<0?m.to:Math.max(m.to,i),m.typeOver&&(r=!0))}if(Ve&&l.length){let c=l.filter(m=>m.nodeName=="BR");if(c.length==2){let[m,d]=c;m.parentNode&&m.parentNode.parentNode==d.parentNode?d.remove():m.remove()}else{let{focusNode:m}=this.currentSelection;for(let d of c){let g=d.parentNode;g&&g.nodeName=="LI"&&(!m||Au(e,m)!=g)&&d.remove()}}}let p=null;s<0&&a&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&Vn(n)&&(p=Bs(e))&&p.eq(R.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,it(e),this.currentSelection.set(n),e.scrollToSelection()):(s>-1||a)&&(s>-1&&(e.docView.markDirty(s,i),Su(e)),this.handleDOMChange(s,i,r,l),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||it(e),this.currentSelection.set(n))}registerMutation(e,t){if(t.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(n==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!n||n.ignoreMutation(e))return null;if(e.type=="childList"){for(let c=0;c<e.addedNodes.length;c++){let m=e.addedNodes[c];t.push(m),m.nodeType==3&&(this.lastChangedTextNode=m)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let a=e.previousSibling,s=e.nextSibling;if(_e&&yt<=11&&e.addedNodes.length)for(let c=0;c<e.addedNodes.length;c++){let{previousSibling:m,nextSibling:d}=e.addedNodes[c];(!m||Array.prototype.indexOf.call(e.addedNodes,m)<0)&&(a=m),(!d||Array.prototype.indexOf.call(e.addedNodes,d)<0)&&(s=d)}let i=a&&a.parentNode==e.target?me(a)+1:0,r=n.localPosFromDOM(e.target,i,-1),l=s&&s.parentNode==e.target?me(s):e.target.childNodes.length,p=n.localPosFromDOM(e.target,l,1);return{from:r,to:p}}else return e.type=="attributes"?{from:n.posAtStart-n.border,to:n.posAtEnd+n.border}:(this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue})}}let rp=new WeakMap,lp=!1;function Su(o){if(!rp.has(o)&&(rp.set(o,null),["normal","nowrap","pre-line"].indexOf(getComputedStyle(o.dom).whiteSpace)!==-1)){if(o.requiresGeckoHackNode=Ve,lp)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."),lp=!0}}function pp(o,e){let t=e.startContainer,n=e.startOffset,a=e.endContainer,s=e.endOffset,i=o.domAtPos(o.state.selection.anchor);return $t(i.node,i.offset,a,s)&&([t,n,a,s]=[a,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:a,focusOffset:s}}function Mu(o,e){if(e.getComposedRanges){let a=e.getComposedRanges(o.root)[0];if(a)return pp(o,a)}let t;function n(a){a.preventDefault(),a.stopImmediatePropagation(),t=a.getTargetRanges()[0]}return o.dom.addEventListener("beforeinput",n,!0),document.execCommand("indent"),o.dom.removeEventListener("beforeinput",n,!0),t?pp(o,t):null}function Au(o,e){for(let t=e.parentNode;t&&t!=o.dom;t=t.parentNode){let n=o.docView.nearestDesc(t,!0);if(n&&n.node.isBlock)return t}return null}function Tu(o,e,t){let{node:n,fromOffset:a,toOffset:s,from:i,to:r}=o.docView.parseRange(e,t),l=o.domSelectionRange(),p,c=l.anchorNode;if(c&&o.dom.contains(c.nodeType==1?c:c.parentNode)&&(p=[{node:c,offset:l.anchorOffset}],Vn(l)||p.push({node:l.focusNode,offset:l.focusOffset})),ge&&o.input.lastKeyCode===8)for(let j=s;j>a;j--){let v=n.childNodes[j-1],k=v.pmViewDesc;if(v.nodeName=="BR"&&!k){s=j;break}if(!k||k.size)break}let m=o.state.doc,d=o.someProp("domParser")||ht.fromSchema(o.state.schema),g=m.resolve(i),u=null,h=d.parse(n,{topNode:g.parent,topMatch:g.parent.contentMatchAt(g.index()),topOpen:!0,from:a,to:s,preserveWhitespace:g.parent.type.whitespace=="pre"?"full":!0,findPositions:p,ruleFromNode:Ou,context:g});if(p&&p[0].pos!=null){let j=p[0].pos,v=p[1]&&p[1].pos;v==null&&(v=j),u={anchor:j+i,head:v+i}}return{doc:h,sel:u,from:i,to:r}}function Ou(o){let e=o.pmViewDesc;if(e)return e.parseRule();if(o.nodeName=="BR"&&o.parentNode){if(je&&/^(ul|ol)$/i.test(o.parentNode.nodeName)){let t=document.createElement("div");return t.appendChild(document.createElement("li")),{skip:t}}else if(o.parentNode.lastChild==o||je&&/^(tr|table)$/i.test(o.parentNode.nodeName))return{ignore:!0}}else if(o.nodeName=="IMG"&&o.getAttribute("mark-placeholder"))return{ignore:!0};return null}const Nu=/^(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 Bu(o,e,t,n,a){let s=o.input.compositionPendingChanges||(o.composing?o.input.compositionID:0);if(o.input.compositionPendingChanges=0,e<0){let C=o.input.lastSelectionTime>Date.now()-50?o.input.lastSelectionOrigin:null,O=Bs(o,C);if(O&&!o.state.selection.eq(O)){if(ge&&$e&&o.input.lastKeyCode===13&&Date.now()-100<o.input.lastKeyCodeTime&&o.someProp("handleKeyDown",V=>V(o,qt(13,"Enter"))))return;let z=o.state.tr.setSelection(O);C=="pointer"?z.setMeta("pointer",!0):C=="key"&&z.scrollIntoView(),s&&z.setMeta("composition",s),o.dispatch(z)}return}let i=o.state.doc.resolve(e),r=i.sharedDepth(t);e=i.before(r+1),t=o.state.doc.resolve(t).after(r+1);let l=o.state.selection,p=Tu(o,e,t),c=o.state.doc,m=c.slice(p.from,p.to),d,g;o.input.lastKeyCode===8&&Date.now()-100<o.input.lastKeyCodeTime?(d=o.state.selection.to,g="end"):(d=o.state.selection.from,g="start"),o.input.lastKeyCode=null;let u=Lu(m.content,p.doc.content,p.from,d,g);if(u&&o.input.domChangeCount++,(fo&&o.input.lastIOSEnter>Date.now()-225||$e)&&a.some(C=>C.nodeType==1&&!Nu.test(C.nodeName))&&(!u||u.endA>=u.endB)&&o.someProp("handleKeyDown",C=>C(o,qt(13,"Enter")))){o.input.lastIOSEnter=0;return}if(!u)if(n&&l instanceof B&&!l.empty&&l.$head.sameParent(l.$anchor)&&!o.composing&&!(p.sel&&p.sel.anchor!=p.sel.head))u={start:l.from,endA:l.to,endB:l.to};else{if(p.sel){let C=cp(o,o.state.doc,p.sel);if(C&&!C.eq(o.state.selection)){let O=o.state.tr.setSelection(C);s&&O.setMeta("composition",s),o.dispatch(O)}}return}o.state.selection.from<o.state.selection.to&&u.start==u.endB&&o.state.selection instanceof B&&(u.start>o.state.selection.from&&u.start<=o.state.selection.from+2&&o.state.selection.from>=p.from?u.start=o.state.selection.from:u.endA<o.state.selection.to&&u.endA>=o.state.selection.to-2&&o.state.selection.to<=p.to&&(u.endB+=o.state.selection.to-u.endA,u.endA=o.state.selection.to)),_e&&yt<=11&&u.endB==u.start+1&&u.endA==u.start&&u.start>p.from&&p.doc.textBetween(u.start-p.from-1,u.start-p.from+1)==" "&&(u.start--,u.endA--,u.endB--);let h=p.doc.resolveNoCache(u.start-p.from),j=p.doc.resolveNoCache(u.endB-p.from),v=c.resolve(u.start),k=h.sameParent(j)&&h.parent.inlineContent&&v.end()>=u.endA,D;if((fo&&o.input.lastIOSEnter>Date.now()-225&&(!k||a.some(C=>C.nodeName=="DIV"||C.nodeName=="P"))||!k&&h.pos<p.doc.content.size&&!h.sameParent(j)&&(D=R.findFrom(p.doc.resolve(h.pos+1),1,!0))&&D.head==j.pos)&&o.someProp("handleKeyDown",C=>C(o,qt(13,"Enter")))){o.input.lastIOSEnter=0;return}if(o.state.selection.anchor>u.start&&Pu(c,u.start,u.endA,h,j)&&o.someProp("handleKeyDown",C=>C(o,qt(8,"Backspace")))){$e&&ge&&o.domObserver.suppressSelectionUpdates();return}ge&&$e&&u.endB==u.start&&(o.input.lastAndroidDelete=Date.now()),$e&&!k&&h.start()!=j.start()&&j.parentOffset==0&&h.depth==j.depth&&p.sel&&p.sel.anchor==p.sel.head&&p.sel.head==u.endA&&(u.endB-=2,j=p.doc.resolveNoCache(u.endB-p.from),setTimeout(()=>{o.someProp("handleKeyDown",function(C){return C(o,qt(13,"Enter"))})},20));let b=u.start,x=u.endA,y,M,N;if(k){if(h.pos==j.pos)_e&&yt<=11&&h.parentOffset==0&&(o.domObserver.suppressSelectionUpdates(),setTimeout(()=>it(o),20)),y=o.state.tr.delete(b,x),M=c.resolve(u.start).marksAcross(c.resolve(u.endA));else if(u.endA==u.endB&&(N=Ru(h.parent.content.cut(h.parentOffset,j.parentOffset),v.parent.content.cut(v.parentOffset,u.endA-v.start()))))y=o.state.tr,N.type=="add"?y.addMark(b,x,N.mark):y.removeMark(b,x,N.mark);else if(h.parent.child(h.index()).isText&&h.index()==j.index()-(j.textOffset?0:1)){let C=h.parent.textBetween(h.parentOffset,j.parentOffset);if(o.someProp("handleTextInput",O=>O(o,b,x,C)))return;y=o.state.tr.insertText(C,b,x)}}if(y||(y=o.state.tr.replace(b,x,p.doc.slice(u.start-p.from,u.endB-p.from))),p.sel){let C=cp(o,y.doc,p.sel);C&&!(ge&&$e&&o.composing&&C.empty&&(u.start!=u.endB||o.input.lastAndroidDelete<Date.now()-100)&&(C.head==b||C.head==y.mapping.map(x)-1)||_e&&C.empty&&C.head==b)&&y.setSelection(C)}M&&y.ensureMarks(M),s&&y.setMeta("composition",s),o.dispatch(y.scrollIntoView())}function cp(o,e,t){return Math.max(t.anchor,t.head)>e.content.size?null:Ps(o,e.resolve(t.anchor),e.resolve(t.head))}function Ru(o,e){let t=o.firstChild.marks,n=e.firstChild.marks,a=t,s=n,i,r,l;for(let c=0;c<n.length;c++)a=n[c].removeFromSet(a);for(let c=0;c<t.length;c++)s=t[c].removeFromSet(s);if(a.length==1&&s.length==0)r=a[0],i="add",l=c=>c.mark(r.addToSet(c.marks));else if(a.length==0&&s.length==1)r=s[0],i="remove",l=c=>c.mark(r.removeFromSet(c.marks));else return null;let p=[];for(let c=0;c<e.childCount;c++)p.push(l(e.child(c)));if(w.from(p).eq(o))return{mark:r,type:i}}function Pu(o,e,t,n,a){if(t-e<=a.pos-n.pos||Gs(n,!0,!1)<a.pos)return!1;let s=o.resolve(e);if(!n.parent.isTextblock){let r=s.nodeAfter;return r!=null&&t==e+r.nodeSize}if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return!1;let i=o.resolve(Gs(s,!0,!0));return!i.parent.isTextblock||i.pos>t||Gs(i,!0,!1)<t?!1:n.parent.content.cut(n.parentOffset).eq(i.parent.content)}function Gs(o,e,t){let n=o.depth,a=e?o.end():o.pos;for(;n>0&&(e||o.indexAfter(n)==o.node(n).childCount);)n--,a++,e=!1;if(t){let s=o.node(n).maybeChild(o.indexAfter(n));for(;s&&!s.isLeaf;)s=s.firstChild,a++}return a}function Lu(o,e,t,n,a){let s=o.findDiffStart(e,t);if(s==null)return null;let{a:i,b:r}=o.findDiffEnd(e,t+o.size,t+e.size);if(a=="end"){let l=Math.max(0,s-Math.min(i,r));n-=i+l-s}if(i<s&&o.size<e.size){let l=n<=s&&n>=i?s-n:0;s-=l,s&&s<e.size&&mp(e.textBetween(s-1,s+1))&&(s+=l?1:-1),r=s+(r-i),i=s}else if(r<s){let l=n<=s&&n>=r?s-n:0;s-=l,s&&s<o.size&&mp(o.textBetween(s-1,s+1))&&(s+=l?1:-1),i=s+(i-r),r=s}return{start:s,endA:i,endB:r}}function mp(o){if(o.length!=2)return!1;let e=o.charCodeAt(0),t=o.charCodeAt(1);return e>=56320&&e<=57343&&t>=55296&&t<=56319}class zu{constructor(e,t){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 su,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=t,this.state=t.state,this.directPlugins=t.plugins||[],this.directPlugins.forEach(hp),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=gp(this),up(this),this.nodeViews=fp(this),this.docView=yl(this.state.doc,dp(this),Js(this),this.dom,this),this.domObserver=new Fu(this,(n,a,s,i)=>Bu(this,n,a,s,i)),this.domObserver.start(),iu(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 t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&Vs(this);let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(hp),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let n in this._props)t[n]=this._props[n];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){var n;let a=this.state,s=!1,i=!1;e.storedMarks&&this.composing&&(Zl(this),i=!0),this.state=e;let r=a.plugins!=e.plugins||this._props.plugins!=t.plugins;if(r||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let g=fp(this);Vu(g,this.nodeViews)&&(this.nodeViews=g,s=!0)}(r||t.handleDOMEvents!=this._props.handleDOMEvents)&&Vs(this),this.editable=gp(this),up(this);let l=Js(this),p=dp(this),c=a.plugins!=e.plugins&&!a.doc.eq(e.doc)?"reset":e.scrollToSelection>a.scrollToSelection?"to selection":"preserve",m=s||!this.docView.matchesNode(e.doc,p,l);(m||!e.selection.eq(a.selection))&&(i=!0);let d=c=="preserve"&&i&&this.dom.style.overflowAnchor==null&&kd(this);if(i){this.domObserver.stop();let g=m&&(_e||ge)&&!this.composing&&!a.selection.empty&&!e.selection.empty&&Hu(a.selection,e.selection);if(m){let u=ge?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=vu(this)),(s||!this.docView.update(e.doc,p,l,this))&&(this.docView.updateOuterDeco(p),this.docView.destroy(),this.docView=yl(e.doc,p,l,this.dom,this)),u&&!this.trackWrites&&(g=!0)}g||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&qd(this))?it(this,g):(Ml(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(a),!((n=this.dragging)===null||n===void 0)&&n.node&&!a.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,a),c=="reset"?this.dom.scrollTop=0:c=="to selection"?this.scrollToSelection():d&&yd(d)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!this.someProp("handleScrollToSelection",t=>t(this)))if(this.state.selection instanceof A){let t=this.docView.domAfterPos(this.state.selection.from);t.nodeType==1&&ll(this,t.getBoundingClientRect(),e)}else ll(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 t=0;t<this.directPlugins.length;t++){let n=this.directPlugins[t];n.spec.view&&this.pluginViews.push(n.spec.view(this))}for(let t=0;t<this.state.plugins.length;t++){let n=this.state.plugins[t];n.spec.view&&this.pluginViews.push(n.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}updateDraggedNode(e,t){let n=e.node,a=-1;if(this.state.doc.nodeAt(n.from)==n.node)a=n.from;else{let s=n.from+(this.state.doc.content.size-t.doc.content.size);(s>0&&this.state.doc.nodeAt(s))==n.node&&(a=s)}this.dragging=new tp(e.slice,e.move,a<0?void 0:A.create(this.state.doc,a))}someProp(e,t){let n=this._props&&this._props[e],a;if(n!=null&&(a=t?t(n):n))return a;for(let i=0;i<this.directPlugins.length;i++){let r=this.directPlugins[i].props[e];if(r!=null&&(a=t?t(r):r))return a}let s=this.state.plugins;if(s)for(let i=0;i<s.length;i++){let r=s[i].props[e];if(r!=null&&(a=t?t(r):r))return a}}hasFocus(){if(_e){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&&_d(this.dom),it(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let t=this.dom.parentNode;t;t=t.parentNode)if(t.nodeType==9||t.nodeType==11&&t.host)return t.getSelection||(Object.getPrototypeOf(t).getSelection=()=>t.ownerDocument.getSelection()),this._root=t}return e||document}updateRoot(){this._root=null}posAtCoords(e){return Ed(this,e)}coordsAtPos(e,t=1){return gl(this,e,t)}domAtPos(e,t=0){return this.docView.domFromPos(e,t)}nodeDOM(e){let t=this.docView.descAt(e);return t?t.nodeDOM:null}posAtDOM(e,t,n=-1){let a=this.docView.posFromDOM(e,t,n);if(a==null)throw new RangeError("DOM position not inside the editor");return a}endOfTextblock(e,t){return Ad(this,t||this.state,e)}pasteHTML(e,t){return Zo(this,"",e,!1,t||new ClipboardEvent("paste"))}pasteText(e,t){return Zo(this,e,null,!0,t||new ClipboardEvent("paste"))}destroy(){this.docView&&(ru(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],Js(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,pd())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return pu(this,e)}dispatch(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))}domSelectionRange(){let e=this.domSelection();return e?je&&this.root.nodeType===11&&gd(this.dom.ownerDocument)==this.dom&&Mu(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}}function dp(o){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(o.editable),o.someProp("attributes",t=>{if(typeof t=="function"&&(t=t(o.state)),t)for(let n in t)n=="class"?e.class+=" "+t[n]:n=="style"?e.style=(e.style?e.style+";":"")+t[n]:!e[n]&&n!="contenteditable"&&n!="nodeName"&&(e[n]=String(t[n]))}),e.translate||(e.translate="no"),[De.node(0,o.state.doc.content.size,e)]}function up(o){if(o.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),o.cursorWrapper={dom:e,deco:De.widget(o.state.selection.from,e,{raw:!0,marks:o.markCursor})}}else o.cursorWrapper=null}function gp(o){return!o.someProp("editable",e=>e(o.state)===!1)}function Hu(o,e){let t=Math.min(o.$anchor.sharedDepth(o.head),e.$anchor.sharedDepth(e.head));return o.$anchor.start(t)!=e.$anchor.start(t)}function fp(o){let e=Object.create(null);function t(n){for(let a in n)Object.prototype.hasOwnProperty.call(e,a)||(e[a]=n[a])}return o.someProp("nodeViews",t),o.someProp("markViews",t),e}function Vu(o,e){let t=0,n=0;for(let a in o){if(o[a]!=e[a])return!0;t++}for(let a in e)n++;return t!=n}function hp(o){if(o.spec.state||o.spec.filterTransaction||o.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}for(var xt={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:"'"},Yn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},$u=typeof navigator<"u"&&/Mac/.test(navigator.platform),qu=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),de=0;de<10;de++)xt[48+de]=xt[96+de]=String(de);for(var de=1;de<=24;de++)xt[de+111]="F"+de;for(var de=65;de<=90;de++)xt[de]=String.fromCharCode(de+32),Yn[de]=String.fromCharCode(de);for(var Ys in xt)Yn.hasOwnProperty(Ys)||(Yn[Ys]=xt[Ys]);function Wu(o){var e=$u&&o.metaKey&&o.shiftKey&&!o.ctrlKey&&!o.altKey||qu&&o.shiftKey&&o.key&&o.key.length==1||o.key=="Unidentified",t=!e&&o.key||(o.shiftKey?Yn:xt)[o.keyCode]||o.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}const Ku=typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function Uu(o){let e=o.split(/-(?!$)/),t=e[e.length-1];t=="Space"&&(t=" ");let n,a,s,i;for(let r=0;r<e.length-1;r++){let l=e[r];if(/^(cmd|meta|m)$/i.test(l))i=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))a=!0;else if(/^s(hift)?$/i.test(l))s=!0;else if(/^mod$/i.test(l))Ku?i=!0:a=!0;else throw new Error("Unrecognized modifier name: "+l)}return n&&(t="Alt-"+t),a&&(t="Ctrl-"+t),i&&(t="Meta-"+t),s&&(t="Shift-"+t),t}function Ju(o){let e=Object.create(null);for(let t in o)e[Uu(t)]=o[t];return e}function Xs(o,e,t=!0){return e.altKey&&(o="Alt-"+o),e.ctrlKey&&(o="Ctrl-"+o),e.metaKey&&(o="Meta-"+o),t&&e.shiftKey&&(o="Shift-"+o),o}function Gu(o){return new Q({props:{handleKeyDown:bp(o)}})}function bp(o){let e=Ju(o);return function(t,n){let a=Wu(n),s,i=e[Xs(a,n)];if(i&&i(t.state,t.dispatch,t))return!0;if(a.length==1&&a!=" "){if(n.shiftKey){let r=e[Xs(a,n,!1)];if(r&&r(t.state,t.dispatch,t))return!0}if((n.shiftKey||n.altKey||n.metaKey||a.charCodeAt(0)>127)&&(s=xt[n.keyCode])&&s!=a){let r=e[Xs(s,n)];if(r&&r(t.state,t.dispatch,t))return!0}}return!1}}const Yu=(o,e)=>o.selection.empty?!1:(e&&e(o.tr.deleteSelection().scrollIntoView()),!0);function jp(o,e){let{$cursor:t}=o.selection;return!t||(e?!e.endOfTextblock("backward",o):t.parentOffset>0)?null:t}const Xu=(o,e,t)=>{let n=jp(o,t);if(!n)return!1;let a=Qs(n);if(!a){let i=n.blockRange(),r=i&&lo(i);return r==null?!1:(e&&e(o.tr.lift(i,r).scrollIntoView()),!0)}let s=a.nodeBefore;if(_p(o,a,e,-1))return!0;if(n.parent.content.size==0&&(ko(s,"end")||A.isSelectable(s)))for(let i=n.depth;;i--){let r=Ln(o.doc,n.before(i),n.after(i),E.empty);if(r&&r.slice.size<r.to-r.from){if(e){let l=o.tr.step(r);l.setSelection(ko(s,"end")?R.findFrom(l.doc.resolve(l.mapping.map(a.pos,-1)),-1):A.create(l.doc,a.pos-s.nodeSize)),e(l.scrollIntoView())}return!0}if(i==1||n.node(i-1).childCount>1)break}return s.isAtom&&a.depth==n.depth-1?(e&&e(o.tr.delete(a.pos-s.nodeSize,a.pos).scrollIntoView()),!0):!1},Qu=(o,e,t)=>{let n=jp(o,t);if(!n)return!1;let a=Qs(n);return a?vp(o,a,e):!1},Zu=(o,e,t)=>{let n=kp(o,t);if(!n)return!1;let a=Zs(n);return a?vp(o,a,e):!1};function vp(o,e,t){let n=e.nodeBefore,a=n,s=e.pos-1;for(;!a.isTextblock;s--){if(a.type.spec.isolating)return!1;let c=a.lastChild;if(!c)return!1;a=c}let i=e.nodeAfter,r=i,l=e.pos+1;for(;!r.isTextblock;l++){if(r.type.spec.isolating)return!1;let c=r.firstChild;if(!c)return!1;r=c}let p=Ln(o.doc,s,l,E.empty);if(!p||p.from!=s||p instanceof se&&p.slice.size>=l-s)return!1;if(t){let c=o.tr.step(p);c.setSelection(B.create(c.doc,s)),t(c.scrollIntoView())}return!0}function ko(o,e,t=!1){for(let n=o;n;n=e=="start"?n.firstChild:n.lastChild){if(n.isTextblock)return!0;if(t&&n.childCount!=1)return!1}return!1}const eg=(o,e,t)=>{let{$head:n,empty:a}=o.selection,s=n;if(!a)return!1;if(n.parent.isTextblock){if(t?!t.endOfTextblock("backward",o):n.parentOffset>0)return!1;s=Qs(n)}let i=s&&s.nodeBefore;return!i||!A.isSelectable(i)?!1:(e&&e(o.tr.setSelection(A.create(o.doc,s.pos-i.nodeSize)).scrollIntoView()),!0)};function Qs(o){if(!o.parent.type.spec.isolating)for(let e=o.depth-1;e>=0;e--){if(o.index(e)>0)return o.doc.resolve(o.before(e+1));if(o.node(e).type.spec.isolating)break}return null}function kp(o,e){let{$cursor:t}=o.selection;return!t||(e?!e.endOfTextblock("forward",o):t.parentOffset<t.parent.content.size)?null:t}const tg=(o,e,t)=>{let n=kp(o,t);if(!n)return!1;let a=Zs(n);if(!a)return!1;let s=a.nodeAfter;if(_p(o,a,e,1))return!0;if(n.parent.content.size==0&&(ko(s,"start")||A.isSelectable(s))){let i=Ln(o.doc,n.before(),n.after(),E.empty);if(i&&i.slice.size<i.to-i.from){if(e){let r=o.tr.step(i);r.setSelection(ko(s,"start")?R.findFrom(r.doc.resolve(r.mapping.map(a.pos)),1):A.create(r.doc,r.mapping.map(a.pos))),e(r.scrollIntoView())}return!0}}return s.isAtom&&a.depth==n.depth-1?(e&&e(o.tr.delete(a.pos,a.pos+s.nodeSize).scrollIntoView()),!0):!1},og=(o,e,t)=>{let{$head:n,empty:a}=o.selection,s=n;if(!a)return!1;if(n.parent.isTextblock){if(t?!t.endOfTextblock("forward",o):n.parentOffset<n.parent.content.size)return!1;s=Zs(n)}let i=s&&s.nodeAfter;return!i||!A.isSelectable(i)?!1:(e&&e(o.tr.setSelection(A.create(o.doc,s.pos)).scrollIntoView()),!0)};function Zs(o){if(!o.parent.type.spec.isolating)for(let e=o.depth-1;e>=0;e--){let t=o.node(e);if(o.index(e)+1<t.childCount)return o.doc.resolve(o.after(e+1));if(t.type.spec.isolating)break}return null}const ng=(o,e)=>{let t=o.selection,n=t instanceof A,a;if(n){if(t.node.isTextblock||!vt(o.doc,t.from))return!1;a=t.from}else if(a=Pn(o.doc,t.from,-1),a==null)return!1;if(e){let s=o.tr.join(a);n&&s.setSelection(A.create(s.doc,a-o.doc.resolve(a).nodeBefore.nodeSize)),e(s.scrollIntoView())}return!0},ag=(o,e)=>{let t=o.selection,n;if(t instanceof A){if(t.node.isTextblock||!vt(o.doc,t.to))return!1;n=t.to}else if(n=Pn(o.doc,t.to,1),n==null)return!1;return e&&e(o.tr.join(n).scrollIntoView()),!0},sg=(o,e)=>{let{$from:t,$to:n}=o.selection,a=t.blockRange(n),s=a&&lo(a);return s==null?!1:(e&&e(o.tr.lift(a,s).scrollIntoView()),!0)},ig=(o,e)=>{let{$head:t,$anchor:n}=o.selection;return!t.parent.type.spec.code||!t.sameParent(n)?!1:(e&&e(o.tr.insertText(`
|
|
10
|
+
`).scrollIntoView()),!0)};function yp(o){for(let e=0;e<o.edgeCount;e++){let{type:t}=o.edge(e);if(t.isTextblock&&!t.hasRequiredAttrs())return t}return null}const rg=(o,e)=>{let{$head:t,$anchor:n}=o.selection;if(!t.parent.type.spec.code||!t.sameParent(n))return!1;let a=t.node(-1),s=t.indexAfter(-1),i=yp(a.contentMatchAt(s));if(!i||!a.canReplaceWith(s,s,i))return!1;if(e){let r=t.after(),l=o.tr.replaceWith(r,r,i.createAndFill());l.setSelection(R.near(l.doc.resolve(r),1)),e(l.scrollIntoView())}return!0},lg=(o,e)=>{let t=o.selection,{$from:n,$to:a}=t;if(t instanceof He||n.parent.inlineContent||a.parent.inlineContent)return!1;let s=yp(a.parent.contentMatchAt(a.indexAfter()));if(!s||!s.isTextblock)return!1;if(e){let i=(!n.parentOffset&&a.index()<a.parent.childCount?n:a).pos,r=o.tr.insert(i,s.createAndFill());r.setSelection(B.create(r.doc,i+1)),e(r.scrollIntoView())}return!0},pg=(o,e)=>{let{$cursor:t}=o.selection;if(!t||t.parent.content.size)return!1;if(t.depth>1&&t.after()!=t.end(-1)){let s=t.before();if(po(o.doc,s))return e&&e(o.tr.split(s).scrollIntoView()),!0}let n=t.blockRange(),a=n&&lo(n);return a==null?!1:(e&&e(o.tr.lift(n,a).scrollIntoView()),!0)},cg=(o,e)=>{let{$from:t,to:n}=o.selection,a,s=t.sharedDepth(n);return s==0?!1:(a=t.before(s),e&&e(o.tr.setSelection(A.create(o.doc,a))),!0)};function mg(o,e,t){let n=e.nodeBefore,a=e.nodeAfter,s=e.index();return!n||!a||!n.type.compatibleContent(a.type)?!1:!n.content.size&&e.parent.canReplace(s-1,s)?(t&&t(o.tr.delete(e.pos-n.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(s,s+1)||!(a.isTextblock||vt(o.doc,e.pos))?!1:(t&&t(o.tr.clearIncompatible(e.pos,n.type,n.contentMatchAt(n.childCount)).join(e.pos).scrollIntoView()),!0)}function _p(o,e,t,n){let a=e.nodeBefore,s=e.nodeAfter,i,r,l=a.type.spec.isolating||s.type.spec.isolating;if(!l&&mg(o,e,t))return!0;let p=!l&&e.parent.canReplace(e.index(),e.index()+1);if(p&&(i=(r=a.contentMatchAt(a.childCount)).findWrapping(s.type))&&r.matchType(i[0]||s.type).validEnd){if(t){let g=e.pos+s.nodeSize,u=w.empty;for(let v=i.length-1;v>=0;v--)u=w.from(i[v].create(null,u));u=w.from(a.copy(u));let h=o.tr.step(new ie(e.pos-1,g,e.pos,g,new E(u,1,0),i.length,!0)),j=g+2*i.length;vt(h.doc,j)&&h.join(j),t(h.scrollIntoView())}return!0}let c=s.type.spec.isolating||n>0&&l?null:R.findFrom(e,1),m=c&&c.$from.blockRange(c.$to),d=m&&lo(m);if(d!=null&&d>=e.depth)return t&&t(o.tr.lift(m,d).scrollIntoView()),!0;if(p&&ko(s,"start",!0)&&ko(a,"end")){let g=a,u=[];for(;u.push(g),!g.isTextblock;)g=g.lastChild;let h=s,j=1;for(;!h.isTextblock;h=h.firstChild)j++;if(g.canReplace(g.childCount,g.childCount,h.content)){if(t){let v=w.empty;for(let D=u.length-1;D>=0;D--)v=w.from(u[D].copy(v));let k=o.tr.step(new ie(e.pos-u.length,e.pos+s.nodeSize,e.pos+j,e.pos+s.nodeSize-j,new E(v,u.length,0),0,!0));t(k.scrollIntoView())}return!0}}return!1}function Dp(o){return function(e,t){let n=e.selection,a=o<0?n.$from:n.$to,s=a.depth;for(;a.node(s).isInline;){if(!s)return!1;s--}return a.node(s).isTextblock?(t&&t(e.tr.setSelection(B.create(e.doc,o<0?a.start(s):a.end(s)))),!0):!1}}const dg=Dp(-1),ug=Dp(1);function gg(o,e=null){return function(t,n){let{$from:a,$to:s}=t.selection,i=a.blockRange(s),r=i&&ys(i,o,e);return r?(n&&n(t.tr.wrap(i,r).scrollIntoView()),!0):!1}}function wp(o,e=null){return function(t,n){let a=!1;for(let s=0;s<t.selection.ranges.length&&!a;s++){let{$from:{pos:i},$to:{pos:r}}=t.selection.ranges[s];t.doc.nodesBetween(i,r,(l,p)=>{if(a)return!1;if(!(!l.isTextblock||l.hasMarkup(o,e)))if(l.type==o)a=!0;else{let c=t.doc.resolve(p),m=c.index();a=c.parent.canReplaceWith(m,m+1,o)}})}if(!a)return!1;if(n){let s=t.tr;for(let i=0;i<t.selection.ranges.length;i++){let{$from:{pos:r},$to:{pos:l}}=t.selection.ranges[i];s.setBlockType(r,l,o,e)}n(s.scrollIntoView())}return!0}}typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function fg(o,e=null){return function(t,n){let{$from:a,$to:s}=t.selection,i=a.blockRange(s),r=!1,l=i;if(!i)return!1;if(i.depth>=2&&a.node(i.depth-1).type.compatibleContent(o)&&i.startIndex==0){if(a.index(i.depth-1)==0)return!1;let c=t.doc.resolve(i.start-2);l=new Sn(c,c,i.depth),i.endIndex<i.parent.childCount&&(i=new Sn(a,t.doc.resolve(s.end(i.depth)),i.depth)),r=!0}let p=ys(l,o,e,i);return p?(n&&n(hg(t.tr,i,p,r,o).scrollIntoView()),!0):!1}}function hg(o,e,t,n,a){let s=w.empty;for(let c=t.length-1;c>=0;c--)s=w.from(t[c].type.create(t[c].attrs,s));o.step(new ie(e.start-(n?2:0),e.end,e.start,e.end,new E(s,0,0),t.length,!0));let i=0;for(let c=0;c<t.length;c++)t[c].type==a&&(i=c+1);let r=t.length-i,l=e.start+t.length-(n?2:0),p=e.parent;for(let c=e.startIndex,m=e.endIndex,d=!0;c<m;c++,d=!1)!d&&po(o.doc,l,r)&&(o.split(l,r),l+=2*r),l+=p.child(c).nodeSize;return o}function bg(o){return function(e,t){let{$from:n,$to:a}=e.selection,s=n.blockRange(a,i=>i.childCount>0&&i.firstChild.type==o);return s?t?n.node(s.depth-1).type==o?jg(e,t,o,s):vg(e,t,s):!0:!1}}function jg(o,e,t,n){let a=o.tr,s=n.end,i=n.$to.end(n.depth);s<i&&(a.step(new ie(s-1,i,s,i,new E(w.from(t.create(null,n.parent.copy())),1,0),1,!0)),n=new Sn(a.doc.resolve(n.$from.pos),a.doc.resolve(i),n.depth));const r=lo(n);if(r==null)return!1;a.lift(n,r);let l=a.mapping.map(s,-1)-1;return vt(a.doc,l)&&a.join(l),e(a.scrollIntoView()),!0}function vg(o,e,t){let n=o.tr,a=t.parent;for(let g=t.end,u=t.endIndex-1,h=t.startIndex;u>h;u--)g-=a.child(u).nodeSize,n.delete(g-1,g+1);let s=n.doc.resolve(t.start),i=s.nodeAfter;if(n.mapping.map(t.end)!=t.start+s.nodeAfter.nodeSize)return!1;let r=t.startIndex==0,l=t.endIndex==a.childCount,p=s.node(-1),c=s.index(-1);if(!p.canReplace(c+(r?0:1),c+1,i.content.append(l?w.empty:w.from(a))))return!1;let m=s.pos,d=m+i.nodeSize;return n.step(new ie(m-(r?1:0),d+(l?1:0),m+1,d-1,new E((r?w.empty:w.from(a.copy(w.empty))).append(l?w.empty:w.from(a.copy(w.empty))),r?0:1,l?0:1),r?0:1)),e(n.scrollIntoView()),!0}function kg(o){return function(e,t){let{$from:n,$to:a}=e.selection,s=n.blockRange(a,p=>p.childCount>0&&p.firstChild.type==o);if(!s)return!1;let i=s.startIndex;if(i==0)return!1;let r=s.parent,l=r.child(i-1);if(l.type!=o)return!1;if(t){let p=l.lastChild&&l.lastChild.type==r.type,c=w.from(p?o.create():null),m=new E(w.from(o.create(null,w.from(r.type.create(null,c)))),p?3:1,0),d=s.start,g=s.end;t(e.tr.step(new ie(d-(p?3:1),g,d,g,m,1,!0)).scrollIntoView())}return!0}}function Xn(o){const{state:e,transaction:t}=o;let{selection:n}=t,{doc:a}=t,{storedMarks:s}=t;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 n},get doc(){return a},get tr(){return n=t.selection,a=t.doc,s=t.storedMarks,t}}}class Qn{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:t,state:n}=this,{view:a}=t,{tr:s}=n,i=this.buildProps(s);return Object.fromEntries(Object.entries(e).map(([r,l])=>[r,(...c)=>{const m=l(...c)(i);return!s.getMeta("preventDispatch")&&!this.hasCustomState&&a.dispatch(s),m}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){const{rawCommands:n,editor:a,state:s}=this,{view:i}=a,r=[],l=!!e,p=e||s.tr,c=()=>(!l&&t&&!p.getMeta("preventDispatch")&&!this.hasCustomState&&i.dispatch(p),r.every(d=>d===!0)),m={...Object.fromEntries(Object.entries(n).map(([d,g])=>[d,(...h)=>{const j=this.buildProps(p,t),v=g(...h)(j);return r.push(v),m}])),run:c};return m}createCan(e){const{rawCommands:t,state:n}=this,a=!1,s=e||n.tr,i=this.buildProps(s,a);return{...Object.fromEntries(Object.entries(t).map(([l,p])=>[l,(...c)=>p(...c)({...i,dispatch:void 0})])),chain:()=>this.createChain(s,a)}}buildProps(e,t=!0){const{rawCommands:n,editor:a,state:s}=this,{view:i}=a,r={tr:e,editor:a,view:i,state:Xn({state:s,transaction:e}),dispatch:t?()=>{}:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map(([l,p])=>[l,(...c)=>p(...c)(r)]))}};return r}}class yg{constructor(){this.callbacks={}}on(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),this}emit(e,...t){const n=this.callbacks[e];return n&&n.forEach(a=>a.apply(this,t)),this}off(e,t){const n=this.callbacks[e];return n&&(t?this.callbacks[e]=n.filter(a=>a!==t):delete this.callbacks[e]),this}removeAllListeners(){this.callbacks={}}}function F(o,e,t){return o.config[e]===void 0&&o.parent?F(o.parent,e,t):typeof o.config[e]=="function"?o.config[e].bind({...t,parent:o.parent?F(o.parent,e,t):null}):o.config[e]}function Zn(o){const e=o.filter(a=>a.type==="extension"),t=o.filter(a=>a.type==="node"),n=o.filter(a=>a.type==="mark");return{baseExtensions:e,nodeExtensions:t,markExtensions:n}}function Ip(o){const e=[],{nodeExtensions:t,markExtensions:n}=Zn(o),a=[...t,...n],s={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return o.forEach(i=>{const r={name:i.name,options:i.options,storage:i.storage,extensions:a},l=F(i,"addGlobalAttributes",r);if(!l)return;l().forEach(c=>{c.types.forEach(m=>{Object.entries(c.attributes).forEach(([d,g])=>{e.push({type:m,name:d,attribute:{...s,...g}})})})})}),a.forEach(i=>{const r={name:i.name,options:i.options,storage:i.storage},l=F(i,"addAttributes",r);if(!l)return;const p=l();Object.entries(p).forEach(([c,m])=>{const d={...s,...m};typeof(d==null?void 0:d.default)=="function"&&(d.default=d.default()),d!=null&&d.isRequired&&(d==null?void 0:d.default)===void 0&&delete d.default,e.push({type:i.name,name:c,attribute:d})})}),e}function re(o,e){if(typeof o=="string"){if(!e.nodes[o])throw Error(`There is no node type named '${o}'. Maybe you forgot to add the extension?`);return e.nodes[o]}return o}function oe(...o){return o.filter(e=>!!e).reduce((e,t)=>{const n={...e};return Object.entries(t).forEach(([a,s])=>{if(!n[a]){n[a]=s;return}if(a==="class"){const r=s?s.split(" "):[],l=n[a]?n[a].split(" "):[],p=r.filter(c=>!l.includes(c));n[a]=[...l,...p].join(" ")}else if(a==="style"){const r=s?s.split(";").map(c=>c.trim()).filter(Boolean):[],l=n[a]?n[a].split(";").map(c=>c.trim()).filter(Boolean):[],p=new Map;l.forEach(c=>{const[m,d]=c.split(":").map(g=>g.trim());p.set(m,d)}),r.forEach(c=>{const[m,d]=c.split(":").map(g=>g.trim());p.set(m,d)}),n[a]=Array.from(p.entries()).map(([c,m])=>`${c}: ${m}`).join("; ")}else n[a]=s}),n},{})}function ei(o,e){return e.filter(t=>t.type===o.type.name).filter(t=>t.attribute.rendered).map(t=>t.attribute.renderHTML?t.attribute.renderHTML(o.attrs)||{}:{[t.name]:o.attrs[t.name]}).reduce((t,n)=>oe(t,n),{})}function Cp(o){return typeof o=="function"}function L(o,e=void 0,...t){return Cp(o)?e?o.bind(e)(...t):o(...t):o}function _g(o={}){return Object.keys(o).length===0&&o.constructor===Object}function Dg(o){return typeof o!="string"?o:o.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(o):o==="true"?!0:o==="false"?!1:o}function Ep(o,e){return"style"in o?o:{...o,getAttrs:t=>{const n=o.getAttrs?o.getAttrs(t):o.attrs;if(n===!1)return!1;const a=e.reduce((s,i)=>{const r=i.attribute.parseHTML?i.attribute.parseHTML(t):Dg(t.getAttribute(i.name));return r==null?s:{...s,[i.name]:r}},{});return{...n,...a}}}}function xp(o){return Object.fromEntries(Object.entries(o).filter(([e,t])=>e==="attrs"&&_g(t)?!1:t!=null))}function wg(o,e){var t;const n=Ip(o),{nodeExtensions:a,markExtensions:s}=Zn(o),i=(t=a.find(p=>F(p,"topNode")))===null||t===void 0?void 0:t.name,r=Object.fromEntries(a.map(p=>{const c=n.filter(v=>v.type===p.name),m={name:p.name,options:p.options,storage:p.storage,editor:e},d=o.reduce((v,k)=>{const D=F(k,"extendNodeSchema",m);return{...v,...D?D(p):{}}},{}),g=xp({...d,content:L(F(p,"content",m)),marks:L(F(p,"marks",m)),group:L(F(p,"group",m)),inline:L(F(p,"inline",m)),atom:L(F(p,"atom",m)),selectable:L(F(p,"selectable",m)),draggable:L(F(p,"draggable",m)),code:L(F(p,"code",m)),whitespace:L(F(p,"whitespace",m)),defining:L(F(p,"defining",m)),isolating:L(F(p,"isolating",m)),attrs:Object.fromEntries(c.map(v=>{var k;return[v.name,{default:(k=v==null?void 0:v.attribute)===null||k===void 0?void 0:k.default}]}))}),u=L(F(p,"parseHTML",m));u&&(g.parseDOM=u.map(v=>Ep(v,c)));const h=F(p,"renderHTML",m);h&&(g.toDOM=v=>h({node:v,HTMLAttributes:ei(v,c)}));const j=F(p,"renderText",m);return j&&(g.toText=j),[p.name,g]})),l=Object.fromEntries(s.map(p=>{const c=n.filter(j=>j.type===p.name),m={name:p.name,options:p.options,storage:p.storage,editor:e},d=o.reduce((j,v)=>{const k=F(v,"extendMarkSchema",m);return{...j,...k?k(p):{}}},{}),g=xp({...d,inclusive:L(F(p,"inclusive",m)),excludes:L(F(p,"excludes",m)),group:L(F(p,"group",m)),spanning:L(F(p,"spanning",m)),code:L(F(p,"code",m)),attrs:Object.fromEntries(c.map(j=>{var v;return[j.name,{default:(v=j==null?void 0:j.attribute)===null||v===void 0?void 0:v.default}]}))}),u=L(F(p,"parseHTML",m));u&&(g.parseDOM=u.map(j=>Ep(j,c)));const h=F(p,"renderHTML",m);return h&&(g.toDOM=j=>h({mark:j,HTMLAttributes:ei(j,c)})),[p.name,g]}));return new Ir({topNode:i,nodes:r,marks:l})}function ti(o,e){return e.nodes[o]||e.marks[o]||null}function Fp(o,e){return Array.isArray(e)?e.some(t=>(typeof t=="string"?t:t.name)===o.name):e}const Ig=(o,e=500)=>{let t="";const n=o.parentOffset;return o.parent.nodesBetween(Math.max(0,n-e),n,(a,s,i,r)=>{var l,p;const c=((p=(l=a.type.spec).toText)===null||p===void 0?void 0:p.call(l,{node:a,pos:s,parent:i,index:r}))||a.textContent||"%leaf%";t+=a.isAtom&&!a.isText?c:c.slice(0,Math.max(0,n-s))}),t};function oi(o){return Object.prototype.toString.call(o)==="[object RegExp]"}class tn{constructor(e){this.find=e.find,this.handler=e.handler}}const Cg=(o,e)=>{if(oi(e))return e.exec(o);const t=e(o);if(!t)return null;const n=[t.text];return n.index=t.index,n.input=o,n.data=t.data,t.replaceWith&&(t.text.includes(t.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),n.push(t.replaceWith)),n};function ea(o){var e;const{editor:t,from:n,to:a,text:s,rules:i,plugin:r}=o,{view:l}=t;if(l.composing)return!1;const p=l.state.doc.resolve(n);if(p.parent.type.spec.code||!((e=p.nodeBefore||p.nodeAfter)===null||e===void 0)&&e.marks.find(d=>d.type.spec.code))return!1;let c=!1;const m=Ig(p)+s;return i.forEach(d=>{if(c)return;const g=Cg(m,d.find);if(!g)return;const u=l.state.tr,h=Xn({state:l.state,transaction:u}),j={from:n-(g[0].length-s.length),to:a},{commands:v,chain:k,can:D}=new Qn({editor:t,state:h});d.handler({state:h,range:j,match:g,commands:v,chain:k,can:D})===null||!u.steps.length||(u.setMeta(r,{transform:u,from:n,to:a,text:s}),l.dispatch(u),c=!0)}),c}function Eg(o){const{editor:e,rules:t}=o,n=new Q({state:{init(){return null},apply(a,s){const i=a.getMeta(n);if(i)return i;const r=a.getMeta("applyInputRules");return!!r&&setTimeout(()=>{const{from:p,text:c}=r,m=p+c.length;ea({editor:e,from:p,to:m,text:c,rules:t,plugin:n})}),a.selectionSet||a.docChanged?null:s}},props:{handleTextInput(a,s,i,r){return ea({editor:e,from:s,to:i,text:r,rules:t,plugin:n})},handleDOMEvents:{compositionend:a=>(setTimeout(()=>{const{$cursor:s}=a.state.selection;s&&ea({editor:e,from:s.pos,to:s.pos,text:"",rules:t,plugin:n})}),!1)},handleKeyDown(a,s){if(s.key!=="Enter")return!1;const{$cursor:i}=a.state.selection;return i?ea({editor:e,from:i.pos,to:i.pos,text:`
|
|
11
|
+
`,rules:t,plugin:n}):!1}},isInputRules:!0});return n}function xg(o){return Object.prototype.toString.call(o).slice(8,-1)}function ta(o){return xg(o)!=="Object"?!1:o.constructor===Object&&Object.getPrototypeOf(o)===Object.prototype}function oa(o,e){const t={...o};return ta(o)&&ta(e)&&Object.keys(e).forEach(n=>{ta(e[n])&&ta(o[n])?t[n]=oa(o[n],e[n]):t[n]=e[n]}),t}class Ye{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=L(F(this,"addOptions",{name:this.name}))),this.storage=L(F(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new Ye(e)}configure(e={}){const t=this.extend({...this.config,addOptions:()=>oa(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){const t=new Ye(e);return t.parent=this,this.child=t,t.name=e.name?e.name:t.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: "${t.name}".`),t.options=L(F(t,"addOptions",{name:t.name})),t.storage=L(F(t,"addStorage",{name:t.name,options:t.options})),t}static handleExit({editor:e,mark:t}){const{tr:n}=e.state,a=e.state.selection.$from;if(a.pos===a.end()){const i=a.marks();if(!!!i.find(p=>(p==null?void 0:p.type.name)===t.name))return!1;const l=i.find(p=>(p==null?void 0:p.type.name)===t.name);return l&&n.removeStoredMark(l),n.insertText(" ",a.pos),e.view.dispatch(n),!0}return!1}}function Fg(o){return typeof o=="number"}class Sp{constructor(e){this.find=e.find,this.handler=e.handler}}const Sg=(o,e,t)=>{if(oi(e))return[...o.matchAll(e)];const n=e(o,t);return n?n.map(a=>{const s=[a.text];return s.index=a.index,s.input=o,s.data=a.data,a.replaceWith&&(a.text.includes(a.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),s.push(a.replaceWith)),s}):[]};function Mg(o){const{editor:e,state:t,from:n,to:a,rule:s,pasteEvent:i,dropEvent:r}=o,{commands:l,chain:p,can:c}=new Qn({editor:e,state:t}),m=[];return t.doc.nodesBetween(n,a,(g,u)=>{if(!g.isTextblock||g.type.spec.code)return;const h=Math.max(n,u),j=Math.min(a,u+g.content.size),v=g.textBetween(h-u,j-u,void 0,"");Sg(v,s.find,i).forEach(D=>{if(D.index===void 0)return;const b=h+D.index+1,x=b+D[0].length,y={from:t.tr.mapping.map(b),to:t.tr.mapping.map(x)},M=s.handler({state:t,range:y,match:D,commands:l,chain:p,can:c,pasteEvent:i,dropEvent:r});m.push(M)})}),m.every(g=>g!==null)}const Ag=o=>{var e;const t=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=t.clipboardData)===null||e===void 0||e.setData("text/html",o),t};function Tg(o){const{editor:e,rules:t}=o;let n=null,a=!1,s=!1,i=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,r=typeof DragEvent<"u"?new DragEvent("drop"):null;const l=({state:c,from:m,to:d,rule:g,pasteEvt:u})=>{const h=c.tr,j=Xn({state:c,transaction:h});if(!(!Mg({editor:e,state:j,from:Math.max(m-1,0),to:d.b-1,rule:g,pasteEvent:u,dropEvent:r})||!h.steps.length))return r=typeof DragEvent<"u"?new DragEvent("drop"):null,i=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,h};return t.map(c=>new Q({view(m){const d=g=>{var u;n=!((u=m.dom.parentElement)===null||u===void 0)&&u.contains(g.target)?m.dom.parentElement:null};return window.addEventListener("dragstart",d),{destroy(){window.removeEventListener("dragstart",d)}}},props:{handleDOMEvents:{drop:(m,d)=>(s=n===m.dom.parentElement,r=d,!1),paste:(m,d)=>{var g;const u=(g=d.clipboardData)===null||g===void 0?void 0:g.getData("text/html");return i=d,a=!!(u!=null&&u.includes("data-pm-slice")),!1}}},appendTransaction:(m,d,g)=>{const u=m[0],h=u.getMeta("uiEvent")==="paste"&&!a,j=u.getMeta("uiEvent")==="drop"&&!s,v=u.getMeta("applyPasteRules"),k=!!v;if(!h&&!j&&!k)return;if(k){const{from:x,text:y}=v,M=x+y.length,N=Ag(y);return l({rule:c,state:g,from:x,to:{b:M},pasteEvt:N})}const D=d.doc.content.findDiffStart(g.doc.content),b=d.doc.content.findDiffEnd(g.doc.content);if(!(!Fg(D)||!b||D===b.b))return l({rule:c,state:g,from:D,to:b,pasteEvt:i})}}))}function Og(o){const e=o.filter((t,n)=>o.indexOf(t)!==n);return Array.from(new Set(e))}class yo{constructor(e,t){this.splittableMarks=[],this.editor=t,this.extensions=yo.resolve(e),this.schema=wg(this.extensions,t),this.setupExtensions()}static resolve(e){const t=yo.sort(yo.flatten(e)),n=Og(t.map(a=>a.name));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map(a=>`'${a}'`).join(", ")}]. This can lead to issues.`),t}static flatten(e){return e.map(t=>{const n={name:t.name,options:t.options,storage:t.storage},a=F(t,"addExtensions",n);return a?[t,...this.flatten(a())]:t}).flat(10)}static sort(e){return e.sort((n,a)=>{const s=F(n,"priority")||100,i=F(a,"priority")||100;return s>i?-1:s<i?1:0})}get commands(){return this.extensions.reduce((e,t)=>{const n={name:t.name,options:t.options,storage:t.storage,editor:this.editor,type:ti(t.name,this.schema)},a=F(t,"addCommands",n);return a?{...e,...a()}:e},{})}get plugins(){const{editor:e}=this,t=yo.sort([...this.extensions].reverse()),n=[],a=[],s=t.map(i=>{const r={name:i.name,options:i.options,storage:i.storage,editor:e,type:ti(i.name,this.schema)},l=[],p=F(i,"addKeyboardShortcuts",r);let c={};if(i.type==="mark"&&F(i,"exitable",r)&&(c.ArrowRight=()=>Ye.handleExit({editor:e,mark:i})),p){const h=Object.fromEntries(Object.entries(p()).map(([j,v])=>[j,()=>v({editor:e})]));c={...c,...h}}const m=Gu(c);l.push(m);const d=F(i,"addInputRules",r);Fp(i,e.options.enableInputRules)&&d&&n.push(...d());const g=F(i,"addPasteRules",r);Fp(i,e.options.enablePasteRules)&&g&&a.push(...g());const u=F(i,"addProseMirrorPlugins",r);if(u){const h=u();l.push(...h)}return l}).flat();return[Eg({editor:e,rules:n}),...Tg({editor:e,rules:a}),...s]}get attributes(){return Ip(this.extensions)}get nodeViews(){const{editor:e}=this,{nodeExtensions:t}=Zn(this.extensions);return Object.fromEntries(t.filter(n=>!!F(n,"addNodeView")).map(n=>{const a=this.attributes.filter(l=>l.type===n.name),s={name:n.name,options:n.options,storage:n.storage,editor:e,type:re(n.name,this.schema)},i=F(n,"addNodeView",s);if(!i)return[];const r=(l,p,c,m,d)=>{const g=ei(l,a);return i()({node:l,view:p,getPos:c,decorations:m,innerDecorations:d,editor:e,extension:n,HTMLAttributes:g})};return[n.name,r]}))}setupExtensions(){this.extensions.forEach(e=>{var t;this.editor.extensionStorage[e.name]=e.storage;const n={name:e.name,options:e.options,storage:e.storage,editor:this.editor,type:ti(e.name,this.schema)};e.type==="mark"&&(!((t=L(F(e,"keepOnSplit",n)))!==null&&t!==void 0)||t)&&this.splittableMarks.push(e.name);const a=F(e,"onBeforeCreate",n),s=F(e,"onCreate",n),i=F(e,"onUpdate",n),r=F(e,"onSelectionUpdate",n),l=F(e,"onTransaction",n),p=F(e,"onFocus",n),c=F(e,"onBlur",n),m=F(e,"onDestroy",n);a&&this.editor.on("beforeCreate",a),s&&this.editor.on("create",s),i&&this.editor.on("update",i),r&&this.editor.on("selectionUpdate",r),l&&this.editor.on("transaction",l),p&&this.editor.on("focus",p),c&&this.editor.on("blur",c),m&&this.editor.on("destroy",m)})}}class le{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=L(F(this,"addOptions",{name:this.name}))),this.storage=L(F(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new le(e)}configure(e={}){const t=this.extend({...this.config,addOptions:()=>oa(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){const t=new le({...this.config,...e});return t.parent=this,this.child=t,t.name=e.name?e.name:t.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: "${t.name}".`),t.options=L(F(t,"addOptions",{name:t.name})),t.storage=L(F(t,"addStorage",{name:t.name,options:t.options})),t}}function Mp(o,e,t){const{from:n,to:a}=e,{blockSeparator:s=`
|
|
12
|
+
|
|
13
|
+
`,textSerializers:i={}}=t||{};let r="";return o.nodesBetween(n,a,(l,p,c,m)=>{var d;l.isBlock&&p>n&&(r+=s);const g=i==null?void 0:i[l.type.name];if(g)return c&&(r+=g({node:l,pos:p,parent:c,index:m,range:e})),!1;l.isText&&(r+=(d=l==null?void 0:l.text)===null||d===void 0?void 0:d.slice(Math.max(n,p)-p,a-p))}),r}function Ap(o){return Object.fromEntries(Object.entries(o.nodes).filter(([,e])=>e.spec.toText).map(([e,t])=>[e,t.spec.toText]))}const Ng=le.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new Q({key:new ae("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:o}=this,{state:e,schema:t}=o,{doc:n,selection:a}=e,{ranges:s}=a,i=Math.min(...s.map(c=>c.$from.pos)),r=Math.max(...s.map(c=>c.$to.pos)),l=Ap(t);return Mp(n,{from:i,to:r},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),Bg=()=>({editor:o,view:e})=>(requestAnimationFrame(()=>{var t;o.isDestroyed||(e.dom.blur(),(t=window==null?void 0:window.getSelection())===null||t===void 0||t.removeAllRanges())}),!0),Rg=(o=!1)=>({commands:e})=>e.setContent("",o),Pg=()=>({state:o,tr:e,dispatch:t})=>{const{selection:n}=e,{ranges:a}=n;return t&&a.forEach(({$from:s,$to:i})=>{o.doc.nodesBetween(s.pos,i.pos,(r,l)=>{if(r.type.isText)return;const{doc:p,mapping:c}=e,m=p.resolve(c.map(l)),d=p.resolve(c.map(l+r.nodeSize)),g=m.blockRange(d);if(!g)return;const u=lo(g);if(r.type.isTextblock){const{defaultType:h}=m.parent.contentMatchAt(m.index());e.setNodeMarkup(g.start,h)}(u||u===0)&&e.lift(g,u)})}),!0},Lg=o=>e=>o(e),zg=()=>({state:o,dispatch:e})=>lg(o,e),Hg=(o,e)=>({editor:t,tr:n})=>{const{state:a}=t,s=a.doc.slice(o.from,o.to);n.deleteRange(o.from,o.to);const i=n.mapping.map(e);return n.insert(i,s.content),n.setSelection(new B(n.doc.resolve(i-1))),!0},Vg=()=>({tr:o,dispatch:e})=>{const{selection:t}=o,n=t.$anchor.node();if(n.content.size>0)return!1;const a=o.selection.$anchor;for(let s=a.depth;s>0;s-=1)if(a.node(s).type===n.type){if(e){const r=a.before(s),l=a.after(s);o.delete(r,l).scrollIntoView()}return!0}return!1},$g=o=>({tr:e,state:t,dispatch:n})=>{const a=re(o,t.schema),s=e.selection.$anchor;for(let i=s.depth;i>0;i-=1)if(s.node(i).type===a){if(n){const l=s.before(i),p=s.after(i);e.delete(l,p).scrollIntoView()}return!0}return!1},qg=o=>({tr:e,dispatch:t})=>{const{from:n,to:a}=o;return t&&e.delete(n,a),!0},Wg=()=>({state:o,dispatch:e})=>Yu(o,e),Kg=()=>({commands:o})=>o.keyboardShortcut("Enter"),Ug=()=>({state:o,dispatch:e})=>rg(o,e);function na(o,e,t={strict:!0}){const n=Object.keys(e);return n.length?n.every(a=>t.strict?e[a]===o[a]:oi(e[a])?e[a].test(o[a]):e[a]===o[a]):!0}function ni(o,e,t={}){return o.find(n=>n.type===e&&na(n.attrs,t))}function Jg(o,e,t={}){return!!ni(o,e,t)}function ai(o,e,t={}){if(!o||!e)return;let n=o.parent.childAfter(o.parentOffset);if(o.parentOffset===n.offset&&n.offset!==0&&(n=o.parent.childBefore(o.parentOffset)),!n.node)return;const a=ni([...n.node.marks],e,t);if(!a)return;let s=n.index,i=o.start()+n.offset,r=s+1,l=i+n.node.nodeSize;for(ni([...n.node.marks],e,t);s>0&&a.isInSet(o.parent.child(s-1).marks);)s-=1,i-=o.parent.child(s).nodeSize;for(;r<o.parent.childCount&&Jg([...o.parent.child(r).marks],e,t);)l+=o.parent.child(r).nodeSize,r+=1;return{from:i,to:l}}function Ft(o,e){if(typeof o=="string"){if(!e.marks[o])throw Error(`There is no mark type named '${o}'. Maybe you forgot to add the extension?`);return e.marks[o]}return o}const Gg=(o,e={})=>({tr:t,state:n,dispatch:a})=>{const s=Ft(o,n.schema),{doc:i,selection:r}=t,{$from:l,from:p,to:c}=r;if(a){const m=ai(l,s,e);if(m&&m.from<=p&&m.to>=c){const d=B.create(i,m.from,m.to);t.setSelection(d)}}return!0},Yg=o=>e=>{const t=typeof o=="function"?o(e):o;for(let n=0;n<t.length;n+=1)if(t[n](e))return!0;return!1};function si(o){return o instanceof B}function rt(o=0,e=0,t=0){return Math.min(Math.max(o,e),t)}function Tp(o,e=null){if(!e)return null;const t=R.atStart(o),n=R.atEnd(o);if(e==="start"||e===!0)return t;if(e==="end")return n;const a=t.from,s=n.to;return e==="all"?B.create(o,rt(0,a,s),rt(o.content.size,a,s)):B.create(o,rt(e,a,s),rt(e,a,s))}function ii(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}const Xg=(o=null,e={})=>({editor:t,view:n,tr:a,dispatch:s})=>{e={scrollIntoView:!0,...e};const i=()=>{ii()&&n.dom.focus(),requestAnimationFrame(()=>{t.isDestroyed||(n.focus(),e!=null&&e.scrollIntoView&&t.commands.scrollIntoView())})};if(n.hasFocus()&&o===null||o===!1)return!0;if(s&&o===null&&!si(t.state.selection))return i(),!0;const r=Tp(a.doc,o)||t.state.selection,l=t.state.selection.eq(r);return s&&(l||a.setSelection(r),l&&a.storedMarks&&a.setStoredMarks(a.storedMarks),i()),!0},Qg=(o,e)=>t=>o.every((n,a)=>e(n,{...t,index:a})),Zg=(o,e)=>({tr:t,commands:n})=>n.insertContentAt({from:t.selection.from,to:t.selection.to},o,e),Op=o=>{const e=o.childNodes;for(let t=e.length-1;t>=0;t-=1){const n=e[t];n.nodeType===3&&n.nodeValue&&/^(\n\s\s|\n)$/.test(n.nodeValue)?o.removeChild(n):n.nodeType===1&&Op(n)}return o};function aa(o){const e=`<body>${o}</body>`,t=new window.DOMParser().parseFromString(e,"text/html").body;return Op(t)}function sa(o,e,t){t={slice:!0,parseOptions:{},...t};const n=typeof o=="object"&&o!==null,a=typeof o=="string";if(n)try{if(Array.isArray(o)&&o.length>0)return w.fromArray(o.map(r=>e.nodeFromJSON(r)));const i=e.nodeFromJSON(o);return t.errorOnInvalidContent&&i.check(),i}catch(s){if(t.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:s});return console.warn("[tiptap warn]: Invalid content.","Passed value:",o,"Error:",s),sa("",e,t)}if(a){if(t.errorOnInvalidContent){let i=!1,r="";const l=new Ir({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:p=>(i=!0,r=typeof p=="string"?p:p.outerHTML,null)}]}})});if(t.slice?ht.fromSchema(l).parseSlice(aa(o),t.parseOptions):ht.fromSchema(l).parse(aa(o),t.parseOptions),t.errorOnInvalidContent&&i)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${r}`)})}const s=ht.fromSchema(e);return t.slice?s.parseSlice(aa(o),t.parseOptions).content:s.parse(aa(o),t.parseOptions)}return sa("",e,t)}function ef(o,e,t){const n=o.steps.length-1;if(n<e)return;const a=o.steps[n];if(!(a instanceof se||a instanceof ie))return;const s=o.mapping.maps[n];let i=0;s.forEach((r,l,p,c)=>{i===0&&(i=c)}),o.setSelection(R.near(o.doc.resolve(i),t))}const tf=o=>!("type"in o),of=(o,e,t)=>({tr:n,dispatch:a,editor:s})=>{var i;if(a){t={parseOptions:{},updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...t};let r;try{r=sa(e,s.schema,{parseOptions:{preserveWhitespace:"full",...t.parseOptions},errorOnInvalidContent:(i=t.errorOnInvalidContent)!==null&&i!==void 0?i:s.options.enableContentCheck})}catch(u){return s.emit("contentError",{editor:s,error:u,disableCollaboration:()=>{console.error("[tiptap error]: Unable to disable collaboration at this point in time")}}),!1}let{from:l,to:p}=typeof o=="number"?{from:o,to:o}:{from:o.from,to:o.to},c=!0,m=!0;if((tf(r)?r:[r]).forEach(u=>{u.check(),c=c?u.isText&&u.marks.length===0:!1,m=m?u.isBlock:!1}),l===p&&m){const{parent:u}=n.doc.resolve(l);u.isTextblock&&!u.type.spec.code&&!u.childCount&&(l-=1,p+=1)}let g;c?(Array.isArray(e)?g=e.map(u=>u.text||"").join(""):typeof e=="object"&&e&&e.text?g=e.text:g=e,n.insertText(g,l,p)):(g=r,n.replaceWith(l,p,g)),t.updateSelection&&ef(n,n.steps.length-1,-1),t.applyInputRules&&n.setMeta("applyInputRules",{from:l,text:g}),t.applyPasteRules&&n.setMeta("applyPasteRules",{from:l,text:g})}return!0},nf=()=>({state:o,dispatch:e})=>ng(o,e),af=()=>({state:o,dispatch:e})=>ag(o,e),sf=()=>({state:o,dispatch:e})=>Xu(o,e),rf=()=>({state:o,dispatch:e})=>tg(o,e),lf=()=>({state:o,dispatch:e,tr:t})=>{try{const n=Pn(o.doc,o.selection.$from.pos,-1);return n==null?!1:(t.join(n,2),e&&e(t),!0)}catch{return!1}},pf=()=>({state:o,dispatch:e,tr:t})=>{try{const n=Pn(o.doc,o.selection.$from.pos,1);return n==null?!1:(t.join(n,2),e&&e(t),!0)}catch{return!1}},cf=()=>({state:o,dispatch:e})=>Qu(o,e),mf=()=>({state:o,dispatch:e})=>Zu(o,e);function Np(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function df(o){const e=o.split(/-(?!$)/);let t=e[e.length-1];t==="Space"&&(t=" ");let n,a,s,i;for(let r=0;r<e.length-1;r+=1){const l=e[r];if(/^(cmd|meta|m)$/i.test(l))i=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))a=!0;else if(/^s(hift)?$/i.test(l))s=!0;else if(/^mod$/i.test(l))ii()||Np()?i=!0:a=!0;else throw new Error(`Unrecognized modifier name: ${l}`)}return n&&(t=`Alt-${t}`),a&&(t=`Ctrl-${t}`),i&&(t=`Meta-${t}`),s&&(t=`Shift-${t}`),t}const uf=o=>({editor:e,view:t,tr:n,dispatch:a})=>{const s=df(o).split(/-(?!$)/),i=s.find(p=>!["Alt","Ctrl","Meta","Shift"].includes(p)),r=new KeyboardEvent("keydown",{key:i==="Space"?" ":i,altKey:s.includes("Alt"),ctrlKey:s.includes("Ctrl"),metaKey:s.includes("Meta"),shiftKey:s.includes("Shift"),bubbles:!0,cancelable:!0}),l=e.captureTransaction(()=>{t.someProp("handleKeyDown",p=>p(t,r))});return l==null||l.steps.forEach(p=>{const c=p.map(n.mapping);c&&a&&n.maybeStep(c)}),!0};function on(o,e,t={}){const{from:n,to:a,empty:s}=o.selection,i=e?re(e,o.schema):null,r=[];o.doc.nodesBetween(n,a,(m,d)=>{if(m.isText)return;const g=Math.max(n,d),u=Math.min(a,d+m.nodeSize);r.push({node:m,from:g,to:u})});const l=a-n,p=r.filter(m=>i?i.name===m.node.type.name:!0).filter(m=>na(m.node.attrs,t,{strict:!1}));return s?!!p.length:p.reduce((m,d)=>m+d.to-d.from,0)>=l}const gf=(o,e={})=>({state:t,dispatch:n})=>{const a=re(o,t.schema);return on(t,a,e)?sg(t,n):!1},ff=()=>({state:o,dispatch:e})=>pg(o,e),hf=o=>({state:e,dispatch:t})=>{const n=re(o,e.schema);return bg(n)(e,t)},bf=()=>({state:o,dispatch:e})=>ig(o,e);function ia(o,e){return e.nodes[o]?"node":e.marks[o]?"mark":null}function Bp(o,e){const t=typeof e=="string"?[e]:e;return Object.keys(o).reduce((n,a)=>(t.includes(a)||(n[a]=o[a]),n),{})}const jf=(o,e)=>({tr:t,state:n,dispatch:a})=>{let s=null,i=null;const r=ia(typeof o=="string"?o:o.name,n.schema);return r?(r==="node"&&(s=re(o,n.schema)),r==="mark"&&(i=Ft(o,n.schema)),a&&t.selection.ranges.forEach(l=>{n.doc.nodesBetween(l.$from.pos,l.$to.pos,(p,c)=>{s&&s===p.type&&t.setNodeMarkup(c,void 0,Bp(p.attrs,e)),i&&p.marks.length&&p.marks.forEach(m=>{i===m.type&&t.addMark(c,c+p.nodeSize,i.create(Bp(m.attrs,e)))})})}),!0):!1},vf=()=>({tr:o,dispatch:e})=>(e&&o.scrollIntoView(),!0),kf=()=>({tr:o,commands:e})=>e.setTextSelection({from:0,to:o.doc.content.size}),yf=()=>({state:o,dispatch:e})=>eg(o,e),_f=()=>({state:o,dispatch:e})=>og(o,e),Df=()=>({state:o,dispatch:e})=>cg(o,e),wf=()=>({state:o,dispatch:e})=>ug(o,e),If=()=>({state:o,dispatch:e})=>dg(o,e);function ri(o,e,t={},n={}){return sa(o,e,{slice:!1,parseOptions:t,errorOnInvalidContent:n.errorOnInvalidContent})}const Cf=(o,e=!1,t={},n={})=>({editor:a,tr:s,dispatch:i,commands:r})=>{var l,p;const{doc:c}=s;if(t.preserveWhitespace!=="full"){const m=ri(o,a.schema,t,{errorOnInvalidContent:(l=n.errorOnInvalidContent)!==null&&l!==void 0?l:a.options.enableContentCheck});return i&&s.replaceWith(0,c.content.size,m).setMeta("preventUpdate",!e),!0}return i&&s.setMeta("preventUpdate",!e),r.insertContentAt({from:0,to:c.content.size},o,{parseOptions:t,errorOnInvalidContent:(p=n.errorOnInvalidContent)!==null&&p!==void 0?p:a.options.enableContentCheck})};function li(o,e){const t=Ft(e,o.schema),{from:n,to:a,empty:s}=o.selection,i=[];s?(o.storedMarks&&i.push(...o.storedMarks),i.push(...o.selection.$head.marks())):o.doc.nodesBetween(n,a,l=>{i.push(...l.marks)});const r=i.find(l=>l.type.name===t.name);return r?{...r.attrs}:{}}function Rp(o,e){const t=new Gr(o);return e.forEach(n=>{n.steps.forEach(a=>{t.step(a)})}),t}function Ef(o){for(let e=0;e<o.edgeCount;e+=1){const{type:t}=o.edge(e);if(t.isTextblock&&!t.hasRequiredAttrs())return t}return null}function Pp(o,e,t){const n=[];return o.nodesBetween(e.from,e.to,(a,s)=>{t(a)&&n.push({node:a,pos:s})}),n}function xf(o,e){for(let t=o.depth;t>0;t-=1){const n=o.node(t);if(e(n))return{pos:t>0?o.before(t):0,start:o.start(t),depth:t,node:n}}}function pi(o){return e=>xf(e.$from,o)}function Ff(o,e){const t=Vt.fromSchema(e).serializeFragment(o),a=document.implementation.createHTMLDocument().createElement("div");return a.appendChild(t),a.innerHTML}function Sf(o,e){const t={from:0,to:o.content.size};return Mp(o,t,e)}function Mf(o,e){const t=re(e,o.schema),{from:n,to:a}=o.selection,s=[];o.doc.nodesBetween(n,a,r=>{s.push(r)});const i=s.reverse().find(r=>r.type.name===t.name);return i?{...i.attrs}:{}}function Lp(o,e){const t=ia(typeof e=="string"?e:e.name,o.schema);return t==="node"?Mf(o,e):t==="mark"?li(o,e):{}}function Af(o,e=JSON.stringify){const t={};return o.filter(n=>{const a=e(n);return Object.prototype.hasOwnProperty.call(t,a)?!1:t[a]=!0})}function Tf(o){const e=Af(o);return e.length===1?e:e.filter((t,n)=>!e.filter((s,i)=>i!==n).some(s=>t.oldRange.from>=s.oldRange.from&&t.oldRange.to<=s.oldRange.to&&t.newRange.from>=s.newRange.from&&t.newRange.to<=s.newRange.to))}function zp(o){const{mapping:e,steps:t}=o,n=[];return e.maps.forEach((a,s)=>{const i=[];if(a.ranges.length)a.forEach((r,l)=>{i.push({from:r,to:l})});else{const{from:r,to:l}=t[s];if(r===void 0||l===void 0)return;i.push({from:r,to:l})}i.forEach(({from:r,to:l})=>{const p=e.slice(s).map(r,-1),c=e.slice(s).map(l),m=e.invert().map(p,-1),d=e.invert().map(c);n.push({oldRange:{from:m,to:d},newRange:{from:p,to:c}})})}),Tf(n)}function ci(o,e,t){const n=[];return o===e?t.resolve(o).marks().forEach(a=>{const s=t.resolve(o),i=ai(s,a.type);i&&n.push({mark:a,...i})}):t.nodesBetween(o,e,(a,s)=>{!a||(a==null?void 0:a.nodeSize)===void 0||n.push(...a.marks.map(i=>({from:s,to:s+a.nodeSize,mark:i})))}),n}function ra(o,e,t){return Object.fromEntries(Object.entries(t).filter(([n])=>{const a=o.find(s=>s.type===e&&s.name===n);return a?a.attribute.keepOnSplit:!1}))}function mi(o,e,t={}){const{empty:n,ranges:a}=o.selection,s=e?Ft(e,o.schema):null;if(n)return!!(o.storedMarks||o.selection.$from.marks()).filter(m=>s?s.name===m.type.name:!0).find(m=>na(m.attrs,t,{strict:!1}));let i=0;const r=[];if(a.forEach(({$from:m,$to:d})=>{const g=m.pos,u=d.pos;o.doc.nodesBetween(g,u,(h,j)=>{if(!h.isText&&!h.marks.length)return;const v=Math.max(g,j),k=Math.min(u,j+h.nodeSize),D=k-v;i+=D,r.push(...h.marks.map(b=>({mark:b,from:v,to:k})))})}),i===0)return!1;const l=r.filter(m=>s?s.name===m.mark.type.name:!0).filter(m=>na(m.mark.attrs,t,{strict:!1})).reduce((m,d)=>m+d.to-d.from,0),p=r.filter(m=>s?m.mark.type!==s&&m.mark.type.excludes(s):!0).reduce((m,d)=>m+d.to-d.from,0);return(l>0?l+p:l)>=i}function Of(o,e,t={}){if(!e)return on(o,null,t)||mi(o,null,t);const n=ia(e,o.schema);return n==="node"?on(o,e,t):n==="mark"?mi(o,e,t):!1}function Hp(o,e){const{nodeExtensions:t}=Zn(e),n=t.find(i=>i.name===o);if(!n)return!1;const a={name:n.name,options:n.options,storage:n.storage},s=L(F(n,"group",a));return typeof s!="string"?!1:s.split(" ").includes("list")}function la(o,{checkChildren:e=!0,ignoreWhitespace:t=!1}={}){var n;if(t){if(o.type.name==="hardBreak")return!0;if(o.isText)return/^\s*$/m.test((n=o.text)!==null&&n!==void 0?n:"")}if(o.isText)return!o.text;if(o.isAtom||o.isLeaf)return!1;if(o.content.childCount===0)return!0;if(e){let a=!0;return o.content.forEach(s=>{a!==!1&&(la(s,{ignoreWhitespace:t,checkChildren:e})||(a=!1))}),a}return!1}function Vp(o){return o instanceof A}function $p(o,e,t){const a=o.state.doc.content.size,s=rt(e,0,a),i=rt(t,0,a),r=o.coordsAtPos(s),l=o.coordsAtPos(i,-1),p=Math.min(r.top,l.top),c=Math.max(r.bottom,l.bottom),m=Math.min(r.left,l.left),d=Math.max(r.right,l.right),g=d-m,u=c-p,v={top:p,bottom:c,left:m,right:d,width:g,height:u,x:m,y:p};return{...v,toJSON:()=>v}}function Nf(o,e,t){var n;const{selection:a}=e;let s=null;if(si(a)&&(s=a.$cursor),s){const r=(n=o.storedMarks)!==null&&n!==void 0?n:s.marks();return!!t.isInSet(r)||!r.some(l=>l.type.excludes(t))}const{ranges:i}=a;return i.some(({$from:r,$to:l})=>{let p=r.depth===0?o.doc.inlineContent&&o.doc.type.allowsMarkType(t):!1;return o.doc.nodesBetween(r.pos,l.pos,(c,m,d)=>{if(p)return!1;if(c.isInline){const g=!d||d.type.allowsMarkType(t),u=!!t.isInSet(c.marks)||!c.marks.some(h=>h.type.excludes(t));p=g&&u}return!p}),p})}const Bf=(o,e={})=>({tr:t,state:n,dispatch:a})=>{const{selection:s}=t,{empty:i,ranges:r}=s,l=Ft(o,n.schema);if(a)if(i){const p=li(n,l);t.addStoredMark(l.create({...p,...e}))}else r.forEach(p=>{const c=p.$from.pos,m=p.$to.pos;n.doc.nodesBetween(c,m,(d,g)=>{const u=Math.max(g,c),h=Math.min(g+d.nodeSize,m);d.marks.find(v=>v.type===l)?d.marks.forEach(v=>{l===v.type&&t.addMark(u,h,l.create({...v.attrs,...e}))}):t.addMark(u,h,l.create(e))})});return Nf(n,t,l)},Rf=(o,e)=>({tr:t})=>(t.setMeta(o,e),!0),Pf=(o,e={})=>({state:t,dispatch:n,chain:a})=>{const s=re(o,t.schema);return s.isTextblock?a().command(({commands:i})=>wp(s,e)(t)?!0:i.clearNodes()).command(({state:i})=>wp(s,e)(i,n)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},Lf=o=>({tr:e,dispatch:t})=>{if(t){const{doc:n}=e,a=rt(o,0,n.content.size),s=A.create(n,a);e.setSelection(s)}return!0},zf=o=>({tr:e,dispatch:t})=>{if(t){const{doc:n}=e,{from:a,to:s}=typeof o=="number"?{from:o,to:o}:o,i=B.atStart(n).from,r=B.atEnd(n).to,l=rt(a,i,r),p=rt(s,i,r),c=B.create(n,l,p);e.setSelection(c)}return!0},Hf=o=>({state:e,dispatch:t})=>{const n=re(o,e.schema);return kg(n)(e,t)};function qp(o,e){const t=o.storedMarks||o.selection.$to.parentOffset&&o.selection.$from.marks();if(t){const n=t.filter(a=>e==null?void 0:e.includes(a.type.name));o.tr.ensureMarks(n)}}const Vf=({keepMarks:o=!0}={})=>({tr:e,state:t,dispatch:n,editor:a})=>{const{selection:s,doc:i}=e,{$from:r,$to:l}=s,p=a.extensionManager.attributes,c=ra(p,r.node().type.name,r.node().attrs);if(s instanceof A&&s.node.isBlock)return!r.parentOffset||!po(i,r.pos)?!1:(n&&(o&&qp(t,a.extensionManager.splittableMarks),e.split(r.pos).scrollIntoView()),!0);if(!r.parent.isBlock)return!1;const m=l.parentOffset===l.parent.content.size,d=r.depth===0?void 0:Ef(r.node(-1).contentMatchAt(r.indexAfter(-1)));let g=m&&d?[{type:d,attrs:c}]:void 0,u=po(e.doc,e.mapping.map(r.pos),1,g);if(!g&&!u&&po(e.doc,e.mapping.map(r.pos),1,d?[{type:d}]:void 0)&&(u=!0,g=d?[{type:d,attrs:c}]:void 0),n){if(u&&(s instanceof B&&e.deleteSelection(),e.split(e.mapping.map(r.pos),1,g),d&&!m&&!r.parentOffset&&r.parent.type!==d)){const h=e.mapping.map(r.before()),j=e.doc.resolve(h);r.node(-1).canReplaceWith(j.index(),j.index()+1,d)&&e.setNodeMarkup(e.mapping.map(r.before()),d)}o&&qp(t,a.extensionManager.splittableMarks),e.scrollIntoView()}return u},$f=(o,e={})=>({tr:t,state:n,dispatch:a,editor:s})=>{var i;const r=re(o,n.schema),{$from:l,$to:p}=n.selection,c=n.selection.node;if(c&&c.isBlock||l.depth<2||!l.sameParent(p))return!1;const m=l.node(-1);if(m.type!==r)return!1;const d=s.extensionManager.attributes;if(l.parent.content.size===0&&l.node(-1).childCount===l.indexAfter(-1)){if(l.depth===2||l.node(-3).type!==r||l.index(-2)!==l.node(-2).childCount-1)return!1;if(a){let v=w.empty;const k=l.index(-1)?1:l.index(-2)?2:3;for(let N=l.depth-k;N>=l.depth-3;N-=1)v=w.from(l.node(N).copy(v));const D=l.indexAfter(-1)<l.node(-2).childCount?1:l.indexAfter(-2)<l.node(-3).childCount?2:3,b={...ra(d,l.node().type.name,l.node().attrs),...e},x=((i=r.contentMatch.defaultType)===null||i===void 0?void 0:i.createAndFill(b))||void 0;v=v.append(w.from(r.createAndFill(null,x)||void 0));const y=l.before(l.depth-(k-1));t.replace(y,l.after(-D),new E(v,4-k,0));let M=-1;t.doc.nodesBetween(y,t.doc.content.size,(N,C)=>{if(M>-1)return!1;N.isTextblock&&N.content.size===0&&(M=C+1)}),M>-1&&t.setSelection(B.near(t.doc.resolve(M))),t.scrollIntoView()}return!0}const g=p.pos===l.end()?m.contentMatchAt(0).defaultType:null,u={...ra(d,m.type.name,m.attrs),...e},h={...ra(d,l.node().type.name,l.node().attrs),...e};t.delete(l.pos,p.pos);const j=g?[{type:r,attrs:u},{type:g,attrs:h}]:[{type:r,attrs:u}];if(!po(t.doc,l.pos,2))return!1;if(a){const{selection:v,storedMarks:k}=n,{splittableMarks:D}=s.extensionManager,b=k||v.$to.parentOffset&&v.$from.marks();if(t.split(l.pos,2,j).scrollIntoView(),!b||!a)return!0;const x=b.filter(y=>D.includes(y.type.name));t.ensureMarks(x)}return!0},di=(o,e)=>{const t=pi(i=>i.type===e)(o.selection);if(!t)return!0;const n=o.doc.resolve(Math.max(0,t.pos-1)).before(t.depth);if(n===void 0)return!0;const a=o.doc.nodeAt(n);return t.node.type===(a==null?void 0:a.type)&&vt(o.doc,t.pos)&&o.join(t.pos),!0},ui=(o,e)=>{const t=pi(i=>i.type===e)(o.selection);if(!t)return!0;const n=o.doc.resolve(t.start).after(t.depth);if(n===void 0)return!0;const a=o.doc.nodeAt(n);return t.node.type===(a==null?void 0:a.type)&&vt(o.doc,n)&&o.join(n),!0};var qf=Object.freeze({__proto__:null,blur:Bg,clearContent:Rg,clearNodes:Pg,command:Lg,createParagraphNear:zg,cut:Hg,deleteCurrentNode:Vg,deleteNode:$g,deleteRange:qg,deleteSelection:Wg,enter:Kg,exitCode:Ug,extendMarkRange:Gg,first:Yg,focus:Xg,forEach:Qg,insertContent:Zg,insertContentAt:of,joinBackward:sf,joinDown:af,joinForward:rf,joinItemBackward:lf,joinItemForward:pf,joinTextblockBackward:cf,joinTextblockForward:mf,joinUp:nf,keyboardShortcut:uf,lift:gf,liftEmptyBlock:ff,liftListItem:hf,newlineInCode:bf,resetAttributes:jf,scrollIntoView:vf,selectAll:kf,selectNodeBackward:yf,selectNodeForward:_f,selectParentNode:Df,selectTextblockEnd:wf,selectTextblockStart:If,setContent:Cf,setMark:Bf,setMeta:Rf,setNode:Pf,setNodeSelection:Lf,setTextSelection:zf,sinkListItem:Hf,splitBlock:Vf,splitListItem:$f,toggleList:(o,e,t,n={})=>({editor:a,tr:s,state:i,dispatch:r,chain:l,commands:p,can:c})=>{const{extensions:m,splittableMarks:d}=a.extensionManager,g=re(o,i.schema),u=re(e,i.schema),{selection:h,storedMarks:j}=i,{$from:v,$to:k}=h,D=v.blockRange(k),b=j||h.$to.parentOffset&&h.$from.marks();if(!D)return!1;const x=pi(y=>Hp(y.type.name,m))(h);if(D.depth>=1&&x&&D.depth-x.depth<=1){if(x.node.type===g)return p.liftListItem(u);if(Hp(x.node.type.name,m)&&g.validContent(x.node.content)&&r)return l().command(()=>(s.setNodeMarkup(x.pos,g),!0)).command(()=>di(s,g)).command(()=>ui(s,g)).run()}return!t||!b||!r?l().command(()=>c().wrapInList(g,n)?!0:p.clearNodes()).wrapInList(g,n).command(()=>di(s,g)).command(()=>ui(s,g)).run():l().command(()=>{const y=c().wrapInList(g,n),M=b.filter(N=>d.includes(N.type.name));return s.ensureMarks(M),y?!0:p.clearNodes()}).wrapInList(g,n).command(()=>di(s,g)).command(()=>ui(s,g)).run()},toggleMark:(o,e={},t={})=>({state:n,commands:a})=>{const{extendEmptyMarkRange:s=!1}=t,i=Ft(o,n.schema);return mi(n,i,e)?a.unsetMark(i,{extendEmptyMarkRange:s}):a.setMark(i,e)},toggleNode:(o,e,t={})=>({state:n,commands:a})=>{const s=re(o,n.schema),i=re(e,n.schema),r=on(n,s,t);let l;return n.selection.$anchor.sameParent(n.selection.$head)&&(l=n.selection.$anchor.parent.attrs),r?a.setNode(i,l):a.setNode(s,{...l,...t})},toggleWrap:(o,e={})=>({state:t,commands:n})=>{const a=re(o,t.schema);return on(t,a,e)?n.lift(a):n.wrapIn(a,e)},undoInputRule:()=>({state:o,dispatch:e})=>{const t=o.plugins;for(let n=0;n<t.length;n+=1){const a=t[n];let s;if(a.spec.isInputRules&&(s=a.getState(o))){if(e){const i=o.tr,r=s.transform;for(let l=r.steps.length-1;l>=0;l-=1)i.step(r.steps[l].invert(r.docs[l]));if(s.text){const l=i.doc.resolve(s.from).marks();i.replaceWith(s.from,s.to,o.schema.text(s.text,l))}else i.delete(s.from,s.to)}return!0}}return!1},unsetAllMarks:()=>({tr:o,dispatch:e})=>{const{selection:t}=o,{empty:n,ranges:a}=t;return n||e&&a.forEach(s=>{o.removeMark(s.$from.pos,s.$to.pos)}),!0},unsetMark:(o,e={})=>({tr:t,state:n,dispatch:a})=>{var s;const{extendEmptyMarkRange:i=!1}=e,{selection:r}=t,l=Ft(o,n.schema),{$from:p,empty:c,ranges:m}=r;if(!a)return!0;if(c&&i){let{from:d,to:g}=r;const u=(s=p.marks().find(j=>j.type===l))===null||s===void 0?void 0:s.attrs,h=ai(p,l,u);h&&(d=h.from,g=h.to),t.removeMark(d,g,l)}else m.forEach(d=>{t.removeMark(d.$from.pos,d.$to.pos,l)});return t.removeStoredMark(l),!0},updateAttributes:(o,e={})=>({tr:t,state:n,dispatch:a})=>{let s=null,i=null;const r=ia(typeof o=="string"?o:o.name,n.schema);return r?(r==="node"&&(s=re(o,n.schema)),r==="mark"&&(i=Ft(o,n.schema)),a&&t.selection.ranges.forEach(l=>{const p=l.$from.pos,c=l.$to.pos;n.doc.nodesBetween(p,c,(m,d)=>{s&&s===m.type&&t.setNodeMarkup(d,void 0,{...m.attrs,...e}),i&&m.marks.length&&m.marks.forEach(g=>{if(i===g.type){const u=Math.max(d,p),h=Math.min(d+m.nodeSize,c);t.addMark(u,h,i.create({...g.attrs,...e}))}})})}),!0):!1},wrapIn:(o,e={})=>({state:t,dispatch:n})=>{const a=re(o,t.schema);return gg(a,e)(t,n)},wrapInList:(o,e={})=>({state:t,dispatch:n})=>{const a=re(o,t.schema);return fg(a,e)(t,n)}});const Wf=le.create({name:"commands",addCommands(){return{...qf}}}),Kf=le.create({name:"drop",addProseMirrorPlugins(){return[new Q({key:new ae("tiptapDrop"),props:{handleDrop:(o,e,t,n)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:t,moved:n})}}})]}}),Uf=le.create({name:"editable",addProseMirrorPlugins(){return[new Q({key:new ae("editable"),props:{editable:()=>this.editor.options.editable}})]}}),Jf=le.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:o}=this;return[new Q({key:new ae("focusEvents"),props:{handleDOMEvents:{focus:(e,t)=>{o.isFocused=!0;const n=o.state.tr.setMeta("focus",{event:t}).setMeta("addToHistory",!1);return e.dispatch(n),!1},blur:(e,t)=>{o.isFocused=!1;const n=o.state.tr.setMeta("blur",{event:t}).setMeta("addToHistory",!1);return e.dispatch(n),!1}}}})]}}),Gf=le.create({name:"keymap",addKeyboardShortcuts(){const o=()=>this.editor.commands.first(({commands:i})=>[()=>i.undoInputRule(),()=>i.command(({tr:r})=>{const{selection:l,doc:p}=r,{empty:c,$anchor:m}=l,{pos:d,parent:g}=m,u=m.parent.isTextblock&&d>0?r.doc.resolve(d-1):m,h=u.parent.type.spec.isolating,j=m.pos-m.parentOffset,v=h&&u.parent.childCount===1?j===m.pos:R.atStart(p).from===d;return!c||!g.type.isTextblock||g.textContent.length||!v||v&&m.parent.type.name==="paragraph"?!1:i.clearNodes()}),()=>i.deleteSelection(),()=>i.joinBackward(),()=>i.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:i})=>[()=>i.deleteSelection(),()=>i.deleteCurrentNode(),()=>i.joinForward(),()=>i.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:i})=>[()=>i.newlineInCode(),()=>i.createParagraphNear(),()=>i.liftEmptyBlock(),()=>i.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:o,"Mod-Backspace":o,"Shift-Backspace":o,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},a={...n},s={...n,"Ctrl-h":o,"Alt-Backspace":o,"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 ii()||Np()?s:a},addProseMirrorPlugins(){return[new Q({key:new ae("clearDocument"),appendTransaction:(o,e,t)=>{const n=o.some(h=>h.docChanged)&&!e.doc.eq(t.doc),a=o.some(h=>h.getMeta("preventClearDocument"));if(!n||a)return;const{empty:s,from:i,to:r}=e.selection,l=R.atStart(e.doc).from,p=R.atEnd(e.doc).to;if(s||!(i===l&&r===p)||!la(t.doc))return;const d=t.tr,g=Xn({state:t,transaction:d}),{commands:u}=new Qn({editor:this.editor,state:g});if(u.clearNodes(),!!d.steps.length)return d}})]}}),Yf=le.create({name:"paste",addProseMirrorPlugins(){return[new Q({key:new ae("tiptapPaste"),props:{handlePaste:(o,e,t)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:t})}}})]}}),Xf=le.create({name:"tabindex",addProseMirrorPlugins(){return[new Q({key:new ae("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});class Yt{get name(){return this.node.type.name}constructor(e,t,n=!1,a=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=e,this.editor=t,this.currentNode=a}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 t=this.from,n=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}t=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:t,to:n},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),t=this.resolvedPos.doc.resolve(e);return new Yt(t,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 Yt(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 Yt(e,this.editor)}get children(){const e=[];return this.node.content.forEach((t,n)=>{const a=t.isBlock&&!t.isTextblock,s=this.pos+n+1,i=this.resolvedPos.doc.resolve(s);if(!a&&i.depth<=this.depth)return;const r=new Yt(i,this.editor,a,a?t:null);a&&(r.actualDepth=this.depth+1),e.push(new Yt(i,this.editor,a,a?t:null))}),e}get firstChild(){return this.children[0]||null}get lastChild(){const e=this.children;return e[e.length-1]||null}closest(e,t={}){let n=null,a=this.parent;for(;a&&!n;){if(a.node.type.name===e)if(Object.keys(t).length>0){const s=a.node.attrs,i=Object.keys(t);for(let r=0;r<i.length;r+=1){const l=i[r];if(s[l]!==t[l])break}}else n=a;a=a.parent}return n}querySelector(e,t={}){return this.querySelectorAll(e,t,!0)[0]||null}querySelectorAll(e,t={},n=!1){let a=[];if(!this.children||this.children.length===0)return a;const s=Object.keys(t);return this.children.forEach(i=>{n&&a.length>0||(i.node.type.name===e&&s.every(l=>t[l]===i.node.attrs[l])&&a.push(i),!(n&&a.length>0)&&(a=a.concat(i.querySelectorAll(e,t,n))))}),a}setAttribute(e){const t=this.editor.state.selection;this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name,e).setTextSelection(t.from).run()}}const Qf=`.ProseMirror {
|
|
14
|
+
position: relative;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.ProseMirror {
|
|
18
|
+
word-wrap: break-word;
|
|
19
|
+
white-space: pre-wrap;
|
|
20
|
+
white-space: break-spaces;
|
|
21
|
+
-webkit-font-variant-ligatures: none;
|
|
22
|
+
font-variant-ligatures: none;
|
|
23
|
+
font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.ProseMirror [contenteditable="false"] {
|
|
27
|
+
white-space: normal;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ProseMirror [contenteditable="false"] [contenteditable="true"] {
|
|
31
|
+
white-space: pre-wrap;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ProseMirror pre {
|
|
35
|
+
white-space: pre-wrap;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
img.ProseMirror-separator {
|
|
39
|
+
display: inline !important;
|
|
40
|
+
border: none !important;
|
|
41
|
+
margin: 0 !important;
|
|
42
|
+
width: 0 !important;
|
|
43
|
+
height: 0 !important;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.ProseMirror-gapcursor {
|
|
47
|
+
display: none;
|
|
48
|
+
pointer-events: none;
|
|
49
|
+
position: absolute;
|
|
50
|
+
margin: 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.ProseMirror-gapcursor:after {
|
|
54
|
+
content: "";
|
|
55
|
+
display: block;
|
|
56
|
+
position: absolute;
|
|
57
|
+
top: -2px;
|
|
58
|
+
width: 20px;
|
|
59
|
+
border-top: 1px solid black;
|
|
60
|
+
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@keyframes ProseMirror-cursor-blink {
|
|
64
|
+
to {
|
|
65
|
+
visibility: hidden;
|
|
129
66
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
Vditor.mathRender(previewElement, {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
<div style="margin-top: 14px;flex: 1">
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
<li><a href="https://ld246.com/article/1583129520165" target="_blank">基础语法</a></li>
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
</div>
|
|
181
|
-
|
|
182
|
-
<div>Vditor 支持</div>
|
|
183
|
-
<ul style="list-style: none">
|
|
184
|
-
<li><a href="https://github.com/Vanessa219/vditor/issues" target="_blank">Issues</a></li>
|
|
185
|
-
<li><a href="https://ld246.com/tag/vditor" target="_blank">官方讨论区</a></li>
|
|
186
|
-
<li><a href="https://ld246.com/article/1549638745630" target="_blank">开发手册</a></li>
|
|
187
|
-
<li><a href="https://ld246.com/guide/markdown" target="_blank">演示地址</a></li>
|
|
188
|
-
</ul>
|
|
189
|
-
</div></div>`,0)}),r}return ji(t,e),t}(Se),Pi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Bi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.element.children[0].addEventListener((0,s.Le)(),function(o){if(o.preventDefault(),!r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)&&n.currentMode!=="sv"){var a=(0,A.zh)(n),d=(0,p.lG)(a.startContainer,"LI");d&&fn(n,d,a)}}),r}return Pi(t,e),t}(Se),Vi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),qi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.element.children[0].addEventListener((0,s.Le)(),function(o){o.preventDefault(),n.tip.show(`<div style="max-width: 520px; font-size: 14px;line-height: 22px;margin-bottom: 14px;">
|
|
190
|
-
<p style="text-align: center;margin: 14px 0">
|
|
191
|
-
<em>下一代的 Markdown 编辑器,为未来而构建</em>
|
|
192
|
-
</p>
|
|
193
|
-
<div style="display: flex;margin-bottom: 14px;flex-wrap: wrap;align-items: center">
|
|
194
|
-
<img src="https://unpkg.com/vditor/dist/images/logo.png" style="margin: 0 auto;height: 68px"/>
|
|
195
|
-
<div> </div>
|
|
196
|
-
<div style="flex: 1;min-width: 250px">
|
|
197
|
-
Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。
|
|
198
|
-
它使用 TypeScript 实现,支持原生 JavaScript 以及 Vue、React、Angular 和 Svelte 等框架。
|
|
199
|
-
</div>
|
|
200
|
-
</div>
|
|
201
|
-
<div style="display: flex;flex-wrap: wrap;">
|
|
202
|
-
<ul style="list-style: none;flex: 1;min-width:148px">
|
|
203
|
-
<li>
|
|
204
|
-
项目地址:<a href="https://b3log.org/vditor" target="_blank">b3log.org/vditor</a>
|
|
205
|
-
</li>
|
|
206
|
-
<li>
|
|
207
|
-
开源协议:MIT
|
|
208
|
-
</li>
|
|
209
|
-
</ul>
|
|
210
|
-
<ul style="list-style: none;margin-right: 18px">
|
|
211
|
-
<li>
|
|
212
|
-
组件版本:Vditor v`+b.H+" / Lute v"+Lute.Version+`
|
|
213
|
-
</li>
|
|
214
|
-
<li>
|
|
215
|
-
赞助捐赠:<a href="https://ld246.com/sponsor" target="_blank">https://ld246.com/sponsor</a>
|
|
216
|
-
</li>
|
|
217
|
-
</ul>
|
|
218
|
-
</div>
|
|
219
|
-
</div>`,0)}),r}return Vi(t,e),t}(Se),Ui=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Wi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.element.children[0].addEventListener((0,s.Le)(),function(o){o.preventDefault(),r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)||n.currentMode==="sv"||kt(n,"afterend")}),r}return Ui(t,e),t}(Se),zi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ki=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.element.children[0].addEventListener((0,s.Le)(),function(o){o.preventDefault(),r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)||n.currentMode==="sv"||kt(n,"beforebegin")}),r}return zi(t,e),t}(Se),Gi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Fi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.element.children[0].addEventListener((0,s.Le)(),function(o){if(o.preventDefault(),!r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)&&n.currentMode!=="sv"){var a=(0,A.zh)(n),d=(0,p.lG)(a.startContainer,"LI");d&&Bt(n,d,a,d.parentElement)}}),r}return Gi(t,e),t}(Se),$i=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Zi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return n.options.outline&&r.element.firstElementChild.classList.add("vditor-menu--current"),r.element.children[0].addEventListener((0,s.Le)(),function(o){o.preventDefault(),n.toolbar.elements.outline.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)||(n.options.outline.enable=!r.element.firstElementChild.classList.contains("vditor-menu--current"),n.outline.toggle(n,n.options.outline.enable))}),r}return $i(t,e),t}(Se),Ji=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),Xi=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r._bindEvent(n),r}return Ji(t,e),t.prototype._bindEvent=function(n){var i=this;this.element.children[0].addEventListener((0,s.Le)(),function(r){r.preventDefault();var o=i.element.firstElementChild;if(!o.classList.contains(b.g.CLASS_MENU_DISABLED)){var a=b.g.EDIT_TOOLBARS.concat(["both","edit-mode","devtools"]);o.classList.contains("vditor-menu--current")?(o.classList.remove("vditor-menu--current"),n.currentMode==="sv"?(n.sv.element.style.display="block",n.options.preview.mode==="both"?n.preview.element.style.display="block":n.preview.element.style.display="none"):(n[n.currentMode].element.parentElement.style.display="block",n.preview.element.style.display="none"),w(n.toolbar.elements,a),n.outline.render(n)):(L(n.toolbar.elements,a),n.preview.element.style.display="block",n.currentMode==="sv"?n.sv.element.style.display="none":n[n.currentMode].element.parentElement.style.display="none",n.preview.render(n),o.classList.add("vditor-menu--current"),E(n,["subToolbar","hint","popover"]),setTimeout(function(){n.outline.render(n)},n.options.preview.delay+10)),me(n)}})},t}(Se),Qi=function(){function e(t){var n;if(this.SAMPLE_RATE=5e3,this.isRecording=!1,this.readyFlag=!1,this.leftChannel=[],this.rightChannel=[],this.recordingLength=0,typeof AudioContext<"u")n=new AudioContext;else{if(!webkitAudioContext)return;n=new webkitAudioContext}this.DEFAULT_SAMPLE_RATE=n.sampleRate;var i=n.createGain();n.createMediaStreamSource(t).connect(i),this.recorder=n.createScriptProcessor(2048,2,1),this.recorder.onaudioprocess=null,i.connect(this.recorder),this.recorder.connect(n.destination),this.readyFlag=!0}return e.prototype.cloneChannelData=function(t,n){this.leftChannel.push(new Float32Array(t)),this.rightChannel.push(new Float32Array(n)),this.recordingLength+=2048},e.prototype.startRecordingNewWavFile=function(){this.readyFlag&&(this.isRecording=!0,this.leftChannel.length=this.rightChannel.length=0,this.recordingLength=0)},e.prototype.stopRecording=function(){this.isRecording=!1},e.prototype.buildWavFileBlob=function(){for(var t=this.mergeBuffers(this.leftChannel),n=this.mergeBuffers(this.rightChannel),i=new Float32Array(t.length),r=0;r<t.length;++r)i[r]=.5*(t[r]+n[r]);this.DEFAULT_SAMPLE_RATE>this.SAMPLE_RATE&&(i=this.downSampleBuffer(i,this.SAMPLE_RATE));var o=44+2*i.length,a=new ArrayBuffer(o),d=new DataView(a);this.writeUTFBytes(d,0,"RIFF"),d.setUint32(4,o,!0),this.writeUTFBytes(d,8,"WAVE"),this.writeUTFBytes(d,12,"fmt "),d.setUint32(16,16,!0),d.setUint16(20,1,!0),d.setUint16(22,1,!0),d.setUint32(24,this.SAMPLE_RATE,!0),d.setUint32(28,2*this.SAMPLE_RATE,!0),d.setUint16(32,2,!0),d.setUint16(34,16,!0);var v=2*i.length;this.writeUTFBytes(d,36,"data"),d.setUint32(40,v,!0);for(var g=i.length,h=44,x=0;x<g;x++)d.setInt16(h,32767*i[x],!0),h+=2;return new Blob([d],{type:"audio/wav"})},e.prototype.downSampleBuffer=function(t,n){if(n===this.DEFAULT_SAMPLE_RATE||n>this.DEFAULT_SAMPLE_RATE)return t;for(var i=this.DEFAULT_SAMPLE_RATE/n,r=Math.round(t.length/i),o=new Float32Array(r),a=0,d=0;a<o.length;){for(var v=Math.round((a+1)*i),g=0,h=0,x=d;x<v&&x<t.length;x++)g+=t[x],h++;o[a]=g/h,a++,d=v}return o},e.prototype.mergeBuffers=function(t){for(var n=new Float32Array(this.recordingLength),i=0,r=t.length,o=0;o<r;++o){var a=t[o];n.set(a,i),i+=a.length}return n},e.prototype.writeUTFBytes=function(t,n,i){for(var r=i.length,o=0;o<r;o++)t.setUint8(n+o,i.charCodeAt(o))},e}(),Yi=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),eo=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r._bindEvent(n),r}return Yi(t,e),t.prototype._bindEvent=function(n){var i,r=this;this.element.children[0].addEventListener((0,s.Le)(),function(o){if(o.preventDefault(),!r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)){var a=n[n.currentMode].element;if(i)if(i.isRecording){i.stopRecording(),n.tip.hide();var d=new File([i.buildWavFileBlob()],"record"+new Date().getTime()+".wav",{type:"video/webm"});Pt(n,[d]),r.element.children[0].classList.remove("vditor-menu--current")}else n.tip.show(window.VditorI18n.recording),a.setAttribute("contenteditable","false"),i.startRecordingNewWavFile(),r.element.children[0].classList.add("vditor-menu--current");else navigator.mediaDevices.getUserMedia({audio:!0}).then(function(v){(i=new Qi(v)).recorder.onaudioprocess=function(g){if(i.isRecording){var h=g.inputBuffer.getChannelData(0),x=g.inputBuffer.getChannelData(1);i.cloneChannelData(h,x)}},i.startRecordingNewWavFile(),n.tip.show(window.VditorI18n.recording),a.setAttribute("contenteditable","false"),r.element.children[0].classList.add("vditor-menu--current")}).catch(function(){n.tip.show(window.VditorI18n["record-tip"])})}})},t}(Se),to=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),no=function(e){function t(n,i){var r=e.call(this,n,i)||this;return L({redo:r.element},["redo"]),r.element.children[0].addEventListener((0,s.Le)(),function(o){o.preventDefault(),r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)||n.undo.redo(n)}),r}return to(t,e),t}(Se),ro=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),io=function(e){function t(n,i){var r=e.call(this,n,i)||this;return L({undo:r.element},["undo"]),r.element.children[0].addEventListener((0,s.Le)(),function(o){o.preventDefault(),r.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED)||n.undo.undo(n)}),r}return ro(t,e),t}(Se),oo=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),ao=function(e){function t(n,i){var r=e.call(this,n,i)||this,o='<input type="file"';return n.options.upload.multiple&&(o+=' multiple="multiple"'),n.options.upload.accept&&(o+=' accept="'+n.options.upload.accept+'"'),r.element.children[0].innerHTML=""+(i.icon||'<svg><use xlink:href="#vditor-icon-upload"></use></svg>')+o+">",r._bindEvent(n),r}return oo(t,e),t.prototype._bindEvent=function(n){var i=this;this.element.children[0].addEventListener((0,s.Le)(),function(r){if(i.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED))return r.stopPropagation(),void r.preventDefault()}),this.element.querySelector("input").addEventListener("change",function(r){if(i.element.firstElementChild.classList.contains(b.g.CLASS_MENU_DISABLED))return r.stopPropagation(),void r.preventDefault();r.target.files.length!==0&&Pt(n,r.target.files,r.target)})},t}(Se),so=function(){function e(t){var n=this,i=t.options;this.elements={},this.element=document.createElement("div"),this.element.className="vditor-toolbar",i.toolbar.forEach(function(r,o){var a=n.genItem(t,r,o);if(n.element.appendChild(a),r.toolbar){var d=document.createElement("div");d.className="vditor-hint vditor-panel--arrow",d.addEventListener((0,s.Le)(),function(v){d.style.display="none"}),r.toolbar.forEach(function(v,g){v.level=2,d.appendChild(n.genItem(t,v,o+g))}),a.appendChild(d),k(t,d,a.children[0])}}),t.options.toolbarConfig.hide&&this.element.classList.add("vditor-toolbar--hide"),t.options.toolbarConfig.pin&&this.element.classList.add("vditor-toolbar--pin"),t.options.counter.enable&&(t.counter=new ki(t),this.element.appendChild(t.counter.element))}return e.prototype.genItem=function(t,n,i){var r;switch(n.name){case"bold":case"italic":case"more":case"strike":case"line":case"quote":case"list":case"ordered-list":case"check":case"code":case"inline-code":case"link":case"table":r=new Se(t,n);break;case"emoji":r=new Ai(t,n);break;case"headings":r=new Ii(t,n);break;case"|":r=new Ci;break;case"br":r=new gi;break;case"undo":r=new io(t,n);break;case"redo":r=new no(t,n);break;case"help":r=new Ri(t,n);break;case"both":r=new vi(t,n);break;case"preview":r=new Xi(t,n);break;case"fullscreen":r=new Di(t,n);break;case"upload":r=new ao(t,n);break;case"record":r=new eo(t,n);break;case"info":r=new qi(t,n);break;case"edit-mode":r=new Fr(t,n);break;case"devtools":r=new Mi(t,n);break;case"outdent":r=new Fi(t,n);break;case"indent":r=new Bi(t,n);break;case"outline":r=new Zi(t,n);break;case"insert-after":r=new Wi(t,n);break;case"insert-before":r=new Ki(t,n);break;case"code-theme":r=new bi(t,n);break;case"content-theme":r=new Ei(t,n);break;case"export":r=new Ni(t,n);break;default:r=new _i(t,n)}if(r){var o=n.name;return o!=="br"&&o!=="|"||(o+=i),this.elements[o]=r.element,r.element}},e}(),lo=J(471),co=function(){function e(){this.stackSize=50,this.resetStack(),this.dmp=new lo}return e.prototype.clearStack=function(t){this.resetStack(),this.resetIcon(t)},e.prototype.resetIcon=function(t){t.toolbar&&(this[t.currentMode].undoStack.length>1?w(t.toolbar.elements,["undo"]):L(t.toolbar.elements,["undo"]),this[t.currentMode].redoStack.length!==0?w(t.toolbar.elements,["redo"]):L(t.toolbar.elements,["redo"]))},e.prototype.undo=function(t){if(t[t.currentMode].element.getAttribute("contenteditable")!=="false"&&!(this[t.currentMode].undoStack.length<2)){var n=this[t.currentMode].undoStack.pop();n&&(this[t.currentMode].redoStack.push(n),this.renderDiff(n,t),this[t.currentMode].hasUndo=!0,E(t,["hint"]))}},e.prototype.redo=function(t){if(t[t.currentMode].element.getAttribute("contenteditable")!=="false"){var n=this[t.currentMode].redoStack.pop();n&&(this[t.currentMode].undoStack.push(n),this.renderDiff(n,t,!0))}},e.prototype.recordFirstPosition=function(t,n){if(getSelection().rangeCount!==0&&!(this[t.currentMode].undoStack.length!==1||this[t.currentMode].undoStack[0].length===0||this[t.currentMode].redoStack.length>0||(0,s.vU)()&&n.key==="Backspace"||(0,s.G6)())){var i=this.addCaret(t);i.replace("<wbr>","").replace(" vditor-ir__node--expand","")===this[t.currentMode].undoStack[0][0].diffs[0][1].replace("<wbr>","")&&(this[t.currentMode].undoStack[0][0].diffs[0][1]=i,this[t.currentMode].lastText=i)}},e.prototype.addToUndoStack=function(t){var n=this.addCaret(t,!0),i=this.dmp.diff_main(n,this[t.currentMode].lastText,!0),r=this.dmp.patch_make(n,this[t.currentMode].lastText,i);r.length===0&&this[t.currentMode].undoStack.length>0||(this[t.currentMode].lastText=n,this[t.currentMode].undoStack.push(r),this[t.currentMode].undoStack.length>this.stackSize&&this[t.currentMode].undoStack.shift(),this[t.currentMode].hasUndo&&(this[t.currentMode].redoStack=[],this[t.currentMode].hasUndo=!1,L(t.toolbar.elements,["redo"])),this[t.currentMode].undoStack.length>1&&w(t.toolbar.elements,["undo"]))},e.prototype.renderDiff=function(t,n,i){var r;if(i===void 0&&(i=!1),i){var o=this.dmp.patch_deepCopy(t).reverse();o.forEach(function(d){d.diffs.forEach(function(v){v[0]=-v[0]})}),r=this.dmp.patch_apply(o,this[n.currentMode].lastText)[0]}else r=this.dmp.patch_apply(t,this[n.currentMode].lastText)[0];if(this[n.currentMode].lastText=r,n[n.currentMode].element.innerHTML=r,n.currentMode!=="sv"&&n[n.currentMode].element.querySelectorAll(".vditor-"+n.currentMode+"__preview[data-render='2']").forEach(function(d){Le(d,n)}),n[n.currentMode].element.querySelector("wbr"))(0,A.ib)(n[n.currentMode].element,n[n.currentMode].element.ownerDocument.createRange()),Ce(n);else{var a=getSelection().getRangeAt(0);a.setEndBefore(n[n.currentMode].element),a.collapse(!1)}Ue(n),se(n,{enableAddUndoStack:!1,enableHint:!1,enableInput:!0}),rt(n),n[n.currentMode].element.querySelectorAll(".vditor-"+n.currentMode+"__preview[data-render='2']").forEach(function(d){Le(d,n)}),this[n.currentMode].undoStack.length>1?w(n.toolbar.elements,["undo"]):L(n.toolbar.elements,["undo"]),this[n.currentMode].redoStack.length!==0?w(n.toolbar.elements,["redo"]):L(n.toolbar.elements,["redo"])},e.prototype.resetStack=function(){this.ir={hasUndo:!1,lastText:"",redoStack:[],undoStack:[]},this.sv={hasUndo:!1,lastText:"",redoStack:[],undoStack:[]},this.wysiwyg={hasUndo:!1,lastText:"",redoStack:[],undoStack:[]}},e.prototype.addCaret=function(t,n){var i;if(n===void 0&&(n=!1),getSelection().rangeCount!==0&&!t[t.currentMode].element.querySelector("wbr")){var r=getSelection().getRangeAt(0);if(t[t.currentMode].element.contains(r.startContainer)){i=r.cloneRange();var o=document.createElement("span");o.className="vditor-wbr",r.insertNode(o)}}t.ir.element.cloneNode(!0).querySelectorAll(".vditor-"+t.currentMode+"__preview[data-render='1']").forEach(function(d){d.firstElementChild&&(d.firstElementChild.classList.contains("language-echarts")||d.firstElementChild.classList.contains("language-plantuml")||d.firstElementChild.classList.contains("language-mindmap")?(d.firstElementChild.removeAttribute("_echarts_instance_"),d.firstElementChild.removeAttribute("data-processed"),d.firstElementChild.innerHTML=d.previousElementSibling.firstElementChild.innerHTML,d.setAttribute("data-render","2")):d.firstElementChild.classList.contains("language-math")&&(d.setAttribute("data-render","2"),d.firstElementChild.textContent=d.firstElementChild.getAttribute("data-math"),d.firstElementChild.removeAttribute("data-math")))});var a=t[t.currentMode].element.innerHTML;return t[t.currentMode].element.querySelectorAll(".vditor-wbr").forEach(function(d){d.remove()}),n&&i&&(0,A.Hc)(i),a.replace('<span class="vditor-wbr"></span>',"<wbr>")},e}(),uo=J(640),po=function(){function e(t){this.defaultOptions={rtl:!1,after:void 0,cache:{enable:!0},cdn:b.g.CDN,classes:{preview:""},comment:{enable:!1},counter:{enable:!1,type:"markdown"},customRenders:[],debugger:!1,fullscreen:{index:90},height:"auto",hint:{delay:200,emoji:{"+1":"👍","-1":"👎",confused:"😕",eyes:"👀️",heart:"❤️",rocket:"🚀️",smile:"😄",tada:"🎉️"},emojiPath:b.g.CDN+"/dist/images/emoji",extend:[],parse:!0},icon:"ant",lang:"zh_CN",mode:"ir",outline:{enable:!1,position:"left"},placeholder:"",preview:{actions:["desktop","tablet","mobile","mp-wechat","zhihu"],delay:1e3,hljs:b.g.HLJS_OPTIONS,markdown:b.g.MARKDOWN_OPTIONS,math:b.g.MATH_OPTIONS,maxWidth:800,mode:"both",theme:b.g.THEME_OPTIONS,render:{media:{enable:!0}}},link:{isOpen:!0},image:{isPreview:!0},resize:{enable:!1,position:"bottom"},theme:"classic",toolbar:["emoji","headings","bold","italic","strike","link","|","list","ordered-list","check","outdent","indent","|","quote","line","code","inline-code","insert-before","insert-after","|","upload","record","table","|","undo","redo","|","fullscreen","edit-mode",{name:"more",toolbar:["both","code-theme","content-theme","export","outline","preview","devtools","info","help"]}],toolbarConfig:{hide:!1,pin:!1},typewriterMode:!1,undoDelay:800,upload:{extraData:{},fieldName:"file[]",filename:function(n){return n.replace(/\W/g,"")},linkToImgUrl:"",max:10485760,multiple:!0,url:"",withCredentials:!1},value:"",width:"auto"},this.options=t}return e.prototype.merge=function(){var t,n,i,r,o,a,d,v,g;this.options&&(this.options.toolbar?this.options.toolbar=this.mergeToolbar(this.options.toolbar):this.options.toolbar=this.mergeToolbar(this.defaultOptions.toolbar),!((n=(t=this.options.preview)===null||t===void 0?void 0:t.theme)===null||n===void 0)&&n.list&&(this.defaultOptions.preview.theme.list=this.options.preview.theme.list),!((o=(r=(i=this.options.preview)===null||i===void 0?void 0:i.render)===null||r===void 0?void 0:r.media)===null||o===void 0)&&o.enable&&(this.defaultOptions.preview.render.media.enable=this.options.preview.render.media.enable),!((a=this.options.hint)===null||a===void 0)&&a.emoji&&(this.defaultOptions.hint.emoji=this.options.hint.emoji),this.options.comment&&(this.defaultOptions.comment=this.options.comment),this.options.cdn&&(!((v=(d=this.options.preview)===null||d===void 0?void 0:d.theme)===null||v===void 0)&&v.path||(this.defaultOptions.preview.theme.path=this.options.cdn+"/dist/css/content-theme"),!((g=this.options.hint)===null||g===void 0)&&g.emojiPath||(this.defaultOptions.hint.emojiPath=this.options.cdn+"/dist/images/emoji")));var h=(0,uo.T)(this.defaultOptions,this.options);if(h.cache.enable&&!h.cache.id)throw new Error("need options.cache.id, see https://ld246.com/article/1549638745630#options");return h},e.prototype.mergeToolbar=function(t){var n=this,i=[{icon:'<svg><use xlink:href="#vditor-icon-export"></use></svg>',name:"export",tipPosition:"ne"},{hotkey:"⌘E",icon:'<svg><use xlink:href="#vditor-icon-emoji"></use></svg>',name:"emoji",tipPosition:"ne"},{hotkey:"⌘H",icon:'<svg><use xlink:href="#vditor-icon-headings"></use></svg>',name:"headings",tipPosition:"ne"},{hotkey:"⌘B",icon:'<svg><use xlink:href="#vditor-icon-bold"></use></svg>',name:"bold",prefix:"**",suffix:"**",tipPosition:"ne"},{hotkey:"⌘I",icon:'<svg><use xlink:href="#vditor-icon-italic"></use></svg>',name:"italic",prefix:"*",suffix:"*",tipPosition:"ne"},{hotkey:"⌘D",icon:'<svg><use xlink:href="#vditor-icon-strike"></use></svg>',name:"strike",prefix:"~~",suffix:"~~",tipPosition:"ne"},{hotkey:"⌘K",icon:'<svg><use xlink:href="#vditor-icon-link"></use></svg>',name:"link",prefix:"[",suffix:"](https://)",tipPosition:"n"},{name:"|"},{hotkey:"⌘L",icon:'<svg><use xlink:href="#vditor-icon-list"></use></svg>',name:"list",prefix:"* ",tipPosition:"n"},{hotkey:"⌘O",icon:'<svg><use xlink:href="#vditor-icon-ordered-list"></use></svg>',name:"ordered-list",prefix:"1. ",tipPosition:"n"},{hotkey:"⌘J",icon:'<svg><use xlink:href="#vditor-icon-check"></use></svg>',name:"check",prefix:"* [ ] ",tipPosition:"n"},{hotkey:"⇧⌘I",icon:'<svg><use xlink:href="#vditor-icon-outdent"></use></svg>',name:"outdent",tipPosition:"n"},{hotkey:"⇧⌘O",icon:'<svg><use xlink:href="#vditor-icon-indent"></use></svg>',name:"indent",tipPosition:"n"},{name:"|"},{hotkey:"⌘;",icon:'<svg><use xlink:href="#vditor-icon-quote"></use></svg>',name:"quote",prefix:"> ",tipPosition:"n"},{hotkey:"⇧⌘H",icon:'<svg><use xlink:href="#vditor-icon-line"></use></svg>',name:"line",prefix:"---",tipPosition:"n"},{hotkey:"⌘U",icon:'<svg><use xlink:href="#vditor-icon-code"></use></svg>',name:"code",prefix:"```",suffix:"\n```",tipPosition:"n"},{hotkey:"⌘G",icon:'<svg><use xlink:href="#vditor-icon-inline-code"></use></svg>',name:"inline-code",prefix:"`",suffix:"`",tipPosition:"n"},{hotkey:"⇧⌘B",icon:'<svg><use xlink:href="#vditor-icon-before"></use></svg>',name:"insert-before",tipPosition:"n"},{hotkey:"⇧⌘E",icon:'<svg><use xlink:href="#vditor-icon-after"></use></svg>',name:"insert-after",tipPosition:"n"},{name:"|"},{icon:'<svg><use xlink:href="#vditor-icon-upload"></use></svg>',name:"upload",tipPosition:"n"},{icon:'<svg><use xlink:href="#vditor-icon-record"></use></svg>',name:"record",tipPosition:"n"},{hotkey:"⌘M",icon:'<svg><use xlink:href="#vditor-icon-table"></use></svg>',name:"table",prefix:"| col1",suffix:` | col2 | col3 |
|
|
220
|
-
| --- | --- | --- |
|
|
221
|
-
| | | |
|
|
222
|
-
| | | |`,tipPosition:"n"},{name:"|"},{hotkey:"⌘Z",icon:'<svg><use xlink:href="#vditor-icon-undo"></use></svg>',name:"undo",tipPosition:"nw"},{hotkey:"⌘Y",icon:'<svg><use xlink:href="#vditor-icon-redo"></use></svg>',name:"redo",tipPosition:"nw"},{name:"|"},{icon:'<svg><use xlink:href="#vditor-icon-more"></use></svg>',name:"more",tipPosition:"e"},{hotkey:"⌘'",icon:'<svg><use xlink:href="#vditor-icon-fullscreen"></use></svg>',name:"fullscreen",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-edit"></use></svg>',name:"edit-mode",tipPosition:"nw"},{hotkey:"⌘P",icon:'<svg><use xlink:href="#vditor-icon-both"></use></svg>',name:"both",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-preview"></use></svg>',name:"preview",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-align-center"></use></svg>',name:"outline",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-theme"></use></svg>',name:"content-theme",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-code-theme"></use></svg>',name:"code-theme",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-bug"></use></svg>',name:"devtools",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-info"></use></svg>',name:"info",tipPosition:"nw"},{icon:'<svg><use xlink:href="#vditor-icon-help"></use></svg>',name:"help",tipPosition:"nw"},{name:"br"}],r=[];return t.forEach(function(o){var a=o;i.forEach(function(d){typeof o=="string"&&d.name===o&&(a=d),typeof o=="object"&&d.name===o.name&&(a=Object.assign({},d,o))}),o.toolbar&&(a.toolbar=n.mergeToolbar(o.toolbar)),r.push(a)}),r},e}(),mo=function(){function e(t){var n=this;this.composingLock=!1,this.commentIds=[];var i=document.createElement("div");i.className="vditor-wysiwyg",i.innerHTML='<pre class="vditor-reset" placeholder="'+t.options.placeholder+`"
|
|
223
|
-
contenteditable="true" spellcheck="false"></pre>
|
|
224
|
-
<div class="vditor-panel vditor-panel--none"></div>
|
|
225
|
-
<div class="vditor-panel vditor-panel--none">
|
|
226
|
-
<button type="button" aria-label="`+window.VditorI18n.comment+`" class="vditor-icon vditor-tooltipped vditor-tooltipped__n">
|
|
227
|
-
<svg><use xlink:href="#vditor-icon-comment"></use></svg>
|
|
228
|
-
</button>
|
|
229
|
-
</div>`,this.element=i.firstElementChild,this.popover=i.firstElementChild.nextElementSibling,this.selectPopover=i.lastElementChild,this.bindEvent(t),Nt(t,this.element),rn(t,this.element),Ht(t,this.element),jt(t,this.element),Rt(t,this.element),Dt(t,this.element),Ot(t,this.element,this.copy),It(t,this.element,this.copy),t.options.comment.enable&&(this.selectPopover.querySelector("button").onclick=function(){var r,o,a=Lute.NewNodeID(),d=getSelection().getRangeAt(0),v=d.cloneRange(),g=d.extractContents(),h=!1,x=!1;g.childNodes.forEach(function(M,P){var V=!1;if(M.nodeType===3?V=!0:M.classList.contains("vditor-comment")?M.classList.contains("vditor-comment")&&M.setAttribute("data-cmtids",M.getAttribute("data-cmtids")+" "+a):V=!0,V)if(M.nodeType!==3&&M.getAttribute("data-block")==="0"&&P===0&&v.startOffset>0)M.innerHTML='<span class="vditor-comment" data-cmtids="'+a+'">'+M.innerHTML+"</span>",r=M;else if(M.nodeType!==3&&M.getAttribute("data-block")==="0"&&P===g.childNodes.length-1&&v.endOffset<v.endContainer.textContent.length)M.innerHTML='<span class="vditor-comment" data-cmtids="'+a+'">'+M.innerHTML+"</span>",o=M;else if(M.nodeType!==3&&M.getAttribute("data-block")==="0")P===0?h=!0:P===g.childNodes.length-1&&(x=!0),M.innerHTML='<span class="vditor-comment" data-cmtids="'+a+'">'+M.innerHTML+"</span>";else{var O=document.createElement("span");O.classList.add("vditor-comment"),O.setAttribute("data-cmtids",a),M.parentNode.insertBefore(O,M),O.appendChild(M)}});var I=(0,p.F9)(v.startContainer);I&&(r?(I.insertAdjacentHTML("beforeend",r.innerHTML),r.remove()):I.textContent.trim().replace(b.g.ZWSP,"")===""&&h&&I.remove());var W=(0,p.F9)(v.endContainer);W&&(o?(W.insertAdjacentHTML("afterbegin",o.innerHTML),o.remove()):W.textContent.trim().replace(b.g.ZWSP,"")===""&&x&&W.remove()),d.insertNode(g),t.options.comment.add(a,d.toString(),n.getComments(t,!0)),we(t,{enableAddUndoStack:!0,enableHint:!1,enableInput:!1}),n.hideComment()})}return e.prototype.getComments=function(t,n){var i=this;if(n===void 0&&(n=!1),t.currentMode!=="wysiwyg"||!t.options.comment.enable)return[];this.commentIds=[],this.element.querySelectorAll(".vditor-comment").forEach(function(o){i.commentIds=i.commentIds.concat(o.getAttribute("data-cmtids").split(" "))}),this.commentIds=Array.from(new Set(this.commentIds));var r=[];return n?(this.commentIds.forEach(function(o){r.push({id:o,top:i.element.querySelector('.vditor-comment[data-cmtids="'+o+'"]').offsetTop})}),r):void 0},e.prototype.triggerRemoveComment=function(t){var n,i,r;if(t.currentMode==="wysiwyg"&&t.options.comment.enable&&t.wysiwyg.commentIds.length>0){var o=JSON.parse(JSON.stringify(this.commentIds));this.getComments(t);var a=(n=o,i=this.commentIds,r=new Set(i),n.filter(function(d){return!r.has(d)}));a.length>0&&t.options.comment.remove(a)}},e.prototype.showComment=function(){var t=(0,A.Ny)(this.element);this.selectPopover.setAttribute("style","left:"+t.left+"px;display:block;top:"+Math.max(-8,t.top-21)+"px")},e.prototype.hideComment=function(){this.selectPopover.setAttribute("style","display:none")},e.prototype.unbindListener=function(){window.removeEventListener("scroll",this.scrollListener)},e.prototype.copy=function(t,n){var i=getSelection().getRangeAt(0);if(i.toString()!==""){t.stopPropagation(),t.preventDefault();var r=(0,p.lG)(i.startContainer,"CODE"),o=(0,p.lG)(i.endContainer,"CODE");if(r&&o&&o.isSameNode(r)){var a="";return a=r.parentElement.tagName==="PRE"?i.toString():"`"+i.toString()+"`",t.clipboardData.setData("text/plain",a),void t.clipboardData.setData("text/html","")}var d=(0,p.lG)(i.startContainer,"A"),v=(0,p.lG)(i.endContainer,"A");if(d&&v&&v.isSameNode(d)){var g=d.getAttribute("title")||"";return g&&(g=' "'+g+'"'),t.clipboardData.setData("text/plain","["+i.toString()+"]("+d.getAttribute("href")+g+")"),void t.clipboardData.setData("text/html","")}var h=document.createElement("div");h.appendChild(i.cloneContents()),t.clipboardData.setData("text/plain",n.lute.VditorDOM2Md(h.innerHTML).trim()),t.clipboardData.setData("text/html","")}},e.prototype.bindEvent=function(t){var n=this;this.unbindListener(),window.addEventListener("scroll",this.scrollListener=function(){if(E(t,["hint"]),n.popover.style.display==="block"&&n.selectPopover.style.display==="block"){var i=parseInt(n.popover.getAttribute("data-top"),10);if(t.options.height==="auto"){if(t.options.toolbarConfig.pin){var r=Math.max(i,window.scrollY-t.element.offsetTop-8)+"px";n.popover.style.display==="block"&&(n.popover.style.top=r),n.selectPopover.style.display==="block"&&(n.selectPopover.style.top=r)}}else if(t.options.toolbarConfig.pin&&t.toolbar.element.getBoundingClientRect().top===0){var o=Math.max(window.scrollY-t.element.offsetTop-8,Math.min(i-t.wysiwyg.element.scrollTop,n.element.clientHeight-21))+"px";n.popover.style.display==="block"&&(n.popover.style.top=o),n.selectPopover.style.display==="block"&&(n.selectPopover.style.top=o)}}}),this.element.addEventListener("scroll",function(){if(E(t,["hint"]),t.options.comment&&t.options.comment.enable&&t.options.comment.scroll&&t.options.comment.scroll(t.wysiwyg.element.scrollTop),n.popover.style.display==="block"){var i=parseInt(n.popover.getAttribute("data-top"),10)-t.wysiwyg.element.scrollTop,r=-8;t.options.toolbarConfig.pin&&t.toolbar.element.getBoundingClientRect().top===0&&(r=window.scrollY-t.element.offsetTop+r);var o=Math.max(r,Math.min(i,n.element.clientHeight-21))+"px";n.popover.style.top=o,n.selectPopover.style.top=o}}),this.element.addEventListener("paste",function(i){Mt(t,i,{pasteCode:function(r){var o=(0,A.zh)(t),a=document.createElement("template");a.innerHTML=r,o.insertNode(a.content.cloneNode(!0));var d=(0,p.a1)(o.startContainer,"data-block","0");d?d.outerHTML=t.lute.SpinVditorDOM(d.outerHTML):t.wysiwyg.element.innerHTML=t.lute.SpinVditorDOM(t.wysiwyg.element.innerHTML),(0,A.ib)(t.wysiwyg.element,o)}})}),this.element.addEventListener("compositionstart",function(){n.composingLock=!0}),this.element.addEventListener("compositionend",function(i){var r=(0,N.W)(getSelection().getRangeAt(0).startContainer);r&&r.textContent===""?Ue(t):((0,s.vU)()||Et(t,getSelection().getRangeAt(0).cloneRange(),i),n.composingLock=!1)}),this.element.addEventListener("input",function(i){if(i.inputType!=="deleteByDrag"&&i.inputType!=="insertFromDrop"){if(n.preventInput)return n.preventInput=!1,void we(t);if(n.composingLock||i.data==="‘"||i.data==="“"||i.data==="《")we(t);else{var r=getSelection().getRangeAt(0),o=(0,p.F9)(r.startContainer);if(o||(en(t,r),o=(0,p.F9)(r.startContainer)),o){for(var a=(0,A.im)(o,t.wysiwyg.element,r).start,d=!0,v=a-1;v>o.textContent.substr(0,a).lastIndexOf(`
|
|
230
|
-
`);v--)if(o.textContent.charAt(v)!==" "&&o.textContent.charAt(v)!==" "){d=!1;break}a===0&&(d=!1);var g=!0;for(v=a-1;v<o.textContent.length;v++)if(o.textContent.charAt(v)!==" "&&o.textContent.charAt(v)!==`
|
|
231
|
-
`){g=!1;break}var h=(0,N.W)(getSelection().getRangeAt(0).startContainer);h&&h.textContent===""&&(Ue(t),h.remove()),d&&o.getAttribute("data-type")!=="code-block"||g||qt(o.innerHTML)||Vt(o.innerHTML)&&o.previousElementSibling?typeof t.options.input=="function"&&t.options.input(m(t)):(i.inputType==="insertParagraph"&&n.element.innerHTML==="<p><br></p><p><br></p>"&&o.previousElementSibling.remove(),Et(t,r,i))}}}}),this.element.addEventListener("click",function(i){if(i.target.tagName==="INPUT"){var r=i.target;return r.checked?r.setAttribute("checked","checked"):r.removeAttribute("checked"),n.preventInput=!0,void we(t)}if(i.target.tagName!=="IMG"||i.target.parentElement.classList.contains("vditor-wysiwyg__preview")){var o=(0,p.lG)(i.target,"A");if(o)return t.options.link.click?t.options.link.click(o):t.options.link.isOpen&&window.open(o.getAttribute("href")),void i.preventDefault();var a=(0,A.zh)(t);if(i.target.isEqualNode(n.element)&&n.element.lastElementChild&&a.collapsed){var d=n.element.lastElementChild.getBoundingClientRect();i.y>d.top+d.height&&(n.element.lastElementChild.tagName==="P"&&n.element.lastElementChild.textContent.trim().replace(b.g.ZWSP,"")===""?(a.selectNodeContents(n.element.lastElementChild),a.collapse(!1)):(n.element.insertAdjacentHTML("beforeend",'<p data-block="0">'+b.g.ZWSP+"<wbr></p>"),(0,A.ib)(n.element,a)))}Qe(t);var v=(0,p.fb)(i.target,"vditor-wysiwyg__preview");v||(v=(0,p.fb)((0,A.zh)(t).startContainer,"vditor-wysiwyg__preview")),v&&ut(v,t),yt(i,t)}else i.target.getAttribute("data-type")==="link-ref"?tn(t,i.target):function(g,h){var x=g.target;h.wysiwyg.popover.innerHTML="";var I=function(){x.setAttribute("src",M.value),x.setAttribute("alt",V.value),x.setAttribute("title",q.value),typeof h.options.input=="function"&&h.options.input(m(h))},W=document.createElement("span");W.setAttribute("aria-label",window.VditorI18n.imageURL),W.className="vditor-tooltipped vditor-tooltipped__n";var M=document.createElement("input");W.appendChild(M),M.className="vditor-input",M.setAttribute("placeholder",window.VditorI18n.imageURL),M.value=x.getAttribute("src")||"",M.oninput=function(){I()},M.onkeydown=function(B){Oe(h,B)};var P=document.createElement("span");P.setAttribute("aria-label",window.VditorI18n.alternateText),P.className="vditor-tooltipped vditor-tooltipped__n";var V=document.createElement("input");P.appendChild(V),V.className="vditor-input",V.setAttribute("placeholder",window.VditorI18n.alternateText),V.style.width="52px",V.value=x.getAttribute("alt")||"",V.oninput=function(){I()},V.onkeydown=function(B){Oe(h,B)};var O=document.createElement("span");O.setAttribute("aria-label",window.VditorI18n.title),O.className="vditor-tooltipped vditor-tooltipped__n";var q=document.createElement("input");O.appendChild(q),q.className="vditor-input",q.setAttribute("placeholder",window.VditorI18n.title),q.value=x.getAttribute("title")||"",q.oninput=function(){I()},q.onkeydown=function(B){Oe(h,B)},Pe(x,h),h.wysiwyg.popover.insertAdjacentElement("beforeend",W),h.wysiwyg.popover.insertAdjacentElement("beforeend",P),h.wysiwyg.popover.insertAdjacentElement("beforeend",O),Re(h,x)}(i,t)}),this.element.addEventListener("keyup",function(i){if(!i.isComposing&&!(0,s.yl)(i)){i.key==="Enter"&&Ce(t),i.key!=="Backspace"&&i.key!=="Delete"||t.wysiwyg.element.innerHTML===""||t.wysiwyg.element.childNodes.length!==1||!t.wysiwyg.element.firstElementChild||t.wysiwyg.element.firstElementChild.tagName!=="P"||t.wysiwyg.element.firstElementChild.childElementCount!==0||t.wysiwyg.element.textContent!==""&&t.wysiwyg.element.textContent!==`
|
|
232
|
-
`||(t.wysiwyg.element.innerHTML="");var r=(0,A.zh)(t);if(i.key==="Backspace"&&(0,s.vU)()&&r.startContainer.textContent===`
|
|
233
|
-
`&&r.startOffset===1&&(r.startContainer.textContent=""),en(t,r),Qe(t),i.key==="ArrowDown"||i.key==="ArrowRight"||i.key==="Backspace"||i.key==="ArrowLeft"||i.key==="ArrowUp"){i.key!=="ArrowLeft"&&i.key!=="ArrowRight"||t.hint.render(t);var o=(0,p.fb)(r.startContainer,"vditor-wysiwyg__preview");if(!o&&r.startContainer.nodeType!==3&&r.startOffset>0&&(d=r.startContainer).classList.contains("vditor-wysiwyg__block")&&(o=d.lastElementChild),o)if(o.previousElementSibling.style.display!=="none"){var a=o.previousElementSibling;if(a.tagName==="PRE"&&(a=a.firstElementChild),i.key==="ArrowDown"||i.key==="ArrowRight"){var d,v=function(h){for(var x=h;x&&!x.nextSibling;)x=x.parentElement;return x.nextSibling}(d=o.parentElement);if(v&&v.nodeType!==3){var g=v.querySelector(".vditor-wysiwyg__preview");if(g)return void ut(g,t)}if(v.nodeType===3){for(;v.textContent.length===0&&v.nextSibling;)v=v.nextSibling;r.setStart(v,1)}else r.setStart(v.firstChild,0)}else r.selectNodeContents(a),r.collapse(!1)}else i.key==="ArrowDown"||i.key==="ArrowRight"?ut(o,t):ut(o,t,!1)}}})},e}(),fo=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])},e(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}();const ho=function(e){function t(n,i){var r=e.call(this)||this;if(r.version=b.H,typeof n=="string"){if(i?i.cache?i.cache.id||(i.cache.id="vditor"+n):i.cache={id:"vditor"+n}:i={cache:{id:"vditor"+n}},!document.getElementById(n))return r.showErrorTip("Failed to get element by id: "+n),r;n=document.getElementById(n)}var o=new po(i).merge();if(o.i18n)window.VditorI18n=o.i18n,r.init(n,o);else{if(!["en_US","fr_FR","pt_BR","ja_JP","ko_KR","ru_RU","sv_SE","zh_CN","zh_TW"].includes(o.lang))throw new Error("options.lang error, see https://ld246.com/article/1549638745630#options");var a="vditorI18nScript",d=a+o.lang;document.querySelectorAll('head script[id^="vditorI18nScript"]').forEach(function(v){v.id!==d&&document.head.removeChild(v)}),(0,l.G)(o.cdn+"/dist/js/i18n/"+o.lang+".js",d).then(function(){r.init(n,o)}).catch(function(v){r.showErrorTip("GET "+o.cdn+"/dist/js/i18n/"+o.lang+".js net::ERR_ABORTED 404 (Not Found)")})}return r}return fo(t,e),t.prototype.showErrorTip=function(n){var i=new Nn;document.body.appendChild(i.element),i.show(n,0)},t.prototype.setTheme=function(n,i,r,o){this.vditor.options.theme=n,fe(this.vditor),i&&(this.vditor.options.preview.theme.current=i,(0,He.Z)(i,o||this.vditor.options.preview.theme.path)),r&&(this.vditor.options.preview.hljs.style=r,(0,Hn.Y)(r,this.vditor.options.cdn))},t.prototype.getValue=function(){return m(this.vditor)},t.prototype.getCurrentMode=function(){return this.vditor.currentMode},t.prototype.focus=function(){this.vditor.currentMode==="sv"?this.vditor.sv.element.focus():this.vditor.currentMode==="wysiwyg"?this.vditor.wysiwyg.element.focus():this.vditor.currentMode==="ir"&&this.vditor.ir.element.focus()},t.prototype.blur=function(){this.vditor.currentMode==="sv"?this.vditor.sv.element.blur():this.vditor.currentMode==="wysiwyg"?this.vditor.wysiwyg.element.blur():this.vditor.currentMode==="ir"&&this.vditor.ir.element.blur()},t.prototype.disabled=function(){E(this.vditor,["subToolbar","hint","popover"]),L(this.vditor.toolbar.elements,b.g.EDIT_TOOLBARS.concat(["undo","redo","fullscreen","edit-mode"])),this.vditor[this.vditor.currentMode].element.setAttribute("contenteditable","false")},t.prototype.enable=function(){w(this.vditor.toolbar.elements,b.g.EDIT_TOOLBARS.concat(["undo","redo","fullscreen","edit-mode"])),this.vditor.undo.resetIcon(this.vditor),this.vditor[this.vditor.currentMode].element.setAttribute("contenteditable","true")},t.prototype.getSelection=function(){return this.vditor.currentMode==="wysiwyg"?mt(this.vditor.wysiwyg.element):this.vditor.currentMode==="sv"?mt(this.vditor.sv.element):this.vditor.currentMode==="ir"?mt(this.vditor.ir.element):void 0},t.prototype.renderPreview=function(n){this.vditor.preview.render(this.vditor,n)},t.prototype.getCursorPosition=function(){return(0,A.Ny)(this.vditor[this.vditor.currentMode].element)},t.prototype.isUploading=function(){return this.vditor.upload.isUploading},t.prototype.clearCache=function(){localStorage.removeItem(this.vditor.options.cache.id)},t.prototype.disabledCache=function(){this.vditor.options.cache.enable=!1},t.prototype.enableCache=function(){if(!this.vditor.options.cache.id)throw new Error("need options.cache.id, see https://ld246.com/article/1549638745630#options");this.vditor.options.cache.enable=!0},t.prototype.html2md=function(n){return this.vditor.lute.HTML2Md(n)},t.prototype.exportJSON=function(n){return this.vditor.lute.RenderJSON(n)},t.prototype.getHTML=function(){return An(this.vditor)},t.prototype.tip=function(n,i){this.vditor.tip.show(n,i)},t.prototype.setPreviewMode=function(n){Wt(n,this.vditor)},t.prototype.deleteValue=function(){window.getSelection().isCollapsed||document.execCommand("delete",!1)},t.prototype.updateValue=function(n){document.execCommand("insertHTML",!1,n)},t.prototype.insertValue=function(n,i){i===void 0&&(i=!0);var r=(0,A.zh)(this.vditor);r.collapse(!0);var o=document.createElement("template");o.innerHTML=n,r.insertNode(o.content.cloneNode(!0)),r.collapse(!1),this.vditor.currentMode==="sv"?(this.vditor.sv.preventInput=!0,i&&ae(this.vditor)):this.vditor.currentMode==="wysiwyg"?i&&Et(this.vditor,getSelection().getRangeAt(0)):this.vditor.currentMode==="ir"&&(this.vditor.ir.preventInput=!0,i&&ye(this.vditor,getSelection().getRangeAt(0),!0))},t.prototype.setValue=function(n,i){var r=this;i===void 0&&(i=!1),this.vditor.currentMode==="sv"?(this.vditor.sv.element.innerHTML="<div data-block='0'>"+this.vditor.lute.SpinVditorSVDOM(n)+"</div>",Ne(this.vditor,{enableAddUndoStack:!0,enableHint:!1,enableInput:!1})):this.vditor.currentMode==="wysiwyg"?nn(this.vditor,n,{enableAddUndoStack:!0,enableHint:!1,enableInput:!1}):(this.vditor.ir.element.innerHTML=this.vditor.lute.Md2VditorIRDOM(n),this.vditor.ir.element.querySelectorAll(".vditor-ir__preview[data-render='2']").forEach(function(o){Le(o,r.vditor)}),Ke(this.vditor,{enableAddUndoStack:!0,enableHint:!1,enableInput:!1})),this.vditor.outline.render(this.vditor),n||(E(this.vditor,["emoji","headings","submenu","hint"]),this.vditor.wysiwyg.popover&&(this.vditor.wysiwyg.popover.style.display="none"),this.clearCache()),i&&this.clearStack()},t.prototype.clearStack=function(){this.vditor.undo.clearStack(this.vditor),this.vditor.undo.addToUndoStack(this.vditor)},t.prototype.destroy=function(){this.vditor.element.innerHTML=this.vditor.originalInnerHTML,this.vditor.element.classList.remove("vditor"),this.vditor.element.removeAttribute("style");var n=document.getElementById("vditorIconScript");n&&n.remove(),this.clearCache(),ze(),this.vditor.wysiwyg.unbindListener()},t.prototype.getCommentIds=function(){return this.vditor.currentMode!=="wysiwyg"?[]:this.vditor.wysiwyg.getComments(this.vditor,!0)},t.prototype.hlCommentIds=function(n){if(this.vditor.currentMode==="wysiwyg"){var i=function(r){r.classList.remove("vditor-comment--hover"),n.forEach(function(o){r.getAttribute("data-cmtids").indexOf(o)>-1&&r.classList.add("vditor-comment--hover")})};this.vditor.wysiwyg.element.querySelectorAll(".vditor-comment").forEach(function(r){i(r)}),this.vditor.preview.element.style.display!=="none"&&this.vditor.preview.element.querySelectorAll(".vditor-comment").forEach(function(r){i(r)})}},t.prototype.unHlCommentIds=function(n){if(this.vditor.currentMode==="wysiwyg"){var i=function(r){n.forEach(function(o){r.getAttribute("data-cmtids").indexOf(o)>-1&&r.classList.remove("vditor-comment--hover")})};this.vditor.wysiwyg.element.querySelectorAll(".vditor-comment").forEach(function(r){i(r)}),this.vditor.preview.element.style.display!=="none"&&this.vditor.preview.element.querySelectorAll(".vditor-comment").forEach(function(r){i(r)})}},t.prototype.removeCommentIds=function(n){var i=this;if(this.vditor.currentMode==="wysiwyg"){var r=function(o,a){var d=o.getAttribute("data-cmtids").split(" ");d.find(function(v,g){if(v===a)return d.splice(g,1),!0}),d.length===0?(o.outerHTML=o.innerHTML,(0,A.zh)(i.vditor).collapse(!0)):o.setAttribute("data-cmtids",d.join(" "))};n.forEach(function(o){i.vditor.wysiwyg.element.querySelectorAll(".vditor-comment").forEach(function(a){r(a,o)}),i.vditor.preview.element.style.display!=="none"&&i.vditor.preview.element.querySelectorAll(".vditor-comment").forEach(function(a){r(a,o)})}),we(this.vditor,{enableAddUndoStack:!0,enableHint:!1,enableInput:!1})}},t.prototype.init=function(n,i){var r=this;this.vditor={currentMode:i.mode,element:n,hint:new si(i.hint.extend),lute:void 0,options:i,originalInnerHTML:n.innerHTML,outline:new di(window.VditorI18n.outline),tip:new Nn},this.vditor.sv=new fi(this.vditor),this.vditor.undo=new co,this.vditor.wysiwyg=new mo(this.vditor),this.vditor.ir=new li(this.vditor),this.vditor.toolbar=new so(this.vditor),i.resize.enable&&(this.vditor.resize=new mi(this.vditor)),this.vditor.toolbar.elements.devtools&&(this.vditor.devtools=new y),(i.upload.url||i.upload.handler)&&(this.vditor.upload=new Qr),(0,l.G)(i._lutePath||i.cdn+"/dist/js/lute/lute.min.js","vditorLuteScript").then(function(){r.vditor.lute=(0,ci.X)({autoSpace:r.vditor.options.preview.markdown.autoSpace,gfmAutoLink:r.vditor.options.preview.markdown.gfmAutoLink,codeBlockPreview:r.vditor.options.preview.markdown.codeBlockPreview,emojiSite:r.vditor.options.hint.emojiPath,emojis:r.vditor.options.hint.emoji,fixTermTypo:r.vditor.options.preview.markdown.fixTermTypo,footnotes:r.vditor.options.preview.markdown.footnotes,headingAnchor:!1,inlineMathDigit:r.vditor.options.preview.math.inlineDigit,linkBase:r.vditor.options.preview.markdown.linkBase,linkPrefix:r.vditor.options.preview.markdown.linkPrefix,listStyle:r.vditor.options.preview.markdown.listStyle,mark:r.vditor.options.preview.markdown.mark,mathBlockPreview:r.vditor.options.preview.markdown.mathBlockPreview,paragraphBeginningSpace:r.vditor.options.preview.markdown.paragraphBeginningSpace,sanitize:r.vditor.options.preview.markdown.sanitize,toc:r.vditor.options.preview.markdown.toc}),r.vditor.preview=new pi(r.vditor),function(o){o.element.innerHTML="",o.element.classList.add("vditor"),o.options.rtl&&o.element.setAttribute("dir","rtl"),fe(o),(0,He.Z)(o.options.preview.theme.current,o.options.preview.theme.path),typeof o.options.height=="number"?o.element.style.height=o.options.height+"px":o.element.style.height=o.options.height,typeof o.options.minHeight=="number"&&(o.element.style.minHeight=o.options.minHeight+"px"),typeof o.options.width=="number"?o.element.style.width=o.options.width+"px":o.element.style.width=o.options.width,o.element.appendChild(o.toolbar.element);var a=document.createElement("div");if(a.className="vditor-content",o.options.outline.position==="left"&&a.appendChild(o.outline.element),a.appendChild(o.wysiwyg.element.parentElement),a.appendChild(o.sv.element),a.appendChild(o.ir.element.parentElement),a.appendChild(o.preview.element),o.toolbar.elements.devtools&&a.appendChild(o.devtools.element),o.options.outline.position==="right"&&(o.outline.element.classList.add("vditor-outline--right"),a.appendChild(o.outline.element)),o.upload&&a.appendChild(o.upload.element),o.options.resize.enable&&a.appendChild(o.resize.element),a.appendChild(o.hint.element),a.appendChild(o.tip.element),o.element.appendChild(a),a.addEventListener("click",function(){E(o,["subToolbar"])}),o.toolbar.elements.export&&o.element.insertAdjacentHTML("beforeend",'<iframe id="vditorExportIframe" style="width: 100%;height: 0;border: 0"></iframe>'),Ye(o,o.options.mode,zr(o)),document.execCommand("DefaultParagraphSeparator",!1,"p"),navigator.userAgent.indexOf("iPhone")>-1&&window.visualViewport!==void 0){var d=!1,v=function(g){d||(d=!0,requestAnimationFrame(function(){d=!1;var h=o.toolbar.element;h.style.transform="none",h.getBoundingClientRect().top<0&&(h.style.transform="translate(0, "+-h.getBoundingClientRect().top+"px)")}))};window.visualViewport.addEventListener("scroll",v),window.visualViewport.addEventListener("resize",v)}}(r.vditor),i.after&&i.after(),i.icon&&(0,l.J)(i.cdn+"/dist/js/icons/"+i.icon+".js","vditorIconScript")})},t}(_.default)})(),ue=ue.default})())})(Gt);var Vn=Gt.exports;const qn=Bn(Vn),Un=he=>(T.pushScopeId("data-v-4f2bd237"),he=he(),T.popScopeId(),he),Wn={class:"sus-comment flex flex-row w-full"},zn={key:0,class:"absolute flex space-x-2 w-full bg-white"},Kn=[T.createStaticVNode('<div class="animate-pulse bg-gray-300 h-12 w-12 rounded-full" data-v-4f2bd237></div><div class="space-y-2 w-4/5 mt-3" data-v-4f2bd237><div class="animate-pulse rounded-md bg-gray-300 h-4 w-full" data-v-4f2bd237></div><div class="animate-pulse rounded-md bg-gray-300 h-4 w-full" data-v-4f2bd237></div><div class="animate-pulse rounded-md bg-gray-300 h-4 w-10/12" data-v-4f2bd237></div><div class="animate-pulse rounded-md bg-gray-300 h-4 w-10/12" data-v-4f2bd237></div><div class="animate-pulse rounded-md bg-gray-300 h-4 w-8/12" data-v-4f2bd237></div></div>',2)],Gn={class:"sus-comment-avatar vditor-tooltipped vditor-tooltipped__ne","aria-label":"输入QQ邮箱自动获取头像"},Fn=["src"],$n={class:"sus-comment__main"},Zn={class:"sus-comment__info my-1"},Jn={class:"sus-comment__info-input"},Xn={class:"sus-comment__info-input"},Qn={class:"sus-comment__info-input vditor-tooltipped vditor-tooltipped__n","aria-label":"输入QQ邮箱自动获取头像"},Yn={key:0,class:"sus-comment__editor w-full"},er=["id"],tr={class:"sus-comment__footer flex justify-between"},nr={class:"flex items-center"},rr=["aria-label"],ir={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},or=[T.createStaticVNode('<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" data-v-4f2bd237><g data-v-4f2bd237><path stroke-dasharray="4" stroke-dashoffset="4" d="M12 3V5" data-v-4f2bd237><animate fill="freeze" attributeName="stroke-dashoffset" dur="0.2s" values="4;0" data-v-4f2bd237></animate></path><path stroke-dasharray="28" stroke-dashoffset="28" d="M12 5C8.68629 5 6 7.68629 6 11L6 17C5 17 4 18 4 19H12M12 5C15.3137 5 18 7.68629 18 11L18 17C19 17 20 18 20 19H12" data-v-4f2bd237><animate fill="freeze" attributeName="stroke-dashoffset" begin="0.2s" dur="0.4s" values="28;0" data-v-4f2bd237></animate></path><animateTransform attributeName="transform" begin="0.8s" dur="6s" keyTimes="0;0.05;0.15;0.2;1" repeatCount="indefinite" type="rotate" values="0 12 3;3 12 3;-3 12 3;0 12 3;0 12 3" data-v-4f2bd237></animateTransform></g><path stroke-dasharray="8" stroke-dashoffset="8" d="M10 20C10 21.1046 10.8954 22 12 22C13.1046 22 14 21.1046 14 20" data-v-4f2bd237><animate fill="freeze" attributeName="stroke-dashoffset" begin="0.6s" dur="0.2s" values="8;0" data-v-4f2bd237></animate><animateTransform attributeName="transform" begin="1s" dur="6s" keyTimes="0;0.05;0.15;0.2;1" repeatCount="indefinite" type="rotate" values="0 12 8;6 12 8;-6 12 8;0 12 8;0 12 8" data-v-4f2bd237></animateTransform></path></g>',1)],ar={key:1,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},sr=[Un(()=>T.createElementVNode("path",{fill:"currentColor",d:"M17.5 13a4.5 4.5 0 0 0-4.5 4.5a4.5 4.5 0 0 0 4.5 4.5a4.5 4.5 0 0 0 4.5-4.5a4.5 4.5 0 0 0-4.5-4.5m0 1.5a3 3 0 0 1 3 3a3 3 0 0 1-.42 1.5L16 14.92a3 3 0 0 1 1.5-.42M14.92 16L19 20.08a3 3 0 0 1-1.5.42a3 3 0 0 1-3-3a3 3 0 0 1 .42-1.5M12 2c-1.1 0-2 .9-2 2v.29C7.12 5.14 5 7.82 5 11v6l-2 2v1h8.5a6.5 6.5 0 0 1-.47-2H7v-7a5 5 0 0 1 5-5a5 5 0 0 1 5 5a7 7 0 0 1 .5 0a6.5 6.5 0 0 1 1.5.18V11c0-3.18-2.12-5.86-5-6.71V4a2 2 0 0 0-2-2m-2 19a2 2 0 0 0 2 2c.5 0 .97-.19 1.33-.5a6.5 6.5 0 0 1-1.3-1.5Z"},null,-1))],lr={class:"sus-comment__footer-send flex justify-end my-2"},cr=T.defineComponent({__name:"index",props:{vId:{default:"sus-vditor"},cache:{type:Boolean,default:!1},reply:{},emoji:{default:""},showInput:{type:Boolean,default:!1},cdn:{default:"https://unpkg.com/vditor@3.10.4"}},emits:["on-save","on-cancel"],setup(he,{emit:Ae}){class ke{constructor(){qe(this,"articleId","");qe(this,"userName","");qe(this,"userEmail","");qe(this,"userWebsite","");qe(this,"userAvatar","");qe(this,"content","");qe(this,"contentMD","");qe(this,"replyName","");qe(this,"parentId","");qe(this,"notify",0)}}const de=he,J=Ae,ue=de.reply.userName,Z=T.ref("在此处留下你的足迹吧!(支持markdown语法)"),_=T.reactive(new ke),b=T.ref(null),c=T.ref(""),m=T.ref(""),l=T.ref(""),y=T.ref(""),s=T.ref("收到回复后通知"),u=T.ref(!0);async function f(){var k,p;if(!b.value){J("on-save",_);return}if(de.showInput?(c.value=l.value,m.value=l.value):(c.value=(k=b.value)==null?void 0:k.getHTML(),m.value=(p=b.value)==null?void 0:p.getValue()),_.userWebsite&&(_.userWebsite.concat("http://")||_.userWebsite.concat("https://")||(_.userWebsite="https://"+_.userWebsite)),localStorage.setItem("user",JSON.stringify(_)),de.reply.id!="0"){const N=de.reply.parentId;_.parentId=N==="0"?de.reply.id:N,_.replyName=de.reply.userName,Z.value="@"+ue+":"}_.content=c.value,_.contentMD=m.value,J("on-save",_),l.value="",b.value.setValue("")}function w(){J("on-cancel")}function L(){b.value=new qn(de.vId,{after:()=>{},placeholder:Z.value,theme:"classic",cache:{enable:de.cache},icon:"material",cdn:de.cdn,toolbar:["emoji","link","code","inline-code"],hint:{emoji:de.emoji},preview:{hljs:{enable:!0,style:"base16-snazzy",langs:["java","html","javascript","typescript"]}}})}function S(){var k;_.userEmail.trim().endsWith("@qq.com")&&!_.userAvatar&&(y.value="https://thirdqq.qlogo.cn/g?b=sdk&nk="+((k=_.userEmail)==null?void 0:k.replace("@qq.com","").trim())+"&s=140")}function C(){_.notify==1?(_.notify=0,s.value="收到回复后不通知"):(_.notify=1,s.value="收到回复后通知")}function E(){if(de.showInput){u.value=!1;return}const k=setInterval(function(){document.querySelector(".vditor-content")&&(clearInterval(k),u.value=!1)},100)}return T.onMounted(()=>{L(),E();const k=localStorage.getItem("user");if(k){const p=JSON.parse(k);_.userName=p.userName,_.userEmail=p.userEmail,_.userWebsite=p.userWebsite,S()}_.notify=1}),(k,p)=>(T.openBlock(),T.createElementBlock("div",Wn,[u.value?(T.openBlock(),T.createElementBlock("div",zn,Kn)):T.createCommentVNode("",!0),T.withDirectives(T.createElementVNode("div",Gn,[T.createElementVNode("img",{alt:"输入QQ邮箱后自动获取",src:y.value,class:"sus-avatar",onerror:`this.onerror=null,this.src='' +\r
|
|
234
|
-
''`},null,8,Fn)],512),[[T.vShow,!u.value]]),T.createElementVNode("div",$n,[T.withDirectives(T.createElementVNode("div",Zn,[T.createElementVNode("div",Jn,[T.withDirectives(T.createElementVNode("input",{class:"sus-input sus-username",placeholder:"昵称(必填)","onUpdate:modelValue":p[0]||(p[0]=N=>_.userName=N),maxlength:"23"},null,512),[[T.vModelText,_.userName]])]),T.createElementVNode("div",Xn,[T.withDirectives(T.createElementVNode("input",{class:"sus-input sus-web",title:"点击昵称时可跳转",placeholder:"网址(https://)","onUpdate:modelValue":p[1]||(p[1]=N=>_.userWebsite=N),maxlength:"35"},null,512),[[T.vModelText,_.userWebsite]])]),T.createElementVNode("div",Qn,[T.withDirectives(T.createElementVNode("input",{onBlur:S,class:"sus-input sus-email",placeholder:"邮箱(不会公开,仅用于通知回复)","onUpdate:modelValue":p[2]||(p[2]=N=>_.userEmail=N),maxlength:"35"},null,544),[[T.vModelText,_.userEmail]])])],512),[[T.vShow,!u.value]]),k.showInput?(T.openBlock(),T.createElementBlock("div",Yn,[T.withDirectives(T.createElementVNode("textarea",{"onUpdate:modelValue":p[3]||(p[3]=N=>l.value=N),class:"sus-textarea",placeholder:"在此留下你的足迹吧!"},null,512),[[T.vModelText,l.value]])])):T.createCommentVNode("",!0),T.withDirectives(T.createElementVNode("div",{id:k.vId,class:"sus-comment__editor h-full w-full"},null,8,er),[[T.vShow,!k.showInput]]),T.createElementVNode("div",tr,[T.createElementVNode("div",nr,[T.createElementVNode("div",{onClick:C,class:"sus-comment__footer-notify vditor-tooltipped vditor-tooltipped__ne p-1 opacity-70","aria-label":s.value},[_.notify==1?(T.openBlock(),T.createElementBlock("svg",ir,or)):(T.openBlock(),T.createElementBlock("svg",ar,sr))],8,rr)]),T.withDirectives(T.createElementVNode("div",lr,[T.createElementVNode("button",{class:"sus-button cancel mx-2",onClick:w},"取消"),T.createElementVNode("button",{class:"sus-button ok",onClick:f},"发送")],512),[[T.vShow,!u.value]])])])]))}}),ct=(he,Ae)=>{const ke=he.__vccOpts||he;for(const[de,J]of Ae)ke[de]=J;return ke},Ft=ct(cr,[["__scopeId","data-v-4f2bd237"]]);function dr(he){const Ae=new Date(he),ke=Ae.getFullYear(),de=Ae.getMonth()+1,J=Ae.getDate(),ue=new Date,Z=ue.getFullYear(),_=ue.getMonth()+1,b=ue.getDate();if(Z===ke&&_==de){const c=b-J;if(c===0)return"今天";if(c<7)return c+"天前"}return Z===ke?`${de}月${J}日`:`${ke}年${de}月${J}日`}const ur=he=>(T.pushScopeId("data-v-ff7b0a89"),he=he(),T.popScopeId(),he),pr={class:"sus-item__container relative flex flex-row"},mr={class:"sus-comment-aside"},fr={class:"sus-comment-avatar"},hr=["src"],vr={class:"sus-item-floor mt-2"},gr={class:"sus-item__main w-full"},yr={class:"sus-item__user leading-loose"},br=["rel","href"],wr={key:0,class:"sus-item-tag mx-1",title:"博主"},Er={key:1,class:"sus-item__content-name mx-1.5"},kr={class:"sus-item__user-date ml-3"},Sr={class:"sus-item__content"},_r=["innerHTML"],Lr={key:0,class:"sus-item__info flex justify-end mx-1 -mt-1"},Mr={class:"sus-item__info-ip flex items-center"},Cr=ur(()=>T.createElementVNode("svg",{class:"sus-svg",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 28 28"},[T.createElementVNode("path",{fill:"currentColor",d:"M14 2.25A9.75 9.75 0 0 1 23.75 12c0 4.12-2.895 8.61-8.61 13.518a1.75 1.75 0 0 1-2.283-.002l-.378-.328C7.017 20.408 4.25 16.028 4.25 12A9.75 9.75 0 0 1 14 2.25m0 1.5A8.25 8.25 0 0 0 5.75 12c0 3.502 2.548 7.537 7.714 12.057l.373.323a.25.25 0 0 0 .326 0c5.416-4.652 8.087-8.795 8.087-12.38A8.25 8.25 0 0 0 14 3.75m0 4.5a3.75 3.75 0 1 1 0 7.5a3.75 3.75 0 0 1 0-7.5m0 1.5a2.25 2.25 0 1 0 0 4.5a2.25 2.25 0 0 0 0-4.5"})],-1)),gt=ct(T.defineComponent({__name:"item",props:{comment:{},lineHeight:{default:23},showIp:{type:Boolean,default:!1},num:{default:1}},emits:["on-reply"],setup(he,{emit:Ae}){const ke=he,de=T.ref(),J=T.ref(),ue=T.ref(!1),Z=Ae;function _(){de.value.style.display="block",ue.value=!1}function b(){const y=de.value.clientHeight,s=ke.lineHeight*5;y>=s&&(ue.value=!0)}function c(){Z("on-reply",ke.comment)}function m(){ke.comment.userAvatar||(ke.comment.userAvatar="/error.webp")}function l(){var f;const y=new Date((f=ke.comment)==null?void 0:f.createdDate),s=new Date,u=new Date(s.getFullYear()-1,s.getMonth(),s.getDate());return y>u?"ugc noopener nofollow":"ugc noopener noreferrer nofollow"}return T.onMounted(()=>{m(),b()}),(y,s)=>(T.openBlock(),T.createElementBlock("div",pr,[T.createElementVNode("span",{onClick:c,class:"sus-item__info-reply absolute cursor-pointer"}," 回复 "),T.createElementVNode("div",mr,[T.createElementVNode("div",fr,[T.createElementVNode("img",{alt:"",class:"sus-avatar",src:y.comment.userAvatar,onerror:"this.onerror=null,this.src='/error.webp'"},null,8,hr)]),T.createElementVNode("p",vr,T.toDisplayString(y.num),1)]),T.createElementVNode("div",gr,[T.createElementVNode("div",yr,[T.createElementVNode("a",{target:"_blank",rel:l(),href:y.comment.userWebsite,class:T.normalizeClass([y.comment.tagName,"sus-item__user-name font-semibold ml-1 cursor-pointer"])},T.toDisplayString(y.comment.userName),11,br),y.comment.tagName==="owner"?(T.openBlock(),T.createElementBlock("span",wr," 博主 ")):T.createCommentVNode("",!0),y.comment.replyName?(T.openBlock(),T.createElementBlock("span",Er,"@"+T.toDisplayString(y.comment.replyName),1)):T.createCommentVNode("",!0),T.createElementVNode("span",kr,T.toDisplayString(T.unref(dr)(y.comment.createdDate)),1)]),T.createElementVNode("div",Sr,[T.createElementVNode("span",{ref_key:"contentDom",ref:de,class:"sus-item__content-text",innerHTML:y.comment.content},null,8,_r),ue.value?(T.openBlock(),T.createElementBlock("a",{key:0,ref_key:"showMoreDom",ref:J,class:"sus-show-detail my-1.5 cursor-pointer",onClick:_},"显示更多>",512)):T.createCommentVNode("",!0)]),y.showIp&&y.comment.area?(T.openBlock(),T.createElementBlock("div",Lr,[T.createElementVNode("span",Mr,[Cr,T.createTextVNode(" "+T.toDisplayString(y.comment.area),1)])])):T.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-ff7b0a89"]]),Tr={class:"sus-comment__item"},Ar={class:"sus-comment__item-child"},xr={key:2},Nr={key:0,class:"sus-comment__item-footer flex justify-center w-full cursor-pointer"},$t=ct(T.defineComponent({__name:"index",props:{comment:{}},emits:["on-reply"],setup(he,{emit:Ae}){const ke=T.ref(!1),de=Ae;function J(ue){de("on-reply",ue)}return(ue,Z)=>{var _,b,c,m,l;return T.openBlock(),T.createElementBlock("div",Tr,[T.createVNode(gt,{comment:ue.comment,onOnReply:Z[0]||(Z[0]=y=>J(ue.comment))},null,8,["comment"]),T.createElementVNode("div",Ar,[((_=ue.comment.child)==null?void 0:_.length)>0?(T.openBlock(),T.createBlock(gt,{key:0,onOnReply:Z[1]||(Z[1]=y=>J(ue.comment.child[0])),comment:ue.comment.child[0],num:((b=ue.comment.child)==null?void 0:b.length)+1,class:"sus-comment__item-child__item"},null,8,["comment","num"])):T.createCommentVNode("",!0),((c=ue.comment.child)==null?void 0:c.length)>1?(T.openBlock(),T.createBlock(gt,{key:1,onOnReply:Z[2]||(Z[2]=y=>J(ue.comment.child[1])),comment:ue.comment.child[1],num:(m=ue.comment.child)==null?void 0:m.length,class:"sus-comment__item-child__item"},null,8,["comment","num"])):T.createCommentVNode("",!0),((l=ue.comment.child)==null?void 0:l.length)>2?(T.openBlock(),T.createElementBlock("div",xr,[ke.value?T.createCommentVNode("",!0):(T.openBlock(),T.createElementBlock("div",Nr,[T.createElementVNode("p",{class:"sus-load-more",onClick:Z[3]||(Z[3]=y=>ke.value=!0)}," 查看更多回复 > ")])),ke.value?(T.openBlock(!0),T.createElementBlock(T.Fragment,{key:1},T.renderList(ue.comment.child.slice(2),(y,s)=>{var u;return T.openBlock(),T.createBlock(gt,{onOnReply:f=>J(y),key:s,comment:y,num:((u=ue.comment.child)==null?void 0:u.length)-1-s,class:"sus-comment__item-child__item"},null,8,["onOnReply","comment","num"])}),128)):T.createCommentVNode("",!0)])):T.createCommentVNode("",!0)])])}}}),[["__scopeId","data-v-f5f2cebf"]]),Hr={class:"sus-top-item__info flex flex-col mr-1"},Dr={class:"sus-top-item__user whitespace-nowrap"},Or={key:0,class:"sus-top-item__reply whitespace-nowrap"},Ir=["innerHTML"],Zt=ct(T.defineComponent({__name:"simple",props:{comment:{}},emits:["go-local"],setup(he,{emit:Ae}){const ke=Ae;function de(){ke("go-local")}return(J,ue)=>(T.openBlock(),T.createElementBlock("div",{class:"sus-top-item flex items-start p-1.5 overflow-hidden cursor-pointer",onClick:de},[T.createElementVNode("div",Hr,[T.createElementVNode("span",Dr,T.toDisplayString(J.comment.userName)+": ",1),J.comment.replyName?(T.openBlock(),T.createElementBlock("span",Or,T.toDisplayString("@"+J.comment.replyName),1)):T.createCommentVNode("",!0)]),T.createElementVNode("span",{class:"sus-top-item__content w-full",innerHTML:J.comment.content},null,8,Ir)]))}}),[["__scopeId","data-v-ab0dc15c"]]),jr={class:"sus-top-item__user flex items-center"},Rr={key:0,class:"sus-top-item__user-avatar ml-1 mr-2"},Pr=["src"],Br={class:"sus-top-item__user-owner"},Vr={class:"sus-top-item__user-reply ml-3 opacity-70"},qr=["innerHTML"],Jt=ct(T.defineComponent({__name:"index",props:{comment:{}},emits:["go-local"],setup(he,{emit:Ae}){const ke=Ae;function de(){ke("go-local")}return(J,ue)=>(T.openBlock(),T.createElementBlock("div",{class:"sus-top-item p-1.5 cursor-pointer",onClick:de},[T.createElementVNode("div",jr,[J.comment.userAvatar?(T.openBlock(),T.createElementBlock("div",Rr,[T.createElementVNode("img",{alt:"",class:"sus-avatar",loading:"lazy",decoding:"async",src:J.comment.userAvatar,onerror:"this.onerror=null,this.src='/error.webp'"},null,8,Pr)])):T.createCommentVNode("",!0),T.createElementVNode("div",Br,T.toDisplayString(J.comment.userName),1),T.createElementVNode("div",Vr,T.toDisplayString(J.comment.replyName?"@"+J.comment.replyName:""),1)]),T.createElementVNode("div",{class:"sus-top-item__content p-1",innerHTML:J.comment.content},null,8,qr)]))}}),[["__scopeId","data-v-fee77634"]]),Ur=[Ft,$t,Jt,Zt],Wr={install(he){Ur.forEach(Ae=>{he.component(Ae.name,Ae)})}};De.SuSComment=Ft,De.SuSList=$t,De.SuSSimpleTop=Zt,De.SuSTop=Jt,De.default=Wr,Object.defineProperties(De,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.ProseMirror-hideselection *::selection {
|
|
70
|
+
background: transparent;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ProseMirror-hideselection *::-moz-selection {
|
|
74
|
+
background: transparent;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.ProseMirror-hideselection * {
|
|
78
|
+
caret-color: transparent;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.ProseMirror-focused .ProseMirror-gapcursor {
|
|
82
|
+
display: block;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.tippy-box[data-animation=fade][data-state=hidden] {
|
|
86
|
+
opacity: 0
|
|
87
|
+
}`;function Zf(o,e,t){const n=document.querySelector("style[data-tiptap-style]");if(n!==null)return n;const a=document.createElement("style");return e&&a.setAttribute("nonce",e),a.setAttribute("data-tiptap-style",""),a.innerHTML=o,document.getElementsByTagName("head")[0].appendChild(a),a}let eh=class extends yg{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:t})=>{throw t},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:t,slice:n,moved:a})=>this.options.onDrop(t,n,a)),this.on("paste",({event:t,slice:n})=>this.options.onPaste(t,n)),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=Zf(Qf,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,t=!0){this.setOptions({editable:e}),t&&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,t){const n=Cp(t)?t(e,[...this.state.plugins]):[...this.state.plugins,e],a=this.state.reconfigure({plugins:n});return this.view.updateState(a),a}unregisterPlugin(e){if(this.isDestroyed)return;const t=typeof e=="string"?`${e}$`:e.key,n=this.state.reconfigure({plugins:this.state.plugins.filter(a=>!a.key.startsWith(t))});return this.view.updateState(n),n}createExtensionManager(){var e,t;const a=[...this.options.enableCoreExtensions?[Uf,Ng.configure({blockSeparator:(t=(e=this.options.coreExtensionOptions)===null||e===void 0?void 0:e.clipboardTextSerializer)===null||t===void 0?void 0:t.blockSeparator}),Wf,Jf,Gf,Xf,Kf,Yf].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 yo(a,this)}createCommandManager(){this.commandManager=new Qn({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){let e;try{e=ri(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(s){if(!(s instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(s.message))throw s;this.emit("contentError",{editor:this,error:s,disableCollaboration:()=>{this.options.extensions=this.options.extensions.filter(i=>i.name!=="collaboration"),this.createExtensionManager()}}),e=ri(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}const t=Tp(e,this.options.autofocus);this.view=new zu(this.options.element,{...this.options.editorProps,dispatchTransaction:this.dispatchTransaction.bind(this),state:go.create({doc:e,selection:t||void 0})});const n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.createNodeViews(),this.prependClass();const a=this.view.dom;a.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 t=this.capturedTransaction;return this.capturedTransaction=null,t}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(i=>{var r;return(r=this.capturedTransaction)===null||r===void 0?void 0:r.step(i)});return}const t=this.state.apply(e),n=!this.state.selection.eq(t.selection);this.emit("beforeTransaction",{editor:this,transaction:e,nextState:t}),this.view.updateState(t),this.emit("transaction",{editor:this,transaction:e}),n&&this.emit("selectionUpdate",{editor:this,transaction:e});const a=e.getMeta("focus"),s=e.getMeta("blur");a&&this.emit("focus",{editor:this,event:a.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 Lp(this.state,e)}isActive(e,t){const n=typeof e=="string"?e:null,a=typeof e=="string"?t:e;return Of(this.state,n,a)}getJSON(){return this.state.doc.toJSON()}getHTML(){return Ff(this.state.doc.content,this.schema)}getText(e){const{blockSeparator:t=`
|
|
88
|
+
|
|
89
|
+
`,textSerializers:n={}}=e||{};return Sf(this.state.doc,{blockSeparator:t,textSerializers:{...Ap(this.schema),...n}})}get isEmpty(){return la(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,t){var n;return((n=this.$doc)===null||n===void 0?void 0:n.querySelector(e,t))||null}$nodes(e,t){var n;return((n=this.$doc)===null||n===void 0?void 0:n.querySelectorAll(e,t))||null}$pos(e){const t=this.state.doc.resolve(e);return new Yt(t,this)}get $doc(){return this.$pos(0)}};function _o(o){return new tn({find:o.find,handler:({state:e,range:t,match:n})=>{const a=L(o.getAttributes,void 0,n);if(a===!1||a===null)return null;const{tr:s}=e,i=n[n.length-1],r=n[0];if(i){const l=r.search(/\S/),p=t.from+r.indexOf(i),c=p+i.length;if(ci(t.from,t.to,e.doc).filter(g=>g.mark.type.excluded.find(h=>h===o.type&&h!==g.mark.type)).filter(g=>g.to>p).length)return null;c<t.to&&s.delete(c,t.to),p>t.from&&s.delete(t.from+l,p);const d=t.from+l+i.length;s.addMark(t.from+l,d,o.type.create(a||{})),s.removeStoredMark(o.type)}}})}function gi(o){return new tn({find:o.find,handler:({state:e,range:t,match:n})=>{const a=L(o.getAttributes,void 0,n)||{},{tr:s}=e,i=t.from;let r=t.to;const l=o.type.create(a);if(n[1]){const p=n[0].lastIndexOf(n[1]);let c=i+p;c>r?c=r:r=c+n[1].length;const m=n[0][n[0].length-1];s.insertText(m,i+n[0].length-1),s.replaceWith(c,r,l)}else if(n[0]){const p=o.type.isInline?i:i-1;s.insert(p,o.type.create(a)).delete(s.mapping.map(i),s.mapping.map(r))}s.scrollIntoView()}})}function fi(o){return new tn({find:o.find,handler:({state:e,range:t,match:n})=>{const a=e.doc.resolve(t.from),s=L(o.getAttributes,void 0,n)||{};if(!a.node(-1).canReplaceWith(a.index(-1),a.indexAfter(-1),o.type))return null;e.tr.delete(t.from,t.to).setBlockType(t.from,t.from,o.type,s)}})}function nn(o){return new tn({find:o.find,handler:({state:e,range:t,match:n,chain:a})=>{const s=L(o.getAttributes,void 0,n)||{},i=e.tr.delete(t.from,t.to),l=i.doc.resolve(t.from).blockRange(),p=l&&ys(l,o.type,s);if(!p)return null;if(i.wrap(l,p),o.keepMarks&&o.editor){const{selection:m,storedMarks:d}=e,{splittableMarks:g}=o.editor.extensionManager,u=d||m.$to.parentOffset&&m.$from.marks();if(u){const h=u.filter(j=>g.includes(j.type.name));i.ensureMarks(h)}}if(o.keepAttributes){const m=o.type.name==="bulletList"||o.type.name==="orderedList"?"listItem":"taskList";a().updateAttributes(m,s).run()}const c=i.doc.resolve(t.from-1).nodeBefore;c&&c.type===o.type&&vt(i.doc,t.from-1)&&(!o.joinPredicate||o.joinPredicate(n,c))&&i.join(t.from-1)}})}class he{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=L(F(this,"addOptions",{name:this.name}))),this.storage=L(F(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new he(e)}configure(e={}){const t=this.extend({...this.config,addOptions:()=>oa(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){const t=new he(e);return t.parent=this,this.child=t,t.name=e.name?e.name:t.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: "${t.name}".`),t.options=L(F(t,"addOptions",{name:t.name})),t.storage=L(F(t,"addStorage",{name:t.name,options:t.options})),t}}function Xt(o){return new Sp({find:o.find,handler:({state:e,range:t,match:n,pasteEvent:a})=>{const s=L(o.getAttributes,void 0,n,a);if(s===!1||s===null)return null;const{tr:i}=e,r=n[n.length-1],l=n[0];let p=t.to;if(r){const c=l.search(/\S/),m=t.from+l.indexOf(r),d=m+r.length;if(ci(t.from,t.to,e.doc).filter(u=>u.mark.type.excluded.find(j=>j===o.type&&j!==u.mark.type)).filter(u=>u.to>m).length)return null;d<t.to&&i.delete(d,t.to),m>t.from&&i.delete(t.from+c,m),p=t.from+c+r.length,i.addMark(t.from+c,p,o.type.create(s||{})),i.removeStoredMark(o.type)}}})}function Wp(o){return o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}var we="top",Ne="bottom",Be="right",Ie="left",hi="auto",an=[we,Ne,Be,Ie],Do="start",sn="end",th="clippingParents",Kp="viewport",rn="popper",oh="reference",Up=an.reduce(function(o,e){return o.concat([e+"-"+Do,e+"-"+sn])},[]),Jp=[].concat(an,[hi]).reduce(function(o,e){return o.concat([e,e+"-"+Do,e+"-"+sn])},[]),nh="beforeRead",ah="read",sh="afterRead",ih="beforeMain",rh="main",lh="afterMain",ph="beforeWrite",ch="write",mh="afterWrite",dh=[nh,ah,sh,ih,rh,lh,ph,ch,mh];function Xe(o){return o?(o.nodeName||"").toLowerCase():null}function Fe(o){if(o==null)return window;if(o.toString()!=="[object Window]"){var e=o.ownerDocument;return e&&e.defaultView||window}return o}function Qt(o){var e=Fe(o).Element;return o instanceof e||o instanceof Element}function Re(o){var e=Fe(o).HTMLElement;return o instanceof e||o instanceof HTMLElement}function bi(o){if(typeof ShadowRoot>"u")return!1;var e=Fe(o).ShadowRoot;return o instanceof e||o instanceof ShadowRoot}function uh(o){var e=o.state;Object.keys(e.elements).forEach(function(t){var n=e.styles[t]||{},a=e.attributes[t]||{},s=e.elements[t];!Re(s)||!Xe(s)||(Object.assign(s.style,n),Object.keys(a).forEach(function(i){var r=a[i];r===!1?s.removeAttribute(i):s.setAttribute(i,r===!0?"":r)}))})}function gh(o){var e=o.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(n){var a=e.elements[n],s=e.attributes[n]||{},i=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:t[n]),r=i.reduce(function(l,p){return l[p]="",l},{});!Re(a)||!Xe(a)||(Object.assign(a.style,r),Object.keys(s).forEach(function(l){a.removeAttribute(l)}))})}}const Gp={name:"applyStyles",enabled:!0,phase:"write",fn:uh,effect:gh,requires:["computeStyles"]};function Qe(o){return o.split("-")[0]}var Zt=Math.max,pa=Math.min,wo=Math.round;function ji(){var o=navigator.userAgentData;return o!=null&&o.brands&&Array.isArray(o.brands)?o.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Yp(){return!/^((?!chrome|android).)*safari/i.test(ji())}function Io(o,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var n=o.getBoundingClientRect(),a=1,s=1;e&&Re(o)&&(a=o.offsetWidth>0&&wo(n.width)/o.offsetWidth||1,s=o.offsetHeight>0&&wo(n.height)/o.offsetHeight||1);var i=Qt(o)?Fe(o):window,r=i.visualViewport,l=!Yp()&&t,p=(n.left+(l&&r?r.offsetLeft:0))/a,c=(n.top+(l&&r?r.offsetTop:0))/s,m=n.width/a,d=n.height/s;return{width:m,height:d,top:c,right:p+m,bottom:c+d,left:p,x:p,y:c}}function vi(o){var e=Io(o),t=o.offsetWidth,n=o.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:o.offsetLeft,y:o.offsetTop,width:t,height:n}}function Xp(o,e){var t=e.getRootNode&&e.getRootNode();if(o.contains(e))return!0;if(t&&bi(t)){var n=e;do{if(n&&o.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function lt(o){return Fe(o).getComputedStyle(o)}function fh(o){return["table","td","th"].indexOf(Xe(o))>=0}function St(o){return((Qt(o)?o.ownerDocument:o.document)||window.document).documentElement}function ca(o){return Xe(o)==="html"?o:o.assignedSlot||o.parentNode||(bi(o)?o.host:null)||St(o)}function Qp(o){return!Re(o)||lt(o).position==="fixed"?null:o.offsetParent}function hh(o){var e=/firefox/i.test(ji()),t=/Trident/i.test(ji());if(t&&Re(o)){var n=lt(o);if(n.position==="fixed")return null}var a=ca(o);for(bi(a)&&(a=a.host);Re(a)&&["html","body"].indexOf(Xe(a))<0;){var s=lt(a);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 a;a=a.parentNode}return null}function ln(o){for(var e=Fe(o),t=Qp(o);t&&fh(t)&<(t).position==="static";)t=Qp(t);return t&&(Xe(t)==="html"||Xe(t)==="body"&<(t).position==="static")?e:t||hh(o)||e}function ki(o){return["top","bottom"].indexOf(o)>=0?"x":"y"}function pn(o,e,t){return Zt(o,pa(e,t))}function bh(o,e,t){var n=pn(o,e,t);return n>t?t:n}function Zp(){return{top:0,right:0,bottom:0,left:0}}function ec(o){return Object.assign({},Zp(),o)}function tc(o,e){return e.reduce(function(t,n){return t[n]=o,t},{})}var jh=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,ec(typeof e!="number"?e:tc(e,an))};function vh(o){var e,t=o.state,n=o.name,a=o.options,s=t.elements.arrow,i=t.modifiersData.popperOffsets,r=Qe(t.placement),l=ki(r),p=[Ie,Be].indexOf(r)>=0,c=p?"height":"width";if(!(!s||!i)){var m=jh(a.padding,t),d=vi(s),g=l==="y"?we:Ie,u=l==="y"?Ne:Be,h=t.rects.reference[c]+t.rects.reference[l]-i[l]-t.rects.popper[c],j=i[l]-t.rects.reference[l],v=ln(s),k=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,D=h/2-j/2,b=m[g],x=k-d[c]-m[u],y=k/2-d[c]/2+D,M=pn(b,y,x),N=l;t.modifiersData[n]=(e={},e[N]=M,e.centerOffset=M-y,e)}}function kh(o){var e=o.state,t=o.options,n=t.element,a=n===void 0?"[data-popper-arrow]":n;a!=null&&(typeof a=="string"&&(a=e.elements.popper.querySelector(a),!a)||Xp(e.elements.popper,a)&&(e.elements.arrow=a))}const yh={name:"arrow",enabled:!0,phase:"main",fn:vh,effect:kh,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Co(o){return o.split("-")[1]}var _h={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Dh(o,e){var t=o.x,n=o.y,a=e.devicePixelRatio||1;return{x:wo(t*a)/a||0,y:wo(n*a)/a||0}}function oc(o){var e,t=o.popper,n=o.popperRect,a=o.placement,s=o.variation,i=o.offsets,r=o.position,l=o.gpuAcceleration,p=o.adaptive,c=o.roundOffsets,m=o.isFixed,d=i.x,g=d===void 0?0:d,u=i.y,h=u===void 0?0:u,j=typeof c=="function"?c({x:g,y:h}):{x:g,y:h};g=j.x,h=j.y;var v=i.hasOwnProperty("x"),k=i.hasOwnProperty("y"),D=Ie,b=we,x=window;if(p){var y=ln(t),M="clientHeight",N="clientWidth";if(y===Fe(t)&&(y=St(t),lt(y).position!=="static"&&r==="absolute"&&(M="scrollHeight",N="scrollWidth")),y=y,a===we||(a===Ie||a===Be)&&s===sn){b=Ne;var C=m&&y===x&&x.visualViewport?x.visualViewport.height:y[M];h-=C-n.height,h*=l?1:-1}if(a===Ie||(a===we||a===Ne)&&s===sn){D=Be;var O=m&&y===x&&x.visualViewport?x.visualViewport.width:y[N];g-=O-n.width,g*=l?1:-1}}var z=Object.assign({position:r},p&&_h),V=c===!0?Dh({x:g,y:h},Fe(t)):{x:g,y:h};if(g=V.x,h=V.y,l){var $;return Object.assign({},z,($={},$[b]=k?"0":"",$[D]=v?"0":"",$.transform=(x.devicePixelRatio||1)<=1?"translate("+g+"px, "+h+"px)":"translate3d("+g+"px, "+h+"px, 0)",$))}return Object.assign({},z,(e={},e[b]=k?h+"px":"",e[D]=v?g+"px":"",e.transform="",e))}function wh(o){var e=o.state,t=o.options,n=t.gpuAcceleration,a=n===void 0?!0:n,s=t.adaptive,i=s===void 0?!0:s,r=t.roundOffsets,l=r===void 0?!0:r,p={placement:Qe(e.placement),variation:Co(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:a,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,oc(Object.assign({},p,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:i,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,oc(Object.assign({},p,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Ih={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:wh,data:{}};var ma={passive:!0};function Ch(o){var e=o.state,t=o.instance,n=o.options,a=n.scroll,s=a===void 0?!0:a,i=n.resize,r=i===void 0?!0:i,l=Fe(e.elements.popper),p=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&p.forEach(function(c){c.addEventListener("scroll",t.update,ma)}),r&&l.addEventListener("resize",t.update,ma),function(){s&&p.forEach(function(c){c.removeEventListener("scroll",t.update,ma)}),r&&l.removeEventListener("resize",t.update,ma)}}const Eh={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ch,data:{}};var xh={left:"right",right:"left",bottom:"top",top:"bottom"};function da(o){return o.replace(/left|right|bottom|top/g,function(e){return xh[e]})}var Fh={start:"end",end:"start"};function nc(o){return o.replace(/start|end/g,function(e){return Fh[e]})}function yi(o){var e=Fe(o),t=e.pageXOffset,n=e.pageYOffset;return{scrollLeft:t,scrollTop:n}}function _i(o){return Io(St(o)).left+yi(o).scrollLeft}function Sh(o,e){var t=Fe(o),n=St(o),a=t.visualViewport,s=n.clientWidth,i=n.clientHeight,r=0,l=0;if(a){s=a.width,i=a.height;var p=Yp();(p||!p&&e==="fixed")&&(r=a.offsetLeft,l=a.offsetTop)}return{width:s,height:i,x:r+_i(o),y:l}}function Mh(o){var e,t=St(o),n=yi(o),a=(e=o.ownerDocument)==null?void 0:e.body,s=Zt(t.scrollWidth,t.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),i=Zt(t.scrollHeight,t.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),r=-n.scrollLeft+_i(o),l=-n.scrollTop;return lt(a||t).direction==="rtl"&&(r+=Zt(t.clientWidth,a?a.clientWidth:0)-s),{width:s,height:i,x:r,y:l}}function Di(o){var e=lt(o),t=e.overflow,n=e.overflowX,a=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+a+n)}function ac(o){return["html","body","#document"].indexOf(Xe(o))>=0?o.ownerDocument.body:Re(o)&&Di(o)?o:ac(ca(o))}function cn(o,e){var t;e===void 0&&(e=[]);var n=ac(o),a=n===((t=o.ownerDocument)==null?void 0:t.body),s=Fe(n),i=a?[s].concat(s.visualViewport||[],Di(n)?n:[]):n,r=e.concat(i);return a?r:r.concat(cn(ca(i)))}function wi(o){return Object.assign({},o,{left:o.x,top:o.y,right:o.x+o.width,bottom:o.y+o.height})}function Ah(o,e){var t=Io(o,!1,e==="fixed");return t.top=t.top+o.clientTop,t.left=t.left+o.clientLeft,t.bottom=t.top+o.clientHeight,t.right=t.left+o.clientWidth,t.width=o.clientWidth,t.height=o.clientHeight,t.x=t.left,t.y=t.top,t}function sc(o,e,t){return e===Kp?wi(Sh(o,t)):Qt(e)?Ah(e,t):wi(Mh(St(o)))}function Th(o){var e=cn(ca(o)),t=["absolute","fixed"].indexOf(lt(o).position)>=0,n=t&&Re(o)?ln(o):o;return Qt(n)?e.filter(function(a){return Qt(a)&&Xp(a,n)&&Xe(a)!=="body"}):[]}function Oh(o,e,t,n){var a=e==="clippingParents"?Th(o):[].concat(e),s=[].concat(a,[t]),i=s[0],r=s.reduce(function(l,p){var c=sc(o,p,n);return l.top=Zt(c.top,l.top),l.right=pa(c.right,l.right),l.bottom=pa(c.bottom,l.bottom),l.left=Zt(c.left,l.left),l},sc(o,i,n));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function ic(o){var e=o.reference,t=o.element,n=o.placement,a=n?Qe(n):null,s=n?Co(n):null,i=e.x+e.width/2-t.width/2,r=e.y+e.height/2-t.height/2,l;switch(a){case we:l={x:i,y:e.y-t.height};break;case Ne:l={x:i,y:e.y+e.height};break;case Be:l={x:e.x+e.width,y:r};break;case Ie:l={x:e.x-t.width,y:r};break;default:l={x:e.x,y:e.y}}var p=a?ki(a):null;if(p!=null){var c=p==="y"?"height":"width";switch(s){case Do:l[p]=l[p]-(e[c]/2-t[c]/2);break;case sn:l[p]=l[p]+(e[c]/2-t[c]/2);break}}return l}function mn(o,e){e===void 0&&(e={});var t=e,n=t.placement,a=n===void 0?o.placement:n,s=t.strategy,i=s===void 0?o.strategy:s,r=t.boundary,l=r===void 0?th:r,p=t.rootBoundary,c=p===void 0?Kp:p,m=t.elementContext,d=m===void 0?rn:m,g=t.altBoundary,u=g===void 0?!1:g,h=t.padding,j=h===void 0?0:h,v=ec(typeof j!="number"?j:tc(j,an)),k=d===rn?oh:rn,D=o.rects.popper,b=o.elements[u?k:d],x=Oh(Qt(b)?b:b.contextElement||St(o.elements.popper),l,c,i),y=Io(o.elements.reference),M=ic({reference:y,element:D,strategy:"absolute",placement:a}),N=wi(Object.assign({},D,M)),C=d===rn?N:y,O={top:x.top-C.top+v.top,bottom:C.bottom-x.bottom+v.bottom,left:x.left-C.left+v.left,right:C.right-x.right+v.right},z=o.modifiersData.offset;if(d===rn&&z){var V=z[a];Object.keys(O).forEach(function($){var ne=[Be,Ne].indexOf($)>=0?1:-1,X=[we,Ne].indexOf($)>=0?"y":"x";O[$]+=V[X]*ne})}return O}function Nh(o,e){e===void 0&&(e={});var t=e,n=t.placement,a=t.boundary,s=t.rootBoundary,i=t.padding,r=t.flipVariations,l=t.allowedAutoPlacements,p=l===void 0?Jp:l,c=Co(n),m=c?r?Up:Up.filter(function(u){return Co(u)===c}):an,d=m.filter(function(u){return p.indexOf(u)>=0});d.length===0&&(d=m);var g=d.reduce(function(u,h){return u[h]=mn(o,{placement:h,boundary:a,rootBoundary:s,padding:i})[Qe(h)],u},{});return Object.keys(g).sort(function(u,h){return g[u]-g[h]})}function Bh(o){if(Qe(o)===hi)return[];var e=da(o);return[nc(o),e,nc(e)]}function Rh(o){var e=o.state,t=o.options,n=o.name;if(!e.modifiersData[n]._skip){for(var a=t.mainAxis,s=a===void 0?!0:a,i=t.altAxis,r=i===void 0?!0:i,l=t.fallbackPlacements,p=t.padding,c=t.boundary,m=t.rootBoundary,d=t.altBoundary,g=t.flipVariations,u=g===void 0?!0:g,h=t.allowedAutoPlacements,j=e.options.placement,v=Qe(j),k=v===j,D=l||(k||!u?[da(j)]:Bh(j)),b=[j].concat(D).reduce(function(dt,We){return dt.concat(Qe(We)===hi?Nh(e,{placement:We,boundary:c,rootBoundary:m,padding:p,flipVariations:u,allowedAutoPlacements:h}):We)},[]),x=e.rects.reference,y=e.rects.popper,M=new Map,N=!0,C=b[0],O=0;O<b.length;O++){var z=b[O],V=Qe(z),$=Co(z)===Do,ne=[we,Ne].indexOf(V)>=0,X=ne?"width":"height",J=mn(e,{placement:z,boundary:c,rootBoundary:m,altBoundary:d,padding:p}),U=ne?$?Be:Ie:$?Ne:we;x[X]>y[X]&&(U=da(U));var q=da(U),Me=[];if(s&&Me.push(J[V]<=0),r&&Me.push(J[U]<=0,J[q]<=0),Me.every(function(dt){return dt})){C=z,N=!1;break}M.set(z,Me)}if(N)for(var be=u?3:1,mt=function(We){var ut=b.find(function(To){var gt=M.get(To);if(gt)return gt.slice(0,We).every(function(Oo){return Oo})});if(ut)return C=ut,"break"},Ee=be;Ee>0;Ee--){var no=mt(Ee);if(no==="break")break}e.placement!==C&&(e.modifiersData[n]._skip=!0,e.placement=C,e.reset=!0)}}const Ph={name:"flip",enabled:!0,phase:"main",fn:Rh,requiresIfExists:["offset"],data:{_skip:!1}};function rc(o,e,t){return t===void 0&&(t={x:0,y:0}),{top:o.top-e.height-t.y,right:o.right-e.width+t.x,bottom:o.bottom-e.height+t.y,left:o.left-e.width-t.x}}function lc(o){return[we,Be,Ne,Ie].some(function(e){return o[e]>=0})}function Lh(o){var e=o.state,t=o.name,n=e.rects.reference,a=e.rects.popper,s=e.modifiersData.preventOverflow,i=mn(e,{elementContext:"reference"}),r=mn(e,{altBoundary:!0}),l=rc(i,n),p=rc(r,a,s),c=lc(l),m=lc(p);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:p,isReferenceHidden:c,hasPopperEscaped:m},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":m})}const zh={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Lh};function Hh(o,e,t){var n=Qe(o),a=[Ie,we].indexOf(n)>=0?-1:1,s=typeof t=="function"?t(Object.assign({},e,{placement:o})):t,i=s[0],r=s[1];return i=i||0,r=(r||0)*a,[Ie,Be].indexOf(n)>=0?{x:r,y:i}:{x:i,y:r}}function Vh(o){var e=o.state,t=o.options,n=o.name,a=t.offset,s=a===void 0?[0,0]:a,i=Jp.reduce(function(c,m){return c[m]=Hh(m,e.rects,s),c},{}),r=i[e.placement],l=r.x,p=r.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=p),e.modifiersData[n]=i}const $h={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Vh};function qh(o){var e=o.state,t=o.name;e.modifiersData[t]=ic({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const Wh={name:"popperOffsets",enabled:!0,phase:"read",fn:qh,data:{}};function Kh(o){return o==="x"?"y":"x"}function Uh(o){var e=o.state,t=o.options,n=o.name,a=t.mainAxis,s=a===void 0?!0:a,i=t.altAxis,r=i===void 0?!1:i,l=t.boundary,p=t.rootBoundary,c=t.altBoundary,m=t.padding,d=t.tether,g=d===void 0?!0:d,u=t.tetherOffset,h=u===void 0?0:u,j=mn(e,{boundary:l,rootBoundary:p,padding:m,altBoundary:c}),v=Qe(e.placement),k=Co(e.placement),D=!k,b=ki(v),x=Kh(b),y=e.modifiersData.popperOffsets,M=e.rects.reference,N=e.rects.popper,C=typeof h=="function"?h(Object.assign({},e.rects,{placement:e.placement})):h,O=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),z=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,V={x:0,y:0};if(y){if(s){var $,ne=b==="y"?we:Ie,X=b==="y"?Ne:Be,J=b==="y"?"height":"width",U=y[b],q=U+j[ne],Me=U-j[X],be=g?-N[J]/2:0,mt=k===Do?M[J]:N[J],Ee=k===Do?-N[J]:-M[J],no=e.elements.arrow,dt=g&&no?vi(no):{width:0,height:0},We=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Zp(),ut=We[ne],To=We[X],gt=pn(0,M[J],dt[J]),Oo=D?M[J]/2-be-gt-ut-O.mainAxis:mt-gt-ut-O.mainAxis,Bt=D?-M[J]/2+be+gt+To+O.mainAxis:Ee+gt+To+O.mainAxis,No=e.elements.arrow&&ln(e.elements.arrow),ns=No?b==="y"?No.clientTop||0:No.clientLeft||0:0,yn=($=z==null?void 0:z[b])!=null?$:0,as=U+Oo-yn-ns,ss=U+Bt-yn,_n=pn(g?pa(q,as):q,U,g?Zt(Me,ss):Me);y[b]=_n,V[b]=_n-U}if(r){var Dn,is=b==="x"?we:Ie,rs=b==="x"?Ne:Be,ft=y[x],Rt=x==="y"?"height":"width",wn=ft+j[is],ao=ft-j[rs],In=[we,Ie].indexOf(v)!==-1,ls=(Dn=z==null?void 0:z[x])!=null?Dn:0,ps=In?wn:ft-M[Rt]-N[Rt]-ls+O.altAxis,cs=In?ft+M[Rt]+N[Rt]-ls-O.altAxis:ao,ms=g&&In?bh(ps,ft,cs):pn(g?ps:wn,ft,g?cs:ao);y[x]=ms,V[x]=ms-ft}e.modifiersData[n]=V}}const Jh={name:"preventOverflow",enabled:!0,phase:"main",fn:Uh,requiresIfExists:["offset"]};function Gh(o){return{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}}function Yh(o){return o===Fe(o)||!Re(o)?yi(o):Gh(o)}function Xh(o){var e=o.getBoundingClientRect(),t=wo(e.width)/o.offsetWidth||1,n=wo(e.height)/o.offsetHeight||1;return t!==1||n!==1}function Qh(o,e,t){t===void 0&&(t=!1);var n=Re(e),a=Re(e)&&Xh(e),s=St(e),i=Io(o,a,t),r={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!t)&&((Xe(e)!=="body"||Di(s))&&(r=Yh(e)),Re(e)?(l=Io(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=_i(s))),{x:i.left+r.scrollLeft-l.x,y:i.top+r.scrollTop-l.y,width:i.width,height:i.height}}function Zh(o){var e=new Map,t=new Set,n=[];o.forEach(function(s){e.set(s.name,s)});function a(s){t.add(s.name);var i=[].concat(s.requires||[],s.requiresIfExists||[]);i.forEach(function(r){if(!t.has(r)){var l=e.get(r);l&&a(l)}}),n.push(s)}return o.forEach(function(s){t.has(s.name)||a(s)}),n}function eb(o){var e=Zh(o);return dh.reduce(function(t,n){return t.concat(e.filter(function(a){return a.phase===n}))},[])}function tb(o){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(o())})})),e}}function ob(o){var e=o.reduce(function(t,n){var a=t[n.name];return t[n.name]=a?Object.assign({},a,n,{options:Object.assign({},a.options,n.options),data:Object.assign({},a.data,n.data)}):n,t},{});return Object.keys(e).map(function(t){return e[t]})}var pc={placement:"bottom",modifiers:[],strategy:"absolute"};function cc(){for(var o=arguments.length,e=new Array(o),t=0;t<o;t++)e[t]=arguments[t];return!e.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}function nb(o){o===void 0&&(o={});var e=o,t=e.defaultModifiers,n=t===void 0?[]:t,a=e.defaultOptions,s=a===void 0?pc:a;return function(r,l,p){p===void 0&&(p=s);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},pc,s),modifiersData:{},elements:{reference:r,popper:l},attributes:{},styles:{}},m=[],d=!1,g={state:c,setOptions:function(v){var k=typeof v=="function"?v(c.options):v;h(),c.options=Object.assign({},s,c.options,k),c.scrollParents={reference:Qt(r)?cn(r):r.contextElement?cn(r.contextElement):[],popper:cn(l)};var D=eb(ob([].concat(n,c.options.modifiers)));return c.orderedModifiers=D.filter(function(b){return b.enabled}),u(),g.update()},forceUpdate:function(){if(!d){var v=c.elements,k=v.reference,D=v.popper;if(cc(k,D)){c.rects={reference:Qh(k,ln(D),c.options.strategy==="fixed"),popper:vi(D)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(O){return c.modifiersData[O.name]=Object.assign({},O.data)});for(var b=0;b<c.orderedModifiers.length;b++){if(c.reset===!0){c.reset=!1,b=-1;continue}var x=c.orderedModifiers[b],y=x.fn,M=x.options,N=M===void 0?{}:M,C=x.name;typeof y=="function"&&(c=y({state:c,options:N,name:C,instance:g})||c)}}}},update:tb(function(){return new Promise(function(j){g.forceUpdate(),j(c)})}),destroy:function(){h(),d=!0}};if(!cc(r,l))return g;g.setOptions(p).then(function(j){!d&&p.onFirstUpdate&&p.onFirstUpdate(j)});function u(){c.orderedModifiers.forEach(function(j){var v=j.name,k=j.options,D=k===void 0?{}:k,b=j.effect;if(typeof b=="function"){var x=b({state:c,name:v,instance:g,options:D}),y=function(){};m.push(x||y)}})}function h(){m.forEach(function(j){return j()}),m=[]}return g}}var ab=[Eh,Wh,Ih,Gp,$h,Ph,Jh,yh,zh],sb=nb({defaultModifiers:ab}),ib="tippy-box",mc="tippy-content",rb="tippy-backdrop",dc="tippy-arrow",uc="tippy-svg-arrow",eo={passive:!0,capture:!0},gc=function(){return document.body};function lb(o,e){return{}.hasOwnProperty.call(o,e)}function Ii(o,e,t){if(Array.isArray(o)){var n=o[e];return n??(Array.isArray(t)?t[e]:t)}return o}function Ci(o,e){var t={}.toString.call(o);return t.indexOf("[object")===0&&t.indexOf(e+"]")>-1}function fc(o,e){return typeof o=="function"?o.apply(void 0,e):o}function hc(o,e){if(e===0)return o;var t;return function(n){clearTimeout(t),t=setTimeout(function(){o(n)},e)}}function pb(o,e){var t=Object.assign({},o);return e.forEach(function(n){delete t[n]}),t}function cb(o){return o.split(/\s+/).filter(Boolean)}function Eo(o){return[].concat(o)}function bc(o,e){o.indexOf(e)===-1&&o.push(e)}function mb(o){return o.filter(function(e,t){return o.indexOf(e)===t})}function db(o){return o.split("-")[0]}function ua(o){return[].slice.call(o)}function jc(o){return Object.keys(o).reduce(function(e,t){return o[t]!==void 0&&(e[t]=o[t]),e},{})}function dn(){return document.createElement("div")}function un(o){return["Element","Fragment"].some(function(e){return Ci(o,e)})}function ub(o){return Ci(o,"NodeList")}function gb(o){return Ci(o,"MouseEvent")}function fb(o){return!!(o&&o._tippy&&o._tippy.reference===o)}function hb(o){return un(o)?[o]:ub(o)?ua(o):Array.isArray(o)?o:ua(document.querySelectorAll(o))}function Ei(o,e){o.forEach(function(t){t&&(t.style.transitionDuration=e+"ms")})}function vc(o,e){o.forEach(function(t){t&&t.setAttribute("data-state",e)})}function bb(o){var e,t=Eo(o),n=t[0];return n!=null&&(e=n.ownerDocument)!=null&&e.body?n.ownerDocument:document}function jb(o,e){var t=e.clientX,n=e.clientY;return o.every(function(a){var s=a.popperRect,i=a.popperState,r=a.props,l=r.interactiveBorder,p=db(i.placement),c=i.modifiersData.offset;if(!c)return!0;var m=p==="bottom"?c.top.y:0,d=p==="top"?c.bottom.y:0,g=p==="right"?c.left.x:0,u=p==="left"?c.right.x:0,h=s.top-n+m>l,j=n-s.bottom-d>l,v=s.left-t+g>l,k=t-s.right-u>l;return h||j||v||k})}function xi(o,e,t){var n=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(a){o[n](a,t)})}function kc(o,e){for(var t=e;t;){var n;if(o.contains(t))return!0;t=t.getRootNode==null||(n=t.getRootNode())==null?void 0:n.host}return!1}var Ze={isTouch:!1},yc=0;function vb(){Ze.isTouch||(Ze.isTouch=!0,window.performance&&document.addEventListener("mousemove",_c))}function _c(){var o=performance.now();o-yc<20&&(Ze.isTouch=!1,document.removeEventListener("mousemove",_c)),yc=o}function kb(){var o=document.activeElement;if(fb(o)){var e=o._tippy;o.blur&&!e.state.isVisible&&o.blur()}}function yb(){document.addEventListener("touchstart",vb,eo),window.addEventListener("blur",kb)}var _b=typeof window<"u"&&typeof document<"u",Db=_b?!!window.msCrypto:!1;function xo(o){var e=o==="destroy"?"n already-":" ";return[o+"() was called on a"+e+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function Dc(o){var e=/[ \t]{2,}/g,t=/^[ \t]*/gm;return o.replace(e," ").replace(t,"").trim()}function wb(o){return Dc(`
|
|
90
|
+
%ctippy.js
|
|
91
|
+
|
|
92
|
+
%c`+Dc(o)+`
|
|
93
|
+
|
|
94
|
+
%c👷 This is a development-only message. It will be removed in production.
|
|
95
|
+
`)}function wc(o){return[wb(o),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var gn;process.env.NODE_ENV!=="production"&&Ib();function Ib(){gn=new Set}function pt(o,e){if(o&&!gn.has(e)){var t;gn.add(e),(t=console).warn.apply(t,wc(e))}}function Fi(o,e){if(o&&!gn.has(e)){var t;gn.add(e),(t=console).error.apply(t,wc(e))}}function Cb(o){var e=!o,t=Object.prototype.toString.call(o)==="[object Object]"&&!o.addEventListener;Fi(e,["tippy() was passed","`"+String(o)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),Fi(t,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var Ic={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Eb={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},Se=Object.assign({appendTo:gc,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},Ic,Eb),xb=Object.keys(Se),Fb=function(e){process.env.NODE_ENV!=="production"&&xc(e,[]);var t=Object.keys(e);t.forEach(function(n){Se[n]=e[n]})};function Cc(o){var e=o.plugins||[],t=e.reduce(function(n,a){var s=a.name,i=a.defaultValue;if(s){var r;n[s]=o[s]!==void 0?o[s]:(r=Se[s])!=null?r:i}return n},{});return Object.assign({},o,t)}function Sb(o,e){var t=e?Object.keys(Cc(Object.assign({},Se,{plugins:e}))):xb,n=t.reduce(function(a,s){var i=(o.getAttribute("data-tippy-"+s)||"").trim();if(!i)return a;if(s==="content")a[s]=i;else try{a[s]=JSON.parse(i)}catch{a[s]=i}return a},{});return n}function Ec(o,e){var t=Object.assign({},e,{content:fc(e.content,[o])},e.ignoreAttributes?{}:Sb(o,e.plugins));return t.aria=Object.assign({},Se.aria,t.aria),t.aria={expanded:t.aria.expanded==="auto"?e.interactive:t.aria.expanded,content:t.aria.content==="auto"?e.interactive?null:"describedby":t.aria.content},t}function xc(o,e){o===void 0&&(o={}),e===void 0&&(e=[]);var t=Object.keys(o);t.forEach(function(n){var a=pb(Se,Object.keys(Ic)),s=!lb(a,n);s&&(s=e.filter(function(i){return i.name===n}).length===0),pt(s,["`"+n+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",`
|
|
96
|
+
|
|
97
|
+
`,`All props: https://atomiks.github.io/tippyjs/v6/all-props/
|
|
98
|
+
`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var Mb=function(){return"innerHTML"};function Si(o,e){o[Mb()]=e}function Fc(o){var e=dn();return o===!0?e.className=dc:(e.className=uc,un(o)?e.appendChild(o):Si(e,o)),e}function Sc(o,e){un(e.content)?(Si(o,""),o.appendChild(e.content)):typeof e.content!="function"&&(e.allowHTML?Si(o,e.content):o.textContent=e.content)}function Mi(o){var e=o.firstElementChild,t=ua(e.children);return{box:e,content:t.find(function(n){return n.classList.contains(mc)}),arrow:t.find(function(n){return n.classList.contains(dc)||n.classList.contains(uc)}),backdrop:t.find(function(n){return n.classList.contains(rb)})}}function Mc(o){var e=dn(),t=dn();t.className=ib,t.setAttribute("data-state","hidden"),t.setAttribute("tabindex","-1");var n=dn();n.className=mc,n.setAttribute("data-state","hidden"),Sc(n,o.props),e.appendChild(t),t.appendChild(n),a(o.props,o.props);function a(s,i){var r=Mi(e),l=r.box,p=r.content,c=r.arrow;i.theme?l.setAttribute("data-theme",i.theme):l.removeAttribute("data-theme"),typeof i.animation=="string"?l.setAttribute("data-animation",i.animation):l.removeAttribute("data-animation"),i.inertia?l.setAttribute("data-inertia",""):l.removeAttribute("data-inertia"),l.style.maxWidth=typeof i.maxWidth=="number"?i.maxWidth+"px":i.maxWidth,i.role?l.setAttribute("role",i.role):l.removeAttribute("role"),(s.content!==i.content||s.allowHTML!==i.allowHTML)&&Sc(p,o.props),i.arrow?c?s.arrow!==i.arrow&&(l.removeChild(c),l.appendChild(Fc(i.arrow))):l.appendChild(Fc(i.arrow)):c&&l.removeChild(c)}return{popper:e,onUpdate:a}}Mc.$$tippy=!0;var Ab=1,ga=[],Ai=[];function Tb(o,e){var t=Ec(o,Object.assign({},Se,Cc(jc(e)))),n,a,s,i=!1,r=!1,l=!1,p=!1,c,m,d,g=[],u=hc(as,t.interactiveDebounce),h,j=Ab++,v=null,k=mb(t.plugins),D={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},b={id:j,reference:o,popper:dn(),popperInstance:v,props:t,state:D,plugins:k,clearDelayTimeouts:ps,setProps:cs,setContent:ms,show:F1,hide:S1,hideWithInteractivity:M1,enable:In,disable:ls,unmount:A1,destroy:T1};if(!t.render)return process.env.NODE_ENV!=="production"&&Fi(!0,"render() function has not been supplied."),b;var x=t.render(b),y=x.popper,M=x.onUpdate;y.setAttribute("data-tippy-root",""),y.id="tippy-"+b.id,b.popper=y,o._tippy=b,y._tippy=b;var N=k.map(function(_){return _.fn(b)}),C=o.hasAttribute("aria-expanded");return No(),be(),U(),q("onCreate",[b]),t.showOnCreate&&wn(),y.addEventListener("mouseenter",function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()}),y.addEventListener("mouseleave",function(){b.props.interactive&&b.props.trigger.indexOf("mouseenter")>=0&&ne().addEventListener("mousemove",u)}),b;function O(){var _=b.props.touch;return Array.isArray(_)?_:[_,0]}function z(){return O()[0]==="hold"}function V(){var _;return!!((_=b.props.render)!=null&&_.$$tippy)}function $(){return h||o}function ne(){var _=$().parentNode;return _?bb(_):document}function X(){return Mi(y)}function J(_){return b.state.isMounted&&!b.state.isVisible||Ze.isTouch||c&&c.type==="focus"?0:Ii(b.props.delay,_?0:1,Se.delay)}function U(_){_===void 0&&(_=!1),y.style.pointerEvents=b.props.interactive&&!_?"":"none",y.style.zIndex=""+b.props.zIndex}function q(_,S,T){if(T===void 0&&(T=!0),N.forEach(function(H){H[_]&&H[_].apply(H,S)}),T){var W;(W=b.props)[_].apply(W,S)}}function Me(){var _=b.props.aria;if(_.content){var S="aria-"+_.content,T=y.id,W=Eo(b.props.triggerTarget||o);W.forEach(function(H){var ye=H.getAttribute(S);if(b.state.isVisible)H.setAttribute(S,ye?ye+" "+T:T);else{var ze=ye&&ye.replace(T,"").trim();ze?H.setAttribute(S,ze):H.removeAttribute(S)}})}}function be(){if(!(C||!b.props.aria.expanded)){var _=Eo(b.props.triggerTarget||o);_.forEach(function(S){b.props.interactive?S.setAttribute("aria-expanded",b.state.isVisible&&S===$()?"true":"false"):S.removeAttribute("aria-expanded")})}}function mt(){ne().removeEventListener("mousemove",u),ga=ga.filter(function(_){return _!==u})}function Ee(_){if(!(Ze.isTouch&&(l||_.type==="mousedown"))){var S=_.composedPath&&_.composedPath()[0]||_.target;if(!(b.props.interactive&&kc(y,S))){if(Eo(b.props.triggerTarget||o).some(function(T){return kc(T,S)})){if(Ze.isTouch||b.state.isVisible&&b.props.trigger.indexOf("click")>=0)return}else q("onClickOutside",[b,_]);b.props.hideOnClick===!0&&(b.clearDelayTimeouts(),b.hide(),r=!0,setTimeout(function(){r=!1}),b.state.isMounted||ut())}}}function no(){l=!0}function dt(){l=!1}function We(){var _=ne();_.addEventListener("mousedown",Ee,!0),_.addEventListener("touchend",Ee,eo),_.addEventListener("touchstart",dt,eo),_.addEventListener("touchmove",no,eo)}function ut(){var _=ne();_.removeEventListener("mousedown",Ee,!0),_.removeEventListener("touchend",Ee,eo),_.removeEventListener("touchstart",dt,eo),_.removeEventListener("touchmove",no,eo)}function To(_,S){Oo(_,function(){!b.state.isVisible&&y.parentNode&&y.parentNode.contains(y)&&S()})}function gt(_,S){Oo(_,S)}function Oo(_,S){var T=X().box;function W(H){H.target===T&&(xi(T,"remove",W),S())}if(_===0)return S();xi(T,"remove",m),xi(T,"add",W),m=W}function Bt(_,S,T){T===void 0&&(T=!1);var W=Eo(b.props.triggerTarget||o);W.forEach(function(H){H.addEventListener(_,S,T),g.push({node:H,eventType:_,handler:S,options:T})})}function No(){z()&&(Bt("touchstart",yn,{passive:!0}),Bt("touchend",ss,{passive:!0})),cb(b.props.trigger).forEach(function(_){if(_!=="manual")switch(Bt(_,yn),_){case"mouseenter":Bt("mouseleave",ss);break;case"focus":Bt(Db?"focusout":"blur",_n);break;case"focusin":Bt("focusout",_n);break}})}function ns(){g.forEach(function(_){var S=_.node,T=_.eventType,W=_.handler,H=_.options;S.removeEventListener(T,W,H)}),g=[]}function yn(_){var S,T=!1;if(!(!b.state.isEnabled||Dn(_)||r)){var W=((S=c)==null?void 0:S.type)==="focus";c=_,h=_.currentTarget,be(),!b.state.isVisible&&gb(_)&&ga.forEach(function(H){return H(_)}),_.type==="click"&&(b.props.trigger.indexOf("mouseenter")<0||i)&&b.props.hideOnClick!==!1&&b.state.isVisible?T=!0:wn(_),_.type==="click"&&(i=!T),T&&!W&&ao(_)}}function as(_){var S=_.target,T=$().contains(S)||y.contains(S);if(!(_.type==="mousemove"&&T)){var W=Rt().concat(y).map(function(H){var ye,ze=H._tippy,Bo=(ye=ze.popperInstance)==null?void 0:ye.state;return Bo?{popperRect:H.getBoundingClientRect(),popperState:Bo,props:t}:null}).filter(Boolean);jb(W,_)&&(mt(),ao(_))}}function ss(_){var S=Dn(_)||b.props.trigger.indexOf("click")>=0&&i;if(!S){if(b.props.interactive){b.hideWithInteractivity(_);return}ao(_)}}function _n(_){b.props.trigger.indexOf("focusin")<0&&_.target!==$()||b.props.interactive&&_.relatedTarget&&y.contains(_.relatedTarget)||ao(_)}function Dn(_){return Ze.isTouch?z()!==_.type.indexOf("touch")>=0:!1}function is(){rs();var _=b.props,S=_.popperOptions,T=_.placement,W=_.offset,H=_.getReferenceClientRect,ye=_.moveTransition,ze=V()?Mi(y).arrow:null,Bo=H?{getBoundingClientRect:H,contextElement:H.contextElement||$()}:o,mm={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(ds){var Ro=ds.state;if(V()){var O1=X(),ar=O1.box;["placement","reference-hidden","escaped"].forEach(function(us){us==="placement"?ar.setAttribute("data-placement",Ro.placement):Ro.attributes.popper["data-popper-"+us]?ar.setAttribute("data-"+us,""):ar.removeAttribute("data-"+us)}),Ro.attributes.popper={}}}},so=[{name:"offset",options:{offset:W}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!ye}},mm];V()&&ze&&so.push({name:"arrow",options:{element:ze,padding:3}}),so.push.apply(so,(S==null?void 0:S.modifiers)||[]),b.popperInstance=sb(Bo,y,Object.assign({},S,{placement:T,onFirstUpdate:d,modifiers:so}))}function rs(){b.popperInstance&&(b.popperInstance.destroy(),b.popperInstance=null)}function ft(){var _=b.props.appendTo,S,T=$();b.props.interactive&&_===gc||_==="parent"?S=T.parentNode:S=fc(_,[T]),S.contains(y)||S.appendChild(y),b.state.isMounted=!0,is(),process.env.NODE_ENV!=="production"&&pt(b.props.interactive&&_===Se.appendTo&&T.nextElementSibling!==y,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",`
|
|
99
|
+
|
|
100
|
+
`,"Using a wrapper <div> or <span> tag around the reference element","solves this by creating a new parentNode context.",`
|
|
101
|
+
|
|
102
|
+
`,"Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.",`
|
|
103
|
+
|
|
104
|
+
`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function Rt(){return ua(y.querySelectorAll("[data-tippy-root]"))}function wn(_){b.clearDelayTimeouts(),_&&q("onTrigger",[b,_]),We();var S=J(!0),T=O(),W=T[0],H=T[1];Ze.isTouch&&W==="hold"&&H&&(S=H),S?n=setTimeout(function(){b.show()},S):b.show()}function ao(_){if(b.clearDelayTimeouts(),q("onUntrigger",[b,_]),!b.state.isVisible){ut();return}if(!(b.props.trigger.indexOf("mouseenter")>=0&&b.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(_.type)>=0&&i)){var S=J(!1);S?a=setTimeout(function(){b.state.isVisible&&b.hide()},S):s=requestAnimationFrame(function(){b.hide()})}}function In(){b.state.isEnabled=!0}function ls(){b.hide(),b.state.isEnabled=!1}function ps(){clearTimeout(n),clearTimeout(a),cancelAnimationFrame(s)}function cs(_){if(process.env.NODE_ENV!=="production"&&pt(b.state.isDestroyed,xo("setProps")),!b.state.isDestroyed){q("onBeforeUpdate",[b,_]),ns();var S=b.props,T=Ec(o,Object.assign({},S,jc(_),{ignoreAttributes:!0}));b.props=T,No(),S.interactiveDebounce!==T.interactiveDebounce&&(mt(),u=hc(as,T.interactiveDebounce)),S.triggerTarget&&!T.triggerTarget?Eo(S.triggerTarget).forEach(function(W){W.removeAttribute("aria-expanded")}):T.triggerTarget&&o.removeAttribute("aria-expanded"),be(),U(),M&&M(S,T),b.popperInstance&&(is(),Rt().forEach(function(W){requestAnimationFrame(W._tippy.popperInstance.forceUpdate)})),q("onAfterUpdate",[b,_])}}function ms(_){b.setProps({content:_})}function F1(){process.env.NODE_ENV!=="production"&&pt(b.state.isDestroyed,xo("show"));var _=b.state.isVisible,S=b.state.isDestroyed,T=!b.state.isEnabled,W=Ze.isTouch&&!b.props.touch,H=Ii(b.props.duration,0,Se.duration);if(!(_||S||T||W)&&!$().hasAttribute("disabled")&&(q("onShow",[b],!1),b.props.onShow(b)!==!1)){if(b.state.isVisible=!0,V()&&(y.style.visibility="visible"),U(),We(),b.state.isMounted||(y.style.transition="none"),V()){var ye=X(),ze=ye.box,Bo=ye.content;Ei([ze,Bo],0)}d=function(){var so;if(!(!b.state.isVisible||p)){if(p=!0,y.offsetHeight,y.style.transition=b.props.moveTransition,V()&&b.props.animation){var nr=X(),ds=nr.box,Ro=nr.content;Ei([ds,Ro],H),vc([ds,Ro],"visible")}Me(),be(),bc(Ai,b),(so=b.popperInstance)==null||so.forceUpdate(),q("onMount",[b]),b.props.animation&&V()&>(H,function(){b.state.isShown=!0,q("onShown",[b])})}},ft()}}function S1(){process.env.NODE_ENV!=="production"&&pt(b.state.isDestroyed,xo("hide"));var _=!b.state.isVisible,S=b.state.isDestroyed,T=!b.state.isEnabled,W=Ii(b.props.duration,1,Se.duration);if(!(_||S||T)&&(q("onHide",[b],!1),b.props.onHide(b)!==!1)){if(b.state.isVisible=!1,b.state.isShown=!1,p=!1,i=!1,V()&&(y.style.visibility="hidden"),mt(),ut(),U(!0),V()){var H=X(),ye=H.box,ze=H.content;b.props.animation&&(Ei([ye,ze],W),vc([ye,ze],"hidden"))}Me(),be(),b.props.animation?V()&&To(W,b.unmount):b.unmount()}}function M1(_){process.env.NODE_ENV!=="production"&&pt(b.state.isDestroyed,xo("hideWithInteractivity")),ne().addEventListener("mousemove",u),bc(ga,u),u(_)}function A1(){process.env.NODE_ENV!=="production"&&pt(b.state.isDestroyed,xo("unmount")),b.state.isVisible&&b.hide(),b.state.isMounted&&(rs(),Rt().forEach(function(_){_._tippy.unmount()}),y.parentNode&&y.parentNode.removeChild(y),Ai=Ai.filter(function(_){return _!==b}),b.state.isMounted=!1,q("onHidden",[b]))}function T1(){process.env.NODE_ENV!=="production"&&pt(b.state.isDestroyed,xo("destroy")),!b.state.isDestroyed&&(b.clearDelayTimeouts(),b.unmount(),ns(),delete o._tippy,b.state.isDestroyed=!0,q("onDestroy",[b]))}}function Mt(o,e){e===void 0&&(e={});var t=Se.plugins.concat(e.plugins||[]);process.env.NODE_ENV!=="production"&&(Cb(o),xc(e,t)),yb();var n=Object.assign({},e,{plugins:t}),a=hb(o);if(process.env.NODE_ENV!=="production"){var s=un(n.content),i=a.length>1;pt(s&&i,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",`
|
|
105
|
+
|
|
106
|
+
`,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",`
|
|
107
|
+
|
|
108
|
+
`,`1) content: element.innerHTML
|
|
109
|
+
`,"2) content: () => element.cloneNode(true)"].join(" "))}var r=a.reduce(function(l,p){var c=p&&Tb(p,n);return c&&l.push(c),l},[]);return un(o)?r[0]:r}Mt.defaultProps=Se,Mt.setDefaultProps=Fb,Mt.currentInput=Ze,Object.assign({},Gp,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),Mt.setDefaultProps({render:Mc});class Ob{constructor({editor:e,element:t,view:n,tippyOptions:a={},updateDelay:s=250,shouldShow:i}){this.preventHide=!1,this.shouldShow=({view:r,state:l,from:p,to:c})=>{const{doc:m,selection:d}=l,{empty:g}=d,u=!m.textBetween(p,c).length&&si(l.selection),h=this.element.contains(document.activeElement);return!(!(r.hasFocus()||h)||g||u||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:r})=>{var l;if(this.preventHide){this.preventHide=!1;return}r!=null&&r.relatedTarget&&(!((l=this.element.parentNode)===null||l===void 0)&&l.contains(r.relatedTarget))||this.hide()},this.tippyBlurHandler=r=>{this.blurHandler({event:r})},this.handleDebouncedUpdate=(r,l)=>{const p=!(l!=null&&l.selection.eq(r.state.selection)),c=!(l!=null&&l.doc.eq(r.state.doc));!p&&!c||(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout(()=>{this.updateHandler(r,p,c,l)},this.updateDelay))},this.updateHandler=(r,l,p,c)=>{var m,d,g;const{state:u,composing:h}=r,{selection:j}=u;if(h||!l&&!p)return;this.createTooltip();const{ranges:k}=j,D=Math.min(...k.map(y=>y.$from.pos)),b=Math.max(...k.map(y=>y.$to.pos));if(!((m=this.shouldShow)===null||m===void 0?void 0:m.call(this,{editor:this.editor,view:r,state:u,oldState:c,from:D,to:b}))){this.hide();return}(d=this.tippy)===null||d===void 0||d.setProps({getReferenceClientRect:((g=this.tippyOptions)===null||g===void 0?void 0:g.getReferenceClientRect)||(()=>{if(Vp(u.selection)){let y=r.nodeDOM(D);const M=y.dataset.nodeViewWrapper?y:y.querySelector("[data-node-view-wrapper]");if(M&&(y=M.firstChild),y)return y.getBoundingClientRect()}return $p(r,D,b)})}),this.show()},this.editor=e,this.element=t,this.view=n,this.updateDelay=s,i&&(this.shouldShow=i),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=a,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:e}=this.editor.options,t=!!e.parentElement;this.tippy||!t||(this.tippy=Mt(e,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"top",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(e,t){const{state:n}=e,a=n.selection.from!==n.selection.to;if(this.updateDelay>0&&a){this.handleDebouncedUpdate(e,t);return}const s=!(t!=null&&t.selection.eq(e.state.selection)),i=!(t!=null&&t.doc.eq(e.state.doc));this.updateHandler(e,s,i,t)}show(){var e;(e=this.tippy)===null||e===void 0||e.show()}hide(){var e;(e=this.tippy)===null||e===void 0||e.hide()}destroy(){var e,t;!((e=this.tippy)===null||e===void 0)&&e.popper.firstChild&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),(t=this.tippy)===null||t===void 0||t.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const Ac=o=>new Q({key:typeof o.pluginKey=="string"?new ae(o.pluginKey):o.pluginKey,view:e=>new Ob({view:e,...o})});le.create({name:"bubbleMenu",addOptions(){return{element:null,tippyOptions:{},pluginKey:"bubbleMenu",updateDelay:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[Ac({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,updateDelay:this.options.updateDelay,shouldShow:this.options.shouldShow})]:[]}});class Nb{constructor({editor:e,element:t,view:n,tippyOptions:a={},shouldShow:s}){this.preventHide=!1,this.shouldShow=({view:i,state:r})=>{const{selection:l}=r,{$anchor:p,empty:c}=l,m=p.depth===1,d=p.parent.isTextblock&&!p.parent.type.spec.code&&!p.parent.textContent;return!(!i.hasFocus()||!c||!m||!d||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:i})=>{var r;if(this.preventHide){this.preventHide=!1;return}i!=null&&i.relatedTarget&&(!((r=this.element.parentNode)===null||r===void 0)&&r.contains(i.relatedTarget))||this.hide()},this.tippyBlurHandler=i=>{this.blurHandler({event:i})},this.editor=e,this.element=t,this.view=n,s&&(this.shouldShow=s),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=a,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:e}=this.editor.options,t=!!e.parentElement;this.tippy||!t||(this.tippy=Mt(e,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"right",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(e,t){var n,a,s;const{state:i}=e,{doc:r,selection:l}=i,{from:p,to:c}=l;if(t&&t.doc.eq(r)&&t.selection.eq(l))return;if(this.createTooltip(),!((n=this.shouldShow)===null||n===void 0?void 0:n.call(this,{editor:this.editor,view:e,state:i,oldState:t}))){this.hide();return}(a=this.tippy)===null||a===void 0||a.setProps({getReferenceClientRect:((s=this.tippyOptions)===null||s===void 0?void 0:s.getReferenceClientRect)||(()=>$p(e,p,c))}),this.show()}show(){var e;(e=this.tippy)===null||e===void 0||e.show()}hide(){var e;(e=this.tippy)===null||e===void 0||e.hide()}destroy(){var e,t;!((e=this.tippy)===null||e===void 0)&&e.popper.firstChild&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),(t=this.tippy)===null||t===void 0||t.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const Tc=o=>new Q({key:typeof o.pluginKey=="string"?new ae(o.pluginKey):o.pluginKey,view:e=>new Nb({view:e,...o})});le.create({name:"floatingMenu",addOptions(){return{element:null,tippyOptions:{},pluginKey:"floatingMenu",shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[Tc({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,shouldShow:this.options.shouldShow})]:[]}}),f.defineComponent({name:"BubbleMenu",props:{pluginKey:{type:[String,Object],default:"bubbleMenu"},editor:{type:Object,required:!0},updateDelay:{type:Number,default:void 0},tippyOptions:{type:Object,default:()=>({})},shouldShow:{type:Function,default:null}},setup(o,{slots:e}){const t=f.ref(null);return f.onMounted(()=>{const{updateDelay:n,editor:a,pluginKey:s,shouldShow:i,tippyOptions:r}=o;a.registerPlugin(Ac({updateDelay:n,editor:a,element:t.value,pluginKey:s,shouldShow:i,tippyOptions:r}))}),f.onBeforeUnmount(()=>{const{pluginKey:n,editor:a}=o;a.unregisterPlugin(n)}),()=>{var n;return f.h("div",{ref:t},(n=e.default)===null||n===void 0?void 0:n.call(e))}}});function Oc(o){return f.customRef((e,t)=>({get(){return e(),o},set(n){o=n,requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})}}))}class Bb extends eh{constructor(e={}){return super(e),this.contentComponent=null,this.appContext=null,this.reactiveState=Oc(this.view.state),this.reactiveExtensionStorage=Oc(this.extensionStorage),this.on("beforeTransaction",({nextState:t})=>{this.reactiveState.value=t,this.reactiveExtensionStorage.value=this.extensionStorage}),f.markRaw(this)}get state(){return this.reactiveState?this.reactiveState.value:this.view.state}get storage(){return this.reactiveExtensionStorage?this.reactiveExtensionStorage.value:super.storage}registerPlugin(e,t){const n=super.registerPlugin(e,t);return this.reactiveState&&(this.reactiveState.value=n),n}unregisterPlugin(e){const t=super.unregisterPlugin(e);return this.reactiveState&&t&&(this.reactiveState.value=t),t}}const Rb=f.defineComponent({name:"EditorContent",props:{editor:{default:null,type:Object}},setup(o){const e=f.ref(),t=f.getCurrentInstance();return f.watchEffect(()=>{const n=o.editor;n&&n.options.element&&e.value&&f.nextTick(()=>{if(!e.value||!n.options.element.firstChild)return;const a=f.unref(e.value);e.value.append(...n.options.element.childNodes),n.contentComponent=t.ctx._,t&&(n.appContext={...t.appContext,provides:t.provides}),n.setOptions({element:a}),n.createNodeViews()})}),f.onBeforeUnmount(()=>{const n=o.editor;if(!n||(n.isDestroyed||n.view.setProps({nodeViews:{}}),n.contentComponent=null,n.appContext=null,!n.options.element.firstChild))return;const a=document.createElement("div");a.append(...n.options.element.childNodes),n.setOptions({element:a})}),{rootEl:e}},render(){return f.h("div",{ref:o=>{this.rootEl=o}})}});f.defineComponent({name:"FloatingMenu",props:{pluginKey:{type:null,default:"floatingMenu"},editor:{type:Object,required:!0},tippyOptions:{type:Object,default:()=>({})},shouldShow:{type:Function,default:null}},setup(o,{slots:e}){const t=f.ref(null);return f.onMounted(()=>{const{pluginKey:n,editor:a,tippyOptions:s,shouldShow:i}=o;a.registerPlugin(Tc({pluginKey:n,editor:a,element:t.value,tippyOptions:s,shouldShow:i}))}),f.onBeforeUnmount(()=>{const{pluginKey:n,editor:a}=o;a.unregisterPlugin(n)}),()=>{var n;return f.h("div",{ref:t},(n=e.default)===null||n===void 0?void 0:n.call(e))}}}),f.defineComponent({name:"NodeViewContent",props:{as:{type:String,default:"div"}},render(){return f.h(this.as,{style:{whiteSpace:"pre-wrap"},"data-node-view-content":""})}}),f.defineComponent({name:"NodeViewWrapper",props:{as:{type:String,default:"div"}},inject:["onDragStart","decorationClasses"],render(){var o,e;return f.h(this.as,{class:this.decorationClasses,style:{whiteSpace:"normal"},"data-node-view-wrapper":"",onDragstart:this.onDragStart},(e=(o=this.$slots).default)===null||e===void 0?void 0:e.call(o))}});const Pb=(o={})=>{const e=f.shallowRef();return f.onMounted(()=>{e.value=new Bb(o)}),f.onBeforeUnmount(()=>{var t;(t=e.value)===null||t===void 0||t.destroy()}),e};class Lb{constructor(e,{props:t={},editor:n}){this.editor=n,this.component=f.markRaw(e),this.el=document.createElement("div"),this.props=f.reactive(t),this.renderedComponent=this.renderComponent()}get element(){return this.renderedComponent.el}get ref(){var e,t,n,a;return!((t=(e=this.renderedComponent.vNode)===null||e===void 0?void 0:e.component)===null||t===void 0)&&t.exposed?this.renderedComponent.vNode.component.exposed:(a=(n=this.renderedComponent.vNode)===null||n===void 0?void 0:n.component)===null||a===void 0?void 0:a.proxy}renderComponent(){let e=f.h(this.component,this.props);return this.editor.appContext&&(e.appContext=this.editor.appContext),typeof document<"u"&&this.el&&f.render(e,this.el),{vNode:e,destroy:()=>{this.el&&f.render(null,this.el),this.el=null,e=null},el:this.el?this.el.firstElementChild:null}}updateProps(e={}){Object.entries(e).forEach(([t,n])=>{this.props[t]=n}),this.renderComponent()}destroy(){this.renderedComponent.destroy()}}const zb={class:"sus-emoji-panel grid"},Hb=["onClick","src","alt","title"],Vb=f.defineComponent({__name:"index",props:{emojiList:{}},setup(o){return(e,t)=>(f.openBlock(),f.createElementBlock("div",zb,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(e.emojiList,n=>(f.openBlock(),f.createElementBlock("div",null,[f.createElementVNode("img",{onClick:a=>e.$emit("onselect",n),class:"sus-emoji-item",src:n.fallbackImage,alt:n.name,title:`:${n.name}:`},null,8,Hb)]))),256))]))}}),Fo=(o,e)=>{const t=o.__vccOpts||o;for(const[n,a]of e)t[n]=a;return t},$b=Fo(Vb,[["__scopeId","data-v-d14b8129"]]),qb=/^\s*>\s$/,Wb=he.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:o}){return["blockquote",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{setBlockquote:()=>({commands:o})=>o.wrapIn(this.name),toggleBlockquote:()=>({commands:o})=>o.toggleWrap(this.name),unsetBlockquote:()=>({commands:o})=>o.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[nn({find:qb,type:this.type})]}}),Kb=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,Ub=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,Jb=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,Gb=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,Yb=Ye.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:o=>o.style.fontWeight!=="normal"&&null},{style:"font-weight",getAttrs:o=>/^(bold(er)?|[5-9]\d{2,})$/.test(o)&&null}]},renderHTML({HTMLAttributes:o}){return["strong",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{setBold:()=>({commands:o})=>o.setMark(this.name),toggleBold:()=>({commands:o})=>o.toggleMark(this.name),unsetBold:()=>({commands:o})=>o.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[_o({find:Kb,type:this.type}),_o({find:Jb,type:this.type})]},addPasteRules(){return[Xt({find:Ub,type:this.type}),Xt({find:Gb,type:this.type})]}}),Ti=he.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:o}){return["li",oe(this.options.HTMLAttributes,o),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),fa=Ye.create({name:"textStyle",priority:101,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:o=>o.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:o}){return["span",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:o,commands:e})=>{const t=li(o,this.type);return Object.entries(t).some(([,a])=>!!a)?!0:e.unsetMark(this.name)}}}}),Nc=/^\s*([-+*])\s$/,Xb=he.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:o}){return["ul",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{toggleBulletList:()=>({commands:o,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(Ti.name,this.editor.getAttributes(fa.name)).run():o.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let o=nn({find:Nc,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(o=nn({find:Nc,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(fa.name),editor:this.editor})),[o]}}),Qb=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/,Zb=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g,ej=Ye.create({name:"code",addOptions(){return{HTMLAttributes:{}}},excludes:"_",code:!0,exitable:!0,parseHTML(){return[{tag:"code"}]},renderHTML({HTMLAttributes:o}){return["code",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{setCode:()=>({commands:o})=>o.setMark(this.name),toggleCode:()=>({commands:o})=>o.toggleMark(this.name),unsetCode:()=>({commands:o})=>o.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[_o({find:Qb,type:this.type})]},addPasteRules(){return[Xt({find:Zb,type:this.type})]}}),tj=/^```([a-z]+)?[\s\n]$/,oj=/^~~~([a-z]+)?[\s\n]$/,nj=he.create({name:"codeBlock",addOptions(){return{languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,defaultLanguage:null,HTMLAttributes:{}}},content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:o=>{var e;const{languageClassPrefix:t}=this.options,s=[...((e=o.firstElementChild)===null||e===void 0?void 0:e.classList)||[]].filter(i=>i.startsWith(t)).map(i=>i.replace(t,""))[0];return s||null},rendered:!1}}},parseHTML(){return[{tag:"pre",preserveWhitespace:"full"}]},renderHTML({node:o,HTMLAttributes:e}){return["pre",oe(this.options.HTMLAttributes,e),["code",{class:o.attrs.language?this.options.languageClassPrefix+o.attrs.language:null},0]]},addCommands(){return{setCodeBlock:o=>({commands:e})=>e.setNode(this.name,o),toggleCodeBlock:o=>({commands:e})=>e.toggleNode(this.name,"paragraph",o)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:o,$anchor:e}=this.editor.state.selection,t=e.pos===1;return!o||e.parent.type.name!==this.name?!1:t||!e.parent.textContent.length?this.editor.commands.clearNodes():!1},Enter:({editor:o})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:e}=o,{selection:t}=e,{$from:n,empty:a}=t;if(!a||n.parent.type!==this.type)return!1;const s=n.parentOffset===n.parent.nodeSize-2,i=n.parent.textContent.endsWith(`
|
|
110
|
+
|
|
111
|
+
`);return!s||!i?!1:o.chain().command(({tr:r})=>(r.delete(n.pos-2,n.pos),!0)).exitCode().run()},ArrowDown:({editor:o})=>{if(!this.options.exitOnArrowDown)return!1;const{state:e}=o,{selection:t,doc:n}=e,{$from:a,empty:s}=t;if(!s||a.parent.type!==this.type||!(a.parentOffset===a.parent.nodeSize-2))return!1;const r=a.after();return r===void 0?!1:n.nodeAt(r)?o.commands.command(({tr:p})=>(p.setSelection(R.near(n.resolve(r))),!0)):o.commands.exitCode()}}},addInputRules(){return[fi({find:tj,type:this.type,getAttributes:o=>({language:o[1]})}),fi({find:oj,type:this.type,getAttributes:o=>({language:o[1]})})]},addProseMirrorPlugins(){return[new Q({key:new ae("codeBlockVSCodeHandler"),props:{handlePaste:(o,e)=>{if(!e.clipboardData||this.editor.isActive(this.type.name))return!1;const t=e.clipboardData.getData("text/plain"),n=e.clipboardData.getData("vscode-editor-data"),a=n?JSON.parse(n):void 0,s=a==null?void 0:a.mode;if(!t||!s)return!1;const{tr:i,schema:r}=o.state,l=r.text(t.replace(/\r\n?/g,`
|
|
112
|
+
`));return i.replaceSelectionWith(this.type.create({language:s},l)),i.selection.$from.parent.type!==this.type&&i.setSelection(B.near(i.doc.resolve(Math.max(0,i.selection.from-2)))),i.setMeta("paste",!0),o.dispatch(i),!0}}})]}}),aj=he.create({name:"doc",topNode:!0,content:"block+"});function sj(o={}){return new Q({view(e){return new ij(e,o)}})}class ij{constructor(e,t){var n;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=(n=t.width)!==null&&n!==void 0?n:1,this.color=t.color===!1?void 0:t.color||"black",this.class=t.class,this.handlers=["dragover","dragend","drop","dragleave"].map(a=>{let s=i=>{this[a](i)};return e.dom.addEventListener(a,s),{name:a,handler:s}})}destroy(){this.handlers.forEach(({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t))}update(e,t){this.cursorPos!=null&&t.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent,n;if(t){let r=e.nodeBefore,l=e.nodeAfter;if(r||l){let p=this.editorView.nodeDOM(this.cursorPos-(r?r.nodeSize:0));if(p){let c=p.getBoundingClientRect(),m=r?c.bottom:c.top;r&&l&&(m=(m+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),n={left:c.left,right:c.right,top:m-this.width/2,bottom:m+this.width/2}}}}if(!n){let r=this.editorView.coordsAtPos(this.cursorPos);n={left:r.left-this.width/2,right:r.left+this.width/2,top:r.top,bottom:r.bottom}}let a=this.editorView.dom.offsetParent;this.element||(this.element=a.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t);let s,i;if(!a||a==document.body&&getComputedStyle(a).position=="static")s=-pageXOffset,i=-pageYOffset;else{let r=a.getBoundingClientRect();s=r.left-a.scrollLeft,i=r.top-a.scrollTop}this.element.style.left=n.left-s+"px",this.element.style.top=n.top-i+"px",this.element.style.width=n.right-n.left+"px",this.element.style.height=n.bottom-n.top+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),a=n&&n.type.spec.disableDropCursor,s=typeof a=="function"?a(this.editorView,t,e):a;if(t&&!s){let i=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let r=qr(this.editorView.state.doc,i,this.editorView.dragging.slice);r!=null&&(i=r)}this.setCursor(i),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){(e.target==this.editorView.dom||!this.editorView.dom.contains(e.relatedTarget))&&this.setCursor(null)}}const rj=le.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[sj(this.options)]}});class Z extends R{constructor(e){super(e,e)}map(e,t){let n=e.resolve(t.map(this.head));return Z.valid(n)?new Z(n):R.near(n)}content(){return E.empty}eq(e){return e instanceof Z&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,t){if(typeof t.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new Z(e.resolve(t.pos))}getBookmark(){return new Oi(this.anchor)}static valid(e){let t=e.parent;if(t.isTextblock||!lj(e)||!pj(e))return!1;let n=t.type.spec.allowGapCursor;if(n!=null)return n;let a=t.contentMatchAt(e.index()).defaultType;return a&&a.isTextblock}static findGapCursorFrom(e,t,n=!1){e:for(;;){if(!n&&Z.valid(e))return e;let a=e.pos,s=null;for(let i=e.depth;;i--){let r=e.node(i);if(t>0?e.indexAfter(i)<r.childCount:e.index(i)>0){s=r.child(t>0?e.indexAfter(i):e.index(i)-1);break}else if(i==0)return null;a+=t;let l=e.doc.resolve(a);if(Z.valid(l))return l}for(;;){let i=t>0?s.firstChild:s.lastChild;if(!i){if(s.isAtom&&!s.isText&&!A.isSelectable(s)){e=e.doc.resolve(a+s.nodeSize*t),n=!1;continue e}break}s=i,a+=t;let r=e.doc.resolve(a);if(Z.valid(r))return r}return null}}}Z.prototype.visible=!1,Z.findFrom=Z.findGapCursorFrom,R.jsonID("gapcursor",Z);class Oi{constructor(e){this.pos=e}map(e){return new Oi(e.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return Z.valid(t)?new Z(t):R.near(t)}}function lj(o){for(let e=o.depth;e>=0;e--){let t=o.index(e),n=o.node(e);if(t==0){if(n.type.spec.isolating)return!0;continue}for(let a=n.child(t-1);;a=a.lastChild){if(a.childCount==0&&!a.inlineContent||a.isAtom||a.type.spec.isolating)return!0;if(a.inlineContent)return!1}}return!0}function pj(o){for(let e=o.depth;e>=0;e--){let t=o.indexAfter(e),n=o.node(e);if(t==n.childCount){if(n.type.spec.isolating)return!0;continue}for(let a=n.child(t);;a=a.firstChild){if(a.childCount==0&&!a.inlineContent||a.isAtom||a.type.spec.isolating)return!0;if(a.inlineContent)return!1}}return!0}function cj(){return new Q({props:{decorations:gj,createSelectionBetween(o,e,t){return e.pos==t.pos&&Z.valid(t)?new Z(t):null},handleClick:dj,handleKeyDown:mj,handleDOMEvents:{beforeinput:uj}}})}const mj=bp({ArrowLeft:ha("horiz",-1),ArrowRight:ha("horiz",1),ArrowUp:ha("vert",-1),ArrowDown:ha("vert",1)});function ha(o,e){const t=o=="vert"?e>0?"down":"up":e>0?"right":"left";return function(n,a,s){let i=n.selection,r=e>0?i.$to:i.$from,l=i.empty;if(i instanceof B){if(!s.endOfTextblock(t)||r.depth==0)return!1;l=!1,r=n.doc.resolve(e>0?r.after():r.before())}let p=Z.findGapCursorFrom(r,e,l);return p?(a&&a(n.tr.setSelection(new Z(p))),!0):!1}}function dj(o,e,t){if(!o||!o.editable)return!1;let n=o.state.doc.resolve(e);if(!Z.valid(n))return!1;let a=o.posAtCoords({left:t.clientX,top:t.clientY});return a&&a.inside>-1&&A.isSelectable(o.state.doc.nodeAt(a.inside))?!1:(o.dispatch(o.state.tr.setSelection(new Z(n))),!0)}function uj(o,e){if(e.inputType!="insertCompositionText"||!(o.state.selection instanceof Z))return!1;let{$from:t}=o.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(o.state.schema.nodes.text);if(!n)return!1;let a=w.empty;for(let i=n.length-1;i>=0;i--)a=w.from(n[i].createAndFill(null,a));let s=o.state.tr.replace(t.pos,t.pos,new E(a,0,0));return s.setSelection(B.near(s.doc.resolve(t.pos+1))),o.dispatch(s),!1}function gj(o){if(!(o.selection instanceof Z))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",ee.create(o.doc,[De.widget(o.selection.head,e,{key:"gapcursor"})])}const fj=le.create({name:"gapCursor",addProseMirrorPlugins(){return[cj()]},extendNodeSchema(o){var e;const t={name:o.name,options:o.options,storage:o.storage};return{allowGapCursor:(e=L(F(o,"allowGapCursor",t)))!==null&&e!==void 0?e:null}}}),hj=he.create({name:"hardBreak",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:o}){return["br",oe(this.options.HTMLAttributes,o)]},renderText(){return`
|
|
113
|
+
`},addCommands(){return{setHardBreak:()=>({commands:o,chain:e,state:t,editor:n})=>o.first([()=>o.exitCode(),()=>o.command(()=>{const{selection:a,storedMarks:s}=t;if(a.$from.parent.type.spec.isolating)return!1;const{keepMarks:i}=this.options,{splittableMarks:r}=n.extensionManager,l=s||a.$to.parentOffset&&a.$from.marks();return e().insertContent({type:this.name}).command(({tr:p,dispatch:c})=>{if(c&&l&&i){const m=l.filter(d=>r.includes(d.type.name));p.ensureMarks(m)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),bj=he.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(o=>({tag:`h${o}`,attrs:{level:o}}))},renderHTML({node:o,HTMLAttributes:e}){return[`h${this.options.levels.includes(o.attrs.level)?o.attrs.level:this.options.levels[0]}`,oe(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:o=>({commands:e})=>this.options.levels.includes(o.level)?e.setNode(this.name,o):!1,toggleHeading:o=>({commands:e})=>this.options.levels.includes(o.level)?e.toggleNode(this.name,"paragraph",o):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((o,e)=>({...o,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})}),{})},addInputRules(){return this.options.levels.map(o=>fi({find:new RegExp(`^(#{1,${o}})\\s$`),type:this.type,getAttributes:{level:o}}))}});var ba=200,pe=function(){};pe.prototype.append=function(e){return e.length?(e=pe.from(e),!this.length&&e||e.length<ba&&this.leafAppend(e)||this.length<ba&&e.leafPrepend(this)||this.appendInner(e)):this},pe.prototype.prepend=function(e){return e.length?pe.from(e).append(this):this},pe.prototype.appendInner=function(e){return new jj(this,e)},pe.prototype.slice=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=this.length),e>=t?pe.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,t))},pe.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)},pe.prototype.forEach=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length),t<=n?this.forEachInner(e,t,n,0):this.forEachInvertedInner(e,t,n,0)},pe.prototype.map=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length);var a=[];return this.forEach(function(s,i){return a.push(e(s,i))},t,n),a},pe.from=function(e){return e instanceof pe?e:e&&e.length?new Bc(e):pe.empty};var Bc=function(o){function e(n){o.call(this),this.values=n}o&&(e.__proto__=o),e.prototype=Object.create(o&&o.prototype),e.prototype.constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(a,s){return a==0&&s==this.length?this:new e(this.values.slice(a,s))},e.prototype.getInner=function(a){return this.values[a]},e.prototype.forEachInner=function(a,s,i,r){for(var l=s;l<i;l++)if(a(this.values[l],r+l)===!1)return!1},e.prototype.forEachInvertedInner=function(a,s,i,r){for(var l=s-1;l>=i;l--)if(a(this.values[l],r+l)===!1)return!1},e.prototype.leafAppend=function(a){if(this.length+a.length<=ba)return new e(this.values.concat(a.flatten()))},e.prototype.leafPrepend=function(a){if(this.length+a.length<=ba)return new e(a.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(pe);pe.empty=new Bc([]);var jj=function(o){function e(t,n){o.call(this),this.left=t,this.right=n,this.length=t.length+n.length,this.depth=Math.max(t.depth,n.depth)+1}return o&&(e.__proto__=o),e.prototype=Object.create(o&&o.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(n){return n<this.left.length?this.left.get(n):this.right.get(n-this.left.length)},e.prototype.forEachInner=function(n,a,s,i){var r=this.left.length;if(a<r&&this.left.forEachInner(n,a,Math.min(s,r),i)===!1||s>r&&this.right.forEachInner(n,Math.max(a-r,0),Math.min(this.length,s)-r,i+r)===!1)return!1},e.prototype.forEachInvertedInner=function(n,a,s,i){var r=this.left.length;if(a>r&&this.right.forEachInvertedInner(n,a-r,Math.max(s,r)-r,i+r)===!1||s<r&&this.left.forEachInvertedInner(n,Math.min(a,r),s,i)===!1)return!1},e.prototype.sliceInner=function(n,a){if(n==0&&a==this.length)return this;var s=this.left.length;return a<=s?this.left.slice(n,a):n>=s?this.right.slice(n-s,a-s):this.left.slice(n,s).append(this.right.slice(0,a-s))},e.prototype.leafAppend=function(n){var a=this.right.leafAppend(n);if(a)return new e(this.left,a)},e.prototype.leafPrepend=function(n){var a=this.left.leafPrepend(n);if(a)return new e(a,this.right)},e.prototype.appendInner=function(n){return this.left.depth>=Math.max(this.right.depth,n.depth)+1?new e(this.left,new e(this.right,n)):new e(this,n)},e}(pe);const vj=500;class qe{constructor(e,t){this.items=e,this.eventCount=t}popEvent(e,t){if(this.eventCount==0)return null;let n=this.items.length;for(;;n--)if(this.items.get(n-1).selection){--n;break}let a,s;t&&(a=this.remapping(n,this.items.length),s=a.maps.length);let i=e.tr,r,l,p=[],c=[];return this.items.forEach((m,d)=>{if(!m.step){a||(a=this.remapping(n,d+1),s=a.maps.length),s--,c.push(m);return}if(a){c.push(new et(m.map));let g=m.step.map(a.slice(s)),u;g&&i.maybeStep(g).doc&&(u=i.mapping.maps[i.mapping.maps.length-1],p.push(new et(u,void 0,void 0,p.length+c.length))),s--,u&&a.appendMap(u,s)}else i.maybeStep(m.step);if(m.selection)return r=a?m.selection.map(a.slice(s)):m.selection,l=new qe(this.items.slice(0,n).append(c.reverse().concat(p)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:i,selection:r}}addTransform(e,t,n,a){let s=[],i=this.eventCount,r=this.items,l=!a&&r.length?r.get(r.length-1):null;for(let c=0;c<e.steps.length;c++){let m=e.steps[c].invert(e.docs[c]),d=new et(e.mapping.maps[c],m,t),g;(g=l&&l.merge(d))&&(d=g,c?s.pop():r=r.slice(0,r.length-1)),s.push(d),t&&(i++,t=void 0),a||(l=d)}let p=i-n.depth;return p>yj&&(r=kj(r,p),i-=p),new qe(r.append(s),i)}remapping(e,t){let n=new io;return this.items.forEach((a,s)=>{let i=a.mirrorOffset!=null&&s-a.mirrorOffset>=e?n.maps.length-a.mirrorOffset:void 0;n.appendMap(a.map,i)},e,t),n}addMaps(e){return this.eventCount==0?this:new qe(this.items.append(e.map(t=>new et(t))),this.eventCount)}rebased(e,t){if(!this.eventCount)return this;let n=[],a=Math.max(0,this.items.length-t),s=e.mapping,i=e.steps.length,r=this.eventCount;this.items.forEach(d=>{d.selection&&r--},a);let l=t;this.items.forEach(d=>{let g=s.getMirror(--l);if(g==null)return;i=Math.min(i,g);let u=s.maps[g];if(d.step){let h=e.steps[g].invert(e.docs[g]),j=d.selection&&d.selection.map(s.slice(l+1,g));j&&r++,n.push(new et(u,h,j))}else n.push(new et(u))},a);let p=[];for(let d=t;d<i;d++)p.push(new et(s.maps[d]));let c=this.items.slice(0,a).append(p).append(n),m=new qe(c,r);return m.emptyItemCount()>vj&&(m=m.compress(this.items.length-n.length)),m}emptyItemCount(){let e=0;return this.items.forEach(t=>{t.step||e++}),e}compress(e=this.items.length){let t=this.remapping(0,e),n=t.maps.length,a=[],s=0;return this.items.forEach((i,r)=>{if(r>=e)a.push(i),i.selection&&s++;else if(i.step){let l=i.step.map(t.slice(n)),p=l&&l.getMap();if(n--,p&&t.appendMap(p,n),l){let c=i.selection&&i.selection.map(t.slice(n));c&&s++;let m=new et(p.invert(),l,c),d,g=a.length-1;(d=a.length&&a[g].merge(m))?a[g]=d:a.push(m)}}else i.map&&n--},this.items.length,0),new qe(pe.from(a.reverse()),s)}}qe.empty=new qe(pe.empty,0);function kj(o,e){let t;return o.forEach((n,a)=>{if(n.selection&&e--==0)return t=a,!1}),o.slice(t)}class et{constructor(e,t,n,a){this.map=e,this.step=t,this.selection=n,this.mirrorOffset=a}merge(e){if(this.step&&e.step&&!e.selection){let t=e.step.merge(this.step);if(t)return new et(t.getMap().invert(),t,this.selection)}}}class At{constructor(e,t,n,a,s){this.done=e,this.undone=t,this.prevRanges=n,this.prevTime=a,this.prevComposition=s}}const yj=20;function _j(o,e,t,n){let a=t.getMeta(to),s;if(a)return a.historyState;t.getMeta(Ij)&&(o=new At(o.done,o.undone,null,0,-1));let i=t.getMeta("appendedTransaction");if(t.steps.length==0)return o;if(i&&i.getMeta(to))return i.getMeta(to).redo?new At(o.done.addTransform(t,void 0,n,ja(e)),o.undone,Rc(t.mapping.maps),o.prevTime,o.prevComposition):new At(o.done,o.undone.addTransform(t,void 0,n,ja(e)),null,o.prevTime,o.prevComposition);if(t.getMeta("addToHistory")!==!1&&!(i&&i.getMeta("addToHistory")===!1)){let r=t.getMeta("composition"),l=o.prevTime==0||!i&&o.prevComposition!=r&&(o.prevTime<(t.time||0)-n.newGroupDelay||!Dj(t,o.prevRanges)),p=i?Ni(o.prevRanges,t.mapping):Rc(t.mapping.maps);return new At(o.done.addTransform(t,l?e.selection.getBookmark():void 0,n,ja(e)),qe.empty,p,t.time,r??o.prevComposition)}else return(s=t.getMeta("rebased"))?new At(o.done.rebased(t,s),o.undone.rebased(t,s),Ni(o.prevRanges,t.mapping),o.prevTime,o.prevComposition):new At(o.done.addMaps(t.mapping.maps),o.undone.addMaps(t.mapping.maps),Ni(o.prevRanges,t.mapping),o.prevTime,o.prevComposition)}function Dj(o,e){if(!e)return!1;if(!o.docChanged)return!0;let t=!1;return o.mapping.maps[0].forEach((n,a)=>{for(let s=0;s<e.length;s+=2)n<=e[s+1]&&a>=e[s]&&(t=!0)}),t}function Rc(o){let e=[];for(let t=o.length-1;t>=0&&e.length==0;t--)o[t].forEach((n,a,s,i)=>e.push(s,i));return e}function Ni(o,e){if(!o)return null;let t=[];for(let n=0;n<o.length;n+=2){let a=e.map(o[n],1),s=e.map(o[n+1],-1);a<=s&&t.push(a,s)}return t}function wj(o,e,t){let n=ja(e),a=to.get(e).spec.config,s=(t?o.undone:o.done).popEvent(e,n);if(!s)return null;let i=s.selection.resolve(s.transform.doc),r=(t?o.done:o.undone).addTransform(s.transform,e.selection.getBookmark(),a,n),l=new At(t?r:s.remaining,t?s.remaining:r,null,0,-1);return s.transform.setSelection(i).setMeta(to,{redo:t,historyState:l})}let Bi=!1,Pc=null;function ja(o){let e=o.plugins;if(Pc!=e){Bi=!1,Pc=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){Bi=!0;break}}return Bi}const to=new ae("history"),Ij=new ae("closeHistory");function Cj(o={}){return o={depth:o.depth||100,newGroupDelay:o.newGroupDelay||500},new Q({key:to,state:{init(){return new At(qe.empty,qe.empty,null,0,-1)},apply(e,t,n){return _j(t,n,e,o)}},config:o,props:{handleDOMEvents:{beforeinput(e,t){let n=t.inputType,a=n=="historyUndo"?zc:n=="historyRedo"?Hc:null;return a?(t.preventDefault(),a(e.state,e.dispatch)):!1}}}})}function Lc(o,e){return(t,n)=>{let a=to.getState(t);if(!a||(o?a.undone:a.done).eventCount==0)return!1;if(n){let s=wj(a,t,o);s&&n(e?s.scrollIntoView():s)}return!0}}const zc=Lc(!1,!0),Hc=Lc(!0,!0),Ej=le.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:o,dispatch:e})=>zc(o,e),redo:()=>({state:o,dispatch:e})=>Hc(o,e)}},addProseMirrorPlugins(){return[Cj(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()}}}),xj=he.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:o}){return["hr",oe(this.options.HTMLAttributes,o)]},addCommands(){return{setHorizontalRule:()=>({chain:o,state:e})=>{const{selection:t}=e,{$from:n,$to:a}=t,s=o();return n.parentOffset===0?s.insertContentAt({from:Math.max(n.pos-1,0),to:a.pos},{type:this.name}):Vp(t)?s.insertContentAt(a.pos,{type:this.name}):s.insertContent({type:this.name}),s.command(({tr:i,dispatch:r})=>{var l;if(r){const{$to:p}=i.selection,c=p.end();if(p.nodeAfter)p.nodeAfter.isTextblock?i.setSelection(B.create(i.doc,p.pos+1)):p.nodeAfter.isBlock?i.setSelection(A.create(i.doc,p.pos)):i.setSelection(B.create(i.doc,p.pos));else{const m=(l=p.parent.type.contentMatch.defaultType)===null||l===void 0?void 0:l.create();m&&(i.insert(c,m),i.setSelection(B.create(i.doc,c+1)))}i.scrollIntoView()}return!0}).run()}}},addInputRules(){return[gi({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),Fj=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Sj=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,Mj=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,Aj=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,Tj=Ye.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:o=>o.style.fontStyle!=="normal"&&null},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:o}){return["em",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{setItalic:()=>({commands:o})=>o.setMark(this.name),toggleItalic:()=>({commands:o})=>o.toggleMark(this.name),unsetItalic:()=>({commands:o})=>o.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[_o({find:Fj,type:this.type}),_o({find:Mj,type:this.type})]},addPasteRules(){return[Xt({find:Sj,type:this.type}),Xt({find:Aj,type:this.type})]}}),Vc=/^(\d+)\.\s$/,Oj=he.create({name:"orderedList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:o=>o.hasAttribute("start")?parseInt(o.getAttribute("start")||"",10):1},type:{default:void 0,parseHTML:o=>o.getAttribute("type")}}},parseHTML(){return[{tag:"ol"}]},renderHTML({HTMLAttributes:o}){const{start:e,...t}=o;return e===1?["ol",oe(this.options.HTMLAttributes,t),0]:["ol",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{toggleOrderedList:()=>({commands:o,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(Ti.name,this.editor.getAttributes(fa.name)).run():o.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let o=nn({find:Vc,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,t)=>t.childCount+t.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(o=nn({find:Vc,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(fa.name)}),joinPredicate:(e,t)=>t.childCount+t.attrs.start===+e[1],editor:this.editor})),[o]}}),Nj=he.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:o}){return["p",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{setParagraph:()=>({commands:o})=>o.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),Bj=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Rj=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Pj=Ye.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:o=>o.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:o}){return["s",oe(this.options.HTMLAttributes,o),0]},addCommands(){return{setStrike:()=>({commands:o})=>o.setMark(this.name),toggleStrike:()=>({commands:o})=>o.toggleMark(this.name),unsetStrike:()=>({commands:o})=>o.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[_o({find:Bj,type:this.type})]},addPasteRules(){return[Xt({find:Rj,type:this.type})]}}),Lj=he.create({name:"text",group:"inline"}),zj=le.create({name:"starterKit",addExtensions(){var o,e,t,n,a,s,i,r,l,p,c,m,d,g,u,h,j,v;const k=[];return this.options.bold!==!1&&k.push(Yb.configure((o=this.options)===null||o===void 0?void 0:o.bold)),this.options.blockquote!==!1&&k.push(Wb.configure((e=this.options)===null||e===void 0?void 0:e.blockquote)),this.options.bulletList!==!1&&k.push(Xb.configure((t=this.options)===null||t===void 0?void 0:t.bulletList)),this.options.code!==!1&&k.push(ej.configure((n=this.options)===null||n===void 0?void 0:n.code)),this.options.codeBlock!==!1&&k.push(nj.configure((a=this.options)===null||a===void 0?void 0:a.codeBlock)),this.options.document!==!1&&k.push(aj.configure((s=this.options)===null||s===void 0?void 0:s.document)),this.options.dropcursor!==!1&&k.push(rj.configure((i=this.options)===null||i===void 0?void 0:i.dropcursor)),this.options.gapcursor!==!1&&k.push(fj.configure((r=this.options)===null||r===void 0?void 0:r.gapcursor)),this.options.hardBreak!==!1&&k.push(hj.configure((l=this.options)===null||l===void 0?void 0:l.hardBreak)),this.options.heading!==!1&&k.push(bj.configure((p=this.options)===null||p===void 0?void 0:p.heading)),this.options.history!==!1&&k.push(Ej.configure((c=this.options)===null||c===void 0?void 0:c.history)),this.options.horizontalRule!==!1&&k.push(xj.configure((m=this.options)===null||m===void 0?void 0:m.horizontalRule)),this.options.italic!==!1&&k.push(Tj.configure((d=this.options)===null||d===void 0?void 0:d.italic)),this.options.listItem!==!1&&k.push(Ti.configure((g=this.options)===null||g===void 0?void 0:g.listItem)),this.options.orderedList!==!1&&k.push(Oj.configure((u=this.options)===null||u===void 0?void 0:u.orderedList)),this.options.paragraph!==!1&&k.push(Nj.configure((h=this.options)===null||h===void 0?void 0:h.paragraph)),this.options.strike!==!1&&k.push(Pj.configure((j=this.options)===null||j===void 0?void 0:j.strike)),this.options.text!==!1&&k.push(Lj.configure((v=this.options)===null||v===void 0?void 0:v.text)),k}}),Hj=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,Vj=he.create({name:"image",addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{}}},inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:o}){return["img",oe(this.options.HTMLAttributes,o)]},addCommands(){return{setImage:o=>({commands:e})=>e.insertContent({type:this.name,attrs:o})}},addInputRules(){return[gi({find:Hj,type:this.type,getAttributes:o=>{const[,,e,t,n]=o;return{src:t,alt:e,title:n}}})]}}),$j=le.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new Q({key:new ae("placeholder"),props:{decorations:({doc:o,selection:e})=>{const t=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:n}=e,a=[];if(!t)return null;const s=this.editor.isEmpty;return o.descendants((i,r)=>{const l=n>=r&&n<=r+i.nodeSize,p=!i.isLeaf&&la(i);if((l||!this.options.showOnlyCurrent)&&p){const c=[this.options.emptyNodeClass];s&&c.push(this.options.emptyEditorClass);const m=De.node(r,r+i.nodeSize,{class:c.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:i,pos:r,hasAnchor:l}):this.options.placeholder});a.push(m)}return this.options.includeChildren}),ee.create(o,a)}}})]}}),qj="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Wj="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",So=(o,e)=>{for(const t in e)o[t]=e[t];return o},Ri="numeric",Pi="ascii",Li="alpha",va="asciinumeric",ka="alphanumeric",zi="domain",$c="emoji",Kj="scheme",Uj="slashscheme",qc="whitespace";function Jj(o,e){return o in e||(e[o]=[]),e[o]}function oo(o,e,t){e[Ri]&&(e[va]=!0,e[ka]=!0),e[Pi]&&(e[va]=!0,e[Li]=!0),e[va]&&(e[ka]=!0),e[Li]&&(e[ka]=!0),e[ka]&&(e[zi]=!0),e[$c]&&(e[zi]=!0);for(const n in e){const a=Jj(n,t);a.indexOf(o)<0&&a.push(o)}}function Gj(o,e){const t={};for(const n in e)e[n].indexOf(o)>=0&&(t[n]=!0);return t}function Ce(o){o===void 0&&(o=null),this.j={},this.jr=[],this.jd=null,this.t=o}Ce.groups={},Ce.prototype={accepts(){return!!this.t},go(o){const e=this,t=e.j[o];if(t)return t;for(let n=0;n<e.jr.length;n++){const a=e.jr[n][0],s=e.jr[n][1];if(s&&a.test(o))return s}return e.jd},has(o,e){return e===void 0&&(e=!1),e?o in this.j:!!this.go(o)},ta(o,e,t,n){for(let a=0;a<o.length;a++)this.tt(o[a],e,t,n)},tr(o,e,t,n){n=n||Ce.groups;let a;return e&&e.j?a=e:(a=new Ce(e),t&&n&&oo(e,t,n)),this.jr.push([o,a]),a},ts(o,e,t,n){let a=this;const s=o.length;if(!s)return a;for(let i=0;i<s-1;i++)a=a.tt(o[i]);return a.tt(o[s-1],e,t,n)},tt(o,e,t,n){n=n||Ce.groups;const a=this;if(e&&e.j)return a.j[o]=e,e;const s=e;let i,r=a.go(o);if(r?(i=new Ce,So(i.j,r.j),i.jr.push.apply(i.jr,r.jr),i.jd=r.jd,i.t=r.t):i=new Ce,s){if(n)if(i.t&&typeof i.t=="string"){const l=So(Gj(i.t,n),t);oo(s,l,n)}else t&&oo(s,t,n);i.t=s}return a.j[o]=i,i}};const P=(o,e,t,n,a)=>o.ta(e,t,n,a),Pe=(o,e,t,n,a)=>o.tr(e,t,n,a),Wc=(o,e,t,n,a)=>o.ts(e,t,n,a),I=(o,e,t,n,a)=>o.tt(e,t,n,a),ct="WORD",Hi="UWORD",fn="LOCALHOST",Vi="TLD",$i="UTLD",ya="SCHEME",Mo="SLASH_SCHEME",qi="NUM",Kc="WS",Wi="NL",hn="OPENBRACE",bn="CLOSEBRACE",_a="OPENBRACKET",Da="CLOSEBRACKET",wa="OPENPAREN",Ia="CLOSEPAREN",Ca="OPENANGLEBRACKET",Ea="CLOSEANGLEBRACKET",xa="FULLWIDTHLEFTPAREN",Fa="FULLWIDTHRIGHTPAREN",Sa="LEFTCORNERBRACKET",Ma="RIGHTCORNERBRACKET",Aa="LEFTWHITECORNERBRACKET",Ta="RIGHTWHITECORNERBRACKET",Oa="FULLWIDTHLESSTHAN",Na="FULLWIDTHGREATERTHAN",Ba="AMPERSAND",Ra="APOSTROPHE",Pa="ASTERISK",Tt="AT",La="BACKSLASH",za="BACKTICK",Ha="CARET",Ot="COLON",Ki="COMMA",Va="DOLLAR",tt="DOT",$a="EQUALS",Ui="EXCLAMATION",ot="HYPHEN",qa="PERCENT",Wa="PIPE",Ka="PLUS",Ua="POUND",Ja="QUERY",Ji="QUOTE",Gi="SEMI",nt="SLASH",jn="TILDE",Ga="UNDERSCORE",Uc="EMOJI",Ya="SYM";var Jc=Object.freeze({__proto__:null,WORD:ct,UWORD:Hi,LOCALHOST:fn,TLD:Vi,UTLD:$i,SCHEME:ya,SLASH_SCHEME:Mo,NUM:qi,WS:Kc,NL:Wi,OPENBRACE:hn,CLOSEBRACE:bn,OPENBRACKET:_a,CLOSEBRACKET:Da,OPENPAREN:wa,CLOSEPAREN:Ia,OPENANGLEBRACKET:Ca,CLOSEANGLEBRACKET:Ea,FULLWIDTHLEFTPAREN:xa,FULLWIDTHRIGHTPAREN:Fa,LEFTCORNERBRACKET:Sa,RIGHTCORNERBRACKET:Ma,LEFTWHITECORNERBRACKET:Aa,RIGHTWHITECORNERBRACKET:Ta,FULLWIDTHLESSTHAN:Oa,FULLWIDTHGREATERTHAN:Na,AMPERSAND:Ba,APOSTROPHE:Ra,ASTERISK:Pa,AT:Tt,BACKSLASH:La,BACKTICK:za,CARET:Ha,COLON:Ot,COMMA:Ki,DOLLAR:Va,DOT:tt,EQUALS:$a,EXCLAMATION:Ui,HYPHEN:ot,PERCENT:qa,PIPE:Wa,PLUS:Ka,POUND:Ua,QUERY:Ja,QUOTE:Ji,SEMI:Gi,SLASH:nt,TILDE:jn,UNDERSCORE:Ga,EMOJI:Uc,SYM:Ya});const Ao=/[a-z]/,Yi=new RegExp("\\p{L}","u"),Xi=new RegExp("\\p{Emoji}","u"),Qi=/\d/,Gc=/\s/,Yc=`
|
|
114
|
+
`,Yj="️",Xj="";let Xa=null,Qa=null;function Qj(o){o===void 0&&(o=[]);const e={};Ce.groups=e;const t=new Ce;Xa==null&&(Xa=Xc(qj)),Qa==null&&(Qa=Xc(Wj)),I(t,"'",Ra),I(t,"{",hn),I(t,"}",bn),I(t,"[",_a),I(t,"]",Da),I(t,"(",wa),I(t,")",Ia),I(t,"<",Ca),I(t,">",Ea),I(t,"(",xa),I(t,")",Fa),I(t,"「",Sa),I(t,"」",Ma),I(t,"『",Aa),I(t,"』",Ta),I(t,"<",Oa),I(t,">",Na),I(t,"&",Ba),I(t,"*",Pa),I(t,"@",Tt),I(t,"`",za),I(t,"^",Ha),I(t,":",Ot),I(t,",",Ki),I(t,"$",Va),I(t,".",tt),I(t,"=",$a),I(t,"!",Ui),I(t,"-",ot),I(t,"%",qa),I(t,"|",Wa),I(t,"+",Ka),I(t,"#",Ua),I(t,"?",Ja),I(t,'"',Ji),I(t,"/",nt),I(t,";",Gi),I(t,"~",jn),I(t,"_",Ga),I(t,"\\",La);const n=Pe(t,Qi,qi,{[Ri]:!0});Pe(n,Qi,n);const a=Pe(t,Ao,ct,{[Pi]:!0});Pe(a,Ao,a);const s=Pe(t,Yi,Hi,{[Li]:!0});Pe(s,Ao),Pe(s,Yi,s);const i=Pe(t,Gc,Kc,{[qc]:!0});I(t,Yc,Wi,{[qc]:!0}),I(i,Yc),Pe(i,Gc,i);const r=Pe(t,Xi,Uc,{[$c]:!0});Pe(r,Xi,r),I(r,Yj,r);const l=I(r,Xj);Pe(l,Xi,r);const p=[[Ao,a]],c=[[Ao,null],[Yi,s]];for(let m=0;m<Xa.length;m++)Nt(t,Xa[m],Vi,ct,p);for(let m=0;m<Qa.length;m++)Nt(t,Qa[m],$i,Hi,c);oo(Vi,{tld:!0,ascii:!0},e),oo($i,{utld:!0,alpha:!0},e),Nt(t,"file",ya,ct,p),Nt(t,"mailto",ya,ct,p),Nt(t,"http",Mo,ct,p),Nt(t,"https",Mo,ct,p),Nt(t,"ftp",Mo,ct,p),Nt(t,"ftps",Mo,ct,p),oo(ya,{scheme:!0,ascii:!0},e),oo(Mo,{slashscheme:!0,ascii:!0},e),o=o.sort((m,d)=>m[0]>d[0]?1:-1);for(let m=0;m<o.length;m++){const d=o[m][0],u=o[m][1]?{[Kj]:!0}:{[Uj]:!0};d.indexOf("-")>=0?u[zi]=!0:Ao.test(d)?Qi.test(d)?u[va]=!0:u[Pi]=!0:u[Ri]=!0,Wc(t,d,d,u)}return Wc(t,"localhost",fn,{ascii:!0}),t.jd=new Ce(Ya),{start:t,tokens:So({groups:e},Jc)}}function Zj(o,e){const t=ev(e.replace(/[A-Z]/g,r=>r.toLowerCase())),n=t.length,a=[];let s=0,i=0;for(;i<n;){let r=o,l=null,p=0,c=null,m=-1,d=-1;for(;i<n&&(l=r.go(t[i]));)r=l,r.accepts()?(m=0,d=0,c=r):m>=0&&(m+=t[i].length,d++),p+=t[i].length,s+=t[i].length,i++;s-=m,i-=d,p-=m,a.push({t:c.t,v:e.slice(s-p,s),s:s-p,e:s})}return a}function ev(o){const e=[],t=o.length;let n=0;for(;n<t;){let a=o.charCodeAt(n),s,i=a<55296||a>56319||n+1===t||(s=o.charCodeAt(n+1))<56320||s>57343?o[n]:o.slice(n,n+2);e.push(i),n+=i.length}return e}function Nt(o,e,t,n,a){let s;const i=e.length;for(let r=0;r<i-1;r++){const l=e[r];o.j[l]?s=o.j[l]:(s=new Ce(n),s.jr=a.slice(),o.j[l]=s),o=s}return s=new Ce(t),s.jr=a.slice(),o.j[e[i-1]]=s,s}function Xc(o){const e=[],t=[];let n=0,a="0123456789";for(;n<o.length;){let s=0;for(;a.indexOf(o[n+s])>=0;)s++;if(s>0){e.push(t.join(""));for(let i=parseInt(o.substring(n,n+s),10);i>0;i--)t.pop();n+=s}else t.push(o[n]),n++}return e}const vn={defaultProtocol:"http",events:null,format:Qc,formatHref:Qc,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Zi(o,e){e===void 0&&(e=null);let t=So({},vn);o&&(t=So(t,o instanceof Zi?o.o:o));const n=t.ignoreTags,a=[];for(let s=0;s<n.length;s++)a.push(n[s].toUpperCase());this.o=t,e&&(this.defaultRender=e),this.ignoreTags=a}Zi.prototype={o:vn,ignoreTags:[],defaultRender(o){return o},check(o){return this.get("validate",o.toString(),o)},get(o,e,t){const n=e!=null;let a=this.o[o];return a&&(typeof a=="object"?(a=t.t in a?a[t.t]:vn[o],typeof a=="function"&&n&&(a=a(e,t))):typeof a=="function"&&n&&(a=a(e,t.t,t)),a)},getObj(o,e,t){let n=this.o[o];return typeof n=="function"&&e!=null&&(n=n(e,t.t,t)),n},render(o){const e=o.render(this);return(this.get("render",null,o)||this.defaultRender)(e,o.t,o)}};function Qc(o){return o}function Zc(o,e){this.t="token",this.v=o,this.tk=e}Zc.prototype={isLink:!1,toString(){return this.v},toHref(o){return this.toString()},toFormattedString(o){const e=this.toString(),t=o.get("truncate",e,this),n=o.get("format",e,this);return t&&n.length>t?n.substring(0,t)+"…":n},toFormattedHref(o){return o.get("formatHref",this.toHref(o.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(o){return o===void 0&&(o=vn.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(o),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(o){return{type:this.t,value:this.toFormattedString(o),isLink:this.isLink,href:this.toFormattedHref(o),start:this.startIndex(),end:this.endIndex()}},validate(o){return o.get("validate",this.toString(),this)},render(o){const e=this,t=this.toHref(o.get("defaultProtocol")),n=o.get("formatHref",t,this),a=o.get("tagName",t,e),s=this.toFormattedString(o),i={},r=o.get("className",t,e),l=o.get("target",t,e),p=o.get("rel",t,e),c=o.getObj("attributes",t,e),m=o.getObj("events",t,e);return i.href=n,r&&(i.class=r),l&&(i.target=l),p&&(i.rel=p),c&&So(i,c),{tagName:a,attributes:i,content:s,eventListeners:m}}};function Za(o,e){class t extends Zc{constructor(a,s){super(a,s),this.t=o}}for(const n in e)t.prototype[n]=e[n];return t.t=o,t}const em=Za("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),tm=Za("text"),tv=Za("nl"),es=Za("url",{isLink:!0,toHref(o){return o===void 0&&(o=vn.defaultProtocol),this.hasProtocol()?this.v:`${o}://${this.v}`},hasProtocol(){const o=this.tk;return o.length>=2&&o[0].t!==fn&&o[1].t===Ot}}),Le=o=>new Ce(o);function ov(o){let{groups:e}=o;const t=e.domain.concat([Ba,Pa,Tt,La,za,Ha,Va,$a,ot,qi,qa,Wa,Ka,Ua,nt,Ya,jn,Ga]),n=[Ra,Ot,Ki,tt,Ui,Ja,Ji,Gi,Ca,Ea,hn,bn,Da,_a,wa,Ia,xa,Fa,Sa,Ma,Aa,Ta,Oa,Na],a=[Ba,Ra,Pa,La,za,Ha,Va,$a,ot,hn,bn,qa,Wa,Ka,Ua,Ja,nt,Ya,jn,Ga],s=Le(),i=I(s,jn);P(i,a,i),P(i,e.domain,i);const r=Le(),l=Le(),p=Le();P(s,e.domain,r),P(s,e.scheme,l),P(s,e.slashscheme,p),P(r,a,i),P(r,e.domain,r);const c=I(r,Tt);I(i,Tt,c),I(l,Tt,c),I(p,Tt,c);const m=I(i,tt);P(m,a,i),P(m,e.domain,i);const d=Le();P(c,e.domain,d),P(d,e.domain,d);const g=I(d,tt);P(g,e.domain,d);const u=Le(em);P(g,e.tld,u),P(g,e.utld,u),I(c,fn,u);const h=I(d,ot);P(h,e.domain,d),P(u,e.domain,d),I(u,tt,g),I(u,ot,h);const j=I(u,Ot);P(j,e.numeric,em);const v=I(r,ot),k=I(r,tt);P(v,e.domain,r),P(k,a,i),P(k,e.domain,r);const D=Le(es);P(k,e.tld,D),P(k,e.utld,D),P(D,e.domain,r),P(D,a,i),I(D,tt,k),I(D,ot,v),I(D,Tt,c);const b=I(D,Ot),x=Le(es);P(b,e.numeric,x);const y=Le(es),M=Le();P(y,t,y),P(y,n,M),P(M,t,y),P(M,n,M),I(D,nt,y),I(x,nt,y);const N=I(l,Ot),C=I(p,Ot),O=I(C,nt),z=I(O,nt);P(l,e.domain,r),I(l,tt,k),I(l,ot,v),P(p,e.domain,r),I(p,tt,k),I(p,ot,v),P(N,e.domain,y),I(N,nt,y),P(z,e.domain,y),P(z,t,y),I(z,nt,y);const V=[[hn,bn],[_a,Da],[wa,Ia],[Ca,Ea],[xa,Fa],[Sa,Ma],[Aa,Ta],[Oa,Na]];for(let $=0;$<V.length;$++){const[ne,X]=V[$],J=I(y,ne);I(M,ne,J),I(J,X,y);const U=Le(es);P(J,t,U);const q=Le();P(J,n),P(U,t,U),P(U,n,q),P(q,t,U),P(q,n,q),I(U,X,y),I(q,X,y)}return I(s,fn,D),I(s,Wi,tv),{start:s,tokens:Jc}}function nv(o,e,t){let n=t.length,a=0,s=[],i=[];for(;a<n;){let r=o,l=null,p=null,c=0,m=null,d=-1;for(;a<n&&!(l=r.go(t[a].t));)i.push(t[a++]);for(;a<n&&(p=l||r.go(t[a].t));)l=null,r=p,r.accepts()?(d=0,m=r):d>=0&&d++,a++,c++;if(d<0)a-=c,a<n&&(i.push(t[a]),a++);else{i.length>0&&(s.push(er(tm,e,i)),i=[]),a-=d,c-=d;const g=m.t,u=t.slice(a-c,a);s.push(er(g,e,u))}}return i.length>0&&s.push(er(tm,e,i)),s}function er(o,e,t){const n=t[0].s,a=t[t.length-1].e,s=e.slice(n,a);return new o(s,t)}const av=typeof console<"u"&&console&&console.warn||(()=>{}),sv="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",Y={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function iv(){Ce.groups={},Y.scanner=null,Y.parser=null,Y.tokenQueue=[],Y.pluginQueue=[],Y.customSchemes=[],Y.initialized=!1}function om(o,e){if(e===void 0&&(e=!1),Y.initialized&&av(`linkifyjs: already initialized - will not register custom scheme "${o}" ${sv}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(o))throw new Error(`linkifyjs: incorrect scheme format.
|
|
115
|
+
1. Must only contain digits, lowercase ASCII letters or "-"
|
|
116
|
+
2. Cannot start or end with "-"
|
|
117
|
+
3. "-" cannot repeat`);Y.customSchemes.push([o,e])}function rv(){Y.scanner=Qj(Y.customSchemes);for(let o=0;o<Y.tokenQueue.length;o++)Y.tokenQueue[o][1]({scanner:Y.scanner});Y.parser=ov(Y.scanner.tokens);for(let o=0;o<Y.pluginQueue.length;o++)Y.pluginQueue[o][1]({scanner:Y.scanner,parser:Y.parser});Y.initialized=!0}function nm(o){return Y.initialized||rv(),nv(Y.parser.start,o,Zj(Y.scanner.start,o))}function am(o,e,t){if(e===void 0&&(e=null),t===void 0&&(t=null),e&&typeof e=="object"){if(t)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);t=e,e=null}const n=new Zi(t),a=nm(o),s=[];for(let i=0;i<a.length;i++){const r=a[i];r.isLink&&(!e||r.t===e)&&n.check(r)&&s.push(r.toFormattedObject(n))}return s}function lv(o){return o.length===1?o[0].isLink:o.length===3&&o[1].isLink?["()","[]"].includes(o[0].value+o[2].value):!1}function pv(o){return new Q({key:new ae("autolink"),appendTransaction:(e,t,n)=>{const a=e.some(p=>p.docChanged)&&!t.doc.eq(n.doc),s=e.some(p=>p.getMeta("preventAutolink"));if(!a||s)return;const{tr:i}=n,r=Rp(t.doc,[...e]);if(zp(r).forEach(({newRange:p})=>{const c=Pp(n.doc,p,g=>g.isTextblock);let m,d;if(c.length>1?(m=c[0],d=n.doc.textBetween(m.pos,m.pos+m.node.nodeSize,void 0," ")):c.length&&n.doc.textBetween(p.from,p.to," "," ").endsWith(" ")&&(m=c[0],d=n.doc.textBetween(m.pos,p.to,void 0," ")),m&&d){const g=d.split(" ").filter(v=>v!=="");if(g.length<=0)return!1;const u=g[g.length-1],h=m.pos+d.lastIndexOf(u);if(!u)return!1;const j=nm(u).map(v=>v.toObject(o.defaultProtocol));if(!lv(j))return!1;j.filter(v=>v.isLink).map(v=>({...v,from:h+v.start+1,to:h+v.end+1})).filter(v=>n.schema.marks.code?!n.doc.rangeHasMark(v.from,v.to,n.schema.marks.code):!0).filter(v=>o.validate(v.value)).forEach(v=>{ci(v.from,v.to,n.doc).some(k=>k.mark.type===o.type)||i.addMark(v.from,v.to,o.type.create({href:v.href}))})}}),!!i.steps.length)return i}})}function cv(o){return new Q({key:new ae("handleClickLink"),props:{handleClick:(e,t,n)=>{var a,s;if(n.button!==0||!e.editable)return!1;let i=n.target;const r=[];for(;i.nodeName!=="DIV";)r.push(i),i=i.parentNode;if(!r.find(d=>d.nodeName==="A"))return!1;const l=Lp(e.state,o.type.name),p=n.target,c=(a=p==null?void 0:p.href)!==null&&a!==void 0?a:l.href,m=(s=p==null?void 0:p.target)!==null&&s!==void 0?s:l.target;return p&&c?(window.open(c,m),!0):!1}}})}function mv(o){return new Q({key:new ae("handlePasteLink"),props:{handlePaste:(e,t,n)=>{const{state:a}=e,{selection:s}=a,{empty:i}=s;if(i)return!1;let r="";n.content.forEach(p=>{r+=p.textContent});const l=am(r,{defaultProtocol:o.defaultProtocol}).find(p=>p.isLink&&p.value===r);return!r||!l?!1:(o.editor.commands.setMark(o.type,{href:l.href}),!0)}}})}const dv=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g;function sm(o,e){const t=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(n=>{const a=typeof n=="string"?n:n.scheme;a&&t.push(a)}),!o||o.replace(dv,"").match(new RegExp(`^(?:(?:${t.join("|")}):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))`,"i"))}const uv=Ye.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.protocols.forEach(o=>{if(typeof o=="string"){om(o);return}om(o.scheme,o.optionalSlashes)})},onDestroy(){iv()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:o=>!!o}},addAttributes(){return{href:{default:null,parseHTML(o){return o.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:o=>{const e=o.getAttribute("href");return!e||!sm(e,this.options.protocols)?!1:null}}]},renderHTML({HTMLAttributes:o}){return sm(o.href,this.options.protocols)?["a",oe(this.options.HTMLAttributes,o),0]:["a",oe(this.options.HTMLAttributes,{...o,href:""}),0]},addCommands(){return{setLink:o=>({chain:e})=>e().setMark(this.name,o).setMeta("preventAutolink",!0).run(),toggleLink:o=>({chain:e})=>e().toggleMark(this.name,o,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:o})=>o().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[Xt({find:o=>{const e=[];if(o){const{validate:t}=this.options,n=am(o).filter(a=>a.isLink&&t(a.value));n.length&&n.forEach(a=>e.push({text:a.value,data:{href:a.href},index:a.start}))}return e},type:this.type,getAttributes:o=>{var e;return{href:(e=o.data)===null||e===void 0?void 0:e.href}}})]},addProseMirrorPlugins(){const o=[];return this.options.autolink&&o.push(pv({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:this.options.validate})),this.options.openOnClick===!0&&o.push(cv({type:this.type})),this.options.linkOnPaste&&o.push(mv({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type})),o}});function gv(o){var e;const{char:t,allowSpaces:n,allowedPrefixes:a,startOfLine:s,$position:i}=o,r=Wp(t),l=new RegExp(`\\s${r}$`),p=s?"^":"",c=n?new RegExp(`${p}${r}.*?(?=\\s${r}|$)`,"gm"):new RegExp(`${p}(?:^)?${r}[^\\s${r}]*`,"gm"),m=((e=i.nodeBefore)===null||e===void 0?void 0:e.isText)&&i.nodeBefore.text;if(!m)return null;const d=i.pos-m.length,g=Array.from(m.matchAll(c)).pop();if(!g||g.input===void 0||g.index===void 0)return null;const u=g.input.slice(Math.max(0,g.index-1),g.index),h=new RegExp(`^[${a==null?void 0:a.join("")}\0]?$`).test(u);if(a!==null&&!h)return null;const j=d+g.index;let v=j+g[0].length;return n&&l.test(m.slice(v-1,v+1))&&(g[0]+=" ",v+=1),j<i.pos&&v>=i.pos?{range:{from:j,to:v},query:g[0].slice(t.length),text:g[0]}:null}const fv=new ae("suggestion");function hv({pluginKey:o=fv,editor:e,char:t="@",allowSpaces:n=!1,allowedPrefixes:a=[" "],startOfLine:s=!1,decorationTag:i="span",decorationClass:r="suggestion",command:l=()=>null,items:p=()=>[],render:c=()=>({}),allow:m=()=>!0,findSuggestionMatch:d=gv}){let g;const u=c==null?void 0:c(),h=new Q({key:o,view(){return{update:async(j,v)=>{var k,D,b,x,y,M,N;const C=(k=this.key)===null||k===void 0?void 0:k.getState(v),O=(D=this.key)===null||D===void 0?void 0:D.getState(j.state),z=C.active&&O.active&&C.range.from!==O.range.from,V=!C.active&&O.active,$=C.active&&!O.active,ne=!V&&!$&&C.query!==O.query,X=V||z&&ne,J=ne||z,U=$||z&≠if(!X&&!J&&!U)return;const q=U&&!X?C:O,Me=j.dom.querySelector(`[data-decoration-id="${q.decorationId}"]`);g={editor:e,range:q.range,query:q.query,text:q.text,items:[],command:be=>l({editor:e,range:q.range,props:be}),decorationNode:Me,clientRect:Me?()=>{var be;const{decorationId:mt}=(be=this.key)===null||be===void 0?void 0:be.getState(e.state),Ee=j.dom.querySelector(`[data-decoration-id="${mt}"]`);return(Ee==null?void 0:Ee.getBoundingClientRect())||null}:null},X&&((b=u==null?void 0:u.onBeforeStart)===null||b===void 0||b.call(u,g)),J&&((x=u==null?void 0:u.onBeforeUpdate)===null||x===void 0||x.call(u,g)),(J||X)&&(g.items=await p({editor:e,query:q.query})),U&&((y=u==null?void 0:u.onExit)===null||y===void 0||y.call(u,g)),J&&((M=u==null?void 0:u.onUpdate)===null||M===void 0||M.call(u,g)),X&&((N=u==null?void 0:u.onStart)===null||N===void 0||N.call(u,g))},destroy:()=>{var j;g&&((j=u==null?void 0:u.onExit)===null||j===void 0||j.call(u,g))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(j,v,k,D){const{isEditable:b}=e,{composing:x}=e.view,{selection:y}=j,{empty:M,from:N}=y,C={...v};if(C.composing=x,b&&(M||e.view.composing)){(N<v.range.from||N>v.range.to)&&!x&&!v.composing&&(C.active=!1);const O=d({char:t,allowSpaces:n,allowedPrefixes:a,startOfLine:s,$position:y.$from}),z=`id_${Math.floor(Math.random()*4294967295)}`;O&&m({editor:e,state:D,range:O.range,isActive:v.active})?(C.active=!0,C.decorationId=v.decorationId?v.decorationId:z,C.range=O.range,C.query=O.query,C.text=O.text):C.active=!1}else C.active=!1;return C.active||(C.decorationId=null,C.range={from:0,to:0},C.query=null,C.text=null),C}},props:{handleKeyDown(j,v){var k;const{active:D,range:b}=h.getState(j.state);return D&&((k=u==null?void 0:u.onKeyDown)===null||k===void 0?void 0:k.call(u,{view:j,event:v,range:b}))||!1},decorations(j){const{active:v,range:k,decorationId:D}=h.getState(j);return v?ee.create(j.doc,[De.inline(k.from,k.to,{nodeName:i,class:r,"data-decoration-id":D})]):null}}});return h}const bv=()=>/[#*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 tr=new Map;function jv(o){if(tr.has(o))return tr.get(o);var e=vv(o);return tr.set(o,e),e}var vv=function(){var o=null;try{o=document.createElement("canvas").getContext("2d")}catch{}if(!o)return function(){return!1};var e=25,t=20,n=Math.floor(e/2);return o.font=n+"px Arial, Sans-Serif",o.textBaseline="top",o.canvas.width=t*2,o.canvas.height=e,function(a){o.clearRect(0,0,t*2,e),o.fillStyle="#FF0000",o.fillText(a,0,22),o.fillStyle="#0000FF",o.fillText(a,t,22);for(var s=o.getImageData(0,0,t,e).data,i=s.length,r=0;r<i&&!s[r+3];r+=4);if(r>=i)return!1;var l=t+r/4%t,p=Math.floor(r/4/t),c=o.getImageData(l,p,1,1).data;return!(s[r]!==c[0]||s[r+2]!==c[2]||o.measureText(a).width>=t)}}();const or=[{emoji:"😀",name:"grinning",shortcodes:["grinning","grinning_face"],tags:["face","grin"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f643.png"},{emoji:"😉",name:"wink",shortcodes:["wink","winking_face"],tags:["face","wink"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92d.png"},{emoji:"🤫",name:"shushing_face",shortcodes:["shush","shushing_face"],tags:["quiet","shush"],group:"smileys & emotion",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:"smileys & emotion",emoticons:[":l",":L"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f914.png"},{emoji:"🤐",name:"zipper_mouth_face",shortcodes:["zipper_mouth","zipper_mouth_face"],tags:["face","mouth","zipper"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[":#"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f636.png"},{emoji:"😶🌫",name:"face_in_clouds",shortcodes:["in_clouds"],tags:["absentminded","face in the fog","head in clouds"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f925.png"},{emoji:"😌",name:"relieved",shortcodes:["relieved","relieved_face"],tags:["face","relieved"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[":/"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f615.png"},{emoji:"😟",name:"worried",shortcodes:["worried","worried_face"],tags:["face","worried"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97a.png"},{emoji:"😦",name:"frowning",shortcodes:["frowning","frowning_face"],tags:["face","frown","mouth","open"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64a.png"},{emoji:"💋",name:"kiss",shortcodes:["kiss"],tags:["kiss","lips"],group:"smileys & emotion",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48b.png"},{emoji:"💌",name:"love_letter",shortcodes:["love_letter"],tags:["heart","letter","love","mail"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:["<3"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2764-fe0f.png"},{emoji:"🧡",name:"orange_heart",shortcodes:["orange_heart"],tags:["orange"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f499.png"},{emoji:"💜",name:"purple_heart",shortcodes:["purple_heart"],tags:["purple"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5a4.png"},{emoji:"🤍",name:"white_heart",shortcodes:["white_heart"],tags:["heart","white"],group:"smileys & emotion",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90d.png"},{emoji:"💯",name:"100",shortcodes:["100"],tags:["100","full","hundred","score"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f573-fe0f.png"},{emoji:"💣",name:"bomb",shortcodes:["bomb"],tags:["comic"],group:"smileys & emotion",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a3.png"},{emoji:"💬",name:"speech_balloon",shortcodes:["speech_balloon"],tags:["balloon","bubble","comic","dialog","speech"],group:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"smileys & emotion",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:"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:"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:"+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:"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:"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","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","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","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","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","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","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:["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:"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:"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","santa claus"],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.","mrs. claus"],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:["claus, christmas"],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:"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:"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_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:"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:"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:"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:"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:"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:"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:"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:"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:"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:"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",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_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:"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:"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:["australia","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:"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:"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:"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:"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:"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:"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:"mushroom",shortcodes:["mushroom"],tags:["toadstool"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f344.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:"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:"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:"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:"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:"ferris_wheel",shortcodes:["ferris_wheel"],tags:["amusement park","ferris","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"],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:"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:"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:"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:"nazar_amulet",shortcodes:["nazar_amulet"],tags:["bead","charm","evil-eye","nazar","talisman"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ff.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:"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:"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:"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:"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:"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:"gun",shortcodes:["gun","pistol"],tags:["gun","handgun","pistol","revolver","tool","water","weapon"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52b.png"},{emoji:"🪃",name:"boomerang",shortcodes:["boomerang"],tags:["australia","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:"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:"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:"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:"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:"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:"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:"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","red"],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","red"],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:"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:"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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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","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","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","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"}],kv=[{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"}];[...or,...kv];function yv(o,e){var t;return(t=e.find(n=>n.emoji===o.replace("︎","").replace("️","")))===null||t===void 0?void 0:t.shortcodes[0]}function kn(o,e){return e.find(t=>o===t.name||t.shortcodes.includes(o))}const _v=new ae("emojiSuggestion"),Dv=/:([a-zA-Z0-9_+-]+):$/,wv=/:([a-zA-Z0-9_+-]+):/g,Iv=he.create({name:"emoji",inline:!0,group:"inline",selectable:!1,addOptions(){return{HTMLAttributes:{},emojis:or,enableEmoticons:!1,forceFallbackImages:!1,suggestion:{char:":",pluginKey:_v,command:({editor:o,range:e,props:t})=>{var n;const a=o.view.state.selection.$to.nodeAfter;!((n=a==null?void 0:a.text)===null||n===void 0)&&n.startsWith(" ")&&(e.to+=1),o.chain().focus().insertContentAt(e,[{type:this.name,attrs:t},{type:"text",text:" "}]).run()},allow:({state:o,range:e})=>{const t=o.doc.resolve(e.from),n=o.schema.nodes[this.name];return!!t.parent.type.contentMatch.matchType(n)}}}},addStorage(){const{emojis:o}=this.options,e=function(t,n=JSON.stringify){const a={};return t.filter(s=>{const i=n(s);return!Object.prototype.hasOwnProperty.call(a,i)&&(a[i]=!0)})}(o.map(t=>t.version)).filter(t=>typeof t=="number").reduce((t,n)=>{const a=o.find(s=>s.version===n&&s.emoji);return{...t,[n]:!!a&&jv(a.emoji)}},{});return{emojis:this.options.emojis,isSupported:t=>!!t.version&&e[t.version]}},addAttributes:()=>({name:{default:null,parseHTML:o=>o.dataset.name,renderHTML:o=>({"data-name":o.name})}}),parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:o,node:e}){const t=kn(e.attrs.name,this.options.emojis),n=oe(o,this.options.HTMLAttributes,{"data-type":this.name});if(!t)return["span",n,`:${e.attrs.name}:`];const a=this.storage.isSupported(t),s=!!(t!=null&&t.emoji),i=!!(t!=null&&t.fallbackImage);return["span",n,this.options.forceFallbackImages&&!s||this.options.forceFallbackImages&&i||this.options.forceFallbackImages&&!a&&i||(!a||!s)&&i?["img",{src:t.fallbackImage,draggable:"false",loading:"lazy",align:"absmiddle"}]:t.emoji||`:${t.shortcodes[0]}:`]},renderText({node:o}){const e=kn(o.attrs.name,this.options.emojis);return(e==null?void 0:e.emoji)||`:${o.attrs.name}:`},addCommands(){return{setEmoji:o=>({commands:e})=>{const t=kn(o,this.options.emojis);return!!t&&e.insertContent({type:this.name,attrs:{name:t.name}})}}},addInputRules(){const o=[];if(o.push(new tn({find:Dv,handler:({range:e,match:t,commands:n})=>{const a=t[1];kn(a,this.options.emojis)&&n.insertContentAt(e,{type:this.name,attrs:{name:a}})}})),this.options.enableEmoticons){const e=this.options.emojis.map(n=>n.emoticons).flat().filter(n=>n),t=new RegExp(`(?:^|\\s)(${e.map(n=>Wp(n)).join("|")}) $`);o.push(gi({find:t,type:this.type,getAttributes:n=>{const a=this.options.emojis.find(s=>{var i;return(i=s.emoticons)===null||i===void 0?void 0:i.includes(n[1])});if(a)return{name:a.name}}}))}return o},addPasteRules(){return[new Sp({find:wv,handler:({range:o,match:e,commands:t})=>{const n=e[1];kn(n,this.options.emojis)&&t.insertContentAt(o,{type:this.name,attrs:{name:n}},{updateSelection:!1})}})]},addProseMirrorPlugins(){return[hv({editor:this.editor,...this.options.suggestion}),new Q({key:new ae("emoji"),props:{handleDoubleClickOn:(o,e,t)=>{if(t.type!==this.type)return!1;const n=e,a=n+t.nodeSize;return this.editor.commands.setTextSelection({from:n,to:a}),!0}},appendTransaction:(o,e,t)=>{if(!(o.some(s=>s.docChanged)&&!e.doc.eq(t.doc)))return;const{tr:n}=t,a=Rp(e.doc,o);return zp(a).forEach(({newRange:s})=>{t.doc.resolve(s.from).parent.type.spec.code||Pp(t.doc,s,i=>i.type.isText).forEach(({node:i,pos:r})=>{i.text&&[...i.text.matchAll(bv())].forEach(l=>{if(l.index===void 0)return;const p=l[0],c=yv(p,this.options.emojis);if(!c)return;const m=n.mapping.map(r+l.index);if(t.doc.resolve(m).parent.type.spec.code)return;const d=m+p.length,g=this.type.create({name:c});n.replaceRangeWith(m,d,g)})})}),n.steps.length?n:void 0}})]}}),Cv={class:"dropdown-menu"},Ev=["onClick"],xv=["src"],Fv=f.defineComponent({__name:"EmojiList",props:{items:{},command:{},editor:{}},setup(o){const e=o,t=f.ref(0);f.watch(()=>e.items,()=>{t.value=0});const n=a=>{const s=e.items[a];s&&e.command({name:s.name})};return(a,s)=>(f.openBlock(),f.createElementBlock("div",Cv,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(a.items,(i,r)=>(f.openBlock(),f.createElementBlock("button",{class:f.normalizeClass({"is-selected":r===t.value}),key:r,onClick:l=>n(r)},[i.fallbackImage?(f.openBlock(),f.createElementBlock("img",{key:0,src:i.fallbackImage,align:"absmiddle",alt:""},null,8,xv)):(f.openBlock(),f.createElementBlock(f.Fragment,{key:1},[f.createTextVNode(f.toDisplayString(i.emoji),1)],64)),f.createTextVNode(" :"+f.toDisplayString(i.name)+": ",1)],10,Ev))),128))]))}}),Sv={items:({editor:o,query:e})=>o.storage.emoji.emojis.filter(({shortcodes:t,tags:n})=>t.find(a=>a.startsWith(e.toLowerCase()))||n.find(a=>a.startsWith(e.toLowerCase()))).slice(0,7),render:()=>{let o,e;return{onStart:t=>{o=new Lb(Fv,{props:t,editor:t.editor}),e=Mt("body",{getReferenceClientRect:t.clientRect,appendTo:()=>document.body,content:o.element,arrow:!1,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",theme:"light-border"})},onUpdate(t){o.updateProps(t),e[0].setProps({getReferenceClientRect:t.clientRect})},onKeyDown(t){var n;return t.event.key==="Escape"?(e[0].hide(),o.destroy(),!0):(n=o.ref)==null?void 0:n.onKeyDown(t)},onExit(){e[0].destroy(),o.destroy()}}}},im=o=>(f.pushScopeId("data-v-b0cd8f89"),o=o(),f.popScopeId(),o),Mv={class:"sus-comment relative flex flex-row w-full"},Av={class:"sus-comment-avatar"},Tv=["src"],Ov={class:"sus-comment__main"},Nv={class:"sus-comment__info my-1"},Bv={class:"sus-comment__info-input"},Rv={class:"sus-comment__info-input"},Pv=["data-tippy-content"],Lv={class:"relative"},zv={class:"sus-comment__footer flex justify-between"},Hv={class:"flex flex-row items-center"},Vv={key:0,class:"p-1"},$v=[f.createStaticVNode('<g fill="none" data-v-b0cd8f89><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M9 16c.85.63 1.885 1 3 1s2.15-.37 3-1" data-v-b0cd8f89></path><path fill="currentColor" d="M16 10.5c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5s.448-1.5 1-1.5s1 .672 1 1.5" data-v-b0cd8f89></path><ellipse cx="9" cy="10.5" fill="currentColor" rx="1" ry="1.5" data-v-b0cd8f89></ellipse><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M7 3.338A9.95 9.95 0 0 1 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12c0-1.821.487-3.53 1.338-5" data-v-b0cd8f89></path></g>',1)],qv={"data-tippy-content":"收到回复后通知",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Wv=[im(()=>f.createElementVNode("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-width":"1.5",d:"M12 6v4m-4.5 9c.655 1.748 2.422 3 4.5 3q.367 0 .72-.05M16.5 19a4.5 4.5 0 0 1-1.302 1.84M9.107 2.674A6.5 6.5 0 0 1 12 2c3.727 0 6.75 3.136 6.75 7.005v.705a4.4 4.4 0 0 0 .692 2.375l1.108 1.724c1.011 1.575.239 3.716-1.52 4.214a25.8 25.8 0 0 1-14.06 0c-1.759-.498-2.531-2.639-1.52-4.213l1.108-1.725A4.4 4.4 0 0 0 5.25 9.71v-.705c0-1.074.233-2.092.65-3.002"},null,-1))],Kv={"data-tippy-content":"收到回复后不通知",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Uv=[im(()=>f.createElementVNode("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-width":"1.5"},[f.createElementVNode("path",{"stroke-linejoin":"round",d:"M10 9h4l-4 4h4"}),f.createElementVNode("path",{d:"M7.5 19c.655 1.748 2.422 3 4.5 3q.367 0 .72-.05M16.5 19a4.5 4.5 0 0 1-1.302 1.84M9.107 2.674A6.5 6.5 0 0 1 12 2c3.727 0 6.75 3.136 6.75 7.005v.705a4.4 4.4 0 0 0 .692 2.375l1.108 1.724c1.011 1.575.239 3.716-1.52 4.214a25.8 25.8 0 0 1-14.06 0c-1.759-.498-2.531-2.639-1.52-4.213l1.108-1.725A4.4 4.4 0 0 0 5.25 9.71v-.705c0-1.074.233-2.092.65-3.002"})],-1))],rm=Fo(f.defineComponent({__name:"index",props:{reply:{},emojiList:{},mailTips:{default:"输入QQ邮箱自动获取头像"},showNotify:{type:Boolean,default:!0},placeholder:{default:`支持常见的markdown语法,如图片、代码块等
|
|
118
|
+
输入”:“加表情缩写,快速查找表情
|
|
119
|
+
链接自动识别,无需额外操作`}},emits:["on-save","on-cancel"],setup(o,{emit:e}){class t{constructor(){Ke(this,"articleId","");Ke(this,"userName","");Ke(this,"userEmail","");Ke(this,"userWebsite","");Ke(this,"userAvatar","");Ke(this,"content","");Ke(this,"contentText","");Ke(this,"replyName","");Ke(this,"parentId","");Ke(this,"notify",0)}}const n=o,a=e,s=n.emojiList,i=n.reply.userName,r=f.ref("在此处留下你的足迹吧!(支持markdown语法)"),l=f.reactive(new t),p=f.ref(""),c=f.ref(""),m=f.ref(!1),d=Pb({extensions:[zj,Vj,$j.configure({placeholder:n.placeholder}),uv.configure({openOnClick:!1,defaultProtocol:"https",linkOnPaste:!1}),Iv.configure({emojis:[...or,...s],enableEmoticons:!0,HTMLAttributes:{class:"emoji"},suggestion:Sv})]});async function g(){if(!(!d||!d.value)){if(p.value=d.value.getHTML(),l.userWebsite&&(l.userWebsite.concat("http://")||l.userWebsite.concat("https://")||(l.userWebsite="https://"+l.userWebsite)),localStorage.setItem("user",JSON.stringify(l)),localStorage.setItem("comment-content",p.value),n.reply.id!="0"){const k=n.reply.parentId;l.parentId=k==="0"?n.reply.id:k,l.replyName=n.reply.userName,r.value="@"+i+":"}l.content=p.value,l.contentText=d.value.getText(),a("on-save",l)}}function u(){localStorage.setItem("comment-content",""),a("on-cancel")}function h(){var k;l.userEmail.trim().endsWith("@qq.com")&&!l.userAvatar&&(c.value="https://thirdqq.qlogo.cn/g?b=sdk&nk="+((k=l.userEmail)==null?void 0:k.replace("@qq.com","").trim())+"&s=140")}function j(){l.notify==1?l.notify=0:l.notify=1}function v(k){!d||!d.value||(d.value.chain().focus().setEmoji(k.shortcodes[0]).run(),m.value=!1)}return f.onMounted(()=>{if(!d||!d.value)return;const k=localStorage.getItem("user"),D=localStorage.getItem("comment-content");if(D&&d.value.commands.setContent(D),k){const b=JSON.parse(k);l.userName=b.userName,l.userEmail=b.userEmail,l.userWebsite=b.userWebsite,h()}l.notify=1,Mt("[data-tippy-content]")}),(k,D)=>(f.openBlock(),f.createElementBlock("div",Mv,[f.createElementVNode("div",Av,[f.withDirectives(f.createElementVNode("img",{alt:"头像",src:c.value,class:"sus-avatar",onerror:"this.onerror=null,this.src='/error.webp'"},null,8,Tv),[[f.vShow,!!c.value]]),f.withDirectives(f.createElementVNode("span",{class:"sus-avatar-text flex w-full h-full items-center justify-center"},f.toDisplayString(l.userName.charAt(0)),513),[[f.vShow,!c.value]])]),f.createElementVNode("div",Ov,[f.createElementVNode("div",Nv,[f.createElementVNode("div",Bv,[f.withDirectives(f.createElementVNode("input",{class:"sus-input sus-username",placeholder:"昵称(必填)","onUpdate:modelValue":D[0]||(D[0]=b=>l.userName=b),maxlength:"23"},null,512),[[f.vModelText,l.userName]])]),f.createElementVNode("div",Rv,[f.withDirectives(f.createElementVNode("input",{class:"sus-input sus-web",title:"点击昵称时可跳转",placeholder:"网址(https://)","onUpdate:modelValue":D[1]||(D[1]=b=>l.userWebsite=b),maxlength:"35"},null,512),[[f.vModelText,l.userWebsite]])]),f.createElementVNode("div",{class:"sus-comment__info-input","data-tippy-content":k.mailTips},[f.withDirectives(f.createElementVNode("input",{onBlur:h,class:"sus-input sus-email",placeholder:"邮箱(不会公开,仅用于通知回复)","onUpdate:modelValue":D[2]||(D[2]=b=>l.userEmail=b),maxlength:"35"},null,544),[[f.vModelText,l.userEmail]])],8,Pv)]),f.createElementVNode("div",Lv,[f.withDirectives(f.createVNode($b,{class:"absolute bottom-2 left-1",emojiList:f.unref(s),onOnselect:v},null,8,["emojiList"]),[[f.vShow,m.value]]),f.createVNode(f.unref(Rb),{class:"sus-comment-input",editor:f.unref(d)},null,8,["editor"])]),f.createElementVNode("div",zv,[f.createElementVNode("div",Hv,[f.unref(s).length>=0?(f.openBlock(),f.createElementBlock("div",Vv,[(f.openBlock(),f.createElementBlock("svg",{onClick:D[3]||(D[3]=b=>m.value=!m.value),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},$v))])):f.createCommentVNode("",!0),k.showNotify?(f.openBlock(),f.createElementBlock("div",{key:1,onClick:j,class:"opacity-70 p-1"},[f.withDirectives((f.openBlock(),f.createElementBlock("svg",qv,Wv,512)),[[f.vShow,l.notify===1]]),f.withDirectives((f.openBlock(),f.createElementBlock("svg",Kv,Uv,512)),[[f.vShow,l.notify!==1]])])):f.createCommentVNode("",!0)]),f.createElementVNode("div",{class:"sus-comment__footer-send flex justify-end my-2"},[f.createElementVNode("button",{class:"sus-button cancel mx-2",onClick:u},"取消"),f.createElementVNode("button",{class:"sus-button ok",onClick:g},"发送")])])])]))}}),[["__scopeId","data-v-b0cd8f89"]]);function Jv(o){const e=new Date(o),t=e.getFullYear(),n=e.getMonth()+1,a=e.getDate(),s=new Date,i=s.getFullYear(),r=s.getMonth()+1,l=s.getDate();if(i===t&&r==n){const p=l-a;if(p===0)return"今天";if(p<7)return p+"天前"}return i===t?`${n}月${a}日`:`${t}年${n}月${a}日`}const Gv=o=>(f.pushScopeId("data-v-6e8904d7"),o=o(),f.popScopeId(),o),Yv={class:"sus-item__container relative flex flex-row"},Xv={class:"sus-comment-aside"},Qv={class:"sus-comment-avatar"},Zv=["src"],e1={class:"sus-item-floor mt-2"},t1={class:"sus-item__main w-full"},o1={class:"sus-item__user leading-loose"},n1=["rel","href"],a1={key:0,class:"sus-item-tag mx-1",title:"博主"},s1={key:1,class:"sus-item__content-name mx-1.5"},i1={class:"sus-item__user-date ml-3"},r1={class:"sus-item__content"},l1=["innerHTML"],p1={key:0,class:"sus-item__info flex justify-end mx-1 -mt-1"},c1={class:"sus-item__info-ip flex items-center"},m1=Gv(()=>f.createElementVNode("svg",{class:"sus-svg",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 28 28"},[f.createElementVNode("path",{fill:"currentColor",d:"M14 2.25A9.75 9.75 0 0 1 23.75 12c0 4.12-2.895 8.61-8.61 13.518a1.75 1.75 0 0 1-2.283-.002l-.378-.328C7.017 20.408 4.25 16.028 4.25 12A9.75 9.75 0 0 1 14 2.25m0 1.5A8.25 8.25 0 0 0 5.75 12c0 3.502 2.548 7.537 7.714 12.057l.373.323a.25.25 0 0 0 .326 0c5.416-4.652 8.087-8.795 8.087-12.38A8.25 8.25 0 0 0 14 3.75m0 4.5a3.75 3.75 0 1 1 0 7.5a3.75 3.75 0 0 1 0-7.5m0 1.5a2.25 2.25 0 1 0 0 4.5a2.25 2.25 0 0 0 0-4.5"})],-1)),ts=Fo(f.defineComponent({__name:"item",props:{comment:{},lineHeight:{default:23},showIp:{type:Boolean,default:!1},num:{default:1}},emits:["on-reply"],setup(o,{emit:e}){const t=o,n=f.ref(),a=f.ref(),s=f.ref(!1),i=e;function r(){n.value.style.display="block",s.value=!1}function l(){const d=n.value.clientHeight,g=t.lineHeight*5;d>=g&&(s.value=!0)}function p(){i("on-reply",t.comment)}function c(){t.comment.userAvatar||(t.comment.userAvatar="/error.webp")}function m(){var h;const d=new Date((h=t.comment)==null?void 0:h.createdDate),g=new Date,u=new Date(g.getFullYear()-1,g.getMonth(),g.getDate());return d>u?"ugc noopener nofollow":"ugc noopener noreferrer nofollow"}return f.onMounted(()=>{c(),l()}),(d,g)=>(f.openBlock(),f.createElementBlock("div",Yv,[f.createElementVNode("span",{onClick:p,class:"sus-item__info-reply absolute cursor-pointer"}," 回复 "),f.createElementVNode("div",Xv,[f.createElementVNode("div",Qv,[f.withDirectives(f.createElementVNode("img",{alt:"",class:"sus-avatar",src:d.comment.userAvatar,onerror:"this.onerror=null,this.src='/error.webp'"},null,8,Zv),[[f.vShow,!!d.comment.userAvatar]]),f.withDirectives(f.createElementVNode("span",{class:"sus-avatar-text flex w-full h-full items-center justify-center"},f.toDisplayString(d.comment.userName.charAt(0)),513),[[f.vShow,!d.comment.userAvatar]])]),f.createElementVNode("p",e1,f.toDisplayString(d.num),1)]),f.createElementVNode("div",t1,[f.createElementVNode("div",o1,[f.createElementVNode("a",{target:"_blank",rel:m(),href:d.comment.userWebsite,class:f.normalizeClass([d.comment.tagName,"sus-item__user-name font-semibold ml-1 cursor-pointer"])},f.toDisplayString(d.comment.userName),11,n1),d.comment.tagName==="owner"?(f.openBlock(),f.createElementBlock("span",a1," 博主 ")):f.createCommentVNode("",!0),d.comment.replyName?(f.openBlock(),f.createElementBlock("span",s1,"@"+f.toDisplayString(d.comment.replyName),1)):f.createCommentVNode("",!0),f.createElementVNode("span",i1,f.toDisplayString(f.unref(Jv)(d.comment.createdDate)),1)]),f.createElementVNode("div",r1,[f.createElementVNode("span",{ref_key:"contentDom",ref:n,class:"sus-item__content-text",innerHTML:d.comment.content},null,8,l1),s.value?(f.openBlock(),f.createElementBlock("a",{key:0,ref_key:"showMoreDom",ref:a,class:"sus-show-detail my-1.5 cursor-pointer",onClick:r},"显示更多>",512)):f.createCommentVNode("",!0)]),d.showIp&&d.comment.area?(f.openBlock(),f.createElementBlock("div",p1,[f.createElementVNode("span",c1,[m1,f.createTextVNode(" "+f.toDisplayString(d.comment.area),1)])])):f.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-6e8904d7"]]),d1={class:"sus-comment__item"},u1={class:"sus-comment__item-child"},g1={key:2},f1={key:0,class:"sus-comment__item-footer flex justify-center w-full cursor-pointer"},lm=Fo(f.defineComponent({__name:"index",props:{comment:{},lineHeight:{}},emits:["on-reply"],setup(o,{emit:e}){const t=f.ref(!1),n=e;function a(s){n("on-reply",s)}return(s,i)=>{var r,l,p;return f.openBlock(),f.createElementBlock("div",d1,[f.createVNode(ts,{comment:s.comment,onOnReply:i[0]||(i[0]=c=>a(s.comment)),lineHeight:s.lineHeight},null,8,["comment","lineHeight"]),f.createElementVNode("div",u1,[((r=s.comment.child)==null?void 0:r.length)>0?(f.openBlock(),f.createBlock(ts,{key:0,onOnReply:i[1]||(i[1]=c=>a(s.comment.child[0])),comment:s.comment.child[0],num:2,lineHeight:s.lineHeight,class:"sus-comment__item-child__item"},null,8,["comment","lineHeight"])):f.createCommentVNode("",!0),((l=s.comment.child)==null?void 0:l.length)>1?(f.openBlock(),f.createBlock(ts,{key:1,onOnReply:i[2]||(i[2]=c=>a(s.comment.child[1])),comment:s.comment.child[1],num:3,lineHeight:s.lineHeight,class:"sus-comment__item-child__item"},null,8,["comment","lineHeight"])):f.createCommentVNode("",!0),((p=s.comment.child)==null?void 0:p.length)>2?(f.openBlock(),f.createElementBlock("div",g1,[t.value?f.createCommentVNode("",!0):(f.openBlock(),f.createElementBlock("div",f1,[f.createElementVNode("p",{class:"sus-load-more",onClick:i[3]||(i[3]=c=>t.value=!0)}," 查看更多回复 > ")])),t.value?(f.openBlock(!0),f.createElementBlock(f.Fragment,{key:1},f.renderList(s.comment.child.slice(2),(c,m)=>(f.openBlock(),f.createBlock(ts,{onOnReply:d=>a(c),key:m,comment:c,num:4+m,lineHeight:s.lineHeight,class:"sus-comment__item-child__item"},null,8,["onOnReply","comment","num","lineHeight"]))),128)):f.createCommentVNode("",!0)])):f.createCommentVNode("",!0)])])}}}),[["__scopeId","data-v-1a1e4b08"]]),h1={class:"sus-top-item flex items-start p-1.5 overflow-hidden"},b1={class:"sus-top-item__info flex flex-col mr-1"},j1={class:"sus-top-item__user whitespace-nowrap"},v1={key:0,class:"sus-top-item__reply whitespace-nowrap"},k1=["innerHTML"],pm=Fo(f.defineComponent({__name:"simple",props:{comment:{}},setup(o){return(e,t)=>(f.openBlock(),f.createElementBlock("div",h1,[f.createElementVNode("div",b1,[f.createElementVNode("span",j1,f.toDisplayString(e.comment.userName)+": ",1),e.comment.replyName?(f.openBlock(),f.createElementBlock("span",v1,f.toDisplayString("@"+e.comment.replyName),1)):f.createCommentVNode("",!0)]),f.createElementVNode("span",{class:"sus-top-item__content w-full",innerHTML:e.comment.content},null,8,k1)]))}}),[["__scopeId","data-v-e2816c65"]]),y1={class:"sus-top-item__user flex items-center"},_1={key:0,class:"sus-top-item__user-avatar ml-1 mr-2"},D1=["src"],w1={class:"sus-top-item__user-owner"},I1={class:"sus-top-item__user-reply ml-3 opacity-70"},C1=["innerHTML"],cm=Fo(f.defineComponent({__name:"index",props:{comment:{}},emits:["go-local"],setup(o,{emit:e}){const t=e;function n(){t("go-local")}return(a,s)=>(f.openBlock(),f.createElementBlock("div",{class:"sus-top-item p-1.5 cursor-pointer",onClick:n},[f.createElementVNode("div",y1,[a.comment.userAvatar?(f.openBlock(),f.createElementBlock("div",_1,[f.createElementVNode("img",{alt:"",class:"sus-avatar",loading:"lazy",decoding:"async",src:a.comment.userAvatar,onerror:"this.onerror=null,this.src='/error.webp'"},null,8,D1)])):f.createCommentVNode("",!0),f.createElementVNode("div",w1,f.toDisplayString(a.comment.userName),1),f.createElementVNode("div",I1,f.toDisplayString(a.comment.replyName?"@"+a.comment.replyName:""),1)]),f.createElementVNode("div",{class:"sus-top-item__content p-1",innerHTML:a.comment.content},null,8,C1)]))}}),[["__scopeId","data-v-fee77634"]]),E1=[rm,lm,cm,pm],x1={install(o){E1.forEach(e=>{o.component(e.name,e)})}};ce.SuSComment=rm,ce.SuSList=lm,ce.SuSSimpleTop=pm,ce.SuSTop=cm,ce.default=x1,Object.defineProperties(ce,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|