react-diff-view
Version:
A git diff component to consume the git unified diff output.
7 lines • 133 kB
JavaScript
"use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react");function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread2(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty$1(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _defineProperty$1(obj,key,value){return(key=function(arg){var key=function(input,hint){if("object"!=typeof input||null===input)return input;var prim=input[Symbol.toPrimitive];if(void 0!==prim){var res=prim.call(input,hint||"default");if("object"!=typeof res)return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===hint?String:Number)(input)}(arg,"string");return"symbol"==typeof key?key:String(key)}(key))in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _objectWithoutProperties(source,excluded){if(null==source)return{};var key,i,target=function(source,excluded){if(null==source)return{};var key,i,target={},sourceKeys=Object.keys(source);for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],excluded.indexOf(key)>=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],excluded.indexOf(key)>=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||function(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _toArray(arr){return _arrayWithHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableRest()}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||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.")}()}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _iterableToArray(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}function _unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _nonIterableRest(){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 _createForOfIteratorHelper(o,allowArrayLike){var it="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&"number"==typeof o.length){it&&(o=it);var i=0,F=function(){};return{s:F,n:function(){return i>=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(e){throw e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var err,normalCompletion=!0,didErr=!1;return{s:function(){it=it.call(o)},n:function(){var step=it.next();return normalCompletion=step.done,step},e:function(e){didErr=!0,err=e},f:function(){try{normalCompletion||null==it.return||it.return()}finally{if(didErr)throw err}}}}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(fn,module){return fn(module={exports:{}},module.exports),module.exports}var classnames=createCommonjsModule((function(module){
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
!function(){var hasOwn={}.hasOwnProperty;function classNames(){for(var classes=[],i=0;i<arguments.length;i++){var arg=arguments[i];if(arg){var argType=typeof arg;if("string"===argType||"number"===argType)classes.push(arg);else if(Array.isArray(arg)){if(arg.length){var inner=classNames.apply(null,arg);inner&&classes.push(inner)}}else if("object"===argType){if(arg.toString!==Object.prototype.toString&&!arg.toString.toString().includes("[native code]")){classes.push(arg.toString());continue}for(var key in arg)hasOwn.call(arg,key)&&arg[key]&&classes.push(key)}}}return classes.join(" ")}module.exports?(classNames.default=classNames,module.exports=classNames):window.classNames=classNames}()})),DEFAULT_CONTEXT_VALUE={hunkClassName:"",lineClassName:"",gutterClassName:"",codeClassName:"",monotonous:!1,gutterType:"default",viewType:"split",widgets:{},hideGutter:!1,selectedChanges:[],generateAnchorID:function(){},generateLineClassName:function(){},renderGutter:function(_ref){var renderDefault=_ref.renderDefault;return(0,_ref.wrapInAnchor)(renderDefault())},codeEvents:{},gutterEvents:{}},ContextType=react.createContext(DEFAULT_CONTEXT_VALUE),Provider=ContextType.Provider,useDiffSettings=function(){return react.useContext(ContextType)},gitdiffParser=createCommonjsModule((function(module,exports){!function(root){function parsePathFromFirstLine(line){var filesStr=line.slice(11),oldPath=null,newPath=null;switch(filesStr.indexOf('"')){case-1:oldPath=(segs=filesStr.split(" "))[0].slice(2),newPath=segs[1].slice(2);break;case 0:var nextQuoteIndex=filesStr.indexOf('"',2);oldPath=filesStr.slice(3,nextQuoteIndex);var newQuoteIndex=filesStr.indexOf('"',nextQuoteIndex+1);newPath=newQuoteIndex<0?filesStr.slice(nextQuoteIndex+4):filesStr.slice(newQuoteIndex+3,-1);break;default:var segs;oldPath=(segs=filesStr.split(" "))[0].slice(2),newPath=segs[1].slice(3,-1)}return{oldPath:oldPath,newPath:newPath}}var parser={parse:function(source){for(var currentInfo,currentHunk,changeOldLine,changeNewLine,paths,infos=[],stat=2,lines=source.split("\n"),linesLen=lines.length,i=0;i<linesLen;){var line=lines[i];if(0===line.indexOf("diff --git")){currentInfo={hunks:[],oldEndingNewLine:!0,newEndingNewLine:!0,oldPath:(paths=parsePathFromFirstLine(line)).oldPath,newPath:paths.newPath},infos.push(currentInfo);var simiLine,currentInfoType=null;simiLoop:for(;simiLine=lines[++i];){var spaceIndex=simiLine.indexOf(" "),infoType=spaceIndex>-1?simiLine.slice(0,spaceIndex):infoType;switch(infoType){case"diff":i--;break simiLoop;case"deleted":case"new":var leftStr=simiLine.slice(spaceIndex+1);0===leftStr.indexOf("file mode")&&(currentInfo["new"===infoType?"newMode":"oldMode"]=leftStr.slice(10));break;case"similarity":currentInfo.similarity=parseInt(simiLine.split(" ")[2],10);break;case"index":var segs=simiLine.slice(spaceIndex+1).split(" "),revs=segs[0].split("..");currentInfo.oldRevision=revs[0],currentInfo.newRevision=revs[1],segs[1]&&(currentInfo.oldMode=currentInfo.newMode=segs[1]);break;case"copy":case"rename":var infoStr=simiLine.slice(spaceIndex+1);0===infoStr.indexOf("from")?currentInfo.oldPath=infoStr.slice(5):currentInfo.newPath=infoStr.slice(3),currentInfoType=infoType;break;case"---":var oldPath=simiLine.slice(spaceIndex+1),newPath=lines[++i].slice(4);"/dev/null"===oldPath?(newPath=newPath.slice(2),currentInfoType="add"):"/dev/null"===newPath?(oldPath=oldPath.slice(2),currentInfoType="delete"):(currentInfoType="modify",oldPath=oldPath.slice(2),newPath=newPath.slice(2)),oldPath&&(currentInfo.oldPath=oldPath),newPath&&(currentInfo.newPath=newPath),stat=5;break simiLoop}}currentInfo.type=currentInfoType||"modify"}else if(0===line.indexOf("Binary"))currentInfo.isBinary=!0,currentInfo.type=line.indexOf("/dev/null and")>=0?"add":line.indexOf("and /dev/null")>=0?"delete":"modify",stat=2,currentInfo=null;else if(5===stat)if(0===line.indexOf("@@")){var match=/^@@\s+-([0-9]+)(,([0-9]+))?\s+\+([0-9]+)(,([0-9]+))?/.exec(line);currentHunk={content:line,oldStart:match[1]-0,newStart:match[4]-0,oldLines:match[3]-0||1,newLines:match[6]-0||1,changes:[]},currentInfo.hunks.push(currentHunk),changeOldLine=currentHunk.oldStart,changeNewLine=currentHunk.newStart}else{var typeChar=line.slice(0,1),change={content:line.slice(1)};switch(typeChar){case"+":change.type="insert",change.isInsert=!0,change.lineNumber=changeNewLine,changeNewLine++;break;case"-":change.type="delete",change.isDelete=!0,change.lineNumber=changeOldLine,changeOldLine++;break;case" ":change.type="normal",change.isNormal=!0,change.oldLineNumber=changeOldLine,change.newLineNumber=changeNewLine,changeOldLine++,changeNewLine++;break;case"\\":var lastChange=currentHunk.changes[currentHunk.changes.length-1];lastChange.isDelete||(currentInfo.newEndingNewLine=!1),lastChange.isInsert||(currentInfo.oldEndingNewLine=!1)}change.type&¤tHunk.changes.push(change)}i++}return infos}};module.exports=parser}()}));function isInsert(change){return"insert"===change.type}function isDelete(change){return"delete"===change.type}function isNormal(change){return"normal"===change.type}function mapHunk(hunk,options){var changes="zip"===options.nearbySequences?function(changes){var _changes$reduce=changes.reduce((function(_ref,current,i){var _ref2=_slicedToArray(_ref,3),result=_ref2[0],last=_ref2[1],lastDeletionIndex=_ref2[2];return last?isInsert(current)&&lastDeletionIndex>=0?(result.splice(lastDeletionIndex+1,0,current),[result,current,lastDeletionIndex+2]):(result.push(current),[result,current,isDelete(current)&&isDelete(last)?lastDeletionIndex:i]):(result.push(current),[result,current,isDelete(current)?i:-1])}),[[],null,-1]);return _slicedToArray(_changes$reduce,1)[0]}(hunk.changes):hunk.changes;return _objectSpread2(_objectSpread2({},hunk),{},{isPlain:!1,changes:changes})}function first(array){return array[0]}function last$1(array){return array[array.length-1]}function sideToProperty(side){return["".concat(side,"Start"),"".concat(side,"Lines")]}function computeLineNumberFactory(side){return"old"===side?function(change){return isInsert(change)?-1:isNormal(change)?change.oldLineNumber:change.lineNumber}:function(change){return isDelete(change)?-1:isNormal(change)?change.newLineNumber:change.lineNumber}}function isInHunkFactory(startProperty,linesProperty){return function(hunk,lineNumber){var start=hunk[startProperty],end=start+hunk[linesProperty];return lineNumber>=start&&lineNumber<end}}function isBetweenHunksFactory(startProperty,linesProperty){return function(previousHunk,nextHunk,lineNumber){var start=previousHunk[startProperty]+previousHunk[linesProperty],end=nextHunk[startProperty];return lineNumber>=start&&lineNumber<end}}function findChangeByLineNumberFactory(side){var computeLineNumber=computeLineNumberFactory(side),findContainerHunk=function(side){var _sideToProperty2=_slicedToArray(sideToProperty(side),2),isInHunk=isInHunkFactory(_sideToProperty2[0],_sideToProperty2[1]);return function(hunks,lineNumber){return hunks.find((function(hunk){return isInHunk(hunk,lineNumber)}))}}(side);return function(hunks,lineNumber){var containerHunk=findContainerHunk(hunks,lineNumber);if(containerHunk)return containerHunk.changes.find((function(change){return computeLineNumber(change)===lineNumber}))}}function getCorrespondingLineNumberFactory(baseSide){var anotherSide="old"===baseSide?"new":"old",_sideToProperty4=_slicedToArray(sideToProperty(baseSide),2),baseStart=_sideToProperty4[0],baseLines=_sideToProperty4[1],_sideToProperty6=_slicedToArray(sideToProperty(anotherSide),2),correspondingStart=_sideToProperty6[0],correspondingLines=_sideToProperty6[1],baseLineNumber=computeLineNumberFactory(baseSide),correspondingLineNumber=computeLineNumberFactory(anotherSide),isInHunk=isInHunkFactory(baseStart,baseLines),isBetweenHunks=isBetweenHunksFactory(baseStart,baseLines);return function(hunks,lineNumber){var firstHunk=first(hunks);if(lineNumber<firstHunk[baseStart]){var spanFromStart=firstHunk[baseStart]-lineNumber;return firstHunk[correspondingStart]-spanFromStart}var lastHunk=last$1(hunks);if(lastHunk[baseStart]+lastHunk[baseLines]<=lineNumber){var spanFromEnd=lineNumber-lastHunk[baseStart]-lastHunk[baseLines];return lastHunk[correspondingStart]+lastHunk[correspondingLines]+spanFromEnd}for(var i=0;i<hunks.length;i++){var currentHunk=hunks[i],nextHunk=hunks[i+1];if(isInHunk(currentHunk,lineNumber)){var changeIndex=currentHunk.changes.findIndex((function(change){return baseLineNumber(change)===lineNumber})),change=currentHunk.changes[changeIndex];if(isNormal(change))return correspondingLineNumber(change);var possibleCorrespondingChangeIndex=isDelete(change)?changeIndex+1:changeIndex-1,possibleCorrespondingChange=currentHunk.changes[possibleCorrespondingChangeIndex];if(!possibleCorrespondingChange)return-1;var negativeChangeType=isInsert(change)?"delete":"insert";return possibleCorrespondingChange.type===negativeChangeType?correspondingLineNumber(possibleCorrespondingChange):-1}if(isBetweenHunks(currentHunk,nextHunk,lineNumber)){var _spanFromEnd=lineNumber-currentHunk[baseStart]-currentHunk[baseLines];return currentHunk[correspondingStart]+currentHunk[correspondingLines]+_spanFromEnd}}throw new Error("Unexpected line position ".concat(lineNumber))}}var _baseFindIndex=function(array,predicate,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?1:-1);fromRight?index--:++index<length;)if(predicate(array[index],index,array))return index;return-1};var _listCacheClear=function(){this.__data__=[],this.size=0};var eq_1=function(value,other){return value===other||value!=value&&other!=other};var _assocIndexOf=function(array,key){for(var length=array.length;length--;)if(eq_1(array[length][0],key))return length;return-1},splice=Array.prototype.splice;var _listCacheDelete=function(key){var data=this.__data__,index=_assocIndexOf(data,key);return!(index<0)&&(index==data.length-1?data.pop():splice.call(data,index,1),--this.size,!0)};var _listCacheGet=function(key){var data=this.__data__,index=_assocIndexOf(data,key);return index<0?void 0:data[index][1]};var _listCacheHas=function(key){return _assocIndexOf(this.__data__,key)>-1};var _listCacheSet=function(key,value){var data=this.__data__,index=_assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this};function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=_listCacheClear,ListCache.prototype.delete=_listCacheDelete,ListCache.prototype.get=_listCacheGet,ListCache.prototype.has=_listCacheHas,ListCache.prototype.set=_listCacheSet;var _ListCache=ListCache;var _stackClear=function(){this.__data__=new _ListCache,this.size=0};var _stackDelete=function(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result};var _stackGet=function(key){return this.__data__.get(key)};var _stackHas=function(key){return this.__data__.has(key)},_freeGlobal="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,_root=_freeGlobal||freeSelf||Function("return this")(),_Symbol=_root.Symbol,objectProto$d=Object.prototype,hasOwnProperty$a=objectProto$d.hasOwnProperty,nativeObjectToString$1=objectProto$d.toString,symToStringTag$1=_Symbol?_Symbol.toStringTag:void 0;var _getRawTag=function(value){var isOwn=hasOwnProperty$a.call(value,symToStringTag$1),tag=value[symToStringTag$1];try{value[symToStringTag$1]=void 0;var unmasked=!0}catch(e){}var result=nativeObjectToString$1.call(value);return unmasked&&(isOwn?value[symToStringTag$1]=tag:delete value[symToStringTag$1]),result},nativeObjectToString=Object.prototype.toString;var _objectToString=function(value){return nativeObjectToString.call(value)},symToStringTag=_Symbol?_Symbol.toStringTag:void 0;var _baseGetTag=function(value){return null==value?void 0===value?"[object Undefined]":"[object Null]":symToStringTag&&symToStringTag in Object(value)?_getRawTag(value):_objectToString(value)};var isObject_1=function(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)};var isFunction_1=function(value){if(!isObject_1(value))return!1;var tag=_baseGetTag(value);return"[object Function]"==tag||"[object GeneratorFunction]"==tag||"[object AsyncFunction]"==tag||"[object Proxy]"==tag},_coreJsData=_root["__core-js_shared__"],maskSrcKey=function(){var uid=/[^.]+$/.exec(_coreJsData&&_coreJsData.keys&&_coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();var _isMasked=function(func){return!!maskSrcKey&&maskSrcKey in func},funcToString$1=Function.prototype.toString;var _toSource=function(func){if(null!=func){try{return funcToString$1.call(func)}catch(e){}try{return func+""}catch(e){}}return""},reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto=Function.prototype,objectProto$b=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$9=objectProto$b.hasOwnProperty,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty$9).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var _baseIsNative=function(value){return!(!isObject_1(value)||_isMasked(value))&&(isFunction_1(value)?reIsNative:reIsHostCtor).test(_toSource(value))};var _getValue=function(object,key){return null==object?void 0:object[key]};var _getNative=function(object,key){var value=_getValue(object,key);return _baseIsNative(value)?value:void 0},_Map=_getNative(_root,"Map"),_nativeCreate=_getNative(Object,"create");var _hashClear=function(){this.__data__=_nativeCreate?_nativeCreate(null):{},this.size=0};var _hashDelete=function(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result},hasOwnProperty$8=Object.prototype.hasOwnProperty;var _hashGet=function(key){var data=this.__data__;if(_nativeCreate){var result=data[key];return"__lodash_hash_undefined__"===result?void 0:result}return hasOwnProperty$8.call(data,key)?data[key]:void 0},hasOwnProperty$7=Object.prototype.hasOwnProperty;var _hashHas=function(key){var data=this.__data__;return _nativeCreate?void 0!==data[key]:hasOwnProperty$7.call(data,key)};var _hashSet=function(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=_nativeCreate&&void 0===value?"__lodash_hash_undefined__":value,this};function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}Hash.prototype.clear=_hashClear,Hash.prototype.delete=_hashDelete,Hash.prototype.get=_hashGet,Hash.prototype.has=_hashHas,Hash.prototype.set=_hashSet;var _Hash=Hash;var _mapCacheClear=function(){this.size=0,this.__data__={hash:new _Hash,map:new(_Map||_ListCache),string:new _Hash}};var _isKeyable=function(value){var type=typeof value;return"string"==type||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value};var _getMapData=function(map,key){var data=map.__data__;return _isKeyable(key)?data["string"==typeof key?"string":"hash"]:data.map};var _mapCacheDelete=function(key){var result=_getMapData(this,key).delete(key);return this.size-=result?1:0,result};var _mapCacheGet=function(key){return _getMapData(this,key).get(key)};var _mapCacheHas=function(key){return _getMapData(this,key).has(key)};var _mapCacheSet=function(key,value){var data=_getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this};function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=_mapCacheClear,MapCache.prototype.delete=_mapCacheDelete,MapCache.prototype.get=_mapCacheGet,MapCache.prototype.has=_mapCacheHas,MapCache.prototype.set=_mapCacheSet;var _MapCache=MapCache;var _stackSet=function(key,value){var data=this.__data__;if(data instanceof _ListCache){var pairs=data.__data__;if(!_Map||pairs.length<199)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new _MapCache(pairs)}return data.set(key,value),this.size=data.size,this};function Stack(entries){var data=this.__data__=new _ListCache(entries);this.size=data.size}Stack.prototype.clear=_stackClear,Stack.prototype.delete=_stackDelete,Stack.prototype.get=_stackGet,Stack.prototype.has=_stackHas,Stack.prototype.set=_stackSet;var _Stack=Stack;var _setCacheAdd=function(value){return this.__data__.set(value,"__lodash_hash_undefined__"),this};var _setCacheHas=function(value){return this.__data__.has(value)};function SetCache(values){var index=-1,length=null==values?0:values.length;for(this.__data__=new _MapCache;++index<length;)this.add(values[index])}SetCache.prototype.add=SetCache.prototype.push=_setCacheAdd,SetCache.prototype.has=_setCacheHas;var _SetCache=SetCache;var _arraySome=function(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1};var _cacheHas=function(cache,key){return cache.has(key)};var _equalArrays=function(array,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var arrStacked=stack.get(array),othStacked=stack.get(other);if(arrStacked&&othStacked)return arrStacked==other&&othStacked==array;var index=-1,result=!0,seen=2&bitmask?new _SetCache:void 0;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(void 0!==compared){if(compared)continue;result=!1;break}if(seen){if(!_arraySome(other,(function(othValue,othIndex){if(!_cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack)))return seen.push(othIndex)}))){result=!1;break}}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,bitmask,customizer,stack)){result=!1;break}}return stack.delete(array),stack.delete(other),result},_Uint8Array=_root.Uint8Array;var _mapToArray=function(map){var index=-1,result=Array(map.size);return map.forEach((function(value,key){result[++index]=[key,value]})),result};var _setToArray=function(set){var index=-1,result=Array(set.size);return set.forEach((function(value){result[++index]=value})),result},symbolProto$1=_Symbol?_Symbol.prototype:void 0,symbolValueOf=symbolProto$1?symbolProto$1.valueOf:void 0;var _equalByTag=function(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case"[object DataView]":if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case"[object ArrayBuffer]":return!(object.byteLength!=other.byteLength||!equalFunc(new _Uint8Array(object),new _Uint8Array(other)));case"[object Boolean]":case"[object Date]":case"[object Number]":return eq_1(+object,+other);case"[object Error]":return object.name==other.name&&object.message==other.message;case"[object RegExp]":case"[object String]":return object==other+"";case"[object Map]":var convert=_mapToArray;case"[object Set]":var isPartial=1&bitmask;if(convert||(convert=_setToArray),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=2,stack.set(object,other);var result=_equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack.delete(object),result;case"[object Symbol]":if(symbolValueOf)return symbolValueOf.call(object)==symbolValueOf.call(other)}return!1};var _arrayPush=function(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array},isArray_1=Array.isArray;var _baseGetAllKeys=function(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray_1(object)?result:_arrayPush(result,symbolsFunc(object))};var _arrayFilter=function(array,predicate){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result};var stubArray_1=function(){return[]},propertyIsEnumerable$1=Object.prototype.propertyIsEnumerable,nativeGetSymbols=Object.getOwnPropertySymbols,_getSymbols=nativeGetSymbols?function(object){return null==object?[]:(object=Object(object),_arrayFilter(nativeGetSymbols(object),(function(symbol){return propertyIsEnumerable$1.call(object,symbol)})))}:stubArray_1;var _baseTimes=function(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result};var isObjectLike_1=function(value){return null!=value&&"object"==typeof value};var _baseIsArguments=function(value){return isObjectLike_1(value)&&"[object Arguments]"==_baseGetTag(value)},objectProto$7=Object.prototype,hasOwnProperty$6=objectProto$7.hasOwnProperty,propertyIsEnumerable=objectProto$7.propertyIsEnumerable,isArguments_1=_baseIsArguments(function(){return arguments}())?_baseIsArguments:function(value){return isObjectLike_1(value)&&hasOwnProperty$6.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};var stubFalse_1=function(){return!1},isBuffer_1=createCommonjsModule((function(module,exports){var freeExports=exports&&!exports.nodeType&&exports,freeModule=freeExports&&module&&!module.nodeType&&module,Buffer=freeModule&&freeModule.exports===freeExports?_root.Buffer:void 0,isBuffer=(Buffer?Buffer.isBuffer:void 0)||stubFalse_1;module.exports=isBuffer})),reIsUint=/^(?:0|[1-9]\d*)$/;var _isIndex=function(value,length){var type=typeof value;return!!(length=null==length?9007199254740991:length)&&("number"==type||"symbol"!=type&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length};var isLength_1=function(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=9007199254740991},typedArrayTags={};typedArrayTags["[object Float32Array]"]=typedArrayTags["[object Float64Array]"]=typedArrayTags["[object Int8Array]"]=typedArrayTags["[object Int16Array]"]=typedArrayTags["[object Int32Array]"]=typedArrayTags["[object Uint8Array]"]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags["[object Uint16Array]"]=typedArrayTags["[object Uint32Array]"]=!0,typedArrayTags["[object Arguments]"]=typedArrayTags["[object Array]"]=typedArrayTags["[object ArrayBuffer]"]=typedArrayTags["[object Boolean]"]=typedArrayTags["[object DataView]"]=typedArrayTags["[object Date]"]=typedArrayTags["[object Error]"]=typedArrayTags["[object Function]"]=typedArrayTags["[object Map]"]=typedArrayTags["[object Number]"]=typedArrayTags["[object Object]"]=typedArrayTags["[object RegExp]"]=typedArrayTags["[object Set]"]=typedArrayTags["[object String]"]=typedArrayTags["[object WeakMap]"]=!1;var _baseIsTypedArray=function(value){return isObjectLike_1(value)&&isLength_1(value.length)&&!!typedArrayTags[_baseGetTag(value)]};var _baseUnary=function(func){return function(value){return func(value)}},_nodeUtil=createCommonjsModule((function(module,exports){var freeExports=exports&&!exports.nodeType&&exports,freeModule=freeExports&&module&&!module.nodeType&&module,freeProcess=freeModule&&freeModule.exports===freeExports&&_freeGlobal.process,nodeUtil=function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}();module.exports=nodeUtil})),nodeIsTypedArray=_nodeUtil&&_nodeUtil.isTypedArray,isTypedArray_1=nodeIsTypedArray?_baseUnary(nodeIsTypedArray):_baseIsTypedArray,hasOwnProperty$5=Object.prototype.hasOwnProperty;var _arrayLikeKeys=function(value,inherited){var isArr=isArray_1(value),isArg=!isArr&&isArguments_1(value),isBuff=!isArr&&!isArg&&isBuffer_1(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray_1(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?_baseTimes(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty$5.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||_isIndex(key,length))||result.push(key);return result},objectProto$5=Object.prototype;var _isPrototype=function(value){var Ctor=value&&value.constructor;return value===("function"==typeof Ctor&&Ctor.prototype||objectProto$5)};var _nativeKeys=function(func,transform){return function(arg){return func(transform(arg))}}(Object.keys,Object),hasOwnProperty$4=Object.prototype.hasOwnProperty;var _baseKeys=function(object){if(!_isPrototype(object))return _nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty$4.call(object,key)&&"constructor"!=key&&result.push(key);return result};var isArrayLike_1=function(value){return null!=value&&isLength_1(value.length)&&!isFunction_1(value)};var keys_1=function(object){return isArrayLike_1(object)?_arrayLikeKeys(object):_baseKeys(object)};var _getAllKeys=function(object){return _baseGetAllKeys(object,keys_1,_getSymbols)},hasOwnProperty$3=Object.prototype.hasOwnProperty;var _equalObjects=function(object,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,objProps=_getAllKeys(object),objLength=objProps.length;if(objLength!=_getAllKeys(other).length&&!isPartial)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty$3.call(other,key)))return!1}var objStacked=stack.get(object),othStacked=stack.get(other);if(objStacked&&othStacked)return objStacked==other&&othStacked==object;var result=!0;stack.set(object,other),stack.set(other,object);for(var skipCtor=isPartial;++index<objLength;){var objValue=object[key=objProps[index]],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(void 0===compared?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor="constructor"==key)}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor==othCtor||!("constructor"in object)||!("constructor"in other)||"function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor||(result=!1)}return stack.delete(object),stack.delete(other),result},_DataView=_getNative(_root,"DataView"),_Promise=_getNative(_root,"Promise"),_Set=_getNative(_root,"Set"),_WeakMap=_getNative(_root,"WeakMap"),dataViewCtorString=_toSource(_DataView),mapCtorString=_toSource(_Map),promiseCtorString=_toSource(_Promise),setCtorString=_toSource(_Set),weakMapCtorString=_toSource(_WeakMap),getTag=_baseGetTag;(_DataView&&"[object DataView]"!=getTag(new _DataView(new ArrayBuffer(1)))||_Map&&"[object Map]"!=getTag(new _Map)||_Promise&&"[object Promise]"!=getTag(_Promise.resolve())||_Set&&"[object Set]"!=getTag(new _Set)||_WeakMap&&"[object WeakMap]"!=getTag(new _WeakMap))&&(getTag=function(value){var result=_baseGetTag(value),Ctor="[object Object]"==result?value.constructor:void 0,ctorString=Ctor?_toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return"[object DataView]";case mapCtorString:return"[object Map]";case promiseCtorString:return"[object Promise]";case setCtorString:return"[object Set]";case weakMapCtorString:return"[object WeakMap]"}return result});var _getTag=getTag,objectTag="[object Object]",hasOwnProperty$2=Object.prototype.hasOwnProperty;var _baseIsEqualDeep=function(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray_1(object),othIsArr=isArray_1(other),objTag=objIsArr?"[object Array]":_getTag(object),othTag=othIsArr?"[object Array]":_getTag(other),objIsObj=(objTag="[object Arguments]"==objTag?objectTag:objTag)==objectTag,othIsObj=(othTag="[object Arguments]"==othTag?objectTag:othTag)==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer_1(object)){if(!isBuffer_1(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new _Stack),objIsArr||isTypedArray_1(object)?_equalArrays(object,other,bitmask,customizer,equalFunc,stack):_equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(1&bitmask)){var objIsWrapped=objIsObj&&hasOwnProperty$2.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty$2.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new _Stack),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}return!!isSameTag&&(stack||(stack=new _Stack),_equalObjects(object,other,bitmask,customizer,equalFunc,stack))};var _baseIsEqual=function baseIsEqual(value,other,bitmask,customizer,stack){return value===other||(null==value||null==other||!isObjectLike_1(value)&&!isObjectLike_1(other)?value!=value&&other!=other:_baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack))};var _baseIsMatch=function(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){var key=(data=matchData[index])[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(void 0===objValue&&!(key in object))return!1}else{var stack=new _Stack;if(customizer)var result=customizer(objValue,srcValue,key,object,source,stack);if(!(void 0===result?_baseIsEqual(srcValue,objValue,3,customizer,stack):result))return!1}}return!0};var _isStrictComparable=function(value){return value==value&&!isObject_1(value)};var _getMatchData=function(object){for(var result=keys_1(object),length=result.length;length--;){var key=result[length],value=object[key];result[length]=[key,value,_isStrictComparable(value)]}return result};var _matchesStrictComparable=function(key,srcValue){return function(object){return null!=object&&(object[key]===srcValue&&(void 0!==srcValue||key in Object(object)))}};var _baseMatches=function(source){var matchData=_getMatchData(source);return 1==matchData.length&&matchData[0][2]?_matchesStrictComparable(matchData[0][0],matchData[0][1]):function(object){return object===source||_baseIsMatch(object,source,matchData)}};var isSymbol_1=function(value){return"symbol"==typeof value||isObjectLike_1(value)&&"[object Symbol]"==_baseGetTag(value)},reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;var _isKey=function(value,object){if(isArray_1(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol_1(value))||(reIsPlainProp.test(value)||!reIsDeepProp.test(value)||null!=object&&value in Object(object))};function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError("Expected a function");var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result};return memoized.cache=new(memoize.Cache||_MapCache),memoized}memoize.Cache=_MapCache;var memoize_1=memoize;var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,_stringToPath=function(func){var result=memoize_1(func,(function(key){return 500===cache.size&&cache.clear(),key})),cache=result.cache;return result}((function(string){var result=[];return 46===string.charCodeAt(0)&&result.push(""),string.replace(rePropName,(function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)})),result}));var _arrayMap=function(array,iteratee){for(var index=-1,length=null==array?0:array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result},symbolProto=_Symbol?_Symbol.prototype:void 0,symbolToString=symbolProto?symbolProto.toString:void 0;var _baseToString=function baseToString(value){if("string"==typeof value)return value;if(isArray_1(value))return _arrayMap(value,baseToString)+"";if(isSymbol_1(value))return symbolToString?symbolToString.call(value):"";var result=value+"";return"0"==result&&1/value==-Infinity?"-0":result};var toString_1=function(value){return null==value?"":_baseToString(value)};var _castPath=function(value,object){return isArray_1(value)?value:_isKey(value,object)?[value]:_stringToPath(toString_1(value))};var _toKey=function(value){if("string"==typeof value||isSymbol_1(value))return value;var result=value+"";return"0"==result&&1/value==-Infinity?"-0":result};var _baseGet=function(object,path){for(var index=0,length=(path=_castPath(path,object)).length;null!=object&&index<length;)object=object[_toKey(path[index++])];return index&&index==length?object:void 0};var get_1=function(object,path,defaultValue){var result=null==object?void 0:_baseGet(object,path);return void 0===result?defaultValue:result};var _baseHasIn=function(object,key){return null!=object&&key in Object(object)};var _hasPath=function(object,path,hasFunc){for(var index=-1,length=(path=_castPath(path,object)).length,result=!1;++index<length;){var key=_toKey(path[index]);if(!(result=null!=object&&hasFunc(object,key)))break;object=object[key]}return result||++index!=length?result:!!(length=null==object?0:object.length)&&isLength_1(length)&&_isIndex(key,length)&&(isArray_1(object)||isArguments_1(object))};var hasIn_1=function(object,path){return null!=object&&_hasPath(object,path,_baseHasIn)};var _baseMatchesProperty=function(path,srcValue){return _isKey(path)&&_isStrictComparable(srcValue)?_matchesStrictComparable(_toKey(path),srcValue):function(object){var objValue=get_1(object,path);return void 0===objValue&&objValue===srcValue?hasIn_1(object,path):_baseIsEqual(srcValue,objValue,3)}};var identity_1=function(value){return value};var _baseProperty=function(key){return function(object){return null==object?void 0:object[key]}};var _basePropertyDeep=function(path){return function(object){return _baseGet(object,path)}};var property_1=function(path){return _isKey(path)?_baseProperty(_toKey(path)):_basePropertyDeep(path)};var _baseIteratee=function(value){return"function"==typeof value?value:null==value?identity_1:"object"==typeof value?isArray_1(value)?_baseMatchesProperty(value[0],value[1]):_baseMatches(value):property_1(value)},reWhitespace=/\s/;var _trimmedEndIndex=function(string){for(var index=string.length;index--&&reWhitespace.test(string.charAt(index)););return index},reTrimStart=/^\s+/;var _baseTrim=function(string){return string?string.slice(0,_trimmedEndIndex(string)+1).replace(reTrimStart,""):string},reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;var toNumber_1=function(value){if("number"==typeof value)return value;if(isSymbol_1(value))return NaN;if(isObject_1(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject_1(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=_baseTrim(value);var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NaN:+value};var toFinite_1=function(value){return value?Infinity===(value=toNumber_1(value))||-Infinity===value?17976931348623157e292*(value<0?-1:1):value==value?value:0:0===value?value:0};var toInteger_1=function(value){var result=toFinite_1(value),remainder=result%1;return result==result?remainder?result-remainder:result:0},nativeMax$1=Math.max,nativeMin=Math.min;var findLastIndex_1=function(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length-1;return void 0!==fromIndex&&(index=toInteger_1(fromIndex),index=fromIndex<0?nativeMax$1(length+index,0):nativeMin(index,length-1)),_baseFindIndex(array,_baseIteratee(predicate),index,!0)},computeOldLineNumber$2=computeLineNumberFactory("old"),computeNewLineNumber$1=computeLineNumberFactory("new");function getOldRangeFromHunk(_ref){var oldStart=_ref.oldStart;return[oldStart,oldStart+_ref.oldLines-1]}function createHunkFromChanges(changes){if(!changes.length)return null;var hunk=changes.reduce((function(hunk,change){return isNormal(change)||(hunk.isPlain=!1),isInsert(change)||(hunk.oldLines=hunk.oldLines+1,-1===hunk.oldStart&&(hunk.oldStart=computeOldLineNumber$2(change))),isDelete(change)||(hunk.newLines=hunk.newLines+1,-1===hunk.newStart&&(hunk.newStart=computeNewLineNumber$1(change))),hunk}),{isPlain:!0,content:"",oldStart:-1,oldLines:0,newStart:-1,newLines:0}),oldStart=hunk.oldStart,oldLines=hunk.oldLines,newStart=hunk.newStart,newLines=hunk.newLines;return _objectSpread2(_objectSpread2({},hunk),{},{content:"@@ -".concat(oldStart,",").concat(oldLines," +").concat(newStart,",").concat(newLines),changes:changes})}function textLinesToHunk(lines,oldStartLine,newStartLine){return createHunkFromChanges(lines.map((function(line,i){return{type:"normal",isNormal:!0,oldLineNumber:oldStartLine+i,newLineNumber:newStartLine+i,content:""+line}})))}function sliceHunk(_ref2,oldStartLine,oldEndLine){var changes=_ref2.changes,changeIndex=changes.findIndex((function(change){return computeOldLineNumber$2(change)>=oldStartLine}));if(-1===changeIndex)return null;var startIndex=function(){if(0===changeIndex)return changeIndex;var nearestHeadingNocmalChangeIndex=findLastIndex_1(changes,(function(change){return!isInsert(change)}),changeIndex-1);return-1===nearestHeadingNocmalChangeIndex?changeIndex:nearestHeadingNocmalChangeIndex+1}();if(void 0===oldEndLine)return createHunkFromChanges(changes.slice(startIndex));var endIndex=findLastIndex_1(changes,(function(change){return computeOldLineNumber$2(change)<=oldEndLine}));return createHunkFromChanges(changes.slice(startIndex,-1===endIndex?void 0:endIndex))}function mergeHunk(previousHunk,nextHunk){if(!previousHunk)return nextHunk;if(!nextHunk)return previousHunk;var _getOldRangeFromHunk2=_slicedToArray(getOldRangeFromHunk(previousHunk),2),previousStart=_getOldRangeFromHunk2[0],previousEnd=_getOldRangeFromHunk2[1],_getOldRangeFromHunk4=_slicedToArray(getOldRangeFromHunk(nextHunk),2),nextStart=_getOldRangeFromHunk4[0],nextEnd=_getOldRangeFromHunk4[1];if(previousEnd+1===nextStart)return createHunkFromChanges([].concat(_toConsumableArray(previousHunk.changes),_toConsumableArray(nextHunk.changes)));if(previousStart<=nextStart&&previousEnd>=nextEnd){if(previousHunk.isPlain&&!nextHunk.isPlain){var head=sliceHunk(previousHunk,previousStart,nextStart),_tail=sliceHunk(previousHunk,nextEnd+1);return mergeHunk(mergeHunk(head,nextHunk),_tail)}return previousHunk}return previousHunk.isPlain?mergeHunk(sliceHunk(previousHunk,previousStart,nextStart),nextHunk):mergeHunk(previousHunk,sliceHunk(nextHunk,previousEnd+1))}function appendOrMergeHunk(hunks,nextHunk){var lastHunk=last$1(hunks);if(!lastHunk)return[nextHunk];if(lastHunk.oldStart+lastHunk.oldLines<nextHunk.oldStart)return hunks.concat(nextHunk);var mergedHunk=mergeHunk(lastHunk,nextHunk);return mergedHunk?[].concat(_toConsumableArray(hunks.slice(0,-1)),[mergedHunk]):hunks}function insertHunk(hunks,insertion){var insertionOldLineNumber=computeOldLineNumber$2(insertion.changes[0]),insertPosition=hunks.findIndex((function(_ref3){var changes=_ref3.changes;return!!changes.length&&computeOldLineNumber$2(changes[0])>=insertionOldLineNumber}));return(-1===insertPosition?hunks.concat(insertion):[].concat(_toConsumableArray(hunks.slice(0,insertPosition)),[insertion],_toConsumableArray(hunks.slice(insertPosition)))).reduce(appendOrMergeHunk,[])}function getChangeKey(change){if(!change)throw new Error("change is not provided");if(isNormal(change))return"N".concat(change.oldLineNumber);var prefix=isInsert(change)?"I":"D";return"".concat(prefix).concat(change.lineNumber)}var getCorrespondingNewLineNumber$1=getCorrespondingLineNumberFactory("old"),computeOldLineNumber$1=computeLineNumberFactory("old"),isOldLineNumberInHunk=isInHunkFactory("oldStart","oldLines"),isOldLineNumberBetweenHunks=isBetweenHunksFactory("oldStart","oldLines");function splitRangeToValidOnes(hunks,start,end){var correspondingHunkIndex=function(hunks,oldLineNumber){if(!hunks.length)return-1;var firstHunk=first(hunks);if(oldLineNumber<firstHunk.oldStart||isOldLineNumberInHunk(firstHunk,oldLineNumber))return 0;for(var i=1;i<hunks.length;i++){var currentHunk=hunks[i];if(isOldLineNumberInHunk(currentHunk,oldLineNumber))return i;var previousHunk=hunks[i-1];if(isOldLineNumberBetweenHunks(previousHunk,currentHunk,oldLineNumber))return i}return-1}(hunks,start);if(-1===correspondingHunkIndex)return[[start,end]];var correspondingHunk=hunks[correspondingHunkIndex];if(start<correspondingHunk.oldStart){var headingChangesCount=correspondingHunk.changes.findIndex((function(change){return!isNormal(change)})),_validEnd=correspondingHunk.oldStart+Math.max(headingChangesCount,0);return _validEnd>=end?[[start,end]]:[[start,_validEnd]].concat(_toConsumableArray(splitRangeToValidOnes(hunks,_validEnd+1,end)))}var changes=correspondingHunk.changes,nearestNormalChangeIndex=function(_ref,start){var changes=_ref.changes,index=changes.findIndex((function(change){return computeOldLineNumber$1(change)===start}));if(index<0)return-1;for(var i=index;i<changes.length;i++)if(isNormal(changes[i]))return i;return-1}(correspondingHunk,start);if(-1===nearestNormalChangeIndex)return[];var validStartChange=changes[nearestNormalChangeIndex],validStart=computeOldLineNumber$1(validStartChange),adjacentChangesCount=changes.slice(nearestNormalChangeIndex+1).findIndex((function(change){return!isNormal(change)})),validEnd=computeOldLineNumber$1(validStartChange)+Math.max(adjacentChangesCount,0);return validEnd>=end?[[validStart,end]]:[[validStart,validEnd]].concat(_toConsumableArray(splitRangeToValidOnes(hunks,validEnd+1,end)))}function expandFromRawCode(hunks,source,start,end){return splitRangeToValidOnes(hunks,start,end).reduce((function(hunks,range){return function(hunks,source,_ref2){var _ref3=_slicedToArray(_ref2,2),start=_ref3[0],end=_ref3[1],slicedLines=("string"==typeof source?source.split("\n"):source).slice(Math.max(start,1)-1,end-1);if(!slicedLines.length)return hunks;var slicedHunk=textLinesToHunk(slicedLines,start,getCorrespondingNewLineNumber$1(hunks,start));return slicedHunk?insertHunk(hunks,slicedHunk):hunks}(hunks,source,range)}),hunks)}function getCollapsedLinesCountBetween(previousHunk,nextHunk){if(!previousHunk)return nextHunk.oldStart-1;var previousEnd=previousHunk.oldStart+previousHunk.oldLines;return nextHunk.oldStart-previousEnd}function expandCollapsedBlockBy(hunks,source,predicate){var linesOfCode="string"==typeof source?source.split("\n"):source,firstHunk=first(hunks),initialExpandingBlocks=predicate(firstHunk.oldStart-1,1,1)?[[1,firstHunk.oldStart]]:[],expandingBlocks=hunks.reduce((function(expandingBlocks,currentHunk,index,hunks){var nextHunk=hunks[index+1],oldStart=currentHunk.oldStart+currentHunk.oldLines,newStart=currentHunk.newStart+currentHunk.newLines,lines=nextHunk?getCollapsedLinesCountBetween(currentHunk,nextHunk):linesOfCode.length-oldStart+1;return predicate(lines,oldStart,newStart)&&expandingBlocks.push([oldStart,oldStart+lines]),expandingBlocks}),initialExpandingBlocks);return expandingBlocks.reduce((function(hunks,_ref4){var _ref5=_slicedToArray(_ref4,2),start=_ref5[0],end=_ref5[1];return expandFromRawCode(hunks,linesOfCode,start,end)}),hunks)}var computeOldLineNumber=computeLineNumberFactory("old"),computeNewLineNumber=computeLineNumberFactory("new"),findChangeByOldLineNumber=findChangeByLineNumberFactory("old"),findChangeByNewLineNumber=findChangeByLineNumberFactory("new"),getCorrespondingOldLineNumber=getCorrespondingLineNumberFactory("new"),getCorrespondingNewLineNumber=getCorrespondingLineNumberFactory("old"),_defineProperty=function(){try{var func=_getNative(Object,"defineProperty");return func({},"",{}),func}catch(e){}}();var _baseAssignValue=function(object,key,value){"__proto__"==key&&_defineProperty?_defineProperty(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value};var _createBaseFor=function(fromRight){return function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[fromRight?length:++index];if(!1===iteratee(iterable[key],key,iterable))break}return object}},_baseFor=_createBaseFor();var _baseForOwn=function(object,iteratee){return object&&_baseFor(object,iteratee,keys_1)};var mapValues_1=function(object,iteratee){var result={};return iteratee=_baseIteratee(iteratee),_baseForOwn(object,(function(value,key,object){_baseAssignValue(result,key,iteratee(value,key,object))})),result},_exclude