/*!
 * jQuery insertAtCaret 1.2.3
 * http://www.karalamalar.net/
 *
 * Copyright (c) 2023 Emre Erkan
 * Licensed under GPLv2 or later.
 * http://www.gnu.org/licenses/gpl-2.0.txt
 *
 * Contributors:
 * [@kittsville](https://github.com/kittsville)
 * [@Nils-Berghs](https://github.com/Nils-Berghs)
 *
 */
!(function($,c,d,e){$.fn.insertAtCaret=function(b){return this.each(function(){var a=this,scrollPos,strPosStart=0,strPosEnd=0,isModernBrowser=("selectionStart"in a&&"selectionEnd"in a),before,after,range,selection;if(!((a.tagName&&a.tagName.toLowerCase()==="textarea")||(a.tagName&&a.tagName.toLowerCase()==="input"&&a.type.toLowerCase()==="text"))){if(a.contentEditable){a.focus();selection=c.getSelection();if(selection.getRangeAt&&selection.rangeCount){range=selection.getRangeAt(0);range.deleteContents();range.insertNode(c.createTextNode(b));selection.collapseToEnd()}}return}scrollPos=a.scrollTop;a.focus();if(isModernBrowser){strPosStart=a.selectionStart;strPosEnd=a.selectionEnd}else{range=a.createTextRange();range.moveStart('character',-a.value.length);strPosStart=range.text.length}if(strPosEnd<strPosStart){strPosEnd=strPosStart}before=(a.value).substring(0,strPosStart);after=(a.value).substring(strPosEnd,a.value.length);a.value=before+b+after;strPosStart=strPosStart+b.length;if(isModernBrowser){a.setSelectionRange(strPosStart,strPosStart)}else{range=a.createTextRange();range.move('character',strPosStart);range.select()}a.scrollTop=scrollPos;a.blur()})}})(jQuery,document,window);