diff --git a/client/dist/assets/lib/svgeditor/fuxa-editor.min.js b/client/dist/assets/lib/svgeditor/fuxa-editor.min.js index 1d724538c..81aac80a8 100644 --- a/client/dist/assets/lib/svgeditor/fuxa-editor.min.js +++ b/client/dist/assets/lib/svgeditor/fuxa-editor.min.js @@ -14,10 +14,10 @@ var myselect=function(){"use strict";return{initSelect:function(){var e,t,r;svge var mydraw=function(){"use strict";return{initDraw:function(){svgedit.draw||(svgedit.draw={});var e=svgedit.NS,t="a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use".split(","),r={LET_DOCUMENT_DECIDE:0,ALWAYS_RANDOMIZE:1,NEVER_RANDOMIZE:2},i=r.LET_DOCUMENT_DECIDE;svgedit.draw.Layer=function(e,t){this.name_=e,this.group_=t},svgedit.draw.Layer.prototype.getName=function(){return this.name_},svgedit.draw.Layer.prototype.getGroup=function(){return this.group_},svgedit.draw.randomizeIds=function(e,t){i=!1===e?r.NEVER_RANDOMIZE:r.ALWAYS_RANDOMIZE,i!=r.ALWAYS_RANDOMIZE||t.getNonce()?i==r.NEVER_RANDOMIZE&&t.getNonce()&&t.clearNonce():t.setNonce(Math.floor(100001*Math.random()))},svgedit.draw.Drawing=function(t,n){if(!t||!t.tagName||!t.namespaceURI||"svg"!=t.tagName||t.namespaceURI!=e.SVG)throw"Error: draw.Drawing instance initialized without a element";this.svgElem_=t,this.obj_num=0,this.idPrefix=n||"svg_",this.releasedNums=[],this.all_layers=[],this.current_layer=null,this.nonce_="";var a=this.svgElem_.getAttributeNS(e.SE,"nonce");a&&i!=r.NEVER_RANDOMIZE?this.nonce_=a:i==r.ALWAYS_RANDOMIZE&&this.setNonce(Math.floor(100001*Math.random()))},svgedit.draw.Drawing.prototype.getElem_=function(e){return this.svgElem_.querySelector?this.svgElem_.querySelector("#"+e):$(this.svgElem_).find("[id="+e+"]")[0]},svgedit.draw.Drawing.prototype.getSvgElem=function(){return this.svgElem_},svgedit.draw.Drawing.prototype.getNonce=function(){return this.nonce_},svgedit.draw.Drawing.prototype.setNonce=function(t){this.svgElem_.setAttributeNS(e.XMLNS,"xmlns:se",e.SE),this.svgElem_.setAttributeNS(e.SE,"se:nonce",t),this.nonce_=t},svgedit.draw.Drawing.prototype.clearNonce=function(){this.nonce_=""},svgedit.draw.Drawing.prototype.getId=function(){return this.nonce_?this.idPrefix+this.nonce_+"_"+this.obj_num:this.idPrefix+this.obj_num},svgedit.draw.Drawing.prototype.getNextId=function(){var e,t,r="";for(e=0;e<16;e++)t=16*Math.random()|0,8==e&&(r+="-"),r+=(12==e?4:16==e?3&t|8:t).toString(16);this.obj_num=r;var i=this.getId();return i},svgedit.draw.Drawing.prototype.releaseId=function(e){var t=this.idPrefix+(this.nonce_?this.nonce_+"_":"");if("string"!=typeof e||0!==e.indexOf(t))return!1;var r=parseInt(e.substr(t.length),10);return!("number"!=typeof r||r<=0||-1!=this.releasedNums.indexOf(r))&&(this.releasedNums.push(r),!0)},svgedit.draw.Drawing.prototype.getNumLayers=function(){return this.all_layers.length},svgedit.draw.Drawing.prototype.hasLayer=function(e){var t;for(t=0;t=0&&e1){var e=this.current_layer.parentNode,t=(this.current_layer.nextSibling,e.removeChild(this.current_layer));return this.identifyLayers(),t}return null},svgedit.draw.Drawing.prototype.identifyLayers=function(){this.all_layers=[];var r,i=this.svgElem_.childNodes.length,n=[],a=[],s=null,o=!1;for(r=0;r0||!o){for(r=1;a.indexOf("Layer "+r)>=0;)r++;var d="Layer "+r;s=g.createElementNS(e.SVG,"g");var y,h=g.createElementNS(e.SVG,"title");for(h.textContent=d,s.appendChild(h),y=0;y1))for(r=0;r0?(a=o element";this.elem=n;this.segs=[];this.selected_pts=[];svgedit.path.path=this;this.init()};svgedit.path.Path.prototype.init=function(){var o,e,n,h,s,i,u;for($(svgedit.path.getGripContainer()).find("*").each(function(){$(this).attr("display","none")}),o=this.elem.pathSegList,e=o.numberOfItems,this.segs=[],this.selected_pts=[],this.first_seg=null,n=0;n=e?null:i[n+1],c=n-1<0?null:i[n-1],r;t.type===2?(c&&c.type!==1&&(r=i[u],r.next=i[u+1],r.next.prev=r,r.addGrip()),u=n):f&&f.type===1?(t.next=i[u+1],t.next.prev=t,t.mate=i[u],t.addGrip(),this.first_seg==null&&(this.first_seg=t)):f?t.type!==1&&(t.addGrip(),f&&f.type!==2&&(t.next=f,t.next.prev=t)):t.type!==1&&(r=i[u],r.next=i[u+1],r.next.prev=r,r.addGrip(),t.addGrip(),this.first_seg||(this.first_seg=i[u]))}return this};svgedit.path.Path.prototype.eachSeg=function(n){for(var r=this.segs.length,i,t=0;t")[0].getContext("2d")||(t.text=X.exportNoText),$.each(t,function(t,r){i.find(t).length&&e.push(r)}),e}function r(e,t){var i,r=svgedit.utilities.getBBox(e);for(i=0;i<2;i++){var n=0===i?"fill":"stroke",a=e.getAttribute(n);if(a&&0===a.indexOf("url(")){var s=svgedit.utilities.getRefElem(a);if("linearGradient"===s.tagName){var o=s.getAttribute("x1")||0,l=s.getAttribute("y1")||0,d=s.getAttribute("x2")||1,u=s.getAttribute("y2")||0;o=r.width*o+r.x,l=r.height*l+r.y,d=r.width*d+r.x,u=r.height*u+r.y;var g=svgedit.math.transformPoint(o,l,t),h=svgedit.math.transformPoint(d,u,t),m={};m.x1=(g.x-r.x)/r.width,m.y1=(g.y-r.y)/r.height,m.x2=(h.x-r.x)/r.width,m.y2=(h.y-r.y)/r.height;var c=s.cloneNode(!0);$(c).attr(m),c.id=ue(),svgedit.utilities.findDefs().appendChild(c),e.setAttribute(n,"url(#"+c.id+")")}}}}var n=svgedit.NS,a={show_outside_canvas:!0,selectNew:!0,dimensions:[640,480]};t&&$.extend(a,t);var s=a.dimensions,o=this,l=[],d=e.ownerDocument,u=d.importNode(svgedit.utilities.text2xml('').documentElement,!0);e.appendChild(u);var g=d.createElementNS(n.SVG,"svg"),h=o.clearSvgContentElement=function(){for(;g.firstChild;)g.removeChild(g.firstChild);$(g).attr({id:"svgcontent",width:s[0],height:s[1],x:s[0],y:s[1],overflow:a.show_outside_canvas?"visible":"hidden",xmlns:n.SVG,"xmlns:se":n.SE,"xmlns:xlink":n.XLINK}).appendTo(u);var e=d.createComment(" Created with wux-editor ");g.appendChild(e)};h();var m="svg_";o.setIdPrefix=function(e){m=e},o.current_drawing_=new svgedit.draw.Drawing(g,m);var c=o.getCurrentDrawing=function(){return o.current_drawing_},v=1,f=null,p={shape:{fill:("none"==a.initFill.color?"":"#")+a.initFill.color,fill_paint:null,fill_opacity:a.initFill.opacity,stroke:"#"+a.initStroke.color,stroke_paint:null,stroke_opacity:a.initStroke.opacity,stroke_width:a.initStroke.width,stroke_dasharray:"none",stroke_linejoin:"miter",stroke_linecap:"butt",opacity:a.initOpacity}};p.text=$.extend(!0,{},p.shape),$.extend(p.text,{fill:"#000000",stroke_width:0,font_size:14,font_family:"sans-serif",text_anchor:"middle"});var b=p.shape,S=new Array(1),C=this.addSvgElementFromJson=function(e){var t=svgedit.utilities.getElem(e.attr.id),i=c().getCurrentLayer();return t&&e.element!=t.tagName&&(i.removeChild(t),t=null),t||(t=d.createElementNS(n.SVG,e.element),i&&(f||i).appendChild(t)),e.curStyles&&svgedit.utilities.assignAttributes(t,{fill:b.fill,stroke:b.stroke,"stroke-width":b.stroke_width,"stroke-dasharray":b.stroke_dasharray,"stroke-linejoin":b.stroke_linejoin,"stroke-linecap":b.stroke_linecap,"stroke-opacity":b.stroke_opacity,"fill-opacity":b.fill_opacity,opacity:b.opacity/2,style:"pointer-events:inherit"},100),svgedit.utilities.assignAttributes(t,e.attr,100),svgedit.utilities.cleanupElement(t),t},w=this.addSvgGroupFromJson=function(e){var t=svgedit.utilities.getElem(e.id),i=c().getCurrentLayer();t&&e.group!=t.tagName&&(i.removeChild(t),t=null),t||(t=d.createElementNS(n.SVG,e.group),t.setAttribute("id",e.id),t.setAttribute("type",e.type),i&&(f||i).appendChild(t));for(var r=0;r=0)t=r=o.convertToPath(e,!0);else if("rect"==e.tagName){var s=e.getAttribute("rx"),l=e.getAttribute("ry");(s||l)&&(t=r=o.convertToPath(e,!0))}if(!r){var d=e.cloneNode(!0),u=document.createElementNS(n.SVG,"g"),g=e.parentNode;g.appendChild(u),u.appendChild(d),t=svgedit.utilities.bboxToObj(u.getBBox()),g.removeChild(u)}}return t}catch(t){return console.log(e,t),null}};if($.each(e,function(){t||this.parentNode&&(t=i(this))}),null==t)return null;var r=t.x+t.width,a=t.y+t.height,s=t.x,l=t.y,d=function(e){var t=e.getAttribute("stroke-width"),i=0;return"none"==e.getAttribute("stroke")||isNaN(t)||(i+=t/2),i},u=[];return $.each(e,function(e,t){var r=i(t);if(r){var n=d(t);s=Math.min(s,r.x-n),l=Math.min(l,r.y-n),u.push(r)}}),t.x=s,t.y=l,$.each(e,function(e,t){var i=u[e];if(i&&1==t.nodeType){var n=d(t);r=Math.max(r,i.x+i.width+n),a=Math.max(a,i.y+i.height+n)}}),t.width=r-s,t.height=a-l,t};var de,ue,ge,he,me,ce,ve=this.getVisibleElements=function(e){e||(e=$(g).children());var t=[];return $(e).children().each(function(e,i){try{i.getBBox()&&t.push(i)}catch(e){}}),t.reverse()},fe=this.getVisibleElementsAndBBoxes=function(e){e||(e=$(g).children());var t=[];return $(e).children().each(function(e,i){try{i.getBBox()&&t.push({elem:i,bbox:getStrokedBBox([i])})}catch(e){}}),t.reverse()},pe=this.groupSvgElem=function(e){var t=document.createElementNS(n.SVG,"g");e.parentNode.replaceChild(t,e),$(t).append(e).data("gsvg",e)[0].id=ue()},ye=function(e){var t=document.createElementNS(e.namespaceURI,e.nodeName),i=e.parentNode;(i&&"foreignObject"===i.nodeName||i.parentNode&&"foreignObject"===i.parentNode.nodeName)&&(t=document.createElement(e.nodeName),t.tagName=t.tagName.toLowerCase()),$.each(e.attributes,function(e,i){"-moz-math-font-style"!=i.localName&&(t.setAttribute(i.nodeName,i.value),"image"!=t.tagName&&"use"!=t.tagName||"xlink:"!==i.nodeName.substr(0,6)||t.setAttributeNS(n.XLINK,"xlink:href",i.value))});var r=t.getAttribute("id");if(r){var a=r.slice(0,1+r.indexOf("_"));t.removeAttribute("id"),t.id=ue(),a!==m&&(t.id=t.id.replace(m,a))}if(svgedit.browser.isWebkit()&&"path"==e.nodeName){var s=he.convertPath(e);t.setAttribute("d",s)}if($.each(e.childNodes,function(e,i){switch(i.nodeType){case 1:t.appendChild(ye(i));break;case 3:t.textContent=i.nodeValue}}),$(e).data("gsvg"))$(t).data("gsvg",t.firstChild);else if($(e).data("symbol")){var o=$(e).data("symbol");$(t).data("ref",o).data("symbol",o)}else"image"==t.tagName&&Ee(t);return t};me=o,ce={},de=me.getId=function(){return c().getId()},ue=me.getNextId=function(){return c().getNextId()},D=me.call=function(e,t){if(ce[e])return ce[e](this,t)},me.bind=function(e,t){var i=ce[e];return ce[e]=t,i},this.prepareSvg=function(e){this.sanitizeSvg(e.documentElement);var t,i,r,a=e.getElementsByTagNameNS(n.SVG,"path");for(t=0,r=a.length;t0){var l=o.getItem(0);4==l.type&&o.removeItem(0)}if(0!=e){var d=svgedit.math.transformPoint(a,s,svgedit.math.transformListToTransform(o).matrix),g=u.createSVGTransform();g.setRotate(e,d.x,d.y),o.numberOfItems?o.insertItemBefore(g,0):o.appendItem(g)}else 0==o.numberOfItems&&i.removeAttribute("transform");if(!t&&-1===i.innerHTML.indexOf("foreignObject")){var h=i.getAttribute("transform");r&&i.setAttribute("transform",r),h&&ze("transform",h,S),D("changed",S)}var m=K.requestSelector(S[0]);be(),m.resize(),m.updateGripCursors(e)}};var be=this.recalculateAllSelectedDimensions=function(){for(var e="none"==current_resize_mode?"position":"size",t=new svgedit.history.BatchCommand(e),i=S.length;i--;){var r=S[i],n=svgedit.recalculate.recalculateDimensions(r);n&&t.addSubCommand(n)}t.isEmpty()||(W(t),D("changed",S))},Se=[0,"z","M","m","L","l","C","c","Q","q","A","a","H","h","V","v","S","s","T","t"],Ce=function(e){console.log([e.a,e.b,e.c,e.d,e.e,e.f])},we=null,_e=this.clearSelection=function(e){if(null!=S[0]){var t,i,r=S.length;for(t=0;t1&&a.showGrips(!1)}}for(D("selected",S),t||1==S.length?S[0]&&K.requestSelector(S[0]).showGrips(!0):S[0]&&K.requestSelector(S[0]).showGrips(!1),S.sort(function(e,t){return e&&t&&e.compareDocumentPosition?3-(6&t.compareDocumentPosition(e)):null==e?1:void 0});null==S[0]&&S.length;)S.shift(0)}},Ae=this.selectOnly=function(e,t){_e(!0),Ne(e,t)};this.removeFromSelection=function(e){if(null!=S[0]&&0!=e.length){var t,i=0,r=[],n=S.length;for(r.length=n,t=0;t=0&&"svgcanvas"!=i.id)for(;"foreignObject"!=i.nodeName;)if(i=i.parentNode,!i)return u;var r=c().getCurrentLayer();if([u,e,g,r].indexOf(i)>=0)return u;var a=$(i);if(a.closest("#selectorParentGroup").length)return K.selectorParentGroup;for(;i.parentNode!==(f||r);)i=i.parentNode;return i};(function(){var t,i,r=null,n=null,s=null,l=null,d=null,g={},h={minx:null,miny:null,maxx:null,maxy:null},m=0,p={x:0,y:0},w={x:0,y:0},_={x:0,y:0},N={x:0,y:0},A={x:0,y:0},k={x:0,y:0},E=.8,B=10,T=function(e){var t={x:0,y:0},i=p,r=w,n=_,a=N,s=1/6,o=e*e,l=o*e,d=[[-1,3,-3,1],[3,-6,3,0],[-3,0,3,0],[1,4,1,0]];return t.x=s*((i.x*d[0][0]+r.x*d[0][1]+n.x*d[0][2]+a.x*d[0][3])*l+(i.x*d[1][0]+r.x*d[1][1]+n.x*d[1][2]+a.x*d[1][3])*o+(i.x*d[2][0]+r.x*d[2][1]+n.x*d[2][2]+a.x*d[2][3])*e+(i.x*d[3][0]+r.x*d[3][1]+n.x*d[3][2]+a.x*d[3][3])),t.y=s*((i.y*d[0][0]+r.y*d[0][1]+n.y*d[0][2]+a.y*d[0][3])*l+(i.y*d[1][0]+r.y*d[1][1]+n.y*d[1][2]+a.y*d[1][3])*o+(i.y*d[2][0]+r.y*d[2][1]+n.y*d[2][2]+a.y*d[2][3])*e+(i.y*d[3][0]+r.y*d[3][1]+n.y*d[3][2]+a.y*d[3][3])),{x:t.x,y:t.y}},G=function(e){if(!o.spaceKey&&1!==e.button){var t=2===e.button;we=$("#svgcontent g")[0].getScreenCTM().inverse();var i=svgedit.math.transformPoint(e.pageX,e.pageY,we),m=i.x*v,c=i.y*v;e.preventDefault(),t&&(current_mode="select",lastClickPoint=i);var f=m/v,p=c/v,y=ke(e);"a"===y.tagName&&1===y.childNodes.length&&(y=y.firstChild);var x=f;l=n=f;var w=p;if(d=s=p,a.gridSnapping&&(f=svgedit.utilities.snapToGrid(f),p=svgedit.utilities.snapToGrid(p),n=svgedit.utilities.snapToGrid(n),s=svgedit.utilities.snapToGrid(s)),y==K.selectorParentGroup&&null!=S[0]){var N=e.target,A=J(N,"type");"rotate"==A?current_mode="rotate":"resize"==A&&(current_mode="resize",current_resize_mode=J(N,"dir")),y=S[0]}startTransform=y.getAttribute("transform");var k,E,B=svgedit.transformlist.getTransformList(y);switch(current_mode){case"select":if(started=!0,current_resize_mode="none",t&&(started=!1),y!=u){if(-1==S.indexOf(y)&&(e.shiftKey||_e(!0),Ne([y]),justSelected=y,he.clear()),!t)for(k=0;k0&&o.removeFromSelection(X),Y.length>0&&Ne(Y);break;case"resize":H=svgedit.transformlist.getTransformList(V);var Q=svgedit.math.hasMatrixTransform(H);O=Q?g:svgedit.utilities.getBBox(V);var ee=O.x,te=O.y,ie=O.width,ne=O.height;if(G=x-n,M=y-s,a.gridSnapping&&(G=svgedit.utilities.snapToGrid(G),M=svgedit.utilities.snapToGrid(M),ne=svgedit.utilities.snapToGrid(ne),ie=svgedit.utilities.snapToGrid(ie)),P=svgedit.utilities.getRotationAngle(V),P){var ae=Math.sqrt(G*G+M*M),se=Math.atan2(M,G)-P*Math.PI/180;G=ae*Math.cos(se),M=ae*Math.sin(se)}-1==current_resize_mode.indexOf("n")&&-1==current_resize_mode.indexOf("s")&&(M=0),-1==current_resize_mode.indexOf("e")&&-1==current_resize_mode.indexOf("w")&&(G=0);var oe=0,ue=0,me=ne?(ne+M)/ne:1,ce=ie?(ie+G)/ie:1;current_resize_mode.indexOf("n")>=0&&(me=ne?(ne-M)/ne:1,ue=ne),current_resize_mode.indexOf("w")>=0&&(ce=ie?(ie-G)/ie:1,oe=ie);var ve=u.createSVGTransform(),fe=u.createSVGTransform(),pe=u.createSVGTransform();if(a.gridSnapping&&(ee=svgedit.utilities.snapToGrid(ee),oe=svgedit.utilities.snapToGrid(oe),te=svgedit.utilities.snapToGrid(te),ue=svgedit.utilities.snapToGrid(ue)),ve.setTranslate(-(ee+oe),-(te+ue)),e.shiftKey&&(1==ce?ce=me:me=ce),fe.setScale(ce,me),pe.setTranslate(ee+oe,te+ue),Q){var ye=P?1:0;H.replaceItem(ve,2+ye),H.replaceItem(fe,1+ye),H.replaceItem(pe,Number(ye))}else{var xe=H.numberOfItems;H.replaceItem(pe,xe-3),H.replaceItem(fe,xe-2),H.replaceItem(ve,xe-1)}K.requestSelector(V).resize(),D("transition",S);break;case"zoom":j*=v,q*=v,svgedit.utilities.assignAttributes(rubberBox,{x:Math.min(l*v,j),y:Math.min(d*v,q),width:Math.abs(j-l*v),height:Math.abs(q-d*v)},100);break;case"text":svgedit.utilities.assignAttributes(F,{x:x,y:y},1e3);break;case"line":var be=null;window.opera||u.suspendRedraw(1e3),a.gridSnapping&&(x=svgedit.utilities.snapToGrid(x),y=svgedit.utilities.snapToGrid(y));var Se=x,Ce=y;e.shiftKey&&(f=svgedit.math.snapToAngle(n,s,Se,Ce),Se=f.x,Ce=f.y),F.setAttributeNS(null,"x2",Se),F.setAttributeNS(null,"y2",Ce),window.opera||u.unsuspendRedraw(be);break;case"foreignObject":case"square":case"rect":case"image":var _e,Ae,ke="square"==current_mode||e.shiftKey,Ee=Math.abs(x-n),Be=Math.abs(y-s);ke?(Ee=Be=Math.max(Ee,Be),_e=nE&&(r+=+A.x+","+A.y+" ",F.setAttributeNS(null,"points",r),m-=E);p={x:w.x,y:w.y},w={x:_.x,y:_.y},_={x:N.x,y:N.y};break;case"pipe":case"path":case"pathedit":if(x*=v,y*=v,a.gridSnapping&&(x=svgedit.utilities.snapToGrid(x),y=svgedit.utilities.snapToGrid(y),n=svgedit.utilities.snapToGrid(n),s=svgedit.utilities.snapToGrid(s)),e.shiftKey){var Ge,Me,Le=svgedit.path.path;Le?(Ge=Le.dragging?Le.dragging[0]:n,Me=Le.dragging?Le.dragging[1]:s):(Ge=n,Me=s),f=svgedit.math.snapToAngle(Ge,Me,x,y),x=f.x,y=f.y}rubberBox&&"none"!==rubberBox.getAttribute("display")&&(j*=v,q*=v,svgedit.utilities.assignAttributes(rubberBox,{x:Math.min(l*v,j),y:Math.min(d*v,q),width:Math.abs(j-l*v),height:Math.abs(q-d*v)},100)),he.mouseMove(x,y);break;case"textedit":x*=v,y*=v,ge.mouseMove(U,z);break;case"rotate":O=svgedit.utilities.getBBox(V),C=O.x+O.width/2,I=O.y+O.height/2;var $e=svgedit.math.getMatrix(V),Pe=svgedit.math.transformPoint(C,I,$e);if(C=Pe.x,I=Pe.y,P=(Math.atan2(I-y,C-x)*(180/Math.PI)-90)%360,a.gridSnapping&&(P=svgedit.utilities.snapToGrid(P)),e.shiftKey){var Oe=45;P=Math.round(P/Oe)*Oe}o.setRotationAngle(P<-180?360+P:P,!0),D("transition",S)}re("mouseMove",{event:e,mouse_x:U,mouse_y:z,selected:V})}},L=function(e){if(2!==e.button){var t=justSelected;if(justSelected=null,started){var i,r,u=svgedit.math.transformPoint(e.pageX,e.pageY,we),g=u.x*v,f=u.y*v,y=g/v,x=f/v,A=svgedit.utilities.getElem(de()),k=!1,E=y,B=x,T=!1;switch(started=!1,current_mode){case"resize":case"multiselect":null!=rubberBox&&(rubberBox.setAttribute("display","none"),curBBoxes=[]),current_mode="select";case"select":if(null!=S[0]){if(null==S[1]){var I=S[0];switch(I.tagName){case"g":case"use":case"image":case"foreignObject":break;default:var G=I.getAttribute("type");"svg-ext-pipe"!=G&&(cur_properties.fill=I.getAttribute("fill"),cur_properties.fill_opacity=I.getAttribute("fill-opacity"),cur_properties.stroke=I.getAttribute("stroke"),cur_properties.stroke_opacity=I.getAttribute("stroke-opacity"),cur_properties.stroke_width=I.getAttribute("stroke-width"),cur_properties.stroke_dasharray=I.getAttribute("stroke-dasharray"),cur_properties.stroke_linejoin=I.getAttribute("stroke-linejoin"),cur_properties.stroke_linecap=I.getAttribute("stroke-linecap"))}"text"==I.tagName&&(cur_text.font_size=I.getAttribute("font-size"),cur_text.font_family=I.getAttribute("font-family"),cur_text.text_anchor=I.getAttribute("text-anchor")),K.requestSelector(I).showGrips(!0)}if(be(),E!=l||B!=d){var M,L=S.length;for(M=0;M=0?U.indexOf(",",z+1)>=0:U.indexOf(" ",U.indexOf(" ")+1)>=0,k&&(A=he.smoothPolylineIntoPath(A));break;case"line":i=$(A).attr(["x1","x2","y1","y2"]),k=i.x1!=i.x2||i.y1!=i.y2;break;case"foreignObject":case"square":case"rect":case"image":case"svg-image":i=$(A).attr(["width","height"]),k=0!=i.width||0!=i.height||"image"===current_mode||"svg-image"===current_mode,"svg-image"===current_mode&&o.importSvgString(last_good_img_content,{x:n,y:s});break;case"circle":k=0!=A.getAttribute("r");break;case"ellipse":i=$(A).attr(["rx","ry"]),k=null!=i.rx||null!=i.ry;break;case"fhellipse":h.maxx-h.minx>0&&h.maxy-h.miny>0&&(A=C({element:"ellipse",curStyles:!0,attr:{cx:(h.minx+h.maxx)/2,cy:(h.miny+h.maxy)/2,rx:(h.maxx-h.minx)/2,ry:(h.maxy-h.miny)/2,id:de()}}),D("changed",[A]),k=!0);break;case"fhrect":h.maxx-h.minx>0&&h.maxy-h.miny>0&&(A=C({element:"rect",curStyles:!0,attr:{x:h.minx,y:h.miny,width:h.maxx-h.minx,height:h.maxy-h.miny,id:de()}}),D("changed",[A]),k=!0);break;case"text":k=!0,Ae([A]),ge.start(A);break;case"pipe":case"path":A=null,started=!0;var F=he.mouseUp(e,A,g,f);A=F.element,k=F.keep;break;case"pathedit":k=!0,A=null,he.mouseUp(e);break;case"textedit":k=!1,A=null,ge.mouseUp(e,g,f);break;case"rotate":k=!0,A=null,current_mode="select";var j=o.undoMgr.finishUndoableChange();j.isEmpty()||W(j),be(),D("changed",S)}V=re("mouseUp",{event:e,mouse_x:g,mouse_y:f},!0);if($.each(V,function(e,t){t&&(k=t.keep||k,A=t.element,started=t.started||started)}),k||null==A){if(null!=A){o.addedNew=!0,T&&svgedit.units.convertAttrs(A);var H,q=.2;if(Q.beginElement&&A.getAttribute("opacity")!=b.opacity){H=$(Q).clone().attr({to:b.opacity,dur:q}).appendTo(A) -;try{H[0].beginElement()}catch(e){}}else q=0;setTimeout(function(){H&&H.remove(),A.setAttribute("opacity",b.opacity),A.setAttribute("style","pointer-events:inherit"),P(A),"path"===current_mode||"pipe"===current_mode?he.toEditMode(A):a.selectNew&&Ae([A],!0),W(new svgedit.history.InsertElementCommand(A)),D("changed",[A])},1e3*q)}}else{for(c().releaseId(de()),A.parentNode.removeChild(A),A=null,r=e.target;"g"==r.parentNode.parentNode.tagName;)r=r.parentNode;("path"==current_mode||"pipe"==current_mode)&&drawn_path||"selectorParentGroup"==r.parentNode.id||"svgcanvas"==r.id||"svgroot"==r.id||(o.setMode("select"),Ae([r],!0))}startTransform=null}}},O=function(e){var t=e.target,i=t.parentNode;if(i!==f){var r=ke(e),n=r.tagName;if("text"===n&&"textedit"!==current_mode){var a=svgedit.math.transformPoint(e.pageX,e.pageY,we);ge.select(r,a.x,a.y)}"g"!==n&&"a"!==n||!svgedit.utilities.getRotationAngle(r)||(Fe(r),r=S[0],_e(!0)),f&&$e(),"g"!==i.tagName&&"a"!==i.tagName||i===c().getCurrentLayer()||r===K.selectorParentGroup||Pe(r)}},V=function(e){return e.preventDefault(),!1};$(e).mousedown(G).mousemove(M).click(V).dblclick(O).mouseup(L),$(e).bind("mousewheel DOMMouseScroll",function(e){if(!e.shiftKey)return;const t=v;e.preventDefault();var i=e.originalEvent;we=$("#svgcontent g")[0].getScreenCTM().inverse();const r=$("#workarea"),n=0,a=0;var s=svgedit.math.transformPoint(i.pageX,i.pageY,we);const o=r.width(),l=r.height(),d=o-n-a,u=l-n-a,g=d*we.a,h=u*we.d,m=r.offset(),c=m.left+a,f=m.top+a;var p=i.wheelDelta?i.wheelDelta:i.detail?-i.detail:0;if(!p)return;let y,x,b=Math.max(.9,Math.min(10/9,p));b>1?(y=Math.ceil(d/g*b*100)/100,x=Math.ceil(u/h*b*100)/100):(y=Math.floor(d/g*b*100)/100,x=Math.floor(u/h*b*100)/100);let S=Math.min(y,x);if(S===t)return;b=S/t;const C=svgedit.math.transformPoint(c,f,we),w={x:s.x-(s.x-C.x)/b,y:s.y-(s.y-C.y)/b},_={x:w.x*S,y:w.y*S},N={x:_.x-a+o/2,y:_.y-a+l/2,width:0,height:0,factor:b};D("myZoomed",{center:!1,bbox:N})})})();var Ee=function(e){$(e).click(function(e){e.preventDefault()})};ge=o.textActions=function(){function e(e){var t,i=""===m.value;if($(m).focus(),!arguments.length)if(i)e=0;else{if(m.selectionEnd!==m.selectionStart)return;e=m.selectionEnd}if(t=_[e],t){i||m.setSelectionRange(e,e),c=svgedit.utilities.getElem("text_cursor"),c||(c=document.createElementNS(n.SVG,"line"),svgedit.utilities.assignAttributes(c,{id:"text_cursor",stroke:"#333","stroke-width":1}),c=svgedit.utilities.getElem("selectorParentGroup").appendChild(c)),p||(p=setInterval(function(){var e="none"===c.getAttribute("display");c.setAttribute("display",e?"inline":"none")},600));var r=l(t.x,y.y),a=l(t.x,y.y+y.height);svgedit.utilities.assignAttributes(c,{x1:r.x,y1:r.y,x2:a.x,y2:a.y,visibility:"visible",display:"inline"}),f&&f.setAttribute("d","")}}function t(t,i,r){if(t!==i){r||m.setSelectionRange(t,i),f=svgedit.utilities.getElem("text_selectblock"),f||(f=document.createElementNS(n.SVG,"path"),svgedit.utilities.assignAttributes(f,{id:"text_selectblock",fill:"green",opacity:.5,style:"pointer-events:none"}),svgedit.utilities.getElem("selectorParentGroup").appendChild(f));var a=_[t],s=_[i];c.setAttribute("visibility","hidden");var o=l(a.x,y.y),d=l(a.x+(s.x-a.x),y.y),u=l(a.x,y.y+y.height),g=l(a.x+(s.x-a.x),y.y+y.height),h="M"+o.x+","+o.y+" L"+d.x+","+d.y+" "+g.x+","+g.y+" "+u.x+","+u.y+"z";svgedit.utilities.assignAttributes(f,{d:h,display:"inline"})}else e(i)}function i(e,t){var i=u.createSVGPoint();if(i.x=e,i.y=t,1==_.length)return 0;var r=h.getCharNumAtPosition(i);r<0?(r=_.length-2,e<=_[0].x&&(r=0)):r>=_.length-2&&(r=_.length-2);var n=_[r],a=n.x+n.width/2;return e>a&&r++,r}function r(t,r){e(i(t,r))}function a(e,r,n){var a=m.selectionStart,s=i(e,r),o=Math.min(a,s),l=Math.max(a,s);t(o,l,!n)}function s(e,t){var i={x:e,y:t};if(i.x/=v,i.y/=v,x){var r=svgedit.math.transformPoint(i.x,i.y,x.inverse());i.x=r.x,i.y=r.y}return i}function l(e,t){var i={x:e,y:t};if(x){var r=svgedit.math.transformPoint(i.x,i.y,x);i.x=r.x,i.y=r.y}return i.x*=v,i.y*=v,i}function d(e){t(0,h.textContent.length),$(this).unbind(e)}function g(e){if(w&&h){var r=svgedit.math.transformPoint(e.pageX,e.pageY,we),n=r.x*v,a=r.y*v,o=s(n,a),l=i(o.x,o.y),u=h.textContent,g=u.substr(0,l).replace(/[a-z0-9]+$/i,"").length,m=u.substr(l).match(/^[a-z0-9]+/i),c=(m?m[0].length:0)+l;t(g,c),$(e.target).click(d),setTimeout(function(){$(e.target).unbind("click",d)},300)}}var h,m,c,f,p,y,x,b,C,w,_=[];return{select:function(e,t,i){h=e,ge.toEditMode(t,i)},start:function(e){h=e,ge.toEditMode()},mouseDown:function(e,t,i,n){var a=s(i,n);m.focus(),r(a.x,a.y),b=i,C=n},mouseMove:function(e,t){var i=s(e,t);a(i.x,i.y)},mouseUp:function(e,t,i){var r=s(t,i);a(r.x,r.y,!0),e.target!==h&&tb-2&&iC-2&&ge.toSelectMode(!0)},setCursor:e,toEditMode:function(t,i){w=!1,current_mode="textedit",K.requestSelector(h).showGrips(!1);K.requestSelector(h).selectorRect;if(ge.init(),$(h).css("cursor","text"),arguments.length){var n=s(t,i);r(n.x,n.y)}else e();setTimeout(function(){w=!0},300)},toSelectMode:function(e){current_mode="select",clearInterval(p),p=null,f&&$(f).attr("display","none"),c&&$(c).attr("visibility","hidden"),$(h).css("cursor","move"),e&&(_e(),$(h).css("cursor","move"),D("selected",[h]),Ne([h],!0)),h&&!h.textContent.length&&o.deleteSelectedElements(),$(m).blur(),h=!1},setInputElem:function(e){m=e},clear:function(){"textedit"==current_mode&&ge.toSelectMode()},init:function(e){if(h){var i,r;h.parentNode||(h=S[0],K.requestSelector(h).showGrips(!1));var n=h.textContent,a=n.length,s=h.getAttribute("transform");for(y=svgedit.utilities.getBBox(h),x=s?svgedit.math.getMatrix(h):null,_=[],_.length=a,m.focus(),$(h).unbind("dblclick",g).dblclick(g),a||(r={x:y.x+y.width/2,width:0}),i=0;i=0&&this.selected_pts.push(r)}this.selected_pts.sort(),t=this.selected_pts.length;var n=[];for(n.length=t;t--;){var a=this.selected_pts[t];i=this.segs[a],i.select(!0),n[t]=i.ptgrip}he.canDeleteNodes=!0,he.closed_subpath=this.subpathIsClosed(this.selected_pts[0]),D("selected",n)},i=null;var u=null,g=!1,h=function(e){var t,i=e.points,r=i.numberOfItems;if(r>=4){var n=i.getItem(0),a=null,s=[];for(s.push(["M",n.x,",",n.y," C"].join("")),t=1;t<=r-4;t+=3){var o=i.getItem(t),l=i.getItem(t+1),d=i.getItem(t+2);if(a){var u=svgedit.path.smoothControlPoints(a,o,n);if(u&&2==u.length){var g=s[s.length-1].split(",");g[2]=u[0].x,g[3]=u[0].y,s[s.length-1]=g.join(","),o=u[1]}}s.push([o.x,o.y,l.x,l.y,d.x,d.y].join(",")),n=d,a=l}for(s.push("L");t=E-N&&f<=E+N&&p>=B-N&&p<=B+N){A=!0;break}}l=de(),svgedit.path.removePath_(l);var T,I,G=svgedit.utilities.getElem(l),M=w.numberOfItems;if(A){if(_<=1&&M>=2&&"pipe"!==current_mode){var L=w.getItem(0).x,P=w.getItem(0).y;I=y.pathSegList.getItem(1),T=4===I.pathSegType?u.createSVGPathSegLinetoAbs(L,P):u.createSVGPathSegCurvetoCubicAbs(L,P,I.x1/v,I.y1/v,L,P);var O=u.createSVGPathSegClosePath();w.appendItem(T),w.appendItem(O)}else if(M<3&&"pipe"!==current_mode)return S=!1,S;if($(y).remove(),element=G,u=null,started=!1,d){svgedit.path.path.matrix&&svgedit.coords.remapElement(G,{},svgedit.path.path.matrix.inverse());var D=G.getAttribute("d"),V=$(svgedit.path.path.elem).attr("d");return $(svgedit.path.path.elem).attr("d",V+D),$(G).remove(),svgedit.path.path.matrix&&svgedit.path.recalcRotatedPath(),svgedit.path.path.init(),he.toEditMode(svgedit.path.path.elem),svgedit.path.path.selectPt(),!1}}else{if(!$.contains(e,ke(t)))return console.log("Clicked outside canvas"),!1;var R=u.pathSegList.numberOfItems,U=u.pathSegList.getItem(R-1),z=U.x,F=U.y;if(t.shiftKey){var j=svgedit.math.snapToAngle(z,F,f,p);f=j.x,p=j.y}I=y.pathSegList.getItem(1),T=4===I.pathSegType?u.createSVGPathSegLinetoAbs(oe(f),oe(p)):u.createSVGPathSegCurvetoCubicAbs(oe(f),oe(p),I.x1/v,I.y1/v,I.x2/v,I.y2/v),u.pathSegList.appendItem(T),f*=v,p*=v,y.setAttribute("d",["M",f,p,f,p].join(" ")),x=R,d&&(x+=svgedit.path.path.segs.length),svgedit.path.addPointGrip(x,f,p)}}else{if(d_attr="M"+f+","+p+" ",path_attr={d:d_attr,id:ue(),opacity:b.opacity/2},"pipe"===current_mode){var H=ue().replace("svg_","PIE_");path_attr={d:d_attr,id:H,type:"svg-ext-pipe",fill:"rgba(0,0,0,0)",stroke:"rgba(41,171,226,1)","stroke-width":10,opacity:b.opacity/2}}u=C({element:"path",curStyles:!0,attr:path_attr}),y.setAttribute("d",["M",mouse_x,mouse_y,mouse_x,mouse_y].join(" ")),x=d?svgedit.path.path.segs.length:0,svgedit.path.addPointGrip(x,mouse_x,mouse_y)}}},mouseMove:function(e,t){if(g=!0,"path"!==current_mode&&"pipe"!==current_mode)if(svgedit.path.path.dragging){var i=svgedit.path.getPointFromGrip({x:svgedit.path.path.dragging[0],y:svgedit.path.path.dragging[1]},svgedit.path.path),r=svgedit.path.getPointFromGrip({x:e,y:t},svgedit.path.path),n=r.x-i.x,a=r.y-i.y;svgedit.path.path.dragging=[e,t],svgedit.path.path.dragctrl?svgedit.path.path.moveCtrl(n,a):svgedit.path.path.movePts(n,a)}else svgedit.path.path.selected_pts=[],svgedit.path.path.eachSeg(function(e){var t=this;if(t.next||t.prev){t.item;var i=rubberBox.getBBox(),r=svgedit.path.getGripPt(t),n={x:r.x,y:r.y,width:0,height:0},a=svgedit.math.rectsIntersect(i,n);this.select(a),a&&svgedit.path.path.selected_pts.push(t.index)}});else{if(!u)return;var o=u.pathSegList,d=o.numberOfItems-1;if(s){var h=svgedit.path.addCtrlGrip("1c1"),m=svgedit.path.addCtrlGrip("0c2");h.setAttribute("cx",e),h.setAttribute("cy",t),h.setAttribute("display","inline");var c=s[0],f=s[1],p=(o.getItem(d),e/v),y=t/v,x=c+(c-p),b=f+(f-y);m.setAttribute("cx",x*v),m.setAttribute("cy",b*v),m.setAttribute("display","inline");var S=svgedit.path.getCtrlLine(1);if(svgedit.utilities.assignAttributes(S,{x1:e,y1:t,x2:x*v,y2:b*v,display:"inline"}),0===d)l=[e,t];else{var C=o.getItem(d-1),w=C.x,_=C.y;6===C.pathSegType?(w+=w-C.x2,_+=_-C.y2):l&&(w=l[0]/v,_=l[1]/v),svgedit.path.replacePathSeg(6,d,[c,f,w,_,x,b],u)}}else{var N=svgedit.utilities.getElem("path_stretch_line");if(N){var A=o.getItem(d);if(6===A.pathSegType){var k=A.x+(A.x-A.x2),E=A.y+(A.y-A.y2);svgedit.path.replacePathSeg(6,1,[e,t,k*v,E*v,e,t],N)}else l?svgedit.path.replacePathSeg(6,1,[e,t,l[0],l[1],e,t],N):svgedit.path.replacePathSeg(4,1,[e,t],N)}}}},mouseUp:function(e,t,i,r){if("path"===current_mode||"pipe"===current_mode){if(s=null,!u){var n=de();"pipe"===current_mode&&(n=n.replace("svg_","PIE_")),t=svgedit.utilities.getElem(n),started=!1,l=null}return{keep:!0,element:t}}if(svgedit.path.path.dragging){var a=svgedit.path.path.cur_pt;svgedit.path.path.dragging=!1,svgedit.path.path.dragctrl=!1,svgedit.path.path.update(),g&&svgedit.path.path.endChanges("Move path point(s)"),e.shiftKey||g||svgedit.path.path.selectPt(a)}else rubberBox&&"none"!=rubberBox.getAttribute("display")?(rubberBox.setAttribute("display","none"),rubberBox.getAttribute("width")<=2&&rubberBox.getAttribute("height")<=2&&he.toSelectMode(e.target)):he.toSelectMode(e.target);g=!1},toEditMode:function(e){svgedit.path.path=svgedit.path.getPath_(e),current_mode="pathedit",_e(),svgedit.path.path.show(!0).update(),svgedit.path.path.oldbbox=svgedit.utilities.getBBox(svgedit.path.path.elem),d=!1},toSelectMode:function(e){var t=e==svgedit.path.path.elem;current_mode="select",svgedit.path.path.show(!1),i=!1,_e(),svgedit.path.path.matrix&&svgedit.path.recalcRotatedPath(),t&&(D("selected",[e]),Ne([e],!0))},addSubPath:function(e){e?(current_mode="path",d=!0):(he.clear(!0),he.toEditMode(svgedit.path.path.elem))},select:function(e){i===e?(he.toEditMode(e),current_mode="pathedit"):i=e},reorient:function(){var e=S[0];if(e){var t=svgedit.utilities.getRotationAngle(e);if(0!=t){var i=new svgedit.history.BatchCommand("Reorient path"),r={d:e.getAttribute("d"),transform:e.getAttribute("transform")};i.addSubCommand(new svgedit.history.ChangeElementCommand(e,r)),_e(),this.resetOrientation(e),W(i),svgedit.path.getPath_(e).show(!1).matrix=null,this.clear(),Ne([e],!0),D("changed",S)}}},clear:function(e){if(i=null,u){var t=svgedit.utilities.getElem(de());$(svgedit.utilities.getElem("path_stretch_line")).remove(),$(t).remove(),$(svgedit.utilities.getElem("pathpointgrip_container")).find("*").attr("display","none"),u=l=null,started=!1}else"pathedit"==current_mode&&this.toSelectMode();svgedit.path.path&&svgedit.path.path.init().show(!1)},resetOrientation:function(e){if(null==e||"path"!=e.nodeName)return!1;var t=svgedit.transformlist.getTransformList(e),i=svgedit.math.transformListToTransform(t).matrix;t.clear(),e.removeAttribute("transform");var n,a=e.pathSegList,s=a.numberOfItems;for(n=0;n0){var o=e.getItem(t-1).pathSegType;if(2===o){i(t-1,1),r();break}if(1===o&&e.numberOfItems-1===t){i(t,1),r();break}}}return!1};if(r(),svgedit.path.path.elem.pathSegList.numberOfItems<=1)return he.toSelectMode(svgedit.path.path.elem),void o.deleteSelectedElements();if(svgedit.path.path.init(),svgedit.path.path.clearSelection(),window.opera){var n=$(svgedit.path.path.elem);n.attr("d",n.attr("d"))}svgedit.path.path.endChanges("Delete path node(s)")}},smoothPolylineIntoPath:h,setSegType:function(e){svgedit.path.path.setSegType(e)},moveNode:function(e,t){var i=svgedit.path.path.selected_pts;if(i.length){svgedit.path.path.storeD();var r=svgedit.path.path.segs[i[0]],n={x:0,y:0};n[e]=t-r.item[e],r.move(n.x,n.y),svgedit.path.path.endChanges("Move path point")}},fixEnd:function(e){var i,r,n=e.pathSegList,a=n.numberOfItems;for(i=0;i0;);he.clear(!0),$.each(g.childNodes,function(e,t){e&&8===t.nodeType&&t.data.indexOf("Created with")>=0&&g.insertBefore(t,g.firstChild)}),f&&($e(),Ae([f]));var e=[];$(g).find("g:data(gsvg)").each(function(){var t,i=this.attributes,r=i.length;for(t=0;t=0)return i.join("");P(e);var d,u,g=e.attributes,h=e.childNodes;for(u=0;u=0;u--){d=g.item(u);p=r(d.value);if(!(y.indexOf(d.localName)>=0)&&""!=p){if(0===p.indexOf("pointer-events"))continue;if("class"===d.localName&&0===p.indexOf("se_"))continue;if(i.push(" "),"d"===d.localName&&(p=he.convertPath(e,!1)),isNaN(p)?o.test(p)&&(p=svgedit.units.shortFloat(p)+s):p=svgedit.units.shortFloat(p),save_options.apply&&"image"===e.nodeName&&"href"===d.localName&&save_options.images&&"embed"===save_options.images){var x=te[p];x&&(p=x)}d.namespaceURI&&d.namespaceURI!=n.SVG&&!R[d.namespaceURI]||(i.push(d.nodeName),i.push('="'),i.push(p),i.push('"'))}}}if(e.hasChildNodes()){i.push(">"),t++;var b=!1;for(u=0;u");break;case 8:i.push("\n"),i.push(new Array(t+1).join(" ")),i.push("")}}if(t--,!b)for(i.push("\n"),u=0;u")}else"div"===e.nodeName.toLowerCase()||"span"===e.nodeName.toLowerCase()?(i.push(">"),i.push("")):i.push("/>")}return i.join("")},this.embedImage=function(e,t){$(new Image).load(function(){var i=document.createElement("canvas");i.width=this.width,i.height=this.height,i.getContext("2d").drawImage(this,0,0);try{var r=";svgedit_url="+encodeURIComponent(e);r=i.toDataURL().replace(";base64",r+";base64"),te[e]=r}catch(t){te[e]=!1}ie=e,t&&t(te[e])}).attr("src",e)},this.setGoodImage=function(e){ie=e},this.setGoodSvgImageContent=function(e){last_good_img_content=e},this.open=function(){},this.save=function(e){_e(),e&&$.extend(save_options,e),save_options.apply=!0;var t=this.svgCanvasToString();D("saved",t)},this.rasterExport=function(e,t,r){var n="image/"+e.toLowerCase(),a=i(),s=this.svgCanvasToString();svgedit.utilities.buildCanvgCallback(function(){var i=e||"PNG";$("#export_canvas").length||$("",{id:"export_canvas"}).hide().appendTo("body");var o=$("#export_canvas")[0];o.width=svgCanvas.contentW,o.height=svgCanvas.contentH,canvg(o,s,{renderCallback:function(){var l=("ICO"===i?"BMP":i).toLowerCase(),d=t?o.toDataURL("image/"+l,t):o.toDataURL("image/"+l);D("exported",{datauri:d,svg:s,issues:a,type:e,mimeType:n,quality:t,exportWindowName:r})}})})()},this.exportPDF=function(e,t){var r=this;svgedit.utilities.buildJSPDFCallback(function(){var n=Oe(),a=n.w>n.h?"landscape":"portrait",s="pt",o=jsPDF({orientation:a,unit:s,format:[n.w,n.h]}),l=De();o.setProperties({title:l});var d=i(),u=r.svgCanvasToString();o.addSVG(u,0,0);var g={svg:u,issues:d,exportWindowName:e},h=t||"dataurlstring";g[h]=o.output(h),D("exportedPDF",g)})()},this.getSvgString=function(){return save_options.apply=!1,this.svgCanvasToString()},this.randomizeIds=function(e){arguments.length>0&&0==e?svgedit.draw.randomizeIds(!1,c()):svgedit.draw.randomizeIds(!0,c())};var Te=this.uniquifyElems=function(e){var t,i={},r=["filter","linearGradient","pattern","radialGradient","symbol","textPath","use"];for(t in svgedit.utilities.walkTree(e,function(e){if(1==e.nodeType){e.id&&(e.id in i||(i[e.id]={elem:null,attrs:[],hrefs:[]}),i[e.id].elem=e),$.each(Z,function(t,r){var n=e.getAttributeNode(r);if(n){var a=svgedit.utilities.getUrlFromAttr(n.value),s=a?a.substr(1):null;s&&(s in i||(i[s]={elem:null,attrs:[],hrefs:[]}),i[s].attrs.push(n))}});var t=svgedit.utilities.getHref(e);if(t&&r.indexOf(e.nodeName)>=0){var n=t.substr(1);n&&(n in i||(i[n]={elem:null,attrs:[],hrefs:[]}),i[n].hrefs.push(e))}}}),i)if(t){var n=i[t].elem;if(n){var a=ue();n.id=a;for(var s=i[t].attrs,o=s.length;o--;){var l=s[o];l.ownerElement.setAttribute(l.name,"url(#"+a+")")}for(var d=i[t].hrefs,u=d.length;u--;){var g=d[u];svgedit.utilities.setHref(g,"#"+a)}}}},Ie=this.setUseData=function(e){var t=$(e);"use"!==e.tagName&&(t=t.find("use")),t.each(function(){var e=T(this).substr(1),t=svgedit.utilities.getElem(e);t&&($(this).data("ref",t),"symbol"!=t.tagName&&"svg"!=t.tagName||$(this).data("symbol",t).data("ref",t))})},Ge=this.convertGradients=function(e){var t=$(e).find("linearGradient, radialGradient");!t.length&&svgedit.browser.isWebkit()&&(t=$(e).find("*").filter(function(){return this.tagName.indexOf("Gradient")>=0})),t.each(function(){var e=this;if("userSpaceOnUse"===$(e).attr("gradientUnits")){var t=$(g).find('[fill="url(#'+e.id+')"],[stroke="url(#'+e.id+')"]');if(!t.length)return;var i=svgedit.utilities.getBBox(t[0]);if(!i)return;if("linearGradient"===e.tagName){var r=$(e).attr(["x1","y1","x2","y2"]),n=e.gradientTransform.baseVal;if(n&&n.numberOfItems>0){var a=svgedit.math.transformListToTransform(n).matrix,s=svgedit.math.transformPoint(r.x1,r.y1,a),o=svgedit.math.transformPoint(r.x2,r.y2,a);r.x1=s.x,r.y1=s.y,r.x2=o.x,r.y2=o.y,e.removeAttribute("gradientTransform")}$(e).attr({x1:(r.x1-i.x)/i.width,y1:(r.y1-i.y)/i.height,x2:(r.x2-i.x)/i.width,y2:(r.y2-i.y)/i.height}),e.removeAttribute("gradientUnits")}}})},Me=this.convertToGroup=function(e){e||(e=S[0]);var t,i=$(e),r=new svgedit.history.BatchCommand;if(i.data("gsvg")){var a=e.firstChild,s=$(a).attr(["x","y"]);$(e.firstChild.firstChild).unwrap(),$(e).removeData("gsvg");var o=svgedit.transformlist.getTransformList(e),l=u.createSVGTransform();l.setTranslate(s.x,s.y),o.appendItem(l),svgedit.recalculate.recalculateDimensions(e),D("selected",[e])}else if(i.data("symbol")){e=i.data("symbol"),t=i.attr("transform");var h=i.attr(["x","y"]),m=e.getAttribute("viewBox");if(m){var c=m.split(" ");h.x-=+c[0],h.y-=+c[1]}t+=" translate("+(h.x||0)+","+(h.y||0)+")";var v=i.prev();r.addSubCommand(new svgedit.history.RemoveElementCommand(i[0],i[0].nextSibling,i[0].parentNode)),i.remove();var f,p=$(g).find("use:data(symbol)").length,y=d.createElementNS(n.SVG,"g"),x=e.childNodes;for(f=0;f0&&t.y>0&&(r=" translate("+t.x+","+t.y+") scale(1) translate(0)");else{var u,h=svgedit.utilities.text2xml(e);this.prepareSvg(h),u=d.adoptNode?d.adoptNode(h.documentElement):d.importNode(h.documentElement,!0),Te(u);var m=svgedit.units.convertToNum("width",u.getAttribute("width")),v=svgedit.units.convertToNum("height",u.getAttribute("height")),p=u.getAttribute("viewBox"),y=p?p.split(" "):[0,0,m,v];for(i=0;i<4;++i)y[i]=Number(y[i]);var x=Number(g.getAttribute("height"));r=v>m?"scale("+x/3/y[3]+")":"scale("+x/3/y[2]+")",r=t&&t.x>0&&t.y>0?"translate("+t.x+","+t.y+") scale(1) translate(0)":"translate(0) scale(1) translate(0)",o=d.createElementNS(n.SVG,"symbol");var b=svgedit.utilities.findDefs();for($(u).find("linearGradient, radialGradient, pattern").appendTo(b);u.firstChild;){var S=u.firstChild;svgedit.utilities.walkTree(S,function(e){e.id=ue()}),o.appendChild(S)}o.id=ue(), -o.setAttribute("type","svg-ext-shapes-image"),import_ids[a]={symbol:o,xform:r},svgedit.utilities.findDefs().appendChild(o),l.addSubCommand(new svgedit.history.InsertElementCommand(o))}var C=d.createElementNS(n.SVG,"use");C.id=ue(),I(C,"#"+o.id),(f||c().getCurrentLayer()).appendChild(C),l.addSubCommand(new svgedit.history.InsertElementCommand(C)),_e(),C.setAttribute("transform",r),svgedit.recalculate.recalculateDimensions(C),$(C).data("symbol",o).data("ref",o),Ne([C]),setTimeout(function(){Ae([C],!0)},500),W(l),D("changed",[g])}catch(e){return console.log(e),!1}return!0};var Le=o.identifyLayers=function(){$e(),c().identifyLayers()};this.createLayer=function(e){var t=new svgedit.history.BatchCommand("Create Layer"),i=c().createLayer(e);t.addSubCommand(new svgedit.history.InsertElementCommand(i)),W(t),_e(),D("changed",[i])},this.cloneLayer=function(e){var t=new svgedit.history.BatchCommand("Duplicate Layer"),i=d.createElementNS(n.SVG,"g"),r=d.createElementNS(n.SVG,"title");r.textContent=e,i.appendChild(r);var a=c().getCurrentLayer();$(a).after(i);var s,l=a.childNodes;for(s=0;s=0&&et?e1;)e.addSubCommand(o.mergeLayer(!0));_e(),Le(),D("changed",[g]),W(e)};var $e=this.leaveContext=function(){var e,t=disabled_elems.length;if(t){for(e=0;e0&&(i?Ue(e,t,n):(ze(e,t,n),D("changed",n)))};var Ve=this.setGradient=function(e){if(cur_properties[e+"_paint"]&&"solidColor"!=cur_properties[e+"_paint"].type){var t=o[e+"Grad"],i=Re(t),r=svgedit.utilities.findDefs();if(i)t=i;else{t=r.appendChild(d.importNode(t,!0)),t.id=ue()}o.setColor(e,"url(#"+t.id+")")}},Re=function(e){for(var t=svgedit.utilities.findDefs(),i=$(t).find("linearGradient, radialGradient"),r=i.length,a=["r","cx","cy","fx","fy"];r--;){var s=i[r];if("linearGradient"==e.tagName){if(e.getAttribute("x1")!=s.getAttribute("x1")||e.getAttribute("y1")!=s.getAttribute("y1")||e.getAttribute("x2")!=s.getAttribute("x2")||e.getAttribute("y2")!=s.getAttribute("y2"))continue}else{var o=$(e).attr(a),l=$(s).attr(a),d=!1;if($.each(a,function(e,t){o[t]!=l[t]&&(d=!0)}),d)continue}var u=e.getElementsByTagNameNS(n.SVG,"stop"),g=s.getElementsByTagNameNS(n.SVG,"stop");if(u.length==g.length){for(var h=u.length;h--;){var m=u[h],c=g[h];if(m.getAttribute("offset")!=c.getAttribute("offset")||m.getAttribute("stop-opacity")!=c.getAttribute("stop-opacity")||m.getAttribute("stop-color")!=c.getAttribute("stop-color"))break}if(-1==h)return s}}return null};this.setPaint=function(e,t){var i=new $.jGraduate.Paint(t);switch(this.setPaintOpacity(e,i.alpha/100,!0),cur_properties[e+"_paint"]=i,i.type){case"solidColor":-1===i.solidColor.indexOf("rgb")?this.setColor(e,"none"!=i.solidColor?"#"+i.solidColor:"none"):this.setColor(e,i.solidColor);break;case"linearGradient":case"radialGradient":o[e+"Grad"]=i[i.type],Ve(e)}},this.setStrokePaint=function(e){this.setPaint("stroke",e)},this.setFillPaint=function(e){this.setPaint("fill",e)},this.getStrokeWidth=function(){return cur_properties.stroke_width},this.setStrokeWidth=function(e){function t(e){"g"!=e.nodeName&&i.push(e)}if(0==e&&["line","path"].indexOf(current_mode)>=0)o.setStrokeWidth(1);else{cur_properties.stroke_width=e;for(var i=[],r=S.length;r--;){var n=S[r];n&&("g"==n.tagName?svgedit.utilities.walkTree(n,t):i.push(n))}i.length>0&&(ze("stroke-width",e,i),D("changed",S))}},this.setStrokeAttr=function(e,t){b[e.replace("-","_")]=t;for(var i=[],r=S.length;r--;){var n=S[r];n&&("g"==n.tagName?svgedit.utilities.walkTree(n,function(e){"g"!=e.nodeName&&i.push(e)}):i.push(n))}i.length>0&&(ze(e,t,i),D("changed",S))},this.getStyle=function(){return b},this.getOpacity=function(){return b.opacity},this.setOpacity=function(e){b.opacity=e,ze("opacity",e)},this.getFillOpacity=function(){return b.fill_opacity},this.getStrokeOpacity=function(){return b.stroke_opacity},this.setPaintOpacity=function(e,t,i){b[e+"_opacity"]=t,i?Ue(e+"-opacity",t):ze(e+"-opacity",t)},this.getPaintOpacity=function(e){return"fill"===e?this.getFillOpacity():this.getStrokeOpacity()},this.getBlur=function(e){var t=0;if(e){var i=e.getAttribute("filter");if(i){var r=svgedit.utilities.getElem(e.id+"_blur");r&&(t=r.firstChild.getAttribute("stdDeviation"))}}return t},function(){function e(){var e=o.undoMgr.finishUndoableChange();t.addSubCommand(e),W(t),t=null,i=null}var t=null,i=null,r=!1;o.setBlurNoUndo=function(e){if(i)if(0===e)Ue("filter",""),r=!0;else{var t=S[0];r&&Ue("filter","url(#"+t.id+"_blur)"),svgedit.browser.isWebkit()&&(console.log("e",t),t.removeAttribute("filter"),t.setAttribute("filter","url(#"+t.id+"_blur)")),Ue("stdDeviation",e,[i.firstChild]),o.setBlurOffsets(i,e)}else o.setBlur(e)},o.setBlurOffsets=function(e,t){t>3?svgedit.utilities.assignAttributes(e,{x:"-50%",y:"-50%",width:"200%",height:"200%"},100):svgedit.browser.isWebkit()||(e.removeAttribute("x"),e.removeAttribute("y"),e.removeAttribute("width"),e.removeAttribute("height"))},o.setBlur=function(r,n){if(t)e();else{var a=S[0],s=a.id;i=svgedit.utilities.getElem(s+"_blur"),r-=0;var l=new svgedit.history.BatchCommand;if(i)0===r&&(i=null);else{var d=C({element:"feGaussianBlur",attr:{in:"SourceGraphic",stdDeviation:r}});i=C({element:"filter",attr:{id:s+"_blur"}}),i.appendChild(d),svgedit.utilities.findDefs().appendChild(i),l.addSubCommand(new svgedit.history.InsertElementCommand(i))}var u={filter:a.getAttribute("filter")};if(0===r)return a.removeAttribute("filter"),void l.addSubCommand(new svgedit.history.ChangeElementCommand(a,u));ze("filter","url(#"+s+"_blur)"),l.addSubCommand(new svgedit.history.ChangeElementCommand(a,u)),o.setBlurOffsets(i,r),t=l,o.undoMgr.beginUndoableChange("stdDeviation",[i?i.firstChild:null]),n&&(o.setBlurNoUndo(r),e())}}}(),this.getBold=function(){var e=S[0];return null!=e&&"text"==e.tagName&&null==S[1]&&"bold"==e.getAttribute("font-weight")},this.setBold=function(e){var t=S[0];null!=t&&"text"==t.tagName&&null==S[1]&&ze("font-weight",e?"bold":"normal"),S[0].textContent||ge.setCursor()},this.getItalic=function(){var e=S[0];return null!=e&&"text"==e.tagName&&null==S[1]&&"italic"==e.getAttribute("font-style")},this.setItalic=function(e){var t=S[0];null!=t&&"text"==t.tagName&&null==S[1]&&ze("font-style",e?"italic":"normal"),S[0].textContent||ge.setCursor()},this.getFontFamily=function(){return cur_text.font_family},this.setFontFamily=function(e){cur_text.font_family=e,ze("font-family",e),S[0]&&!S[0].textContent&&ge.setCursor(),re("setFontAttribute",{elem:S[0],attr:"font-family",value:e})},this.setTextAlign=function(e){cur_text.text_anchor=e,ze("text-anchor",e),S[0]&&!S[0].textContent&&ge.setCursor(),re("setFontAttribute",{elem:S[0],attr:"text-anchor",value:e})},this.setFontColor=function(e){cur_text.fill=e,ze("fill",e)},this.getFontColor=function(){return cur_text.fill},this.getFontSize=function(){return cur_text.font_size},this.setFontSize=function(e){S[0]&&(cur_text.font_size=e,ze("font-size",e),S[0].textContent||ge.setCursor(),re("setFontAttribute",{elem:S[0],attr:"font-size",value:e+"px"}))},this.getExtensionFont=function(e){return ae("getFontAttribute",{elem:e})},this.getText=function(){var e=S[0];return null==e?"":e.textContent},this.setTextContent=function(e){ze("#text",e),ge.init(e),ge.setCursor()},this.setImageURL=function(e){var t=S[0];if(t){var i=$(t).attr(["width","height"]),r=!i.width||!i.height,n=T(t);if(n!==e)r=!0;else if(!r)return;var a=new svgedit.history.BatchCommand("Change Image URL");I(t,e),a.addSubCommand(new svgedit.history.ChangeElementCommand(t,{"#href":n})),r?$(new Image).load(function(){var e=$(t).attr(["width","height"]);$(t).attr({width:this.width,height:this.height}),K.requestSelector(t).resize(),a.addSubCommand(new svgedit.history.ChangeElementCommand(t,e)),W(a),D("changed",[t])}).attr("src",e):W(a)}},this.setLinkURL=function(e){var t=S[0];if(t){if("a"!==t.tagName){var i=$(t).parents("a");if(!i.length)return;t=i[0]}var r=T(t);if(r!==e){var n=new svgedit.history.BatchCommand("Change Link URL");I(t,e),n.addSubCommand(new svgedit.history.ChangeElementCommand(t,{"#href":r})),W(n)}}},this.setRectRadius=function(e){var t=S[0];if(null!=t&&"rect"==t.tagName){var i=t.getAttribute("rx");i!=e&&(t.setAttribute("rx",e),t.setAttribute("ry",e),W(new svgedit.history.ChangeElementCommand(t,{rx:i,ry:i},"Radius")),D("changed",[t]))}},this.makeHyperlink=function(e){o.groupSelectedElements("a",e)},this.removeHyperlink=function(){o.ungroupSelectedElement()},this.setSegType=function(e){he.setSegType(e)},this.convertToPath=function(e,t){if(null!=e){if(!t)var i=new svgedit.history.BatchCommand("Convert element to Path");var r=t?{}:{fill:b.fill,"fill-opacity":b.fill_opacity,stroke:b.stroke,"stroke-width":b.stroke_width,"stroke-dasharray":b.stroke_dasharray,"stroke-linejoin":b.stroke_linejoin,"stroke-linecap":b.stroke_linecap,"stroke-opacity":b.stroke_opacity,opacity:b.opacity,visibility:"hidden"};$.each(["marker-start","marker-end","marker-mid","filter","clip-path"],function(){e.getAttribute(this)&&(r[this]=e.getAttribute(this))});var n=C({element:"path",attr:r}),a=e.getAttribute("transform");a&&n.setAttribute("transform",a);var s=e.id,l=e.parentNode;e.nextSibling?l.insertBefore(n,e):l.appendChild(n);var d,u,g="",h=function(e){$.each(e,function(e,t){var i,r=t[0],n=t[1];for(g+=r,i=0;i=0){var d=getStrokedBBox([l]),g="x"===e?t-d.x:0,h="y"===e?t-d.y:0;o.moveSelectedElements(g*v,h*v,!0)}else{"g"===l.tagName&&s.indexOf(e);var m="#text"===e?l.textContent:l.getAttribute(e);if(null==m&&(m=""),m!==String(t)){if("#text"==e){svgedit.utilities.getBBox(l).width;l.textContent=t,/rotate/.test(l.getAttribute("transform"))&&(l=xe(l))}else"#href"==e?I(l,t):(l.setAttribute(e,t),re("setGaugeAttribute",{elem:l,attr:e,value:t}));"textedit"===current_mode&&"#text"!==e&&l.textContent.length&&ge.toSelectMode(l),svgedit.browser.isGecko()&&"text"===l.nodeName&&/rotate/.test(l.getAttribute("transform"))&&(0===String(t).indexOf("url")||["font-size","font-family","x","y"].indexOf(e)>=0&&l.textContent)&&(l=xe(l)),S.indexOf(l)>=0&&setTimeout(function(){l.parentNode&&K.requestSelector(l).resize()},0);var c=svgedit.utilities.getRotationAngle(l);if(0!=c&&"transform"!=e)for(var f=svgedit.transformlist.getTransformList(l),p=f.numberOfItems;p--;){var y=f.getItem(p);if(4==y.type){f.removeItem(p);var x=svgedit.utilities.getBBox(l),b=svgedit.math.transformPoint(x.x+x.width/2,x.y+x.height/2,svgedit.math.transformListToTransform(f).matrix),C=b.x,w=b.y,_=u.createSVGTransform();_.setRotate(c,C,w),f.insertItemBefore(_,p);break}}}}}u.unsuspendRedraw(r)},ze=this.changeSelectedAttribute=function(e,t,i){i=i||S,1===i.length&&l&&i[0]&&l.indexOf(i[0].id.substr(0,4))>=0&&(i=i[0].childNodes),o.undoMgr.beginUndoableChange(e,i);i.length;Ue(e,t,i);var r=o.undoMgr.finishUndoableChange();r.isEmpty()||W(r)};this.deleteSelectedElements=function(){var e,t=new svgedit.history.BatchCommand("Delete Elements"),i=S.length,r=[];for(e=0;e1&&(r=t);break;default:e="g",i="Group Elements"}var n=new svgedit.history.BatchCommand(i),a=C({element:e,attr:{id:ue(),target:"_blank"}});"a"===e&&I(a,r),n.addSubCommand(new svgedit.history.InsertElementCommand(a));for(var s=S.length;s--;){var o=S[s];if(null!=o){"a"===o.parentNode.tagName&&1===o.parentNode.childNodes.length&&(o=o.parentNode);var l=o.nextSibling,d=o.parentNode;a.appendChild(o),n.addSubCommand(new svgedit.history.MoveElementCommand(o,l,d))}}n.isEmpty()||W(n),Ae([a],!0)};var Fe=this.pushGroupProperties=function(e,t){var i,r,n,a=e.childNodes,s=a.length,l=e.getAttribute("transform"),d=svgedit.transformlist.getTransformList(e),g=svgedit.math.transformListToTransform(d).matrix,h=new svgedit.history.BatchCommand("Push group properties"),m=0,c=svgedit.utilities.getRotationAngle(e),v=$(e).attr(["filter","opacity"]);for(m=0;mn[i].width)||("t"==e||"m"==e||"b"==e)&&(g==Number.MIN_VALUE||g>n[i].height))&&(a=n[i].x,l=n[i].y,s=n[i].x+n[i].width,d=n[i].y+n[i].height,u=n[i].width,g=n[i].height);break;case"largest":(("l"==e||"c"==e||"r"==e)&&(u==Number.MIN_VALUE||us&&(s=n[i].x+n[i].width),n[i].y+n[i].height>d&&(d=n[i].y+n[i].height)}"page"==t&&(a=0,l=0,s=o.contentW,d=o.contentH);var m=new Array(h),c=new Array(h);for(i=0;ia&&(a=r[t].x+r[t].width),r[t].y+r[t].height>o&&(o=r[t].y+r[t].height),d+=r[t].height,l+=r[t].width;"h"===e?r.sort((e,t)=>e.x>t.x?1:-1):"v"===e&&r.sort((e,t)=>e.y>t.y?1:-1),u--;var h=new Array(r.length),m=new Array(r.length),c=(a-n-l)/u,v=(o-s-d)/u,f=n,p=s;for(t=0;t0?f>y.x?f-y.x:-(y.x-f):0,f+=y.width+c,m[t].y=0;break;case"v":m[t].y=t>0?p>y.y?p-y.y:-(y.y-p):0,p+=y.height+v,h[t].x=0}}h.sort((e,t)=>e.i>t.i?1:-1),m.sort((e,t)=>e.i>t.i?1:-1),h=h.map(e=>Math.round(100*e.x)/100),m=m.map(e=>Math.round(100*e.y)/100),this.moveSelectedElements(h,m)}},this.contentW=Oe().w,this.contentH=Oe().h,this.updateCanvas=function(e,t){u.setAttribute("width",e),u.setAttribute("height",t);var i=$("#canvasBackground")[0],r=g.getAttribute("x"),n=g.getAttribute("y"),a=e/2-this.contentW*v/2,s=t/2-this.contentH*v/2;svgedit.utilities.assignAttributes(g,{width:this.contentW*v,height:this.contentH*v,x:a,y:s,viewBox:"0 0 "+this.contentW+" "+this.contentH}),svgedit.utilities.assignAttributes(i,{width:g.getAttribute("width"),height:g.getAttribute("height"),x:a,y:s});var o=svgedit.utilities.getElem("background_image");return o&&svgedit.utilities.assignAttributes(o,{width:"100%",height:"100%"}),K.selectorParentGroup.setAttribute("transform","translate("+a+","+s+")"),re("canvasUpdated",{new_x:a,new_y:s,old_x:r,old_y:n,d_x:a-r,d_y:s-n}),{x:a,y:s,old_x:r,old_y:n,d_x:a-r,d_y:s-n}},this.setBackground=function(e,t){var i=svgedit.utilities.getElem("canvasBackground"),r=$(i).find("rect")[0],a=svgedit.utilities.getElem("background_image");r.setAttribute("fill",e),t?(a||(a=d.createElementNS(n.SVG,"image"),svgedit.utilities.assignAttributes(a,{id:"background_image",width:"100%",height:"100%",preserveAspectRatio:"xMinYMin",style:"pointer-events:none"})),I(a,t),i.appendChild(a)):a&&a.parentNode.removeChild(a)},this.cycleElement=function(e){ -var t,i=S[0],r=!1,n=ve(f||c().getCurrentLayer());if(n.length){if(null==i)t=e?n.length-1:0,r=n[t];else for(var a=n.length;a--;)if(n[a]==i){t=e?a-1:a+1,t>=n.length?t=0:t<0&&(t=n.length-1),r=n[t];break}Ae([r],!0),D("selected",S)}},this.clear(),this.getExtensionMember=function(e,t){var i=[];return $.each(extensions,function(r,n){n&&e in n&&i.push(n[e](t))}),i},this.getPrivateMethods=function(){var e={addCommandToHistory:W,setGradient:Ve,addSvgElementFromJson:C,addSvgGroupFromJson:w,assignAttributes:L,BatchCommand:q,call:D,ChangeElementCommand:H,copyElem:ye,ffClone:xe,findDefs:E,findDuplicateGradient:Re,getElem:M,getId:de,getIntersectionList:le,getMouseTarget:ke,getNextId:ue,getPathBBox:G,getUrlFromAttr:B,hasMatrixTransform:A,identifyLayers:Le,InsertElementCommand:F,isIdentity:svgedit.math.isIdentity,logMatrix:Ce,matrixMultiply:N,MoveElementCommand:z,preventClickDefault:Ee,recalculateAllSelectedDimensions:be,recalculateDimensions:V,remapElement:O,RemoveElementCommand:j,removeUnusedDefElems:Be,round:oe,runExtensions:re,setSpecialsIds:ne,runGetExtensions:ae,runExtension:se,sanitizeSvg:U,SVGEditTransformList:svgedit.transformlist.SVGTransformList,toString:toString,transformBox:svgedit.math.transformBox,transformListToTransform:k,transformPoint:_,walkTree:svgedit.utilities.walkTree};return e}}; -var mysvgeditor={initSvgEditor:function(e,t,n,o,i,a,r,l){window.svgEditor=function(e){function s(t,n){var o=!1!==u.setSvgString(t);n=n||e.noop,o?n(!0):e.alert(uiStrings.notification.errorLoadingSVG,function(){n(!1)})}var c={};console.log("editor v2.9.4-139"),e(document).unbind("keydown"),c.tool_scale=1,c.exportWindowCt=0,c.langChanged=!1,c.showSaveWarning=!1,c.storagePromptClosed=!1,c.extensionLoadedCallback=n,c.onSelectedElement=t,c.changeColor=o,c.onGaugeAdded=i,c.onGaugeResized=r,c.onGaugeRemoved=a,c.onGaugeCopyPaste=l,c.currentExtensionsInteractivityType=[],c.currentExtensionsPrefixIdType=[],c.shapesGrps={},c.shapesList=[],c.baseSvgTags=["path","line","rect","circle","ellipse","text","image"];var u,d,f=["VAL_","HXI_","HXB_","HXS_"],p=["HXI_","HXB_","HXS_","GXP_","HXC_","BAG_","SLI_","HXT_"],g=["SHE_"],v=svgedit.utilities,h=svgedit.shapes;return isReady=!1,customExportImage=!1,customExportPDF=!1,callbacks=[],defaultPrefs={lang:"",iconsize:"",bkgd_color:"#FFF",bkgd_url:"",img_save:"embed",save_notice_done:!1,export_notice_done:!1},curPrefs={},curConfig={extensions:[],allowedOrigins:[]},defaultExtensions=["ext-overview_window.js","ext-markers.js","ext-connector.js","ext-eyedropper.js","ext-imagelib.js","ext-grid.js","ext-polygon.js","ext-panning.js","ext-storage.js"],defaultConfig={canvasName:"default",canvas_expansion:3,initFill:{color:"FF0000",opacity:1},initStroke:{width:1,color:"000000",opacity:1},initOpacity:1,colorPickerCSS:null,initTool:"select",exportWindowType:"new",wireframe:!1,showlayers:!1,no_save_warning:!1,imgPath:"images/",langPath:"locale/",extPath:"extensions/",jGraduatePath:"jgraduate/images/",shapesPath:"assets/lib/svgeditor/shapes/",dimensions:[640,480],gridSnapping:!0,gridColor:"#000",baseUnit:"px",snappingStep:2,showRulers:!0,preventAllURLConfig:!1,preventURLContentLoading:!1,lockExtensions:!1,noDefaultExtensions:!1,showGrid:!1,noStorageOnLoad:!1,forceStorage:!1,emptyStorageOnDecline:!1},uiStrings=c.uiStrings={common:{ok:"OK",cancel:"Cancel",key_up:"Up",key_down:"Down",key_backspace:"Backspace",key_del:"Del"},layers:{layer:"Layer"},notification:{invalidAttrValGiven:"Invalid value given",noContentToFitTo:"No content to fit to",dupeLayerName:"There is already a layer named that!",enterUniqueLayerName:"Please enter a unique layer name",enterNewLayerName:"Please enter the new layer name",layerHasThatName:"Layer already has that name",QmoveElemsToLayer:"Move selected elements to layer '%s'?",QwantToClear:"Do you want to clear the drawing?\nThis will also erase your undo history!",QwantToOpen:"Do you want to open a new file?\nThis will also erase your undo history!",QerrorsRevertToSource:"There were parsing errors in your SVG source.\nRevert back to original SVG source?",QignoreSourceChanges:"Ignore changes made to SVG source?",featNotSupported:"Feature not supported",enterNewImgURL:"Enter the new image URL",defsFailOnSave:"NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.",loadingImage:"Loading image, please wait...",saveFromBrowser:"Select 'Save As...' in your browser to save this image as a %s file.",noteTheseIssues:"Also note the following issues: ",unsavedChanges:"There are unsaved changes.",enterNewLinkURL:"Enter the new hyperlink URL",errorLoadingSVG:"Error: Unable to load SVG data",URLloadFail:"Unable to load from URL",retrieving:"Retrieving '%s' ..."}},e.pref=function(e,t){return t?(curPrefs[e]=t,void(c.curPrefs=curPrefs)):e in curPrefs?curPrefs[e]:defaultPrefs[e]},c.loadContentAndPrefs=function(){if(curConfig.forceStorage||!curConfig.noStorageOnLoad&&document.cookie.match(/(?:^|;\s*)store=(?:prefsAndContent|prefsOnly)/)){if(c.storage&&(curConfig.forceStorage||!curConfig.noStorageOnLoad&&document.cookie.match(/(?:^|;\s*)store=prefsAndContent/))){var e="svgedit-"+curConfig.canvasName,t=c.storage.getItem(e);t&&c.loadFromString(t)}var n;for(n in defaultPrefs)if(defaultPrefs.hasOwnProperty(n)){var o="web-edit-"+n;if(c.storage){var i=c.storage.getItem(o);i&&(defaultPrefs[n]=String(i))}else if(window.widget)defaultPrefs[n]=widget.preferenceForKey(o);else{var a=document.cookie.match(new RegExp("(?:^|;\\s*)"+v.preg_quote(encodeURIComponent(o))+"=([^;]+)"));defaultPrefs[n]=a?decodeURIComponent(a[1]):""}}}},c.setConfig=function(t,n){function o(t,n,o){t[n]&&"object"==typeof t[n]?e.extend(!0,t[n],o):t[n]=o}n=n||{},e.each(t,function(i,a){if(t.hasOwnProperty(i))if(defaultPrefs.hasOwnProperty(i)){if(!1===n.overwrite&&(curConfig.preventAllURLConfig||curPrefs.hasOwnProperty(i)))return;!0===n.allowInitialUserOverride?defaultPrefs[i]=a:e.pref(i,a)}else if(["extensions","allowedOrigins"].indexOf(i)>-1){if(!1===n.overwrite&&(curConfig.preventAllURLConfig||"allowedOrigins"===i||"extensions"===i&&curConfig.lockExtensions))return;curConfig[i]=curConfig[i].concat(a)}else if(defaultConfig.hasOwnProperty(i)){if(!1===n.overwrite&&(curConfig.preventAllURLConfig||curConfig.hasOwnProperty(i)))return;if(curConfig.hasOwnProperty(i)){if(!1===n.overwrite)return;o(curConfig,i,a)}else!0===n.allowInitialUserOverride?o(defaultConfig,i,a):defaultConfig[i]&&"object"==typeof defaultConfig[i]?(curConfig[i]={},e.extend(!0,curConfig[i],a)):curConfig[i]=a}}),c.curConfig=curConfig},c.setCustomHandlers=function(t){c.ready(function(){t.open&&(e('#tool_open > input[type="file"]').remove(),e("#tool_open").show(),u.open=t.open),t.save&&(c.showSaveWarning=!1,u.bind("saved",t.save)),t.exportImage&&(customExportImage=t.exportImage,u.bind("exported",customExportImage)),t.exportPDF&&(customExportPDF=t.exportPDF,u.bind("exportedPDF",customExportPDF))})},c.randomizeIds=function(){u.randomizeIds(arguments)},c.init=function(t){function n(){curPrefs=e.extend(!0,{},defaultPrefs,curPrefs),c.curPrefs=curPrefs}function o(){curConfig=e.extend(!0,{},defaultConfig,curConfig),curConfig.noDefaultExtensions||(curConfig.extensions=curConfig.extensions.concat(defaultExtensions)),e.each(["extensions","allowedOrigins"],function(t,n){curConfig[n]=e.grep(curConfig[n],function(e,t){return t===curConfig[n].indexOf(e)})}),c.curConfig=curConfig}function i(t,n){var o=t.id,i=o.split("_"),a=i[0],r=i[1];n&&u.setStrokeAttr("stroke-"+a,r),pe(),P("#cur_"+a,o,20),e(t).addClass("current").siblings().removeClass("current")}function r(t,n){e.pref("bkgd_color",t),e.pref("bkgd_url",n),u.setBackground(t,n)}function l(){var t=u.getHref(K);if(t=0===t.indexOf("data:")?"":t,c.promptImgURLcallback){var n=c.promptImgURLcallback;n&&he(n)}else e.prompt(uiStrings.notification.enterNewImgURL,t,function(e){e&&he(e)})}function m(t,n){var o,i;n||(n=u.getZoom()),t||(t=e("#svgcanvas"));var a=3e4,r=u.getContentElem(),l=svgedit.units.getTypeMap(),s=l[curConfig.baseUnit];for(o=0;o<2;o++){var c=0===o,d=c?"x":"y",f=c?"width":"height",p=Number(r.getAttribute(d)),g=e("#ruler_"+d+" canvas:first"),v=g.clone();g.replaceWith(v);var h=v[0],m=t[f](),_=m;h.parentNode.style[f]=_+"px";var w,y,b,C=0,x=h.getContext("2d");if(x.fillStyle="#666666",x.fillRect(0,0,h.width,h.height),v.siblings().remove(),m>=a){var k;for(b=parseInt(m/a,10)+1,w=[],w[0]=x,i=1;i=1)T=Math.round(y);else{var I=String(F).split(".")[1].length;T=y.toFixed(I)}if(0!==T&&1e3!==T&&T%1e3==0&&(T=T/1e3+"K"),c)x.fillText(T,A+2,8);else{var N=String(T).split("");for(i=0;im){if(C++,x.stroke(),C>=b){i=10,A=_;continue}x=w[C],A-=a,O=Math.round(A+B*i)+.5}var U=i%2?12:10;c?(x.moveTo(O,15),x.lineTo(O,U)):(x.moveTo(15,O),x.lineTo(U,O))}A+=P}x.strokeStyle="#666666",x.stroke()}}function _(){u.deleteCurrentLayer()&&(ye(),se(),e("#layerlist tr.layer").removeClass("layersel"),e("#layerlist tr.layer:first").addClass("layersel"))}function w(){var t=u.getCurrentDrawing().getCurrentLayerName()+" copy";e.prompt(uiStrings.notification.enterUniqueLayerName,t,function(t){t&&(u.getCurrentDrawing().hasLayer(t)?e.alert(uiStrings.notification.dupeLayerName):(u.cloneLayer(t),ye(),se()))})}function y(){e("#layerlist tr.layersel").index()!=u.getCurrentDrawing().getNumLayers()-1&&(u.mergeLayer(),ye(),se())}function b(t){var n=e("#layerlist tr.layersel").index(),o=u.getCurrentDrawing().getNumLayers();(n>0||n=n;return 0===t?n:n>=24?i?Math.round(1.1*n):Math.round(n/1.1):n<=1?i?2*n:n/2:o}function x(e,t){var n=Number(e.value);if(0===n)return 100;var o=n+t;return 0===t?n:n>=100?o:o>=n?2*n:n/2}function k(e){e.stopPropagation(),e.preventDefault()}function S(e){e.stopPropagation(),e.preventDefault()}function E(e){e.stopPropagation(),e.preventDefault()}try{"localStorage"in window&&(c.storage=localStorage)}catch(e){}var F=[];e("#lang_select option").each(function(){F.push(this.value)}),function(){var t,i;if(d=e.deparam.querystring(!0),e.isEmptyObject(d))o(),c.loadContentAndPrefs(),n();else{if(d.dimensions&&(d.dimensions=d.dimensions.split(",")),d.bkgd_color&&(d.bkgd_color="#"+d.bkgd_color),d.extensions&&(d.extensions=d.extensions.match(/[:\/\\]/)?"":d.extensions.split(",")),e.each(["extPath","imgPath","langPath","jGraduatePath"],function(e){d[e]&&delete d[e]}),c.setConfig(d,{overwrite:!1}),o(),!curConfig.preventURLContentLoading){if(t=d.source,i=e.param.querystring(),t||i.indexOf("source=data:")>=0&&(t=i.match(/source=(data:[^&]*)/)[1]),t)return void(0===t.indexOf("data:")?c.loadFromDataURI(t):c.loadFromString(t));if(d.url)return void c.loadFromURL(d.url)}d.noStorageOnLoad&&!curConfig.forceStorage||c.loadContentAndPrefs(),n()}}(),function(){var e,n=window.opener;if(n)try{e=n.document.createEvent("Event"),e.initEvent("svgEditorReady",!0,!0),n.document.documentElement.dispatchEvent(e)}catch(e){}t&&setTimeout(t,2e3)}();var P=c.setIcon=function(t,n,o){var i="string"==typeof n?e.getSvgIcon(n,!0):n.clone();i&&e(t).empty().append(i)},A=function(){window.extOverview&&window.extOverview(),window.extMarkers&&window.extMarkers(),window.extEyedropper&&window.extEyedropper(),window.extImagelib&&window.extImagelib(),window.extGrid&&window.extGrid(),window.extPanning&&window.extPanning(),window.extStorage&&window.extStorage(),window.extSwitch&&window.extSwitch(),window.extValue&&window.extValue(),window.extHtmlInput&&window.extHtmlInput(),window.extHtmlChart&&window.extHtmlChart(),window.extHtmlGraph&&window.extHtmlGraph(),window.extHtmlSelect&&window.extHtmlSelect(),window.extHtmlButton&&window.extHtmlButton(),window.extGaugeProgress&&window.extGaugeProgress(),window.extGaugeSemaphore&&window.extGaugeSemaphore(),window.extHtmlBag&&window.extHtmlBag(),window.extLinear&&window.extLinear(),window.extPipe&&window.extPipe(),window.extHtmlSlider&&window.extHtmlSlider(),window.extHtmlSwitch&&window.extHtmlSwitch(),c.putLocale&&c.putLocale(null,F)},L=function(e){h.load(curConfig.shapesPath,function(){Object.values(c.shapesGrps).forEach(e=>{for(var t=0;t"+a.replace(/\n/g,"

")+"

").toggleClass("prompt","prompt"==i),n.empty(),d=e('').appendTo(n),"alert"!==i&&e('').appendTo(n).click(function(){t.hide(),r&&r(!1)}),"prompt"===i)f=e('').prependTo(n),f.val(l||""),f.bind("keydown","return",function(){d.click()});else if("select"===i){var g=e('
');if(f=e("').appendTo(v),p.val(u.value),u.tooltip&&v.attr("title",u.tooltip),p.prop("checked",!!u.checked),g.append(e("
").append(v))}e.each(s||[],function(t,n){"object"==typeof n?f.append(e("