T){var N=Graph.customFontElements[T];null!=N&&N.url!=D&&(N.elt.parentNode.removeChild(N.elt),N=null);null==N?(N=D,"http:"==D.substring(0,5)&&(N=PROXY_URL+"?url="+encodeURIComponent(D)),N={name:u,url:D,elt:Graph.createFontElement(u,N)},Graph.customFontElements[T]=N,Graph.recentCustomFonts[T]=N,D=document.getElementsByTagName("head")[0],null!=K&&("link"==N.elt.nodeName.toLowerCase()?(N.elt.onload=K,N.elt.onerror=K):K()),null!=D&&D.appendChild(N.elt)):null!=K&&K()}else null!=K&&K()}else null!=K&&K();
return u};Graph.getFontUrl=function(u,D){u=Graph.customFontElements[u.toLowerCase()];null!=u&&(D=u.url);return D};Graph.processFontAttributes=function(u){u=u.getElementsByTagName("*");for(var D=0;D<u.length;D++){var K=u[D].getAttribute("data-font-src");if(null!=K){var T="FONT"==u[D].nodeName?u[D].getAttribute("face"):u[D].style.fontFamily;null!=T&&Graph.addFont(T,K)}}};Graph.processFontStyle=function(u){if(null!=u){var D=mxUtils.getValue(u,"fontSource",null);if(null!=D){var K=mxUtils.getValue(u,mxConstants.STYLE_FONTFAMILY,
The product receives input or data, but it does
        not validate or incorrectly validates that the input has the
        properties that are required to process the data safely and
        correctly.