sceditor.plugins.undo=function(){var e,t,n,o,r=this,i="",a=0,s=!1,c=!1,d=!1,u=50,l=[],g=0;function f(e){if(c=!0,t.sourceMode(e.sourceMode),e.sourceMode)t.val(e.value,!1),t.sourceEditorCaret(e.caret);else if(t.getBody().innerHTML=e.value,e.caret){var o=t.getRangeHelper().selectedRange(),r=o;e=e.caret;try{var i=e.startPositions,a=e.endPositions;r.setStart(S(n,i),i[0]),r.setEnd(S(n,a),a[0])}catch(e){console&&console.warn&&console.warn("[SCEditor] Undo plugin lost caret",e)}t.getRangeHelper().selectRange(o)}t.focus(),c=!1}function p(e,n){var r=e[n];e[n]=function(){var e=s;!e&&!c&&o&&t.getRangeHelper().hasSelection()&&h(),s=!0,r.apply(this,arguments),e||(s=!1,c)||(v(),i="")}}function v(){g&&(l.length-=g,g=0),0{if(e)return n.normalize(),{startPositions:y(e.startContainer,e.startOffset),endPositions:y(e.endContainer,e.endOffset)}})(t.getRangeHelper().selectedRange()),o.sourceMode=e,o.value=e?t.getSourceEditorValue(!1):t.getBody().innerHTML}function E(){e===document.activeElement&&r.signalSelectionchangedEvent()}function y(e,t){for(var n=[t],o=e;o&&"BODY"!==o.tagName;)n.push((e=>{for(var t=0;e=e.previousSibling;)t++;return t})(o)),o=o.parentNode;return n}function S(e,t){for(var n=t.length-1;e&&0