//>>built define("dojo/_base/kernel dojo/_base/lang ./_base dojo/_base/html dojo/_base/array dojo/_base/window dojo/_base/json dojo/_base/Deferred dojo/_base/sniff require dojo/_base/config".split(" "),function(e,k,f,l,g,m,n,p,q,r,t){var d=f.utils={};k.mixin(d,{forEach:function(a,b,c){c=c||e.global;b.call(c,a);(a instanceof f.Surface||a instanceof f.Group)&&g.forEach(a.children,function(a){d.forEach(a,b,c)})},serialize:function(a){var b={},c;if((c=a instanceof f.Surface)||a instanceof f.Group){if(b.children= g.map(a.children,d.serialize),c)return b.children}else b.shape=a.getShape();a.getTransform&&(c=a.getTransform())&&(b.transform=c);a.getStroke&&(c=a.getStroke())&&(b.stroke=c);a.getFill&&(c=a.getFill())&&(b.fill=c);a.getFont&&(c=a.getFont())&&(b.font=c);return b},toJson:function(a,b){return n.toJson(d.serialize(a),b)},deserialize:function(a,b){if(b instanceof Array)return g.map(b,k.hitch(null,d.deserialize,a));a="shape"in b?a.createShape(b.shape):a.createGroup();"transform"in b&&a.setTransform(b.transform); "stroke"in b&&a.setStroke(b.stroke);"fill"in b&&a.setFill(b.fill);"font"in b&&a.setFont(b.font);"children"in b&&g.forEach(b.children,k.hitch(null,d.deserialize,a));return a},fromJson:function(a,b){return d.deserialize(a,n.fromJson(b))},toSvg:function(a){var b=new p;if("svg"===f.renderer)try{var c=d._cleanSvg(d._innerXML(a.rawNode));b.callback(c)}catch(u){b.errback(u)}else{d._initSvgSerializerDeferred||d._initSvgSerializer();var e=d.toJson(a),c=function(){try{var c=a.getDimensions(),f=c.width,g=c.height, h=d._gfxSvgProxy.document.createElement("div");d._gfxSvgProxy.document.body.appendChild(h);m.withDoc(d._gfxSvgProxy.document,function(){l.style(h,"width",f);l.style(h,"height",g)},this);d._gfxSvgProxy[dojox._scopeName].gfx.createSurface(h,f,g).whenLoaded(null,function(a){try{d._gfxSvgProxy[dojox._scopeName].gfx.utils.fromJson(a,e);var c=d._cleanSvg(h.innerHTML);a.clear();a.destroy();d._gfxSvgProxy.document.body.removeChild(h);b.callback(c)}catch(w){b.errback(w)}})}catch(v){b.errback(v)}};0]*)>/gi, "\x3cimage $1 /\x3e"),a=a.replace(/\bdojoGfx\w*\s*=\s*(['"])\w*\1/g,""),a=a.replace(/\b__gfxObject__\s*=\s*(['"])\w*\1/g,""),a=a.replace(/[=]([^"']+?)(\s|>)/g,'\x3d"$1"$2'),a=a.replace(/\bstroke-opacity\w*\s*=\s*(['"])undefined\1/g,""));return a}});return d});