/* @license Copyright (C) Exontrol. All rights reserved. */
function logEvent(e){var n,t,a=document.getElementById("logEvents");if(a){for(n="
",t=a.innerHTML,a.oC=a.oC||{t:0,l:0},a.oC.t++||(t=""),a.oC.l++,t&&(t+=n),t+=""+a.oC.t+""+e;a.oC.l>64;)a.oC.l--,t=t.substr(t.indexOf(n)+n.length);a.innerHTML=t,a.scrollTop=a.scrollHeight}}!function(){"use strict";function e(){return window.devicePixelRatio}function n(){return document.fullscreenElement||document.fullscreen}function t(e){return e instanceof HTMLCanvasElement}function a(e){return!~e.parentElement.className.toLowerCase().indexOf("no-fullscreen")}function r(e){return~e.indexOf(ve)}function s(e){if(ne++,e&&se&&ne<4){se.forEach(function(n){delete e[n]});for(var n in e)s(e[n])}--ne}function i(e,n){for(var t=n.split("."),a=t.length-1;e&&a>=0&&t[a]==e.className.split(" ")[0].trim();a--)a&&(e=e.parentElement);return a<0?e:null}function o(e,n,t,a){a=a||this;var r=0;e.children.forEach(function(e){i(e,n)?(t.call(a,e,r,this),r++):o(e,n,t,a)},this)}function l(e){return e&&(e=e.parentElement)&&(e=e.previousElementSibling)&&e.className.indexOf("property")<0&&(e=null),e}function c(){return function(e,n){try{return e.call(n||this)}catch(e){}}(function(){return window.localStorage})}function u(e){var n=c();return n&&n.getItem(e)||null}function f(e,n){var t=c();t&&t.setItem(e,n)}function m(e){e.preventDefault();var n=(e.originalEvent||e).clipboardData.getData("text/plain");n=n.repAll("\n","").repAll("\r","").repAll("
",""),document.execCommand("insertText",!1,n)}function d(e){switch(e.keyCode){case 13:return e.preventDefault(),!1;case 27:var n=e.target.parentElement;return n&&(n.parentElement.parentElement.parentElement.focus(),e.preventDefault()),!1}}function p(e){var n=e.target,t=l(n);if(t){var a=t.getAttribute("user-option"),r=D(a);if(r){var s=z(r.name);if(s instanceof Object){var i=n.innerText,o=i;n.className=n.className.replace("invalid","").trim(),void 0===(i=z(i))&&(n.className+=" invalid",i=null),ye.set(a,o.repAll("\n","\\n")),G(s,r.options,i),X(t)}}t.className.indexOf("checked")<0&&Y(t)}}function h(e){var n="",t=e.indexOf(Ee);return t>=0&&(n=e.substr(t+1)),{name:n,object:t<0?"":e.substr(0,t)}}function v(e,n){return e.replace(n,"")}function g(e){function n(e){for(var n="";e0)if(1==a.length)t=a[0];else{var s,i=z(r.object);if(i&&(s=i.GetOptions instanceof Function?i.GetOptions():i)){for(var o,l=[],c=0,u=a.length;!t&&c1)switch(s[0]){case"normal":case"hover":case"click":case"disabled":s[0]="shape"}for(;i":return t;default:t+=r}}return t}function s(e,n,t){for(var a=null,r=(t=t||g).length,s=0;null==a&&s=0)&&(a=i)}}return a}function i(e,n){var t=null;return e.sWith("@",n)&&null!=(t=s(e,n+1,E))&&(t="@"+t),t}function o(){var e=w.length;if(e)return"script"==w[e-1]}function l(e,n){n&&(n=n.trim())&&N.push(n),e&&N.push(e)}function c(e){function n(e){return e==Ee||e==we}switch(e){case")":e="(";break;case"}":e="{"}for(;N.length&&N.pop()!=e;);var t=n(e);n(N[N.length-1])&&(N.pop(),t=!0),t&&N.pop()}function u(e,n){if(N.length){var t=e.substr(n).trim(),a=t.indexOf(Ee);if(~a){var r,s=t.substr(0,a).trim();if(/^[_a-zA-Z][_a-zA-Z0-9]*$/.test(s)&&(r=function(e){function n(){a<0&&(r||s||(a=i))}for(var t,a=-1,r=0,s=0,i=0,o=(e=e.trim()).length;a<0&&i"+C),L||(C+="")):v&&(v=!1,L||(C+=""),p||(C+="")))}var t,f,d,h,v,g,E,x,C="",L=r(e);b&&(w.push(b),b=""),L&&(e=e.replace(ve,""));for(var O=0,j=e.length,T=0,k=0,A=0;OO&&(O++,C+=I,C+="",C+=e.substr(O,H-O),C+="",C+=M,O=H,I=0)}else switch(I){case"<":if(T)I="<";else if(!o()||"/"==B){C+="<",C+="",k=I;if("/"==(B=e[O+1])){var W=w.length;W&&w.splice(W-1)}else b=a(e,O+1);I=0}break;case" ":case"\t":k&&(C+="",A=k,k=0,C+="");break;case">":T?I=">":o()||(A&&(C+="",A=0),k&&(C+="",k=0),C+=">",I=0);break;case"'":case'"':y||(T?T==I&&(T=0,C+=I,C+="",I=0):(T=I,C+="",C+=I,I=0));break;case";":T||y||(N=[])}if(I){if(o()&&!T)if(y)e.sWith("*/",O)&&(C+="*/",y=0,O++,I=0);else if(e.sWith("/*",O))y=I,C+="",t.push(i),p){var N=h(u.option),C=N.name;if(C&&a>=0&&a=0&&(L=C.substr(O+1)),L&&(s[a]=v(s[a],L),d=v(d,L)),s[a=Math.max(0,a-1)]=""+s[a],g+="
"}}}m=(m+=d+g).replace(/\s+$/g,""),p||(n="line",u.option&&(n="opt-"+n,c&&(n+=" opt-readonly"),","!=m[m.length-1]&&(e[i].match(/.*:.*function\(.*\)/)||(m+=",")),","==m[m.length-1]&&(m=m.substr(0,m.length-1)+",")),m=""+m+""),s.push(m)}return{c:s.join(x),l:e.length,o:t}}(C)}function A(e){return R(e).replace("#","")}function I(){return A(window.parent.location.hash)}function B(){return document.getElementsByClassName("jssamples")[0]}function H(){var e=B();return e&&"inline"==getComputedStyle(e).display}function M(e){var n,t,a,r=I();return o(e,"jssamples.header.sample",function(e){if(null==n&&(n=e.innerText),null==t){e.className.indexOf(oe)>=0&&(t=e.innerText)}r&&null==a&&R(e.innerText)==r&&(a=e.innerText)}),a||t||n}function S(e){function n(e){var n,t=M(e);if(t){var a=document.getElementById(R(t));a&&(n=function(e){var n=e.getElementsByTagName("canvas");return null!=n?n[0]:null}(a))}return n}var t=document.activeElement;return null!=t&&"CANVAS"!=t.tagName&&(t=null),null==t&&(null!=e?t=n(e):document.getElementsByClassName("jssamples").forEach(function(e){t=t||n(e)},this)),t}function W(){var t=S();if(t){var r=function(){var e=t.parentElement,a=getComputedStyle(e),r=exontrol.Ert(e),s=0;if(!n())for(var i=0,o=e.children,l=o.length;!s&&i8&&(a-=8,r.style.height=a+"px",W())}}),function(e,n,t){var a=n&&n.innerHTML||"";a||(n=document.getElementById(R(M(e))))&&(a=n&&n.innerHTML||"");o(e,"jssamples.code.source",function(e){var n="";if(a){for(var r=k(a,t),s="",i=0;i=0?" class='line-number-option'":" class='line-number-nonoption'",s+=">"+(i+1)+"";n=(s+="")+r.c}q(e,n),e.parentElement.scrollTop=0})}(e,r)}}function q(e,n){e.innerHTML=n,e.getElementsByClassName("value").forEach(function(e){e.addEventListener("keydown",d),e.addEventListener("paste",m),e.addEventListener("input",p),e.addEventListener("focus",T)})}function z(e){var n;try{n=Function('"use strict"; return ('+e+")")()}catch(e){}return n}function D(e){var n=[],t=e?e.indexOf(Ee):-1;if(t>=0){var a=e.substr(0,t),n=e.substr(t+1).split(ge);if(a.eWith(".Options")&&(a=a.substr(0,a.length-8)),n.length>0){return{name:a,options:n}}}return null}function _(e,n){if(e instanceof Object){var t=e.GetOptions instanceof Function?e.GetOptions():e;if(null!=t){for(var a=n.length,r=0;t instanceof Object&&r=0,s=r?null:z(ye.get(n));void 0!==s&&G(a,t.options,s),e.className=(r?e.className.replace(/checked/g,""):e.className+" checked").trim(),X(e)}}w(n)}}function X(e){if(exontrol){var n,t=function(e){for(var n=e;n&&n.className.indexOf("jssamples")<0;)n=n.parentElement;return n}(e);t&&(n=M(t))&&(n=document.getElementById(R(n)))&&n.children.forEach(function(e){"CANVAS"==e.tagName&&exontrol.CC.Refresh(e)})}}function V(e){function n(){var e=function(){var e,n="";return document.head.getElementsByTagName("script").forEach(function(t){(e=t.outerHTML).indexOf("exontrol.help.def")<0&&e.indexOf("exontrol.jscode")<0&&(n+=(n?"\n":"")+"\t"+e.repAll("