Current File : /home/digitaw/www/wp-content/plugins/embed-lottie-player/build/index.js
/*! For license information please see index.js.LICENSE.txt */
(()=>{var e={42:e=>{var t=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},i=-1;t.Diff=function(e,t){return[e,t]},t.prototype.diff_main=function(e,i,n,o){void 0===o&&(o=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var a=o;if(null==e||null==i)throw new Error("Null input. (diff_main)");if(e==i)return e?[new t.Diff(0,e)]:[];void 0===n&&(n=!0);var r=n,s=this.diff_commonPrefix(e,i),l=e.substring(0,s);e=e.substring(s),i=i.substring(s),s=this.diff_commonSuffix(e,i);var c=e.substring(e.length-s);e=e.substring(0,e.length-s),i=i.substring(0,i.length-s);var d=this.diff_compute_(e,i,r,a);return l&&d.unshift(new t.Diff(0,l)),c&&d.push(new t.Diff(0,c)),this.diff_cleanupMerge(d),d},t.prototype.diff_compute_=function(e,n,o,a){var r;if(!e)return[new t.Diff(1,n)];if(!n)return[new t.Diff(i,e)];var s=e.length>n.length?e:n,l=e.length>n.length?n:e,c=s.indexOf(l);if(-1!=c)return r=[new t.Diff(1,s.substring(0,c)),new t.Diff(0,l),new t.Diff(1,s.substring(c+l.length))],e.length>n.length&&(r[0][0]=r[2][0]=i),r;if(1==l.length)return[new t.Diff(i,e),new t.Diff(1,n)];var d=this.diff_halfMatch_(e,n);if(d){var h=d[0],f=d[1],u=d[2],p=d[3],g=d[4],m=this.diff_main(h,u,o,a),y=this.diff_main(f,p,o,a);return m.concat([new t.Diff(0,g)],y)}return o&&e.length>100&&n.length>100?this.diff_lineMode_(e,n,a):this.diff_bisect_(e,n,a)},t.prototype.diff_lineMode_=function(e,n,o){var a=this.diff_linesToChars_(e,n);e=a.chars1,n=a.chars2;var r=a.lineArray,s=this.diff_main(e,n,!1,o);this.diff_charsToLines_(s,r),this.diff_cleanupSemantic(s),s.push(new t.Diff(0,""));for(var l=0,c=0,d=0,h="",f="";l<s.length;){switch(s[l][0]){case 1:d++,f+=s[l][1];break;case i:c++,h+=s[l][1];break;case 0:if(c>=1&&d>=1){s.splice(l-c-d,c+d),l=l-c-d;for(var u=this.diff_main(h,f,!1,o),p=u.length-1;p>=0;p--)s.splice(l,0,u[p]);l+=u.length}d=0,c=0,h="",f=""}l++}return s.pop(),s},t.prototype.diff_bisect_=function(e,n,o){for(var a=e.length,r=n.length,s=Math.ceil((a+r)/2),l=s,c=2*s,d=new Array(c),h=new Array(c),f=0;f<c;f++)d[f]=-1,h[f]=-1;d[l+1]=0,h[l+1]=0;for(var u=a-r,p=u%2!=0,g=0,m=0,y=0,v=0,b=0;b<s&&!((new Date).getTime()>o);b++){for(var w=-b+g;w<=b-m;w+=2){for(var C=l+w,x=(M=w==-b||w!=b&&d[C-1]<d[C+1]?d[C+1]:d[C-1]+1)-w;M<a&&x<r&&e.charAt(M)==n.charAt(x);)M++,x++;if(d[C]=M,M>a)m+=2;else if(x>r)g+=2;else if(p&&($=l+u-w)>=0&&$<c&&-1!=h[$]&&M>=(k=a-h[$]))return this.diff_bisectSplit_(e,n,M,x,o)}for(var S=-b+y;S<=b-v;S+=2){for(var k,$=l+S,_=(k=S==-b||S!=b&&h[$-1]<h[$+1]?h[$+1]:h[$-1]+1)-S;k<a&&_<r&&e.charAt(a-k-1)==n.charAt(r-_-1);)k++,_++;if(h[$]=k,k>a)v+=2;else if(_>r)y+=2;else if(!p){var M;if((C=l+u-S)>=0&&C<c&&-1!=d[C])if(x=l+(M=d[C])-C,M>=(k=a-k))return this.diff_bisectSplit_(e,n,M,x,o)}}}return[new t.Diff(i,e),new t.Diff(1,n)]},t.prototype.diff_bisectSplit_=function(e,t,i,n,o){var a=e.substring(0,i),r=t.substring(0,n),s=e.substring(i),l=t.substring(n),c=this.diff_main(a,r,!1,o),d=this.diff_main(s,l,!1,o);return c.concat(d)},t.prototype.diff_linesToChars_=function(e,t){var i=[],n={};function o(e){for(var t="",o=0,r=-1,s=i.length;r<e.length-1;){-1==(r=e.indexOf("\n",o))&&(r=e.length-1);var l=e.substring(o,r+1);(n.hasOwnProperty?n.hasOwnProperty(l):void 0!==n[l])?t+=String.fromCharCode(n[l]):(s==a&&(l=e.substring(o),r=e.length),t+=String.fromCharCode(s),n[l]=s,i[s++]=l),o=r+1}return t}i[0]="";var a=4e4,r=o(e);return a=65535,{chars1:r,chars2:o(t),lineArray:i}},t.prototype.diff_charsToLines_=function(e,t){for(var i=0;i<e.length;i++){for(var n=e[i][1],o=[],a=0;a<n.length;a++)o[a]=t[n.charCodeAt(a)];e[i][1]=o.join("")}},t.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var i=0,n=Math.min(e.length,t.length),o=n,a=0;i<o;)e.substring(a,o)==t.substring(a,o)?a=i=o:n=o,o=Math.floor((n-i)/2+i);return o},t.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var i=0,n=Math.min(e.length,t.length),o=n,a=0;i<o;)e.substring(e.length-o,e.length-a)==t.substring(t.length-o,t.length-a)?a=i=o:n=o,o=Math.floor((n-i)/2+i);return o},t.prototype.diff_commonOverlap_=function(e,t){var i=e.length,n=t.length;if(0==i||0==n)return 0;i>n?e=e.substring(i-n):i<n&&(t=t.substring(0,i));var o=Math.min(i,n);if(e==t)return o;for(var a=0,r=1;;){var s=e.substring(o-r),l=t.indexOf(s);if(-1==l)return a;r+=l,0!=l&&e.substring(o-r)!=t.substring(0,r)||(a=r,r++)}},t.prototype.diff_halfMatch_=function(e,t){if(this.Diff_Timeout<=0)return null;var i=e.length>t.length?e:t,n=e.length>t.length?t:e;if(i.length<4||2*n.length<i.length)return null;var o=this;function a(e,t,i){for(var n,a,r,s,l=e.substring(i,i+Math.floor(e.length/4)),c=-1,d="";-1!=(c=t.indexOf(l,c+1));){var h=o.diff_commonPrefix(e.substring(i),t.substring(c)),f=o.diff_commonSuffix(e.substring(0,i),t.substring(0,c));d.length<f+h&&(d=t.substring(c-f,c)+t.substring(c,c+h),n=e.substring(0,i-f),a=e.substring(i+h),r=t.substring(0,c-f),s=t.substring(c+h))}return 2*d.length>=e.length?[n,a,r,s,d]:null}var r,s,l,c,d,h=a(i,n,Math.ceil(i.length/4)),f=a(i,n,Math.ceil(i.length/2));return h||f?(r=f?h&&h[4].length>f[4].length?h:f:h,e.length>t.length?(s=r[0],l=r[1],c=r[2],d=r[3]):(c=r[0],d=r[1],s=r[2],l=r[3]),[s,l,c,d,r[4]]):null},t.prototype.diff_cleanupSemantic=function(e){for(var n=!1,o=[],a=0,r=null,s=0,l=0,c=0,d=0,h=0;s<e.length;)0==e[s][0]?(o[a++]=s,l=d,c=h,d=0,h=0,r=e[s][1]):(1==e[s][0]?d+=e[s][1].length:h+=e[s][1].length,r&&r.length<=Math.max(l,c)&&r.length<=Math.max(d,h)&&(e.splice(o[a-1],0,new t.Diff(i,r)),e[o[a-1]+1][0]=1,a--,s=--a>0?o[a-1]:-1,l=0,c=0,d=0,h=0,r=null,n=!0)),s++;for(n&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),s=1;s<e.length;){if(e[s-1][0]==i&&1==e[s][0]){var f=e[s-1][1],u=e[s][1],p=this.diff_commonOverlap_(f,u),g=this.diff_commonOverlap_(u,f);p>=g?(p>=f.length/2||p>=u.length/2)&&(e.splice(s,0,new t.Diff(0,u.substring(0,p))),e[s-1][1]=f.substring(0,f.length-p),e[s+1][1]=u.substring(p),s++):(g>=f.length/2||g>=u.length/2)&&(e.splice(s,0,new t.Diff(0,f.substring(0,g))),e[s-1][0]=1,e[s-1][1]=u.substring(0,u.length-g),e[s+1][0]=i,e[s+1][1]=f.substring(g),s++),s++}s++}},t.prototype.diff_cleanupSemanticLossless=function(e){function i(e,i){if(!e||!i)return 6;var n=e.charAt(e.length-1),o=i.charAt(0),a=n.match(t.nonAlphaNumericRegex_),r=o.match(t.nonAlphaNumericRegex_),s=a&&n.match(t.whitespaceRegex_),l=r&&o.match(t.whitespaceRegex_),c=s&&n.match(t.linebreakRegex_),d=l&&o.match(t.linebreakRegex_),h=c&&e.match(t.blanklineEndRegex_),f=d&&i.match(t.blanklineStartRegex_);return h||f?5:c||d?4:a&&!s&&l?3:s||l?2:a||r?1:0}for(var n=1;n<e.length-1;){if(0==e[n-1][0]&&0==e[n+1][0]){var o=e[n-1][1],a=e[n][1],r=e[n+1][1],s=this.diff_commonSuffix(o,a);if(s){var l=a.substring(a.length-s);o=o.substring(0,o.length-s),a=l+a.substring(0,a.length-s),r=l+r}for(var c=o,d=a,h=r,f=i(o,a)+i(a,r);a.charAt(0)===r.charAt(0);){o+=a.charAt(0),a=a.substring(1)+r.charAt(0),r=r.substring(1);var u=i(o,a)+i(a,r);u>=f&&(f=u,c=o,d=a,h=r)}e[n-1][1]!=c&&(c?e[n-1][1]=c:(e.splice(n-1,1),n--),e[n][1]=d,h?e[n+1][1]=h:(e.splice(n+1,1),n--))}n++}},t.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,t.whitespaceRegex_=/\s/,t.linebreakRegex_=/[\r\n]/,t.blanklineEndRegex_=/\n\r?\n$/,t.blanklineStartRegex_=/^\r?\n\r?\n/,t.prototype.diff_cleanupEfficiency=function(e){for(var n=!1,o=[],a=0,r=null,s=0,l=!1,c=!1,d=!1,h=!1;s<e.length;)0==e[s][0]?(e[s][1].length<this.Diff_EditCost&&(d||h)?(o[a++]=s,l=d,c=h,r=e[s][1]):(a=0,r=null),d=h=!1):(e[s][0]==i?h=!0:d=!0,r&&(l&&c&&d&&h||r.length<this.Diff_EditCost/2&&l+c+d+h==3)&&(e.splice(o[a-1],0,new t.Diff(i,r)),e[o[a-1]+1][0]=1,a--,r=null,l&&c?(d=h=!0,a=0):(s=--a>0?o[a-1]:-1,d=h=!1),n=!0)),s++;n&&this.diff_cleanupMerge(e)},t.prototype.diff_cleanupMerge=function(e){e.push(new t.Diff(0,""));for(var n,o=0,a=0,r=0,s="",l="";o<e.length;)switch(e[o][0]){case 1:r++,l+=e[o][1],o++;break;case i:a++,s+=e[o][1],o++;break;case 0:a+r>1?(0!==a&&0!==r&&(0!==(n=this.diff_commonPrefix(l,s))&&(o-a-r>0&&0==e[o-a-r-1][0]?e[o-a-r-1][1]+=l.substring(0,n):(e.splice(0,0,new t.Diff(0,l.substring(0,n))),o++),l=l.substring(n),s=s.substring(n)),0!==(n=this.diff_commonSuffix(l,s))&&(e[o][1]=l.substring(l.length-n)+e[o][1],l=l.substring(0,l.length-n),s=s.substring(0,s.length-n))),o-=a+r,e.splice(o,a+r),s.length&&(e.splice(o,0,new t.Diff(i,s)),o++),l.length&&(e.splice(o,0,new t.Diff(1,l)),o++),o++):0!==o&&0==e[o-1][0]?(e[o-1][1]+=e[o][1],e.splice(o,1)):o++,r=0,a=0,s="",l=""}""===e[e.length-1][1]&&e.pop();var c=!1;for(o=1;o<e.length-1;)0==e[o-1][0]&&0==e[o+1][0]&&(e[o][1].substring(e[o][1].length-e[o-1][1].length)==e[o-1][1]?(e[o][1]=e[o-1][1]+e[o][1].substring(0,e[o][1].length-e[o-1][1].length),e[o+1][1]=e[o-1][1]+e[o+1][1],e.splice(o-1,1),c=!0):e[o][1].substring(0,e[o+1][1].length)==e[o+1][1]&&(e[o-1][1]+=e[o+1][1],e[o][1]=e[o][1].substring(e[o+1][1].length)+e[o+1][1],e.splice(o+1,1),c=!0)),o++;c&&this.diff_cleanupMerge(e)},t.prototype.diff_xIndex=function(e,t){var n,o=0,a=0,r=0,s=0;for(n=0;n<e.length&&(1!==e[n][0]&&(o+=e[n][1].length),e[n][0]!==i&&(a+=e[n][1].length),!(o>t));n++)r=o,s=a;return e.length!=n&&e[n][0]===i?s:s+(t-r)},t.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,o=/</g,a=/>/g,r=/\n/g,s=0;s<e.length;s++){var l=e[s][0],c=e[s][1].replace(n,"&amp;").replace(o,"&lt;").replace(a,"&gt;").replace(r,"&para;<br>");switch(l){case 1:t[s]='<ins style="background:#e6ffe6;">'+c+"</ins>";break;case i:t[s]='<del style="background:#ffe6e6;">'+c+"</del>";break;case 0:t[s]="<span>"+c+"</span>"}}return t.join("")},t.prototype.diff_text1=function(e){for(var t=[],i=0;i<e.length;i++)1!==e[i][0]&&(t[i]=e[i][1]);return t.join("")},t.prototype.diff_text2=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==i&&(t[n]=e[n][1]);return t.join("")},t.prototype.diff_levenshtein=function(e){for(var t=0,n=0,o=0,a=0;a<e.length;a++){var r=e[a][0],s=e[a][1];switch(r){case 1:n+=s.length;break;case i:o+=s.length;break;case 0:t+=Math.max(n,o),n=0,o=0}}return t+Math.max(n,o)},t.prototype.diff_toDelta=function(e){for(var t=[],n=0;n<e.length;n++)switch(e[n][0]){case 1:t[n]="+"+encodeURI(e[n][1]);break;case i:t[n]="-"+e[n][1].length;break;case 0:t[n]="="+e[n][1].length}return t.join("\t").replace(/%20/g," ")},t.prototype.diff_fromDelta=function(e,n){for(var o=[],a=0,r=0,s=n.split(/\t/g),l=0;l<s.length;l++){var c=s[l].substring(1);switch(s[l].charAt(0)){case"+":try{o[a++]=new t.Diff(1,decodeURI(c))}catch(e){throw new Error("Illegal escape in diff_fromDelta: "+c)}break;case"-":case"=":var d=parseInt(c,10);if(isNaN(d)||d<0)throw new Error("Invalid number in diff_fromDelta: "+c);var h=e.substring(r,r+=d);"="==s[l].charAt(0)?o[a++]=new t.Diff(0,h):o[a++]=new t.Diff(i,h);break;default:if(s[l])throw new Error("Invalid diff operation in diff_fromDelta: "+s[l])}}if(r!=e.length)throw new Error("Delta length ("+r+") does not equal source text length ("+e.length+").");return o},t.prototype.match_main=function(e,t,i){if(null==e||null==t||null==i)throw new Error("Null input. (match_main)");return i=Math.max(0,Math.min(i,e.length)),e==t?0:e.length?e.substring(i,i+t.length)==t?i:this.match_bitap_(e,t,i):-1},t.prototype.match_bitap_=function(e,t,i){if(t.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var n=this.match_alphabet_(t),o=this;function a(e,n){var a=e/t.length,r=Math.abs(i-n);return o.Match_Distance?a+r/o.Match_Distance:r?1:a}var r=this.Match_Threshold,s=e.indexOf(t,i);-1!=s&&(r=Math.min(a(0,s),r),-1!=(s=e.lastIndexOf(t,i+t.length))&&(r=Math.min(a(0,s),r)));var l,c,d=1<<t.length-1;s=-1;for(var h,f=t.length+e.length,u=0;u<t.length;u++){for(l=0,c=f;l<c;)a(u,i+c)<=r?l=c:f=c,c=Math.floor((f-l)/2+l);f=c;var p=Math.max(1,i-c+1),g=Math.min(i+c,e.length)+t.length,m=Array(g+2);m[g+1]=(1<<u)-1;for(var y=g;y>=p;y--){var v=n[e.charAt(y-1)];if(m[y]=0===u?(m[y+1]<<1|1)&v:(m[y+1]<<1|1)&v|(h[y+1]|h[y])<<1|1|h[y+1],m[y]&d){var b=a(u,y-1);if(b<=r){if(r=b,!((s=y-1)>i))break;p=Math.max(1,2*i-s)}}}if(a(u+1,i)>r)break;h=m}return s},t.prototype.match_alphabet_=function(e){for(var t={},i=0;i<e.length;i++)t[e.charAt(i)]=0;for(i=0;i<e.length;i++)t[e.charAt(i)]|=1<<e.length-i-1;return t},t.prototype.patch_addContext_=function(e,i){if(0!=i.length){if(null===e.start2)throw Error("patch not initialized");for(var n=i.substring(e.start2,e.start2+e.length1),o=0;i.indexOf(n)!=i.lastIndexOf(n)&&n.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)o+=this.Patch_Margin,n=i.substring(e.start2-o,e.start2+e.length1+o);o+=this.Patch_Margin;var a=i.substring(e.start2-o,e.start2);a&&e.diffs.unshift(new t.Diff(0,a));var r=i.substring(e.start2+e.length1,e.start2+e.length1+o);r&&e.diffs.push(new t.Diff(0,r)),e.start1-=a.length,e.start2-=a.length,e.length1+=a.length+r.length,e.length2+=a.length+r.length}},t.prototype.patch_make=function(e,n,o){var a,r;if("string"==typeof e&&"string"==typeof n&&void 0===o)a=e,(r=this.diff_main(a,n,!0)).length>2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(e&&"object"==typeof e&&void 0===n&&void 0===o)r=e,a=this.diff_text1(r);else if("string"==typeof e&&n&&"object"==typeof n&&void 0===o)a=e,r=n;else{if("string"!=typeof e||"string"!=typeof n||!o||"object"!=typeof o)throw new Error("Unknown call format to patch_make.");a=e,r=o}if(0===r.length)return[];for(var s=[],l=new t.patch_obj,c=0,d=0,h=0,f=a,u=a,p=0;p<r.length;p++){var g=r[p][0],m=r[p][1];switch(c||0===g||(l.start1=d,l.start2=h),g){case 1:l.diffs[c++]=r[p],l.length2+=m.length,u=u.substring(0,h)+m+u.substring(h);break;case i:l.length1+=m.length,l.diffs[c++]=r[p],u=u.substring(0,h)+u.substring(h+m.length);break;case 0:m.length<=2*this.Patch_Margin&&c&&r.length!=p+1?(l.diffs[c++]=r[p],l.length1+=m.length,l.length2+=m.length):m.length>=2*this.Patch_Margin&&c&&(this.patch_addContext_(l,f),s.push(l),l=new t.patch_obj,c=0,f=u,d=h)}1!==g&&(d+=m.length),g!==i&&(h+=m.length)}return c&&(this.patch_addContext_(l,f),s.push(l)),s},t.prototype.patch_deepCopy=function(e){for(var i=[],n=0;n<e.length;n++){var o=e[n],a=new t.patch_obj;a.diffs=[];for(var r=0;r<o.diffs.length;r++)a.diffs[r]=new t.Diff(o.diffs[r][0],o.diffs[r][1]);a.start1=o.start1,a.start2=o.start2,a.length1=o.length1,a.length2=o.length2,i[n]=a}return i},t.prototype.patch_apply=function(e,t){if(0==e.length)return[t,[]];e=this.patch_deepCopy(e);var n=this.patch_addPadding(e);t=n+t+n,this.patch_splitMax(e);for(var o=0,a=[],r=0;r<e.length;r++){var s,l,c=e[r].start2+o,d=this.diff_text1(e[r].diffs),h=-1;if(d.length>this.Match_MaxBits?-1!=(s=this.match_main(t,d.substring(0,this.Match_MaxBits),c))&&(-1==(h=this.match_main(t,d.substring(d.length-this.Match_MaxBits),c+d.length-this.Match_MaxBits))||s>=h)&&(s=-1):s=this.match_main(t,d,c),-1==s)a[r]=!1,o-=e[r].length2-e[r].length1;else if(a[r]=!0,o=s-c,d==(l=-1==h?t.substring(s,s+d.length):t.substring(s,h+this.Match_MaxBits)))t=t.substring(0,s)+this.diff_text2(e[r].diffs)+t.substring(s+d.length);else{var f=this.diff_main(d,l,!1);if(d.length>this.Match_MaxBits&&this.diff_levenshtein(f)/d.length>this.Patch_DeleteThreshold)a[r]=!1;else{this.diff_cleanupSemanticLossless(f);for(var u,p=0,g=0;g<e[r].diffs.length;g++){var m=e[r].diffs[g];0!==m[0]&&(u=this.diff_xIndex(f,p)),1===m[0]?t=t.substring(0,s+u)+m[1]+t.substring(s+u):m[0]===i&&(t=t.substring(0,s+u)+t.substring(s+this.diff_xIndex(f,p+m[1].length))),m[0]!==i&&(p+=m[1].length)}}}}return[t=t.substring(n.length,t.length-n.length),a]},t.prototype.patch_addPadding=function(e){for(var i=this.Patch_Margin,n="",o=1;o<=i;o++)n+=String.fromCharCode(o);for(o=0;o<e.length;o++)e[o].start1+=i,e[o].start2+=i;var a=e[0],r=a.diffs;if(0==r.length||0!=r[0][0])r.unshift(new t.Diff(0,n)),a.start1-=i,a.start2-=i,a.length1+=i,a.length2+=i;else if(i>r[0][1].length){var s=i-r[0][1].length;r[0][1]=n.substring(r[0][1].length)+r[0][1],a.start1-=s,a.start2-=s,a.length1+=s,a.length2+=s}return 0==(r=(a=e[e.length-1]).diffs).length||0!=r[r.length-1][0]?(r.push(new t.Diff(0,n)),a.length1+=i,a.length2+=i):i>r[r.length-1][1].length&&(s=i-r[r.length-1][1].length,r[r.length-1][1]+=n.substring(0,s),a.length1+=s,a.length2+=s),n},t.prototype.patch_splitMax=function(e){for(var n=this.Match_MaxBits,o=0;o<e.length;o++)if(!(e[o].length1<=n)){var a=e[o];e.splice(o--,1);for(var r=a.start1,s=a.start2,l="";0!==a.diffs.length;){var c=new t.patch_obj,d=!0;for(c.start1=r-l.length,c.start2=s-l.length,""!==l&&(c.length1=c.length2=l.length,c.diffs.push(new t.Diff(0,l)));0!==a.diffs.length&&c.length1<n-this.Patch_Margin;){var h=a.diffs[0][0],f=a.diffs[0][1];1===h?(c.length2+=f.length,s+=f.length,c.diffs.push(a.diffs.shift()),d=!1):h===i&&1==c.diffs.length&&0==c.diffs[0][0]&&f.length>2*n?(c.length1+=f.length,r+=f.length,d=!1,c.diffs.push(new t.Diff(h,f)),a.diffs.shift()):(f=f.substring(0,n-c.length1-this.Patch_Margin),c.length1+=f.length,r+=f.length,0===h?(c.length2+=f.length,s+=f.length):d=!1,c.diffs.push(new t.Diff(h,f)),f==a.diffs[0][1]?a.diffs.shift():a.diffs[0][1]=a.diffs[0][1].substring(f.length))}l=(l=this.diff_text2(c.diffs)).substring(l.length-this.Patch_Margin);var u=this.diff_text1(a.diffs).substring(0,this.Patch_Margin);""!==u&&(c.length1+=u.length,c.length2+=u.length,0!==c.diffs.length&&0===c.diffs[c.diffs.length-1][0]?c.diffs[c.diffs.length-1][1]+=u:c.diffs.push(new t.Diff(0,u))),d||e.splice(++o,0,c)}}},t.prototype.patch_toText=function(e){for(var t=[],i=0;i<e.length;i++)t[i]=e[i];return t.join("")},t.prototype.patch_fromText=function(e){var n=[];if(!e)return n;for(var o=e.split("\n"),a=0,r=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;a<o.length;){var s=o[a].match(r);if(!s)throw new Error("Invalid patch string: "+o[a]);var l=new t.patch_obj;for(n.push(l),l.start1=parseInt(s[1],10),""===s[2]?(l.start1--,l.length1=1):"0"==s[2]?l.length1=0:(l.start1--,l.length1=parseInt(s[2],10)),l.start2=parseInt(s[3],10),""===s[4]?(l.start2--,l.length2=1):"0"==s[4]?l.length2=0:(l.start2--,l.length2=parseInt(s[4],10)),a++;a<o.length;){var c=o[a].charAt(0);try{var d=decodeURI(o[a].substring(1))}catch(e){throw new Error("Illegal escape in patch_fromText: "+d)}if("-"==c)l.diffs.push(new t.Diff(i,d));else if("+"==c)l.diffs.push(new t.Diff(1,d));else if(" "==c)l.diffs.push(new t.Diff(0,d));else{if("@"==c)break;if(""!==c)throw new Error('Invalid patch mode "'+c+'" in: '+d)}a++}}return n},(t.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0}).prototype.toString=function(){for(var e,t=["@@ -"+(0===this.length1?this.start1+",0":1==this.length1?this.start1+1:this.start1+1+","+this.length1)+" +"+(0===this.length2?this.start2+",0":1==this.length2?this.start2+1:this.start2+1+","+this.length2)+" @@\n"],n=0;n<this.diffs.length;n++){switch(this.diffs[n][0]){case 1:e="+";break;case i:e="-";break;case 0:e=" "}t[n+1]=e+encodeURI(this.diffs[n][1])+"\n"}return t.join("").replace(/%20/g," ")},e.exports=t,e.exports.diff_match_patch=t,e.exports.DIFF_DELETE=i,e.exports.DIFF_INSERT=1,e.exports.DIFF_EQUAL=0},44:(e,t,i)=>{e=i.nmd(e),ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],(function(e,t,i){"use strict";var n=e("./lib/dom"),o=e("./lib/oop"),a=e("./lib/event_emitter").EventEmitter,r=e("./lib/lang"),s=e("./range").Range,l=e("./range_list").RangeList,c=e("./keyboard/hash_handler").HashHandler,d=e("./tokenizer").Tokenizer,h=e("./clipboard"),f={CURRENT_WORD:function(e){return e.session.getTextRange(e.session.getWordRange())},SELECTION:function(e,t,i){var n=e.session.getTextRange();return i?n.replace(/\n\r?([ \t]*\S)/g,"\n"+i+"$1"):n},CURRENT_LINE:function(e){return e.session.getLine(e.getCursorPosition().row)},PREV_LINE:function(e){return e.session.getLine(e.getCursorPosition().row-1)},LINE_INDEX:function(e){return e.getCursorPosition().row},LINE_NUMBER:function(e){return e.getCursorPosition().row+1},SOFT_TABS:function(e){return e.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(e){return e.session.getTabSize()},CLIPBOARD:function(e){return h.getText&&h.getText()},FILENAME:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0]},FILENAME_BASE:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(e){return this.FILEPATH(e).replace(/[^/\\]*$/,"")},FILEPATH:function(e){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.start||""},BLOCK_COMMENT_END:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.end||""},LINE_COMMENT:function(e){return(e.session.$mode||{}).lineCommentStart||""},CURRENT_YEAR:u.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:u.bind(null,{year:"2-digit"}),CURRENT_MONTH:u.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:u.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:u.bind(null,{month:"short"}),CURRENT_DATE:u.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:u.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:u.bind(null,{weekday:"short"}),CURRENT_HOUR:u.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:u.bind(null,{minute:"2-digit"}),CURRENT_SECOND:u.bind(null,{second:"2-digit"})};function u(e){var t=(new Date).toLocaleString("en-us",e);return 1==t.length?"0"+t:t}f.SELECTED_TEXT=f.SELECTION;var p=function(){function e(){this.snippetMap={},this.snippetNameMap={},this.variables=f}return e.prototype.getTokenizer=function(){return e.$tokenizer||this.createTokenizer()},e.prototype.createTokenizer=function(){function t(e){return e=e.substr(1),/^\d+$/.test(e)?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function i(e){return"(?:[^\\\\"+e+"]|\\\\.)"}var n={regex:"/("+i("/")+"+)/",onMatch:function(e,t,i){var n=i[0];return n.fmtString=!0,n.guard=e.slice(1,-1),n.flag="",""},next:"formatString"};return e.$tokenizer=new d({start:[{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return("}"==n&&i.length||-1!="`$\\".indexOf(n))&&(e=n),[e]}},{regex:/}/,onMatch:function(e,t,i){return[i.length?i.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:t},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(e,i,n){var o=t(e.substr(1));return n.unshift(o[0]),o},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+i("\\|")+"*\\|",onMatch:function(e,t,i){var n=e.slice(1,-1).replace(/\\[,|\\]|,/g,(function(e){return 2==e.length?e[1]:"\0"})).split("\0").map((function(e){return{value:e}}));return i[0].choices=n,[n[0]]},next:"start"},n,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(e,t,i){return i.length&&i[0].expectElse?(i[0].expectElse=!1,i[0].ifEnd={elseEnd:i[0]},[i[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return"}"==n&&i.length||-1!="`$\\".indexOf(n)?e=n:"n"==n?e="\n":"t"==n?e="\t":-1!="ulULE".indexOf(n)&&(e={changeCase:n,local:n>"a"}),[e]}},{regex:"/\\w*}",onMatch:function(e,t,i){var n=i.shift();return n&&(n.flag=e.slice(1,-1)),this.next=n&&n.tabstopId?"start":"",[n||e]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(e,t,i){return[{text:e.slice(1)}]}},{regex:/\${\w+/,onMatch:function(e,t,i){var n={text:e.slice(2)};return i.unshift(n),[n]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(e,t,i){var n=i.shift();return this.next=n&&n.tabstopId?"start":"",[n||e]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(e,t,i){return i[0].formatFunction=e.slice(2,-1),[i.shift()]},next:"formatString"},n,{regex:/:[\?\-+]?/,onMatch:function(e,t,i){"+"==e[1]&&(i[0].ifEnd=i[0]),"?"==e[1]&&(i[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),e.$tokenizer},e.prototype.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map((function(e){return e.value||e}))},e.prototype.getVariableValue=function(e,t,i){if(/^\d+$/.test(t))return(this.variables.__||{})[t]||"";if(/^[A-Z]\d+$/.test(t))return(this.variables[t[0]+"__"]||{})[t.substr(1)]||"";if(t=t.replace(/^TM_/,""),!this.variables.hasOwnProperty(t))return"";var n=this.variables[t];return"function"==typeof n&&(n=this.variables[t](e,t,i)),null==n?"":n},e.prototype.tmStrFormat=function(e,t,i){if(!t.fmt)return e;var n=t.flag||"",o=t.guard;o=new RegExp(o,n.replace(/[^gim]/g,""));var a="string"==typeof t.fmt?this.tokenizeTmSnippet(t.fmt,"formatString"):t.fmt,r=this,s=e.replace(o,(function(){var e=r.variables.__;r.variables.__=[].slice.call(arguments);for(var t=r.resolveVariables(a,i),n="E",o=0;o<t.length;o++){var s=t[o];if("object"==typeof s)if(t[o]="",s.changeCase&&s.local){var l=t[o+1];l&&"string"==typeof l&&("u"==s.changeCase?t[o]=l[0].toUpperCase():t[o]=l[0].toLowerCase(),t[o+1]=l.substr(1))}else s.changeCase&&(n=s.changeCase);else"U"==n?t[o]=s.toUpperCase():"L"==n&&(t[o]=s.toLowerCase())}return r.variables.__=e,t.join("")}));return s},e.prototype.tmFormatFunction=function(e,t,i){return"upcase"==t.formatFunction?e.toUpperCase():"downcase"==t.formatFunction?e.toLowerCase():e},e.prototype.resolveVariables=function(e,t){for(var i=[],n="",o=!0,a=0;a<e.length;a++){var r=e[a];if("string"!=typeof r){if(r){if(o=!1,r.fmtString){var s=e.indexOf(r,a+1);-1==s&&(s=e.length),r.fmt=e.slice(a+1,s),a=s}if(r.text){var l=this.getVariableValue(t,r.text,n)+"";r.fmtString&&(l=this.tmStrFormat(l,r,t)),r.formatFunction&&(l=this.tmFormatFunction(l,r,t)),l&&!r.ifEnd?(i.push(l),c(r)):!l&&r.ifEnd&&c(r.ifEnd)}else r.elseEnd?c(r.elseEnd):(null!=r.tabstopId||null!=r.changeCase)&&i.push(r)}}else i.push(r),"\n"==r?(o=!0,n=""):o&&(n=/^\t*/.exec(r)[0],o=/\S/.test(r))}function c(t){var i=e.indexOf(t,a+1);-1!=i&&(a=i)}return i},e.prototype.getDisplayTextForSnippet=function(e,t){return g.call(this,e,t).text},e.prototype.insertSnippetForSelection=function(e,t,i){void 0===i&&(i={});var n=g.call(this,e,t,i),o=e.getSelectionRange(),a=e.session.replace(o,n.text),r=new m(e),s=e.inVirtualSelectionMode&&e.selection.index;r.addTabstops(n.tabstops,o.start,a,s)},e.prototype.insertSnippet=function(e,t,i){void 0===i&&(i={});var n=this;if(e.inVirtualSelectionMode)return n.insertSnippetForSelection(e,t,i);e.forEachSelection((function(){n.insertSnippetForSelection(e,t,i)}),null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},e.prototype.$getScope=function(e){var t=e.session.$mode.$id||"";if("html"===(t=t.split("/").pop())||"php"===t){"php"!==t||e.session.$mode.inlinePhp||(t="html");var i=e.getCursorPosition(),n=e.session.getState(i.row);"object"==typeof n&&(n=n[0]),n.substring&&("js-"==n.substring(0,3)?t="javascript":"css-"==n.substring(0,4)?t="css":"php-"==n.substring(0,4)&&(t="php"))}return t},e.prototype.getActiveScopes=function(e){var t=this.$getScope(e),i=[t],n=this.snippetMap;return n[t]&&n[t].includeScopes&&i.push.apply(i,n[t].includeScopes),i.push("_"),i},e.prototype.expandWithTab=function(e,t){var i=this,n=e.forEachSelection((function(){return i.expandSnippetForSelection(e,t)}),null,{keepOrder:!0});return n&&e.tabstopManager&&e.tabstopManager.tabNext(),n},e.prototype.expandSnippetForSelection=function(e,t){var i,n=e.getCursorPosition(),o=e.session.getLine(n.row),a=o.substring(0,n.column),r=o.substr(n.column),s=this.snippetMap;return this.getActiveScopes(e).some((function(e){var t=s[e];return t&&(i=this.findMatchingSnippet(t,a,r)),!!i}),this),!!i&&(t&&t.dryRun||(e.session.doc.removeInLine(n.row,n.column-i.replaceBefore.length,n.column+i.replaceAfter.length),this.variables.M__=i.matchBefore,this.variables.T__=i.matchAfter,this.insertSnippetForSelection(e,i.content),this.variables.M__=this.variables.T__=null),!0)},e.prototype.findMatchingSnippet=function(e,t,i){for(var n=e.length;n--;){var o=e[n];if((!o.startRe||o.startRe.test(t))&&(!o.endRe||o.endRe.test(i))&&(o.startRe||o.endRe))return o.matchBefore=o.startRe?o.startRe.exec(t):[""],o.matchAfter=o.endRe?o.endRe.exec(i):[""],o.replaceBefore=o.triggerRe?o.triggerRe.exec(t)[0]:"",o.replaceAfter=o.endTriggerRe?o.endTriggerRe.exec(i)[0]:"",o}},e.prototype.register=function(e,t){var i=this.snippetMap,n=this.snippetNameMap,o=this;function a(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")"),e||""}function s(e,t,i){return e=a(e),t=a(t),i?(e=t+e)&&"$"!=e[e.length-1]&&(e+="$"):(e+=t)&&"^"!=e[0]&&(e="^"+e),new RegExp(e)}function l(e){e.scope||(e.scope=t||"_"),t=e.scope,i[t]||(i[t]=[],n[t]={});var a=n[t];if(e.name){var l=a[e.name];l&&o.unregister(l),a[e.name]=e}i[t].push(e),e.prefix&&(e.tabTrigger=e.prefix),!e.content&&e.body&&(e.content=Array.isArray(e.body)?e.body.join("\n"):e.body),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=r.escapeRegExp(e.tabTrigger)),(e.trigger||e.guard||e.endTrigger||e.endGuard)&&(e.startRe=s(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger),e.endRe=s(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger))}e||(e=[]),Array.isArray(e)?e.forEach(l):Object.keys(e).forEach((function(t){l(e[t])})),this._signal("registerSnippets",{scope:t})},e.prototype.unregister=function(e,t){var i=this.snippetMap,n=this.snippetNameMap;function o(e){var o=n[e.scope||t];if(o&&o[e.name]){delete o[e.name];var a=i[e.scope||t],r=a&&a.indexOf(e);r>=0&&a.splice(r,1)}}e.content?o(e):Array.isArray(e)&&e.forEach(o)},e.prototype.parseSnippetFile=function(e){e=e.replace(/\r/g,"");for(var t,i=[],n={},o=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;t=o.exec(e);){if(t[1])try{n=JSON.parse(t[1]),i.push(n)}catch(e){}if(t[4])n.content=t[4].replace(/^\t/gm,""),i.push(n),n={};else{var a=t[2],r=t[3];if("regex"==a){var s=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=s.exec(r)[1],n.trigger=s.exec(r)[1],n.endTrigger=s.exec(r)[1],n.endGuard=s.exec(r)[1]}else"snippet"==a?(n.tabTrigger=r.match(/^\S*/)[0],n.name||(n.name=r)):a&&(n[a]=r)}}return i},e.prototype.getSnippetByName=function(e,t){var i,n=this.snippetNameMap;return this.getActiveScopes(t).some((function(t){var o=n[t];return o&&(i=o[e]),!!i}),this),i},e}();o.implement(p.prototype,a);var g=function(e,t,i){void 0===i&&(i={});var n=e.getCursorPosition(),o=e.session.getLine(n.row),a=e.session.getTabString(),r=o.match(/^\s*/)[0];n.column<r.length&&(r=r.slice(0,n.column)),t=t.replace(/\r/g,"");var s=this.tokenizeTmSnippet(t);s=(s=this.resolveVariables(s,e)).map((function(e){return"\n"!=e||i.excludeExtraIndent?"string"==typeof e?e.replace(/\t/g,a):e:e+r}));var l=[];s.forEach((function(e,t){if("object"==typeof e){var i=e.tabstopId,n=l[i];if(n||((n=l[i]=[]).index=i,n.value="",n.parents={}),-1===n.indexOf(e)){e.choices&&!n.choices&&(n.choices=e.choices),n.push(e);var o=s.indexOf(e,t+1);if(-1!==o){var a=s.slice(t+1,o);a.some((function(e){return"object"==typeof e}))&&!n.value?n.value=a:!a.length||n.value&&"string"==typeof n.value||(n.value=a.join(""))}}}})),l.forEach((function(e){e.length=0}));var c={};function d(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];if("object"==typeof n){if(c[n.tabstopId])continue;n=t[e.lastIndexOf(n,i-1)]||{tabstopId:n.tabstopId}}t[i]=n}return t}for(var h=0;h<s.length;h++){var f=s[h];if("object"==typeof f){var u=f.tabstopId,p=l[u],g=s.indexOf(f,h+1);if(c[u])c[u]===f&&(delete c[u],Object.keys(c).forEach((function(e){p.parents[e]=!0})));else{c[u]=f;var m=p.value;"string"!=typeof m?m=d(m):f.fmt&&(m=this.tmStrFormat(m,f,e)),s.splice.apply(s,[h+1,Math.max(0,g-h)].concat(m,f)),-1===p.indexOf(f)&&p.push(f)}}}var y=0,v=0,b="";return s.forEach((function(e){if("string"==typeof e){var t=e.split("\n");t.length>1?(v=t[t.length-1].length,y+=t.length-1):v+=e.length,b+=e}else e&&(e.start?e.end={row:y,column:v}:e.start={row:y,column:v})})),{text:b,tabstops:l,tokens:s}},m=function(){function e(e){if(this.index=0,this.ranges=[],this.tabstops=[],e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=r.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)}return e.prototype.attach=function(e){this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.session=e.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},e.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},e.prototype.onChange=function(e){for(var t="r"==e.action[0],i=this.selectedTabstop||{},n=i.parents||{},o=this.tabstops.slice(),a=0;a<o.length;a++){var r=o[a],s=r==i||n[r.index];if(r.rangeList.$bias=s?0:1,"remove"==e.action&&r!==i){var l=r.parents&&r.parents[i.index],c=r.rangeList.pointIndex(e.start,l);c=c<0?-c-1:c+1;var d=r.rangeList.pointIndex(e.end,l);d=d<0?-d-1:d-1;for(var h=r.rangeList.ranges.slice(c,d),f=0;f<h.length;f++)this.removeRange(h[f])}r.rangeList.$onChange(e)}var u=this.session;this.$inChange||!t||1!=u.getLength()||u.getValue()||this.detach()},e.prototype.updateLinkedFields=function(){var e=this.selectedTabstop;if(e&&e.hasLinkedRanges&&e.firstNonLinked){this.$inChange=!0;for(var i=this.session,n=i.getTextRange(e.firstNonLinked),o=0;o<e.length;o++){var a=e[o];if(a.linked){var r=a.original,s=t.snippetManager.tmStrFormat(n,r,this.editor);i.replace(a,s)}}this.$inChange=!1}},e.prototype.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},e.prototype.onChangeSelection=function(){if(this.editor){for(var e=this.editor.selection.lead,t=this.editor.selection.anchor,i=this.editor.selection.isEmpty(),n=0;n<this.ranges.length;n++)if(!this.ranges[n].linked){var o=this.ranges[n].contains(e.row,e.column),a=i||this.ranges[n].contains(t.row,t.column);if(o&&a)return}this.detach()}},e.prototype.onChangeSession=function(){this.detach()},e.prototype.tabNext=function(e){var t=this.tabstops.length,i=this.index+(e||1);(i=Math.min(Math.max(i,1),t))==t&&(i=0),this.selectTabstop(i),this.updateTabstopMarkers(),0===i&&this.detach()},e.prototype.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];if(t&&this.addTabstopMarkers(t),this.index=e,(t=this.tabstops[this.index])&&t.length){this.selectedTabstop=t;var i=t.firstNonLinked||t;if(t.choices&&(i.cursor=i.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(i);else{var n=this.editor.multiSelect;n.toSingleRange(i);for(var o=0;o<t.length;o++)t.hasLinkedRanges&&t[o].linked||n.addRange(t[o].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},e.prototype.addTabstops=function(e,t,i){var n=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!e[0]){var o=s.fromPoints(i,i);v(o.start,t),v(o.end,t),e[0]=[o],e[0].index=0}var a=[this.index+1,0],r=this.ranges,c=this.snippetId=(this.snippetId||0)+1;e.forEach((function(e,i){var o=this.$openTabstops[i]||e;o.snippetId=c;for(var d=0;d<e.length;d++){var h=e[d],f=s.fromPoints(h.start,h.end||h.start);y(f.start,t),y(f.end,t),f.original=h,f.tabstop=o,r.push(f),o!=e?o.unshift(f):o[d]=f,h.fmtString||o.firstNonLinked&&n?(f.linked=!0,o.hasLinkedRanges=!0):o.firstNonLinked||(o.firstNonLinked=f)}o.firstNonLinked||(o.hasLinkedRanges=!1),o===e&&(a.push(o),this.$openTabstops[i]=o),this.addTabstopMarkers(o),o.rangeList=o.rangeList||new l,o.rangeList.$bias=0,o.rangeList.addList(o)}),this),a.length>2&&(this.tabstops.length&&a.push(a.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,a))},e.prototype.addTabstopMarkers=function(e){var t=this.session;e.forEach((function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))}))},e.prototype.removeTabstopMarkers=function(e){var t=this.session;e.forEach((function(e){t.removeMarker(e.markerId),e.markerId=null}))},e.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var e=this.selectedTabstop.snippetId;0===this.selectedTabstop.index&&e--,this.tabstops.forEach((function(t){t.snippetId===e?this.addTabstopMarkers(t):this.removeTabstopMarkers(t)}),this)}},e.prototype.removeRange=function(e){var t=e.tabstop.indexOf(e);-1!=t&&e.tabstop.splice(t,1),-1!=(t=this.ranges.indexOf(e))&&this.ranges.splice(t,1),-1!=(t=e.tabstop.rangeList.ranges.indexOf(e))&&e.tabstop.splice(t,1),this.session.removeMarker(e.markerId),e.tabstop.length||(-1!=(t=this.tabstops.indexOf(e.tabstop))&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},e}();m.prototype.keyboardHandler=new c,m.prototype.keyboardHandler.bindKeys({Tab:function(e){t.snippetManager&&t.snippetManager.expandWithTab(e)||(e.tabstopManager.tabNext(1),e.renderer.scrollCursorIntoView())},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1),e.renderer.scrollCursorIntoView()},Esc:function(e){e.tabstopManager.detach()}});var y=function(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row},v=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};n.importCssString("\n.ace_snippet-marker {\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n    background: rgba(194, 193, 208, 0.09);\n    border: 1px dotted rgba(211, 208, 235, 0.62);\n    position: absolute;\n}","snippets.css",!1),t.snippetManager=new p;var b=e("./editor").Editor;(function(){this.insertSnippet=function(e,i){return t.snippetManager.insertSnippet(this,e,i)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(b.prototype)})),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],(function(e,t,i){"use strict";var n=e("../virtual_renderer").VirtualRenderer,o=e("../editor").Editor,a=e("../range").Range,r=e("../lib/event"),s=e("../lib/lang"),l=e("../lib/dom"),c=e("../config").nls,d=e("./../lib/useragent"),h=function(e){return"suggest-aria-id:".concat(e)},f=d.isSafari?"menu":"listbox",u=d.isSafari?"menuitem":"option",p=d.isSafari?"aria-current":"aria-selected",g=function(e){var t=new n(e);t.$maxLines=4;var i=new o(t);return i.setHighlightActiveLine(!1),i.setShowPrintMargin(!1),i.renderer.setShowGutter(!1),i.renderer.setHighlightGutterLine(!1),i.$mouseHandler.$focusTimeout=0,i.$highlightTagPending=!0,i};l.importCssString('\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n    background-color: #CAD6FA;\n    z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n    background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n    border: 1px solid #abbffe;\n    margin-top: -1px;\n    background: rgba(233,233,253,0.4);\n    position: absolute;\n    z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n    border: 1px solid rgba(109, 150, 13, 0.8);\n    background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n    opacity: 0.5;\n    margin-left: 0.9em;\n}\n.ace_completion-message {\n    margin-left: 0.9em;\n    color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n    color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n    color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n    width: 300px;\n    z-index: 200000;\n    border: 1px lightgray solid;\n    position: fixed;\n    box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n    line-height: 1.4;\n    background: #fefefe;\n    color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n    border: 1px #484747 solid;\n    box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n    line-height: 1.4;\n    background: #25282c;\n    color: #c1c1c1;\n}\n.ace_autocomplete .ace_text-layer  {\n    width: calc(100% - 8px);\n}\n.ace_autocomplete .ace_line {\n    display: flex;\n    align-items: center;\n}\n.ace_autocomplete .ace_line > * {\n    min-width: 0;\n    flex: 0 0 auto;\n}\n.ace_autocomplete .ace_line .ace_ {\n    flex: 0 1 auto;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n.ace_autocomplete .ace_completion-spacer {\n    flex: 1;\n}\n.ace_autocomplete.ace_loading:after  {\n    content: "";\n    position: absolute;\n    top: 0px;\n    height: 2px;\n    width: 8%;\n    background: blue;\n    z-index: 100;\n    animation: ace_progress 3s infinite linear;\n    animation-delay: 300ms;\n    transform: translateX(-100%) scaleX(1);\n}\n@keyframes ace_progress {\n    0% { transform: translateX(-100%) scaleX(1) }\n    50% { transform: translateX(625%) scaleX(2) } \n    100% { transform: translateX(1500%) scaleX(3) } \n}\n@media (prefers-reduced-motion) {\n    .ace_autocomplete.ace_loading:after {\n        transform: translateX(625%) scaleX(2);\n        animation: none;\n     }\n}\n',"autocompletion.css",!1),t.AcePopup=function(e){var t=l.createElement("div"),i=g(t);e&&e.appendChild(t),t.style.display="none",i.renderer.content.style.cursor="default",i.renderer.setStyle("ace_autocomplete"),i.renderer.$textLayer.element.setAttribute("role",f),i.renderer.$textLayer.element.setAttribute("aria-roledescription",c("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),i.renderer.$textLayer.element.setAttribute("aria-label",c("autocomplete.popup.aria-label","Autocomplete suggestions")),i.renderer.textarea.setAttribute("aria-hidden","true"),i.setOption("displayIndentGuides",!1),i.setOption("dragDelay",150);var n,o=function(){};i.focus=o,i.$isFocused=!0,i.renderer.$cursorLayer.restartTimer=o,i.renderer.$cursorLayer.element.style.opacity="0",i.renderer.$maxLines=8,i.renderer.$keepTextAreaAtCursor=!1,i.setHighlightActiveLine(!1),i.session.highlight(""),i.session.$searchHighlight.clazz="ace_highlight-marker",i.on("mousedown",(function(e){var t=e.getDocumentPosition();i.selection.moveToPosition(t),m.start.row=m.end.row=t.row,e.stop()}));var d=new a(-1,0,-1,1/0),m=new a(-1,0,-1,1/0);m.id=i.session.addMarker(m,"ace_active-line","fullLine"),i.setSelectOnHover=function(e){e?d.id&&(i.session.removeMarker(d.id),d.id=null):d.id=i.session.addMarker(d,"ace_line-hover","fullLine")},i.setSelectOnHover(!1),i.on("mousemove",(function(e){if(n){if(n.x!=e.x||n.y!=e.y){(n=e).scrollTop=i.renderer.scrollTop,i.isMouseOver=!0;var t=n.getDocumentPosition().row;d.start.row!=t&&(d.id||i.setRow(t),v(t))}}else n=e})),i.renderer.on("beforeRender",(function(){if(n&&-1!=d.start.row){n.$pos=null;var e=n.getDocumentPosition().row;d.id||i.setRow(e),v(e,!0)}})),i.renderer.on("afterRender",(function(){for(var e=i.renderer.$textLayer,t=e.config.firstRow,n=e.config.lastRow;t<=n;t++){var o=e.element.childNodes[t-e.config.firstRow];o.setAttribute("role",u),o.setAttribute("aria-roledescription",c("autocomplete.popup.item.aria-roledescription","item")),o.setAttribute("aria-setsize",i.data.length),o.setAttribute("aria-describedby","doc-tooltip"),o.setAttribute("aria-posinset",t+1);var a=i.getData(t);if(a){var r="".concat(a.caption||a.value).concat(a.meta?", ".concat(a.meta):"");o.setAttribute("aria-label",r)}o.querySelectorAll(".ace_completion-highlight").forEach((function(e){e.setAttribute("role","mark")}))}})),i.renderer.on("afterRender",(function(){var e=i.getRow(),t=i.renderer.$textLayer,n=t.element.childNodes[e-t.config.firstRow],o=document.activeElement;if(n!==i.selectedNode&&i.selectedNode&&(l.removeCssClass(i.selectedNode,"ace_selected"),i.selectedNode.removeAttribute(p),i.selectedNode.removeAttribute("id")),o.removeAttribute("aria-activedescendant"),i.selectedNode=n,n){var a=h(e);l.addCssClass(n,"ace_selected"),n.id=a,t.element.setAttribute("aria-activedescendant",a),o.setAttribute("aria-activedescendant",a),n.setAttribute(p,"true")}}));var y=function(){v(-1)},v=function(e,t){e!==d.start.row&&(d.start.row=d.end.row=e,t||i.session._emit("changeBackMarker"),i._emit("changeHoverMarker"))};i.getHoveredRow=function(){return d.start.row},r.addListener(i.container,"mouseout",(function(){i.isMouseOver=!1,y()})),i.on("hide",y),i.on("changeSelection",y),i.session.doc.getLength=function(){return i.data.length},i.session.doc.getLine=function(e){var t=i.data[e];return"string"==typeof t?t:t&&t.value||""};var b=i.session.bgTokenizer;return b.$tokenizeRow=function(e){var t=i.data[e],n=[];if(!t)return n;"string"==typeof t&&(t={value:t});var o=t.caption||t.value||t.name;function a(e,i){e&&n.push({type:(t.className||"")+(i||""),value:e})}for(var r=o.toLowerCase(),s=(i.filterText||"").toLowerCase(),l=0,c=0,d=0;d<=s.length;d++)if(d!=c&&(t.matchMask&1<<d||d==s.length)){var h=s.slice(c,d);c=d;var f=r.indexOf(h,l);if(-1==f)continue;a(o.slice(l,f),""),l=f+h.length,a(o.slice(f,l),"completion-highlight")}return a(o.slice(l,o.length),""),n.push({type:"completion-spacer",value:" "}),t.meta&&n.push({type:"completion-meta",value:t.meta}),t.message&&n.push({type:"completion-message",value:t.message}),n},b.$updateOnChange=o,b.start=o,i.session.$computeWidth=function(){return this.screenWidth=0},i.isOpen=!1,i.isTopdown=!1,i.autoSelect=!0,i.filterText="",i.isMouseOver=!1,i.data=[],i.setData=function(e,t){i.filterText=t||"",i.setValue(s.stringRepeat("\n",e.length),-1),i.data=e||[],i.setRow(0)},i.getData=function(e){return i.data[e]},i.getRow=function(){return m.start.row},i.setRow=function(e){e=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,e)),m.start.row!=e&&(i.selection.clearSelection(),m.start.row=m.end.row=e||0,i.session._emit("changeBackMarker"),i.moveCursorTo(e||0,0),i.isOpen&&i._signal("select"))},i.on("changeSelection",(function(){i.isOpen&&i.setRow(i.selection.lead.row),i.renderer.scrollCursorIntoView()})),i.hide=function(){this.container.style.display="none",i.anchorPos=null,i.anchor=null,i.isOpen&&(i.isOpen=!1,this._signal("hide"))},i.tryShow=function(e,t,o,a){if(!a&&i.isOpen&&i.anchorPos&&i.anchor&&i.anchorPos.top===e.top&&i.anchorPos.left===e.left&&i.anchor===o)return!0;var r=this.container,s=this.renderer.scrollBar.width||10,l=window.innerHeight-s,c=window.innerWidth-s,d=this.renderer,h=d.$maxLines*t*1.4,f={top:0,bottom:0,left:0},u=l-e.top-3*this.$borderSize-t,p=e.top-3*this.$borderSize;o||(o=p<=u||u>=h?"bottom":"top"),"top"===o?(f.bottom=e.top-this.$borderSize,f.top=f.bottom-h):"bottom"===o&&(f.top=e.top+t+this.$borderSize,f.bottom=f.top+h);var g=f.top>=0&&f.bottom<=l;if(!a&&!g)return!1;d.$maxPixelHeight=g?null:"top"===o?p:u,"top"===o?(r.style.top="",r.style.bottom=l+s-f.bottom+"px",i.isTopdown=!1):(r.style.top=f.top+"px",r.style.bottom="",i.isTopdown=!0),r.style.display="";var m=e.left;return m+r.offsetWidth>c&&(m=c-r.offsetWidth),r.style.left=m+"px",r.style.right="",i.isOpen||(i.isOpen=!0,this._signal("show"),n=null),i.anchorPos=e,i.anchor=o,!0},i.show=function(e,t,i){this.tryShow(e,t,i?"bottom":void 0,!0)},i.goTo=function(e){var t=this.getRow(),i=this.session.getLength()-1;switch(e){case"up":t=t<=0?i:t-1;break;case"down":t=t>=i?-1:t+1;break;case"start":t=0;break;case"end":t=i}this.setRow(t)},i.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},i.$imageSize=0,i.$borderSize=1,i},t.$singleLineEditor=g,t.getAriaId=h})),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],(function(e,t,i){"use strict";var n=function(){function e(e){this.editor=e,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return e.prototype.setScreenReaderContent=function(e){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var e=this.popup.getRow(),t=this.popup.renderer.$textLayer,i=t.element.childNodes[e-t.config.firstRow];if(i){for(var n="doc-tooltip ",o=0;o<this._lines.length;o++)n+="ace-inline-screenreader-line-".concat(o," ");i.setAttribute("aria-describedby",n)}}.bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=e.split(/\r\n|\r|\n/);var t=this.createCodeBlock();this.screenReaderDiv.appendChild(t)},e.prototype.destroy=function(){this.screenReaderDiv.remove()},e.prototype.createCodeBlock=function(){var e=document.createElement("pre");e.setAttribute("id","ace-inline-screenreader");for(var t=0;t<this._lines.length;t++){var i=document.createElement("code");i.setAttribute("id","ace-inline-screenreader-line-".concat(t));var n=document.createTextNode(this._lines[t]);i.appendChild(n),e.appendChild(i)}return e},e}();t.AceInlineScreenReader=n})),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],(function(e,t,i){"use strict";var n=e("../snippets").snippetManager,o=e("./inline_screenreader").AceInlineScreenReader,a=function(){function e(){this.editor=null}return e.prototype.show=function(e,t,i){if(i=i||"",e&&this.editor&&this.editor!==e&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!e||!t)return!1;this.inlineScreenReader||(this.inlineScreenReader=new o(e));var a=t.snippet?n.getDisplayTextForSnippet(e,t.snippet):t.value;return!(t.hideInlinePreview||!a||!a.startsWith(i)||(this.editor=e,this.inlineScreenReader.setScreenReaderContent(a),""===(a=a.slice(i.length))?e.removeGhostText():e.setGhostText(a),0))},e.prototype.isOpen=function(){return!!this.editor&&!!this.editor.renderer.$ghostText},e.prototype.hide=function(){return!!this.editor&&(this.editor.removeGhostText(),!0)},e.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},e}();t.AceInline=a})),ace.define("ace/autocomplete/util",["require","exports","module"],(function(e,t,i){"use strict";t.parForEach=function(e,t,i){var n=0,o=e.length;0===o&&i();for(var a=0;a<o;a++)t(e[a],(function(e,t){++n===o&&i(e,t)}))};var n=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,i){i=i||n;for(var o=[],a=t-1;a>=0&&i.test(e[a]);a--)o.push(e[a]);return o.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,i){i=i||n;for(var o=[],a=t;a<e.length&&i.test(e[a]);a++)o.push(e[a]);return o},t.getCompletionPrefix=function(e){var t,i=e.getCursorPosition(),n=e.session.getLine(i.row);return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!t&&e&&(t=this.retrievePrecedingIdentifier(n,i.column,e))}.bind(this))}.bind(this)),t||this.retrievePrecedingIdentifier(n,i.column)},t.triggerAutocomplete=function(e,t){return t=null==t?e.session.getPrecedingCharacter():t,e.completers.some((function(e){if(e.triggerCharacters&&Array.isArray(e.triggerCharacters))return e.triggerCharacters.includes(t)}))}})),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],(function(e,t,i){"use strict";var n=e("./keyboard/hash_handler").HashHandler,o=e("./autocomplete/popup").AcePopup,a=e("./autocomplete/inline").AceInline,r=e("./autocomplete/popup").getAriaId,s=e("./autocomplete/util"),l=e("./lib/lang"),c=e("./lib/dom"),d=e("./snippets").snippetManager,h=e("./config"),f=e("./lib/event"),u=e("./lib/scroll").preventParentScroll,p=function(e,t){t.completer&&t.completer.destroy()},g=function(){function e(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new n,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=l.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=l.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=l.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=l.delayedCall(function(){this.stickySelection=!0}.bind(this),this.stickySelectionDelay),this.$firstOpenTimer=l.delayedCall(function(){var t=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!t||0===this.editor.completers.length||(this.completions=new y(e.completionsForLoading),this.openPopup(this.editor,t.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}.bind(this),this.stickySelectionDelay)}return Object.defineProperty(e,"completionsForLoading",{get:function(){return[{caption:h.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),e.prototype.$init=function(){return this.popup=new o(this.parentNode||document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),f.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},e.prototype.$initInline=function(){if(this.inlineEnabled&&!this.inlineRenderer)return this.inlineRenderer=new a,this.inlineRenderer},e.prototype.getPopup=function(){return this.popup||this.$init()},e.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},e.prototype.$seen=function(e){!this.hasSeen.has(e)&&e&&e.completer&&e.completer.onSeen&&"function"==typeof e.completer.onSeen&&(e.completer.onSeen(this.editor,e),this.hasSeen.add(e))},e.prototype.$onPopupChange=function(e){if(this.inlineRenderer&&this.inlineEnabled){var t=e?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(t),this.popup.isMouseOver&&this.setSelectOnHover)return void this.tooltipTimer.call(null,null);this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},e.prototype.$updateGhostText=function(e){var t=this.base.row,i=this.base.column,n=this.editor.getCursorPosition().column,o=this.editor.session.getLine(t).slice(i,n);this.inlineRenderer.show(this.editor,e,o)?this.$seen(e):this.inlineRenderer.hide()},e.prototype.$onPopupRender=function(){var e=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var t=this.popup.getFirstVisibleRow();t<=this.popup.getLastVisibleRow();t++){var i=this.popup.getData(t);!i||e&&!i.hideInlinePreview||this.$seen(i)}},e.prototype.$onPopupShow=function(e){this.$onPopupChange(e),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},e.prototype.observeLayoutChanges=function(){if(!this.$elements&&this.editor){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var e=this.editor.container.parentNode,t=[];e;)t.push(e),e.addEventListener("scroll",this.onLayoutChange,{passive:!0}),e=e.parentNode;this.$elements=t}},e.prototype.unObserveLayoutChanges=function(){var e=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach((function(t){t.removeEventListener("scroll",e.onLayoutChange,{passive:!0})})),this.$elements=null},e.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},e.prototype.$updatePopupPosition=function(){var e=this.editor,t=e.renderer,i=t.layerConfig.lineHeight,n=t.$cursorLayer.getPixelPosition(this.base,!0);n.left-=this.popup.getTextLeftOffset();var o=e.container.getBoundingClientRect();n.top+=o.top-t.layerConfig.offset,n.left+=o.left-e.renderer.scrollLeft,n.left+=t.gutterWidth;var a={top:n.top,left:n.left};t.$ghostText&&t.$ghostTextWidget&&this.base.row===t.$ghostText.position.row&&(a.top+=t.$ghostTextWidget.el.offsetHeight);var r=e.container.getBoundingClientRect().bottom-i,s=r<a.top?{top:r,left:a.left}:a;this.popup.tryShow(s,i,"bottom")||this.popup.tryShow(n,i,"top")||this.popup.show(n,i)},e.prototype.openPopup=function(e,t,i){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var n,o=this.popup.getRow(),a=this.popup.data[o];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:r(this.popup.getRow()),inline:this.inlineEnabled}),e.keyBinding.addKeyboardHandler(this.keyboardHandler),this.stickySelection&&(n=this.popup.data.indexOf(a)),n&&-1!==n||(n=0),this.popup.setRow(this.autoSelect?n:-1),n===o&&a!==this.completions.filtered[n]&&this.$onPopupChange();var s=this.inlineRenderer&&this.inlineEnabled;if(n===o&&s){var l=this.popup.getData(this.popup.getRow());this.$updateGhostText(l)}i||(this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},e.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},e.prototype.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},e.prototype.blurListener=function(e){var t=document.activeElement,i=this.editor.textInput.getElement(),n=e.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(e.relatedTarget),o=this.popup&&this.popup.container;t==i||t.parentNode==o||n||t==this.tooltipNode||e.relatedTarget==i||this.detach()},e.prototype.mousedownListener=function(e){this.detach()},e.prototype.mousewheelListener=function(e){this.popup&&!this.popup.isMouseOver&&this.detach()},e.prototype.mouseOutListener=function(e){this.popup.isOpen&&this.$updatePopupPosition()},e.prototype.goTo=function(e){this.popup.goTo(e)},e.prototype.insertMatch=function(e,t){if(e||(e=this.popup.getData(this.popup.getRow())),!e)return!1;if(""===e.value)return this.detach();var i=this.completions,n=this.getCompletionProvider().insertMatch(this.editor,e,i.filterText,t);return this.completions==i&&this.detach(),n},e.prototype.showPopup=function(e,t){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,t)},e.prototype.getCompletionProvider=function(e){return this.completionProvider||(this.completionProvider=new m(e)),this.completionProvider},e.prototype.gatherCompletions=function(e,t){return this.getCompletionProvider().gatherCompletions(e,t)},e.prototype.updateCompletions=function(t,i){if(t&&this.base&&this.completions){var n=this.editor.getCursorPosition();if((a=this.editor.session.getTextRange({start:this.base,end:n}))==this.completions.filterText)return;return this.completions.setFilter(a),this.completions.filtered.length&&(1!=this.completions.filtered.length||this.completions.filtered[0].value!=a||this.completions.filtered[0].snippet)?void this.openPopup(this.editor,a,t):this.detach()}if(i&&i.matches)return n=this.editor.getSelectionRange().start,this.base=this.editor.session.doc.createAnchor(n.row,n.column),this.base.$insertRight=!0,this.completions=new y(i.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",t);var o=this.editor.getSession(),a=(n=this.editor.getCursorPosition(),s.getCompletionPrefix(this.editor));this.base=o.doc.createAnchor(n.row,n.column-a.length),this.base.$insertRight=!0;var r={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:a,pos:n}).provideCompletions(this.editor,r,function(i,n,o){var a=n.filtered,r=s.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),o){if(!a.length){var l=!this.autoShown&&this.emptyMessage;if("function"==typeof l&&(l=this.emptyMessage(r)),l){var c=[{caption:l,value:""}];return this.completions=new y(c),this.openPopup(this.editor,r,t),this.popup.renderer.setStyle("ace_loading",!1),void this.popup.renderer.setStyle("ace_empty-message",!0)}return this.detach()}if(1==a.length&&a[0].value==r&&!a[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&1==a.length)return this.insertMatch(a[0])}this.completions=!o&&this.showLoadingState?new y(e.completionsForLoading.concat(a),n.filterText):n,this.openPopup(this.editor,r,t),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!o)}.bind(this)),!this.showLoadingState||this.autoShown||this.popup&&this.popup.isOpen||this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},e.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},e.prototype.updateDocTooltip=function(){var e=this.popup,t=this.completions&&this.completions.filtered,i=t&&(t[e.getHoveredRow()]||t[e.getRow()]),n=null;if(!i||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var o=this.editor.completers.length,a=0;a<o;a++){var r=this.editor.completers[a];if(r.getDocTooltip&&i.completerId===r.id){n=r.getDocTooltip(i);break}}if(n||"string"==typeof i||(n=i),"string"==typeof n&&(n={docText:n}),!n||!n.docHTML&&!n.docText)return this.hideDocTooltip();this.showDocTooltip(n)},e.prototype.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=c.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",u));var t=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(t.isDark?"ace_dark ":"")+(t.cssClass||"");var i=this.tooltipNode;e.docHTML?i.innerHTML=e.docHTML:e.docText&&(i.textContent=e.docText),i.parentNode||this.popup.container.appendChild(this.tooltipNode);var n=this.popup,o=n.container.getBoundingClientRect(),a=400,r=300,s=n.renderer.scrollBar.width||10,l=o.left,d=window.innerWidth-o.right-s,h=n.isTopdown?o.top:window.innerHeight-s-o.bottom,f=[Math.min(d/a,1),Math.min(l/a,1),Math.min(h/r*.9)],p=Math.max.apply(Math,f),g=i.style;g.display="block",p==f[0]?(g.left=o.right+1+"px",g.right="",g.maxWidth=a*p+"px",g.top=o.top+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-s-o.top,r)+"px"):p==f[1]?(g.right=window.innerWidth-o.left+"px",g.left="",g.maxWidth=a*p+"px",g.top=o.top+"px",g.bottom="",g.maxHeight=Math.min(window.innerHeight-s-o.top,r)+"px"):p==f[2]&&(g.left=window.innerWidth-o.left+"px",g.maxWidth=Math.min(a,window.innerWidth)+"px",n.isTopdown?(g.top=o.bottom+"px",g.left=o.left+"px",g.right="",g.bottom="",g.maxHeight=Math.min(window.innerHeight-s-o.bottom,r)+"px"):(g.top=n.container.offsetTop-i.offsetHeight+"px",g.left=o.left+"px",g.right="",g.bottom="",g.maxHeight=Math.min(n.container.offsetTop,r)+"px"))},e.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),this.tooltipNode){var e=this.tooltipNode;this.editor.isFocused()||document.activeElement!=e||this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e)}},e.prototype.onTooltipClick=function(e){for(var t=e.target;t&&t!=this.tooltipNode;){if("A"==t.nodeName&&t.href){t.rel="noreferrer",t.target="_blank";break}t=t.parentNode}},e.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var e=this.popup.container;e&&e.parentNode&&e.parentNode.removeChild(e)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",p),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},e.for=function(t){return t.completer instanceof e||(t.completer&&(t.completer.destroy(),t.completer=null),h.get("sharedPopups")?(e.$sharedInstance||(e.$sharedInstance=new e),t.completer=e.$sharedInstance):(t.completer=new e,t.once("destroy",p))),t.completer},e}();g.prototype.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(t||e.tabstopManager)return t;e.completer.goTo("down")},Backspace:function(e){e.execCommand("backspace"),!s.getCompletionPrefix(e)&&e.completer&&e.completer.detach()},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},g.startCommand={name:"startAutocomplete",exec:function(e,t){var i=g.for(e);i.autoInsert=!1,i.autoSelect=!0,i.autoShown=!1,i.showPopup(e,t),i.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var m=function(){function e(e){this.initialPosition=e,this.active=!0}return e.prototype.insertByIndex=function(e,t,i){return!(!this.completions||!this.completions.filtered)&&this.insertMatch(e,this.completions.filtered[t],i)},e.prototype.insertMatch=function(e,t,i){if(!t)return!1;if(e.startOperation({command:{name:"insertMatch"}}),t.completer&&t.completer.insertMatch)t.completer.insertMatch(e,t);else{if(!this.completions)return!1;var n=this.completions.filterText.length,o=0;if(t.range&&t.range.start.row===t.range.end.row&&(n-=this.initialPosition.prefix.length,n+=this.initialPosition.pos.column-t.range.start.column,o+=t.range.end.column-this.initialPosition.pos.column),n||o){var a;a=e.selection.getAllRanges?e.selection.getAllRanges():[e.getSelectionRange()];for(var r,s=0;r=a[s];s++)r.start.column-=n,r.end.column+=o,e.session.remove(r)}t.snippet?d.insertSnippet(e,t.snippet):this.$insertString(e,t),t.completer&&t.completer.onInsert&&"function"==typeof t.completer.onInsert&&t.completer.onInsert(e,t),t.command&&"startAutocomplete"===t.command&&e.execCommand(t.command)}return e.endOperation(),!0},e.prototype.$insertString=function(e,t){var i=t.value||t;e.execCommand("insertstring",i)},e.prototype.gatherCompletions=function(e,t){var i=e.getSession(),n=e.getCursorPosition(),o=s.getCompletionPrefix(e),a=[];this.completers=e.completers;var r=e.completers.length;return e.completers.forEach((function(l,c){l.getCompletions(e,i,n,o,(function(i,n){l.hideInlinePreview&&(n=n.map((function(e){return Object.assign(e,{hideInlinePreview:l.hideInlinePreview})}))),!i&&n&&(a=a.concat(n)),t(null,{prefix:s.getCompletionPrefix(e),matches:a,finished:0==--r})}))})),!0},e.prototype.provideCompletions=function(e,t,i){var n=function(e){var n=e.prefix,o=e.matches;this.completions=new y(o),t.exactMatch&&(this.completions.exactMatch=!0),t.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(n),(e.finished||this.completions.filtered.length)&&i(null,this.completions,e.finished)}.bind(this),o=!0,a=null;if(this.gatherCompletions(e,function(e,t){this.active&&(e&&(i(e,[],!0),this.detach()),0===t.prefix.indexOf(t.prefix)&&(o?a=t:n(t)))}.bind(this)),o=!1,a){var r=a;a=null,n(r)}},e.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach((function(e){"function"==typeof e.cancel&&e.cancel()}))},e}(),y=function(){function e(e,t){this.all=e,this.filtered=e,this.filterText=t||"",this.exactMatch=!1,this.ignoreCaption=!1}return e.prototype.setFilter=function(e){if(e.length>this.filterText&&0===e.lastIndexOf(this.filterText,0))var t=this.filtered;else t=this.all;this.filterText=e,t=(t=this.filterCompletions(t,this.filterText)).sort((function(e,t){return t.exactMatch-e.exactMatch||t.$score-e.$score||(e.caption||e.value).localeCompare(t.caption||t.value)}));var i=null;t=t.filter((function(e){var t=e.snippet||e.caption||e.value;return t!==i&&(i=t,!0)})),this.filtered=t},e.prototype.filterCompletions=function(e,t){var i=[],n=t.toUpperCase(),o=t.toLowerCase();e:for(var a,r=0;a=e[r];r++)if(a.skipFilter)a.$score=a.score,i.push(a);else{var s=!this.ignoreCaption&&a.caption||a.value||a.snippet;if(s){var l,c,d=-1,h=0,f=0;if(this.exactMatch){if(t!==s.substr(0,t.length))continue e}else{var u=s.toLowerCase().indexOf(o);if(u>-1)f=u;else for(var p=0;p<t.length;p++){var g=s.indexOf(o[p],d+1),m=s.indexOf(n[p],d+1);if((l=g>=0&&(m<0||g<m)?g:m)<0)continue e;(c=l-d-1)>0&&(-1===d&&(f+=10),f+=c,h|=1<<p),d=l}}a.matchMask=h,a.exactMatch=f?0:1,a.$score=(a.score||0)-f,i.push(a)}}return i},e}();t.Autocomplete=g,t.CompletionProvider=m,t.FilteredList=y})),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],(function(e,t,i){var n=e("../range").Range,o=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;t.getCompletions=function(e,t,i,a,r){var s=function(e,t){var i=function(e,t){return e.getTextRange(n.fromPoints({row:0,column:0},t)).split(o).length-1}(e,t),a=e.getValue().split(o),r=Object.create(null),s=a[i];return a.forEach((function(e,t){if(e&&e!==s){var n=Math.abs(i-t),o=a.length-n;r[e]?r[e]=Math.max(o,r[e]):r[e]=o}})),r}(t,i);r(null,Object.keys(s).map((function(e){return{caption:e,value:e,score:s[e],meta:"local"}})))}})),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],(function(e,t,i){"use strict";var n=e("../snippets").snippetManager,o=e("../autocomplete").Autocomplete,a=e("../config"),r=e("../lib/lang"),s=e("../autocomplete/util"),l=e("../autocomplete/text_completer"),c={getCompletions:function(e,t,i,n,o){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,i,n,o);var a=e.session.getState(i.row),r=t.$mode.getCompletions(a,t,i,n);o(null,r=r.map((function(e){return e.completerId=c.id,e})))},id:"keywordCompleter"},d={getCompletions:function(e,t,i,o,a){var r=[],s=t.getTokenAt(i.row,i.column);s&&s.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?r.push("html-tag"):r=n.getActiveScopes(e);var l=n.snippetMap,c=[];r.forEach((function(e){for(var t=l[e]||[],i=t.length;i--;){var n=t[i],o=n.name||n.tabTrigger;o&&c.push({caption:o,snippet:n.content,meta:n.tabTrigger&&!n.name?n.tabTrigger+"⇥ ":"snippet",completerId:d.id})}}),this),a(null,c)},getDocTooltip:function(e){var t,i;e.snippet&&!e.docHTML&&(e.docHTML=["<b>",r.escapeHTML(e.caption),"</b>","<hr></hr>",r.escapeHTML((t=e.snippet,i={},t.replace(/\${(\d+)(:(.*?))?}/g,(function(e,t,n,o){return i[t]=o||""})).replace(/\$(\d+?)/g,(function(e,t){return i[t]}))))].join(""))},id:"snippetCompleter"},h=[d,l,c];t.setCompleters=function(e){h.length=0,e&&h.push.apply(h,e)},t.addCompleter=function(e){h.push(e)},t.textCompleter=l,t.keyWordCompleter=c,t.snippetCompleter=d;var f,u={name:"expandSnippet",exec:function(e){return n.expandWithTab(e)},bindKey:"Tab"},p=function(e,t){g(t.session.$mode)},g=function(e){"string"==typeof e&&(e=a.$modes[e]),e&&(n.files||(n.files={}),m(e.$id,e.snippetFileId),e.modes&&e.modes.forEach(g))},m=function(e,t){t&&e&&!n.files[e]&&(n.files[e]={},a.loadModule(t,(function(t){t&&(n.files[e]=t,!t.snippets&&t.snippetText&&(t.snippets=n.parseSnippetFile(t.snippetText)),n.register(t.snippets||[],t.scope),t.includeScopes&&(n.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach((function(e){g("ace/mode/"+e)}))))})))},y=function(e){var t=e.editor,i=t.completer&&t.completer.activated;if("backspace"===e.command.name)i&&!s.getCompletionPrefix(t)&&t.completer.detach();else if("insertstring"===e.command.name&&!i){f=e;var n=e.editor.$liveAutocompletionDelay;n?v.delay(n):b(e)}},v=r.delayedCall((function(){b(f)}),0),b=function(e){var t=e.editor,i=s.getCompletionPrefix(t),n=e.args,a=s.triggerAutocomplete(t,n);if(i&&i.length>=t.$liveAutocompletionThreshold||a){var r=o.for(t);r.autoShown=!0,r.showPopup(t)}},w=e("../editor").Editor;e("../config").defineOptions(w.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:h),this.commands.addCommand(o.startCommand)):this.commands.removeCommand(o.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:h),this.commands.on("afterExec",y)):this.commands.off("afterExec",y)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(e){e?(this.commands.addCommand(u),this.on("changeMode",p),p(0,this)):(this.commands.removeCommand(u),this.off("changeMode",p))},value:!1}})})),ace.require(["ace/ext/language_tools"],(function(t){e&&(e.exports=t)}))},97:(e,t,i)=>{e=i.nmd(e);var n="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",r="[object Array]",s="[object Boolean]",l="[object Date]",c="[object Error]",d="[object Function]",h="[object Map]",f="[object Number]",u="[object Object]",p="[object Promise]",g="[object RegExp]",m="[object Set]",y="[object String]",v="[object WeakMap]",b="[object ArrayBuffer]",w="[object DataView]",C=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,S={};S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S[a]=S[r]=S[b]=S[s]=S[w]=S[l]=S[c]=S[d]=S[h]=S[f]=S[u]=S[g]=S[m]=S[y]=S[v]=!1;var k="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,$="object"==typeof self&&self&&self.Object===Object&&self,_=k||$||Function("return this")(),M=t&&!t.nodeType&&t,A=M&&e&&!e.nodeType&&e,E=A&&A.exports===M,L=E&&k.process,T=function(){try{return L&&L.binding&&L.binding("util")}catch(e){}}(),R=T&&T.isTypedArray;function I(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(t(e[i],i,e))return!0;return!1}function O(e){var t=-1,i=Array(e.size);return e.forEach((function(e,n){i[++t]=[n,e]})),i}function N(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=e})),i}var D,P,z,F=Array.prototype,B=Function.prototype,H=Object.prototype,W=_["__core-js_shared__"],j=B.toString,U=H.hasOwnProperty,V=(D=/[^.]+$/.exec(W&&W.keys&&W.keys.IE_PROTO||""))?"Symbol(src)_1."+D:"",G=H.toString,K=RegExp("^"+j.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),q=E?_.Buffer:void 0,Y=_.Symbol,Q=_.Uint8Array,Z=H.propertyIsEnumerable,X=F.splice,J=Y?Y.toStringTag:void 0,ee=Object.getOwnPropertySymbols,te=q?q.isBuffer:void 0,ie=(P=Object.keys,z=Object,function(e){return P(z(e))}),ne=Ae(_,"DataView"),oe=Ae(_,"Map"),ae=Ae(_,"Promise"),re=Ae(_,"Set"),se=Ae(_,"WeakMap"),le=Ae(Object,"create"),ce=Re(ne),de=Re(oe),he=Re(ae),fe=Re(re),ue=Re(se),pe=Y?Y.prototype:void 0,ge=pe?pe.valueOf:void 0;function me(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function ye(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function ve(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function be(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new ve;++t<i;)this.add(e[t])}function we(e){var t=this.__data__=new ye(e);this.size=t.size}function Ce(e,t){for(var i=e.length;i--;)if(Ie(e[i][0],t))return i;return-1}function xe(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":J&&J in Object(e)?function(e){var t=U.call(e,J),i=e[J];try{e[J]=void 0;var n=!0}catch(e){}var o=G.call(e);return n&&(t?e[J]=i:delete e[J]),o}(e):function(e){return G.call(e)}(e)}function Se(e){return Be(e)&&xe(e)==a}function ke(e,t,i,n,o){return e===t||(null==e||null==t||!Be(e)&&!Be(t)?e!=e&&t!=t:function(e,t,i,n,o,d){var p=Ne(e),v=Ne(t),C=p?r:Le(e),x=v?r:Le(t),S=(C=C==a?u:C)==u,k=(x=x==a?u:x)==u,$=C==x;if($&&De(e)){if(!De(t))return!1;p=!0,S=!1}if($&&!S)return d||(d=new we),p||He(e)?$e(e,t,i,n,o,d):function(e,t,i,n,o,a,r){switch(i){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case b:return!(e.byteLength!=t.byteLength||!a(new Q(e),new Q(t)));case s:case l:case f:return Ie(+e,+t);case c:return e.name==t.name&&e.message==t.message;case g:case y:return e==t+"";case h:var d=O;case m:var u=1&n;if(d||(d=N),e.size!=t.size&&!u)return!1;var p=r.get(e);if(p)return p==t;n|=2,r.set(e,t);var v=$e(d(e),d(t),n,o,a,r);return r.delete(e),v;case"[object Symbol]":if(ge)return ge.call(e)==ge.call(t)}return!1}(e,t,C,i,n,o,d);if(!(1&i)){var _=S&&U.call(e,"__wrapped__"),M=k&&U.call(t,"__wrapped__");if(_||M){var A=_?e.value():e,E=M?t.value():t;return d||(d=new we),o(A,E,i,n,d)}}return!!$&&(d||(d=new we),function(e,t,i,n,o,a){var r=1&i,s=_e(e),l=s.length;if(l!=_e(t).length&&!r)return!1;for(var c=l;c--;){var d=s[c];if(!(r?d in t:U.call(t,d)))return!1}var h=a.get(e);if(h&&a.get(t))return h==t;var f=!0;a.set(e,t),a.set(t,e);for(var u=r;++c<l;){var p=e[d=s[c]],g=t[d];if(n)var m=r?n(g,p,d,t,e,a):n(p,g,d,e,t,a);if(!(void 0===m?p===g||o(p,g,i,n,a):m)){f=!1;break}u||(u="constructor"==d)}if(f&&!u){var y=e.constructor,v=t.constructor;y==v||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof v&&v instanceof v||(f=!1)}return a.delete(e),a.delete(t),f}(e,t,i,n,o,d))}(e,t,i,n,ke,o))}function $e(e,t,i,n,o,a){var r=1&i,s=e.length,l=t.length;if(s!=l&&!(r&&l>s))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var d=-1,h=!0,f=2&i?new be:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var u=e[d],p=t[d];if(n)var g=r?n(p,u,d,t,e,a):n(u,p,d,e,t,a);if(void 0!==g){if(g)continue;h=!1;break}if(f){if(!I(t,(function(e,t){if(r=t,!f.has(r)&&(u===e||o(u,e,i,n,a)))return f.push(t);var r}))){h=!1;break}}else if(u!==p&&!o(u,p,i,n,a)){h=!1;break}}return a.delete(e),a.delete(t),h}function _e(e){return function(e,t,i){var n=t(e);return Ne(e)?n:function(e,t){for(var i=-1,n=t.length,o=e.length;++i<n;)e[o+i]=t[i];return e}(n,i(e))}(e,We,Ee)}function Me(e,t){var i=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?i["string"==typeof t?"string":"hash"]:i.map}function Ae(e,t){var i=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Fe(e)||function(e){return!!V&&V in e}(e))&&(Pe(e)?K:C).test(Re(e))}(i)?i:void 0}me.prototype.clear=function(){this.__data__=le?le(null):{},this.size=0},me.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},me.prototype.get=function(e){var t=this.__data__;if(le){var i=t[e];return i===n?void 0:i}return U.call(t,e)?t[e]:void 0},me.prototype.has=function(e){var t=this.__data__;return le?void 0!==t[e]:U.call(t,e)},me.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=le&&void 0===t?n:t,this},ye.prototype.clear=function(){this.__data__=[],this.size=0},ye.prototype.delete=function(e){var t=this.__data__,i=Ce(t,e);return!(i<0||(i==t.length-1?t.pop():X.call(t,i,1),--this.size,0))},ye.prototype.get=function(e){var t=this.__data__,i=Ce(t,e);return i<0?void 0:t[i][1]},ye.prototype.has=function(e){return Ce(this.__data__,e)>-1},ye.prototype.set=function(e,t){var i=this.__data__,n=Ce(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},ve.prototype.clear=function(){this.size=0,this.__data__={hash:new me,map:new(oe||ye),string:new me}},ve.prototype.delete=function(e){var t=Me(this,e).delete(e);return this.size-=t?1:0,t},ve.prototype.get=function(e){return Me(this,e).get(e)},ve.prototype.has=function(e){return Me(this,e).has(e)},ve.prototype.set=function(e,t){var i=Me(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},be.prototype.add=be.prototype.push=function(e){return this.__data__.set(e,n),this},be.prototype.has=function(e){return this.__data__.has(e)},we.prototype.clear=function(){this.__data__=new ye,this.size=0},we.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},we.prototype.get=function(e){return this.__data__.get(e)},we.prototype.has=function(e){return this.__data__.has(e)},we.prototype.set=function(e,t){var i=this.__data__;if(i instanceof ye){var n=i.__data__;if(!oe||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new ve(n)}return i.set(e,t),this.size=i.size,this};var Ee=ee?function(e){return null==e?[]:(e=Object(e),function(t){for(var i=-1,n=null==t?0:t.length,o=0,a=[];++i<n;){var r=t[i];s=r,Z.call(e,s)&&(a[o++]=r)}var s;return a}(ee(e)))}:function(){return[]},Le=xe;function Te(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e<t}function Re(e){if(null!=e){try{return j.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Ie(e,t){return e===t||e!=e&&t!=t}(ne&&Le(new ne(new ArrayBuffer(1)))!=w||oe&&Le(new oe)!=h||ae&&Le(ae.resolve())!=p||re&&Le(new re)!=m||se&&Le(new se)!=v)&&(Le=function(e){var t=xe(e),i=t==u?e.constructor:void 0,n=i?Re(i):"";if(n)switch(n){case ce:return w;case de:return h;case he:return p;case fe:return m;case ue:return v}return t});var Oe=Se(function(){return arguments}())?Se:function(e){return Be(e)&&U.call(e,"callee")&&!Z.call(e,"callee")},Ne=Array.isArray,De=te||function(){return!1};function Pe(e){if(!Fe(e))return!1;var t=xe(e);return t==d||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function ze(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function Fe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Be(e){return null!=e&&"object"==typeof e}var He=R?function(e){return function(t){return e(t)}}(R):function(e){return Be(e)&&ze(e.length)&&!!S[xe(e)]};function We(e){return function(e){return null!=e&&ze(e.length)&&!Pe(e)}(e)?function(e,t){var i=Ne(e),n=!i&&Oe(e),o=!i&&!n&&De(e),a=!i&&!n&&!o&&He(e),r=i||n||o||a,s=r?function(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}(e.length,String):[],l=s.length;for(var c in e)!t&&!U.call(e,c)||r&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Te(c,l))||s.push(c);return s}(e):function(e){if(!function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||H)}(e))return ie(e);var t=[];for(var i in Object(e))U.call(e,i)&&"constructor"!=i&&t.push(i);return t}(e)}e.exports=function(e,t){return ke(e,t)}},135:(e,t,i)=>{e.exports=i(176)()},144:(e,t,i)=>{e=i.nmd(e),ace.define("ace/theme/monokai-css",["require","exports","module"],(function(e,t,i){i.exports=".ace-monokai .ace_gutter {\n  background: #2F3129;\n  color: #8F908A\n}\n\n.ace-monokai .ace_print-margin {\n  width: 1px;\n  background: #555651\n}\n\n.ace-monokai {\n  background-color: #272822;\n  color: #F8F8F2\n}\n\n.ace-monokai .ace_cursor {\n  color: #F8F8F0\n}\n\n.ace-monokai .ace_marker-layer .ace_selection {\n  background: #49483E\n}\n\n.ace-monokai.ace_multiselect .ace_selection.ace_start {\n  box-shadow: 0 0 3px 0px #272822;\n}\n\n.ace-monokai .ace_marker-layer .ace_step {\n  background: rgb(102, 82, 0)\n}\n\n.ace-monokai .ace_marker-layer .ace_bracket {\n  margin: -1px 0 0 -1px;\n  border: 1px solid #49483E\n}\n\n.ace-monokai .ace_marker-layer .ace_active-line {\n  background: #202020\n}\n\n.ace-monokai .ace_gutter-active-line {\n  background-color: #272727\n}\n\n.ace-monokai .ace_marker-layer .ace_selected-word {\n  border: 1px solid #49483E\n}\n\n.ace-monokai .ace_invisible {\n  color: #52524d\n}\n\n.ace-monokai .ace_entity.ace_name.ace_tag,\n.ace-monokai .ace_keyword,\n.ace-monokai .ace_meta.ace_tag,\n.ace-monokai .ace_storage {\n  color: #F92672\n}\n\n.ace-monokai .ace_punctuation,\n.ace-monokai .ace_punctuation.ace_tag {\n  color: #fff\n}\n\n.ace-monokai .ace_constant.ace_character,\n.ace-monokai .ace_constant.ace_language,\n.ace-monokai .ace_constant.ace_numeric,\n.ace-monokai .ace_constant.ace_other {\n  color: #AE81FF\n}\n\n.ace-monokai .ace_invalid {\n  color: #F8F8F0;\n  background-color: #F92672\n}\n\n.ace-monokai .ace_invalid.ace_deprecated {\n  color: #F8F8F0;\n  background-color: #AE81FF\n}\n\n.ace-monokai .ace_support.ace_constant,\n.ace-monokai .ace_support.ace_function {\n  color: #66D9EF\n}\n\n.ace-monokai .ace_fold {\n  background-color: #A6E22E;\n  border-color: #F8F8F2\n}\n\n.ace-monokai .ace_storage.ace_type,\n.ace-monokai .ace_support.ace_class,\n.ace-monokai .ace_support.ace_type {\n  font-style: italic;\n  color: #66D9EF\n}\n\n.ace-monokai .ace_entity.ace_name.ace_function,\n.ace-monokai .ace_entity.ace_other,\n.ace-monokai .ace_entity.ace_other.ace_attribute-name,\n.ace-monokai .ace_variable {\n  color: #A6E22E\n}\n\n.ace-monokai .ace_variable.ace_parameter {\n  font-style: italic;\n  color: #FD971F\n}\n\n.ace-monokai .ace_string {\n  color: #E6DB74\n}\n\n.ace-monokai .ace_comment {\n  color: #75715E\n}\n\n.ace-monokai .ace_indent-guide {\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y\n}\n\n.ace-monokai .ace_indent-guide-active {\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;\n}\n"})),ace.define("ace/theme/monokai",["require","exports","module","ace/theme/monokai-css","ace/lib/dom"],(function(e,t,i){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=e("./monokai-css"),e("../lib/dom").importCssString(t.cssText,t.cssClass,!1)})),ace.require(["ace/theme/monokai"],(function(t){e&&(e.exports=t)}))},176:(e,t,i)=>{"use strict";var n=i(212);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,i,o,a,r){if(r!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var i={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return i.PropTypes=i,i}},194:e=>{"use strict";e.exports=function(e,t,i,n,o,a,r,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[i,n,o,a,r,s],d=0;(l=new Error(t.replace(/%s/g,(function(){return c[d++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},212:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},327:(e,t,i)=>{"use strict";var n;(n=i(364))&&n.__esModule},336:(e,t,i)=>{e=i.nmd(e),ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],(function(e,t,i){"use strict";var n,o=e("./lib/oop"),a=(e("./lib/lang"),e("./lib/event_emitter").EventEmitter),r=e("./editor").Editor,s=e("./virtual_renderer").VirtualRenderer,l=e("./edit_session").EditSession;(function(){o.implement(this,a),this.$createEditor=function(){var e=document.createElement("div");e.className=this.$editorCSS,e.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(e);var t=new r(new s(e,this.$theme));return t.on("focus",function(){this._emit("focus",t)}.bind(this)),this.$editors.push(t),t.setFontSize(this.$fontSize),t},this.setSplits=function(e){var t;if(e<1)throw"The number of splits have to be > 0!";if(e!=this.$splits){if(e>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<e;)t=this.$editors[this.$splits],this.$container.appendChild(t.container),t.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<e;)this.$createEditor(),this.$splits++}else for(;this.$splits>e;)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach((function(t){t.setTheme(e)}))},this.setKeyboardHandler=function(e){this.$editors.forEach((function(t){t.setKeyboardHandler(e)}))},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize="",this.setFontSize=function(e){this.$fontSize=e,this.forEach((function(t){t.setFontSize(e)}))},this.$cloneSession=function(e){var t=new l(e.getDocument(),e.getMode()),i=e.getUndoManager();return t.setUndoManager(i),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var i;i=null==t?this.$cEditor:this.$editors[t];var n=this.$editors.some((function(t){return t.session===e}));return n&&(e=this.$cloneSession(e)),i.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){this.$orientation!=e&&(this.$orientation=e,this.resize())},this.resize=function(){var e,t=this.$container.clientWidth,i=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var n=t/this.$splits,o=0;o<this.$splits;o++)(e=this.$editors[o]).container.style.width=n+"px",e.container.style.top="0px",e.container.style.left=o*n+"px",e.container.style.height=i+"px",e.resize();else{var a=i/this.$splits;for(o=0;o<this.$splits;o++)(e=this.$editors[o]).container.style.width=t+"px",e.container.style.top=o*a+"px",e.container.style.left="0px",e.container.style.height=a+"px",e.resize()}}}).call((n=function(e,t,i){this.BELOW=1,this.BESIDE=0,this.$container=e,this.$theme=t,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(i||1),this.$cEditor=this.$editors[0],this.on("focus",function(e){this.$cEditor=e}.bind(this))}).prototype),t.Split=n})),ace.define("ace/ext/split",["require","exports","module","ace/split"],(function(e,t,i){"use strict";i.exports=e("../split")})),ace.require(["ace/ext/split"],(function(t){e&&(e.exports=t)}))},364:(e,t)=>{"use strict";function i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}Object.defineProperty(t,"__esModule",{value:!0});var n={value:"data-value",disabled:"data-disabled",class:"class",type:"type"},o=function(){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._node=t instanceof HTMLElement?t:document.createElement(t),this._config={i18n:n},this._setAttributes(i),i.textContent&&this._setTextContent(i.textContent),this}var t,o;return t=e,(o=[{key:"get",value:function(){return this._node}},{key:"append",value:function(e){return this._node.appendChild(e),this}},{key:"addClass",value:function(e){return this._node.classList.add(e),this}},{key:"removeClass",value:function(e){return this._node.classList.remove(e),this}},{key:"toggleClass",value:function(e){return this._node.classList.toggle(e),this}},{key:"addEventListener",value:function(e,t){return this._node.addEventListener(e,t),this}},{key:"removeEventListener",value:function(e,t){return this._node.removeEventListener(e,t),this}},{key:"setText",value:function(e){return this._setTextContent(e),this}},{key:"getHeight",value:function(){return window.getComputedStyle(this._node).height}},{key:"setTop",value:function(e){return this._node.style.top="".concat(e,"px"),this}},{key:"focus",value:function(){return this._node.focus(),this}},{key:"_setTextContent",value:function(e){this._node.textContent=e}},{key:"_setAttributes",value:function(e){for(var t in e)n[t]&&e[t]&&this._setAttribute(n[t],e[t])}},{key:"_setAttribute",value:function(e,t){this._node.setAttribute(e,t)}}])&&i(t.prototype,o),e}();t.default=o},378:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAceInstance=t.debounce=t.editorEvents=t.editorOptions=void 0,t.editorOptions=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"],t.editorEvents=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"],t.getAceInstance=function(){var e;return"undefined"==typeof window?(i.g.window={},e=i(973),delete i.g.window):window.ace?(e=window.ace).acequire=window.ace.require||window.ace.acequire:e=i(973),e},t.debounce=function(e,t){var i=null;return function(){var n=this,o=arguments;clearTimeout(i),i=setTimeout((function(){e.apply(n,o)}),t)}}},468:function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var r=i(973),s=i(135),l=i(609),c=i(97),d=i(378),h=(0,d.getAceInstance)(),f=function(e){function t(t){var i=e.call(this,t)||this;return d.editorEvents.forEach((function(e){i[e]=i[e].bind(i)})),i.debounce=d.debounce,i}return o(t,e),t.prototype.isInShadow=function(e){for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1},t.prototype.componentDidMount=function(){var e=this,t=this.props,i=t.className,n=t.onBeforeLoad,o=t.onValidate,a=t.mode,r=t.focus,s=t.theme,l=t.fontSize,c=t.lineHeight,f=t.value,u=t.defaultValue,p=t.showGutter,g=t.wrapEnabled,m=t.showPrintMargin,y=t.scrollMargin,v=void 0===y?[0,0,0,0]:y,b=t.keyboardHandler,w=t.onLoad,C=t.commands,x=t.annotations,S=t.markers,k=t.placeholder;this.editor=h.edit(this.refEditor),n&&n(h);for(var $=Object.keys(this.props.editorProps),_=0;_<$.length;_++)this.editor[$[_]]=this.props.editorProps[$[_]];this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),this.editor.renderer.setScrollMargin(v[0],v[1],v[2],v[3]),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.getSession().setMode("string"==typeof a?"ace/mode/".concat(a):a),s&&""!==s&&this.editor.setTheme("ace/theme/".concat(s)),this.editor.setFontSize("number"==typeof l?"".concat(l,"px"):l),c&&(this.editor.container.style.lineHeight="number"==typeof c?"".concat(c,"px"):"".concat(c),this.editor.renderer.updateFontSize()),this.editor.getSession().setValue(u||f||""),this.props.navigateToFileEnd&&this.editor.navigateFileEnd(),this.editor.renderer.setShowGutter(p),this.editor.getSession().setUseWrapMode(g),this.editor.setShowPrintMargin(m),this.editor.on("focus",this.onFocus),this.editor.on("blur",this.onBlur),this.editor.on("copy",this.onCopy),this.editor.on("paste",this.onPaste),this.editor.on("change",this.onChange),this.editor.on("input",this.onInput),k&&this.updatePlaceholder(),this.editor.getSession().selection.on("changeSelection",this.onSelectionChange),this.editor.getSession().selection.on("changeCursor",this.onCursorChange),o&&this.editor.getSession().on("changeAnnotation",(function(){var t=e.editor.getSession().getAnnotations();e.props.onValidate(t)})),this.editor.session.on("changeScrollTop",this.onScroll),this.editor.getSession().setAnnotations(x||[]),S&&S.length>0&&this.handleMarkers(S);var M=this.editor.$options;d.editorOptions.forEach((function(t){M.hasOwnProperty(t)?e.editor.setOption(t,e.props[t]):e.props[t]&&console.warn("ReactAce: editor option ".concat(t," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))})),this.handleOptions(this.props),Array.isArray(C)&&C.forEach((function(t){"string"==typeof t.exec?e.editor.commands.bindKey(t.bindKey,t.exec):e.editor.commands.addCommand(t)})),b&&this.editor.setKeyboardHandler("ace/keyboard/"+b),i&&(this.refEditor.className+=" "+i),w&&w(this.editor),this.editor.resize(),r&&this.editor.focus()},t.prototype.componentDidUpdate=function(e){for(var t=e,i=this.props,n=0;n<d.editorOptions.length;n++){var o=d.editorOptions[n];i[o]!==t[o]&&this.editor.setOption(o,i[o])}if(i.className!==t.className){var a=this.refEditor.className.trim().split(" ");t.className.trim().split(" ").forEach((function(e){var t=a.indexOf(e);a.splice(t,1)})),this.refEditor.className=" "+i.className+" "+a.join(" ")}var r=this.editor&&null!=i.value&&this.editor.getValue()!==i.value;if(r){this.silent=!0;var s=this.editor.session.selection.toJSON();this.editor.setValue(i.value,i.cursorStart),this.editor.session.selection.fromJSON(s),this.silent=!1}i.placeholder!==t.placeholder&&this.updatePlaceholder(),i.mode!==t.mode&&this.editor.getSession().setMode("string"==typeof i.mode?"ace/mode/".concat(i.mode):i.mode),i.theme!==t.theme&&this.editor.setTheme("ace/theme/"+i.theme),i.keyboardHandler!==t.keyboardHandler&&(i.keyboardHandler?this.editor.setKeyboardHandler("ace/keyboard/"+i.keyboardHandler):this.editor.setKeyboardHandler(null)),i.fontSize!==t.fontSize&&this.editor.setFontSize("number"==typeof i.fontSize?"".concat(i.fontSize,"px"):i.fontSize),i.lineHeight!==t.lineHeight&&(this.editor.container.style.lineHeight="number"==typeof i.lineHeight?"".concat(i.lineHeight,"px"):i.lineHeight,this.editor.renderer.updateFontSize()),i.wrapEnabled!==t.wrapEnabled&&this.editor.getSession().setUseWrapMode(i.wrapEnabled),i.showPrintMargin!==t.showPrintMargin&&this.editor.setShowPrintMargin(i.showPrintMargin),i.showGutter!==t.showGutter&&this.editor.renderer.setShowGutter(i.showGutter),c(i.setOptions,t.setOptions)||this.handleOptions(i),!r&&c(i.annotations,t.annotations)||this.editor.getSession().setAnnotations(i.annotations||[]),!c(i.markers,t.markers)&&Array.isArray(i.markers)&&this.handleMarkers(i.markers),c(i.scrollMargin,t.scrollMargin)||this.handleScrollMargins(i.scrollMargin),e.height===this.props.height&&e.width===this.props.width||this.editor.resize(),this.props.focus&&!e.focus&&this.editor.focus()},t.prototype.handleScrollMargins=function(e){void 0===e&&(e=[0,0,0,0]),this.editor.renderer.setScrollMargin(e[0],e[1],e[2],e[3])},t.prototype.componentWillUnmount=function(){this.editor&&(this.editor.destroy(),this.editor=null)},t.prototype.onChange=function(e){if(this.editor&&this.props.onChange&&!this.silent){var t=this.editor.getValue();this.props.onChange(t,e)}},t.prototype.onSelectionChange=function(e){if(this.props.onSelectionChange){var t=this.editor.getSelection();this.props.onSelectionChange(t,e)}},t.prototype.onCursorChange=function(e){if(this.props.onCursorChange){var t=this.editor.getSelection();this.props.onCursorChange(t,e)}},t.prototype.onInput=function(e){this.props.onInput&&this.props.onInput(e),this.props.placeholder&&this.updatePlaceholder()},t.prototype.onFocus=function(e){this.props.onFocus&&this.props.onFocus(e,this.editor)},t.prototype.onBlur=function(e){this.props.onBlur&&this.props.onBlur(e,this.editor)},t.prototype.onCopy=function(e){var t=e.text;this.props.onCopy&&this.props.onCopy(t)},t.prototype.onPaste=function(e){var t=e.text;this.props.onPaste&&this.props.onPaste(t)},t.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},t.prototype.handleOptions=function(e){for(var t=Object.keys(e.setOptions),i=0;i<t.length;i++)this.editor.setOption(t[i],e.setOptions[t[i]])},t.prototype.handleMarkers=function(e){var t=this,i=this.editor.getSession().getMarkers(!0);for(var n in i)i.hasOwnProperty(n)&&this.editor.getSession().removeMarker(i[n].id);for(var n in i=this.editor.getSession().getMarkers(!1))i.hasOwnProperty(n)&&"ace_active-line"!==i[n].clazz&&"ace_selected-word"!==i[n].clazz&&this.editor.getSession().removeMarker(i[n].id);e.forEach((function(e){var i=e.startRow,n=e.startCol,o=e.endRow,a=e.endCol,s=e.className,l=e.type,c=e.inFront,d=void 0!==c&&c,h=new r.Range(i,n,o,a);t.editor.getSession().addMarker(h,s,l,d)}))},t.prototype.updatePlaceholder=function(){var e=this.editor,t=this.props.placeholder,i=!e.session.getValue().length,n=e.renderer.placeholderNode;!i&&n?(e.renderer.scroller.removeChild(e.renderer.placeholderNode),e.renderer.placeholderNode=null):i&&!n?((n=e.renderer.placeholderNode=document.createElement("div")).textContent=t||"",n.className="ace_comment ace_placeholder",n.style.padding="0 9px",n.style.position="absolute",n.style.zIndex="3",e.renderer.scroller.appendChild(n)):i&&n&&(n.textContent=t)},t.prototype.updateRef=function(e){this.refEditor=e},t.prototype.render=function(){var e=this.props,t=e.name,i=e.width,n=e.height,o=e.style,r=a({width:i,height:n},o);return l.createElement("div",{ref:this.updateRef,id:t,style:r})},t.propTypes={mode:s.oneOfType([s.string,s.object]),focus:s.bool,theme:s.string,name:s.string,className:s.string,height:s.string,width:s.string,fontSize:s.oneOfType([s.number,s.string]),lineHeight:s.oneOfType([s.number,s.string]),showGutter:s.bool,onChange:s.func,onCopy:s.func,onPaste:s.func,onFocus:s.func,onInput:s.func,onBlur:s.func,onScroll:s.func,value:s.string,defaultValue:s.string,onLoad:s.func,onSelectionChange:s.func,onCursorChange:s.func,onBeforeLoad:s.func,onValidate:s.func,minLines:s.number,maxLines:s.number,readOnly:s.bool,highlightActiveLine:s.bool,tabSize:s.number,showPrintMargin:s.bool,cursorStart:s.number,debounceChangePeriod:s.number,editorProps:s.object,setOptions:s.object,style:s.object,scrollMargin:s.array,annotations:s.array,markers:s.array,keyboardHandler:s.string,wrapEnabled:s.bool,enableSnippets:s.bool,enableBasicAutocompletion:s.oneOfType([s.bool,s.array]),enableLiveAutocompletion:s.oneOfType([s.bool,s.array]),navigateToFileEnd:s.bool,commands:s.array,placeholder:s.string},t.defaultProps={name:"ace-editor",focus:!1,mode:"",theme:"",height:"500px",width:"500px",fontSize:12,enableSnippets:!1,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,placeholder:null,navigateToFileEnd:!0},t}(l.Component);t.default=f},529:(e,t,i)=>{var n,o="__lodash_hash_undefined__",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/,s=/^\./,l=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g,d=/^\[object .+?Constructor\]$/,h="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,f="object"==typeof self&&self&&self.Object===Object&&self,u=h||f||Function("return this")(),p=Array.prototype,g=Function.prototype,m=Object.prototype,y=u["__core-js_shared__"],v=(n=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",b=g.toString,w=m.hasOwnProperty,C=m.toString,x=RegExp("^"+b.call(w).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),S=u.Symbol,k=p.splice,$=O(u,"Map"),_=O(Object,"create"),M=S?S.prototype:void 0,A=M?M.toString:void 0;function E(e){var t=-1,i=e?e.length:0;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function L(e){var t=-1,i=e?e.length:0;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function T(e){var t=-1,i=e?e.length:0;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function R(e,t){for(var i=e.length;i--;)if(z(e[i][0],t))return i;return-1}function I(e,t){var i=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?i["string"==typeof t?"string":"hash"]:i.map}function O(e,t){var i=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){if(!B(e)||v&&v in e)return!1;var t=function(e){var t=B(e)?C.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?x:d;return t.test(function(e){if(null!=e){try{return b.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}(i)?i:void 0}E.prototype.clear=function(){this.__data__=_?_(null):{}},E.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},E.prototype.get=function(e){var t=this.__data__;if(_){var i=t[e];return i===o?void 0:i}return w.call(t,e)?t[e]:void 0},E.prototype.has=function(e){var t=this.__data__;return _?void 0!==t[e]:w.call(t,e)},E.prototype.set=function(e,t){return this.__data__[e]=_&&void 0===t?o:t,this},L.prototype.clear=function(){this.__data__=[]},L.prototype.delete=function(e){var t=this.__data__,i=R(t,e);return!(i<0||(i==t.length-1?t.pop():k.call(t,i,1),0))},L.prototype.get=function(e){var t=this.__data__,i=R(t,e);return i<0?void 0:t[i][1]},L.prototype.has=function(e){return R(this.__data__,e)>-1},L.prototype.set=function(e,t){var i=this.__data__,n=R(i,e);return n<0?i.push([e,t]):i[n][1]=t,this},T.prototype.clear=function(){this.__data__={hash:new E,map:new($||L),string:new E}},T.prototype.delete=function(e){return I(this,e).delete(e)},T.prototype.get=function(e){return I(this,e).get(e)},T.prototype.has=function(e){return I(this,e).has(e)},T.prototype.set=function(e,t){return I(this,e).set(e,t),this};var N=P((function(e){e=function(e){return null==e?"":function(e){if("string"==typeof e)return e;if(H(e))return A?A.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(e);var t=[];return s.test(e)&&t.push(""),e.replace(l,(function(e,i,n,o){t.push(n?o.replace(c,"$1"):i||e)})),t}));function D(e){if("string"==typeof e||H(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function P(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=i.cache;if(a.has(o))return a.get(o);var r=e.apply(this,n);return i.cache=a.set(o,r),r};return i.cache=new(P.Cache||T),i}function z(e,t){return e===t||e!=e&&t!=t}P.Cache=T;var F=Array.isArray;function B(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function H(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==C.call(e)}e.exports=function(e,t,i){var n=null==e?void 0:function(e,t){t=function(e,t){if(F(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!H(e))||r.test(e)||!a.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:function(e){return F(e)?e:N(e)}(t);for(var i=0,n=t.length;null!=e&&i<n;)e=e[D(t[i++])];return i&&i==n?e:void 0}(e,t);return void 0===n?i:n}},579:(e,t,i)=>{"use strict";var n=i(468);i(831).default,i(911).default,n.default},609:e=>{"use strict";e.exports=window.React},831:function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)});Object.defineProperty(t,"__esModule",{value:!0});var a=i(135),r=i(609),s=i(911),l=i(42),c=function(e){function t(t){var i=e.call(this,t)||this;return i.state={value:i.props.value},i.onChange=i.onChange.bind(i),i.diff=i.diff.bind(i),i}return o(t,e),t.prototype.componentDidUpdate=function(){var e=this.props.value;e!==this.state.value&&this.setState({value:e})},t.prototype.onChange=function(e){this.setState({value:e}),this.props.onChange&&this.props.onChange(e)},t.prototype.diff=function(){var e=new l,t=this.state.value[0],i=this.state.value[1];if(0===t.length&&0===i.length)return[];var n=e.diff_main(t,i);e.diff_cleanupSemantic(n);var o=this.generateDiffedLines(n);return this.setCodeMarkers(o)},t.prototype.generateDiffedLines=function(e){var t={left:[],right:[]},i={left:1,right:1};return e.forEach((function(e){var n=e[0],o=e[1],a=o.split("\n").length-1;if(0!==o.length){var r=o[0],s=o[o.length-1],l=0;switch(n){case 0:i.left+=a,i.right+=a;break;case-1:"\n"===r&&(i.left++,a--),0===(l=a)&&t.right.push({startLine:i.right,endLine:i.right}),"\n"===s&&(l-=1),t.left.push({startLine:i.left,endLine:i.left+l}),i.left+=a;break;case 1:"\n"===r&&(i.right++,a--),0===(l=a)&&t.left.push({startLine:i.left,endLine:i.left}),"\n"===s&&(l-=1),t.right.push({startLine:i.right,endLine:i.right+l}),i.right+=a;break;default:throw new Error("Diff type was not defined.")}}})),t},t.prototype.setCodeMarkers=function(e){void 0===e&&(e={left:[],right:[]});for(var t=[],i={left:[],right:[]},n=0;n<e.left.length;n++){var o={startRow:e.left[n].startLine-1,endRow:e.left[n].endLine,type:"text",className:"codeMarker"};i.left.push(o)}for(n=0;n<e.right.length;n++)o={startRow:e.right[n].startLine-1,endRow:e.right[n].endLine,type:"text",className:"codeMarker"},i.right.push(o);return t[0]=i.left,t[1]=i.right,t},t.prototype.render=function(){var e=this.diff();return r.createElement(s.default,{name:this.props.name,className:this.props.className,focus:this.props.focus,orientation:this.props.orientation,splits:this.props.splits,mode:this.props.mode,theme:this.props.theme,height:this.props.height,width:this.props.width,fontSize:this.props.fontSize,showGutter:this.props.showGutter,onChange:this.onChange,onPaste:this.props.onPaste,onLoad:this.props.onLoad,onScroll:this.props.onScroll,minLines:this.props.minLines,maxLines:this.props.maxLines,readOnly:this.props.readOnly,highlightActiveLine:this.props.highlightActiveLine,showPrintMargin:this.props.showPrintMargin,tabSize:this.props.tabSize,cursorStart:this.props.cursorStart,editorProps:this.props.editorProps,style:this.props.style,scrollMargin:this.props.scrollMargin,setOptions:this.props.setOptions,wrapEnabled:this.props.wrapEnabled,enableBasicAutocompletion:this.props.enableBasicAutocompletion,enableLiveAutocompletion:this.props.enableLiveAutocompletion,value:this.state.value,markers:e})},t.propTypes={cursorStart:a.number,editorProps:a.object,enableBasicAutocompletion:a.bool,enableLiveAutocompletion:a.bool,focus:a.bool,fontSize:a.number,height:a.string,highlightActiveLine:a.bool,maxLines:a.number,minLines:a.number,mode:a.string,name:a.string,className:a.string,onLoad:a.func,onPaste:a.func,onScroll:a.func,onChange:a.func,orientation:a.string,readOnly:a.bool,scrollMargin:a.array,setOptions:a.object,showGutter:a.bool,showPrintMargin:a.bool,splits:a.number,style:a.object,tabSize:a.number,theme:a.string,value:a.array,width:a.string,wrapEnabled:a.bool},t.defaultProps={cursorStart:1,editorProps:{},enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,focus:!1,fontSize:12,height:"500px",highlightActiveLine:!0,maxLines:null,minLines:null,mode:"",name:"ace-editor",onLoad:null,onScroll:null,onPaste:null,onChange:null,orientation:"beside",readOnly:!1,scrollMargin:[0,0,0,0],setOptions:{},showGutter:!0,showPrintMargin:!0,splits:2,style:{},tabSize:4,theme:"github",value:["",""],width:"500px",wrapEnabled:!0},t}(r.Component);t.default=c},911:function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var r=i(378),s=(0,r.getAceInstance)(),l=i(973),c=i(336),d=i(135),h=i(609),f=i(97),u=i(529),p=function(e){function t(t){var i=e.call(this,t)||this;return r.editorEvents.forEach((function(e){i[e]=i[e].bind(i)})),i.debounce=r.debounce,i}return o(t,e),t.prototype.isInShadow=function(e){for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1},t.prototype.componentDidMount=function(){var e=this,t=this.props,i=t.className,n=t.onBeforeLoad,o=t.mode,a=t.focus,l=t.theme,d=t.fontSize,h=t.value,f=t.defaultValue,p=t.cursorStart,g=t.showGutter,m=t.wrapEnabled,y=t.showPrintMargin,v=t.scrollMargin,b=void 0===v?[0,0,0,0]:v,w=t.keyboardHandler,C=t.onLoad,x=t.commands,S=t.annotations,k=t.markers,$=t.splits;this.editor=s.edit(this.refEditor),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.setTheme("ace/theme/".concat(l)),n&&n(s);var _=Object.keys(this.props.editorProps),M=new c.Split(this.editor.container,"ace/theme/".concat(l),$);this.editor.env.split=M,this.splitEditor=M.getEditor(0),this.split=M,this.editor.setShowPrintMargin(!1),this.editor.renderer.setShowGutter(!1);var A=this.splitEditor.$options;this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),M.forEach((function(t,i){for(var n=0;n<_.length;n++)t[_[n]]=e.props.editorProps[_[n]];var a=u(f,i),c=u(h,i,"");t.session.setUndoManager(new s.UndoManager),t.setTheme("ace/theme/".concat(l)),t.renderer.setScrollMargin(b[0],b[1],b[2],b[3]),t.getSession().setMode("ace/mode/".concat(o)),t.setFontSize(d),t.renderer.setShowGutter(g),t.getSession().setUseWrapMode(m),t.setShowPrintMargin(y),t.on("focus",e.onFocus),t.on("blur",e.onBlur),t.on("input",e.onInput),t.on("copy",e.onCopy),t.on("paste",e.onPaste),t.on("change",e.onChange),t.getSession().selection.on("changeSelection",e.onSelectionChange),t.getSession().selection.on("changeCursor",e.onCursorChange),t.session.on("changeScrollTop",e.onScroll),t.setValue(void 0===a?c:a,p);var v=u(S,i,[]),C=u(k,i,[]);for(t.getSession().setAnnotations(v),C&&C.length>0&&e.handleMarkers(C,t),n=0;n<r.editorOptions.length;n++){var $=r.editorOptions[n];A.hasOwnProperty($)?t.setOption($,e.props[$]):e.props[$]&&console.warn("ReaceAce: editor option ".concat($," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}e.handleOptions(e.props,t),Array.isArray(x)&&x.forEach((function(e){"string"==typeof e.exec?t.commands.bindKey(e.bindKey,e.exec):t.commands.addCommand(e)})),w&&t.setKeyboardHandler("ace/keyboard/"+w)})),i&&(this.refEditor.className+=" "+i),a&&this.splitEditor.focus();var E=this.editor.env.split;E.setOrientation("below"===this.props.orientation?E.BELOW:E.BESIDE),E.resize(!0),C&&C(E)},t.prototype.componentDidUpdate=function(e){var t=this,i=e,n=this.props,o=this.editor.env.split;if(n.splits!==i.splits&&o.setSplits(n.splits),n.orientation!==i.orientation&&o.setOrientation("below"===n.orientation?o.BELOW:o.BESIDE),o.forEach((function(e,o){n.mode!==i.mode&&e.getSession().setMode("ace/mode/"+n.mode),n.keyboardHandler!==i.keyboardHandler&&(n.keyboardHandler?e.setKeyboardHandler("ace/keyboard/"+n.keyboardHandler):e.setKeyboardHandler(null)),n.fontSize!==i.fontSize&&e.setFontSize(n.fontSize),n.wrapEnabled!==i.wrapEnabled&&e.getSession().setUseWrapMode(n.wrapEnabled),n.showPrintMargin!==i.showPrintMargin&&e.setShowPrintMargin(n.showPrintMargin),n.showGutter!==i.showGutter&&e.renderer.setShowGutter(n.showGutter);for(var a=0;a<r.editorOptions.length;a++){var s=r.editorOptions[a];n[s]!==i[s]&&e.setOption(s,n[s])}f(n.setOptions,i.setOptions)||t.handleOptions(n,e);var l=u(n.value,o,"");if(e.getValue()!==l){t.silent=!0;var c=e.session.selection.toJSON();e.setValue(l,n.cursorStart),e.session.selection.fromJSON(c),t.silent=!1}var d=u(n.annotations,o,[]),h=u(i.annotations,o,[]);f(d,h)||e.getSession().setAnnotations(d);var p=u(n.markers,o,[]),g=u(i.markers,o,[]);!f(p,g)&&Array.isArray(p)&&t.handleMarkers(p,e)})),n.className!==i.className){var a=this.refEditor.className.trim().split(" ");i.className.trim().split(" ").forEach((function(e){var t=a.indexOf(e);a.splice(t,1)})),this.refEditor.className=" "+n.className+" "+a.join(" ")}n.theme!==i.theme&&o.setTheme("ace/theme/"+n.theme),n.focus&&!i.focus&&this.splitEditor.focus(),n.height===this.props.height&&n.width===this.props.width||this.editor.resize()},t.prototype.componentWillUnmount=function(){this.editor.destroy(),this.editor=null},t.prototype.onChange=function(e){if(this.props.onChange&&!this.silent){var t=[];this.editor.env.split.forEach((function(e){t.push(e.getValue())})),this.props.onChange(t,e)}},t.prototype.onSelectionChange=function(e){if(this.props.onSelectionChange){var t=[];this.editor.env.split.forEach((function(e){t.push(e.getSelection())})),this.props.onSelectionChange(t,e)}},t.prototype.onCursorChange=function(e){if(this.props.onCursorChange){var t=[];this.editor.env.split.forEach((function(e){t.push(e.getSelection())})),this.props.onCursorChange(t,e)}},t.prototype.onFocus=function(e){this.props.onFocus&&this.props.onFocus(e)},t.prototype.onInput=function(e){this.props.onInput&&this.props.onInput(e)},t.prototype.onBlur=function(e){this.props.onBlur&&this.props.onBlur(e)},t.prototype.onCopy=function(e){this.props.onCopy&&this.props.onCopy(e)},t.prototype.onPaste=function(e){this.props.onPaste&&this.props.onPaste(e)},t.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},t.prototype.handleOptions=function(e,t){for(var i=Object.keys(e.setOptions),n=0;n<i.length;n++)t.setOption(i[n],e.setOptions[i[n]])},t.prototype.handleMarkers=function(e,t){var i=t.getSession().getMarkers(!0);for(var n in i)i.hasOwnProperty(n)&&t.getSession().removeMarker(i[n].id);for(var n in i=t.getSession().getMarkers(!1))i.hasOwnProperty(n)&&t.getSession().removeMarker(i[n].id);e.forEach((function(e){var i=e.startRow,n=e.startCol,o=e.endRow,a=e.endCol,r=e.className,s=e.type,c=e.inFront,d=void 0!==c&&c,h=new l.Range(i,n,o,a);t.getSession().addMarker(h,r,s,d)}))},t.prototype.updateRef=function(e){this.refEditor=e},t.prototype.render=function(){var e=this.props,t=e.name,i=e.width,n=e.height,o=e.style,r=a({width:i,height:n},o);return h.createElement("div",{ref:this.updateRef,id:t,style:r})},t.propTypes={className:d.string,debounceChangePeriod:d.number,defaultValue:d.arrayOf(d.string),focus:d.bool,fontSize:d.oneOfType([d.number,d.string]),height:d.string,mode:d.string,name:d.string,onBlur:d.func,onChange:d.func,onCopy:d.func,onFocus:d.func,onInput:d.func,onLoad:d.func,onPaste:d.func,onScroll:d.func,orientation:d.string,showGutter:d.bool,splits:d.number,theme:d.string,value:d.arrayOf(d.string),width:d.string,onSelectionChange:d.func,onCursorChange:d.func,onBeforeLoad:d.func,minLines:d.number,maxLines:d.number,readOnly:d.bool,highlightActiveLine:d.bool,tabSize:d.number,showPrintMargin:d.bool,cursorStart:d.number,editorProps:d.object,setOptions:d.object,style:d.object,scrollMargin:d.array,annotations:d.array,markers:d.array,keyboardHandler:d.string,wrapEnabled:d.bool,enableBasicAutocompletion:d.oneOfType([d.bool,d.array]),enableLiveAutocompletion:d.oneOfType([d.bool,d.array]),commands:d.array},t.defaultProps={name:"ace-editor",focus:!1,orientation:"beside",splits:2,mode:"",theme:"",height:"500px",width:"500px",value:[],fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1},t}(h.Component);t.default=p},973:(e,t,i)=>{e=i.nmd(e),function(){var e=function(){return this}();e||"undefined"==typeof window||(e=window);var t=function(e,i,n){"string"==typeof e?(2==arguments.length&&(n=i),t.modules[e]||(t.payloads[e]=n,t.modules[e]=null)):t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};t.modules={},t.payloads={};var i,n,o=function(e,t,i){if("string"==typeof t){var n=s(e,t);if(null!=n)return i&&i(),n}else if("[object Array]"===Object.prototype.toString.call(t)){for(var o=[],r=0,l=t.length;r<l;++r){var c=s(e,t[r]);if(null==c&&a.original)return;o.push(c)}return i&&i.apply(null,o)||!0}},a=function(e,t){var i=o("",e,t);return null==i&&a.original?a.original.apply(this,arguments):i},r=function(e,t){if(-1!==t.indexOf("!")){var i=t.split("!");return r(e,i[0])+"!"+r(e,i[1])}if("."==t.charAt(0))for(t=e.split("/").slice(0,-1).join("/")+"/"+t;-1!==t.indexOf(".")&&n!=t;){var n=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},s=function(e,i){i=r(e,i);var n=t.modules[i];if(!n){if("function"==typeof(n=t.payloads[i])){var a={},s={id:i,uri:"",exports:a,packaged:!0};a=n((function(e,t){return o(i,e,t)}),a,s)||s.exports,t.modules[i]=a,delete t.payloads[i]}n=t.modules[i]=a||n}return n};n=e,(i="ace")&&(e[i]||(e[i]={}),n=e[i]),n.define&&n.define.packaged||(t.original=n.define,n.define=t,n.define.packaged=!0),n.require&&n.require.packaged||(a.original=n.require,n.require=a,n.require.packaged=!0)}(),ace.define("ace/lib/es6-shim",["require","exports","module"],(function(e,t,i){function n(e,t,i){Object.defineProperty(e,t,{value:i,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||n(String.prototype,"startsWith",(function(e,t){return t=t||0,this.lastIndexOf(e,t)===t})),String.prototype.endsWith||n(String.prototype,"endsWith",(function(e,t){var i=this;(void 0===t||t>i.length)&&(t=i.length),t-=e.length;var n=i.indexOf(e,t);return-1!==n&&n===t})),String.prototype.repeat||n(String.prototype,"repeat",(function(e){for(var t="",i=this;e>0;)1&e&&(t+=i),(e>>=1)&&(i+=i);return t})),String.prototype.includes||n(String.prototype,"includes",(function(e,t){return-1!=this.indexOf(e,t)})),Object.assign||(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),i=1;i<arguments.length;i++){var n=arguments[i];null!=n&&Object.keys(n).forEach((function(e){t[e]=n[e]}))}return t}),Object.values||(Object.values=function(e){return Object.keys(e).map((function(t){return e[t]}))}),Array.prototype.find||n(Array.prototype,"find",(function(e){for(var t=this.length,i=arguments[1],n=0;n<t;n++){var o=this[n];if(e.call(i,o,n,this))return o}})),Array.prototype.findIndex||n(Array.prototype,"findIndex",(function(e){for(var t=this.length,i=arguments[1],n=0;n<t;n++){var o=this[n];if(e.call(i,o,n,this))return n}})),Array.prototype.includes||n(Array.prototype,"includes",(function(e,t){return-1!=this.indexOf(e,t)})),Array.prototype.fill||n(Array.prototype,"fill",(function(e){for(var t=this,i=t.length>>>0,n=0|arguments[1],o=n<0?Math.max(i+n,0):Math.min(n,i),a=arguments[2],r=void 0===a?i:0|a,s=r<0?Math.max(i+r,0):Math.min(r,i);o<s;)t[o]=e,o++;return t})),Array.of||n(Array,"of",(function(){return Array.prototype.slice.call(arguments)}))})),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],(function(e,t,i){"use strict";e("./es6-shim")})),ace.define("ace/lib/deep_copy",["require","exports","module"],(function(e,t,i){t.deepCopy=function e(t){if("object"!=typeof t||!t)return t;var i;if(Array.isArray(t)){i=[];for(var n=0;n<t.length;n++)i[n]=e(t[n]);return i}if("[object Object]"!==Object.prototype.toString.call(t))return t;for(var n in i={},t)i[n]=e(t[n]);return i}})),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],(function(e,t,i){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var i="";t>0;)1&t&&(i+=e),(t>>=1)&&(e+=e);return i};var n=/^\s\s*/,o=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(n,"")},t.stringTrimRight=function(e){return e.replace(o,"")},t.copyObject=function(e){var t={};for(var i in e)t[i]=e[i];return t},t.copyArray=function(e){for(var t=[],i=0,n=e.length;i<n;i++)e[i]&&"object"==typeof e[i]?t[i]=this.copyObject(e[i]):t[i]=e[i];return t},t.deepCopy=e("./deep_copy").deepCopy,t.arrayToMap=function(e){for(var t={},i=0;i<e.length;i++)t[e[i]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var i in e)t[i]=e[i];return t},t.arrayRemove=function(e,t){for(var i=0;i<=e.length;i++)t===e[i]&&e.splice(i,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var i=[];return e.replace(t,(function(e){i.push({offset:arguments[arguments.length-2],length:e.length})})),i},t.deferredCall=function(e){var t=null,i=function(){t=null,e()},n=function(e){return n.cancel(),t=setTimeout(i,e||0),n};return n.schedule=n,n.call=function(){return this.cancel(),e(),n},n.cancel=function(){return clearTimeout(t),t=null,n},n.isPending=function(){return t},n},t.delayedCall=function(e,t){var i=null,n=function(){i=null,e()},o=function(e){null==i&&(i=setTimeout(n,e||t))};return o.delay=function(e){i&&clearTimeout(i),i=setTimeout(n,e||t)},o.schedule=o,o.call=function(){this.cancel(),e()},o.cancel=function(){i&&clearTimeout(i),i=null},o.isPending=function(){return i},o},t.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch(e){return!1}return!0},t.skipEmptyMatch=function(e,t,i){return i&&e.codePointAt(t)>65535?2:1}})),ace.define("ace/lib/useragent",["require","exports","module"],(function(e,t,i){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var n="object"==typeof navigator?navigator:{},o=(/mac|win|linux/i.exec(n.platform)||["other"])[0].toLowerCase(),a=n.userAgent||"",r=n.appName||"";t.isWin="win"==o,t.isMac="mac"==o,t.isLinux="linux"==o,t.isIE="Microsoft Internet Explorer"==r||r.indexOf("MSAppHost")>=0?parseFloat((a.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((a.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=a.match(/ Gecko\/\d+/),t.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(a.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(a.split(" Chrome/")[1])||void 0,t.isSafari=parseFloat(a.split(" Safari/")[1])&&!t.isChrome||void 0,t.isEdge=parseFloat(a.split(" Edge/")[1])||void 0,t.isAIR=a.indexOf("AdobeAIR")>=0,t.isAndroid=a.indexOf("Android")>=0,t.isChromeOS=a.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(a)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(e,t,i){"use strict";var n,o=e("./useragent");t.buildDom=function e(t,i,n){if("string"==typeof t&&t){var o=document.createTextNode(t);return i&&i.appendChild(o),o}if(!Array.isArray(t))return t&&t.appendChild&&i&&i.appendChild(t),t;if("string"!=typeof t[0]||!t[0]){for(var a=[],r=0;r<t.length;r++){var s=e(t[r],i,n);s&&a.push(s)}return a}var l=document.createElement(t[0]),c=t[1],d=1;for(c&&"object"==typeof c&&!Array.isArray(c)&&(d=2),r=d;r<t.length;r++)e(t[r],l,n);return 2==d&&Object.keys(c).forEach((function(e){var t=c[e];"class"===e?l.className=Array.isArray(t)?t.join(" "):t:"function"==typeof t||"value"==e||"$"==e[0]?l[e]=t:"ref"===e?n&&(n[t]=l):"style"===e?"string"==typeof t&&(l.style.cssText=t):null!=t&&l.setAttribute(e,t)})),i&&i.appendChild(l),l},t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=""},t.createTextNode=function(e,t){return(t?t.ownerDocument:document).createTextNode(e)},t.createFragment=function(e){return(e?e.ownerDocument:document).createDocumentFragment()},t.hasCssClass=function(e,t){return-1!==(e.className+"").split(/\s+/g).indexOf(t)},t.addCssClass=function(e,i){t.hasCssClass(e,i)||(e.className+=" "+i)},t.removeCssClass=function(e,t){for(var i=e.className.split(/\s+/g);;){var n=i.indexOf(t);if(-1==n)break;i.splice(n,1)}e.className=i.join(" ")},t.toggleCssClass=function(e,t){for(var i=e.className.split(/\s+/g),n=!0;;){var o=i.indexOf(t);if(-1==o)break;n=!1,i.splice(o,1)}return n&&i.push(t),e.className=i.join(" "),n},t.setCssClass=function(e,i,n){n?t.addCssClass(e,i):t.removeCssClass(e,i)},t.hasCssString=function(e,t){var i,n=0;if(i=(t=t||document).querySelectorAll("style"))for(;n<i.length;)if(i[n++].id===e)return!0},t.removeElementById=function(e,t){(t=t||document).getElementById(e)&&t.getElementById(e).remove()};var a=[];function r(){var e=a;a=null,e&&e.forEach((function(e){s(e[0],e[1])}))}function s(e,i,o){if("undefined"!=typeof document){if(a)if(o)r();else if(!1===o)return a.push([e,i]);if(!n){var s=o;o&&o.getRootNode&&(s=o.getRootNode())&&s!=o||(s=document);var l=s.ownerDocument||s;if(i&&t.hasCssString(i,s))return null;i&&(e+="\n/*# sourceURL=ace/css/"+i+" */");var c=t.createElement("style");c.appendChild(l.createTextNode(e)),i&&(c.id=i),s==l&&(s=t.getDocumentHead(l)),s.insertBefore(c,s.firstChild)}}}if(t.useStrictCSP=function(e){n=e,0==e?r():a||(a=[])},t.importCssString=s,t.importCssStylsheet=function(e,i){t.buildDom(["link",{rel:"stylesheet",href:e}],t.getDocumentHead(i))},t.scrollbarWidth=function(e){var i=t.createElement("ace_inner");i.style.width="100%",i.style.minWidth="0px",i.style.height="200px",i.style.display="block";var n=t.createElement("ace_outer"),o=n.style;o.position="absolute",o.left="-10000px",o.overflow="hidden",o.width="200px",o.minWidth="0px",o.height="150px",o.display="block",n.appendChild(i);var a=e&&e.documentElement||document&&document.documentElement;if(!a)return 0;a.appendChild(n);var r=i.offsetWidth;o.overflow="scroll";var s=i.offsetWidth;return r===s&&(s=n.clientWidth),a.removeChild(n),r-s},t.computedStyle=function(e,t){return window.getComputedStyle(e,"")||{}},t.setStyle=function(e,t,i){e[t]!==i&&(e[t]=i)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=!o.isWin||"undefined"!=typeof window&&window.devicePixelRatio>=1.5,o.isChromeOS&&(t.HI_DPI=!1),"undefined"!=typeof document){var l=document.createElement("div");t.HI_DPI&&void 0!==l.style.transform&&(t.HAS_CSS_TRANSFORMS=!0),o.isEdge||void 0===l.style.animationName||(t.HAS_CSS_ANIMATION=!0),l=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,i){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(i)+"px)"}:t.translate=function(e,t,i){e.style.top=Math.round(i)+"px",e.style.left=Math.round(t)+"px"}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(e,t,i){"use strict";var n=e("./dom");t.get=function(e,t){var i=new XMLHttpRequest;i.open("GET",e,!0),i.onreadystatechange=function(){4===i.readyState&&t(i.responseText)},i.send(null)},t.loadScript=function(e,t){var i=n.getDocumentHead(),o=document.createElement("script");o.src=e,i.appendChild(o),o.onload=o.onreadystatechange=function(e,i){!i&&o.readyState&&"loaded"!=o.readyState&&"complete"!=o.readyState||(o=o.onload=o.onreadystatechange=null,i||t())}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}})),ace.define("ace/lib/oop",["require","exports","module"],(function(e,t,i){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var i in t)e[i]=t[i];return e},t.implement=function(e,i){t.mixin(e,i)}})),ace.define("ace/lib/event_emitter",["require","exports","module"],(function(e,t,i){"use strict";var n={},o=function(){this.propagationStopped=!0},a=function(){this.defaultPrevented=!0};n._emit=n._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var i=this._eventRegistry[e]||[],n=this._defaultHandlers[e];if(i.length||n){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=o),t.preventDefault||(t.preventDefault=a),i=i.slice();for(var r=0;r<i.length&&(i[r](t,this),!t.propagationStopped);r++);return n&&!t.defaultPrevented?n(t,this):void 0}},n._signal=function(e,t){var i=(this._eventRegistry||{})[e];if(i){i=i.slice();for(var n=0;n<i.length;n++)i[n](t,this)}},n.once=function(e,t){var i=this;if(this.on(e,(function n(){i.off(e,n),t.apply(null,arguments)})),!t)return new Promise((function(e){t=e}))},n.setDefaultHandler=function(e,t){var i=this._defaultHandlers;if(i||(i=this._defaultHandlers={_disabled_:{}}),i[e]){var n=i[e],o=i._disabled_[e];o||(i._disabled_[e]=o=[]),o.push(n);var a=o.indexOf(t);-1!=a&&o.splice(a,1)}i[e]=t},n.removeDefaultHandler=function(e,t){var i=this._defaultHandlers;if(i){var n=i._disabled_[e];if(i[e]==t)n&&this.setDefaultHandler(e,n.pop());else if(n){var o=n.indexOf(t);-1!=o&&n.splice(o,1)}}},n.on=n.addEventListener=function(e,t,i){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];return n||(n=this._eventRegistry[e]=[]),-1==n.indexOf(t)&&n[i?"unshift":"push"](t),t},n.off=n.removeListener=n.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[e];if(i){var n=i.indexOf(t);-1!==n&&i.splice(n,1)}},n.removeAllListeners=function(e){e||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[e]=void 0),this._defaultHandlers&&(this._defaultHandlers[e]=void 0)},t.EventEmitter=n})),ace.define("ace/lib/report_error",["require","exports","module"],(function(e,t,i){t.reportError=function(e,t){var i=new Error(e);i.data=t,"object"==typeof console&&console.error&&console.error(i),setTimeout((function(){throw i}))}})),ace.define("ace/lib/default_english_messages",["require","exports","module"],(function(e,t,i){t.defaultEnglishMessages={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"}})),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],(function(e,t,i){var n,o,a=e("./oop"),r=e("./event_emitter").EventEmitter,s=e("./report_error").reportError,l=e("./default_english_messages").defaultEnglishMessages,c={setOptions:function(e){Object.keys(e).forEach((function(t){this.setOption(t,e[t])}),this)},getOptions:function(e){var t={};if(e)Array.isArray(e)||(t=e,e=Object.keys(t));else{var i=this.$options;e=Object.keys(i).filter((function(e){return!i[e].hidden}))}return e.forEach((function(e){t[e]=this.getOption(e)}),this),t},setOption:function(e,t){if(this["$"+e]!==t){var i=this.$options[e];if(!i)return d('misspelled option "'+e+'"');if(i.forwardTo)return this[i.forwardTo]&&this[i.forwardTo].setOption(e,t);i.handlesSet||(this["$"+e]=t),i&&i.set&&i.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:d('misspelled option "'+e+'"')}};function d(e){"undefined"!=typeof console&&console.warn&&console.warn.apply(console,arguments)}var h=function(){function e(){this.$defaultOptions={},n=l,o="dollarSigns"}return e.prototype.defineOptions=function(e,t,i){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(i).forEach((function(t){var n=i[t];"string"==typeof n&&(n={forwardTo:n}),n.name||(n.name=t),e.$options[n.name]=n,"initialValue"in n&&(e["$"+n.name]=n.initialValue)})),a.implement(e,c),this},e.prototype.resetOptions=function(e){Object.keys(e.$options).forEach((function(t){var i=e.$options[t];"value"in i&&e.setOption(t,i.value)}))},e.prototype.setDefaultValue=function(e,t,i){if(!e){for(e in this.$defaultOptions)if(this.$defaultOptions[e][t])break;if(!this.$defaultOptions[e][t])return!1}var n=this.$defaultOptions[e]||(this.$defaultOptions[e]={});n[t]&&(n.forwardTo?this.setDefaultValue(n.forwardTo,t,i):n[t].value=i)},e.prototype.setDefaultValues=function(e,t){Object.keys(t).forEach((function(i){this.setDefaultValue(e,i,t[i])}),this)},e.prototype.setMessages=function(e,t){n=e,t&&t.placeholders&&(o=t.placeholders)},e.prototype.nls=function(e,t,i){n[e]||(d("No message found for the key '"+e+"' in messages with id "+n.$id+", trying to find a translation for the default string '"+t+"'."),n[t]||d("No message found for the default string '"+t+"' in the provided messages. Falling back to the default English message."));var a=n[e]||n[t]||t;return i&&("dollarSigns"===o&&(a=a.replace(/\$(\$|[\d]+)/g,(function(e,t){return"$"==t?"$":i[t]}))),"curlyBrackets"===o&&(a=a.replace(/\{([^\}]+)\}/g,(function(e,t){return i[t]})))),a},e}();h.prototype.warn=d,h.prototype.reportError=s,a.implement(h.prototype,r),t.AppConfig=h})),ace.define("ace/theme/textmate-css",["require","exports","module"],(function(e,t,i){i.exports='.ace-tm .ace_gutter {\n  background: #f0f0f0;\n  color: #333;\n}\n\n.ace-tm .ace_print-margin {\n  width: 1px;\n  background: #e8e8e8;\n}\n\n.ace-tm .ace_fold {\n    background-color: #6B72E6;\n}\n\n.ace-tm {\n  background-color: #FFFFFF;\n  color: black;\n}\n\n.ace-tm .ace_cursor {\n  color: black;\n}\n        \n.ace-tm .ace_invisible {\n  color: rgb(191, 191, 191);\n}\n\n.ace-tm .ace_storage,\n.ace-tm .ace_keyword {\n  color: blue;\n}\n\n.ace-tm .ace_constant {\n  color: rgb(197, 6, 11);\n}\n\n.ace-tm .ace_constant.ace_buildin {\n  color: rgb(88, 72, 246);\n}\n\n.ace-tm .ace_constant.ace_language {\n  color: rgb(88, 92, 246);\n}\n\n.ace-tm .ace_constant.ace_library {\n  color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_invalid {\n  background-color: rgba(255, 0, 0, 0.1);\n  color: red;\n}\n\n.ace-tm .ace_support.ace_function {\n  color: rgb(60, 76, 114);\n}\n\n.ace-tm .ace_support.ace_constant {\n  color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_support.ace_type,\n.ace-tm .ace_support.ace_class {\n  color: rgb(109, 121, 222);\n}\n\n.ace-tm .ace_keyword.ace_operator {\n  color: rgb(104, 118, 135);\n}\n\n.ace-tm .ace_string {\n  color: rgb(3, 106, 7);\n}\n\n.ace-tm .ace_comment {\n  color: rgb(76, 136, 107);\n}\n\n.ace-tm .ace_comment.ace_doc {\n  color: rgb(0, 102, 255);\n}\n\n.ace-tm .ace_comment.ace_doc.ace_tag {\n  color: rgb(128, 159, 191);\n}\n\n.ace-tm .ace_constant.ace_numeric {\n  color: rgb(0, 0, 205);\n}\n\n.ace-tm .ace_variable {\n  color: rgb(49, 132, 149);\n}\n\n.ace-tm .ace_xml-pe {\n  color: rgb(104, 104, 91);\n}\n\n.ace-tm .ace_entity.ace_name.ace_function {\n  color: #0000A2;\n}\n\n\n.ace-tm .ace_heading {\n  color: rgb(12, 7, 255);\n}\n\n.ace-tm .ace_list {\n  color:rgb(185, 6, 144);\n}\n\n.ace-tm .ace_meta.ace_tag {\n  color:rgb(0, 22, 142);\n}\n\n.ace-tm .ace_string.ace_regex {\n  color: rgb(255, 0, 0)\n}\n\n.ace-tm .ace_marker-layer .ace_selection {\n  background: rgb(181, 213, 255);\n}\n.ace-tm.ace_multiselect .ace_selection.ace_start {\n  box-shadow: 0 0 3px 0px white;\n}\n.ace-tm .ace_marker-layer .ace_step {\n  background: rgb(252, 255, 0);\n}\n\n.ace-tm .ace_marker-layer .ace_stack {\n  background: rgb(164, 229, 101);\n}\n\n.ace-tm .ace_marker-layer .ace_bracket {\n  margin: -1px 0 0 -1px;\n  border: 1px solid rgb(192, 192, 192);\n}\n\n.ace-tm .ace_marker-layer .ace_active-line {\n  background: rgba(0, 0, 0, 0.07);\n}\n\n.ace-tm .ace_gutter-active-line {\n    background-color : #dcdcdc;\n}\n\n.ace-tm .ace_marker-layer .ace_selected-word {\n  background: rgb(250, 250, 255);\n  border: 1px solid rgb(200, 200, 250);\n}\n\n.ace-tm .ace_indent-guide {\n  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;\n}\n\n.ace-tm .ace_indent-guide-active {\n  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;\n}\n'})),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],(function(e,t,i){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText=e("./textmate-css"),t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass,!1)})),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],(function(e,t,i){var n=e("./lib/lang"),o=e("./lib/net"),a=e("./lib/dom"),r=e("./lib/app_config").AppConfig;i.exports=t=new r;var s,l={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};t.get=function(e){if(!l.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return l[e]},t.set=function(e,t){if(l.hasOwnProperty(e))l[e]=t;else if(0==this.setDefaultValue("",e,t))throw new Error("Unknown config key: "+e);"useStrictCSP"==e&&a.useStrictCSP(t)},t.all=function(){return n.copyObject(l)},t.$modes={},t.moduleUrl=function(e,t){if(l.$moduleUrls[e])return l.$moduleUrls[e];var i=e.split("/"),n="snippets"==(t=t||i[i.length-2]||"")?"/":"-",o=i[i.length-1];if("worker"==t&&"-"==n){var a=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");o=o.replace(a,"")}(!o||o==t)&&i.length>1&&(o=i[i.length-2]);var r=l[t+"Path"];return null==r?r=l.basePath:"/"==n&&(t=n=""),r&&"/"!=r.slice(-1)&&(r+="/"),r+t+n+o+this.get("suffix")},t.setModuleUrl=function(e,t){return l.$moduleUrls[e]=t},t.setLoader=function(e){s=e},t.dynamicModules=Object.create(null),t.$loading={},t.$loaded={},t.loadModule=function(i,n){var a;if(Array.isArray(i))var r=i[0],l=i[1];else"string"==typeof i&&(l=i);var d=function(i){if(i&&!t.$loading[l])return n&&n(i);if(t.$loading[l]||(t.$loading[l]=[]),t.$loading[l].push(n),!(t.$loading[l].length>1)){var a=function(){!function(t,i){"ace/theme/textmate"===t||"./theme/textmate"===t?i(0,e("./theme/textmate")):s?s(t,i):console.error("loader is not configured")}(l,(function(e,i){i&&(t.$loaded[l]=i),t._emit("load.module",{name:l,module:i});var n=t.$loading[l];t.$loading[l]=null,n.forEach((function(e){e&&e(i)}))}))};if(!t.get("packaged"))return a();o.loadScript(t.moduleUrl(l,r),a),c()}};if(t.dynamicModules[l])t.dynamicModules[l]().then((function(e){e.default?d(e.default):d(e)}));else{try{a=this.$require(l)}catch(e){}d(a||t.$loaded[l])}},t.$require=function(e){if("function"==typeof i.require)return i.require(e)},t.setModuleLoader=function(e,i){t.dynamicModules[e]=i};var c=function(){l.basePath||l.workerPath||l.modePath||l.themePath||Object.keys(l.$moduleUrls).length||(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),c=function(){})};t.version="1.39.1"})),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],(function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var o=e("./config");o.setLoader((function(t,i){e([t],(function(e){i(null,e)}))}));var a=function(){return this||"undefined"!=typeof window&&window}();function r(t){if(a&&a.document){o.set("packaged",t||e.packaged||n.packaged||a.define&&i.amdD.packaged);var r={},s="",l=document.currentScript||document._currentScript,c=l&&l.ownerDocument||document;l&&l.src&&(s=l.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var d,h=c.getElementsByTagName("script"),f=0;f<h.length;f++){var u=h[f],p=u.src||u.getAttribute("src");if(p){for(var g=u.attributes,m=0,y=g.length;m<y;m++){var v=g[m];0===v.name.indexOf("data-ace-")&&(r[(d=v.name.replace(/^data-ace-/,""),d.replace(/-(.)/g,(function(e,t){return t.toUpperCase()})))]=v.value)}var b=p.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);b&&(s=b[1])}}for(var w in s&&(r.base=r.base||s,r.packaged=!0),r.basePath=r.base,r.workerPath=r.workerPath||r.base,r.modePath=r.modePath||r.base,r.themePath=r.themePath||r.base,delete r.base,r)void 0!==r[w]&&o.set(w,r[w])}}n.exports=function(t){o.init=r,o.$require=e,t.require=e,t.define=i.amdD},r(!0)})),ace.define("ace/range",["require","exports","module"],(function(e,t,i){"use strict";var n=function(){function e(e,t,i,n){this.start={row:e,column:t},this.end={row:i,column:n}}return e.prototype.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},e.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},e.prototype.contains=function(e,t){return 0==this.compare(e,t)},e.prototype.compareRange=function(e){var t,i=e.end,n=e.start;return 1==(t=this.compare(i.row,i.column))?1==(t=this.compare(n.row,n.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(n.row,n.column))?-1:1==t?42:0},e.prototype.comparePoint=function(e){return this.compare(e.row,e.column)},e.prototype.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},e.prototype.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},e.prototype.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},e.prototype.isStart=function(e,t){return this.start.row==e&&this.start.column==t},e.prototype.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},e.prototype.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},e.prototype.inside=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)&&!this.isStart(e,t)},e.prototype.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},e.prototype.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},e.prototype.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},e.prototype.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},e.prototype.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.clipRows=function(t,i){if(this.end.row>i)var n={row:i+1,column:0};else this.end.row<t&&(n={row:t,column:0});if(this.start.row>i)var o={row:i+1,column:0};else this.start.row<t&&(o={row:t,column:0});return e.fromPoints(o||this.start,n||this.end)},e.prototype.extend=function(t,i){var n=this.compare(t,i);if(0==n)return this;if(-1==n)var o={row:t,column:i};else var a={row:t,column:i};return e.fromPoints(o||this.start,a||this.end)},e.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},e.prototype.isMultiLine=function(){return this.start.row!==this.end.row},e.prototype.clone=function(){return e.fromPoints(this.start,this.end)},e.prototype.collapseRows=function(){return 0==this.end.column?new e(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new e(this.start.row,0,this.end.row,0)},e.prototype.toScreenRange=function(t){var i=t.documentToScreenPosition(this.start),n=t.documentToScreenPosition(this.end);return new e(i.row,i.column,n.row,n.column)},e.prototype.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t},e}();n.fromPoints=function(e,t){return new n(e.row,e.column,t.row,t.column)},n.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=n})),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],(function(e,t,i){"use strict";for(var n=e("./oop"),o={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},a={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},r=0;r<10;r++)a["Digit"+r]=48+r,a["Numpad"+r]=96+r,o.PRINTABLE_KEYS[48+r]=""+r,o.FUNCTION_KEYS[96+r]="Numpad"+r;for(r=65;r<91;r++){var s=String.fromCharCode(r+32);a["Key"+s.toUpperCase()]=r,o.PRINTABLE_KEYS[r]=s}for(r=1;r<13;r++)a["F"+r]=111+r,o.FUNCTION_KEYS[111+r]="F"+r;var l={Shift:16,Control:17,Alt:18,Meta:224};for(var c in l)a[c]=a[c+"Left"]=a[c+"Right"]=l[c];for(var d in t.$codeToKeyCode=a,o.PRINTABLE_KEYS[173]="-",o.FUNCTION_KEYS){var h=o.FUNCTION_KEYS[d].toLowerCase();o[h]=parseInt(d,10)}for(var d in o.PRINTABLE_KEYS)h=o.PRINTABLE_KEYS[d].toLowerCase(),o[h]=parseInt(d,10);n.mixin(o,o.MODIFIER_KEYS),n.mixin(o,o.PRINTABLE_KEYS),n.mixin(o,o.FUNCTION_KEYS),o.enter=o.return,o.escape=o.esc,o.del=o.delete,function(){for(var e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)o.KEY_MODS[t]=e.filter((function(e){return t&o.KEY_MODS[e]})).join("-")+"-"}(),o.KEY_MODS[0]="",o.KEY_MODS[-1]="input-",n.mixin(t,o),t.default=t,t.keyCodeToString=function(e){var t=o[e];return"string"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}})),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(e,t,i){"use strict";var n,o=e("./keys"),a=e("./useragent"),r=null,s=0;function l(){return null==n&&function(){n=!1;try{document.createComment("").addEventListener("test",(function(){}),{get passive(){return n={passive:!1},!0}})}catch(e){}}(),n}function c(e,t,i){this.elem=e,this.type=t,this.callback=i}c.prototype.destroy=function(){h(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var d=t.addListener=function(e,t,i,n){e.addEventListener(t,i,l()),n&&n.$toDestroy.push(new c(e,t,i))},h=t.removeListener=function(e,t,i){e.removeEventListener(t,i,l())};function f(e){return(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}function u(){r=Object.create(null)}if(t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},t.preventDefault=function(e){e.preventDefault&&e.preventDefault()},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||a.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},t.capture=function(e,t,i){var n=e&&e.ownerDocument||document;function o(e){t&&t(e),i&&i(e),h(n,"mousemove",t),h(n,"mouseup",o),h(n,"dragstart",o)}return d(n,"mousemove",t),d(n,"mouseup",o),d(n,"dragstart",o),o},t.addMouseWheelListener=function(e,t,i){d(e,"wheel",(function(e){var i=e.deltaX||0,n=e.deltaY||0;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.15*i,e.wheelY=.15*n;break;case e.DOM_DELTA_LINE:e.wheelX=15*i,e.wheelY=15*n;break;case e.DOM_DELTA_PAGE:e.wheelX=150*i,e.wheelY=150*n}t(e)}),i)},t.addMultiMouseDownListener=function(e,i,n,o,r){var s,l,c,h=0,f={2:"dblclick",3:"tripleclick",4:"quadclick"};function u(e){if(0!==t.getButton(e)?h=0:e.detail>1?++h>4&&(h=1):h=1,a.isIE){var r=Math.abs(e.clientX-s)>5||Math.abs(e.clientY-l)>5;c&&!r||(h=1),c&&clearTimeout(c),c=setTimeout((function(){c=null}),i[h-1]||600),1==h&&(s=e.clientX,l=e.clientY)}if(e._clicks=h,n[o]("mousedown",e),h>4)h=0;else if(h>1)return n[o](f[h],e)}Array.isArray(e)||(e=[e]),e.forEach((function(e){d(e,"mousedown",u,r)}))},t.getModifierString=function(e){return o.KEY_MODS[f(e)]},t.addCommandKeyListener=function(e,i,n){var l=null;d(e,"keydown",(function(e){r[e.keyCode]=(r[e.keyCode]||0)+1;var t=function(e,t,i){var n=f(t);if(!i&&t.code&&(i=o.$codeToKeyCode[t.code]||i),!a.isMac&&r){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(n|=8),r.altGr){if(!(3&~n))return;r.altGr=0}if(18===i||17===i){var l=t.location;17===i&&1===l?1==r[i]&&(s=t.timeStamp):18===i&&3===n&&2===l&&t.timeStamp-s<50&&(r.altGr=!0)}}if(i in o.MODIFIER_KEYS&&(i=-1),n||13!==i||3!==t.location||(e(t,n,-i),!t.defaultPrevented)){if(a.isChromeOS&&8&n){if(e(t,n,i),t.defaultPrevented)return;n&=-9}return!!(n||i in o.FUNCTION_KEYS||i in o.PRINTABLE_KEYS)&&e(t,n,i)}}(i,e,e.keyCode);return l=e.defaultPrevented,t}),n),d(e,"keypress",(function(e){l&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),l=null)}),n),d(e,"keyup",(function(e){r[e.keyCode]=null}),n),r||(u(),d(window,"focus",u))},"object"==typeof window&&window.postMessage&&!a.isOldIE){var p=1;t.nextTick=function(e,i){i=i||window;var n="zero-timeout-message-"+p++,o=function(a){a.data==n&&(t.stopPropagation(a),h(i,"message",o),e())};d(i,"message",o),i.postMessage(n,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,i){return setTimeout((function i(){t.$idleBlocked?setTimeout(i,100):e()}),i)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout((function(){t.$idleBlocked=!1}),e||100)},t.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}})),ace.define("ace/clipboard",["require","exports","module"],(function(e,t,i){"use strict";var n;i.exports={lineMode:!1,pasteCancelled:function(){return!!(n&&n>Date.now()-50)||(n=!1)},cancel:function(){n=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(e,t,i){"use strict";var n,o=e("../lib/event"),a=e("../config").nls,r=e("../lib/useragent"),s=e("../lib/dom"),l=e("../lib/lang"),c=e("../clipboard"),d=r.isChrome<18,h=r.isIE,f=r.isChrome>63,u=400,p=e("../lib/keys"),g=p.KEY_MODS,m=r.isIOS,y=m?/\s/:/\n/,v=r.isMobile;n=function(e,t){var i=s.createElement("textarea");i.className="ace_text-input",i.setAttribute("wrap","off"),i.setAttribute("autocorrect","off"),i.setAttribute("autocapitalize","off"),i.setAttribute("spellcheck","false"),i.style.opacity="0",e.insertBefore(i,e.firstChild);var n=!1,b=!1,w=!1,C=!1,x="";v||(i.style.fontSize="1px");var S=!1,k=!1,$="",_=0,M=0,A=0,E=Number.MAX_SAFE_INTEGER,L=Number.MIN_SAFE_INTEGER,T=0;try{var R=document.activeElement===i}catch(e){}this.setNumberOfExtraLines=function(e){E=Number.MAX_SAFE_INTEGER,L=Number.MIN_SAFE_INTEGER,T=e<0?0:e},this.setAriaLabel=function(){var e="";if(t.$textInputAriaLabel&&(e+="".concat(t.$textInputAriaLabel,", ")),t.session){var n=t.session.selection.cursor.row;e+=a("text-input.aria-label","Cursor at row $0",[n+1])}i.setAttribute("aria-label",e)},this.setAriaOptions=function(e){e.activeDescendant?(i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-autocomplete",e.inline?"both":"list"),i.setAttribute("aria-activedescendant",e.activeDescendant)):(i.setAttribute("aria-haspopup","false"),i.setAttribute("aria-autocomplete","both"),i.removeAttribute("aria-activedescendant")),e.role&&i.setAttribute("role",e.role),e.setLabel&&(i.setAttribute("aria-roledescription",a("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),o.addListener(i,"blur",(function(e){k||(t.onBlur(e),R=!1)}),t),o.addListener(i,"focus",(function(e){if(!k){if(R=!0,r.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),r.isEdge?setTimeout(O):O()}}),t),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:t.renderer.enableKeyboardAccessibility}),x||f||"browser"==this.$focusScroll)return i.focus({preventScroll:!0});var e=i.style.top;i.style.position="fixed",i.style.top="0px";try{var n=0!=i.getBoundingClientRect().top}catch(e){return}var o=[];if(n)for(var a=i.parentElement;a&&1==a.nodeType;)o.push(a),a.setAttribute("ace_nocontext","true"),a=!a.parentElement&&a.getRootNode?a.getRootNode().host:a.parentElement;i.focus({preventScroll:!0}),n&&o.forEach((function(e){e.removeAttribute("ace_nocontext")})),setTimeout((function(){i.style.position="","0px"==i.style.top&&(i.style.top=e)}),0)},this.blur=function(){i.blur()},this.isFocused=function(){return R},t.on("beforeEndOperation",(function(){var e=t.curOp,n=e&&e.command&&e.command.name;if("insertstring"!=n){var o=n&&(e.docChanged||e.selectionChanged);w&&o&&($=i.value="",V()),O()}})),t.on("changeSelection",this.setAriaLabel);var I=function(e,i){for(var n=i,o=1;o<=e-E&&o<2*T+1;o++)n+=t.session.getLine(e-o).length+1;return n},O=m?function(e){if(R&&(!n||e)&&!C){e||(e="");var o="\n ab"+e+"cde fg\n";o!=i.value&&(i.value=$=o);var a=4+(e.length||(t.selection.isEmpty()?0:1));4==_&&M==a||i.setSelectionRange(4,a),_=4,M=a}}:function(){if(!w&&!C&&(R||D)){w=!0;var e=0,n=0,o="";if(t.session){var a=t.selection,r=a.getRange(),s=a.cursor.row;s===L+1?L=(E=L+1)+2*T:s===E-1?E=(L=E-1)-2*T:(s<E-1||s>L+1)&&(E=s>T?s-T:0,L=s>T?s+T:2*T);for(var l=[],c=E;c<=L;c++)l.push(t.session.getLine(c));if(o=l.join("\n"),e=I(r.start.row,r.start.column),n=I(r.end.row,r.end.column),r.start.row<E){var d=t.session.getLine(E-1);e=r.start.row<E-1?0:e,n+=d.length+1,o=d+"\n"+o}else if(r.end.row>L){var h=t.session.getLine(L+1);n=r.end.row>L+1?h.length:r.end.column,n+=o.length+1,o=o+"\n"+h}else v&&s>0&&(o="\n"+o,n+=1,e+=1);o.length>u&&(e<u&&n<u?o=o.slice(0,u):(o="\n",e==n?e=n=0:(e=0,n=1)));var f=o+"\n\n";f!=$&&(i.value=$=f,_=M=f.length)}if(D&&(_=i.selectionStart,M=i.selectionEnd),M!=n||_!=e||i.selectionEnd!=M)try{i.setSelectionRange(e,n),_=e,M=n}catch(e){}w=!1}};this.resetSelection=O,R&&t.onFocus();var N=null;this.setInputHandler=function(e){N=e},this.getInputHandler=function(){return N};var D=!1,P=function(e,n){if(D&&(D=!1),b)return O(),e&&t.onPaste(e),b=!1,"";for(var o=i.selectionStart,a=i.selectionEnd,s=_,l=$.length-M,c=e,d=e.length-o,h=e.length-a,f=0;s>0&&$[f]==e[f];)f++,s--;for(c=c.slice(f),f=1;l>0&&$.length-f>_-1&&$[$.length-f]==e[e.length-f];)f++,l--;d-=f-1,h-=f-1;var u=c.length-f+1;if(u<0&&(s=-u,u=0),c=c.slice(0,u),!(n||c||d||s||l||h))return"";C=!0;var p=!1;return r.isAndroid&&". "==c&&(c="  ",p=!0),c&&!s&&!l&&!d&&!h||S?t.onTextInput(c):t.onTextInput(c,{extendLeft:s,extendRight:l,restoreStart:d,restoreEnd:h}),C=!1,$=e,_=o,M=a,A=h,p?"\n":c},z=function(e){if(w)return U();if(e&&e.inputType){if("historyUndo"==e.inputType)return t.execCommand("undo");if("historyRedo"==e.inputType)return t.execCommand("redo")}var n=i.value,o=P(n,!0);(n.length>500||y.test(o)||v&&_<1&&_==M)&&O()},F=function(e,t,i){var n=e.clipboardData||window.clipboardData;if(n&&!d){var o=h||i?"Text":"text/plain";try{return t?!1!==n.setData(o,t):n.getData(o)}catch(e){if(!i)return F(e,t,!0)}}},B=function(e,a){var r=t.getCopyText();if(!r)return o.preventDefault(e);F(e,r)?(m&&(O(r),n=r,setTimeout((function(){n=!1}),10)),a?t.onCut():t.onCopy(),o.preventDefault(e)):(n=!0,i.value=r,i.select(),setTimeout((function(){n=!1,O(),a?t.onCut():t.onCopy()})))},H=function(e){B(e,!0)},W=function(e){B(e,!1)},j=function(e){var n=F(e);c.pasteCancelled()||("string"==typeof n?(n&&t.onPaste(n,e),r.isIE&&setTimeout(O),o.preventDefault(e)):(i.value="",b=!0))};o.addCommandKeyListener(i,(function(e,i,n){if(!w)return t.onCommandKey(e,i,n)}),t),o.addListener(i,"select",(function(e){w||(n?n=!1:function(e){return 0===e.selectionStart&&e.selectionEnd>=$.length&&e.value===$&&$&&e.selectionEnd!==M}(i)?(t.selectAll(),O()):v&&i.selectionStart!=_&&O())}),t),o.addListener(i,"input",z,t),o.addListener(i,"cut",H,t),o.addListener(i,"copy",W,t),o.addListener(i,"paste",j,t),"oncut"in i&&"oncopy"in i&&"onpaste"in i||o.addListener(e,"keydown",(function(e){if((!r.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:W(e);break;case 86:j(e);break;case 88:H(e)}}),t);var U=function(){if(w&&t.onCompositionUpdate&&!t.$readOnly){if(S)return G();if(w.useTextareaForIME)t.onCompositionUpdate(i.value);else{var e=i.value;P(e),w.markerRange&&(w.context&&(w.markerRange.start.column=w.selectionStart=w.context.compositionStartOffset),w.markerRange.end.column=w.markerRange.start.column+M-w.selectionStart+A)}}},V=function(e){t.onCompositionEnd&&!t.$readOnly&&(w=!1,t.onCompositionEnd(),t.off("mousedown",G),e&&z())};function G(){k=!0,i.blur(),i.focus(),k=!1}var K,q=l.delayedCall(U,50).schedule.bind(null,null);function Y(){clearTimeout(K),K=setTimeout((function(){x&&(i.style.cssText=x,x=""),t.renderer.$isMousePressed=!1,t.renderer.$keepTextAreaAtCursor&&t.renderer.$moveTextAreaToCursor()}),0)}o.addListener(i,"compositionstart",(function(e){if(!w&&t.onCompositionStart&&!t.$readOnly&&(w={},!S)){e.data&&(w.useTextareaForIME=!1),setTimeout(U,0),t._signal("compositionStart"),t.on("mousedown",G);var n=t.getSelectionRange();n.end.row=n.start.row,n.end.column=n.start.column,w.markerRange=n,w.selectionStart=_,t.onCompositionStart(w),w.useTextareaForIME?($=i.value="",_=0,M=0):(i.msGetInputContext&&(w.context=i.msGetInputContext()),i.getInputContext&&(w.context=i.getInputContext()))}}),t),o.addListener(i,"compositionupdate",U,t),o.addListener(i,"keyup",(function(e){27==e.keyCode&&i.value.length<i.selectionStart&&(w||($=i.value),_=M=-1,O()),q()}),t),o.addListener(i,"keydown",q,t),o.addListener(i,"compositionend",V,t),this.getElement=function(){return i},this.setCommandMode=function(e){S=e,i.readOnly=!1},this.setReadOnly=function(e){S||(i.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){D=!0,O(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,n){x||(x=i.style.cssText),i.style.cssText=(n?"z-index:100000;":"")+(r.isIE?"opacity:0.1;":"")+"text-indent: -"+(_+M)*t.renderer.characterWidth*.5+"px;";var a=t.container.getBoundingClientRect(),l=s.computedStyle(t.container),c=a.top+(parseInt(l.borderTopWidth)||0),d=a.left+(parseInt(l.borderLeftWidth)||0),h=a.bottom-c-i.clientHeight-2,f=function(e){s.translate(i,e.clientX-d-2,Math.min(e.clientY-c-2,h))};f(e),"mousedown"==e.type&&(t.renderer.$isMousePressed=!0,clearTimeout(K),r.isWin&&o.capture(t.container,f,Y))},this.onContextMenuClose=Y;var Q=function(e){t.textInput.onContextMenu(e),Y()};o.addListener(i,"mouseup",Q,t),o.addListener(i,"mousedown",(function(e){e.preventDefault(),Y()}),t),o.addListener(t.renderer.scroller,"contextmenu",Q,t),o.addListener(i,"contextmenu",Q,t),m&&function(e,t,i){var o=null,a=!1;i.addEventListener("keydown",(function(e){o&&clearTimeout(o),a=!0}),!0),i.addEventListener("keyup",(function(e){o=setTimeout((function(){a=!1}),100)}),!0);var r=function(e){if(document.activeElement===i&&!(a||w||t.$mouseHandler.isMousePressed||n)){var o=i.selectionStart,r=i.selectionEnd,s=null,l=0;if(0==o?s=p.up:1==o?s=p.home:r>M&&"\n"==$[r]?s=p.end:o<_&&" "==$[o-1]?(s=p.left,l=g.option):o<_||o==_&&M!=_&&o==r?s=p.left:r>M&&$.slice(0,r).split("\n").length>2?s=p.down:r>M&&" "==$[r-1]?(s=p.right,l=g.option):(r>M||r==M&&M!=_&&o==r)&&(s=p.right),o!==r&&(l|=g.shift),s){if(!t.onCommandKey({},l,s)&&t.commands){s=p.keyCodeToString(s);var c=t.commands.findKeyCommand(l,s);c&&t.execCommand(c)}_=o,M=r,O("")}}};document.addEventListener("selectionchange",r),t.on("destroy",(function(){document.removeEventListener("selectionchange",r)}))}(0,t,i),this.destroy=function(){i.parentElement&&i.parentElement.removeChild(i)}},t.TextInput=n,t.$setUserAgentForTests=function(e,t){v=e,m=t}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(e,t,i){"use strict";var n=e("../lib/useragent"),o=function(){function e(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(t){e[t]=this[t]}),this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}return e.prototype.onMouseDown=function(e){var t=e.inSelection(),i=e.getDocumentPosition();this.mousedownEvent=e;var o=this.editor,a=e.getButton();return 0!==a?((o.getSelectionRange().isEmpty()||1==a)&&o.selection.moveToPosition(i),void(2==a&&(o.textInput.onContextMenu(e.domEvent),n.isMozilla||e.preventDefault()))):(this.mousedownEvent.time=Date.now(),!t||o.isFocused()||(o.focus(),!this.$focusTimeout||this.$clickSelection||o.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(i,e.domEvent._clicks>1),e.preventDefault()):(this.setState("focusWait"),void this.captureMouse(e)))},e.prototype.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var i=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?i.selection.selectToPosition(e):t||i.selection.moveToPosition(e),t||this.select(),i.setStyle("ace_selecting"),this.setState("select"))},e.prototype.select=function(){var e,t=this.editor,i=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var n=this.$clickSelection.comparePoint(i);if(-1==n)e=this.$clickSelection.end;else if(1==n)e=this.$clickSelection.start;else{var o=a(this.$clickSelection,i);i=o.cursor,e=o.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(i),t.renderer.scrollCursorIntoView()},e.prototype.extendSelectionBy=function(e){var t,i=this.editor,n=i.renderer.screenToTextCoordinates(this.x,this.y),o=i.selection[e](n.row,n.column);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(o.start),s=this.$clickSelection.comparePoint(o.end);if(-1==r&&s<=0)t=this.$clickSelection.end,o.end.row==n.row&&o.end.column==n.column||(n=o.start);else if(1==s&&r>=0)t=this.$clickSelection.start,o.start.row==n.row&&o.start.column==n.column||(n=o.end);else if(-1==r&&1==s)n=o.end,t=o.start;else{var l=a(this.$clickSelection,n);n=l.cursor,t=l.anchor}i.selection.setSelectionAnchor(t.row,t.column)}i.selection.selectToPosition(n),i.renderer.scrollCursorIntoView()},e.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},e.prototype.focusWait=function(){var e,t,i,n,o=(e=this.mousedownEvent.x,t=this.mousedownEvent.y,i=this.x,n=this.y,Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))),a=Date.now();(o>0||a-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},e.prototype.onDoubleClick=function(e){var t=e.getDocumentPosition(),i=this.editor,n=i.session.getBracketRange(t);n?(n.isEmpty()&&(n.start.column--,n.end.column++),this.setState("select")):(n=i.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=n,this.select()},e.prototype.onTripleClick=function(e){var t=e.getDocumentPosition(),i=this.editor;this.setState("selectByLines");var n=i.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=i.selection.getLineRange(n.start.row),this.$clickSelection.end=i.selection.getLineRange(n.end.row).end):this.$clickSelection=i.selection.getLineRange(t.row),this.select()},e.prototype.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},e.prototype.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var i=this.$lastScroll,n=e.domEvent.timeStamp,o=n-i.t,a=o?e.wheelX/o:i.vx,r=o?e.wheelY/o:i.vy;o<550&&(a=(a+i.vx)/2,r=(r+i.vy)/2);var s=Math.abs(a/r),l=!1;return s>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),s<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l?i.allowed=n:n-i.allowed<550&&(Math.abs(a)<=1.5*Math.abs(i.vx)&&Math.abs(r)<=1.5*Math.abs(i.vy)?(l=!0,i.allowed=n):i.allowed=0),i.t=n,i.vx=a,i.vy=r,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},e}();function a(e,t){if(e.start.row==e.end.row)var i=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)i=2*t.row-e.start.row-e.end.row;else i=t.column-4;return i<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}o.prototype.selectEnd=o.prototype.selectByLinesEnd,o.prototype.selectAllEnd=o.prototype.selectByLinesEnd,o.prototype.selectByWordsEnd=o.prototype.selectByLinesEnd,t.DefaultHandlers=o})),ace.define("ace/lib/scroll",["require","exports","module"],(function(e,t,i){t.preventParentScroll=function(e){e.stopPropagation();var t=e.currentTarget;t.scrollHeight>t.clientHeight||e.preventDefault()}})),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],(function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},r=e("./lib/dom"),s=(e("./lib/event"),e("./range").Range),l=e("./lib/scroll").preventParentScroll,c="ace_tooltip",d=function(){function e(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}return e.prototype.$init=function(){return this.$element=r.createElement("div"),this.$element.className=c,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},e.prototype.getElement=function(){return this.$element||this.$init()},e.prototype.setText=function(e){this.getElement().textContent=e},e.prototype.setHtml=function(e){this.getElement().innerHTML=e},e.prototype.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},e.prototype.setClassName=function(e){r.addCssClass(this.getElement(),e)},e.prototype.setTheme=function(e){this.$element.className=c+" "+(e.isDark?"ace_dark ":"")+(e.cssClass||"")},e.prototype.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},e.prototype.hide=function(e){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=c,this.isOpen=!1)},e.prototype.getHeight=function(){return this.getElement().offsetHeight},e.prototype.getWidth=function(){return this.getElement().offsetWidth},e.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},e}(),h=new(function(){function e(){this.popups=[]}return e.prototype.addPopup=function(e){this.popups.push(e),this.updatePopups()},e.prototype.removePopup=function(e){var t=this.popups.indexOf(e);-1!==t&&(this.popups.splice(t,1),this.updatePopups())},e.prototype.updatePopups=function(){var e,t,i,n;this.popups.sort((function(e,t){return t.priority-e.priority}));var o=[];try{for(var r=a(this.popups),s=r.next();!s.done;s=r.next()){var l=s.value,c=!0;try{for(var d=(i=void 0,a(o)),h=d.next();!h.done;h=d.next()){var f=h.value;if(this.doPopupsOverlap(f,l)){c=!1;break}}}catch(e){i={error:e}}finally{try{h&&!h.done&&(n=d.return)&&n.call(d)}finally{if(i)throw i.error}}c?o.push(l):l.hide()}}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},e.prototype.doPopupsOverlap=function(e,t){var i=e.getElement().getBoundingClientRect(),n=t.getElement().getBoundingClientRect();return i.left<n.right&&i.right>n.left&&i.top<n.bottom&&i.bottom>n.top},e}());t.popupManager=h,t.Tooltip=d;var f=function(e){function t(t){void 0===t&&(t=document.body);var i=e.call(this,t)||this;i.timeout=void 0,i.lastT=0,i.idleTime=350,i.lastEvent=void 0,i.onMouseOut=i.onMouseOut.bind(i),i.onMouseMove=i.onMouseMove.bind(i),i.waitForHover=i.waitForHover.bind(i),i.hide=i.hide.bind(i);var n=i.getElement();return n.style.whiteSpace="pre-wrap",n.style.pointerEvents="auto",n.addEventListener("mouseout",i.onMouseOut),n.tabIndex=-1,n.addEventListener("blur",function(){n.contains(document.activeElement)||this.hide()}.bind(i)),n.addEventListener("wheel",l),i}return o(t,e),t.prototype.addToEditor=function(e){e.on("mousemove",this.onMouseMove),e.on("mousedown",this.hide),e.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},t.prototype.removeFromEditor=function(e){e.off("mousemove",this.onMouseMove),e.off("mousedown",this.hide),e.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},t.prototype.onMouseMove=function(e,t){this.lastEvent=e,this.lastT=Date.now();var i=t.$mouseHandler.isMousePressed;if(this.isOpen){var n=this.lastEvent&&this.lastEvent.getDocumentPosition();this.range&&this.range.contains(n.row,n.column)&&!i&&!this.isOutsideOfText(this.lastEvent)||this.hide()}this.timeout||i||(this.lastEvent=e,this.timeout=setTimeout(this.waitForHover,this.idleTime))},t.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var e=Date.now()-this.lastT;this.idleTime-e>10?this.timeout=setTimeout(this.waitForHover,this.idleTime-e):(this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor))},t.prototype.isOutsideOfText=function(e){var t=e.editor,i=e.getDocumentPosition(),n=t.session.getLine(i.row);if(i.column==n.length){var o=t.renderer.pixelToScreenCoordinates(e.clientX,e.clientY),a=t.session.documentToScreenPosition(i.row,i.column);if(a.column!=o.column||a.row!=o.row)return!0}return!1},t.prototype.setDataProvider=function(e){this.$gatherData=e},t.prototype.showForRange=function(e,t,i,n){if(!(n&&n!=this.lastEvent||this.isOpen&&document.activeElement==this.getElement())){var o=e.renderer;this.isOpen||(h.addPopup(this),this.$registerCloseEvents(),this.setTheme(o.theme)),this.isOpen=!0,this.addMarker(t,e.session),this.range=s.fromPoints(t.start,t.end);var a=o.textToScreenCoordinates(t.start.row,t.start.column),r=o.scroller.getBoundingClientRect();a.pageX<r.left&&(a.pageX=r.left);var l=this.getElement();l.innerHTML="",l.appendChild(i),l.style.maxHeight="",l.style.display="block";var c=l.clientHeight,d=l.clientWidth,f=window.innerHeight-a.pageY-o.lineHeight,u=!0;a.pageY-c<0&&a.pageY<f&&(u=!1),l.style.maxHeight=(u?a.pageY:f)-10+"px",l.style.top=u?"":a.pageY+o.lineHeight+"px",l.style.bottom=u?window.innerHeight-a.pageY+"px":"",l.style.left=Math.min(a.pageX,window.innerWidth-d-10)+"px"}},t.prototype.addMarker=function(e,t){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=t,this.marker=t&&t.addMarker(e,"ace_highlight-marker","text")},t.prototype.hide=function(e){(e||document.activeElement!=this.getElement())&&(e&&e.target&&("keydown"!=e.type||e.ctrlKey||e.metaKey)&&this.$element.contains(e.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,h.removePopup(this))))},t.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},t.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},t.prototype.onMouseOut=function(e){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&e.relatedTarget&&!this.getElement().contains(e.relatedTarget)&&(e&&e.currentTarget.contains(e.relatedTarget)||e.relatedTarget.classList.contains("ace_content")||this.hide())},t}(d);t.HoverTooltip=f})),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],(function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},r=e("../lib/dom"),s=e("../lib/event"),l=e("../tooltip").Tooltip,c=e("../config").nls;t.GUTTER_TOOLTIP_LEFT_OFFSET=5,t.GUTTER_TOOLTIP_TOP_OFFSET=3,t.GutterHandler=function(e){var t,i,n=e.editor,o=n.renderer.$gutterLayer,a=new d(n,!0);function l(e){e&&"keydown"===e.type&&(e.ctrlKey||e.metaKey)||(!e||"mouseout"!==e.type||e.relatedTarget&&!a.getElement().contains(e.relatedTarget))&&(t&&(t=clearTimeout(t)),a.isOpen&&(a.hideTooltip(),n.off("mousewheel",l),n.off("changeSession",l),window.removeEventListener("keydown",l,!0)))}function c(e){a.setPosition(e.x,e.y)}e.editor.setDefaultHandler("guttermousedown",(function(t){if(n.isFocused()&&0==t.getButton()&&"foldWidgets"!=o.getRegion(t)){var i=t.getDocumentPosition().row,a=n.session.selection;if(t.getShiftKey())a.selectTo(i,0);else{if(2==t.domEvent.detail)return n.selectAll(),t.preventDefault();e.$clickSelection=n.selection.getLineRange(i)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}})),e.editor.setDefaultHandler("guttermousemove",(function(s){var d=s.domEvent.target||s.domEvent.srcElement;if(r.hasCssClass(d,"ace_fold-widget"))return l();a.isOpen&&e.$tooltipFollowsMouse&&c(s),i=s,t||(t=setTimeout((function(){t=null,i&&!e.isMousePressed&&function(){var t=i.getDocumentPosition().row;if(t==n.session.getLength()){var r=n.renderer.pixelToScreenCoordinates(0,i.y).row,s=i.$pos;if(r>n.session.documentToScreenRow(s.row,s.column))return l()}if(a.showTooltip(t),a.isOpen)if(n.on("mousewheel",l),n.on("changeSession",l),window.addEventListener("keydown",l,!0),e.$tooltipFollowsMouse)c(i);else{var d=i.getGutterRow(),h=o.$lines.get(d);if(h){var f=h.element.querySelector(".ace_gutter_annotation").getBoundingClientRect(),u=a.getElement().style;u.left=f.right-5+"px",u.top=f.bottom-3+"px"}else c(i)}}()}),50))})),s.addListener(n.renderer.$gutter,"mouseout",(function(e){i=null,a.isOpen&&(t=setTimeout((function(){t=null,l(e)}),50))}),n)};var d=function(e){function t(t,i){void 0===i&&(i=!1);var n=e.call(this,t.container)||this;n.editor=t,n.visibleTooltipRow;var o=n.getElement();return o.setAttribute("role","tooltip"),o.style.pointerEvents="auto",i&&(n.onMouseOut=n.onMouseOut.bind(n),o.addEventListener("mouseout",n.onMouseOut)),n}return o(t,e),t.prototype.onMouseOut=function(e){this.isOpen&&e.relatedTarget&&!this.getElement().contains(e.relatedTarget)&&(e&&e.currentTarget.contains(e.relatedTarget)||this.hideTooltip())},t.prototype.setPosition=function(e,t){var i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,o=this.getWidth(),a=this.getHeight();(e+=15)+o>i&&(e-=e+o-i),(t+=15)+a>n&&(t-=20+a),l.prototype.setPosition.call(this,e,t)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:c("gutter-tooltip.aria-label.error.singular","error"),plural:c("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:c("gutter-tooltip.aria-label.security.singular","security finding"),plural:c("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:c("gutter-tooltip.aria-label.warning.singular","warning"),plural:c("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:c("gutter-tooltip.aria-label.info.singular","information message"),plural:c("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:c("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:c("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(e){var i,n,o=this.editor.renderer.$gutterLayer,a=o.$annotations[e];n=a?{displayText:Array.from(a.displayText),type:Array.from(a.type)}:{displayText:[],type:[]};var s=o.session.getFoldLine(e);if(s&&o.$showFoldedAnnotations){for(var l,c={error:[],security:[],warning:[],info:[],hint:[]},d={error:1,security:2,warning:3,info:4,hint:5},h=e+1;h<=s.end.row;h++)if(o.$annotations[h])for(var f=0;f<o.$annotations[h].text.length;f++){var u=o.$annotations[h].type[f];c[u].push(o.$annotations[h].text[f]),(!l||d[u]<d[l])&&(l=u)}if(["error","security","warning"].includes(l)){var p="".concat(t.annotationsToSummaryString(c)," in folded code.");n.displayText.push(p),n.type.push(l+"_fold")}}if(0===n.displayText.length)return this.hideTooltip();var g={error:[],security:[],warning:[],info:[],hint:[]},m=o.$useSvgGutterIcons?"ace_icon_svg":"ace_icon";for(h=0;h<n.displayText.length;h++){var y=r.createElement("span"),v=r.createElement("span");(i=v.classList).add.apply(i,["ace_".concat(n.type[h]),m]),v.setAttribute("aria-label","".concat(t.annotationLabels[n.type[h].replace("_fold","")].singular)),v.setAttribute("role","img"),v.appendChild(r.createTextNode(" ")),y.appendChild(v),y.appendChild(r.createTextNode(n.displayText[h])),y.appendChild(r.createElement("br")),g[n.type[h].replace("_fold","")].push(y)}var b=this.getElement();r.removeChildren(b),g.error.forEach((function(e){return b.appendChild(e)})),g.security.forEach((function(e){return b.appendChild(e)})),g.warning.forEach((function(e){return b.appendChild(e)})),g.info.forEach((function(e){return b.appendChild(e)})),g.hint.forEach((function(e){return b.appendChild(e)})),b.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.visibleTooltipRow=e,this.editor._signal("showGutterTooltip",this)},t.prototype.hideTooltip=function(){this.isOpen&&(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this))},t.annotationsToSummaryString=function(e){var i,n,o=[];try{for(var r=a(["error","security","warning","info","hint"]),s=r.next();!s.done;s=r.next()){var l=s.value;if(e[l].length){var c=1===e[l].length?t.annotationLabels[l].singular:t.annotationLabels[l].plural;o.push("".concat(e[l].length," ").concat(c))}}}catch(e){i={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return o.join(", ")},t}(l);t.GutterTooltip=d})),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(e,t,i){"use strict";var n=e("../lib/event"),o=e("../lib/useragent"),a=function(){function e(e,t){this.speed,this.wheelX,this.wheelY,this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return e.prototype.stopPropagation=function(){n.stopPropagation(this.domEvent),this.propagationStopped=!0},e.prototype.preventDefault=function(){n.preventDefault(this.domEvent),this.defaultPrevented=!0},e.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},e.prototype.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},e.prototype.getGutterRow=function(){var e=this.getDocumentPosition().row;return this.editor.session.documentToScreenRow(e,0)-this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0)},e.prototype.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},e.prototype.getButton=function(){return n.getButton(this.domEvent)},e.prototype.getShiftKey=function(){return this.domEvent.shiftKey},e.prototype.getAccelKey=function(){return o.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},e}();t.MouseEvent=a})),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],(function(e,t,i){"use strict";var n=e("../lib/dom"),o=e("../lib/event"),a=e("../lib/useragent");function r(e){var t=e.editor,i=n.createElement("div");i.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",i.textContent=" ",["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach((function(t){e[t]=this[t]}),this),t.on("mousedown",this.onMouseDown.bind(e));var r,l,c,d,h,f,u,p,g,m,y,v=t.container,b=0;function w(){var e=f;(function(e,i){var n=Date.now(),o=!i||e.row!=i.row,a=!i||e.column!=i.column;!m||o||a?(t.moveCursorToPosition(e),m=n,y={x:l,y:c}):s(y.x,y.y,l,c)>5?m=null:n-m>=200&&(t.renderer.scrollCursorIntoView(),m=null)})(f=t.renderer.screenToTextCoordinates(l,c),e),function(e,i){var n=Date.now(),o=t.renderer.layerConfig.lineHeight,a=t.renderer.layerConfig.characterWidth,r=t.renderer.scroller.getBoundingClientRect(),s={x:{left:l-r.left,right:r.right-l},y:{top:c-r.top,bottom:r.bottom-c}},d=Math.min(s.x.left,s.x.right),h=Math.min(s.y.top,s.y.bottom),f={row:e.row,column:e.column};d/a<=2&&(f.column+=s.x.left<s.x.right?-3:2),h/o<=1&&(f.row+=s.y.top<s.y.bottom?-1:1);var u=e.row!=f.row,p=e.column!=f.column,m=!i||e.row!=i.row;u||p&&!m?g?n-g>=200&&t.renderer.scrollCursorIntoView(f):g=n:g=null}(f,e)}function C(){h=t.selection.toOrientedRange(),r=t.session.addMarker(h,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(d),w(),d=setInterval(w,20),b=0,o.addListener(document,"mousemove",k)}function x(){clearInterval(d),t.session.removeMarker(r),r=null,t.selection.fromOrientedRange(h),t.isFocused()&&!p&&t.$resetCursorStyle(),h=null,f=null,b=0,g=null,m=null,o.removeListener(document,"mousemove",k)}this.onDragStart=function(e){if(this.cancelDrag||!v.draggable){var n=this;return setTimeout((function(){n.startSelect(),n.captureMouse(e)}),0),e.preventDefault()}h=t.getSelectionRange();var o=e.dataTransfer;o.effectAllowed=t.getReadOnly()?"copy":"copyMove",t.container.appendChild(i),o.setDragImage&&o.setDragImage(i,0,0),setTimeout((function(){t.container.removeChild(i)})),o.clearData(),o.setData("Text",t.session.getTextRange()),p=!0,this.setState("drag")},this.onDragEnd=function(e){if(v.draggable=!1,p=!1,this.setState(null),!t.getReadOnly()){var i=e.dataTransfer.dropEffect;u||"move"!=i||t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!t.getReadOnly()&&$(e.dataTransfer))return l=e.clientX,c=e.clientY,r||C(),b++,e.dataTransfer.dropEffect=u=_(e),o.preventDefault(e)},this.onDragOver=function(e){if(!t.getReadOnly()&&$(e.dataTransfer))return l=e.clientX,c=e.clientY,r||(C(),b++),null!==S&&(S=null),e.dataTransfer.dropEffect=u=_(e),o.preventDefault(e)},this.onDragLeave=function(e){if(--b<=0&&r)return x(),u=null,o.preventDefault(e)},this.onDrop=function(e){if(f){var i=e.dataTransfer;if(p)switch(u){case"move":h=h.contains(f.row,f.column)?{start:f,end:f}:t.moveText(h,f);break;case"copy":h=t.moveText(h,f,!0)}else{var n=i.getData("Text");h={start:f,end:t.session.insert(f,n)},t.focus(),u=null}return x(),o.preventDefault(e)}},o.addListener(v,"dragstart",this.onDragStart.bind(e),t),o.addListener(v,"dragend",this.onDragEnd.bind(e),t),o.addListener(v,"dragenter",this.onDragEnter.bind(e),t),o.addListener(v,"dragover",this.onDragOver.bind(e),t),o.addListener(v,"dragleave",this.onDragLeave.bind(e),t),o.addListener(v,"drop",this.onDrop.bind(e),t);var S=null;function k(){null==S&&(S=setTimeout((function(){null!=S&&r&&x()}),20))}function $(e){var t=e.types;return!t||Array.prototype.some.call(t,(function(e){return"text/plain"==e||"Text"==e}))}function _(e){var t=["copy","copymove","all","uninitialized"],i=a.isMac?e.altKey:e.ctrlKey,n="uninitialized";try{n=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return i&&t.indexOf(n)>=0?o="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(n)>=0?o="move":t.indexOf(n)>=0&&(o="copy"),o}}function s(e,t,i,n){return Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=a.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;a.isIE&&"dragReady"==this.state&&s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop(),"dragWait"===this.state&&s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,i=e.inSelection(),n=e.getButton();if(1===(e.domEvent.detail||1)&&0===n&&i){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on"),t.getDragDelay()?(a.isWebKit&&(this.cancelDrag=!0,t.container.draggable=!0),this.setState("dragWait")):this.startDrag(),this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(r.prototype),t.DragdropHandler=r})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],(function(e,t,i){"use strict";var n=e("./mouse_event").MouseEvent,o=e("../lib/event"),a=e("../lib/dom");t.addTouchListeners=function(e,t){var i,r,s,l,c,d,h,f,u,p="scroll",g=0,m=0,y=0,v=0;function b(){if(t.getOption("enableMobileMenu")){u||(s=window.navigator&&window.navigator.clipboard,l=!1,c=function(e){return t.commands.canExecute(e,t)},d=function(e){var i,n,o=e.target.getAttribute("action");if("more"==o||!l)return l=!l,i=t.getCopyText(),n=t.session.getUndoManager().hasUndo(),void u.replaceChild(a.buildDom(l?["span",!i&&c("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],i&&c("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],i&&c("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],s&&c("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],n&&c("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],c("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],c("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),u.firstChild);"paste"==o?s.readText().then((function(e){t.execCommand(o,e)})):o&&("cut"!=o&&"copy"!=o||(s?s.writeText(t.getCopyText()):document.execCommand("copy")),t.execCommand(o)),u.firstChild.style.display="none",l=!1,"openCommandPalette"!=o&&t.focus()},u=a.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(e){p="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),d(e)},onclick:d},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],t.container));var e=t.selection.cursor,i=t.renderer.textToScreenCoordinates(e.row,e.column),n=t.renderer.textToScreenCoordinates(0,0).pageX,o=t.renderer.scrollLeft,r=t.container.getBoundingClientRect();u.style.top=i.pageY-r.top-3+"px",i.pageX-r.left<r.width-70?(u.style.left="",u.style.right="10px"):(u.style.right="",u.style.left=n+o-r.left+"px"),u.style.display="",u.firstChild.style.display="none",t.on("input",w)}else u&&w();var s,l,c,d}function w(e){u&&(u.style.display="none"),t.off("input",w)}function C(){c=null,clearTimeout(c);var e=t.selection.getRange(),i=e.contains(h.row,h.column);!e.isEmpty()&&i||(t.selection.moveToPosition(h),t.selection.selectWord()),p="wait",b()}o.addListener(e,"contextmenu",(function(e){f&&t.textInput.getElement().focus()}),t),o.addListener(e,"touchstart",(function(e){var o=e.touches;if(c||o.length>1)return clearTimeout(c),c=null,s=-1,void(p="zoom");f=t.$mouseHandler.isMousePressed=!0;var a=t.renderer.layerConfig.lineHeight,d=t.renderer.layerConfig.lineHeight,u=e.timeStamp;l=u;var b=o[0],w=b.clientX,x=b.clientY;Math.abs(i-w)+Math.abs(r-x)>a&&(s=-1),i=e.clientX=w,r=e.clientY=x,y=v=0;var S=new n(e,t);if(h=S.getDocumentPosition(),u-s<500&&1==o.length&&!g)m++,e.preventDefault(),e.button=0,function(){c=null,clearTimeout(c),t.selection.moveToPosition(h);var e=m>=2?t.selection.getLineRange(h.row):t.session.getBracketRange(h);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),p="wait"}();else{m=0;var k=t.selection.cursor,$=t.selection.isEmpty()?k:t.selection.anchor,_=t.renderer.$cursorLayer.getPixelPosition(k,!0),M=t.renderer.$cursorLayer.getPixelPosition($,!0),A=t.renderer.scroller.getBoundingClientRect(),E=t.renderer.layerConfig.offset,L=t.renderer.scrollLeft,T=function(e,t){return(e/=d)*e+(t=t/a-.75)*t};if(e.clientX<A.left)return void(p="zoom");var R=T(e.clientX-A.left-_.left+L,e.clientY-A.top-_.top+E),I=T(e.clientX-A.left-M.left+L,e.clientY-A.top-M.top+E);R<3.5&&I<3.5&&(p=R>I?"cursor":"anchor"),p=I<3.5?"anchor":R<3.5?"cursor":"scroll",c=setTimeout(C,450)}s=u}),t),o.addListener(e,"touchend",(function(e){f=t.$mouseHandler.isMousePressed=!1,d&&clearInterval(d),"zoom"==p?(p="",g=0):c?(t.selection.moveToPosition(h),g=0,b()):"scroll"==p?(g+=60,d=setInterval((function(){g--<=0&&(clearInterval(d),d=null),Math.abs(y)<.01&&(y=0),Math.abs(v)<.01&&(v=0),g<20&&(y*=.9),g<20&&(v*=.9);var e=t.session.getScrollTop();t.renderer.scrollBy(10*y,10*v),e==t.session.getScrollTop()&&(g=0)}),10),w()):b(),clearTimeout(c),c=null}),t),o.addListener(e,"touchmove",(function(e){c&&(clearTimeout(c),c=null);var o=e.touches;if(!(o.length>1||"zoom"==p)){var a=o[0],s=i-a.clientX,d=r-a.clientY;if("wait"==p){if(!(s*s+d*d>4))return e.preventDefault();p="cursor"}i=a.clientX,r=a.clientY,e.clientX=a.clientX,e.clientY=a.clientY;var h=e.timeStamp,f=h-l;if(l=h,"scroll"==p){var u=new n(e,t);u.speed=1,u.wheelX=s,u.wheelY=d,10*Math.abs(s)<Math.abs(d)&&(s=0),10*Math.abs(d)<Math.abs(s)&&(d=0),0!=f&&(y=s/f,v=d/f),t._emit("mousewheel",u),u.propagationStopped||(y=v=0)}else{var g=new n(e,t).getDocumentPosition();"cursor"==p?t.selection.moveCursorToPosition(g):"anchor"==p&&t.selection.setSelectionAnchor(g.row,g.column),t.renderer.scrollCursorIntoView(g),e.preventDefault()}}}),t)}})),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],(function(e,t,i){"use strict";var n=e("../lib/event"),o=e("../lib/useragent"),a=e("./default_handlers").DefaultHandlers,r=e("./default_gutter_handler").GutterHandler,s=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,c=e("./touch_handler").addTouchListeners,d=e("../config"),h=function(){function e(e){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var t=this;this.editor=e,new a(this),new r(this),new l(this);var i=function(t){(!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement()))&&window.focus(),e.focus(),setTimeout((function(){e.isFocused()||e.focus()}))},s=e.renderer.getMouseEventTarget();n.addListener(s,"click",this.onMouseEvent.bind(this,"click"),e),n.addListener(s,"mousemove",this.onMouseMove.bind(this,"mousemove"),e),n.addMultiMouseDownListener([s,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",e),n.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"),e),c(e.container,e);var d=e.renderer.$gutter;n.addListener(d,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),e),n.addListener(d,"click",this.onMouseEvent.bind(this,"gutterclick"),e),n.addListener(d,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),e),n.addListener(d,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),e),n.addListener(s,"mousedown",i,e),n.addListener(d,"mousedown",i,e),o.isIE&&e.renderer.scrollBarV&&(n.addListener(e.renderer.scrollBarV.element,"mousedown",i,e),n.addListener(e.renderer.scrollBarH.element,"mousedown",i,e)),e.on("mousemove",(function(i){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var n=e.renderer.screenToTextCoordinates(i.x,i.y),o=e.session.selection.getRange(),a=e.renderer;!o.isEmpty()&&o.insideStart(n.row,n.column)?a.setCursorStyle("default"):a.setCursorStyle("")}}),e)}return e.prototype.onMouseEvent=function(e,t){this.editor.session&&this.editor._emit(e,new s(t,this.editor))},e.prototype.onMouseMove=function(e,t){var i=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;i&&i.length&&this.editor._emit(e,new s(t,this.editor))},e.prototype.onMouseWheel=function(e,t){var i=new s(t,this.editor);i.speed=2*this.$scrollSpeed,i.wheelX=t.wheelX,i.wheelY=t.wheelY,this.editor._emit(e,i)},e.prototype.setState=function(e){this.state=e},e.prototype.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var i=this.editor,a=this.editor.renderer;a.$isMousePressed=!0;var r=this,l=function(e){if(e){if(o.isWebKit&&!e.which&&r.releaseMouse)return r.releaseMouse();r.x=e.clientX,r.y=e.clientY,t&&t(e),r.mouseEvent=new s(e,r.editor),r.$mouseMoved=!0}},c=function(e){i.off("beforeEndOperation",h),clearInterval(f),i.session&&d(),r[r.state+"End"]&&r[r.state+"End"](e),r.state="",r.isMousePressed=a.$isMousePressed=!1,a.$keepTextAreaAtCursor&&a.$moveTextAreaToCursor(),r.$onCaptureMouseMove=r.releaseMouse=null,e&&r.onMouseEvent("mouseup",e),i.endOperation()},d=function(){r[r.state]&&r[r.state](),r.$mouseMoved=!1};if(o.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout((function(){c(e)}));var h=function(e){r.releaseMouse&&i.curOp.command.name&&i.curOp.selectionChanged&&(r[r.state+"End"]&&r[r.state+"End"](),r.state="",r.releaseMouse())};i.on("beforeEndOperation",h),i.startOperation({command:{name:"mouse"}}),r.$onCaptureMouseMove=l,r.releaseMouse=n.capture(this.editor.container,l,c);var f=setInterval(d,20)},e.prototype.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&n.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},e}();h.prototype.releaseMouse=null,d.defineOptions(h.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:o.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=h})),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],(function(e,t,i){"use strict";var n=e("../lib/dom");t.FoldHandler=function(e){e.on("click",(function(t){var i=t.getDocumentPosition(),o=e.session,a=o.getFoldAt(i.row,i.column,1);a&&(t.getAccelKey()?o.removeFold(a):o.expandFold(a),t.stop());var r=t.domEvent&&t.domEvent.target;r&&n.hasCssClass(r,"ace_inline_button")&&n.hasCssClass(r,"ace_toggle_wrap")&&(o.setOption("wrap",!o.getUseWrapMode()),e.renderer.scrollCursorIntoView())})),e.on("gutterclick",(function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var i=t.getDocumentPosition().row,n=e.session;n.foldWidgets&&n.foldWidgets[i]&&e.session.onFoldWidgetClick(i,t),e.isFocused()||e.focus(),t.stop()}})),e.on("gutterdblclick",(function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var i=t.getDocumentPosition().row,n=e.session,o=n.getParentFoldRangeData(i,!0),a=o.range||o.firstRange;if(a){i=a.start.row;var r=n.getFoldAt(i,n.getLine(i).length,1);r?n.removeFold(r):(n.addFold("...",a),e.renderer.scrollCursorIntoView({row:a.start.row,column:0}))}t.stop()}}))}})),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],(function(e,t,i){"use strict";var n=e("../lib/keys"),o=e("../lib/event"),a=function(){function e(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)}return e.prototype.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},e.prototype.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},e.prototype.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var i=this.$handlers.indexOf(e);-1!=i&&this.$handlers.splice(i,1),null==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==i&&e.attach&&e.attach(this.$editor)}},e.prototype.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},e.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},e.prototype.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map((function(i){return i.getStatusText&&i.getStatusText(t,e)||""})).filter(Boolean).join(" ")},e.prototype.$callKeyboardHandlers=function(e,t,i,n){for(var a,r=!1,s=this.$editor.commands,l=this.$handlers.length;l--&&!((a=this.$handlers[l].handleKeyboard(this.$data,e,t,i,n))&&a.command&&((r="null"==a.command||s.exec(a.command,this.$editor,a.args,n))&&n&&-1!=e&&1!=a.passEvent&&1!=a.command.passEvent&&o.stopEvent(n),r)););return r||-1!=e||(a={command:"insertstring"},r=s.exec("insertstring",this.$editor,t)),r&&this.$editor._signal&&this.$editor._signal("keyboardActivity",a),r},e.prototype.onCommandKey=function(e,t,i){var o=n.keyCodeToString(i);return this.$callKeyboardHandlers(t,o,i,e)},e.prototype.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)},e}();t.KeyBinding=a})),ace.define("ace/lib/bidiutil",["require","exports","module"],(function(e,t,i){"use strict";var n=0,o=0,a=!1,r=!1,s=!1,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],c=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],d=11,h=18,f=[h,h,h,h,h,h,h,h,h,6,5,6,8,5,h,h,h,h,h,h,h,h,h,h,h,h,h,h,5,5,5,6,8,4,4,d,d,d,4,4,4,4,4,10,9,10,9,9,2,2,2,2,2,2,2,2,2,2,9,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,h,h,h,h,h,h,5,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,9,4,d,d,d,d,4,4,4,4,0,4,4,h,4,4,d,d,2,2,4,0,4,4,4,2,0,4,4,4,4,4],u=[8,8,8,8,8,8,8,8,8,8,8,h,h,h,0,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,5,13,14,15,16,17,9,d,d,d,d,d,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8];function p(e,t,i){if(!(o<e))if(1!=e||1!=n||r)for(var a,s,l,c,d=i.length,h=0;h<d;){if(t[h]>=e){for(a=h+1;a<d&&t[a]>=e;)a++;for(s=h,l=a-1;s<l;s++,l--)c=i[s],i[s]=i[l],i[l]=c;h=a}h++}else i.reverse()}function g(e,t,i,o){var l,c,f,u,p=t[o];switch(p){case 0:case 1:a=!1;case 4:case 3:return p;case 2:return a?3:2;case 7:return a=!0,1;case 8:return 4;case 9:return o<1||o+1>=t.length||2!=(l=i[o-1])&&3!=l||2!=(c=t[o+1])&&3!=c?4:(a&&(c=3),c==l?c:4);case 10:return 2==(l=o>0?i[o-1]:5)&&o+1<t.length&&2==t[o+1]?2:4;case d:if(o>0&&2==i[o-1])return 2;if(a)return 4;for(u=o+1,f=t.length;u<f&&t[u]==d;)u++;return u<f&&2==t[u]?2:4;case 12:for(f=t.length,u=o+1;u<f&&12==t[u];)u++;if(u<f){var g=e[o],m=g>=1425&&g<=2303||64286==g;if(l=t[u],m&&(1==l||7==l))return 1}return o<1||5==(l=t[o-1])?4:i[o-1];case 5:return a=!1,r=!0,n;case 6:return s=!0,4;case 13:case 14:case 16:case 17:case 15:a=!1;case h:return 4}}function m(e){var t=e.charCodeAt(0),i=t>>8;return 0==i?t>191?0:f[t]:5==i?/[\u0591-\u05f4]/.test(e)?1:0:6==i?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?12:/[\u0660-\u0669\u066b-\u066c]/.test(e)?3:1642==t?d:/[\u06f0-\u06f9]/.test(e)?2:7:32==i&&t<=8287?u[255&t]:254==i&&t>=65136?7:4}t.L=0,t.R=1,t.EN=2,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="·",t.doBidiReorder=function(e,i,d){if(e.length<2)return{};var f=e.split(""),u=new Array(f.length),y=new Array(f.length),v=[];n=d?1:0,function(e,t,i,d){var h=n?c:l,f=null,u=null,p=null,y=0,v=null,b=-1,w=null,C=null,x=[];if(!d)for(w=0,d=[];w<i;w++)d[w]=m(e[w]);for(o=n,a=!1,r=!1,s=!1,C=0;C<i;C++){if(f=y,x[C]=u=g(e,d,x,C),v=240&(y=h[f][u]),y&=15,t[C]=p=h[y][5],v>0)if(16==v){for(w=b;w<C;w++)t[w]=1;b=-1}else b=-1;if(h[y][6])-1==b&&(b=C);else if(b>-1){for(w=b;w<C;w++)t[w]=p;b=-1}5==d[C]&&(t[C]=0),o|=p}if(s)for(w=0;w<i;w++)if(6==d[w]){t[w]=n;for(var S=w-1;S>=0&&8==d[S];S--)t[S]=n}}(f,v,f.length,i);for(var b=0;b<u.length;u[b]=b,b++);for(p(2,v,u),p(1,v,u),b=0;b<u.length-1;b++)3===i[b]?v[b]=t.AN:1===v[b]&&(i[b]>7&&i[b]<13||4===i[b]||i[b]===h)?v[b]=t.ON_R:b>0&&"ل"===f[b-1]&&/\u0622|\u0623|\u0625|\u0627/.test(f[b])&&(v[b-1]=v[b]=t.R_H,b++);for(f[f.length-1]===t.DOT&&(v[f.length-1]=t.B),"‫"===f[0]&&(v[0]=t.RLE),b=0;b<u.length;b++)y[b]=v[u[b]];return{logicalFromVisual:u,bidiLevels:y}},t.hasBidiCharacters=function(e,t){for(var i=!1,n=0;n<e.length;n++)t[n]=m(e.charAt(n)),i||1!=t[n]&&7!=t[n]&&3!=t[n]||(i=!0);return i},t.getVisualFromLogicalIdx=function(e,t){for(var i=0;i<t.logicalFromVisual.length;i++)if(t.logicalFromVisual[i]==e)return i;return 0}})),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],(function(e,t,i){"use strict";var n=e("./lib/bidiutil"),o=e("./lib/lang"),a=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,r=function(){function e(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=n,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=a.test(e.getValue())}return e.prototype.isBidiRow=function(e,t,i){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,i),this.updateBidiMap()),this.bidiMap.bidiLevels)},e.prototype.onChange=function(e){this.seenBidi?this.currentRow=null:"insert"==e.action&&a.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},e.prototype.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var i=this.session.$getRowCacheIndex(t,this.currentRow);i>=0&&(e=this.session.$docRowCache[i])}return e},e.prototype.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var i,n=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(i=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===n;)n=i,e++;else e=this.currentRow;return e},e.prototype.updateRowLine=function(e,t){void 0===e&&(e=this.getDocumentRow());var i=e===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var a=this.session.$wrapData[e];a&&(void 0===t&&(t=this.getSplitIndex()),t>0&&a.length?(this.wrapIndent=a.indent,this.wrapOffset=this.wrapIndent*this.charWidths[n.L],this.line=t<a.length?this.line.substring(a[t-1],a[t]):this.line.substring(a[a.length-1])):this.line=this.line.substring(0,a[t]),t==a.length&&(this.line+=this.showInvisibles?i:n.DOT))}else this.line+=this.showInvisibles?i:n.DOT;var r,s=this.session,l=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,(function(e,t){return"\t"===e||s.isFullWidth(e.charCodeAt(0))?(r="\t"===e?s.getScreenTabSize(t+l):2,l+=r-1,o.stringRepeat(n.DOT,r)):e})),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==n.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},e.prototype.updateBidiMap=function(){var e=[];n.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=n.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},e.prototype.markAsDirty=function(){this.currentRow=null},e.prototype.updateCharacterWidths=function(e){if(this.characterWidth!==e.$characterSize.width){this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,i=e.$measureCharWidth("ה");this.charWidths[n.L]=this.charWidths[n.EN]=this.charWidths[n.ON_R]=t,this.charWidths[n.R]=this.charWidths[n.AN]=i,this.charWidths[n.R_H]=.45*i,this.charWidths[n.B]=this.charWidths[n.RLE]=0,this.currentRow=null}},e.prototype.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},e.prototype.setEolChar=function(e){this.EOL=e},e.prototype.setContentWidth=function(e){this.contentWidth=e},e.prototype.isRtlLine=function(e){return!!this.$isRtl||(null!=e?this.session.getLine(e).charAt(0)==this.RLE:this.isRtlDir)},e.prototype.setRtlDirection=function(e,t){for(var i=e.getCursorPosition(),n=e.selection.getSelectionAnchor().row;n<=i.row;n++)t||e.session.getLine(n).charAt(0)!==e.session.$bidiHandler.RLE?t&&e.session.getLine(n).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:n},e.session.$bidiHandler.RLE):e.session.doc.removeInLine(n,0,1)},e.prototype.getPosLeft=function(e){e-=this.wrapIndent;var t=this.line.charAt(0)===this.RLE?1:0,i=e>t?this.session.getOverwrite()?e:e-1:t,o=n.getVisualFromLogicalIdx(i,this.bidiMap),a=this.bidiMap.bidiLevels,r=0;!this.session.getOverwrite()&&e<=t&&a[o]%2!=0&&o++;for(var s=0;s<o;s++)r+=this.charWidths[a[s]];return!this.session.getOverwrite()&&e>t&&a[o]%2==0&&(r+=this.charWidths[a[o]]),this.wrapIndent&&(r+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(r+=this.rtlLineOffset),r},e.prototype.getSelections=function(e,t){var i,n=this.bidiMap,o=n.bidiLevels,a=[],r=0,s=Math.min(e,t)-this.wrapIndent,l=Math.max(e,t)-this.wrapIndent,c=!1,d=!1,h=0;this.wrapIndent&&(r+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var f,u=0;u<o.length;u++)f=n.logicalFromVisual[u],i=o[u],(c=f>=s&&f<l)&&!d?h=r:!c&&d&&a.push({left:h,width:r-h}),r+=this.charWidths[i],d=c;if(c&&u===o.length&&a.push({left:h,width:r-h}),this.isRtlDir)for(var p=0;p<a.length;p++)a[p].left+=this.rtlLineOffset;return a},e.prototype.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,i=(e=Math.max(e,0),0),n=0,o=this.bidiMap.bidiLevels,a=this.charWidths[o[n]];for(this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);e>i+a/2;){if(i+=a,n===o.length-1){a=0;break}a=this.charWidths[o[++n]]}return n>0&&o[n-1]%2!=0&&o[n]%2==0?(e<i&&n--,t=this.bidiMap.logicalFromVisual[n]):n>0&&o[n-1]%2==0&&o[n]%2!=0?t=1+(e>i?this.bidiMap.logicalFromVisual[n]:this.bidiMap.logicalFromVisual[n-1]):this.isRtlDir&&n===o.length-1&&0===a&&o[n-1]%2==0||!this.isRtlDir&&0===n&&o[n]%2!=0?t=1+this.bidiMap.logicalFromVisual[n]:(n>0&&o[n-1]%2!=0&&0!==a&&n--,t=this.bidiMap.logicalFromVisual[n]),0===t&&this.isRtlDir&&t++,t+this.wrapIndent},e}();t.BidiHandler=r})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(e,t,i){"use strict";var n=e("./lib/oop"),o=e("./lib/lang"),a=e("./lib/event_emitter").EventEmitter,r=e("./range").Range,s=function(){function e(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",(function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),t.$isEmpty||t.$silent||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)})),this.anchor.on("change",(function(){t.$anchorChanged=!0,t.$isEmpty||t.$silent||t._emit("changeSelection")}))}return e.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},e.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},e.prototype.getCursor=function(){return this.lead.getPosition()},e.prototype.setAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},e.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},e.prototype.getSelectionLead=function(){return this.lead.getPosition()},e.prototype.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},e.prototype.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?r.fromPoints(t,t):this.isBackwards()?r.fromPoints(t,e):r.fromPoints(e,t)},e.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},e.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},e.prototype.setRange=function(e,t){var i=t?e.end:e.start,n=t?e.start:e.end;this.$setSelection(i.row,i.column,n.row,n.column)},e.prototype.$setSelection=function(e,t,i,n){if(!this.$silent){var o=this.$isEmpty,a=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(i,n),this.$isEmpty=!r.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||o!=this.$isEmpty||a)&&this._emit("changeSelection")}},e.prototype.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},e.prototype.selectTo=function(e,t){this.$moveSelection((function(){this.moveCursorTo(e,t)}))},e.prototype.selectToPosition=function(e){this.$moveSelection((function(){this.moveCursorToPosition(e)}))},e.prototype.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},e.prototype.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},e.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},e.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},e.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},e.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},e.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},e.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},e.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},e.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},e.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},e.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},e.prototype.getWordRange=function(e,t){if(void 0===t){var i=e||this.lead;e=i.row,t=i.column}return this.session.getWordRange(e,t)},e.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},e.prototype.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},e.prototype.getLineRange=function(e,t){var i,n="number"==typeof e?e:this.lead.row,o=this.session.getFoldLine(n);return o?(n=o.start.row,i=o.end.row):i=n,!0===t?new r(n,0,i,this.session.getLine(i).length):new r(n,0,i+1,0)},e.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},e.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},e.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},e.prototype.wouldMoveIntoSoftTab=function(e,t,i){var n=e.column,o=e.column+t;return i<0&&(n=e.column-t,o=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,o).split(" ").length-1==t},e.prototype.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var i=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,i,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-i):this.moveCursorBy(0,-1)}},e.prototype.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var i=this.session.getTabSize();t=this.lead,this.wouldMoveIntoSoftTab(t,i,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,i):this.moveCursorBy(0,1)}},e.prototype.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,i=this.session.documentToScreenRow(e,t),n=this.session.screenToDocumentPosition(i,0),o=this.session.getDisplayLine(e,null,n.row,n.column).match(/^\s*/);o[0].length==t||this.session.$useEmacsStyleLineStart||(n.column+=o[0].length),this.moveCursorToPosition(n)},e.prototype.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var i=this.session.getLine(t.row);if(t.column==i.length){var n=i.search(/\s+$/);n>0&&(t.column=n)}}this.moveCursorTo(t.row,t.column)},e.prototype.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},e.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},e.prototype.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var o=this.session.getFoldAt(e,t,1);if(o)this.moveCursorTo(o.end.row,o.end.column);else{if(this.session.nonTokenRe.exec(n)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,n=i.substring(t)),t>=i.length)return this.moveCursorTo(e,i.length),this.moveCursorRight(),void(e<this.doc.getLength()-1&&this.moveCursorWordRight());this.session.tokenRe.exec(n)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)}},e.prototype.moveCursorLongWordLeft=function(){var e,t=this.lead.row,i=this.lead.column;if(e=this.session.getFoldAt(t,i,-1))this.moveCursorTo(e.start.row,e.start.column);else{var n=this.session.getFoldStringAt(t,i,-1);null==n&&(n=this.doc.getLine(t).substring(0,i));var a=o.stringReverse(n);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(a)&&(i-=this.session.nonTokenRe.lastIndex,a=a.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),i<=0)return this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft());this.session.tokenRe.exec(a)&&(i-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,i)}},e.prototype.$shortWordEndIndex=function(e){var t,i=0,n=/\s/,o=this.session.tokenRe;if(o.lastIndex=0,this.session.tokenRe.exec(e))i=this.session.tokenRe.lastIndex;else{for(;(t=e[i])&&n.test(t);)i++;if(i<1)for(o.lastIndex=0;(t=e[i])&&!o.test(t);)if(o.lastIndex=0,i++,n.test(t)){if(i>2){i--;break}for(;(t=e[i])&&n.test(t);)i++;if(i>2)break}}return o.lastIndex=0,i},e.prototype.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t),o=this.session.getFoldAt(e,t,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(t==i.length){var a=this.doc.getLength();do{e++,n=this.doc.getLine(e)}while(e<a&&/^\s*$/.test(n));/^\s+/.test(n)||(n=""),t=0}var r=this.$shortWordEndIndex(n);this.moveCursorTo(e,t+r)},e.prototype.moveCursorShortWordLeft=function(){var e,t=this.lead.row,i=this.lead.column;if(e=this.session.getFoldAt(t,i,-1))return this.moveCursorTo(e.start.row,e.start.column);var n=this.session.getLine(t).substring(0,i);if(0===i){do{t--,n=this.doc.getLine(t)}while(t>0&&/^\s*$/.test(n));i=n.length,/\s+$/.test(n)||(n="")}var a=o.stringReverse(n),r=this.$shortWordEndIndex(a);return this.moveCursorTo(t,i-r)},e.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},e.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},e.prototype.moveCursorBy=function(e,t){var i,n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(i=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(i/this.session.$bidiHandler.charWidths[0])):i=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column),0!=e&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var o=this.session.lineWidgets[this.lead.row];e<0?e-=o.rowsAbove||0:e>0&&(e+=o.rowCount-(o.rowsAbove||0))}var a=this.session.screenToDocumentPosition(n.row+e,n.column,i);0!==e&&0===t&&a.row===this.lead.row&&(a.column,this.lead.column),this.moveCursorTo(a.row,a.column+t,0===t)},e.prototype.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},e.prototype.moveCursorTo=function(e,t,i){var n=this.session.getFoldAt(e,t,1);n&&(e=n.start.row,t=n.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(o.charAt(t))&&o.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,i||(this.$desiredColumn=null)},e.prototype.moveCursorToScreen=function(e,t,i){var n=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(n.row,n.column,i)},e.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},e.prototype.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},e.prototype.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},e.prototype.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var i=this.getCursor();return r.fromPoints(t,i)}catch(e){return r.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},e.prototype.toJSON=function(){if(this.rangeCount)var e=this.ranges.map((function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t}));else(e=this.getRange()).isBackwards=this.isBackwards();return e},e.prototype.fromJSON=function(e){if(null==e.start){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var i=r.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(i.cursor=i.start),this.addRange(i,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},e.prototype.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0},e}();s.prototype.setSelectionAnchor=s.prototype.setAnchor,s.prototype.getSelectionAnchor=s.prototype.getAnchor,s.prototype.setSelectionRange=s.prototype.setRange,n.implement(s.prototype,a),t.Selection=s})),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],(function(e,t,i){"use strict";var n=e("./lib/report_error").reportError,o=2e3,a=function(){function e(e){for(var t in this.splitRegex,this.states=e,this.regExps={},this.matchMappings={},this.states){for(var i=this.states[t],n=[],o=0,a=this.matchMappings[t]={defaultToken:"text"},r="g",s=[],l=0;l<i.length;l++){var c=i[l];if(c.defaultToken&&(a.defaultToken=c.defaultToken),c.caseInsensitive&&-1===r.indexOf("i")&&(r+="i"),c.unicode&&-1===r.indexOf("u")&&(r+="u"),null!=c.regex){c.regex instanceof RegExp&&(c.regex=c.regex.toString().slice(1,-1));var d=c.regex,h=new RegExp("(?:("+d+")|(.))").exec("a").length-2;Array.isArray(c.token)?1==c.token.length||1==h?c.token=c.token[0]:h-1!=c.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:c,groupCount:h-1}),c.token=c.token[0]):(c.tokenArray=c.token,c.token=null,c.onMatch=this.$arrayTokens):"function"!=typeof c.token||c.onMatch||(c.onMatch=h>1?this.$applyToken:c.token),h>1&&(/\\\d/.test(c.regex)?d=c.regex.replace(/\\([0-9]+)/g,(function(e,t){return"\\"+(parseInt(t,10)+o+1)})):(h=1,d=this.removeCapturingGroups(c.regex)),c.splitRegex||"string"==typeof c.token||s.push(c)),a[o]=l,o+=h,n.push(d),c.onMatch||(c.onMatch=null)}}n.length||(a[0]=0,n.push("$")),s.forEach((function(e){e.splitRegex=this.createSplitterRegexp(e.regex,r)}),this),this.regExps[t]=new RegExp("("+n.join(")|(")+")|($)",r)}}return e.prototype.$setMaxTokenCount=function(e){o=0|e},e.prototype.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),i=this.token.apply(this,t);if("string"==typeof i)return[{type:i,value:e}];for(var n=[],o=0,a=i.length;o<a;o++)t[o]&&(n[n.length]={type:i[o],value:t[o]});return n},e.prototype.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var i=[],n=this.tokenArray,o=0,a=n.length;o<a;o++)t[o+1]&&(i[i.length]={type:n[o],value:t[o+1]});return i},e.prototype.removeCapturingGroups=function(e){return e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,(function(e,t){return t?"(?:":e}))},e.prototype.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var i=0,n=!1,o={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,(function(e,t,a,r,s,l){return n?n="]"!=s:s?n=!0:r?(i==o.stack&&(o.end=l+1,o.stack=-1),i--):a&&(i++,1!=a.length&&(o.stack=i,o.start=l)),e})),null!=o.end&&/^\)*$/.test(e.substr(o.end))&&(e=e.substring(0,o.start)+e.substr(o.end))}return"^"!=e.charAt(0)&&(e="^"+e),"$"!=e.charAt(e.length-1)&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},e.prototype.getLineTokens=function(e,t){if(t&&"string"!=typeof t){var i=t.slice(0);"#tmp"===(t=i[0])&&(i.shift(),t=i.shift())}else i=[];var n=t||"start",a=this.states[n];a||(n="start",a=this.states[n]);var r=this.matchMappings[n],s=this.regExps[n];s.lastIndex=0;for(var l,c=[],d=0,h=0,f={type:null,value:""};l=s.exec(e);){var u=r.defaultToken,p=null,g=l[0],m=s.lastIndex;if(m-g.length>d){var y=e.substring(d,m-g.length);f.type==u?f.value+=y:(f.type&&c.push(f),f={type:u,value:y})}for(var v=0;v<l.length-2;v++)if(void 0!==l[v+1]){u=(p=a[r[v]]).onMatch?p.onMatch(g,n,i,e):p.token,p.next&&(n="string"==typeof p.next?p.next:p.next(n,i),(a=this.states[n])||(this.reportError("state doesn't exist",n),n="start",a=this.states[n]),r=this.matchMappings[n],d=m,(s=this.regExps[n]).lastIndex=m),p.consumeLineEnd&&(d=m);break}if(g)if("string"==typeof u)p&&!1===p.merge||f.type!==u?(f.type&&c.push(f),f={type:u,value:g}):f.value+=g;else if(u)for(f.type&&c.push(f),f={type:null,value:""},v=0;v<u.length;v++)c.push(u[v]);if(d==e.length)break;if(d=m,h++>o){for(h>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});d<e.length;)f.type&&c.push(f),f={value:e.substring(d,d+=500),type:"overflow"};n="start",i=[];break}}return f.type&&c.push(f),i.length>1&&i[0]!==n&&i.unshift("#tmp",n),{tokens:c,state:i.length?i:n}},e}();a.prototype.reportError=n,t.Tokenizer=a})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],(function(e,t,i){"use strict";var n,o=e("../lib/deep_copy").deepCopy;(function(){this.addRules=function(e,t){if(t)for(var i in e){for(var n=e[i],o=0;o<n.length;o++){var a=n[o];(a.next||a.onMatch)&&("string"==typeof a.next&&0!==a.next.indexOf(t)&&(a.next=t+a.next),a.nextState&&0!==a.nextState.indexOf(t)&&(a.nextState=t+a.nextState))}this.$rules[t+i]=n}else for(var i in e)this.$rules[i]=e[i]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,i,n,a){var r="function"==typeof e?(new e).getRules():e;if(n)for(var s=0;s<n.length;s++)n[s]=t+n[s];else for(var l in n=[],r)n.push(t+l);if(this.addRules(r,t),i){var c=Array.prototype[a?"push":"unshift"];for(s=0;s<n.length;s++)c.apply(this.$rules[n[s]],o(i))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return("start"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){var i=0,n=this.$rules;Object.keys(n).forEach((function o(a){var r=n[a];r.processed=!0;for(var s=0;s<r.length;s++){var l=r[s],c=null;Array.isArray(l)&&(c=l,l={}),!l.regex&&l.start&&(l.regex=l.start,l.next||(l.next=[]),l.next.push({defaultToken:l.token},{token:l.token+".end",regex:l.end||l.start,next:"pop"}),l.token=l.token+".start",l.push=!0);var d=l.next||l.push;if(d&&Array.isArray(d)){var h=l.stateName;h||("string"!=typeof(h=l.token)&&(h=h[0]||""),n[h]&&(h+=i++)),n[h]=d,l.next=h,o(h)}else"pop"==d&&(l.next=t);if(l.push&&(l.nextState=l.next||l.push,l.next=e,delete l.push),l.rules)for(var f in l.rules)n[f]?n[f].push&&n[f].push.apply(n[f],l.rules[f]):n[f]=l.rules[f];var u="string"==typeof l?l:l.include;if(u&&("$self"===u&&(u="start"),c=Array.isArray(u)?u.map((function(e){return n[e]})):n[u]),c){var p=[s,1].concat(c);l.noEscape&&(p=p.filter((function(e){return!e.next}))),r.splice.apply(r,p),s--}l.keywordMap&&(l.token=this.createKeywordMapper(l.keywordMap,l.defaultToken||"text",l.caseInsensitive),delete l.defaultToken)}}),this)},this.createKeywordMapper=function(e,t,i,n){var o=Object.create(null);return this.$keywordList=[],Object.keys(e).forEach((function(t){for(var a=e[t].split(n||"|"),r=a.length;r--;){var s=a[r];this.$keywordList.push(s),i&&(s=s.toLowerCase()),o[s]=t}}),this),e=null,i?function(e){return o[e.toLowerCase()]||t}:function(e){return o[e]||t}},this.getKeywords=function(){return this.$keywords}}).call((n=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}}).prototype),t.TextHighlightRules=n})),ace.define("ace/mode/behaviour",["require","exports","module"],(function(e,t,i){"use strict";var n;(function(){this.add=function(e,t,i){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=i},this.addBehaviours=function(e){for(var t in e)for(var i in e[t])this.add(t,i,e[t][i])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var i=(new e).getBehaviours(t);else i=e.getBehaviours(t);this.addBehaviours(i)},this.getBehaviours=function(e){if(e){for(var t={},i=0;i<e.length;i++)this.$behaviours[e[i]]&&(t[e[i]]=this.$behaviours[e[i]]);return t}return this.$behaviours}}).call((n=function(){this.$behaviours={}}).prototype),t.Behaviour=n})),ace.define("ace/token_iterator",["require","exports","module","ace/range"],(function(e,t,i){"use strict";var n=e("./range").Range,o=function(){function e(e,t,i){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var n=e.getTokenAt(t,i);this.$tokenIndex=n?n.index:-1}return e.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},e.prototype.stepForward=function(){var e;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentTokenRow=function(){return this.$row},e.prototype.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,i=e[t].start;if(void 0!==i)return i;for(i=0;t>0;)i+=e[t-=1].value.length;return i},e.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},e.prototype.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new n(this.$row,t,this.$row,t+e.value.length)},e}();t.TokenIterator=o})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(e,t,i){"use strict";var n,o,a=e("../../lib/oop"),r=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,l=e("../../lib/lang"),c=["text","paren.rparen","rparen","paren","punctuation.operator"],d=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],h={},f={'"':'"',"'":"'"},u=function(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,h.rangeCount!=e.multiSelect.rangeCount&&(h={rangeCount:e.multiSelect.rangeCount})),h[t])return n=h[t];n=h[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,i,n){var o=e.end.row-e.start.row;return{text:i+t+n,selection:[0,e.start.column+1,o,e.end.column+(o?0:1)]}};(o=function(e){e=e||{},this.add("braces","insertion",(function(t,i,a,r,s){var c=a.getCursorPosition(),d=r.doc.getLine(c.row);if("{"==s){u(a);var h=a.getSelectionRange(),f=r.doc.getTextRange(h),g=r.getTokenAt(c.row,c.column);if(""!==f&&"{"!==f&&a.getWrapBehavioursEnabled())return p(h,f,"{","}");if(g&&/(?:string)\.quasi|\.xml/.test(g.type)){if([/tag\-(?:open|name)/,/attribute\-name/].some((function(e){return e.test(g.type)}))||/(string)\.quasi/.test(g.type)&&"$"!==g.value[c.column-g.start-1])return;return o.recordAutoInsert(a,r,"}"),{text:"{}",selection:[1,1]}}if(o.isSaneInsertion(a,r))return/[\]\}\)]/.test(d[c.column])||a.inMultiSelectMode||e.braces?(o.recordAutoInsert(a,r,"}"),{text:"{}",selection:[1,1]}):(o.recordMaybeInsert(a,r,"{"),{text:"{",selection:[1,1]})}else if("}"==s){if(u(a),"}"==d.substring(c.column,c.column+1)&&null!==r.$findOpeningBracket("}",{column:c.column+1,row:c.row})&&o.isAutoInsertedClosing(c,d,s))return o.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==s||"\r\n"==s){u(a);var m="";if(o.isMaybeInsertedClosing(c,d)&&(m=l.stringRepeat("}",n.maybeInsertedBrackets),o.clearMaybeInsertedClosing()),"}"===d.substring(c.column,c.column+1)){var y=r.findMatchingBracket({row:c.row,column:c.column+1},"}");if(!y)return null;var v=this.$getIndent(r.getLine(y.row))}else{if(!m)return void o.clearMaybeInsertedClosing();v=this.$getIndent(d)}var b=v+r.getTabString();return{text:"\n"+b+"\n"+v+m,selection:[1,b.length,1,b.length]}}o.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(e,t,i,o,a){var r=o.doc.getTextRange(a);if(!a.isMultiLine()&&"{"==r){if(u(i),"}"==o.doc.getLine(a.start.row).substring(a.end.column,a.end.column+1))return a.end.column++,a;n.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(e,t,i,n,a){if("("==a){u(i);var r=i.getSelectionRange(),s=n.doc.getTextRange(r);if(""!==s&&i.getWrapBehavioursEnabled())return p(r,s,"(",")");if(o.isSaneInsertion(i,n))return o.recordAutoInsert(i,n,")"),{text:"()",selection:[1,1]}}else if(")"==a){u(i);var l=i.getCursorPosition(),c=n.doc.getLine(l.row);if(")"==c.substring(l.column,l.column+1)&&null!==n.$findOpeningBracket(")",{column:l.column+1,row:l.row})&&o.isAutoInsertedClosing(l,c,a))return o.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(e,t,i,n,o){var a=n.doc.getTextRange(o);if(!o.isMultiLine()&&"("==a&&(u(i),")"==n.doc.getLine(o.start.row).substring(o.start.column+1,o.start.column+2)))return o.end.column++,o})),this.add("brackets","insertion",(function(e,t,i,n,a){if("["==a){u(i);var r=i.getSelectionRange(),s=n.doc.getTextRange(r);if(""!==s&&i.getWrapBehavioursEnabled())return p(r,s,"[","]");if(o.isSaneInsertion(i,n))return o.recordAutoInsert(i,n,"]"),{text:"[]",selection:[1,1]}}else if("]"==a){u(i);var l=i.getCursorPosition(),c=n.doc.getLine(l.row);if("]"==c.substring(l.column,l.column+1)&&null!==n.$findOpeningBracket("]",{column:l.column+1,row:l.row})&&o.isAutoInsertedClosing(l,c,a))return o.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(e,t,i,n,o){var a=n.doc.getTextRange(o);if(!o.isMultiLine()&&"["==a&&(u(i),"]"==n.doc.getLine(o.start.row).substring(o.start.column+1,o.start.column+2)))return o.end.column++,o})),this.add("string_dquotes","insertion",(function(e,t,i,n,o){var a=n.$mode.$quotes||f;if(1==o.length&&a[o]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(o))return;u(i);var r=o,s=i.getSelectionRange(),l=n.doc.getTextRange(s);if(!(""===l||1==l.length&&a[l])&&i.getWrapBehavioursEnabled())return p(s,l,r,r);if(!l){var c=i.getCursorPosition(),d=n.doc.getLine(c.row),h=d.substring(c.column-1,c.column),g=d.substring(c.column,c.column+1),m=n.getTokenAt(c.row,c.column),y=n.getTokenAt(c.row,c.column+1);if("\\"==h&&m&&/escape/.test(m.type))return null;var v,b=m&&/string|escape/.test(m.type),w=!y||/string|escape/.test(y.type);if(g==r)(v=b!==w)&&/string\.end/.test(y.type)&&(v=!1);else{if(b&&!w)return null;if(b&&w)return null;var C=n.$mode.tokenRe;C.lastIndex=0;var x=C.test(h);C.lastIndex=0;var S=C.test(g),k=n.$mode.$pairQuotesAfter;if(!(k&&k[r]&&k[r].test(h))&&x||S)return null;if(g&&!/[\s;,.})\]\\]/.test(g))return null;var $=d[c.column-2];if(h==r&&($==r||C.test($)))return null;v=!0}return{text:v?r+r:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(e,t,i,n,o){var a=n.$mode.$quotes||f,r=n.doc.getTextRange(o);if(!o.isMultiLine()&&a.hasOwnProperty(r)&&(u(i),n.doc.getLine(o.start.row).substring(o.start.column+1,o.start.column+2)==r))return o.end.column++,o})),!1!==e.closeDocComment&&this.add("doc comment end","insertion",(function(e,t,i,n,o){if("doc-start"===e&&("\n"===o||"\r\n"===o)&&i.selection.isEmpty()){var a=i.getCursorPosition();if(0===a.column)return;for(var r=n.doc.getLine(a.row),s=n.doc.getLine(a.row+1),l=n.getTokens(a.row),c=0,d=0;d<l.length;d++){c+=l[d].value.length;var h=l[d];if(c>=a.column){if(c===a.column){if(!/\.doc/.test(h.type))return;if(/\*\//.test(h.value)){var f=l[d+1];if(!f||!/\.doc/.test(f.type))return}}var u=a.column-(c-h.value.length),p=h.value.indexOf("*/"),g=h.value.indexOf("/**",p>-1?p+2:0);if(-1!==g&&u>g&&u<g+3)return;if(-1!==p&&-1!==g&&u>=p&&u<=g||!/\.doc/.test(h.type))return;break}}var m=this.$getIndent(r);if(/\s*\*/.test(s))return/^\s*\*/.test(r)?{text:o+m+"* ",selection:[1,2+m.length,1,2+m.length]}:{text:o+m+" * ",selection:[1,3+m.length,1,3+m.length]};if(/\/\*\*/.test(r.substring(0,a.column)))return{text:o+m+" * "+o+" "+m+"*/",selection:[1,4+m.length,1,4+m.length]}}}))}).isSaneInsertion=function(e,t){var i=e.getCursorPosition(),n=new s(t,i.row,i.column);if(!this.$matchTokenType(n.getCurrentToken()||"text",c)){if(/[)}\]]/.test(e.session.getLine(i.row)[i.column]))return!0;var o=new s(t,i.row,i.column+1);if(!this.$matchTokenType(o.getCurrentToken()||"text",c))return!1}return n.stepForward(),n.getCurrentTokenRow()!==i.row||this.$matchTokenType(n.getCurrentToken()||"text",d)},o.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},o.recordAutoInsert=function(e,t,i){var o=e.getCursorPosition(),a=t.doc.getLine(o.row);this.isAutoInsertedClosing(o,a,n.autoInsertedLineEnd[0])||(n.autoInsertedBrackets=0),n.autoInsertedRow=o.row,n.autoInsertedLineEnd=i+a.substr(o.column),n.autoInsertedBrackets++},o.recordMaybeInsert=function(e,t,i){var o=e.getCursorPosition(),a=t.doc.getLine(o.row);this.isMaybeInsertedClosing(o,a)||(n.maybeInsertedBrackets=0),n.maybeInsertedRow=o.row,n.maybeInsertedLineStart=a.substr(0,o.column)+i,n.maybeInsertedLineEnd=a.substr(o.column),n.maybeInsertedBrackets++},o.isAutoInsertedClosing=function(e,t,i){return n.autoInsertedBrackets>0&&e.row===n.autoInsertedRow&&i===n.autoInsertedLineEnd[0]&&t.substr(e.column)===n.autoInsertedLineEnd},o.isMaybeInsertedClosing=function(e,t){return n.maybeInsertedBrackets>0&&e.row===n.maybeInsertedRow&&t.substr(e.column)===n.maybeInsertedLineEnd&&t.substr(0,e.column)==n.maybeInsertedLineStart},o.popAutoInsertedClosing=function(){n.autoInsertedLineEnd=n.autoInsertedLineEnd.substr(1),n.autoInsertedBrackets--},o.clearMaybeInsertedClosing=function(){n&&(n.maybeInsertedBrackets=0,n.maybeInsertedRow=-1)},a.inherits(o,r),t.CstyleBehaviour=o})),ace.define("ace/unicode",["require","exports","module"],(function(e,t,i){"use strict";for(var n=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],o=0,a=[],r=0;r<n.length;r+=2)a.push(o+=n[r]),n[r+1]&&a.push(45,o+=n[r+1]);t.wordChars=String.fromCharCode.apply(null,a)})),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],(function(e,t,i){"use strict";var n,o=e("../config"),a=e("../tokenizer").Tokenizer,r=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour/cstyle").CstyleBehaviour,l=e("../unicode"),c=e("../lib/lang"),d=e("../token_iterator").TokenIterator,h=e("../range").Range;(function(){this.$defaultBehaviour=new s,this.tokenRe=new RegExp("^["+l.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+l.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new a(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,i,n){var o=t.doc,a=!0,r=!0,s=1/0,l=t.getTabSize(),d=!1;if(this.lineCommentStart){Array.isArray(this.lineCommentStart)?(g=this.lineCommentStart.map(c.escapeRegExp).join("|"),u=this.lineCommentStart[0]):(g=c.escapeRegExp(this.lineCommentStart),u=this.lineCommentStart),g=new RegExp("^(\\s*)(?:"+g+") ?"),d=t.getUseSoftTabs(),v=function(e,t){var i=e.match(g);if(i){var n=i[1].length,a=i[0].length;f(e,n,a)||" "!=i[0][a-1]||a--,o.removeInLine(t,n,a)}};var h=u+" ",f=(y=function(e,t){a&&!/\S/.test(e)||(f(e,s,s)?o.insertInLine({row:t,column:s},h):o.insertInLine({row:t,column:s},u))},b=function(e,t){return g.test(e)},function(e,t,i){for(var n=0;t--&&" "==e.charAt(t);)n++;if(n%l!=0)return!1;for(n=0;" "==e.charAt(i++);)n++;return l>2?n%l!=l-1:n%l==0})}else{if(!this.blockComment)return!1;var u=this.blockComment.start,p=this.blockComment.end,g=new RegExp("^(\\s*)(?:"+c.escapeRegExp(u)+")"),m=new RegExp("(?:"+c.escapeRegExp(p)+")\\s*$"),y=function(e,t){b(e,t)||a&&!/\S/.test(e)||(o.insertInLine({row:t,column:e.length},p),o.insertInLine({row:t,column:s},u))},v=function(e,t){var i;(i=e.match(m))&&o.removeInLine(t,e.length-i[0].length,e.length),(i=e.match(g))&&o.removeInLine(t,i[1].length,i[0].length)},b=function(e,i){if(g.test(e))return!0;for(var n=t.getTokens(i),o=0;o<n.length;o++)if("comment"===n[o].type)return!0}}function w(e){for(var t=i;t<=n;t++)e(o.getLine(t),t)}var C=1/0;w((function(e,t){var i=e.search(/\S/);-1!==i?(i<s&&(s=i),r&&!b(e,t)&&(r=!1)):C>e.length&&(C=e.length)})),s==1/0&&(s=C,a=!1,r=!1),d&&s%l!=0&&(s=Math.floor(s/l)*l),w(r?v:y)},this.toggleBlockComment=function(e,t,i,n){var o=this.blockComment;if(o){!o.start&&o[0]&&(o=o[0]);var a,r,s=(g=new d(t,n.row,n.column)).getCurrentToken(),l=(t.selection,t.selection.toOrientedRange());if(s&&/comment/.test(s.type)){for(var c,f;s&&/comment/.test(s.type);){if(-1!=(m=s.value.indexOf(o.start))){var u=g.getCurrentTokenRow(),p=g.getCurrentTokenColumn()+m;c=new h(u,p,u,p+o.start.length);break}s=g.stepBackward()}var g;for(s=(g=new d(t,n.row,n.column)).getCurrentToken();s&&/comment/.test(s.type);){var m;if(-1!=(m=s.value.indexOf(o.end))){u=g.getCurrentTokenRow(),p=g.getCurrentTokenColumn()+m,f=new h(u,p,u,p+o.end.length);break}s=g.stepForward()}f&&t.remove(f),c&&(t.remove(c),a=c.start.row,r=-o.start.length)}else r=o.start.length,a=i.start.row,t.insert(i.end,o.end),t.insert(i.start,o.start);l.start.row==a&&(l.start.column+=r),l.end.row==a&&(l.end.column+=r),t.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(e,t,i){return this.$getIndent(t)},this.checkOutdent=function(e,t,i){return!1},this.autoOutdent=function(e,t,i){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var t in this.$embeds=[],this.$modes={},e)if(e[t]){var i=e[t],n=i.prototype.$id,a=o.$modes[n];a||(o.$modes[n]=a=new i),o.$modes[t]||(o.$modes[t]=a),this.$embeds.push(t),this.$modes[t]=a}var r=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],s=function(e){var t,i,n;n=(t=l)[i=r[e]],t[r[e]]=function(){return this.$delegator(i,arguments,n)}},l=this;for(t=0;t<r.length;t++)s(t)},this.$delegator=function(e,t,i){var n=t[0]||"start";if("string"!=typeof n){if(Array.isArray(n[2])){var o=n[2][n[2].length-1];if(r=this.$modes[o])return r[e].apply(r,[n[1]].concat([].slice.call(t,1)))}n=n[0]||"start"}for(var a=0;a<this.$embeds.length;a++)if(this.$modes[this.$embeds[a]]){var r,s=n.split(this.$embeds[a]);if(!s[0]&&s[1])return t[0]=s[1],(r=this.$modes[this.$embeds[a]])[e].apply(r,t)}var l=i.apply(this,t);return i?l:void 0},this.transformAction=function(e,t,i,n,o){if(this.$behaviour){var a=this.$behaviour.getBehaviours();for(var r in a)if(a[r][t]){var s=a[r][t].apply(this,arguments);if(s)return s}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,i=[];for(var n in t)for(var o=t[n],a=0,r=o.length;a<r;a++)if("string"==typeof o[a].token)/keyword|support|storage/.test(o[a].token)&&i.push(o[a].regex);else if("object"==typeof o[a].token)for(var s=0,l=o[a].token.length;s<l;s++)/keyword|support|storage/.test(o[a].token[s])&&(n=o[a].regex.match(/\(.+?\)/g)[s],i.push(n.substr(1,n.length-2)));this.completionKeywords=i}return e?i.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,i,n){return(this.$keywordList||this.$createKeywordList()).map((function(e){return{name:e,value:e,score:0,meta:"keyword"}}))},this.$id="ace/mode/text"}).call((n=function(){this.HighlightRules=r}).prototype),t.Mode=n})),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],(function(e,t,i){"use strict";var n=e("./lib/dom"),o=function(){function e(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return e.prototype.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},e.prototype.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach((function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)})),e},e.prototype.$onChangeEditor=function(e){this.attach(e.editor)},e.prototype.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},e.prototype.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach((function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))}))}},e.prototype.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var n=e.data,o=n.start.row,a=n.end.row,r="add"==e.action,s=o+1;s<a;s++)i[s]&&(i[s].hidden=r);i[a]&&(r?i[o]?i[a].hidden=r:i[o]=i[a]:(i[o]==i[a]&&(i[o]=void 0),i[a].hidden=r))}},e.prototype.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var i=e.start.row,n=e.end.row-i;if(0===n);else if("remove"==e.action){var o=t.splice(i+1,n);!t[i]&&o[o.length-1]&&(t[i]=o.pop()),o.forEach((function(e){e&&this.removeLineWidget(e)}),this),this.$updateRows()}else{var a=new Array(n);t[i]&&null!=t[i].column&&e.start.column>t[i].column&&i++,a.unshift(i,0),t.splice.apply(t,a),this.$updateRows()}}},e.prototype.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach((function(e,i){if(e)for(t=!1,e.row=i;e.$oldWidget;)e.$oldWidget.row=i,e=e.$oldWidget})),t&&(this.session.lineWidgets=null)}},e.prototype.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},e.prototype.addLineWidget=function(e){if(this.$registerLineWidget(e),e.session=this.session,!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=n.createElement("div"),e.el.innerHTML=e.html),e.text&&!e.el&&(e.el=n.createElement("div"),e.el.textContent=e.text),e.el&&(n.addCssClass(e.el,"ace_lineWidgetContainer"),e.className&&n.addCssClass(e.el,e.className),e.el.style.position="absolute",e.el.style.zIndex="5",t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex="3"),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight)),null==e.rowCount&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight);var i=this.session.getFoldAt(e.row,0);if(e.$fold=i,i){var o=this.session.lineWidgets;e.row!=i.end.row||o[i.start.row]?e.hidden=!0:o[i.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},e.prototype.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},e.prototype.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,i=t&&t[e],n=[];i;)n.push(i),i=i.$oldWidget;return n},e.prototype.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},e.prototype.measureWidgets=function(e,t){var i=this.session._changedWidgets,n=t.layerConfig;if(i&&i.length){for(var o=1/0,a=0;a<i.length;a++){var r=i[a];if(r&&r.el&&r.session==this.session){if(!r._inDocument){if(this.session.lineWidgets[r.row]!=r)continue;r._inDocument=!0,t.container.appendChild(r.el)}r.h=r.el.offsetHeight,r.fixedWidth||(r.w=r.el.offsetWidth,r.screenWidth=Math.ceil(r.w/n.characterWidth));var s=r.h/n.lineHeight;r.coverLine&&(s-=this.session.getRowLineCount(r.row))<0&&(s=0),r.rowCount!=s&&(r.rowCount=s,r.row<o&&(o=r.row))}}o!=1/0&&(this.session._emit("changeFold",{data:{start:{row:o}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},e.prototype.renderWidgets=function(e,t){var i=t.layerConfig,n=this.session.lineWidgets;if(n){for(var o=Math.min(this.firstRow,i.firstRow),a=Math.max(this.lastRow,i.lastRow,n.length);o>0&&!n[o];)o--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,t.$cursorLayer.config=i;for(var r=o;r<=a;r++){var s=n[r];if(s&&s.el)if(s.hidden)s.el.style.top=-100-(s.pixelHeight||0)+"px";else{s._inDocument||(s._inDocument=!0,t.container.appendChild(s.el));var l=t.$cursorLayer.getPixelPosition({row:r,column:0},!0).top;s.coverLine||(l+=i.lineHeight*this.session.getRowLineCount(s.row)),s.el.style.top=l-i.offset+"px";var c=s.coverGutter?0:t.gutterWidth;s.fixedWidth||(c-=t.scrollLeft),s.el.style.left=c+"px",s.fullWidth&&s.screenWidth&&(s.el.style.minWidth=i.width+2*i.padding+"px"),s.fixedWidth?s.el.style.right=t.scrollBar.getWidth()+"px":s.el.style.right=""}}}},e}();t.LineWidgets=o})),ace.define("ace/apply_delta",["require","exports","module"],(function(e,t,i){"use strict";t.applyDelta=function(e,t,i){var n=t.start.row,o=t.start.column,a=e[n]||"";switch(t.action){case"insert":if(1===t.lines.length)e[n]=a.substring(0,o)+t.lines[0]+a.substring(o);else{var r=[n,1].concat(t.lines);e.splice.apply(e,r),e[n]=a.substring(0,o)+e[n],e[n+t.lines.length-1]+=a.substring(o)}break;case"remove":var s=t.end.column,l=t.end.row;n===l?e[n]=a.substring(0,o)+a.substring(s):e.splice(n,l-n+1,a.substring(0,o)+e[l].substring(s))}}})),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,i){"use strict";var n=e("./lib/oop"),o=e("./lib/event_emitter").EventEmitter,a=function(){function e(e,t,i){this.$onChange=this.onChange.bind(this),this.attach(e),"number"!=typeof t?this.setPosition(t.row,t.column):this.setPosition(t,i)}return e.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},e.prototype.getDocument=function(){return this.document},e.prototype.onChange=function(e){if(!(e.start.row==e.end.row&&e.start.row!=this.row||e.start.row>this.row)){var t=function(e,t,i){var n="insert"==e.action,o=(n?1:-1)*(e.end.row-e.start.row),a=(n?1:-1)*(e.end.column-e.start.column),s=e.start,l=n?s:e.end;return r(t,s,i)?{row:t.row,column:t.column}:r(l,t,!i)?{row:t.row+o,column:t.column+(t.row==l.row?a:0)}:{row:s.row,column:s.column}}(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(t.row,t.column,!0)}},e.prototype.setPosition=function(e,t,i){var n;if(n=i?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=n.row||this.column!=n.column){var o={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._signal("change",{old:o,value:n})}},e.prototype.detach=function(){this.document.off("change",this.$onChange)},e.prototype.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},e.prototype.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):e<0?(i.row=0,i.column=0):(i.row=e,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i},e}();function r(e,t,i){var n=i?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&n}a.prototype.$insertRight=!1,n.implement(a.prototype,o),t.Anchor=a})),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],(function(e,t,i){"use strict";var n=e("./lib/oop"),o=e("./apply_delta").applyDelta,a=e("./lib/event_emitter").EventEmitter,r=e("./range").Range,s=e("./anchor").Anchor,l=function(){function e(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}return e.prototype.setValue=function(e){var t=this.getLength()-1;this.remove(new r(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e||"")},e.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},e.prototype.createAnchor=function(e,t){return new s(this,e,t)},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},e.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},e.prototype.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},e.prototype.getNewLineMode=function(){return this.$newLineMode},e.prototype.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},e.prototype.getLine=function(e){return this.$lines[e]||""},e.prototype.getLines=function(e,t){return this.$lines.slice(e,t+1)},e.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},e.prototype.getLength=function(){return this.$lines.length},e.prototype.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},e.prototype.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var i=t.length-1;e.end.row-e.start.row==i&&(t[i]=t[i].substring(0,e.end.column))}return t},e.prototype.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},e.prototype.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},e.prototype.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},e.prototype.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},e.prototype.insertInLine=function(e,t){var i=this.clippedPos(e.row,e.column),n=this.pos(e.row,e.column+t.length);return this.applyDelta({start:i,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},e.prototype.clippedPos=function(e,t){var i=this.getLength();void 0===e?e=i:e<0?e=0:e>=i&&(e=i-1,t=void 0);var n=this.getLine(e);return null==t&&(t=n.length),{row:e,column:t=Math.min(Math.max(t,0),n.length)}},e.prototype.clonePos=function(e){return{row:e.row,column:e.column}},e.prototype.pos=function(e,t){return{row:e,column:t}},e.prototype.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},e.prototype.insertFullLines=function(e,t){var i=0;(e=Math.min(Math.max(e,0),this.getLength()))<this.getLength()?(t=t.concat([""]),i=0):(t=[""].concat(t),e--,i=this.$lines[e].length),this.insertMergedLines({row:e,column:i},t)},e.prototype.insertMergedLines=function(e,t){var i=this.clippedPos(e.row,e.column),n={row:i.row+t.length-1,column:(1==t.length?i.column:0)+t[t.length-1].length};return this.applyDelta({start:i,end:n,action:"insert",lines:t}),this.clonePos(n)},e.prototype.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),i=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:i,action:"remove",lines:this.getLinesForRange({start:t,end:i})}),this.clonePos(t)},e.prototype.removeInLine=function(e,t,i){var n=this.clippedPos(e,t),o=this.clippedPos(e,i);return this.applyDelta({start:n,end:o,action:"remove",lines:this.getLinesForRange({start:n,end:o})},!0),this.clonePos(n)},e.prototype.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1);var i=(t=Math.min(Math.max(0,t),this.getLength()-1))==this.getLength()-1&&e>0,n=t<this.getLength()-1,o=i?e-1:e,a=i?this.getLine(o).length:0,s=n?t+1:t,l=n?0:this.getLine(s).length,c=new r(o,a,s,l),d=this.$lines.slice(e,t+1);return this.applyDelta({start:c.start,end:c.end,action:"remove",lines:this.getLinesForRange(c)}),d},e.prototype.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},e.prototype.replace=function(e,t){return e instanceof r||(e=r.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},e.prototype.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},e.prototype.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},e.prototype.applyDelta=function(e,t){var i="insert"==e.action;(i?e.lines.length<=1&&!e.lines[0]:!r.comparePoints(e.start,e.end))||(i&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(o(this.$lines,e,t),this._signal("change",e)))},e.prototype.$safeApplyDelta=function(e){var t=this.$lines.length;("remove"==e.action&&e.start.row<t&&e.end.row<t||"insert"==e.action&&e.start.row<=t)&&this.applyDelta(e)},e.prototype.$splitAndapplyLargeDelta=function(e,t){for(var i=e.lines,n=i.length-t+1,o=e.start.row,a=e.start.column,r=0,s=0;r<n;r=s){s+=t-1;var l=i.slice(r,s);l.push(""),this.applyDelta({start:this.pos(o+r,a),end:this.pos(o+s,a=0),action:e.action,lines:l},!0)}e.lines=i.slice(r),e.start.row=o+r,e.start.column=a,this.applyDelta(e,!0)},e.prototype.revertDelta=function(e){this.$safeApplyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},e.prototype.indexToPosition=function(e,t){for(var i=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,o=t||0,a=i.length;o<a;o++)if((e-=i[o].length+n)<0)return{row:o,column:e+i[o].length+n};return{row:a-1,column:e+i[a-1].length+n}},e.prototype.positionToIndex=function(e,t){for(var i=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,o=0,a=Math.min(e.row,i.length),r=t||0;r<a;++r)o+=i[r].length+n;return o+e.column},e.prototype.$split=function(e){return e.split(/\r\n|\r|\n/)},e}();l.prototype.$autoNewLine="",l.prototype.$newLineMode="auto",n.implement(l.prototype,a),t.Document=l})),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,i){"use strict";var n=e("./lib/oop"),o=e("./lib/event_emitter").EventEmitter,a=function(){function e(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var i=this;this.$worker=function(){if(i.running){for(var e=new Date,t=i.currentLine,n=-1,o=i.doc,a=t;i.lines[t];)t++;var r=o.getLength(),s=0;for(i.running=!1;t<r;){i.$tokenizeRow(t),n=t;do{t++}while(i.lines[t]);if(++s%5==0&&new Date-e>20){i.running=setTimeout(i.$worker,20);break}}i.currentLine=t,-1==n&&(n=t),a<=n&&i.fireUpdateEvent(a,n)}}}return e.prototype.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},e.prototype.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},e.prototype.fireUpdateEvent=function(e,t){var i={first:e,last:t};this._signal("update",{data:i})},e.prototype.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},e.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},e.prototype.$updateOnChange=function(e){var t=e.start.row,i=e.end.row-t;if(0===i)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,i+1,null),this.states.splice(t,i+1,null);else{var n=Array(i+1);n.unshift(t,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},e.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},e.prototype.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},e.prototype.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},e.prototype.$tokenizeRow=function(e){var t=this.doc.getLine(e),i=this.states[e-1],n=this.tokenizer.getLineTokens(t,i,e);return this.states[e]+""!=n.state+""?(this.states[e]=n.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=n.tokens},e.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},e}();n.implement(a.prototype,o),t.BackgroundTokenizer=a})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],(function(e,t,i){"use strict";var n=e("./lib/lang"),o=e("./range").Range,a=function(){function e(e,t,i){void 0===i&&(i="text"),this.setRegexp(e),this.clazz=t,this.type=i,this.docLen=0}return e.prototype.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},e.prototype.update=function(e,t,i,a){if(this.regExp){for(var r=a.firstRow,s=a.lastRow,l={},c=i.$editor.$search,d=c.$isMultilineSearch(i.$editor.getLastSearchOptions()),h=r;h<=s;h++){var f=this.cache[h];if(null==f||i.getValue().length!=this.docLen){if(d){f=[];var u=c.$multiLineForward(i,this.regExp,h,s);if(u){var p=u.endRow<=s?u.endRow-1:s;p>h&&(h=p),f.push(new o(u.startRow,u.startCol,u.endRow,u.endCol))}f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES))}else(f=n.getMatchOffsets(i.getLine(h),this.regExp)).length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map((function(e){return new o(h,e.offset,h,e.offset+e.length)}));this.cache[h]=f.length?f:""}if(0!==f.length)for(var g=f.length;g--;){var m=f[g].toScreenRange(i),y=m.toString();l[y]||(l[y]=!0,t.drawSingleLineMarker(e,m,this.clazz,a))}}this.docLen=i.getValue().length}},e}();a.prototype.MAX_RANGES=500,t.SearchHighlight=a})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(e,t,i){"use strict";var n=function(){function e(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return e.prototype.addSession=function(e){this.$session=e},e.prototype.add=function(e,t,i){if(!this.$fromUndo&&e!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),!1===t||!this.lastDeltas){this.lastDeltas=[];var n=this.$undoStack.length;n>this.$undoDepth-1&&this.$undoStack.splice(0,n-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev}"remove"!=e.action&&"insert"!=e.action||(this.$lastDelta=e),this.lastDeltas.push(e)}},e.prototype.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},e.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},e.prototype.markIgnored=function(e,t){null==t&&(t=this.$rev+1);for(var i=this.$undoStack,n=i.length;n--;){var o=i[n][0];if(o.id<=e)break;o.id<t&&(o.ignore=!0)}this.lastDeltas=null},e.prototype.getSelection=function(e,t){for(var i=this.selections,n=i.length;n--;){var o=i[n];if(o.rev<e)return t&&(o=i[n+1]),o}},e.prototype.getRevision=function(){return this.$rev},e.prototype.getDeltas=function(e,t){null==t&&(t=this.$rev+1);for(var i=this.$undoStack,n=null,o=0,a=i.length;a--;){var r=i[a][0];if(r.id<t&&!n&&(n=a+1),r.id<=e){o=a+1;break}}return i.slice(o,n)},e.prototype.getChangedRanges=function(e,t){null==t&&(t=this.$rev+1)},e.prototype.getChangedLines=function(e,t){null==t&&(t=this.$rev+1)},e.prototype.undo=function(e,t){this.lastDeltas=null;var i=this.$undoStack;if(function(e,t){for(var i=t;i--;){var n=e[i];if(n&&!n[0].ignore){for(;i<t-1;){var o=d(e[i],e[i+1]);e[i]=o[0],e[i+1]=o[1],i++}return!0}}}(i,i.length)){e||(e=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var n=i.pop(),o=null;return n&&(o=e.undoChanges(n,t),this.$redoStack.push(n),this.$syncRev()),this.$fromUndo=!1,o}},e.prototype.redo=function(e,t){if(this.lastDeltas=null,e||(e=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var i=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);!function(e,t){for(var i=0;i<t.length;i++)for(var n=t[i],o=0;o<n.length;o++)g(e,n[o])}(this.$redoStack,i),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach((function(e){e[0].id=++this.$maxRev}),this)}var n=this.$redoStack.pop(),o=null;return n&&(o=e.redoChanges(n,t),this.$undoStack.push(n),this.$syncRev()),this.$fromUndo=!1,o},e.prototype.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],i=t&&t[0].id||0;this.$redoStackBaseRev=i,this.$rev=i},e.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},e.prototype.canUndo=function(){return this.$undoStack.length>0},e.prototype.canRedo=function(){return this.$redoStack.length>0},e.prototype.bookmark=function(e){null==e&&(e=this.$rev),this.mark=e},e.prototype.isAtBookmark=function(){return this.$rev===this.mark},e.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},e.prototype.fromJSON=function(e){this.reset(),this.$undoStack=e.$undoStack,this.$redoStack=e.$redoStack},e.prototype.$prettyPrint=function(e){return e?s(e):s(this.$undoStack)+"\n---\n"+s(this.$redoStack)},e}();n.prototype.hasUndo=n.prototype.canUndo,n.prototype.hasRedo=n.prototype.canRedo,n.prototype.isClean=n.prototype.isAtBookmark,n.prototype.markClean=n.prototype.bookmark;var o=e("./range").Range,a=o.comparePoints;function r(e){return{row:e.row,column:e.column}}function s(e){if(e=e||this,Array.isArray(e))return e.map(s).join("\n");var t="";return e.action?(t="insert"==e.action?"+":"-",t+="["+e.lines+"]"):e.value&&(t=Array.isArray(e.value)?e.value.map(l).join("\n"):l(e.value)),e.start&&(t+=l(e)),(e.id||e.rev)&&(t+="\t("+(e.id||e.rev)+")"),t}function l(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function c(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)if(a(t.start,e.end)>=0)f(t,e,-1);else{if(!(a(t.start,e.start)<=0))return null;f(e,t,1)}else if(i&&!n)if(a(t.start,e.end)>=0)f(t,e,-1);else{if(!(a(t.end,e.start)<=0))return null;f(e,t,-1)}else if(!i&&n)if(a(t.start,e.start)>=0)f(t,e,1);else{if(!(a(t.start,e.start)<=0))return null;f(e,t,1)}else if(!i&&!n)if(a(t.start,e.start)>=0)f(t,e,1);else{if(!(a(t.end,e.start)<=0))return null;f(e,t,-1)}return[t,e]}function d(e,t){for(var i=e.length;i--;)for(var n=0;n<t.length;n++)if(!c(e[i],t[n])){for(;i<e.length;){for(;n--;)c(t[n],e[i]);n=t.length,i++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function h(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)a(e.start,t.start)<0?f(t,e,1):f(e,t,1);else if(i&&!n)a(e.start,t.end)>=0?f(e,t,-1):(a(e.start,t.start)<=0||f(e,o.fromPoints(t.start,e.start),-1),f(t,e,1));else if(!i&&n)a(t.start,e.end)>=0?f(t,e,-1):(a(t.start,e.start)<=0||f(t,o.fromPoints(e.start,t.start),-1),f(e,t,1));else if(!i&&!n)if(a(t.start,e.end)>=0)f(t,e,-1);else{var r,s;if(!(a(t.end,e.start)<=0))return a(e.start,t.start)<0&&(r=e,e=p(e,t.start)),a(e.end,t.end)>0&&(s=p(e,t.end)),u(t.end,e.start,e.end,-1),s&&!r&&(e.lines=s.lines,e.start=s.start,e.end=s.end,s=e),[t,r,s].filter(Boolean);f(e,t,-1)}return[t,e]}function f(e,t,i){u(e.start,t.start,t.end,i),u(e.end,t.start,t.end,i)}function u(e,t,i,n){e.row==(1==n?t:i).row&&(e.column+=n*(i.column-t.column)),e.row+=n*(i.row-t.row)}function p(e,t){var i=e.lines,n=e.end;e.end=r(t);var o=e.end.row-e.start.row,a=i.splice(o,i.length),s=o?t.column:t.column-e.start.column;return i.push(a[0].substring(0,s)),a[0]=a[0].substr(s),{start:r(t),end:n,lines:a,action:e.action}}function g(e,t){t=function(e){return{start:r(e.start),end:r(e.end),action:e.action,lines:e.lines.slice()}}(t);for(var i=e.length;i--;){for(var n=e[i],o=0;o<n.length;o++){var a=h(n[o],t);t=a[0],2!=a.length&&(a[2]?(n.splice(o+1,1,a[1],a[2]),o++):a[1]||(n.splice(o,1),o--))}n.length||e.splice(i,1)}return e}o.comparePoints,t.UndoManager=n})),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],(function(e,t,i){"use strict";var n=e("../range").Range,o=function(){function e(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var i=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach((function(e){e.setFoldLine(this)}),this)}return e.prototype.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach((function(t){t.start.row+=e,t.end.row+=e}))},e.prototype.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort((function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)})),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},e.prototype.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},e.prototype.walk=function(e,t,i){var n,o,a=0,r=this.folds,s=!0;null==t&&(t=this.end.row,i=this.end.column);for(var l=0;l<r.length;l++){if(-1==(o=(n=r[l]).range.compareStart(t,i)))return void e(null,t,i,a,s);if(!e(null,n.start.row,n.start.column,a,s)&&e(n.placeholder,n.start.row,n.start.column,a)||0===o)return;s=!n.sameRow,a=n.end.column}e(null,t,i,a,s)},e.prototype.getNextFoldTo=function(e,t){for(var i,n,o=0;o<this.folds.length;o++){if(-1==(n=(i=this.folds[o]).range.compareEnd(e,t)))return{fold:i,kind:"after"};if(0===n)return{fold:i,kind:"inside"}}return null},e.prototype.addRemoveChars=function(e,t,i){var n,o,a=this.getNextFoldTo(e,t);if(a)if(n=a.fold,"inside"==a.kind&&n.start.column!=t&&n.start.row!=e)window.console&&window.console.log(e,t,n);else if(n.start.row==e){var r=(o=this.folds).indexOf(n);for(0===r&&(this.start.column+=i);r<o.length;r++){if((n=o[r]).start.column+=i,!n.sameRow)return;n.end.column+=i}this.end.column+=i}},e.prototype.split=function(t,i){var n=this.getNextFoldTo(t,i);if(!n||"inside"==n.kind)return null;var o=n.fold,a=this.folds,r=this.foldData,s=a.indexOf(o),l=a[s-1];this.end.row=l.end.row,this.end.column=l.end.column;var c=new e(r,a=a.splice(s,a.length-s));return r.splice(r.indexOf(this)+1,0,c),c},e.prototype.merge=function(e){for(var t=e.folds,i=0;i<t.length;i++)this.addFold(t[i]);var n=this.foldData;n.splice(n.indexOf(e),1)},e.prototype.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach((function(t){e.push("  "+t.toString())})),e.push("]"),e.join("\n")},e.prototype.idxToPosition=function(e){for(var t=0,i=0;i<this.folds.length;i++){var n=this.folds[i];if((e-=n.start.column-t)<0)return{row:n.start.row,column:n.start.column+e};if((e-=n.placeholder.length)<0)return n.start;t=n.end.column}return{row:this.end.row,column:this.end.column+e}},e}();t.FoldLine=o})),ace.define("ace/range_list",["require","exports","module","ace/range"],(function(e,t,i){"use strict";var n=e("./range").Range.comparePoints,o=function(){function e(){this.ranges=[],this.$bias=1}return e.prototype.pointIndex=function(e,t,i){for(var o=this.ranges,a=i||0;a<o.length;a++){var r=o[a],s=n(e,r.end);if(!(s>0)){var l=n(e,r.start);return 0===s?t&&0!==l?-a-2:a:l>0||0===l&&!t?a:-a-1}}return-a-1},e.prototype.add=function(e){var t=!e.isEmpty(),i=this.pointIndex(e.start,t);i<0&&(i=-i-1);var n=this.pointIndex(e.end,t,i);return n<0?n=-n-1:n++,this.ranges.splice(i,n-i,e)},e.prototype.addList=function(e){for(var t=[],i=e.length;i--;)t.push.apply(t,this.add(e[i]));return t},e.prototype.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},e.prototype.merge=function(){for(var e,t=[],i=this.ranges,o=(i=i.sort((function(e,t){return n(e.start,t.start)})))[0],a=1;a<i.length;a++){e=o,o=i[a];var r=n(e.end,o.start);r<0||(0!=r||e.isEmpty()||o.isEmpty())&&(n(e.end,o.end)<0&&(e.end.row=o.end.row,e.end.column=o.end.column),i.splice(a,1),t.push(o),o=e,a--)}return this.ranges=i,t},e.prototype.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},e.prototype.containsPoint=function(e){return this.pointIndex(e)>=0},e.prototype.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},e.prototype.clipRows=function(e,t){var i=this.ranges;if(i[0].start.row>t||i[i.length-1].start.row<e)return[];var n=this.pointIndex({row:e,column:0});n<0&&(n=-n-1);var o=this.pointIndex({row:t,column:0},n);o<0&&(o=-o-1);for(var a=[],r=n;r<o;r++)a.push(i[r]);return a},e.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},e.prototype.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},e.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},e.prototype.$onChange=function(e){for(var t=e.start,i=e.end,n=t.row,o=i.row,a=this.ranges,r=0,s=a.length;r<s&&!((d=a[r]).end.row>=n);r++);if("insert"==e.action){for(var l=o-n,c=-t.column+i.column;r<s&&!((d=a[r]).start.row>n);r++)if(d.start.row==n&&d.start.column>=t.column&&(d.start.column==t.column&&this.$bias<=0||(d.start.column+=c,d.start.row+=l)),d.end.row==n&&d.end.column>=t.column){if(d.end.column==t.column&&this.$bias<0)continue;d.end.column==t.column&&c>0&&r<s-1&&d.end.column>d.start.column&&d.end.column==a[r+1].start.column&&(d.end.column-=c),d.end.column+=c,d.end.row+=l}}else for(l=n-o,c=t.column-i.column;r<s&&!((d=a[r]).start.row>o);r++)d.end.row<o&&(n<d.end.row||n==d.end.row&&t.column<d.end.column)?(d.end.row=n,d.end.column=t.column):d.end.row==o?d.end.column<=i.column?(l||d.end.column>t.column)&&(d.end.column=t.column,d.end.row=t.row):(d.end.column+=c,d.end.row+=l):d.end.row>o&&(d.end.row+=l),d.start.row<o&&(n<d.start.row||n==d.start.row&&t.column<d.start.column)?(d.start.row=n,d.start.column=t.column):d.start.row==o?d.start.column<=i.column?(l||d.start.column>t.column)&&(d.start.column=t.column,d.start.row=t.row):(d.start.column+=c,d.start.row+=l):d.start.row>o&&(d.start.row+=l);if(0!=l&&r<s)for(;r<s;r++){var d;(d=a[r]).start.row+=l,d.end.row+=l}},e}();o.prototype.comparePoints=n,t.RangeList=o})),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],(function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=function(e){function t(t,i){var n=e.call(this)||this;return n.foldLine=null,n.placeholder=i,n.range=t,n.start=t.start,n.end=t.end,n.sameRow=t.start.row==t.end.row,n.subFolds=n.ranges=[],n}return o(t,e),t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach((function(t){t.setFoldLine(e)}))},t.prototype.clone=function(){var e=new t(this.range.clone(),this.placeholder);return this.subFolds.forEach((function(t){e.subFolds.push(t.clone())})),e.collapseChildren=this.collapseChildren,e},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){var t,i;t=e,i=this.start,r(t.start,i),r(t.end,i);for(var n=e.start.row,o=e.start.column,a=0,s=-1;a<this.subFolds.length&&1==(s=this.subFolds[a].range.compare(n,o));a++);var l=this.subFolds[a],c=0;if(0==s){if(l.range.containsRange(e))return l.addSubFold(e);c=1}n=e.range.end.row,o=e.range.end.column;var d=a;for(s=-1;d<this.subFolds.length&&1==(s=this.subFolds[d].range.compare(n,o));d++);0==s&&d++;for(var h=this.subFolds.splice(a,d-a,e),f=0==s?h.length-1:h.length,u=c;u<f;u++)e.addSubFold(h[u]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return function(e,t){s(e.start,t),s(e.end,t)}(e,this.start)},t}(e("../range_list").RangeList);function r(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function s(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}t.Fold=a})),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],(function(e,t,i){"use strict";var n=e("../range").Range,o=e("./fold_line").FoldLine,a=e("./fold").Fold,r=e("../token_iterator").TokenIterator,s=e("../mouse/mouse_event").MouseEvent;t.Folding=function(){this.getFoldAt=function(e,t,i){var n=this.getFoldLine(e);if(!n)return null;for(var o=n.folds,a=0;a<o.length;a++){var r=o[a].range;if(r.contains(e,t)){if(1==i&&r.isEnd(e,t)&&!r.isEmpty())continue;if(-1==i&&r.isStart(e,t)&&!r.isEmpty())continue;return o[a]}}},this.getFoldsInRange=function(e){var t=e.start,i=e.end,n=this.$foldData,o=[];t.column+=1,i.column-=1;for(var a=0;a<n.length;a++){var r=n[a].range.compareRange(e);if(2!=r){if(-2==r)break;for(var s=n[a].folds,l=0;l<s.length;l++){var c=s[l];if(-2==(r=c.range.compareRange(e)))break;if(2!=r){if(42==r)break;o.push(c)}}}}return t.column-=1,i.column+=1,o},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach((function(e){t=t.concat(this.getFoldsInRange(e))}),this)}else t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,i=0;i<t.length;i++)for(var n=0;n<t[i].folds.length;n++)e.push(t[i].folds[n]);return e},this.getFoldStringAt=function(e,t,i,n){if(!(n=n||this.getFoldLine(e)))return null;for(var o,a,r={end:{column:0}},s=0;s<n.folds.length;s++){var l=(a=n.folds[s]).range.compareEnd(e,t);if(-1==l){o=this.getLine(a.start.row).substring(r.end.column,a.start.column);break}if(0===l)return null;r=a}return o||(o=this.getLine(a.start.row).substring(r.end.column)),-1==i?o.substring(0,t-r.end.column):1==i?o.substring(t-r.end.column):o},this.getFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0);n<i.length;n++){var o=i[n];if(o.start.row<=e&&o.end.row>=e)return o;if(o.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0);n<i.length;n++){var o=i[n];if(o.end.row>=e)return o}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,o=0;o<i.length;o++){var a=i[o],r=a.end.row,s=a.start.row;if(r>=t){s<t&&(s>=e?n-=t-s:n=0);break}r>=e&&(n-=s>=e?r-s:r-e+1)}return n},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort((function(e,t){return e.start.row-t.start.row})),e},this.addFold=function(e,t){var i,n=this.$foldData,r=!1;e instanceof a?i=e:(i=new a(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(i.range);var s=i.start.row,l=i.start.column,c=i.end.row,d=i.end.column,h=this.getFoldAt(s,l,1),f=this.getFoldAt(c,d,-1);if(h&&f==h)return h.addSubFold(i);h&&!h.range.isStart(s,l)&&this.removeFold(h),f&&!f.range.isEnd(c,d)&&this.removeFold(f);var u=this.getFoldsInRange(i.range);u.length>0&&(this.removeFolds(u),i.collapseChildren||u.forEach((function(e){i.addSubFold(e)})));for(var p=0;p<n.length;p++){var g=n[p];if(c==g.start.row){g.addFold(i),r=!0;break}if(s==g.end.row){if(g.addFold(i),r=!0,!i.sameRow){var m=n[p+1];if(m&&m.start.row==c){g.merge(m);break}}break}if(c<=g.start.row)break}return r||(g=this.$addFoldLine(new o(this.$foldData,i))),this.$useWrapMode?this.$updateWrapData(g.start.row,g.start.row):this.$updateRowLengthCache(g.start.row,g.start.row),this.$modified=!0,this._signal("changeFold",{data:i,action:"add"}),i},this.addFolds=function(e){e.forEach((function(e){this.addFold(e)}),this)},this.removeFold=function(e){var t=e.foldLine,i=t.start.row,n=t.end.row,o=this.$foldData,a=t.folds;if(1==a.length)o.splice(o.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))a.pop(),t.end.row=a[a.length-1].end.row,t.end.column=a[a.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))a.shift(),t.start.row=a[0].start.row,t.start.column=a[0].start.column;else if(e.sameRow)a.splice(a.indexOf(e),1);else{var r=t.split(e.start.row,e.start.column);(a=r.folds).shift(),r.start.row=a[0].start.row,r.start.column=a[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(i,n):this.$updateRowLengthCache(i,n)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],i=0;i<e.length;i++)t.push(e[i]);t.forEach((function(e){this.removeFold(e)}),this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach((function(t){e.restoreRange(t),this.addFold(t)}),this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach((function(e){this.expandFold(e)}),this)},this.unfold=function(e,t){var i,o;if(null==e)i=new n(0,0,this.getLength(),0),null==t&&(t=!0);else if("number"==typeof e)i=new n(e,0,e,this.getLine(e).length);else if("row"in e)i=n.fromPoints(e,e);else{if(Array.isArray(e))return o=[],e.forEach((function(e){o=o.concat(this.unfold(e))}),this),o;i=e}for(var a=o=this.getFoldsInRangeList(i);1==o.length&&n.comparePoints(o[0].start,i.start)<0&&n.comparePoints(o[0].end,i.end)>0;)this.expandFolds(o),o=this.getFoldsInRangeList(i);if(0!=t?this.removeFolds(o):this.expandFolds(o),a.length)return a},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var i=this.getFoldLine(e,t);return i?i.end.row:e},this.getRowFoldStart=function(e,t){var i=this.getFoldLine(e,t);return i?i.start.row:e},this.getFoldDisplayLine=function(e,t,i,n,o){null==n&&(n=e.start.row),null==o&&(o=0),null==t&&(t=e.end.row),null==i&&(i=this.getLine(t).length);var a=this.doc,r="";return e.walk((function(e,t,i,s){if(!(t<n)){if(t==n){if(i<o)return;s=Math.max(o,s)}r+=null!=e?e:a.getLine(t).substring(s,i)}}),t,i),r},this.getDisplayLine=function(e,t,i,n){var o,a=this.getFoldLine(e);return a?this.getFoldDisplayLine(a,e,t,i,n):(o=this.doc.getLine(e)).substring(n||0,t||o.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map((function(t){var i=t.folds.map((function(e){return e.clone()}));return new o(e,i)}))},this.toggleFold=function(e){var t,i,n=this.selection.getRange();if(n.isEmpty()){var o=n.start;if(t=this.getFoldAt(o.row,o.column))return void this.expandFold(t);(i=this.findMatchingBracket(o))?1==n.comparePoint(i)?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:o.row,column:o.column+1}))?(1==n.comparePoint(i)?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(o.row,o.column)||n}else{var a=this.getFoldsInRange(n);if(e&&a.length)return void this.expandFolds(a);1==a.length&&(t=a[0])}if(t||(t=this.getFoldAt(n.start.row,n.start.column)),t&&t.range.toString()==n.toString())this.expandFold(t);else{var r="...";if(!n.isMultiLine()){if((r=this.getTextRange(n)).length<4)return;r=r.trim().substring(0,2)+".."}this.addFold(r,n)}},this.getCommentFoldRange=function(e,t,i){var o=new r(this,e,t),a=o.getCurrentToken(),s=a&&a.type;if(a&&/^comment|string/.test(s)){"comment"==(s=s.match(/comment|string/)[0])&&(s+="|doc-start|\\.doc");var l=new RegExp(s),c=new n;if(1!=i){do{a=o.stepBackward()}while(a&&l.test(a.type));a=o.stepForward()}c.start.row=o.getCurrentTokenRow(),c.start.column=o.getCurrentTokenColumn()+a.value.length,o=new r(this,e,t);var d=this.getState(o.$row);if(-1!=i){var h=-1;do{if(a=o.stepForward(),-1==h){var f=this.getState(o.$row);d.toString()!==f.toString()&&(h=o.$row)}else if(o.$row>h)break}while(a&&l.test(a.type));a=o.stepBackward()}else a=o.getCurrentToken();return c.end.row=o.getCurrentTokenRow(),c.end.column=o.getCurrentTokenColumn(),c}},this.foldAll=function(e,t,i,n){null==i&&(i=1e5);var o=this.foldWidgets;if(o){t=t||this.getLength();for(var a=e=e||0;a<t;a++)if(null==o[a]&&(o[a]=this.getFoldWidget(a)),"start"==o[a]&&(!n||n(a))){var r=this.getFoldWidgetRange(a);r&&r.isMultiLine()&&r.end.row<=t&&r.start.row>=e&&(a=r.end.row,r.collapseChildren=i,this.addFold("...",r))}}},this.foldToLevel=function(e){for(this.foldAll();e-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,(function(t){for(var i=e.getTokens(t),n=0;n<i.length;n++){var o=i[n];if("text"!=o.type||!/^\s+$/.test(o.value))return!!/comment/.test(o.type)}}))},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var i=this.foldWidgets;if(!i||t&&i[e])return{};for(var n,o=e-1;o>=0;){var a=i[o];if(null==a&&(a=i[o]=this.getFoldWidget(o)),"start"==a){var r=this.getFoldWidgetRange(o);if(n||(n=r),r&&r.end.row>=e)break}o--}return{range:-1!==o&&r,firstRange:n}},this.onFoldWidgetClick=function(e,t){t instanceof s&&(t=t.domEvent);var i={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,i)){var n=t.target||t.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var i=this.getFoldWidget(e),n=this.getLine(e),o="end"===i?-1:1,a=this.getFoldAt(e,-1===o?0:n.length,o);if(a)return t.children||t.all?this.removeFold(a):this.expandFold(a),a;var r=this.getFoldWidgetRange(e,!0);if(r&&!r.isMultiLine()&&(a=this.getFoldAt(r.start.row,r.start.column,1))&&r.isEqual(a.range))return this.removeFold(a),a;if(t.siblings){var s=this.getParentFoldRangeData(e);if(s.range)var l=s.range.start.row+1,c=s.range.end.row;this.foldAll(l,c,t.all?1e4:0)}else t.children?(c=r?r.end.row:this.getLength(),this.foldAll(e+1,c,t.all?1e4:0)):r&&(t.all&&(r.collapseChildren=1e4),this.addFold("...",r));return r}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var i=this.$toggleFoldWidget(t,{});if(!i){var n=this.getParentFoldRangeData(t,!0);if(i=n.range||n.firstRange){t=i.start.row;var o=this.getFoldAt(t,this.getLine(t).length,1);o?this.removeFold(o):this.addFold("...",i)}}},this.updateFoldWidgets=function(e){var t=e.start.row,i=e.end.row-t;if(0===i)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,i+1,null);else{var n=Array(i+1);n.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,n)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(e,t,i){"use strict";var n=e("../token_iterator").TokenIterator,o=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var i=t||this.getLine(e.row).charAt(e.column-1);if(""==i)return null;var n=i.match(/([\(\[\{])|([\)\]\}])/);return n?n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e):null},this.getBracketRange=function(e){var t,i=this.getLine(e.row),n=!0,a=i.charAt(e.column-1),r=a&&a.match(/([\(\[\{])|([\)\]\}])/);if(r||(a=i.charAt(e.column),e={row:e.row,column:e.column+1},r=a&&a.match(/([\(\[\{])|([\)\]\}])/),n=!1),!r)return null;if(r[1]){if(!(s=this.$findClosingBracket(r[1],e)))return null;t=o.fromPoints(e,s),n||(t.end.column++,t.start.column--),t.cursor=t.end}else{var s;if(!(s=this.$findOpeningBracket(r[2],e)))return null;t=o.fromPoints(s,e),n||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(e,t){var i=this.getLine(e.row),n=/([\(\[\{])|([\)\]\}])/,a=!t&&i.charAt(e.column-1),r=a&&a.match(n);if(r||(a=(void 0===t||t)&&i.charAt(e.column),e={row:e.row,column:e.column+1},r=a&&a.match(n)),!r)return null;var s=new o(e.row,e.column-1,e.row,e.column),l=r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e);return l?[s,new o(l.row,l.column,l.row,l.column+1)]:[s]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,i){var o=this.$brackets[e],a=1,r=new n(this,t.row,t.column),s=r.getCurrentToken();if(s||(s=r.stepForward()),s){i||(i=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var l=t.column-r.getCurrentTokenColumn()-2,c=s.value;;){for(;l>=0;){var d=c.charAt(l);if(d==o){if(0==(a-=1))return{row:r.getCurrentTokenRow(),column:l+r.getCurrentTokenColumn()}}else d==e&&(a+=1);l-=1}do{s=r.stepBackward()}while(s&&!i.test(s.type));if(null==s)break;l=(c=s.value).length-1}return null}},this.$findClosingBracket=function(e,t,i){var o=this.$brackets[e],a=1,r=new n(this,t.row,t.column),s=r.getCurrentToken();if(s||(s=r.stepForward()),s){i||(i=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var l=t.column-r.getCurrentTokenColumn();;){for(var c=s.value,d=c.length;l<d;){var h=c.charAt(l);if(h==o){if(0==(a-=1))return{row:r.getCurrentTokenRow(),column:l+r.getCurrentTokenColumn()}}else h==e&&(a+=1);l+=1}do{s=r.stepForward()}while(s&&!i.test(s.type));if(null==s)break;l=0}return null}},this.getMatchingTags=function(e){var t=new n(this,e.row,e.column),i=this.$findTagName(t);if(i)return"<"===t.stepBackward().value?this.$findClosingTag(t,i):this.$findOpeningTag(t,i)},this.$findTagName=function(e){var t=e.getCurrentToken(),i=!1,n=!1;if(t&&-1===t.type.indexOf("tag-name"))do{(t=n?e.stepBackward():e.stepForward())&&("/>"===t.value?n=!0:-1!==t.type.indexOf("tag-name")&&(i=!0))}while(t&&!i);return t},this.$findClosingTag=function(e,t){var i,n=t.value,a=t.value,r=0,s=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);t=e.stepForward();var l=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length),c=!1;do{if(-1!==(i=t).type.indexOf("tag-close")&&!c){var d=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);c=!0}if(t=e.stepForward())if(">"!==t.value||c||(d=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1),c=!0),-1!==t.type.indexOf("tag-name")){if(a===(n=t.value))if("<"===i.value)r++;else if("</"===i.value&&--r<0){e.stepBackward();var h=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2);t=e.stepForward();var f=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);if(-1===t.type.indexOf("tag-close")&&(t=e.stepForward()),!t||">"!==t.value)return;var u=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}else a===n&&"/>"===t.value&&--r<0&&(u=f=h=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2),d=new o(l.end.row,l.end.column,l.end.row,l.end.column+1))}while(t&&r>=0);if(s&&d&&h&&u&&l&&f)return{openTag:new o(s.start.row,s.start.column,d.end.row,d.end.column),closeTag:new o(h.start.row,h.start.column,u.end.row,u.end.column),openTagName:l,closeTagName:f}},this.$findOpeningTag=function(e,t){var i=e.getCurrentToken(),n=t.value,a=0,r=e.getCurrentTokenRow(),s=e.getCurrentTokenColumn(),l=s+2,c=new o(r,s,r,l);e.stepForward();var d=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);if(-1===t.type.indexOf("tag-close")&&(t=e.stepForward()),t&&">"===t.value){var h=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);e.stepBackward(),e.stepBackward();do{if(t=i,r=e.getCurrentTokenRow(),l=(s=e.getCurrentTokenColumn())+t.value.length,i=e.stepBackward(),t)if(-1!==t.type.indexOf("tag-name")){if(n===t.value)if("<"===i.value){if(++a>0){var f=new o(r,s,r,l),u=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);do{t=e.stepForward()}while(t&&">"!==t.value);var p=new o(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}else"</"===i.value&&a--}else if("/>"===t.value){for(var g=0,m=i;m;){if(-1!==m.type.indexOf("tag-name")&&m.value===n){a--;break}if("<"===m.value)break;m=e.stepBackward(),g++}for(var y=0;y<g;y++)e.stepForward()}}while(i&&a<=0);return u&&p&&c&&h&&f&&d?{openTag:new o(u.start.row,u.start.column,p.end.row,p.end.column),closeTag:new o(c.start.row,c.start.column,h.end.row,h.end.column),openTagName:f,closeTagName:d}:void 0}}}})),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],(function(e,t,i){"use strict";var n=e("./lib/oop"),o=e("./lib/lang"),a=e("./bidihandler").BidiHandler,r=e("./config"),s=e("./lib/event_emitter").EventEmitter,l=e("./selection").Selection,c=e("./mode/text").Mode,d=e("./range").Range,h=e("./line_widgets").LineWidgets,f=e("./document").Document,u=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,g=e("./undomanager").UndoManager,m=function(){function e(t,i){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++e.$uid,this.$foldData.toString=function(){return this.join("\n")},this.bgTokenizer=new u((new c).getTokenizer(),this);var n=this;this.bgTokenizer.on("update",(function(e){n._signal("tokenizerUpdate",e)})),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof t&&t.getLine||(t=new f(t)),this.setDocument(t),this.selection=new l(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new a(this),r.resetOptions(this),this.setMode(i),r._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return e.prototype.$initOperationListeners=function(){var e=this;this.curOp=null,this.on("change",(function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.docChanged=!0}),!0),this.on("changeSelection",(function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.selectionChanged=!0}),!0),this.$operationResetTimer=o.delayedCall(this.endOperation.bind(this,!0))},e.prototype.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(e={}),this.$operationResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",e)},e.prototype.endOperation=function(e){if(this.curOp){if(e&&!1===e.returnValue)return this.curOp=null,void this._signal("endOperation",e);if(1==e&&this.curOp.command&&"mouse"==this.curOp.command.name)return;var t=this.selection.toJSON();this.curOp.selectionAfter=t,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(t),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",e)}},e.prototype.setDocument=function(e){this.doc&&this.doc.off("change",this.$onChange),this.doc=e,e.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},e.prototype.getDocument=function(){return this.doc},Object.defineProperty(e.prototype,"widgetManager",{get:function(){var e=new h(this);return this.widgetManager=e,this.$editor&&e.attach(this.$editor),e},set:function(e){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:e})},enumerable:!1,configurable:!0}),e.prototype.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],void(this.$screenRowCache=[]);var t=this.$docRowCache.length,i=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>i&&(this.$docRowCache.splice(i,t),this.$screenRowCache.splice(i,t))},e.prototype.$getRowCacheIndex=function(e,t){for(var i=0,n=e.length-1;i<=n;){var o=i+n>>1,a=e[o];if(t>a)i=o+1;else{if(!(t<a))return o;n=o-1}}return i-1},e.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},e.prototype.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},e.prototype.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},e.prototype.onSelectionChange=function(){this._signal("changeSelection")},e.prototype.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},e.fromJSON=function(t){"string"==typeof t&&(t=JSON.parse(t));var i=new g;i.$undoStack=t.history.undo,i.$redoStack=t.history.redo,i.mark=t.history.mark,i.$rev=t.history.rev;var n=new e(t.value);return t.folds.forEach((function(e){n.addFold("...",d.fromPoints(e.start,e.end))})),n.setAnnotations(t.annotations),n.setBreakpoints(t.breakpoints),n.setMode(t.mode),n.setScrollLeft(t.scrollLeft),n.setScrollTop(t.scrollTop),n.setUndoManager(i),n.selection.fromJSON(t.selection),n},e.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map((function(e){return e.range})),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},e.prototype.toString=function(){return this.doc.getValue()},e.prototype.getSelection=function(){return this.selection},e.prototype.getState=function(e){return this.bgTokenizer.getState(e)},e.prototype.getTokens=function(e){return this.bgTokenizer.getTokens(e)},e.prototype.getTokenAt=function(e,t){var i,n=this.bgTokenizer.getTokens(e),o=0;if(null==t){var a=n.length-1;o=this.getLine(e).length}else for(a=0;a<n.length&&!((o+=n[a].value.length)>=t);a++);return(i=n[a])?(i.index=a,i.start=o-i.value.length,i):null},e.prototype.setUndoManager=function(e){if(this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=o.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},e.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},e.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},e.prototype.getTabString=function(){return this.getUseSoftTabs()?o.stringRepeat(" ",this.getTabSize()):"\t"},e.prototype.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},e.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},e.prototype.setTabSize=function(e){this.setOption("tabSize",e)},e.prototype.getTabSize=function(){return this.$tabSize},e.prototype.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},e.prototype.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},e.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},e.prototype.setOverwrite=function(e){this.setOption("overwrite",e)},e.prototype.getOverwrite=function(){return this.$overwrite},e.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},e.prototype.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},e.prototype.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},e.prototype.getBreakpoints=function(){return this.$breakpoints},e.prototype.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},e.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},e.prototype.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},e.prototype.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},e.prototype.addMarker=function(e,t,i,n){var o=this.$markerId++,a={range:e,type:i||"line",renderer:"function"==typeof i?i:null,clazz:t,inFront:!!n,id:o};return n?(this.$frontMarkers[o]=a,this._signal("changeFrontMarker")):(this.$backMarkers[o]=a,this._signal("changeBackMarker")),o},e.prototype.addDynamicMarker=function(e,t){if(e.update){var i=this.$markerId++;return e.id=i,e.inFront=!!t,t?(this.$frontMarkers[i]=e,this._signal("changeFrontMarker")):(this.$backMarkers[i]=e,this._signal("changeBackMarker")),e}},e.prototype.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];t&&(delete(t.inFront?this.$frontMarkers:this.$backMarkers)[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))},e.prototype.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},e.prototype.highlight=function(e){if(!this.$searchHighlight){var t=new p(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},e.prototype.highlightLines=function(e,t,i,n){"number"!=typeof t&&(i=t,t=e),i||(i="ace_step");var o=new d(e,0,t,1/0);return o.id=this.addMarker(o,i,"fullLine",n),o},e.prototype.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},e.prototype.getAnnotations=function(){return this.$annotations||[]},e.prototype.clearAnnotations=function(){this.setAnnotations([])},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},e.prototype.getWordRange=function(e,t){var i=this.getLine(e),n=!1;if(t>0&&(n=!!i.charAt(t-1).match(this.tokenRe)),n||(n=!!i.charAt(t).match(this.tokenRe)),n)var o=this.tokenRe;else o=/^\s+$/.test(i.slice(t-1,t+1))?/\s/:this.nonTokenRe;var a=t;if(a>0){do{a--}while(a>=0&&i.charAt(a).match(o));a++}for(var r=t;r<i.length&&i.charAt(r).match(o);)r++;return new d(e,a,e,r)},e.prototype.getAWordRange=function(e,t){for(var i=this.getWordRange(e,t),n=this.getLine(i.end.row);n.charAt(i.end.column).match(/[ \t]/);)i.end.column+=1;return i},e.prototype.setNewLineMode=function(e){this.doc.setNewLineMode(e)},e.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},e.prototype.setUseWorker=function(e){this.setOption("useWorker",e)},e.prototype.getUseWorker=function(){return this.$useWorker},e.prototype.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},e.prototype.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var i=e,n=i.path}else n=e||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new c),this.$modes[n]&&!i)return this.$onChangeMode(this.$modes[n]),void(t&&t());this.$modeId=n,r.loadModule(["mode",n],function(e){if(!this.destroyed){if(this.$modeId!==n)return t&&t();this.$modes[n]&&!i?this.$onChangeMode(this.$modes[n]):e&&e.Mode&&(e=new e.Mode(i),i||(this.$modes[n]=e,e.$id=n),this.$onChangeMode(e)),t&&t()}}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},e.prototype.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){var i=this.$mode;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(void 0!==n.on){var o=this.onReloadTokenizer.bind(this);n.on("update",o)}this.bgTokenizer.setTokenizer(n),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:i,mode:e}))}},e.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},e.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){r.warn("Could not load worker",e),this.$worker=null}},e.prototype.getMode=function(){return this.$mode},e.prototype.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},e.prototype.getScrollTop=function(){return this.$scrollTop},e.prototype.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},e.prototype.getScrollLeft=function(){return this.$scrollLeft},e.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},e.prototype.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach((function(t){t&&t.screenWidth>e&&(e=t.screenWidth)})),this.lineWidgetWidth=e},e.prototype.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),i=this.$rowLengthCache,n=0,o=0,a=this.$foldData[o],r=a?a.start.row:1/0,s=t.length,l=0;l<s;l++){if(l>r){if((l=a.end.row+1)>=s)break;r=(a=this.$foldData[o++])?a.start.row:1/0}null==i[l]&&(i[l]=this.$getStringScreenWidth(t[l])[0]),i[l]>n&&(n=i[l])}this.screenWidth=n}},e.prototype.getLine=function(e){return this.doc.getLine(e)},e.prototype.getLines=function(e,t){return this.doc.getLines(e,t)},e.prototype.getLength=function(){return this.doc.getLength()},e.prototype.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},e.prototype.insert=function(e,t){return this.doc.insert(e,t)},e.prototype.remove=function(e){return this.doc.remove(e)},e.prototype.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},e.prototype.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=e.length-1;-1!=i;i--){var n=e[i];"insert"==n.action||"remove"==n.action?this.doc.revertDelta(n):n.folds&&this.addFolds(n.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},e.prototype.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=0;i<e.length;i++){var n=e[i];"insert"!=n.action&&"remove"!=n.action||this.doc.$safeApplyDelta(n)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1}},e.prototype.setUndoSelect=function(e){this.$undoSelect=e},e.prototype.$getUndoSelection=function(e,t){function i(e){return t?"insert"!==e.action:"insert"===e.action}for(var n,o,a=0;a<e.length;a++){var r=e[a];r.start&&(n?i(r)?(o=r.start,-1==n.compare(o.row,o.column)&&n.setStart(o),o=r.end,1==n.compare(o.row,o.column)&&n.setEnd(o)):(o=r.start,-1==n.compare(o.row,o.column)&&(n=d.fromPoints(r.start,r.start))):n=i(r)?d.fromPoints(r.start,r.end):d.fromPoints(r.start,r.start))}return n},e.prototype.replace=function(e,t){return this.doc.replace(e,t)},e.prototype.moveText=function(e,t,i){var n=this.getTextRange(e),o=this.getFoldsInRange(e),a=d.fromPoints(t,t);if(!i){this.remove(e);var r=e.start.row-e.end.row;(c=r?-e.end.column:e.start.column-e.end.column)&&(a.start.row==e.end.row&&a.start.column>e.end.column&&(a.start.column+=c),a.end.row==e.end.row&&a.end.column>e.end.column&&(a.end.column+=c)),r&&a.start.row>=e.end.row&&(a.start.row+=r,a.end.row+=r)}if(a.end=this.insert(a.start,n),o.length){var s=e.start,l=a.start,c=(r=l.row-s.row,l.column-s.column);this.addFolds(o.map((function(e){return(e=e.clone()).start.row==s.row&&(e.start.column+=c),e.end.row==s.row&&(e.end.column+=c),e.start.row+=r,e.end.row+=r,e})))}return a},e.prototype.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;n<=t;n++)this.doc.insertInLine({row:n,column:0},i)},e.prototype.outdentRows=function(e){for(var t=e.collapseRows(),i=new d(0,0,0,0),n=this.getTabSize(),o=t.start.row;o<=t.end.row;++o){var a=this.getLine(o);i.start.row=o,i.end.row=o;for(var r=0;r<n&&" "==a.charAt(r);++r);r<n&&"\t"==a.charAt(r)?(i.start.column=r,i.end.column=r+1):(i.start.column=0,i.end.column=r),this.remove(i)}},e.prototype.$moveLines=function(e,t,i){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),i<0){if((o=this.getRowFoldStart(e+i))<0)return 0;var n=o-e}else if(i>0){var o;if((o=this.getRowFoldEnd(t+i))>this.doc.getLength()-1)return 0;n=o-t}else e=this.$clipRowToDocument(e),n=(t=this.$clipRowToDocument(t))-e+1;var a=new d(e,0,t,Number.MAX_VALUE),r=this.getFoldsInRange(a).map((function(e){return(e=e.clone()).start.row+=n,e.end.row+=n,e})),s=0==i?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+n,s),r.length&&this.addFolds(r),n},e.prototype.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},e.prototype.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},e.prototype.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},e.prototype.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},e.prototype.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},e.prototype.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var i=this.doc.getLength();e>=i?(e=i-1,t=this.doc.getLine(i-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},e.prototype.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},e.prototype.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},e.prototype.getUseWrapMode=function(){return this.$useWrapMode},e.prototype.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},e.prototype.adjustWrapLimit=function(e,t){var i=this.$wrapLimitRange;i.max<0&&(i={min:t,max:t});var n=this.$constrainWrapLimit(e,i.min,i.max);return n!=this.$wrapLimit&&n>1&&(this.$wrapLimit=n,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},e.prototype.$constrainWrapLimit=function(e,t,i){return t&&(e=Math.max(t,e)),i&&(e=Math.min(i,e)),e},e.prototype.getWrapLimit=function(){return this.$wrapLimit},e.prototype.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},e.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},e.prototype.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,i=e.action,n=e.start,o=e.end,a=n.row,r=o.row,s=r-a,l=null;if(this.$updating=!0,0!=s)if("remove"===i){this[t?"$wrapData":"$rowLengthCache"].splice(a,s);var c=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var d=0;if(g=this.getFoldLine(o.row)){g.addRemoveChars(o.row,o.column,n.column-o.column),g.shiftRow(-s);var h=this.getFoldLine(a);h&&h!==g&&(h.merge(g),g=h),d=c.indexOf(g)+1}for(;d<c.length;d++)(g=c[d]).start.row>=o.row&&g.shiftRow(-s);r=a}else{var f=Array(s);f.unshift(a,0);var u=t?this.$wrapData:this.$rowLengthCache;if(u.splice.apply(u,f),c=this.$foldData,d=0,g=this.getFoldLine(a)){var p=g.range.compareInside(n.row,n.column);0==p?(g=g.split(n.row,n.column))&&(g.shiftRow(s),g.addRemoveChars(r,0,o.column-n.column)):-1==p&&(g.addRemoveChars(a,0,o.column-n.column),g.shiftRow(s)),d=c.indexOf(g)+1}for(;d<c.length;d++){var g;(g=c[d]).start.row>=a&&g.shiftRow(s)}}else s=Math.abs(e.start.column-e.end.column),"remove"===i&&(l=this.getFoldsInRange(e),this.removeFolds(l),s=-s),(g=this.getFoldLine(a))&&g.addRemoveChars(a,n.column,s);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(a,r):this.$updateRowLengthCache(a,r),l},e.prototype.$updateRowLengthCache=function(e,t){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},e.prototype.$updateWrapData=function(e,t){var i,n,o=this.doc.getAllLines(),a=this.getTabSize(),r=this.$wrapData,s=this.$wrapLimit,l=e;for(t=Math.min(t,o.length-1);l<=t;)(n=this.getFoldLine(l,n))?(i=[],n.walk(function(e,t,n,a){var r;if(null!=e){(r=this.$getDisplayTokens(e,i.length))[0]=b;for(var s=1;s<r.length;s++)r[s]=w}else r=this.$getDisplayTokens(o[t].substring(a,n),i.length);i=i.concat(r)}.bind(this),n.end.row,o[n.end.row].length+1),r[n.start.row]=this.$computeWrapSplits(i,s,a),l=n.end.row+1):(i=this.$getDisplayTokens(o[l]),r[l]=this.$computeWrapSplits(i,s,a),l++)},e.prototype.$computeWrapSplits=function(e,t,i){if(0==e.length)return[];var n=[],o=e.length,a=0,r=0,s=this.$wrapAsCode,l=this.$indentedSoftWrap,c=t<=Math.max(2*i,8)||!1===l?0:Math.floor(t/2);function d(t){for(var o=t-a,d=a;d<t;d++){var f=e[d];12!==f&&2!==f||(o-=1)}n.length||(h=function(){var t=0;if(0===c)return t;if(l)for(var n=0;n<e.length;n++){var o=e[n];if(o==x)t+=1;else{if(o!=S){if(o==k)continue;break}t+=i}}return s&&!1!==l&&(t+=i),Math.min(t,c)}(),n.indent=h),r+=o,n.push(r),a=t}for(var h=0;o-a>t-h;){var f=a+t-h;if(e[f-1]>=x&&e[f]>=x)d(f);else if(e[f]!=b&&e[f]!=w){for(var u=Math.max(f-(t-(t>>2)),a-1);f>u&&e[f]<b;)f--;if(s){for(;f>u&&e[f]<b;)f--;for(;f>u&&e[f]==C;)f--}else for(;f>u&&e[f]<x;)f--;f>u?d(++f):(e[f=a+t]==v&&f--,d(f-h))}else{for(;f!=a-1&&e[f]!=b;f--);if(f>a){d(f);continue}for(f=a+t;f<e.length&&e[f]==w;f++);if(f==e.length)break;d(f)}}return n},e.prototype.$getDisplayTokens=function(e,t){var i,n=[];t=t||0;for(var o=0;o<e.length;o++){var a=e.charCodeAt(o);if(9==a){i=this.getScreenTabSize(n.length+t),n.push(S);for(var r=1;r<i;r++)n.push(k)}else 32==a?n.push(x):a>39&&a<48||a>57&&a<64?n.push(C):a>=4352&&$(a)?n.push(y,v):n.push(y)}return n},e.prototype.$getStringScreenWidth=function(e,t,i){if(0==t)return[0,0];var n,o;for(null==t&&(t=1/0),i=i||0,o=0;o<e.length&&(9==(n=e.charCodeAt(o))?i+=this.getScreenTabSize(i):n>=4352&&$(n)?i+=2:i+=1,!(i>t));o++);return[i,o]},e.prototype.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+t:t},e.prototype.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},e.prototype.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),i=this.$wrapData[t.row];return i.length&&i[0]<t.column?i.indent:0}return 0},e.prototype.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},e.prototype.getDocumentLastRowColumn=function(e,t){var i=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(i)},e.prototype.getDocumentLastRowColumnPosition=function(e,t){var i=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(i,Number.MAX_VALUE/10)},e.prototype.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},e.prototype.getScreenTabSize=function(e){return this.$tabSize-(e%this.$tabSize|0)},e.prototype.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},e.prototype.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},e.prototype.screenToDocumentPosition=function(e,t,i){if(e<0)return{row:0,column:0};var n,o,a=0,r=0,s=0,l=0,c=this.$screenRowCache,d=this.$getRowCacheIndex(c,e),h=c.length;if(h&&d>=0){s=c[d],a=this.$docRowCache[d];var f=e>c[h-1]}else f=!h;for(var u=this.getLength()-1,p=this.getNextFoldLine(a),g=p?p.start.row:1/0;s<=e&&!(s+(l=this.getRowLength(a))>e||a>=u);)s+=l,++a>g&&(a=p.end.row+1,g=(p=this.getNextFoldLine(a,p))?p.start.row:1/0),f&&(this.$docRowCache.push(a),this.$screenRowCache.push(s));if(p&&p.start.row<=a)n=this.getFoldDisplayLine(p),a=p.start.row;else{if(s+l<=e||a>u)return{row:u,column:this.getLine(u).length};n=this.getLine(a),p=null}var m=0,y=Math.floor(e-s);if(this.$useWrapMode){var v=this.$wrapData[a];v&&(o=v[y],y>0&&v.length&&(m=v.indent,r=v[y-1]||v[v.length-1],n=n.substring(r)))}return void 0!==i&&this.$bidiHandler.isBidiRow(s+y,a,y)&&(t=this.$bidiHandler.offsetToCol(i)),r+=this.$getStringScreenWidth(n,t-m)[1],this.$useWrapMode&&r>=o&&(r=o-1),p?p.idxToPosition(r):{row:a,column:r}},e.prototype.documentToScreenPosition=function(e,t){if(void 0===t)var i=this.$clipPositionToDocument(e.row,e.column);else i=this.$clipPositionToDocument(e,t);e=i.row,t=i.column;var n,o=0,a=null;(n=this.getFoldAt(e,t,1))&&(e=n.start.row,t=n.start.column);var r,s=0,l=this.$docRowCache,c=this.$getRowCacheIndex(l,e),d=l.length;if(d&&c>=0){s=l[c],o=this.$screenRowCache[c];var h=e>l[d-1]}else h=!d;for(var f=this.getNextFoldLine(s),u=f?f.start.row:1/0;s<e;){if(s>=u){if((r=f.end.row+1)>e)break;u=(f=this.getNextFoldLine(r,f))?f.start.row:1/0}else r=s+1;o+=this.getRowLength(s),s=r,h&&(this.$docRowCache.push(s),this.$screenRowCache.push(o))}var p="";f&&s>=u?(p=this.getFoldDisplayLine(f,e,t),a=f.start.row):(p=this.getLine(e).substring(0,t),a=e);var g=0;if(this.$useWrapMode){var m=this.$wrapData[a];if(m){for(var y=0;p.length>=m[y];)o++,y++;p=p.substring(m[y-1]||0,p.length),g=y>0?m.indent:0}}return this.lineWidgets&&this.lineWidgets[s]&&this.lineWidgets[s].rowsAbove&&(o+=this.lineWidgets[s].rowsAbove),{row:o,column:g+this.$getStringScreenWidth(p)[0]}},e.prototype.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},e.prototype.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},e.prototype.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var i=this.$wrapData.length,n=0,o=(s=0,(t=this.$foldData[s++])?t.start.row:1/0);n<i;){var a=this.$wrapData[n];e+=a?a.length+1:1,++n>o&&(n=t.end.row+1,o=(t=this.$foldData[s++])?t.start.row:1/0)}else{e=this.getLength();for(var r=this.$foldData,s=0;s<r.length;s++)e-=(t=r[s]).end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},e.prototype.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,i,n){if(0===i)return[0,0];var o,a;for(i||(i=1/0),n=n||0,a=0;a<t.length&&!((n+="\t"===(o=t.charAt(a))?this.getScreenTabSize(n):e.getCharacterWidth(o))>i);a++);return[n,a]})},e.prototype.getPrecedingCharacter=function(){var e=this.selection.getCursor();return 0===e.column?0===e.row?"":this.doc.getNewLineCharacter():this.getLine(e.row)[e.column-1]},e.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},e}();m.$uid=0,m.prototype.$modes=r.$modes,m.prototype.getValue=m.prototype.toString,m.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},m.prototype.$overwrite=!1,m.prototype.$mode=null,m.prototype.$modeId=null,m.prototype.$scrollTop=0,m.prototype.$scrollLeft=0,m.prototype.$wrapLimit=80,m.prototype.$useWrapMode=!1,m.prototype.$wrapLimitRange={min:null,max:null},m.prototype.lineWidgets=null,m.prototype.isFullWidth=$,n.implement(m.prototype,s);var y=1,v=2,b=3,w=4,C=9,x=10,S=11,k=12;function $(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}e("./edit_session/folding").Folding.call(m.prototype),e("./edit_session/bracket_match").BracketMatch.call(m.prototype),r.defineOptions(m.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){(e=parseInt(e))>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=m})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(e,t,i){"use strict";var n=e("./lib/lang"),o=e("./lib/oop"),a=e("./range").Range,r=function(){function e(){this.$options={}}return e.prototype.set=function(e){return o.mixin(this.$options,e),this},e.prototype.getOptions=function(){return n.copyObject(this.$options)},e.prototype.setOptions=function(e){this.$options=e},e.prototype.find=function(e){var t=this.$options,i=this.$matchIterator(e,t);if(!i)return!1;var n=null;return i.forEach((function(e,i,o,r){return n=new a(e,i,o,r),!(i==r&&t.start&&t.start.start&&0!=t.skipCurrent&&n.isEqual(t.start)&&(n=null,1))})),n},e.prototype.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var i=t.range,o=i?e.getLines(i.start.row,i.end.row):e.doc.getAllLines(),r=[],s=t.re;if(t.$isMultiLine){var l,c=s.length,d=o.length-c;e:for(var h=s.offset||0;h<=d;h++){for(var f=0;f<c;f++)if(-1==o[h+f].search(s[f]))continue e;var u=o[h],p=o[h+c-1],g=u.length-u.match(s[0])[0].length,m=p.match(s[c-1])[0].length;l&&l.end.row===h&&l.end.column>g||(r.push(l=new a(h,g,h+c-1,m)),c>2&&(h=h+c-2))}}else for(var y,v=0;v<o.length;v++)if(this.$isMultilineSearch(t)){var b=o.length-1;if(y=this.$multiLineForward(e,s,v,b)){var w=y.endRow<=b?y.endRow-1:b;w>v&&(v=w),r.push(new a(y.startRow,y.startCol,y.endRow,y.endCol))}}else for(y=n.getMatchOffsets(o[v],s),f=0;f<y.length;f++){var C=y[f];r.push(new a(v,C.offset,v,C.offset+C.length))}if(i){var x=i.start.column,S=i.end.column;for(v=0,f=r.length-1;v<f&&r[v].start.column<x&&0==r[v].start.row;)v++;for(var k=i.end.row-i.start.row;v<f&&r[f].end.column>S&&r[f].end.row==k;)f--;for(r=r.slice(v,f+1),v=0,f=r.length;v<f;v++)r[v].start.row+=i.start.row,r[v].end.row+=i.start.row}return r},e.prototype.parseReplaceString=function(e){for(var t="",i=0,n=e.length;i<n;i++){var o=e.charCodeAt(i);if(92!==o){if(36===o){if(++i>=n){t+="$";break}var a=e.charCodeAt(i);if(36===a){t+="$$";continue}if(48===a||38===a){t+="$&";continue}if(49<=a&&a<=57){t+="$"+e[i];continue}}t+=e[i]}else{if(++i>=n){t+="\\";break}switch(e.charCodeAt(i)){case 92:t+="\\";break;case 110:t+="\n";break;case 116:t+="\t"}}}return t||e},e.prototype.replace=function(e,t){var i=this.$options,n=this.$assembleRegExp(i);if(i.$isMultiLine)return t;if(n){var o=this.$isMultilineSearch(i);o&&(e=e.replace(/\r\n|\r|\n/g,"\n"));var a=n.exec(e);if(!a||!o&&a[0].length!=e.length)return null;if(t=i.regExp?this.parseReplaceString(t):t.replace(/\$/g,"$$$$"),t=e.replace(n,t),i.preserveCase){t=t.split("");for(var r=Math.min(e.length,e.length);r--;){var s=e[r];s&&s.toLowerCase()!=s?t[r]=t[r].toUpperCase():t[r]=t[r].toLowerCase()}t=t.join("")}return t}},e.prototype.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var i=e.needle;if(!e.needle)return e.re=!1;e.regExp||(i=n.escapeRegExp(i));var o=e.caseSensitive?"gm":"gmi";try{new RegExp(i,"u"),e.$supportsUnicodeFlag=!0,o+="u"}catch(t){e.$supportsUnicodeFlag=!1}if(e.wholeWord&&(i=function(e,t){var i=n.supportsLookbehind();function o(e,n){return void 0===n&&(n=!0),(i&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w")).test(e)||t.regExp?i&&t.$supportsUnicodeFlag?n?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var a=Array.from(e),r=a[0],s=a[a.length-1];return o(r)+e+o(s,!1)}(i,e)),e.$isMultiLine=!t&&/[\n\r]/.test(i),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(i,o);try{var a=new RegExp(i,o)}catch(e){a=!1}return e.re=a},e.prototype.$assembleMultilineRegExp=function(e,t){for(var i=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),n=[],o=0;o<i.length;o++)try{n.push(new RegExp(i[o],t))}catch(e){return!1}return n},e.prototype.$isMultilineSearch=function(e){return e.re&&/\\r\\n|\\r|\\n/.test(e.re.source)&&e.regExp&&!e.$isMultiLine},e.prototype.$multiLineForward=function(e,t,i,n){for(var o,a=l(e,i),r=i;r<=n;){for(var s=0;s<a&&!(r>n);s++){var c=e.getLine(r++);o=null==o?c:o+"\n"+c}var d=t.exec(o);if(t.lastIndex=0,d){var h=o.slice(0,d.index).split("\n"),f=d[0].split("\n"),u=i+h.length-1,p=h[h.length-1].length;return{startRow:u,startCol:p,endRow:u+f.length-1,endCol:1==f.length?p+f[0].length:f[f.length-1].length}}}return null},e.prototype.$multiLineBackward=function(e,t,i,n,o){for(var a,r=l(e,n),c=e.getLine(n).length-i,d=n;d>=o;){for(var h=0;h<r&&d>=o;h++){var f=e.getLine(d--);a=null==a?f:f+"\n"+a}var u=s(a,t,c);if(u){var p=a.slice(0,u.index).split("\n"),g=u[0].split("\n"),m=d+p.length,y=p[p.length-1].length;return{startRow:m,startCol:y,endRow:m+g.length-1,endCol:1==g.length?y+g[0].length:g[g.length-1].length}}}return null},e.prototype.$matchIterator=function(e,t){var i=this.$assembleRegExp(t);if(!i)return!1;var o=this.$isMultilineSearch(t),a=this.$multiLineForward,r=this.$multiLineBackward,s=1==t.backwards,l=0!=t.skipCurrent,c=i.unicode,d=t.range,h=t.start;h||(h=d?d[s?"end":"start"]:e.selection.getRange()),h.start&&(h=h[l!=s?"end":"start"]);var f=d?d.start.row:0,u=d?d.end.row:e.getLength()-1;if(s)var p=function(e){var i=h.row;if(!m(i,h.column,e)){for(i--;i>=f;i--)if(m(i,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(i=u,f=h.row;i>=f;i--)if(m(i,Number.MAX_VALUE,e))return}};else p=function(e){var i=h.row;if(!m(i,h.column,e)){for(i+=1;i<=u;i++)if(m(i,0,e))return;if(0!=t.wrap)for(i=f,u=h.row;i<=u;i++)if(m(i,0,e))return}};if(t.$isMultiLine)var g=i.length,m=function(t,n,o){var a=s?t-g+1:t;if(!(a<0||a+g>e.getLength())){var r=e.getLine(a),l=r.search(i[0]);if(!(!s&&l<n||-1===l)){for(var c=1;c<g;c++)if(-1==(r=e.getLine(a+c)).search(i[c]))return;var d=r.match(i[g-1])[0].length;if(!(s&&d>n))return!!o(a,l,a+g-1,d)||void 0}}};else m=s?function(t,a,s){if(o){var l=r(e,i,a,t,f);if(!l)return!1;if(s(l.startRow,l.startCol,l.endRow,l.endCol))return!0}else{var d,h=e.getLine(t),u=[],p=0;for(i.lastIndex=0;d=i.exec(h);){var g=d[0].length;if(p=d.index,!g){if(p>=h.length)break;i.lastIndex=p+=n.skipEmptyMatch(h,p,c)}if(d.index+g>a)break;u.push(d.index,g)}for(var m=u.length-1;m>=0;m-=2){var y=u[m-1];if(s(t,y,t,y+(g=u[m])))return!0}}}:function(t,r,s){if(i.lastIndex=r,o){var l=a(e,i,t,u);if(l){var d=l.endRow<=u?l.endRow-1:u;d>t&&(t=d)}if(!l)return!1;if(s(l.startRow,l.startCol,l.endRow,l.endCol))return!0}else for(var h,f,p=e.getLine(t);f=i.exec(p);){var g=f[0].length;if(s(t,h=f.index,t,h+g))return!0;if(!g&&(i.lastIndex=h+=n.skipEmptyMatch(p,h,c),h>=p.length))return!1}};return{forEach:p}},e}();function s(e,t,i){for(var n=null,o=0;o<=e.length;){t.lastIndex=o;var a=t.exec(e);if(!a)break;var r=a.index+a[0].length;if(r>e.length-i)break;(!n||r>n.index+n[0].length)&&(n=a),o=a.index+1}return n}function l(e,t){var i={row:t,column:0},n=e.doc.positionToIndex(i)+5e3;return e.doc.indexToPosition(n).row+1}t.Search=r})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=e("../lib/keys"),r=e("../lib/useragent"),s=a.KEY_MODS,l=function(){function e(e,t){this.$init(e,t,!1)}return e.prototype.$init=function(e,t,i){this.platform=t||(r.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=i},e.prototype.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},e.prototype.removeCommand=function(e,t){var i=e&&("string"==typeof e?e:e.name);e=this.commands[i],t||delete this.commands[i];var n=this.commandKeyBinding;for(var o in n){var a=n[o];if(a==e)delete n[o];else if(Array.isArray(a)){var r=a.indexOf(e);-1!=r&&(a.splice(r,1),1==a.length&&(n[o]=a[0]))}}},e.prototype.bindKey=function(e,t,i){if("object"==typeof e&&e&&(null==i&&(i=e.position),e=e[this.platform]),e)return"function"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split("|").forEach((function(e){var n="";if(-1!=e.indexOf(" ")){var o=e.split(/\s+/);e=o.pop(),o.forEach((function(e){var t=this.parseKeys(e),i=s[t.hashId]+t.key;n+=(n?" ":"")+i,this._addCommandToBinding(n,"chainKeys")}),this),n+=" "}var a=this.parseKeys(e),r=s[a.hashId]+a.key;this._addCommandToBinding(n+r,t,i)}),this)},e.prototype._addCommandToBinding=function(e,t,i){var n,o=this.commandKeyBinding;if(t)if(!o[e]||this.$singleCommand)o[e]=t;else{Array.isArray(o[e])?-1!=(n=o[e].indexOf(t))&&o[e].splice(n,1):o[e]=[o[e]],"number"!=typeof i&&(i=c(t));var a=o[e];for(n=0;n<a.length&&!(c(a[n])>i);n++);a.splice(n,0,t)}else delete o[e]},e.prototype.addCommands=function(e){e&&Object.keys(e).forEach((function(t){var i=e[t];if(i){if("string"==typeof i)return this.bindKey(i,t);"function"==typeof i&&(i={exec:i}),"object"==typeof i&&(i.name||(i.name=t),this.addCommand(i))}}),this)},e.prototype.removeCommands=function(e){Object.keys(e).forEach((function(t){this.removeCommand(e[t])}),this)},e.prototype.bindKeys=function(e){Object.keys(e).forEach((function(t){this.bindKey(t,e[t])}),this)},e.prototype._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},e.prototype.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(e){return e})),i=t.pop(),n=a[i];if(a.FUNCTION_KEYS[n])i=a.FUNCTION_KEYS[n].toLowerCase();else{if(!t.length)return{key:i,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:i.toUpperCase(),hashId:-1}}for(var o=0,r=t.length;r--;){var s=a.KEY_MODS[t[r]];if(null==s)return"undefined"!=typeof console&&console.error("invalid modifier "+t[r]+" in "+e),!1;o|=s}return{key:i,hashId:o}},e.prototype.findKeyCommand=function(e,t){var i=s[e]+t;return this.commandKeyBinding[i]},e.prototype.handleKeyboard=function(e,t,i,n){if(!(n<0)){var o=s[t]+i,a=this.commandKeyBinding[o];return e.$keyChain&&(e.$keyChain+=" "+o,a=this.commandKeyBinding[e.$keyChain]||a),!a||"chainKeys"!=a&&"chainKeys"!=a[a.length-1]?(e.$keyChain&&(t&&4!=t||1!=i.length?(-1==t||n>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-o.length-1)),{command:a}):(e.$keyChain=e.$keyChain||o,{command:"null"})}},e.prototype.getStatusText=function(e,t){return t.$keyChain||""},e}();function c(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}var d=function(e){function t(t,i){var n=e.call(this,t,i)||this;return n.$singleCommand=!0,n}return o(t,e),t}(l);d.call=function(e,t,i){l.prototype.$init.call(e,t,i,!0)},l.call=function(e,t,i){l.prototype.$init.call(e,t,i,!1)},t.HashHandler=d,t.MultiHashHandler=l})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=e("../lib/oop"),r=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,l=function(e){function t(t,i){var n=e.call(this,i,t)||this;return n.byName=n.commands,n.setDefaultHandler("exec",(function(e){return e.args?e.command.exec(e.editor,e.args,e.event,!1):e.command.exec(e.editor,{},e.event,!0)})),n}return o(t,e),t.prototype.exec=function(e,t,i){if(Array.isArray(e)){for(var n=e.length;n--;)if(this.exec(e[n],t,i))return!0;return!1}"string"==typeof e&&(e=this.commands[e]);var o={editor:t,command:e,args:i};return this.canExecute(e,t)?(o.returnValue=this._emit("exec",o),this._signal("afterExec",o),!1!==o.returnValue):(this._signal("commandUnavailable",o),!1)},t.prototype.canExecute=function(e,t){return"string"==typeof e&&(e=this.commands[e]),!(!e||t&&t.$readOnly&&!e.readOnly||0!=this.$checkCommandState&&e.isAvailable&&!e.isAvailable(t))},t.prototype.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach((function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])}),this)}finally{this.$inReplay=!1}}},t.prototype.trimMacro=function(e){return e.map((function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e}))},t}(r);a.implement(l.prototype,s),t.CommandManager=l})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(e,t,i){"use strict";var n=e("../lib/lang"),o=e("../config"),a=e("../range").Range;function r(e,t){return{win:e,mac:t}}t.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:r("Ctrl-,","Command-,"),exec:function(e){o.loadModule("ace/ext/settings_menu",(function(t){t.init(e),e.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:r("Alt-E","F4"),exec:function(e){o.loadModule("ace/ext/error_marker",(function(t){t.showErrorMarker(e,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:r("Alt-Shift-E","Shift-F4"),exec:function(e){o.loadModule("ace/ext/error_marker",(function(t){t.showErrorMarker(e,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:r("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:r(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:r("Ctrl-L","Command-L"),exec:function(e,t){"number"!=typeof t||isNaN(t)||e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:r("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:r("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:r("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:r("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:r(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:r(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:r("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:r("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:r("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:r("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:r("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:r("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:r("Ctrl-F","Command-F"),exec:function(e){o.loadModule("ace/ext/searchbox",(function(t){t.Search(e)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:r("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:r("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:r("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:r("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:r("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:r("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:r("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:r("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:r("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:r("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:r("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:r("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:r("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:r("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:r("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:r("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:r("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:r("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:r("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:r("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:r(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:r("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:r(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:r("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:r("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:r("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:r("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:r("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:r("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:r("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:r(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty()?e.selection.getLineRange():e.selection.getRange();e._emit("cut",t),t.isEmpty()||e.session.remove(t),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:r("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:r("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:r("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:r("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:r("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:r("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:r("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:r("Ctrl-H","Command-Option-F"),exec:function(e){o.loadModule("ace/ext/searchbox",(function(t){t.Search(e,!0)}))}},{name:"undo",description:"Undo",bindKey:r("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:r("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:r("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:r("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:r("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:r("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:r("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:r("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:r("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:r("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:r("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:r("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:r("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:r("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:r("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:r("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:r("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:r("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:r("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(n.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:r(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:r("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:r("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:r("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:r(null,null),exec:function(e){e.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:r("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:r("Ctrl+F3","F3"),exec:function(e){e.openLink()}},{name:"joinlines",description:"Join lines",bindKey:r(null,null),exec:function(e){for(var t=e.selection.isBackwards(),i=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),o=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),r=e.session.doc.getLine(i.row).length,s=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,l=e.session.doc.getLine(i.row),c=i.row+1;c<=o.row+1;c++){var d=n.stringTrimLeft(n.stringTrimRight(e.session.doc.getLine(c)));0!==d.length&&(d=" "+d),l+=d}o.row+1<e.session.doc.getLength()-1&&(l+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new a(i.row,0,o.row+2,0),l),s>0?(e.selection.moveCursorTo(i.row,i.column),e.selection.selectTo(i.row,i.column+s)):(r=e.session.doc.getLine(i.row).length>r?r+1:r,e.selection.moveCursorTo(i.row,r))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:r(null,null),exec:function(e){var t=e.session.doc.getLength()-1,i=e.session.doc.getLine(t).length,n=e.selection.rangeList.ranges,o=[];n.length<1&&(n=[e.selection.getRange()]);for(var r=0;r<n.length;r++)r==n.length-1&&(n[r].end.row===t&&n[r].end.column===i||o.push(new a(n[r].end.row,n[r].end.column,t,i))),0===r?0===n[r].start.row&&0===n[r].start.column||o.push(new a(0,0,n[r].start.row,n[r].start.column)):o.push(new a(n[r-1].end.row,n[r-1].end.column,n[r].start.row,n[r].start.column));for(e.exitMultiSelectMode(),e.clearSelection(),r=0;r<o.length;r++)e.selection.addRange(o[r],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(e){e.selection.clearSelection(),e.navigateLineEnd(),e.insert("\n")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(e){e.selection.clearSelection();var t=e.getCursorPosition();e.selection.moveTo(t.row-1,Number.MAX_VALUE),e.insert("\n"),0===t.row&&e.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(e){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),e.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:r("F1","F1"),exec:function(e){e.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:r(null,null),exec:function(e){e.prompt({$type:"modes"})},readOnly:!0}];for(var s=1;s<9;s++)t.commands.push({name:"foldToLevel"+s,description:"Fold To Level "+s,level:s,exec:function(e){e.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})})),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],(function(e,t,i){"use strict";var n=e("../lib/keys"),o=e("../mouse/default_gutter_handler").GutterTooltip,a=function(){function e(e){this.editor=e,this.gutterLayer=e.renderer.$gutterLayer,this.element=e.renderer.$gutter,this.lines=e.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new o(this.editor)}return e.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},e.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},e.prototype.$onGutterKeyDown=function(e){if(this.annotationTooltip.isOpen)return e.preventDefault(),void(e.keyCode===n.escape&&this.annotationTooltip.hideTooltip());if(e.target===this.element){if(e.keyCode!=n.enter)return;e.preventDefault();var t=this.editor.getCursorPosition().row;return this.editor.isRowVisible(t)||this.editor.scrollToLine(t,!0,!0),void setTimeout(function(){var e=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldWidget(e),i=this.$findNearestAnnotation(e);if(null!==t||null!==i)return null===t&&null!==i?(this.activeRowIndex=i,this.activeLane="annotation",void this.$focusAnnotation(this.activeRowIndex)):null!==t&&null===i?(this.activeRowIndex=t,this.activeLane="fold",void this.$focusFoldWidget(this.activeRowIndex)):Math.abs(i-e)<Math.abs(t-e)?(this.activeRowIndex=i,this.activeLane="annotation",void this.$focusAnnotation(this.activeRowIndex)):(this.activeRowIndex=t,this.activeLane="fold",void this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10)}this.$handleGutterKeyboardInteraction(e),setTimeout(function(){this.editor._signal("gutterkeydown",new r(e,this))}.bind(this),10)},e.prototype.$handleGutterKeyboardInteraction=function(e){if(e.keyCode!==n.tab){if(e.keyCode===n.escape)return e.preventDefault(),this.$blurGutter(),this.element.focus(),void(this.lane=null);if(e.keyCode!==n.up)if(e.keyCode!==n.down){if(e.keyCode===n.left)return e.preventDefault(),void this.$switchLane("annotation");if(e.keyCode===n.right)return e.preventDefault(),void this.$switchLane("fold");if(e.keyCode!==n.enter&&e.keyCode!==n.space);else switch(e.preventDefault(),this.activeLane){case"fold":if("start"===this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]){var t=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),e),setTimeout(function(){this.$rowIndexToRow(this.activeRowIndex)!==t&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(t),this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10);break}if("end"===this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)])break;return;case"annotation":var i=this.lines.cells[this.activeRowIndex].element.childNodes[2].getBoundingClientRect(),o=this.annotationTooltip.getElement().style;o.left=i.right+"px",o.top=i.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex))}}else switch(e.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown()}else switch(e.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp()}}else e.preventDefault()},e.prototype.$blurGutter=function(){if(null!==this.activeRowIndex)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex)}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},e.prototype.$isFoldWidgetVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),i="none"!==this.$getFoldWidget(e).style.display;return t&&i},e.prototype.$isAnnotationVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),i="none"!==this.$getAnnotation(e).style.display;return t&&i},e.prototype.$getFoldWidget=function(e){return this.lines.get(e).element.childNodes[1]},e.prototype.$getAnnotation=function(e){return this.lines.get(e).element.childNodes[2]},e.prototype.$findNearestFoldWidget=function(e){if(this.$isFoldWidgetVisible(e))return e;for(var t=0;e-t>0||e+t<this.lines.getLength()-1;){if(e-++t>=0&&this.$isFoldWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(e+t))return e+t}return null},e.prototype.$findNearestAnnotation=function(e){if(this.$isAnnotationVisible(e))return e;for(var t=0;e-t>0||e+t<this.lines.getLength()-1;){if(e-++t>=0&&this.$isAnnotationVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(e+t))return e+t}return null},e.prototype.$focusFoldWidget=function(e){if(null!=e){var t=this.$getFoldWidget(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},e.prototype.$focusAnnotation=function(e){if(null!=e){var t=this.$getAnnotation(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},e.prototype.$blurFoldWidget=function(e){var t=this.$getFoldWidget(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$blurAnnotation=function(e){var t=this.$getAnnotation(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$moveFoldWidgetUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isFoldWidgetVisible(e))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=e,void this.$focusFoldWidget(this.activeRowIndex)},e.prototype.$moveFoldWidgetDown=function(){for(var e=this.activeRowIndex;e<this.lines.getLength()-1;)if(e++,this.$isFoldWidgetVisible(e))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=e,void this.$focusFoldWidget(this.activeRowIndex)},e.prototype.$moveAnnotationUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isAnnotationVisible(e))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,void this.$focusAnnotation(this.activeRowIndex)},e.prototype.$moveAnnotationDown=function(){for(var e=this.activeRowIndex;e<this.lines.getLength()-1;)if(e++,this.$isAnnotationVisible(e))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,void this.$focusAnnotation(this.activeRowIndex)},e.prototype.$switchLane=function(e){switch(e){case"annotation":if("annotation"===this.activeLane)break;var t=this.$findNearestAnnotation(this.activeRowIndex);if(null==t)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=t,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if("fold"===this.activeLane)break;var i=this.$findNearestFoldWidget(this.activeRowIndex);if(null==i)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusFoldWidget(this.activeRowIndex)}},e.prototype.$rowIndexToRow=function(e){var t=this.lines.get(e);return t?t.row:null},e.prototype.$rowToRowIndex=function(e){for(var t=0;t<this.lines.getLength();t++)if(this.lines.get(t).row==e)return t;return null},e}();t.GutterKeyboardHandler=a;var r=function(){function e(e,t){this.gutterKeyboardHandler=t,this.domEvent=e}return e.prototype.getKey=function(){return n.keyCodeToString(this.domEvent.keyCode)},e.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},e.prototype.isInAnnotationLane=function(){return"annotation"===this.gutterKeyboardHandler.activeLane},e.prototype.isInFoldLane=function(){return"fold"===this.gutterKeyboardHandler.activeLane},e}();t.GutterKeyboardEvent=r})),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],(function(e,t,i){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},o=e("./lib/oop"),a=e("./lib/dom"),r=e("./lib/lang"),s=e("./lib/useragent"),l=e("./keyboard/textinput").TextInput,c=e("./mouse/mouse_handler").MouseHandler,d=e("./mouse/fold_handler").FoldHandler,h=e("./keyboard/keybinding").KeyBinding,f=e("./edit_session").EditSession,u=e("./search").Search,p=e("./range").Range,g=e("./lib/event_emitter").EventEmitter,m=e("./commands/command_manager").CommandManager,y=e("./commands/default_commands").commands,v=e("./config"),b=e("./token_iterator").TokenIterator,w=e("./keyboard/gutter_handler").GutterKeyboardHandler,C=e("./config").nls,x=e("./clipboard"),S=e("./lib/keys"),k=e("./lib/event"),$=e("./tooltip").HoverTooltip,_=function(){function e(t,i,n){this.session,this.$toDestroy=[];var o=t.getContainerElement();this.container=o,this.renderer=t,this.id="editor"+ ++e.$uid,this.commands=new m(s.isMac?"mac":"win",y),"object"==typeof document&&(this.textInput=new l(t.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new c(this),new d(this)),this.keyBinding=new h(this),this.$search=(new u).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=r.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",(function(e,t){t._$emitInputEvent.schedule(31)})),this.setSession(i||n&&n.session||new f("")),v.resetOptions(this),n&&this.setOptions(n),v._signal("editor",this)}return e.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},e.prototype.startOperation=function(e){this.session.startOperation(e)},e.prototype.endOperation=function(e){this.session.endOperation(e)},e.prototype.onStartOperation=function(e){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,e||(this.previousCommand=null)},e.prototype.onEndOperation=function(e){if(this.curOp&&this.session){if(e&&!1===e.returnValue)return void(this.curOp=null);if(this._signal("beforeEndOperation"),!this.curOp)return;var t=this.curOp.command,i=t&&t.scrollIntoView;if(i){switch(i){case"center-animate":i="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var n=this.selection.getRange(),o=this.renderer.layerConfig;(n.start.row>=o.lastRow||n.end.row<=o.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==i&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},e.prototype.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,i=this.$mergeableCommands,n=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var o=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(o)||/\s/.test(t.args)),this.mergeNextCommand=!0}else n=n&&-1!==i.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(n=!1),n?this.session.mergeUndoDeltas=!0:-1!==i.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},e.prototype.setKeyboardHandler=function(e,t){if(e&&"string"==typeof e&&"ace"!=e){this.$keybindingId=e;var i=this;v.loadModule(["keybinding",e],(function(n){i.$keybindingId==e&&i.keyBinding.setKeyboardHandler(n&&n.handler),t&&t()}))}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},e.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},e.prototype.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var i=this.session.getSelection();i.off("changeCursor",this.$onCursorChange),i.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),t&&(t.$editor=null),e&&e._signal("changeEditor",{editor:this}),e&&(e.$editor=this),e&&!e.destroyed&&e.bgTokenizer.scheduleStart()}},e.prototype.getSession=function(){return this.session},e.prototype.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},e.prototype.getValue=function(){return this.session.getValue()},e.prototype.getSelection=function(){return this.selection},e.prototype.resize=function(e){this.renderer.onResize(e)},e.prototype.setTheme=function(e,t){this.renderer.setTheme(e,t)},e.prototype.getTheme=function(){return this.renderer.getTheme()},e.prototype.setStyle=function(e){this.renderer.setStyle(e)},e.prototype.unsetStyle=function(e){this.renderer.unsetStyle(e)},e.prototype.getFontSize=function(){return this.getOption("fontSize")||a.computedStyle(this.container).fontSize},e.prototype.setFontSize=function(e){this.setOption("fontSize",e)},e.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout((function(){e.$highlightPending=!1;var t=e.session;if(t&&!t.destroyed){t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach((function(e){t.removeMarker(e)})),t.$bracketHighlight=null);var i=e.getCursorPosition(),n=e.getKeyboardHandler(),o=n&&n.$getDirectionForHighlight&&n.$getDirectionForHighlight(e),a=t.getMatchingBracketRanges(i,o);if(!a){var r=new b(t,i.row,i.column).getCurrentToken();if(r&&/\b(?:tag-open|tag-name)/.test(r.type)){var s=t.getMatchingTags(i);s&&(a=[s.openTagName.isEmpty()?s.openTag:s.openTagName,s.closeTagName.isEmpty()?s.closeTag:s.closeTagName])}}if(!a&&t.$mode.getMatching&&(a=t.$mode.getMatching(e.session)),a){var l="ace_bracket";Array.isArray(a)?1==a.length&&(l="ace_error_bracket"):a=[a],2==a.length&&(0==p.comparePoints(a[0].end,a[1].start)?a=[p.fromPoints(a[0].start,a[1].end)]:0==p.comparePoints(a[0].start,a[1].end)&&(a=[p.fromPoints(a[1].start,a[0].end)])),t.$bracketHighlight={ranges:a,markerIds:a.map((function(e){return t.addMarker(e,l,"text")}))},e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide()}else e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide()}}),50)}},e.prototype.focus=function(){this.textInput.focus()},e.prototype.isFocused=function(){return this.textInput.isFocused()},e.prototype.blur=function(){this.textInput.blur()},e.prototype.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e))},e.prototype.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e))},e.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},e.prototype.onDocumentChange=function(e){var t=this.session.$useWrapMode,i=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,i,t),this._signal("change",e),this.$cursorChange()},e.prototype.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},e.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},e.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},e.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},e.prototype.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(e=!1),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var i=new p(e.row,e.column,e.row,1/0);i.id=t.addMarker(i,"ace_active-line","screenLine"),t.$highlightLineMarker=i}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},e.prototype.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var i=this.selection.getRange(),n=this.getSelectionStyle();t.$selectionMarker=t.addMarker(i,"ace_selection",n)}var o=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(o),this._signal("changeSelection")},e.prototype.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var i=t.start.column,n=t.end.column,o=e.getLine(t.start.row),a=o.substring(i,n);if(!(a.length>5e3)&&/[\w\d]/.test(a)){var r=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:a}),s=o.substring(i-1,n+1);if(r.test(s))return r}}},e.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},e.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},e.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},e.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},e.prototype.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},e.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},e.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},e.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},e.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},e.prototype.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),i=!1;if(!e&&this.$copyWithEmptySelection){i=!0;for(var n=this.selection.getAllRanges(),o=0;o<n.length;o++){var a=n[o];o&&n[o-1].start.row==a.start.row||(e+=this.session.getLine(a.start.row)+t)}}var r={text:e};return this._signal("copy",r),x.lineMode=!!i&&r.text,r.text},e.prototype.onCopy=function(){this.commands.exec("copy",this)},e.prototype.onCut=function(){this.commands.exec("cut",this)},e.prototype.onPaste=function(e,t){var i={text:e,event:t};this.commands.exec("paste",this,i)},e.prototype.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text,i=t===x.lineMode,n=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)i?n.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(i)this.selection.rangeList.ranges.forEach((function(e){n.insert({row:e.start.row,column:0},t)}));else{var o=t.split(/\r\n|\r|\n/),a=this.selection.rangeList.ranges,r=!(2!=o.length||o[0]&&o[1]);if(o.length!=a.length||r)return this.commands.exec("insertstring",this,t);for(var s=a.length;s--;){var l=a[s];l.isEmpty()||n.remove(l),n.insert(l.start,o[s])}}},e.prototype.execCommand=function(e,t){return this.commands.exec(e,this,t)},e.prototype.insert=function(e,t){var i=this.session,n=i.getMode(),o=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var a=n.transformAction(i.getState(o.row),"insertion",this,i,e);a&&(e!==a.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=a.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty())this.session.getOverwrite()&&-1==e.indexOf("\n")&&((r=p.fromPoints(o,o)).end.column+=e.length,this.session.remove(r));else{var r=this.getSelectionRange();o=this.session.remove(r),this.clearSelection()}if("\n"==e||"\r\n"==e){var s=i.getLine(o.row);if(o.column>s.search(/\S|$/)){var l=s.substr(o.column).search(/\S|$/);i.doc.removeInLine(o.row,o.column,o.column+l)}}this.clearSelection();var c=o.column,d=i.getState(o.row),h=(s=i.getLine(o.row),n.checkOutdent(d,s,e));if(i.insert(o,e),a&&a.selection&&(2==a.selection.length?this.selection.setSelectionRange(new p(o.row,c+a.selection[0],o.row,c+a.selection[1])):this.selection.setSelectionRange(new p(o.row+a.selection[0],a.selection[1],o.row+a.selection[2],a.selection[3]))),this.$enableAutoIndent){if(i.getDocument().isNewLine(e)){var f=n.getNextLineIndent(d,s.slice(0,o.column),i.getTabString());i.insert({row:o.row+1,column:0},f)}h&&n.autoOutdent(d,i,o.row)}},e.prototype.autoIndent=function(){for(var e=this.session,t=e.getMode(),i=this.selection.isEmpty()?[new p(0,0,e.doc.getLength()-1,0)]:this.selection.getAllRanges(),n="",o="",a="",r=e.getTabString(),s=0;s<i.length;s++)for(var l=i[s].start.row,c=i[s].end.row,d=l;d<=c;d++){d>0&&(n=e.getState(d-1),o=e.getLine(d-1),a=t.getNextLineIndent(n,o,r));var h=e.getLine(d),f=t.$getIndent(h);if(a!==f){if(f.length>0){var u=new p(d,0,d,f.length);e.remove(u)}a.length>0&&e.insert({row:d,column:0},a)}t.autoOutdent(n,e,d)}},e.prototype.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var i=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(i):i(),this.endOperation()},e.prototype.applyComposition=function(e,t){var i;(t.extendLeft||t.extendRight)&&((i=this.selection.getRange()).start.column-=t.extendLeft,i.end.column+=t.extendRight,i.start.column<0&&(i.start.row--,i.start.column+=this.session.getLine(i.start.row).length+1),this.selection.setRange(i),e||i.isEmpty()||this.remove()),!e&&this.selection.isEmpty()||this.insert(e,!0),(t.restoreStart||t.restoreEnd)&&((i=this.selection.getRange()).start.column-=t.restoreStart,i.end.column-=t.restoreEnd,this.selection.setRange(i))},e.prototype.onCommandKey=function(e,t,i){return this.keyBinding.onCommandKey(e,t,i)},e.prototype.setOverwrite=function(e){this.session.setOverwrite(e)},e.prototype.getOverwrite=function(){return this.session.getOverwrite()},e.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},e.prototype.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},e.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},e.prototype.setDragDelay=function(e){this.setOption("dragDelay",e)},e.prototype.getDragDelay=function(){return this.getOption("dragDelay")},e.prototype.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},e.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},e.prototype.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},e.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},e.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},e.prototype.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},e.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},e.prototype.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},e.prototype.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},e.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},e.prototype.setHighlightIndentGuides=function(e){this.renderer.setHighlightIndentGuides(e)},e.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},e.prototype.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},e.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},e.prototype.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},e.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},e.prototype.setReadOnly=function(e){this.setOption("readOnly",e)},e.prototype.getReadOnly=function(){return this.getOption("readOnly")},e.prototype.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},e.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},e.prototype.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},e.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},e.prototype.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},e.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var i=this.session,n=i.getState(t.start.row),o=i.getMode().transformAction(n,"deletion",this,i,t);if(0===t.end.column){var a=i.getTextRange(t);if("\n"==a[a.length-1]){var r=i.getLine(t.end.row);/^\s+$/.test(r)&&(t.end.column=r.length)}}o&&(t=o)}this.session.remove(t),this.clearSelection()},e.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},e.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},e.prototype.setGhostText=function(e,t){this.renderer.setGhostText(e,t)},e.prototype.removeGhostText=function(){this.renderer.removeGhostText()},e.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var i,n,o=this.session.getLine(e.row);t<o.length?(i=o.charAt(t)+o.charAt(t-1),n=new p(e.row,t-1,e.row,t+1)):(i=o.charAt(t-1)+o.charAt(t-2),n=new p(e.row,t-2,e.row,t)),this.session.replace(n,i),this.session.selection.moveToPosition(n.end)}}},e.prototype.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),i=this.session.getTextRange(t);this.session.replace(t,i.toLowerCase()),this.selection.setSelectionRange(e)},e.prototype.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),i=this.session.getTextRange(t);this.session.replace(t,i.toUpperCase()),this.selection.setSelectionRange(e)},e.prototype.indent=function(){var e=this.session,t=this.getSelectionRange();if(!(t.start.row<t.end.row)){if(t.start.column<t.end.column){var i=e.getTextRange(t);if(!/^\s+$/.test(i))return d=this.$getSelectedRows(),void e.indentRows(d.first,d.last,"\t")}var n=e.getLine(t.start.row),o=t.start,a=e.getTabSize(),s=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var l=a-s%a,c=r.stringRepeat(" ",l);else{for(l=s%a;" "==n[t.start.column-1]&&l;)t.start.column--,l--;this.selection.setSelectionRange(t),c="\t"}return this.insert(c)}var d=this.$getSelectedRows();e.indentRows(d.first,d.last,"\t")},e.prototype.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,"\t")},e.prototype.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},e.prototype.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,i=[],n=e.first;n<=e.last;n++)i.push(t.getLine(n));i.sort((function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0}));var o=new p(0,0,0,0);for(n=e.first;n<=e.last;n++){var a=t.getLine(n);o.start.row=n,o.end.row=n,o.end.column=a.length,t.replace(o,i[n-e.first])}},e.prototype.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},e.prototype.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,e)},e.prototype.getNumberAt=function(e,t){var i=/[\-]?[0-9]+(?:\.[0-9]+)?/g;i.lastIndex=0;for(var n=this.session.getLine(e);i.lastIndex<t;){var o=i.exec(n);if(o.index<=t&&o.index+o[0].length>=t)return{value:o[0],start:o.index,end:o.index+o[0].length}}return null},e.prototype.modifyNumber=function(e){var t=this.selection.getCursor().row,i=this.selection.getCursor().column,n=new p(t,i-1,t,i),o=this.session.getTextRange(n);if(!isNaN(parseFloat(o))&&isFinite(o)){var a=this.getNumberAt(t,i);if(a){var r=a.value.indexOf(".")>=0?a.start+a.value.indexOf(".")+1:a.end,s=a.start+a.value.length-r,l=parseFloat(a.value);l*=Math.pow(10,s),r!==a.end&&i<r?e*=Math.pow(10,a.end-i-1):e*=Math.pow(10,a.end-i),l+=e;var c=(l/=Math.pow(10,s)).toFixed(s),d=new p(t,a.start,t,a.end);this.session.replace(d,c),this.moveCursorTo(t,Math.max(a.start+1,i+c.length-a.value.length))}}else this.toggleWord()},e.prototype.toggleWord=function(){var e=this.selection.getCursor().row,t=this.selection.getCursor().column;this.selection.selectWord();var i=this.getSelectedText(),n=this.selection.getWordRange().start.column,o=i.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),a=t-n-1;a<0&&(a=0);var s=0,l=0,c=this;i.match(/[A-Za-z0-9_]+/)&&o.forEach((function(t,o){l=s+t.length,a>=s&&a<=l&&(i=t,c.selection.clearSelection(),c.moveCursorTo(e,s+n),c.selection.selectTo(e,l+n)),s=l}));for(var d,h=this.$toggleWordPairs,f=0;f<h.length;f++)for(var u=h[f],p=0;p<=1;p++){var g=+!p,m=i.match(new RegExp("^\\s?_?("+r.escapeRegExp(u[p])+")\\s?$","i"));m&&i.match(new RegExp("([_]|^|\\s)("+r.escapeRegExp(m[1])+")($|\\s)","g"))&&(d=i.replace(new RegExp(r.escapeRegExp(u[p]),"i"),(function(e){var t=u[g];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+u[g].charAt(0).toUpperCase()+t.substr(1)),t})),this.insert(d),d="")}},e.prototype.findLinkAt=function(e,t){var i,o,a=this.session.getLine(e).split(/((?:https?|ftp):\/\/[\S]+)/),r=t;r<0&&(r=0);var s,l=0,c=0;try{for(var d=n(a),h=d.next();!h.done;h=d.next()){var f=h.value;if(c=l+f.length,r>=l&&r<=c&&f.match(/((?:https?|ftp):\/\/[\S]+)/)){s=f.replace(/[\s:.,'";}\]]+$/,"");break}l=c}}catch(e){i={error:e}}finally{try{h&&!h.done&&(o=d.return)&&o.call(d)}finally{if(i)throw i.error}}return s},e.prototype.openLink=function(){var e=this.selection.getCursor(),t=this.findLinkAt(e.row,e.column);return t&&window.open(t,"_blank"),null!=t},e.prototype.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},e.prototype.duplicateSelection=function(){var e=this.selection,t=this.session,i=e.getRange(),n=e.isBackwards();if(i.isEmpty()){var o=i.start.row;t.duplicateLines(o,o)}else{var a=n?i.start:i.end,r=t.insert(a,t.getTextRange(i));i.start=a,i.end=r,e.setSelectionRange(i,n)}},e.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},e.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},e.prototype.moveText=function(e,t,i){return this.session.moveText(e,t,i)},e.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},e.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},e.prototype.$moveLines=function(e,t){var i,n,o=this.selection;if(!o.inMultiSelectMode||this.inVirtualSelectionMode){var a=o.toOrientedRange();i=this.$getSelectedRows(a),n=this.session.$moveLines(i.first,i.last,t?0:e),t&&-1==e&&(n=0),a.moveBy(n,0),o.fromOrientedRange(a)}else{var r=o.rangeList.ranges;o.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var s=0,l=0,c=r.length,d=0;d<c;d++){var h=d;r[d].moveBy(s,0);for(var f=(i=this.$getSelectedRows(r[d])).first,u=i.last;++d<c;){l&&r[d].moveBy(l,0);var p=this.$getSelectedRows(r[d]);if(t&&p.first!=u)break;if(!t&&p.first>u+1)break;u=p.last}for(d--,s=this.session.$moveLines(f,u,t?0:e),t&&-1==e&&(h=d+1);h<=d;)r[h].moveBy(s,0),h++;t||(s=0),l+=s}o.fromOrientedRange(o.ranges[0]),o.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},e.prototype.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},e.prototype.onCompositionStart=function(e){this.renderer.showComposition(e)},e.prototype.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},e.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},e.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},e.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},e.prototype.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},e.prototype.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},e.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},e.prototype.$moveByPage=function(e,t){var i=this.renderer,n=this.renderer.layerConfig,o=e*Math.floor(n.height/n.lineHeight);!0===t?this.selection.$moveSelection((function(){this.moveCursorBy(o,0)})):!1===t&&(this.selection.moveCursorBy(o,0),this.selection.clearSelection());var a=i.scrollTop;i.scrollBy(0,o*n.lineHeight),null!=t&&i.scrollCursorIntoView(null,.5),i.animateScrolling(a)},e.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},e.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},e.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},e.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},e.prototype.scrollPageDown=function(){this.$moveByPage(1)},e.prototype.scrollPageUp=function(){this.$moveByPage(-1)},e.prototype.scrollToRow=function(e){this.renderer.scrollToRow(e)},e.prototype.scrollToLine=function(e,t,i,n){this.renderer.scrollToLine(e,t,i,n)},e.prototype.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},e.prototype.getCursorPosition=function(){return this.selection.getCursor()},e.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},e.prototype.getSelectionRange=function(){return this.selection.getRange()},e.prototype.selectAll=function(){this.selection.selectAll()},e.prototype.clearSelection=function(){this.selection.clearSelection()},e.prototype.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},e.prototype.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},e.prototype.jumpToMatching=function(e,t){var i=this.getCursorPosition(),n=new b(this.session,i.row,i.column),o=n.getCurrentToken(),a=0;o&&-1!==o.type.indexOf("tag-name")&&(o=n.stepBackward());var r=o||n.stepForward();if(r){var s,l,c=!1,d={},h=i.column-r.start,f={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(r.value.match(/[{}()\[\]]/g)){for(;h<r.value.length&&!c;h++)if(f[r.value[h]])switch(l=f[r.value[h]]+"."+r.type.replace("rparen","lparen"),isNaN(d[l])&&(d[l]=0),r.value[h]){case"(":case"[":case"{":d[l]++;break;case")":case"]":case"}":d[l]--,-1===d[l]&&(s="bracket",c=!0)}}else-1!==r.type.indexOf("tag-name")&&(isNaN(d[r.value])&&(d[r.value]=0),"<"===o.value&&a>1?d[r.value]++:"</"===o.value&&d[r.value]--,-1===d[r.value]&&(s="tag",c=!0));c||(o=r,a++,r=n.stepForward(),h=0)}while(r&&!c);if(s){var u,g;if("bracket"===s)(u=this.session.getBracketRange(i))||(g=(u=new p(n.getCurrentTokenRow(),n.getCurrentTokenColumn()+h-1,n.getCurrentTokenRow(),n.getCurrentTokenColumn()+h-1)).start,(t||g.row===i.row&&Math.abs(g.column-i.column)<2)&&(u=this.session.getBracketRange(g)));else if("tag"===s){if(!r||-1===r.type.indexOf("tag-name"))return;if(0===(u=new p(n.getCurrentTokenRow(),n.getCurrentTokenColumn()-2,n.getCurrentTokenRow(),n.getCurrentTokenColumn()-2)).compare(i.row,i.column)){var m=this.session.getMatchingTags(i);m&&(m.openTag.contains(i.row,i.column)?g=(u=m.closeTag).start:(u=m.openTag,g=m.closeTag.start.row===i.row&&m.closeTag.start.column===i.column?u.end:u.start))}g=g||u.start}(g=u&&u.cursor||g)&&(e?u&&t?this.selection.setRange(u):u&&u.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(g.row,g.column):this.selection.moveTo(g.row,g.column))}}},e.prototype.gotoLine=function(e,t,i){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,i)},e.prototype.navigateTo=function(e,t){this.selection.moveTo(e,t)},e.prototype.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},e.prototype.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},e.prototype.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},e.prototype.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},e.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},e.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},e.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},e.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},e.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},e.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},e.prototype.replace=function(e,t){t&&this.$search.set(t);var i=this.$search.find(this.session),n=0;return i?(this.$tryReplace(i,e)&&(n=1),this.selection.setSelectionRange(i),this.renderer.scrollSelectionIntoView(i.start,i.end),n):n},e.prototype.replaceAll=function(e,t){t&&this.$search.set(t);var i=this.$search.findAll(this.session),n=0;if(!i.length)return n;var o=this.getSelectionRange();this.selection.moveTo(0,0);for(var a=i.length-1;a>=0;--a)this.$tryReplace(i[a],e)&&n++;return this.selection.setSelectionRange(o),n},e.prototype.$tryReplace=function(e,t){var i=this.session.getTextRange(e);return null!==(t=this.$search.replace(i,t))?(e.end=this.session.replace(e,t),e):null},e.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},e.prototype.find=function(e,t,i){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&o.mixin(t,e);var n=this.selection.getRange();null==t.needle&&((e=this.session.getTextRange(n)||this.$search.$options.needle)||(n=this.session.getWordRange(n.start.row,n.start.column),e=this.session.getTextRange(n)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:n});var a=this.$search.find(this.session);return t.preventScroll?a:a?(this.revealRange(a,i),a):(t.backwards?n.start=n.end:n.end=n.start,void this.selection.setRange(n))},e.prototype.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},e.prototype.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},e.prototype.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var i=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(i)},e.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach((function(e){e.destroy()})),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},e.prototype.setAutoScrollEditorIntoView=function(e){if(e){var t,i=this,n=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var o=this.$scrollAnchor;o.style.cssText="position:absolute",this.container.insertBefore(o,this.container.firstChild);var a=this.on("changeSelection",(function(){n=!0})),r=this.renderer.on("beforeRender",(function(){n&&(t=i.renderer.container.getBoundingClientRect())})),s=this.renderer.on("afterRender",(function(){if(n&&t&&(i.isFocused()||i.searchBox&&i.searchBox.isFocused())){var e=i.renderer,a=e.$cursorLayer.$pixelPos,r=e.layerConfig,s=a.top-r.offset;null!=(n=a.top>=0&&s+t.top<0||!(a.top<r.height&&a.top+t.top+r.lineHeight>window.innerHeight)&&null)&&(o.style.top=s+"px",o.style.left=a.left+"px",o.style.height=r.lineHeight+"px",o.scrollIntoView(n)),n=t=null}}));this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",a),this.renderer.off("afterRender",s),this.renderer.off("beforeRender",r))}}},e.prototype.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,a.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))},e.prototype.prompt=function(e,t,i){var n=this;v.loadModule("ace/ext/prompt",(function(o){o.prompt(n,e,t,i)}))},e}();_.$uid=0,_.prototype.curOp=null,_.prototype.prevOp={},_.prototype.$mergeableCommands=["backspace","del","insertstring"],_.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],o.implement(_.prototype,g),v.defineOptions(_.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){var t=this;this.textInput.setReadOnly(e),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(e){var i=!1;if(e&&"keydown"==e.type){if(!(i=e&&e.key&&1==e.key.length&&!e.ctrlKey&&!e.metaKey))return}else e&&"exec"!==e.type&&(i=!0);if(i){t.hoverTooltip||(t.hoverTooltip=new $);var n=a.createElement("div");n.textContent=C("editor.tooltip.disable-editing","Editing is disabled"),t.hoverTooltip.isOpen||t.hoverTooltip.showForRange(t,t.getSelectionRange(),n)}else t.hoverTooltip&&t.hoverTooltip.isOpen&&t.hoverTooltip.hide()});var i=this.textInput.getElement();e?(k.addListener(i,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(k.removeListener(i,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?M.attach(this):M.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?M.attach(this):M.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),a.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(e||this.renderer.placeholderNode)!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),a.addCssClass(this.container,"ace_hasPlaceholder");var t=a.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(e){var t,i={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(e){e.blur(),e.renderer.scroller.focus()},readOnly:!0},n=function(e){if(e.target==this.renderer.scroller&&e.keyCode===S.enter){e.preventDefault();var t=this.getCursorPosition().row;this.isRowVisible(t)||this.scrollToLine(t,!0,!0),this.focus()}};e?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(s.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",C("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",C("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",n.bind(this)),this.commands.addCommand(i),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",C("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",C("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),t||(t=new w(this)),t.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",n.bind(this)),this.commands.removeCommand(i),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),t&&t.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(e){this.$textInputAriaLabel=e},initialValue:""},enableMobileMenu:{set:function(e){this.$enableMobileMenu=e},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var M={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,i){return Math.max(t.toString().length,(i.lastRow+1).toString().length,2)*i.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=_})),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],(function(e,t,i){"use strict";var n=e("../lib/dom"),o=function(){function e(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return e.prototype.moveContainer=function(e){n.translate(this.element,0,-e.firstRowScreen*e.lineHeight%this.canvasHeight-e.offset*this.$offsetCoefficient)},e.prototype.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},e.prototype.computeLineTop=function(e,t,i){var n=t.firstRowScreen*t.lineHeight,o=Math.floor(n/this.canvasHeight);return i.documentToScreenRow(e,0)*t.lineHeight-o*this.canvasHeight},e.prototype.computeLineHeight=function(e,t,i){return t.lineHeight*i.getRowLineCount(e)},e.prototype.getLength=function(){return this.cells.length},e.prototype.get=function(e){return this.cells[e]},e.prototype.shift=function(){this.$cacheCell(this.cells.shift())},e.prototype.pop=function(){this.$cacheCell(this.cells.pop())},e.prototype.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);for(var t=n.createFragment(this.element),i=0;i<e.length;i++)t.appendChild(e[i].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},e.prototype.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);for(var t=n.createFragment(this.element),i=0;i<e.length;i++)t.appendChild(e[i].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement("afterbegin",e.element)},e.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},e.prototype.$cacheCell=function(e){e&&(e.element.remove(),this.cellCache.push(e))},e.prototype.createCell=function(e,t,i,o){var a=this.cellCache.pop();if(!a){var r=n.createElement("div");o&&o(r),this.element.appendChild(r),a={element:r,text:"",row:e}}return a.row=e,a},e}();t.Lines=o})),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],(function(e,t,i){"use strict";var n=e("../lib/dom"),o=e("../lib/oop"),a=e("../lib/lang"),r=e("../lib/event_emitter").EventEmitter,s=e("./lines").Lines,l=e("../config").nls,c=function(){function e(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new s(this.element),this.$lines.$offsetCoefficient=1}return e.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},e.prototype.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},e.prototype.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var i=e[t],n=i.row,o=this.$annotations[n];o||(o=this.$annotations[n]={text:[],type:[],displayText:[]});var r=i.text,s=i.text,l=i.type;r=r?a.escapeHTML(r):i.html||"",s=s||i.html||"",-1===o.text.indexOf(r)&&(o.text.push(r),o.type.push(l),o.displayText.push(s));var c=i.className;c?o.className=c:"error"===l?o.className=" ace_error":"security"!==l||/\bace_error\b/.test(o.className)?"warning"!==l||/\bace_(error|security)\b/.test(o.className)?"info"!==l||o.className?"hint"!==l||o.className||(o.className=" ace_hint"):o.className=" ace_info":o.className=" ace_warning":o.className=" ace_security"}},e.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,i=e.end.row-t;if(0===i);else if("remove"==e.action)this.$annotations.splice(t,i+1,null);else{var n=new Array(i+1);n.unshift(t,1),this.$annotations.splice.apply(this.$annotations,n)}}},e.prototype.update=function(e){this.config=e;var t=this.session,i=e.firstRow,n=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=n,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var o=t.getNextFoldLine(i),a=o?o.start.row:1/0,r=null,s=-1,l=i;;){if(l>a&&(l=o.end.row+1,a=(o=t.getNextFoldLine(l,o))?o.start.row:1/0),l>n){for(;this.$lines.getLength()>s+1;)this.$lines.pop();break}(r=this.$lines.get(++s))?r.row=l:(r=this.$lines.createCell(l,e,this.session,d),this.$lines.push(r)),this.$renderCell(r,e,o,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e)},e.prototype.$updateGutterWidth=function(e){var t=this.session,i=t.gutterRenderer||this.$renderer,n=t.$firstLineNumber,o=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||t.$useWrapMode)&&(o=t.getLength()+n-1);var a=i?i.getWidth(t,o,e):o.toString().length*e.characterWidth,r=this.$padding||this.$computePadding();(a+=r.left+r.right)===this.gutterWidth||isNaN(a)||(this.gutterWidth=a,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",a))},e.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},e.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var i=0;i<t.length;i++){var n=t[i];if(n.row>=this.$cursorRow){if(n.row>this.$cursorRow){var o=this.session.getFoldLine(this.$cursorRow);if(!(i>0&&o&&o.start.row==t[i-1].row))break;n=t[i-1]}n.element.className="ace_gutter-active-line "+n.element.className,this.$cursorCell=n;break}}}}},e.prototype.scrollLines=function(e){var t=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var i=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),n=this.oldLastRow;if(this.oldLastRow=i,!t||n<e.firstRow)return this.update(e);if(i<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var o=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);o>0;o--)this.$lines.shift();if(n>i)for(o=this.session.getFoldedRowCount(i+1,n);o>0;o--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),i>n&&this.$lines.push(this.$renderLines(e,n+1,i)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},e.prototype.$renderLines=function(e,t,i){for(var n=[],o=t,a=this.session.getNextFoldLine(o),r=a?a.start.row:1/0;o>r&&(o=a.end.row+1,r=(a=this.session.getNextFoldLine(o,a))?a.start.row:1/0),!(o>i);){var s=this.$lines.createCell(o,e,this.session,d);this.$renderCell(s,e,a,o),n.push(s),o++}return n},e.prototype.$renderCell=function(e,t,i,o){var a=e.element,r=this.session,s=a.childNodes[0],c=a.childNodes[1],d=a.childNodes[2],h=d.firstChild,f=r.$firstLineNumber,u=r.$breakpoints,p=r.$decorations,g=r.gutterRenderer||this.$renderer,m=this.$showFoldWidgets&&r.foldWidgets,y=i?i.start.row:Number.MAX_VALUE,v=t.lineHeight+"px",b=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",w=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",C=(g?g.getText(r,o):o+f).toString();if(this.$highlightGutterLine&&(o==this.$cursorRow||i&&o<this.$cursorRow&&o>=y&&this.$cursorRow<=i.end.row)&&(b+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),u[o]&&(b+=u[o]),p[o]&&(b+=p[o]),this.$annotations[o]&&o!==y&&(b+=this.$annotations[o].className),m){var x=m[o];null==x&&(x=m[o]=r.getFoldWidget(o))}if(x){var S="ace_fold-widget ace_"+x,k="start"==x&&o==y&&o<i.end.row;if(k){S+=" ace_closed";for(var $="",_=!1,M=o+1;M<=i.end.row;M++)if(this.$annotations[M]){if(" ace_error"===this.$annotations[M].className){_=!0,$=" ace_error_fold";break}" ace_security"===this.$annotations[M].className?(_=!0,$=" ace_security_fold"):" ace_warning"===this.$annotations[M].className&&" ace_security_fold"!==$&&(_=!0,$=" ace_warning_fold")}b+=$}else S+=" ace_open";c.className!=S&&(c.className=S),n.setStyle(c.style,"height",v),n.setStyle(c.style,"display","inline-block"),c.setAttribute("role","button"),c.setAttribute("tabindex","-1");var A=r.getFoldWidgetRange(o);A?c.setAttribute("aria-label",l("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[A.start.row+1,A.end.row+1])):i?c.setAttribute("aria-label",l("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[i.start.row+1,i.end.row+1])):c.setAttribute("aria-label",l("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[o+1])),k?(c.setAttribute("aria-expanded","false"),c.setAttribute("title",l("gutter.code-folding.closed.title","Unfold code"))):(c.setAttribute("aria-expanded","true"),c.setAttribute("title",l("gutter.code-folding.open.title","Fold code")))}else c&&(n.setStyle(c.style,"display","none"),c.setAttribute("tabindex","0"),c.removeAttribute("role"),c.removeAttribute("aria-label"));if(_&&this.$showFoldedAnnotations){switch(d.className="ace_gutter_annotation",h.className=w,h.className+=$,n.setStyle(h.style,"height",v),n.setStyle(d.style,"display","block"),n.setStyle(d.style,"height",v),$){case" ace_error_fold":E=l("gutter.annotation.aria-label.error","Error, read annotations row $0",[C]);break;case" ace_security_fold":E=l("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[C]);break;case" ace_warning_fold":E=l("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[C])}d.setAttribute("aria-label",E),d.setAttribute("tabindex","-1"),d.setAttribute("role","button")}else if(this.$annotations[o]){var E;switch(d.className="ace_gutter_annotation",h.className=w,this.$useSvgGutterIcons?h.className+=this.$annotations[o].className:a.classList.add(this.$annotations[o].className.replace(" ","")),n.setStyle(h.style,"height",v),n.setStyle(d.style,"display","block"),n.setStyle(d.style,"height",v),this.$annotations[o].className){case" ace_error":E=l("gutter.annotation.aria-label.error","Error, read annotations row $0",[C]);break;case" ace_security":E=l("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[C]);break;case" ace_warning":E=l("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[C]);break;case" ace_info":E=l("gutter.annotation.aria-label.info","Info, read annotations row $0",[C]);break;case" ace_hint":E=l("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[C])}d.setAttribute("aria-label",E),d.setAttribute("tabindex","-1"),d.setAttribute("role","button")}else n.setStyle(d.style,"display","none"),d.removeAttribute("aria-label"),d.removeAttribute("role"),d.setAttribute("tabindex","0");return C!==s.data&&(s.data=C),a.className!=b&&(a.className=b),n.setStyle(e.element.style,"height",this.$lines.computeLineHeight(o,t,r)+"px"),n.setStyle(e.element.style,"top",this.$lines.computeLineTop(o,t,r)+"px"),e.text=C,"none"===d.style.display&&"none"===c.style.display?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},e.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},e.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},e.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},e.prototype.setShowFoldWidgets=function(e){e?n.addCssClass(this.element,"ace_folding-enabled"):n.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},e.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},e.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=n.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},e.prototype.getRegion=function(e){var t=this.$padding||this.$computePadding(),i=this.element.getBoundingClientRect();return e.x<t.left+i.left?"markers":this.$showFoldWidgets&&e.x>i.right-t.right?"foldWidgets":void 0},e}();function d(e){var t=document.createTextNode("");e.appendChild(t);var i=n.createElement("span");e.appendChild(i);var o=n.createElement("span");e.appendChild(o);var a=n.createElement("span");return o.appendChild(a),e}c.prototype.$fixedWidth=!1,c.prototype.$highlightGutterLine=!0,c.prototype.$renderer="",c.prototype.$showLineNumbers=!0,c.prototype.$showFoldWidgets=!0,o.implement(c.prototype,r),t.Gutter=c})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(e,t,i){"use strict";var n=e("../range").Range,o=e("../lib/dom"),a=function(){function e(e){this.element=o.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}return e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setMarkers=function(e){this.markers=e},e.prototype.elt=function(e,t){var i=-1!=this.i&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=t,i.className=e},e.prototype.update=function(e){if(e){var t;for(var i in this.config=e,this.i=0,this.markers){var n=this.markers[i];if(n.range){var o=n.range.clipRows(e.firstRow,e.lastRow);if(!o.isEmpty())if(o=o.toScreenRange(this.session),n.renderer){var a=this.$getTop(o.start.row,e),r=this.$padding+o.start.column*e.characterWidth;n.renderer(t,o,r,a,e)}else"fullLine"==n.type?this.drawFullLineMarker(t,o,n.clazz,e):"screenLine"==n.type?this.drawScreenLineMarker(t,o,n.clazz,e):o.isMultiLine()?"text"==n.type?this.drawTextMarker(t,o,n.clazz,e):this.drawMultiLineMarker(t,o,n.clazz,e):this.drawSingleLineMarker(t,o,n.clazz+" ace_start ace_br15",e)}else n.update(t,this,this.session,e)}if(-1!=this.i)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},e.prototype.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},e.prototype.drawTextMarker=function(e,t,i,o,a){for(var r=this.session,s=t.start.row,l=t.end.row,c=s,d=0,h=0,f=r.getScreenLastRowColumn(c),u=new n(c,t.start.column,c,h);c<=l;c++)u.start.row=u.end.row=c,u.start.column=c==s?t.start.column:r.getRowWrapIndent(c),u.end.column=f,d=h,h=f,f=c+1<l?r.getScreenLastRowColumn(c+1):c==l?0:t.end.column,this.drawSingleLineMarker(e,u,i+(c==s?" ace_start":"")+" ace_br"+((c==s||c==s+1&&t.start.column?1:0)|(d<h?2:0)|(h>f?4:0)|(c==l?8:0)),o,c==l?0:1,a)},e.prototype.drawMultiLineMarker=function(e,t,i,n,o){var a=this.$padding,r=n.lineHeight,s=this.$getTop(t.start.row,n),l=a+t.start.column*n.characterWidth;if(o=o||"",this.session.$bidiHandler.isBidiRow(t.start.row)?((c=t.clone()).end.row=c.start.row,c.end.column=this.session.getLine(c.start.row).length,this.drawBidiSingleLineMarker(e,c,i+" ace_br1 ace_start",n,null,o)):this.elt(i+" ace_br1 ace_start","height:"+r+"px;right:"+a+"px;top:"+s+"px;left:"+l+"px;"+(o||"")),this.session.$bidiHandler.isBidiRow(t.end.row)){var c;(c=t.clone()).start.row=c.end.row,c.start.column=0,this.drawBidiSingleLineMarker(e,c,i+" ace_br12",n,null,o)}else{s=this.$getTop(t.end.row,n);var d=t.end.column*n.characterWidth;this.elt(i+" ace_br12","height:"+r+"px;width:"+d+"px;top:"+s+"px;left:"+a+"px;"+(o||""))}if(!((r=(t.end.row-t.start.row-1)*n.lineHeight)<=0)){s=this.$getTop(t.start.row+1,n);var h=(t.start.column?1:0)|(t.end.column?0:8);this.elt(i+(h?" ace_br"+h:""),"height:"+r+"px;right:"+a+"px;top:"+s+"px;left:"+a+"px;"+(o||""))}},e.prototype.drawSingleLineMarker=function(e,t,i,n,o,a){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,i,n,o,a);var r=n.lineHeight,s=(t.end.column+(o||0)-t.start.column)*n.characterWidth,l=this.$getTop(t.start.row,n),c=this.$padding+t.start.column*n.characterWidth;this.elt(i,"height:"+r+"px;width:"+s+"px;top:"+l+"px;left:"+c+"px;"+(a||""))},e.prototype.drawBidiSingleLineMarker=function(e,t,i,n,o,a){var r=n.lineHeight,s=this.$getTop(t.start.row,n),l=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach((function(e){this.elt(i,"height:"+r+"px;width:"+(e.width+(o||0))+"px;top:"+s+"px;left:"+(l+e.left)+"px;"+(a||""))}),this)},e.prototype.drawFullLineMarker=function(e,t,i,n,o){var a=this.$getTop(t.start.row,n),r=n.lineHeight;t.start.row!=t.end.row&&(r+=this.$getTop(t.end.row,n)-a),this.elt(i,"height:"+r+"px;top:"+a+"px;left:0;right:0;"+(o||""))},e.prototype.drawScreenLineMarker=function(e,t,i,n,o){var a=this.$getTop(t.start.row,n),r=n.lineHeight;this.elt(i,"height:"+r+"px;top:"+a+"px;left:0;right:0;"+(o||""))},e}();a.prototype.$padding=0,t.Marker=a})),ace.define("ace/layer/text_util",["require","exports","module"],(function(e,t,i){var n=new Set(["text","rparen","lparen"]);t.isTextToken=function(e){return n.has(e)}})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],(function(e,t,i){"use strict";var n=e("../lib/oop"),o=e("../lib/dom"),a=e("../lib/lang"),r=e("./lines").Lines,s=e("../lib/event_emitter").EventEmitter,l=e("../config").nls,c=e("./text_util").isTextToken,d=function(){function e(e){this.dom=o,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new r(this.element)}return e.prototype.$updateEolChar=function(){var e=this.session.doc,t="\n"==e.getNewLineCharacter()&&"windows"!=e.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=t)return this.EOL_CHAR=t,!0},e.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},e.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},e.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},e.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},e.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},e.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},e.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},e.prototype.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,"string"==typeof e?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},e.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},e.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides!==e&&(this.$highlightIndentGuides=e,e)},e.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],i=1;i<e+1;i++)this.showTabs?((n=this.dom.createElement("span")).className="ace_invisible ace_invisible_tab",n.textContent=a.stringRepeat(this.TAB_CHAR,i),t.push(n)):t.push(this.dom.createTextNode(a.stringRepeat(" ",i),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var n,o="ace_indent-guide",r=this.showSpaces?" ace_invisible ace_invisible_space":"",s=this.showSpaces?a.stringRepeat(this.SPACE_CHAR,this.tabSize):a.stringRepeat(" ",this.tabSize),l=this.showTabs?" ace_invisible ace_invisible_tab":"",c=this.showTabs?a.stringRepeat(this.TAB_CHAR,this.tabSize):s;(n=this.dom.createElement("span")).className=o+r,n.textContent=s,this.$tabStrings[" "]=n,(n=this.dom.createElement("span")).className=o+l,n.textContent=c,this.$tabStrings["\t"]=n}},e.prototype.updateLines=function(e,t,i){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var n=Math.max(t,e.firstRow),o=Math.min(i,e.lastRow),a=this.element.childNodes,r=0,s=e.firstRow;s<n;s++){if(l=this.session.getFoldLine(s)){if(l.containsRow(n)){n=l.start.row;break}s=l.end.row}r++}for(var l,c=!1,d=(s=n,(l=this.session.getNextFoldLine(s))?l.start.row:1/0);s>d&&(s=l.end.row+1,d=(l=this.session.getNextFoldLine(s,l))?l.start.row:1/0),!(s>o);){var h=a[r++];if(h){this.dom.removeChildren(h),this.$renderLine(h,s,s==d&&l),c&&(h.style.top=this.$lines.computeLineTop(s,e,this.session)+"px");var f=e.lineHeight*this.session.getRowLength(s)+"px";h.style.height!=f&&(c=!0,h.style.height=f)}s++}if(c)for(;r<this.$lines.cells.length;){var u=this.$lines.cells[r++];u.element.style.top=this.$lines.computeLineTop(u.row,e,this.session)+"px"}},e.prototype.scrollLines=function(e){var t=this.config;if(this.config=e,this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var i=e.lastRow,n=t?t.lastRow:-1;if(!t||n<e.firstRow)return this.update(e);if(i<t.firstRow)return this.update(e);if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var o=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);o>0;o--)this.$lines.shift();if(t.lastRow>e.lastRow)for(o=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);o>0;o--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},e.prototype.$renderLinesFragment=function(e,t,i){for(var n=[],a=t,r=this.session.getNextFoldLine(a),s=r?r.start.row:1/0;a>s&&(a=r.end.row+1,s=(r=this.session.getNextFoldLine(a,r))?r.start.row:1/0),!(a>i);){var l=this.$lines.createCell(a,e,this.session),c=l.element;this.dom.removeChildren(c),o.setStyle(c.style,"height",this.$lines.computeLineHeight(a,e,this.session)+"px"),o.setStyle(c.style,"top",this.$lines.computeLineTop(a,e,this.session)+"px"),this.$renderLine(c,a,a==s&&r),this.$useLineGroups()?c.className="ace_line_group":c.className="ace_line",n.push(l),a++}return n},e.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,i=e.lastRow,n=this.$lines;n.getLength();)n.pop();n.push(this.$renderLinesFragment(e,t,i))},e.prototype.$renderToken=function(e,t,i,n){for(var o,r=this,s=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,d=this.dom.createFragment(this.element),h=0;o=s.exec(n);){var f=o[1],u=o[2],p=o[3],g=o[4],m=o[5];if(r.showSpaces||!u){var y=h!=o.index?n.slice(h,o.index):"";if(h=o.index+o[0].length,y&&d.appendChild(this.dom.createTextNode(y,this.element)),f){var v=r.session.getScreenTabSize(t+o.index);d.appendChild(r.$tabStrings[v].cloneNode(!0)),t+=v-1}else u?r.showSpaces?((w=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",w.textContent=a.stringRepeat(r.SPACE_CHAR,u.length),d.appendChild(w)):d.appendChild(this.dom.createTextNode(u,this.element)):p?((w=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",w.textContent=a.stringRepeat(r.SPACE_CHAR,p.length),d.appendChild(w)):g?(t+=1,(w=this.dom.createElement("span")).style.width=2*r.config.characterWidth+"px",w.className=r.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",w.textContent=r.showSpaces?r.SPACE_CHAR:g,d.appendChild(w)):m&&(t+=1,(w=this.dom.createElement("span")).style.width=2*r.config.characterWidth+"px",w.className="ace_cjk",w.textContent=m,d.appendChild(w))}}if(d.appendChild(this.dom.createTextNode(h?n.slice(h):n,this.element)),c(i.type))e.appendChild(d);else{var b="ace_"+i.type.replace(/\./g," ace_"),w=this.dom.createElement("span");"fold"==i.type&&(w.style.width=i.value.length*this.config.characterWidth+"px",w.setAttribute("title",l("inline-fold.closed.title","Unfold code"))),w.className=b,w.appendChild(d),e.appendChild(w)}return t+n.length},e.prototype.renderIndentGuide=function(e,t,i){var n=t.search(this.$indentGuideRe);if(n<=0||n>=i)return t;if(" "==t[0]){for(var o=(n-=n%this.tabSize)/this.tabSize,a=0;a<o;a++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),t.substr(n)}if("\t"==t[0]){for(a=0;a<n;a++)e.appendChild(this.$tabStrings["\t"].cloneNode(!0));return this.$highlightIndentGuide(),t.substr(n)}return this.$highlightIndentGuide(),t},e.prototype.$highlightIndentGuide=function(){if(this.$highlightIndentGuides&&this.displayIndentGuides){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var t=this.session.selection.getCursor(),i=/^\s*/.exec(this.session.doc.getLine(t.row))[0].length,n=Math.floor(i/this.tabSize);if(this.$highlightIndentGuideMarker={indentLevel:n,start:t.row},this.session.$bracketHighlight)for(var o=this.session.$bracketHighlight.ranges,a=0;a<o.length;a++)if(t.row!==o[a].start.row){this.$highlightIndentGuideMarker.end=o[a].start.row+1,t.row>o[a].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}if(!this.$highlightIndentGuideMarker.end&&""!==e[t.row]&&t.column===e[t.row].length)for(this.$highlightIndentGuideMarker.dir=1,a=t.row+1;a<e.length;a++){var r=e[a],s=/^\s*/.exec(r)[0].length;if(""!==r&&(this.$highlightIndentGuideMarker.end=a,s<=i))break}this.$renderHighlightIndentGuide()}}},e.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(".ace_indent-guide-active"),t=0;t<e.length;t++)e[t].classList.remove("ace_indent-guide-active")},e.prototype.$setIndentGuideActive=function(e,t){if(""!==this.session.doc.getLine(e.row)){var i=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group")){if(!(e.element.childNodes.length>0))return;i=e.element.childNodes[0]}var n=i.childNodes;if(n){var o=n[t-1];o&&o.classList&&o.classList.contains("ace_indent-guide")&&o.classList.add("ace_indent-guide-active")}}},e.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var t=this.$highlightIndentGuideMarker.indentLevel;if(0!==t)if(1===this.$highlightIndentGuideMarker.dir)for(var i=0;i<e.length;i++){var n=e[i];if(this.$highlightIndentGuideMarker.end&&n.row>=this.$highlightIndentGuideMarker.start+1){if(n.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(n,t)}}else for(i=e.length-1;i>=0;i--)if(n=e[i],this.$highlightIndentGuideMarker.end&&n.row<this.$highlightIndentGuideMarker.start){if(n.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(n,t)}}},e.prototype.$createLineElement=function(e){var t=this.dom.createElement("div");return t.className="ace_line",t.style.height=this.config.lineHeight+"px",t},e.prototype.$renderWrappedLine=function(e,t,i){var n=0,o=0,r=i[0],s=0,l=this.$createLineElement();e.appendChild(l);for(var c=0;c<t.length;c++){var d=t[c],h=d.value;if(0==c&&this.displayIndentGuides){if(n=h.length,!(h=this.renderIndentGuide(l,h,r)))continue;n-=h.length}if(n+h.length<r)s=this.$renderToken(l,s,d,h),n+=h.length;else{for(;n+h.length>=r;)s=this.$renderToken(l,s,d,h.substring(0,r-n)),h=h.substring(r-n),n=r,l=this.$createLineElement(),e.appendChild(l),l.appendChild(this.dom.createTextNode(a.stringRepeat(" ",i.indent),this.element)),s=0,r=i[++o]||Number.MAX_VALUE;0!=h.length&&(n+=h.length,s=this.$renderToken(l,s,d,h))}}i[i.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(l,s,null,"",!0)},e.prototype.$renderSimpleLine=function(e,t){for(var i=0,n=0;n<t.length;n++){var o=t[n],a=o.value;if(0!=n||!this.displayIndentGuides||(a=this.renderIndentGuide(e,a))){if(i+a.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,i,o,a);i=this.$renderToken(e,i,o,a)}}},e.prototype.$renderOverflowMessage=function(e,t,i,n,o){i&&this.$renderToken(e,t,i,n.slice(0,this.MAX_LINE_LENGTH-t));var a=this.dom.createElement("span");a.className="ace_inline_button ace_keyword ace_toggle_wrap",a.textContent=o?"<hide>":"<click to see more...>",e.appendChild(a)},e.prototype.$renderLine=function(e,t,i){if(i||0==i||(i=this.session.getFoldLine(t)),i)var n=this.$getFoldLineTokens(t,i);else n=this.session.getTokens(t);var o=e;if(n.length){var a=this.session.getRowSplitData(t);a&&a.length?(this.$renderWrappedLine(e,n,a),o=e.lastChild):(o=e,this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o)),this.$renderSimpleLine(o,n))}else this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o));if(this.showEOL&&o){i&&(t=i.end.row);var r=this.dom.createElement("span");r.className="ace_invisible ace_invisible_eol",r.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,o.appendChild(r)}},e.prototype.$getFoldLineTokens=function(e,t){var i=this.session,n=[],o=i.getTokens(e);return t.walk((function(e,t,a,r,s){null!=e?n.push({type:"fold",value:e}):(s&&(o=i.getTokens(t)),o.length&&function(e,t,i){for(var o=0,a=0;a+e[o].value.length<t;)if(a+=e[o].value.length,++o==e.length)return;for(a!=t&&((r=e[o].value.substring(t-a)).length>i-t&&(r=r.substring(0,i-t)),n.push({type:e[o].type,value:r}),a=t+r.length,o+=1);a<i&&o<e.length;){var r;(r=e[o].value).length+a>i?n.push({type:e[o].type,value:r.substring(0,i-a)}):n.push(e[o]),a+=r.length,o+=1}}(o,r,a))}),t.end.row,this.session.getLine(t.end.row).length),n},e.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},e}();d.prototype.EOF_CHAR="¶",d.prototype.EOL_CHAR_LF="¬",d.prototype.EOL_CHAR_CRLF="¤",d.prototype.EOL_CHAR=d.prototype.EOL_CHAR_LF,d.prototype.TAB_CHAR="—",d.prototype.SPACE_CHAR="·",d.prototype.$padding=0,d.prototype.MAX_LINE_LENGTH=1e4,d.prototype.showInvisibles=!1,d.prototype.showSpaces=!1,d.prototype.showTabs=!1,d.prototype.showEOL=!1,d.prototype.displayIndentGuides=!0,d.prototype.$highlightIndentGuides=!0,d.prototype.$tabStrings=[],d.prototype.destroy={},d.prototype.onChangeTabSize=d.prototype.$computeTabString,n.implement(d.prototype,s),t.Text=d})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(e,t,i){"use strict";var n=e("../lib/dom"),o=function(){function e(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),n.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return e.prototype.$updateOpacity=function(e){for(var t=this.cursors,i=t.length;i--;)n.setStyle(t[i].style,"opacity",e?"":"0")},e.prototype.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&n.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},e.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,n.removeCssClass(this.element,"ace_animate-blinking")},e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},e.prototype.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},e.prototype.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,n.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},e.prototype.addCursor=function(){var e=n.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},e.prototype.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},e.prototype.hideCursor=function(){this.isVisible=!1,n.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.showCursor=function(){this.isVisible=!0,n.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},e.prototype.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,n.removeCssClass(this.element,"ace_smooth-blinking")),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&n.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),n.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout((function(){e(!1)}),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval((function(){e(!0),t()}),this.blinkInterval),t()}else this.$stopCssAnimation()},e.prototype.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,e.row)?this.session.$bidiHandler.getPosLeft(i.column):i.column*this.config.characterWidth),top:(i.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},e.prototype.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},e.prototype.update=function(e){this.config=e;var t=this.session.$selectionMarkers,i=0,o=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]),i=0;for(var a=t.length;i<a;i++){var r=this.getPixelPosition(t[i].cursor,!0);if(!((r.top>e.height+e.offset||r.top<0)&&i>1)){var s=this.cursors[o++]||this.addCursor(),l=s.style;this.drawCursor?this.drawCursor(s,r,e,t[i],this.session):this.isCursorInView(r,e)?(n.setStyle(l,"display","block"),n.translate(s,r.left,r.top),n.setStyle(l,"width",Math.round(e.characterWidth)+"px"),n.setStyle(l,"height",e.lineHeight+"px")):n.setStyle(l,"display","none")}}for(;this.cursors.length>o;)this.removeCursor();var c=this.session.getOverwrite();this.$setOverwrite(c),this.$pixelPos=r,this.restartTimer()},e.prototype.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?n.addCssClass(this.element,"ace_overwrite-cursors"):n.removeCssClass(this.element,"ace_overwrite-cursors"))},e.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},e}();o.prototype.$padding=0,o.prototype.drawCursor=null,t.Cursor=o})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=e("./lib/oop"),r=e("./lib/dom"),s=e("./lib/event"),l=e("./lib/event_emitter").EventEmitter,c=32768,d=function(){function e(e,t){this.element=r.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+t,this.inner=r.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();a.implement(d.prototype,l);var h=function(e){function t(t,i){var n=e.call(this,t,"-v")||this;return n.scrollTop=0,n.scrollHeight=0,i.$scrollbarWidth=n.width=r.scrollbarWidth(t.ownerDocument),n.inner.style.width=n.element.style.width=(n.width||15)+5+"px",n.$minWidth=0,n}return o(t,e),t.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.element.style.height=e+"px"},t.prototype.setScrollHeight=function(e){this.scrollHeight=e,e>c?(this.coeff=c/e,e=c):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},t.prototype.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)},t}(d);h.prototype.setInnerHeight=h.prototype.setScrollHeight;var f=function(e){function t(t,i){var n=e.call(this,t,"-h")||this;return n.scrollLeft=0,n.height=i.$scrollbarWidth,n.inner.style.height=n.element.style.height=(n.height||15)+5+"px",n}return o(t,e),t.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.setWidth=function(e){this.element.style.width=e+"px"},t.prototype.setInnerWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollWidth=function(e){this.inner.style.width=e+"px"},t.prototype.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)},t}(d);t.ScrollBar=h,t.ScrollBarV=h,t.ScrollBarH=f,t.VScrollBar=h,t.HScrollBar=f})),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(e,t,i){"use strict";var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=e("./lib/oop"),r=e("./lib/dom"),s=e("./lib/event"),l=e("./lib/event_emitter").EventEmitter;r.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n  position: absolute;\n  background: rgba(128, 128, 128, 0.6);\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n  border: 1px solid #bbb;\n  border-radius: 2px;\n  z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n  position: absolute;\n  z-index: 6;\n  background: none;\n  overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n  z-index: 6;\n  right: 0;\n  top: 0;\n  width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n  z-index: 8;\n  right: 0;\n  width: 100%;\n}\n.ace_editor>.ace_sb-h {\n  bottom: 0;\n  left: 0;\n  height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n  bottom: 0;\n  height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n  z-index: 8;\n  background: #000;\n}","ace_scrollbar.css",!1);var c=function(){function e(e,t){this.element=r.createElement("div"),this.element.className="ace_sb"+t,this.inner=r.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return e.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},e}();a.implement(c.prototype,l);var d=function(e){function t(t,i){var n=e.call(this,t,"-v")||this;return n.scrollTop=0,n.scrollHeight=0,n.parent=t,n.width=n.VScrollWidth,n.renderer=i,n.inner.style.width=n.element.style.width=(n.width||15)+"px",n.$minWidth=0,n}return o(t,e),t.prototype.onMouseDown=function(e,t){if("mousedown"===e&&0===s.getButton(t)&&2!==t.detail){if(t.target===this.inner){var i=this,n=t.clientY,o=t.clientY,a=this.thumbTop;s.capture(this.inner,(function(e){n=e.clientY}),(function(){clearInterval(r)}));var r=setInterval((function(){if(void 0!==n){var e=i.scrollTopFromThumbTop(a+n-o);e!==i.scrollTop&&i._emit("scroll",{data:e})}}),20);return s.preventDefault(t)}var l=t.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(l)}),s.preventDefault(t)}},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(e){var t=e*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return(t|=0)<0?t=0:t>this.pageHeight-this.viewHeight&&(t=this.pageHeight-this.viewHeight),t},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.height=Math.max(0,e),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(e,t){(this.pageHeight!==e||t)&&(this.pageHeight=e,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},t.prototype.setScrollTop=function(e){this.scrollTop=e,e<0&&(e=0),this.thumbTop=e*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},t}(c);d.prototype.setInnerHeight=d.prototype.setScrollHeight;var h=function(e){function t(t,i){var n=e.call(this,t,"-h")||this;return n.scrollLeft=0,n.scrollWidth=0,n.height=n.HScrollHeight,n.inner.style.height=n.element.style.height=(n.height||12)+"px",n.renderer=i,n}return o(t,e),t.prototype.onMouseDown=function(e,t){if("mousedown"===e&&0===s.getButton(t)&&2!==t.detail){if(t.target===this.inner){var i=this,n=t.clientX,o=t.clientX,a=this.thumbLeft;s.capture(this.inner,(function(e){n=e.clientX}),(function(){clearInterval(r)}));var r=setInterval((function(){if(void 0!==n){var e=i.scrollLeftFromThumbLeft(a+n-o);e!==i.scrollLeft&&i._emit("scroll",{data:e})}}),20);return s.preventDefault(t)}var l=t.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(l)}),s.preventDefault(t)}},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(e){var t=e*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return(t|=0)<0?t=0:t>this.pageWidth-this.viewWidth&&(t=this.pageWidth-this.viewWidth),t},t.prototype.setWidth=function(e){this.width=Math.max(0,e),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(e,t){(this.pageWidth!==e||t)&&(this.pageWidth=e,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},t.prototype.setScrollLeft=function(e){this.scrollLeft=e,e<0&&(e=0),this.thumbLeft=e*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},t}(c);h.prototype.setInnerWidth=h.prototype.setScrollWidth,t.ScrollBar=d,t.ScrollBarV=d,t.ScrollBarH=h,t.VScrollBar=d,t.HScrollBar=h})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(e,t,i){"use strict";var n=e("./lib/event"),o=function(){function e(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var i=this;this._flush=function(e){i.pending=!1;var t=i.changes;if(t&&(n.blockIdle(100),i.changes=0,i.onRender(t)),i.changes){if(i.$recursionLimit--<0)return;i.schedule()}else i.$recursionLimit=2}}return e.prototype.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(n.nextFrame(this._flush),this.pending=!0)},e.prototype.clear=function(e){var t=this.changes;return this.changes=0,t},e}();t.RenderLoop=o})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(e,t,i){var n=e("../lib/oop"),o=e("../lib/dom"),a=e("../lib/lang"),r=e("../lib/event"),s=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,c=512,d="function"==typeof ResizeObserver,h=200,f=function(){function e(e){this.el=o.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=o.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=o.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=a.stringRepeat("X",c),this.$characterSize={width:0,height:0},d?this.$addObserver():this.checkForSizeChanges()}return e.prototype.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",s.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},e.prototype.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},e.prototype.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver((function(t){e.checkForSizeChanges()})),this.$observer.observe(this.$measureNode)},e.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=r.onIdle((function t(){e.checkForSizeChanges(),r.onIdle(t,500)}),500)},e.prototype.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},e.prototype.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/c};return 0===t.width||0===t.height?null:t},e.prototype.$measureCharWidth=function(e){return this.$main.textContent=a.stringRepeat(e,c),this.$main.getBoundingClientRect().width/c},e.prototype.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},e.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},e.prototype.$getZoom=function(e){return e&&e.parentElement?(Number(window.getComputedStyle(e).zoom)||1)*this.$getZoom(e.parentElement):1},e.prototype.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=o.buildDom([e(0,0),e(h,0),e(0,h),e(h,h)],this.el)},e.prototype.transformCoordinates=function(e,t){function i(e,t,i){var n=e[1]*t[0]-e[0]*t[1];return[(-t[1]*i[0]+t[0]*i[1])/n,(+e[1]*i[0]-e[0]*i[1])/n]}function n(e,t){return[e[0]-t[0],e[1]-t[1]]}function o(e,t){return[e[0]+t[0],e[1]+t[1]]}function a(e,t){return[e*t[0],e*t[1]]}function r(e){var t=e.getBoundingClientRect();return[t.left,t.top]}e&&(e=a(1/this.$getZoom(this.el),e)),this.els||this.$initTransformMeasureNodes();var s=r(this.els[0]),l=r(this.els[1]),c=r(this.els[2]),d=r(this.els[3]),f=i(n(d,l),n(d,c),n(o(l,c),o(d,s))),u=a(1+f[0],n(l,s)),p=a(1+f[1],n(c,s));if(t){var g=t,m=f[0]*g[0]/h+f[1]*g[1]/h+1,y=o(a(g[0],u),a(g[1],p));return o(a(1/m/h,y),s)}var v=n(e,s),b=i(n(u,a(f[0],v)),n(p,a(f[1],v)),v);return a(h,b)},e}();f.prototype.$characterSize={width:0,height:0},n.implement(f.prototype,l),t.FontMetrics=f})),ace.define("ace/css/editor-css",["require","exports","module"],(function(e,t,i){i.exports='\n.ace_br1 {border-top-left-radius    : 3px;}\n.ace_br2 {border-top-right-radius   : 3px;}\n.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}\n.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}\n.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\n.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\n.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\n.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n    position: relative;\n    overflow: hidden;\n    padding: 0;\n    font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n    direction: ltr;\n    text-align: left;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    forced-color-adjust: none;\n}\n\n.ace_scroller {\n    position: absolute;\n    overflow: hidden;\n    top: 0;\n    bottom: 0;\n    background-color: inherit;\n    -ms-user-select: none;\n    -moz-user-select: none;\n    -webkit-user-select: none;\n    user-select: none;\n    cursor: text;\n}\n\n.ace_content {\n    position: absolute;\n    box-sizing: border-box;\n    min-width: 100%;\n    contain: style size layout;\n    font-variant-ligatures: no-common-ligatures;\n}\n.ace_invisible {\n    font-variant-ligatures: none;\n}\n\n.ace_keyboard-focus:focus {\n    box-shadow: inset 0 0 0 2px #5E9ED6;\n    outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    content: \'\';\n    background: rgba(250, 250, 250, 0.01);\n    z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n    background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n    position: absolute;\n    overflow : hidden;\n    width: auto;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    cursor: default;\n    z-index: 4;\n    -ms-user-select: none;\n    -moz-user-select: none;\n    -webkit-user-select: none;\n    user-select: none;\n    contain: style size layout;\n}\n\n.ace_gutter-active-line {\n    position: absolute;\n    left: 0;\n    right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n    content: "";\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n    pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    padding-left: 19px;\n    padding-right: 6px;\n    background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n    margin-left: -14px;\n    float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n    margin-left: -19px;\n    float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n    background-repeat: no-repeat;\n    background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");\n    background-repeat: no-repeat;\n    background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n    background-repeat: no-repeat;\n    background-position: 2px center;\n}\n\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n    background-color: crimson;\n}\n.ace_icon_svg.ace_security {\n    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");\n    background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n    background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n    background-color: royalblue;\n}\n.ace_icon_svg.ace_hint {\n    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");\n    background-color: silver;\n}\n\n.ace_icon_svg.ace_error_fold {\n    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n    background-color: crimson;\n}\n.ace_icon_svg.ace_security_fold {\n    -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n    background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n    background-color: darkorange;\n}\n\n.ace_scrollbar {\n    contain: strict;\n    position: absolute;\n    right: 0;\n    bottom: 0;\n    z-index: 6;\n}\n\n.ace_scrollbar-inner {\n    position: absolute;\n    cursor: text;\n    left: 0;\n    top: 0;\n}\n\n.ace_scrollbar-v{\n    overflow-x: hidden;\n    overflow-y: scroll;\n    top: 0;\n}\n\n.ace_scrollbar-h {\n    overflow-x: scroll;\n    overflow-y: hidden;\n    left: 0;\n}\n\n.ace_print-margin {\n    position: absolute;\n    height: 100%;\n}\n\n.ace_text-input {\n    position: absolute;\n    z-index: 0;\n    width: 0.5em;\n    height: 1em;\n    opacity: 0;\n    background: transparent;\n    -moz-appearance: none;\n    appearance: none;\n    border: none;\n    resize: none;\n    outline: none;\n    overflow: hidden;\n    font: inherit;\n    padding: 0 1px;\n    margin: 0 -1px;\n    contain: strict;\n    -ms-user-select: text;\n    -moz-user-select: text;\n    -webkit-user-select: text;\n    user-select: text;\n    /*with `pre-line` chrome inserts &nbsp; instead of space*/\n    white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n    background: transparent;\n    color: inherit;\n    z-index: 1000;\n    opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n    border-bottom: 1px solid;\n    position: absolute;\n    border-radius: 0;\n    margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n    transform: none!important;\n    filter: none!important;\n    clip-path: none!important;\n    mask : none!important;\n    contain: none!important;\n    perspective: none!important;\n    mix-blend-mode: initial!important;\n    z-index: auto;\n}\n\n.ace_layer {\n    z-index: 1;\n    position: absolute;\n    overflow: hidden;\n    /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n    word-wrap: normal;\n    white-space: pre;\n    height: 100%;\n    width: 100%;\n    box-sizing: border-box;\n    /* setting pointer-events: auto; on node under the mouse, which changes\n        during scroll, will break mouse wheel scrolling in Safari */\n    pointer-events: none;\n}\n\n.ace_gutter-layer {\n    position: relative;\n    width: auto;\n    text-align: right;\n    pointer-events: auto;\n    height: 1000000px;\n    contain: style size layout;\n}\n\n.ace_text-layer {\n    font: inherit !important;\n    position: absolute;\n    height: 1000000px;\n    width: 1000000px;\n    contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n    contain: style size layout;\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n    contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n    contain: strict;\n}\n\n.ace_cjk {\n    display: inline-block;\n    text-align: center;\n}\n\n.ace_cursor-layer {\n    z-index: 4;\n}\n\n.ace_cursor {\n    z-index: 4;\n    position: absolute;\n    box-sizing: border-box;\n    border-left: 2px solid;\n    /* workaround for smooth cursor repaintng whole screen in chrome */\n    transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n    border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n    border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n    border-left-width: 0;\n    border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n    opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n    opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n    transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n    animation-duration: 1000ms;\n    animation-timing-function: step-end;\n    animation-name: blink-ace-animate;\n    animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n    animation-duration: 1000ms;\n    animation-timing-function: ease-in-out;\n    animation-name: blink-ace-animate-smooth;\n}\n    \n@keyframes blink-ace-animate {\n    from, to { opacity: 1; }\n    60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n    from, to { opacity: 1; }\n    45% { opacity: 1; }\n    60% { opacity: 0; }\n    85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n    position: absolute;\n    z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n    position: absolute;\n    z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n    position: absolute;\n    z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n    position: absolute;\n    border-bottom: 1px solid #DE5555;\n    border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n    position: absolute;\n    z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n    position: absolute;\n    z-index: 4;\n    box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n    box-sizing: border-box;\n\n    display: inline-block;\n    height: 11px;\n    margin-top: -2px;\n    vertical-align: middle;\n\n    background-image:\n        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n    background-repeat: no-repeat, repeat-x;\n    background-position: center center, top left;\n    color: transparent;\n\n    border: 1px solid black;\n    border-radius: 2px;\n\n    cursor: pointer;\n    pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n    background-image:\n        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n    background-color: #f5f5f5;\n    border: 1px solid gray;\n    border-radius: 1px;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n    color: black;\n    padding: 3px 4px;\n    position: fixed;\n    z-index: 999999;\n    box-sizing: border-box;\n    cursor: default;\n    white-space: pre-wrap;\n    word-wrap: break-word;\n    line-height: normal;\n    font-style: normal;\n    font-weight: normal;\n    letter-spacing: normal;\n    pointer-events: none;\n    overflow: auto;\n    max-width: min(33em, 66vw);\n    overscroll-behavior: contain;\n}\n.ace_tooltip pre {\n    white-space: pre-wrap;\n}\n\n.ace_tooltip.ace_dark {\n    background-color: #636363;\n    color: #fff;\n}\n\n.ace_tooltip:focus {\n    outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n    display: inline-block;\n    width: 18px;\n    vertical-align: top;\n}\n\n.ace_icon_svg {\n    display: inline-block;\n    width: 12px;\n    vertical-align: top;\n    -webkit-mask-repeat: no-repeat;\n    -webkit-mask-size: 12px;\n    -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n    padding-right: 13px;\n}\n\n.ace_fold-widget {\n    box-sizing: border-box;\n\n    margin: 0 -12px 0 1px;\n    display: none;\n    width: 11px;\n    vertical-align: top;\n\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n    background-repeat: no-repeat;\n    background-position: center;\n\n    border-radius: 3px;\n    \n    border: 1px solid transparent;\n    cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n    display: inline-block;   \n}\n\n.ace_fold-widget.ace_end {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n    border: 1px solid rgba(0, 0, 0, 0.3);\n    background-color: rgba(255, 255, 255, 0.2);\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n    border: 1px solid rgba(0, 0, 0, 0.4);\n    background-color: rgba(0, 0, 0, 0.05);\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n    background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n    border: 1px solid lightgray;\n    display: inline-block;\n    margin: -1px 8px;\n    padding: 0 5px;\n    pointer-events: auto;\n    cursor: pointer;\n}\n.ace_inline_button:hover {\n    border-color: gray;\n    background: rgba(200,200,200,0.2);\n    display: inline-block;\n    pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n    background-color: #FFB4B4;\n    border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n    transition: opacity 0.4s ease 0.05s;\n    opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n    transition: opacity 0.05s ease 0.05s;\n    opacity:1;\n}\n\n.ace_underline {\n    text-decoration: underline;\n}\n\n.ace_bold {\n    font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n    font-weight: normal;\n}\n\n.ace_italic {\n    font-style: italic;\n}\n\n\n.ace_error-marker {\n    background-color: rgba(255, 0, 0,0.2);\n    position: absolute;\n    z-index: 9;\n}\n\n.ace_highlight-marker {\n    background-color: rgba(255, 255, 0,0.2);\n    position: absolute;\n    z-index: 8;\n}\n\n.ace_mobile-menu {\n    position: absolute;\n    line-height: 1.5;\n    border-radius: 4px;\n    -ms-user-select: none;\n    -moz-user-select: none;\n    -webkit-user-select: none;\n    user-select: none;\n    background: white;\n    box-shadow: 1px 3px 2px grey;\n    border: 1px solid #dcdcdc;\n    color: black;\n}\n.ace_dark > .ace_mobile-menu {\n    background: #333;\n    color: #ccc;\n    box-shadow: 1px 3px 2px grey;\n    border: 1px solid #444;\n\n}\n.ace_mobile-button {\n    padding: 2px;\n    cursor: pointer;\n    overflow: hidden;\n}\n.ace_mobile-button:hover {\n    background-color: #eee;\n    opacity:1;\n}\n.ace_mobile-button:active {\n    background-color: #ddd;\n}\n\n.ace_placeholder {\n    position: relative;\n    font-family: arial;\n    transform: scale(0.9);\n    transform-origin: left;\n    white-space: pre;\n    opacity: 0.7;\n    margin: 0 10px;\n    z-index: 1;\n}\n\n.ace_ghost_text {\n    opacity: 0.5;\n    font-style: italic;\n}\n\n.ace_ghost_text_container > div {\n    white-space: pre;\n}\n\n.ghost_text_line_wrapped::after {\n    content: "↩";\n    position: absolute;\n}\n\n.ace_lineWidgetContainer.ace_ghost_text {\n    margin: 0px 4px\n}\n\n.ace_screenreader-only {\n    position:absolute;\n    left:-10000px;\n    top:auto;\n    width:1px;\n    height:1px;\n    overflow:hidden;\n}\n\n.ace_hidden_token {\n    display: none;\n}'})),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,i){"use strict";var n=e("../lib/dom"),o=e("../lib/oop"),a=e("../lib/event_emitter").EventEmitter,r=function(){function e(e,t){this.canvas=n.createElement("canvas"),this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.canvasHeight=e.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=e.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},e.element.appendChild(this.canvas)}return e.prototype.$updateDecorators=function(e){var t=!0===this.renderer.theme.isDark?this.colors.dark:this.colors.light;e&&(this.maxHeight=e.maxHeight,this.lineHeight=e.lineHeight,this.canvasHeight=e.height,(e.lastRow+1)*this.lineHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight);var i=this.canvas.getContext("2d"),n=this.renderer.session.$annotations;if(i.clearRect(0,0,this.canvas.width,this.canvas.height),n){var o={info:1,warning:2,error:3};n.forEach((function(e){e.priority=o[e.type]||null})),n=n.sort((function(e,t){return e.priority<t.priority?-1:e.priority>t.priority?1:0}));for(var a=this.renderer.session.$foldData,r=0;r<n.length;r++){var s=n[r].row,l=this.compensateFoldRows(s,a),c=Math.round((s-l)*this.lineHeight*this.heightRatio),d=Math.round((s-l)*this.lineHeight*this.heightRatio),h=Math.round(((s-l)*this.lineHeight+this.lineHeight)*this.heightRatio);if(h-d<this.minDecorationHeight){var f=(d+h)/2|0;f<this.halfMinDecorationHeight?f=this.halfMinDecorationHeight:f+this.halfMinDecorationHeight>this.canvasHeight&&(f=this.canvasHeight-this.halfMinDecorationHeight),d=Math.round(f-this.halfMinDecorationHeight),h=Math.round(f+this.halfMinDecorationHeight)}i.fillStyle=t[n[r].type]||null,i.fillRect(0,c,this.canvasWidth,h-d)}}var u=this.renderer.session.selection.getCursor();u&&(l=this.compensateFoldRows(u.row,a),c=Math.round((u.row-l)*this.lineHeight*this.heightRatio),i.fillStyle="rgba(0, 0, 0, 0.5)",i.fillRect(0,c,this.canvasWidth,2))},e.prototype.compensateFoldRows=function(e,t){var i=0;if(t&&t.length>0)for(var n=0;n<t.length;n++)e>t[n].start.row&&e<t[n].end.row?i+=e-t[n].start.row:e>=t[n].end.row&&(i+=t[n].end.row-t[n].start.row);return i},e}();o.implement(r.prototype,a),t.Decorator=r})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],(function(e,t,i){"use strict";var n=e("./lib/oop"),o=e("./lib/dom"),a=e("./lib/lang"),r=e("./config"),s=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,c=e("./layer/text").Text,d=e("./layer/cursor").Cursor,h=e("./scrollbar").HScrollBar,f=e("./scrollbar").VScrollBar,u=e("./scrollbar_custom").HScrollBar,p=e("./scrollbar_custom").VScrollBar,g=e("./renderloop").RenderLoop,m=e("./layer/font_metrics").FontMetrics,y=e("./lib/event_emitter").EventEmitter,v=e("./css/editor-css"),b=e("./layer/decorators").Decorator,w=e("./lib/useragent"),C=e("./layer/text_util").isTextToken;o.importCssString(v,"ace_editor.css",!1);var x=function(){function e(e,t){var i=this;this.container=e||o.createElement("div"),o.addCssClass(this.container,"ace_editor"),o.HI_DPI&&o.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),null==r.get("useStrictCSP")&&r.set("useStrictCSP",!1),this.$gutter=o.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=o.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=o.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content);var n=this.$textLayer=new c(this.content);this.canvas=n.element,this.$markerFront=new l(this.content),this.$cursorLayer=new d(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new f(this.container,this),this.scrollBarH=new h(this.container,this),this.scrollBarV.on("scroll",(function(e){i.$scrollAnimation||i.session.setScrollTop(e.data-i.scrollMargin.top)})),this.scrollBarH.on("scroll",(function(e){i.$scrollAnimation||i.session.setScrollLeft(e.data-i.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new m(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",(function(e){i.updateCharacterSize(),i.onResize(!0,i.gutterWidth,i.$size.width,i.$size.height),i._signal("changeCharacterSize",e)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!w.isIOS,this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),r.resetOptions(this),r._signal("renderer",this)}return e.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),o.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},e.prototype.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},e.prototype.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!i)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},e.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},e.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},e.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},e.prototype.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},e.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},e.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},e.prototype.onResize=function(e,t,i,n){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var o=this.container;n||(n=o.clientHeight||o.scrollHeight),!n&&this.$maxLines&&this.lineHeight>1&&(o.style.height&&"0px"!=o.style.height||(o.style.height="1px",n=o.clientHeight||o.scrollHeight)),i||(i=o.clientWidth||o.scrollWidth);var a=this.$updateCachedSize(e,t,i,n);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!i&&!n)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(a|this.$changes,!0):this.$loop.schedule(a|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},e.prototype.$updateCachedSize=function(e,t,i,n){n-=this.$extraHeight||0;var a=0,r=this.$size,s={width:r.width,height:r.height,scrollerHeight:r.scrollerHeight,scrollerWidth:r.scrollerWidth};if(n&&(e||r.height!=n)&&(r.height=n,a|=this.CHANGE_SIZE,r.scrollerHeight=r.height,this.$horizScroll&&(r.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(r.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",a|=this.CHANGE_SCROLL),i&&(e||r.width!=i)){a|=this.CHANGE_SIZE,r.width=i,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,o.setStyle(this.scrollBarH.element.style,"left",t+"px"),o.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),r.scrollerWidth=Math.max(0,i-t-this.scrollBarV.getWidth()-this.margin.h),o.setStyle(this.$gutter.style,"left",this.margin.left+"px");var l=this.scrollBarV.getWidth()+"px";o.setStyle(this.scrollBarH.element.style,"right",l),o.setStyle(this.scroller.style,"right",l),o.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(r.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(a|=this.CHANGE_FULL)}return r.$dirty=!i||!n,a&&this._signal("resize",s),a},e.prototype.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},e.prototype.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},e.prototype.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},e.prototype.getAnimatedScroll=function(){return this.$animatedScroll},e.prototype.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},e.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},e.prototype.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},e.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},e.prototype.setHighlightIndentGuides=function(e){this.setOption("highlightIndentGuides",e)},e.prototype.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},e.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},e.prototype.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},e.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},e.prototype.getShowGutter=function(){return this.getOption("showGutter")},e.prototype.setShowGutter=function(e){return this.setOption("showGutter",e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},e.prototype.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},e.prototype.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},e.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},e.prototype.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=o.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=o.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},e.prototype.getContainerElement=function(){return this.container},e.prototype.getMouseEventTarget=function(){return this.scroller},e.prototype.getTextAreaContainer=function(){return this.container},e.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var e=this.textarea.style,t=this.$composition;if(this.$keepTextAreaAtCursor||t){var i=this.$cursorLayer.$pixelPos;if(i){t&&t.markerRange&&(i=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var n=this.layerConfig,a=i.top,r=i.left;a-=n.offset;var s=t&&t.useTextareaForIME||w.isMobile?this.lineHeight:1;if(a<0||a>n.height-s)o.translate(this.textarea,0,0);else{var l=1,c=this.$size.height-s;if(t)if(t.useTextareaForIME){var d=this.textarea.value;l=this.characterWidth*this.session.$getStringScreenWidth(d)[0]}else a+=this.lineHeight+2;else a+=this.lineHeight;(r-=this.scrollLeft)>this.$size.scrollerWidth-l&&(r=this.$size.scrollerWidth-l),r+=this.gutterWidth+this.margin.left,o.setStyle(e,"height",s+"px"),o.setStyle(e,"width",l+"px"),o.translate(this.textarea,Math.min(r,this.$size.scrollerWidth-l),Math.min(a,c))}}}else o.translate(this.textarea,-100,0)}},e.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},e.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},e.prototype.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},e.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},e.prototype.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},e.prototype.setScrollMargin=function(e,t,i,n){var o=this.scrollMargin;o.top=0|e,o.bottom=0|t,o.right=0|n,o.left=0|i,o.v=o.top+o.bottom,o.h=o.left+o.right,o.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-o.top),this.updateFull()},e.prototype.setMargin=function(e,t,i,n){var o=this.margin;o.top=0|e,o.bottom=0|t,o.right=0|n,o.left=0|i,o.v=o.top+o.bottom,o.h=o.left+o.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},e.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},e.prototype.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},e.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},e.prototype.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},e.prototype.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},e.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},e.prototype.freeze=function(){this.$frozen=!0},e.prototype.unfreeze=function(){this.$frozen=!1},e.prototype.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var i=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),i.firstRow!=this.layerConfig.firstRow&&i.firstRowScreen==this.layerConfig.firstRowScreen){var n=this.scrollTop+(i.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;n>0&&(this.scrollTop=n,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}i=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),o.translate(this.content,-this.scrollLeft,-i.offset);var a=i.width+2*this.$padding+"px",r=i.minHeight+"px";o.setStyle(this.content.style,"width",a),o.setStyle(this.content.style,"height",r)}if(e&this.CHANGE_H_SCROLL&&(o.translate(this.content,-this.scrollLeft,-i.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),e&this.CHANGE_FULL)return this.$changedLines=null,this.$textLayer.update(i),this.$showGutter&&this.$gutterLayer.update(i),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(i),this.$markerBack.update(i),this.$markerFront.update(i),this.$cursorLayer.update(i),this.$moveTextAreaToCursor(),void this._signal("afterRender",e);if(e&this.CHANGE_SCROLL)return this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(i):this.$textLayer.scrollLines(i),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(i):this.$gutterLayer.scrollLines(i)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(i),this.$markerBack.update(i),this.$markerFront.update(i),this.$cursorLayer.update(i),this.$moveTextAreaToCursor(),void this._signal("afterRender",e);e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(i),this.$showGutter&&this.$gutterLayer.update(i),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(i)):e&this.CHANGE_LINES?((this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(i),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(i)):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(i),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(i)):e&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(i),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(i)),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(i),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(i),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(i),this._signal("afterRender",e)}else this.$changes|=e},e.prototype.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,i=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(i+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&i>this.$maxPixelHeight&&(i=this.$maxPixelHeight);var n=!(i<=2*this.lineHeight)&&e>t;if(i!=this.desiredHeight||this.$size.height!=this.desiredHeight||n!=this.$vScroll){n!=this.$vScroll&&(this.$vScroll=n,this.scrollBarV.setVisible(n));var o=this.container.clientWidth;this.container.style.height=i+"px",this.$updateCachedSize(!0,this.$gutterWidth,o,i),this.desiredHeight=i,this._signal("autosize")}},e.prototype.$computeLayerConfig=function(){var e=this.session,t=this.$size,i=t.height<=2*this.lineHeight,n=this.session.getScreenLength()*this.lineHeight,o=this.$getLongestLine(),a=!i&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-o-2*this.$padding<0),r=this.$horizScroll!==a;r&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var s=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),i=t.height<=2*this.lineHeight);var l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;n+=c;var d=this.scrollMargin;this.session.setScrollTop(Math.max(-d.top,Math.min(this.scrollTop,n-t.scrollerHeight+d.bottom))),this.session.setScrollLeft(Math.max(-d.left,Math.min(this.scrollLeft,o+2*this.$padding-t.scrollerWidth+d.right)));var h=!i&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-n+c<0||this.scrollTop>d.top),f=s!==h;f&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var u,p,g=this.scrollTop%this.lineHeight,m=Math.ceil(l/this.lineHeight)-1,y=Math.max(0,Math.round((this.scrollTop-g)/this.lineHeight)),v=y+m,b=this.lineHeight;y=e.screenToDocumentRow(y,0);var w=e.getFoldLine(y);w&&(y=w.start.row),u=e.documentToScreenRow(y,0),p=e.getRowLength(y)*b,v=Math.min(e.screenToDocumentRow(v,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(v)*b+p,g=this.scrollTop-u*b;var C=0;return(this.layerConfig.width!=o||r)&&(C=this.CHANGE_H_SCROLL),(r||f)&&(C|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),f&&(o=this.$getLongestLine())),this.layerConfig={width:o,padding:this.$padding,firstRow:y,firstRowScreen:u,lastRow:v,lineHeight:b,characterWidth:this.characterWidth,minHeight:l,maxHeight:n,offset:g,gutterOffset:b?Math.max(0,Math.ceil((g+t.height-t.scrollerHeight)/b)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(o-this.$padding),C},e.prototype.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var i=this.layerConfig;if(!(e>i.lastRow+1||t<i.firstRow))return t===1/0?(this.$showGutter&&this.$gutterLayer.update(i),void this.$textLayer.update(i)):(this.$textLayer.updateLines(i,e,t),!0)}},e.prototype.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},e.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},e.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},e.prototype.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},e.prototype.updateBreakpoints=function(e){this._rows=e,this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},e.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},e.prototype.showCursor=function(){this.$cursorLayer.showCursor()},e.prototype.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},e.prototype.scrollCursorIntoView=function(e,t,i){if(0!==this.$size.scrollerHeight){var n=this.$cursorLayer.getPixelPosition(e),o=n.left,a=n.top,r=i&&i.top||0,s=i&&i.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;l+r>a?(t&&l+r>a+this.lineHeight&&(a-=t*this.$size.scrollerHeight),0===a&&(a=-this.scrollMargin.top),this.session.setScrollTop(a)):l+this.$size.scrollerHeight-s<a+this.lineHeight&&(t&&l+this.$size.scrollerHeight-s<a-this.lineHeight&&(a+=t*this.$size.scrollerHeight),this.session.setScrollTop(a+this.lineHeight+s-this.$size.scrollerHeight));var c=this.scrollLeft,d=2*this.layerConfig.characterWidth;o-d<c?((o-=d)<this.$padding+d&&(o=-this.scrollMargin.left),this.session.setScrollLeft(o)):(o+=d,c+this.$size.scrollerWidth<o+this.characterWidth?this.session.setScrollLeft(Math.round(o+this.characterWidth-this.$size.scrollerWidth)):c<=this.$padding&&o-c<this.characterWidth&&this.session.setScrollLeft(0))}},e.prototype.getScrollTop=function(){return this.session.getScrollTop()},e.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},e.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},e.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},e.prototype.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},e.prototype.alignCursor=function(e,t){"number"==typeof e&&(e={row:e,column:0});var i=this.$cursorLayer.getPixelPosition(e),n=this.$size.scrollerHeight-this.lineHeight,o=i.top-n*(t||0);return this.session.setScrollTop(o),o},e.prototype.$calcSteps=function(e,t){var i,n,o=0,a=this.STEPS,r=[];for(o=0;o<a;++o)r.push((i=o/this.STEPS,n=e,(t-e)*(Math.pow(i-1,3)+1)+n));return r},e.prototype.scrollToLine=function(e,t,i,n){var o=this.$cursorLayer.getPixelPosition({row:e,column:0}).top;t&&(o-=this.$size.scrollerHeight/2);var a=this.scrollTop;this.session.setScrollTop(o),!1!==i&&this.animateScrolling(a,n)},e.prototype.animateScrolling=function(e,t){var i=this.scrollTop;if(this.$animatedScroll){var n=this;if(e!=i){if(this.$scrollAnimation){var o=this.$scrollAnimation.steps;if(o.length&&(e=o[0])==i)return}var a=n.$calcSteps(e,i);this.$scrollAnimation={from:e,to:i,steps:a},clearInterval(this.$timer),n.session.setScrollTop(a.shift()),n.session.$scrollTop=i,this.$timer=setInterval((function(){if(!n.$stopAnimation)return n.session?void(a.length?(n.session.setScrollTop(a.shift()),n.session.$scrollTop=i):null!=i?(n.session.$scrollTop=-1,n.session.setScrollTop(i),i=null):r()):clearInterval(n.$timer);r()}),10)}}function r(){n.$timer=clearInterval(n.$timer),n.$scrollAnimation=null,n.$stopAnimation=!1,t&&t()}},e.prototype.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},e.prototype.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},e.prototype.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(e)},e.prototype.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},e.prototype.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0},e.prototype.pixelToScreenCoordinates=function(e,t){var i;if(this.$hasCssTransforms){i={top:0,left:0};var n=this.$fontMetrics.transformCoordinates([e,t]);e=n[1]-this.gutterWidth-this.margin.left,t=n[0]}else i=this.scroller.getBoundingClientRect();var o=e+this.scrollLeft-i.left-this.$padding,a=o/this.characterWidth,r=Math.floor((t+this.scrollTop-i.top)/this.lineHeight),s=this.$blockCursor?Math.floor(a):Math.round(a);return{row:r,column:s,side:a-s>0?1:-1,offsetX:o}},e.prototype.screenToTextCoordinates=function(e,t){var i;if(this.$hasCssTransforms){i={top:0,left:0};var n=this.$fontMetrics.transformCoordinates([e,t]);e=n[1]-this.gutterWidth-this.margin.left,t=n[0]}else i=this.scroller.getBoundingClientRect();var o=e+this.scrollLeft-i.left-this.$padding,a=o/this.characterWidth,r=this.$blockCursor?Math.floor(a):Math.round(a),s=Math.floor((t+this.scrollTop-i.top)/this.lineHeight);return this.session.screenToDocumentPosition(s,Math.max(r,0),o)},e.prototype.textToScreenCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),n=this.session.documentToScreenPosition(e,t),o=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e)?this.session.$bidiHandler.getPosLeft(n.column):Math.round(n.column*this.characterWidth)),a=n.row*this.lineHeight;return{pageX:i.left+o-this.scrollLeft,pageY:i.top+a-this.scrollTop}},e.prototype.visualizeFocus=function(){o.addCssClass(this.container,"ace_focus")},e.prototype.visualizeBlur=function(){o.removeCssClass(this.container,"ace_focus")},e.prototype.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),null==e.useTextareaForIME&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(o.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},e.prototype.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},e.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),o.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},e.prototype.setGhostText=function(e,t){var i=this.session.selection.cursor,n=t||{row:i.row,column:i.column};this.removeGhostText();var a=this.$calculateWrappedTextChunks(e,n);this.addToken(a[0].text,"ghost_text",n.row,n.column),this.$ghostText={text:e,position:{row:n.row,column:n.column}};var r=o.createElement("div");if(a.length>1){var s,l=this.hideTokensAfterPosition(n.row,n.column);a.slice(1).forEach((function(e){var t=o.createElement("div"),i=o.createElement("span");i.className="ace_ghost_text",e.wrapped&&(t.className="ghost_text_line_wrapped"),0===e.text.length&&(e.text=" "),i.appendChild(o.createTextNode(e.text)),t.appendChild(i),r.appendChild(t),s=t})),l.forEach((function(e){var t=o.createElement("span");C(e.type)||(t.className="ace_"+e.type.replace(/\./g," ace_")),t.appendChild(o.createTextNode(e.value)),s.appendChild(t)})),this.$ghostTextWidget={el:r,row:n.row,column:n.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var c=this.$cursorLayer.getPixelPosition(n,!0),d=this.container.getBoundingClientRect().height,h=a.length*this.lineHeight;if(h<d-c.top)return;h<d?this.scrollBy(0,(a.length-1)*this.lineHeight):this.scrollToRow(n.row)}},e.prototype.$calculateWrappedTextChunks=function(e,t){var i=this.$size.scrollerWidth-2*this.$padding,n=Math.floor(i/this.characterWidth)-2;n=n<=0?60:n;for(var o=e.split(/\r?\n/),a=[],r=0;r<o.length;r++){var s=this.session.$getDisplayTokens(o[r],t.column),l=this.session.$computeWrapSplits(s,n,this.session.$tabSize);if(l.length>0){var c=0;l.push(o[r].length);for(var d=0;d<l.length;d++){var h=o[r].slice(c,l[d]);a.push({text:h,wrapped:!0}),c=l[d]}}else a.push({text:o[r],wrapped:!1})}return a},e.prototype.removeGhostText=function(){if(this.$ghostText){var e=this.$ghostText.position;this.removeExtraToken(e.row,e.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},e.prototype.addToken=function(e,t,i,n){var o=this.session;o.bgTokenizer.lines[i]=null;var a={type:t,value:e},r=o.getTokens(i);if(null!=n&&r.length)for(var s=0,l=0;l<r.length;l++){var c=r[l];if(n<=(s+=c.value.length)){var d=c.value.length-(s-n),h=c.value.slice(0,d),f=c.value.slice(d);r.splice(l,1,{type:c.type,value:h},a,{type:c.type,value:f});break}}else r.push(a);this.updateLines(i,i)},e.prototype.hideTokensAfterPosition=function(e,t){for(var i=this.session.getTokens(e),n=0,o=!1,a=[],r=0;r<i.length;r++){var s=i[r];n+=s.value.length,"ghost_text"!==s.type&&(o?(a.push({type:s.type,value:s.value}),s.type="hidden_token"):n===t&&(o=!0))}return this.updateLines(e,e),a},e.prototype.removeExtraToken=function(e,t){this.session.bgTokenizer.lines[e]=null,this.updateLines(e,e)},e.prototype.setTheme=function(e,t){var i=this;if(this.$themeId=e,i._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)a(e);else{var n=e||this.$options.theme.initialValue;r.loadModule(["theme",n],a)}function a(n){if(i.$themeId!=e)return t&&t();if(!n||!n.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");n.$id&&(i.$themeId=n.$id),o.importCssString(n.cssText,n.cssClass,i.container),i.theme&&o.removeCssClass(i.container,i.theme.cssClass);var a="padding"in n?n.padding:"padding"in(i.theme||{})?4:i.$padding;i.$padding&&a!=i.$padding&&i.setPadding(a),i.$theme=n.cssClass,i.theme=n,o.addCssClass(i.container,n.cssClass),o.setCssClass(i.container,"ace_dark",n.isDark),i.$size&&(i.$size.width=0,i.$updateSizeAsync()),i._dispatchEvent("themeLoaded",{theme:n}),t&&t(),w.isSafari&&i.scroller&&(i.scroller.style.background="red",i.scroller.style.background="")}},e.prototype.getTheme=function(){return this.$themeId},e.prototype.setStyle=function(e,t){o.setCssClass(this.container,e,!1!==t)},e.prototype.unsetStyle=function(e){o.removeCssClass(this.container,e)},e.prototype.setCursorStyle=function(e){o.setStyle(this.scroller.style,"cursor",e)},e.prototype.setMouseCursor=function(e){o.setStyle(this.scroller.style,"cursor",e)},e.prototype.attachToShadowRoot=function(){o.importCssString(v,"ace_editor.css",this.container)},e.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},e.prototype.$updateCustomScrollbar=function(e){var t=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,!0===e?(this.scrollBarV=new p(this.container,this),this.scrollBarH=new u(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",(function(e){t.$scrollAnimation||t.session.setScrollTop(e.data-t.scrollMargin.top)})),this.scrollBarH.addEventListener("scroll",(function(e){t.$scrollAnimation||t.session.setScrollLeft(e.data-t.scrollMargin.left)})),this.$scrollDecorator=new b(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new f(this.container,this),this.scrollBarH=new h(this.container,this),this.scrollBarV.addEventListener("scroll",(function(e){t.$scrollAnimation||t.session.setScrollTop(e.data-t.scrollMargin.top)})),this.scrollBarH.addEventListener("scroll",(function(e){t.$scrollAnimation||t.session.setScrollLeft(e.data-t.scrollMargin.left)})))},e.prototype.$addResizeObserver=function(){if(window.ResizeObserver&&!this.$resizeObserver){var e=this;this.$resizeTimer=a.delayedCall((function(){e.destroyed||e.onResize()}),50),this.$resizeObserver=new window.ResizeObserver((function(t){var i=t[0].contentRect.width,n=t[0].contentRect.height;Math.abs(e.$size.width-i)>1||Math.abs(e.$size.height-n)>1?e.$resizeTimer.delay():e.$resizeTimer.cancel()})),this.$resizeObserver.observe(this.container)}},e}();x.prototype.CHANGE_CURSOR=1,x.prototype.CHANGE_MARKER=2,x.prototype.CHANGE_GUTTER=4,x.prototype.CHANGE_SCROLL=8,x.prototype.CHANGE_LINES=16,x.prototype.CHANGE_TEXT=32,x.prototype.CHANGE_SIZE=64,x.prototype.CHANGE_MARKER_BACK=128,x.prototype.CHANGE_MARKER_FRONT=256,x.prototype.CHANGE_FULL=512,x.prototype.CHANGE_H_SCROLL=1024,x.prototype.$changes=0,x.prototype.$padding=null,x.prototype.$frozen=!1,x.prototype.STEPS=8,n.implement(x.prototype,y),r.defineOptions(x.prototype,"renderer",{useResizeObserver:{set:function(e){!e&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):e&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(e){this.$gutterLayer.$useSvgGutterIcons=e},initialValue:!1},showFoldedAnnotations:{set:function(e){this.$gutterLayer.$showFoldedAnnotations=e},initialValue:!1},fadeFoldWidgets:{set:function(e){o.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(e){1==this.$textLayer.setHighlightIndentGuides(e)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(e){this.$updateCustomScrollbar(e)},initialValue:!1},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!w.isMobile&&!w.isIE}}),t.VirtualRenderer=x})),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],(function(e,t,i){"use strict";var n=e("../lib/oop"),o=e("../lib/net"),a=e("../lib/event_emitter").EventEmitter,r=e("../config");function s(e){if("undefined"==typeof Worker)return{postMessage:function(){},terminate:function(){}};if(r.get("loadWorkerFromBlob")){var t=function(e){var t="importScripts('"+o.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var i=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return i.append(t),i.getBlob("application/javascript")}}(e),i=(window.URL||window.webkitURL).createObjectURL(t);return new Worker(i)}return new Worker(e)}var l=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){n.implement(this,a),this.$createWorkerFromOldConfig=function(t,i,n,o,a){if(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),r.get("packaged")||!e.toUrl)o=o||r.moduleUrl(i,"worker");else{var l=this.$normalizePath;o=o||l(e.toUrl("ace/worker/worker.js",null,"_"));var c={};t.forEach((function(t){c[t]=l(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))}))}return this.$worker=s(o),a&&this.send("importScripts",a),this.$worker.postMessage({init:!0,tlns:c,module:i,classname:n}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var i=this.callbacks[t.id];i&&(i(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return o.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(e){e.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,i){if(i){var n=this.callbackId++;this.callbacks[n]=i,t.push(n)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(l.prototype),t.UIWorkerClient=function(e,t,i){var n=null,o=!1,s=Object.create(a),c=[],d=new l({messageBuffer:c,terminate:function(){},postMessage:function(e){c.push(e),n&&(o?setTimeout(h):h())}});d.setEmitSync=function(e){o=e};var h=function(){var e=c.shift();e.command?n[e.command].apply(n,e.args):e.event&&s._signal(e.event,e.data)};return s.postMessage=function(e){d.onMessage({data:e})},s.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},s.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},r.loadModule(["worker",t],(function(e){for(n=new e[i](s);c.length;)h()})),d},t.WorkerClient=l,t.createWorker=s})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(e,t,i){"use strict";var n=e("./range").Range,o=e("./lib/event_emitter").EventEmitter,a=e("./lib/oop"),r=function(){function e(e,t,i,n,o,a){var r=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=o,this.othersClass=a,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=n,this.$onCursorChange=function(){setTimeout((function(){r.onCursorChange()}))},this.$pos=i;var s=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=s.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}return e.prototype.setup=function(){var e=this,t=this.doc,i=this.session;this.selectionBefore=i.selection.toJSON(),i.selection.inMultiSelectMode&&i.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var o=this.pos;o.$insertRight=!0,o.detach(),o.markerId=i.addMarker(new n(o.row,o.column,o.row,o.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(i){var n=t.createAnchor(i.row,i.column);n.$insertRight=!0,n.detach(),e.others.push(n)})),i.setUndoSelect(!1)},e.prototype.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach((function(i){i.markerId=e.addMarker(new n(i.row,i.column,i.row,i.column+t.length),t.othersClass,null,!1)}))}},e.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},e.prototype.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var i="insert"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,o=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,a=t.start.column-this.pos.column;if(this.updateAnchors(e),o&&(this.length+=i),o&&!this.session.$fromUndo)if("insert"===e.action)for(var r=this.others.length-1;r>=0;r--){var s={row:(l=this.others[r]).row,column:l.column+a};this.doc.insertMergedLines(s,e.lines)}else if("remove"===e.action)for(r=this.others.length-1;r>=0;r--){var l;s={row:(l=this.others[r]).row,column:l.column+a},this.doc.remove(new n(s.row,s.column,s.row,s.column-i))}this.$updating=!1,this.updateMarkers()}},e.prototype.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},e.prototype.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,i=function(i,o){t.removeMarker(i.markerId),i.markerId=t.addMarker(new n(i.row,i.column,i.row,i.column+e.length),o,null,!1)};i(this.pos,this.mainClass);for(var o=this.others.length;o--;)i(this.others[o],this.othersClass)}},e.prototype.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},e.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},e.prototype.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;i<t;i++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},e}();a.implement(r.prototype,o),t.PlaceHolder=r})),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(e,t,i){var n=e("../lib/event"),o=e("../lib/useragent");function a(e,t){return e.row==t.row&&e.column==t.column}t.onMouseDown=function(e){var t=e.domEvent,i=t.altKey,r=t.shiftKey,s=t.ctrlKey,l=e.getAccelKey(),c=e.getButton();if(s&&o.isMac&&(c=t.button),e.editor.inMultiSelectMode&&2==c)e.editor.textInput.onContextMenu(e.domEvent);else if(s||i||l){if(0===c){var d,h=e.editor,f=h.selection,u=h.inMultiSelectMode,p=e.getDocumentPosition(),g=f.getCursor(),m=e.inSelection()||f.isEmpty()&&a(p,g),y=e.x,v=e.y,b=h.session,w=h.renderer.pixelToScreenCoordinates(y,v),C=w;if(h.$mouseHandler.$enableJumpToDef)s&&i||l&&i?d=r?"block":"add":i&&h.$blockSelectEnabled&&(d="block");else if(l&&!i){if(d="add",!u&&r)return}else i&&h.$blockSelectEnabled&&(d="block");if(d&&o.isMac&&t.ctrlKey&&h.$mouseHandler.cancelContextMenu(),"add"==d){if(!u&&m)return;if(!u){var x=f.toOrientedRange();h.addSelectionMarker(x)}var S=f.rangeList.rangeAtPoint(p);h.inVirtualSelectionMode=!0,r&&(S=null,x=f.ranges[0]||x,h.removeSelectionMarker(x)),h.once("mouseup",(function(){var e=f.toOrientedRange();S&&e.isEmpty()&&a(S.cursor,e.cursor)?f.substractPoint(e.cursor):(r?f.substractPoint(x.cursor):x&&(h.removeSelectionMarker(x),f.addRange(x)),f.addRange(e)),h.inVirtualSelectionMode=!1}))}else if("block"==d){var k;e.stop(),h.inVirtualSelectionMode=!0;var $=[],_=function(){var e=h.renderer.pixelToScreenCoordinates(y,v),t=b.screenToDocumentPosition(e.row,e.column,e.offsetX);a(C,e)&&a(t,f.lead)||(C=e,h.selection.moveToPosition(t),h.renderer.scrollCursorIntoView(),h.removeSelectionMarkers($),$=f.rectangularRangeBlock(C,w),h.$mouseHandler.$clickSelection&&1==$.length&&$[0].isEmpty()&&($[0]=h.$mouseHandler.$clickSelection.clone()),$.forEach(h.addSelectionMarker,h),h.updateSelectionMarkers())};u&&!l?f.toSingleRange():!u&&l&&(k=f.toOrientedRange(),h.addSelectionMarker(k)),r?w=b.documentToScreenPosition(f.lead):f.moveToPosition(p),C={row:-1,column:-1};var M=_;n.capture(h.container,(function(e){y=e.clientX,v=e.clientY}),(function(e){_(),clearInterval(A),h.removeSelectionMarkers($),$.length||($=[f.toOrientedRange()]),k&&(h.removeSelectionMarker(k),f.toSingleRange(k));for(var t=0;t<$.length;t++)f.addRange($[t]);h.inVirtualSelectionMode=!1,h.$mouseHandler.$clickSelection=null}));var A=setInterval((function(){M()}),20);return e.preventDefault()}}}else 0===c&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode()}})),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],(function(e,t,i){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(e){e.multiSelect.rangeCount>1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var n=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new n(t.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(e,t,i){var n=e("./range_list").RangeList,o=e("./range").Range,a=e("./selection").Selection,r=e("./mouse/multi_select_handler").onMouseDown,s=e("./lib/event"),l=e("./lib/lang"),c=e("./commands/multi_select_commands");t.commands=c.defaultCommands.concat(c.multiSelectCommands);var d=new(0,e("./search").Search),h=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(h.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var i=this.toOrientedRange();if(this.rangeList.add(i),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(i),this.$onAddRange(i)}e.cursor||(e.cursor=e.end);var n=this.rangeList.add(e);return this.$onAddRange(e),n.length&&this.$onRemoveRange(n),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var i=e.length;i--;){var n=this.ranges.indexOf(e[i]);this.ranges.splice(n,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new n,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var e=this.ranges.length?this.ranges:[this.getRange()],t=[],i=0;i<e.length;i++){var n=e[i],a=n.start.row,r=n.end.row;if(a===r)t.push(n.clone());else{for(t.push(new o(a,n.start.column,a,this.session.getLine(a).length));++a<r;)t.push(this.getLineRange(a,!0));t.push(new o(r,0,r,n.end.column))}0!=i||this.isBackwards()||(t=t.reverse())}for(this.toSingleRange(),i=t.length;i--;)this.addRange(t[i])},this.joinSelections=function(){var e=this.rangeList.ranges,t=e[e.length-1],i=o.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(i,t.cursor==t.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],i=o.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(i,t.cursor==t.start)}else{var n=this.session.documentToScreenPosition(this.cursor),a=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(n,a).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,i){var n=[],a=e.column<t.column;if(a)var r=e.column,s=t.column,l=e.offsetX,c=t.offsetX;else r=t.column,s=e.column,l=t.offsetX,c=e.offsetX;var d,h,f,u=e.row<t.row;if(u)var p=e.row,g=t.row;else p=t.row,g=e.row;r<0&&(r=0),p<0&&(p=0),p==g&&(i=!0);for(var m=p;m<=g;m++){var y=o.fromPoints(this.session.screenToDocumentPosition(m,r,l),this.session.screenToDocumentPosition(m,s,c));if(y.isEmpty()){if(d&&(f=d,(h=y.end).row==f.row&&h.column==f.column))break;d=y.end}y.cursor=a?y.start:y.end,n.push(y)}if(u&&n.reverse(),!i){for(var v=n.length-1;n[v].isEmpty()&&v>0;)v--;if(v>0)for(var b=0;n[b].isEmpty();)b++;for(var w=v;w>=b;w--)n[w].isEmpty()&&n.splice(w,1)}return n}}.call(a.prototype);var f=e("./editor").Editor;function u(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",r),e.commands.addCommands(c.defaultCommands),function(e){if(e.textInput){var t=e.textInput.getElement(),i=!1;s.addListener(t,"keydown",(function(t){var o=18==t.keyCode&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&o?i||(e.renderer.setMouseCursor("crosshair"),i=!0):i&&n()}),e),s.addListener(t,"keyup",n,e),s.addListener(t,"blur",n,e)}function n(t){i&&(e.renderer.setMouseCursor(""),i=!1)}}(e))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,i=e.length;i--;){var n=e[i];if(n.marker){this.session.removeMarker(n.marker);var o=t.indexOf(n);-1!=o&&t.splice(o,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(c.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(c.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,i=e.editor;if(i.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?n=i.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?n=i.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(i.exitMultiSelectMode(),n=t.exec(i,e.args||{})):n=t.multiSelectAction(i,e.args||{});else{var n=t.exec(i,e.args||{});i.multiSelect.addRange(i.multiSelect.toOrientedRange()),i.multiSelect.mergeOverlappingRanges()}return n}},this.forEachSelection=function(e,t,i){if(!this.inVirtualSelectionMode){var n,o=i&&i.keepOrder,r=1==i||i&&i.$byLines,s=this.session,l=this.selection,c=l.rangeList,d=(o?l:c).ranges;if(!d.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var h=l._eventRegistry;l._eventRegistry={};var f=new a(s);this.inVirtualSelectionMode=!0;for(var u=d.length;u--;){if(r)for(;u>0&&d[u].start.row==d[u-1].end.row;)u--;f.fromOrientedRange(d[u]),f.index=u,this.selection=s.selection=f;var p=e.exec?e.exec(this,t||{}):e(this,t||{});n||void 0===p||(n=p),f.toOrientedRange(d[u])}f.detach(),this.selection=s.selection=l,this.inVirtualSelectionMode=!1,l._eventRegistry=h,l.mergeOverlappingRanges(),l.ranges[0]&&l.fromOrientedRange(l.ranges[0]);var g=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),g&&g.from==g.to&&this.renderer.animateScrolling(g.from),n}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,i=[],n=0;n<t.length;n++)i.push(this.session.getTextRange(t[n]));var o=this.session.getDocument().getNewLineCharacter();(e=i.join(o)).length==(i.length-1)*o.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var i=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var n=t==this.multiSelect.anchor?i.cursor==i.start?i.end:i.start:i.cursor;n.row!=t.row||this.session.$clipPositionToDocument(n.row,n.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(e,t,i){if((t=t||{}).needle=e||t.needle,null==t.needle){var n=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(n)}this.$search.set(t);var o=this.$search.findAll(this.session);if(!o.length)return 0;var a=this.multiSelect;i||a.toSingleRange(o[0]);for(var r=o.length;r--;)a.addRange(o[r],!0);return n&&a.rangeList.rangeAtPoint(n.start)&&a.addRange(n,!0),o.length},this.selectMoreLines=function(e,t){var i=this.selection.toOrientedRange(),n=i.cursor==i.end,a=this.session.documentToScreenPosition(i.cursor);this.selection.$desiredColumn&&(a.column=this.selection.$desiredColumn);var r,s=this.session.screenToDocumentPosition(a.row+e,a.column);if(i.isEmpty())c=s;else var l=this.session.documentToScreenPosition(n?i.end:i.start),c=this.session.screenToDocumentPosition(l.row+e,l.column);if(n?(r=o.fromPoints(s,c)).cursor=r.start:(r=o.fromPoints(c,s)).cursor=r.end,r.desiredColumn=a.column,this.selection.inMultiSelectMode){if(t)var d=i.cursor}else this.selection.addRange(i);this.selection.addRange(r),d&&this.selection.substractPoint(d)},this.transposeSelections=function(e){for(var t=this.session,i=t.multiSelect,n=i.ranges,o=n.length;o--;)if((s=n[o]).isEmpty()){var a=t.getWordRange(s.start.row,s.start.column);s.start.row=a.start.row,s.start.column=a.start.column,s.end.row=a.end.row,s.end.column=a.end.column}i.mergeOverlappingRanges();var r=[];for(o=n.length;o--;){var s=n[o];r.unshift(t.getTextRange(s))}for(e<0?r.unshift(r.pop()):r.push(r.shift()),o=n.length;o--;){var l=(s=n[o]).clone();t.replace(s,r[o]),s.start.row=l.start.row,s.start.column=l.start.column}i.fromOrientedRange(i.ranges[0])},this.selectMore=function(e,t,i){var n=this.session,o=n.multiSelect.toOrientedRange();if(!o.isEmpty()||((o=n.getWordRange(o.start.row,o.start.column)).cursor=-1==e?o.start:o.end,this.multiSelect.addRange(o),!i)){var a=n.getTextRange(o),r=function(e,t,i){return d.$options.wrap=!0,d.$options.needle=t,d.$options.backwards=-1==i,d.find(e)}(n,a,e);r&&(r.cursor=-1==e?r.start:r.end,this.session.unfold(r),this.multiSelect.addRange(r),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(o.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,i=t.ranges,n=-1,a=i.filter((function(e){if(e.cursor.row==n)return!0;n=e.cursor.row}));if(i.length&&a.length!=i.length-1){a.forEach((function(e){t.substractPoint(e.cursor)}));var r=0,s=1/0,c=i.map((function(t){var i=t.cursor,n=e.getLine(i.row).substr(i.column).search(/\S/g);return-1==n&&(n=0),i.column>r&&(r=i.column),n<s&&(s=n),n}));i.forEach((function(t,i){var n=t.cursor,a=r-n.column,d=c[i]-s;a>d?e.insert(n,l.stringRepeat(" ",a-d)):e.remove(new o(n.row,n.column,n.row,n.column-a+d)),t.start.column=t.end.column=r,t.start.row=t.end.row=n.row,t.cursor=t.end})),t.fromOrientedRange(i[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var d=this.selection.getRange(),h=d.start.row,f=d.end.row,u=h==f;if(u){var p,g=this.session.getLength();do{p=this.session.getLine(f)}while(/[=:]/.test(p)&&++f<g);do{p=this.session.getLine(h)}while(/[=:]/.test(p)&&--h>0);h<0&&(h=0),f>=g&&(f=g-1)}var m=this.session.removeFullLines(h,f);m=this.$reAlignText(m,u),this.session.insert({row:h,column:0},m.join("\n")+"\n"),u||(d.start.column=0,d.end.column=m[m.length-1].length),this.selection.setRange(d)}},this.$reAlignText=function(e,t){var i,n,o,a=!0,r=!0;return e.map((function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?null==i?(i=t[1].length,n=t[2].length,o=t[3].length,t):(i+n+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(a=!1),i>t[1].length&&(i=t[1].length),n<t[2].length&&(n=t[2].length),o>t[3].length&&(o=t[3].length),t):[e]})).map(t?c:a?r?function(e){return e[2]?s(i+n-e[2].length)+e[2]+s(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:c:function(e){return e[2]?s(i)+e[2]+s(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function s(e){return l.stringRepeat(" ",e)}function c(e){return e[2]?s(i)+e[2]+s(n-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}).call(f.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var i=e.oldSession;i&&(i.multiSelect.off("addRange",this.$onAddRange),i.multiSelect.off("removeRange",this.$onRemoveRange),i.multiSelect.off("multiSelect",this.$onMultiSelect),i.multiSelect.off("singleSelect",this.$onSingleSelect),i.multiSelect.lead.off("change",this.$checkMultiselectChange),i.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=u,e("./config").defineOptions(f.prototype,"editor",{enableMultiselect:{set:function(e){u(this),e?this.on("mousedown",r):this.off("mousedown",r)},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(e,t,i){"use strict";var n=e("../../range").Range,o=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);return this.foldingStartMarker.test(n)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(n)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,t,i){var o=/\S/,a=e.getLine(t),r=a.search(o);if(-1!=r){for(var s=i||a.length,l=e.getLength(),c=t,d=t;++t<l;){var h=e.getLine(t).search(o);if(-1!=h){if(h<=r){var f=e.getTokenAt(t,0);if(!f||"string"!==f.type)break}d=t}}if(d>c){var u=e.getLine(d).length;return new n(c,s,d,u)}}},this.openingBracketBlock=function(e,t,i,o,a){var r={row:i,column:o+1},s=e.$findClosingBracket(t,r,a);if(s){var l=e.foldWidgets[s.row];return null==l&&(l=e.getFoldWidget(s.row)),"start"==l&&s.row>r.row&&(s.row--,s.column=e.getLine(s.row).length),n.fromPoints(r,s)}},this.closingBracketBlock=function(e,t,i,o,a){var r={row:i,column:o},s=e.$findOpeningBracket(t,r);if(s)return s.column++,r.column--,n.fromPoints(s,r)}}).call(o.prototype)})),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],(function(e,t,i){"use strict";var n=e("../lib/dom"),o=e("../range").Range,a=e("../config").nls;t.showErrorMarker=function(e,t){var i=e.session,r=e.getCursorPosition(),s=r.row,l=i.widgetManager.getWidgetsAtRow(s).filter((function(e){return"errorMarker"==e.type}))[0];l?l.destroy():s-=t;var c,d=function(e,t,i){var n=e.getAnnotations().sort(o.comparePoints);if(n.length){var a=function(e,t,i){for(var n=0,o=e.length-1;n<=o;){var a=n+o>>1,r=i(t,e[a]);if(r>0)n=a+1;else{if(!(r<0))return a;o=a-1}}return-(n+1)}(n,{row:t,column:-1},o.comparePoints);a<0&&(a=-a-1),a>=n.length?a=i>0?0:n.length-1:0===a&&i<0&&(a=n.length-1);var r=n[a];if(r&&i){if(r.row===t){do{r=n[a+=i]}while(r&&r.row===t);if(!r)return n.slice()}var s=[];t=r.row;do{s[i<0?"unshift":"push"](r),r=n[a+=i]}while(r&&r.row==t);return s.length&&s}}}(i,s,t);if(d){var h=d[0];r.column=(h.pos&&"number"!=typeof h.column?h.pos.sc:h.column)||0,r.row=h.row,c=e.renderer.$gutterLayer.$annotations[r.row]}else{if(l)return;c={displayText:[a("error-marker.good-state","Looks good!")],className:"ace_ok"}}e.session.unfold(r.row),e.selection.moveToPosition(r);var f={row:r.row,fixedWidth:!0,coverGutter:!0,el:n.createElement("div"),type:"errorMarker"},u=f.el.appendChild(n.createElement("div")),p=f.el.appendChild(n.createElement("div"));p.className="error_widget_arrow "+c.className;var g=e.renderer.$cursorLayer.getPixelPosition(r).left;p.style.left=g+e.renderer.gutterWidth-5+"px",f.el.className="error_widget_wrapper",u.className="error_widget "+c.className,c.displayText.forEach((function(e,t){u.appendChild(n.createTextNode(e)),t<c.displayText.length-1&&u.appendChild(n.createElement("br"))})),u.appendChild(n.createElement("div"));var m=function(e,t,i){if(0===t&&("esc"===i||"return"===i))return f.destroy(),{command:"null"}};f.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(m),i.widgetManager.removeLineWidget(f),e.off("changeSelection",f.destroy),e.off("changeSession",f.destroy),e.off("mouseup",f.destroy),e.off("change",f.destroy))},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",f.destroy),e.on("changeSession",f.destroy),e.on("mouseup",f.destroy),e.on("change",f.destroy),e.session.widgetManager.addLineWidget(f),f.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:f.el.offsetHeight})},n.importCssString("\n    .error_widget_wrapper {\n        background: inherit;\n        color: inherit;\n        border:none\n    }\n    .error_widget {\n        border-top: solid 2px;\n        border-bottom: solid 2px;\n        margin: 5px 0;\n        padding: 10px 40px;\n        white-space: pre-wrap;\n    }\n    .error_widget.ace_error, .error_widget_arrow.ace_error{\n        border-color: #ff5a5a\n    }\n    .error_widget.ace_warning, .error_widget_arrow.ace_warning{\n        border-color: #F1D817\n    }\n    .error_widget.ace_info, .error_widget_arrow.ace_info{\n        border-color: #5a5a5a\n    }\n    .error_widget.ace_ok, .error_widget_arrow.ace_ok{\n        border-color: #5aaa5a\n    }\n    .error_widget_arrow {\n        position: absolute;\n        border: solid 5px;\n        border-top-color: transparent!important;\n        border-right-color: transparent!important;\n        border-left-color: transparent!important;\n        top: -5px;\n    }\n","error_marker.css",!1)})),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],(function(e,t,i){"use strict";e("./loader_build")(t);var n=e("./lib/dom"),o=e("./range").Range,a=e("./editor").Editor,r=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,l=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.edit=function(e,i){if("string"==typeof e){var o=e;if(!(e=document.getElementById(o)))throw new Error("ace.edit can't find div #"+o)}if(e&&e.env&&e.env.editor instanceof a)return e.env.editor;var r="";if(e&&/input|textarea/i.test(e.tagName)){var s=e;r=s.value,e=n.createElement("pre"),s.parentNode.replaceChild(e,s)}else e&&(r=e.textContent,e.innerHTML="");var c=t.createEditSession(r),d=new a(new l(e),c,i),h={document:c,editor:d,onResize:d.resize.bind(d,null)};return s&&(h.textarea=s),d.on("destroy",(function(){h.editor.container.env=null})),d.container.env=d.env=h,d},t.createEditSession=function(e,t){var i=new r(e,t);return i.setUndoManager(new s),i},t.Range=o,t.Editor=a,t.EditSession=r,t.UndoManager=s,t.VirtualRenderer=l;var c=t.config.version;t.version=c})),ace.require(["ace/ace"],(function(t){t&&(t.config.init(!0),t.define=ace.define);var i=function(){return this}();for(var n in i||"undefined"==typeof window||(i=window),i||"undefined"==typeof self||(i=self),i.ace||(i.ace=t),t)t.hasOwnProperty(n)&&(i.ace[n]=t[n]);i.ace.default=i.ace,e&&(e.exports=i.ace)}))},997:(e,t,i)=>{e=i.nmd(e),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(e,t,i){"use strict";var n=e("../lib/oop"),o=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),a=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",r=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",c=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",d=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",f=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",u=function(){var e=this.createKeywordMapper({"support.function":r,"support.constant":s,"support.type":a,"support.constant.color":l,"support.constant.fonts":c},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:d},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+d+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:d},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:f},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};n.inherits(u,o),t.CssHighlightRules=u})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(e,t,i){"use strict";var n=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var i=e.getLine(t).match(/^(\s*\})/);if(!i)return 0;var o=i[1].length,a=e.findMatchingBracket({row:t,column:o});if(!a||a.row==t)return 0;var r=this.$getIndent(e.getLine(a.row));e.replace(new n(t,0,t,o-1),r)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o})),ace.define("ace/mode/css_completions",["require","exports","module"],(function(e,t,i){"use strict";var n={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},o=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e)if("string"==typeof e[t]){var i=t.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}));n.hasOwnProperty(i)||(n[i]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,i,n){if(this.completionsDefined||this.defineCompletions(),"ruleset"===e||"ace/mode/scss"==t.$mode.$id){var o=t.getLine(i.row).substr(0,i.column),a=/\([^)]*$/.test(o);return a&&(o=o.substr(o.lastIndexOf("(")+1)),/:[^;]+$/.test(o)?(/([\w\-]+):[^:]*$/.test(o),this.getPropertyValueCompletions(e,t,i,n)):this.getPropertyCompletions(e,t,i,n,a)}return[]},this.getPropertyCompletions=function(e,t,i,o,a){return a=a||!1,Object.keys(n).map((function(e){return{caption:e,snippet:e+": $0"+(a?"":";"),meta:"property",score:1e6}}))},this.getPropertyValueCompletions=function(e,t,i,o){var a=t.getLine(i.row).substr(0,i.column),r=(/([\w\-]+):[^:]*$/.exec(a)||{})[1];if(!r)return[];var s=[];return r in n&&"object"==typeof n[r]&&(s=Object.keys(n[r])),s.map((function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}}))}}).call(o.prototype),t.CssCompletions=o})),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],(function(e,t,i){"use strict";var n=e("../../lib/oop"),o=(e("../behaviour").Behaviour,e("./cstyle").CstyleBehaviour),a=e("../../token_iterator").TokenIterator,r=function(){this.inherit(o),this.add("colon","insertion",(function(e,t,i,n,o){if(":"===o&&i.selection.isEmpty()){var r=i.getCursorPosition(),s=new a(n,r.row,r.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&"support.type"===l.type){var c=n.doc.getLine(r.row);if(":"===c.substring(r.column,r.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(c.substring(r.column)))return{text:":;",selection:[1,1]}}}})),this.add("colon","deletion",(function(e,t,i,n,o){var r=n.doc.getTextRange(o);if(!o.isMultiLine()&&":"===r){var s=i.getCursorPosition(),l=new a(n,s.row,s.column),c=l.getCurrentToken();if(c&&c.value.match(/\s+/)&&(c=l.stepBackward()),c&&"support.type"===c.type&&";"===n.doc.getLine(o.start.row).substring(o.end.column,o.end.column+1))return o.end.column++,o}})),this.add("semicolon","insertion",(function(e,t,i,n,o){if(";"===o&&i.selection.isEmpty()){var a=i.getCursorPosition();if(";"===n.doc.getLine(a.row).substring(a.column,a.column+1))return{text:"",selection:[1,1]}}})),this.add("!important","insertion",(function(e,t,i,n,o){if("!"===o&&i.selection.isEmpty()){var a=i.getCursorPosition(),r=n.doc.getLine(a.row);if(/^\s*(;|}|$)/.test(r.substring(a.column)))return{text:"!important",selection:[10,10]}}}))};n.inherits(r,o),t.CssBehaviour=r})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(e,t,i){"use strict";var n=e("../../lib/oop"),o=e("../../range").Range,a=e("./fold_mode").FoldMode,r=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};n.inherits(r,a),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var o=this._getFoldWidgetBase(e,t,i);return!o&&this.startRegionRe.test(n)?"start":o},this.getFoldWidgetRange=function(e,t,i,n){var o,a=e.getLine(i);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,i);if(o=a.match(this.foldingStartMarker)){var r=o.index;if(o[1])return this.openingBracketBlock(e,o[1],i,r);var s=e.getCommentFoldRange(i,r+o[0].length,1);return s&&!s.isMultiLine()&&(n?s=this.getSectionRange(e,i):"all"!=t&&(s=null)),s}return"markbegin"!==t&&(o=a.match(this.foldingStopMarker))?(r=o.index+o[0].length,o[1]?this.closingBracketBlock(e,o[1],i,r):e.getCommentFoldRange(i,r,-1)):void 0},this.getSectionRange=function(e,t){for(var i=e.getLine(t),n=i.search(/\S/),a=t,r=i.length,s=t+=1,l=e.getLength();++t<l;){var c=(i=e.getLine(t)).search(/\S/);if(-1!==c){if(n>c)break;var d=this.getFoldWidgetRange(e,"all",t);if(d){if(d.start.row<=a)break;if(d.isMultiLine())t=d.end.row;else if(n==c)break}s=t}}return new o(a,r,s,e.getLine(s).length)},this.getCommentRegionBlock=function(e,t,i){for(var n=t.search(/\s*$/),a=e.getLength(),r=i,s=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++i<a;){t=e.getLine(i);var c=s.exec(t);if(c&&(c[1]?l--:l++,!l))break}if(i>r)return new o(r,n,i,t.length)}}.call(r.prototype)})),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],(function(e,t,i){"use strict";var n=e("../lib/oop"),o=e("./text").Mode,a=e("./css_highlight_rules").CssHighlightRules,r=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./css_completions").CssCompletions,c=e("./behaviour/css").CssBehaviour,d=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=a,this.$outdent=new r,this.$behaviour=new c,this.$completer=new l,this.foldingRules=new d};n.inherits(h,o),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,i){var n=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e).tokens;return o.length&&"comment"==o[o.length-1].type||t.match(/^.*\{\s*$/)&&(n+=i),n},this.checkOutdent=function(e,t,i){return this.$outdent.checkOutdent(t,i)},this.autoOutdent=function(e,t,i){this.$outdent.autoOutdent(t,i)},this.getCompletions=function(e,t,i,n){return this.$completer.getCompletions(e,t,i,n)},this.createWorker=function(e){var t=new s(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",(function(t){e.setAnnotations(t.data)})),t.on("terminate",(function(){e.clearAnnotations()})),t},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(h.prototype),t.Mode=h})),ace.require(["ace/mode/css"],(function(t){e&&(e.exports=t)}))}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.amdD=function(){throw new Error("define cannot be used indirect")},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{"use strict";const e=window.wp.blocks,t=JSON.parse('{"apiVersion":2,"name":"lpb/lottie-player","title":"Lottie Player","description":"Lottie player for display lottie files.","category":"LPBlock","keywords":["lottie player","json player","lottie animation"],"textdomain":"lottie-player","attributes":{"align":{"type":"string","default":""},"playerAlign":{"type":"string","default":"center"},"file":{"type":"string","default":"https://assets4.lottiefiles.com/datafiles/zc3XRzudyWE36ZBJr7PIkkqq0PFIrIBgp4ojqShI/newAnimation.json"},"isControls":{"type":"boolean","default":true},"isAutoplay":{"type":"boolean","default":true},"isLoop":{"type":"boolean","default":true},"isHover":{"type":"boolean","default":false},"mode":{"type":"string","default":"normal"},"direction":{"type":"number","default":1},"count":{"type":"number","default":0},"speed":{"type":"number","default":1},"intermission":{"type":"number","default":0},"link":{"type":"string","default":""},"isLinkInNewTab":{"type":"boolean","default":false},"interactivity":{"type":"string","default":"noInteractivity"},"interactivityMode":{"type":"string","default":""},"interactivityContainer":{"type":"string","default":".wp-block-lpb-lottie-player"},"interactivityActions":{"type":"array","default":[]},"width":{"type":"string","default":""},"background":{"type":"string","default":"#0000"},"controlsHeight":{"type":"string","default":"35px"},"controlsBG":{"type":"string","default":"#0000"},"controlsIconColor":{"type":"string","default":"#146EF5"},"controlsIconHoverColor":{"type":"string","default":"#FF7A00"},"controlsIconActiveColor":{"type":"string","default":"#FF7A00"},"controlsTrackColor":{"type":"string","default":"#FF7A00"},"controlsThumbColor":{"type":"string","default":"#146EF5"},"isCap":{"type":"boolean","default":false},"caption":{"type":"string","default":"","selector":".lpbLottiePlayer .caption"},"capAlign":{"type":"string","default":"center"},"capColors":{"type":"object","default":{"color":"#333"}},"capTypo":{"type":"object","default":{"fontSize":{"desktop":{"desktop":"14px"}}}},"capPadding":{"type":"object","default":{"vertical":"5px","horizontal":"10px"}},"capMargin":{"type":"object","default":{"side":4,"top":"5px"}}},"supports":{"align":["wide","full"],"html":false},"example":{"attributes":{"preview":true}},"editorScript":["file:./index.js","wp-api","dotLottiePlayer"],"editorStyle":"file:./index.css","style":"file:./view.css","render":"file:./render.php","viewScript":["file:./view.js","wp-util","dotLottiePlayer","lottieInteractivity"]}');var n=i(609);const o=window.wp.blockEditor,a=window.wp.i18n,r=window.wp.data,s=window.wp.components;var l=Symbol.for("immer-nothing"),c=Symbol.for("immer-draftable"),d=Symbol.for("immer-state");function h(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var f=Object.getPrototypeOf;function u(e){return!!e&&!!e[d]}function p(e){return!!e&&(m(e)||Array.isArray(e)||!!e[c]||!!e.constructor?.[c]||C(e)||x(e))}var g=Object.prototype.constructor.toString();function m(e){if(!e||"object"!=typeof e)return!1;const t=f(e);if(null===t)return!0;const i=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return i===Object||"function"==typeof i&&Function.toString.call(i)===g}function y(e,t){0===v(e)?Reflect.ownKeys(e).forEach((i=>{t(i,e[i],e)})):e.forEach(((i,n)=>t(n,i,e)))}function v(e){const t=e[d];return t?t.type_:Array.isArray(e)?1:C(e)?2:x(e)?3:0}function b(e,t){return 2===v(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function w(e,t,i){const n=v(e);2===n?e.set(t,i):3===n?e.add(i):e[t]=i}function C(e){return e instanceof Map}function x(e){return e instanceof Set}function S(e){return e.copy_||e.base_}function k(e,t){if(C(e))return new Map(e);if(x(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const i=m(e);if(!0===t||"class_only"===t&&!i){const t=Object.getOwnPropertyDescriptors(e);delete t[d];let i=Reflect.ownKeys(t);for(let n=0;n<i.length;n++){const o=i[n],a=t[o];!1===a.writable&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[o]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[o]})}return Object.create(f(e),t)}{const t=f(e);if(null!==t&&i)return{...e};const n=Object.create(t);return Object.assign(n,e)}}function $(e,t=!1){return M(e)||u(e)||!p(e)||(v(e)>1&&(e.set=e.add=e.clear=e.delete=_),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>$(t,!0)))),e}function _(){h(2)}function M(e){return Object.isFrozen(e)}var A,E={};function L(e){const t=E[e];return t||h(0),t}function T(){return A}function R(e,t){t&&(L("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function I(e){O(e),e.drafts_.forEach(D),e.drafts_=null}function O(e){e===A&&(A=e.parent_)}function N(e){return A={drafts_:[],parent_:A,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function D(e){const t=e[d];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function P(e,t){t.unfinalizedDrafts_=t.drafts_.length;const i=t.drafts_[0];return void 0!==e&&e!==i?(i[d].modified_&&(I(t),h(4)),p(e)&&(e=z(t,e),t.parent_||B(t,e)),t.patches_&&L("Patches").generateReplacementPatches_(i[d].base_,e,t.patches_,t.inversePatches_)):e=z(t,i,[]),I(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==l?e:void 0}function z(e,t,i){if(M(t))return t;const n=t[d];if(!n)return y(t,((o,a)=>F(e,n,t,o,a,i))),t;if(n.scope_!==e)return t;if(!n.modified_)return B(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const t=n.copy_;let o=t,a=!1;3===n.type_&&(o=new Set(t),t.clear(),a=!0),y(o,((o,r)=>F(e,n,t,o,r,i,a))),B(e,t,!1),i&&e.patches_&&L("Patches").generatePatches_(n,i,e.patches_,e.inversePatches_)}return n.copy_}function F(e,t,i,n,o,a,r){if(u(o)){const r=z(e,o,a&&t&&3!==t.type_&&!b(t.assigned_,n)?a.concat(n):void 0);if(w(i,n,r),!u(r))return;e.canAutoFreeze_=!1}else r&&i.add(o);if(p(o)&&!M(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;z(e,o),t&&t.scope_.parent_||"symbol"==typeof n||!Object.prototype.propertyIsEnumerable.call(i,n)||B(e,o)}}function B(e,t,i=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&$(t,i)}var H={get(e,t){if(t===d)return e;const i=S(e);if(!b(i,t))return function(e,t,i){const n=U(t,i);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}(e,i,t);const n=i[t];return e.finalized_||!p(n)?n:n===j(e.base_,t)?(G(e),e.copy_[t]=K(n,e)):n},has:(e,t)=>t in S(e),ownKeys:e=>Reflect.ownKeys(S(e)),set(e,t,i){const n=U(S(e),t);if(n?.set)return n.set.call(e.draft_,i),!0;if(!e.modified_){const n=j(S(e),t),r=n?.[d];if(r&&r.base_===i)return e.copy_[t]=i,e.assigned_[t]=!1,!0;if(((o=i)===(a=n)?0!==o||1/o==1/a:o!=o&&a!=a)&&(void 0!==i||b(e.base_,t)))return!0;G(e),V(e)}var o,a;return e.copy_[t]===i&&(void 0!==i||t in e.copy_)||Number.isNaN(i)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=i,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==j(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,G(e),V(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const i=S(e),n=Reflect.getOwnPropertyDescriptor(i,t);return n?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:n.enumerable,value:i[t]}:n},defineProperty(){h(11)},getPrototypeOf:e=>f(e.base_),setPrototypeOf(){h(12)}},W={};function j(e,t){const i=e[d];return(i?S(i):e)[t]}function U(e,t){if(!(t in e))return;let i=f(e);for(;i;){const e=Object.getOwnPropertyDescriptor(i,t);if(e)return e;i=f(i)}}function V(e){e.modified_||(e.modified_=!0,e.parent_&&V(e.parent_))}function G(e){e.copy_||(e.copy_=k(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function K(e,t){const i=C(e)?L("MapSet").proxyMap_(e,t):x(e)?L("MapSet").proxySet_(e,t):function(e,t){const i=Array.isArray(e),n={type_:i?1:0,scope_:t?t.scope_:T(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=n,a=H;i&&(o=[n],a=W);const{revoke:r,proxy:s}=Proxy.revocable(o,a);return n.draft_=s,n.revoke_=r,s}(e,t);return(t?t.scope_:T()).drafts_.push(i),i}function q(e){if(!p(e)||M(e))return e;const t=e[d];let i;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,i=k(e,t.scope_.immer_.useStrictShallowCopy_)}else i=k(e,!0);return y(i,((e,t)=>{w(i,e,q(t))})),t&&(t.finalized_=!1),i}y(H,((e,t)=>{W[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),W.deleteProperty=function(e,t){return W.set.call(this,e,t,void 0)},W.set=function(e,t,i){return H.set.call(this,e[0],t,i,e[0])};var Y=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(e,t,i)=>{if("function"==typeof e&&"function"!=typeof t){const i=t;t=e;const n=this;return function(e=i,...o){return n.produce(e,(e=>t.call(this,e,...o)))}}let n;if("function"!=typeof t&&h(6),void 0!==i&&"function"!=typeof i&&h(7),p(e)){const o=N(this),a=K(e,void 0);let r=!0;try{n=t(a),r=!1}finally{r?I(o):O(o)}return R(o,i),P(n,o)}if(!e||"object"!=typeof e){if(n=t(e),void 0===n&&(n=e),n===l&&(n=void 0),this.autoFreeze_&&$(n,!0),i){const t=[],o=[];L("Patches").generateReplacementPatches_(e,n,t,o),i(t,o)}return n}h(1)},this.produceWithPatches=(e,t)=>{if("function"==typeof e)return(t,...i)=>this.produceWithPatches(t,(t=>e(t,...i)));let i,n;return[this.produce(e,t,((e,t)=>{i=e,n=t})),i,n]},"boolean"==typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"==typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){p(e)||h(8),u(e)&&(e=function(e){return u(e)||h(10),q(e)}(e));const t=N(this),i=K(e,void 0);return i[d].isManual_=!0,O(t),i}finishDraft(e,t){const i=e&&e[d];i&&i.isManual_||h(9);const{scope_:n}=i;return R(n,t),P(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let i;for(i=t.length-1;i>=0;i--){const n=t[i];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}i>-1&&(t=t.slice(i+1));const n=L("Patches").applyPatches_;return u(e)?n(e,t):this.produce(e,(e=>n(e,t)))}},Q=Y.produce;Y.produceWithPatches.bind(Y),Y.setAutoFreeze.bind(Y),Y.setUseStrictShallowCopy.bind(Y),Y.applyPatches.bind(Y),Y.createDraft.bind(Y),Y.finishDraft.bind(Y);const Z=[{label:"Default",value:"initial"},{label:"Fixed",value:"fixed"},{label:"Scroll",value:"scroll"}],X=[{label:"Default",value:"initial"},{label:"Center Center",value:"center center"},{label:"Center Left",value:"center left"},{label:"Center Right",value:"center right"},{label:"Top Center",value:"center top"},{label:"Top Left",value:"left top"},{label:"Top Right",value:"left bottom"},{label:"Bottom Center",value:"right center"},{label:"Bottom Left",value:"right top"},{label:"Bottom Right",value:"right bottom"},{label:"Custom",value:"custom"}],J=[{label:"Default",value:"initial"},{label:"Repeat",value:"repeat"},{label:"Repeat-X",value:"repeat-x"},{label:"Repeat-Y",value:"repeat-y"},{label:"No-Repeat",value:"no-repeat"}],ee=[{label:"Default",value:"initial"},{label:"Auto",value:"auto"},{label:"Cover",value:"cover"},{label:"Contain",value:"contain"},{label:"Custom",value:"custom"}],te=[{label:"px",value:"px"},{label:"%",value:"%"},{label:"em",value:"em"}],ie=[{title:(0,a.__)("Color"),name:"color"},{title:(0,a.__)("Gradient"),name:"gradient"},{title:(0,a.__)("Image"),name:"image"},{title:(0,a.__)("Video"),name:"video"}],ne=((0,r.withSelect)((e=>{const{getDeviceType:t}=e("core/editor");return{device:t()?.toLowerCase()}}))((({name:e="Background",value:t,onChange:i,isVideo:o=!1,device:a})=>{const{type:r="color",color:l="",gradient:c={},img:d={},video:h={}}=t||{},{position:f="center center",xPosition:u,yPosition:p,attachment:g,repeat:m="no-repeat",size:y="cover",customSize:v}=d?.[a]||{};return(0,n.createElement)(n.Fragment,null,(0,n.createElement)(Oi,{className:"mt10 mb10"},e),(0,n.createElement)(s.TabPanel,{className:"bPlTabPanel mini",activeClass:"activeTab",tabs:o?ie:ie.filter((e=>"video"!==e.name)),initialTabName:r,onSelect:e=>i({...t,type:e})},(o=>(0,n.createElement)(n.Fragment,null,"color"===o.name&&(0,n.createElement)(zi,{className:"mt20",label:`${e} Color`,value:l,onChange:e=>i({...t,color:e})}),"gradient"===o.name&&(0,n.createElement)(mt,{value:c,onChange:e=>i({...t,gradient:e})}),"image"===o.name&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(Oi,{className:"mt10 mb10"},e," Image"),(0,n.createElement)(Pi,{label:"Upload Image",value:t?.img,onChange:e=>i({...t,img:{...d,url:e.url}}),width:"100%",height:"100%"}),d?.url&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},"Position"),(0,n.createElement)(ke,null)),(0,n.createElement)(s.SelectControl,{value:f,options:X,onChange:e=>i({...t,img:{...d,[a]:{...d[a],position:e}}})}),"custom"===f&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelRow,{className:"mt15"},(0,n.createElement)(Oi,{className:""},"X Position"),(0,n.createElement)(ke,null)),(0,n.createElement)(s.__experimentalUnitControl,{units:te,value:u,min:-2e3,max:2e3,onChange:e=>i({...t,img:{...d,[a]:{...d[a],xPosition:e}}})}),(0,n.createElement)(s.PanelRow,{className:"mt15"},(0,n.createElement)(Oi,{className:""},"Y Position"),(0,n.createElement)(ke,null)),(0,n.createElement)(s.__experimentalUnitControl,{units:te,value:p,min:-2e3,max:2e3,onChange:e=>i({...t,img:{...d,[a]:{...d[a],yPosition:e}}})})),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},"Attachment"),(0,n.createElement)(ke,null)),(0,n.createElement)(s.SelectControl,{value:g,options:Z,onChange:e=>i({...t,img:{...d,[a]:{...d[a],attachment:e}}})}),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},"Repeat"),(0,n.createElement)(ke,null)),(0,n.createElement)(s.SelectControl,{value:m,options:J,onChange:e=>i({...t,img:{...d,[a]:{...d[a],repeat:e}}})}),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},"Size"),(0,n.createElement)(ke,null)),(0,n.createElement)(s.SelectControl,{value:y,options:ee,onChange:e=>i({...t,img:{...d,[a]:{...d[a],size:e}}})}),"custom"===y&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelRow,{className:"mt15"},(0,n.createElement)(Oi,{className:""},"Width"),(0,n.createElement)(ke,null)),(0,n.createElement)(s.__experimentalUnitControl,{units:te,value:v,min:-2e3,max:2e3,onChange:e=>i({...t,img:{...d,[a]:{...d[a],customSize:e}}})})))),"video"===o.name&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(Oi,{className:"mt10 mb10"},e," Video"),(0,n.createElement)(Pi,{loop:h?.loop,types:["video/mp4","video/3gpp","video/x-ms-wmv"],isVideo:!0,value:h,onChange:e=>i({...t,video:{...h,url:e.url}}),label:"Upload Video"}),(0,n.createElement)(s.__experimentalInputControl,{style:{marginTop:"10px"},label:"Inline Upload",labelPosition:"top",type:"text",value:h?.url,onChange:e=>i({...t,video:{...h,url:e}}),placeholder:"Insert your video link.."}),h?.url&&(0,n.createElement)(s.ToggleControl,{className:"mt10",label:"Loop",checked:h?.loop,value:h?.loop,onChange:e=>i({...t,video:{...h,loop:e}})}))))))})),[{label:"Solid",value:"solid"},{label:"Gradient",value:"gradient"},{label:"Image",value:"image"}]),oe=[{label:"Default",value:""},{label:"Initial",value:"initial"},{label:"Scroll",value:"scroll"},{label:"Fixed",value:"fixed"},{label:"Local",value:"local"}],ae=[{label:"Default",value:""},{label:"No Repeat",value:"no-repeat"},{label:"Repeat",value:"repeat"},{label:"Repeat X",value:"repeat-x"},{label:"Repeat Y",value:"repeat-y"}],re=[{label:"Default",value:""},{label:"Cover",value:"cover"},{label:"Auto",value:"auto"},{label:"Contain",value:"contain"}],se="#146EF5",le="#FF7A00",ce="linear-gradient(135deg, #0040E3, #18D4FD)",de=s.__experimentalGradientPicker||s.GradientPicker,he=((0,r.withSelect)((e=>{const{gradients:t}=e("core/block-editor").getSettings();return{gradients:t.length>12?t.slice(0,12):t}}))((e=>{const{className:t="",label:i=(0,a.__)("Background"),value:o={},onChange:r,defaults:l={},isSolid:c=!0,isGradient:d=!0,isImage:h=!0,gradients:f}=e,u={type:"solid",color:"",gradient:ce,image:{},position:"center center",attachment:"",repeat:"",size:"",overlayColor:""},p=e=>l?.[e]||u[e],g=e=>o?.[e]||p(e),m=(e,t)=>r({...o,[e]:t}),y=e=>o?.[e]&&o?.[e]!==p(e)?(0,n.createElement)(s.Button,{icon:"image-rotate",className:"bPlResetVal",onClick:()=>(e=>r({...o,[e]:p(e)}))(e)}):null;return(0,n.createElement)(s.PanelRow,{className:`bPlDropdown ${t}`},(0,n.createElement)(Oi,{className:"mb5"},i),(0,n.createElement)(s.Dropdown,{className:"bPlDropdownContainer",contentClassName:"bPlDropdownPopover",popoverProps:{placement:"bottom-end"},renderToggle:({isOpen:e,onToggle:t})=>(0,n.createElement)(s.Button,{icon:"edit",onClick:t,"aria-expanded":e}),renderContent:()=>(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},(0,a.__)("Type:")),(0,n.createElement)(fe,{value:g("type"),onChange:e=>m("type",e),options:ne.filter((e=>{switch(e.value){case"solid":return c;case"gradient":return d;case"image":return h;default:return!0}}))})),"solid"===g("type")&&c&&(0,n.createElement)(ge,{className:"mt20",label:(0,a.__)("Color:"),value:g("color"),onChange:e=>m("color",e),defaultColor:p("color")}),"gradient"===g("type")&&d&&(0,n.createElement)(de,{className:"mt20",value:g("gradient"),onChange:e=>m("gradient",e),gradients:f}),"image"===g("type")&&h&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(Oi,{className:"mb5"},(0,a.__)("Image")),(0,n.createElement)(Di,{types:["image"],value:g("image"),onChange:e=>m("image",e)}),(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},(0,a.__)("Position")),(0,n.createElement)(s.__experimentalAlignmentMatrixControl,{value:g("position"),onChange:e=>m("position",e)}),y("position")),(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},(0,a.__)("Attachment:")),(0,n.createElement)(s.SelectControl,{value:g("attachment"),onChange:e=>m("attachment",e),options:oe}),y("attachments")),(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},(0,a.__)("Repeat:")),(0,n.createElement)(s.SelectControl,{value:g("repeat"),onChange:e=>m("repeat",e),options:ae}),y("repeat")),(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},(0,a.__)("Size:")),(0,n.createElement)(s.SelectControl,{value:g("size"),onChange:e=>m("size",e),options:re}),y("size")),(0,n.createElement)(ge,{className:"mt20",label:(0,a.__)("Overlay Color:"),value:g("overlayColor"),onChange:e=>m("overlayColor",e),defaultColor:p("overlayColor")})))}))})),e=>{const{className:t="",options:i=[],label:o="Button Group",value:a,onChange:r=()=>{},borderRadius:s="30px",height:l,paddingX:c="8px",paddingY:d="4px",fontSize:h="12px",fontWeight:f=400,activeBg:u,activeColor:p="#fff",inactiveColor:g="#000",hoverBg:m,hoverColor:y,style:v}=e,[b,w]=(0,n.useState)(0),C=i.length>0?i:[1,2],x=(0,n.useRef)(null),S=(0,n.useRef)(null),k=Math.floor(99999999*Math.random());return(0,n.useEffect)((()=>{const e=b>i.length-1?b-1:b,t=x.current,n=S.current;a&&C.forEach(((e,t)=>{e.value===a&&w(t)}));const o=t.querySelectorAll(`.bpl-button-group-${k}`),r=Array.from(o)[e],s=r.getBoundingClientRect().height.toFixed(2),l=r.getBoundingClientRect().width.toFixed(2),c=Number(l),d=Number(s);n.style.width=`${c||r.clientWidth}px`,n.style.height=`${d||r.clientHeight}px`,n.style.left=`${r.offsetLeft}px`}),[b,i,a]),(0,n.createElement)("div",{className:t,style:{marginBottom:"10px",...v}},(0,n.createElement)("style",null,`\n\t\t\t\t.bpl-buttonGroupHover-${k}.bpl-button-group-${k}:hover{\n\t\t\t\t\tbackground:${m};\n\t\t\t\t\tcolor:${y};\n\t\t\t\t\ttransition: background 0.3s ease-in-out;\n\t\t\t\t}\n\t\t\t`),(0,n.createElement)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},o&&(0,n.createElement)("label",{style:{fontWeight:500}},o),(0,n.createElement)("div",{ref:x,style:{display:"flex",position:"relative",border:"1px solid #ccc",borderRadius:s}},C.map(((e,t)=>(0,n.createElement)("button",{style:{background:m?b===t?"transparent":"":"transparent",borderRadius:s,height:l,padding:`${d} ${c}`,fontSize:h,zIndex:20,cursor:"pointer",fontWeight:f,color:`${b!==t?g:p}`,border:"none"},key:t,onClick:i=>((e,t,i)=>{w(i),r(t.value)})(0,e,t),className:`${b!==t?`bpl-buttonGroupHover-${k}`:""} bpl-button-group-${k}`},i.length?e.label:`Button ${t+1}`))),(0,n.createElement)("div",{ref:S,style:{background:u||se,transition:"left 0.2s ease-in-out",position:"absolute",top:0,left:0,zIndex:10,borderRadius:s}}))))}),fe=((0,r.withDispatch)((e=>({replaceBlock:e("core/block-editor").replaceBlock})))((({blocks:t,clientId:i,value:a,minHeight:r="",minWidth:l="200px",replaceBlock:c})=>{const[d,h]=(0,n.useState)(null),f=(e,t)=>{h(e),p(t)},u=(e,t)=>{h(t?e:null)},p=t=>{const n=(0,e.parse)(t);c(i,n)};return(0,n.createElement)("div",{className:"bPlBlockPreviewWrapper"},t.map(((t,i)=>(0,n.createElement)("div",{key:i},(0,n.createElement)("div",null,(0,n.createElement)(s.Button,{className:"bPl-previewBtn "+(a===t.value?"bPl-activeBtn":""),onClick:()=>f(t.value,i,t.content),onMouseEnter:()=>u(i,!0),onMouseLeave:()=>u(i,!1)},t.label)),d===i&&(0,n.createElement)(s.Popover,{style:{cursor:"pointer"},onClick:()=>f(t.value,i,t.content)},(0,n.createElement)("div",{onMouseEnter:()=>u(i,!0),onMouseLeave:()=>u(i,!1),style:{minWidth:l,minHeight:r}},(0,n.createElement)(o.BlockPreview,{blocks:(0,e.parse)(t.content),viewportWidth:1600})))))))})),e=>{const{className:t,label:i="",value:o,onChange:a,options:r,isIcon:l=!1,isTextIcon:c=!1,size:d="compact"}=e,h=({className:e=""})=>(0,n.createElement)(s.ButtonGroup,{className:`bPlBtnGroup ${e||null}`},Object.values(r).map((e=>{const{value:t,icon:i="",label:r="",def:h=""}=e,f=o===t;return(0,n.createElement)(s.Button,{key:t,label:r,showTooltip:!0,tooltipPosition:"top",icon:l?i:null,variant:f?"primary":"","aria-pressed":f,size:d,onClick:()=>a(t,h&&h)},c?i:l?"":r)})));return i?(0,n.createElement)(s.PanelRow,{className:t},(0,n.createElement)(Oi,{className:""},i),(0,n.createElement)(h,null)):(0,n.createElement)(h,{className:t})}),ue=({href:e="",target:t="",onClick:i=null,className:o,variant:a="primary",size:r="",children:s,...l})=>{const c=`bPlButton ${a?`variant-${a}`:""} ${r?`size-${r}`:""} ${o||""}`;return"function"==typeof i?(0,n.createElement)("button",{className:c,...l,onClick:i},s):(0,n.createElement)("a",{href:e,target:t,className:c,...l},s)},pe=(0,r.withSelect)((e=>({themeColors:e("core/block-editor").getSettings().colors})))((({isOpen:e,onClose:t,onChange:i,themeColors:o})=>o.length?(0,n.createElement)("div",{className:"bPlThemeColors"},o.map((({color:t})=>(0,n.createElement)("div",{key:t,className:"bPlColorButtonContainer"},(0,n.createElement)("button",{type:"button",className:"bPlColorButton","aria-expanded":e,style:{backgroundColor:t||"transparent"},onClick:()=>{i(t)}}))))):null)),ge=e=>{const{className:t="",label:i=(0,a.__)("Color:"),value:o="",onChange:r,defaultColor:l,disableAlpha:c=!1}=e;return(0,n.createElement)(s.PanelRow,{className:t},(0,n.createElement)(Oi,{className:""},i),(0,n.createElement)(s.Dropdown,{className:"bPlDropdownContainer bPlColor",contentClassName:"bPlDropdownPopover",popoverProps:{placement:"top-end"},renderToggle:({isOpen:e,onToggle:t})=>(0,n.createElement)(n.Fragment,null,(0,n.createElement)("div",{className:"bPlColorButtonContainer"},(0,n.createElement)("button",{type:"button",className:"bPlColorButton",onClick:t,"aria-expanded":e,style:{backgroundColor:o||"transparent"}})),l&&l!=o&&(0,n.createElement)(s.Button,{className:"bPlResetVal",icon:"image-rotate",label:(0,a.__)("Reset"),onClick:()=>r(l)})),renderContent:({isOpen:e,onClose:t})=>(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.ColorPicker,{color:o||"",disableAlpha:c,onChangeComplete:e=>r(`rgba(${e.rgb.r}, ${e.rgb.g}, ${e.rgb.b}, ${e.rgb.a})`)}),(0,n.createElement)(pe,{isOpen:e,onClose:t,onChange:r}))}))},me=((0,a.__)("Normal"),(0,a.__)("Hover"),(e=0)=>({value:"px",label:"px",default:e})),ye=(e=0)=>({value:"%",label:"%",default:e}),ve=(e=0)=>({value:"em",label:"em",default:e}),be=(e=0)=>({value:"rem",label:"rem",default:e}),we=(e=0)=>({value:"vw",label:"vw",default:e}),Ce=[{label:"Solid",value:"solid"},{label:"Gradient",value:"gradient"}],xe=((0,a.__)("Default"),(0,a.__)("Auto"),(0,a.__)("Hidden"),(0,a.__)("Visible"),(0,a.__)("Scroll"),(0,a.__)("None"),(0,a.__)("Fade Up"),(0,a.__)("Fade Down"),(0,a.__)("Fade Left"),(0,a.__)("Fade Right"),(0,a.__)("Fade Up Left"),(0,a.__)("Fade Up Right"),(0,a.__)("Fade Down Left"),(0,a.__)("Fade Down Right"),(0,a.__)("Flip Left"),(0,a.__)("Flip Right"),(0,a.__)("Flip Up"),(0,a.__)("Flip Down"),(0,a.__)("Zoom In"),(0,a.__)("Zoom In Up"),(0,a.__)("Zoom In Down"),(0,a.__)("Zoom In Left"),(0,a.__)("Zoom In Right"),(0,a.__)("Zoom Out"),(0,a.__)("Zoom Out Up"),(0,a.__)("Zoom Out Down"),(0,a.__)("Zoom Out Right"),(0,a.__)("Zoom Out Left"),s.__experimentalGradientPicker||s.GradientPicker),Se=(0,r.withSelect)((e=>{const{gradients:t}=e("core/block-editor").getSettings();return{gradients:t.length>12?t.slice(0,12):t}}))((e=>{const{className:t="",label:i=(0,a.__)("Colors:"),value:o,onChange:r,defaults:l={},gradients:c}=e,d={color:"#333",bgType:"solid",bg:"",gradient:ce},h=e=>l?.[e]||d[e],f=e=>o?.[e]||h(e),u=(e,t)=>r({...o,[e]:t});return(0,n.createElement)(s.PanelRow,{className:`bPlDropdown ${t}`},(0,n.createElement)(Oi,{className:""},i," ",(0,n.createElement)(s.ColorIndicator,{colorValue:f("color")})," ",(0,n.createElement)(s.ColorIndicator,{colorValue:f("gradient"===f("bgType")?"gradient":"bg")})),(0,n.createElement)(s.Dropdown,{className:"bPlDropdownContainer",contentClassName:"bPlDropdownPopover",popoverProps:{placement:"bottom-end"},renderToggle:({isOpen:e,onToggle:t})=>(0,n.createElement)(s.Button,{icon:"edit",onClick:t,"aria-expanded":e}),renderContent:()=>(0,n.createElement)(n.Fragment,null,(0,n.createElement)(ge,{label:(0,a.__)("Color:"),value:f("color"),onChange:e=>u("color",e),defaultColor:h("color")}),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},(0,a.__)("Background:")),(0,n.createElement)(fe,{value:f("bgType"),onChange:e=>u("bgType",e),options:Ce,size:"small"})),"gradient"===f("bgType")?(0,n.createElement)(xe,{value:f("gradient"),onChange:e=>u("gradient",e),gradients:c}):(0,n.createElement)(ge,{label:(0,a.__)("Background Color:"),value:f("bg"),onChange:e=>u("bg",e),defaultColor:h("bg")}))}))}));i(579),i(44),i(997),i(144);const ke=(0,window.wp.compose.compose)((0,r.withSelect)((e=>{const{getDeviceType:t}=e("core/editor");return{device:t()?.toLowerCase()}})),(0,r.withDispatch)((e=>({setDevice:t=>e("core/editor").setDeviceType(t)}))))((({style:e,className:t,position:i="horizontal",device:o,setDevice:a,onChange:r=()=>{}})=>(0,n.createElement)("div",{className:`bPlDeviceControl ${t}`,style:{display:"horizontal"===i?"flex":"grid",...e}},[{label:"Desktop",name:"desktop",icon:"dashicons-desktop"},{label:"Tablet",name:"tablet",icon:"dashicons-tablet"},{label:"Mobile",name:"mobile",icon:"dashicons-smartphone"}].map((({label:e,name:t,icon:i},s)=>(0,n.createElement)("button",{key:s,className:t===o?"active":"",onClick:()=>{a(e),r(e.toLowerCase())}},(0,n.createElement)("span",{className:`dashicons ${i} ${t===o?"active":""} `})))))));var $e=Symbol.for("immer-nothing"),_e=Symbol.for("immer-draftable"),Me=Symbol.for("immer-state");function Ae(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ee=Object.getPrototypeOf;function Le(e){return!!e&&!!e[Me]}function Te(e){return!!e&&(Ie(e)||Array.isArray(e)||!!e[_e]||!!e.constructor?.[_e]||ze(e)||Fe(e))}var Re=Object.prototype.constructor.toString();function Ie(e){if(!e||"object"!=typeof e)return!1;const t=Ee(e);if(null===t)return!0;const i=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return i===Object||"function"==typeof i&&Function.toString.call(i)===Re}function Oe(e,t){0===Ne(e)?Reflect.ownKeys(e).forEach((i=>{t(i,e[i],e)})):e.forEach(((i,n)=>t(n,i,e)))}function Ne(e){const t=e[Me];return t?t.type_:Array.isArray(e)?1:ze(e)?2:Fe(e)?3:0}function De(e,t){return 2===Ne(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Pe(e,t,i){const n=Ne(e);2===n?e.set(t,i):3===n?e.add(i):e[t]=i}function ze(e){return e instanceof Map}function Fe(e){return e instanceof Set}function Be(e){return e.copy_||e.base_}function He(e,t){if(ze(e))return new Map(e);if(Fe(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const i=Ie(e);if(!0===t||"class_only"===t&&!i){const t=Object.getOwnPropertyDescriptors(e);delete t[Me];let i=Reflect.ownKeys(t);for(let n=0;n<i.length;n++){const o=i[n],a=t[o];!1===a.writable&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[o]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[o]})}return Object.create(Ee(e),t)}{const t=Ee(e);if(null!==t&&i)return{...e};const n=Object.create(t);return Object.assign(n,e)}}function We(e,t=!1){return Ue(e)||Le(e)||!Te(e)||(Ne(e)>1&&(e.set=e.add=e.clear=e.delete=je),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>We(t,!0)))),e}function je(){Ae(2)}function Ue(e){return Object.isFrozen(e)}var Ve,Ge={};function Ke(e){const t=Ge[e];return t||Ae(0),t}function qe(){return Ve}function Ye(e,t){t&&(Ke("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Qe(e){Ze(e),e.drafts_.forEach(Je),e.drafts_=null}function Ze(e){e===Ve&&(Ve=e.parent_)}function Xe(e){return Ve={drafts_:[],parent_:Ve,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Je(e){const t=e[Me];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function et(e,t){t.unfinalizedDrafts_=t.drafts_.length;const i=t.drafts_[0];return void 0!==e&&e!==i?(i[Me].modified_&&(Qe(t),Ae(4)),Te(e)&&(e=tt(t,e),t.parent_||nt(t,e)),t.patches_&&Ke("Patches").generateReplacementPatches_(i[Me].base_,e,t.patches_,t.inversePatches_)):e=tt(t,i,[]),Qe(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==$e?e:void 0}function tt(e,t,i){if(Ue(t))return t;const n=t[Me];if(!n)return Oe(t,((o,a)=>it(e,n,t,o,a,i))),t;if(n.scope_!==e)return t;if(!n.modified_)return nt(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const t=n.copy_;let o=t,a=!1;3===n.type_&&(o=new Set(t),t.clear(),a=!0),Oe(o,((o,r)=>it(e,n,t,o,r,i,a))),nt(e,t,!1),i&&e.patches_&&Ke("Patches").generatePatches_(n,i,e.patches_,e.inversePatches_)}return n.copy_}function it(e,t,i,n,o,a,r){if(Le(o)){const r=tt(e,o,a&&t&&3!==t.type_&&!De(t.assigned_,n)?a.concat(n):void 0);if(Pe(i,n,r),!Le(r))return;e.canAutoFreeze_=!1}else r&&i.add(o);if(Te(o)&&!Ue(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;tt(e,o),t&&t.scope_.parent_||"symbol"==typeof n||!Object.prototype.propertyIsEnumerable.call(i,n)||nt(e,o)}}function nt(e,t,i=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&We(t,i)}var ot={get(e,t){if(t===Me)return e;const i=Be(e);if(!De(i,t))return function(e,t,i){const n=st(t,i);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}(e,i,t);const n=i[t];return e.finalized_||!Te(n)?n:n===rt(e.base_,t)?(ct(e),e.copy_[t]=dt(n,e)):n},has:(e,t)=>t in Be(e),ownKeys:e=>Reflect.ownKeys(Be(e)),set(e,t,i){const n=st(Be(e),t);if(n?.set)return n.set.call(e.draft_,i),!0;if(!e.modified_){const n=rt(Be(e),t),r=n?.[Me];if(r&&r.base_===i)return e.copy_[t]=i,e.assigned_[t]=!1,!0;if(((o=i)===(a=n)?0!==o||1/o==1/a:o!=o&&a!=a)&&(void 0!==i||De(e.base_,t)))return!0;ct(e),lt(e)}var o,a;return e.copy_[t]===i&&(void 0!==i||t in e.copy_)||Number.isNaN(i)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=i,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==rt(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,ct(e),lt(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const i=Be(e),n=Reflect.getOwnPropertyDescriptor(i,t);return n?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:n.enumerable,value:i[t]}:n},defineProperty(){Ae(11)},getPrototypeOf:e=>Ee(e.base_),setPrototypeOf(){Ae(12)}},at={};function rt(e,t){const i=e[Me];return(i?Be(i):e)[t]}function st(e,t){if(!(t in e))return;let i=Ee(e);for(;i;){const e=Object.getOwnPropertyDescriptor(i,t);if(e)return e;i=Ee(i)}}function lt(e){e.modified_||(e.modified_=!0,e.parent_&&lt(e.parent_))}function ct(e){e.copy_||(e.copy_=He(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function dt(e,t){const i=ze(e)?Ke("MapSet").proxyMap_(e,t):Fe(e)?Ke("MapSet").proxySet_(e,t):function(e,t){const i=Array.isArray(e),n={type_:i?1:0,scope_:t?t.scope_:qe(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=n,a=ot;i&&(o=[n],a=at);const{revoke:r,proxy:s}=Proxy.revocable(o,a);return n.draft_=s,n.revoke_=r,s}(e,t);return(t?t.scope_:qe()).drafts_.push(i),i}function ht(e){if(!Te(e)||Ue(e))return e;const t=e[Me];let i;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,i=He(e,t.scope_.immer_.useStrictShallowCopy_)}else i=He(e,!0);return Oe(i,((e,t)=>{Pe(i,e,ht(t))})),t&&(t.finalized_=!1),i}Oe(ot,((e,t)=>{at[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),at.deleteProperty=function(e,t){return at.set.call(this,e,t,void 0)},at.set=function(e,t,i){return ot.set.call(this,e[0],t,i,e[0])};var ft=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(e,t,i)=>{if("function"==typeof e&&"function"!=typeof t){const i=t;t=e;const n=this;return function(e=i,...o){return n.produce(e,(e=>t.call(this,e,...o)))}}let n;if("function"!=typeof t&&Ae(6),void 0!==i&&"function"!=typeof i&&Ae(7),Te(e)){const o=Xe(this),a=dt(e,void 0);let r=!0;try{n=t(a),r=!1}finally{r?Qe(o):Ze(o)}return Ye(o,i),et(n,o)}if(!e||"object"!=typeof e){if(n=t(e),void 0===n&&(n=e),n===$e&&(n=void 0),this.autoFreeze_&&We(n,!0),i){const t=[],o=[];Ke("Patches").generateReplacementPatches_(e,n,t,o),i(t,o)}return n}Ae(1)},this.produceWithPatches=(e,t)=>{if("function"==typeof e)return(t,...i)=>this.produceWithPatches(t,(t=>e(t,...i)));let i,n;return[this.produce(e,t,((e,t)=>{i=e,n=t})),i,n]},"boolean"==typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"==typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){Te(e)||Ae(8),Le(e)&&(e=function(e){return Le(e)||Ae(10),ht(e)}(e));const t=Xe(this),i=dt(e,void 0);return i[Me].isManual_=!0,Ze(t),i}finishDraft(e,t){const i=e&&e[Me];i&&i.isManual_||Ae(9);const{scope_:n}=i;return Ye(n,t),et(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let i;for(i=t.length-1;i>=0;i--){const n=t[i];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}i>-1&&(t=t.slice(i+1));const n=Ke("Patches").applyPatches_;return Le(e)?n(e,t):this.produce(e,(e=>n(e,t)))}},ut=ft.produce;ft.produceWithPatches.bind(ft),ft.setAutoFreeze.bind(ft),ft.setUseStrictShallowCopy.bind(ft),ft.applyPatches.bind(ft),ft.createDraft.bind(ft),ft.finishDraft.bind(ft);const pt=(e,t)=>{if(!e)return[];let i=[];const n=e.media_details.sizes;for(const e in n){const o=t.find((t=>t.slug===e));o&&i.push({label:o.name,value:n[e].source_url})}return i},gt=()=>{setTimeout((()=>{const e=document.querySelectorAll(".bPlPanelBody:not(.itemPanelBody) > h2 > button");function t(){this.removeEventListener("click",t),e.forEach((e=>{"true"!==e.getAttribute("aria-expanded")||e.isEqualNode(this)||e.click()})),setTimeout((()=>{this.addEventListener("click",t)}),500)}e.forEach((e=>{e.addEventListener("click",t)}))}),500)},mt=e=>{const{value:t={},onChange:i}=e,{type:o="linear",radialType:a="ellipse",colors:r=[],centerPositions:l={x:0,y:0},angel:c=90}=t,d=(e,n,o)=>{const a=ut(t.colors,(t=>{t[e][n]=o}));i({...t,colors:a})};return(0,n.useEffect)((()=>{i(t)}),[t,t]),(0,n.createElement)(n.Fragment,null,(0,n.createElement)(he,{className:"mt10",label:"Gradient Type",value:o,onChange:e=>i({...t,type:e}),options:[{label:"Linear",value:"linear"},{label:"Radial",value:"radial"}]}),"radial"===o&&(0,n.createElement)(he,{label:"Radial Type",value:a,onChange:e=>i({...t,radialType:e}),options:[{label:"Ellipse",value:"ellipse"},{label:"Circle",value:"circle"}]}),r?.map(((e,o)=>(0,n.createElement)("div",{key:o,style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},(0,n.createElement)(ge,{value:e.color,onChange:e=>d(o,"color",e),tooltip:"Color"}),(0,n.createElement)("div",{className:"advExtraMargin",style:{display:"flex",alignItems:"center",gap:"5px"}},(0,n.createElement)(s.Tooltip,{delay:300,text:"Position",placement:"top"},(0,n.createElement)(s.__experimentalNumberControl,{value:e.position,onChange:e=>d(o,"position",e),min:0,max:100})),r.length>1&&(0,n.createElement)(s.Dashicon,{style:{cursor:"pointer",color:"red"},onClick:()=>(e=>{const n=ut(t.colors,(t=>{t.splice(e,1)}));i({...t,colors:n})})(o),icon:"trash"}))))),(0,n.createElement)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"}},(0,n.createElement)(s.Button,{text:"Add Color",variant:"tertiary",style:{color:"#fff",background:se},icon:"plus",iconPosition:"right",onClick:()=>{const e=[...r];e.push({color:"#"+Math.floor(16777215*Math.random()).toString(16).padStart(6,"0"),position:parseInt(99*Math.random())}),i({...t,colors:e})}})),"radial"===o?(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.RangeControl,{label:"Center X Position",value:l?.x,onChange:e=>i({...t,centerPositions:{...l,x:e}}),min:0,max:100}),(0,n.createElement)(s.RangeControl,{label:"Center Y Position",value:l?.y,onChange:e=>i({...t,centerPositions:{...l,y:e}}),min:0,max:100})):(0,n.createElement)(s.RangeControl,{label:"Angle",value:c,onChange:e=>i({...t,angel:e}),min:0,max:360}))},yt=(0,n.createElement)("svg",{xmlns:"https://www.w3.org/2000/svg",width:15,height:15,viewBox:"0 0 548.172 548.172"},(0,n.createElement)("path",{fill:se,d:"M534.75 49.965c-8.945-8.945-19.694-13.422-32.261-13.422H45.681c-12.562 0-23.313 4.477-32.264 13.422C4.471 58.913 0 69.663 0 82.226v310.633c0 12.566 4.471 23.315 13.417 32.265 8.951 8.945 19.702 13.414 32.264 13.414h155.318c0 7.231-1.524 14.661-4.57 22.269-3.044 7.614-6.09 14.273-9.136 19.981-3.042 5.715-4.565 9.897-4.565 12.56 0 4.948 1.807 9.24 5.424 12.847 3.615 3.621 7.898 5.435 12.847 5.435h146.179c4.949 0 9.233-1.813 12.848-5.435 3.62-3.606 5.427-7.898 5.427-12.847 0-2.468-1.526-6.611-4.571-12.415-3.046-5.801-6.092-12.566-9.134-20.267-3.046-7.71-4.569-15.085-4.569-22.128h155.318c12.56 0 23.309-4.469 32.254-13.414 8.949-8.949 13.422-19.698 13.422-32.265V82.226c.003-12.563-4.474-23.313-13.423-32.261zm-23.123 269.803c0 2.475-.903 4.613-2.711 6.424-1.81 1.804-3.952 2.707-6.427 2.707H45.681c-2.473 0-4.615-.903-6.423-2.707-1.807-1.817-2.712-3.949-2.712-6.424V82.226c0-2.475.902-4.615 2.712-6.423 1.809-1.805 3.951-2.712 6.423-2.712h456.815c2.471 0 4.617.904 6.42 2.712 1.808 1.809 2.711 3.949 2.711 6.423v237.542z"})),vt=(0,n.createElement)("svg",{xmlns:"https://www.w3.org/2000/svg",width:15,height:15,viewBox:"0 0 512 512"},(0,n.createElement)("path",{fill:se,d:"M394.667 0H117.333C87.936 0 64 23.936 64 53.333v405.333C64 488.064 87.936 512 117.333 512h277.333C424.064 512 448 488.064 448 458.667V53.333C448 23.936 424.064 0 394.667 0zM256 480c-11.755 0-21.333-9.579-21.333-21.333s9.579-21.333 21.333-21.333 21.333 9.579 21.333 21.333S267.755 480 256 480zm149.333-64c0 5.888-4.779 10.667-10.667 10.667H117.333c-5.888 0-10.667-4.779-10.667-10.667V53.333c0-5.888 4.779-10.667 10.667-10.667h277.333c5.888 0 10.667 4.779 10.667 10.667V416z"})),bt=(0,n.createElement)("svg",{xmlns:"https://www.w3.org/2000/svg",width:15,height:15,viewBox:"0 0 503.604 503.604"},(0,n.createElement)("path",{fill:se,d:"M337.324 0H167.192c-28.924 0-53.5 23.584-53.5 52.5v398.664c0 28.916 24.056 52.44 52.98 52.44l170.412-.184c28.92 0 52.58-23.528 52.58-52.448l.248-398.5C389.908 23.452 366.364 0 337.324 0zM227.68 31.476h49.36c4.336 0 7.868 3.52 7.868 7.868 0 4.348-3.532 7.868-7.868 7.868h-49.36a7.865 7.865 0 01-7.868-7.868 7.865 7.865 0 017.868-7.868zm-29.66 2.504c2.916-2.912 8.224-2.952 11.136 0a7.973 7.973 0 012.324 5.588c0 2.048-.864 4.088-2.324 5.548-1.452 1.46-3.504 2.32-5.548 2.32-2.084 0-4.088-.86-5.588-2.32-1.452-1.456-2.28-3.5-2.28-5.548-.004-2.088.828-4.132 2.28-5.588zm52.752 454.028c-12.984 0-23.544-10.568-23.544-23.548 0-12.984 10.56-23.548 23.544-23.548s23.544 10.564 23.544 23.548c0 12.98-10.564 23.548-23.544 23.548zm114.716-63.1H141.232V74.756h224.256v350.152z"})),wt=(0,n.createElement)("svg",{xmlns:"https://www.w3.org/2000/svg",width:14,height:14,viewBox:"0 0 330 330"},(0,n.createElement)("path",{d:"M100.606 229.393c-5.857-5.857-15.355-5.857-21.213 0-5.858 5.857-5.858 15.355 0 21.213l75 75A14.954 14.954 0 00165 330a14.95 14.95 0 0010.606-4.394l75-75c5.858-5.857 5.858-15.355 0-21.213-5.857-5.857-15.355-5.857-21.213 0L180 278.787V51.212l49.394 49.394A14.95 14.95 0 00240 105a14.95 14.95 0 0010.606-4.394c5.858-5.857 5.858-15.355 0-21.213l-75-75c-5.857-5.858-15.355-5.858-21.213 0l-75 75c-5.858 5.857-5.858 15.355 0 21.213 5.857 5.857 15.355 5.857 21.213 0L150 51.212v227.574l-49.394-49.393z"})),Ct=((0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 430.848 430.848"},(0,n.createElement)("path",{d:"M286.244,249.537l10.992-45.639c0.035-0.143,0.071-0.285,0.109-0.428c2.909-10.867,11.469-19.426,22.339-22.338 l33.347-8.936c-5.472-6.525-13.678-10.682-22.839-10.682h-9.837c-2.511-7.895-5.7-15.59-9.515-22.957l6.96-6.959 c11.622-11.623,11.622-30.535,0-42.156L296.76,68.4c-5.631-5.629-13.117-8.73-21.079-8.73c-7.961,0-15.447,3.102-21.078,8.732 l-6.96,6.959c-7.369-3.814-15.064-7.004-22.956-9.516V56.01c0-16.436-13.372-29.807-29.808-29.807h-29.758 c-16.436,0-29.808,13.371-29.808,29.807v9.836c-7.893,2.512-15.588,5.701-22.957,9.516l-6.96-6.961 c-5.631-5.629-13.117-8.73-21.078-8.73c-7.961,0-15.447,3.102-21.079,8.732L42.2,89.443c-11.622,11.621-11.622,30.533,0,42.156 l6.959,6.959c-3.815,7.367-7.004,15.063-9.515,22.957h-9.837C13.372,161.516,0,174.887,0,191.324v29.758 c0,16.436,13.372,29.807,29.808,29.807h9.837c2.511,7.895,5.7,15.588,9.515,22.957l-6.96,6.959 c-11.623,11.623-11.623,30.533,0,42.158l21.041,21.039c5.632,5.631,13.118,8.732,21.079,8.732s15.447-3.102,21.077-8.732 l6.96-6.959c7.366,3.815,15.061,7.002,22.957,9.514v9.838c0,16.436,13.372,29.809,29.808,29.809h25.809 c-2.388-5.691-3.644-11.852-3.645-18.209c-0.002-12.572,4.892-24.391,13.781-33.279L286.244,249.537z M180,286.201 c-44.112,0-80-35.887-80-79.998c0-44.113,35.888-80.002,80-80.002s80,35.889,80,80.002C260,250.314,224.112,286.201,180,286.201z"}),(0,n.createElement)("path",{d:"M425.267,218.734l-0.319-0.32c-0.939-0.941-2.189-1.428-3.541-1.469c-1.326,0-2.598,0.525-3.536,1.465l-21.596,21.596 c-3.304,3.305-7.699,5.125-12.375,5.125c-4.676,0-9.072-1.82-12.379-5.129c-3.307-3.305-5.128-7.701-5.128-12.377 c0.001-4.676,1.821-9.072,5.126-12.377l21.596-21.596c0.939-0.939,1.465-2.213,1.464-3.539c-0.001-1.328-0.53-2.6-1.47-3.537 l-0.314-0.313c-3.605-3.605-8.399-5.592-13.499-5.592c-1.665,0-3.325,0.219-4.936,0.65l-44.348,11.885 c-6.568,1.76-11.741,6.932-13.498,13.496c-0.011,0.041-0.021,0.08-0.031,0.121l-11.817,49.063l-87.667,87.666 c-6.528,6.527-10.122,15.207-10.121,24.44c0.002,9.232,3.598,17.91,10.126,24.439l2.088,2.088 c6.528,6.529,15.209,10.125,24.443,10.125h0c9.231,0,17.909-3.594,24.437-10.121l87.667-87.666l49.061-11.816 c0.041-0.01,0.082-0.022,0.122-0.031c6.563-1.758,11.735-6.928,13.497-13.496l11.883-44.352 C431.959,230.598,430.066,223.535,425.267,218.734z M257.26,368.406c-1.888,1.889-4.399,2.93-7.071,2.93 c-2.671,0-5.183-1.041-7.072-2.932c-1.887-1.885-2.928-4.397-2.928-7.068c-0.001-2.672,1.041-5.185,2.931-7.072 c1.886-1.887,4.398-2.928,7.069-2.928c2.672,0,5.184,1.041,7.072,2.93c1.887,1.885,2.928,4.396,2.928,7.068 C260.189,364.006,259.148,366.518,257.26,368.406z M316.194,305.935L274.82,347.31c-1.416,1.416-3.3,2.197-5.303,2.197 c-2.003,0-3.887-0.781-5.303-2.197c-1.417-1.416-2.197-3.299-2.197-5.303s0.78-3.887,2.197-5.303l41.374-41.375 c1.417-1.418,3.3-2.197,5.303-2.197s3.887,0.779,5.303,2.197c1.417,1.416,2.197,3.299,2.197,5.303S317.611,304.519,316.194,305.935 z"})),(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:30,height:30,viewBox:"0 0 448 512"},(0,n.createElement)("path",{d:"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"}))),xt=(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:30,height:30,viewBox:"0 0 512 512"},(0,n.createElement)("path",{d:"M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z"})),St=(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:30,height:30,viewBox:"0 0 576 512"},(0,n.createElement)("path",{d:"M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"})),kt=(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:30,height:30,viewBox:"0 0 448 512"},(0,n.createElement)("path",{d:"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"})),$t=(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:18,height:18,viewBox:"0 0 448 512"},(0,n.createElement)("path",{d:"M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z"})),_t=(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960"},(0,n.createElement)("path",{d:"M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z"})),Mt=(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 320 512",width:16,height:16},(0,n.createElement)("path",{d:"M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"})),At=((0,n.createElement)("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 512 512",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg"},(0,n.createElement)("path",{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"})),(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 640"},(0,n.createElement)("path",{d:"M96 320C96 302.3 110.3 288 128 288L512 288C529.7 288 544 302.3 544 320C544 337.7 529.7 352 512 352L128 352C110.3 352 96 337.7 96 320z"})),(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 640"},(0,n.createElement)("path",{d:"M352 128C352 110.3 337.7 96 320 96C302.3 96 288 110.3 288 128L288 288L128 288C110.3 288 96 302.3 96 320C96 337.7 110.3 352 128 352L288 352L288 512C288 529.7 302.3 544 320 544C337.7 544 352 529.7 352 512L352 352L512 352C529.7 352 544 337.7 544 320C544 302.3 529.7 288 512 288L352 288L352 128z"})),(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512"},(0,n.createElement)("path",{d:"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"})),(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512"},(0,n.createElement)("path",{d:"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"})),(0,n.createElement)("svg",{className:"check",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960"},(0,n.createElement)("path",{d:"m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z"})),(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"18px",height:"18px"},(0,n.createElement)("path",{d:"M10 2a8 8 0 105.29 13.71l5 5a1 1 0 001.42-1.42l-5-5A8 8 0 0010 2zm0 2a6 6 0 110 12 6 6 0 010-12z",fill:"#146ef5"})),(0,n.createElement)("svg",{width:25,height:25,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.createElement)("path",{d:"M4.66667 12.25H11.9C11.9928 12.25 12.0818 12.2131 12.1475 12.1475C12.2131 12.0818 12.25 11.9928 12.25 11.9V2.1C12.25 2.00717 12.2131 1.91815 12.1475 1.85251C12.0818 1.78687 11.9928 1.75 11.9 1.75H2.1C2.00717 1.75 1.91815 1.78687 1.85251 1.85251C1.78687 1.91815 1.75 2.00717 1.75 2.1V9.33333M5.83333 3.5H10.5M3.5 3.5H4.08333M2.04167 11.9583L7 7M7 7V9.33333M7 7H4.66667",stroke:"#6A72A5",strokeLinecap:"round",strokeLinejoin:"round"})),(0,n.createElement)("svg",{width:25,height:25,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.createElement)("path",{d:"M11.6667 6.99999V3.35357C11.6667 3.30753 11.6577 3.26193 11.6401 3.21939C11.6225 3.17684 11.5966 3.1382 11.564 3.10566L9.72771 1.26932C9.66213 1.20367 9.57317 1.16674 9.48037 1.16666H2.68337C2.59055 1.16666 2.50152 1.20353 2.43589 1.26917C2.37025 1.33481 2.33337 1.42383 2.33337 1.51666V12.4833C2.33337 12.5761 2.37025 12.6652 2.43589 12.7308C2.50152 12.7964 2.59055 12.8333 2.68337 12.8333H6.41671M4.66671 5.83332H9.33337M4.66671 3.49999H7.00004M4.66671 8.16666H6.41671",stroke:"#6A72A5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,n.createElement)("path",{d:"M9.33337 3.14999V1.37315C9.33345 1.33237 9.3456 1.29251 9.36829 1.25862C9.39099 1.22473 9.42321 1.19832 9.4609 1.18272C9.49859 1.16712 9.54005 1.16303 9.58006 1.17097C9.62007 1.17891 9.65683 1.19852 9.68571 1.22732L11.606 3.14765C11.6351 3.17642 11.655 3.21321 11.6631 3.25331C11.6712 3.29341 11.6672 3.33502 11.6515 3.37283C11.6359 3.41063 11.6093 3.44291 11.5752 3.46556C11.5412 3.48821 11.5011 3.5002 11.4602 3.49999H9.68337C9.59055 3.49999 9.50152 3.46311 9.43589 3.39748C9.37025 3.33184 9.33337 3.24281 9.33337 3.14999V3.14999Z",fill:"#6A72A5",stroke:"#6A72A5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,n.createElement)("path",{d:"M10.4731 9.88165L11.0565 9.29832C11.1172 9.23754 11.1893 9.18932 11.2687 9.15643C11.3481 9.12353 11.4331 9.1066 11.5191 9.1066C11.605 9.1066 11.6901 9.12353 11.7694 9.15643C11.8488 9.18932 11.9209 9.23754 11.9816 9.29832C12.1042 9.42095 12.1731 9.58723 12.1731 9.76061C12.1731 9.93399 12.1042 10.1003 11.9816 10.2229L11.3983 10.8062M10.4731 9.88107L8.7284 11.6258C8.64116 11.7133 8.58397 11.8263 8.56506 11.9484L8.42273 12.8567L9.33098 12.7149C9.45309 12.696 9.56605 12.6388 9.65356 12.5516L11.3977 10.8062M10.4731 9.88107L11.3983 10.8062",stroke:"#6A72A5",strokeLinecap:"round",strokeLinejoin:"round"})),({slug:e,docsLink:t})=>(0,n.createElement)(s.PanelBody,{className:"bPlPanelBody bPlHelpPanel",title:(0,a.__)("Help"),initialOpen:!1},(0,n.createElement)("div",{className:"helpItems"},t&&(0,n.createElement)("a",{href:t,target:"_blank",rel:"noreferrer"},Ct,(0,n.createElement)("p",null,(0,a.__)("Read Documentation"))),(0,n.createElement)("a",{href:"https://bplugins.com/support",target:"_blank",rel:"noreferrer"},xt,(0,n.createElement)("p",null,(0,a.__)("Contact Support"))),e&&(0,n.createElement)("a",{href:`https://wordpress.org/support/plugin/${e}/reviews/#new-post`,target:"_blank",rel:"noreferrer"},St,(0,n.createElement)("p",null,(0,a.__)("Rate Plugin"))),(0,n.createElement)("a",{href:"https://bplugins.com/products",target:"_blank",rel:"noreferrer"},kt,(0,n.createElement)("p",null,(0,a.__)("Other Plugins")))))),Et=["","fa-solid fa-0","fa-solid fa-1","fa-solid fa-2","fa-solid fa-3","fa-solid fa-4","fa-solid fa-5","fa-solid fa-6","fa-solid fa-7","fa-solid fa-8","fa-solid fa-9","fa-brands fa-11ty","fa-brands fa-42-group","fa-brands fa-500px","fa-solid fa-a","fa-brands fa-accessible-icon","fa-brands fa-accusoft","fa-regular fa-address-book","fa-solid fa-address-book","fa-regular fa-address-card","fa-solid fa-address-card","fa-brands fa-adn","fa-brands fa-adversal","fa-brands fa-affiliatetheme","fa-brands fa-airbnb","fa-regular fa-alarm-clock","fa-solid fa-alarm-clock","fa-brands fa-algolia","fa-solid fa-align-center","fa-solid fa-align-justify","fa-solid fa-align-left","fa-solid fa-align-right","fa-brands fa-alipay","fa-brands fa-amazon","fa-brands fa-amazon-pay","fa-brands fa-amilia","fa-solid fa-anchor","fa-solid fa-anchor-circle-check","fa-solid fa-anchor-circle-exclamation","fa-solid fa-anchor-circle-xmark","fa-solid fa-anchor-lock","fa-brands fa-android","fa-brands fa-angellist","fa-solid fa-angle-down","fa-solid fa-angle-left","fa-solid fa-angle-right","fa-solid fa-angle-up","fa-solid fa-angles-down","fa-solid fa-angles-left","fa-solid fa-angles-right","fa-solid fa-angles-up","fa-brands fa-angrycreative","fa-brands fa-angular","fa-solid fa-ankh","fa-brands fa-app-store","fa-brands fa-app-store-ios","fa-brands fa-apper","fa-brands fa-apple","fa-brands fa-apple-pay","fa-solid fa-apple-whole","fa-solid fa-archway","fa-solid fa-arrow-down","fa-solid fa-arrow-down-1-9","fa-solid fa-arrow-down-9-1","fa-solid fa-arrow-down-a-z","fa-solid fa-arrow-down-long","fa-solid fa-arrow-down-short-wide","fa-solid fa-arrow-down-up-across-line","fa-solid fa-arrow-down-up-lock","fa-solid fa-arrow-down-wide-short","fa-solid fa-arrow-down-z-a","fa-solid fa-arrow-left","fa-solid fa-arrow-left-long","fa-solid fa-arrow-pointer","fa-solid fa-arrow-right","fa-solid fa-arrow-right-arrow-left","fa-solid fa-arrow-right-from-bracket","fa-solid fa-arrow-right-long","fa-solid fa-arrow-right-to-bracket","fa-solid fa-arrow-right-to-city","fa-solid fa-arrow-rotate-left","fa-solid fa-arrow-rotate-right","fa-solid fa-arrow-trend-down","fa-solid fa-arrow-trend-up","fa-solid fa-arrow-turn-down","fa-solid fa-arrow-turn-up","fa-solid fa-arrow-up","fa-solid fa-arrow-up-1-9","fa-solid fa-arrow-up-9-1","fa-solid fa-arrow-up-a-z","fa-solid fa-arrow-up-from-bracket","fa-solid fa-arrow-up-from-ground-water","fa-solid fa-arrow-up-from-water-pump","fa-solid fa-arrow-up-long","fa-solid fa-arrow-up-right-dots","fa-solid fa-arrow-up-right-from-square","fa-solid fa-arrow-up-short-wide","fa-solid fa-arrow-up-wide-short","fa-solid fa-arrow-up-z-a","fa-solid fa-arrows-down-to-line","fa-solid fa-arrows-down-to-people","fa-solid fa-arrows-left-right","fa-solid fa-arrows-left-right-to-line","fa-solid fa-arrows-rotate","fa-solid fa-arrows-spin","fa-solid fa-arrows-split-up-and-left","fa-solid fa-arrows-to-circle","fa-solid fa-arrows-to-dot","fa-solid fa-arrows-to-eye","fa-solid fa-arrows-turn-right","fa-solid fa-arrows-turn-to-dots","fa-solid fa-arrows-up-down","fa-solid fa-arrows-up-down-left-right","fa-solid fa-arrows-up-to-line","fa-brands fa-artstation","fa-solid fa-asterisk","fa-brands fa-asymmetrik","fa-solid fa-at","fa-brands fa-atlassian","fa-solid fa-atom","fa-brands fa-audible","fa-solid fa-audio-description","fa-solid fa-austral-sign","fa-brands fa-autoprefixer","fa-brands fa-avianex","fa-brands fa-aviato","fa-solid fa-award","fa-brands fa-aws","fa-solid fa-b","fa-solid fa-baby","fa-solid fa-baby-carriage","fa-solid fa-backward","fa-solid fa-backward-fast","fa-solid fa-backward-step","fa-solid fa-bacon","fa-solid fa-bacteria","fa-solid fa-bacterium","fa-solid fa-bag-shopping","fa-solid fa-bahai","fa-solid fa-baht-sign","fa-solid fa-ban","fa-solid fa-ban-smoking","fa-solid fa-bandage","fa-brands fa-bandcamp","fa-solid fa-bangladeshi-taka-sign","fa-solid fa-barcode","fa-solid fa-bars","fa-solid fa-bars-progress","fa-solid fa-bars-staggered","fa-solid fa-baseball","fa-solid fa-baseball-bat-ball","fa-solid fa-basket-shopping","fa-solid fa-basketball","fa-solid fa-bath","fa-solid fa-battery-empty","fa-solid fa-battery-full","fa-solid fa-battery-half","fa-solid fa-battery-quarter","fa-solid fa-battery-three-quarters","fa-brands fa-battle-net","fa-solid fa-bed","fa-solid fa-bed-pulse","fa-solid fa-beer-mug-empty","fa-brands fa-behance","fa-regular fa-bell","fa-solid fa-bell","fa-solid fa-bell-concierge","fa-regular fa-bell-slash","fa-solid fa-bell-slash","fa-solid fa-bezier-curve","fa-solid fa-bicycle","fa-brands fa-bilibili","fa-brands fa-bimobject","fa-solid fa-binoculars","fa-solid fa-biohazard","fa-brands fa-bitbucket","fa-brands fa-bitcoin","fa-solid fa-bitcoin-sign","fa-brands fa-bity","fa-brands fa-black-tie","fa-brands fa-blackberry","fa-solid fa-blender","fa-solid fa-blender-phone","fa-solid fa-blog","fa-brands fa-blogger","fa-brands fa-blogger-b","fa-brands fa-bluesky","fa-brands fa-bluetooth","fa-brands fa-bluetooth-b","fa-solid fa-bold","fa-solid fa-bolt","fa-solid fa-bolt-lightning","fa-solid fa-bomb","fa-solid fa-bone","fa-solid fa-bong","fa-solid fa-book","fa-solid fa-book-atlas","fa-solid fa-book-bible","fa-solid fa-book-bookmark","fa-solid fa-book-journal-whills","fa-solid fa-book-medical","fa-solid fa-book-open","fa-solid fa-book-open-reader","fa-solid fa-book-quran","fa-solid fa-book-skull","fa-solid fa-book-tanakh","fa-regular fa-bookmark","fa-solid fa-bookmark","fa-brands fa-bootstrap","fa-solid fa-border-all","fa-solid fa-border-none","fa-solid fa-border-top-left","fa-solid fa-bore-hole","fa-brands fa-bots","fa-solid fa-bottle-droplet","fa-solid fa-bottle-water","fa-solid fa-bowl-food","fa-solid fa-bowl-rice","fa-solid fa-bowling-ball","fa-solid fa-box","fa-solid fa-box-archive","fa-solid fa-box-open","fa-solid fa-box-tissue","fa-solid fa-boxes-packing","fa-solid fa-boxes-stacked","fa-solid fa-braille","fa-solid fa-brain","fa-brands fa-brave","fa-brands fa-brave-reverse","fa-solid fa-brazilian-real-sign","fa-solid fa-bread-slice","fa-solid fa-bridge","fa-solid fa-bridge-circle-check","fa-solid fa-bridge-circle-exclamation","fa-solid fa-bridge-circle-xmark","fa-solid fa-bridge-lock","fa-solid fa-bridge-water","fa-solid fa-briefcase","fa-solid fa-briefcase-medical","fa-solid fa-broom","fa-solid fa-broom-ball","fa-solid fa-brush","fa-brands fa-btc","fa-solid fa-bucket","fa-brands fa-buffer","fa-solid fa-bug","fa-solid fa-bug-slash","fa-solid fa-bugs","fa-regular fa-building","fa-solid fa-building","fa-solid fa-building-circle-arrow-right","fa-solid fa-building-circle-check","fa-solid fa-building-circle-exclamation","fa-solid fa-building-circle-xmark","fa-solid fa-building-columns","fa-solid fa-building-flag","fa-solid fa-building-lock","fa-solid fa-building-ngo","fa-solid fa-building-shield","fa-solid fa-building-un","fa-solid fa-building-user","fa-solid fa-building-wheat","fa-solid fa-bullhorn","fa-solid fa-bullseye","fa-solid fa-burger","fa-brands fa-buromobelexperte","fa-solid fa-burst","fa-solid fa-bus","fa-solid fa-bus-side","fa-solid fa-bus-simple","fa-solid fa-business-time","fa-brands fa-buy-n-large","fa-brands fa-buysellads","fa-solid fa-c","fa-solid fa-cable-car","fa-solid fa-cake-candles","fa-solid fa-calculator","fa-regular fa-calendar","fa-solid fa-calendar","fa-regular fa-calendar-check","fa-solid fa-calendar-check","fa-solid fa-calendar-day","fa-regular fa-calendar-days","fa-solid fa-calendar-days","fa-regular fa-calendar-minus","fa-solid fa-calendar-minus","fa-regular fa-calendar-plus","fa-solid fa-calendar-plus","fa-solid fa-calendar-week","fa-regular fa-calendar-xmark","fa-solid fa-calendar-xmark","fa-regular fa-camera","fa-solid fa-camera","fa-solid fa-camera-retro","fa-solid fa-camera-rotate","fa-solid fa-campground","fa-brands fa-canadian-maple-leaf","fa-solid fa-candy-cane","fa-solid fa-cannabis","fa-solid fa-capsules","fa-solid fa-car","fa-solid fa-car-battery","fa-solid fa-car-burst","fa-solid fa-car-on","fa-solid fa-car-rear","fa-solid fa-car-side","fa-solid fa-car-tunnel","fa-solid fa-caravan","fa-solid fa-caret-down","fa-solid fa-caret-left","fa-solid fa-caret-right","fa-solid fa-caret-up","fa-solid fa-carrot","fa-solid fa-cart-arrow-down","fa-solid fa-cart-flatbed","fa-solid fa-cart-flatbed-suitcase","fa-solid fa-cart-plus","fa-solid fa-cart-shopping","fa-brands fa-cash-app","fa-solid fa-cash-register","fa-solid fa-cat","fa-brands fa-cc-amazon-pay","fa-brands fa-cc-amex","fa-brands fa-cc-apple-pay","fa-brands fa-cc-diners-club","fa-brands fa-cc-discover","fa-brands fa-cc-jcb","fa-brands fa-cc-mastercard","fa-brands fa-cc-paypal","fa-brands fa-cc-stripe","fa-brands fa-cc-visa","fa-solid fa-cedi-sign","fa-solid fa-cent-sign","fa-brands fa-centercode","fa-brands fa-centos","fa-solid fa-certificate","fa-solid fa-chair","fa-solid fa-chalkboard","fa-solid fa-chalkboard-user","fa-solid fa-champagne-glasses","fa-solid fa-charging-station","fa-solid fa-chart-area","fa-regular fa-chart-bar","fa-solid fa-chart-bar","fa-solid fa-chart-column","fa-solid fa-chart-diagram","fa-solid fa-chart-gantt","fa-solid fa-chart-line","fa-solid fa-chart-pie","fa-solid fa-chart-simple","fa-solid fa-check","fa-solid fa-check-double","fa-solid fa-check-to-slot","fa-solid fa-cheese","fa-solid fa-chess","fa-regular fa-chess-bishop","fa-solid fa-chess-bishop","fa-solid fa-chess-board","fa-regular fa-chess-king","fa-solid fa-chess-king","fa-regular fa-chess-knight","fa-solid fa-chess-knight","fa-regular fa-chess-pawn","fa-solid fa-chess-pawn","fa-regular fa-chess-queen","fa-solid fa-chess-queen","fa-regular fa-chess-rook","fa-solid fa-chess-rook","fa-solid fa-chevron-down","fa-solid fa-chevron-left","fa-solid fa-chevron-right","fa-solid fa-chevron-up","fa-solid fa-child","fa-solid fa-child-combatant","fa-solid fa-child-dress","fa-solid fa-child-reaching","fa-solid fa-children","fa-brands fa-chrome","fa-brands fa-chromecast","fa-solid fa-church","fa-regular fa-circle","fa-solid fa-circle","fa-solid fa-circle-arrow-down","fa-solid fa-circle-arrow-left","fa-solid fa-circle-arrow-right","fa-solid fa-circle-arrow-up","fa-regular fa-circle-check","fa-solid fa-circle-check","fa-solid fa-circle-chevron-down","fa-solid fa-circle-chevron-left","fa-solid fa-circle-chevron-right","fa-solid fa-circle-chevron-up","fa-solid fa-circle-dollar-to-slot","fa-regular fa-circle-dot","fa-solid fa-circle-dot","fa-regular fa-circle-down","fa-solid fa-circle-down","fa-solid fa-circle-exclamation","fa-solid fa-circle-h","fa-solid fa-circle-half-stroke","fa-solid fa-circle-info","fa-regular fa-circle-left","fa-solid fa-circle-left","fa-solid fa-circle-minus","fa-solid fa-circle-nodes","fa-solid fa-circle-notch","fa-regular fa-circle-pause","fa-solid fa-circle-pause","fa-regular fa-circle-play","fa-solid fa-circle-play","fa-solid fa-circle-plus","fa-regular fa-circle-question","fa-solid fa-circle-question","fa-solid fa-circle-radiation","fa-regular fa-circle-right","fa-solid fa-circle-right","fa-regular fa-circle-stop","fa-solid fa-circle-stop","fa-regular fa-circle-up","fa-solid fa-circle-up","fa-regular fa-circle-user","fa-solid fa-circle-user","fa-regular fa-circle-xmark","fa-solid fa-circle-xmark","fa-solid fa-city","fa-solid fa-clapperboard","fa-regular fa-clipboard","fa-solid fa-clipboard","fa-solid fa-clipboard-check","fa-solid fa-clipboard-list","fa-solid fa-clipboard-question","fa-solid fa-clipboard-user","fa-regular fa-clock","fa-solid fa-clock","fa-solid fa-clock-rotate-left","fa-regular fa-clone","fa-solid fa-clone","fa-regular fa-closed-captioning","fa-solid fa-closed-captioning","fa-regular fa-cloud","fa-solid fa-cloud","fa-solid fa-cloud-arrow-down","fa-solid fa-cloud-arrow-up","fa-solid fa-cloud-bolt","fa-solid fa-cloud-meatball","fa-solid fa-cloud-moon","fa-solid fa-cloud-moon-rain","fa-solid fa-cloud-rain","fa-solid fa-cloud-showers-heavy","fa-solid fa-cloud-showers-water","fa-solid fa-cloud-sun","fa-solid fa-cloud-sun-rain","fa-brands fa-cloudflare","fa-brands fa-cloudscale","fa-brands fa-cloudsmith","fa-brands fa-cloudversify","fa-solid fa-clover","fa-brands fa-cmplid","fa-solid fa-code","fa-solid fa-code-branch","fa-solid fa-code-commit","fa-solid fa-code-compare","fa-solid fa-code-fork","fa-solid fa-code-merge","fa-solid fa-code-pull-request","fa-brands fa-codepen","fa-brands fa-codiepie","fa-solid fa-coins","fa-solid fa-colon-sign","fa-regular fa-comment","fa-solid fa-comment","fa-solid fa-comment-dollar","fa-regular fa-comment-dots","fa-solid fa-comment-dots","fa-solid fa-comment-medical","fa-solid fa-comment-nodes","fa-solid fa-comment-slash","fa-solid fa-comment-sms","fa-regular fa-comments","fa-solid fa-comments","fa-solid fa-comments-dollar","fa-solid fa-compact-disc","fa-regular fa-compass","fa-solid fa-compass","fa-solid fa-compass-drafting","fa-solid fa-compress","fa-solid fa-computer","fa-solid fa-computer-mouse","fa-brands fa-confluence","fa-brands fa-connectdevelop","fa-brands fa-contao","fa-solid fa-cookie","fa-solid fa-cookie-bite","fa-regular fa-copy","fa-solid fa-copy","fa-regular fa-copyright","fa-solid fa-copyright","fa-brands fa-cotton-bureau","fa-solid fa-couch","fa-solid fa-cow","fa-brands fa-cpanel","fa-brands fa-creative-commons","fa-brands fa-creative-commons-by","fa-brands fa-creative-commons-nc","fa-brands fa-creative-commons-nc-eu","fa-brands fa-creative-commons-nc-jp","fa-brands fa-creative-commons-nd","fa-brands fa-creative-commons-pd","fa-brands fa-creative-commons-pd-alt","fa-brands fa-creative-commons-remix","fa-brands fa-creative-commons-sa","fa-brands fa-creative-commons-sampling","fa-brands fa-creative-commons-sampling-plus","fa-brands fa-creative-commons-share","fa-brands fa-creative-commons-zero","fa-regular fa-credit-card","fa-solid fa-credit-card","fa-brands fa-critical-role","fa-solid fa-crop","fa-solid fa-crop-simple","fa-solid fa-cross","fa-solid fa-crosshairs","fa-solid fa-crow","fa-solid fa-crown","fa-solid fa-crutch","fa-solid fa-cruzeiro-sign","fa-brands fa-css","fa-brands fa-css3","fa-brands fa-css3-alt","fa-solid fa-cube","fa-solid fa-cubes","fa-solid fa-cubes-stacked","fa-brands fa-cuttlefish","fa-solid fa-d","fa-brands fa-d-and-d","fa-brands fa-d-and-d-beyond","fa-brands fa-dailymotion","fa-brands fa-dart-lang","fa-brands fa-dashcube","fa-solid fa-database","fa-brands fa-debian","fa-brands fa-deezer","fa-solid fa-delete-left","fa-brands fa-delicious","fa-solid fa-democrat","fa-brands fa-deploydog","fa-brands fa-deskpro","fa-solid fa-desktop","fa-brands fa-dev","fa-brands fa-deviantart","fa-solid fa-dharmachakra","fa-brands fa-dhl","fa-solid fa-diagram-next","fa-solid fa-diagram-predecessor","fa-solid fa-diagram-project","fa-solid fa-diagram-successor","fa-solid fa-diamond","fa-solid fa-diamond-turn-right","fa-brands fa-diaspora","fa-solid fa-dice","fa-solid fa-dice-d20","fa-solid fa-dice-d6","fa-solid fa-dice-five","fa-solid fa-dice-four","fa-solid fa-dice-one","fa-solid fa-dice-six","fa-solid fa-dice-three","fa-solid fa-dice-two","fa-brands fa-digg","fa-brands fa-digital-ocean","fa-brands fa-discord","fa-brands fa-discourse","fa-solid fa-disease","fa-solid fa-display","fa-brands fa-disqus","fa-solid fa-divide","fa-solid fa-dna","fa-brands fa-dochub","fa-brands fa-docker","fa-solid fa-dog","fa-solid fa-dollar-sign","fa-solid fa-dolly","fa-solid fa-dong-sign","fa-solid fa-door-closed","fa-solid fa-door-open","fa-solid fa-dove","fa-solid fa-down-left-and-up-right-to-center","fa-solid fa-down-long","fa-solid fa-download","fa-brands fa-draft2digital","fa-solid fa-dragon","fa-solid fa-draw-polygon","fa-brands fa-dribbble","fa-brands fa-dropbox","fa-solid fa-droplet","fa-solid fa-droplet-slash","fa-solid fa-drum","fa-solid fa-drum-steelpan","fa-solid fa-drumstick-bite","fa-brands fa-drupal","fa-solid fa-dumbbell","fa-solid fa-dumpster","fa-solid fa-dumpster-fire","fa-solid fa-dungeon","fa-brands fa-duolingo","fa-brands fa-dyalog","fa-solid fa-e","fa-solid fa-ear-deaf","fa-solid fa-ear-listen","fa-brands fa-earlybirds","fa-solid fa-earth-africa","fa-solid fa-earth-americas","fa-solid fa-earth-asia","fa-solid fa-earth-europe","fa-solid fa-earth-oceania","fa-brands fa-ebay","fa-brands fa-edge","fa-brands fa-edge-legacy","fa-solid fa-egg","fa-solid fa-eject","fa-brands fa-elementor","fa-solid fa-elevator","fa-brands fa-eleventy","fa-solid fa-ellipsis","fa-solid fa-ellipsis-vertical","fa-brands fa-ello","fa-brands fa-ember","fa-brands fa-empire","fa-regular fa-envelope","fa-solid fa-envelope","fa-solid fa-envelope-circle-check","fa-regular fa-envelope-open","fa-solid fa-envelope-open","fa-solid fa-envelope-open-text","fa-solid fa-envelopes-bulk","fa-brands fa-envira","fa-solid fa-equals","fa-solid fa-eraser","fa-brands fa-erlang","fa-brands fa-ethereum","fa-solid fa-ethernet","fa-brands fa-etsy","fa-solid fa-euro-sign","fa-brands fa-evernote","fa-solid fa-exclamation","fa-solid fa-expand","fa-brands fa-expeditedssl","fa-solid fa-explosion","fa-regular fa-eye","fa-solid fa-eye","fa-solid fa-eye-dropper","fa-solid fa-eye-low-vision","fa-regular fa-eye-slash","fa-solid fa-eye-slash","fa-solid fa-f","fa-regular fa-face-angry","fa-solid fa-face-angry","fa-regular fa-face-dizzy","fa-solid fa-face-dizzy","fa-regular fa-face-flushed","fa-solid fa-face-flushed","fa-regular fa-face-frown","fa-solid fa-face-frown","fa-regular fa-face-frown-open","fa-solid fa-face-frown-open","fa-regular fa-face-grimace","fa-solid fa-face-grimace","fa-regular fa-face-grin","fa-solid fa-face-grin","fa-regular fa-face-grin-beam","fa-solid fa-face-grin-beam","fa-regular fa-face-grin-beam-sweat","fa-solid fa-face-grin-beam-sweat","fa-regular fa-face-grin-hearts","fa-solid fa-face-grin-hearts","fa-regular fa-face-grin-squint","fa-solid fa-face-grin-squint","fa-regular fa-face-grin-squint-tears","fa-solid fa-face-grin-squint-tears","fa-regular fa-face-grin-stars","fa-solid fa-face-grin-stars","fa-regular fa-face-grin-tears","fa-solid fa-face-grin-tears","fa-regular fa-face-grin-tongue","fa-solid fa-face-grin-tongue","fa-regular fa-face-grin-tongue-squint","fa-solid fa-face-grin-tongue-squint","fa-regular fa-face-grin-tongue-wink","fa-solid fa-face-grin-tongue-wink","fa-regular fa-face-grin-wide","fa-solid fa-face-grin-wide","fa-regular fa-face-grin-wink","fa-solid fa-face-grin-wink","fa-regular fa-face-kiss","fa-solid fa-face-kiss","fa-regular fa-face-kiss-beam","fa-solid fa-face-kiss-beam","fa-regular fa-face-kiss-wink-heart","fa-solid fa-face-kiss-wink-heart","fa-regular fa-face-laugh","fa-solid fa-face-laugh","fa-regular fa-face-laugh-beam","fa-solid fa-face-laugh-beam","fa-regular fa-face-laugh-squint","fa-solid fa-face-laugh-squint","fa-regular fa-face-laugh-wink","fa-solid fa-face-laugh-wink","fa-regular fa-face-meh","fa-solid fa-face-meh","fa-regular fa-face-meh-blank","fa-solid fa-face-meh-blank","fa-regular fa-face-rolling-eyes","fa-solid fa-face-rolling-eyes","fa-regular fa-face-sad-cry","fa-solid fa-face-sad-cry","fa-regular fa-face-sad-tear","fa-solid fa-face-sad-tear","fa-regular fa-face-smile","fa-solid fa-face-smile","fa-regular fa-face-smile-beam","fa-solid fa-face-smile-beam","fa-regular fa-face-smile-wink","fa-solid fa-face-smile-wink","fa-regular fa-face-surprise","fa-solid fa-face-surprise","fa-regular fa-face-tired","fa-solid fa-face-tired","fa-brands fa-facebook","fa-brands fa-facebook-f","fa-brands fa-facebook-messenger","fa-solid fa-fan","fa-brands fa-fantasy-flight-games","fa-solid fa-faucet","fa-solid fa-faucet-drip","fa-solid fa-fax","fa-solid fa-feather","fa-solid fa-feather-pointed","fa-brands fa-fedex","fa-brands fa-fedora","fa-solid fa-ferry","fa-brands fa-figma","fa-regular fa-file","fa-solid fa-file","fa-solid fa-file-arrow-down","fa-solid fa-file-arrow-up","fa-regular fa-file-audio","fa-solid fa-file-audio","fa-solid fa-file-circle-check","fa-solid fa-file-circle-exclamation","fa-solid fa-file-circle-minus","fa-solid fa-file-circle-plus","fa-solid fa-file-circle-question","fa-solid fa-file-circle-xmark","fa-regular fa-file-code","fa-solid fa-file-code","fa-solid fa-file-contract","fa-solid fa-file-csv","fa-regular fa-file-excel","fa-solid fa-file-excel","fa-solid fa-file-export","fa-solid fa-file-fragment","fa-solid fa-file-half-dashed","fa-regular fa-file-image","fa-solid fa-file-image","fa-solid fa-file-import","fa-solid fa-file-invoice","fa-solid fa-file-invoice-dollar","fa-regular fa-file-lines","fa-solid fa-file-lines","fa-solid fa-file-medical","fa-regular fa-file-pdf","fa-solid fa-file-pdf","fa-solid fa-file-pen","fa-regular fa-file-powerpoint","fa-solid fa-file-powerpoint","fa-solid fa-file-prescription","fa-solid fa-file-shield","fa-solid fa-file-signature","fa-regular fa-file-video","fa-solid fa-file-video","fa-solid fa-file-waveform","fa-regular fa-file-word","fa-solid fa-file-word","fa-regular fa-file-zipper","fa-solid fa-file-zipper","fa-brands fa-files-pinwheel","fa-solid fa-fill","fa-solid fa-fill-drip","fa-solid fa-film","fa-solid fa-filter","fa-solid fa-filter-circle-dollar","fa-solid fa-filter-circle-xmark","fa-solid fa-fingerprint","fa-solid fa-fire","fa-solid fa-fire-burner","fa-solid fa-fire-extinguisher","fa-solid fa-fire-flame-curved","fa-solid fa-fire-flame-simple","fa-brands fa-firefox","fa-brands fa-firefox-browser","fa-brands fa-first-order","fa-brands fa-first-order-alt","fa-brands fa-firstdraft","fa-solid fa-fish","fa-solid fa-fish-fins","fa-regular fa-flag","fa-solid fa-flag","fa-solid fa-flag-checkered","fa-solid fa-flag-usa","fa-solid fa-flask","fa-solid fa-flask-vial","fa-brands fa-flickr","fa-brands fa-flipboard","fa-regular fa-floppy-disk","fa-solid fa-floppy-disk","fa-solid fa-florin-sign","fa-brands fa-flutter","fa-brands fa-fly","fa-regular fa-folder","fa-solid fa-folder","fa-regular fa-folder-closed","fa-solid fa-folder-closed","fa-solid fa-folder-minus","fa-regular fa-folder-open","fa-solid fa-folder-open","fa-solid fa-folder-plus","fa-solid fa-folder-tree","fa-solid fa-font","fa-brands fa-font-awesome","fa-regular fa-font-awesome","fa-solid fa-font-awesome","fa-brands fa-fonticons","fa-brands fa-fonticons-fi","fa-solid fa-football","fa-brands fa-fort-awesome","fa-brands fa-fort-awesome-alt","fa-brands fa-forumbee","fa-solid fa-forward","fa-solid fa-forward-fast","fa-solid fa-forward-step","fa-brands fa-foursquare","fa-solid fa-franc-sign","fa-brands fa-free-code-camp","fa-brands fa-freebsd","fa-solid fa-frog","fa-brands fa-fulcrum","fa-regular fa-futbol","fa-solid fa-futbol","fa-solid fa-g","fa-brands fa-galactic-republic","fa-brands fa-galactic-senate","fa-solid fa-gamepad","fa-solid fa-gas-pump","fa-solid fa-gauge","fa-solid fa-gauge-high","fa-solid fa-gauge-simple","fa-solid fa-gauge-simple-high","fa-solid fa-gavel","fa-solid fa-gear","fa-solid fa-gears","fa-regular fa-gem","fa-solid fa-gem","fa-solid fa-genderless","fa-brands fa-get-pocket","fa-brands fa-gg","fa-brands fa-gg-circle","fa-solid fa-ghost","fa-solid fa-gift","fa-solid fa-gifts","fa-brands fa-git","fa-brands fa-git-alt","fa-brands fa-github","fa-brands fa-github-alt","fa-brands fa-gitkraken","fa-brands fa-gitlab","fa-brands fa-gitter","fa-solid fa-glass-water","fa-solid fa-glass-water-droplet","fa-solid fa-glasses","fa-brands fa-glide","fa-brands fa-glide-g","fa-solid fa-globe","fa-brands fa-gofore","fa-brands fa-golang","fa-solid fa-golf-ball-tee","fa-brands fa-goodreads","fa-brands fa-goodreads-g","fa-brands fa-google","fa-brands fa-google-drive","fa-brands fa-google-pay","fa-brands fa-google-play","fa-brands fa-google-plus","fa-brands fa-google-plus-g","fa-brands fa-google-scholar","fa-brands fa-google-wallet","fa-solid fa-gopuram","fa-solid fa-graduation-cap","fa-brands fa-gratipay","fa-brands fa-grav","fa-solid fa-greater-than","fa-solid fa-greater-than-equal","fa-solid fa-grip","fa-solid fa-grip-lines","fa-solid fa-grip-lines-vertical","fa-solid fa-grip-vertical","fa-brands fa-gripfire","fa-solid fa-group-arrows-rotate","fa-brands fa-grunt","fa-solid fa-guarani-sign","fa-brands fa-guilded","fa-solid fa-guitar","fa-brands fa-gulp","fa-solid fa-gun","fa-solid fa-h","fa-brands fa-hacker-news","fa-brands fa-hackerrank","fa-solid fa-hammer","fa-solid fa-hamsa","fa-regular fa-hand","fa-solid fa-hand","fa-regular fa-hand-back-fist","fa-solid fa-hand-back-fist","fa-solid fa-hand-dots","fa-solid fa-hand-fist","fa-solid fa-hand-holding","fa-solid fa-hand-holding-dollar","fa-solid fa-hand-holding-droplet","fa-solid fa-hand-holding-hand","fa-solid fa-hand-holding-heart","fa-solid fa-hand-holding-medical","fa-regular fa-hand-lizard","fa-solid fa-hand-lizard","fa-solid fa-hand-middle-finger","fa-regular fa-hand-peace","fa-solid fa-hand-peace","fa-regular fa-hand-point-down","fa-solid fa-hand-point-down","fa-regular fa-hand-point-left","fa-solid fa-hand-point-left","fa-regular fa-hand-point-right","fa-solid fa-hand-point-right","fa-regular fa-hand-point-up","fa-solid fa-hand-point-up","fa-regular fa-hand-pointer","fa-solid fa-hand-pointer","fa-regular fa-hand-scissors","fa-solid fa-hand-scissors","fa-solid fa-hand-sparkles","fa-regular fa-hand-spock","fa-solid fa-hand-spock","fa-solid fa-handcuffs","fa-solid fa-hands","fa-solid fa-hands-asl-interpreting","fa-solid fa-hands-bound","fa-solid fa-hands-bubbles","fa-solid fa-hands-clapping","fa-solid fa-hands-holding","fa-solid fa-hands-holding-child","fa-solid fa-hands-holding-circle","fa-solid fa-hands-praying","fa-regular fa-handshake","fa-solid fa-handshake","fa-solid fa-handshake-angle","fa-solid fa-handshake-slash","fa-solid fa-hanukiah","fa-regular fa-hard-drive","fa-solid fa-hard-drive","fa-brands fa-hashnode","fa-solid fa-hashtag","fa-solid fa-hat-cowboy","fa-solid fa-hat-cowboy-side","fa-solid fa-hat-wizard","fa-solid fa-head-side-cough","fa-solid fa-head-side-cough-slash","fa-solid fa-head-side-mask","fa-solid fa-head-side-virus","fa-solid fa-heading","fa-regular fa-headphones","fa-solid fa-headphones","fa-solid fa-headset","fa-regular fa-heart","fa-solid fa-heart","fa-solid fa-heart-circle-bolt","fa-solid fa-heart-circle-check","fa-solid fa-heart-circle-exclamation","fa-solid fa-heart-circle-minus","fa-solid fa-heart-circle-plus","fa-solid fa-heart-circle-xmark","fa-solid fa-heart-crack","fa-solid fa-heart-pulse","fa-solid fa-helicopter","fa-solid fa-helicopter-symbol","fa-solid fa-helmet-safety","fa-solid fa-helmet-un","fa-solid fa-hexagon","fa-solid fa-hexagon-nodes","fa-solid fa-hexagon-nodes-bolt","fa-solid fa-highlighter","fa-solid fa-hill-avalanche","fa-solid fa-hill-rockslide","fa-solid fa-hippo","fa-brands fa-hips","fa-brands fa-hire-a-helper","fa-brands fa-hive","fa-solid fa-hockey-puck","fa-solid fa-holly-berry","fa-brands fa-hooli","fa-brands fa-hornbill","fa-solid fa-horse","fa-solid fa-horse-head","fa-regular fa-hospital","fa-solid fa-hospital","fa-solid fa-hospital-user","fa-solid fa-hot-tub-person","fa-solid fa-hotdog","fa-solid fa-hotel","fa-brands fa-hotjar","fa-regular fa-hourglass","fa-solid fa-hourglass","fa-solid fa-hourglass-end","fa-regular fa-hourglass-half","fa-solid fa-hourglass-half","fa-solid fa-hourglass-start","fa-regular fa-house","fa-solid fa-house","fa-solid fa-house-chimney","fa-solid fa-house-chimney-crack","fa-solid fa-house-chimney-medical","fa-solid fa-house-chimney-user","fa-solid fa-house-chimney-window","fa-solid fa-house-circle-check","fa-solid fa-house-circle-exclamation","fa-solid fa-house-circle-xmark","fa-solid fa-house-crack","fa-solid fa-house-fire","fa-solid fa-house-flag","fa-solid fa-house-flood-water","fa-solid fa-house-flood-water-circle-arrow-right","fa-solid fa-house-laptop","fa-solid fa-house-lock","fa-solid fa-house-medical","fa-solid fa-house-medical-circle-check","fa-solid fa-house-medical-circle-exclamation","fa-solid fa-house-medical-circle-xmark","fa-solid fa-house-medical-flag","fa-solid fa-house-signal","fa-solid fa-house-tsunami","fa-solid fa-house-user","fa-brands fa-houzz","fa-solid fa-hryvnia-sign","fa-brands fa-html5","fa-brands fa-hubspot","fa-solid fa-hurricane","fa-solid fa-i","fa-solid fa-i-cursor","fa-solid fa-ice-cream","fa-solid fa-icicles","fa-solid fa-icons","fa-regular fa-id-badge","fa-solid fa-id-badge","fa-regular fa-id-card","fa-solid fa-id-card","fa-solid fa-id-card-clip","fa-brands fa-ideal","fa-solid fa-igloo","fa-regular fa-image","fa-solid fa-image","fa-solid fa-image-portrait","fa-regular fa-images","fa-solid fa-images","fa-brands fa-imdb","fa-solid fa-inbox","fa-solid fa-indent","fa-solid fa-indian-rupee-sign","fa-solid fa-industry","fa-solid fa-infinity","fa-solid fa-info","fa-brands fa-innosoft","fa-brands fa-instagram","fa-brands fa-instalod","fa-brands fa-intercom","fa-brands fa-internet-explorer","fa-brands fa-invision","fa-brands fa-ioxhost","fa-solid fa-italic","fa-brands fa-itch-io","fa-brands fa-itunes","fa-brands fa-itunes-note","fa-solid fa-j","fa-solid fa-jar","fa-solid fa-jar-wheat","fa-brands fa-java","fa-solid fa-jedi","fa-brands fa-jedi-order","fa-brands fa-jenkins","fa-solid fa-jet-fighter","fa-solid fa-jet-fighter-up","fa-brands fa-jira","fa-brands fa-joget","fa-solid fa-joint","fa-brands fa-joomla","fa-brands fa-js","fa-brands fa-jsfiddle","fa-solid fa-jug-detergent","fa-brands fa-jxl","fa-solid fa-k","fa-solid fa-kaaba","fa-brands fa-kaggle","fa-brands fa-kakao-talk","fa-solid fa-key","fa-brands fa-keybase","fa-regular fa-keyboard","fa-solid fa-keyboard","fa-brands fa-keycdn","fa-solid fa-khanda","fa-brands fa-kickstarter","fa-brands fa-kickstarter-k","fa-solid fa-kip-sign","fa-solid fa-kit-medical","fa-solid fa-kitchen-set","fa-solid fa-kiwi-bird","fa-brands fa-korvue","fa-solid fa-l","fa-solid fa-land-mine-on","fa-solid fa-landmark","fa-solid fa-landmark-dome","fa-solid fa-landmark-flag","fa-solid fa-language","fa-solid fa-laptop","fa-solid fa-laptop-code","fa-solid fa-laptop-file","fa-solid fa-laptop-medical","fa-brands fa-laravel","fa-solid fa-lari-sign","fa-brands fa-lastfm","fa-solid fa-layer-group","fa-solid fa-leaf","fa-brands fa-leanpub","fa-solid fa-left-long","fa-solid fa-left-right","fa-regular fa-lemon","fa-solid fa-lemon","fa-brands fa-less","fa-solid fa-less-than","fa-solid fa-less-than-equal","fa-brands fa-letterboxd","fa-regular fa-life-ring","fa-solid fa-life-ring","fa-regular fa-lightbulb","fa-solid fa-lightbulb","fa-brands fa-line","fa-solid fa-lines-leaning","fa-solid fa-link","fa-solid fa-link-slash","fa-brands fa-linkedin","fa-brands fa-linkedin-in","fa-brands fa-linktree","fa-brands fa-linode","fa-brands fa-linux","fa-solid fa-lira-sign","fa-solid fa-list","fa-solid fa-list-check","fa-solid fa-list-ol","fa-solid fa-list-ul","fa-solid fa-litecoin-sign","fa-solid fa-location-arrow","fa-solid fa-location-crosshairs","fa-solid fa-location-dot","fa-solid fa-location-pin","fa-solid fa-location-pin-lock","fa-solid fa-lock","fa-solid fa-lock-open","fa-solid fa-locust","fa-brands fa-lumon","fa-brands fa-lumon-drop","fa-solid fa-lungs","fa-solid fa-lungs-virus","fa-brands fa-lyft","fa-solid fa-m","fa-brands fa-magento","fa-solid fa-magnet","fa-solid fa-magnifying-glass","fa-solid fa-magnifying-glass-arrow-right","fa-solid fa-magnifying-glass-chart","fa-solid fa-magnifying-glass-dollar","fa-solid fa-magnifying-glass-location","fa-solid fa-magnifying-glass-minus","fa-solid fa-magnifying-glass-plus","fa-brands fa-mailchimp","fa-solid fa-manat-sign","fa-brands fa-mandalorian","fa-regular fa-map","fa-solid fa-map","fa-solid fa-map-location","fa-solid fa-map-location-dot","fa-solid fa-map-pin","fa-brands fa-markdown","fa-solid fa-marker","fa-solid fa-mars","fa-solid fa-mars-and-venus","fa-solid fa-mars-and-venus-burst","fa-solid fa-mars-double","fa-solid fa-mars-stroke","fa-solid fa-mars-stroke-right","fa-solid fa-mars-stroke-up","fa-solid fa-martini-glass","fa-solid fa-martini-glass-citrus","fa-solid fa-martini-glass-empty","fa-solid fa-mask","fa-solid fa-mask-face","fa-solid fa-mask-ventilator","fa-solid fa-masks-theater","fa-brands fa-mastodon","fa-solid fa-mattress-pillow","fa-brands fa-maxcdn","fa-solid fa-maximize","fa-brands fa-mdb","fa-solid fa-medal","fa-brands fa-medapps","fa-brands fa-medium","fa-brands fa-medium-m","fa-brands fa-medrt","fa-brands fa-meetup","fa-brands fa-megaport","fa-solid fa-memory","fa-brands fa-mendeley","fa-solid fa-menorah","fa-solid fa-mercury","fa-regular fa-message","fa-solid fa-message","fa-brands fa-meta","fa-solid fa-meteor","fa-brands fa-microblog","fa-solid fa-microchip","fa-solid fa-microphone","fa-solid fa-microphone-lines","fa-solid fa-microphone-lines-slash","fa-solid fa-microphone-slash","fa-solid fa-microscope","fa-brands fa-microsoft","fa-solid fa-mill-sign","fa-solid fa-minimize","fa-brands fa-mintbit","fa-solid fa-minus","fa-solid fa-mitten","fa-brands fa-mix","fa-brands fa-mixcloud","fa-brands fa-mixer","fa-brands fa-mizuni","fa-solid fa-mobile","fa-solid fa-mobile-button","fa-solid fa-mobile-retro","fa-solid fa-mobile-screen","fa-solid fa-mobile-screen-button","fa-solid fa-mobile-vibrate","fa-brands fa-modx","fa-brands fa-monero","fa-solid fa-money-bill","fa-regular fa-money-bill-1","fa-solid fa-money-bill-1","fa-solid fa-money-bill-1-wave","fa-solid fa-money-bill-transfer","fa-solid fa-money-bill-trend-up","fa-solid fa-money-bill-wave","fa-solid fa-money-bill-wheat","fa-solid fa-money-bills","fa-solid fa-money-check","fa-solid fa-money-check-dollar","fa-solid fa-monument","fa-regular fa-moon","fa-solid fa-moon","fa-solid fa-mortar-pestle","fa-solid fa-mosque","fa-solid fa-mosquito","fa-solid fa-mosquito-net","fa-solid fa-motorcycle","fa-solid fa-mound","fa-solid fa-mountain","fa-solid fa-mountain-city","fa-solid fa-mountain-sun","fa-solid fa-mug-hot","fa-solid fa-mug-saucer","fa-solid fa-music","fa-solid fa-n","fa-solid fa-naira-sign","fa-brands fa-napster","fa-brands fa-neos","fa-solid fa-network-wired","fa-solid fa-neuter","fa-regular fa-newspaper","fa-solid fa-newspaper","fa-brands fa-nfc-directional","fa-brands fa-nfc-symbol","fa-brands fa-nimblr","fa-brands fa-node","fa-brands fa-node-js","fa-solid fa-non-binary","fa-solid fa-not-equal","fa-solid fa-notdef","fa-regular fa-note-sticky","fa-solid fa-note-sticky","fa-solid fa-notes-medical","fa-brands fa-notion","fa-brands fa-npm","fa-brands fa-ns8","fa-brands fa-nutritionix","fa-solid fa-o","fa-regular fa-object-group","fa-solid fa-object-group","fa-regular fa-object-ungroup","fa-solid fa-object-ungroup","fa-solid fa-octagon","fa-brands fa-octopus-deploy","fa-brands fa-odnoklassniki","fa-brands fa-odysee","fa-solid fa-oil-can","fa-solid fa-oil-well","fa-brands fa-old-republic","fa-solid fa-om","fa-brands fa-openai","fa-brands fa-opencart","fa-brands fa-openid","fa-brands fa-opensuse","fa-brands fa-opera","fa-brands fa-optin-monster","fa-brands fa-orcid","fa-brands fa-osi","fa-solid fa-otter","fa-solid fa-outdent","fa-solid fa-p","fa-brands fa-padlet","fa-brands fa-page4","fa-brands fa-pagelines","fa-solid fa-pager","fa-solid fa-paint-roller","fa-solid fa-paintbrush","fa-solid fa-palette","fa-brands fa-palfed","fa-solid fa-pallet","fa-brands fa-pandora","fa-solid fa-panorama","fa-regular fa-paper-plane","fa-solid fa-paper-plane","fa-solid fa-paperclip","fa-solid fa-parachute-box","fa-solid fa-paragraph","fa-solid fa-passport","fa-regular fa-paste","fa-solid fa-paste","fa-brands fa-patreon","fa-solid fa-pause","fa-solid fa-paw","fa-brands fa-paypal","fa-solid fa-peace","fa-solid fa-pen","fa-solid fa-pen-clip","fa-solid fa-pen-fancy","fa-solid fa-pen-nib","fa-solid fa-pen-ruler","fa-regular fa-pen-to-square","fa-solid fa-pen-to-square","fa-solid fa-pencil","fa-solid fa-pentagon","fa-solid fa-people-arrows","fa-solid fa-people-carry-box","fa-solid fa-people-group","fa-solid fa-people-line","fa-solid fa-people-pulling","fa-solid fa-people-robbery","fa-solid fa-people-roof","fa-solid fa-pepper-hot","fa-brands fa-perbyte","fa-solid fa-percent","fa-brands fa-periscope","fa-solid fa-person","fa-solid fa-person-arrow-down-to-line","fa-solid fa-person-arrow-up-from-line","fa-solid fa-person-biking","fa-solid fa-person-booth","fa-solid fa-person-breastfeeding","fa-solid fa-person-burst","fa-solid fa-person-cane","fa-solid fa-person-chalkboard","fa-solid fa-person-circle-check","fa-solid fa-person-circle-exclamation","fa-solid fa-person-circle-minus","fa-solid fa-person-circle-plus","fa-solid fa-person-circle-question","fa-solid fa-person-circle-xmark","fa-solid fa-person-digging","fa-solid fa-person-dots-from-line","fa-solid fa-person-dress","fa-solid fa-person-dress-burst","fa-solid fa-person-drowning","fa-solid fa-person-falling","fa-solid fa-person-falling-burst","fa-solid fa-person-half-dress","fa-solid fa-person-harassing","fa-solid fa-person-hiking","fa-solid fa-person-military-pointing","fa-solid fa-person-military-rifle","fa-solid fa-person-military-to-person","fa-solid fa-person-praying","fa-solid fa-person-pregnant","fa-solid fa-person-rays","fa-solid fa-person-rifle","fa-solid fa-person-running","fa-solid fa-person-shelter","fa-solid fa-person-skating","fa-solid fa-person-skiing","fa-solid fa-person-skiing-nordic","fa-solid fa-person-snowboarding","fa-solid fa-person-swimming","fa-solid fa-person-through-window","fa-solid fa-person-walking","fa-solid fa-person-walking-arrow-loop-left","fa-solid fa-person-walking-arrow-right","fa-solid fa-person-walking-dashed-line-arrow-right","fa-solid fa-person-walking-luggage","fa-solid fa-person-walking-with-cane","fa-solid fa-peseta-sign","fa-solid fa-peso-sign","fa-brands fa-phabricator","fa-brands fa-phoenix-framework","fa-brands fa-phoenix-squadron","fa-solid fa-phone","fa-solid fa-phone-flip","fa-solid fa-phone-slash","fa-solid fa-phone-volume","fa-solid fa-photo-film","fa-brands fa-php","fa-brands fa-pied-piper","fa-brands fa-pied-piper-alt","fa-brands fa-pied-piper-hat","fa-brands fa-pied-piper-pp","fa-brands fa-pied-piper-square","fa-solid fa-piggy-bank","fa-solid fa-pills","fa-brands fa-pinterest","fa-brands fa-pinterest-p","fa-brands fa-pix","fa-brands fa-pixelfed","fa-brands fa-pixiv","fa-solid fa-pizza-slice","fa-solid fa-place-of-worship","fa-solid fa-plane","fa-solid fa-plane-arrival","fa-solid fa-plane-circle-check","fa-solid fa-plane-circle-exclamation","fa-solid fa-plane-circle-xmark","fa-solid fa-plane-departure","fa-solid fa-plane-lock","fa-solid fa-plane-slash","fa-solid fa-plane-up","fa-solid fa-plant-wilt","fa-solid fa-plate-wheat","fa-solid fa-play","fa-brands fa-playstation","fa-solid fa-plug","fa-solid fa-plug-circle-bolt","fa-solid fa-plug-circle-check","fa-solid fa-plug-circle-exclamation","fa-solid fa-plug-circle-minus","fa-solid fa-plug-circle-plus","fa-solid fa-plug-circle-xmark","fa-solid fa-plus","fa-solid fa-plus-minus","fa-solid fa-podcast","fa-solid fa-poo","fa-solid fa-poo-storm","fa-solid fa-poop","fa-solid fa-power-off","fa-solid fa-prescription","fa-solid fa-prescription-bottle","fa-solid fa-prescription-bottle-medical","fa-solid fa-print","fa-brands fa-product-hunt","fa-solid fa-pump-medical","fa-solid fa-pump-soap","fa-brands fa-pushed","fa-solid fa-puzzle-piece","fa-brands fa-python","fa-solid fa-q","fa-brands fa-qq","fa-solid fa-qrcode","fa-solid fa-question","fa-brands fa-quinscape","fa-brands fa-quora","fa-solid fa-quote-left","fa-solid fa-quote-right","fa-solid fa-r","fa-brands fa-r-project","fa-solid fa-radiation","fa-solid fa-radio","fa-solid fa-rainbow","fa-solid fa-ranking-star","fa-brands fa-raspberry-pi","fa-brands fa-ravelry","fa-brands fa-react","fa-brands fa-reacteurope","fa-brands fa-readme","fa-brands fa-rebel","fa-solid fa-receipt","fa-solid fa-record-vinyl","fa-solid fa-rectangle-ad","fa-regular fa-rectangle-list","fa-solid fa-rectangle-list","fa-regular fa-rectangle-xmark","fa-solid fa-rectangle-xmark","fa-solid fa-recycle","fa-brands fa-red-river","fa-brands fa-reddit","fa-brands fa-reddit-alien","fa-brands fa-redhat","fa-regular fa-registered","fa-solid fa-registered","fa-brands fa-rendact","fa-brands fa-renren","fa-solid fa-repeat","fa-solid fa-reply","fa-solid fa-reply-all","fa-brands fa-replyd","fa-solid fa-republican","fa-brands fa-researchgate","fa-brands fa-resolving","fa-solid fa-restroom","fa-solid fa-retweet","fa-brands fa-rev","fa-solid fa-ribbon","fa-solid fa-right-from-bracket","fa-solid fa-right-left","fa-solid fa-right-long","fa-solid fa-right-to-bracket","fa-solid fa-ring","fa-solid fa-road","fa-solid fa-road-barrier","fa-solid fa-road-bridge","fa-solid fa-road-circle-check","fa-solid fa-road-circle-exclamation","fa-solid fa-road-circle-xmark","fa-solid fa-road-lock","fa-solid fa-road-spikes","fa-solid fa-robot","fa-solid fa-rocket","fa-brands fa-rocketchat","fa-brands fa-rockrms","fa-solid fa-rotate","fa-solid fa-rotate-left","fa-solid fa-rotate-right","fa-solid fa-route","fa-solid fa-rss","fa-solid fa-ruble-sign","fa-solid fa-rug","fa-solid fa-ruler","fa-solid fa-ruler-combined","fa-solid fa-ruler-horizontal","fa-solid fa-ruler-vertical","fa-solid fa-rupee-sign","fa-solid fa-rupiah-sign","fa-brands fa-rust","fa-solid fa-s","fa-solid fa-sack-dollar","fa-solid fa-sack-xmark","fa-brands fa-safari","fa-solid fa-sailboat","fa-brands fa-salesforce","fa-brands fa-sass","fa-solid fa-satellite","fa-solid fa-satellite-dish","fa-solid fa-scale-balanced","fa-solid fa-scale-unbalanced","fa-solid fa-scale-unbalanced-flip","fa-brands fa-schlix","fa-solid fa-school","fa-solid fa-school-circle-check","fa-solid fa-school-circle-exclamation","fa-solid fa-school-circle-xmark","fa-solid fa-school-flag","fa-solid fa-school-lock","fa-solid fa-scissors","fa-brands fa-screenpal","fa-solid fa-screwdriver","fa-solid fa-screwdriver-wrench","fa-brands fa-scribd","fa-solid fa-scroll","fa-solid fa-scroll-torah","fa-solid fa-sd-card","fa-brands fa-searchengin","fa-solid fa-section","fa-solid fa-seedling","fa-brands fa-sellcast","fa-brands fa-sellsy","fa-solid fa-septagon","fa-solid fa-server","fa-brands fa-servicestack","fa-solid fa-shapes","fa-solid fa-share","fa-regular fa-share-from-square","fa-solid fa-share-from-square","fa-solid fa-share-nodes","fa-solid fa-sheet-plastic","fa-solid fa-shekel-sign","fa-solid fa-shield","fa-solid fa-shield-cat","fa-solid fa-shield-dog","fa-solid fa-shield-halved","fa-solid fa-shield-heart","fa-solid fa-shield-virus","fa-solid fa-ship","fa-solid fa-shirt","fa-brands fa-shirtsinbulk","fa-solid fa-shoe-prints","fa-brands fa-shoelace","fa-solid fa-shop","fa-solid fa-shop-lock","fa-solid fa-shop-slash","fa-brands fa-shopify","fa-brands fa-shopware","fa-solid fa-shower","fa-solid fa-shrimp","fa-solid fa-shuffle","fa-solid fa-shuttle-space","fa-solid fa-sign-hanging","fa-solid fa-signal","fa-brands fa-signal-messenger","fa-solid fa-signature","fa-solid fa-signs-post","fa-solid fa-sim-card","fa-brands fa-simplybuilt","fa-solid fa-single-quote-left","fa-solid fa-single-quote-right","fa-solid fa-sink","fa-brands fa-sistrix","fa-solid fa-sitemap","fa-brands fa-sith","fa-brands fa-sitrox","fa-brands fa-sketch","fa-solid fa-skull","fa-solid fa-skull-crossbones","fa-brands fa-skyatlas","fa-brands fa-skype","fa-brands fa-slack","fa-brands fa-slack-hash","fa-solid fa-slash","fa-solid fa-sleigh","fa-solid fa-sliders","fa-brands fa-slideshare","fa-solid fa-smog","fa-solid fa-smoking","fa-brands fa-snapchat","fa-brands fa-snapchat-ghost","fa-regular fa-snowflake","fa-solid fa-snowflake","fa-solid fa-snowman","fa-solid fa-snowplow","fa-solid fa-soap","fa-solid fa-socks","fa-solid fa-solar-panel","fa-solid fa-sort","fa-solid fa-sort-down","fa-solid fa-sort-up","fa-brands fa-soundcloud","fa-brands fa-sourcetree","fa-solid fa-spa","fa-brands fa-space-awesome","fa-solid fa-spaghetti-monster-flying","fa-brands fa-speakap","fa-brands fa-speaker-deck","fa-solid fa-spell-check","fa-solid fa-spider","fa-solid fa-spinner","fa-solid fa-spiral","fa-solid fa-splotch","fa-solid fa-spoon","fa-brands fa-spotify","fa-solid fa-spray-can","fa-solid fa-spray-can-sparkles","fa-regular fa-square","fa-solid fa-square","fa-solid fa-square-arrow-up-right","fa-brands fa-square-behance","fa-solid fa-square-binary","fa-brands fa-square-bluesky","fa-regular fa-square-caret-down","fa-solid fa-square-caret-down","fa-regular fa-square-caret-left","fa-solid fa-square-caret-left","fa-regular fa-square-caret-right","fa-solid fa-square-caret-right","fa-regular fa-square-caret-up","fa-solid fa-square-caret-up","fa-regular fa-square-check","fa-solid fa-square-check","fa-brands fa-square-dribbble","fa-solid fa-square-envelope","fa-brands fa-square-facebook","fa-brands fa-square-figma","fa-brands fa-square-font-awesome","fa-brands fa-square-font-awesome-stroke","fa-regular fa-square-full","fa-solid fa-square-full","fa-brands fa-square-git","fa-brands fa-square-github","fa-brands fa-square-gitlab","fa-brands fa-square-google-plus","fa-solid fa-square-h","fa-brands fa-square-hacker-news","fa-brands fa-square-instagram","fa-brands fa-square-js","fa-brands fa-square-lastfm","fa-brands fa-square-letterboxd","fa-brands fa-square-linkedin","fa-regular fa-square-minus","fa-solid fa-square-minus","fa-solid fa-square-nfi","fa-brands fa-square-odnoklassniki","fa-solid fa-square-parking","fa-solid fa-square-pen","fa-solid fa-square-person-confined","fa-solid fa-square-phone","fa-solid fa-square-phone-flip","fa-brands fa-square-pied-piper","fa-brands fa-square-pinterest","fa-regular fa-square-plus","fa-solid fa-square-plus","fa-solid fa-square-poll-horizontal","fa-solid fa-square-poll-vertical","fa-brands fa-square-reddit","fa-solid fa-square-root-variable","fa-solid fa-square-rss","fa-solid fa-square-share-nodes","fa-brands fa-square-snapchat","fa-brands fa-square-steam","fa-brands fa-square-threads","fa-brands fa-square-tumblr","fa-brands fa-square-twitter","fa-solid fa-square-up-right","fa-brands fa-square-upwork","fa-brands fa-square-viadeo","fa-brands fa-square-vimeo","fa-solid fa-square-virus","fa-brands fa-square-web-awesome","fa-brands fa-square-web-awesome-stroke","fa-brands fa-square-whatsapp","fa-brands fa-square-x-twitter","fa-brands fa-square-xing","fa-solid fa-square-xmark","fa-brands fa-square-youtube","fa-brands fa-squarespace","fa-brands fa-stack-exchange","fa-brands fa-stack-overflow","fa-brands fa-stackpath","fa-solid fa-staff-snake","fa-solid fa-stairs","fa-solid fa-stamp","fa-solid fa-stapler","fa-regular fa-star","fa-solid fa-star","fa-solid fa-star-and-crescent","fa-regular fa-star-half","fa-solid fa-star-half","fa-regular fa-star-half-stroke","fa-solid fa-star-half-stroke","fa-solid fa-star-of-david","fa-solid fa-star-of-life","fa-brands fa-staylinked","fa-brands fa-steam","fa-brands fa-steam-symbol","fa-solid fa-sterling-sign","fa-solid fa-stethoscope","fa-brands fa-sticker-mule","fa-solid fa-stop","fa-solid fa-stopwatch","fa-solid fa-stopwatch-20","fa-solid fa-store","fa-solid fa-store-slash","fa-brands fa-strava","fa-solid fa-street-view","fa-solid fa-strikethrough","fa-brands fa-stripe","fa-brands fa-stripe-s","fa-solid fa-stroopwafel","fa-brands fa-stubber","fa-brands fa-studiovinari","fa-brands fa-stumbleupon","fa-brands fa-stumbleupon-circle","fa-solid fa-subscript","fa-solid fa-suitcase","fa-solid fa-suitcase-medical","fa-solid fa-suitcase-rolling","fa-regular fa-sun","fa-solid fa-sun","fa-solid fa-sun-plant-wilt","fa-brands fa-superpowers","fa-solid fa-superscript","fa-brands fa-supple","fa-brands fa-suse","fa-solid fa-swatchbook","fa-brands fa-swift","fa-brands fa-symfony","fa-solid fa-synagogue","fa-solid fa-syringe","fa-solid fa-t","fa-solid fa-table","fa-solid fa-table-cells","fa-solid fa-table-cells-column-lock","fa-solid fa-table-cells-large","fa-solid fa-table-cells-row-lock","fa-solid fa-table-cells-row-unlock","fa-solid fa-table-columns","fa-solid fa-table-list","fa-solid fa-table-tennis-paddle-ball","fa-solid fa-tablet","fa-solid fa-tablet-button","fa-solid fa-tablet-screen-button","fa-solid fa-tablets","fa-solid fa-tachograph-digital","fa-solid fa-tag","fa-solid fa-tags","fa-solid fa-tape","fa-solid fa-tarp","fa-solid fa-tarp-droplet","fa-solid fa-taxi","fa-brands fa-teamspeak","fa-solid fa-teeth","fa-solid fa-teeth-open","fa-brands fa-telegram","fa-brands fa-telegram-plane","fa-solid fa-temperature-arrow-down","fa-solid fa-temperature-arrow-up","fa-solid fa-temperature-empty","fa-solid fa-temperature-full","fa-solid fa-temperature-half","fa-solid fa-temperature-high","fa-solid fa-temperature-low","fa-solid fa-temperature-quarter","fa-solid fa-temperature-three-quarters","fa-brands fa-tencent-weibo","fa-solid fa-tenge-sign","fa-solid fa-tent","fa-solid fa-tent-arrow-down-to-line","fa-solid fa-tent-arrow-left-right","fa-solid fa-tent-arrow-turn-left","fa-solid fa-tent-arrows-down","fa-solid fa-tents","fa-solid fa-terminal","fa-brands fa-tex","fa-solid fa-text-height","fa-solid fa-text-slash","fa-solid fa-text-width","fa-brands fa-the-red-yeti","fa-brands fa-themeco","fa-brands fa-themeisle","fa-solid fa-thermometer","fa-brands fa-think-peaks","fa-brands fa-threads","fa-regular fa-thumbs-down","fa-solid fa-thumbs-down","fa-regular fa-thumbs-up","fa-solid fa-thumbs-up","fa-solid fa-thumbtack","fa-solid fa-thumbtack-slash","fa-solid fa-ticket","fa-solid fa-ticket-simple","fa-brands fa-tidal","fa-brands fa-tiktok","fa-solid fa-timeline","fa-solid fa-toggle-off","fa-solid fa-toggle-on","fa-solid fa-toilet","fa-solid fa-toilet-paper","fa-solid fa-toilet-paper-slash","fa-solid fa-toilet-portable","fa-solid fa-toilets-portable","fa-solid fa-toolbox","fa-solid fa-tooth","fa-solid fa-torii-gate","fa-solid fa-tornado","fa-solid fa-tower-broadcast","fa-solid fa-tower-cell","fa-solid fa-tower-observation","fa-solid fa-tractor","fa-brands fa-trade-federation","fa-solid fa-trademark","fa-solid fa-traffic-light","fa-solid fa-trailer","fa-solid fa-train","fa-solid fa-train-subway","fa-solid fa-train-tram","fa-solid fa-transgender","fa-solid fa-trash","fa-solid fa-trash-arrow-up","fa-regular fa-trash-can","fa-solid fa-trash-can","fa-solid fa-trash-can-arrow-up","fa-solid fa-tree","fa-solid fa-tree-city","fa-brands fa-trello","fa-solid fa-triangle-exclamation","fa-solid fa-trophy","fa-solid fa-trowel","fa-solid fa-trowel-bricks","fa-regular fa-truck","fa-solid fa-truck","fa-solid fa-truck-arrow-right","fa-solid fa-truck-droplet","fa-solid fa-truck-fast","fa-solid fa-truck-field","fa-solid fa-truck-field-un","fa-solid fa-truck-front","fa-solid fa-truck-medical","fa-solid fa-truck-monster","fa-solid fa-truck-moving","fa-solid fa-truck-pickup","fa-solid fa-truck-plane","fa-solid fa-truck-ramp-box","fa-solid fa-tty","fa-brands fa-tumblr","fa-solid fa-turkish-lira-sign","fa-solid fa-turn-down","fa-solid fa-turn-up","fa-solid fa-tv","fa-brands fa-twitch","fa-brands fa-twitter","fa-brands fa-typo3","fa-solid fa-u","fa-brands fa-uber","fa-brands fa-ubuntu","fa-brands fa-uikit","fa-brands fa-umbraco","fa-solid fa-umbrella","fa-solid fa-umbrella-beach","fa-brands fa-uncharted","fa-solid fa-underline","fa-brands fa-uniregistry","fa-brands fa-unity","fa-solid fa-universal-access","fa-solid fa-unlock","fa-solid fa-unlock-keyhole","fa-brands fa-unsplash","fa-brands fa-untappd","fa-solid fa-up-down","fa-solid fa-up-down-left-right","fa-solid fa-up-long","fa-solid fa-up-right-and-down-left-from-center","fa-solid fa-up-right-from-square","fa-solid fa-upload","fa-brands fa-ups","fa-brands fa-upwork","fa-brands fa-usb","fa-regular fa-user","fa-solid fa-user","fa-solid fa-user-astronaut","fa-solid fa-user-check","fa-solid fa-user-clock","fa-solid fa-user-doctor","fa-solid fa-user-gear","fa-solid fa-user-graduate","fa-solid fa-user-group","fa-solid fa-user-injured","fa-solid fa-user-lock","fa-solid fa-user-minus","fa-solid fa-user-ninja","fa-solid fa-user-nurse","fa-solid fa-user-pen","fa-solid fa-user-plus","fa-solid fa-user-secret","fa-solid fa-user-shield","fa-solid fa-user-slash","fa-solid fa-user-tag","fa-solid fa-user-tie","fa-solid fa-user-xmark","fa-solid fa-users","fa-solid fa-users-between-lines","fa-solid fa-users-gear","fa-solid fa-users-line","fa-solid fa-users-rays","fa-solid fa-users-rectangle","fa-solid fa-users-slash","fa-solid fa-users-viewfinder","fa-brands fa-usps","fa-brands fa-ussunnah","fa-solid fa-utensils","fa-solid fa-v","fa-brands fa-vaadin","fa-solid fa-van-shuttle","fa-solid fa-vault","fa-solid fa-venus","fa-solid fa-venus-double","fa-solid fa-venus-mars","fa-solid fa-vest","fa-solid fa-vest-patches","fa-brands fa-viacoin","fa-brands fa-viadeo","fa-solid fa-vial","fa-solid fa-vial-circle-check","fa-solid fa-vial-virus","fa-solid fa-vials","fa-brands fa-viber","fa-solid fa-video","fa-solid fa-video-slash","fa-solid fa-vihara","fa-brands fa-vimeo","fa-brands fa-vimeo-v","fa-brands fa-vine","fa-solid fa-virus","fa-solid fa-virus-covid","fa-solid fa-virus-covid-slash","fa-solid fa-virus-slash","fa-solid fa-viruses","fa-brands fa-vk","fa-brands fa-vnv","fa-solid fa-voicemail","fa-solid fa-volcano","fa-solid fa-volleyball","fa-solid fa-volume-high","fa-solid fa-volume-low","fa-solid fa-volume-off","fa-solid fa-volume-xmark","fa-solid fa-vr-cardboard","fa-brands fa-vsco","fa-brands fa-vuejs","fa-solid fa-w","fa-brands fa-w3c","fa-solid fa-walkie-talkie","fa-solid fa-wallet","fa-solid fa-wand-magic","fa-solid fa-wand-magic-sparkles","fa-solid fa-wand-sparkles","fa-solid fa-warehouse","fa-brands fa-watchman-monitoring","fa-solid fa-water","fa-solid fa-water-ladder","fa-solid fa-wave-square","fa-brands fa-waze","fa-brands fa-web-awesome","fa-solid fa-web-awesome","fa-brands fa-webflow","fa-brands fa-weebly","fa-brands fa-weibo","fa-solid fa-weight-hanging","fa-solid fa-weight-scale","fa-brands fa-weixin","fa-brands fa-whatsapp","fa-solid fa-wheat-awn","fa-solid fa-wheat-awn-circle-exclamation","fa-solid fa-wheelchair","fa-solid fa-wheelchair-move","fa-solid fa-whiskey-glass","fa-brands fa-whmcs","fa-solid fa-wifi","fa-brands fa-wikipedia-w","fa-solid fa-wind","fa-regular fa-window-maximize","fa-solid fa-window-maximize","fa-regular fa-window-minimize","fa-solid fa-window-minimize","fa-regular fa-window-restore","fa-solid fa-window-restore","fa-brands fa-windows","fa-solid fa-wine-bottle","fa-solid fa-wine-glass","fa-solid fa-wine-glass-empty","fa-brands fa-wirsindhandwerk","fa-brands fa-wix","fa-brands fa-wizards-of-the-coast","fa-brands fa-wodu","fa-brands fa-wolf-pack-battalion","fa-solid fa-won-sign","fa-brands fa-wordpress","fa-brands fa-wordpress-simple","fa-solid fa-worm","fa-brands fa-wpbeginner","fa-brands fa-wpexplorer","fa-brands fa-wpforms","fa-brands fa-wpressr","fa-solid fa-wrench","fa-brands fa-wsh","fa-solid fa-x","fa-solid fa-x-ray","fa-brands fa-x-twitter","fa-brands fa-xbox","fa-brands fa-xing","fa-solid fa-xmark","fa-solid fa-xmarks-lines","fa-solid fa-y","fa-brands fa-y-combinator","fa-brands fa-yahoo","fa-brands fa-yammer","fa-brands fa-yandex","fa-brands fa-yandex-international","fa-brands fa-yarn","fa-brands fa-yelp","fa-solid fa-yen-sign","fa-solid fa-yin-yang","fa-brands fa-yoast","fa-brands fa-youtube","fa-solid fa-z","fa-brands fa-zhihu"],Lt=s.GradientPicker||s.__experimentalGradientPicker,Tt=e=>(e=>e?.slice(e?.indexOf(" fa-")+4))(e)?.split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ");function Rt(){return Rt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)({}).hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},Rt.apply(null,arguments)}function It(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i<t;i++)n[i]=e[i];return n}function Ot(e,t){if(e){if("string"==typeof e)return It(e,t);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?It(e,t):void 0}}function Nt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var n,o,a,r,s=[],l=!0,c=!1;try{if(a=(i=i.call(e)).next,0===t){if(Object(i)!==i)return;l=!1}else for(;!(l=(n=a.call(i)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=i.return&&(r=i.return(),Object(r)!==r))return}finally{if(c)throw o}}return s}}(e,t)||Ot(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(e){return Dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Dt(e)}function Pt(e){var t=function(e){if("object"!=Dt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=Dt(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Dt(t)?t:t+""}function zt(e,t,i){return(t=Pt(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Ft(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(i).filter((function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable}))),n.forEach((function(t){zt(e,t,i[t])}))}return e}function Bt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ht(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Pt(n.key),n)}}function Wt(e,t,i){return t&&Ht(e.prototype,t),i&&Ht(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function jt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ut(e,t){if(t&&("object"==Dt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return jt(e)}function Vt(e){return Vt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Vt(e)}function Gt(e,t){return Gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Gt(e,t)}function Kt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gt(e,t)}(0,r.withSelect)((e=>{const{gradients:t}=e("core/block-editor").getSettings();return{gradients:t.length>12?t.slice(0,12):t}}))((e=>{const{className:t="",label:i=(0,a.__)("Select Icon:"),value:o={},onChange:r,defaults:l={},isSize:c=!0,isColor:d=!0,gradients:h}=e,f={class:"",fontSize:16,colorType:"solid",color:"inherit",gradient:ce},u=e=>l[e]||f[e],p=e=>o[e]||u(e),g=(e,t)=>r({...o,[e]:t}),[m,y]=(0,n.useState)(""),[v,b]=(0,n.useState)(!1),w=Et.filter((e=>Tt(e).toLowerCase().includes(m.toLowerCase())));return(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelRow,{className:`bPlIconTitle ${t}`},(0,n.createElement)(Oi,{className:"mt0 mb0"},i),(0,n.createElement)(s.Tooltip,{text:Tt(o.class),placement:"top",position:"top"},(0,n.createElement)("i",{className:o.class}))),(0,n.createElement)("div",{className:"bPlIconSelect"},(0,n.createElement)("input",{type:"search",value:m,onClick:()=>b(!v),placeholder:Tt(p("class"))||"Search & Select Icon",onChange:e=>y(e.target.value)}),(0,n.createElement)("span",{className:"dashicon dashicons dashicons-"+(v?"arrow-up":"arrow-down"),onClick:()=>b(!v)}),v&&(0,n.createElement)("div",{className:"bPlIconLists"},w?.map((e=>(0,n.createElement)(s.Tooltip,{key:e,text:Tt(e),placement:"top",position:"top"},(0,n.createElement)("i",{onClick:()=>{r({...o,class:e}),y(""),b(!1)},className:e})))))),c&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(Oi,null,(0,a.__)("Icon Size:")),(0,n.createElement)(s.RangeControl,{value:p("fontSize"),onChange:e=>g("fontSize",e),min:0,max:400,step:1,allowReset:!0,resetFallbackValue:u("fontSize"),initialPosition:u("fontSize")})),d&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},(0,a.__)("Color Type:")),(0,n.createElement)(fe,{value:p("colorType"),onChange:e=>g("colorType",e),options:Ce,size:"small"})),"gradient"===p("colorType")?(0,n.createElement)(Lt,{value:p("gradient"),onChange:e=>g("gradient",e),gradients:h}):(0,n.createElement)(ge,{label:(0,a.__)("Icon Color:"),value:p("color"),onChange:e=>g("color",e),defaultColor:u("color")})))}));const qt=window.ReactDOM;var Yt=i(194),Qt=i.n(Yt);var Zt=i(135),Xt=i.n(Zt),Jt=function(){function e(){Bt(this,e),zt(this,"refs",{})}return Wt(e,[{key:"add",value:function(e,t){this.refs[e]||(this.refs[e]=[]),this.refs[e].push(t)}},{key:"remove",value:function(e,t){var i=this.getIndex(e,t);-1!==i&&this.refs[e].splice(i,1)}},{key:"isActive",value:function(){return this.active}},{key:"getActive",value:function(){var e=this;return this.refs[this.active.collection].find((function(t){return t.node.sortableInfo.index==e.active.index}))}},{key:"getIndex",value:function(e,t){return this.refs[e].indexOf(t)}},{key:"getOrderedRefs",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.active.collection;return this.refs[e].sort(ei)}}]),e}();function ei(e,t){return e.node.sortableInfo.index-t.node.sortableInfo.index}function ti(e,t){return Object.keys(e).reduce((function(i,n){return-1===t.indexOf(n)&&(i[n]=e[n]),i}),{})}var ii={end:["touchend","touchcancel","mouseup"],move:["touchmove","mousemove"],start:["touchstart","mousedown"]},ni=function(){if("undefined"==typeof window||"undefined"==typeof document)return"";var e=window.getComputedStyle(document.documentElement,"")||["-moz-hidden-iframe"],t=(Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/)||""===e.OLink&&["","o"])[1];return"ms"===t?"ms":t&&t.length?t[0].toUpperCase()+t.substr(1):""}();function oi(e,t){Object.keys(t).forEach((function(i){e.style[i]=t[i]}))}function ai(e,t){e.style["".concat(ni,"Transform")]=null==t?"":"translate3d(".concat(t.x,"px,").concat(t.y,"px,0)")}function ri(e,t){e.style["".concat(ni,"TransitionDuration")]=null==t?"":"".concat(t,"ms")}function si(e,t){for(;e;){if(t(e))return e;e=e.parentNode}return null}function li(e,t,i){return Math.max(e,Math.min(i,t))}function ci(e){return"px"===e.substr(-2)?parseFloat(e):0}function di(e,t){var i=t.displayName||t.name;return i?"".concat(e,"(").concat(i,")"):e}function hi(e,t){var i=e.getBoundingClientRect();return{top:i.top+t.top,left:i.left+t.left}}function fi(e){return e.touches&&e.touches.length?{x:e.touches[0].pageX,y:e.touches[0].pageY}:e.changedTouches&&e.changedTouches.length?{x:e.changedTouches[0].pageX,y:e.changedTouches[0].pageY}:{x:e.pageX,y:e.pageY}}function ui(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{left:0,top:0};if(e){var n={left:i.left+e.offsetLeft,top:i.top+e.offsetTop};return e.parentNode===t?n:ui(e.parentNode,t,n)}}function pi(e){var t=e.lockOffset,i=e.width,n=e.height,o=t,a=t,r="px";if("string"==typeof t){var s=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(t);Qt()(null!==s,'lockOffset value should be a number or a string of a number followed by "px" or "%". Given %s',t),o=parseFloat(t),a=parseFloat(t),r=s[1]}return Qt()(isFinite(o)&&isFinite(a),"lockOffset value should be a finite. Given %s",t),"%"===r&&(o=o*i/100,a=a*n/100),{x:o,y:a}}function gi(e){return e instanceof HTMLElement?function(e){var t=window.getComputedStyle(e),i=/(auto|scroll)/;return["overflow","overflowX","overflowY"].find((function(e){return i.test(t[e])}))}(e)?e:gi(e.parentNode):null}var mi="BUTTON",yi="INPUT",vi="OPTION",bi="TEXTAREA",wi="SELECT";function Ci(e){return null!=e.sortableHandle}var xi=function(){function e(t,i){Bt(this,e),this.container=t,this.onScrollCallback=i}return Wt(e,[{key:"clear",value:function(){null!=this.interval&&(clearInterval(this.interval),this.interval=null)}},{key:"update",value:function(e){var t=this,i=e.translate,n=e.minTranslate,o=e.maxTranslate,a=e.width,r=e.height,s={x:0,y:0},l={x:1,y:1},c=this.container,d=c.scrollTop,h=c.scrollLeft,f=c.scrollHeight,u=c.scrollWidth,p=0===d,g=f-d-c.clientHeight==0,m=0===h,y=u-h-c.clientWidth==0;i.y>=o.y-r/2&&!g?(s.y=1,l.y=10*Math.abs((o.y-r/2-i.y)/r)):i.x>=o.x-a/2&&!y?(s.x=1,l.x=10*Math.abs((o.x-a/2-i.x)/a)):i.y<=n.y+r/2&&!p?(s.y=-1,l.y=10*Math.abs((i.y-r/2-n.y)/r)):i.x<=n.x+a/2&&!m&&(s.x=-1,l.x=10*Math.abs((i.x-a/2-n.x)/a)),this.interval&&(this.clear(),this.isAutoScrolling=!1),0===s.x&&0===s.y||(this.interval=setInterval((function(){t.isAutoScrolling=!0;var e={left:l.x*s.x,top:l.y*s.y};t.container.scrollTop+=e.top,t.container.scrollLeft+=e.left,t.onScrollCallback(e)}),5))}}]),e}(),Si={axis:Xt().oneOf(["x","y","xy"]),contentWindow:Xt().any,disableAutoscroll:Xt().bool,distance:Xt().number,getContainer:Xt().func,getHelperDimensions:Xt().func,helperClass:Xt().string,helperContainer:Xt().oneOfType([Xt().func,"undefined"==typeof HTMLElement?Xt().any:Xt().instanceOf(HTMLElement)]),hideSortableGhost:Xt().bool,keyboardSortingTransitionDuration:Xt().number,lockAxis:Xt().string,lockOffset:Xt().oneOfType([Xt().number,Xt().string,Xt().arrayOf(Xt().oneOfType([Xt().number,Xt().string]))]),lockToContainerEdges:Xt().bool,onSortEnd:Xt().func,onSortMove:Xt().func,onSortOver:Xt().func,onSortStart:Xt().func,pressDelay:Xt().number,pressThreshold:Xt().number,keyCodes:Xt().shape({lift:Xt().arrayOf(Xt().number),drop:Xt().arrayOf(Xt().number),cancel:Xt().arrayOf(Xt().number),up:Xt().arrayOf(Xt().number),down:Xt().arrayOf(Xt().number)}),shouldCancelStart:Xt().func,transitionDuration:Xt().number,updateBeforeSortStart:Xt().func,useDragHandle:Xt().bool,useWindowAsScrollContainer:Xt().bool},ki={lift:[32],drop:[32],cancel:[27],up:[38,37],down:[40,39]},$i={axis:"y",disableAutoscroll:!1,distance:0,getHelperDimensions:function(e){var t=e.node;return{height:t.offsetHeight,width:t.offsetWidth}},hideSortableGhost:!0,lockOffset:"50%",lockToContainerEdges:!1,pressDelay:0,pressThreshold:5,keyCodes:ki,shouldCancelStart:function(e){return-1!==[yi,bi,wi,vi,mi].indexOf(e.target.tagName)||!!si(e.target,(function(e){return"true"===e.contentEditable}))},transitionDuration:300,useWindowAsScrollContainer:!1},_i=Object.keys(Si),Mi=(0,n.createContext)({manager:{}});function Ai(e){var t,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{withRef:!1};return i=t=function(t){function i(e){var t;Bt(this,i),zt(jt(jt(t=Ut(this,Vt(i).call(this,e)))),"state",{}),zt(jt(jt(t)),"handleStart",(function(e){var i=t.props,n=i.distance,o=i.shouldCancelStart;if(2!==e.button&&!o(e)){t.touched=!0,t.position=fi(e);var a=si(e.target,(function(e){return null!=e.sortableInfo}));if(a&&a.sortableInfo&&t.nodeIsChild(a)&&!t.state.sorting){var r=t.props.useDragHandle,s=a.sortableInfo,l=s.index,c=s.collection;if(s.disabled)return;if(r&&!si(e.target,Ci))return;t.manager.active={collection:c,index:l},function(e){return e.touches&&e.touches.length||e.changedTouches&&e.changedTouches.length}(e)||"A"!==e.target.tagName||e.preventDefault(),n||(0===t.props.pressDelay?t.handlePress(e):t.pressTimer=setTimeout((function(){return t.handlePress(e)}),t.props.pressDelay))}}})),zt(jt(jt(t)),"nodeIsChild",(function(e){return e.sortableInfo.manager===t.manager})),zt(jt(jt(t)),"handleMove",(function(e){var i=t.props,n=i.distance,o=i.pressThreshold;if(!t.state.sorting&&t.touched&&!t._awaitingUpdateBeforeSortStart){var a=fi(e),r={x:t.position.x-a.x,y:t.position.y-a.y},s=Math.abs(r.x)+Math.abs(r.y);t.delta=r,n||o&&!(s>=o)?n&&s>=n&&t.manager.isActive()&&t.handlePress(e):(clearTimeout(t.cancelTimer),t.cancelTimer=setTimeout(t.cancel,0))}})),zt(jt(jt(t)),"handleEnd",(function(){t.touched=!1,t.cancel()})),zt(jt(jt(t)),"cancel",(function(){var e=t.props.distance;t.state.sorting||(e||clearTimeout(t.pressTimer),t.manager.active=null)})),zt(jt(jt(t)),"handlePress",(function(e){try{var i=t.manager.getActive(),n=function(){if(i){var n=function(){var i,n,o,c,g,m,y,v=f.sortableInfo.index,b=(i=f,{bottom:ci((n=window.getComputedStyle(i)).marginBottom),left:ci(n.marginLeft),right:ci(n.marginRight),top:ci(n.marginTop)}),w=function(e){var t=window.getComputedStyle(e);return"grid"===t.display?{x:ci(t.gridColumnGap),y:ci(t.gridRowGap)}:{x:0,y:0}}(t.container),C=t.scrollContainer.getBoundingClientRect(),x=r({index:v,node:f,collection:u});if(t.node=f,t.margin=b,t.gridGap=w,t.width=x.width,t.height=x.height,t.marginOffset={x:t.margin.left+t.margin.right+t.gridGap.x,y:Math.max(t.margin.top,t.margin.bottom,t.gridGap.y)},t.boundingClientRect=f.getBoundingClientRect(),t.containerBoundingRect=C,t.index=v,t.newIndex=v,t.axis={x:a.indexOf("x")>=0,y:a.indexOf("y")>=0},t.offsetEdge=ui(f,t.container),t.initialOffset=fi(p?Ft({},e,{pageX:t.boundingClientRect.left,pageY:t.boundingClientRect.top}):e),t.initialScroll={left:t.scrollContainer.scrollLeft,top:t.scrollContainer.scrollTop},t.initialWindowScroll={left:window.pageXOffset,top:window.pageYOffset},t.helper=t.helperContainer.appendChild((c="input, textarea, select, canvas, [contenteditable]",g=(o=f).querySelectorAll(c),(y=(m=o.cloneNode(!0)).querySelectorAll(c),function(e){if(Array.isArray(e))return It(e)}(y)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(y)||Ot(y)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).forEach((function(e,t){"file"!==e.type&&(e.value=g[t].value),"radio"===e.type&&e.name&&(e.name="__sortableClone__".concat(e.name)),"CANVAS"===e.tagName&&g[t].width>0&&g[t].height>0&&e.getContext("2d").drawImage(g[t],0,0)})),m)),oi(t.helper,{boxSizing:"border-box",height:"".concat(t.height,"px"),left:"".concat(t.boundingClientRect.left-b.left,"px"),pointerEvents:"none",position:"fixed",top:"".concat(t.boundingClientRect.top-b.top,"px"),width:"".concat(t.width,"px")}),p&&t.helper.focus(),l&&(t.sortableGhost=f,oi(f,{opacity:0,visibility:"hidden"})),t.minTranslate={},t.maxTranslate={},p){var S=h?{top:0,left:0,width:t.contentWindow.innerWidth,height:t.contentWindow.innerHeight}:t.containerBoundingRect,k=S.top,$=S.left,_=S.width,M=k+S.height,A=$+_;t.axis.x&&(t.minTranslate.x=$-t.boundingClientRect.left,t.maxTranslate.x=A-(t.boundingClientRect.left+t.width)),t.axis.y&&(t.minTranslate.y=k-t.boundingClientRect.top,t.maxTranslate.y=M-(t.boundingClientRect.top+t.height))}else t.axis.x&&(t.minTranslate.x=(h?0:C.left)-t.boundingClientRect.left-t.width/2,t.maxTranslate.x=(h?t.contentWindow.innerWidth:C.left+C.width)-t.boundingClientRect.left-t.width/2),t.axis.y&&(t.minTranslate.y=(h?0:C.top)-t.boundingClientRect.top-t.height/2,t.maxTranslate.y=(h?t.contentWindow.innerHeight:C.top+C.height)-t.boundingClientRect.top-t.height/2);s&&s.split(" ").forEach((function(e){return t.helper.classList.add(e)})),t.listenerNode=e.touches?e.target:t.contentWindow,p?(t.listenerNode.addEventListener("wheel",t.handleKeyEnd,!0),t.listenerNode.addEventListener("mousedown",t.handleKeyEnd,!0),t.listenerNode.addEventListener("keydown",t.handleKeyDown)):(ii.move.forEach((function(e){return t.listenerNode.addEventListener(e,t.handleSortMove,!1)})),ii.end.forEach((function(e){return t.listenerNode.addEventListener(e,t.handleSortEnd,!1)}))),t.setState({sorting:!0,sortingIndex:v}),d&&d({node:f,index:v,collection:u,isKeySorting:p,nodes:t.manager.getOrderedRefs(),helper:t.helper},e),p&&t.keyMove(0)},o=t.props,a=o.axis,r=o.getHelperDimensions,s=o.helperClass,l=o.hideSortableGhost,c=o.updateBeforeSortStart,d=o.onSortStart,h=o.useWindowAsScrollContainer,f=i.node,u=i.collection,p=t.manager.isKeySorting,g=function(){if("function"==typeof c){t._awaitingUpdateBeforeSortStart=!0;var i=function(t,i){try{var n=(o=f.sortableInfo.index,Promise.resolve(c({collection:u,index:o,node:f,isKeySorting:p},e)).then((function(){})))}catch(e){return i(!0,e)}var o;return n&&n.then?n.then(i.bind(null,!1),i.bind(null,!0)):i(!1,value)}(0,(function(e,i){if(t._awaitingUpdateBeforeSortStart=!1,e)throw i;return i}));if(i&&i.then)return i.then((function(){}))}}();return g&&g.then?g.then(n):n()}}();return Promise.resolve(n&&n.then?n.then((function(){})):void 0)}catch(e){return Promise.reject(e)}})),zt(jt(jt(t)),"handleSortMove",(function(e){var i=t.props.onSortMove;"function"==typeof e.preventDefault&&e.cancelable&&e.preventDefault(),t.updateHelperPosition(e),t.animateNodes(),t.autoscroll(),i&&i(e)})),zt(jt(jt(t)),"handleSortEnd",(function(e){var i=t.props,n=i.hideSortableGhost,o=i.onSortEnd,a=t.manager,r=a.active.collection,s=a.isKeySorting,l=t.manager.getOrderedRefs();t.listenerNode&&(s?(t.listenerNode.removeEventListener("wheel",t.handleKeyEnd,!0),t.listenerNode.removeEventListener("mousedown",t.handleKeyEnd,!0),t.listenerNode.removeEventListener("keydown",t.handleKeyDown)):(ii.move.forEach((function(e){return t.listenerNode.removeEventListener(e,t.handleSortMove)})),ii.end.forEach((function(e){return t.listenerNode.removeEventListener(e,t.handleSortEnd)})))),t.helper.parentNode.removeChild(t.helper),n&&t.sortableGhost&&oi(t.sortableGhost,{opacity:"",visibility:""});for(var c=0,d=l.length;c<d;c++){var h=l[c],f=h.node;h.edgeOffset=null,h.boundingClientRect=null,ai(f,null),ri(f,null),h.translate=null}t.autoScroller.clear(),t.manager.active=null,t.manager.isKeySorting=!1,t.setState({sorting:!1,sortingIndex:null}),"function"==typeof o&&o({collection:r,newIndex:t.newIndex,oldIndex:t.index,isKeySorting:s,nodes:l},e),t.touched=!1})),zt(jt(jt(t)),"autoscroll",(function(){var e=t.props.disableAutoscroll,i=t.manager.isKeySorting;if(e)t.autoScroller.clear();else{if(i){var n=Ft({},t.translate),o=0,a=0;return t.axis.x&&(n.x=Math.min(t.maxTranslate.x,Math.max(t.minTranslate.x,t.translate.x)),o=t.translate.x-n.x),t.axis.y&&(n.y=Math.min(t.maxTranslate.y,Math.max(t.minTranslate.y,t.translate.y)),a=t.translate.y-n.y),t.translate=n,ai(t.helper,t.translate),t.scrollContainer.scrollLeft+=o,void(t.scrollContainer.scrollTop+=a)}t.autoScroller.update({height:t.height,maxTranslate:t.maxTranslate,minTranslate:t.minTranslate,translate:t.translate,width:t.width})}})),zt(jt(jt(t)),"onAutoScroll",(function(e){t.translate.x+=e.left,t.translate.y+=e.top,t.animateNodes()})),zt(jt(jt(t)),"handleKeyDown",(function(e){var i=e.keyCode,n=t.props,o=n.shouldCancelStart,a=n.keyCodes,r=Ft({},ki,void 0===a?{}:a);t.manager.active&&!t.manager.isKeySorting||!(t.manager.active||r.lift.includes(i)&&!o(e)&&t.isValidSortingTarget(e))||(e.stopPropagation(),e.preventDefault(),r.lift.includes(i)&&!t.manager.active?t.keyLift(e):r.drop.includes(i)&&t.manager.active?t.keyDrop(e):r.cancel.includes(i)?(t.newIndex=t.manager.active.index,t.keyDrop(e)):r.up.includes(i)?t.keyMove(-1):r.down.includes(i)&&t.keyMove(1))})),zt(jt(jt(t)),"keyLift",(function(e){var i=e.target,n=si(i,(function(e){return null!=e.sortableInfo})).sortableInfo,o=n.index,a=n.collection;t.initialFocusedNode=i,t.manager.isKeySorting=!0,t.manager.active={index:o,collection:a},t.handlePress(e)})),zt(jt(jt(t)),"keyMove",(function(e){var i=t.manager.getOrderedRefs(),n=i[i.length-1].node.sortableInfo.index,o=t.newIndex+e,a=t.newIndex;if(!(o<0||o>n)){t.prevIndex=a,t.newIndex=o;var r=function(e,t,i){return e<i&&e>t?e-1:e>i&&e<t?e+1:e}(t.newIndex,t.prevIndex,t.index),s=i.find((function(e){return e.node.sortableInfo.index===r})),l=s.node,c=t.containerScrollDelta,d=s.boundingClientRect||hi(l,c),h=s.translate||{x:0,y:0},f=d.top+h.y-c.top,u=d.left+h.x-c.left,p=a<o,g=p&&t.axis.x?l.offsetWidth-t.width:0,m=p&&t.axis.y?l.offsetHeight-t.height:0;t.handleSortMove({pageX:u+g,pageY:f+m,ignoreTransition:0===e})}})),zt(jt(jt(t)),"keyDrop",(function(e){t.handleSortEnd(e),t.initialFocusedNode&&t.initialFocusedNode.focus()})),zt(jt(jt(t)),"handleKeyEnd",(function(e){t.manager.active&&t.keyDrop(e)})),zt(jt(jt(t)),"isValidSortingTarget",(function(e){var i=t.props.useDragHandle,n=e.target,o=si(n,(function(e){return null!=e.sortableInfo}));return o&&o.sortableInfo&&!o.sortableInfo.disabled&&(i?Ci(n):n.sortableInfo)}));var o=new Jt;return function(e){Qt()(!(e.distance&&e.pressDelay),"Attempted to set both `pressDelay` and `distance` on SortableContainer, you may only use one or the other, not both at the same time.")}(e),t.manager=o,t.wrappedInstance=(0,n.createRef)(),t.sortableContextValue={manager:o},t.events={end:t.handleEnd,move:t.handleMove,start:t.handleStart},t}return Kt(i,t),Wt(i,[{key:"componentDidMount",value:function(){var e=this,t=this.props.useWindowAsScrollContainer,i=this.getContainer();Promise.resolve(i).then((function(i){e.container=i,e.document=e.container.ownerDocument||document;var n=e.props.contentWindow||e.document.defaultView||window;e.contentWindow="function"==typeof n?n():n,e.scrollContainer=t?e.document.scrollingElement||e.document.documentElement:gi(e.container)||e.container,e.autoScroller=new xi(e.scrollContainer,e.onAutoScroll),Object.keys(e.events).forEach((function(t){return ii[t].forEach((function(i){return e.container.addEventListener(i,e.events[t],!1)}))})),e.container.addEventListener("keydown",e.handleKeyDown)}))}},{key:"componentWillUnmount",value:function(){var e=this;this.helper&&this.helper.parentNode&&this.helper.parentNode.removeChild(this.helper),this.container&&(Object.keys(this.events).forEach((function(t){return ii[t].forEach((function(i){return e.container.removeEventListener(i,e.events[t])}))})),this.container.removeEventListener("keydown",this.handleKeyDown))}},{key:"updateHelperPosition",value:function(e){var t=this.props,i=t.lockAxis,n=t.lockOffset,o=t.lockToContainerEdges,a=t.transitionDuration,r=t.keyboardSortingTransitionDuration,s=void 0===r?a:r,l=this.manager.isKeySorting,c=e.ignoreTransition,d=fi(e),h={x:d.x-this.initialOffset.x,y:d.y-this.initialOffset.y};if(h.y-=window.pageYOffset-this.initialWindowScroll.top,h.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=h,o){var f=function(e){var t=e.height,i=e.width,n=e.lockOffset,o=Array.isArray(n)?n:[n,n];Qt()(2===o.length,"lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given %s",n);var a=Nt(o,2),r=a[0],s=a[1];return[pi({height:t,lockOffset:r,width:i}),pi({height:t,lockOffset:s,width:i})]}({height:this.height,lockOffset:n,width:this.width}),u=Nt(f,2),p=u[0],g=u[1],m={x:this.width/2-p.x,y:this.height/2-p.y},y={x:this.width/2-g.x,y:this.height/2-g.y};h.x=li(this.minTranslate.x+m.x,this.maxTranslate.x-y.x,h.x),h.y=li(this.minTranslate.y+m.y,this.maxTranslate.y-y.y,h.y)}"x"===i?h.y=0:"y"===i&&(h.x=0),l&&s&&!c&&ri(this.helper,s),ai(this.helper,h)}},{key:"animateNodes",value:function(){var e=this.props,t=e.transitionDuration,i=e.hideSortableGhost,n=e.onSortOver,o=this.containerScrollDelta,a=this.windowScrollDelta,r=this.manager.getOrderedRefs(),s=this.offsetEdge.left+this.translate.x+o.left,l=this.offsetEdge.top+this.translate.y+o.top,c=this.manager.isKeySorting,d=this.newIndex;this.newIndex=null;for(var h=0,f=r.length;h<f;h++){var u=r[h].node,p=u.sortableInfo.index,g=u.offsetWidth,m=u.offsetHeight,y={height:this.height>m?m/2:this.height/2,width:this.width>g?g/2:this.width/2},v=c&&p>this.index&&p<=d,b=c&&p<this.index&&p>=d,w={x:0,y:0},C=r[h].edgeOffset;C||(C=ui(u,this.container),r[h].edgeOffset=C,c&&(r[h].boundingClientRect=hi(u,o)));var x=h<r.length-1&&r[h+1],S=h>0&&r[h-1];x&&!x.edgeOffset&&(x.edgeOffset=ui(x.node,this.container),c&&(x.boundingClientRect=hi(x.node,o))),p!==this.index?(t&&ri(u,t),this.axis.x?this.axis.y?b||p<this.index&&(s+a.left-y.width<=C.left&&l+a.top<=C.top+y.height||l+a.top+y.height<=C.top)?(w.x=this.width+this.marginOffset.x,C.left+w.x>this.containerBoundingRect.width-y.width&&x&&(w.x=x.edgeOffset.left-C.left,w.y=x.edgeOffset.top-C.top),null===this.newIndex&&(this.newIndex=p)):(v||p>this.index&&(s+a.left+y.width>=C.left&&l+a.top+y.height>=C.top||l+a.top+y.height>=C.top+m))&&(w.x=-(this.width+this.marginOffset.x),C.left+w.x<this.containerBoundingRect.left+y.width&&S&&(w.x=S.edgeOffset.left-C.left,w.y=S.edgeOffset.top-C.top),this.newIndex=p):v||p>this.index&&s+a.left+y.width>=C.left?(w.x=-(this.width+this.marginOffset.x),this.newIndex=p):(b||p<this.index&&s+a.left<=C.left+y.width)&&(w.x=this.width+this.marginOffset.x,null==this.newIndex&&(this.newIndex=p)):this.axis.y&&(v||p>this.index&&l+a.top+y.height>=C.top?(w.y=-(this.height+this.marginOffset.y),this.newIndex=p):(b||p<this.index&&l+a.top<=C.top+y.height)&&(w.y=this.height+this.marginOffset.y,null==this.newIndex&&(this.newIndex=p))),ai(u,w),r[h].translate=w):i&&(this.sortableGhost=u,oi(u,{opacity:0,visibility:"hidden"}))}null==this.newIndex&&(this.newIndex=this.index),c&&(this.newIndex=d);var k=c?this.prevIndex:d;n&&this.newIndex!==k&&n({collection:this.manager.active.collection,index:this.index,newIndex:this.newIndex,oldIndex:k,isKeySorting:c,nodes:r,helper:this.helper})}},{key:"getWrappedInstance",value:function(){return Qt()(o.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableContainer() call"),this.wrappedInstance.current}},{key:"getContainer",value:function(){var e=this.props.getContainer;return"function"!=typeof e?(0,qt.findDOMNode)(this):e(o.withRef?this.getWrappedInstance():void 0)}},{key:"render",value:function(){var t=o.withRef?this.wrappedInstance:null;return(0,n.createElement)(Mi.Provider,{value:this.sortableContextValue},(0,n.createElement)(e,Rt({ref:t},ti(this.props,_i))))}},{key:"helperContainer",get:function(){var e=this.props.helperContainer;return"function"==typeof e?e():this.props.helperContainer||this.document.body}},{key:"containerScrollDelta",get:function(){return this.props.useWindowAsScrollContainer?{left:0,top:0}:{left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top}}},{key:"windowScrollDelta",get:function(){return{left:this.contentWindow.pageXOffset-this.initialWindowScroll.left,top:this.contentWindow.pageYOffset-this.initialWindowScroll.top}}}]),i}(n.Component),zt(t,"displayName",di("sortableList",e)),zt(t,"defaultProps",$i),zt(t,"propTypes",Si),i}var Ei={index:Xt().number.isRequired,collection:Xt().oneOfType([Xt().number,Xt().string]),disabled:Xt().bool},Li=Object.keys(Ei);function Ti(e){var t,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{withRef:!1};return i=t=function(t){function i(){var e,t;Bt(this,i);for(var o=arguments.length,a=new Array(o),r=0;r<o;r++)a[r]=arguments[r];return zt(jt(jt(t=Ut(this,(e=Vt(i)).call.apply(e,[this].concat(a))))),"wrappedInstance",(0,n.createRef)()),t}return Kt(i,t),Wt(i,[{key:"componentDidMount",value:function(){this.register()}},{key:"componentDidUpdate",value:function(e){this.node&&(e.index!==this.props.index&&(this.node.sortableInfo.index=this.props.index),e.disabled!==this.props.disabled&&(this.node.sortableInfo.disabled=this.props.disabled)),e.collection!==this.props.collection&&(this.unregister(e.collection),this.register())}},{key:"componentWillUnmount",value:function(){this.unregister()}},{key:"register",value:function(){var e=this.props,t=e.collection,i=e.disabled,n=e.index,o=(0,qt.findDOMNode)(this);o.sortableInfo={collection:t,disabled:i,index:n,manager:this.context.manager},this.node=o,this.ref={node:o},this.context.manager.add(t,this.ref)}},{key:"unregister",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.collection;this.context.manager.remove(e,this.ref)}},{key:"getWrappedInstance",value:function(){return Qt()(o.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableElement() call"),this.wrappedInstance.current}},{key:"render",value:function(){var t=o.withRef?this.wrappedInstance:null;return(0,n.createElement)(e,Rt({ref:t},ti(this.props,Li)))}}]),i}(n.Component),zt(t,"displayName",di("sortableElement",e)),zt(t,"contextType",Mi),zt(t,"propTypes",Ei),zt(t,"defaultProps",{collection:0}),i}const Ri=function(e){var t,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{withRef:!1};return i=t=function(t){function i(){var e,t;Bt(this,i);for(var o=arguments.length,a=new Array(o),r=0;r<o;r++)a[r]=arguments[r];return zt(jt(jt(t=Ut(this,(e=Vt(i)).call.apply(e,[this].concat(a))))),"wrappedInstance",(0,n.createRef)()),t}return Kt(i,t),Wt(i,[{key:"componentDidMount",value:function(){(0,qt.findDOMNode)(this).sortableHandle=!0}},{key:"getWrappedInstance",value:function(){return Qt()(o.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableHandle() call"),this.wrappedInstance.current}},{key:"render",value:function(){var t=o.withRef?this.wrappedInstance:null;return(0,n.createElement)(e,Rt({ref:t},this.props))}}]),i}(n.Component),zt(t,"displayName",di("sortableHandle",e)),i}((()=>(0,n.createElement)("div",{className:"gripIcon"},Mt))),Ii=Ti((({sortIndex:e,removeItem:t,duplicateItem:i,ItemSettings:o,active:a,setActive:r,itemLabel:s,minItem:l,title:c,...d})=>{const{value:h,attributes:f,arrKey:u,setActiveIndex:p}=d,g=f?f[u]:h,m=g?.[e]?.[c]||"";return(0,n.createElement)("div",{className:"bPlSortablePanelItem"},(0,n.createElement)("div",{className:"itemsPanelHeader mt10"},(0,n.createElement)(Ri,null),(0,n.createElement)("div",{className:"panel-header-title"},(0,n.createElement)("div",{className:"repeater-panel-title",onClick:()=>{r(a===e?null:e),p&&p(e)}},c?m:s+" "+(e+1)),(0,n.createElement)("div",{className:"itemAction"},(0,n.createElement)("div",{onClick:t=>i(t,e)},$t),g.length>Number(l)&&(0,n.createElement)("div",{onClick:i=>t(i,e)},_t)))),(0,n.createElement)("div",{className:"itemsPanelBody "+(a===e?"":"hidden")},(0,n.createElement)(o,{...d,index:e})))})),Oi=(Ai((e=>{const{value:t,attributes:i,arrKey:o}=e,a=i?i[o]:t;return(0,n.createElement)("div",{className:"bPlItemsPanel"},a.map(((t,i)=>(0,n.createElement)(Ii,{key:i,index:i,sortIndex:i,...e}))))})),e=>{const{className:t="mt20 mb5",htmlFor:i,children:o}=e;return(0,n.createElement)("label",{className:`bPlLabel ${t}`,htmlFor:i},o)}),Ni=e=>{const{className:t,label:i="",value:r,types:l=["image"],onChange:c,placeholder:d=(0,a.__)("Enter URL")}=e;return(0,n.createElement)("div",{className:t},i&&(0,n.createElement)(Oi,{className:"mb5"},i),(0,n.createElement)(s.PanelRow,{className:"bPlInlineMediaUpload"},(0,n.createElement)(s.TextControl,{value:r,onChange:e=>c(e),placeholder:d}),(0,n.createElement)(o.MediaUpload,{allowedTypes:l,onSelect:e=>c(e.url),render:({open:e})=>(0,n.createElement)(s.Button,{className:"button button-primary",onClick:e,icon:"upload"})})))},Di=e=>{const{className:t,label:i="",value:r={},types:l=["image"],onChange:c,placeholder:d=(0,a.__)("Enter URL")}=e;return(0,n.createElement)("div",{className:t},i&&(0,n.createElement)(Oi,{className:"mb5"},i),(0,n.createElement)(s.PanelRow,{className:"bPlInlineMediaUpload"},(0,n.createElement)(s.TextControl,{value:r?.url,onChange:e=>c({id:null,url:e,alt:"",title:"",caption:""}),placeholder:d}),(0,n.createElement)(o.MediaUploadCheck,null,(0,n.createElement)(o.MediaUpload,{allowedTypes:l,onSelect:({id:e,url:t,alt:i,title:n,caption:o})=>c({id:e,url:t,alt:i,title:n,caption:o}),render:({open:e})=>(0,n.createElement)(s.Button,{className:"button button-primary",onClick:e,icon:"upload"})}))))},Pi=e=>{const{className:t="",label:i="Choose",value:a,types:r=["image/*"],onChange:s=()=>{},default:l="",height:c="50px",width:d="50px",style:h,onClick:f=()=>{},isSvgEnabled:u=!1}=e,p=e=>({onClick:()=>{f(),u&&wp.media({library:{type:["image/svg+xml"]},mimeType:"image/svg+xml"}),e()}});return(0,n.createElement)("div",{style:h,className:`bPlMediaArea ${t}`},(0,n.createElement)(o.MediaUpload,{value:a?.id?[a?.id]:[],onSelect:({id:e,url:t,alt:i,title:n})=>{s({id:e,url:t,alt:i,title:n})},gallery:!1,allowedTypes:r,multiple:!1,render:({open:e})=>(0,n.createElement)("div",{className:"mediaAreaContainer"},l||a?.url?(e=>u?(0,n.createElement)("img",{src:`data:image/svg+xml;utf8,${a?.url||l}`,alt:"",className:"mediaImage",...p(e),style:{height:c,width:d}}):(0,n.createElement)("img",{className:"mediaImage",src:a?.url||l,alt:"",...p(e),style:{height:c,width:d}}))(e):(0,n.createElement)("div",{className:"mediaPlusBtnWrapper",...p(e)},(0,n.createElement)("div",{className:"mediaPlusBtnCircle"},(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"mediaPlusBtn",width:"1em",height:"1em",viewBox:"0 0 448 512",fill:"currentColor"},(0,n.createElement)("path",{d:"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"})))),(0,n.createElement)("div",{onClick:()=>s({}),className:"mediaDelete"},(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 448 512",fill:"currentColor"},(0,n.createElement)("path",{d:"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z"}))),(0,n.createElement)("div",{...p(e),className:"mediaButton"},(0,n.createElement)("span",null,i)))}))};i(327);const zi=(0,r.withSelect)((e=>{const{gradients:t}=e("core/block-editor").getSettings();return{gradients:t.length>12?t.slice(0,12):t}}))((e=>{const{label:t="Color",value:i,onChange:o=()=>{},className:a="",gradients:r}=e,[l,c]=(0,n.useState)("solid"),d=Math.floor(9999999*Math.random());return(0,n.createElement)("div",{className:a},(0,n.createElement)("style",null,`#customColorControlPanel-${d}-dualColor{\n\t\t\t\t${i?`background: ${i};`:"\n\t\t\t\t\tbackground-image: linear-gradient( 45deg, #d5d8dc 25%, transparent 0, transparent 75%, #d5d8dc 0, #d5d8dc ), linear-gradient( 45deg, #d5d8dc 25%, transparent 0, transparent 75%, #d5d8dc 0, #d5d8dc );\n\t\t\t\t\tbackground-size: 16px 16px;\n\t\t\t\t\tbackground-position: 0 0, calc(16px / 2) calc(16px / 2);\n\t\t\t\t"}\n\t\t\t}`),(0,n.createElement)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},(0,n.createElement)(Oi,{className:""},t),(0,n.createElement)(s.Dropdown,{className:"my-container-class-name",contentClassName:"my-popover-content-classname",renderToggle:({isOpen:e,onToggle:t,onClose:i})=>(0,n.createElement)("div",{style:{display:"flex",alignItems:"center",gap:"5px"}},(0,n.createElement)("div",{id:`customColorControlPanel-${d}-dualColor`,style:{height:"25px",width:"25px",borderRadius:"50%",border:"1px solid #ccc"}}),(0,n.createElement)(s.Button,{onClick:t,"aria-expanded":e,icon:"edit"})),renderContent:({isOpen:e,onToggle:t,onClose:a})=>(0,n.createElement)("div",{className:"panel-custom-color-control-container"},(0,n.createElement)(he,{label:"Type:",options:[{label:"Solid",value:"solid"},{label:"Gradient",value:"gradient"}],value:l,onChange:e=>c(e)}),"solid"===l&&(0,n.createElement)("div",{style:{marginTop:"20px"}},(0,n.createElement)(ge,{value:i,label:"Color :",onChange:e=>o(e)})),"gradient"===l&&(0,n.createElement)("div",{style:{marginTop:"10px"}},(0,n.createElement)(s.GradientPicker,{value:i||ce,onChange:e=>o(e),gradients:r})),(0,n.createElement)("div",{onClick:a}))})))})),Fi=Ti((({value:e})=>(0,n.createElement)("li",{className:"bplSortableListItem"},e))),Bi=(Ai((({items:e,property:t})=>(0,n.createElement)("ul",null,e.map(((e,i)=>(0,n.createElement)(Fi,{key:i,index:i,sortIndex:i,value:t?e[t]:e})))))),({device:e="desktop",onChange:t,className:i="iconButton",style:o})=>{const[a,r]=(0,n.useState)(!1);return window.addEventListener("click",(()=>r(!1))),(0,n.createElement)("div",{className:"bDevice",style:o},!a&&(0,n.createElement)("button",{className:i,title:e[0].toUpperCase()+e.slice(1),onClick:e=>{r(!0),e.stopPropagation()}},"desktop"==e?yt:"tablet"==e?vt:bt),a&&(0,n.createElement)("div",{className:"bDevicePopup"},[{value:"desktop",icon:yt},{value:"tablet",icon:vt},{value:"mobile",icon:bt}].map((({icon:e,value:o})=>(0,n.createElement)("button",{key:o,className:i,title:o[0].toUpperCase()+o.slice(1),onClick:()=>{t(o),r(!1)}},e)))))}),Hi=window.wp.blob,Wi=((0,r.withSelect)(((e,t)=>{const{value:i}=t;return{image:i?.id?e("core").getMedia(i?.id):null,imageSizes:e("core/block-editor").getSettings().imageSizes}}))((e=>{const{className:t,value:i={},onChange:o,image:r,imageSizes:l}=e,c=(e,t)=>o({...i,[e]:t});return(0,n.createElement)("div",{className:t},i?.url&&!(0,Hi.isBlobURL)(i?.url)&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(Oi,{className:"mb5"},(0,a.__)("Alt Text (Alternative Text):")),(0,n.createElement)(s.TextControl,{value:i?.alt,onChange:e=>c("alt",e)})),i?.id&&0!==pt(r,l)?.length&&(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},(0,a.__)("Select Size:")),(0,n.createElement)(s.SelectControl,{value:i?.url,onChange:e=>c("url",e),options:pt(r,l)})))})),(0,s.withNotices)((e=>{const{label:t=(0,a.__)(" Image:"),icon:i="format-image",value:r={},onChange:s,noticeOperations:l,noticeUI:c}=e;return(0,n.createElement)(o.MediaPlaceholder,{labels:{title:t},icon:i,allowedTypes:["image"],accept:"image/*",onSelect:({id:e,url:t,alt:i,title:n})=>s({...r,id:e,url:t,alt:i,title:n}),onSelectURL:e=>s({...r,id:null,url:e,alt:"",title:""}),onError:e=>l.createErrorNotice(e),notices:c})})),e=>{const{className:t="",label:i=(0,a.__)("Space:"),value:o,onChange:r,defaults:l={}}=e,c={side:2,vertical:"0px",horizontal:"0px",top:"0px",right:"0px",bottom:"0px",left:"0px"},d=e=>l?.[e]||c[e],h=e=>o?.[e]||d(e),f=(e,t)=>r({...o,[e]:t}),u=e=>parseInt(h(e)?.replace(/([a-z])+/g,"")),p=e=>null!=e&&"object"==typeof e;return(0,n.createElement)("div",{className:`bPlSpaceControl ${t}`},(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},i),(0,n.createElement)(s.ButtonGroup,{className:"bPlBtnGroup"},(0,n.createElement)(s.Tooltip,{text:(0,a.__)("Vertical, Horizontal"),placement:"top",position:"top"},(0,n.createElement)(s.Button,{className:"side2",size:"small",isPrimary:2===h("side"),"aria-pressed":2===h("side"),onClick:()=>r({...o,side:2,vertical:(u("top")+u("bottom"))/2+"px",horizontal:(u("left")+u("right"))/2+"px"})},(0,n.createElement)("span",{className:"scrollIcon"},wt),(0,n.createElement)("span",{className:"sideScrollIcon"},wt))),(0,n.createElement)(s.Tooltip,{text:(0,a.__)("Top, Right, Bottom, Left"),placement:"top",position:"top"},(0,n.createElement)(s.Button,{size:"small",isPrimary:4===h("side"),"aria-pressed":4===h("side"),onClick:()=>r({...o,side:4,top:h("vertical"),right:h("horizontal"),bottom:h("vertical"),left:h("horizontal")})},(0,n.createElement)(s.Dashicon,{icon:"arrow-up-alt"}),(0,n.createElement)(s.Dashicon,{icon:"arrow-right-alt"}),(0,n.createElement)(s.Dashicon,{icon:"arrow-down-alt"}),(0,n.createElement)(s.Dashicon,{icon:"arrow-left-alt"})))),!((e,t,i)=>{const n=Object.keys(e||{}).filter((e=>"styles"!==e)),o=(e,t)=>{const i=Object.keys(e);for(const n of i){const i=e[n],a=t[n],r=p(i)&&p(a);if(r&&!o(i,a)||!r&&i!==a)return!1}return!0};for(const a of n){const n=e[a],r=t[a],s=i[a],l=p(n)&&p(r),c=p(n)&&p(s);if(r){if(l&&!o(n,r)||!l&&n!==r)return!1}else if(c&&!o(n,s)||!c&&n!==s)return!1}return!0})(o,l,c)&&(0,n.createElement)(s.Button,{icon:"image-rotate",className:"bPlResetVal",onClick:()=>{const e={side:d("side"),vertical:d("vertical"),horizontal:d("horizontal"),top:d("top"),right:d("right"),bottom:d("bottom"),left:d("left")};r({...o,...e})}})),2===h("side")&&(0,n.createElement)(s.PanelRow,{className:"twoColumn"},(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Top Bottom:"),labelPosition:"top",value:h("vertical"),onChange:e=>f("vertical",e),units:[me(),ye(),ve(),be()]}),(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Left Right:"),labelPosition:"top",value:h("horizontal"),onChange:e=>f("horizontal",e),units:[me(),ye(),ve(),be()]})),4===h("side")&&(0,n.createElement)(s.PanelRow,{className:"fourColumn"},(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Top:"),labelPosition:"top",value:h("top"),onChange:e=>f("top",e),units:[me(),ye(),ve(),be()]}),(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Right:"),labelPosition:"top",value:h("right"),onChange:e=>f("right",e),units:[me(),ye(),ve(),be()]}),(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Bottom:"),labelPosition:"top",value:h("bottom"),onChange:e=>f("bottom",e),units:[me(),ye(),ve(),be()]}),(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Left:"),labelPosition:"top",value:h("left"),onChange:e=>f("left",e),units:[me(),ye(),ve(),be()]})))}),ji=[{family:"Default",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"ABeeZee",variants:[400,"400i"],category:"sans-serif"},{family:"Abel",variants:[400],category:"sans-serif"},{family:"Abhaya Libre",variants:[400,500,600,700,800],category:"serif"},{family:"Abril Fatface",variants:[400],category:"display"},{family:"Aclonica",variants:[400],category:"sans-serif"},{family:"Acme",variants:[400],category:"sans-serif"},{family:"Actor",variants:[400],category:"sans-serif"},{family:"Adamina",variants:[400],category:"serif"},{family:"Advent Pro",variants:[100,200,300,400,500,600,700],category:"sans-serif"},{family:"Aguafina Script",variants:[400],category:"handwriting"},{family:"Akaya Kanadaka",variants:[400],category:"display"},{family:"Akaya Telivigala",variants:[400],category:"display"},{family:"Akronim",variants:[400],category:"display"},{family:"Aladin",variants:[400],category:"handwriting"},{family:"Alata",variants:[400],category:"sans-serif"},{family:"Alatsi",variants:[400],category:"sans-serif"},{family:"Aldrich",variants:[400],category:"sans-serif"},{family:"Alef",variants:[400,700],category:"sans-serif"},{family:"Alegreya",variants:[400,500,600,700,800,900,"400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Alegreya SC",variants:[400,"400i",500,"500i",700,"700i",800,"800i",900,"900i"],category:"serif"},{family:"Alegreya Sans",variants:[100,"100i",300,"300i",400,"400i",500,"500i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Alegreya Sans SC",variants:[100,"100i",300,"300i",400,"400i",500,"500i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Aleo",variants:[300,"300i",400,"400i",700,"700i"],category:"serif"},{family:"Alex Brush",variants:[400],category:"handwriting"},{family:"Alfa Slab One",variants:[400],category:"display"},{family:"Alice",variants:[400],category:"serif"},{family:"Alike",variants:[400],category:"serif"},{family:"Alike Angular",variants:[400],category:"serif"},{family:"Allan",variants:[400,700],category:"display"},{family:"Allerta",variants:[400],category:"sans-serif"},{family:"Allerta Stencil",variants:[400],category:"sans-serif"},{family:"Allura",variants:[400],category:"handwriting"},{family:"Almarai",variants:[300,400,700,800],category:"sans-serif"},{family:"Almendra",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Almendra Display",variants:[400],category:"display"},{family:"Almendra SC",variants:[400],category:"serif"},{family:"Amarante",variants:[400],category:"display"},{family:"Amaranth",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Amatic SC",variants:[400,700],category:"handwriting"},{family:"Amethysta",variants:[400],category:"serif"},{family:"Amiko",variants:[400,600,700],category:"sans-serif"},{family:"Amiri",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Amita",variants:[400,700],category:"handwriting"},{family:"Anaheim",variants:[400],category:"sans-serif"},{family:"Andada",variants:[400],category:"serif"},{family:"Andika",variants:[400],category:"sans-serif"},{family:"Andika New Basic",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Angkor",variants:[400],category:"display"},{family:"Annie Use Your Telescope",variants:[400],category:"handwriting"},{family:"Anonymous Pro",variants:[400,"400i",700,"700i"],category:"monospace"},{family:"Antic",variants:[400],category:"sans-serif"},{family:"Antic Didone",variants:[400],category:"serif"},{family:"Antic Slab",variants:[400],category:"serif"},{family:"Anton",variants:[400],category:"sans-serif"},{family:"Antonio",variants:[100,200,300,400,500,600,700],category:"sans-serif"},{family:"Arapey",variants:[400,"400i"],category:"serif"},{family:"Arbutus",variants:[400],category:"display"},{family:"Arbutus Slab",variants:[400],category:"serif"},{family:"Architects Daughter",variants:[400],category:"handwriting"},{family:"Archivo",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Archivo Black",variants:[400],category:"sans-serif"},{family:"Archivo Narrow",variants:[400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Aref Ruqaa",variants:[400,700],category:"serif"},{family:"Arima Madurai",variants:[100,200,300,400,500,700,800,900],category:"display"},{family:"Arimo",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"sans-serif"},{family:"Arizonia",variants:[400],category:"handwriting"},{family:"Armata",variants:[400],category:"sans-serif"},{family:"Arsenal",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Artifika",variants:[400],category:"serif"},{family:"Arvo",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Arya",variants:[400,700],category:"sans-serif"},{family:"Asap",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"sans-serif"},{family:"Asap Condensed",variants:[400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Asar",variants:[400],category:"serif"},{family:"Asset",variants:[400],category:"display"},{family:"Assistant",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"Astloch",variants:[400,700],category:"display"},{family:"Asul",variants:[400,700],category:"sans-serif"},{family:"Athiti",variants:[200,300,400,500,600,700],category:"sans-serif"},{family:"Atma",variants:[300,400,500,600,700],category:"display"},{family:"Atomic Age",variants:[400],category:"display"},{family:"Aubrey",variants:[400],category:"display"},{family:"Audiowide",variants:[400],category:"display"},{family:"Autour One",variants:[400],category:"display"},{family:"Average",variants:[400],category:"serif"},{family:"Average Sans",variants:[400],category:"sans-serif"},{family:"Averia Gruesa Libre",variants:[400],category:"display"},{family:"Averia Libre",variants:[300,"300i",400,"400i",700,"700i"],category:"display"},{family:"Averia Sans Libre",variants:[300,"300i",400,"400i",700,"700i"],category:"display"},{family:"Averia Serif Libre",variants:[300,"300i",400,"400i",700,"700i"],category:"display"},{family:"B612",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"B612 Mono",variants:[400,"400i",700,"700i"],category:"monospace"},{family:"Bad Script",variants:[400],category:"handwriting"},{family:"Bahiana",variants:[400],category:"display"},{family:"Bahianita",variants:[400],category:"display"},{family:"Bai Jamjuree",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Ballet",variants:[400],category:"handwriting"},{family:"Baloo 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Bhai 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Bhaina 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Chettan 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Da 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Paaji 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Tamma 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Tammudu 2",variants:[400,500,600,700,800],category:"display"},{family:"Baloo Thambi 2",variants:[400,500,600,700,800],category:"display"},{family:"Balsamiq Sans",variants:[400,"400i",700,"700i"],category:"display"},{family:"Balthazar",variants:[400],category:"serif"},{family:"Bangers",variants:[400],category:"display"},{family:"Barlow",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Barlow Condensed",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Barlow Semi Condensed",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Barriecito",variants:[400],category:"display"},{family:"Barrio",variants:[400],category:"display"},{family:"Basic",variants:[400],category:"sans-serif"},{family:"Baskervville",variants:[400,"400i"],category:"serif"},{family:"Battambang",variants:[400,700],category:"display"},{family:"Baumans",variants:[400],category:"display"},{family:"Bayon",variants:[400],category:"display"},{family:"Be Vietnam",variants:[100,"100i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i"],category:"sans-serif"},{family:"Bebas Neue",variants:[400],category:"display"},{family:"Belgrano",variants:[400],category:"serif"},{family:"Bellefair",variants:[400],category:"serif"},{family:"Belleza",variants:[400],category:"sans-serif"},{family:"Bellota",variants:[300,"300i",400,"400i",700,"700i"],category:"display"},{family:"Bellota Text",variants:[300,"300i",400,"400i",700,"700i"],category:"display"},{family:"BenchNine",variants:[300,400,700],category:"sans-serif"},{family:"Benne",variants:[400],category:"serif"},{family:"Bentham",variants:[400],category:"serif"},{family:"Berkshire Swash",variants:[400],category:"handwriting"},{family:"Beth Ellen",variants:[400],category:"handwriting"},{family:"Bevan",variants:[400],category:"display"},{family:"Big Shoulders Display",variants:[100,300,400,500,600,700,800,900],category:"display"},{family:"Big Shoulders Inline Display",variants:[100,300,400,500,600,700,800,900],category:"display"},{family:"Big Shoulders Inline Text",variants:[100,300,400,500,600,700,800,900],category:"display"},{family:"Big Shoulders Stencil Display",variants:[100,300,400,500,600,700,800,900],category:"display"},{family:"Big Shoulders Stencil Text",variants:[100,300,400,500,600,700,800,900],category:"display"},{family:"Big Shoulders Text",variants:[100,300,400,500,600,700,800,900],category:"display"},{family:"Bigelow Rules",variants:[400],category:"display"},{family:"Bigshot One",variants:[400],category:"display"},{family:"Bilbo",variants:[400],category:"handwriting"},{family:"Bilbo Swash Caps",variants:[400],category:"handwriting"},{family:"BioRhyme",variants:[200,300,400,700,800],category:"serif"},{family:"BioRhyme Expanded",variants:[200,300,400,700,800],category:"serif"},{family:"Biryani",variants:[200,300,400,600,700,800,900],category:"sans-serif"},{family:"Bitter",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Black And White Picture",variants:[400],category:"sans-serif"},{family:"Black Han Sans",variants:[400],category:"sans-serif"},{family:"Black Ops One",variants:[400],category:"display"},{family:"Blinker",variants:[100,200,300,400,600,700,800,900],category:"sans-serif"},{family:"Bodoni Moda",variants:[400,500,600,700,800,900,"400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Bokor",variants:[400],category:"display"},{family:"Bonbon",variants:[400],category:"handwriting"},{family:"Boogaloo",variants:[400],category:"display"},{family:"Bowlby One",variants:[400],category:"display"},{family:"Bowlby One SC",variants:[400],category:"display"},{family:"Brawler",variants:[400],category:"serif"},{family:"Bree Serif",variants:[400],category:"serif"},{family:"Brygada 1918",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"serif"},{family:"Bubblegum Sans",variants:[400],category:"display"},{family:"Bubbler One",variants:[400],category:"sans-serif"},{family:"Buda",variants:[300,400],category:"display"},{family:"Buenard",variants:[400,700],category:"serif"},{family:"Bungee",variants:[400],category:"display"},{family:"Bungee Hairline",variants:[400],category:"display"},{family:"Bungee Inline",variants:[400],category:"display"},{family:"Bungee Outline",variants:[400],category:"display"},{family:"Bungee Shade",variants:[400],category:"display"},{family:"Butcherman",variants:[400],category:"display"},{family:"Butterfly Kids",variants:[400],category:"handwriting"},{family:"Cabin",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"sans-serif"},{family:"Cabin Condensed",variants:[400,500,600,700],category:"sans-serif"},{family:"Cabin Sketch",variants:[400,700],category:"display"},{family:"Caesar Dressing",variants:[400],category:"display"},{family:"Cagliostro",variants:[400],category:"sans-serif"},{family:"Cairo",variants:[200,300,400,600,700,900],category:"sans-serif"},{family:"Caladea",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Calistoga",variants:[400],category:"display"},{family:"Calligraffitti",variants:[400],category:"handwriting"},{family:"Cambay",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Cambo",variants:[400],category:"serif"},{family:"Candal",variants:[400],category:"sans-serif"},{family:"Cantarell",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Cantata One",variants:[400],category:"serif"},{family:"Cantora One",variants:[400],category:"sans-serif"},{family:"Capriola",variants:[400],category:"sans-serif"},{family:"Cardo",variants:[400,"400i",700],category:"serif"},{family:"Carme",variants:[400],category:"sans-serif"},{family:"Carrois Gothic",variants:[400],category:"sans-serif"},{family:"Carrois Gothic SC",variants:[400],category:"sans-serif"},{family:"Carter One",variants:[400],category:"display"},{family:"Castoro",variants:[400,"400i"],category:"serif"},{family:"Catamaran",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Caudex",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Caveat",variants:[400,500,600,700],category:"handwriting"},{family:"Caveat Brush",variants:[400],category:"handwriting"},{family:"Cedarville Cursive",variants:[400],category:"handwriting"},{family:"Ceviche One",variants:[400],category:"display"},{family:"Chakra Petch",variants:[300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Changa",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"Changa One",variants:[400,"400i"],category:"display"},{family:"Chango",variants:[400],category:"display"},{family:"Charm",variants:[400,700],category:"handwriting"},{family:"Charmonman",variants:[400,700],category:"handwriting"},{family:"Chathura",variants:[100,300,400,700,800],category:"sans-serif"},{family:"Chau Philomene One",variants:[400,"400i"],category:"sans-serif"},{family:"Chela One",variants:[400],category:"display"},{family:"Chelsea Market",variants:[400],category:"display"},{family:"Chenla",variants:[400],category:"display"},{family:"Cherry Cream Soda",variants:[400],category:"display"},{family:"Cherry Swash",variants:[400,700],category:"display"},{family:"Chewy",variants:[400],category:"display"},{family:"Chicle",variants:[400],category:"display"},{family:"Chilanka",variants:[400],category:"handwriting"},{family:"Chivo",variants:[300,"300i",400,"400i",700,"700i",900,"900i"],category:"sans-serif"},{family:"Chonburi",variants:[400],category:"display"},{family:"Cinzel",variants:[400,500,600,700,800,900],category:"serif"},{family:"Cinzel Decorative",variants:[400,700,900],category:"display"},{family:"Clicker Script",variants:[400],category:"handwriting"},{family:"Coda",variants:[400,800],category:"display"},{family:"Coda Caption",variants:[400,800],category:"sans-serif"},{family:"Codystar",variants:[300,400],category:"display"},{family:"Coiny",variants:[400],category:"display"},{family:"Combo",variants:[400],category:"display"},{family:"Comfortaa",variants:[300,400,500,600,700],category:"display"},{family:"Comic Neue",variants:[300,"300i",400,"400i",700,"700i"],category:"handwriting"},{family:"Coming Soon",variants:[400],category:"handwriting"},{family:"Commissioner",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Concert One",variants:[400],category:"display"},{family:"Condiment",variants:[400],category:"handwriting"},{family:"Content",variants:[400,700],category:"display"},{family:"Contrail One",variants:[400],category:"display"},{family:"Convergence",variants:[400],category:"sans-serif"},{family:"Cookie",variants:[400],category:"handwriting"},{family:"Copse",variants:[400],category:"serif"},{family:"Corben",variants:[400,700],category:"display"},{family:"Cormorant",variants:[300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"serif"},{family:"Cormorant Garamond",variants:[300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"serif"},{family:"Cormorant Infant",variants:[300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"serif"},{family:"Cormorant SC",variants:[300,400,500,600,700],category:"serif"},{family:"Cormorant Unicase",variants:[300,400,500,600,700],category:"serif"},{family:"Cormorant Upright",variants:[300,400,500,600,700],category:"serif"},{family:"Courgette",variants:[400],category:"handwriting"},{family:"Courier Prime",variants:[400,"400i",700,"700i"],category:"monospace"},{family:"Cousine",variants:[400,"400i",700,"700i"],category:"monospace"},{family:"Coustard",variants:[400,900],category:"serif"},{family:"Covered By Your Grace",variants:[400],category:"handwriting"},{family:"Crafty Girls",variants:[400],category:"handwriting"},{family:"Creepster",variants:[400],category:"display"},{family:"Crete Round",variants:[400,"400i"],category:"serif"},{family:"Crimson Pro",variants:[200,300,400,500,600,700,800,900,"200i","300i","400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Crimson Text",variants:[400,"400i",600,"600i",700,"700i"],category:"serif"},{family:"Croissant One",variants:[400],category:"display"},{family:"Crushed",variants:[400],category:"display"},{family:"Cuprum",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"sans-serif"},{family:"Cute Font",variants:[400],category:"display"},{family:"Cutive",variants:[400],category:"serif"},{family:"Cutive Mono",variants:[400],category:"monospace"},{family:"DM Mono",variants:[300,"300i",400,"400i",500,"500i"],category:"monospace"},{family:"DM Sans",variants:[400,"400i",500,"500i",700,"700i"],category:"sans-serif"},{family:"DM Serif Display",variants:[400,"400i"],category:"serif"},{family:"DM Serif Text",variants:[400,"400i"],category:"serif"},{family:"Damion",variants:[400],category:"handwriting"},{family:"Dancing Script",variants:[400,500,600,700],category:"handwriting"},{family:"Dangrek",variants:[400],category:"display"},{family:"Darker Grotesque",variants:[300,400,500,600,700,800,900],category:"sans-serif"},{family:"David Libre",variants:[400,500,700],category:"serif"},{family:"Dawning of a New Day",variants:[400],category:"handwriting"},{family:"Days One",variants:[400],category:"sans-serif"},{family:"Dekko",variants:[400],category:"handwriting"},{family:"Dela Gothic One",variants:[400],category:"display"},{family:"Delius",variants:[400],category:"handwriting"},{family:"Delius Swash Caps",variants:[400],category:"handwriting"},{family:"Delius Unicase",variants:[400,700],category:"handwriting"},{family:"Della Respira",variants:[400],category:"serif"},{family:"Denk One",variants:[400],category:"sans-serif"},{family:"Devonshire",variants:[400],category:"handwriting"},{family:"Dhurjati",variants:[400],category:"sans-serif"},{family:"Didact Gothic",variants:[400],category:"sans-serif"},{family:"Diplomata",variants:[400],category:"display"},{family:"Diplomata SC",variants:[400],category:"display"},{family:"Do Hyeon",variants:[400],category:"sans-serif"},{family:"Dokdo",variants:[400],category:"handwriting"},{family:"Domine",variants:[400,500,600,700],category:"serif"},{family:"Donegal One",variants:[400],category:"serif"},{family:"Doppio One",variants:[400],category:"sans-serif"},{family:"Dorsa",variants:[400],category:"sans-serif"},{family:"Dosis",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"DotGothic16",variants:[400],category:"sans-serif"},{family:"Dr Sugiyama",variants:[400],category:"handwriting"},{family:"Duru Sans",variants:[400],category:"sans-serif"},{family:"Dynalight",variants:[400],category:"display"},{family:"EB Garamond",variants:[400,500,600,700,800,"400i","500i","600i","700i","800i"],category:"serif"},{family:"Eagle Lake",variants:[400],category:"handwriting"},{family:"East Sea Dokdo",variants:[400],category:"handwriting"},{family:"Eater",variants:[400],category:"display"},{family:"Economica",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Eczar",variants:[400,500,600,700,800],category:"serif"},{family:"El Messiri",variants:[400,500,600,700],category:"sans-serif"},{family:"Electrolize",variants:[400],category:"sans-serif"},{family:"Elsie",variants:[400,900],category:"display"},{family:"Elsie Swash Caps",variants:[400,900],category:"display"},{family:"Emblema One",variants:[400],category:"display"},{family:"Emilys Candy",variants:[400],category:"display"},{family:"Encode Sans",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Encode Sans Condensed",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Encode Sans Expanded",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Encode Sans Semi Condensed",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Encode Sans Semi Expanded",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Engagement",variants:[400],category:"handwriting"},{family:"Englebert",variants:[400],category:"sans-serif"},{family:"Enriqueta",variants:[400,500,600,700],category:"serif"},{family:"Epilogue",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Erica One",variants:[400],category:"display"},{family:"Esteban",variants:[400],category:"serif"},{family:"Euphoria Script",variants:[400],category:"handwriting"},{family:"Ewert",variants:[400],category:"display"},{family:"Exo",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Exo 2",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Expletus Sans",variants:[400,"400i",500,"500i",600,"600i",700,"700i"],category:"display"},{family:"Fahkwang",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Fanwood Text",variants:[400,"400i"],category:"serif"},{family:"Farro",variants:[300,400,500,700],category:"sans-serif"},{family:"Farsan",variants:[400],category:"display"},{family:"Fascinate",variants:[400],category:"display"},{family:"Fascinate Inline",variants:[400],category:"display"},{family:"Faster One",variants:[400],category:"display"},{family:"Fasthand",variants:[400],category:"serif"},{family:"Fauna One",variants:[400],category:"serif"},{family:"Faustina",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"serif"},{family:"Federant",variants:[400],category:"display"},{family:"Federo",variants:[400],category:"sans-serif"},{family:"Felipa",variants:[400],category:"handwriting"},{family:"Fenix",variants:[400],category:"serif"},{family:"Finger Paint",variants:[400],category:"display"},{family:"Fira Code",variants:[300,400,500,600,700],category:"monospace"},{family:"Fira Mono",variants:[400,500,700],category:"monospace"},{family:"Fira Sans",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Fira Sans Condensed",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Fira Sans Extra Condensed",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Fjalla One",variants:[400],category:"sans-serif"},{family:"Fjord One",variants:[400],category:"serif"},{family:"Flamenco",variants:[300,400],category:"display"},{family:"Flavors",variants:[400],category:"display"},{family:"Fondamento",variants:[400,"400i"],category:"handwriting"},{family:"Fontdiner Swanky",variants:[400],category:"display"},{family:"Forum",variants:[400],category:"display"},{family:"Francois One",variants:[400],category:"sans-serif"},{family:"Frank Ruhl Libre",variants:[300,400,500,700,900],category:"serif"},{family:"Fraunces",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Freckle Face",variants:[400],category:"display"},{family:"Fredericka the Great",variants:[400],category:"display"},{family:"Fredoka One",variants:[400],category:"display"},{family:"Freehand",variants:[400],category:"display"},{family:"Fresca",variants:[400],category:"sans-serif"},{family:"Frijole",variants:[400],category:"display"},{family:"Fruktur",variants:[400],category:"display"},{family:"Fugaz One",variants:[400],category:"display"},{family:"GFS Didot",variants:[400],category:"serif"},{family:"GFS Neohellenic",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Gabriela",variants:[400],category:"serif"},{family:"Gaegu",variants:[300,400,700],category:"handwriting"},{family:"Gafata",variants:[400],category:"sans-serif"},{family:"Galada",variants:[400],category:"display"},{family:"Galdeano",variants:[400],category:"sans-serif"},{family:"Galindo",variants:[400],category:"display"},{family:"Gamja Flower",variants:[400],category:"handwriting"},{family:"Gayathri",variants:[100,400,700],category:"sans-serif"},{family:"Gelasio",variants:[400,"400i",500,"500i",600,"600i",700,"700i"],category:"serif"},{family:"Gentium Basic",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Gentium Book Basic",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Geo",variants:[400,"400i"],category:"sans-serif"},{family:"Geostar",variants:[400],category:"display"},{family:"Geostar Fill",variants:[400],category:"display"},{family:"Germania One",variants:[400],category:"display"},{family:"Gidugu",variants:[400],category:"sans-serif"},{family:"Gilda Display",variants:[400],category:"serif"},{family:"Girassol",variants:[400],category:"display"},{family:"Give You Glory",variants:[400],category:"handwriting"},{family:"Glass Antiqua",variants:[400],category:"display"},{family:"Glegoo",variants:[400,700],category:"serif"},{family:"Gloria Hallelujah",variants:[400],category:"handwriting"},{family:"Goblin One",variants:[400],category:"display"},{family:"Gochi Hand",variants:[400],category:"handwriting"},{family:"Goldman",variants:[400,700],category:"display"},{family:"Gorditas",variants:[400,700],category:"display"},{family:"Gothic A1",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Gotu",variants:[400],category:"sans-serif"},{family:"Goudy Bookletter 1911",variants:[400],category:"serif"},{family:"Graduate",variants:[400],category:"display"},{family:"Grand Hotel",variants:[400],category:"handwriting"},{family:"Grandstander",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"display"},{family:"Gravitas One",variants:[400],category:"display"},{family:"Great Vibes",variants:[400],category:"handwriting"},{family:"Grenze",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"serif"},{family:"Grenze Gotisch",variants:[100,200,300,400,500,600,700,800,900],category:"display"},{family:"Griffy",variants:[400],category:"display"},{family:"Gruppo",variants:[400],category:"display"},{family:"Gudea",variants:[400,"400i",700],category:"sans-serif"},{family:"Gugi",variants:[400],category:"display"},{family:"Gupter",variants:[400,500,700],category:"serif"},{family:"Gurajada",variants:[400],category:"serif"},{family:"Habibi",variants:[400],category:"serif"},{family:"Hachi Maru Pop",variants:[400],category:"handwriting"},{family:"Halant",variants:[300,400,500,600,700],category:"serif"},{family:"Hammersmith One",variants:[400],category:"sans-serif"},{family:"Hanalei",variants:[400],category:"display"},{family:"Hanalei Fill",variants:[400],category:"display"},{family:"Handlee",variants:[400],category:"handwriting"},{family:"Hanuman",variants:[400,700],category:"serif"},{family:"Happy Monkey",variants:[400],category:"display"},{family:"Harmattan",variants:[400,700],category:"sans-serif"},{family:"Headland One",variants:[400],category:"serif"},{family:"Heebo",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Henny Penny",variants:[400],category:"display"},{family:"Hepta Slab",variants:[100,200,300,400,500,600,700,800,900],category:"serif"},{family:"Herr Von Muellerhoff",variants:[400],category:"handwriting"},{family:"Hi Melody",variants:[400],category:"handwriting"},{family:"Hind",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Hind Guntur",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Hind Madurai",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Hind Siliguri",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Hind Vadodara",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Holtwood One SC",variants:[400],category:"serif"},{family:"Homemade Apple",variants:[400],category:"handwriting"},{family:"Homenaje",variants:[400],category:"sans-serif"},{family:"IBM Plex Mono",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"monospace"},{family:"IBM Plex Sans",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"IBM Plex Sans Condensed",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"IBM Plex Serif",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"serif"},{family:"IM Fell DW Pica",variants:[400,"400i"],category:"serif"},{family:"IM Fell DW Pica SC",variants:[400],category:"serif"},{family:"IM Fell Double Pica",variants:[400,"400i"],category:"serif"},{family:"IM Fell Double Pica SC",variants:[400],category:"serif"},{family:"IM Fell English",variants:[400,"400i"],category:"serif"},{family:"IM Fell English SC",variants:[400],category:"serif"},{family:"IM Fell French Canon",variants:[400,"400i"],category:"serif"},{family:"IM Fell French Canon SC",variants:[400],category:"serif"},{family:"IM Fell Great Primer",variants:[400,"400i"],category:"serif"},{family:"IM Fell Great Primer SC",variants:[400],category:"serif"},{family:"Ibarra Real Nova",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"serif"},{family:"Iceberg",variants:[400],category:"display"},{family:"Iceland",variants:[400],category:"display"},{family:"Imbue",variants:[100,200,300,400,500,600,700,800,900],category:"serif"},{family:"Imprima",variants:[400],category:"sans-serif"},{family:"Inconsolata",variants:[200,300,400,500,600,700,800,900],category:"monospace"},{family:"Inder",variants:[400],category:"sans-serif"},{family:"Indie Flower",variants:[400],category:"handwriting"},{family:"Inika",variants:[400,700],category:"serif"},{family:"Inknut Antiqua",variants:[300,400,500,600,700,800,900],category:"serif"},{family:"Inria Sans",variants:[300,"300i",400,"400i",700,"700i"],category:"sans-serif"},{family:"Inria Serif",variants:[300,"300i",400,"400i",700,"700i"],category:"serif"},{family:"Inter",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Irish Grover",variants:[400],category:"display"},{family:"Istok Web",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Italiana",variants:[400],category:"serif"},{family:"Italianno",variants:[400],category:"handwriting"},{family:"Itim",variants:[400],category:"handwriting"},{family:"Jacques Francois",variants:[400],category:"serif"},{family:"Jacques Francois Shadow",variants:[400],category:"display"},{family:"Jaldi",variants:[400,700],category:"sans-serif"},{family:"JetBrains Mono",variants:[100,200,300,400,500,600,700,800,"100i","200i","300i","400i","500i","600i","700i","800i"],category:"monospace"},{family:"Jim Nightshade",variants:[400],category:"handwriting"},{family:"Jockey One",variants:[400],category:"sans-serif"},{family:"Jolly Lodger",variants:[400],category:"display"},{family:"Jomhuria",variants:[400],category:"display"},{family:"Jomolhari",variants:[400],category:"serif"},{family:"Josefin Sans",variants:[100,200,300,400,500,600,700,"100i","200i","300i","400i","500i","600i","700i"],category:"sans-serif"},{family:"Josefin Slab",variants:[100,200,300,400,500,600,700,"100i","200i","300i","400i","500i","600i","700i"],category:"serif"},{family:"Jost",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Joti One",variants:[400],category:"display"},{family:"Jua",variants:[400],category:"sans-serif"},{family:"Judson",variants:[400,"400i",700],category:"serif"},{family:"Julee",variants:[400],category:"handwriting"},{family:"Julius Sans One",variants:[400],category:"sans-serif"},{family:"Junge",variants:[400],category:"serif"},{family:"Jura",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Just Another Hand",variants:[400],category:"handwriting"},{family:"Just Me Again Down Here",variants:[400],category:"handwriting"},{family:"K2D",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i"],category:"sans-serif"},{family:"Kadwa",variants:[400,700],category:"serif"},{family:"Kalam",variants:[300,400,700],category:"handwriting"},{family:"Kameron",variants:[400,700],category:"serif"},{family:"Kanit",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Kantumruy",variants:[300,400,700],category:"sans-serif"},{family:"Karantina",variants:[300,400,700],category:"display"},{family:"Karla",variants:[200,300,400,500,600,700,800,"200i","300i","400i","500i","600i","700i","800i"],category:"sans-serif"},{family:"Karma",variants:[300,400,500,600,700],category:"serif"},{family:"Katibeh",variants:[400],category:"display"},{family:"Kaushan Script",variants:[400],category:"handwriting"},{family:"Kavivanar",variants:[400],category:"handwriting"},{family:"Kavoon",variants:[400],category:"display"},{family:"Kdam Thmor",variants:[400],category:"display"},{family:"Keania One",variants:[400],category:"display"},{family:"Kelly Slab",variants:[400],category:"display"},{family:"Kenia",variants:[400],category:"display"},{family:"Khand",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Khmer",variants:[400],category:"display"},{family:"Khula",variants:[300,400,600,700,800],category:"sans-serif"},{family:"Kirang Haerang",variants:[400],category:"display"},{family:"Kite One",variants:[400],category:"sans-serif"},{family:"Kiwi Maru",variants:[300,400,500],category:"serif"},{family:"Knewave",variants:[400],category:"display"},{family:"KoHo",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Kodchasan",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Kosugi",variants:[400],category:"sans-serif"},{family:"Kosugi Maru",variants:[400],category:"sans-serif"},{family:"Kotta One",variants:[400],category:"serif"},{family:"Koulen",variants:[400],category:"display"},{family:"Kranky",variants:[400],category:"display"},{family:"Kreon",variants:[300,400,500,600,700],category:"serif"},{family:"Kristi",variants:[400],category:"handwriting"},{family:"Krona One",variants:[400],category:"sans-serif"},{family:"Krub",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Kufam",variants:[400,500,600,700,800,900,"400i","500i","600i","700i","800i","900i"],category:"display"},{family:"Kulim Park",variants:[200,"200i",300,"300i",400,"400i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Kumar One",variants:[400],category:"display"},{family:"Kumar One Outline",variants:[400],category:"display"},{family:"Kumbh Sans",variants:[300,400,700],category:"sans-serif"},{family:"Kurale",variants:[400],category:"serif"},{family:"La Belle Aurore",variants:[400],category:"handwriting"},{family:"Lacquer",variants:[400],category:"display"},{family:"Laila",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Lakki Reddy",variants:[400],category:"handwriting"},{family:"Lalezar",variants:[400],category:"display"},{family:"Lancelot",variants:[400],category:"display"},{family:"Langar",variants:[400],category:"display"},{family:"Lateef",variants:[400],category:"handwriting"},{family:"Lato",variants:[100,"100i",300,"300i",400,"400i",700,"700i",900,"900i"],category:"sans-serif"},{family:"League Script",variants:[400],category:"handwriting"},{family:"Leckerli One",variants:[400],category:"handwriting"},{family:"Ledger",variants:[400],category:"serif"},{family:"Lekton",variants:[400,"400i",700],category:"sans-serif"},{family:"Lemon",variants:[400],category:"display"},{family:"Lemonada",variants:[300,400,500,600,700],category:"display"},{family:"Lexend",variants:[100,300,400,500,600,700,800],category:"sans-serif"},{family:"Lexend Deca",variants:[400],category:"sans-serif"},{family:"Lexend Exa",variants:[400],category:"sans-serif"},{family:"Lexend Giga",variants:[400],category:"sans-serif"},{family:"Lexend Mega",variants:[400],category:"sans-serif"},{family:"Lexend Peta",variants:[400],category:"sans-serif"},{family:"Lexend Tera",variants:[400],category:"sans-serif"},{family:"Lexend Zetta",variants:[400],category:"sans-serif"},{family:"Libre Barcode 128",variants:[400],category:"display"},{family:"Libre Barcode 128 Text",variants:[400],category:"display"},{family:"Libre Barcode 39",variants:[400],category:"display"},{family:"Libre Barcode 39 Extended",variants:[400],category:"display"},{family:"Libre Barcode 39 Extended Text",variants:[400],category:"display"},{family:"Libre Barcode 39 Text",variants:[400],category:"display"},{family:"Libre Barcode EAN13 Text",variants:[400],category:"display"},{family:"Libre Baskerville",variants:[400,"400i",700],category:"serif"},{family:"Libre Caslon Display",variants:[400],category:"serif"},{family:"Libre Caslon Text",variants:[400,"400i",700],category:"serif"},{family:"Libre Franklin",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Life Savers",variants:[400,700,800],category:"display"},{family:"Lilita One",variants:[400],category:"display"},{family:"Lily Script One",variants:[400],category:"display"},{family:"Limelight",variants:[400],category:"display"},{family:"Linden Hill",variants:[400,"400i"],category:"serif"},{family:"Literata",variants:[200,300,400,500,600,700,800,900,"200i","300i","400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Liu Jian Mao Cao",variants:[400],category:"handwriting"},{family:"Livvic",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",900,"900i"],category:"sans-serif"},{family:"Lobster",variants:[400],category:"display"},{family:"Lobster Two",variants:[400,"400i",700,"700i"],category:"display"},{family:"Londrina Outline",variants:[400],category:"display"},{family:"Londrina Shadow",variants:[400],category:"display"},{family:"Londrina Sketch",variants:[400],category:"display"},{family:"Londrina Solid",variants:[100,300,400,900],category:"display"},{family:"Long Cang",variants:[400],category:"handwriting"},{family:"Lora",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"serif"},{family:"Love Ya Like A Sister",variants:[400],category:"display"},{family:"Loved by the King",variants:[400],category:"handwriting"},{family:"Lovers Quarrel",variants:[400],category:"handwriting"},{family:"Luckiest Guy",variants:[400],category:"display"},{family:"Lusitana",variants:[400,700],category:"serif"},{family:"Lustria",variants:[400],category:"serif"},{family:"M PLUS 1p",variants:[100,300,400,500,700,800,900],category:"sans-serif"},{family:"M PLUS Rounded 1c",variants:[100,300,400,500,700,800,900],category:"sans-serif"},{family:"Ma Shan Zheng",variants:[400],category:"handwriting"},{family:"Macondo",variants:[400],category:"display"},{family:"Macondo Swash Caps",variants:[400],category:"display"},{family:"Mada",variants:[200,300,400,500,600,700,900],category:"sans-serif"},{family:"Magra",variants:[400,700],category:"sans-serif"},{family:"Maiden Orange",variants:[400],category:"display"},{family:"Maitree",variants:[200,300,400,500,600,700],category:"serif"},{family:"Major Mono Display",variants:[400],category:"monospace"},{family:"Mako",variants:[400],category:"sans-serif"},{family:"Mali",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"handwriting"},{family:"Mallanna",variants:[400],category:"sans-serif"},{family:"Mandali",variants:[400],category:"sans-serif"},{family:"Manjari",variants:[100,400,700],category:"sans-serif"},{family:"Manrope",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"Mansalva",variants:[400],category:"handwriting"},{family:"Manuale",variants:[400,500,600,700,"400i","500i","600i","700i"],category:"serif"},{family:"Marcellus",variants:[400],category:"serif"},{family:"Marcellus SC",variants:[400],category:"serif"},{family:"Marck Script",variants:[400],category:"handwriting"},{family:"Margarine",variants:[400],category:"display"},{family:"Markazi Text",variants:[400,500,600,700],category:"serif"},{family:"Marko One",variants:[400],category:"serif"},{family:"Marmelad",variants:[400],category:"sans-serif"},{family:"Martel",variants:[200,300,400,600,700,800,900],category:"serif"},{family:"Martel Sans",variants:[200,300,400,600,700,800,900],category:"sans-serif"},{family:"Marvel",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Mate",variants:[400,"400i"],category:"serif"},{family:"Mate SC",variants:[400],category:"serif"},{family:"Maven Pro",variants:[400,500,600,700,800,900],category:"sans-serif"},{family:"McLaren",variants:[400],category:"display"},{family:"Meddon",variants:[400],category:"handwriting"},{family:"MedievalSharp",variants:[400],category:"display"},{family:"Medula One",variants:[400],category:"display"},{family:"Meera Inimai",variants:[400],category:"sans-serif"},{family:"Megrim",variants:[400],category:"display"},{family:"Meie Script",variants:[400],category:"handwriting"},{family:"Merienda",variants:[400,700],category:"handwriting"},{family:"Merienda One",variants:[400],category:"handwriting"},{family:"Merriweather",variants:[300,"300i",400,"400i",700,"700i",900,"900i"],category:"serif"},{family:"Merriweather Sans",variants:[300,400,500,600,700,800,"300i","400i","500i","600i","700i","800i"],category:"sans-serif"},{family:"Metal",variants:[400],category:"display"},{family:"Metal Mania",variants:[400],category:"display"},{family:"Metamorphous",variants:[400],category:"display"},{family:"Metrophobic",variants:[400],category:"sans-serif"},{family:"Michroma",variants:[400],category:"sans-serif"},{family:"Milonga",variants:[400],category:"display"},{family:"Miltonian",variants:[400],category:"display"},{family:"Miltonian Tattoo",variants:[400],category:"display"},{family:"Mina",variants:[400,700],category:"sans-serif"},{family:"Miniver",variants:[400],category:"display"},{family:"Miriam Libre",variants:[400,700],category:"sans-serif"},{family:"Mirza",variants:[400,500,600,700],category:"display"},{family:"Miss Fajardose",variants:[400],category:"handwriting"},{family:"Mitr",variants:[200,300,400,500,600,700],category:"sans-serif"},{family:"Modak",variants:[400],category:"display"},{family:"Modern Antiqua",variants:[400],category:"display"},{family:"Mogra",variants:[400],category:"display"},{family:"Molengo",variants:[400],category:"sans-serif"},{family:"Molle",variants:[400,"400i"],category:"handwriting"},{family:"Monda",variants:[400,700],category:"sans-serif"},{family:"Monofett",variants:[400],category:"display"},{family:"Monoton",variants:[400],category:"display"},{family:"Monsieur La Doulaise",variants:[400],category:"handwriting"},{family:"Montaga",variants:[400],category:"serif"},{family:"Montez",variants:[400],category:"handwriting"},{family:"Montserrat",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Montserrat Alternates",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Montserrat Subrayada",variants:[400,700],category:"sans-serif"},{family:"Moul",variants:[400],category:"display"},{family:"Moulpali",variants:[400],category:"display"},{family:"Mountains of Christmas",variants:[400,700],category:"display"},{family:"Mouse Memoirs",variants:[400],category:"sans-serif"},{family:"Mr Bedfort",variants:[400],category:"handwriting"},{family:"Mr Dafoe",variants:[400],category:"handwriting"},{family:"Mr De Haviland",variants:[400],category:"handwriting"},{family:"Mrs Saint Delafield",variants:[400],category:"handwriting"},{family:"Mrs Sheppards",variants:[400],category:"handwriting"},{family:"Mukta",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"Mukta Mahee",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"Mukta Malar",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"Mukta Vaani",variants:[200,300,400,500,600,700,800],category:"sans-serif"},{family:"Mulish",variants:[200,300,400,500,600,700,800,900,"200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"MuseoModerno",variants:[100,200,300,400,500,600,700,800,900],category:"display"},{family:"Mystery Quest",variants:[400],category:"display"},{family:"NTR",variants:[400],category:"sans-serif"},{family:"Nanum Brush Script",variants:[400],category:"handwriting"},{family:"Nanum Gothic",variants:[400,700,800],category:"sans-serif"},{family:"Nanum Gothic Coding",variants:[400,700],category:"monospace"},{family:"Nanum Myeongjo",variants:[400,700,800],category:"serif"},{family:"Nanum Pen Script",variants:[400],category:"handwriting"},{family:"Nerko One",variants:[400],category:"handwriting"},{family:"Neucha",variants:[400],category:"handwriting"},{family:"Neuton",variants:[200,300,400,"400i",700,800],category:"serif"},{family:"New Rocker",variants:[400],category:"display"},{family:"New Tegomin",variants:[400],category:"serif"},{family:"News Cycle",variants:[400,700],category:"sans-serif"},{family:"Newsreader",variants:[200,300,400,500,600,700,800,"200i","300i","400i","500i","600i","700i","800i"],category:"serif"},{family:"Niconne",variants:[400],category:"handwriting"},{family:"Niramit",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"sans-serif"},{family:"Nixie One",variants:[400],category:"display"},{family:"Nobile",variants:[400,"400i",500,"500i",700,"700i"],category:"sans-serif"},{family:"Nokora",variants:[400,700],category:"serif"},{family:"Norican",variants:[400],category:"handwriting"},{family:"Nosifer",variants:[400],category:"display"},{family:"Notable",variants:[400],category:"sans-serif"},{family:"Nothing You Could Do",variants:[400],category:"handwriting"},{family:"Noticia Text",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Noto Sans",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Noto Sans HK",variants:[100,300,400,500,700,900],category:"sans-serif"},{family:"Noto Sans JP",variants:[100,300,400,500,700,900],category:"sans-serif"},{family:"Noto Sans KR",variants:[100,300,400,500,700,900],category:"sans-serif"},{family:"Noto Sans SC",variants:[100,300,400,500,700,900],category:"sans-serif"},{family:"Noto Sans TC",variants:[100,300,400,500,700,900],category:"sans-serif"},{family:"Noto Serif",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Noto Serif JP",variants:[200,300,400,500,600,700,900],category:"serif"},{family:"Noto Serif KR",variants:[200,300,400,500,600,700,900],category:"serif"},{family:"Noto Serif SC",variants:[200,300,400,500,600,700,900],category:"serif"},{family:"Noto Serif TC",variants:[200,300,400,500,600,700,900],category:"serif"},{family:"Nova Cut",variants:[400],category:"display"},{family:"Nova Flat",variants:[400],category:"display"},{family:"Nova Mono",variants:[400],category:"monospace"},{family:"Nova Oval",variants:[400],category:"display"},{family:"Nova Round",variants:[400],category:"display"},{family:"Nova Script",variants:[400],category:"display"},{family:"Nova Slim",variants:[400],category:"display"},{family:"Nova Square",variants:[400],category:"display"},{family:"Numans",variants:[400],category:"sans-serif"},{family:"Nunito",variants:[200,"200i",300,"300i",400,"400i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Nunito Sans",variants:[200,"200i",300,"300i",400,"400i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Odibee Sans",variants:[400],category:"display"},{family:"Odor Mean Chey",variants:[400],category:"display"},{family:"Offside",variants:[400],category:"display"},{family:"Oi",variants:[400],category:"display"},{family:"Old Standard TT",variants:[400,"400i",700],category:"serif"},{family:"Oldenburg",variants:[400],category:"display"},{family:"Oleo Script",variants:[400,700],category:"display"},{family:"Oleo Script Swash Caps",variants:[400,700],category:"display"},{family:"Open Sans",variants:[300,"300i",400,"400i",600,"600i",700,"700i",800,"800i"],category:"sans-serif"},{family:"Open Sans Condensed",variants:[300,"300i",400,700],category:"sans-serif"},{family:"Oranienbaum",variants:[400],category:"serif"},{family:"Orbitron",variants:[400,500,600,700,800,900],category:"sans-serif"},{family:"Oregano",variants:[400,"400i"],category:"display"},{family:"Orelega One",variants:[400],category:"display"},{family:"Orienta",variants:[400],category:"sans-serif"},{family:"Original Surfer",variants:[400],category:"display"},{family:"Oswald",variants:[200,300,400,500,600,700],category:"sans-serif"},{family:"Over the Rainbow",variants:[400],category:"handwriting"},{family:"Overlock",variants:[400,"400i",700,"700i",900,"900i"],category:"display"},{family:"Overlock SC",variants:[400],category:"display"},{family:"Overpass",variants:[100,"100i",200,"200i",300,"300i",400,"400i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Overpass Mono",variants:[300,400,600,700],category:"monospace"},{family:"Ovo",variants:[400],category:"serif"},{family:"Oxanium",variants:[200,300,400,500,600,700,800],category:"display"},{family:"Oxygen",variants:[300,400,700],category:"sans-serif"},{family:"Oxygen Mono",variants:[400],category:"monospace"},{family:"PT Mono",variants:[400],category:"monospace"},{family:"PT Sans",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"PT Sans Caption",variants:[400,700],category:"sans-serif"},{family:"PT Sans Narrow",variants:[400,700],category:"sans-serif"},{family:"PT Serif",variants:[400,"400i",700,"700i"],category:"serif"},{family:"PT Serif Caption",variants:[400,"400i"],category:"serif"},{family:"Pacifico",variants:[400],category:"handwriting"},{family:"Padauk",variants:[400,700],category:"sans-serif"},{family:"Palanquin",variants:[100,200,300,400,500,600,700],category:"sans-serif"},{family:"Palanquin Dark",variants:[400,500,600,700],category:"sans-serif"},{family:"Pangolin",variants:[400],category:"handwriting"},{family:"Paprika",variants:[400],category:"display"},{family:"Parisienne",variants:[400],category:"handwriting"},{family:"Passero One",variants:[400],category:"display"},{family:"Passion One",variants:[400,700,900],category:"display"},{family:"Pathway Gothic One",variants:[400],category:"sans-serif"},{family:"Patrick Hand",variants:[400],category:"handwriting"},{family:"Patrick Hand SC",variants:[400],category:"handwriting"},{family:"Pattaya",variants:[400],category:"sans-serif"},{family:"Patua One",variants:[400],category:"display"},{family:"Pavanam",variants:[400],category:"sans-serif"},{family:"Paytone One",variants:[400],category:"sans-serif"},{family:"Peddana",variants:[400],category:"serif"},{family:"Peralta",variants:[400],category:"display"},{family:"Permanent Marker",variants:[400],category:"handwriting"},{family:"Petit Formal Script",variants:[400],category:"handwriting"},{family:"Petrona",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Philosopher",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Piazzolla",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Piedra",variants:[400],category:"display"},{family:"Pinyon Script",variants:[400],category:"handwriting"},{family:"Pirata One",variants:[400],category:"display"},{family:"Plaster",variants:[400],category:"display"},{family:"Play",variants:[400,700],category:"sans-serif"},{family:"Playball",variants:[400],category:"display"},{family:"Playfair Display",variants:[400,500,600,700,800,900,"400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Playfair Display SC",variants:[400,"400i",700,"700i",900,"900i"],category:"serif"},{family:"Podkova",variants:[400,500,600,700,800],category:"serif"},{family:"Poiret One",variants:[400],category:"display"},{family:"Poller One",variants:[400],category:"display"},{family:"Poly",variants:[400,"400i"],category:"serif"},{family:"Pompiere",variants:[400],category:"display"},{family:"Pontano Sans",variants:[400],category:"sans-serif"},{family:"Poor Story",variants:[400],category:"display"},{family:"Poppins",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Port Lligat Sans",variants:[400],category:"sans-serif"},{family:"Port Lligat Slab",variants:[400],category:"serif"},{family:"Potta One",variants:[400],category:"display"},{family:"Pragati Narrow",variants:[400,700],category:"sans-serif"},{family:"Prata",variants:[400],category:"serif"},{family:"Preahvihear",variants:[400],category:"display"},{family:"Press Start 2P",variants:[400],category:"display"},{family:"Pridi",variants:[200,300,400,500,600,700],category:"serif"},{family:"Princess Sofia",variants:[400],category:"handwriting"},{family:"Prociono",variants:[400],category:"serif"},{family:"Prompt",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Prosto One",variants:[400],category:"display"},{family:"Proza Libre",variants:[400,"400i",500,"500i",600,"600i",700,"700i",800,"800i"],category:"sans-serif"},{family:"Public Sans",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Puritan",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Purple Purse",variants:[400],category:"display"},{family:"Quando",variants:[400],category:"serif"},{family:"Quantico",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Quattrocento",variants:[400,700],category:"serif"},{family:"Quattrocento Sans",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Questrial",variants:[400],category:"sans-serif"},{family:"Quicksand",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Quintessential",variants:[400],category:"handwriting"},{family:"Qwigley",variants:[400],category:"handwriting"},{family:"Racing Sans One",variants:[400],category:"display"},{family:"Radley",variants:[400,"400i"],category:"serif"},{family:"Rajdhani",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Rakkas",variants:[400],category:"display"},{family:"Raleway",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Raleway Dots",variants:[400],category:"display"},{family:"Ramabhadra",variants:[400],category:"sans-serif"},{family:"Ramaraja",variants:[400],category:"serif"},{family:"Rambla",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Rammetto One",variants:[400],category:"display"},{family:"Ranchers",variants:[400],category:"display"},{family:"Rancho",variants:[400],category:"handwriting"},{family:"Ranga",variants:[400,700],category:"display"},{family:"Rasa",variants:[300,400,500,600,700],category:"serif"},{family:"Rationale",variants:[400],category:"sans-serif"},{family:"Ravi Prakash",variants:[400],category:"display"},{family:"Recursive",variants:[300,400,500,600,700,800,900],category:"sans-serif"},{family:"Red Hat Display",variants:[400,"400i",500,"500i",700,"700i",900,"900i"],category:"sans-serif"},{family:"Red Hat Text",variants:[400,"400i",500,"500i",700,"700i"],category:"sans-serif"},{family:"Red Rose",variants:[300,400,500,600,700],category:"display"},{family:"Redressed",variants:[400],category:"handwriting"},{family:"Reem Kufi",variants:[400],category:"sans-serif"},{family:"Reenie Beanie",variants:[400],category:"handwriting"},{family:"Reggae One",variants:[400],category:"display"},{family:"Revalia",variants:[400],category:"display"},{family:"Rhodium Libre",variants:[400],category:"serif"},{family:"Ribeye",variants:[400],category:"display"},{family:"Ribeye Marrow",variants:[400],category:"display"},{family:"Righteous",variants:[400],category:"display"},{family:"Risque",variants:[400],category:"display"},{family:"Roboto",variants:[100,"100i",300,"300i",400,"400i",500,"500i",700,"700i",900,"900i"],category:"sans-serif"},{family:"Roboto Condensed",variants:[300,"300i",400,"400i",700,"700i"],category:"sans-serif"},{family:"Roboto Mono",variants:[100,200,300,400,500,600,700,"100i","200i","300i","400i","500i","600i","700i"],category:"monospace"},{family:"Roboto Slab",variants:[100,200,300,400,500,600,700,800,900],category:"serif"},{family:"Rochester",variants:[400],category:"handwriting"},{family:"Rock Salt",variants:[400],category:"handwriting"},{family:"RocknRoll One",variants:[400],category:"sans-serif"},{family:"Rokkitt",variants:[100,200,300,400,500,600,700,800,900],category:"serif"},{family:"Romanesco",variants:[400],category:"handwriting"},{family:"Ropa Sans",variants:[400,"400i"],category:"sans-serif"},{family:"Rosario",variants:[300,400,500,600,700,"300i","400i","500i","600i","700i"],category:"sans-serif"},{family:"Rosarivo",variants:[400,"400i"],category:"serif"},{family:"Rouge Script",variants:[400],category:"handwriting"},{family:"Rowdies",variants:[300,400,700],category:"display"},{family:"Rozha One",variants:[400],category:"serif"},{family:"Rubik",variants:[300,400,500,600,700,800,900,"300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Rubik Mono One",variants:[400],category:"sans-serif"},{family:"Ruda",variants:[400,500,600,700,800,900],category:"sans-serif"},{family:"Rufina",variants:[400,700],category:"serif"},{family:"Ruge Boogie",variants:[400],category:"handwriting"},{family:"Ruluko",variants:[400],category:"sans-serif"},{family:"Rum Raisin",variants:[400],category:"sans-serif"},{family:"Ruslan Display",variants:[400],category:"display"},{family:"Russo One",variants:[400],category:"sans-serif"},{family:"Ruthie",variants:[400],category:"handwriting"},{family:"Rye",variants:[400],category:"display"},{family:"Sacramento",variants:[400],category:"handwriting"},{family:"Sahitya",variants:[400,700],category:"serif"},{family:"Sail",variants:[400],category:"display"},{family:"Saira",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Saira Condensed",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Saira Extra Condensed",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Saira Semi Condensed",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Saira Stencil One",variants:[400],category:"display"},{family:"Salsa",variants:[400],category:"display"},{family:"Sanchez",variants:[400,"400i"],category:"serif"},{family:"Sancreek",variants:[400],category:"display"},{family:"Sansita",variants:[400,"400i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Sansita Swashed",variants:[300,400,500,600,700,800,900],category:"display"},{family:"Sarabun",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i"],category:"sans-serif"},{family:"Sarala",variants:[400,700],category:"sans-serif"},{family:"Sarina",variants:[400],category:"display"},{family:"Sarpanch",variants:[400,500,600,700,800,900],category:"sans-serif"},{family:"Satisfy",variants:[400],category:"handwriting"},{family:"Sawarabi Gothic",variants:[400],category:"sans-serif"},{family:"Sawarabi Mincho",variants:[400],category:"sans-serif"},{family:"Scada",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"Scheherazade",variants:[400,700],category:"serif"},{family:"Schoolbell",variants:[400],category:"handwriting"},{family:"Scope One",variants:[400],category:"serif"},{family:"Seaweed Script",variants:[400],category:"display"},{family:"Secular One",variants:[400],category:"sans-serif"},{family:"Sedgwick Ave",variants:[400],category:"handwriting"},{family:"Sedgwick Ave Display",variants:[400],category:"handwriting"},{family:"Sen",variants:[400,700,800],category:"sans-serif"},{family:"Sevillana",variants:[400],category:"display"},{family:"Seymour One",variants:[400],category:"sans-serif"},{family:"Shadows Into Light",variants:[400],category:"handwriting"},{family:"Shadows Into Light Two",variants:[400],category:"handwriting"},{family:"Shanti",variants:[400],category:"sans-serif"},{family:"Share",variants:[400,"400i",700,"700i"],category:"display"},{family:"Share Tech",variants:[400],category:"sans-serif"},{family:"Share Tech Mono",variants:[400],category:"monospace"},{family:"Shippori Mincho",variants:[400,500,600,700,800],category:"serif"},{family:"Shippori Mincho B1",variants:[400,500,600,700,800],category:"serif"},{family:"Shojumaru",variants:[400],category:"display"},{family:"Short Stack",variants:[400],category:"handwriting"},{family:"Shrikhand",variants:[400],category:"display"},{family:"Siemreap",variants:[400],category:"display"},{family:"Sigmar One",variants:[400],category:"display"},{family:"Signika",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Signika Negative",variants:[300,400,600,700],category:"sans-serif"},{family:"Simonetta",variants:[400,"400i",900,"900i"],category:"display"},{family:"Single Day",variants:[400],category:"display"},{family:"Sintony",variants:[400,700],category:"sans-serif"},{family:"Sirin Stencil",variants:[400],category:"display"},{family:"Six Caps",variants:[400],category:"sans-serif"},{family:"Skranji",variants:[400,700],category:"display"},{family:"Slabo 13px",variants:[400],category:"serif"},{family:"Slabo 27px",variants:[400],category:"serif"},{family:"Slackey",variants:[400],category:"display"},{family:"Smokum",variants:[400],category:"display"},{family:"Smythe",variants:[400],category:"display"},{family:"Sniglet",variants:[400,800],category:"display"},{family:"Snippet",variants:[400],category:"sans-serif"},{family:"Snowburst One",variants:[400],category:"display"},{family:"Sofadi One",variants:[400],category:"display"},{family:"Sofia",variants:[400],category:"handwriting"},{family:"Solway",variants:[300,400,500,700,800],category:"serif"},{family:"Song Myung",variants:[400],category:"serif"},{family:"Sonsie One",variants:[400],category:"display"},{family:"Sora",variants:[100,200,300,400,500,600,700,800],category:"sans-serif"},{family:"Sorts Mill Goudy",variants:[400,"400i"],category:"serif"},{family:"Source Code Pro",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",900,"900i"],category:"monospace"},{family:"Source Sans Pro",variants:[200,"200i",300,"300i",400,"400i",600,"600i",700,"700i",900,"900i"],category:"sans-serif"},{family:"Source Serif Pro",variants:[200,"200i",300,"300i",400,"400i",600,"600i",700,"700i",900,"900i"],category:"serif"},{family:"Space Grotesk",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Space Mono",variants:[400,"400i",700,"700i"],category:"monospace"},{family:"Spartan",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Special Elite",variants:[400],category:"display"},{family:"Spectral",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i"],category:"serif"},{family:"Spectral SC",variants:[200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i"],category:"serif"},{family:"Spicy Rice",variants:[400],category:"display"},{family:"Spinnaker",variants:[400],category:"sans-serif"},{family:"Spirax",variants:[400],category:"display"},{family:"Squada One",variants:[400],category:"display"},{family:"Sree Krushnadevaraya",variants:[400],category:"serif"},{family:"Sriracha",variants:[400],category:"handwriting"},{family:"Srisakdi",variants:[400,700],category:"display"},{family:"Staatliches",variants:[400],category:"display"},{family:"Stalemate",variants:[400],category:"handwriting"},{family:"Stalinist One",variants:[400],category:"display"},{family:"Stardos Stencil",variants:[400,700],category:"display"},{family:"Stick",variants:[400],category:"sans-serif"},{family:"Stint Ultra Condensed",variants:[400],category:"display"},{family:"Stint Ultra Expanded",variants:[400],category:"display"},{family:"Stoke",variants:[300,400],category:"serif"},{family:"Strait",variants:[400],category:"sans-serif"},{family:"Stylish",variants:[400],category:"sans-serif"},{family:"Sue Ellen Francisco",variants:[400],category:"handwriting"},{family:"Suez One",variants:[400],category:"serif"},{family:"Sulphur Point",variants:[300,400,700],category:"sans-serif"},{family:"Sumana",variants:[400,700],category:"serif"},{family:"Sunflower",variants:[300,400,500,700],category:"sans-serif"},{family:"Sunshiney",variants:[400],category:"handwriting"},{family:"Supermercado One",variants:[400],category:"display"},{family:"Sura",variants:[400,700],category:"serif"},{family:"Suranna",variants:[400],category:"serif"},{family:"Suravaram",variants:[400],category:"serif"},{family:"Suwannaphum",variants:[400],category:"display"},{family:"Swanky and Moo Moo",variants:[400],category:"handwriting"},{family:"Syncopate",variants:[400,700],category:"sans-serif"},{family:"Syne",variants:[400,500,600,700,800],category:"sans-serif"},{family:"Syne Mono",variants:[400],category:"monospace"},{family:"Syne Tactile",variants:[400],category:"display"},{family:"Tajawal",variants:[200,300,400,500,700,800,900],category:"sans-serif"},{family:"Tangerine",variants:[400,700],category:"handwriting"},{family:"Taprom",variants:[400],category:"display"},{family:"Tauri",variants:[400],category:"sans-serif"},{family:"Taviraj",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"serif"},{family:"Teko",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Telex",variants:[400],category:"sans-serif"},{family:"Tenali Ramakrishna",variants:[400],category:"sans-serif"},{family:"Tenor Sans",variants:[400],category:"sans-serif"},{family:"Text Me One",variants:[400],category:"sans-serif"},{family:"Texturina",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Thasadith",variants:[400,"400i",700,"700i"],category:"sans-serif"},{family:"The Girl Next Door",variants:[400],category:"handwriting"},{family:"Tienne",variants:[400,700,900],category:"serif"},{family:"Tillana",variants:[400,500,600,700,800],category:"handwriting"},{family:"Timmana",variants:[400],category:"sans-serif"},{family:"Tinos",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Titan One",variants:[400],category:"display"},{family:"Titillium Web",variants:[200,"200i",300,"300i",400,"400i",600,"600i",700,"700i",900],category:"sans-serif"},{family:"Tomorrow",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"sans-serif"},{family:"Trade Winds",variants:[400],category:"display"},{family:"Train One",variants:[400],category:"display"},{family:"Trirong",variants:[100,"100i",200,"200i",300,"300i",400,"400i",500,"500i",600,"600i",700,"700i",800,"800i",900,"900i"],category:"serif"},{family:"Trispace",variants:[100,200,300,400,500,600,700,800],category:"sans-serif"},{family:"Trocchi",variants:[400],category:"serif"},{family:"Trochut",variants:[400,"400i",700],category:"display"},{family:"Truculenta",variants:[100,200,300,400,500,600,700,800,900],category:"sans-serif"},{family:"Trykker",variants:[400],category:"serif"},{family:"Tulpen One",variants:[400],category:"display"},{family:"Turret Road",variants:[200,300,400,500,700,800],category:"display"},{family:"Ubuntu",variants:[300,"300i",400,"400i",500,"500i",700,"700i"],category:"sans-serif"},{family:"Ubuntu Condensed",variants:[400],category:"sans-serif"},{family:"Ubuntu Mono",variants:[400,"400i",700,"700i"],category:"monospace"},{family:"Ultra",variants:[400],category:"serif"},{family:"Uncial Antiqua",variants:[400],category:"display"},{family:"Underdog",variants:[400],category:"display"},{family:"Unica One",variants:[400],category:"display"},{family:"UnifrakturCook",variants:[400,700],category:"display"},{family:"UnifrakturMaguntia",variants:[400],category:"display"},{family:"Unkempt",variants:[400,700],category:"display"},{family:"Unlock",variants:[400],category:"display"},{family:"Unna",variants:[400,"400i",700,"700i"],category:"serif"},{family:"VT323",variants:[400],category:"monospace"},{family:"Vampiro One",variants:[400],category:"display"},{family:"Varela",variants:[400],category:"sans-serif"},{family:"Varela Round",variants:[400],category:"sans-serif"},{family:"Varta",variants:[300,400,500,600,700],category:"sans-serif"},{family:"Vast Shadow",variants:[400],category:"display"},{family:"Vesper Libre",variants:[400,500,700,900],category:"serif"},{family:"Viaoda Libre",variants:[400],category:"display"},{family:"Vibes",variants:[400],category:"display"},{family:"Vibur",variants:[400],category:"handwriting"},{family:"Vidaloka",variants:[400],category:"serif"},{family:"Viga",variants:[400],category:"sans-serif"},{family:"Voces",variants:[400],category:"display"},{family:"Volkhov",variants:[400,"400i",700,"700i"],category:"serif"},{family:"Vollkorn",variants:[400,500,600,700,800,900,"400i","500i","600i","700i","800i","900i"],category:"serif"},{family:"Vollkorn SC",variants:[400,600,700,900],category:"serif"},{family:"Voltaire",variants:[400],category:"sans-serif"},{family:"Waiting for the Sunrise",variants:[400],category:"handwriting"},{family:"Wallpoet",variants:[400],category:"display"},{family:"Walter Turncoat",variants:[400],category:"handwriting"},{family:"Warnes",variants:[400],category:"display"},{family:"Wellfleet",variants:[400],category:"display"},{family:"Wendy One",variants:[400],category:"sans-serif"},{family:"Wire One",variants:[400],category:"sans-serif"},{family:"Work Sans",variants:[100,200,300,400,500,600,700,800,900,"100i","200i","300i","400i","500i","600i","700i","800i","900i"],category:"sans-serif"},{family:"Xanh Mono",variants:[400,"400i"],category:"monospace"},{family:"Yanone Kaffeesatz",variants:[200,300,400,500,600,700],category:"sans-serif"},{family:"Yantramanav",variants:[100,300,400,500,700,900],category:"sans-serif"},{family:"Yatra One",variants:[400],category:"display"},{family:"Yellowtail",variants:[400],category:"handwriting"},{family:"Yeon Sung",variants:[400],category:"display"},{family:"Yeseva One",variants:[400],category:"display"},{family:"Yesteryear",variants:[400],category:"handwriting"},{family:"Yrsa",variants:[300,400,500,600,700],category:"serif"},{family:"Yusei Magic",variants:[400],category:"sans-serif"},{family:"ZCOOL KuaiLe",variants:[400],category:"display"},{family:"ZCOOL QingKe HuangYou",variants:[400],category:"display"},{family:"ZCOOL XiaoWei",variants:[400],category:"serif"},{family:"Zen Dots",variants:[400],category:"display"},{family:"Zeyada",variants:[400],category:"handwriting"},{family:"Zhi Mang Xing",variants:[400],category:"handwriting"},{family:"Zilla Slab",variants:[300,"300i",400,"400i",500,"500i",600,"600i",700,"700i"],category:"serif"},{family:"Zilla Slab Highlight",variants:[400,700],category:"display"}],Ui=[{label:(0,a.__)("Normal"),value:"normal"},{label:(0,a.__)("Italic"),value:"italic"},{label:(0,a.__)("Oblique"),value:"oblique"}],Vi=[{label:(0,a.__)("None"),value:"none",icon:"NO"},{label:(0,a.__)("Capitalize"),value:"capitalize",icon:"Aa"},{label:(0,a.__)("Uppercase"),value:"uppercase",icon:"AA"},{label:(0,a.__)("Lowercase"),value:"lowercase",icon:"aa"}],Gi=[{label:(0,a.__)("Default"),value:"auto"},{label:(0,a.__)("Underline"),value:"underline"},{label:(0,a.__)("Overline"),value:"overline"},{label:(0,a.__)("Line Through"),value:"line-through"},{label:(0,a.__)("None"),value:"none"}],Ki=e=>{const{className:t="",label:i=(0,a.__)("Typography:"),value:o,onChange:r,defaults:l={},isFamily:c=!0}=e,d={fontFamily:"Default",fontCategory:"sans-serif",fontWeight:null,isUploadFont:!0,fontSize:{desktop:null,tablet:null,mobile:null},fontStyle:null,textTransform:null,textDecoration:null,lineHeight:null,letterSpace:null},h=e=>l?.[e]||d[e],f=e=>void 0===o?.[e]?h(e):o?.[e],u=e=>o?.[e]&&o?.[e]!==h(e)&&(0,n.createElement)(s.Button,{icon:"image-rotate",className:"bPlResetVal",onClick:()=>(e=>r({...o,[e]:h(e)}))(e)}),[p,g]=(0,n.useState)("desktop"),[m,y]=(0,n.useState)(""),[v,b]=(0,n.useState)(!1),w=ji.filter((({family:e})=>e.toLowerCase().includes(m.toLowerCase()))),C=()=>{const e=ji.find((e=>e.family===f("fontFamily")))?.variants;let t=[];return e?.map((e=>t?.push({label:e,value:e}))),0===t.length?[400]:t},x=(e,t,i)=>{const n=ut(o,(n=>{n[e]=i?{...n[e],[i]:t}:t}));r(n)};return(0,n.createElement)(s.PanelRow,{className:`bPlDropdown ${t}`},(0,n.createElement)(Oi,{className:""},i),(0,n.createElement)(s.Dropdown,{className:"bPlDropdownContainer",contentClassName:"bPlDropdownPopover",popoverProps:{placement:"bottom-end"},renderToggle:({isOpen:e,onToggle:t})=>(0,n.createElement)(s.Button,{icon:"admin-customizer",onClick:t,"aria-expanded":e}),renderContent:()=>(0,n.createElement)(n.Fragment,null,c?(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelRow,{className:"bPlTypoFontTitle"},(0,n.createElement)(Oi,{className:""},(0,a.__)("Font Family:")),(0,n.createElement)(Oi,{className:""},(0,a.__)("Weight:"))),(0,n.createElement)(s.PanelRow,{className:"bPlTypoFont"},(0,n.createElement)("div",{className:"bPlTypoFontSelect"},(0,n.createElement)("input",{type:"search",value:m,onClick:()=>b(!v),placeholder:f("fontFamily")||"Search Font",onChange:e=>y(e.target.value)}),(0,n.createElement)("span",{className:`dashicon dashicons dashicons-${v?"arrow-up":"arrow-down"} `,onClick:()=>b(!v)}),v&&(0,n.createElement)("ul",{className:"bPlTypoFontLists"},w?.map((e=>(0,n.createElement)("li",{key:e?.family,onClick:()=>{r({...o,fontFamily:e?.family,fontCategory:e?.category||"sans-serif",fontWeight:400,fontVariant:400}),y(""),b(!1)}},e?.family))))),(0,n.createElement)(s.SelectControl,{value:f("fontVariant"),onChange:e=>{r({...o,fontWeight:parseInt(e?.replace("00i","00")),fontVariant:e})},options:C()})),(0,n.createElement)(s.ToggleControl,{className:"mt10",label:(0,a.__)("Load Google Font"),checked:f("isUploadFont"),onChange:e=>x("isUploadFont",e)})):(0,n.createElement)(s.PanelRow,null,(0,n.createElement)(Oi,{className:""},(0,a.__)("Weight:")),(0,n.createElement)(s.SelectControl,{value:f("fontWeight"),onChange:e=>x("fontWeight",e),options:C()})),(0,n.createElement)(s.Flex,{className:"mt20"},(0,n.createElement)(Oi,{className:""},(0,a.__)("Font Size:")),(0,n.createElement)(Bi,{device:p,onChange:e=>g(e)}),(0,n.createElement)(s.__experimentalUnitControl,{value:f("fontSize")?.[p]||f("fontSize"),onChange:e=>x("fontSize",e,p),units:[me(16),be(1),ve(1),we(.85)],style:{width:"100px"}})),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},(0,a.__)("Font Style:")),(0,n.createElement)(s.SelectControl,{value:f("fontStyle"),onChange:e=>x("fontStyle",e),options:Ui}),u("fontStyle")),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:"mt5"},(0,a.__)("Text Transform:")),(0,n.createElement)(fe,{value:f("textTransform"),onChange:e=>x("textTransform",e),options:Vi,isTextIcon:!0})),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(Oi,{className:""},(0,a.__)("Text Decoration:")),(0,n.createElement)(s.SelectControl,{value:f("textDecoration"),onChange:e=>x("textDecoration",e),options:Gi}),u("textDecoration")),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Line Height:"),labelPosition:"left",value:f("lineHeight"),onChange:e=>x("lineHeight",e),units:[me(24),ye(135),ve(2),be(2)],isResetValueOnUnitChange:!0}),u("lineHeight")),(0,n.createElement)(s.PanelRow,{className:"mt20"},(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Letter Spacing:"),labelPosition:"left",value:f("letterSpace"),onChange:e=>x("letterSpace",e),units:[me(),ve(),be()]}),u("letterSpace")))}))},qi=()=>(0,n.createElement)("span",null,"Need more block like this? Checkout the bundle ➡ ",(0,n.createElement)("a",{href:"https://wordpress.org/plugins/b-blocks",target:"_blank",rel:"noopener noreferrer"},"B Blocks")),Yi=({isProModalOpen:e,setIsProModalOpen:t,link:i,children:o})=>e&&(0,n.createElement)(s.Modal,{className:"bplAboutProModal",title:(0,a.__)("Upgrade to PRO"),onRequestClose:()=>t(!1)},(0,n.createElement)("h3",null,(0,a.__)("Explore new features in Pro")),(0,n.createElement)("ul",{className:"features"},o),(0,n.createElement)("h4",{className:"text"},(0,a.__)("To unlock those features! Upgrade to Pro")),(0,n.createElement)("br",null),(0,n.createElement)(ue,{href:i,target:"_blank"},(0,a.__)("Upgrade Now"))),Qi=({label:e,className:t,onChange:i,isPremium:o=!1,Component:r,setIsProModalOpen:s=()=>{},...l})=>(0,n.createElement)(r,{className:`${t} ${o?"":"bplProIdentifier"}`,label:(e=>o?e:(0,n.createElement)(n.Fragment,null,(0,n.createElement)("span",{className:"bplOpacity75"},e)," ",(0,n.createElement)("span",{className:"labelPro"},(0,a.__)("Pro"))))(e),onChange:e=>o?i(e):s(!0),isPremium:o,...l}),Zi=(0,r.withSelect)((e=>({currentPostType:e("core/editor").getCurrentPostType()})))((({postType:e,shortCode:t,currentPostType:i})=>{const o=(0,n.useRef)(null);return e===i&&(0,n.createElement)("div",{className:"bPlFrontShortCode"},(0,n.createElement)(Oi,{className:"mb5"},(0,a.__)("Copy the shortcode and use it anywhere.")),(0,n.createElement)("div",{className:"bPlFrontShortCodeInput"},(0,n.createElement)("input",{onClick:e=>{const t=e.target;t.select(),t.setSelectionRange(0,30),document.execCommand("copy"),o.current.innerHTML=(0,a.__)("Copied Successfully!"),setTimeout((()=>{o.current.innerHTML=(0,a.__)("Copy To Clipboard")}),1500)},value:t}),(0,n.createElement)("span",{ref:o,className:"tooltip"},(0,a.__)("Copy To Clipboard"))))})),Xi=((0,a.__)("Upload","lottie-player"),(0,a.__)("Link","lottie-player"),[{label:(0,a.__)("Normal","lottie-player"),value:"normal",icon:(0,a.__)("Normal","lottie-player")},{label:(0,a.__)("Bounce","lottie-player"),value:"bounce",icon:(0,a.__)("Bounce","lottie-player")}]),Ji=[{label:(0,a.__)("Forward","lottie-player"),value:1,icon:(0,a.__)("Forward","lottie-player")},{label:(0,a.__)("Backward","lottie-player"),value:-1,icon:(0,a.__)("Backward","lottie-player")}],en=[{label:(0,a.__)("No Interactivity","lottie-player"),value:"noInteractivity"},{label:(0,a.__)("Sync with scroll","lottie-player"),value:"syncWithScroll"},{label:(0,a.__)("Scroll relative to container","lottie-player"),value:"scrollRelativeToContainer"},{label:(0,a.__)("Scroll with offset","lottie-player"),value:"scrollWithOffset"},{label:(0,a.__)("Sync animation with cursor position","lottie-player"),value:"syncAnimationWithCursorPosition"},{label:(0,a.__)("Sync animation with cursor horizontal movement","lottie-player"),value:"syncAnimationWithCursorHorizontalMovement"},{label:(0,a.__)("Play animation on click","lottie-player"),value:"playAnimationOnClick"},{label:(0,a.__)("Play animation when visible","lottie-player"),value:"playAnimationWhenVisible"}],tn=((0,a.__)("Scroll","lottie-player"),(0,a.__)("Cursor","lottie-player"),(0,a.__)("Chain","lottie-player"),(0,a.__)("Seek","lottie-player"),(0,a.__)("Play","lottie-player"),(0,a.__)("Stop","lottie-player"),(0,a.__)("Loop","lottie-player"),[{label:(0,a.__)("Left","lottie-player"),value:"left",icon:"editor-alignleft"},{label:(0,a.__)("Center","lottie-player"),value:"center",icon:"editor-aligncenter"},{label:(0,a.__)("Right","lottie-player"),value:"right",icon:"editor-alignright"},{label:(0,a.__)("Justify","lottie-player"),value:"justify",icon:"editor-justify"}]),nn=[{name:"general",title:(0,a.__)("General","lottie-player")},{name:"style",title:(0,a.__)("Style","lottie-player")}],on=(e,t,i,n)=>{t&&e?.setAttribute(i,n),!t&&e?.removeAttribute(i,n)},an=(e,t)=>({noInteractivity:[],syncWithScroll:[{visibility:[0,1],type:"seek",frames:[0,t]}],scrollRelativeToContainer:[{visibility:[0,1],type:"seek",frames:[0,t]}],scrollWithOffset:[{visibility:[0,.3],type:"stop",frames:[0]},{visibility:[.3,1],type:"seek",frames:[0,t]}],syncAnimationWithCursorPosition:[{position:{x:[0,1],y:[0,1]},type:"seek",frames:[0,t]}],syncAnimationWithCursorHorizontalMovement:[{position:{x:[0,1],y:[-1,2]},type:"seek",frames:[0,t]}],playAnimationOnClick:[{type:"click",forceFlag:!1}],toggleAnimation:[{type:"toggle"}],playAnimationWhenVisible:[{visibility:[.5,1],type:"play"}]}[e]),rn=(0,r.withSelect)((e=>({currentPostId:e("core/editor").getCurrentPostId()})))((({attributes:e,setAttributes:t,fileFrameSize:i,isPremium:r,currentPostId:l})=>{const{playerAlign:c,file:d,isControls:h,isAutoplay:f,isLoop:u,isHover:p,mode:g,direction:m,count:y,speed:v,intermission:b,link:w,isLinkInNewTab:C,interactivity:x,interactivityContainer:S,interactivityActions:k,width:$,background:_,controlsHeight:M,controlsBG:A,controlsIconColor:E,controlsIconHoverColor:L,controlsIconActiveColor:T,controlsTrackColor:R,controlsThumbColor:I,isCap:O,caption:N,capAlign:D,capTypo:P,capColors:z,capPadding:F,capMargin:B}=e,[H,W]=(0,n.useState)(!1),j={isPremium:r,setIsProModalOpen:W},U={className:"bPlPanelBody",initialOpen:!1};return(0,n.createElement)(n.Fragment,null,(0,n.createElement)(o.InspectorControls,null,(0,n.createElement)("div",{className:"bPlInspectorInfo"},r?(0,n.createElement)(Zi,{postType:"lpb",shortCode:`[lpb id=${l}]`}):(0,n.createElement)(qi,null)),(0,n.createElement)(s.TabPanel,{className:"bPlTabPanel",activeClass:"activeTab",tabs:nn,onSelect:gt},(e=>(0,n.createElement)(n.Fragment,null,"general"==e.name&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(At,{slug:"embed-lottie-player",docsLink:"https://bplugins.com/docs/lottie-player"}),(0,n.createElement)(s.PanelBody,{className:"bPlPanelBody",title:(0,a.__)("Player","lottie-player")},(0,n.createElement)(Oi,{className:"mb5"},(0,a.__)("Lottie file url:","lottie-player")),r?(0,n.createElement)(Ni,{value:d,types:["application/json"],onChange:e=>t({file:e}),placeholder:(0,a.__)("Enter lottie file url","lottie-player")}):(0,n.createElement)(s.TextControl,{value:d,onChange:e=>t({file:e})}),(0,n.createElement)("small",null,(0,a.__)("Support only .json or .lottie file!","lottie-player")),(0,n.createElement)(s.ToggleControl,{className:"mt20",label:(0,a.__)("Show Controls","lottie-player"),checked:h,onChange:e=>t({isControls:e})}),(0,n.createElement)(s.ToggleControl,{className:"mt10",label:(0,a.__)("Enable Autoplay","lottie-player"),checked:f,onChange:e=>t({isAutoplay:e})}),(0,n.createElement)(s.ToggleControl,{className:"mt10",label:(0,a.__)("Enable Loop","lottie-player"),checked:u,onChange:e=>t({isLoop:e})}),(0,n.createElement)(Qi,{className:"mt10",label:(0,a.__)("Enable Hover","lottie-player"),checked:p,onChange:e=>t({isHover:e}),...j,Component:s.ToggleControl}),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Mode:","lottie-player"),value:g,onChange:e=>t({mode:e}),options:Xi,...j,Component:fe}),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Direction:","lottie-player"),value:m,onChange:e=>t({direction:parseInt(e)}),options:Ji,...j,Component:fe}),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Count (Set 0 to infinite):","lottie-player"),value:y,onChange:e=>t({count:e}),min:0,max:50,step:1,...j,Component:s.RangeControl}),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Speed:","lottie-player"),value:v,onChange:e=>t({speed:e}),min:.01,max:20,step:.01,...j,Component:s.RangeControl}),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Interval (s):","lottie-player"),value:b,onChange:e=>t({intermission:e}),min:0,max:20,step:.01,...j,Component:s.RangeControl}),(0,n.createElement)(Oi,null,(0,a.__)("Link the player:","lottie-player")),(0,n.createElement)(s.TextControl,{value:w,onChange:e=>t({link:e})}),(0,n.createElement)("small",null,(0,a.__)("If you want to link the player, enter the link here. Otherwise, leave as blank.","lottie-player")),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Open link in a new tab","lottie-player"),checked:C,onChange:e=>t({isLinkInNewTab:e}),...j,Component:s.ToggleControl})),(0,n.createElement)(s.PanelBody,{title:(0,a.__)("Interactivity","lottie-player"),...U},(0,n.createElement)(Qi,{label:(0,a.__)("Interactivity:","lottie-player"),value:x,onChange:e=>t({interactivity:e,interactivityMode:["syncWithScroll","scrollRelativeToContainer","scrollWithOffset","playAnimationWhenVisible"].includes(e)?"scroll":["syncAnimationWithCursorPosition","syncAnimationWithCursorHorizontalMovement","playAnimationOnClick","toggleAnimation"].includes(e)?"cursor":"",interactivityContainer:"scrollRelativeToContainer"===e?".wp-block-lpb-lottie-player":S,interactivityActions:an(e,i)}),options:en,...j,Component:s.SelectControl}),(0,n.createElement)("small",null,(0,a.__)("Upload file first then change interactivity option.","lottie-player")),(0,n.createElement)("br",null),(0,n.createElement)("small",null,(0,a.__)("Interactivity will not working in backend(editor).","lottie-player")),"scrollRelativeToContainer"===x&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(Oi,null,(0,a.__)("Container Selector","lottie-player")),(0,n.createElement)(s.TextControl,{value:S,onChange:e=>t({interactivityContainer:e})}),(0,n.createElement)("small",null,(0,a.__)("Enter container selector. Ex: if id enter '#id', if class '.class' or if tag 'tag name'","lottie-player"))),"scrollWithOffset"===x&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.__experimentalNumberControl,{className:"mt20",label:(0,a.__)("Offset (%)","lottie-player"),labelPosition:"left",value:100*k?.[0]?.visibility?.[1],onChange:e=>t({interactivityActions:Q(k,(t=>{t[0].visibility[1]=parseFloat(e)/100,t[1].visibility[0]=parseFloat(e)/100}))})}),(0,n.createElement)("small",null,(0,a.__)(`Scroll animation when lottie player reached at ${100*k?.[0]?.visibility?.[1]} % of viewport`,"lottie-player"))),"playAnimationWhenVisible"===x&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.__experimentalNumberControl,{className:"mt20",label:(0,a.__)("Offset (%)","lottie-player"),labelPosition:"left",value:100*k?.[0]?.visibility?.[0],onChange:e=>((e,i,n,o=null)=>{const a=Q(k,(t=>{null!==o?t[e][i][o]=n:t[e][i]=n}));t({interactivityActions:a})})(0,"visibility",parseFloat(e)/100,0)}),(0,n.createElement)("small",null,(0,a.__)(`Play animation when lottie player reached at ${100*k?.[0]?.visibility?.[0]} % of viewport`,"lottie-player")))),(0,n.createElement)(s.PanelBody,{title:(0,a.__)("Caption","lottie-player"),...U},(0,n.createElement)(Qi,{label:(0,a.__)("Show Caption","lottie-player"),checked:O,onChange:e=>t({isCap:e}),...j,Component:s.ToggleControl}),O&&(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Text:","lottie-player"),value:N,onChange:e=>t({caption:e}),...j,Component:s.TextControl}))),"style"==e.name&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(s.PanelBody,{className:"bPlPanelBody",title:(0,a.__)("Player","lottie-player")},(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Width:","lottie-player"),labelPosition:"left",value:$,onChange:e=>t({width:e}),units:[me(),ye(),ve()]}),(0,n.createElement)(ge,{label:(0,a.__)("Background Color:","lottie-player"),value:_,onChange:e=>t({background:e}),defaultColor:"#0000"})),h&&(0,n.createElement)(s.PanelBody,{title:(0,a.__)("Controls","lottie-player"),...U},(0,n.createElement)(s.__experimentalUnitControl,{label:(0,a.__)("Height:","lottie-player"),labelPosition:"left",value:M,onChange:e=>t({controlsHeight:e}),units:[me(),ye(),ve()]}),(0,n.createElement)(ge,{label:(0,a.__)("Background Color:","lottie-player"),value:A,onChange:e=>t({controlsBG:e}),defaultColor:"#0000"}),(0,n.createElement)(ge,{label:(0,a.__)("Icons Color:","lottie-player"),value:E,onChange:e=>t({controlsIconColor:e}),defaultColor:se}),(0,n.createElement)(ge,{label:(0,a.__)("Icons Hover Color:","lottie-player"),value:L,onChange:e=>t({controlsIconHoverColor:e}),defaultColor:le}),(0,n.createElement)(ge,{label:(0,a.__)("Icons Active Color:","lottie-player"),value:T,onChange:e=>t({controlsIconActiveColor:e}),defaultColor:le}),(0,n.createElement)(ge,{label:(0,a.__)("Track Color:","lottie-player"),value:R,onChange:e=>t({controlsTrackColor:e}),defaultColor:le}),(0,n.createElement)(ge,{label:(0,a.__)("Thumb Color:","lottie-player"),value:I,onChange:e=>t({controlsThumbColor:e}),defaultColor:se})),O&&(0,n.createElement)(s.PanelBody,{title:(0,a.__)("Caption","lottie-player"),...U},(0,n.createElement)(Qi,{label:(0,a.__)("Text Align:","lottie-player"),value:D,onChange:e=>t({capAlign:e}),options:tn,isIcon:!0,size:r?"compact":"small",...j,Component:fe}),(0,n.createElement)(Qi,{label:(0,a.__)("Typography:","lottie-player"),value:P,onChange:e=>t({capTypo:e}),defaults:{fontSize:{desktop:14,tablet:14,mobile:14}},...j,Component:Ki}),(0,n.createElement)(Qi,{label:(0,a.__)("Colors:","lottie-player"),value:z,onChange:e=>t({capColors:e}),...j,Component:Se}),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Padding:","lottie-player"),value:F,onChange:e=>t({capPadding:e}),defaults:{vertical:"10px",horizontal:"10px"},...j,Component:Wi}),(0,n.createElement)(Qi,{className:"mt20",label:(0,a.__)("Margin:","lottie-player"),value:B,onChange:e=>t({capMargin:e}),defaults:{side:4,top:"5px"},...j,Component:Wi}))))))),(0,n.createElement)(Yi,{isProModalOpen:H,setIsProModalOpen:W,link:lpbpricingurl||"https://bplugins.com/products/lottie-player/pricing"},(0,n.createElement)("li",null," ",(0,n.createElement)("strong",null,(0,a.__)("Upload File: ","lottie-player")),(0,a.__)("Upload lottie json file from media library.","lottie-player")),(0,n.createElement)("li",null," ",(0,n.createElement)("strong",null,(0,a.__)("Direction: ","lottie-player")),(0,a.__)("Direction settings in lottie player.","lottie-player")),(0,n.createElement)("li",null," ",(0,n.createElement)("strong",null,(0,a.__)("Link tab: ","lottie-player")),(0,a.__)("Option for open link in new tab.","lottie-player")),(0,n.createElement)("li",null," ",(0,n.createElement)("strong",null,(0,a.__)("Interactivity: ","lottie-player")),(0,a.__)("Interactivity option in lottie player.","lottie-player")),(0,n.createElement)("li",null," ",(0,n.createElement)("strong",null,(0,a.__)("Caption: ","lottie-player")),(0,a.__)("Display the caption for lottie player.","lottie-player")),(0,n.createElement)("li",null," ",(0,n.createElement)("strong",null,(0,a.__)("Caption Style: ","lottie-player")),(0,a.__)("Style the caption, such as text align, typography, colors(text and background), padding and margin.","lottie-player")),(0,n.createElement)("li",null," ",(0,n.createElement)("strong",null,(0,a.__)("Shortcode: ","lottie-player")),(0,a.__)("Shortcode option to use anywhere.","lottie-player"))),(0,n.createElement)(o.BlockControls,null,(0,n.createElement)(o.AlignmentToolbar,{value:c,onChange:e=>t({playerAlign:e}),describedBy:(0,a.__)("Player Alignment"),alignmentControls:[{title:(0,a.__)("Player in left","lottie-player"),align:"left",icon:"align-left"},{title:(0,a.__)("Player in center","lottie-player"),align:"center",icon:"align-center"},{title:(0,a.__)("Player in right","lottie-player"),align:"right",icon:"align-right"}]})))})),sn=(e,t)=>(e=>!(null==e||""===e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length||"string"==typeof e&&""===e.trim()||"number"==typeof e&&0===e))(t)?`${e}: ${t};`:"",ln=e=>{const{color:t="",bgType:i="solid",bg:n="",gradient:o=ce}=e||{};return`\n\t\t${sn("color",t)}\n\t\t${o||n?sn("background","gradient"===i?o:n):""}\n\t`},cn=e=>{const{side:t=2,vertical:i="0px",horizontal:n="0px",top:o="0px",right:a="0px",bottom:r="0px",left:s="0px"}=e||{};return 2===t?`${i} ${n}`:`${o} ${a} ${r} ${s}`},dn=(e,t,i=!0)=>{const{fontFamily:n="Default",fontCategory:o="sans-serif",fontVariant:a=400,fontWeight:r,isUploadFont:s=!0,fontSize:l={desktop:null,tablet:null,mobile:null},fontStyle:c,textTransform:d,textDecoration:h,lineHeight:f,letterSpace:u}=t||{},p=!i||!n||"Default"===n,g=l?.desktop||l,m=l?.tablet||g,y=l?.mobile||m,v=e=>{const t=String(e);return["px","em","rem","%","vh","vw"].some((e=>t.endsWith(e)))?t:"number"==typeof e?`${t}px`:""},b=`\n\t\t${p?"":`font-family: '${n}', ${o};`}\n\t\t${sn("font-weight",r)}\n\t\t${sn("font-size",v(g))}\n\t\t${sn("font-style",c)}\n\t\t${sn("text-transform",d)}\n\t\t${sn("text-decoration",h)}\n\t\t${sn("line-height",f)}\n\t\t${sn("letter-spacing",u)}\n\t`,w=a&&400!==a?"400i"===a?":ital@1":a?.includes("00i")?`: ital, wght@1, ${a?.replace("00i","00")} `:`: wght@${a} `:"",C=p?"":`https://fonts.googleapis.com/css2?family=${n?.split(" ").join("+")}${w.replace(/ /g,"")}&display=swap`;return{googleFontLink:!s||p?"":`@import url(${C});`,styles:`${e}{\n\t\t\t${b}\n\t\t}\n\t\t@media only screen and (max-width: 1024px) {\n\t\t\t${e}{\n\t\t\t\t${sn("font-size",v(m))}\n\t\t\t}\n\t\t}\n\t\t@media only screen and (max-width: 640px) {\n\t\t\t${e}{\n\t\t\t\t${sn("font-size",v(y))}\n\t\t\t}\n\t\t}`.replace(/\s+/g," ").trim()}},hn="lpbLottiePlayer",fn=({attributes:e,id:t})=>{const{playerAlign:i,link:o,width:a,controlsHeight:r,controlsBG:s,controlsIconColor:l,controlsIconHoverColor:c,controlsIconActiveColor:d,controlsTrackColor:h,controlsThumbColor:f,capAlign:u,capTypo:p,capColors:g,capPadding:m,capMargin:y}=e,v=`#${t} .${hn}`;return(0,n.createElement)("style",{dangerouslySetInnerHTML:{__html:`\n\t\t${dn("",p)?.googleFontLink}\n\t\t${dn(`${v} .caption`,p)?.styles}\n\n\t\t${v}{\n\t\t\tjustify-content: ${"left"===i?"flex-start":"right"===i?"flex-end":"center"};\n\t\t}\n\t\t${v} dotlottie-player{\n\t\t\twidth: ${a};\n\t\t\tcursor: ${o?"pointer":"auto"};\n\t\t\t--lottie-player-toolbar-height: ${r};\n\t\t\t--lottie-player-toolbar-background-color: ${s};\n\t\t\t--lottie-player-toolbar-icon-color: ${l};\n\t\t\t--lottie-player-toolbar-icon-hover-color: ${c};\n\t\t\t--lottie-player-toolbar-icon-active-color: ${d};\n\t\t\t--lottie-player-seeker-track-color: ${h};\n\t\t\t--lottie-player-seeker-thumb-color: ${f};\n\t\t}\n\t\t${v} .caption{\n\t\t\twidth: ${a};\n\t\t\ttext-align: ${u};\n\t\t\t${ln(g)};\n\t\t\tpadding: ${cn(m)};\n\t\t\tmargin: ${cn(y)};\n\t\t}\n\t\t`.replace(/\s+/g," ")}})},un=(0,n.forwardRef)((({attributes:e},t)=>{const{file:i,isControls:o,isAutoplay:a,isLoop:r,isHover:s,mode:l,direction:c=1,count:d,speed:h,intermission:f,background:u}=e;return(0,n.useEffect)((()=>{if(t?.current){const e=!!r&&(!(0<d)||d);on(t?.current,o,"controls",""),on(t?.current,a,"autoplay",""),on(t?.current,r,"loop",e),on(t?.current,s,"hover","")}}),[t]),(0,n.createElement)("dotlottie-player",{ref:t,src:i,autoplay:!0,loop:!0,mode:l,speed:h,direction:c,intermission:1e3*f,background:u,debug:!0})})),pn=e=>(0,n.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"bPlBlockIcon",width:e,height:e,viewBox:"0 0 44 44"},(0,n.createElement)("path",{fillRule:"evenodd",fill:"url(#lottieLogoGradient)",d:"M3.252 0A3.252 3.252 0 000 3.252v37.496A3.252 3.252 0 003.252 44h36.887a3.252 3.252 0 003.252-3.252V3.252A3.252 3.252 0 0040.139 0H3.252zM34.9 11.165c.176-1.208-.646-2.33-1.837-2.509-4.495-.674-8.754 3.376-13.297 12.148-3.567 6.888-6.775 10.35-8.96 10.186-1.2-.09-2.245.824-2.334 2.04-.088 1.217.813 2.277 2.013 2.367 4.423.331 8.625-3.822 13.14-12.539 3.535-6.827 6.693-10.147 8.801-9.83 1.19.177 2.298-.656 2.474-1.864z"}),(0,n.createElement)("linearGradient",{id:"lottieLogoGradient",x1:-13.485,y1:25.573,x2:28.352,y2:52.389,gradientUnits:"userSpaceOnUse"},(0,n.createElement)("stop",{stopColor:"#85b4fa"}),(0,n.createElement)("stop",{offset:1,stopColor:se})));(0,e.updateCategory)("LPBlock",{icon:pn(20)}),(0,e.registerBlockType)(t,{icon:pn(24),edit:e=>{var t;const{attributes:i,setAttributes:a,clientId:r}=e,{file:s,isControls:l,isAutoplay:c,isLoop:d,isHover:h,mode:f,direction:u,count:p,speed:g,intermission:m,background:y,isCap:v,caption:b}=i,w=Boolean(null!==(t=lpbpipecheck)&&void 0!==t&&t),C=(0,n.useRef)(null),[x,S]=(0,n.useState)(0),k=e=>{e.addEventListener("ready",(()=>{const{animationData:t}=e.getLottie()||{};S(Math.round(t?.op||100))}))},$=`${hn}-${r}`,_=document.querySelector(`#${$} .${hn} .lottieHolder`);return(0,n.useEffect)((()=>{_&&(_.innerHTML="");const e=!!d&&(!(0<p)||p),t=document.createElement("dotlottie-player");on(t,s,"src",s),on(t,l,"controls",""),on(t,c,"autoplay",""),on(t,d,"loop",e),on(t,h,"hover",""),on(t,f,"mode",f),on(t,g,"speed",g),on(t,!0,"direction",u),on(t,m,"intermission",1e3*m),on(t,y,"background",y),on(t,!0,"debug"),_&&_.appendChild(t),k(t)}),[s,l,c,d,h,f,u,p,g,m,y]),(0,n.useEffect)((()=>{const e=C?.current;k(e)}),[]),(0,n.createElement)(n.Fragment,null,(0,n.createElement)(rn,{attributes:i,setAttributes:a,fileFrameSize:x,isPremium:w}),(0,n.createElement)("div",{...(0,o.useBlockProps)(),id:$},(0,n.createElement)(fn,{attributes:i,id:$}),(0,n.createElement)("div",{className:hn},(0,n.createElement)("span",{className:"lottieHolder"},(0,n.createElement)(un,{ref:C,attributes:i})),v&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)("br",null),(0,n.createElement)("span",{className:"caption"},b)))))},save:()=>null})})()})();