@react-native/debugger-frontend
Version:
Debugger frontend for React Native based on Chrome DevTools
2 lines (1 loc) • 19.4 kB
JavaScript
import*as t from"../../core/common/common.js";const n={charDiff:function(t,n,e){const i=new diff_match_patch,r=i.diff_main(t,n);return e&&i.diff_cleanupSemantic(r),r},lineDiff:function(e,i){const r=new t.CharacterIdMap.CharacterIdMap,h=e.map((t=>r.toChar(t))).join(""),s=i.map((t=>r.toChar(t))).join("");if(h===s)return[];const a=n.charDiff(h,s),f=[];for(let t=0;t<a.length;t++){const n=[];for(let e=0;e<a[t][1].length;e++)n.push(r.fromChar(a[t][1][e])||"");f.push({0:a[t][0],1:n})}return f},convertToEditDiff:function(t){const n=[];let i=0,r=0;for(let s=0;s<t.length;++s){const a=t[s];a[0]===e.Equal?(h(),n.push([e.Equal,a[1].length])):a[0]===e.Delete?r+=a[1].length:i+=a[1].length}return h(),n;function h(){if(i&&r){const t=Math.min(i,r);n.push([e.Edit,t]),i-=t,r-=t}if(i||r){const t=i-r,h=t<0?e.Delete:e.Insert;n.push([h,Math.abs(t)]),i=0,r=0}}},characterScore:function(t,i){let r=0;const h=n.charDiff(t,i);for(let t=0;t<h.length;++t)h[t][0]===e.Equal&&(r+=h[t][1].length*h[t][1].length);return r}};var e;!function(t){t[t.Equal=0]="Equal",t[t.Insert=1]="Insert",t[t.Delete=-1]="Delete",t[t.Edit=2]="Edit"}(e||(e={}));var i=Object.freeze({__proto__:null,DiffWrapper:n,get Operation(){return e}});!function(){function t(){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}t.prototype.diff_main=function(t,n,e,i){if(void 0===i&&(i=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout),null==t||null==n)throw Error("Null input. (diff_main)");if(t==n)return t?[[0,t]]:[];void 0===e&&(e=!0);var r=e,h=this.diff_commonPrefix(t,n);e=t.substring(0,h),t=t.substring(h),n=n.substring(h);h=this.diff_commonSuffix(t,n);var s=t.substring(t.length-h);return t=t.substring(0,t.length-h),n=n.substring(0,n.length-h),t=this.diff_compute_(t,n,r,i),e&&t.unshift([0,e]),s&&t.push([0,s]),this.diff_cleanupMerge(t),t},t.prototype.diff_compute_=function(t,n,e,i){if(!t)return[[1,n]];if(!n)return[[-1,t]];var r=t.length>n.length?t:n,h=t.length>n.length?n:t,s=r.indexOf(h);return-1!=s?(e=[[1,r.substring(0,s)],[0,h],[1,r.substring(s+h.length)]],t.length>n.length&&(e[0][0]=e[2][0]=-1),e):1==h.length?[[-1,t],[1,n]]:(r=this.diff_halfMatch_(t,n))?(h=r[0],t=r[1],s=r[2],n=r[3],r=r[4],h=this.diff_main(h,s,e,i),e=this.diff_main(t,n,e,i),h.concat([[0,r]],e)):e&&100<t.length&&100<n.length?this.diff_lineMode_(t,n,i):this.diff_bisect_(t,n,i)},t.prototype.diff_lineMode_=function(t,n,e){var i=this.diff_linesToChars_(t,n);t=i.chars1,n=i.chars2,i=i.lineArray,t=this.diff_main(t,n,!1,e),this.diff_charsToLines_(t,i),this.diff_cleanupSemantic(t),t.push([0,""]);for(var r=i=n=0,h="",s="";n<t.length;){switch(t[n][0]){case 1:r++,s+=t[n][1];break;case-1:i++,h+=t[n][1];break;case 0:if(1<=i&&1<=r){for(t.splice(n-i-r,i+r),n=n-i-r,r=(i=this.diff_main(h,s,!1,e)).length-1;0<=r;r--)t.splice(n,0,i[r]);n+=i.length}i=r=0,s=h=""}n++}return t.pop(),t},t.prototype.diff_bisect_=function(t,n,e){for(var i=t.length,r=n.length,h=Math.ceil((i+r)/2),s=h,a=2*h,f=Array(a),l=Array(a),g=0;g<a;g++)f[g]=-1,l[g]=-1;f[s+1]=0,l[s+1]=0;for(var o=0!=(g=i-r)%2,c=0,u=0,p=0,d=0,_=0;_<h&&!((new Date).getTime()>e);_++){for(var b=-_+c;b<=_-u;b+=2){for(var m,v=s+b,M=(m=b==-_||b!=_&&f[v-1]<f[v+1]?f[v+1]:f[v-1]+1)-b;m<i&&M<r&&t.charAt(m)==n.charAt(M);)m++,M++;if(f[v]=m,m>i)u+=2;else if(M>r)c+=2;else if(o&&(0<=(v=s+g-b)&&v<a&&-1!=l[v])){var x=i-l[v];if(m>=x)return this.diff_bisectSplit_(t,n,m,M,e)}}for(b=-_+p;b<=_-d;b+=2){for(v=s+b,m=(x=b==-_||b!=_&&l[v-1]<l[v+1]?l[v+1]:l[v-1]+1)-b;x<i&&m<r&&t.charAt(i-x-1)==n.charAt(r-m-1);)x++,m++;if(l[v]=x,x>i)d+=2;else if(m>r)p+=2;else if(!o&&(0<=(v=s+g-b)&&v<a&&-1!=f[v]&&(M=s+(m=f[v])-v,m>=(x=i-x))))return this.diff_bisectSplit_(t,n,m,M,e)}}return[[-1,t],[1,n]]},t.prototype.diff_bisectSplit_=function(t,n,e,i,r){var h=t.substring(0,e),s=n.substring(0,i);return t=t.substring(e),n=n.substring(i),h=this.diff_main(h,s,!1,r),r=this.diff_main(t,n,!1,r),h.concat(r)},t.prototype.diff_linesToChars_=function(t,n){function e(t){for(var n="",e=0,h=-1,s=i.length;h<t.length-1;){-1==(h=t.indexOf("\n",e))&&(h=t.length-1);var a=t.substring(e,h+1);e=h+1;(r.hasOwnProperty?r.hasOwnProperty(a):void 0!==r[a])?n+=String.fromCharCode(r[a]):(n+=String.fromCharCode(s),r[a]=s,i[s++]=a)}return n}var i=[],r={};return i[0]="",{chars1:e(t),chars2:e(n),lineArray:i}},t.prototype.diff_charsToLines_=function(t,n){for(var e=0;e<t.length;e++){for(var i=t[e][1],r=[],h=0;h<i.length;h++)r[h]=n[i.charCodeAt(h)];t[e][1]=r.join("")}},t.prototype.diff_commonPrefix=function(t,n){if(!t||!n||t.charAt(0)!=n.charAt(0))return 0;for(var e=0,i=Math.min(t.length,n.length),r=i,h=0;e<r;)t.substring(h,r)==n.substring(h,r)?h=e=r:i=r,r=Math.floor((i-e)/2+e);return r},t.prototype.diff_commonSuffix=function(t,n){if(!t||!n||t.charAt(t.length-1)!=n.charAt(n.length-1))return 0;for(var e=0,i=Math.min(t.length,n.length),r=i,h=0;e<r;)t.substring(t.length-r,t.length-h)==n.substring(n.length-r,n.length-h)?h=e=r:i=r,r=Math.floor((i-e)/2+e);return r},t.prototype.diff_commonOverlap_=function(t,n){var e=t.length,i=n.length;if(0==e||0==i)return 0;if(e>i?t=t.substring(e-i):e<i&&(n=n.substring(0,e)),e=Math.min(e,i),t==n)return e;i=0;for(var r=1;;){var h=t.substring(e-r);if(-1==(h=n.indexOf(h)))return i;r+=h,0!=h&&t.substring(e-r)!=n.substring(0,r)||(i=r,r++)}},t.prototype.diff_halfMatch_=function(t,n){function e(t,n,e){for(var i,r,h,s,f=t.substring(e,e+Math.floor(t.length/4)),l=-1,g="";-1!=(l=n.indexOf(f,l+1));){var o=a.diff_commonPrefix(t.substring(e),n.substring(l)),c=a.diff_commonSuffix(t.substring(0,e),n.substring(0,l));g.length<c+o&&(g=n.substring(l-c,l)+n.substring(l,l+o),i=t.substring(0,e-c),r=t.substring(e+o),h=n.substring(0,l-c),s=n.substring(l+o))}return 2*g.length>=t.length?[i,r,h,s,g]:null}if(0>=this.Diff_Timeout)return null;var i=t.length>n.length?t:n,r=t.length>n.length?n:t;if(4>i.length||2*r.length<i.length)return null;var h,s,a=this,f=e(i,r,Math.ceil(i.length/4));i=e(i,r,Math.ceil(i.length/2));return f||i?(h=i?f&&f[4].length>i[4].length?f:i:f,t.length>n.length?(f=h[0],i=h[1],r=h[2],s=h[3]):(r=h[0],s=h[1],f=h[2],i=h[3]),[f,i,r,s,h=h[4]]):null},t.prototype.diff_cleanupSemantic=function(t){for(var n=!1,e=[],i=0,r=null,h=0,s=0,a=0,f=0,l=0;h<t.length;)0==t[h][0]?(e[i++]=h,s=f,a=l,l=f=0,r=t[h][1]):(1==t[h][0]?f+=t[h][1].length:l+=t[h][1].length,r&&r.length<=Math.max(s,a)&&r.length<=Math.max(f,l)&&(t.splice(e[i-1],0,[-1,r]),t[e[i-1]+1][0]=1,i--,h=0<--i?e[i-1]:-1,l=f=a=s=0,r=null,n=!0)),h++;for(n&&this.diff_cleanupMerge(t),this.diff_cleanupSemanticLossless(t),h=1;h<t.length;)-1==t[h-1][0]&&1==t[h][0]&&(n=t[h-1][1],e=t[h][1],(i=this.diff_commonOverlap_(n,e))>=(r=this.diff_commonOverlap_(e,n))?(i>=n.length/2||i>=e.length/2)&&(t.splice(h,0,[0,e.substring(0,i)]),t[h-1][1]=n.substring(0,n.length-i),t[h+1][1]=e.substring(i),h++):(r>=n.length/2||r>=e.length/2)&&(t.splice(h,0,[0,n.substring(0,r)]),t[h-1][0]=1,t[h-1][1]=e.substring(0,e.length-r),t[h+1][0]=-1,t[h+1][1]=n.substring(r),h++),h++),h++},t.prototype.diff_cleanupSemanticLossless=function(n){function e(n,e){if(!n||!e)return 6;var i=n.charAt(n.length-1),r=e.charAt(0),h=i.match(t.nonAlphaNumericRegex_),s=r.match(t.nonAlphaNumericRegex_),a=h&&i.match(t.whitespaceRegex_),f=s&&r.match(t.whitespaceRegex_),l=(i=a&&i.match(t.linebreakRegex_),r=f&&r.match(t.linebreakRegex_),i&&n.match(t.blanklineEndRegex_)),g=r&&e.match(t.blanklineStartRegex_);return l||g?5:i||r?4:h&&!a&&f?3:a||f?2:h||s?1:0}for(var i=1;i<n.length-1;){if(0==n[i-1][0]&&0==n[i+1][0]){var r=n[i-1][1],h=n[i][1],s=n[i+1][1];if(f=this.diff_commonSuffix(r,h)){var a=h.substring(h.length-f);r=r.substring(0,r.length-f),h=a+h.substring(0,h.length-f),s=a+s}for(var f=r,l=(a=h,s),g=e(r,h)+e(h,s);h.charAt(0)===s.charAt(0);){r=r+h.charAt(0),h=h.substring(1)+s.charAt(0),s=s.substring(1);var o=e(r,h)+e(h,s);o>=g&&(g=o,f=r,a=h,l=s)}n[i-1][1]!=f&&(f?n[i-1][1]=f:(n.splice(i-1,1),i--),n[i][1]=a,l?n[i+1][1]=l:(n.splice(i+1,1),i--))}i++}},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(t){for(var n=!1,e=[],i=0,r=null,h=0,s=!1,a=!1,f=!1,l=!1;h<t.length;)0==t[h][0]?(t[h][1].length<this.Diff_EditCost&&(f||l)?(e[i++]=h,s=f,a=l,r=t[h][1]):(i=0,r=null),f=l=!1):(-1==t[h][0]?l=!0:f=!0,r&&(s&&a&&f&&l||r.length<this.Diff_EditCost/2&&3==s+a+f+l)&&(t.splice(e[i-1],0,[-1,r]),t[e[i-1]+1][0]=1,i--,r=null,s&&a?(f=l=!0,i=0):(h=0<--i?e[i-1]:-1,f=l=!1),n=!0)),h++;n&&this.diff_cleanupMerge(t)},t.prototype.diff_cleanupMerge=function(t){t.push([0,""]);for(var n,e=0,i=0,r=0,h="",s="";e<t.length;)switch(t[e][0]){case 1:r++,s+=t[e][1],e++;break;case-1:i++,h+=t[e][1],e++;break;case 0:1<i+r?(0!==i&&0!==r&&(0!==(n=this.diff_commonPrefix(s,h))&&(0<e-i-r&&0==t[e-i-r-1][0]?t[e-i-r-1][1]+=s.substring(0,n):(t.splice(0,0,[0,s.substring(0,n)]),e++),s=s.substring(n),h=h.substring(n)),0!==(n=this.diff_commonSuffix(s,h))&&(t[e][1]=s.substring(s.length-n)+t[e][1],s=s.substring(0,s.length-n),h=h.substring(0,h.length-n))),0===i?t.splice(e-r,i+r,[1,s]):0===r?t.splice(e-i,i+r,[-1,h]):t.splice(e-i-r,i+r,[-1,h],[1,s]),e=e-i-r+(i?1:0)+(r?1:0)+1):0!==e&&0==t[e-1][0]?(t[e-1][1]+=t[e][1],t.splice(e,1)):e++,i=r=0,s=h=""}for(""===t[t.length-1][1]&&t.pop(),i=!1,e=1;e<t.length-1;)0==t[e-1][0]&&0==t[e+1][0]&&(t[e][1].substring(t[e][1].length-t[e-1][1].length)==t[e-1][1]?(t[e][1]=t[e-1][1]+t[e][1].substring(0,t[e][1].length-t[e-1][1].length),t[e+1][1]=t[e-1][1]+t[e+1][1],t.splice(e-1,1),i=!0):t[e][1].substring(0,t[e+1][1].length)==t[e+1][1]&&(t[e-1][1]+=t[e+1][1],t[e][1]=t[e][1].substring(t[e+1][1].length)+t[e+1][1],t.splice(e+1,1),i=!0)),e++;i&&this.diff_cleanupMerge(t)},t.prototype.diff_xIndex=function(t,n){var e,i=0,r=0,h=0,s=0;for(e=0;e<t.length&&(1!==t[e][0]&&(i+=t[e][1].length),-1!==t[e][0]&&(r+=t[e][1].length),!(i>n));e++)h=i,s=r;return t.length!=e&&-1===t[e][0]?s:s+(n-h)},t.prototype.diff_prettyHtml=function(t){for(var n=[],e=/&/g,i=/</g,r=/>/g,h=/\n/g,s=0;s<t.length;s++){var a=t[s][0],f=(f=t[s][1]).replace(e,"&").replace(i,"<").replace(r,">").replace(h,"¶<br>");switch(a){case 1:n[s]='<ins style="background:#e6ffe6;">'+f+"</ins>";break;case-1:n[s]='<del style="background:#ffe6e6;">'+f+"</del>";break;case 0:n[s]="<span>"+f+"</span>"}}return n.join("")},t.prototype.diff_text1=function(t){for(var n=[],e=0;e<t.length;e++)1!==t[e][0]&&(n[e]=t[e][1]);return n.join("")},t.prototype.diff_text2=function(t){for(var n=[],e=0;e<t.length;e++)-1!==t[e][0]&&(n[e]=t[e][1]);return n.join("")},t.prototype.diff_levenshtein=function(t){for(var n=0,e=0,i=0,r=0;r<t.length;r++){var h=t[r][0],s=t[r][1];switch(h){case 1:e+=s.length;break;case-1:i+=s.length;break;case 0:n+=Math.max(e,i),i=e=0}}return n+Math.max(e,i)},t.prototype.diff_toDelta=function(t){for(var n=[],e=0;e<t.length;e++)switch(t[e][0]){case 1:n[e]="+"+encodeURI(t[e][1]);break;case-1:n[e]="-"+t[e][1].length;break;case 0:n[e]="="+t[e][1].length}return n.join("\t").replace(/%20/g," ")},t.prototype.diff_fromDelta=function(t,n){for(var e=[],i=0,r=0,h=n.split(/\t/g),s=0;s<h.length;s++){var a=h[s].substring(1);switch(h[s].charAt(0)){case"+":try{e[i++]=[1,decodeURI(a)]}catch(t){throw Error("Illegal escape in diff_fromDelta: "+a)}break;case"-":case"=":var f=parseInt(a,10);if(isNaN(f)||0>f)throw Error("Invalid number in diff_fromDelta: "+a);a=t.substring(r,r+=f),"="==h[s].charAt(0)?e[i++]=[0,a]:e[i++]=[-1,a];break;default:if(h[s])throw Error("Invalid diff operation in diff_fromDelta: "+h[s])}}if(r!=t.length)throw Error("Delta length ("+r+") does not equal source text length ("+t.length+").");return e},t.prototype.match_main=function(t,n,e){if(null==t||null==n||null==e)throw Error("Null input. (match_main)");return e=Math.max(0,Math.min(e,t.length)),t==n?0:t.length?t.substring(e,e+n.length)==n?e:this.match_bitap_(t,n,e):-1},t.prototype.match_bitap_=function(t,n,e){function i(t,i){var r=t/n.length,s=Math.abs(e-i);return h.Match_Distance?r+s/h.Match_Distance:s?1:r}if(n.length>this.Match_MaxBits)throw Error("Pattern too long for this browser.");var r=this.match_alphabet_(n),h=this,s=this.Match_Threshold;-1!=(o=t.indexOf(n,e))&&(s=Math.min(i(0,o),s),-1!=(o=t.lastIndexOf(n,e+n.length))&&(s=Math.min(i(0,o),s)));for(var a,f,l,g=1<<n.length-1,o=-1,c=n.length+t.length,u=0;u<n.length;u++){for(a=0,f=c;a<f;)i(u,e+f)<=s?a=f:c=f,f=Math.floor((c-a)/2+a);c=f,a=Math.max(1,e-f+1);var p=Math.min(e+f,t.length)+n.length;for((f=Array(p+2))[p+1]=(1<<u)-1;p>=a;p--){var d=r[t.charAt(p-1)];if(f[p]=0===u?(f[p+1]<<1|1)&d:(f[p+1]<<1|1)&d|(l[p+1]|l[p])<<1|1|l[p+1],f[p]&g&&(d=i(u,p-1))<=s){if(s=d,!((o=p-1)>e))break;a=Math.max(1,2*e-o)}}if(i(u+1,e)>s)break;l=f}return o},t.prototype.match_alphabet_=function(t){for(var n={},e=0;e<t.length;e++)n[t.charAt(e)]=0;for(e=0;e<t.length;e++)n[t.charAt(e)]|=1<<t.length-e-1;return n},t.prototype.patch_addContext_=function(t,n){if(0!=n.length){for(var e=n.substring(t.start2,t.start2+t.length1),i=0;n.indexOf(e)!=n.lastIndexOf(e)&&e.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,e=n.substring(t.start2-i,t.start2+t.length1+i);i+=this.Patch_Margin,(e=n.substring(t.start2-i,t.start2))&&t.diffs.unshift([0,e]),(i=n.substring(t.start2+t.length1,t.start2+t.length1+i))&&t.diffs.push([0,i]),t.start1-=e.length,t.start2-=e.length,t.length1+=e.length+i.length,t.length2+=e.length+i.length}},t.prototype.patch_make=function(n,e,i){var r;if("string"==typeof n&&"string"==typeof e&&void 0===i)r=n,2<(e=this.diff_main(r,e,!0)).length&&(this.diff_cleanupSemantic(e),this.diff_cleanupEfficiency(e));else if(n&&"object"==typeof n&&void 0===e&&void 0===i)e=n,r=this.diff_text1(e);else if("string"==typeof n&&e&&"object"==typeof e&&void 0===i)r=n;else{if("string"!=typeof n||"string"!=typeof e||!i||"object"!=typeof i)throw Error("Unknown call format to patch_make.");r=n,e=i}if(0===e.length)return[];i=[],n=new t.patch_obj;for(var h=0,s=0,a=0,f=r,l=0;l<e.length;l++){var g=e[l][0],o=e[l][1];switch(!h&&0!==g&&(n.start1=s,n.start2=a),g){case 1:n.diffs[h++]=e[l],n.length2+=o.length,r=r.substring(0,a)+o+r.substring(a);break;case-1:n.length1+=o.length,n.diffs[h++]=e[l],r=r.substring(0,a)+r.substring(a+o.length);break;case 0:o.length<=2*this.Patch_Margin&&h&&e.length!=l+1?(n.diffs[h++]=e[l],n.length1+=o.length,n.length2+=o.length):o.length>=2*this.Patch_Margin&&h&&(this.patch_addContext_(n,f),i.push(n),n=new t.patch_obj,h=0,f=r,s=a)}1!==g&&(s+=o.length),-1!==g&&(a+=o.length)}return h&&(this.patch_addContext_(n,f),i.push(n)),i},t.prototype.patch_deepCopy=function(n){for(var e=[],i=0;i<n.length;i++){var r=n[i],h=new t.patch_obj;h.diffs=[];for(var s=0;s<r.diffs.length;s++)h.diffs[s]=r.diffs[s].slice();h.start1=r.start1,h.start2=r.start2,h.length1=r.length1,h.length2=r.length2,e[i]=h}return e},t.prototype.patch_apply=function(t,n){if(0==t.length)return[n,[]];t=this.patch_deepCopy(t);var e=this.patch_addPadding(t);n=e+n+e,this.patch_splitMax(t);for(var i=0,r=[],h=0;h<t.length;h++){var s,a=t[h].start2+i,f=-1;if((g=this.diff_text1(t[h].diffs)).length>this.Match_MaxBits?-1!=(s=this.match_main(n,g.substring(0,this.Match_MaxBits),a))&&(-1==(f=this.match_main(n,g.substring(g.length-this.Match_MaxBits),a+g.length-this.Match_MaxBits))||s>=f)&&(s=-1):s=this.match_main(n,g,a),-1==s)r[h]=!1,i-=t[h].length2-t[h].length1;else if(r[h]=!0,i=s-a,g==(a=-1==f?n.substring(s,s+g.length):n.substring(s,f+this.Match_MaxBits)))n=n.substring(0,s)+this.diff_text2(t[h].diffs)+n.substring(s+g.length);else if(a=this.diff_main(g,a,!1),g.length>this.Match_MaxBits&&this.diff_levenshtein(a)/g.length>this.Patch_DeleteThreshold)r[h]=!1;else{this.diff_cleanupSemanticLossless(a);var l,g=0;for(f=0;f<t[h].diffs.length;f++){var o=t[h].diffs[f];0!==o[0]&&(l=this.diff_xIndex(a,g)),1===o[0]?n=n.substring(0,s+l)+o[1]+n.substring(s+l):-1===o[0]&&(n=n.substring(0,s+l)+n.substring(s+this.diff_xIndex(a,g+o[1].length))),-1!==o[0]&&(g+=o[1].length)}}}return[n=n.substring(e.length,n.length-e.length),r]},t.prototype.patch_addPadding=function(t){for(var n=this.Patch_Margin,e="",i=1;i<=n;i++)e+=String.fromCharCode(i);for(i=0;i<t.length;i++)t[i].start1+=n,t[i].start2+=n;var r=(i=t[0]).diffs;if(0==r.length||0!=r[0][0])r.unshift([0,e]),i.start1-=n,i.start2-=n,i.length1+=n,i.length2+=n;else if(n>r[0][1].length){var h=n-r[0][1].length;r[0][1]=e.substring(r[0][1].length)+r[0][1],i.start1-=h,i.start2-=h,i.length1+=h,i.length2+=h}return 0==(r=(i=t[t.length-1]).diffs).length||0!=r[r.length-1][0]?(r.push([0,e]),i.length1+=n,i.length2+=n):n>r[r.length-1][1].length&&(h=n-r[r.length-1][1].length,r[r.length-1][1]+=e.substring(0,h),i.length1+=h,i.length2+=h),e},t.prototype.patch_splitMax=function(n){for(var e=this.Match_MaxBits,i=0;i<n.length;i++)if(!(n[i].length1<=e)){var r=n[i];n.splice(i--,1);for(var h=r.start1,s=r.start2,a="";0!==r.diffs.length;){var f=new t.patch_obj,l=!0;for(f.start1=h-a.length,f.start2=s-a.length,""!==a&&(f.length1=f.length2=a.length,f.diffs.push([0,a]));0!==r.diffs.length&&f.length1<e-this.Patch_Margin;){a=r.diffs[0][0];var g=r.diffs[0][1];1===a?(f.length2+=g.length,s+=g.length,f.diffs.push(r.diffs.shift()),l=!1):-1===a&&1==f.diffs.length&&0==f.diffs[0][0]&&g.length>2*e?(f.length1+=g.length,h+=g.length,l=!1,f.diffs.push([a,g]),r.diffs.shift()):(g=g.substring(0,e-f.length1-this.Patch_Margin),f.length1+=g.length,h+=g.length,0===a?(f.length2+=g.length,s+=g.length):l=!1,f.diffs.push([a,g]),g==r.diffs[0][1]?r.diffs.shift():r.diffs[0][1]=r.diffs[0][1].substring(g.length))}a=(a=this.diff_text2(f.diffs)).substring(a.length-this.Patch_Margin),""!==(g=this.diff_text1(r.diffs).substring(0,this.Patch_Margin))&&(f.length1+=g.length,f.length2+=g.length,0!==f.diffs.length&&0===f.diffs[f.diffs.length-1][0]?f.diffs[f.diffs.length-1][1]+=g:f.diffs.push([0,g])),l||n.splice(++i,0,f)}}},t.prototype.patch_toText=function(t){for(var n=[],e=0;e<t.length;e++)n[e]=t[e];return n.join("")},t.prototype.patch_fromText=function(n){var e=[];if(!n)return e;n=n.split("\n");for(var i=0,r=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;i<n.length;){var h=n[i].match(r);if(!h)throw Error("Invalid patch string: "+n[i]);var s=new t.patch_obj;for(e.push(s),s.start1=parseInt(h[1],10),""===h[2]?(s.start1--,s.length1=1):"0"==h[2]?s.length1=0:(s.start1--,s.length1=parseInt(h[2],10)),s.start2=parseInt(h[3],10),""===h[4]?(s.start2--,s.length2=1):"0"==h[4]?s.length2=0:(s.start2--,s.length2=parseInt(h[4],10)),i++;i<n.length;){h=n[i].charAt(0);try{var a=decodeURI(n[i].substring(1))}catch(t){throw Error("Illegal escape in patch_fromText: "+a)}if("-"==h)s.diffs.push([-1,a]);else if("+"==h)s.diffs.push([1,a]);else if(" "==h)s.diffs.push([0,a]);else{if("@"==h)break;if(""!==h)throw Error('Invalid patch mode "'+h+'" in: '+a)}i++}}return e},t.patch_obj=function(){this.diffs=[],this.start2=this.start1=null,this.length2=this.length1=0},t.patch_obj.prototype.toString=function(){var t,n,e;for(t=["@@ -"+(t=0===this.length1?this.start1+",0":1==this.length1?this.start1+1:this.start1+1+","+this.length1)+" +"+(n=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-1:e="-";break;case 0:e=" "}t[n+1]=e+encodeURI(this.diffs[n][1])+"\n"}return t.join("").replace(/%20/g," ")},window.diff_match_patch=t,window.DIFF_DELETE=-1,window.DIFF_INSERT=1,window.DIFF_EQUAL=0}();export{i as Diff};