1.视频演示

vue中使用graphvis渲染知识图谱

2.引入js

graphvis.layout.min.js

;eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(u(){7 2S=u(H,S){e.H=H;e.S=S;e.58=3.0;e.48=0.aV;e.4C=0.0;e.6z=5.0;e.6A=10.0;e.2T={};e.Y=1v};2S.J.1S=u(){N[{\'Z\':\'邻点引力\',\'58\':8.0},{\'Z\':\'引力\',\'48\':0.97},{\'Z\':\'力缩放系数\',\'4C\':8.0}]};2S.J.1T=u(T){7 g=e;D(T){e.58=1q(T[\'58\'])||8.0;e.48=1q(T[\'48\'])||0.97;e.4C=1q(T[\'4C\'])||8.0;e.2T={};g.H.X(u(n){n.2U=(n.1M||[]).M+(n.1D||[]).M})}e.Y=17};2S.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};2S.J.1U=u(){D(e.Y){e.1m()}};2S.J.1p=u(){7 g=e;g.58=8.0;g.48=0.12;g.4C=5.0;g.6z=5.0;g.6A=10.0;g.H.X(u(n){7 1M=n.1M||[];7 1D=n.1D||[];n.2U=1M.M+1D.M});e.Y=17};2S.J.1m=u(){7 g=e;7 3B=3C,3D=3C;g.H.X(u(F){7 f=g.98(F);7 2U=F.2U;7 7M=2U<=1?g.6z:g.6z/K.7N(2U,0.4);f={x:f.x*7M,y:f.y*7M};F.x+=f.x;F.y+=f.y;3B=K.2t(3B,F.x);3D=K.2t(3D,F.y)});g.H.X(u(F){F.x+=(25-3B);F.y+=(25-3D)})};2S.J.98=u(F){7 g=e;7 9a=g.H.M;7 2E={x:0,y:0};D(F.x==0&&F.y==0){N 2E}g.H.X(u(n){D(F.P!=n.P&&(n.x!=0||n.y!=0)){7 1V=n.x-F.x;7 1W=n.y-F.y;D(1V==0&&1W==0){1V=50;1W=50}7 3E=1.0;D(g.9b(F,n)){3E=g.58}3E=3E*(g.48/K.1w(9a));2E={x:2E.x+1V*3E,y:2E.y+1W*3E};3E=1.0/K.1w(1V*1V+1W*1W);2E={x:2E.x-1V*3E*g.4C,y:2E.y-1W*3E*g.4C}}});7 5J=g.5J(0.0,0.0,2E.x,2E.y);D(5J>g.6A){7 7O=g.6A/5J;2E={x:2E.x*7O,y:2E.y*7O}}N 2E};2S.J.aW=u(F){N(F.1M||[]).M+(F.1D||[]).M};2S.J.9b=u(F,9c){7 2T=[];(F.1M||[]).X(u(l){2T.1x(l.1F)});(F.1D||[]).X(u(l){2T.1x(l.19)});7 9d=1v;2T.X(u(n){D(n.P==9c.P){9d=17}})};2S.J.5J=u(2F,2G,x,y){2F-=x;2G-=y;N K.1w(2F*2F+2G*2G)};7 3F=u(H,S){e.H=H;e.3k=49;e.5K=1v;e.1H=17;e.5L=\'6B\';e.2M=1.2;e.59=K.1J*2;e.2d=[0,0];e.1r=50;e.Y=1v};3F.J.1S=u(){N[{\'Z\':\'直径计算\',\'5L\':[{Z:\'自动\',1N:\'6B\'},{Z:\'指定\',1N:\'aX\'}]},{\'Z\':\'直径大小\',\'3k\':49},{\'Z\':\'中心位置\',\'2d\':[0,0]}]};3F.J.1T=u(T){e.3k=1q(T[\'3k\'])||49;e.5L=T[\'5L\']||\'6B\';e.2d=T[\'2d\']||[0,0];D(e.5L==\'6B\'){e.5K=1v}U{e.5K=17}e.1p()};3F.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};3F.J.1U=u(){D(e.Y){e.1m()}};3F.J.1p=u(){7 g=e;7 H=g.H;7 1h=H.M;7 2H=[];7 5M=0.0;7 6C=0.0;7 20=0;7 2N=0.0;7 1O=g.59/1h;7 3G=0.0;H=H.4D(u(2p,2b){7 x=(2p.1M||[]).M+(2p.1D||[]).M;7 y=(2b.1M||[]).M+(2b.1D||[]).M;D(x>y){N-1}U D(x<y){N 1}U{N 0}});D(!g.5K){16(7 i=0;i<1h;i++){7 n=H[i];5M+=(n.2V*n.1f*2)*1.2}5M*=g.2M;6C=5M/K.1J;1O=g.59/5M}U{6C=g.3k}7 1f=6C/2;16(7 i=0;i<1h;i++){7 n=H[i];D(!g.5K){2N=n.2V*n.1f*2;7 4a=1O*2N*g.2M;2H=g.5a(1f,1,3G+4a);3G+=2N*1.2*1O*g.2M}U{2H=g.5a(1f,20,1O)}7 W=g.1y();W.Q=2H[0];W.R=2H[1];W.1b=(1.0/g.1r)*(2H[0]-n.x);W.1c=(1.0/g.1r)*(2H[1]-n.y);n.O=W;20++}e.Y=17};3F.J.5a=u(1f,5b,1O){7 4b=[];4b[0]=e.2d[0]+(1f*K.26(1O*5b));4b[1]=e.2d[1]+(1f*K.27(1O*5b));N 4b};3F.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 3H=u(H,S){e.H=H;e.S=S;e.6D=1v;e.3l=15;e.aY=17;e.1H=17;e.59=K.1J*2;e.1r=50;e.Y=1v};3H.J.1S=u(){N[{\'Z\':\'分布位置\',\'I\':[{Z:\'环内部\',1N:\'7P\'},{Z:\'环外部\',1N:\'aZ\'}]},{\'Z\':\'核心数\',\'3l\':15}]};3H.J.1T=u(T){e.3l=1q(T[\'3l\'])||15;e.I=T[\'I\']||\'7P\';D(e.I==\'7P\'){e.6D=1v}U{e.6D=17}e.1p()};3H.J.1U=u(){D(e.Y){e.1m()}};3H.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};3H.J.1p=u(){7 g=e;7 H=g.H;7 6E=H.M;7 2H=[];7 2W=0,36=0;7 3G=0,6F=0,5N=0;7 6G=1,4E=1;D(g.3l>6E){g.3l=1}H=H.4D(u(2p,2b){7 x=(2p.1M||[]).M+(2p.1D||[]).M;7 y=(2b.1M||[]).M+(2b.1D||[]).M;D(x>y){N-1}U D(x<y){N 1}U{N 0}});16(7 i=0;i<6E;i++){7 n=H[i];7 2N=n.2V*n.1f;D(i<g.3l){2W+=2N*2.0}U{36+=2N*2.0}}7 7Q=36/2W;D(7Q<2){6G=2/7Q;36=2*2W}D(g.6D){4E=(2*36)/2W;2W=36*2}U{4E=36/(2*2W);2W=36/2}36*=1.2;7R=g.59/36;7 9e=36/K.1J/2;2W*=1.2;6F=g.59/2W;7 9f=2W/K.1J/2;16(7 i=0;i<6E;i++){7 n=H[i];7 2N=n.2V*n.1f;D(i<g.3l){D(4E>2){2N=2W/((2*g.3l)*4E*1.2)}7 4a=6F*2N*1.2*4E;D(i==0){5N=4a}2H=g.5a(9f,1,(3G+4a)-5N);3G+=2N*2*6F*1.2*4E}U{7 4a=7R*2N*1.2*6G;D(i==g.3l){3G=0;5N=4a}2H=g.5a(9e,1,(3G+4a)-5N);3G+=2N*2*7R*1.2*6G}7 W=g.1y();W.Q=2H[0];W.R=2H[1];W.1b=(1.0/g.1r)*(2H[0]-n.x);W.1c=(1.0/g.1r)*(2H[1]-n.y);n.O=W}e.Y=17};3H.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};3H.J.5a=u(1f,5b,1O){7 4b=[];4b[0]=(1f*K.26(1O*5b+K.1J/2));4b[1]=(1f*K.27(1O*5b+K.1J/2));N 4b};7 4c=u(H,S){e.H=H;e.S=S;e.4d=11;e.2e=30;e.1H=17;e.1r=50;e.Y=1v};4c.J.1S=u(){N[{\'Z\':\'外层点数\',\'4d\':11},{\'Z\':\'层间距\',\'2e\':30}]};4c.J.1T=u(T){e.4d=1q(T[\'4d\'])||11;e.2e=1q(T[\'2e\'])||30;e.1p()};4c.J.1U=u(){D(e.Y){e.1m()}};4c.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};4c.J.1p=u(){7 g=e;7 H=g.H;7 1h=H.M;7 5c=0,6H=0,5O=0;7 5d=0,1O=0;H=H.4D(u(2p,2b){7 x=(2p.1M||[]).M+(2p.1D||[]).M;7 y=(2b.1M||[]).M+(2b.1D||[]).M;D(x<y){N-1}U D(x>y){N 1}U{N 0}});D(g.4d>1h){g.4d=0}16(7 i=0;i<1h;i++){7 F=H[i];5O+=F.1f*F.2V;D(5O>6H){7S=F.1f*F.2V;5e=5c+g.2e+7S;6H=2*K.1J*5e;5c=5c+g.2e+F.1f*F.2V;1O=1.0/5e;5d=0;5O=F.1f*F.2V}7 6I=0;D(i<(1h-g.4d)){6I=1O*F.1f*F.2V}U{5e=5c+g.2e+7S;6I=2*K.1J/g.4d}5d+=6I;7 W=g.1y();W.Q=5e*2.4*K.26(5d+K.1J);W.R=5e*2.4*K.27(5d+K.1J);W.1b=(1.0/g.1r)*(W.Q-F.x);W.1c=(1.0/g.1r)*(W.R-F.y);F.O=W}e.Y=17};4c.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 4e=u(H,S){e.H=H;e.S=S;e.5f=b0;e.2f=4F;e.2A=1.2;e.4f=4F.0;e.2h=10;e.Y=1v};4e.J.1y=u(){7 O={13:0.0,14:0.0,5g:0.0,5h:0.0,b1:0.0};N O};4e.J.1U=u(){D(e.Y){e.1m()}};4e.J.1S=u(){N[{\'Z\':\'区域大小\',\'2f\':49},{\'Z\':\'重力\',\'2A\':2.0}]};4e.J.1T=u(T){7 g=e;D(T){e.2f=1q(T[\'2f\'])||49;e.2A=1q(T[\'2A\'])||1.5;e.H.X(u(n){n.O=g.1y()})}e.Y=17};4e.J.1p=u(){7 g=e;g.2f=g.H.M/2;g.H.X(u(n){n.O=g.1y()});e.Y=17};4e.J.1m=u(){7 g=e;7 H=g.H;7 1h=H.M;7 3I=K.1w(g.5f*g.2f)/10.0;7 k=K.1w((g.5f*g.2f)/(1.0+1h));H.X(u(2B,i){2B.O.13=0;2B.O.14=0;H.X(u(37,j){D(i!=j){7 1A=2B.x-37.x;7 1B=2B.y-37.y;7 1a=K.1w(1A*1A+1B*1B);D(1a>0){7 3J=k*k/1a;7 O=2B.O;O.13+=(1A/1a*3J);O.14+=(1B/1a*3J)}}})});7 S=g.S;S.X(u(E){7 4g=E.1F;7 4h=E.19;7 1A=4g.x-4h.x;7 1B=4g.y-4h.y;7 1a=K.1w(1A*1A+1B*1B);7 2i=1a*1a/k;D(1a>0){7 3K=4g.O;7 3L=4h.O;3K.13-=(1A/1a*2i);3K.14-=(1B/1a*2i);3L.13+=(1A/1a*2i);3L.14+=(1B/1a*2i)}});H.X(u(n){7 O=n.O;7 d=K.1w(n.x*n.x+n.y*n.y);7 5i=0.3M*k*g.2A*d;O.13-=5i*n.x/d;O.14-=5i*n.y/d;O.13*=g.2h/g.4f;O.14*=g.2h/g.4f;7 1a=K.1w(O.13*O.13+O.14*O.14);D(1a>0){7 3N=K.2t(3I*(g.2h/g.4f),1a);n.x+=(O.13/1a*3N);n.y+=(O.14/1a*3N)}})};7 4G=u(H,S){e.H=H;e.S=S;e.2v={9g:17,2f:4H,2A:3,2h:0.9h,9i:4H};e.3I=10;e.k=5P.0;e.5Q=0;e.Y=1v};4G.J.1S=u(){7 G=e;N[{\'Z\':\'重力\',\'2A\':0.5},{\'Z\':\'边长度\',\'k\':G.k},{\'Z\':\'收敛速度\',\'2h\':0.50}]};4G.J.1T=u(T){D(T){e.H.X(u(F){F.38=F.x;F.39=F.y;F.2C={13:0,14:0}});e.2v.2A=1q(T[\'2A\'])||0.5;e.2v.2h=1q(T[\'2h\'])||0.9h;e.k=1q(T[\'k\'])||5P;e.5Q=0}e.Y=17};4G.J.1p=u(){7 G=e;7 3O=e.H.M;G.H.X(u(F){F.38=F.x;F.39=F.y;F.2C={13:0,14:0}});G.2v.2f=G.2v.9g?(3O*3O):G.2v.2f;G.3I=K.1w(G.2v.2f)/8;G.k=K.1w(G.2v.2f/(1+3O));D(G.3I<6J){G.3I=6J}D(G.k<40){G.k=40}G.5Q=0;e.Y=17};4G.J.1U=u(){D(e.5Q>e.2v.9i){N}D(e.Y){e.1m();e.5Q++}};4G.J.1m=u(){7 G=e;7 H=G.H;7 S=G.S;7 3O=G.H.M;16(7 i=0;i<3O;i++){7 n=H[i];16(7 j=0;j<3O;j++){7 2b=H[j];D(n.P!=2b.P){7 1A=n.38-2b.38;7 1B=n.39-2b.39;7 1a=K.1w(1A*1A+1B*1B)+0.3M;D(1a>0){7 3J=G.k*G.k/1a;n.2C.13+=1A/1a*3J;n.2C.14+=1B/1a*3J}}}};7 9j=S.M;16(i=0;i<9j;i++){7 21=S[i];7 5R=21.1F;7 5S=21.19;7 1A=5R.38-5S.38;7 1B=5R.39-5S.39;7 1a=K.1w(1A*1A+1B*1B)+0.3M;7 2i=1a*1a/G.k;D(1a>0){5R.2C.13-=1A/1a*2i;5R.2C.14-=1B/1a*2i;5S.2C.13+=1A/1a*2i;5S.2C.14+=1B/1a*2i}};16(7 i=0;i<3O;i++){7 n=H[i];7 d=K.1w(n.38*n.38+n.39*n.39);7 5i=0.3M*G.k*G.2v.2A*d;n.2C.13-=5i*n.38/d;n.2C.14-=5i*n.39/d;n.2C.13*=G.2v.2h;n.2C.14*=G.2v.2h;D(!n.6K){7 1A=n.2C.13;7 1B=n.2C.14;1a=K.1w(1A*1A+1B*1B);D(1a>0){7 3N=K.2t(G.3I*G.2v.2h,1a);n.38+=1A/1a*3N;n.39+=1B/1a*3N}}}16(7 i=0;i<3O;i++){H[i].x=H[i].38;H[i].y=H[i].39}};7 3m=u(H,S){e.H=H;e.S=S;e.9k=1;e.9l=1;e.5j=60;e.4I=60;e.9m=1v;e.2d=[25,25];e.1H=17;e.1r=50;e.Y=1v};3m.J.1S=u(){N[{\'Z\':\'水平间距\',\'5j\':25},{\'Z\':\'垂直间距\',\'4I\':25}]};3m.J.1T=u(T){D(T){e.5j=1q(T[\'5j\'])||25;e.4I=1q(T[\'4I\'])||25;e.2d=T[\'2d\']||[25,25];e.1p()}};3m.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};3m.J.1U=u(){D(e.Y){e.1m()}};3m.J.1p=u(){7 g=e;7 H=g.H;7 1h=H.M;7 7T=K.4J(K.1w(1h))+1;7 7U=K.4J(K.1w(1h))+1;e.Y=17;H=H.4D(u(2p,2b){7 x=(2p.1M||[]).M+(2p.1D||[]).M;7 y=(2b.1M||[]).M+(2b.1D||[]).M;D(x>y){N-1}U D(x<y){N 1}U{N 0}});7 k=0;16(7 i=0;i<7T;i++){16(7 j=0;j<7U;j++){D(k>=1h){2c}7 1V,1W;D(g.9m){1V=g.7V(i,j);1W=g.7W(i,j)}U{1V=g.7W(i,j);1W=-g.7V(i,j)}1V+=(g.2d[0]-7T/2*g.5j);1W+=(g.2d[1]+7U/2*g.4I-g.4I);7 F=H[k++];7 W=g.1y();W.Q=1V;W.R=1W;W.1b=(1.0/g.1r)*(1V-F.x);W.1c=(1.0/g.1r)*(1W-F.y);F.O=W}}};3m.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};3m.J.7V=u(7X,7Y){N e.9k+7X*e.5j};3m.J.7W=u(7X,7Y){N e.9l+7Y*e.4I};7 3a=u(5T,5U){e.H=5T;e.S=5U;e.2g=[];e.3n=[];e.3o=[];e.2j=[];e.2k=[];e.3p=[];e.4i=9n.0;e.5k=5.0;e.Y=1v};3a.J.1S=u(){7 6L=e.9o(e.H.M);N[{\'Z\':\'区域大小\',\'4i\':6L}]};3a.J.1T=u(T){D(T){e.4i=1q(T[\'4i\'])||4H;e.1p()}};3a.J.1U=u(){7 i=0;3P(i++<25&&e.Y){e.1m()}};3a.J.1p=u(){7 g=e;7 H=g.H;7 1h=H.M;e.Y=17;7 6M=g.5k;g.2g=[];g.3p=[];g.3n=[];g.3o=[];g.2j=[];g.2k=[];H.X(u(F){g.2g.1x(F.P);g.3p.1x({P:F.P,x:F.x/(g.4i/g.5k),y:F.y/(g.4i/g.5k)})});7 2j=[1h];7 2k=[1h];7 1X=g.9p(1h);7 3Q=g.9q(1h,1X);g.9r(6M,3Q,1X,2k,2j);7 7Z=[1h];7 81=[1h];g.3p.X(u(3R,i){7 4K=0.0,5l=0.0;g.3p.X(u(82,j){D(i!=j){7 13=3R.x-82.x;7 14=3R.y-82.y;7 83=K.1w(13*13+14*14);4K+=2k[i][j]*(13-2j[i][j]*13/83);5l+=2k[i][j]*(14-2j[i][j]*14/83)}});7Z[i]=4K;81[i]=5l});g.3n=7Z;g.3o=81;g.2j=2j;g.2k=2k};3a.J.1m=u(){7 g=e;7 1h=g.3p.M;7 9s=0.b2;7 4K=0.0,5l=0.0;7 A=0.0,B=0.0,C=0.0;7 84,6N;7 5V,5W,5X,5Y;7 m=0;7 6O=-1;16(7 i=0;i<1h;i++){7 2X=(g.3n[i]*g.3n[i]+g.3o[i]*g.3o[i]);D(2X>6O){m=i;6O=2X}}D(6O<9s){N}7 3R=g.3p[m];5V=3R.x;5W=3R.y;16(7 i=0;i<1h;i++){D(i==m){2c}7 4j=g.3p[i];7 13=5V-4j.x;7 14=5W-4j.y;7 1a=K.1w(13*13+14*14);7 6P=1a*(13*13+14*14);A+=g.2k[m][i]*(1.0-g.2j[m][i]*14*14/6P);B+=g.2k[m][i]*(g.2j[m][i]*13*14/6P);C+=g.2k[m][i]*(1.0-g.2j[m][i]*13*13/6P)}4K=g.3n[m];5l=g.3o[m];6N=(B*4K-5l*A)/(C*A-B*B);84=-(4K+B*6N)/A;5X=5V+84;5Y=5W+6N;g.3n[m]=g.3o[m]=0.0;16(7 i=0;i<1h;i++){D(i==m){2c}7 4j=g.3p[i];7 5g=5V-4j.x;7 5h=5W-4j.y;7 85=K.1w(5g*5g+5h*5h);7 4L=5X-4j.x;7 4M=5Y-4j.y;7 5Z=K.1w(4L*4L+4M*4M);g.3n[i]-=g.2k[m][i]*(-5g+g.2j[m][i]*5g/85);g.3o[i]-=g.2k[m][i]*(-5h+g.2j[m][i]*5h/85);g.3n[i]+=g.2k[m][i]*(-4L+g.2j[m][i]*4L/5Z);g.3o[i]+=g.2k[m][i]*(-4M+g.2j[m][i]*4M/5Z);g.3n[m]+=g.2k[m][i]*(4L-g.2j[m][i]*4L/5Z);g.3o[m]+=g.2k[m][i]*(4M-g.2j[m][i]*4M/5Z)}3R.x=5X;3R.y=5Y;7 20=g.2g.2n(3R.P);7 F=g.H[20];F.x=5X*(g.4i/g.5k);F.y=5Y*(g.4i/g.5k)};3a.J.9q=u(1h,1X){7 3Q=0;16(7 i=0;i<1h;i++){16(7 j=i+1;j<1h;j++){D(1X[i][j]==3C){2c}D(1X[i][j]>3Q){3Q=1X[i][j]}}}16(7 i=0;i<1h;i++){16(7 j=0;j<1h;j++){D(1X[i][j]==3C){1X[i][j]=3Q}}}N 3Q};3a.J.9r=u(6M,3Q,1X,2k,2j){7 L=6M/3Q;7 1h=e.3p.M;16(7 i=0;i<1h;i++){2k[i]=[1h];2j[i]=[1h];16(7 j=0;j<1h;j++){7 9t=1X[i][j]*1X[i][j];D(i==j){2c}2k[i][j]=K.7N(1h,2)*1.0/9t;2j[i][j]=L*1X[i][j]}}};3a.J.9p=u(1h){7 g=e;7 1X=[1h];16(7 i=0;i<1h;i++){1X[i]=[1h];16(7 j=0;j<1h;j++){D(i==j){1X[i][j]=0;2c}1X[i][j]=3C}}g.S.X(u(21){7 i=g.2g.2n(21.1F.P);7 j=g.2g.2n(21.19.P);1X[i][j]=1;1X[j][i]=1});16(7 k=0;k<1h;k++){16(7 i=0;i<1h;i++){16(7 j=i+1;j<1h;j++){7 3S=1X[i][k]+1X[k][j];D(3S<1X[i][j]){1X[i][j]=3S;1X[j][i]=3S}}}}N 1X};3a.J.9o=u(1h){7 9u=9v;7 86=b3;7 9w=9u-86;7 6Q=5;7 9x=K.87(4F+6Q);7 88=K.87(6Q);7 9y=9x-88;7 6L=K.4J(((K.87((K.2t(1h,9v)/10)+6Q)-88)*9w/9y+86));N 6L};7 3q=u(H,S){e.H=H;e.S=S;e.2e=80;e.9z=17;e.1H=17;e.1r=50;e.Y=1v};3q.J.1S=u(){N[{\'Z\':\'层间距\',\'2e\':80}]};3q.J.1T=u(T){D(T){e.2e=1q(T[\'2e\'])||25;e.1p()}};3q.J.1U=u(){D(e.Y){e.1m()}};3q.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};3q.J.1p=u(){7 g=e;7 H=g.H;7 1h=H.M;7 5c=0,6H=0,5O=0;7 5d=0,1O=0;e.Y=17;H=H.4D(u(2p,2b){7 x=(2p.1M||[]).M+(2p.1D||[]).M;7 y=(2b.1M||[]).M+(2b.1D||[]).M;D(x<y){N-1}U D(x>y){N 1}U{N 0}});7 6R=g.6S(H[0]);7 5m=H[0].x;7 5n=H[0].y;7 61=6R;7 89=17;7 6T=0;7 2Y=[];H.X(u(n){D(g.6S(n)!=61){D(89&&2Y.M>1){6T=1}89=1v;g.8a(2Y,5m,5n,6T+(61-6R));2Y=[];61=g.6S(n)}2Y.1x(n)});D(2Y.M>0){g.8a(2Y,5m,5n,6T+(61-6R))}};3q.J.6S=u(F){N(F.1M||[]).M+(F.1D||[]).M};3q.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};3q.J.8a=u(2Y,5m,5n,1f){7 g=e;D(g.9z){1t M=0;2Y.X(u(n){M+=n.1f});7 3T=0;7 62=9A/M;2Y.X(u(o,i){3T+=(62*o.1f)/2;7 63=0;D(i%3==1){63=o.1f*(-1)}D(i%3==2){63=o.1f}7 x=5m+((g.2e*1f)+63)*K.26(3T*(K.1J/5o));7 y=5n+((g.2e*1f)+63)*K.27(3T*(K.1J/5o));3T+=(62*o.1f)/2;7 W=g.1y();W.Q=x;W.R=y;W.1b=(1.0/g.1r)*(x-o.x);W.1c=(1.0/g.1r)*(y-o.y);o.O=W})}U{7 3T=0;7 62=9A/2Y.M;2Y.X(u(o){7 x=5m+(g.2e*(1f)*K.26(3T*(K.1J/5o)));7 y=5n+(g.2e*(1f)*K.27(3T*(K.1J/5o)));7 W=g.1y();W.Q=x;W.R=y;W.1b=(1.0/g.1r)*(x-o.x);W.1c=(1.0/g.1r)*(y-o.y);o.O=W;3T+=62})}};7 4k=u(H,S){e.H=H;e.S=S;e.6U={9B:K.1J,6V:17,9C:1v,8b:17,9D:10,4N:50,4O:1};e.1H=17;e.1r=50;e.Y=1v};4k.J.1S=u(){N[{\'Z\':\'节点大小\',\'4N\':50},{\'Z\':\'分层系数\',\'4O\':1}]};4k.J.1T=u(T){D(T){e.6U.4N=1q(T[\'4N\'])||50;e.6U.4O=1q(T[\'4O\'])||1}e.1p()};4k.J.1U=u(){D(e.Y){e.1m()}};4k.J.1p=u(){7 G=e;1t 3r=G.6U;1t H=G.H;7 bb={1k:0,1l:0,w:3r.4N*5,h:3r.4N*5};1t 2d={x:bb.1k+bb.w/2,y:bb.1l+bb.h/2};1t 64=[];16(1t i=0;i<H.M;i++){1t F=H[i];1t 1N;1N=(F.1M||[]).M+(F.1D||[]).M;64.1x({1N:1N,F:F})}64.4D(u(a,b){N b.1N-a.1N});1t 4O=3r.4O;1t 2I=[[]];1t 5p=2I[0];16(1t i=0;i<64.M;i++){1t 4P=64[i];D(5p.M>0){1t 3b=K.18(5p[0].1N-4P.1N);D(3b>=4O){5p=[];2I.1x(5p)}}5p.1x(4P)}1t 4Q=3r.4N+3r.9D;D(3r.8b){1t 9E=2I.M>0&&2I[0].M>1;1t 9F=(K.2t(bb.w,bb.h)/2-4Q);1t 9G=9F/(2I.M+9E?1:0);4Q=K.2t(4Q,9G)}1t r=0;16(1t i=0;i<2I.M;i++){1t 1I=2I[i];1t 9H=2*K.1J-2*K.1J/1I.M;1t 4R=1I.4R=9H/(K.22(1,1I.M-1));D(1I.M>1&&3r.8b){1t 8c=K.26(4R)-K.26(0);1t 8d=K.27(4R)-K.27(0);1t 9I=K.1w(4Q*4Q/(8c*8c+8d*8d));r=K.22(9I,r)}1I.r=r;r+=4Q}D(3r.9C){1t 6W=0;1t r=0;16(1t i=0;i<2I.M;i++){1t 1I=2I[i];1t 9J=1I.r-r;6W=K.22(6W,9J)}r=0;16(1t i=0;i<2I.M;i++){1t 1I=2I[i];D(i===0){r=1I.r}1I.r=r;r+=6W}}16(1t i=0;i<2I.M;i++){1t 1I=2I[i];1t 4R=1I.4R;1t r=1I.r;16(1t j=0;j<1I.M;j++){1t 4P=1I[j];1t 1O=3r.9B+(G.6V?1:-1)*4R*j;7 x=2d.x+r*K.26(1O);7 y=2d.y+r*K.27(1O);7 W=G.1y();W.Q=x;W.R=y;W.1b=(1.0/G.1r)*(x-4P.F.x);W.1c=(1.0/G.1r)*(y-4P.F.y);4P.F.O=W}}e.Y=17};4k.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};4k.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 4l=u(H,S,23){e.H=H;e.S=S;e.23=23||10;e.1Q=\'8e\';e.1H=17;e.1r=30;e.Y=1v};4l.J.1S=u(){N[{\'Z\':\'旋转角度\',"23":10},{\'Z\':\'旋转方向\',\'1Q\':[{Z:\'顺时针\',1N:\'8e\'},{Z:\'逆时针\',1N:\'9K\'}]}]};4l.J.1T=u(T){D(T){e.23=1q(T[\'23\'])||10;e.1Q=T[\'1Q\']||\'8e\'}D(e.1Q==\'9K\'){e.23=K.18(e.23)}U{e.23=-K.18(e.23)}e.1p()};4l.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};4l.J.1U=u(){D(e.Y){e.1m()}};4l.J.1p=u(){7 G=e;7 27=K.27(-G.23*K.1J/5o);7 26=K.26(-G.23*K.1J/5o);7 2F=0;7 2G=0;G.H.X(u(n){7 13=n.x-2F;7 14=n.y-2G;7 1V=(2F+13*26-14*27);7 1W=(2G+14*26+13*27);7 W=G.1y();W.Q=1V;W.R=1W;W.1b=(1.0/G.1r)*(1V-n.x);W.1c=(1.0/G.1r)*(1W-n.y);n.O=W});e.Y=17};4l.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 4m=u(H,S,2M){e.H=H;e.S=S;e.2M=2M||1;e.1H=17;e.1r=30;e.Y=1v};4m.J.1S=u(){N[{\'Z\':\'缩放比例\',\'2M\':1.1}]};4m.J.1T=u(T){D(T){e.2M=1q(T[\'2M\'])||1.1}e.1p()};4m.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};4m.J.1U=u(){D(e.Y){e.1m()}};4m.J.1p=u(){7 G=e;7 1h=G.H.M;7 65=0,66=0;e.Y=17;G.H.X(u(n){65+=n.x;66+=n.y});65/=1h;66/=1h;G.H.X(u(n){7 13=(n.x-65)*G.2M;7 14=(n.y-66)*G.2M;7 1V=65+13;7 1W=66+14;7 W=G.1y();W.Q=1V;W.R=1W;W.1b=(1.0/G.1r)*(1V-n.x);W.1c=(1.0/G.1r)*(1W-n.y);n.O=W})};4m.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 3c=u(H,S){e.H=H;e.S=S;e.67=0.5;e.8f=b4;e.8g=0.b5;e.Y=1v};3c.J.1y=u(){7 O={68:0.0,69:0.0,6X:0.0,6Y:0.0,13:0.0,14:0.0};N O};3c.J.1S=u(){N[{\'Z\':\'区域大小\',\'9L\':9M},{\'Z\':\'边长度\',\'67\':0.6a},{\'Z\':\'收敛系数\',\'2q\':10.0}]};3c.J.1T=u(T){D(T){e.67=1q(T[\'67\'])||0.6a;e.8f=1q(T[\'9L\'])||9M;e.8g=1q(T[\'2q\'])||10}e.1p()};3c.J.1U=u(){D(e.Y){e.1m()}};3c.J.1p=u(){7 g=e;g.H.X(u(n){n.O=g.1y()});e.Y=17};3c.J.1m=u(){7 g=e;g.H.X(u(n){7 4S=n.O;4S.13/=4;4S.14/=4;4S.68=4S.69=0;4S.6X=4S.6Y=0});g.9N();g.9O();g.9P()};3c.J.9N=u(){7 g=e;g.S.X(u(21){7 6Z=21.1F;7 70=21.19;7 4n=6Z.x-70.x;7 4o=6Z.y-70.y;7 4T=K.1w(4n*4n+4o*4o);4T=(4T==0)?0.9Q:4T;7 f=g.8g*(1-4T)/4T;f=f*K.7N(g.67,2);7 13=f*4n;7 14=f*4o;7 8h=6Z.O;7 8i=70.O;8h.68+=13;8h.69+=14;8i.68+=-13;8i.69+=-14})};3c.J.9O=u(){7 g=e;g.H.X(u(F){7 13=0,14=0;g.H.X(u(n){D(F.P!=n.P){7 4n=F.x-n.x;7 4o=F.y-n.y;7 6b=4n*4n+4o*4o;D(6b==0){13+=K.5q();14+=K.5q()}U D(6b<g.8f){7 8j=1;13+=8j*4n/6b;14+=8j*4o/6b}}});7 5r=13*13+14*14;D(5r>0){5r=K.1w(5r)/2;7 O=F.O;O.6X+=13/5r;O.6Y+=14/5r}})};3c.J.9P=u(){7 g=e;g.H.X(u(F){7 3U=F.O;3U.13+=3U.6X+3U.68;3U.14+=3U.6Y+3U.69;F.x+=K.22(-5,K.2t(5,3U.13));F.y+=K.22(-5,K.2t(5,3U.14))})};7 4p=u(H,S,1f){e.H=H;e.S=S;e.1f=1f||4F;e.1H=17;e.1r=30;e.Y=1v};4p.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};4p.J.1S=u(){N[{\'Z\':\'半径\',\'1f\':49}]};4p.J.1T=u(T){D(T){e.1f=1q(T[\'1f\'])||49}e.1p()};4p.J.1U=u(){D(e.Y){e.1m()}};4p.J.1p=u(){7 G=e;7 1h=G.H.M;e.Y=17;7 2f=0;G.H.X(u(n,i){7 71=K.b6(-1+(2*i)/1h);7 1O=K.1w(1h*K.1J)*71;7 9R=K.27(71)*G.1f;7 1V=9R*K.27(1O);7 1W=K.26(71)*G.1f;7 W=G.1y();W.Q=1V;W.R=1W;W.1b=(1.0/G.1r)*(1V-n.x);W.1c=(1.0/G.1r)*(1W-n.y);n.O=W})};4p.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 2u=u(H,S){e.H=H;e.S=S;e.2g=[];e.24=[];e.1P=80;e.2w=80;e.2x=0;e.2O=0;e.1Q=\'3s\';e.1H=17;e.1r=50;e.2P=1v;e.Y=1v};2u.J.1S=u(){N[{\'Z\':\'点间距\',\'1P\':80},{\'Z\':\'层间距\',\'2w\':5P},{\'Z\':\'排列方向\',\'1Q\':[{Z:\'上下\',1N:\'3s\'},{Z:\'下上\',1N:\'4q\'},{Z:\'左右\',1N:\'8k\'},{Z:\'右左\',1N:\'72\'}]}]};2u.J.1T=u(T){D(T){e.1P=1q(T[\'1P\'])||25;e.2w=1q(T[\'2w\'])||5P;e.1Q=T[\'1Q\']||\'3s\'}e.2g=[];e.24=[];e.1p()};2u.J.1p=u(){7 g=e;g.H.X(u(F){g.2J(F,[]);g.2g.1x(F.P);7 2T=g.5s(F);g.24.1x(2T)});g.5t();e.Y=17};2u.J.5s=u(F){7 g=e;7 24=[];7 1D=F.1D||[];1D.X(u(21){7 19=21.19;7 1F=21.1F;D(1F.P!=19.P&&1F.6c&&19.6c){7 20=g.2g.2n(19.P);7 1s=g.24[20]||[];7 3V=[];1s.X(u(n){3V.1x(n.P)});D(3V.2n(F.P)==-1){24.1x(19)}}});N 24};2u.J.1U=u(){D(!e.2P&&e.Y){e.1m()}};2u.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};2u.J.5t=u(){7 g=e;7 1z=g.3W();D(1z.M>0){g.5u(1z);1z.X(u(F){g.2Z(F);g.2x+=F.2D/2+g.1P;g.3X(F,g.2x)})}};2u.J.3W=u(){7 g=e;7 1z=[];g.H.X(u(F){D((F.1M||[]).M==0){1z.1x(F)}});N 1z};2u.J.5u=u(1z){7 g=e;7 1i=0;1z.X(u(F){7 1s=g.2y(F);7 3t=1s.M;D(3t!=0){1s.X(u(F){1i+=g.2Z(F)+g.1P})}1i=K.22(0,1i-g.1P);F.2D=1i});N 1i};2u.J.2Z=u(F){7 g=e;7 1i=0;7 1s=g.2y(F);7 3t=1s.M;D(3t!=0){1s.X(u(F){1i+=g.2Z(F)+g.1P})}1i=K.22(0,1i-g.1P);F.2D=1i;N 1i};2u.J.3X=u(F,x){7 g=e;g.2O+=g.2w;g.2x=x;g.5v(F);7 5w=F.2D;7 31=x-5w/2;7 32;7 3Y;7 1s=g.2y(F);1s.X(u(n){32=n.2D;3Y=31+32/2;g.3X(n,3Y);31=31+32+g.1P});g.2O-=g.2w};2u.J.5v=u(F){7 g=e;7 x=g.2x;7 y=g.2O;7 3Z=x;D(g.1Q==\'4q\'){y=-y}U D(g.1Q==\'8k\'){x=y;y=3Z}U D(g.1Q==\'72\'){x=-y;y=3Z}7 W=g.1y();W.Q=x;W.R=y;W.1b=(1.0/g.1r)*(x-F.x);W.1c=(1.0/g.1r)*(y-F.y);F.O=W};2u.J.2y=u(F){7 g=e;7 20=g.2g.2n(F.P);7 1s=g.24[20]||[];N 1s};2u.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};2u.J.2J=u(F,2l){7 g=e;(F.1D||[]).X(u(3u){7 19=3u.19;D(F.P==19.P||2l.2n(19.P)!=-1){g.2P=17;N}2l.1x(19.P);g.2J(19,2l)})};7 28=u(H,S){e.H=H;e.S=S;e.2g=[];e.24=[];e.1P=50;e.2w=50;e.2x=0;e.2O=0;e.1f=4H;e.1H=17;e.1r=50;e.2P=1v;e.Y=1v};28.J.1S=u(){N[{\'Z\':\'区域大小\',\'1f\':4H}]};28.J.1T=u(T){D(T){e.1f=1q(T[\'1f\'])||4H}e.1p()};28.J.1U=u(){D(!e.2P&&e.Y){e.1m()}};28.J.1p=u(){7 g=e;e.Y=17;g.2g=[];g.24=[];g.H.X(u(F){g.2g.1x(F.P);7 2T=g.5s(F);g.24.1x(2T);g.2J(F,[])});g.5t();g.9S()};28.J.5s=u(F){7 g=e;7 24=[];7 1D=F.1D||[];1D.X(u(21){7 19=21.19;7 1F=21.1F;D(1F.P!=19.P&&1F.6c&&19.6c){7 20=g.2g.2n(19.P);7 1s=g.24[20]||[];7 3V=[];1s.X(u(n){3V.1x(n.P)});D(3V.2n(F.P)==-1){24.1x(19)}}});N 24};28.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};28.J.9S=u(){7 g=e;7 1z=g.3W();7 2d=g.73();g.8l(1z,2d,g.1f)};28.J.b7=u(1C){1C.x=10;1C.y=10};28.J.8l=u(8m,8n,8o){7 g=e;7 6d=8m.M;D(6d==0){N}7 23=K.22(0,K.1J/2*(1-2.0/6d));7 8p=8o*K.26(23)/(1+K.26(23));7 1f=8o-8p;7 9T=K.5q();16(7 i=0;i<6d;i++){7 F=8m[i];7 1O=i*2*K.1J/6d+9T;7 x=1f*K.26(1O);7 y=1f*K.27(1O);x=x+8n.x;y=y+8n.y;7 W=g.1y();W.Q=x;W.R=y;W.1b=(1.0/g.1r)*(x-F.x);W.1c=(1.0/g.1r)*(y-F.y);F.O=W;7 p={x:x,y:y};7 1s=g.2y(F);g.8l(1s,p,8p)}};28.J.73=u(F){7 g=e;7 74=g.9U(F);D(74==V){N g.73()}N{x:74.x,y:74.y}};28.J.73=u(){7 g=e;N{x:0,y:0}};28.J.9U=u(F){7 1M=F.1M||[];D(1M.M>0){N 1M[0].1F}N V};28.J.5t=u(){7 g=e;7 1z=g.3W();D(1z.M>0){g.5u(1z);1z.X(u(F){g.2Z(F);g.2x+=F.2D/2+g.1P;g.3X(F,g.2x)})}};28.J.3W=u(){7 g=e;7 1z=[];g.H.X(u(F){D((F.1M||[]).M==0){1z.1x(F)}});N 1z};28.J.5u=u(1z){7 g=e;7 1i=0;1z.X(u(F){7 1s=g.2y(F);7 3t=1s.M;D(3t!=0){1s.X(u(F){1i+=g.2Z(F)+g.1P})}1i=K.22(0,1i-g.1P);F.2D=1i});N 1i};28.J.2Z=u(F){7 g=e;7 1i=0;7 1s=g.2y(F);7 3t=1s.M;D(3t!=0){1s.X(u(F){1i+=g.2Z(F)+g.1P})}1i=K.22(0,1i-g.1P);F.2D=1i;N 1i};28.J.3X=u(F,x){7 g=e;g.2O+=g.2w;g.2x=x;g.5v(F);7 5w=F.2D;7 31=x-5w/2;7 32;7 3Y;7 1s=g.2y(F);1s.X(u(n){32=n.2D;3Y=31+32/2;g.3X(n,3Y);31=31+32+g.1P});g.2O-=g.2w};28.J.5v=u(F){7 g=e;7 x=g.2x;7 y=g.2O;F.3Z=x;F.5x=y};28.J.2y=u(F){7 g=e;7 20=g.2g.2n(F.P);7 1s=g.24[20]||[];N 1s};28.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};28.J.2J=u(F,2l){7 g=e;(F.1D||[]).X(u(3u){7 19=3u.19;D(F.P==19.P||2l.2n(19.P)!=-1){g.2P=17;N}2l.1x(19.P);g.2J(19,2l)})};7 2o=u(H,S){e.H=H;e.S=S;e.2g=[];e.24=[];e.1P=50;e.2w=50;e.2x=0;e.2O=0;e.1H=17;e.1r=50;e.2P=1v;e.Y=1v};2o.J.1S=u(){N[{\'Z\':\'水平间距\',\'1P\':50},{\'Z\':\'垂直间距\',\'2w\':50}]};2o.J.1T=u(T){D(T){e.1P=1q(T[\'1P\'])||50;e.2w=1q(T[\'2w\'])||50}e.1p()};2o.J.1U=u(){D(!e.2P&&e.Y){e.1m()}};2o.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};2o.J.1p=u(){7 g=e;e.Y=17;g.2g=[];g.24=[];g.H.X(u(F){g.2g.1x(F.P);7 2T=g.5s(F);g.24.1x(2T);g.2J(F,[])});g.5t();g.9V()};2o.J.2J=u(F,2l){7 g=e;(F.1D||[]).X(u(3u){7 19=3u.19;D(F.P==19.P||2l.2n(19.P)!=-1){g.2P=17;N}2l.1x(19.P);g.2J(19,2l)})};2o.J.5s=u(F){7 g=e;7 24=[];7 1D=F.1D||[];1D.X(u(21){7 19=21.19;D(F.P!=19.P&&19.6c){7 20=g.2g.2n(19.P);7 1s=g.24[20]||[];7 3V=[];1s.X(u(n){3V.1x(n.P)});D(3V.2n(F.P)==-1){24.1x(19)}}});N 24};2o.J.5t=u(){7 g=e;7 1z=g.3W();D(1z.M>0){g.5u(1z);1z.X(u(F){g.2Z(F);g.2x+=F.2D/2+g.1P;g.3X(F,g.2x)})}};2o.J.3W=u(){7 g=e;7 1z=[];g.H.X(u(F){D((F.1M||[]).M==0){1z.1x(F)}});N 1z};2o.J.5u=u(1z){7 g=e;7 1i=0;1z.X(u(F){7 1s=g.2y(F);7 3t=1s.M;D(3t!=0){1s.X(u(F){1i+=g.2Z(F)+g.1P})}1i=K.22(0,1i-g.1P);F.2D=1i});N 1i};2o.J.2Z=u(F){7 g=e;7 1i=0;7 1s=g.2y(F);D(1s.M!=0){1s.X(u(75){1i+=g.2Z(75)+g.1P})}1i=K.22(0,1i-g.1P);F.2D=1i;N 1i};2o.J.3X=u(F,x){7 g=e;g.2O+=g.2w;g.2x=x;g.5v(F);7 5w=F.2D;7 31=x-5w/2;7 32;7 3Y;7 1s=g.2y(F);1s.X(u(n){32=n.2D;3Y=31+32/2;g.3X(n,3Y);31=31+32+g.1P});g.2O-=g.2w};2o.J.5v=u(F){7 g=e;7 x=g.2x;7 y=g.2O;F.3Z=x;F.5x=y};2o.J.2y=u(F){7 g=e;7 20=g.2g.2n(F.P);7 1s=g.24[20]||[];N 1s};2o.J.9V=u(){7 g=e;7 8q=g.9W();7 4U=8q.x;7 5y=8q.y;7 1O=2*K.1J/4U;7 9X=4U/2/5y;g.H.X(u(F){7 8r=F.3Z*1O;7 8s=(F.5x-g.2w)*9X;7 x=8s*K.26(8r);7 y=8s*K.27(8r);7 W=g.1y();W.Q=x;W.R=y;W.1b=(1.0/g.1r)*(x-F.x);W.1c=(1.0/g.1r)*(y-F.y);F.O=W})};2o.J.9W=u(){7 g=e;7 4U=0,5y=0;g.H.X(u(F){D(!F.3Z){F.3Z=g.2x}D(!F.5x){F.5x=g.2O}4U=K.22(4U,F.3Z);5y=K.22(5y,F.5x)});N{x:4U,y:5y}};2o.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 2K=u(H,S){e.H=H;e.S=S;e.4V=50;e.1H=17;e.1r=50;e.2P=1v;e.Y=1v};2K.J.1S=u(){N[{\'Z\':\'节点大小\',\'4V\':50}]};2K.J.1T=u(T){D(T){e.4V=1q(T[\'4V\'])||50}e.1p()};2K.J.1p=u(){7 g=e;7 1z=g.3W();1z[0].1V=1z[0].x=4H;1z[0].1W=1z[0].y=49;g.8t(1z[0],g.4V);g.1g(1z[0],g.4V*3);e.Y=17};2K.J.8t=u(1C,41){7 G=e;41=(41==V?G.4V:41);7 1K=G.2y(1C);7 1i=1K.M;D(1i<=1){1C.8u=0;1C.8v=41;1C.5z=41}1K.X(u(9Y){G.8t(9Y,41)});D(1i>1){7 9Z=1K[0];7 5z=9Z.5z;D(1i==2){1i=3}7 2U=K.1J/1i;7 8w=5z/K.27(2U);1C.8v=8w;1C.5z=8w+5z;1C.8u=2U*2}};2K.J.1g=u(1C,41){7 G=e;7 1K=G.2y(1C);7 4T=1K.M;7 2U=1C.8u;7 r=1C.8v;7 8x={x:1C.1V,y:1C.1W};1K.X(u(F,20){7 s=K.27(2U*20),c=K.26(2U*20),x=s*r,y=c*r;x=K.4J(x+8x.x);y=K.4J(y+8x.y);F.1V=x;F.1W=y;7 W=G.1y();W.Q=x;W.R=y;W.1b=(1.0/G.1r)*(x-F.x);W.1c=(1.0/G.1r)*(y-F.y);F.O=W;G.1g(F,41)})};2K.J.1U=u(){D(!e.2P&&e.Y){e.1m()}};2K.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};2K.J.3W=u(){7 g=e;7 1z=[];g.H.X(u(F){D((F.1M||[]).M==0){1z.1x(F)}g.2J(F,[])});N 1z};2K.J.2J=u(F,2l){7 g=e;(F.1D||[]).X(u(3u){7 19=3u.19;D(F.P==19.P||2l.2n(19.P)!=-1){g.2P=17;N}2l.1x(19.P);g.2J(19,2l)})};2K.J.2y=u(F){7 g=e;7 1K=[];D(!F){N 1K}(F.1D||[]).X(u(l){1K.1x(l.19)});N 1K};2K.J.1m=u(){7 g=e;7 I=V;7 H=g.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(g.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};2K.J.2J=u(F,2l){7 g=e;(F.1D||[]).X(u(3u){7 19=3u.19;D(F.P==19.P||2l.2n(19.P)!=-1){g.2P=17;N}2l.1x(19.P);g.2J(19,2l)})};7 2Q=u(H,S){e.H=H;e.S=S;e.1i=[a0,a1];e.2R=0.9;e.76=0.9;e.6e=5P;e.6f=0.8y;e.2z=-a2;e.2A=0.6a;e.1O=0.8;e.8z=[];e.8A=[];e.4W=[];e.5A=1v;e.Y=1v};2Q.J.1S=u(){N[{\'Z\':\'斥力\',\'a3\':0.95},{\'Z\':\'边长度\',\'6e\':6J},{\'Z\':\'边强度\',\'6f\':0.8y},{\'Z\':\'引力\',\'2z\':-a4},{\'Z\':\'重力\',\'2A\':0.6a},{\'Z\':\'避免重叠\',\'5A\':[{Z:\'否\',1N:\'1v\'},{Z:\'是\',1N:\'17\'}]}]};2Q.J.1T=u(T){D(T){e.76=1q(T[\'a3\'])||0.95;e.6e=1q(T[\'6e\'])||6J;e.6f=1q(T[\'6f\'])||0.8y;e.2z=1q(T[\'2z\'])||-a4;e.2A=1q(T[\'2A\'])||0.6a;e.5A=T[\'5A\']||\'1v\';e.1i=T[\'1i\']||[a0,a1];e.1p()}};2Q.J.1U=u(){D(e.Y){e.1m()}};2Q.J.1p=u(){7 g=e;7 i,j,n=g.H.M,m=g.S.M,w=g.1i[0],h=g.1i[1],4r=[],o;g.4W=[];16(i=0;i<n;++i){(o=g.H[i]).20=i;o.5B=0;o.2F=o.x;o.2G=o.y;g.4W[i]=g.2z}16(i=0;i<m;++i){o=g.S[i];7 1F=o.1F;7 19=o.19;g.8z[i]=g.6e;g.8A[i]=g.6f;++1F.5B;++19.5B}e.Y=17;u I(a5,1i){7 4r=a6(i),j=-1,m=4r.M,x;3P(++j<m){D(!4s(x=4r[j][a5])){N x}}N K.5q()*1i};u a6(){16(j=0;j<n;++j){4r[j]=[]}16(j=0;j<m;++j){7 o=g.S[j];4r[o.1F.20].1x(o.19);4r[o.19.20].1x(o.1F)}N 4r[i]};N e.a7()};2Q.J.1m=u(){e.8B()};2Q.J.8C=u(x){7 g=e;D(!8D.M){N g.2R}D(g.2R){D(x>0){g.2R=x}U{g.2R=0}}U D(x>0){g.8B()}N e};2Q.J.a7=u(){N e.8C(0.8)};2Q.J.b8=u(){N e.8C(0)};2Q.J.8B=u(){7 g=e;D((g.2R*=.99)<.9Q){g.2R=0.3M;N}7 n=g.H.M,m=g.S.M,q,i,o,s,t,l,k,x,y;16(i=0;i<m;++i){o=g.S[i];s=o.1F;t=o.19;x=t.x-s.x;y=t.y-s.y;D(l=(x*x+y*y)){l=g.2R*g.8A[i]*((l=K.1w(l))-g.8z[i])/l;x*=l;y*=l;t.x-=x*(k=s.5B/(t.5B+s.5B));t.y-=y*k;s.x+=x*(k=1-k);s.y+=y*k}}D(k=g.2R*g.2A){x=g.1i[0]/2;y=g.1i[1]/2;i=-1;D(k){3P(++i<n){o=g.H[i];o.x+=(x-o.x)*k;o.y+=(y-o.y)*k}}}D(g.2z){g.8E(q=g.77(g.H),g.2R,g.4W);i=-1;3P(++i<n){D(!(o=g.H[i]).6K){q.6g(a8(o))}}}i=-1;3P(++i<n){o=g.H[i];D(o.6K){D(!o.b9){o.x=o.2F;o.y=o.2G}U{o.2F=o.x;o.2G=o.y}}U{o.x-=(o.2F-(o.2F=o.x))*g.76;o.y-=(o.2G-(o.2G=o.y))*g.76;D(g.5A==\'17\'){q.6g(78(o))}}}u a8(F){N u(1u,1k,1l,1n,1o){D(1u.1G!==F){7 13=1u.4X-F.x,14=1u.4Y-F.y,4Z=1/K.1w(13*13+14*14);D((1n-1k)*4Z<g.1O){7 k=1u.2z*4Z*4Z;F.2F-=13*k;F.2G-=14*k;N 17}D(1u.1G&&a9(4Z)){7 k=1u.aa*4Z*4Z;F.2F-=13*k;F.2G-=14*k}}N!1u.2z}};u 78(F){7 r=(F.1f*F.2V)+1,79=F.x-r,7a=F.x+r,7b=F.y-r,7c=F.y+r;N u(1u,1k,1l,1n,1o){D(1u.1G&&(1u.1G!==F)){7 x=F.x-1u.1G.x,y=F.y-1u.1G.y,l=K.1w(x*x+y*y),r=(F.1f*F.2V)+1u.1G.1f;D(l<r){l=(l-r)/l*.5;F.x-=x*=l;F.y-=y*=l;1u.1G.x+=x;1u.1G.y+=y}}N 1k>7a||1n<79||1l>7c||1o<7b}}};2Q.J.8E=u(1u,2R,4W){7 g=e;7 4X=0,4Y=0;1u.2z=0;D(!1u.3v){7 H=1u.H,n=H.M,i=-1,c;3P(++i<n){c=H[i];D(c==V){2c}g.8E(c,2R,4W);1u.2z+=c.2z;4X+=c.2z*c.4X;4Y+=c.2z*c.4Y}}D(1u.1G){D(!1u.3v){1u.1G.x+=K.5q()-.5;1u.1G.y+=K.5q()-.5}7 k=g.2R*g.4W[1u.1G.20];1u.2z+=1u.aa=k;4X+=k*1u.1G.x;4Y+=k*1u.1G.y}1u.4X=4X/1u.2z;1u.4Y=4Y/1u.2z};2Q.J.77=u(2L,1k,1l,1n,1o){7 g=e;7 p,i=-1,n=2L.M;D(n&&4s(2L[0].x)){2L=2L.8F(u(p){N{x:p[0],y:p[1]}})}D(8D.M<5){D(8D.M===3){1o=1n=1l;1l=1k}U{1k=1l=3C;1n=1o=-3C;3P(++i<n){p=2L[i];D(p.x<1k){1k=p.x}D(p.y<1l){1l=p.y}D(p.x>1n){1n=p.x}D(p.y>1o){1o=p.y}}7 13=1n-1k,14=1o-1l;D(13>14){1o=1l+13}U{1n=1k+14}}};u 5C(n,p,1k,1l,1n,1o){D(4s(p.x)||4s(p.y)){N}D(n.3v){7 v=n.1G;D(v){D((K.18(v.x-p.x)+K.18(v.y-p.y))<.3M){3w(n,p,1k,1l,1n,1o)}U{n.1G=V;3w(n,v,1k,1l,1n,1o);3w(n,p,1k,1l,1n,1o)}}U{n.1G=p}}U{3w(n,p,1k,1l,1n,1o)}};u 3w(n,p,1k,1l,1n,1o){7 2r=(1k+1n)*.5,2s=(1l+1o)*.5,5D=p.x>=2r,5E=p.y>=2s,i=(5E<<1)+5D;n.3v=1v;n=n.H[i]||(n.H[i]={3v:17,H:[],1G:V});D(5D){1k=2r}U{1n=2r}D(5E){1l=2s}U{1o=2s}5C(n,p,1k,1l,1n,1o)};u 33(f,F,1k,1l,1n,1o){D(!f(F,1k,1l,1n,1o)){7 2r=(1k+1n)*.5,2s=(1l+1o)*.5,1K=F.H;D(1K[0]){33(f,1K[0],1k,1l,2r,2s)}D(1K[1]){33(f,1K[1],2r,1l,1n,2s)}D(1K[2]){33(f,1K[2],1k,2s,2r,1o)}D(1K[3]){33(f,1K[3],2r,2s,1n,1o)}}};7 1C={3v:17,H:[],1G:V};1C.4t=u(p){5C(1C,p,1k,1l,1n,1o)};1C.6g=u(f){33(f,1C,1k,1l,1n,1o)};2L.X(1C.4t);N 1C};7 ab=u(5T,5U){e.H=5T;e.S=5U;e.8G=5;e.ac=0.5;e.6h=8H;e.6i=4F;e.Y=1v;7 7d=1/7e;7 8I;7 7f;7 7g;7 7h=0;7 ad=7e;7 6j=0;7 6k=10;7 3d=e;7 7i=5T.M;7 ae=5U.M;e.1S=u(){N[{\'Z\':\'吸引力\',\'48\':2},{\'Z\':\'斥力\',\'2q\':25}]};e.1T=u(T){D(T){8G=1q(T[\'48\'])||2;7g=1q(T[\'2q\'])||25;7 1i=T[\'1i\']||[8H,4F];e.6h=1i[0];e.6i=1i[1];3d.1p()}};e.1p=u(){6j=10.0;7h=0;8I=3d.8G*7g;7f=3d.ac*7g;3d.Y=17};e.1U=u(){D(3d.Y){3d.1m()}};e.1m=u(){D(6j>(1/7e)){7 i,j,2X,3e,2q,51;16(i=0;i<7i;i++){7 3f=3d.H[i];3f.1g=3f.1g||{};D(i===0){3f.1g.42=1E 3g()}3f.1g.2q=0;3f.1g.3x=3f.1g.3x||1E 3g().8J(3f);16(j=i+1;j<7i;j++){7 3y=3d.H[j];D(i!=j){3y.1g=3y.1g||{};3y.1g.3x=3y.1g.3x||1E 3g().8J(3y);2X=3f.1g.3x.43().5F(3y.1g.3x);3e=K.22(7d,K.1w(2X.43().52(2X).7j()));2q=(7f*7f)/3e;3f.1g.2q+=2q;3y.1g.2q+=2q;D(i===0){3y.1g.42=1E 3g()}51=2X.43().52(1E 3g().6l(2q/3e));3f.1g.42.4t(51);3y.1g.42.5F(51)}}}16(i=0;i<ae;i++){7 21=3d.S[i];2X=21.1F.1g.3x.43().5F(21.19.1g.3x);3e=K.22(7d,K.1w(2X.43().52(2X).7j()));2q=(3e*3e)/8I;21.1F.1g.2q-=2q;21.19.1g.2q+=2q;51=2X.43().52(1E 3g().6l(2q/3e));21.19.1g.42.4t(51);21.1F.1g.42.5F(51)}16(i=0;i<7i;i++){7 F=3d.H[i];3e=K.22(7d,K.1w(F.1g.42.43().52(F.1g.42).7j()));F.1g.3x.4t(F.1g.42.43().52(1E 3g().6l(K.2t(3e,6j)/3e)));7 7k=1E 3g(F.x,F.y,0);7k.5F(F.1g.3x).af(1E 3g().6l(6k));F.x-=7k.x;F.y-=7k.y}6j*=(1-(7h/ad));7h++}}};u 3g(x,y){e.x=x||0;e.y=y||0};ba.bc(3g.J,{bd:u(x,y){e.x=x;e.y=y;N e},6l:u(6k){e.x=6k;e.y=6k;N e},8J:u(v){e.x=v.x||0;e.y=v.y||0;N e},43:u(){N 1E e.be(e.x,e.y,e.z)},4t:u(v){e.x+=v.x;e.y+=v.y;N e},bf:u(s){e.x+=s;e.y+=s;N e},5F:u(v){e.x-=v.x;e.y-=v.y;N e},52:u(v){e.x*=v.x;e.y*=v.y;N e},af:u(v){e.x/=v.x;e.y/=v.y;N e},7j:u(){N e.x+e.y},bg:u(v){N((v.x===e.x)&&(v.y===e.y))}});7 1L=u(H,S){e.H=H;e.S=S;e.2e=25;e.44=60;e.7l=0;e.1Q="3s";e.4u="6m";e.6n=-1;e.ag=0;e.1H=17;e.Y=1v};1L.J.1S=u(){N[{\'Z\':\'层间距\',\'2e\':25},{\'Z\':\'点间距\',\'44\':25},{\'Z\':\'排列方式\',\'4u\':[{Z:\'连线方向\',1N:\'ah\'},{Z:\'度大小\',1N:\'6m\'},{Z:\'指定点\',1N:\'7m\'}]},{\'Z\':\'排列方向\',\'1Q\':[{Z:\'上下\',1N:\'3s\'},{Z:\'下上\',1N:\'4q\'},{Z:\'左右\',1N:\'8k\'},{Z:\'右左\',1N:\'72\'}]}]};1L.J.1T=u(T){7 G=e;D(T){G.2e=1q(T[\'2e\'])||25;G.44=1q(T[\'44\'])||80;G.4u=T[\'4u\']||\'6m\';G.1Q=T[\'1Q\']||\'3s\'}G.1p()};1L.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};1L.J.1p=u(){7 G=e;G.6n=-1;G.ag=0;G.3h=[];G.6o=V;G.7n={};G.1Y={};G.4v={};G.7o={};G.53={};G.7p={};G.ai={};G.6p={};G.7q={};G.29={};G.8K={};G.aj();G.ak();G.H.X(u(F){7 1j=7r(F.P);7 54=G.29[1j];7 x=0,y=0;D(G.1Q==\'4q\'){x=54.x;y=-54.y}U D(G.1Q==\'72\'){x=-54.x;y=54.y}U{x=54.x;y=54.y}7 W=G.1y();W.Q=x;W.R=y;W.1b=(1.0/50)*(x-F.x);W.1c=(1.0/50)*(y-F.y);F.O=W});G.Y=17};1L.J.aj=u(bh){7 G=e;G.H.X(u(F){7 1j=7r(F.P);7 al=G.am(1j);G.29[1j]=al;G.3h.1x(1j)});G.S.X(u(45,i){7 P=7r(i+1);7 7s=G.an(45.1F.P,45.19.P,P);G.8K[P]=7s;7 55=7s.55;7 4w=7s.4w;7 8L=G.29[55];D(8L.3z.2n(P)==-1){8L.3z.1x(P)}7 8M=G.29[4w];D(8M.3z.2n(P)==-1){8M.3z.1x(P)}});D(G.4u==\'7m\'){7 ao=G.H.bi(u(n){N n.7m==17});7 ap=ao.8F((n)=>{N 7r(n.P)});G.6o=ap}};1L.J.ak=u(){7 G=e;D(G.4u==\'6m\'){G.56()}U D(G.4u==\'ah\'){G.7t()}U D(G.4u==\'7m\'){G.aq()}G.3h.X(u(1j){D(G.1Y[1j]==V){G.1Y[1j]=0}});7 46=G.ar();G.6q("as",-1);G.at(46);G.au()};1L.J.7t=u(){7 G=e;G.6q("7t",-1);7 7u=3i;G.3h.X(u(1j){D(G.1Y[1j]!=V){7u=K.2t(G.1Y[1j],7u)}});G.3h.X(u(1j){D(G.1Y[1j]!=V){G.1Y[1j]=G.1Y[1j]-7u}})};1L.J.aq=u(){7 G=e;D(G.6o==V){G.56()}U{G.6o.X(u(1j){G.1Y[1j]=0});G.6o.X(u(1j){D(G.29[1j]!=V){G.6q("56",1j)}});G.56()}};1L.J.am=u(1j){N{P:1j,3z:[],x:0.5,y:0.5}};1L.J.an=u(55,4w,P){N{P:P,55:55,4w:4w}};1L.J.56=u(){7 G=e;7 6r=1;3P(6r>0){7 6s=0;G.3h.X(u(1j){7 F=G.29[1j];D(G.1Y[F.P]==V){6s=F.3z.M<6s?6s:F.3z.M}});6r=6s;D(6r==0){N}G.3h.X(u(1j){7 F=G.29[1j];D(F.3z.M==6r){G.6q("56",F.P)}})}};1L.J.au=u(){7 G=e;7 7v=3i,7w=-3i;7 7x=3i,7y=-3i;16(7 i=0;i<G.6n;i++){16(7 1j 8N G.4v){D(i==0&&G.4v[1j]==i){7 2m=G.3A(G.29[1j]);7v=K.2t(2m,7v);7w=K.22(2m,7w)}D(G.4v[1j]==i+1){7 2m=G.3A(G.29[1j]);7x=K.2t(2m,7x);7y=K.22(2m,7y)}}7 3b=0;16(7 1j 8N G.4v){D(G.4v[1j]==i+1){7 F=G.29[1j];7 2m=G.3A(F);G.6t(F,2m+3b+G.7l,-1)}}7v=7x+3b+G.7l;7w=7y+3b+G.7l}};1L.J.bj=u(){7 G=e;7 3D=3i,7z=-3i;7 3B=3i,7A=-3i;G.3h.X(u(1j){7 F=G.29[1j];3B=K.2t(3B,F.x);7A=K.22(7A,F.x);3D=K.2t(3D,F.y);7z=K.22(7z,F.y)});7 6h=7A-3B;7 6i=7z-3D;7 8O=1,8P=1;7 8Q=bk,8R=9n;D(6h>8Q){8O=8Q/6h}D(6i>8R){8P=8R/6i}G.3h.X(u(1j){7 F=G.29[1j];7 av=F.x;F.x=K.4J((av-3B)*8O);7 aw=F.y;F.y=K.4J((aw-3D)*8P)})};1L.J.ar=u(){7 G=e;7 46={};G.3h.X(u(1j){7 F=G.29[1j];7 1I=G.1Y[1j]==V?1:G.1Y[1j];D(G.1Q==\'3s\'||G.1Q==\'4q\'){F.y=G.2e*1I}U{F.x=G.2e*1I}7 3S=46[1I];D(3S==V){3S=[]}3S.1x(F);46[1I]=3S});N 46};1L.J.6q=u(4x,1j){7 G=e;7 8S=1j;7 3j={};D(8S==-1){7 4y=0;G.3h.X(u(P){7 F=G.29[P];D(3j[P]==V){3j=G.7B(3j,F,4x,4y)}4y++})}U{7 F=G.29[8S];3j=G.7B(3j,F,4x,-ax)}};1L.J.7B=u(3j,F,4x,4y){7 G=e;D(3j[F.P]==V){D(4y!=-ax){D(G.4v[F.P]==V){G.4v[F.P]=4y;G.6n=K.22(4y,G.6n)}}3j[F.P]=17;7 ay=F.3z.M;16(7 i=0;i<ay;i++){7 az=F.3z[i];7 45=G.8K[az];7 2a=V;D(45.4w==F.P){2a=G.29[45.55]}U{2a=G.29[45.4w]}D(2a!=V&&F.P!=2a.P){D(4x==\'56\'){G.aA(F,2a)}U D(4x==\'7t\'){G.aB(F,2a,45)}U D(4x==\'as\'){G.aC(F,2a)}G.7B(3j,2a,4x,4y)}}}N 3j};1L.J.aA=u(1F,5G){7 G=e;D(G.1Y[5G.P]==V){D(G.1Y[1F.P]==V){G.1Y[1F.P]=0}G.1Y[5G.P]=G.1Y[1F.P]+1}};1L.J.aB=u(1F,5G,45){7 G=e;D(G.1Y[1F.P]==V){G.1Y[1F.P]=1}D(G.1Y[5G.P]==V){G.1Y[5G.P]=G.1Y[1F.P]+1}};1L.J.aC=u(34,2a){7 G=e;D(G.1Y[2a.P]>G.1Y[34.P]){D(G.53[34.P]==V){G.53[34.P]=[]}G.53[34.P].1x(2a.P);D(G.7p[2a.P]==V){G.7p[2a.P]=[]}G.7p[2a.P].1x(34.P)}};1L.J.at=u(46){7 G=e;16(7 1j 8N 46){7 7C=46[1j];7 7D=0;7 aD=7C.M;16(7 i=0;i<aD;i++){7 F=7C[i];D(G.7n[F.P]==V){7 2m=G.44*7D;D(7D>0){2m=G.3A(7C[i-1])+G.44}G.6t(F,2m,1j);G.8T(F,1j,2m);7D++}}}};1L.J.3A=u(F){D(e.1Q==\'3s\'||e.1Q==\'4q\'){N F.x}N F.y};1L.J.6t=u(F,I,1I){7 G=e;D(1I!=-1){D(G.6p[1I]==V){G.6p[1I]=[];G.7q[1I]={}}D(G.7q[1I][F.P]==V){G.6p[1I].1x(F);G.ai[F.P]=G.6p[1I].M-1}G.7q[1I][F.P]=17}D(G.1Q==\'3s\'||G.1Q==\'4q\'){F.x=I}U{F.y=I}};1L.J.aE=u(8U,3b){7 G=e;D(G.1Q==\'3s\'||G.1Q==\'4q\'){G.29[8U].x+=3b}U{G.29[8U].y+=3b}};1L.J.aF=u(34,8V){7 G=e;D(G.53[34.P]==V){N}7 1s=[];7 M=G.53[34.P].M;16(7 i=0;i<M;i++){1s.1x(G.29[G.53[34.P][i]])}7 8W=1s.M;16(7 i=0;i<8W;i++){7 2a=1s[i];7 7E=G.1Y[2a.P];D(7E>8V&&G.7n[2a.P]==V){7 2m=0;D(i==0){2m=G.3A(G.29[34.P])}U{2m=G.3A(1s[i-1])+G.44}G.6t(2a,2m,7E);G.8T(2a,7E,2m)}}7 7F=3i,7G=-3i;16(7 i=0;i<8W;i++){7 2a=1s[i];7F=K.2t(7F,G.3A(2a));7G=K.22(7G,G.3A(2a))}7 aG=(7F+7G)/2;G.6t(34,aG,8V)};1L.J.8T=u(F,1j,2m){7 G=e;D(G.7o[1j]!=8X){7 8Y=G.3A(G.29[G.7o[1j]]);D(2m-8Y<G.44){7 3b=8Y+G.44-2m;G.aE(F.P,3b)}}G.7o[1j]=F.P;G.7n[F.P]=17;G.aF(F,1j)};1L.J.1U=u(){D(e.Y){e.1m()}};1L.J.1m=u(){7 G=e;7 I=V;7 H=G.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(G.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 4z=u(H,S){e.H=H;e.S=S;e.aH=0;e.1f=50;e.5H=5;e.1H=17;e.1r=50;e.Y=1v};4z.J.1S=u(){N[{\'Z\':\'分支数\',\'5H\':5}]};4z.J.1T=u(T){D(T){e.5H=1q(T[\'5H\'])||5}e.1p()};4z.J.1y=u(){7 O={Q:0.0,R:0.0,1b:0.0,1c:0.0};N O};4z.J.1p=u(){7 G=e;7 1h=K.22(e.H.M*6,8H);7H 6u=e.H.M/e.5H;7H aI=1h-(e.aH+e.1f);7H 8Z=aI/6u;7H 23=2*K.1J/e.5H;1t j=0;16(1t i=0;i<e.H.M;++i){7 F=e.H[i];7 x=1h+(e.1f+8Z*(i-j*6u))*K.26(23*j+K.1J/2);7 y=1h+(e.1f+8Z*(i-j*6u))*K.27(23*j+K.1J/2);j=K.bl(i/6u);7 W=G.1y();W.Q=x;W.R=y;W.1b=(1.0/G.1r)*(x-F.x);W.1c=(1.0/G.1r)*(y-F.y);F.O=W}e.Y=17};4z.J.1U=u(){D(e.Y){e.1m()}};4z.J.1m=u(){7 G=e;7 I=V;7 H=G.H;7 M=H.M;16(7 i=0;i<M;i++){7 n=H[i];I=n.O;D(I==V){2c}D(G.1H){7 1d=K.18(n.x-I.Q);7 1e=K.18((n.x+I.1b)-I.Q);D(1e<1d){n.x+=I.1b}U{n.x=I.Q}1d=K.18(n.y-I.R);1e=K.18((n.y+I.1c)-I.R);D(1e<1d){n.y+=I.1c}U{n.y=I.R}D(n.x==I.Q&&n.y==I.R){n.O=V}}U{n.x=I.Q;n.y=I.R;n.O=V}}};7 4A=u(H,S){e.H=H;e.4B=10;e.Y=1v;e.90=0};4A.J.1U=u(){D(e.Y){e.1m()}};4A.J.1S=u(){7 G=e;N[{\'Z\':\'间距\',\'4B\':G.4B}]};4A.J.1T=u(T){e.1p();D(T){e.4B=1q(T[\'4B\'])||2;D(e.4B<0){e.4B=0}}};4A.J.1p=u(){e.Y=17;e.90=0};4A.J.1m=u(){7 G=e;D(e.Y){D(e.90++<(e.H.M/4)){7 q=e.77(e.H);G.H.X(u(75){q.6g(78(75))})}}u 78(F){7 5I=(F.1f*F.2V*2)+G.4B,79=F.x-5I,7a=F.x+5I,7b=F.y-5I,7c=F.y+5I;N u(1u,1k,1l,1n,1o){D(1u.1G&&(1u.1G!==F)){7 x=F.x-1u.1G.x,y=F.y-1u.1G.y,l=K.1w(x*x+y*y),r=5I+1u.1G.1f;D(l<r){l=(l-r)/l*0.5;F.x-=x*=l;F.y-=y*=l;1u.1G.x+=x;1u.1G.y+=y}}N 1k>7a||1n<79||1l>7c||1o<7b}}};4A.J.77=u(2L){7 p,i=-1,n=2L.M;D(n&&4s(2L[0].x)){2L=2L.8F(u(p){N{x:p[0],y:p[1]}})}7 1k=1l=3C;7 1n=1o=-3C;3P(++i<n){p=2L[i];D(p.x<1k){1k=p.x}D(p.y<1l){1l=p.y}D(p.x>1n){1n=p.x}D(p.y>1o){1o=p.y}}7 13=1n-1k,14=1o-1l;D(13>14){1o=1l+13}U{1n=1k+14}u 5C(n,p,1k,1l,1n,1o){D(4s(p.x)||4s(p.y)){N}D(n.3v){7 v=n.1G;D(v){D((K.18(v.x-p.x)+K.18(v.y-p.y))<0.3M){3w(n,p,1k,1l,1n,1o)}U{n.1G=V;3w(n,v,1k,1l,1n,1o);3w(n,p,1k,1l,1n,1o)}}U{n.1G=p}}U{3w(n,p,1k,1l,1n,1o)}};u 3w(n,p,1k,1l,1n,1o){7 2r=(1k+1n)*0.5,2s=(1l+1o)*0.5,5D=p.x>=2r,5E=p.y>=2s,i=(5E<<1)+5D;n.3v=1v;n=n.H[i]||(n.H[i]={3v:17,H:[],1G:V});D(5D){1k=2r}U{1n=2r}D(5E){1l=2s}U{1o=2s}5C(n,p,1k,1l,1n,1o)};u 33(f,F,1k,1l,1n,1o){D(!f(F,1k,1l,1n,1o)){7 2r=(1k+1n)*0.5,2s=(1l+1o)*0.5,1K=F.H;D(1K[0]){33(f,1K[0],1k,1l,2r,2s)}D(1K[1]){33(f,1K[1],2r,1l,1n,2s)}D(1K[2]){33(f,1K[2],1k,2s,2r,1o)}D(1K[3]){33(f,1K[3],2r,2s,1n,1o)}}};7 1C={3v:17,H:[],1G:V};1C.4t=u(p){5C(1C,p,1k,1l,1n,1o)};1C.6g=u(f){33(f,1C,1k,1l,1n,1o)};2L.X(1C.4t);N 1C};7 35=u(H,S){e.H=H;e.S=S;e.4f=4F;e.5f=7e;e.2f=2;e.2h=5;e.Y=1v};35.J.1S=u(){7 G=e;N[{\'Z\':\'间距\',\'2f\':G.2f},{\'Z\':\'移动速度\',\'2h\':G.2h}]};35.J.1T=u(T){e.1p();D(T){e.2f=1q(T[\'2f\'])||2;e.2h=1q(T[\'2h\'])||5}};35.J.1p=u(){7 G=e;e.2f=a2;e.2h=5;e.H.X(u(n){n.O=G.1y()});e.3I=(K.1w(G.5f*G.2f)/10);e.k=K.1w((G.5f*G.2f)/(1+G.H.M));e.Y=17};35.J.1U=u(){D(e.Y){e.1m()}};35.J.1m=u(){7 G=e;G.aJ();G.aK();G.aL();G.aM()};35.J.aJ=u(){7 G=e;G.H.X(u(2B,i){G.H.X(u(37,j){D(i!=j){7 1A=2B.x-37.x;7 1B=2B.y-37.y;7 1a=K.1w(1A*1A+1B*1B);D(1a>1.0){7 3J=G.k*G.k/1a;7 O=2B.O;O.13+=(1A/1a*3J*0.3M);O.14+=(1B/1a*3J*0.3M)}}})})};35.J.aK=u(){7 G=e;G.S.X(u(E){7 4g=E.1F;7 4h=E.19;7 1A=4g.x-4h.x;7 1B=4g.y-4h.y;7 1a=K.1w(1A*1A+1B*1B);7 2i=1a*1a/G.k;D(1a>1.0){7 3K=4g.O;7 3L=4h.O;3K.13-=(1A/1a*2i);3K.14-=(1B/1a*2i);3L.13+=(1A/1a*2i);3L.14+=(1B/1a*2i)}})};35.J.aL=u(){7 G=e;G.H.X(u(2B,i){G.H.X(u(37,j){D(i!=j&&2B.aN==37.aN){7 1A=2B.x-37.x;7 1B=2B.y-37.y;7 1a=K.1w(1A*1A+1B*1B);D(1a>0){7 2i=1a*1a/G.k;7 3K=2B.O;7 3L=37.O;3K.13-=1A/1a*2i;3K.14-=1B/1a*2i;3L.13+=1A/1a*2i;3L.14+=1B/1a*2i}}})})};35.J.aM=u(){7 G=e;G.H.X(u(F){F.O.13*=G.2h/G.4f;F.O.14*=G.2h/G.4f;7 O=F.O;7 1A=O.13;7 1B=O.14;7 1a=K.1w(O.13*O.13+O.14*O.14);D(1a>0&&!F.6K){7 3N=K.2t(G.3I*(G.2h/G.4f),1a);F.x=(F.x+1A/1a*3N);F.y=(F.y+1B/1a*3N)}})};35.J.1y=u(){7 O={13:0.0,14:0.0};N O};7 47=u 47(H){e.H=H;e.1f=bm;e.6v=10;e.6V=17;e.2d=[25,25]};47.J.1S=u(){7 G=e;N[{Z:\'间距\',6v:10}]};47.J.1T=u(T){D(T){e.6v=1q(T[\'6v\'])||10;e.2d=T[\'2d\']||[25,25]}e.1p()};47.J.1p=u(){7 G=e;7 91=G.2d[0];7 92=G.2d[1];7 H=G.H.4D(u(2p,2b){7 x=(2p.1M||[]).M+(2p.1D||[]).M;7 y=(2b.1M||[]).M+(2b.1D||[]).M;D(x>y){N-1}U D(x<y){N 1}U{N 0}});7 1C=H[0];7 aO=G.6v;7 93=(G.6V?1:-1);7 57=G.1f;D(57<=0||4s(57)||!a9(57)){57=e.3k(1C)}7 94=e.3k(1C);7 23=93*K.1J;1C.x=91;1C.y=92;7 aP=H.M;16(7 i=1;i<aP;i++){7 26=K.26(23);7 27=K.27(23);7 x=57*(26+23*27);7 y=57*(27-23*26);7 7I=H[i];7I.x=x+91;7I.y=y+92;7 aQ=H[i+1];7 94=G.3k(7I)/2+G.3k(aQ)/2;23+=93*K.bn((94+aO)/K.1w(x*x+y*y))}};47.J.3k=u(v){D(!v){N 0}N K.1w(v.1f*v.1f+v.1f*v.1f)};47.J.1U=u(){D(e.Y){e.1m()}};47.J.1m=u(){};7 7J=u(6w,2v){D(!6w||6w==V){N}e.2v=2v||{};e.96={H:6w.H||[],S:6w.S||[]}};7J.J.bo=u(6x){D(6x==V){N V}N e.aR(6x)};7J.J.aR=u(6x,bp){7 g=e;7 H=g.96.H||[];7 S=g.96.S||[];7 1g;bq(6x){1Z"br":1g=1E 4k(H,S);1R;1Z"bs":1g=1E 3F(H,S);1R;1Z"bt":1g=1E 3H(H,S);1R;1Z"bu":1g=1E 4c(H,S);1R;1Z"2C":1g=1E 4e(H,S);1R;1Z"bv":1g=1E 2Q(H,S);1R;1Z"bw":1g=1E ab(H,S);1R;1Z"bx":1g=1E 4G(H,S);1R;1Z"by":1g=1E 3c(H,S);1R;1Z"bz":1g=1E 3a(H,S);1R;1Z"bA":1g=1E 2S(H,S);1R;1Z"bB":1g=1E 2u(H,S);1R;1Z"bC":1g=1E 2o(H,S);1R;1Z"bD":1g=1E 28(H,S);1R;1Z"5A":1g=1E 4A(H,S);1R;1Z"bE":1g=1E 4p(H,S);1R;1Z"bF":1g=1E 3q(H,S);1R;1Z"bG":1g=1E 2K(H,S);1R;1Z"6m":1g=1E 1L(H,S);1R;1Z"bH":1g=1E 4z(H,S);1R;1Z"2M":1g=1E 4m(H,V,1);1R;1Z"bI":1g=1E 4l(H,V,0);1R;1Z"bJ":1g=1E 3m(H);1R;1Z"bK":1g=1E 35(H,S);1R;1Z"bL":1g=1E 47(H);1R;bM:1R}D(!1g){N V}N 1g};7 6y=7J;D(7K aS!==\'8X\'&&7K aT===\'bN\'){aS.aT=6y}U D(7K 7L===\'u\'&&(7L.bO||7L.bP)){7L(u(){N 6y})}U{e.6y=6y}}).bQ(e||(7K aU!==\'8X\'?aU:bR));',62,736,'|||||||var|||||||this||_self||||||||||||||function|||||||||if||node|self|nodes|position|prototype|Math||length|return|layoutData|id|finishx|finishy|links|layoutConfig|else|null|posData|forEach|inited|label||||dx|dy||for|true|abs|target|dist|xdistance|ydistance|currentDistance|nextDistance|radius|layout|nodeCount|size|nodeId|x1|y1|goAlgo|x2|y2|initAlgo|Number|intSteps|childNodes|let|quad|false|sqrt|push|newLayoutData|roots|xDist|yDist|root|outLinks|new|source|point|boolTransition|level|PI|children|HierarchicalLayout|inLinks|value|theta|distX|direction|break|getConfig|resetConfig|runLayout|tempX|tempY|dij|hierarchicalLevels|case|index|link|max|angle|nodeNeighbers|100|cos|sin|BalloonLayout|nodesIdMap|childNode|n2|continue|center|layerDistance|area|nodeIds|speed|attractiveF|lij|kij|pathNodes|pos|indexOf|RadiaTreeLayout|n1|force|sx|sy|min|TreeLayout|config|distY|currentX|getSuccessors|charge|gravity|N1|fr|sizeT|mDot|px|py|nodeCoords|levels|checkHasCycle|TopoTreeLayout|points|scale|noderadius|currentY|hasCycle|ForceD3Layout|alpha|ARFLayout|neighbers|degree|scaleX|tmpsecondarycirc|delta|currentOrbit|calculateNodeX||lastX|sizeXofChild|quadtreeVisit|parentNode|TypeGatherLayout|tmpprimarycirc|N2|fr_x|fr_y|KKLayout|diff|SpringLayout2|that|delta_length|node_v|Vector2|nodeIdList|1000000000|progress|diameter|secondarynodecount|GirdLayout|VECTOR_D1|VECTOR_D2|tempNodes|LayeredLayout|options|UD|childrenNum|_link|leaf|insertChild|tmp_pos|node_u|edgesIds|getPositionForHierarchy|minX|Infinity|minY|multiplier|CircleLayout|lasttheta|DualCircleLayout|maxDisplace|repulsiveF|sourceLayoutData|targetLayoutData|01|limitedDist|nodesCount|while|max_dij|nodeM|temp|currentAngle|vd|childNodeIds|getRoots|buildNodeTree|startXofChild|tempx||minR|offset|clone|nodeDistance|edge|distribution|SpiralLayout|attraction|500|noderadian|coOrds|LayerLayout|outCircleNodes|FRlayout|SPEED_DIVISOR|Nf|Nt|realSize|nodeI|ConcentricLayout|RotateLayout|ScaleLayout|vx|vy|SphereLayout|DU|neighbors|isNaN|add|sortMethod|hierarchicalTrees|toId|callbackFlag|_treeIndex|HiveLayout|AvoidOverlapLayout|maxPadding|forceScale|sort|secondry_scale|800|FruchtermanReingoldLayout|1000|verticalScale|round|myD1|new_dx|new_dy|maxNodeSize|levelWidth|val|minDist|dTheta|svd|len|maxx|raduis|charges|cx|cy|dn||change|multiply|hierarchicalChildrenReference|nodeLocal|fromId|determineLevelsByHubsize|rad|neighborAttraction|TWO_PI|cartCoors|whichInt|innerCircleRaduis|maxTheta|nextCircleRaduis|AREA_MULTIPLICATOR|old_dx|old_dy|gf|horizontalScale|tempSize|myD2|startX|startY|180|currentLevel|random|dlen|initNodeNeighbers|buildTree|calculateRootsX|setCurrentPositionFor|sizeXofCurrent|tempy|maxy|totalRadius|noverlap|weight|insert|right|bottom|sub|nodeB|nlines|nr|distance|boolfixeddiameter|cumethod|tempcirc|correct_theta|currentRoundLong|120|currentIter|nSource|nTarget|_nodes|_links|old_x|old_y|new_x|new_y|new_mi_dist||currentValue|shift|noise|nodeValues|xMean|yMean|stretch|edgedx|edgedy|015|distanceSq|visible|childCount|linkDistance|linkStrength|visit|width|height|temperature|scalar|setScalar|hubsize|treeIndex|selectedNodeIds|distributionOrdering|crawlNetwork|hubSize|_hubSize|setPositionForHierarchy|nodes_segment|spacing|_graph|layoutType|LayoutFactory|deltaT|forceCutoff|auto|temdiameter|highdegreeoutside|nodeCounts|secondary_theta|primary_scale|nextLayerRoundLong|thisAngle|150|fixed|canvasWidth|L0|delta_y|max_delta|den|shiftLog|startValue|getValue|shiftFirstlayer|defaults|clockwise|rDeltaMax|repulsiondx|repulsiondy|node1|node2|phi|RL|getCenter|parent|_node|friction|quadtree|collide|nx1|nx2|ny1|ny2|EPSILON|100000|repulsion_constant|forceConstant|layout_iterations|nodes_length|sum|tmpPosition|treeSpacing|selected|positionedNodes|lastNodeOnLevel|hierarchicalParentReference|distributionOrderingPresence|String|edgeLocal|determineLevelsByDirected|minLevel|minPre|maxPre|minAfter|maxAfter|maxY|maxX|crawler|nodesList|handledNodeCount|childNodeLevel|minPos|maxPos|const|vert|layoutFac|typeof|define|deltaIndividual|pow|mult|inside|circum_ratio|primary_theta|nextLayerNodeRaduis|xGridScales|yGridScales|xGridToScreen|yGridToScreen|xg|yg|_VECTOR_D1||_VECTOR_D2|nodeN|mi_dist|delta_x|old_mi_dist|minWidth|log|minLog|isFirstlayer|renderOrbit|avoidOverlap|dcos|dsin|sn|repulsion_range_sq|force_multiplier|v1D|v2D|factor|LR|setPolars|kids|parentLocation|parentRadius|childRadius|maxPoint|_theta|_raduis|countRadius|rdegree|mradius|pRadius|rootPosition|09|distances|strengths|tick|alpha1|arguments|forceAccumulate|map|attraction_multiplier|1200|attraction_constant|setVector|edges|fromNode|toNode|in|ratioW|ratioH|standardW|standardH|startingNodeId|validataPositionAndContinue|parentId|parentLevel|childNodesLength|undefined|previousPos|step|maxIterations|originx|originy|cw|dia||graph|05|getForceforNode||numNodes|isAdjacent|otherNode|flag|primaryradius|secondaryradius|autoArea|08|iterations|edgesCount|xOrigin|yOrigin|horizontal|3000|setCanvasSize|shortPath|getMaxDij|getKijLij|epsilon|tmp|maxWidth|8000|widthRange|maxLog|logRange|ajustSize|360|startAngle|equidistant|minNodeSpacing|firstLvlHasMulti|maxR|rStep|sweep|rMin|rDelta|ns|repulsion|1000000|relaxEdges|calculateRepulsion|moveNodes|0001|sinPhiRadius|setRootPolars|rand|getParent|setRadialLocations|getMaxXY|deltaRadius|child|child0|1400|700|200|froce|300|dimension|neighbor|resume|repulse|isFinite|pointCharge|ForceDirected|repulsion_multiplier|max_iterations|links_length|divide|continueOrBreak|directed|distributionIndex|setData|setupHierarchicalLayout|nodeTemp|NodeLocal|Edge|selectedNodes|_selectedNodeIds|determineLevelsBySelected|getDistribution|generateMap|placeNodesByHierarchy|condenseHierarchy|nodeX|nodeY|111|edgesIdsLength|edgeId|levelDownstream|levelByDirection|fillInRelations|nodesListLength|shiftBlock|placeBranchNodes|_pos|margin|segment|repulsiveForce|attractiveForce|sameTypeAttractive|resetNodePosition|cluster|space|nodeLength|nextvert|getLayout|module|exports|window|03|getDegree|metal|boolNoOverlap|outside|10000|freeze|00000000001|1500|2000|02|acos|setRootPolar|stop|isDragging|Object||assign|set|constructor|addScalar|equals|selectedNodeId|filter|shiftToCenter|5000|floor|NaN|atan|createLayout|configs|switch|concentric|singleCirlce|dualCirlce|layerCircle|fastFR|frDirect|fruchtermanReingold|spring2|kk|arf|tree|radiatree|balloon|sphere|layered|topoCircle|hive|rotate|grid|gather|spiral|default|object|amd|cmd|call|global'.split('|'),0,{}));

graphvis.min.20241008.js

;eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(C(){4Y 17={oX:"4.5.1",fx:1,jI:2,cI:3,7s:{3B:"3B",8D:"8D",7t:"7t"},fy:C(){A.2W=C(){A.5M="3i";A.cJ=["5M"];A.b1=[]},A.cK=C(){},A.1W=C(){B D=A;B 9x={};D.cJ.Q(C(2X){9x[2X]=D[2X]});D.b1.19(9x)},A.1X=C(){B D=A;if(L!=D.b1&&0!=D.b1.O){B 8E=D.b1.jJ();D.cJ.Q(C(b2){D[b2]=8E[b2]})}}}};!C(17){C 6M(2t){B D=A;A.2t=2t;A.7u={};A.fz=0;A.cL=C(2t,b3){B 6N=D.7u[2t];L==6N&&(D.7u[2t]=[]),D.7u[2t].19(b3),D.fz++},A.cM=C(2t){B 6N=D.7u[2t];L!=6N&&(D.7u[2t]=L,fA D.7u[2t],D.fz--)},A.cN=C(2t,b3,d){B 6N=D.7u[2t];if(L!=6N){1k(B i=0;i<6N.O;i++){d?!C(P,8F){6i(C(){P(8F)},10)}(6N[i],b3):6N[i](b3)}}}}C 9y(P){B 1s=L;if(!P.7v){1s=8G(P);1s.7v=P.b4+4h.b5.fB-4h.b5.fC;1s.8H=P.b6+4h.b5.fD-4h.b5.fE}S{1s=8G(P)}F 1s}C 8G(P){B fF={};1k(B 3J in P)"jK"!=3J&&"oY"!=3J&&(fF[3J]=P[3J]);F fF}C 7w(4z){B 9x={};1k(B 3J in 4z)9x[3J]=4z[3J];F 9x}C 7x(2P,5N){1k(B i=0;i<2P.O;i++){B 4z=2P[i];if(4z==5N||4z[\'id\']==5N[\'id\']){2P.7y(i,1);1t}}F 2P}C b7(a){if(!a)F{1y:0,1B:0};B b=0,c=0;if("jL"in 4h.jM){B d=a.jL(),e=a.oZ,f=e.b5,g=e.jM,h=g.fE||f.fE||0,i=g.fC||f.fC||0,b=d.1B+(D.p5||g&&g.fD||f.fD)-h,c=d.1y+(D.p6||g&&g.fB||f.fB)-i}S{b+=a.7z||0,c+=a.7A||0,a=a.p7}F{1y:c,1B:b}}C 5i(9z,9A,1i,1l){B dx,dy;F L==1i&&L==1l?(dx=9A.x-9z.x,dy=9A.y-9z.y):(dx=1i-9z,dy=1l-9A),H.2G(dx*dx+dy*dy)}C fG(fH,4Z,33){B 2Q=17.1O.5i(4Z,33),jN=17.1O.5i(4Z,fH),jO=17.1O.5i(33,fH),3j=H.4A(jN+jO-2Q)<=0.5;F 3j}C 7B(1i,1l,1u,1w){B 1g=(1w-1l)/(1u-1i),2Q=1l-1i*1g;C Z(5O){F 5O*1g+2Q}F Z.k=1g,Z.b=2Q,Z.1i=1i,Z.1u=1u,Z.1l=1l,Z.1w=1w,Z}C fI(b8,fJ,fK){B jP=H.4A(fJ-fK),jQ=H.4A(fJ-b8),jR=H.4A(fK-b8),2Q=H.4A(jP-(jQ+jR));F 0.p8>2Q?V:T}C fL(9z,9A,b9){F fI(9z,b9.1i,b9.1u)&&fI(9A,b9.1l,b9.1w)}C 8I(5P,6j){if(5P.k==6j.k){F L}B 7C,8J;if(4c==5P.k||5P.k==-4c){7C=5P.1i,8J=6j(5P.1i)}S if(4c==6j.k||6j.k==-4c){7C=6j.1i,8J=5P(6j.1i)}S{7C=(6j.b-5P.b)/(5P.k-6j.k),8J=5P(7C)}if(0==fL(7C,8J,5P)){F L}if(0==fL(7C,8J,6j)){F L}F{x:7C,y:8J}}C cO(2i,Z){B 2c=7B(Z.1y,Z.1B,Z.1y,Z.2j),3Z=8I(2i,2c);if(L==3Z){2c=7B(Z.1y,Z.1B,Z.2g,Z.1B);3Z=8I(2i,2c);if(L==3Z){2c=7B(Z.2g,Z.1B,Z.2g,Z.2j),3Z=8I(2i,2c);if(L==3Z){2c=7B(Z.1y,Z.2j,Z.2g,Z.2j),3Z=8I(2i,2c)}}}F 3Z}C cP(x,y,14,1g){F{x:x+14*H.2B(1g),y:y+14*H.2u(1g)}}C fM(sx,sy,ex,ey){B 9B=H.jS((ey-sy)/(ex-sx));if(ex-sx>=0){F 9B}S{F 9B+H.1x}}C cQ(1Q,1T,1i,1l,1v,x,y){if(1v===0){F T}1o 1U=1v;1o 7D=0;1o fN=1Q;if((y>1T+1U&&y>1l+1U)||(y<1T-1U&&y<1l-1U)||(x>1Q+1U&&x>1i+1U)||(x<1Q-1U&&x<1i-1U)){F T}if(1Q!==1i){7D=(1T-1l)/(1Q-1i);fN=(1Q*1l-1i*1T)/(1Q-1i)}S{F H.4A(x-1Q)<=1U/2}1o 9B=7D*x-y+fN;1o jT=9B*9B/(7D*7D+1);F jT<=1U/2*1U/2}C cR(1Q,1T,1i,1l,1u,1w,2C,2D,1v,x,y){if(1v===0){F T}1o 1U=1v;if((y>1T+1U&&y>1l+1U&&y>1w+1U&&y>2D+1U)||(y<1T-1U&&y<1l-1U&&y<1w-1U&&y<2D-1U)||(x>1Q+1U&&x>1i+1U&&x>1u+1U&&x>2C+1U)||(x<1Q-1U&&x<1i-1U&&x<1u-1U&&x<2C-1U)){F T}1o d=jU(1Q,1T,1i,1l,1u,1w,2C,2D,x,y,L);F d<=1U/2}C jU(1Q,1T,1i,1l,1u,1w,2C,2D,x,y,5j){B t;B 6k=0.jV;B cS=1e-4;B d=4c;B 5Q;B 5R;B d1;B d2;B 5k=[],4I=[],7E=[];5k[0]=x;5k[1]=y;1k(B 5l=0;5l<1;5l+=0.ba){4I[0]=6O(1Q,1i,1u,2C,5l);4I[1]=6O(1T,1l,1w,2D,5l);d1=8K(5k,4I);if(d1<d){t=5l;d=d1}}d=4c;1k(B i=0;i<32;i++){if(6k<cS){1t}5Q=t-6k;5R=t+6k;4I[0]=6O(1Q,1i,1u,2C,5Q);4I[1]=6O(1T,1l,1w,2D,5Q);d1=8K(4I,5k);if(5Q>=0&&d1<d){t=5Q;d=d1}S{7E[0]=6O(1Q,1i,1u,2C,5R);7E[1]=6O(1T,1l,1w,2D,5R);d2=8K(7E,5k);if(5R<=1&&d2<d){t=5R;d=d2}S{6k*=0.5}}}if(5j){5j[0]=6O(1Q,1i,1u,2C,t);5j[1]=6O(1T,1l,1w,2D,t)}F H.2G(d)}C cT(1Q,1T,1i,1l,1u,1w,1v,x,y){if(1v===0){F T}1o 1U=1v;if((y>1T+1U&&y>1l+1U&&y>1w+1U)||(y<1T-1U&&y<1l-1U&&y<1w-1U)||(x>1Q+1U&&x>1i+1U&&x>1u+1U)||(x<1Q-1U&&x<1i-1U&&x<1u-1U)){F T}1o d=jW(1Q,1T,1i,1l,1u,1w,x,y,L);F d<=1U/2}C jW(1Q,1T,1i,1l,1u,1w,x,y,5j){B t;B 6k=0.jV;B cS=1e-4;B d=4c;B d1=0;B 5k=[],4I=[],7E=[];5k[0]=x;5k[1]=y;1k(B 5l=0;5l<1;5l+=0.ba){4I[0]=6P(1Q,1i,1u,5l);4I[1]=6P(1T,1l,1w,5l);d1=8K(5k,4I);if(d1<d){t=5l;d=d1}}d=4c;1k(B i=0;i<32;i++){if(6k<cS){1t}B 5Q=t-6k;B 5R=t+6k;4I[0]=6P(1Q,1i,1u,5Q);4I[1]=6P(1T,1l,1w,5Q);d1=8K(4I,5k);if(5Q>=0&&d1<d){t=5Q;d=d1}S{7E[0]=6P(1Q,1i,1u,5R);7E[1]=6P(1T,1l,1w,5R);B d2=8K(7E,5k);if(5R<=1&&d2<d){t=5R;d=d2}S{6k*=0.5}}}if(5j){5j[0]=6P(1Q,1i,1u,t);5j[1]=6P(1T,1l,1w,t)}F H.2G(d)}C 8K(bb,bc){F(bb[0]-bc[0])*(bb[0]-bc[0])+(bb[1]-bc[1])*(bb[1]-bc[1])}C 6O(p0,p1,p2,p3,t){B 7F=1-t;F 7F*7F*(7F*p0+3*t*p1)+t*t*(t*p3+3*7F*p2)}C 6P(p0,p1,p2,t){B 7F=1-t;F 7F*(7F*p0+2*t*p1)+t*t*p2}C fO(x,y,1i,1l,14){1o 2Q=H.2G(H.3O(1i-x,2)+H.3O(1l-y,2));F(2Q<=14)}C cU(x,y,2K){F{1i:x+2K*7,1l:y,1u:x,1w:y-2K*7}};C 6Q(t,1i,1l,1u,1w,cx,cy,dx,dy){B fP=H.3O(1-t,3),fQ=3*t*H.3O(1-t,2),fR=3*H.3O(t,2)*(1-t),fS=H.3O(t,3);F{x:(fP*1i)+(fQ*cx)+(fR*dx)+(fS*1u),y:(fP*1l)+(fQ*cy)+(fR*dy)+(fS*1w)}};C cV(1i,1l,1u,1w,fT,5S){5S=5S||0.5;F{x:(1i+1u)*5S+(1w-1l)/(fT||4),y:(1l+1w)*5S+(1i-1u)/(fT||4)}};C 8L(t,1i,1l,1u,1w,jX,jY){F{x:H.3O(1-t,2)*1i+2*(1-t)*t*jX+H.3O(t,2)*1u,y:H.3O(1-t,2)*1l+2*(1-t)*t*jY+H.3O(t,2)*1w}}C cW(9C,6l){B fU=0;B i;B fV;B p1,p2;B fW=6l.O;p1=6l[0];1k(i=1;i<=fW;i++){p2=6l[i%fW];if(9C[0]>H.3p(p1[0],p2[0])&&9C[0]<=H.2H(p1[0],p2[0])){if(9C[1]<=H.2H(p1[1],p2[1])){if(p1[0]!=p2[0]){fV=(9C[0]-p1[0])*(p2[1]-p1[1])/(p2[0]-p1[0])+p1[1];if(p1[1]==p2[1]||9C[1]<=fV){fU++}}}}p1=p2}if(fU%2==0){F T}S{F V}}C fX(9D,9E,7G,7H,9F,9G,cX,cY,t){B t1=1-t,fY=H.3O(t1,3),fZ=H.3O(t1,2),t2=t*t,t3=t2*t,x=fY*9D+fZ*3*t*7G+t1*3*t*t*9F+t3*cX,y=fY*9E+fZ*3*t*7H+t1*3*t*t*9G+t3*cY,mx=9D+2*t*(7G-9D)+t2*(9F-2*7G+9D),my=9E+2*t*(7H-9E)+t2*(9G-2*7H+9E),nx=7G+2*t*(9F-7G)+t2*(cX-2*9F+7G),ny=7H+2*t*(9G-7H)+t2*(cY-2*9G+7H),ax=t1*9D+t*7G,ay=t1*9E+t*7H,cx=t1*9F+t*cX,cy=t1*9G+t*cY,1a=(90-H.5m(mx-nx,my-ny)*3P/H.1x);(mx>nx||my<ny)&&(1a+=3P);F{x:x,y:y,m:{x:mx,y:my},n:{x:nx,y:ny},29:{x:ax,y:ay},2h:{x:cx,y:cy},1a:1a}}C g0(x,y,14,jZ){B 1g=jZ*2*H.1x;F{x:x+14*H.2B(1g),y:y-14*H.2u(1g)}}C cZ(sx,sy,tx,ty){B x=H.4A(sx-tx);B y=H.4A(sy-ty);B z=H.2G(H.3O(x,2)+H.3O(y,2));B k0=H.k1(y/z);B 1g=H.8M(3P/(H.1x/k0));if(tx>sx&&ty>sy){1g=3P-1g}if(tx==sx&&ty>sy){1g=3P}if(tx>sx&&ty==sy){1g=90}if(tx<sx&&ty>sy){1g=3P+1g}if(tx<sx&&ty==sy){1g=g1}if(tx<sx&&ty<sy){1g=d0-1g}F 1g}C g2(6m){4Y d3=1F k2([6m],{1I:"p9/pa"});4Y k3=k4.k5(d3);4Y k6=1F pb(k3);F k6}8N=3c.8N||3c.pd||3c.pe||3c.pf||3c.pg||C(3q){6i(3q,7I/60)},7J=3c.7J||3c.ph||3c.pi||3c.pj||3c.pk||3c.pl||C(id){d4(id)};17.1O={5i:5i,6M:6M,k7:g3.g4.1G("pm")>0,k8:!(!3c.pn||-1!==g3.g4.1G("po")),pp:L!=g3.g4.k9().8O(/pq/),7w:7w,fG:fG,7x:7x,9y:9y,8G:8G,b7:b7,7B:7B,8I:8I,cO:cO,cP:cP,g0:g0,fM:fM,cQ:cQ,cR:cR,cT:cT,fO:fO,cW:cW,fX:fX,cU:cU,6Q:6Q,cV:cV,8L:8L,cZ:cZ,g2:g2};17.g5={};g6.R.d5=C(x,y,K,N,3r){if("4i"==1R 3r){if(K<2*3r){3r=K/2}if(N<2*3r){3r=pr/2}A.2k();A.42(x,y,K,N);A.3k()}S{if(K<2*3r){3r=K/2}if(N<2*3r){3r=N/2}A.2k();A.3C(x+3r,y);A.d6(x+K,y,x+K,y+N,3r);A.d6(x+K,y+N,x,y+N,3r);A.d6(x,y+N,x,y,3r);A.d6(x,y,x+K,y,3r);A.3k()}};g6.R.ps=C(1Q,1T,1i,1l,K){if(K===6R 0){K=3}if(K<3)K=3;B 9H=C(1Q,1T,r,4J){B x=r*H.2B(4J);B y=r*H.2u(4J);x+=1Q;y+=1T;F{x:x,y:y}};B 2Q=H.2G((1l-1T)*(1l-1T)+(1i-1Q)*(1i-1Q));B 4J=H.ka(H.4A(1l-1T)/2Q);if(1Q>1i&&1l>1T){4J=H.1x-4J}S if(1Q>1i&&1T>1l){4J+=H.1x}S if(1i>1Q&&1T>1l){4J=2*H.1x-4J}B 7D=9H(1Q,1T,2Q-K*2,4J),x=7D.x,y=7D.y;B p1=9H(x,y,K,4J-H.1x*0.5);B p2=9H(x,y,K*2,4J-H.1x*0.5);B p3=9H(x,y,K,4J+H.1x*0.5);B p4=9H(x,y,K*2,4J+H.1x*0.5);A.3C(1Q,1T);A.1M(p1.x,p1.y);A.1M(p2.x,p2.y);A.1M(1i,1l);A.1M(p4.x,p4.y);A.1M(p3.x,p3.y);A.3k()};g6.R.9I=C(g7,g8,kb,kc,6n){B dx=kb-g7;B dy=kc-g8;B 6o=H.2G(dx*dx+dy*dy);B 2u=dy/6o;B 2B=dx/6o;B a=[];a.19(0,0);1k(B i=0;i<6n.O;i+=2){B x=6n[i];B y=6n[i+1];a.19(x<0?6o+x:x,y)}a.19(6o,0);1k(B i=6n.O;i>0;i-=2){B x=6n[i-2];B y=6n[i-1];a.19(x<0?6o+x:x,-y)}a.19(0,0);1k(B i=0;i<a.O;i+=2){B x=a[i]*2B-a[i+1]*2u+g7;B y=a[i]*2u+a[i+1]*2B+g8;if(i===0)A.3C(x,y);S A.1M(x,y)}}}(17),C(17){C kd(1c,6S){A.4j=0,A.1f=T,A.2l=L,A.26=L,A.6p=L,A.d7=L,A.K=6S.K,A.N=6S.N;A.g9=L;A.d8=0;A.2W=C(){B 2l=4h.7K(\'ke\');2l.pu=\'7L\';2l.4B.ga=`2o:gb;K:${A.K}px;N:${A.N}px;kf:kg kh#pv;34-1N:ki;pw:pz;kj-7t:d9;-kk-kj-8D:d9;-kk-pA-pB-1N:1z(0,0,0 0);`;B 8P=4h.7K(\'26\');8P.4B.ga=\'K:2I%;N:2I%;34-1N:ki;kl:km-kn;ko-kp:d9;\';8P.K=A.K*1c.3D;8P.N=A.N*1c.3D;B kq=6S.2l;B gc=4h.pC(kq);if(gc){gc.bd(2l);2l.4B.1y=0;2l.4B.1B=0}S{1c.26.gd.4B.2o=\'pD\';1c.26.gd.bd(2l);2l.4B.2g=0;2l.4B.2j=0}2l.bd(8P);B 6p=4h.7K(\'ke\');6p.4B.ga=`2o:gb;1B:kr;1y:kr;K:${A.K*1c.3D}px;N:${A.N*1c.3D}px;kf:kg kh ${6S.ks};34:1z(kt,kt,3s,0.3);kl:km-kn;ko-kp:d9;`;2l.bd(6p);A.2l=2l;A.26=8P;A.d7=8P.8Q("2d");A.6p=6p;A.ku()};A.ku=C(){B D=A;A.2l.3l(\'43\',C(P){B 2R={1y:P.5T,1B:P.5U};B Z=1c.da;B 15=1c.1E[0];B 1y=(Z.1y*(D.K/Z.K))+2R.1y;B 1B=(Z.1B*(D.N/Z.N))+2R.1B;B 1q=1c.K/(15.1q*Z.K);B 1H=1c.N/(15.1H*Z.N);1y/=1q;1B/=1H;B 2E=1y/((D.K/1c.K)*15.1q);B 2F=1B/((D.N/1c.N)*15.1H);15.db(2E,2F);1c.7M()})};A.kv=C(){A.1f=T;A.d8=0;pE(A.g9);if(A.2l){A.2l.9J(\'43\',C(){},T);A.2l.gd.pF(A.2l);A.2l=L;A.26=L;A.d7=L}};A.37=C(){B D=A;if(!A.1f&&A.2l==L){A.2W();A.1f=V;D.g9=pG(C(){B dc=1c.1E[0].1E.O;if(dc==0||D.d8!=dc){D.8R();D.44()}D.d8=dc},7I)}};A.8R=C(){B Z=1c.7N();if(Z==L||Z.K<0){F L}B 15=1c.1E[0];B K=A.K*1c.3D;B N=A.N*1c.3D;B 1J=H.3p(K/Z.K,N/Z.N);B E=A.d7;E.1W(),E.dd(0,0,K,N),15.1W(),15.7O(1J,1J,E),15.kw(E);15.1X();E.1X()},A.44=C(){if(!A.1f){F}B Z=1c.da;if(Z==L){F}B 15=1c.1E[0];B 2Y=15.8S();B 1y=2Y.2E*(A.K/1c.K)*15.1q,1B=2Y.2F*(A.N/1c.N)*15.1H,1q=1c.K/(15.1q*Z.K),1H=1c.N/(15.1H*Z.N);1y*=1q,1B*=1H;1y+=(Z.1y*(A.K/Z.K));1B+=(Z.1B*(A.N/Z.N));B 6T=H.23(A.K*1q);B 6U=H.23(A.N*1H);1y=H.23(1y);1B=H.23(1B);A.6p.4B.K=`${6T}px`;A.6p.4B.N=`${6U}px`;A.6p.4B.1y=`${-1y}px`;A.6p.4B.1B=`${-1B}px`}};C be(2l,6S){B D=A;D.ge=1F 6V();D.kx=1F 6V();D.2l=2l;1o gf=gg(\'6q\');1o de=gg(\'2R\');D.bf=4h.7K(\'26\');D.26=de;D.gh=gf.8Q("2d");D.9K=D.bf.8Q("2d");D.3t=de.8Q("2d");D.3D=ky(gf);gi();de.pH=C(e){if(e.bg==2){e.8T();F T}};C 3d(P){B 2R=17.1O.9y(P),2L=17.1O.b7(D.26);F 2R.7A=2R.7v-2L.1y,2R.7z=2R.8H-2L.1B,2R.x=2R.7A*D.3D,2R.y=2R.7z*D.3D,2R.I=L,2R}C gg(df){4Y 26=4h.7K("26");26.kz(\'pI\',`gj-${df}`);26.4B.2o=\'gb\';4Y kA={pJ:T,pK:T,};D.ge.4k(df,26);D.kx.4k(df,26.8Q("2d",kA));D.2l.bd(26);F 26}C gi(){B K=D.2l.kB||51;B N=D.2l.kC||2I;D.ge.Q((bh,pL)=>{bh.4B.K=K+"px";bh.4B.N=N+"px";bh.K=H.23(K*D.3D);bh.N=H.23(N*D.3D)});D.bf.K=H.23(K*D.3D);D.bf.N=H.23(N*D.3D)}C ky(26){1o E=26.8Q("2d");if(E===4i){F}B gk=1;if(1R 3c!==\'4i\'){gk=(3c.pM||1.0)}B kD=(E.pN||E.pO||E.pP||E.pQ||E.pR||1.0);F gk/kD}C 4K(P){4h.kE=C(){F T};B 2p=3d(P);D.5V("4K",2p);D.2e("4K",2p)}C 4L(P){D.5n=T;4h.kE=C(){F V};B 2p=3d(P);D.5V("4L",2p);D.2e("4L",2p)}C 4l(P){D.8U=V;B 2p=3d(P);D.9L=2p.x;D.9M=2p.y;D.5V("4l",2p);D.2e("4l",2p)}C 46(P){D.8U=T;if(D.bi){D.dg=V;6i(C(){D.dg=T;D.bi=T;D.44()},51)}B 2p=3d(P);D.5V("46",2p);D.2e("46",2p);D.5n=T;D.9N();D.7L.1f&&D.7L.8R()}C 3Q(P){B 2p=3d(P);if(D.8U&&(1==P.gl||0==P.gl)){2p.dx=2p.x-D.9L,2p.dy=2p.y-D.9M;if(H.2G((2p.dx*2p.dx)+(2p.dy*2p.dy))>2){D.bi=V;D.5V("6W",2p);D.2e("6W",2p)}}S{if(!D.gm){D.5V("3Q",2p);D.2e("3Q",2p)}}}C 43(P){P.8T();if(D.dg){F T}d4(D.dh);D.dh=6i(C(){B 2p=3d(P);D.5V("43",2p);D.2e("43",2p)},51)}C di(P){P.8T();d4(D.dh);B 2p=3d(P);D.5V("6r",2p);D.2e("6r",2p)}C 9O(P){if(!D.8V){F}D.5n=V;D.dj=D.gn;B dk=(L==P.dk?P.pS:P.dk);if(dk>0){D.7P(D.8V)}S{D.7Q(D.8V)}if(P.8T){P.8T()}S{3c.P,P.jK=T}6i(C(){D.dj=T;D.5n=T;D.44()},go)}C bj(P){P.8T();if(D.bk){if(P.5W&&P.5W.O<2){3Q(bl(P,\'3Q\'))}S{P.8T();4Y 5W=P.5W;B 4C=5W;B 29=D.bm;if(5i(4C[0],4C[1])<5i(29[0],29[1])){D.7Q(0.95)}S if(5i(4C[0],4C[1])>5i(29[0],29[1])){D.7P(0.95)}D.bm=4C}}S{3Q(bl(P,\'3Q\'))}C 5i(p1,p2){B x=p2.7v-p1.7v,y=p2.8H-p1.8H;F H.2G((x*x)+(y*y))}}C bn(P){D.bk=V;if(P.5W&&P.5W.O<2){4l(bl(P,\'4l\'))}S{4Y 5W=P.5W;if(5W.O>=2){D.bm=5W}}}C bo(P){if(D.bk){D.bk=T;D.bm=L;46(bl(P,\'4l\'))}}C bl(P,kF){if(!P.gp||P.gp.O!=1){F T}B te=P.gp[0];B b4=te.b4,b6=te.b6,dl=te.dl,dm=te.dm;B kG=1F gq(kF,{b4:b4,b6:b6,dl:dl,dm:dm,bg:0,gl:0});F kG}C kH(3e){17.1O.k8||!3c.3l?(3e.pT=4L,3e.pU=4K,3e.pV=4l,3e.pW=46,3e.pX=3Q,3e.pY=43,3e.pZ=di,3e.q0=9O,3e.bn=bn,3e.bj=bj,3e.bo=bo):(3e.3l("4L",4L),3e.3l("4K",4K),3e.3l("4l",4l),3e.3l("46",46),3e.3l("3Q",3Q),3e.3l("43",43),3e.3l("di",di),3e.3l("bn",bn),3e.3l("bj",bj),3e.3l("bo",bo),17.1O.k7?3e.3l("q1",9O):3e.3l("9O",9O));3c.3l("bp",C(P){D.bp()});3c.3l(\'9P\',C(P){D.5V(\'9P\',17.1O.8G(P),T)},V);3c.3l(\'9Q\',C(P){D.5V(\'9Q\',17.1O.8G(P),T)},V)}A.2W=C(26){A.1E=[],A.9R=-50,A.4d=1F 17.1O.6M,A.8V=L,A.9L=0,A.9M=0,A.8U=T,A.5n=T,A.bk=T,A.bm=L,A.dj=T;A.bi=T;A.dg=T;A.dh=L;A.gr=T;A.gn=V;A.gm=T;A.gs=L;A.q2=L;A.da=L;A.gt=0.5;A.7L=1F kd(A,6S);kH(26);A.bp=C(){B kI=A.2l.kB;B kJ=A.2l.kC;if(kI==0||kJ==0){F T}gi();A.44()},A.5V=C(3f,2R,kK=V){A.5n=kK;A.1E.Q(C(5N){if(5N.1f==V){B P=5N[3f+"q3"];if(L==P)F L;P.6X(5N,2R)}})},A.2q=C(7R){1k(B i=0;i<A.1E.O;i++)if(A.1E[i]===7R)F;7R.gu(A),A.1E.19(7R)},A.3K=C(7R){if(L==7R)F L;1k(B i=0;i<A.1E.O;i++)if(A.1E[i]===7R)F 7R.1c=L,A.1E=17.1O.7x(A.1E,A.1E[i]),A;F A},A.do=C(){A.1E=[]},A.3l=C(3f,kL){B D=A,fn=C(P){kL.6X(D,P)};F A.4d.cL(3f,fn),A},A.9J=C(3f){A.4d.cM(3f)},A.bq=C(){A.4d=1F 17.1O.6M},A.2e=C(3f,P){F A.4d.cN(3f,P),A}},A.2W(D.26);B 9S=[\'43\',\'6r\',\'4l\',\'46\',\'4K\',\'4L\',\'3Q\',\'6W\',\'9O\',\'9P\',\'9Q\'];9S.Q(C(3f){D[3f]=C(P){L!=P?A.3l(3f,P):A.2e(3f)}});A.gv=C(x,y){B D=A;if(!A.1E||A.1E.O==0){F{7v:0,8H:0}}B dp=A.1E&&A.1E[0];B gw=dp.8S();B 2L=17.1O.b7(D.26);B 7A=(x+gw.2E)*dp.1q/D.3D;B 7z=(y+gw.2F)*dp.1H/D.3D;F{7v:7A+2L.1y,8H:7z+2L.1B}},A.kM=C(U){B Z=A.7N();if(Z==L||Z.K<0){F L}B kN=U.K||kO;B kP=U.N||kO;B 1I=U.1I;B 6T=Z.K,6U=Z.N;B gx=0,gy=0;if(Z.7S.5M==\'G\'&&Z.7T.5M==\'G\'){gx=(Z.7S.14*Z.7S.1q+Z.7T.14*Z.7T.1q);gy=(Z.7U.14*Z.7U.1H+Z.8W.14*Z.8W.1H)}6T+=(gx+50);6U+=(gy+50);B 8X=4h.7K("26");B K=H.3p(kN||kQ,6T);B N=H.3p(kP||kQ,6U);8X.K=K;8X.N=N;B 1J=H.3p(K/6T,N/6U);if(H.2H(6T,6U)<9T){8X.K=H.2H(H.2H(6T,6U),9T);8X.N=H.2H(H.2H(6T,6U),9T);1J=1}B 6s=8X.8Q("2d");if(U.34){6s.1W();6s.24=U.34||\'#kR\';6s.kS(0,0,K,N);6s.1X()}if(U.5X){6s.1W();A.kT(6s,K,N,{6m:U.5X.6m||\'gz图可视化\',1g:U.5X.1g||-30,1a:U.5X.1a||0.1,br:U.5X.br||\'3B\',6t:U.5X.6t||60,bs:U.5X.bs||\'5Y\',3u:U.5X.1N||\'#gA\'});6s.1X()}B 15=A.1E[0];15.1W(),15.7O(1J,1J,6s),15.7M(6s,V),15.1X();B gB=L;q4{gB=8X.q5(\'3R/\'+(1I||\'dq\'),1)}q6(m){}F gB},A.kT=C(2M,K,N,5X){1o{6m,1a,1g,6t,br,bs,3u}=5X;2M.27=`${br}${6t}px ${bs}`;B gC=H.gD(2M.4m(6m).K);2M.24=3u||\'#gA\';2M.9U=\'4n\';2M.6u=\'5Z\';2M.bt=1a||0.1;B gE=H.23(gC*0.6);B gF=gC+H.23((K/50));1o kU=H.gD(N/gE)+5;1o kV=H.gD(K/gF)+5;1k(1o i=0;i<kU;i++){1k(1o w=0;w<kV;w++){2M.1W();2M.2Y(w*gF,i*gE);2M.4o((1g*H.1x)/3P);2M.61(6m,0,0);2M.1X()}}2M.bt=1},A.kW=C(U){B 1I=U.1I?U.1I:\'dq\';B bu=A.kM(U);if(bu!=L){B kX=C(1I){1I=1I.k9().53(/q7/i,\'kY\');B r=1I.8O(/dq|kY|q8|q9/);if(r){r=r[0]}F\'3R\'+r};bu=bu.53(kX(1I),\'3R/qa-qb\');1o a=4h.7K(\'a\');1o P=1F gq(\'43\');a.gG=(U.dr||\'qc\'+1F kZ().qd())+\'.\'+1I;a.gH=bu;a.2e(P)}},A.44=C(){if(A.1E.O>0){A.9K.1W();A.9K.dd(0,0,A.K,A.N);A.1E.Q(C(15){15.1f&&15.7M(D.9K)});A.9K.1X();D.gh.dd(0,0,A.K,A.N);D.gh.9V(D.bf,0,0)}},A.7M=C(){if(A.9R>0){A.44()}S if(A.9R<0){if(A.5n){A.5n=T;A.44()}}S{A.5n=T}},A.l0=C(x,y,K,N){A.9N();A.3t.1W();A.3t.2k(),A.3t.42(x*A.3D,y*A.3D,K,N),A.3t.3k(),A.3t.38="1z(0,bv,0,0.8)",A.3t.24="1z(0,bv,0,0.1)",A.3t.3E(),A.3t.2N(),A.3t.1X()},A.l1=C(x,y,62){A.9N();A.3t.1W();A.3t.2k();A.3t.3C(x*A.3D,y*A.3D);1k(B i=1;i<62.O;i++){A.3t.1M(62[i][0]*A.3D,62[i][1]*A.3D)}A.3t.3k(),A.3t.38="1z(0,bv,0,0.8)",A.3t.24="1z(0,bv,0,0.1)",A.3t.3E(),A.3t.2N(),A.3t.1X()},A.9N=C(){A.3t.dd(0,0,A.K,A.N)},A.l2=C(l3=\'qe\',ds=0.2){A.9N();B E=A.3t;B 14=80,1x=H.1x,gI=1x/2,l4=2*1x;E.1W();E.2Y(A.K/2,A.N/2);E.24=\'1z(9W,9W,9W,1)\';E.38="1z(51,51,51,0.8)";E.1v=10;E.2k();E.3L(0,0,14,0,H.1x*2,T);E.3E();E.2N();E.3k();E.38="1z(9X,9X,9W,0.9)";E.1v=10;E.dt=\'23\';E.2k();E.3L(0,0,14,-gI,(l4*ds)-gI,T);E.2N();E.3k();E.27=\'3B qf qg\';E.6u=\'5Z\';E.9U=\'4n\';E.24=`1z(50,50,50,1)`;E.61(l3,0,0);E.1X()},A.l5=C(){A.9N()},A.bw=C(1J){A.1E.Q(C(2Z){2Z.1f&&2Z.bw(1J)})},A.7P=C(1J,3d){A.1E.Q(C(2Z){2Z.1f&&2Z.7P(1J)})},A.7Q=C(1J,3d){A.1E.Q(C(2Z){2Z.1f&&2Z.7Q(1J)})},A.7O=C(){A.1E.Q(C(2Z){2Z.1f&&2Z.7O()})},A.db=C(x,y){B D=A;A.1E.Q(C(2Z){B 2E=x-D.26.K/2,2F=y-D.26.N/2;2Z.2E=-2E,2Z.2F=-2F})},A.7N=C(){B Z={1y:2a.9Y,2g:2a.l6,1B:2a.9Y,2j:2a.l6};if(A.1E.O==0||A.1E[0].1E==0){F L}A.1E.Q(C(2Z){B 54=2Z.du();54.1y<Z.1y&&(Z.1y=54.1y,Z.7S=54.7S),54.1B<Z.1B&&(Z.1B=54.1B,Z.7U=54.7U),54.2g>Z.2g&&(Z.2g=54.2g,Z.7T=54.7T),54.2j>Z.2j&&(Z.2j=54.2j,Z.8W=54.8W)});Z.K=Z.2g-Z.1y,Z.N=Z.2j-Z.1B;A.da=Z;F Z};B l7=(()=>{1o 8Y=0;F 1R 8N!=="4i"?8N:C(fn){4Y 4C=kZ.4C();4Y 3F=H.3p(16,H.2H(0,16-(4C-8Y)));4Y 63=8Y=4C+3F;F 6i(()=>fn(63),3F)}})();B l8=1R 7J!=="4i"?7J:C(id){F d4(id)};C l9(fn,2M){F l7((63)=>{fn.6X(2M,63)})}C la(id){if(id){l8(id)}}C gJ(){if(0==D.9R){6i(64.qh,60)}S{la(D.gs);D.7M();D.gs=l9(gJ)}}gJ()}be.R={4p K(){F A.26.K},4p N(){F A.26.N},4k 4M(4M){A.1E.Q(C(5N){5N.4M=4M})}},17.be=be}(17),C(17){C 9Z(8Z){B D=A;A.2W=C(){9Z.R.2W.66(A,64),A.4d=1F 17.1O.6M,A.5M="15",A.1E=[],A.67={},A.a0=[],A.lb="2S,2S,2S",A.1f=V,A.1a=0,A.1q=1,A.1H=1,A.91=[0.ba,10],A.lc=\'G-6Y\';A.4M=17.7s.3B,A.2Y=V,A.2E=0,A.2F=0,A.bx=0,A.by=0,A.8U=T,A.9L=L,A.9M=L,A.7V=L,A.3S=V,A.bz=T,A.gK=\'42\',A.bA=[],A.4e=[],A.6l=L,A.a1=L,A.dv=0;A.5o={Y:[],1p:[],92:[]};A.cJ=[\'2E\',\'2F\',\'qi\',\'qj\',\'1q\',\'1H\'];A.qk=C(34){A.34=34},A.gu=C(1c){A.1c!==1c&&L!=1c&&(A.1c=1c)}},A.2W();if(L!=8Z){8Z.2q(A);A.gu(8Z)}A.37=C(){A.1f=V},A.93=C(){A.1f=T},A.44=C(E,dw){E.1W();E.1J(A.1q,A.1H);if(V==A.2Y){B b=A.8S(E);E.2Y(b.2E,b.2F)}if(dw){A.ld(E)}S{A.le(E)}E.1X(),E.1W(),A.lf(E,A.bA),E.1X()},A.7M=C(E,dw){A.1f&&A.44(E,dw)},A.ql=C(E){if(L!=A.34){E.9V(A.34,0,0,E.26.K,E.26.N)}S{E.2k(),E.24=`1z(${A.lb},${A.1a})`,E.kS(0,0,E.26.K,E.26.N),E.3k()}},A.lg=C(){B D=A;D.5o={Y:[],4q:[],92:[]};1o 5p=(8Z.dj||A.1q<=A.91[0])?V:T;if(8Z.gr){5p=(8Z.bi)||5p}D.5o.92=A.67[17.fx];B Y=A.67[17.cI]||[];B O=Y.O;B G=L;B 2L=A.8S();B gL=T;B dz=1F gM();1k(B i=0;i<O;i++){G=Y[i];gL=A.gN(G,2L);if(gL){D.5o.Y.19(G);if(!5p){(G.1r||[]).Q((J)=>{J.1f&&dz.2q(J)});(G.1n||[]).Q((J)=>{J.1f&&dz.2q(J)})}}}D.5o.4q=4N.6Z(dz);F D.5o},A.le=C(E){B D=A;B 5o=D.lg();B 5p=A.1q<=A.91[0];B dA=[],gO=[];(5o.92||[]).Q((1P)=>{D.a2(E,1P)});(5o.4q||[]).Q((2v)=>{if(2v.70||2v.1K){gO.19(2v)}S{D.a2(E,2v,5p)}});gO.Q((2v)=>{D.a2(E,2v,5p)});(5o.Y||[]).Q((G)=>{if(G.70||G.1K){dA.19(G)}S{D.a2(E,G,5p)}});dA.Q((2v)=>{D.a2(E,2v,5p)})},A.a2=C(E,3i,5p){if(3i.1f){E.1W();if(3i.bB){B 2o=3i.bC();E.2Y(2o.x,2o.y);E.4o(3i.4o*H.1x/3P);E.1J(3i.1q,3i.1H)}if(3i.70&&!5p){3i.dB(E)}if(3i.1K||3i.4r||3i.70){3i.a3=T}S{3i.a3=(A.1q>=A.1c.gt?T:V)}3i.44(E,5p);E.1X()}},A.ld=C(E){1k(B i=0;i<A.a0.O;i++){B d=A.a0[i],e=A.67[d];1k(B f=0;f<e.O;f++){B 1C=e[f];if(1C.1f==V){E.1W();if(1C.bB){B 1s=1C.bC();E.2Y(1s.x,1s.y);E.4o(1C.4o*H.1x/3P);E.1J(1C.1q,1C.1H)}if(1C.70){1C.dB(E)}1C.a3=T;1C.44(E,T);E.1X()}}}},A.kw=C(E){B Y=A.67[17.cI]||[];if(Y.O==0){F T}E.1W();E.1J(A.1q,A.1H);if(V==A.2Y){B 2L=A.8S(E);E.2Y(2L.2E,2L.2F)}B 1s={x:0,y:0};Y.Q(C(G){1s=G.bC();E.1W();E.2Y(1s.x,1s.y);E.4o(G.4o*H.1x/3P);E.1J(G.1q,G.1H);G.44(E,V);E.1X()});E.1X()},A.8S=C(2M){B K=A.1c.K,N=A.1c.N;if(2M!=L){K=2M.26.K;N=2M.26.N}B 5T=K/A.1q/2,5U=N/A.1H/2;F{2E:A.2E+(5T-5T*A.1q),2F:A.2F+(5U-5U*A.1H)}},A.gN=C(G,2L){if(G==L||!G.1f){F T}B 5T=(G.x+2L.2E)*A.1q;if(5T>A.1c.K){F T}B 5U=(G.y+2L.2F)*A.1H;if(5U>A.1c.N){F T}B K=5T+G.K*A.1q;if(0>K){F T}B N=5U+G.N*A.1H;if(0>N){F T}F V},A.qm=C(1C,2L){if(1C==L||!1C.1f){F T}if(1C 5q 17.71){if(1C.M.1f&&1C.I.1f){F V}F T}F A.gN(1C,2L)},A.lf=C(E,gP){1k(B i=0;i<gP.O;i++){gP[i](E)}},A.qn=C(lh){F A.bA.19(lh),A},A.li=C(){F A.bA=[],A},A.gQ=C(x,y){B 6q=[];B 3i=L;B O=0;B 94=[\'Y\',\'4q\',\'92\'];if(A.lc!=\'G-6Y\'){94=[\'4q\',\'Y\',\'92\']}1k(B i=0;i<94.O;i++){6q=A.5o[94[i]]||[];O=6q.O;1k(B j=0;j<O;j++){3i=6q[j];if(3i.1f&&3i.dC(x,y)){F 3i}3i=L}}F 3i},A.2q=C(1C){A.1E.19(1C),L==A.67[1C.6v]&&(A.67[1C.6v]=[],A.a0.19(1C.6v),A.a0.a4(C(lj,lk){F lj-lk})),A.67[\'\'+1C.6v].19(1C)},A.3K=C(1C){A.1E=17.1O.7x(A.1E,1C);B gR=A.67[1C.6v];if(gR){A.67[1C.6v]=17.1O.7x(gR,1C);1C.cK(A)}},A.do=C(){A.1E=[],A.bA=[],A.a0=[],A.67={}},A.4s=C(1C){if(A.4e.1G(1C)==-1){A.4e.19(1C)}},A.dD=C(1C){1k(B i=0;i<A.4e.O;i++){A.4e[i].gS(1C)}A.4e=[]},A.ll=C(1C){1k(B i=0;i<A.4e.O;i++){if(1C===A.4e[i])F T}F V},A.gT=C(1C){1k(B i=0;i<A.4e.O;i++){B 55=A.4e[i];if(1C===55){A.4e=17.1O.7x(A.4e,55)}}},A.6w=C(1C){B 68=17.1O.7w(1C);68.x/=A.1q;68.y/=A.1H;if(V==A.2Y){B 2L=A.8S();68.x-=2L.2E;68.y-=2L.2F}F L!=68.dx&&(68.dx/=A.1q,68.dy/=A.1H),L!=A.3M&&(68.I=A.3M),68.15=A,68},A.gU=C(P){B D=A;B 55=D.gQ(P.x,P.y);if(L!=55){P.I=55;55.lm(P);55.dE(P);if(D.ll(55)){P.gV||D.dD(),D.4s(55)}S{P.gV&&(55.gS(),A.gT(55));1k(B i=0;i<A.4e.O;i++){A.4e[i].dE(P)}}}S{P.gV||D.dD()}A.3M=55},A.qo=C(P){B 39=A.6w(P);A.9L=39.x,A.9M=39.y,A.7V=39;if(A.8U=V&&A.4M==17.7s.3B){A.gU(39),(L==A.3M||A.3M 5q 17.71)&&V==A.2Y&&(A.bx=A.2E,A.by=A.2F)}S{if(A.4M==17.7s.8D&&V==A.2Y)F A.bx=A.2E,A.by=A.2F;A.4M==17.7s.7t&&A.gU(39)}D.2e("4l",39)},A.gW=C(P){D.li();B 39=A.6w(P);L!=A.3M&&(39.I=D.3M,A.3M.gW(39));A.2e("46",39),A.8U=T;if(A.bz){A.bz=T;A.ln()}},A.gX=C(P){if(L!=A.3M&&A.3M.3S){B e=17.1O.7w(P);1k(B i=0;i<A.4e.O;i++){B 1C=A.4e[i];if(1C.3S){e.I=1C,1C.gY(e)}}}},A.gY=C(P){B 2R=A.6w(P);if(A.4M==17.7s.3B){if(L==A.3M||A.3M 5q 17.71){A.3S&&A.2Y&&(A.2E=A.bx+2R.dx,A.2F=A.by+2R.dy)}S{A.3S&&A.gX(2R)}}S if(A.4M==17.7s.8D){A.3S&&A.2Y&&(A.2E=A.bx+2R.dx,A.2F=A.by+2R.dy)}S if(A.4M==17.7s.7t){if(L!=A.3M){A.3M.3S&&A.gX(2R)}S{A.1c.5n=T;A.bz=V;A.gK==\'42\'?A.lo(2R):A.lp(2R)}}S{A.2e("6W",2R)}},A.ln=C(){B 1C=L;B 94=[\'Y\',\'92\'];B Y=[];1k(B i=0;i<94.O;i++){B 6q=A.5o[94[i]]||[];B O=6q.O;1k(B j=0;j<O;j++){1C=6q[j];if(17.1O.cW([1C.cx,1C.cy],A.a1)){1C.dE(P),A.4s(1C);Y.19(1C)}}}A.dF=Y;A.6l=L;A.a1=L;A.dv=0;A.1c.7M()},A.lp=C(P){B 1y=P.7A,1B=P.7z;A.dv++;if(A.6l==L){A.6l=[[1y,1B]];A.a1=[[P.x,P.y]]}S{if(A.dv%10==0){A.6l.19([1y,1B]);A.a1.19([P.x,P.y])}}A.1c.l1(1y,1B,A.6l)},A.lo=C(P){B 1y=P.7A,1B=P.7z,gZ=A.7V.7A,h0=A.7V.7z,x=1y>=gZ?gZ:1y,y=1B>=h0?h0:1B,dx=H.4A(P.dx)*A.1q,dy=H.4A(P.dy)*A.1H;A.1c.l0(x,y,dx,dy);x=P.x>=A.7V.x?A.7V.x:P.x;y=P.y>=A.7V.y?A.7V.y:P.y;B K=x+H.4A(P.dx),N=y+H.4A(P.dy);A.a1=[[x,y],[K,y],[K,N],[x,N]]},A.lq=C(P){B 3d=D.6w(P);B 6x=D.gQ(3d.x,3d.y);if(L!=6x){if(D.96&&D.96!==6x){3d.I=6x;D.96.dG(3d)}D.96=6x;if(!6x.70){3d.I=6x;6x.h1(3d);D.2e("4K",3d)}S{3d.I=6x}}S{if(D.96){3d.I=6x;D.96.dG(3d);D.96=L;D.2e("4L",3d)}S{3d.I=L;D.2e("3Q",3d)}}},A.h1=C(a){B b=A.6w(a);A.2e("4K",b)},A.dG=C(a){B b=A.6w(a);A.2e("4L",b)},A.h2=C(a){B b=A.6w(a);A.3M&&(b.I=A.3M,A.3M.h2(b)),A.2e("43",b)},A.h3=C(a){B b=A.6w(a);A.3M?(b.I=A.3M,A.3M.h3(b)):A.dD(),A.2e("6r",b)},A.qp=C(P){A.2e(\'9P\',P)},A.qq=C(P){A.2e(\'9Q\',P)},A.3l=C(a,b){B c=A,d=C(a){b.6X(c,a)};F A.4d.cL(a,d),A},A.9J=C(P){A.4d.cM(P)},A.bq=C(){A.4d=1F 17.1O.6M},A.2e=C(a,b){F A.4d.cN(a,b),A};B 9S="43,6r,4l,46,4K,4L,3Q,6W,9P,9Q".5r(","),D=A;F 9S.Q(C(3f){D[3f]=C(P){L!=P?A.3l(3f,P):A.2e(3f)}}),A.bw=C(1q,1H){L!=1q&&0!=1q&&(A.1q=1q),L!=1H&&0!=1H&&(A.1H=1H)},A.7P=C(1J){if(A.1q<=A.91[1]){0!=1J&&(L==1J&&(1J=0.8),A.1q/=1J,A.1H/=1J)}},A.7Q=C(1J){if(A.1q>=A.91[0]){0!=1J&&(L==1J&&(1J=0.8),A.1q*=1J,A.1H*=1J)}},A.7N=C(){F{1y:0,1B:0,2g:A.1c.K,2j:A.1c.N,K:A.1c.K,N:A.1c.N}},A.du=C(){if(A.1E.O==0){F L}F A.lr(A.1E)},A.lr=C(6q){B Z={1y:2a.9Y,2g:-2a.9Y,1B:2a.9Y,2j:-2a.9Y};6q.2w(C(it){F it.1f&&it 5q 17.72}).Q(C(G){if(Z.1y>G.x){Z.1y=G.x;Z.7S=G}if(Z.2g<G.x+G.K){Z.2g=G.x+G.K;Z.7T=G}if(Z.1B>G.y){Z.1B=G.y;Z.7U=G}if(Z.2j<G.y+G.N){Z.2j=G.y+G.N;Z.8W=G}});if(Z.7S.56){Z.1y=Z.1y-Z.7S.56.4j}if(Z.7T.56){Z.2g=Z.2g+Z.7T.56.4j}if(Z.8W.56){Z.2j=Z.2j+Z.8W.56.4j}if(Z.7U.56){Z.1B=Z.1B-Z.7U.56.4j-Z.7U.56.7W}Z.K=Z.2g-Z.1y;Z.N=Z.2j-Z.1B;F Z},A.bD=C(2M){B Z=A.du();if(Z!=L){B 2E=0,2F=0;if(2M){2E=2M.26.K/2-(Z.1y+Z.2g)/2;2F=2M.26.N/2-(Z.1B+Z.2j)/2}S{2E=A.1c.K/2-(Z.1y+Z.2g)/2,2F=A.1c.N/2-(Z.1B+Z.2j)/2}A.2E=2E;A.2F=2F}},A.db=C(x,y){B 5T=x-A.1c.K/2;B 5U=y-A.1c.N/2;A.2E=-5T;A.2F=-5U},A.7O=C(1q,1H,2M){A.bD(2M);if(L==1q||L==1H){B Z=A.du();if(Z!=L){B K=(Z.2g-Z.1y);B N=(Z.2j-Z.1B);B 1q=1,1H=1;if(2M){1q=2M.26.K/K;1H=2M.26.N/N}S{1q=A.1c.K/K;1H=A.1c.N/N}B 1J=H.3p(1q,1H);if(1J>1){1J=1}A.bw(1J,1J)}}S{A.bw(1q,1H)}},A.bC=C(){B D=A;F{x:D.1c.K/2,y:D.1c.N/2}},D};9Z.R=1F 17.fy;17.9Z=9Z}(17),C(17){C 97(){A.2W=C(){97.R.2W.66(A,64),A.5M="qr",A.x=0,A.y=0,A.K=40,A.N=40,A.14=20;A.2K=40;A.1f=V,A.1a=1,A.4o=0,A.1q=1,A.1H=1,A.3T="22,2S,22",A.4D="22,2S,22",A.2T="22,2S,22",A.qs=T,A.7X=20,A.5s="1z(20,51,20,0.5)",A.ls=3,A.lt=6,A.bB=T,A.4E=T,A.6v=0;A.2X={}},A.2W(),A.44=C(E){E.2k(),E.42(-A.K/2,-A.N/2,A.K,A.N);if(A.2T){E.24=`1z(${A.2T},${A.1a})`,E.3E()}E.38=`1z(${A.3T},${A.1a})`,E.2N(),E.3k()},A.qt=C(){F{x:A.x,y:A.y}},A.bE=C(x,y){A.x=x;A.y=y;F A},A.bC=C(){F{x:A.x+A.K/2,y:A.y+A.N/2}},A.qu=C(x,y){A.x=x-A.K/2;A.y=y-A.N/2;F A},A.qv=C(){F{K:A.K,N:A.qw}},A.h4=C(K,N){A.K=2a(K)||40;A.N=2a(N)||40;A.73=H.23(A.K/2);F A},A.7N=C(){F{1y:A.x-A.2x,1B:A.y-A.2x,2g:A.x+A.K+A.2x,2j:A.y+A.N+A.2x,K:A.K,N:A.N}},A.qx=C(x,y,K,N){A.bE(x,y);A.h4(K,N);F A},A.qy=C(3v){B 1s,Z=A.7N();7Y(3v){1A\'lu\':1s={x:Z.1y,y:Z.1B};1t;1A\'lv\':1s={x:A.cx,y:Z.1B};1t;1A\'lw\':1s={x:Z.2g,y:Z.1B};1t;1A\'lx\':1s={x:Z.1y,y:A.cy};1t;1A\'dH\':1s={x:A.cx,y:A.cy};1t;1A\'ly\':1s={x:Z.2g,y:A.cy};1t;1A\'lz\':1s={x:Z.1y,y:Z.2j};1t;1A\'lA\':1s={x:A.cx,y:Z.2j};1t;1A\'lB\':1s={x:Z.2g,y:Z.2j};1t;5t:1s={x:A.cx,y:A.cy};1t}F 1s}}C 7Z(){A.2W=C(){7Z.R.2W.66(A,64),A.5M="qz",A.3S=T,A.1K=T,A.4r=T,A.70=T,A.bF=L,A.lC=T,A.4E=T},A.2W(),A.dB=C(E){A.4r=V},A.dC=C(x,y){if(A.3w==\'42\'){B K=A.K*A.1q;B N=A.N*A.1H;if(A.4o==0){F x>A.cx-K/2&&x<A.cx+K/2&&y>A.cy-N/2&&y<A.cy+N/2}S{B a5=A.cx,a6=A.cy;B 1g=-(A.4o*H.1x/3P);B 1Q=(x-a5)*H.2B(1g)-(y-a6)*H.2u(1g)+a5;B 1T=(x-a5)*H.2u(1g)+(y-a6)*H.2B(1g)+a6;F 1Q>A.cx-K/2&&1Q<A.cx+K/2&&1T>A.cy-N/2&&1T<A.cy+N/2}}S{F((x-A.cx)*(x-A.cx)+(y-A.cy)*(y-A.cy))<(A.14*A.1q*A.14*A.1q)}},A.dE=C(){A.1K=V,A.bF={x:A.x,y:A.y}},A.gS=C(){A.1K=T,A.bF=L},A.h3=C(P){A.2e("6r",P)},A.h2=C(P){A.2e("43",P)},A.lm=C(a){A.2e("4l",a)},A.gW=C(P){A.2e("46",P)},A.h1=C(P){A.70=V,A.2e("4K",P)},A.lq=C(P){A.2e("3Q",P)},A.dG=C(P){A.70=T,A.4r=T,A.2e("4L",P)},A.gY=C(P){B x=A.bF.x+P.dx,y=A.bF.y+P.dy;A.bE(x,y);A.2e("6W",P)},A.3l=C(3f,dI){B D=A,P=C(e){dI.6X(D,e)};F A.4d||(A.4d=1F 17.1O.6M),A.4d.cL(3f,P),A},A.2e=C(3f,dI){F A.4d?(A.4d.cN(3f,dI),A):L},A.9J=C(P){A.4d.cM(P)},A.bq=C(){A.4d=1F 17.1O.6M};B D=A;B 9S=[\'43\',\'6r\',\'4l\',\'46\',\'4K\',\'4L\',\'3Q\',\'6W\'];9S.Q(C(3f){D[3f]=C(P){L!=P?A.3l(3f,P):A.2e(3f)}})}97.R=1F 17.fy,98.qA(97.R,{cx:{4p:C(){F A.x+A.K/2},4k:C(x){A.x=x-A.K/2}},cy:{4p:C(){F A.y+A.N/2},4k:C(y){A.y=y-A.N/2}},14:{4p:C(){F H.23(A.K/2)},4k:C(r){A.K=r*2}}}),7Z.R=1F 97,17.97=97,17.7Z=7Z}(17),C(17){C 72(2t){A.2W=C(2t){72.R.2W.66(A,64),A.5M="G",A.6v=17.cI,A.47=2t,A.27="3B bG 5Y",A.3u="20,20,20",A.2x=0,A.4D="20,2S,20",A.81=1,A.a7=\'2S,0,0\',A.74=10,A.dJ=0.7,A.3r=0,A.5s=\'20,2S,20\',A.7X=10,A.3S=V,A.3v="dH",A.5u=0,A.82=0,A.bB=V,A.1n=L,A.1r=L;A.K=60;A.N=60;A.76=L,A.77=0,A.83=\'2S,2S,2S\';A.24=L;A.4O=[];A.qB=18;A.6y={27:\'lD qC lE\',47:L,1N:\'2S,2S,2S\',1y:-A.K,1B:A.N/2};A.4P={dK:0,5v:0,84:0,27:L}},A.2W(2t),A.lF=C(E,3x,x,y,r){if(3x&&3x.K){if(A.3w==\'bH\'){r=r>2?r:2;if(r<3x.K/2){E.3L(x+r,y+r,r,0,2*H.1x);E.qD();E.9V(3x,x,y,2*r,2*r)}S{E.9V(3x,-3x.K/2,-3x.N/2,3x.K,3x.N)}}S if(A.3w==\'42\'){E.9V(3x,x,y,A.K,A.N)}S{E.9V(3x,-3x.K/2,-3x.N/2,3x.K,3x.N)}}},A.44=C(E,6z){if(A.h5&&1R(A.h5)===\'C\'){if(A.lC){E.1W(),E.2k();E.42(-A.K/2-5,-A.N/2-5,A.K+10,A.N+10);E.3k();E.24=\'1z(dL,dL,dL,0.5)\';E.3E();E.1X()}A.h5(E,6z);F T}A.lG(E,6z)},A.lG=C(E,6z){A.lH(E,6z);if(A.3R&&!6z){B lI=E.bt;E.1W();E.bt=A.1a;A.lF(E,A.3R,-A.K/2,-A.N/2,A.K/2);E.bt=lI;E.1X()}if(!6z&&!A.a3){if(A.6y&&A.6y.47){A.lJ(E)}A.bI(E),A.lK(E);A.lL(E)}},A.lH=C(E,6z){E.1W();E.2k();A.lM(E);if(!6z){if(A.28&&A.28.O>1){E.lN(A.28)}if((A.4r||A.1K)&&A.74>0){E.1v=A.2x+A.74;E.38=`1z(${A.a7},${A.1a*A.dJ})`;E.2N()}if(!A.1K&&!A.4r&&A.2x>0){E.1v=A.2x;E.38=A.38?A.38:`1z(${A.4D},${A.1a*A.81})`;E.2N()}if(A.2T||6z){A.lO(E);E.24=A.24?A.24:`1z(${A.2T},${A.1a})`;E.3E()}}S{if(A.24){E.24=A.24;E.3E()}S{if(A.2T){E.24=`1z(${A.2T},${A.1a})`;E.3E()}S{E.1v=A.2x;E.38=`1z(${A.4D},${A.1a})`;E.2N()}}}E.1X()},A.lM=C(E){7Y(A.3w){1A\'42\':if(!A.3r){E.42(-A.K/2,-A.N/2,A.K,A.N)}S{B K=A.K;B N=A.N;B 85=H.1x/3P;B r=A.3r;B x=-K/2,y=-N/2;if(K-(2*r)<0){r=(K/2)}if(N-(2*r)<0){r=(N/2)}E.3C(x+r,y);E.1M(x+K-r,y);E.3L(x+K-r,y+r,r,85*g1,85*d0,T);E.1M(x+K,y+N-r);E.3L(x+K-r,y+N-r,r,0,85*90,T);E.1M(x+r,y+N);E.3L(x+r,y+N-r,r,85*90,85*3P,T);E.1M(x,y+r);E.3L(x+r,y+r,r,85*3P,85*g1,T);E.3k()}1t;1A\'lP\':E.lP(0,0,A.14,(A.14)/2,0,0,2*H.1x);1t;1A\'qE\':E.42(-A.14,-A.14,A.14*2,A.14*2);1t;1A\'qF\':E.3C(0,-A.14);E.1M(-A.14,A.14);E.1M(A.14,A.14);E.3k();1t;1A\'qG\':B r=(A.14)*2*0.41;1k(B n=0;n<10;n++){B 14=(n%2===0)?r*1.3:r*0.5;E.1M(14*H.2u(n*2*H.1x/10),(0.1*r)-14*H.2B(n*2*H.1x/10))}E.3k();1t;1A\'qH\':B 1Y=(2*H.1x)/6;1k(B i=0;i<6;i++){B x=H.2B(i*1Y);B y=H.2u(i*1Y);E.1M(x*(A.14),y*(A.14))}E.3k();1t;1A\'bH\':A.14=A.14<2?2:A.14;E.3L(0,0,A.14,0,H.1x*2,T);1t;5t:A.14=A.14<2?2:A.14;E.3L(0,0,A.14,0,2*H.1x,V);1t}},A.lK=C(E){if(A.5w){B b=A.qI||"0,3s,0",c=A.qJ||(0.8*A.1a);E.27=A.qK||"qL lE";B d=E.4m(A.5w).K+6,e=E.4m("田").K+6,f=A.K/2-d/2,g=-A.N/2-e-8;E.38=`1z(${b},${c})`,E.24=`1z(${b},${c})`,E.d5(A.K/3,-A.N/2,d+5,e,8),E.2N(),E.3E(),E.24=`1z(3s,3s,3s,${A.1a})`,E.61(A.5w,A.K/3+5,-A.N/2+12)}},A.bI=C(E){B D=A;B 1b;if(A.3m){1b=A.47=A.1b}S{1b=A.47=L;F}if(1b){B 1s;E.1W();E.27=A.27;B 57=0;E.24=`1z(${A.3u},${A.1a})`;if(A.bJ==V){57=E.4m("田").K;B 4Q=A.lQ(1b);B 5v=0;E.6u=\'5Z\';4Q.Q(C(47,i){47=h6(47);5v=H.2H(5v,E.4m(47.53(/ /g,\'田\')).K);E.61(47,0,-((57/2)*4Q.O)+((i+1)*57))});A.K=(5v+8)<A.K?A.K:(5v+8)}S{A.lR(E);57=A.4P.dK;B 84=A.4O.O;B lS=84*57;if(A.76){1s=A.a8(A.3v,A.4P.5v,57);E.1W();E.1v=1;E.38=`1z(${A.83},${A.1a})`;E.24=`1z(${A.76},${A.1a})`;E.d5(1s.x-5,1s.y-57*1.45,A.4P.5v+10,lS+57+(84==1?0:4),5);E.2N(),E.3E(),E.1X()}if(A.77>0){E.1v=A.77;E.38=`1z(${A.83},${A.1a})`;E.bK=\'23\';E.dt=\'23\'}if(84==1){1s=A.a8(A.3v,A.4P.5v,57);A.77>0?E.lT(A.4O[0],1s.x,1s.y):L;E.61(A.4O[0],1s.x,1s.y-1)}S{1k(1o i=0;i<84;i++){1s=A.a8(A.3v,E.4m(A.4O[i]).K,57);A.77>0?E.lT(A.4O[i],1s.x,1s.y+(i*57)+(i==0?0:2*i)):L;E.61(A.4O[i],1s.x,1s.y-1+(i*57)+(i==0?0:2*i))}}}E.1X()}},A.lR=C(E){A.4O=h6(A.1b).5r(\'\\n\');if(A.4P.dK==0||A.4P.84!=A.4O.O||A.4P.27!=A.27){A.4P.dK=E.4m("田").K;A.4P.27=A.27;A.4P.84=A.4O.O;if(A.4O.O==1){A.4P.5v=E.4m(A.4O[0]).K}S{1k(1o i=0;i<A.4O.O;i++){A.4P.5v=H.2H(E.4m(A.4O[i]).K,A.4P.5v)}}}},A.lQ=C(1b){B O=h6(1b).O;B 4Q=[];if(O<5){4Q.19(1b)}S if(O>=5&&O<=9){4Q.19(1b.69(0,4));4Q.19(1b.69(4))}S if(O>9&&O<=13){4Q.19(1b.69(0,4));4Q.19(1b.69(4,9));4Q.19(1b.69(9))}S{4Q.19(1b.69(0,4));4Q.19(1b.69(4,9));4Q.19(1b.69(9,12)+\'..\')}F 4Q};A.lO=C(E){if(A.78&&A.1K){E.7X=A.7X,E.5s=`1z(${A.5s},${A.1a*0.9})`,E.ls=0,E.lt=0}},A.lJ=C(E){E.1W(),E.24=`1z(${A.6y.1N},${A.1a})`;E.27=A.6y.27,E.61(A.6y.47,A.6y.1y||5,A.6y.1B||5),E.1X()},A.lL=C(E){if(A.h7){B 14=A.qM||0;B 4j=16;E.1W();E.27=A.qN||"3B bG 5Y";B K=E.4m(A.h7).K+4j;B N=E.4m(\'田\').K+4j-2;14=14>N/2?N/2:14;E.2Y(-K/2,-N-A.N/2-6);E.2k();E.3L(K-14,N-14,14,0,H.1x/2);E.1M(K/2.0+4,N);E.1M(K/2.0,N+6);E.1M(K/2.0-4,N);E.1M(14,N);E.3L(14,N-14,14,H.1x/2,H.1x);E.1M(0,14);E.3L(14,14,14,H.1x,H.1x*3/2);E.1M(K-14,0);E.3L(K-14,14,14,H.1x*3/2,H.1x*2);E.1M(K,N-14);E.3k();E.24=`1z(${A.qO||\'3s,50,50\'},${A.1a})`;E.3E();E.2Y(K/2,N/2);E.9U=\'4n\';E.6u=\'5Z\';E.24=`1z(${A.qP||\'3s,3s,3s\'},${A.1a})`;E.61(A.h7,0,0);E.1X()}},A.a8=C(3v,4t,4u){B 2o=L;F L==3v||"lA"==3v?2o={x:-A.K/2+(A.K-4t)/2,y:A.N/2+4u}:"lv"==3v?2o={x:-A.K/2+(A.K-4t)/2,y:-A.N/2-4u/2}:"lw"==3v?2o={x:A.K/2,y:-A.N/2-4u/2}:"lu"==3v?2o={x:-A.K/2-4t,y:-A.N/2-4u/2}:"lB"==3v?2o={x:A.K/2,y:A.N/2+4u}:"lz"==3v?2o={x:-A.K/2-4t,y:A.N/2+4u}:"dH"==3v?2o={x:-A.K/2+(A.K-4t)/2,y:4u/2}:"ly"==3v?2o={x:A.K/2,y:4u/2}:"lx"==3v&&(2o={x:-A.K/2-4t,y:4u/2}),L==2o?2o={x:-A.K/2+(A.K-4t)/2,y:A.N/2+4u}:2o,L!=A.5u&&(2o.x+=A.5u),L!=A.82&&(2o.y+=A.82),2o},A.dM=C(79){if(L==79)qQ 1F qR("3R is L!");B D=A;B 3R=17.g5[79];if(3R!=L){D.3R=3R;F}if("86"==1R 79){B 3x=1F qS();3x.kz(\'qT\',\'qU\');3x.qV=79;3x.qW=C(){D.3R=3x};17.g5[79]=3x}S{A.3R=79,A.h4(79.K,79.N)}},A.cK=C(a){B D=A;A.1r&&(A.1r.Q(C(J){J.M===D&&a.3K(J)}),A.1r=L);A.1n&&(A.1n.Q(C(J){J.I===D&&a.3K(J)}),A.1n=L)}}72.R=1F 17.7Z,17.72=72}(17),C(17){C dN(M,I){B 7a=[];if(L==M||L==I)F 7a;if(M.1r&&I.1n)1k(B i=0;i<M.1r.O;i++)1k(B lU=M.1r[i],j=0;j<I.1n.O;j++){B h8=I.1n[j];lU===h8&&7a.19(h8)}F 7a}C h9(M,I,bL){if(bL!=L&&bL==V){B lV=dN(M,I),lW=dN(I,M),lX=lV.7b(lW);F lX}F dN(M,I)}C lY(2c){B 7a=h9(2c.M,2c.I);F 7a=7a.2w(C(lZ){F 2c!==lZ})}C ha(M,I,bL){F h9(M,I,bL).O}C 71(M,I,1b){A.2W=C(M,I,1b){71.R.2W.66(A,64);A.5M="J";A.6v=17.jI;A.47=1b,A.M=M,A.I=I,A.M&&L==A.M.1r&&(A.M.1r=[]),A.M&&L==A.M.1n&&(A.M.1n=[]),A.I&&L==A.I.1n&&(A.I.1n=[]),A.I&&L==A.I.1r&&(A.I.1r=[]),L!=A.M&&A.M.1r.19(A),L!=A.I&&A.I.1n.19(A),A.m0(),A.27="3B bG 5Y",A.3u="9X,9X,9X",A.1v=2,A.bK="23",A.78=T;A.5s=\'10,3s,10\',A.9a=\'10,10,qX\',A.a9=1;A.34=L;A.bB=T,A.5u=0,A.82=0,A.aa=20,A.6A=30,A.dO=1,A.5S=0.5,A.58=5,A.3m=V,A.31=V,A.bM=\'9I\',A.76=L,A.77=0,A.83=\'2S,2S,2S\';A.1j=[];A.4E=T;A.dP=2;A.6a=1;A.2y=L;A.dQ=\'2S,0,0\';A.dR=H.23(A.1v*2);A.ab=0},A.hb=C(I,M){B 2c=17.1O.7B(I.cx,I.cy,M.cx,M.cy),Z=I.7N(),2i=17.1O.cO(2c,Z);F 2i},A.m0=C(){B 3U=ha(A.M,A.I,T);if(3U>0){A.dS=3U-1}},A.2W(M,I,1b),A.cK=C(){B D=A;A.M&&A.M.1r&&(A.M.1r=A.M.1r.2w(C(b){F b!==D})),A.I&&A.I.1n&&(A.I.1n=A.I.1n.2w(C(b){F b!==D}));B 7a=lY(A);7a.Q(C(2c,i){2c.dS=i})},A.m1=C(){B b8={x:A.M.cx,y:A.M.cy};F b8},A.m2=C(){B bN={x:A.I.cx,y:A.I.cy};F(bN=A.hb(A.I,A.M)),L==bN&&(bN={x:A.I.cx,y:A.I.cy}),bN},A.hc=C(){B 4Z=A.m1(),33=A.m2();F[4Z,33]},A.hd=C(E,1b){},A.qY=C(E,g,h){},A.44=C(E){},A.bI=C(E,1b){},A.dC=C(dT,dU){B D=A;if(A.1j.O>0){B 1v=D.1v;if(D.he){1v=H.23(D.he/2)}B 3j=T;1k(B i=1;i<A.1j.O;i++){B 4Z=A.1j[i-1],33=A.1j[i];if(V==17.1O.cQ(4Z.x,4Z.y,33.x,33.y,1v,dT,dU)){3j=V;1t}}F 3j}S{if(D.ac){B 1s=D.ac;F 17.1O.cR(1s[0],1s[1],1s[2],1s[3],1s[4],1s[5],1s[6],1s[7],D.1v,dT,dU)}if(D.hf){B 1s=D.hf;F 17.1O.cT(1s[0],1s[1],1s[2],1s[3],1s[4],1s[5],D.1v,dT,dU)}}F T}}C 9b(M,I,1b){A.2W=C(){9b.R.2W.66(A,64)},A.2W(M,I,1b),A.44=C(E,m3){if(A.hg&&1R(A.hg)===\'C\'){A.hg(E);F T}if(L!=A.M&&L!=A.I){if(A.4R==\'M\'){A.3T=A.M.2T}S if(A.4R==\'I\'||A.4R==\'hh\'){A.3T=A.I.2T}A.dO=ha(A.I,A.M,V);if(A.M===A.I||A.dO>1){if(A.M===A.I){A.3g=\'hi\'}S{A.m4(E,!m3);F}}A.hd(E,1b)}};A.hd=C(E,1b){B 3g=A.3g;7Y(3g){1A\'bO\':A.hj(E,1b);1t;1A\'hi\':A.m5(E,1b);1t;1A\'m6\':A.m7(E,1b);1t;1A\'qZ\':A.m8(E,1b);1t;1A\'r0\':A.m9(E,1b);1t;1A\'ma\':A.hk(E,1b);1t;1A\'r2\':A.hl(E,1b);1t;1A\'r3\':A.mb(E,1b);1t;1A\'r4\':A.mc(E,1b);1t;1A\'md\':A.me(E,1b);1t;5t:A.3g==\'bO\';A.hj(E,1b);1t}},A.bP=C(E){B D=A;B 1j=D.1j;if(1j.O==2){D.6a=1}if((D.6a>0&&D.6a<1j.O)){B sx=1j[D.6a-1].x,sy=1j[D.6a-1].y,tx=1j[D.6a].x,ty=1j[D.6a].y;B 1g=H.5m(ty-sy,tx-sx);B 2y=D.2y;if(2y==L||2y.sx!=sx||2y.sy!=sy||2y.tx!=tx||2y.ty!=ty){B dx=tx-sx,dy=ty-sy;B mf=H.2G(dx*dx+dy*dy);B 4S=mf/D.dP;D.2y={x:sx,y:sy,sx:sx,sy:sy,tx:tx,ty:ty,1g:1g,4S:4S}}}S{D.6a=0;D.2y=L}if(D.2y&&D.2y.4S>0){D.2y.4S--;D.2y.x+=(D.dP*H.2B(D.2y.1g));D.2y.y+=(D.dP*H.2u(D.2y.1g));E.1W();E.2k();E.24=`1z(${D.dQ},${D.1a})`;E.3L(D.2y.x,D.2y.y,D.dR,0,2*H.1x);E.3E();E.3k();E.1X();if(D.2y.4S<=0){D.2y=L;D.6a++}}S{D.6a++}},A.6B=C(E){E.bK="23";E.dt="23";if(A.1K||A.4r){E.38=`1z(${A.9a},${A.a9})`;E.1v=A.1v+2}S{if(A.4R==\'hh\'){B 87=E.mg(A.M.cx,A.M.cy,A.I.cx,A.I.cy);if(A.M.2T){87.dV(0,`1z(${A.M.2T},${A.1a||0.8})`)}if(A.I.2T){87.dV(1,`1z(${A.I.2T},${A.1a||0.8})`)}E.38=87}S{E.38=`1z(${A.3T},${A.1a||0.8})`}E.1v=A.1v}if(A.28&&A.28.O>1){E.lN(A.28);if(A.4E){E.ab=(A.ab-=2);A.ab=A.ab<-2I?1:A.ab}}},A.m4=C(E,mh){B 29={x:A.M.cx,y:A.M.cy},2h={x:A.I.cx,y:A.I.cy};B 6n=A.mi(29,2h);B 9c=6n.4Z;B 59=6n.33;B 1g=H.5m(59.y-2h.y,59.x-2h.x);B 3Z=2h;B 33=2h;if(A.31){if(A.I.3w==\'42\'){3Z=A.hb(A.I,{cx:59.x,cy:59.y})}S{B 14=(A.I.14+A.I.2x/2)*A.I.1q;3Z=17.1O.cP(2h.x,2h.y,14,1g)}if(3Z==L){3Z=2h}B hm=A.5x();33.x=3Z.x+hm*H.2B(1g),33.y=3Z.y+hm*H.2u(1g)}A.1j=[];A.1j.19({x:29.x,y:29.y}),A.1j.19({x:9c.x,y:9c.y}),A.1j.19({x:59.x,y:59.y}),A.1j.19({x:3Z.x,y:3Z.y});A.bQ(E);E.1W();E.2k();E.3C(A.1j[0].x,A.1j[0].y);1k(B j=1;j<A.1j.O-1;j++){E.1M(A.1j[j].x,A.1j[j].y)}E.1M(33.x,33.y);A.6B(E),E.2N(),E.1X();if(A.31){A.7c(E,{x:59.x,y:59.y},3Z)}if(A.4E&&(A.28==L||A.28.O<=1)){A.bP(E)}if(A.3m&&mh){A.dW(E,{cx:9c.x,cy:9c.y},{cx:59.x,cy:59.y})}},A.mi=C(29,2h){A.aa=17.1O.5i(29,2h)*0.45;B mj=A.dO;B 1g=H.5m(2h.y-29.y,2h.x-29.x),hn={x:29.x+A.aa*H.2B(1g),y:29.y+A.aa*H.2u(1g)},ho={x:2h.x+A.aa*H.2B(1g-H.1x),y:2h.y+A.aa*H.2u(1g-H.1x)},6A=mj*A.6A/2-A.6A/2,2L=A.6A*A.dS;1g-=H.1x/2;B 9c={x:(hn.x+2L*H.2B(1g))+6A*H.2B(1g-H.1x),y:(hn.y+2L*H.2u(1g))+6A*H.2u(1g-H.1x)},59={x:(ho.x+2L*H.2B(1g))+6A*H.2B(1g-H.1x),y:(ho.y+2L*H.2u(1g))+6A*H.2u(1g-H.1x)};F{4Z:9c,33:59}},A.m5=C(E){B M=A.M,I=A.I;B sX=M.cx,sY=M.cy;B tX=A.I.cx,tY=A.I.cy;B dX=tX-sX,dY=tY-sY,ad=(sX<tX)?1:-1,cp={},c={},1g=0,t=0.5;if(M.id===I.id){B mk=(M.14/2*M.1q)||20;A.31=T;cp=17.1O.cU(sX,sY,mk+(A.dS*A.6A/2));c=17.1O.6Q(t,sX,sY,tX,tY,cp.1i,cp.1l,cp.1u,cp.1w);1g=H.5m(1,1);A.1j=[];A.ac=[sX,sY,cp.1i,cp.1l,cp.1u,cp.1w,tX,tY]}S{cp=17.1O.cV(sX,sY,tX,tY,4,A.5S);c=17.1O.8L(t,sX,sY,tX,tY,cp.x,cp.y);1g=H.5m(dY*ad,dX*ad);A.1j=[];A.hf=[sX,sY,cp.x,cp.y,tX,tY]}if(A.34){E.1W();E.2k();E.38=`1z(${A.34},${A.1a})`;E.1v=A.1v*3;E.3C(sX,sY);if(M.id===I.id){E.88(cp.1i,cp.1l,cp.1u,cp.1w,tX,tY)}S{E.ml(cp.x,cp.y,tX,tY)}E.2N();E.1X()}E.2k();E.3C(sX,sY);A.6B(E);if(M.id===I.id){E.88(cp.1i,cp.1l,cp.1u,cp.1w,tX,tY);A.4E=T}S{E.ml(cp.x,cp.y,tX,tY)}E.2N();if(A.4E&&(A.28==L||A.28.O<=1)){A.mn(E,sX,sY,tX,tY,cp.x,cp.y)}if(A.31){B bR=17.1O.8L(0.5,sX,sY,tX,tY,cp.x,cp.y);B bS=17.1O.8L(0.52,sX,sY,tX,tY,cp.x,cp.y);A.7c(E,{x:bR.x,y:bR.y},{x:bS.x,y:bS.y})}A.9d(E,c.x,c.y,1g);A.9e(E,{x:c.x,y:c.y})},A.mn=C(E,sx,sy,tx,ty,a5,a6){B D=A;if(D.2y&&D.2y.4S<1){D.2y.4S+=0.mo;B 1s=17.1O.8L(D.2y.4S,sx,sy,tx,ty,a5,a6);E.1W();E.2k();E.24=`1z(${D.dQ},${D.1a})`;E.3L(1s.x,1s.y,D.dR,0,2*H.1x);E.3E();E.3k();E.1X()}S{D.2y={4S:0}}},A.mb=C(E,b){B K=A.1v;K=K<4?4:K;B 1s={x:A.I.cx,y:A.I.cy};if(A.31){1s=A.hp(A.M,A.I)}B 1Q=A.M.cx;B 1T=A.M.cy;B 1i=1s.x;B 1l=1s.y;if(A.dZ){1Q=1s.x;1T=1s.y;1i=A.M.cx;1l=A.M.cy}E.1W();E.2k();if(A.31){E.9I(1Q,1T,1i,1l,[-3*K,K,-4*K,3*K+1])}S{E.9I(1Q,1T,1i,1l,[0,K])}E.bK="23";if(A.4R==\'hh\'){B 87=E.mg(A.M.cx,A.M.cy,A.I.cx,A.I.cy);87.dV(0,`1z(${A.M.2T},${A.1a})`);87.dV(1,`1z(${A.I.2T},${A.1a})`);E.24=87}S{E.24=`1z(${A.3T},${A.1a})`}if(A.1K||A.4r){E.24=`1z(${A.9a},${A.a9})`}E.3E();E.1X();A.1j=[{x:1Q,y:1T},{x:1i,y:1l}];A.dW(E,A.M,A.I)},A.mc=C(1d,b){B M=A.M,I=A.I;B 2z=M.cx,2U=M.cy;B 1L=I.cx,1V=I.cy;if(2z>1L){1L=I.x+I.K/2}S if(2z<1L){1L=I.x}1d.2k();A.6B(1d);1d.3C(M.cx,M.cy);1d.1M((2z+1L)/2,2U);1d.1M((2z+1L)/2,1V);1d.1M(I.cx,I.cy);1d.2N();A.1j=[{x:2z,y:2U},{x:(2z+1L)/2,y:2U},{x:(2z+1L)/2,y:1V},{x:1L,y:1V}]},A.hp=C(M,I){B 1g=0;A.58=A.5x();B 2L=0,5a=I.cx,5b=I.cy;if(\'42\'==A.I.3w){B 89=A.hc();5a=89[1].x;5b=89[1].y;1g=H.5m(5b-89[0].y,5a-89[0].x)}S{B 4Z={x:M.cx,y:M.cy},33={x:I.cx,y:I.cy};2L=-((I.14+I.2x/2)*I.1q);1g=H.5m(33.y-4Z.y,33.x-4Z.x),5a=33.x+2L*H.2B(1g),5b=33.y+2L*H.2u(1g)}F{x:5a,y:5b,1g:1g}},A.hj=C(E){B 5a=A.I.cx,5b=A.I.cy;B hq=5a,hr=5b;if(A.31){B 33=A.hp(A.M,A.I);5a=33.x;5b=33.y;hq=5a-A.58*H.2B(33.1g);hr=5b-A.58*H.2u(33.1g)}A.1j=[{x:A.M.cx,y:A.M.cy},{x:A.I.cx,y:A.I.cy}];A.bQ(E);E.2k(),E.3C(A.M.cx,A.M.cy);A.6B(E);E.1M(hq,hr),E.2N();if(A.31){B 29,2h;if(\'42\'==A.I.3w){B 89=A.hc();29=89[0],2h=89[1]}S{29={x:A.M.cx,y:A.M.cy},2h={x:5a,y:5b}}A.7c(E,29,2h)}if(A.4E&&(A.28==L||A.28.O<=1)){A.bP(E)}A.dW(E,A.M,A.I)},A.dW=C(E,29,2h){if(A.3m&&A.1b){1o 8a=H.5m(2h.cy-29.cy,2h.cx-29.cx);if(8a>H.1x/2)8a=-(H.1x-8a);if(8a<-H.1x/2)8a=-(-H.1x-8a);1o ae={x:29.cx+(2h.cx-29.cx)/2,y:29.cy+(2h.cy-29.cy)/2};A.9d(E,ae.x,ae.y,8a)}A.9e(E,{x:29.cx+(2h.cx-29.cx)/2,y:29.cy+(2h.cy-29.cy)/2})},A.9e=C(E,ae){if(A.a3){F T}if(A.5w){B 14=A.r5||0;B 4j=12;E.1W();E.27=A.r6||"3B bG 5Y";B K=E.4m(A.5w).K+4j;B N=E.4m(\'田\').K+4j-2;14=14>N/2?N/2:14;E.2Y(ae.x-K/2,ae.y-N-6);E.2k();E.3L(K-14,N-14,14,0,H.1x/2);E.1M(K/2+4,N);E.1M(K/2,N+6);E.1M(K/2-4,N);E.1M(14,N);E.3L(14,N-14,14,H.1x/2,H.1x);E.1M(0,14);E.3L(14,14,14,H.1x,H.1x*3/2);E.1M(K-14,0);E.3L(K-14,14,14,H.1x*3/2,H.1x*2);E.1M(K,N-14);E.3k();E.24=`1z(${A.r7||\'3s,50,50\'},${A.1a})`;E.3E();E.2Y(K/2,N/2);E.9U=\'4n\';E.6u=\'5Z\';E.24=`1z(${A.r8||\'3s,3s,3s\'},${A.1a})`;E.61(A.5w,0,0);E.1X()}},A.5x=C(){B 73=H.23(3*A.1v);F H.3p(H.2H(73,6),80)},A.bT=C(){B 14=0;if(A.31){B I=A.I;14=I.14;if(\'42\'==I.3w){if([\'ma\',\'m6\'].1G(A.3g)!=-1){14=(I.N/2+I.2x/2)*I.1q}S{14=(I.K/2+I.2x/2)*I.1q}}S{14=(I.14+I.2x/2)*I.1q}}F 14},A.mp=C(E,8b,5y){B 58=A.5x()+2;B 1g=H.5m(5y.y-8b.y,5y.x-8b.x);E.1W();E.2Y(5y.x,5y.y);E.4o(1g+1);if(A.1K||A.4r){E.24=`1z(${A.9a},${A.a9})`}S{E.24=`1z(${A.3T},${A.1a})`}E.2k();E.3C(0,58);E.1M(0,0);E.4o(-2);E.1M(0,-58);E.3k(),E.3E(),E.1X()},A.7c=C(E,8b,5y){if(A.bM==\'9I\'){B 58=A.5x();B 1g=H.jS((5y.x-8b.x)/(5y.y-8b.y));E.1W();E.2Y(5y.x,5y.y);if(5y.y-8b.y>=0){E.4o(-1g)}S{E.4o(H.1x-1g)}if(A.1K||A.4r){E.24=`1z(${A.9a},${A.a9})`}S{E.24=`1z(${A.3T},${A.1a})`}E.2k();E.1M(-58,-58*2);E.1M(0,-58);E.1M(58,-58*2);E.1M(0,0);E.3k();E.3E();E.1X()}S{A.mp(E,8b,5y)}},A.m7=C(1d){B M=A.M,I=A.I;B 2z=M.cx,2U=M.cy;B 1L=I.cx,1V=I.cy;A.1j=[{x:2z,y:2U},{x:2z,y:(2U+1V)/2},{x:1L,y:(2U+1V)/2},{x:1L,y:1V}];B 14=0;if(A.31){14=A.bT();if(2U>1V){14=-14}}A.bQ(1d);B af=A.1j[A.1j.O-1];1d.2k();A.6B(1d);1d.3C(A.1j[0].x,A.1j[0].y);1k(B i=1;i<A.1j.O-1;i++){1d.1M(A.1j[i].x,A.1j[i].y)}if(2U>=1V){1d.1M(af.x,1V-14+A.5x())}S{1d.1M(af.x,1V-14-A.5x())}1d.2N();if(A.31){A.7c(1d,{x:1L,y:(2U+1V)/2},{x:1L,y:1V-14})}if(A.4E&&(A.28==L||A.28.O<=1)){A.bP(1d)}A.9d(1d,(2z+1L)/2,(1V+2U)/2);A.9e(1d,{x:(2z+1L)/2,y:(1V+2U)/2})},A.m8=C(1d){B M=A.M,I=A.I;B 2z=M.cx,2U=M.cy;B 1L=I.cx,1V=I.cy;B 14=0;if(A.31){14=A.bT();if(2z>1L){14=-14}}A.1j=[{x:2z,y:2U},{x:(2z+1L-14)/2,y:2U},{x:(2z+1L-14)/2,y:1V},{x:1L,y:1V}];A.bQ(1d);B af=A.1j[A.1j.O-1];1d.2k();A.6B(1d);1d.3C(A.1j[0].x,A.1j[0].y);1k(B i=1;i<A.1j.O-1;i++){1d.1M(A.1j[i].x,A.1j[i].y)}if(2z>=1L){1d.1M(1L-14+A.5x(),af.y)}S{1d.1M(1L-14-A.5x(),af.y)}1d.2N();if(A.31){A.7c(1d,{x:(2z+1L)/2,y:1V},{x:1L-14,y:1V})}if(A.4E&&(A.28==L||A.28.O<=1)){A.bP(1d)}A.9d(1d,(2z+1L)/2,(1V+2U)/2);A.9e(1d,{x:(2z+1L)/2,y:(1V+2U)/2})},A.bQ=C(E){if(A.34){E.1W();E.2k(),E.dt=\'23\';E.bK=\'23\';E.3C(A.1j[0].x,A.1j[0].y);1k(B i=1;i<A.1j.O;i++){E.1M(A.1j[i].x,A.1j[i].y)}E.38=`1z(${A.34},${A.1a})`;E.1v=(A.1v+2)*3;E.2N(),E.1X()}},A.m9=C(1d){B 1g=17.1O.cZ(A.M.cx,A.M.cy,A.I.cx,A.I.cy);if((1g>=0&&1g<=45)||(1g>=r9&&1g<=bv)||(1g>=ra&&1g<=d0)){A.hk(1d)}S{A.hl(1d)}},A.hl=C(1d){B M=A.M,I=A.I;B 2z=M.cx,2U=M.cy;B 1L=I.cx,1V=I.cy;B 14=0,hs=A.5x();if(A.31){1L=I.cx-((I.K/2+I.2x/2)*I.1q)-hs;14=A.bT();if(2z>I.cx){1L=I.cx+((I.K/2+I.2x/2)*I.1q)+hs;14=-14}}B 2C=(2z+1L)*A.5S,2D=2U,3G=(2z+1L)*A.5S,3H=1V;if(A.34){1d.1W();1d.2k();1d.38=`1z(${A.34},${A.1a})`;1d.1v=A.1v*3;1d.3C(2z,2U);1d.88(2C,2D,3G,3H,1L,1V);1d.1M(I.cx,I.cy);1d.2N();1d.1X()}1d.2k();A.6B(1d);1d.3C(2z,2U);1d.88(2C,2D,3G,3H,1L,1V);1d.2N();A.1j=[];A.ac=[2z,2U,2C,2D,3G,3H,1L,1V];if(A.31){A.7c(1d,{x:1L,y:1V},{x:I.cx-14,y:I.cy})}if(A.4E&&(A.28==L||A.28.O<=1)){A.e0(1d,M.cx,M.cy,1L,1V,2C,2D,3G,3H)}A.e1(1d,M.cx,M.cy,1L,1V,2C,2D,3G,3H)},A.hk=C(1d){B M=A.M,I=A.I;B 2z=M.cx,2U=M.cy;B 1L=I.cx,1V=I.cy;B 14=0;if(A.31){1V=I.cy-((I.N/2+I.2x/2)*I.1q)-A.5x();14=A.bT();if(2U>I.cy){1V=I.cy+((I.N/2+I.2x/2)*I.1q)+A.5x();14=-14}}B 2C=2z;B 2D=(2U+1V)*A.5S;B 3G=1L;B 3H=(2U+1V)*A.5S;if(A.34){1d.1W();1d.2k();1d.38=`1z(${A.34},${A.1a})`;1d.1v=A.1v*3;1d.3C(M.cx,M.cy);1d.88(2C,2D,3G,3H,1L,1V);1d.1M(1L,I.cy);1d.2N();1d.1X()}1d.2k();A.6B(1d);1d.3C(M.cx,M.cy);1d.88(2C,2D,3G,3H,1L,1V);1d.2N();A.1j=[];A.ac=[M.cx,M.cy,2C,2D,3G,3H,1L,1V];if(A.31){A.7c(1d,{x:1L,y:1V},{x:I.cx,y:I.cy-14})}A.e1(1d,M.cx,M.cy,1L,1V,2C,2D,3G,3H);if(A.4E&&(A.28==L||A.28.O<=1)){A.e0(1d,M.cx,M.cy,1L,1V,2C,2D,3G,3H)}},A.e0=C(E,sx,sy,tx,ty,9f,ag,9g,ah){B D=A;if(D.2y&&D.2y.4S<1){D.2y.4S+=0.mo;B 1s=17.1O.6Q(D.2y.4S,sx,sy,tx,ty,9f,ag,9g,ah);E.1W();E.2k();E.3L(1s.x,1s.y,D.dR,0,2*H.1x);E.3k();E.24=`1z(${D.dQ},${D.1a})`;E.3E();E.1X()}S{D.2y={4S:0}}},A.e1=C(1d,sx,sy,tx,ty,9f,ag,9g,ah){if(A.3m&&A.1b){B 4n=17.1O.6Q(0.5,sx,sy,tx,ty,9f,ag,9g,ah);if([\'md\',\'hi\'].1G(A.3g)>-1){B ad=(9g-9f)>0?-1:1;B 1g=H.5m((9g-9f)*ad,(ah-ag)*(-ad))+(H.1x/2);A.9d(1d,4n.x,4n.y,1g)}S{A.9d(1d,4n.x,4n.y)}A.9e(1d,{x:4n.x,y:4n.y})}S{if(A.5w){B 4n=17.1O.6Q(0.5,sx,sy,tx,ty,9f,ag,9g,ah);A.9e(1d,{x:4n.x,y:4n.y})}}},A.9d=C(1d,5a,5b,1g){if(!A.3m||!A.1b||A.a3){F T}B e2=\'2j\';if(A.5w){e2=\'1B\'}if(A.76){B e3=4;e2=\'4n\';1d.1W();1d.27=A.27;B 4t=1d.4m(A.1b).K+e3*2;B 4u=1d.4m(\'田\').K+e3;A.he=4u;1d.2Y(5a,5b);1d.4o(1g?1g:0);1d.1v=1;1d.38=`1z(${A.83},${A.1a})`;1d.24=`1z(${A.76},${A.1a})`;1d.d5(-4t/2,-4u/2-1,4t,4u,4u/2-e3);1d.3E(),1d.2N(),1d.1X()}1d.1W();1d.27=A.27;1d.2Y(5a,5b);1d.4o(1g?1g:0);1d.6u=\'5Z\';1d.9U=e2;1d.24=`1z(${A.3u},${A.1a})`;1d.61(A.1b,0,0);1d.1X()},A.me=C(E,1b){B D=A;B M={x:D.M.cx,y:D.M.cy,r:D.K};B I={x:D.I.cx,y:D.I.cy,r:D.K};B rb=D.1v*3.5;B 1u,1w,2C,2D,3G,3H,7d,7e;1u=M.x;1w=M.y;2C=.3*I.y-.3*M.y+.8*M.x+.2*I.x;2D=.8*M.y+.2*I.y-.3*I.x+.3*M.x;3G=.3*I.y-.3*M.y+.2*M.x+.8*I.x;3H=.2*M.y+.8*I.y-.3*I.x+.3*M.x;7d=I.x;7e=I.y;if(A.34){E.1W();E.2k();E.38=`1z(${A.34},${A.1a})`;E.1v=A.1v*3;E.3C(1u,1w);E.88(2C,2D,3G,3H,7d,7e);E.2N();E.1X()}E.2k();E.3C(1u,1w);A.6B(E);E.88(2C,2D,3G,3H,7d,7e);E.2N();A.1j=[];A.ac=[1u,1w,2C,2D,3G,3H,7d,7e];if(A.4E&&(A.28==L||A.28.O<=1)){A.e0(E,1u,1w,7d,7e,2C,2D,3G,3H)}if(D.31){B bR=17.1O.6Q(0.5,1u,1w,7d,7e,2C,2D,3G,3H);B bS=17.1O.6Q(0.52,1u,1w,7d,7e,2C,2D,3G,3H);A.7c(E,bR,bS)}A.e1(E,1u,1w,7d,7e,2C,2D,3G,3H)}}71.R=1F 17.7Z,17.71=71,9b.R=1F 71,17.9b=9b}(17),C(17){C 8c(1b,3n=T){A.2W=C(1b,3n=T){8c.R.2W.66(A,64),A.5M=\'1P\',A.6v=17.fx,A.3n=3n,A.K=2I,A.N=2I,A.1E=[],A.1a=1,A.3S=V,A.mq=V,A.1f=V,A.2T=\'3s,3s,3s\',A.2x=1,A.4D=\'2I,2I,dL\',A.74=2,A.a7=\'30,30,3s\',A.mr=V,A.1b=1b,A.6u=\'5Z\',A.5u=6;A.27=\'3B ms 5Y\',A.3u=\'2S,2S,2S\',A.e4=\'60,60,51\',A.e5=1,A.7W=36,A.4j=20},A.2W(1b,3n),A.2q=C(Y){B D=A;if(Y 5q 4N){Y.Q((G)=>{D.1E.19(G);G.56=A})}S{D.1E.19(Y);Y.56=A}},A.3K=C(G){1k(B i=0;i<A.1E.O;i++){if(A.1E[i]===G){G.3S=V;G.56=L;A.1E=17.1O.7x(A.1E,A.1E[i]);1t}}},A.rc=C(){A.1E.Q(2Z=>{2Z.3S=V;2Z.56=L});A.1E=[]},A.bE=C(x,y){B 5T=x-A.x,5U=y-A.y;A.x=x,A.y=y;1k(B i=0;i<A.1E.O;i++){B G=A.1E[i];G.bE(G.x+5T,G.y+5U)}},A.44=C(E){if(A.1f){if(!A.3n){A.ht()}E.1W();E.2k();E.42(A.x,A.y,A.K,A.N);E.3k(),E.24=`1z(${A.2T},${A.1a})`,E.3E();if((!A.4r&&!A.1K)&&A.2x>0){E.1v=A.2x;E.38=`1z(${A.4D},${A.1a})`;E.2N()}if((A.4r||A.1K)&&A.74>0){E.1v=A.74;E.38=`1z(${A.a7},${A.1a})`;E.2N()}E.1X();if(A.mr){A.mt(E);A.bI(E)}}},A.mt=C(E){E.1W();E.2k();E.42(A.x,A.y,A.K,A.7W);E.3k();E.24=`1z(${A.e4},${A.e5})`,E.3E();B 1v=A.2x;if(A.4r||A.1K){1v=A.74}if(1v>0){E.1v=1v;E.38=`1z(${A.e4},${A.e5})`,E.2N()}E.1X()},A.bI=C(E){if(A.1b){E.1W();E.27=A.27;B 4t=E.4m(A.1b).K;B 1s=A.a8(4t);E.9U=\'4n\';E.24=`1z(${A.3u},${A.e5})`;E.61(A.1b,1s.x,1s.y);E.1X()}},A.a8=C(4t){B 2o=L;7Y(A.6u){1A\'5Z\':2o={x:A.x+A.K/2-4t/2,y:A.y+A.7W/2};1t;1A\'2g\':2o={x:A.x+A.K-4t-A.5u,y:A.y+A.7W/2};1t;5t:2o={x:A.x+A.5u,y:A.y+A.7W/2};1t}F 2o},A.dB=C(E){A.4r=V},A.dC=C(x,y){F x>A.x&&x<A.x+A.K&&y>A.y&&y<A.y+A.N},A.ht=C(){B D=A;B 48=D.1E.O;if(48>0){B 1y=e6,2g=-e6,1B=e6,2j=-e6,K=2g-1y,N=2j-1B;1k(B i=0;i<48;i++){B G=D.1E[i];G.3S=D.mq;B 1q=G.1q==1?0:G.1q;B 1H=G.1H==1?0:G.1H;G.x<=1y&&(1y=G.x-(G.K*1q/2)),G.x>=2g&&(2g=G.x),G.y<=1B&&(1B=G.y-(G.N*1H/2)),G.y>=2j&&(2j=G.y),K=2g-1y+(G.K*G.1q),N=2j-1B+(G.N*G.1H)}D.x=1y-D.4j;D.y=1B-D.4j-D.7W;D.K=H.2H(K,60)+(D.4j*2);D.N=H.2H(N,60)+(D.4j*2)+D.7W}}}8c.R=1F 17.7Z,17.8c=8c}(17),C(17){C ai(){C e7(5z){B h=5z.53(\'#\',\'\');F[9h(h.69(0,2),16),9h(h.69(2,4),16),9h(h.69(4,6),16)]};C mu(5z){B 5A=e7(5z);F`${5A[0]},${5A[1]},${5A[2]}`};C 5z(c){B s=\'rd\';B i=9h(c,10);if(i===0||aj(c)){F\'re\'}i=H.23(H.3p(H.2H(0,i),2S));F s.mv((i-i%16)/16)+s.mv(i%16)};C hu(5A){B e8=5A.53(/(?:(|)|5A|rf)*/g,\'\').53(\'(\',\'\').53(\')\',\'\').5r(\',\');F\'#\'+5z(e8[0])+5z(e8[1])+5z(e8[2])};C e9(mw,mz,hv){B 29=e7(mw);B 2h=e7(mz);B 1a=0.0;B rt=[];1k(B i=0;i<hv;i++){B c=[];1a+=1.0/hv;c[0]=29[0]*1a+(1-1a)*2h[0];c[1]=29[1]*1a+(1-1a)*2h[1];c[2]=29[2]*1a+(1-1a)*2h[2];rt.19(`${c[0]},${c[1]},${c[2]}`)}F rt};C bU(bV,mA,mB){B 5A=[];B 6Y=mA.5r(\',\');B ea=mB.5r(\',\');B mC=6Y[0]-ea[0];B mD=6Y[1]-ea[1];B mE=6Y[2]-ea[2];B mF=mC/(bV-1);B mG=mD/(bV-1);B mH=mE/(bV-1);B 9i=1F 4N(3);1k(B i=0;i<bV;i++){9i[0]=H.8M(6Y[0]-(mF*i));9i[1]=H.8M(6Y[1]-(mG*i));9i[2]=H.8M(6Y[2]-(mH*i));5A.19(`${9i[0]},${9i[1]},${9i[2]}`)}F 5A};F{e9:e9,bU:bU,hw:mu,hu:hu}};17.ai=ai}(17);B X=C(2l,U){if(2l==L){F}A.hx={G:{1b:{37:V,1N:\'50,50,50\',27:\'3B ms 5Y\',bJ:T,3v:\'dH\',5u:0,82:0,34:L,2x:0,4D:L},3w:\'bH\',1N:\'30,hy,2S\',4D:\'20,20,20\',81:1,2x:0,3r:0,28:[0],1a:1,2K:0,K:60,N:60,3R:L,1K:{4D:\'65,95,9W\',81:1,2x:5,78:T,5s:\'80,hy,9W\',7X:10},5B:C(P,G){},7f:C(P,G){},5C:C(P,G){},5D:C(P,G){},5E:C(P,G){},5F:C(P,G){},ak:C(P,G){}},J:{1b:{37:V,1N:\'20,20,20\',27:\'3B bG 5Y\'},3g:\'bO\',4R:\'eb\',1N:\'10,10,10\',1a:1,1v:2,28:[0],31:V,bM:\'9I\',1K:{1N:\'2S,0,0\',1a:1,1v:8,78:T,5s:\'10,3s,10\',},5B:C(P,J){},7f:C(P,J){},5C:C(P,J){},5D:C(P,J){},5E:C(P,J){},5F:C(P,J){}},al:T,8V:1,am:C(P,gj){},an:C(P){},ap:C(P){},rg:C(P){},aq:C(P){},ar:C(dA){}};B D=A;A.bW=T;A.2m={2K:[mI,rh],bX:0.75,ec:9X,ed:0.ba,49:-51,ee:0.ri,bY:T,1a:0.8,as:0.5,8d:L};if(!U){A.U=A.hx}S{A.hz(U)}B 6S=A.ef({2l:\'5t\',K:51,N:hy,ks:\'#rj\'},A.U.rk||{},V,V);A.1c=1F 17.be(2l,6S);A.26=A.1c.26;A.15=L;A.Y=[];A.1p=[];A.hA=1;A.2r=L;A.6C=L;A.bZ=V;A.c0=V;A.5c=[];A.c1=L;A.mJ=L;A.9j=T;A.3y=L;A.c2=C(J){F J};A.rl=L;A.hB()};X.R.hB=C(){B D=A;A.1c.8V=A.U.8V;if(D.15!=L){D.15.do();D.1c.3K(D.15)}D.15=1F 17.9Z(A.1c);D.Y=[];D.1p=[];D.mK()};X.R.hz=C(U){B D=A;A.U=A.ef(A.hx,U||{},V,V);if(A.U.4F&&A.U.4F[\'1I\']==\'rm\'&&A.U.4F[\'9k\']){A.bW=V;6i(C(){D.2m.bX=2a(D.U.4F.9k[\'bX\'])||0.9,D.2m.ec=2a(D.U.4F.9k[\'ec\'])||at,D.2m.ed=2a(D.U.4F.9k[\'ed\'])||0.ba,D.2m.49=2a(D.U.4F.9k[\'49\'])||-at,D.2m.ee=2a(D.U.4F.9k[\'ee\'])||0.mL,D.2m.bY=D.U.4F.9k[\'bY\']||T;D.2m.2K=[D.1c.K||mI,D.1c.N||rn];D.bW=V},7I)}A.eg=A.U.G.1N;A.al=A.U.al};X.R.mK=C(){B W=A;B 3y=1F 17.72();3y.3w=\'bH\';3y.14=1;3y.K=2;3y.N=2;3y.37=T;3y.1a=0;W.3y=3y;W.15.3Q(C(e){if(W.9j){if(!W.3y.37){W.3y.37=V;W.15.2q(W.3y)}if(W.3V==L){B c3=W.U[\'J\'];B 3V=1F 17.9b(W.2r,W.3y);3V.1v=c3[\'1v\'];3V.31=c3[\'31\'];3V.3T=c3[\'1N\'];3V.9a=c3[\'1N\'];3V.28=[3,5,5];W.3V=3V;W.15.2q(W.3V)}W.3y.cx=e.x-2;W.3y.cy=e.y+2}});W.15.6r(C(e){W.9j=T;if(W.3y.37){W.3y.37=T;W.15.3K(W.3y)}if(W.3V){W.15.3K(W.3V);W.3V=L}});W.15.43(C(e){W.hC();if(e.I==L){if(W.al){W.eh()}}});W.15.46(C(e){W.hD(\'3B\');B c4=W.U.c4;if(c4&&1R c4===\'C\'){c4(e,W)}});W.15.9Q(C(e){1o an=W.U.an;if(an&&1R an===\'C\'){an(e,W)}});W.15.9P(C(e){1o ap=W.U.ap;if(ap&&1R ap===\'C\'){if(e.3J===\'ro\'){W.hD(\'7t\')}ap(e,W)}});W.15.6W(C(e){B aq=W.U.aq;if(aq&&1R aq===\'C\'){aq(e,W)}});W.15.46(C(e){if(e.I==L){W.hC();W.2r=L;W.6C=L;if(W.al){W.eh()}B am=W.U[\'am\'];if(am&&1R am==="C"){am(e,W)}}S{if(e.I.5M==\'G\'){W.6C=L}S{W.2r=L}}if(A.bz){B ar=W.U[\'ar\'];if(ar&&1R ar==="C"){B $=A;6i(C(){ar($.dF);$.dF=L},9T)}S{A.dF=L}}})};X.R.ef=C(a,b,hE,hF){1k(B 25 in b){if(b.2O(25)||hE===V){if(b[25]&&b[25].mM===98){if(a[25]===4i){a[25]={}}if(a[25].mM===98){A.ef(a[25],b[25],hE)}S{if((b[25]===L)&&a[25]!==4i&&hF===V){fA a[25]}S{a[25]=b[25]}}}S if(4N.hG(b[25])){a[25]=[];1k(1o i=0;i<b[25].O;i++){a[25].19(b[25][i])}}S{if((b[25]===L)&&a[25]!==4i&&hF===V){fA a[25]}S{a[25]=b[25]}}}}F a};X.R.hC=C(){B W=A;if(W.U.2O(\'3z\')){if(W.U.3z.2O(\'au\')){B mN=W.U[\'3z\'][\'au\'][\'93\'];if(1R(mN)===\'C\'){W.U[\'3z\'][\'au\'].93()}}if(W.U.3z.2O(\'av\')){B mO=W.U[\'3z\'][\'av\'][\'93\'];if(1R(mO)===\'C\'){W.U[\'3z\'][\'av\'].93()}}if(W.U.3z.2O(\'hH\')){B mP=W.U[\'3z\'][\'hH\'][\'93\'];if(1R(mP)===\'C\'){W.U[\'3z\'][\'hH\'].93()}}}};X.R.rp=C(ei){B D=A;if(ei==L){F}A.hB();B 5G={};B G=L;(ei.Y||[]).Q(C(n,i){n.1J=1;G=D.8e(n,i);G.3m=D.U.G.1b.37;D.15.2q(G);D.Y.19(G);5G[n.id]=G});B M,I,J;(ei.1p||[]).Q(C(l){M=5G[l.M];I=5G[l.I];if(M&&I){J=D.9l(M,I);J.3m=l.3m||D.U.J.1b.37;J.3u=l.3u||D.U.J.1b.1N;J.27=l.27||D.U.J.1b.27;J.4R=l.4R||D.U.J.4R;J.3T=D.ej(l,D.U.J.1N);J.3g=l.3g||D.U.J.3g;J.1I=l.1I||\'\';J.id=l.id||\'\';J.1b=l.1b||l.1I||\'\';J.2s=l.2s||2;J.2b=l.2b||2;J.1v=l.1v||D.U.J.1v;J.2X=l.2X||{};D.15.2q(J);D.1p.19(J)}});D.1m();if(D.bW){D.hI(D.Y,D.1p,0.9)}};X.R.rq=C(3q){if(3q&&1R(3q)===\'C\'){F 3q(A.1c.9K)}F L};X.R.bD=C(){A.15.bD();A.1m()};X.R.ej=C(1C,mQ){B 1N=1C.1N;if(1N){1N=1N.53(\'5A(\',\'\').53(\')\',\'\')}S{1N=mQ||A.eg}F 1N};X.R.rr=C(3A,ek){3A=3A||{};B 1P=1F 17.8c(3A.1b,3A.3n||T);1P.x=3A.x||9T;1P.y=3A.y||go;1P.2T=3A.1N||\'at,3s,51\';1P.1a=3A.1a||0.8;1P.K=3A.K||2I;1P.N=3A.N||2I;A.15.2q(1P);if(4N.hG(ek)){ek.Q((G)=>{1P.2q(G)})}S{1P.2q(ek)}A.1m();F 1P};X.R.rs=C(3A){3A=3A||{};B 1P=1F 17.8c(3A.1b,3A.3n||T);1P.x=3A.x||10;1P.y=3A.y||10;1P.2T=3A.1N||\'at,3s,51\';1P.1a=3A.1a||0.8;1P.K=3A.K||2I;1P.N=3A.N||2I;A.15.2q(1P);A.1m();F 1P};X.R.8e=C(n){B D=A;B G=1F 17.72();G.x=(n.x==L?H.23(H.7g()*A.1c.K):n.x);G.y=(n.y==L?H.23(H.7g()*A.1c.N):n.y);G.id=n.id;G.1I=n.1I||\'5t\';G.6b=n.6b||\'5t\';G.1q=G.1H=n.1J||2a(1);G.1b=n.1b||n.id;G.1a=n.1a||D.U.G.1a;G.3u=n.3u||D.U.G.1b.1N;G.3v=n.3v||D.U.G.1b.3v;G.27=n.27||D.U.G.1b.27;G.2x=n.2x||D.U.G.2x;G.3r=n.3r||D.U.G.3r;G.4D=n.4D||D.U.G.4D;G.81=n.81||D.U.G.81;G.3m=n.3m||D.U.G.1b.37;G.bJ=D.U.G.1b.bJ;G.78=n.78||D.U.G.1K.78;G.5s=n.5s||D.U.G.1K.5s;G.7X=n.7X||D.U.G.1K.7X;G.a7=n.a7||D.U.G.1K.4D;G.dJ=n.dJ||D.U.G.1K.81;G.74=n.74||D.U.G.1K.2x;G.28=n.28||D.U.G.28;G.76=n.76||D.U.G.1b.34;G.77=n.77||D.U.G.1b.2x;G.83=n.83||D.U.G.1b.4D;G.5u=n.5u||D.U.G.1b.5u;G.82=n.82||D.U.G.1b.82;G.6y=n.6y;G.5w=n.5w;G.2s=1;G.px=G.x;G.py=G.y;G.49=D.2m.49;G.2X=n.2X||{};if(D.U.7h&&D.U.7h[G.6b]){G.2T=D.U.7h[G.6b][\'1N\']||D.U.G.1N;G.3w=D.U.7h[G.6b][\'3w\']||D.U.G.3w;G.2K=D.U.7h[G.6b][\'2K\']||D.U.G.2K}S{G.2T=D.ej(n,A.eg);G.3w=n.3w||D.U.G.3w;G.2K=n.2K||D.U.G.2K}if(!G.2K||G.2K==0){G.K=n.K||D.U.G.K;G.N=n.N||D.U.G.N}S{G.K=G.N=G.2K}if(n.3R&&n.3R.O>0){G.dM(n.3R)}S{G.dM(D.U.G.3R||\'\')}G.43(C(P){D.2r=A;if(D.9j&&D.3V!=L){B J=D.9l(D.3V.M,A);J.3T=D.U.J.1N;D.1p.19(J);D.15.2q(J);if(D.3y.37){D.3y.37=T;D.15.3K(D.3y)}D.9j=T;if(D.3V){D.15.3K(D.3V);D.3V=L}if(D.c2&&1R D.c2===\'C\'){D.c2(J)}}if(D.al){D.eh();D.mR(A,0.1)}if(D.U.G.2O(\'5B\')){B 5B=D.U.G[\'5B\'];if(1R(5B)===\'C\'){5B(P,A)}}});G.6r(C(39){A.3n=!A.3n;if(D.U.G.2O(\'7f\')){B 7f=D.U.G[\'7f\'];if(1R(7f)===\'C\'){7f(P,A)}}});G.6W(C(39){A.3n=V;A.px=A.x;A.py=A.y;if(A.el||D.15.4e.O>1){F T}A.el=V;if(D.bW){D.hI(D.Y,D.1p,0.5)}if(D.U.G.2O(\'ak\')){B ak=D.U.G[\'ak\'];if(1R(ak)===\'C\'){ak(P,A)}}});G.46(C(39){D.2r=A;A.3n=V;A.px=A.x;A.py=A.y;A.el=T;if(39.bg==2){D.mS(39,A)}if(D.U.G.2O(\'5C\')){B 5C=D.U.G[\'5C\'];if(1R(5C)===\'C\'){5C(P,A)}}});G.4l(C(39){D.2r=A;A.3n=V;A.px=A.x;A.py=A.y;if(D.U.G.2O(\'5D\')){B 5D=D.U.G[\'5D\'];if(1R(5D)===\'C\'){5D(P,A)}}});G.4K(C(39){if(D.U.G.2O(\'5E\')){B 5E=D.U.G[\'5E\'];if(1R(5E)===\'C\'){5E(P,A)}}});G.4L(C(39){if(D.U.G.2O(\'5F\')){B 5F=D.U.G[\'5F\'];if(1R(5F)===\'C\'){5F(P,A)}}});F G};X.R.1m=C(){A.1c&&(A.1c.5n=V,A.1c.7M(),A.1c.5n=T)};X.R.mR=C(1S,1a){B D=A;D.Y.2J(C(n){n.c5=n.1a;n.1a=1a||0.1});1S.1a=1S.c5;(1S.1n||[]).2J(C(J){if(J.M.1f){J.M.1a=J.M.c5}});(1S.1r||[]).2J(C(J){if(J.I.1f){J.I.1a=J.I.c5}});if(D.bZ){D.1p.2J(C(J){J.1f=T});(1S.1n||[]).2J(C(J){if(J.M.1f){J.1f=V}});(1S.1r||[]).2J(C(J){if(J.I.1f){J.1f=V}})}};X.R.eh=C(){B D=A;D.Y.2J(C(n){n.1a=n.c5||n.1a});if(D.bZ){D.1p.2J(C(J){if(J.M.1f&&J.I.1f){J.1f=V}})}};X.R.ru=C(G){if(G&&G!=L){G.3n=V;G.3S=T}};X.R.rv=C(G){if(G&&G!=L){G.3n=T;G.3S=V}};X.R.mS=C(P,1S){B D=A;if(D.U.2O(\'3z\')){if(D.U[\'3z\'].2O(\'au\')){B mT=D.U[\'3z\'][\'au\'][\'37\'];if(1R(mT)===\'C\'){D.U[\'3z\'][\'au\'].37(P,D,1S)}}}};X.R.mU=C(P,J){B D=A;if(D.U.2O(\'3z\')){if(D.U[\'3z\'].2O(\'av\')){B mV=D.U[\'3z\'][\'av\'][\'37\'];if(1R(mV)===\'C\'){D.U[\'3z\'][\'av\'].37(P,D,J)}}}};X.R.mW=C(P,1P){B D=A;if(D.U.2O(\'3z\')){if(D.U[\'3z\'].2O(\'hJ\')){B 37=D.U[\'3z\'][\'hJ\'][\'37\'];if(1R(37)===\'C\'){D.U[\'3z\'][\'hJ\'].37(P,D,1P)}}}};X.R.hw=C(6D){B aw=1F 17.ai();F aw.hw(6D)||\'0,0,3s\'};X.R.9l=C(M,I,1f=V){if(M==L||I==L){F T}B D=A;B J=1F 17.9b(M,I,L);J.1v=D.U.J.1v;J.1a=D.U.J.1a;J.3T=D.U.J.1N;J.31=D.U.J.31;J.bM=D.U.J.bM;J.3g=D.U.J.3g;J.28=D.U.J.28;J.3u=D.U.J.1b.1N;J.78=D.U.J.1K.78;J.5s=D.U.J.1K.5s;J.9a=D.U.J.1K.1N;J.a9=D.U.J.1K.1a;J.4R=D.U.J.4R;J.76=D.U.J.1b.34;J.77=D.U.J.1b.2x;J.83=D.U.J.1b.4D;J.2Q=D.2m.ec;J.mX=D.2m.ed;J.2s=1;J.1f=1f;++M.2s;++I.2s;J.46(C(39){D.6C=A;if(39.bg==2){D.mU(39,A)}});J.43(C(P){if(D.U.J.2O(\'5B\')){B 5B=D.U.J[\'5B\'];if(1R(5B)===\'C\'){5B(P,A)}}});J.6r(C(P){if(D.U.J.2O(\'7f\')){B hK=D.U.J[\'7f\'];if(1R(hK)===\'C\'){hK(P,A)}}});J.4l(C(P){if(D.U.J.2O(\'5D\')){B 5D=D.U.J.5D;if(1R(5D)===\'C\'){5D(P,A)}}});J.46(C(P){if(D.U.J.2O(\'5C\')){B 5C=D.U.J.5C;if(1R(5C)===\'C\'){5C(P,A)}}});J.4K(C(P){if(D.U.J.2O(\'5E\')){B 5E=D.U.J[\'5E\'];if(1R(5E)===\'C\'){5E(P,A)}}});J.4L(C(P){if(D.U.J.2O(\'5F\')){B 5F=D.U.J[\'5F\'];if(1R(5F)===\'C\'){5F(P,A)}}});F J};X.R.rw=C(Y){if(!Y 5q 4N||Y.O==0){F}B D=A;B 5G=1F 6V();D.Y.Q((G)=>{5G.4k(G.id,G)});B 4f=[],G=L;Y.Q((1S)=>{if(5G.4p(1S.id)==L){G=D.8e(1S);D.15.2q(G);D.Y.19(G);4f.19(G)}});D.1m();F 4f};X.R.rx=C(1S){B D=A;B G=D.8e(1S);D.15.2q(G);D.Y.19(G);D.1m();F G};X.R.ry=C(4q){if(!4q 5q 4N||4q.O==0){F}B D=A;B hL=1F 6V();D.1p.Q((J)=>{if(J.id){hL.4k(J.id,J)}});B en=1F 6V();D.Y.Q((G)=>{en.4k(G.id,G)});B hM=[];B 4a=L,3o=L,J=L;4q.Q((1D)=>{if(hL.4p(1D.id)==L){4a=en.4p(1D.M);3o=en.4p(1D.I);if(4a!=L&&3o!=L){J=D.9l(4a,3o);D.hN(J,1D);D.15.2q(J);D.1p.19(J);hM.19(J)}}});D.1m();F hM};X.R.rz=C(1D){B D=A;B 4a=A.Y.2w(C(n){F n.id==1D.M})[0];B 3o=A.Y.2w(C(n){F n.id==1D.I})[0];B J=L;if(4a&&3o){J=D.9l(4a,3o);D.hN(J,1D);D.15.2q(J);D.1p.19(J);D.1m()}F J};X.R.hN=C(J,2v){if(J!=L&&2v!=L){B D=A;J.id=2v.id||\'\';J.1I=2v.1I||\'5t\';J.1b=2v.1b||\'\';J.3m=2v.3m||D.U.J.1b.37;J.1v=2a(2v.1v)||D.U.J.1v;J.3T=D.ej(2v,D.U.J.1N);J.2s=2a(2v.2s)||1;J.3g=2v.3g||D.U.J.3g;J.28=2v.28||D.U.J.28;J.27=2v.27||D.U.J.1b.27;J.3u=2v.3u||D.U.J.1b.1N;J.2X=2v.2X||{}}};X.R.rA=C(){B D=A;F{Y:D.Y,1p:D.1p}};X.R.rB=C(){B D=A;B hO=D.Y.2w(C(n){F n.1f==V});B mY=D.1p.2w(C(l){B M=l.M,I=l.I;F M.1f==V&&I.1f==V});hO.Q((n)=>{n.3n=T});F{Y:hO,1p:mY}};X.R.mZ=C(1I){B D=A;if(1I==\'7P\'){D.1c.7P()}S if(1I==\'7Q\'){D.1c.7Q()}S if(1I==\'n0\'){D.1c.7O();D.15.1q=1;D.15.1H=1}S{D.1c.7O()}D.1m()};X.R.rC=C(3W=[0.1,10]){if(3W 5q 4N&&3W.O==2){B 3p=2a(3W[0])||0.1;B 2H=2a(3W[1])||10;if(3p<2H){A.15.91=[3p,2H]}}};X.R.n3=C(1J=1){A.15.1q=1J;A.15.1H=1J;A.15.bD();A.1m()};X.R.rD=C(G,c6){B D=A;if(c6!=L&&2a(c6)>0){D.15.2E=-G.x+D.1c.K/2;D.15.2F=-G.y+D.1c.N/2}S{D.15.db(G.x,G.y)}D.1m()};X.R.rE=C(bO=\'1y\',2Q=20){B D=A;7Y(bO){1A\'1y\':D.15.2E-=2a(2Q);1t;1A\'2g\':D.15.2E+=2a(2Q);1t;1A\'rF\':D.15.2F-=2a(2Q);1t;1A\'rG\':D.15.2F+=2a(2Q);1t;5t:1t}};X.R.rH=C(1I){A.1p.Q(C(J){J.3g=1I});A.1m()};X.R.rI=C(1I){A.Y.Q(C(G){if(G.3w==\'bH\'){G.N=G.K}G.3w=1I});A.1m()};X.R.rJ=C(3j){A.Y.Q(C(G){G.3m=3j});A.1m()};X.R.hP=C(3j){A.1p.Q(C(J){J.3m=3j});A.1m()};X.R.bp=C(){A.1c.bp()};X.R.hD=C(hQ,1I){if(hQ==\'8D\'){A.1c.4M=\'8D\'}S if(hQ==\'7t\'){A.1c.4M=\'7t\';if(1I&&[\'42\',\'rK\'].1G(1I)!=-1){A.15.gK=1I}}S{A.1c.4M=\'3B\'}};X.R.hR=C(8f){B W=A;if(8f){B eo=[];(8f.1r||[]).Q(C(l){if((l.I.1r||[]).O==0&&(l.I.1n||[]).O==1){eo.19(l.I);l.1f=T}});8f.5w=eo.O;eo.Q(C(n){n.1f=T});W.1m()}};X.R.hS=C(8f){B W=A;if(8f){B hT=[];(8f.1r||[]).Q(C(l){B I=l.I;if((I.1r||[]).O==0&&I.1f==T){l.1f=V;I.1f=V;hT.19(I)}});if(hT.O==0){F}8f.5w=L}};X.R.hU=C(U={K:n4,N:n4,1I:\'dq\',dr:\'gz\',34:\'#kR\',5X:{6m:\'gz图可视化\',1g:-30,1a:0.2,br:\'lD\',6t:60,bs:\'5Y\',3u:\'#gA\'}}){A.1c.kW(U)};X.R.rL=C(dr){B n5=rM.rN(A.n6());n7(n5,dr||\'gj\'+\'.hV\');C n7(6m,n8){B d3=1F k2([6m],{1I:\'47/hV\'});1o a=4h.7K(\'a\');1o P=1F gq(\'43\');a.gG=n8;a.gH=3c.k4.k5(d3);a.rO.rP=[\'47/hV\',a.gG,a.gH].rQ(\':\');a.2e(P)}};X.R.rR=C(3j){if(3j){A.1c.7L.37()}S{A.1c.7L.kv()}};X.R.rS=C(c7){B Y=A.Y.2w(C(n){if(n.1b==L)F T;F(n.1b+\'\')==c7||n.id==c7});if(Y.O>0){B G=Y[0];G.1K=V;G.3m=V;A.2r=G;A.hW(G);F G}F L};X.R.hW=C(1C,1Z,3q){1C.1K=V;if(!1Z){1Z={}}if(!1Z.x&&1Z.x!=0){1Z.x=A.1c.K/2}if(!1Z.y&&1Z.y!=0){1Z.y=A.1c.N/2}A.15.2E=-1C.x+1Z.x;A.15.2F=-1C.y+1Z.y;A.1m();3q&&3q()};X.R.9m=C(5z){B n9=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;5z=5z.53(n9,C(m,r,g,b){F r+r+g+g+b+b});B 5d=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.ep(5z);if(5d){F 9h(5d[1],16)+\',\'+9h(5d[2],16)+\',\'+9h(5d[3],16)}F\'at,at,51\'};X.R.rT=C(6D){B 6E=A.9m(6D);A.U.G.1b.1N=6E;A.Y.Q(C(G){G.3u=6E});A.1m()};X.R.na=C(){A.bZ=T;A.1p.Q(C(J){J.1f=T});A.1m()};X.R.nb=C(){A.bZ=V;A.1p.Q(C(J){if(J.M.1f&&J.I.1f){J.1f=V}});A.1m()};X.R.rU=C(){A.Y.Q(C(G){G.1a=1;G.1f=V});A.1m()};X.R.rV=C(6t){B D=A;D.Y.Q(C(n){n.27=\'3B \'+6t+\'px 5Y\'});D.1m()};X.R.rW=C(6u){B D=A;D.Y.Q(C(n){n.3v=6u});D.1m()};X.R.rX=C(1a){A.1p.Q(C(1p){1p.1a=1a});A.1m()};X.R.rY=C(3j){A.1p.Q(C(l){l.31=3j});A.1m()};X.R.rZ=C(6D){B 6E=A.9m(6D);A.1p.Q(C(J){J.4R=\'eb\';J.3T=6E});A.1m()};X.R.s0=C(1I){B hX=1I||\'M\';A.1p.Q(C(l){l.4R=hX;if(hX==\'eb\'){l.3T=D.U.J.1N||\'50,50,50\'}});A.1m()};X.R.s1=C(6t){B D=A;D.1p.Q(C(l){l.27=\'3B \'+6t+\'px 5Y\';l.5u=-2a(6t)});A.1m()};X.R.s2=C(6D){B D=A;B 6E=A.9m(6D);D.1p.Q(C(l){l.3u=6E});A.1m()};X.R.s3=C(5H){B G=A.2r;if(G){G.1b=A.2r.47=5H.2t;G.K=2a(5H.K)||2a(5H.2K)||60;G.N=2a(5H.N)||2a(5H.2K)||60;G.1q=G.1H=2a(5H.1J)||1;G.2T=A.9m(5H.2T);G.3w=5H.3w;G.3m=5H.3m==\'V\'?V:T;G.s4=5H.3R;G.dM(5H.3R);A.1m()}};X.R.s5=C(9n){B D=A;B 2c=D.6C;if(2c){2c.1b=9n[\'1b\'];2c.47=2c.1b;2c.1I=2c.1b;2c.1v=9n[\'1v\'];2c.3g=9n[\'3g\'];if(9n[\'28\']){2c.28=9n[\'28\'].5r(\',\')}B 1N=9n[\'s6\'];if(1N&&1N.O>0){2c.3T=D.9m(1N);2c.3u=2c.3T;2c.4R=\'eb\'}2c.3m=V;A.1m()}};X.R.s7=C(7h,c8){B D=A;if(7h==L){F}if(c8==4i||c8==L){c8=T}D.5c.Q(C(1P){D.15.3K(1P)});D.5c=[];1k(B eq in 7h){B 6b=7h[eq];B hY=D.Y.2w(C(G){F G.6b==eq});B 2K=6b.2K,nc=6b.nc,1N=6b.1N;if(hY.O>1){B 1P=1F 17.8c();1P.e4=1N;1P.2T=1N;1P.1a=0.3;1P.1b=eq;1P.46(C(39){if(39.bg==2){D.c1=A;D.mW(39,A)}});D.15.2q(1P);D.5c.19(1P);hY.Q(C(G){1P.2q(G)});A.1m()}}if(!c8){D.nd(D.5c);A.1m()}};X.R.s8=C(){B D=A;D.5c=D.5c.2w(C(er){F er!=D.c1});D.15.3K(D.c1);A.1m()};X.R.s9=C(){B D=A;D.5c.Q(C(er){D.15.3K(er)});D.5c=[];A.1m()};X.R.nd=C(5c){B D=A;B es=[];5c.Q(C(1P,i){1P.ht();B ne=H.2G((1P.K/2)*(1P.K/2)+(1P.N/2)*(1P.N/2));B c9=1F 17.72();c9.14=ne;c9.x=1P.cx;c9.y=1P.cy;es[i]=c9});if(1R(nf)!=\'4i\'){B 4F=1F nf({Y:es,1p:L}).sa(\'bY\');if(4F!=L){4F.sb();4F.hz({\'sc\':1});B c6=0,et=V;4T(c6++<go&&et){4F.sd();et=4F.et}}}es.Q(C(G,i){B 1P=5c[i];B dx=G.x-1P.cx,dy=G.y-1P.cy;1P.1E.Q(C(hZ){hZ.x+=dx;hZ.y+=dy})})};X.R.se=C(3W){B D=A;B 4v=0;B 4w=0;D.Y.Q(C(n){B 1Y=(n.1r||[]).O+(n.1n||[]).O;n.1Y=1Y;4v=H.3p(1Y,4v);4w=H.2H(1Y,4w)});B 8g=[H.2G(4v),H.2G(4w)];D.Y.Q(C(n){B 1J=D.9o(3W,8g,H.2G(n.1Y));n.1q=1J;n.1H=1J});A.1m()};X.R.sf=C(3W){B D=A;B eu=3;B ev=8;D.1p.Q(C(l){eu=H.3p(l.2s,eu);ev=H.2H(l.2s,ev)});B ng=[H.2G(eu),H.2G(ev)];D.1p.Q(C(l){B 1v=D.9o(3W,ng,H.2G(l.2s));l.1v=H.23(1v)});A.1m()};X.R.9o=C(3W,ew,5O){F((5O-ew[0])*(3W[1]-3W[0])/(ew[1]-ew[0])+3W[0]).az(1)};X.R.nh=C(){B W=A;A.Y.Q(C(n){n.1K=V;W.15.4s(n)});A.1m()};X.R.ni=C(){B W=A;A.Y.Q(C(n){if(n.1K){n.1K=T;W.15.gT(n)}S{n.1K=V;W.15.4s(n)}});A.1m()};X.R.nj=C(G){B D=A;B 1S=G||D.2r;if(1S==L){F T}B 1n=1S.1n||[];B 1r=1S.1r||[];1n.Q(C(J){J.M.1K=V;D.15.4s(J.M)});1r.Q(C(J){J.I.1K=V;D.15.4s(J.I)});A.1m()};X.R.4r=C(){A.Y.Q(C(n){if(!n.1K){n.1f=T;B 1n=n.1n||[],1r=n.1r||[];1n.Q(C(l){l.1f=T});1r.Q(C(l){l.1f=T})}});A.1m()};X.R.sg=C(G,1J){if(G){G.1q=1J;G.1H=1J;A.1m()}};X.R.nk=C(){A.Y.Q(C(n){if(n.1K){n.1f=T;B 1n=n.1n||[],1r=n.1r||[];1n.Q(C(l){l.1f=T});1r.Q(C(l){l.1f=T})}});A.1m()};X.R.i0=C(){A.Y.Q(C(n){if((n.1n||[]).O==0&&(n.1r||[]).O==0){n.1f=T}});A.1m()};X.R.i1=C(){A.Y.Q(C(n){n.1f=V;n.1a=1});A.1m()};X.R.nl=C(Y){if(!Y 5q 4N||Y.O==0){F}B D=A;B 1p=[];B 3U=-1;Y.Q((G)=>{(G.1n||[]).Q(C(l){1p.19(l)});(G.1r||[]).Q(C(l){1p.19(l)});3U=D.Y.1G(G);if(3U>-1){D.Y.7y(3U,1);D.15.3K(G)}});1p.Q(C(l){3U=D.1p.1G(l);if(3U>-1){D.1p.7y(3U,1);D.15.3K(l)}});A.1m()};X.R.i2=C(G){if(G){A.nl([G])}};X.R.nm=C(1p){if(!1p 5q 4N||1p.O==0){F}B D=A;1p.Q((J)=>{B 3U=D.1p.1G(J);if(3U>-1){D.1p.7y(3U,1);D.15.3K(J)}});A.1m()};X.R.nn=C(J){if(J){A.nm([J])}};X.R.sh=C(1Y){A.Y.Q(C(n){if(((n.1n||[]).O+(n.1r||[]).O)>=1Y){n.3m=V}S{n.3m=T;n.47=L}});A.1m()};X.R.si=C(1I){B D=A;if(1I===\'7P\'){i3(1.1)}S if(1I===\'7Q\'){i3(0.9)}S{A.1c.7O(1.0,1.0)}A.1m();C i3(1J){B 48=D.Y.O;B ca=0,cc=0;D.Y.Q(C(n){ca+=n.x;cc+=n.y});ca/=48;cc/=48;D.Y.Q(C(n){B dx=(n.x-ca)*1J;B dy=(n.y-cc)*1J;n.x=ca+dx;n.y=cc+dy})}};X.R.sj=C(1g){B D=A;B 2u=H.2u(-1g*H.1x/3P);B 2B=H.2B(-1g*H.1x/3P);B i4=A.1c.7N();B px=H.23(i4.K/2);B py=H.23(i4.N/2);A.Y.Q(C(n){B dx=n.x-px;B dy=n.y-py;n.x=(px+dx*2B-dy*2u);n.y=(py+dy*2B+dx*2u)});A.1m()};X.R.sk=C(){B D=A;if(D.Y.O==0){F L}F{\'7i\':D.Y.O,\'i5\':D.1p.O,\'i6\':D.no(),\'cd\':D.np(),\'sl\':D.nq()}};X.R.ns=C(ez,aA){B n=ez.O;B 5I=[];1k(1o i=0;i<n;i++){1o i7=1F 4N(n);1k(1o j=0;j<n;j++){i7[j]=4c}5I[i]=i7}B e=aA.O;1k(1o i=0;i<e;i++){B eA=ez.1G(aA[i].M);B eB=ez.1G(aA[i].I);if(eA===-1||eB===-1){F}5I[eA][eB]=aA[i].2s;5I[eB][eA]=aA[i].2s}F 5I};X.R.aB=C(){B 3N=A.Y.2J(C(G){F G.id});B 4q=A.1p.2J(C(J){F{M:J.M.id,I:J.I.id,2s:1}});B 5I=A.ns(3N,4q);B n=3N.O;B i8=C(v){B 7j=[];B 5d=[];B 8E=[];8E.19(v);5d.19(v);7j[3N.1G(v)]=V;4T(8E.O!==0){1o p=8E.jJ();if(7j[3N.1G(p)]!==V){5d.19(p)}7j[3N.1G(p)]=V;1o eC=3N.1G(p);1k(1o i=n-1;i>=0;i--){if(5I[eC][i]!==4c&&7j[i]!==V){8E.19(3N[i])}}if(5d.O>2I){1t}}F 5d};B i9=C(v){B aC=[];B 7j=[];B eD=0,ia=1;aC.19(v);7j[3N.1G(v)]=V;4T(eD!==ia){1o p=aC[eD++];1o eC=3N.1G(p);1k(1o i=0;i<n;i++){if(5I[eC][i]!==4c&&7j[i]!==V){aC.19(3N[i]);7j[i]=V}}ia=aC.O;if(eD>2I){1t}}F aC};B 9p=C(){B 2n=[],1j=[];1k(1o i=0;i<n;i++){2n[i]=1F 4N();1j[i]=1F 4N();1k(1o j=0;j<n;j++){2n[i][j]=5I[i][j];1j[i][j]=[3N[i]]}}1k(1o k=0;k<n;k++){1k(1o i=0;i<n;i++){1k(1o j=0;j<n;j++){if(2n[i][k]+2n[k][j]<2n[i][j]){2n[i][j]=2n[i][k]+2n[k][j];1j[i][j]=1j[i][k].7b(1j[k][j])}if(i===j){2n[i][j]=0}}}}1k(1o i=0;i<n;i++){1k(1o j=0;j<n;j++){1j[i][j].19(3N[j])}}B 5j={"2n":2n,"1j":1j};F 5j};B eF=C(v){B 2n=[],1j=[];1k(1o i=0;i<n;i++){2n[i]=5I[3N.1G(v)][i];if(2n[i]!==4c){1j[i]=[v,3N[i]]}S{1j[i]=[]}}B eG=[];eG[3N.1G(v)]=V;2n[3N.1G(v)]=0;B 5O=1;4T(5O<n){1o k=1;1k(1o i=0;i<n;i++){if(eG[i]!==V&&2n[k]>2n[i]){k=i}}eG[k]=V;1k(1o i=0;i<n;i++){if(2n[i]>2n[k]+5I[k][i]){2n[i]=2n[k]+5I[k][i];1j[i]=1j[k].7b([3N[i]])}}5O++}B 5j={"2n":2n,"1j":1j};F 5j};B ib=C(M){1o 2Q=1F 6V();1o 3h=1F 6V();1k(1o v of 3N){2Q.4k(v,4c);3h.4k(v,[])}2Q.4k(M,0);1k(1o i=1,6o=3N.O-1;i<6o;i++){1k(1o e of 4q){if(2Q.4p(e.M)+e.2s<2Q.4p(e.I)){2Q.4k(e.I,2Q.4p(e.M)+e.2s);B 6c=3h.4p(e.I);6c=6c.7b(3h.4p(e.M));6c.19(e.M);3h.4k(e.I,6c)}}}3h.Q((1j,G)=>{if(1j.O>0){1j.19(G)}});F{2n:2Q,3h:3h}};F{i8:i8,i9:i9,9p:9p,eF:eF,ib:ib}};X.R.no=C(){B D=A;B 7i=D.Y.O,i5=D.1p.O;B 7k=1;if(!D.c0){7k=2}B i6=(7k*i5)/(7i*7i-7i);F i6.az(4)};X.R.np=C(){B D=A;B 7i=D.Y.O,ic=0;D.Y.Q(C(n){ic+=((n.1n||[]).O+(n.1r||[]).O)});B 7k=1;if(D.c0){7k=2}B cd=(ic/=(7k*7i));F cd.az(4)};X.R.sm=C(){B D=A;1o eH=0;B 6F=D.aB();B eI=6F.9p().2n;eI.Q(eJ=>{eJ.Q(2n=>{eH=H.2H(2n,eH)})});F eH};X.R.sn=C(){B D=A;if(D.Y.O==0){F 0}1o 8h=0;D.Y.Q(C(G){8h+=D.8h(G)});F(8h/D.Y.O).az(4)};X.R.so=C(){B D=A;if(D.Y.O==0){F 0}B ie=0;B ig=0;B 6F=D.aB();B eI=6F.9p().2n;eI.Q(eJ=>{eJ.Q(2n=>{if(2n!==4c&&2n>0){ig++;ie+=2n}})});F(ie/ig).az(4)};X.R.nq=C(){B D=A;B 7i=D.Y.O,ce=0;D.Y.Q(C(n){if(D.c0){(n.1n||[]).Q(C(l){ce+=l.2s});(n.1r||[]).Q(C(l){ce+=l.2s})}S{B eK=[];eK.19((n.1n||[]));eK.19((n.1r||[]));eK.Q(C(l){B ih=1;if(l.M==l.I){ih=2}ce+=(ih*l.2s)})}});B 7k=1;if(D.c0){7k=2}B cd=(ce/=(7k*7i));F cd.az(4)};X.R.sp=C(G,1I){B D=A;1o ii=0;B 6F=D.aB();B aD=6F.eF(G.id);aD.2n.Q(ij=>{if(ij!==4c){ii+=ij}});B nt=(D.Y.O-1)/ii;F nt};X.R.ik=C(G){B D=A;B il=D.Y.O;if(il==1){F 0}B ik=((G.1r||[]).O+(G.1n||[]).O)/(il-1);F ik};X.R.8h=C(G){B D=A;B 8i=1F gM();B nu=(G.1r||[]).2J((J)=>{F J.I});B nv=(G.1n||[]).2J((J)=>{F J.M});B im=(nu.7b(nv));im.Q((1S)=>{if(1S.id!=G.id){8i.2q(1S.id)}});B 8j=1F gM();im.Q((1S)=>{B 1r=(1S.1r||[]).2w((1D)=>{F 1D.I.id!=G.id&&1D.M!=1D.I});B 9q=L,cf=L;1r.Q((1D)=>{if(8i.8k(1D.M.id)&&8i.8k(1D.I.id)){9q=1D.M.id+\':\'+1D.I.id;cf=1D.I.id+\':\'+1D.M.id;if(!8j.8k(9q)&&!8j.8k(cf)){8j.2q(9q)}}});B 1n=(1S.1n||[]).2w((1D)=>{F 1D.M.id!=G.id&&1D.M!=1D.I});1n.Q((1D)=>{if(8i.8k(1D.M.id)&&8i.8k(1D.I.id)){9q=1D.M.id+\':\'+1D.I.id;cf=1D.I.id+\':\'+1D.M.id;if(!8j.8k(9q)&&!8j.8k(cf)){8j.2q(9q)}}})});B nw=8j.2K;B io=(8i.2K)*(8i.2K-1);B 8h=0;if(io>0){8h=nw/io}F 8h};X.R.sq=C(2v){B D=A;1o 8l=0;1o aE=0;B 8m=2v.M.id;B 8n=2v.I.id;B 6F=D.aB();B 3h=6F.9p().1j;B aF=0,aG=L,aH=L;B 8o,8p;3h.Q(6c=>{6c.Q(1j=>{aF=1j.O;aG=1j[0];aH=1j[aF-1];if(aG!=aH){8l++;8o=1j.1G(8m);8p=1j.1G(8n);if(8o!=-1&&8p!=-1&&(8o+1)==8p){aE++}}})});if(8l==0){F 0}F(aE/8l)*2};X.R.sr=C(){B D=A;B 6F=D.aB();B 3h=6F.9p().1j;B 4q=D.1p.2J(C(J){if(!J.id){J.id=J.M.id+\'@\'+J.I.id}F J});4q.Q((2v)=>{B 8l=0;B aE=0;B 8m=2v.M.id;B 8n=2v.I.id;B aF=0,aG=L,aH=L;B 8o,8p;3h.Q(6c=>{6c.Q(1j=>{aF=1j.O;aG=1j[0];aH=1j[aF-1];if(aG!=aH){8l++;8o=1j.1G(8m);8p=1j.1G(8n);if(8o!=-1&&8p!=-1&&(8o+1)==8p){aE++}}})});if(8l==0){2v.eL=0}S{2v.eL=(aE/8l)*2}});4q.a4(C(nz,nA){F nA.eL-nz.eL});F 4q};X.R.n6=C(){B D=A;B eM={Y:[],1p:[]};D.Y.Q(C(n){eM.Y.19({\'id\':n.id,\'1b\':n.1b,\'x\':H.23(n.x),\'y\':H.23(n.y),\'K\':n.K,\'N\':n.N,\'2K\':n.2K,\'1N\':n.2T,\'3w\':n.3w})});D.1p.Q(C(l){eM.1p.19({\'id\':l.id,\'M\':l.M.id,\'I\':l.I.id,\'1b\':l.1b||l.1I||\'\',\'1v\':l.1v,\'3g\':l.3g,\'1N\':l.3T})});F eM};X.R.ss=C(3j){A.Y.Q((G)=>{G.bJ=3j});A.1m()};X.R.nB=C(){B D=A;B 4v=0,4w=0;D.Y.Q(C(n){n.4x=(n.1r||[]).aI(C(5J,1D){F 5J+(1D.2s||1)},0);n.5K=(n.1n||[]).aI(C(5J,1D){F 5J+(1D.2s||1)},0);n.1Y=n.4x+n.5K;4v=H.3p(n.1Y,4v);4w=H.2H(n.1Y,4w)});B 8g=[4v,4w];B 3W=[0.2,1];D.Y.Q(C(n){B ip=D.9o(3W,8g,n.1Y);n.1a=ip;(n.1r||[]).Q(C(l){l.1a=ip})});A.1m()};X.R.st=C(6G,3W){B D=A;B 4v=0,4w=0;B aJ={};D.Y.Q(C(n){n.4x=(n.1r||[]).aI(C(5J,1D){F 5J+(1D.2s||1)},0);n.5K=(n.1n||[]).aI(C(5J,1D){F 5J+(1D.2s||1)},0);n.1Y=n.4x+n.5K;if(6G==\'1Y\'){4v=H.3p(n.1Y,4v);4w=H.2H(n.1Y,4w)}S if(6G==\'4x\'){4v=H.3p(n.4x,4v);4w=H.2H(n.4x,4w)}S{4v=H.3p(n.5K,4v);4w=H.2H(n.5K,4w)}});B 8g=[4v,4w];D.Y.Q(C(n){B 6H=1;if(6G==\'1Y\'){6H=D.9o(3W,8g,n.1Y)}S if(6G==\'4x\'){6H=D.9o(3W,8g,n.4x)}S{6H=D.9o(3W,8g,n.5K)}n.K=n.N=n.14=H.23(6H)});A.1m()};X.R.7l=C(4U,6d,nC){B D=A;if(!4U||!6d){F[]}1o su=1F 6V();1o eN=[];4Y iq=(M,I,4V=[])=>{4V=[...4V];4V.19(M);if(M===I){eN.19(4V);F}4Y 9r=[];(M.1r||[]).Q((J)=>{if(9r.1G(J.I)==-1&&M!=J.I){9r.19(J.I)}});if(!nC){(M.1n||[]).Q((J)=>{if(9r.1G(J.M)==-1&&M!=J.M){9r.19(J.M)}})}1k(1o i=0;i<9r.O;i++){B G=9r[i];if(4V.1G(G)==-1){iq(G,I,4V)}}};iq(4U,6d);eN.a4((nD,nE)=>{F nD.O-nE.O});1o 3a=[];eN.Q((4V)=>{B 3h=[];B O=4V.O;1k(B i=0;i<O;i++){B ir=4V[i];(ir.1r||[]).Q((J)=>{if(4V.1G(J.I)!=-1&&4V.1G(J.M)!=-1&&3h.1G(J)==-1){3h.19(J)}});(ir.1n||[]).Q((J)=>{if(4V.1G(J.I)!=-1&&4V.1G(J.M)!=-1&&3h.1G(J)==-1){3h.19(J)}})}3a.19(3h)});F 3a};X.R.sv=C(8m,8n,3X){B D=A;B 4U=D.Y.2w(C(n){F n.id==8m})[0];B 6d=D.Y.2w(C(n){F n.id==8n})[0];1o 3a=[];if(3X==\'M\'){3a=D.7l(4U,6d,V)}S if(3X==\'I\'){3a=D.7l(6d,4U,V)}S{3a=D.7l(4U,6d,T)}B aD=[];if(3a.O>0){B nF=3a[0].O;aD=3a.2w((6c)=>{F 6c.O==nF});aD.Q((3h)=>{3h.Q((J)=>{D.cg(J)})});D.1m()}F aD};X.R.sw=C(8m,8n,3X){B D=A;if(sz.O==0||sA.O==0){F L}B 4U=D.Y.2w(C(n){F n.id==8m})[0];B 6d=D.Y.2w(C(n){F n.id==8n})[0];1o 3a=[];if(3X==\'M\'){3a=D.7l(4U,6d,V)}S if(3X==\'I\'){3a=D.7l(6d,4U,V)}S{3a=D.7l(4U,6d,T)}if(3a.O>0){3a.Q((1j)=>{1j.Q((J)=>{D.cg(J)})});D.1m()}F 3a};X.R.cg=C(J){if(J){J.1K=V;A.15.4s(J);J.I.1K=V;A.15.4s(J.I);J.M.1K=V;A.15.4s(J.M)}};X.R.sB=C(){B D=A;B ci=D.Y.2w((G)=>{F(G.1n||[]).O>=1&&(G.1r||[]).O>=1});if(!ci){F L}1o 8q=[];B O=ci.O;1k(1o i=0;i<O;i++){B 4U=ci[i];B 1n=4U.1n;1n.Q((J)=>{B 3o=J.M;if(ci.1G(3o)!=-1){B 3a=D.7l(4U,3o,V);if(3a&&3a.O>0){8q=8q.7b(3a)}}})}1o 6I=[];8q.Q((3h)=>{3h.Q((1j)=>{if(6I.1G(1j)==-1){6I.19(1j)}})});6I.Q((J)=>{D.cg(J)});D.1m();F 6I};X.R.sC=C(G){B D=A;if(!G){F L}1o 8q=[];B 1n=G.1n||[];1n.Q((J)=>{B 3o=J.M;B 3a=D.7l(G,3o,V);if(3a&&3a.O>0){8q=8q.7b(3a)}});1o 6I=[];8q.Q((3h)=>{3h.Q((1j)=>{if(6I.1G(1j)==-1){6I.19(1j)}})});6I.Q((J)=>{D.cg(J)});D.1m();F 6I};X.R.sD=C(){B W=A;B 6e=[];A.Y.Q(C(n){if((n.1r||[]).O>0){n.1K=V;W.15.4s(n);6e.19(n)}});A.1m();F 6e};X.R.sE=C(1Y){B W=A;B 6e=[];A.Y.Q(C(n){B 5J=(n.1n||[]).O+(n.1r||[]).O;if(5J>=1Y){n.1K=V;W.15.4s(n);6e.19(n)}});A.1m();F 6e};X.R.sF=C(c7,eO){B W=A;B 2r=W.Y.2w(C(n){F(n.1b)==c7})[0];B 7m=[];B 7n={};B 6e=[];if(L!=2r){2r.1K=V;W.15.4s(2r);6e.19(2r);iu(2r,eO);W.1m()}C iu(G,aK){if(aK>1){if(eO==aK&&7m.1G(G)==-1){7m.19(G)}B 7o=eO-aK;B 1n=G.1n||[];B 1r=G.1r||[];1n.Q(C(l){if(7m.1G(l.M)==-1){7m.19(l.M);if(7n[7o]==4i){7n[7o]=[]}7n[7o].19(l.M)}});1r.Q(C(l){if(7m.1G(l.I)==-1){7m.19(l.I);if(7n[7o]==4i){7n[7o]=[]}7n[7o].19(l.I)}});if(7n[7o]==4i){F}7n[7o].Q(C(l){iu(l,aK-1)})}S if(aK==1){B 1n=G.1n||[];B 1r=G.1r||[];1n.Q(C(l){if(7m.1G(l.M)==-1){l.M.1K=V;W.15.4s(l.M);6e.19(l.M)}});1r.Q(C(l){if(7m.1G(l.I)==-1){l.I.1K=V;W.15.4s(l.I);6e.19(l.I)}})}};F 6e};X.R.sG=C(){A.15.3K(A.6C);A.6C=L;A.1m()};X.R.sH=C(1I,8r,2b){A.Y.Q(C(n){B 1Y=0;if(1I==\'1Y\'){1Y=(n.1n||[]).O+(n.1r||[]).O}S if(1I==\'4x\'){1Y=(n.1r||[]).O}S if(1I==\'5K\'){1Y=(n.1n||[]).O}if(8r==1){if(1Y>2b){n.1f=V}S{n.1f=T}}S if(8r==2){if(1Y==2b){n.1f=V}S{n.1f=T}}S if(8r==3){if(1Y<2b){n.1f=V}S{n.1f=T}}});A.1p.Q(C(l){if(l.M.1f==T||l.I.1f==T){l.1f=T}S{l.1f=V}});A.1m()};X.R.sI=C(8r,2b){A.1p.Q(C(l){if(l.M.1f==V&&l.I.1f==V){if(8r==1){if(l.2s>2b){l.1f=V}S{l.1f=T}}S if(8r==2){if(l.2s==2b){l.1f=V}S{l.1f=T}}S if(8r==3){if(l.2s<2b){l.1f=V}S{l.1f=T}}}S{l.1f=T}});A.1m()};X.R.sJ=C(6G,iv){B D=A;B aJ={};D.Y.Q(C(n){n.4x=(n.1r||[]).O;n.5K=(n.1n||[]).O;n.1Y=n.4x+n.5K;if(6G==\'1Y\'){aJ[n.1Y+\'\']=1}S if(6G==\'4x\'){aJ[n.4x+\'\']=1}S{aJ[n.5K+\'\']=1}});B 9s=[];1k(B d in aJ){9s.19(d)}9s.a4(C(d1,d2){F 2a(d2)-2a(d1)});B aw=1F 17.ai();B eP=aw.e9(iv[0],iv[1],9s.O);D.Y.Q(C(n){B 2o=0;if(6G==\'1Y\'){2o=9s.1G(n.1Y+\'\')}S if(6G==\'4x\'){2o=9s.1G(n.4x+\'\')}S{2o=9s.1G(n.5K+\'\')}n.2T=eP[2o].53(\'5A(\',\'\').53(\')\',\'\')});A.1m()};X.R.iw=C(nG){A.1p.Q(C(l){l.31=nG});A.1m()};X.R.ix=C(nH){B D=A;B iy=[0];if(nH){iy=[8,5]}A.1p.Q(C(l){l.28=iy});A.1m()};X.R.sK=C(6H){6H=2a(6H)||60;A.U.G.2K=6H;A.Y.Q(C(G){G.K=G.N=H.23(6H)});A.1m()};X.R.sL=C(6D){B 6E=A.9m(6D);A.eg=6E;A.Y.Q(C(G){G.2T=6E});A.1m()};X.R.sM=C(P){F 17.1O.9y(P)};X.R.sN=C(){B D=A;F{x:D.15.9L,y:D.15.9M}};X.R.gv=C(x,y){if(64.O!=2){F{7v:0,8H:0}}F A.1c.gv(x,y)};X.R.sO=C(P){B p=17.1O.9y(P);F{x:p.x,y:p.y}};X.R.sP=C(1S,3q){B D=A;D.1c.9J(\'3Q\');D.1c.3Q(C(P){B p=D.15.6w(P);D.1c.9J(\'3Q\');1S.id=(1S.id==L?D.hA++:1S.id);1S.x=p.x;1S.y=p.y;B G=D.8e(1S);G.3n=V;D.Y.19(G);D.15.2q(G);D.1m();if(3q&&1R 3q===\'C\'){3q(G)}})};X.R.eQ=C(){A.Y.Q(C(n){if(!n.1f){n.1f=V}});A.1p.Q(C(l){if(!l.1f){l.1f=V}});A.1m()};X.R.sQ=C(iz,iA,4y){B W=A;W.eQ();if(iz.O>0){W.Y.Q(C(n){if(n.1I&&iz.1G(n.1I)!=-1){n.1f=T}})}if(iA.O>0){W.1p.Q(C(l){if(l.1b&&iA.1G(l.1b)!=-1){l.1f=T}})}if(4y[\'iB\']){B 6f=4y[\'iB\'][0];B 6g=4y[\'iB\'][1];W.Y.Q(C(n){B 1Y=(n.1n||[]).O+(n.1r||[]).O;if(!cj(6f,6g,1Y)){n.1f=T}})}if(4y[\'iC\']){B 6f=4y[\'iC\'][0];B 6g=4y[\'iC\'][1];W.Y.Q(C(n){B 1Y=(n.1r||[]).O;if(!cj(6f,6g,1Y)){n.1f=T}})}if(4y[\'iD\']){B 6f=4y[\'iD\'][0];B 6g=4y[\'iD\'][1];W.Y.Q(C(n){B 1Y=(n.1n||[]).O;if(!cj(6f,6g,1Y)){n.1f=T}})}if(4y[\'iE\']){B 6f=4y[\'iE\'][0];B 6g=4y[\'iE\'][1];W.1p.Q(C(l){if(!cj(6f,6g,l.2s)){l.1f=T}})}if(4y[\'iF\']){B 6f=4y[\'iF\'][0];B 6g=4y[\'iF\'][1];W.Y.Q(C(n){B iG=n.1b;if(6f==1){if(iG!=6g){n.1f=T}}S if(6f==2){if(iG.1G(6g)==-1){n.1f=T}}})}W.1p.Q(C(l){if(!l.M.1f||!l.I.1f){l.1f=T}});W.1m();C cj(iH,eR,eS){if(iH==1){if(eS>eR){F V}F T}S if(iH==2){if(eS==eR){F V}F T}S{if(eS<eR){F V}F T}F V}};X.R.iI=C(){B W=A;B nI=W.Y.2w((n)=>{F n.1K});nI.Q((n)=>{W.nJ(n)})};X.R.nJ=C(G){B W=A;if(G){B 1p=[];B 3U=W.Y.1G(G);if(3U>-1){(G.1n||[]).Q(C(l){1p.19(l)});(G.1r||[]).Q(C(l){1p.19(l)});W.15.3K(G);W.Y.7y(3U,1)}1p.Q(C(l){3U=W.1p.1G(l);if(3U>-1){W.15.3K(l);W.1p.7y(3U,1)}});G=L;W.1m()}};X.R.eT=C(){if(A.15){A.15.do()}A.Y=[];A.1p=[];A.hA=1;A.2r=L;A.6C=L;A.mJ=L;A.5c=[];A.c1=L;A.9j=T;A.3V=L;A.mZ(\'n0\');A.iJ(10);A.1m()};X.R.sR=C(){A.eT();A.15.bq();A.1c.bq()};X.R.sS=C(nK){B D=A;7Y(nK){1A\'sT\':D.nh();1t;1A\'sU\':D.ni();1t;1A\'eQ\':D.eQ();1t;1A\'sV\':D.nj();1t;1A\'i1\':D.i1();1t;1A\'sW\':D.4r();1t;1A\'sZ\':D.nk();1t;1A\'iI\':D.iI();1t;1A\'eT\':A.eT();1t;1A\'i0\':D.i0();1t;1A\'t0\':D.nb();1t;1A\'t4\':D.na();1t;1A\'t5\':D.nB();1t;1A\'hU\':D.hU();1t;1A\'i2\':D.i2(D.2r);D.2r=L;1t;1A\'t6\':D.nL();1t;1A\'t7\':D.nn(D.6C);D.6C=L;1t;1A\'hS\':D.hS(D.2r);1t;1A\'hR\':D.hR(D.2r);1t;1A\'t8\':D.iw(V);1t;1A\'t9\':D.iw(T);1t;1A\'ta\':D.hP(V);1t;1A\'tb\':D.hP(T);1t;1A\'tc\':D.ix(T);1t;1A\'td\':D.ix(V);1t;5t:1t}};X.R.nL=C(3q){A.9j=V;if(3q&&1R(3q)===\'C\'){A.c2=3q}};X.R.tf=C(ck,cl){B D=A;B 2c=D.9l(ck,cl);D.15.2q(2c);F 2c};X.R.tg=C(U){B D=A;B G=D.8e(U||{x:10,y:10,K:5});G.3S=T;G.3n=V;D.15.2q(G);F G};X.R.th=C(2c){A.15.3K(2c);A.1m()};X.R.nM=C(G){G=G||{};B iK=0;B cn=[],iL=V;(G.1n||[]).Q(C(l){cn.19(l.M)});if(cn.O==0){iL=T;(G.1r||[]).Q(C(l){cn.19(l.I)})}B co;co=cn.a4(C(n1,n2){if(iL){F((n1.1r||[]).O+(n1.1n||[]).O)<((n2.1r||[]).O+(n2.1n||[]).O)}S{F((n1.1r||[]).O+(n1.1n||[]).O)>((n2.1r||[]).O+(n2.1n||[]).O)}})[0];if(co){B nN=co.cx,nO=co.cy;B 1Q=G.cx,1T=G.cy;iK=H.5m((1T-nO),(1Q-nN))}F iK};X.R.ti=C(9t,eU){B W=A;W.nP(9t);B 4f=[],nQ=[];(9t||[]).Q(C(1S,i){B nR=W.Y.2w(C(n){F n.id==1S.id});if(nR.O==0){if(W.2r!=L){if(1S.id!=W.2r.id){B G=W.8e(1S);W.Y.19(G);W.15.2q(G);4f.19(G)}S{W.2r.id=1S.id}}S{B G=W.8e(1S);W.Y.19(G);W.15.2q(G);4f.19(G)}}});B iM=W.Y;(eU||[]).Q(C(1D){B nS=W.1p.2w(C(l){F(l.id==1D.id)||(l.M.id==1D.M&&l.I.id==1D.I)});if(nS.O==0){B 4a=iM.2w(C(1S){F 1S.id==1D.M})[0];B 3o=iM.2w(C(1S){F 1S.id==1D.I})[0];if(4a!=L&&3o!=L){B J=W.9l(4a,3o);J.id=1D.id||\'\';J.1I=1D.1I||\'5t\';J.1b=1D.1b||\'\';J.3m=1D.3m||W.U.J.1b.37;J.1v=2a(1D.1v)||W.U.J.1v;J.2s=2a(1D.2s)||1;J.3g=1D.3g||W.U.J.3g;J.28=1D.28||W.U.J.28;J.3T=1D.1N||W.U.J.1N;J.27=1D.27||W.U.J.1b.27;J.3u=1D.3u||W.U.J.1b.1N;J.2X=1D.2X||{};W.1p.19(J);W.15.2q(J);nQ.19(J)}}});B nT=W.Y.2w(C(n){F!n.2O(\'49\')});nT.Q(C(n){4f.19(n)});if(W.2r!=L){4f.19(W.2r)}if(4f.O>1){if(W.2r!=L){(W.2r.1n||[]).Q(C(l){B iN=4f.2w(C(n){F n==l.M});if(iN==L||iN.O==0){l.M.3n=V}});W.2r.3n=V}W.nU(W.Y);B cq=(W.2r||{x:2I}).x||2I;B cr=(W.2r||{y:2I}).y||2I;4f.Q((aL)=>{B 1L=aL.x,1V=aL.y;aL.x=cq,aL.y=cr;W.4E({4g:aL,x:1L,y:1V,2f:9T,5e:\'aM\'})})}};X.R.nP=C(Y){B 14=nV(Y);B 4W=A.2r||{x:2I,y:2I};B 1g=A.nM(4W);B 1i=4W.x+14*H.2B(1g);B 1l=4W.y+14*H.2u(1g);4W.x=1i;4W.y=1l;B 48=Y.O;B iO=nW(4W,48,14);Y.Q((n,i)=>{n.x=iO[i].x;n.y=iO[i].y});C nV(9t){B iP=20;B nX=(2*H.1x*iP*iP)*9t.O;B 14=H.23(H.2G(nX,3));F 14};C nY(4W,48,73){B nZ=d0.0/48;B 2P=[];1k(B i=0;i<48;i++){B r1=73;if(48>10){r1=(i%2==0?73+35:73-35)}B ao=i*nZ;B o1={};o1.x=4W.x+r1*H.2B(ao*H.1x/3P);o1.y=4W.y+r1*H.2u(ao*H.1x/3P);2P[i]=o1}F 2P};C nW(4W,48,73){if(48<=30){F nY(4W,48,73)}B 2P=[];1k(B i=0;i<48;i++){B eV=H.k1(-1+(2*i)/48);B as=H.2G(48*H.1x)*eV;B o0=H.2u(eV)*14;B o1={};o1.x=4W.x+o0*H.2u(as);o1.y=4W.y+H.2B(eV)*14;2P[i]=o1}F 2P}};X.R.nU=C(Y){B D=A;B q=D.iQ(Y);1o 5O=1;4T(5O++<=20){Y.Q(C(1S){q.eW(eX(1S))})}C eX(G){B nr=(G.14*G.1q*2),eY=G.x-nr,eZ=G.x+nr,f0=G.y-nr,f1=G.y+nr;F C(21,1i,1l,1u,1w){if(21.2i&&(21.2i!==G)){B x=G.x-21.2i.x,y=G.y-21.2i.y,l=H.2G(x*x+y*y),r=nr+21.2i.14;if(l<r){l=(l-r)/l*0.5;G.x-=x*=l;G.y-=y*=l;21.2i.x+=x;21.2i.y+=y}}F 1i>eZ||1u<eY||1l>f1||1w<f0}}};X.R.iQ=C(62){B p,i=-1,n=62.O;if(n&&aj(62[0].x)){62=62.2J(C(p){F{x:p[0],y:p[1]}})}B 1i=1l=4c;B 1u=1w=-4c;4T(++i<n){p=62[i];if(p.x<1i){1i=p.x}if(p.y<1l){1l=p.y}if(p.x>1u){1u=p.x}if(p.y>1w){1w=p.y}}B dx=1u-1i,dy=1w-1l;if(dx>dy){1w=1l+dx}S{1u=1i+dy}C iR(n,p,1i,1l,1u,1w){if(aj(p.x)||aj(p.y)){F}if(n.aN){B v=n.2i;if(v){if((H.4A(v.x-p.x)+H.4A(v.y-p.y))<0.mL){cs(n,p,1i,1l,1u,1w)}S{n.2i=L;cs(n,v,1i,1l,1u,1w);cs(n,p,1i,1l,1u,1w)}}S{n.2i=p}}S{cs(n,p,1i,1l,1u,1w)}};C cs(n,p,1i,1l,1u,1w){B sx=(1i+1u)*0.5,sy=(1l+1w)*0.5,2g=p.x>=sx,2j=p.y>=sy,i=(2j<<1)+2g;n.aN=T;n=n.Y[i]||(n.Y[i]={aN:V,Y:[],2i:L});if(2g){1i=sx}S{1u=sx}if(2j){1l=sy}S{1w=sy}iR(n,p,1i,1l,1u,1w)};C aO(f,G,1i,1l,1u,1w){if(!f(G,1i,1l,1u,1w)){B sx=(1i+1u)*0.5,sy=(1l+1w)*0.5,3b=G.Y;if(3b[0]){aO(f,3b[0],1i,1l,sx,sy)}if(3b[1]){aO(f,3b[1],sx,1l,1u,sy)}if(3b[2]){aO(f,3b[2],1i,sy,sx,1w)}if(3b[3]){aO(f,3b[3],sx,sy,1u,1w)}}};B 9u={aN:V,Y:[],2i:L};9u.2q=C(p){iR(9u,p,1i,1l,1u,1w)};9u.eW=C(f){aO(f,9u,1i,1l,1u,1w)};62.Q(9u.2q);F 9u};X.R.iJ=C(o3){B D=A;6i(C(){7J(D.2m.8d);D.2m.8d=L;D.2m.1a=0},o3)};X.R.o4=C(3q){B W=A;if(1R 3q==\'C\'){7J(W.2m.8d);W.2m.8d=L;C 7p(){7J(W.2m.8d);3q();W.1m();W.2m.8d=8N(7p)};W.2m.8d=8N(7p)}};X.R.hI=C(Y,1p,1a){B W=A;if(Y.O==0){F}W.2m.1a=1a||0.5;W.o4(f2);C f2(){if((W.2m.1a*=0.99)<0.tj){W.iJ(10);W.2m.1a=0;F}B q,i,o,s,t,l,k,x,y;1p.Q(C(J,i){s=J.M;t=J.I;x=t.x-s.x;y=t.y-s.y;if(l=(x*x+y*y)){l=W.2m.1a*J.mX*((l=H.2G(l))-J.2Q)/l;x*=l;y*=l;t.x-=x*(k=s.2s/(t.2s+s.2s));t.y-=y*k;s.x+=x*(k=1-k);s.y+=y*k}});B n=Y.O;if(k=W.2m.1a*W.2m.ee){x=W.2m.2K[0]/2;y=W.2m.2K[1]/2;i=-1;if(k){4T(++i<n){o=Y[i];o.x+=(x-o.x)*k;o.y+=(y-o.y)*k}}}if(W.2m.49){iS(q=W.iQ(Y),W.2m.1a);i=-1;4T(++i<n){if(!(o=Y[i]).3n){q.eW(o5(o))}}}i=-1;4T(++i<n){o=Y[i];if(o.3n){if(!o.el){o.x=o.px;o.y=o.py}S{o.px=o.x;o.py=o.y}}S{o.x-=(o.px-(o.px=o.x))*W.2m.bX;o.y-=(o.py-(o.py=o.y))*W.2m.bX;if(W.2m.bY==V){q.eW(eX(o))}}}C o5(G){F C(21,1i,1l,1u,1w){if(21.2i!==G){B dx=21.cx-G.x,dy=21.cy-G.y,dn=1/H.2G(dx*dx+dy*dy);if((1u-1i)*dn<W.2m.as){B k=21.49*dn*dn;G.px-=dx*k;G.py-=dy*k;F V}if(21.2i&&tk(dn)){B k=21.o6*dn*dn;G.px-=dx*k;G.py-=dy*k}}F!21.49}};C eX(G){B aP=(G.14*G.1q)*2,eY=G.x-aP,eZ=G.x+aP,f0=G.y-aP,f1=G.y+aP;F C(21,1i,1l,1u,1w){if(21.2i&&(21.2i!==G)){B x=G.x-21.2i.x,y=G.y-21.2i.y,l=H.2G(x*x+y*y),r=aP+21.2i.14;if(l<r){l=(l-r)/l*.5;G.x-=x*=l;G.y-=y*=l;21.2i.x+=x;21.2i.y+=y}}F 1i>eZ||1u<eY||1l>f1||1w<f0}}};C iS(21,1a){B cx=0,cy=0;21.49=0;if(!21.aN){B Y=21.Y,n=Y.O,i=-1,c;4T(++i<n){c=Y[i];if(c==L){tm}iS(c,1a);21.49+=c.49;cx+=c.49*c.cx;cy+=c.49*c.cy}}if(21.2i){if(!21.aN){21.2i.x+=H.7g()-0.5;21.2i.y+=H.7g()-0.5}B k=W.2m.1a*21.2i.49;21.49+=21.o6=k;cx+=k*21.2i.x;cy+=k*21.2i.y}21.cx=cx/21.49;21.cy=cy/21.49}};X.R.tn=C(){B Y=A.Y.2w(C(n){F n.1K==V});F Y};X.R.tp=C(b2,2b){B Y=A.Y.2w(C(n){F n[b2]==2b});if(Y.O>0){B G=Y[0];F G}F L};X.R.tq=C(f3){B Y=A.Y.2w(C(n){F n.id==f3});if(Y.O>0){B G=Y[0];G.1K=V;G.1f=V;A.15.4s(G);A.hW(G);F G}F L};X.R.tr=C(f3,iT){B G=A.Y.2w(C(1S){F 1S.id==f3})[0];if(G){G.1b=iT;G.47=iT;A.1m()}};X.R.ts=C(3j){if(!3j){A.1c.9R=-50}S{A.1c.9R=50}};X.R.tt=C(3j){A.1c.gm=3j};X.R.tu=C(3j){A.1c.gn=3j};X.R.tv=C(1J){A.1c.gt=2a(1J)||0.5};X.R.tw=C(3j){A.1c.gr=tz(3j)};X.R.tA=C(){A.1c.7L.1f&&A.1c.7L.8R()};X.R.tB=C(){F H.8M(2S*H.7g())+","+H.8M(3P*H.7g())+","+H.8M(2S*H.7g())};X.R.tC=C(9t,eU){B 5G=1F 6V();9t.Q(C(n){n.1q=1;n.1H=1;n.14=n.14||n.K||30;n.x=n.x||H.23(H.7g()*7I);n.y=n.y||H.23(H.7g()*7I);n.cx=n.x;n.cy=n.x;if(n.id==1){n.1K=V}S{n.1K=T}5G.4k(n.id,n)});B 1p=[];eU.Q(C(l){B 4a=5G.4p(l.M),3o=5G.4p(l.I);if(4a){4a.1r=4a.1r||[];4a.1r.19({M:4a,I:3o})}if(3o){3o.1n=3o.1n||[];3o.1n.19({M:4a,I:3o})}1p.19({M:4a,I:3o})});B 4f=[];5G.Q(C(2b,3J){4f.19(2b)});F{Y:4f,1p:1p}};X.R.tD=C(){F 17.1O};X.R.tE=C(Y,5Z=[2I,2I],o7=80,o8=V){B 4f=[].7b(Y);4f.a4((ck,cl)=>{F((cl.1n||[]).O+(cl.1r||[]).O)-((ck.1n||[]).O+(ck.1r||[]).O)});B as=H.1x*(3-H.2G(5));B cq=5Z[0];B cr=5Z[1];B 14=0,1g=0;4f.Q((G,i)=>{14=o7*H.2G(i+=0.5);1g=as*i;if(i==0){G=cq;G=cr;G.3n=V}S{G.x=cq+14*H.2B(1g);G.y=cr+14*H.2u(1g)}});if(o8){A.n3(A.15.91[0])}};X.R.tF=C(o9=\'tG\',ds=0.1){A.1c.l2(o9,ds)};X.R.tH=C(){A.1c.l5()};X.R.tI=C(){F{x:A.1c.K/2-A.15.2E,y:A.1c.N/2-A.15.2F}};X.R.bU=C(5O,oa,ob){B aw=1F 17.ai();B eP=aw.bU(5O,oa,ob);F eP};X.R.tJ=C(3S=V){A.15.3S=3S};X.R.4E=C(U){B D=A;B iU={8R:L,oc:L,od:L,oe:L,og:L,oh:L,iV:L,oi:L,7p:1,3X:\'3B\',f4:V,7q:0};B f5={2f:7I,3F:0,4G:0,5e:\'tK(1,.5)\',23:0};C 6J(3I,3p,2H){F H.3p(H.2H(3I,3p),2H)};C iW(iX,8F){if(iX){F iX.66(L,8F)}F};B is={2P:C(a){F 4N.hG(a)},4z:C(a){F 98.R.tL.6X(a).1G(\'98\')>-1},oj:C(a){F 1R a===\'86\'},f6:C(a){F 1R a===\'C\'},6h:C(a){F 1R a===\'4i\'},3J:C(a){F!iU.2O(a)&&!f5.2O(a)&&a!==\'4g\'&&a!==\'8s\'}};C iY(86){B 8O=/\\(([^)]+)\\)/.ep(86);F 8O?8O[1].5r(\',\').2J(C(p){F ct(p)}):[]};B iZ={j0:{}};C aM(86,2f){B 1Z=iY(86);B j1=6J(is.6h(1Z[0])?1:1Z[0],.1,2I);B j2=6J(is.6h(1Z[1])?2I:1Z[1],.1,2I);B ok=6J(is.6h(1Z[2])?10:1Z[2],.1,2I);B j3=6J(is.6h(1Z[3])?0:1Z[3],.1,2I);B aQ=H.2G(j2/j1);B 8t=ok/(2*H.2G(j2*j1));B f7=8t<1?aQ*H.2G(1-8t*8t):0;B a=1;B b=8t<1?(8t*aQ+ -j3)/f7:-j3+aQ;C j4(t){B 4b=2f?(2f*t)/7I:t;if(8t<1){4b=H.ol(-4b*8t*aQ)*(a*H.2B(f7*4b)+b*H.2u(f7*4b))}S{4b=(a+b*4b)*H.ol(-4b*aQ)}if(t===0||t===1){F t}F 1-4b};C om(){B j5=iZ.j0[86];if(j5){F j5}B j6=1/6;B 63=0;B f8=0;4T(V){63+=j6;if(j4(63)===1){f8++;if(f8>=16){1t}}S{f8=0}}B 2f=63*j6*7I;iZ.j0[86]=2f;F 2f};F 2f?j4:om};C 8u(8u){if(8u===6R 0)8u=10;F C(t){F H.23(t*8u)*(1/8u)}};B on=(C(){B cu={tM:C(){F C(t){F t}}};B f9={tN:C(){F C(t){F 1-H.2B(t*H.1x/2)}},tO:C(){F C(t){F 1-H.2G(1-t*t)}},tP:C(){F C(t){F t*t*(3*t-2)}},tQ:C(){F C(t){B j7,b=4;4T(t<((j7=H.3O(2,--b))-1)/11){}F 1/H.3O(4,3-b)-7.tR*H.3O((j7*3-2)/22-t,2)}},tS:C(fa,fb){if(fa===6R 0)fa=1;if(fb===6R 0)fb=.5;B a=6J(fa,1,10);B p=6J(fb,.1,2);F C(t){F(t===0||t===1)?t:-a*H.3O(2,10*(t-1))*H.2u((((t-1)-(p/(H.1x*2)*H.ka(1/a)))*(H.1x*2))/p)}}};B oo=[\'tT\',\'tU\',\'tV\',\'tW\',\'tZ\'];oo.Q(C(2t,i){f9[2t]=C(){F C(t){F H.3O(t,i+2)}}});98.op(f9).Q(C(2t){B aR=f9[2t];cu[\'aR\'+2t]=aR;cu[\'u0\'+2t]=C(a,b){F C(t){F 1-aR(a,b)(1-t)}};cu[\'u1\'+2t]=C(a,b){F C(t){F t<0.5?aR(a,b)(t*2)/2:1-aR(a,b)(t*-2+2)/2}}});F cu})();C oq(5e,2f){if(is.f6(5e)){F 5e}B 2t=5e.5r(\'(\')[0];B or=on[2t];B 8F=iY(5e);7Y(2t){1A\'aM\':F aM(5e,2f);1A\'8u\':F iW(8u,8F);5t:F iW(or,8F)}};C cv(2P,3q){B 6o=2P.O;B os=64.O>=2?64[1]:6R 0;B 5d=[];1k(B i=0;i<6o;i++){if(i in 2P){B 3I=2P[i];if(3q.6X(os,3I,i,2P)){5d.19(3I)}}}F 5d};C cw(2P){F 2P.aI(C(a,b){F a.7b(is.2P(b)?cw(b):b)},[])};C j8(o){if(is.2P(o)){F o}if(o 5q u2||o 5q u3){F[].u4.6X(o)}F[o]};C fc(o){B 7w={};1k(B p in o){7w[p]=o[p]}F 7w};C fd(o1,o2){B o=fc(o1);1k(B p in o1){o[p]=o2.2O(p)?o2[p]:o1[p]}F o};C cz(o1,o2){B o=fc(o1);1k(B p in o2){o[p]=is.6h(o1[p])?o2[p]:o1[p]}F o};C 8v(3I){B 5r=/[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|u5|in|cm|mm|ex|ch|pc|u6|u7|u8|u9|ua|ub|uc)?$/.ep(3I);if(5r){F 5r[1]}};C fe(3I,2V){if(!is.f6(3I)){F 3I}F 3I(2V.I,2V.id,2V.5J)};C j9(I,cA,5L,2V){F I[cA]||0};C ff(to,6Z){B fg=/^(\\*=|\\+=|-=)/.ep(to);if(!fg){F to}B u=8v(to)||0;B x=ct(6Z);B y=ct(to.53(fg[0],\'\'));7Y(fg[0][0]){1A\'+\':F x+y+u;1A\'-\':F x-y+u;1A\'*\':F x*y+u}};C ja(3I,5L){if(/\\s/g.ot(3I)){F 3I}B jb=8v(3I);B jc=jb?3I.ud(0,3I.O-jb.O):3I;if(5L){F jc+5L}F jc};C jd(3I,5L){B fh=/[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g;B 2b=ja(3I,5L)+\'\';F{ou:2b,8w:2b.8O(fh)?2b.8O(fh).2J(2a):[0],9v:(is.oj(3I)||5L)?2b.5r(fh):[]}};C ov(4g){B ow=4g?(cw(is.2P(4g)?4g.2J(j8):j8(4g))):[];F cv(ow,C(5N,1s,D){F D.1G(5N)===1s})};C je(4g){B jf=ov(4g);F jf.2J(C(t,i){F{I:t,id:i,5J:jf.O}})};C ox(25,4H){B aS=fc(4H);if(/^aM/.ot(aS.5e)){aS.2f=aM(aS.5e)}if(is.2P(25)){B l=25.O;B oy=(l===2&&!is.4z(25[0]));if(!oy){if(!is.f6(4H.2f)){aS.2f=4H.2f/l}}S{25={2b:25}}}B jg=is.2P(25)?25:[25];F jg.2J(C(v,i){B 4z=is.4z(v)?v:{2b:v};if(is.6h(4z.3F)){4z.3F=!i?4H.3F:0}if(is.6h(4z.4G)){4z.4G=i===jg.O-1?4H.4G:0}F 4z}).2J(C(k){F cz(k,aS)})};C oz(8s){B jh=cv(cw(8s.2J(C(3J){F 98.op(3J)})),C(p){F is.3J(p)}).aI(C(a,b){if(a.1G(b)<0){a.19(b)}F a},[]);B 2X={};B 7p=C(i){B cA=jh[i];2X[cA]=8s.2J(C(3J){B fi={};1k(B p in 3J){if(is.3J(p)){if(p==cA){fi.2b=3J[p]}}S{fi[p]=3J[p]}}F fi})};1k(B i=0;i<jh.O;i++)7p(i)};C oA(4H,1Z){B 2X=[];B 8s=1Z.8s;if(8s){1Z=cz(oz(8s),1Z)}1k(B p in 1Z){if(is.3J(p)){2X.19({2t:p,5f:ox(1Z[p],4H)})}}F 2X};C oB(2A,2V){B t={};1k(B p in 2A){B 2b=fe(2A[p],2V);if(is.2P(2b)){2b=2b.2J(C(v){F fe(v,2V)});if(2b.O===1){2b=2b[0]}}t[p]=2b}t.2f=ct(t.2f);t.3F=ct(t.3F);F t};C oC(25,2V){B aT;F 25.5f.2J(C(t){B 2A=oB(t,2V);B aU=2A.2b;B to=is.2P(aU)?aU[1]:aU;B ji=8v(to);B aV=j9(2V.I,25.2t,ji,2V);B jj=aT?aT.to.ou:aV;B 6Z=is.2P(aU)?aU[0]:jj;B oD=8v(6Z)||8v(aV);B 5L=ji||oD;if(is.6h(to)){to=jj}2A.6Z=jd(6Z,5L);2A.to=jd(ff(to,6Z),5L);2A.29=aT?aT.2h:0;2A.2h=2A.29+2A.3F+2A.2f+2A.4G;2A.5e=oq(2A.5e,2A.2f);aT=2A;F 2A})};B jk={fj:C(t,p,v){F t[p]=v}};C oE(4g,2X){B 8x=je(4g);8x.Q(C(2V){1k(B aW in 2X){B 2b=fe(2X[aW],2V);B I=2V.I;B jl=8v(2b);B aV=j9(I,aW,jl,2V);B 5L=jl||8v(aV);B to=ff(ja(2b,5L),aV);B oF=\'fj\';jk[oF](I,aW,to,2V.oG,V)}})};C oH(2V,25){B 5f=oC(25,2V);B jm=5f[5f.O-1];F{1I:\'fj\',aW:25.2t,2V:2V,5f:5f,2f:jm.2h,3F:5f[0].3F,4G:jm.4G}};C oI(8x,2X){F cv(cw(8x.2J(C(2V){F 2X.2J(C(25){F oH(2V,25)})})),C(a){F!is.6h(a)})};C jn(5g,4H){B fk=5g.O;B fl=C(3Y){F 3Y.7q?3Y.7q:0};B 4X={};4X.2f=fk?H.2H.66(H,5g.2J(C(3Y){F fl(3Y)+3Y.2f})):4H.2f;4X.3F=fk?H.3p.66(H,5g.2J(C(3Y){F fl(3Y)+3Y.3F})):4H.3F;4X.4G=fk?4X.2f-H.2H.66(H,5g.2J(C(3Y){F fl(3Y)+3Y.2f-3Y.4G})):4H.4G;F 4X};B jo=0;C oJ(1Z){B oK=fd(iU,1Z);B 4H=fd(f5,1Z);B 2X=oA(4H,1Z);B 8x=je(1Z.4g);B 5g=oI(8x,2X);B 4X=jn(5g,4H);B id=jo;jo++;F cz(oK,{id:id,3b:[],8x:8x,5g:5g,2f:4X.2f,3F:4X.3F,4G:4X.4G})};B 7r=[];B ue=[];B cB;B oL=(C(){C 9w(){cB=8N(oM)};C oM(t){B fm=7r.O;if(fm){B i=0;4T(i<fm){B fo=7r[i];if(!fo.aX){fo.f2(t)}S{B jp=7r.1G(fo);if(jp>-1){7r.7y(jp,1);fm=7r.O}}i++}9w()}S{cB=7J(cB)}};F 9w})();C fp(1Z){if(1Z===6R 0){1Z={}}B aY=0,8Y=0,4C=0;B 3b,cC=0;B jq=L;B jr=1;C js(1h){B cD=3c.jt&&1F jt(C(oN){F jq=oN});1h.uf=cD;F cD};B 1h=oJ(1Z);B cD=js(1h);C ju(){B 3X=1h.3X;if(3X!==\'jv\'){1h.3X=3X!==\'3B\'?\'3B\':\'dZ\'}1h.8y=!1h.8y;3b.Q(C(2Z){F 2Z.8y=1h.8y})};C fq(6K){F 1h.8y?1h.2f-6K:6K};C fr(){aY=0;8Y=fq(1h.8z)*(1/jr)};C jw(6K,2Z){if(2Z){2Z.fs(6K-2Z.7q)}};C oO(6K){if(!1h.jx){1k(B i=0;i<cC;i++){jw(6K,3b[i])}}S{1k(B i$1=cC;i$1--;){jw(6K,3b[i$1])}}};C cE(5h){B i=0;B 5g=1h.5g;B oP=5g.O;4T(i<oP){B 3Y=5g[i];B 2V=3Y.2V;B 5f=3Y.5f;B jy=5f.O-1;B 2A=5f[jy];if(jy){2A=cv(5f,C(t){F(5h<t.2h)})[0]||2A}B 63=6J(5h-2A.29-2A.3F,0,2A.2f)/2A.2f;B oQ=aj(63)?1:2A.5e(63);B 9v=2A.to.9v;B 23=2A.23;B 8w=[];B oR=2A.to.8w.O;B 4b=(6R 0);1k(B n=0;n<oR;n++){B 2b=(6R 0);B oS=2A.to.8w[n];B jz=2A.6Z.8w[n]||0;2b=jz+(oQ*(oS-jz));8w.19(2b)}B jA=9v.O;if(!jA){4b=8w[0]}S{4b=9v[0];1k(B s=0;s<jA;s++){B a=9v[s];B b=9v[s+1];B n$1=8w[s];if(!aj(n$1)){if(!b){4b+=n$1+\' \'}S{4b+=n$1+b}}}}jk[3Y.1I](2V.I,3Y.aW,4b,2V.oG);3Y.ug=4b;i++}};C 6L(cb){if(1h[cb]&&!1h.8A){1h[cb](1h)}if(cb==\'8R\'){D.1m()}};C oT(){if(1h.aZ&&1h.aZ!==V){1h.aZ--}};C jB(jC){B 8B=1h.2f;B jD=1h.3F;B jE=8B-1h.4G;B 5h=fq(jC);1h.4b=6J((5h/8B)*2I,0,2I);1h.jx=5h<1h.8z;if(3b){oO(5h)}if(!1h.ft&&1h.8z>0){1h.ft=V;6L(\'oc\')}if(!1h.fu&&1h.8z>0){1h.fu=V;6L(\'od\')}if(5h<=jD&&1h.8z!==0){cE(0)}if((5h>=jE&&1h.8z!==8B)||!8B){cE(8B)}if(5h>jD&&5h<jE){if(!1h.cF){1h.cF=V;1h.jF=T;6L(\'oe\')}6L(\'og\');cE(5h)}S{if(1h.cF){1h.jF=V;1h.cF=T;6L(\'oh\')}}1h.8z=6J(5h,0,8B);if(1h.ft){6L(\'8R\')}if(jC>=8B){8Y=0;oT();if(!1h.aZ){1h.aX=V;if(!1h.fv){1h.fv=V;6L(\'iV\');6L(\'oi\');if(!1h.8A&&\'jt\'in 3c){jq();cD=js(1h)}}}S{aY=4C;6L(\'iV\');1h.fu=T;if(1h.3X===\'jv\'){ju()}}}};1h.b0=C(){B 3X=1h.3X;1h.8A=T;1h.8z=0;1h.4b=0;1h.aX=V;1h.ft=T;1h.fu=T;1h.cF=T;1h.fv=T;1h.jF=T;1h.jx=T;1h.8y=3X===\'dZ\';1h.aZ=1h.7p;3b=1h.3b;cC=3b.O;1k(B i=cC;i--;){1h.3b[i].b0()}if(1h.8y&&1h.7p!==V||(3X===\'jv\'&&1h.7p===1)){1h.aZ++}cE(1h.8y?1h.2f:0)};1h.4k=C(4g,2X){oE(4g,2X);F 1h};1h.f2=C(t){4C=t;if(!aY){aY=4C}jB((4C+(8Y-aY))*jr)};1h.fs=C(6K){jB(fq(6K))};1h.uh=C(){1h.aX=V;fr()};1h.9w=C(){if(!1h.aX){F}if(1h.fv){1h.b0()}1h.aX=T;7r.19(1h);fr();if(!cB){oL()}};1h.dZ=C(){ju();fr()};1h.ui=C(){1h.b0();1h.9w()};1h.b0();if(1h.f4){1h.9w()}1h.uj=C(1Z){if(1Z===6R 0){1Z={}}B tl=fp(1Z);tl.2f=0;tl.2q=C(oU,7q){B jG=7r.1G(tl);B 3b=tl.3b;if(jG>-1){7r.7y(jG,1)}C 8A(cG){cG.8A=V}1k(B i=0;i<3b.O;i++){8A(3b[i])}B 8C=cz(oU,fd(f5,1Z));8C.4g=8C.4g||1Z.4g;B jH=tl.2f;8C.f4=T;8C.3X=tl.3X;8C.7q=is.6h(7q)?jH:ff(7q,jH);8A(tl);tl.fs(8C.7q);B cG=fp(8C);8A(cG);3b.19(cG);B 4X=jn(3b,1Z);tl.3F=4X.3F;tl.4G=4X.4G;tl.2f=4X.2f;tl.fs(0);tl.b0();if(tl.f4){tl.9w()}F tl};F tl};F 1h};F fp(U)};B cH=X;if(1R oV!==\'4i\'&&1R oW===\'fj\'){oV.oW=cH}S if(1R fw===\'C\'&&(fw.uk||fw.ul)){fw(C(){F cH})}S{A.cH=cH}}).6X(A||(1R 3c!==\'4i\'?3c:um));',62,1883,'||||||||||||||||||||||||||||||||||||this|var|function|self|ctx|return|node|Math|target|link|width|null|source|height|length|event|forEach|prototype|else|false|config|true|_self|VisualGraph|nodes|bound|||||radius|scene||DGraph||push|alpha|label|stage|cxt||visible|angle|instance|x1|path|for|y1|refresh|inLinks|let|links|scaleX|outLinks|pos|break|x2|lineWidth|y2|PI|left|rgba|case|top|ele|_link|childs|new|indexOf|scaleY|type|scale|selected|targetX|lineTo|color|util|group|x0|typeof|_node|y0|_l|targetY|save|restore|degree|params||quad||round|fillStyle|prop|canvas|font|lineDash|start|Number|value|line||dispatchEvent|duration|right|end|point|bottom|beginPath|container|forceOptions|dist|position|_mouseEvent|add|currentNode|weight|name|sin|edge|filter|borderWidth|animateBall|sourceX|tween|cos|x3|y3|translateX|translateY|sqrt|max|100|map|size|offset|context|stroke|hasOwnProperty|arr|distance|mouse|255|fillColor|sourceY|animatable|initialize|properties|translate|child||showArrow||endPoint|background|||show|strokeStyle|evt|allPathLinks|children|window|mouseEvent|cavs|eventName|lineType|paths|element|flag|closePath|addEventListener|showlabel|fixed|targetNode|min|callback|borderRadius|250|mouseGraphics|fontColor|textPosition|shape|img|virNode|rightMenu|conf|normal|moveTo|pixelRatio|fill|delay|x4|y4|val|key|remove|arc|currentElement|vertex|pow|180|mousemove|image|dragable|strokeColor|index|virLink|range|direction|anim|insertPoint|||rect|click|paint||mouseup|text|nodeCount|charge|sourceNode|progress|Infinity|messageBus|selectedElements|newNodes|targets|document|undefined|padding|set|mousedown|measureText|middle|rotate|get|edges|showSelected|addToSelected|textWidth|textHeight|minDegree|maxDegree|outdegree|infoFilterParams|obj|abs|style|now|borderColor|animate|layout|endDelay|tweenSettings|_v1|radian|mouseover|mouseout|mode|Array|textLines|textCache|textArr|colorType|moves|while|startNode|pathNodes|centerNode|timings|const|startPoint||200||replace|_cbound|selEle|parentContainer|singleTextWidth|arrowsRadius|lineE|posX|posY|clusterGroups|result|easing|tweens|animations|insTime|getDistance|out|_v0|_t|atan2|needRepaint|displayElements|smallFlag|instanceof|split|shadowColor|default|textOffsetX|maxWidth|tipText|getArrowRadius|targetP|hex|rgb|onClick|onMouseUp|onMouseDown|onMouseOver|onMouseOut|nodeIdMapNode|nodeInfo|matrix|total|indegree|unit|elementType|item|num|lineA|prev|next|curveness|offsetX|offsetY|dispatchEventToScenes|touches|textWatermark|Arial|center||fillText|points|elapsed|arguments||apply|zIndexMap|newELe|substring|animateBallIndex|cluster|pathArr|endNode|nodeList|_compare|_input|und|setTimeout|lineB|interval|polygonPoints|content|controlPoints|len|viewBox|elements|dbclick|exportContext2d|fontSize|textAlign|zIndex|toSceneEvent|targetEle|icon|onlyShape|bundleGap|setLineStyle|currentLink|hexColor|rgbColor|algo|propType|nodeSize|resultPath|minMax|time|setCallback|MessageBus|message|cubicAt|quadraticAt|getPointOnBezierCurve|void|miniMapConfig|rectWidth|rectHeight|Map|mousedrag|call|first|from|isMouseOver|Link|Node|raduis|selectedBorderWidth||labelBackGround|labelBorderWidth|showShadow|imgS|lines|concat|paintSpecialArrow|x5|y5|ondblClick|random|clusters|nodesCount|visited|multiplier|findAllPath|middleNode|nowOutsideNode|level|loop|timelineOffset|activeInstances|SceneMode|select|messageMap|pageX|clone|removeFromArray|splice|offsetTop|offsetLeft|lineVir|pointX|_a|_v2|onet|c1x|c1y|1000|cancelAnimationFrame|createElement|thumbnail|repaint|getBound|centerAndZoom|zoomOut|zoomIn|sence|leftNode|rightNode|topNode|mouseDownEvent|headerHeight|shadowBlur|switch|InteractiveElement||borderAlpha|textOffsetY|labelBorderColor|lineCount|r2d|string|grd|bezierCurveTo|cod|textAngle|sourceP|Group|loopName|newNode|curNode|degreesDomain|clusterCoefficient|nodeIdSet|allNeiberLinkSet|has|allShortPath|sourceId|targetId|sourceNodeIndx|targetNodeIndx|allCyclePath|condition|keyframes|zeta|steps|getUnit|numbers|animatables|reversed|currentTime|passThrough|insDuration|insParams|drag|stack|args|cloneEvent|pageY|intersection|pointY|distanceSquare|getPointOnQuadraticCurve|floor|requestAnimationFrame|match|viewportCvs|getContext|update|getOffsetTranslate|preventDefault|mouseDown|wheelZoom|bottomNode|exportCanvas|lastTime|_stage||scaleRange|groups|hide|pickSort||mouseOverelement|DisplayElement|Object||selectedColor|Edge|lineS|paintLineText|paintLineTips|cpx1|cpx2|parseInt|colour|drawLinkFlag|options|newEdge|converHexToRGB|lineInfo|numScale|floyd|nodeIdStr1|neighborNodes|degrees|_nodes|root|strings|play|newObj|getEventPosition|pointA|pointB|tmp|checkPoint|p1x|p1y|c2x|c2y|polarCoordinate2canvasCoordinate|arrow|removeEventListener|graphics|mouseDownX|mouseDownY|clearSelectArea|mousewheel|keydown|keyup|fps|eventNames|500|textBaseline|drawImage|240|120|MAX_VALUE|Scene|zIndexArray|polygonCoords|paintElement|hideText|sort|cpx|cpy|selectedBorderColor|getTextPostion|selectedAlpha|bundleOffset|lineDashOffset|bezierPoints|sign|textPos|lastPath|cpy1|cpy2|ColorUtils|isNaN|onMousedrag|highLightNeiber|noElementClick|noElementkeyUp||noElementkeyDown|mouseDrag|onBoxSelectEndEvent|theta|150|nodeMenu|linkMenu|ctool|||toFixed|graphAdge|graphAlgorithm|queue|shortPaths|processShortPath|arrLength|startNodeId|endNodeId|reduce|degreeArr|nLayer|tnode|spring|leaf|quadtreeVisit|nodeR|w0|easeIn|settings|previousTween|tweenValue|originalValue|property|paused|startTime|remaining|reset|propertiesStack|attr|caller|clientX|body|clientY|getOffsetPosition|cpoint|viaPoint|05|v1|v2|appendChild|Stage|offCanvas|button|_canvas|dragging|touchmove|istouch|touchEventToMouseEvent|touchStart|touchstart|touchend|resize|removeAllEventListener|fontStyle|fontFamliy|globalAlpha|imageData|225|zoom|lastTranslateX|lastTranslateY|areaSelect|operations|transformAble|getCenterLocation|translateToCenter|setLocation|selectedLocation|13px|circle|paintText|wrapText|lineJoin|twoDirect|arrowType|epoint|direct|paintAnimateBall|paintLineBackGround|pos1|pos2|getTargetBorderPoint|genRgbGradientColors|numSquares|autoLayout|friction|noverlap|showLinkFlag|isDerictedGraph|currentCluster|drawLineCallback|linkConfig|mouseUp|t_alpha|times|nodeLabel|avoidOverlap|tempNode|xMean||yMean|avgDegree|averageWeightDegree|nodeIdStr2|selectedEdge||lgDegreeNodes|showOrHide|nodeA|nodeB||parentNodes|maxParentNode||centerX|centerY|insertChild|parseFloat|eases|filterArray|flattenArray|||mergeObjects|propName|raf|childrenLength|promise|setAnimationsProgress|changeBegan|ins|VisGraph|Node_zIndex|serializedProperties|removeHandler|subscribe|unsubscribe|publish|intersectionLineBound|pointOnCircle|containStroke|containBerzierStroke|EPSILON_NUMERIC|containQuadraticStroke|getSelfLoopControlPoints|getQuadraticControlPoint|isInPolygon|p2x|p2y|calculateAngle|360|||blob|clearTimeout|DGraphRoundRect|arcTo|thumbnailCtx|sceneChilds|none|boundCache|setCenter|currentChildCount|clearRect|mouseCanvas|canvasId|dragEndMouseUp|clickTimer|dblclick|wheeling|wheelDelta|screenX|screenY||clear|secne|png|fileName|percent|lineCap|getElementsBound|dragMouseIndex|allPaint|||showEdges|selectedNodes|paintMouseover|isInBound|cancleAllSelected|selectedHandler|boxSelectedNodes|mouseoutHandler|Middle_Center|fucn|selectedBorderAlpha|sigleWidth|220|setImage|mergeLine|groupNum|animateSpeed|animateBallColor|animateBallSize|nodeIndex|mouseX|mouseY|addColorStop|paintTextOnLineWithAngle|||reverse|paintBezierAnimate|paintBezierText|baseLine|textPadding|headerColor|headerAlpha|1e7|hexToRgb|aColor|generateGradientColor|second|defined|linkDistance|linkStrength|gravity|deepExtend|defaultNodeColor|restoreHightLight|data|getColor|childNodes|isDragging||idMapNode|leafNodes|exec|clusterKey|clusterGroup|virtualNodes|runFlag|minWeight|maxWeight|domain|||graphVertex|sourceInx|targetInx|row|pre||dijkstra|vis|darmity|distArr|distLine|allLinks|betweennessCentrality|_graph|allPathNodes|layerNum|colors|showAll|compareValue|_degree|clearAll|_links|phi|visit|collide|nx1|nx2|ny1|ny2|tick|nodeId|autoplay|defaultTweenSettings|fnc|wd|rest|functionEasings|amplitude|period|cloneObject|replaceObjectProps|getFunctionValue|getRelativeValue|operator|rgx|newKey|object|animLength|getTlOffset|activeInstancesLength||activeInstance|anime|adjustTime|resetTime|seek|began|loopBegan|completed|define|Group_zIndex|Element|messageCount|delete|scrollLeft|clientLeft|scrollTop|clientTop|_event|isPointInLine|mousePoint|inRange|point1|point2|isPointInLineSeg|findAngle|_b|near|B0_t|B1_t|B2_t|B3_t|curverNum|counter|xinters|pointCount|findDotsAtSegment|t13|t12|calPointOnCircle|270|createWebWorker|navigator|userAgent|imgStore|CanvasRenderingContext2D|startX|startY|timer|cssText|absolute|viewContainer|parentNode|canvasElements|viewCanvas|createCanvas|viewGraphics|setCanvasSize|graphvis|numerator|buttons|staticMode|smoothWheelMode|300|changedTouches|MouseEvent|openDragHideEffect|requestAnimateId|showDetailScale|addTo|getPagePosition|secneOffset|paddingX|paddingY|GraphVis|666|imageObj|contentWidth|ceil|hSpace|wSpace|download|href|PI2|render|selectBoxType|showFlag|Set|nodeInView|selectedEdges|eles|getElementByXY|zIndexEles|unselectedHandler|removeFromSelected|selectElement|ctrlKey|mouseupHandler|dragElements|mousedragHandler|mouseLeft|mouseTop|mouseoverHandler|clickHandler|dbclickHandler|setSize|drawNode|String|headTipText|inLink|findLines|calLineNum|findInsertPoint|getPath|paintLine|labelBackHeight|quadraticPoints|drawLine|both|curver|paintDrirectLine|paintVBezierLink|paintHBezierLink|arrowSize|gsPoint|gtPoint|calculateEndPoint|linetX|linetY|arrowRadius|ajustSize|convertRgbToHex|colorCount|colorHex|defaultConfig|160|resetConfig|nodeIdIndex|init|hideAllRightMenu|setMouseModel|protoExtend|allowDeletion|isArray|clusterMenu|runLayoutEngin|groupMenu|ondbClick|linkIdMapLink|newEdges|_copyEdgePropers|visibleNodes|showLinkLabel|model|contract|expanded|targetNodes|saveImage|json|focusTargetEle|linkColorType|clusterNodes|childNode|hideIsolatedNodes|showNodes|deleteNode|scaleGraph|bounds|linksCount|density|arrTemp|dfsTraverse|bfsTraverse|tail|bellmanFord|averageDegree||totalPath||pathNum|multi|sumShortPath|pathLength|degreeCentrality|nodeNum|allNeiberNodes||ck12|_alpha|findPath|pathNode|||recursive|colorArr|setLineDirected|setLineDashed|dashed|entityFalse|linkFalse|linkCount|linkOut|linkIn|linkWeight|entityDesc|nodeValue|_compareType|delSelect|stopRunningLayout|angleRadian|parentFlag|_nodes_|isNewNode|xyArr|nodeRadius|quadtree|insert|forceAccumulate|nodeName|defaultInstanceSettings|loopComplete|applyArguments|func|parseEasingParameters|cache|springs|mass|stiffness|velocity|solver|cached|frame|pow2|toArray|getOriginalTargetValue|validateValue|originalUnit|unitLess|decomposeValue|getAnimatables|parsed|propArray|propertyNames|toUnit|previousValue|setProgressValue|valueUnit|lastTween|getInstanceTimings|instanceID|instanceIndex|resolve|speed|makePromise|Promise|toggleInstanceDirection|alternate|seekChild|reversePlayback|tweenLength|fromNumber|stringsLength|setInstanceProgress|engineTime|insDelay|insEndDelay|changeCompleted|tlIndex|tlDuration|Link_zIndex|pop|returnValue|getBoundingClientRect|documentElement|dis1|dis2|distance1|distance2|distance3|atan|_s|cubicProjectPoint|005|quadraticProjectPoint|xi|yi|percentage|radina|acos|Blob|blobURL|URL|createObjectURL|worker|isFirefox|isIE|toLowerCase|asin|endX|endY|Thumbnail|div|border|1px|solid|transparent|user|webkit|cursor|not|allowed|pointer|events|miniMapContainer|0px|viewColor|110|addThumbEvents|destory|paintNodes|canvasContexts|getPixelRatio|setAttribute|contextOptions|offsetWidth|offsetHeight|denominator|onselectstart|eventType|simEvent|initEvents|nowWidth|nowHeight|_needRepaint|eventFunction|getImageUrlData|imageWidth|8000|imageHeight|10000|fff|fillRect|paintTextWatermark|heightNumber|widthNumber|saveAsLocalImage|fixtype|jpeg|Date|paintSelectRect|paintSelectPolygon|showLoading|loadingText|M2PI|hideLoading|MIN_VALUE|requestFn|cancelFn|requestAnimFrame|cancelAnimFrame|backgroundColor|pickMode|paintAllChilds|paintChilds|paintOperations|getDisplayedElements|operat|clearOperations|zindexA|zindexB|notInSelectedNodes|mousedownHander|boxSelectEndHandle|selectRectHandle|selectPolygonHandle|mousemoveHandler|getBoundWithElemets|shadowOffsetX|shadowOffsetY|Top_Left|Top_Center|Top_Right|Middle_Left|Middle_Right|Bottom_Left|Bottom_Center|Bottom_Right|showBackGround|bold|Consolas|drawNodeImg|drawOriginalNode|drawShape|globleAlpha|paintIcon|paintTipText|paintHeadTip|paintShape|setLineDash|paintShadow|ellipse|buildTextArray|processLabel|labelHeight|strokeText|outLink|outLines|inLines|allLines|findAllLines|_line|caculateIndex|getStartPosition|getEndPosition|needHideText|paintMutilPath|paintCurverLink|vlink|paintVerticalLink|paintHorizolLink|paintBezier|vbezier|paintArrowLine|paintXMinderLine|gephiline|paintGephiLine|diff|createLinearGradient|showText|computeControlPoint|lineNum|sSize|quadraticCurveTo||paintCurverAnimate|02|paintTriangleArrow|childDragable|showHeader|14px|paintHeader|hexToRgbStr|charAt|colorStart|||colorEnd|firstRgb|secondRgb|diff1|diff2|diff3|mult1|mult2|mult3|1200|currentLayout|initDrawLinkBase|01|constructor|nodeHide|linkHide|clusterHide|defaultColor|highLightNeiberNodes|showNodeRightMenu|nodeShow|showLinkRightMenu|linkShow|showClusterRightMenu|strength|visibleLinks|setZoom|zoom1|||moveCenter|6000|jsonStr|serialized|funDownload|filename|shorthandRegex|hideAllLink|showAllLink|rate|clusterAvoidOverlap|groupRadius|LayoutFactory|weightDomain|selectAll|reverseSelect|selectRelate|hideSelected|deleteNodes|deleteLinks|deleteLink|calculateDensity|calculateAvgDegree|calculateAvgWieghtDegree||createMatrix|closeness|outNeiberNodes|inNeiberNodes|edgeNum|||edge1|edge2|nodeMapAlphaByDegree|isDirected|path1|path2|shortestPathLength|isDirect|isDashed|selectNodes|removeOneNode|optType|beginAddLine|computeParentAngle|xp|yp|incremaNodesCodinate|newLinks|hasNodes|hasLinks|unResetNodes|collideNodes|computeRadius|getXY|area|getXYA|aop|sinPhiRadius|||layzeTime|loopRunLayout|repulse|pointCharge|nodeSpace|needScale|loadText|rbgColorFrom|rgbColorTo|begin|loopBegin|changeBegin||change|changeComplete|complete|str|damping|exp|getDuration|penner|baseEasings|keys|parseEasings|ease|thisArg|test|original|parseTargets|targetsArray|normalizePropertyTweens|isFromTo|flattenKeyframes|getProperties|normalizeTweenValues|normalizeTweens|fromUnit|setTargetsValue|animType|transforms|createAnimation|getAnimations|createNewInstance|instanceSettings|engine|step|_resolve|syncInstanceChildren|animationsLength|eased|toNumbersLength|toNumber|countIteration|instanceParams|module|exports|version|keyLocation|ownerDocument||||||pageYOffset|pageXOffset|offsetParent|000001|application|javascript|Worker||mozRequestAnimationFrame|webkitRequestAnimationFrame|msRequestAnimationFrame|oRequestAnimationFrame|webkitCancelAnimationFrame|mozCancelAnimationFrame|cancelRequestAnimationFrame|webkitCancelRequestAnimationFrame|mozCancelRequestAnimationFrame|Firefox|attachEvent|Opera|isChrome|chrome|hieght|drawArrowLine||className|e1d2d2|overflow|||hidden|tap|highlight|getElementById|relative|clearInterval|removeChild|setInterval|oncontextmenu|class|preserveDrawingBuffer|antialias|_canvasId|devicePixelRatio|webkitBackingStorePixelRatio|mozBackingStorePixelRatio|msBackingStorePixelRatio|oBackingStorePixelRatio|backingStorePixelRatio|detail|onmouseout|onmouseover|onmousedown|onmouseup|onmousemove|onclick|ondblclick|onmousewheel|DOMMouseScroll|loadingAnimateId|Handler|try|toDataURL|catch|jpg|bmp|gif|octet|stream|GraphVis_|getTime|loading|16px|KaiTi|callee|lastTranslatedX|lastTranslatedY|setBackground|paintBackgroud|isVisiable|addOperation|mousedownHandler|keydownHandler|keyupHandler|displayElement|shadow|getLocation|setCenterLocation|getSize|heith|setBound|getPosition|interactiveElement|defineProperties|fontWidth|20px|clip|square|triangle|star|polygon|alarmColor|alarmAlpha|alarmFont|10px|headTipRadius|headTipFont|headTipColor|headTipFontColor|throw|Error|Image|crossOrigin|Anonymous|src|onload|230|paintArrow|hlink|bezier||hbezier|arrowline|minderline|tipRadius|tipFont|tipColor|tipFontColor|135|315|arrow_size|removeAll|0123456789abcdef|00|RGB|mouseWheel|800|0001|3ca9f1|miniMap|sceneEvent|force|600|Control|drawData|customStyle|addNodesInGroup|createGroup||lockNode|unLockNode|addNodes|addNode|addEdges|addEdge|getGraphData|getVisibleData|setZoomRange|moveNodeToCenter|moveScene|up|down|setLineType|setNodeShape|showNodeLabel|lasso|exportJsonFile|JSON|stringify|dataset|downloadurl|join|showOverView|findNode|setLabelColor|showAllNode|setNodeFont|setTextPosition|setLinkAlpha|setLinkArrowShow|setLinkColor|setLinkColorType|setLinkFont|setLinkLabelColor|resetNodeInfo|imageUrl|resetEdgeStyle|edgeColor|addClusterContainer|removeCluster|clearClusters|createLayout|initAlgo|maxMove|runLayout|applyNodeSize|applyLinkWeight|setScale|setNodeLabelWithDegree|translateOrZoom|rotateGraph|getGraphStatistic|avgWeightDegree|calculateDarmity|avgClusterCoefficient|avgPathLength|closenessCentrality|edgeBetweennessCentrality|rankEdgeBetweennessCentrality|nodeWrapText|nodeMapSizeByDegree|nodeVisited|findShortPath|pathAnalyze|||sourceLabel|targetLabel|checkAllCycle|findNodeCyclePath|findClusters|findNDegreeRelates|nLayerRelates|removeCurrentLink|filterNodes|filterLinks|nodeMapColorsByDegree|setNodeSize|setNodeColor|covertSencePoint|getMouseDownPosition|getMousePosition|addNodeForDrag|filterChangeVisible|destroy|rightMenuOprate|allSelect|rebackSel|selRelate|showSelNode|||hideSelNode|showLinks||||hideLinks|sourcelphaMap|nodeConnent|delEdge|directedLine|undirectedLine|showLineLabel|hideLineLabel|Rline|Vline||drawVirtualLine|drawVirtualNode|removeLine|activeAddNodeLinks|001|isFinite||continue|getAllSelectedNodes||findNodeByAttr|findNodeById|updateNodeLabel|switchAnimate|setStaticMode|setSmoothWheelMode|setShowDetailScale|setDragHideLineEffect|||Boolean|updateThumbnail|randomColor|buildVisualGraphData|algorithm|preResetNodeCoords|showLoadProcess|Loading|hideLoadProcess|getViewCenter|setDataDragAble|easeOutElastic|toString|linear|Sine|Circ|Back|Bounce|5625|Elastic|Quad|Cubic|Quart|Quint|||Expo|easeOut|easeInOut|NodeList|HTMLCollection|slice|rem|vw|vh|vmin|vmax|deg|rad|turn|substr|pausedInstances|finished|currentValue|pause|restart|timeline|amd|cmd|global'.split('|'),0,{}));

3主要代码

<template>
  <div style="height: 100%">
    <!-- <div class="graph-nav">
        <el-row :gutter="20">
          <el-col :span="8">
            <div class="grid-content bg-purple">属性展开:
                <el-switch
                  v-model="properShow"
                  active-color="#13ce66"
                  active-text="开"
                  inactive-text="关"
                  @change="changeProperShow()">
                </el-switch>
            </div>
          </el-col>
        </el-row>
    </div > -->
    <el-form
      :inline="true"
      :model="queryParams"
      label-width="108px"
      ref="queryForm"
      @submit.native.prevent
    >
      <el-form-item label="文件名" prop="docNameN">
        <el-input
          @keyup.enter.native="handleQuery"
          clearable
          placeholder="请输入文件名"
          size="small"
          v-model.trim="queryParams.docNameN"
        />
      </el-form-item>
      <el-form-item label="关系" prop="ref">
        <el-select
          v-model.trim="queryParams.ref"
          placeholder="请选择关系"
          clearable
          multiple
        >
          <el-option
            v-for="item in refList"
            :key="item.dictLabel"
            :label="item.dictLabel"
            :value="item.dictLabel"
          >
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item :label="`关系文件名`" prop="docNameM">
        <el-input
          @keyup.enter.native="handleQuery"
          clearable
          :placeholder="`关系文件名`"
          size="small"
          v-model.trim="queryParams.docNameM"
        />
      </el-form-item>
      <el-form-item>
        <el-button @click="handleQuery" icon="el-icon-search" type="primary"
          >搜索</el-button
        >
        <el-button @click="resetQuery" icon="el-icon-refresh">重置</el-button>
      </el-form-item>
    </el-form>
    <!--图显示区域-->
    <div
      class="graph-area"
      v-loading="loading"
      :element-loading-text="loadingText"
      element-loading-spinner="el-icon-loading"
      element-loading-background="rgba(0, 0, 0, 0.8)"
    >
      <!-- 绘图面板区域 -->
      <div id="graph-panel" style="width: 100%; height: 100%"></div>

      <!-- 图例区域 -->
      <!-- <div id="graph-legend" class="legend-wrap">
        <div
          v-for="(item, index) in graphLegend"
          :key="index"
          class="legend-item"
        >
          <div
            class="item-dot"
            :style="{
              'background-color': item.show ? item.color : 'rgb(210,210,210)',
            }"
            @click="showOrHideType(index)"
          ></div>
          <div
            class="item-label"
            :style="{ color: item.show ? '' : 'rgb(210,210,210)' }"
          >
            {{ item.type }}
          </div>
        </div>
      </div> -->

      <!-- 工具栏 -->
      <div class="toolbar">
        <div
          class="toolbar-item"
          @click="toolBarEvent('layout', 'fastFR')"
          title="网络布局"
        >
          <i class="el-icon-cpu"></i>
        </div>
        <div
          class="toolbar-item"
          @click="toolBarEvent('layout', 'hubsize')"
          title="层次布局"
        >
          <i class="el-icon-share"></i>
        </div>
        <!-- <div
          class="toolbar-item"
          @click="toolBarEvent('layout', 'avoidlap')"
          title="避免重叠"
        >
          <i class="el-icon-copy-document"></i>
        </div> -->
        <div
          class="toolbar-item"
          @click="toolBarEvent('zoom', 'zoomOut')"
          title="放大"
        >
          <i class="el-icon-zoom-in"></i>
        </div>
        <div
          class="toolbar-item"
          @click="toolBarEvent('zoom', 'auto')"
          title="适中"
        >
          <i class="el-icon-help"></i>
        </div>
        <div
          class="toolbar-item"
          @click="toolBarEvent('zoom', 'zoomIn')"
          title="缩小"
        >
          <i class="el-icon-zoom-out"></i>
        </div>
      </div>
    </div>

    <!-- 节点右键操作菜单 -->
    <div id="nodeRightMenuPanel" class="right-menu-layer">
      <button @click="showNodeDeteail()">
        <i class="el-icon-notebook-2"></i>节点属性
      </button>
      <!-- <button @click="hideNode()"><i class="el-icon-s-release"></i>隐藏</button> -->
    </div>

    <!-- 连线右键操作对话栏 -->
    <div id="linkRightMenuPanel" class="right-menu-layer">
      <button @click="showLinkDetail()">
        <i class="el-icon-notebook-2"></i>关系属性
      </button>
      <button @click="hideLink()"><i class="el-icon-s-release"></i>隐藏</button>
    </div>

    <!-- 节点属性信息显示弹出层 -->
    <el-drawer
      title="节点属性信息"
      :modal-append-to-body="false"
      :wrapperClosable="true"
      :visible.sync="showNodeInfoDialog"
      size="380px"
      ref="drawer"
    >
      <div style="padding: 5px 10px">
        <div class="box-card">
          <el-form :model="currentNode" label-width="80px" size="mini">
            <el-form-item label="节点ID">
              <el-input
                type="text"
                v-model="currentNode.id"
                label="节点ID"
                disabled
              ></el-input>
            </el-form-item>
            <el-form-item label="节点名称">
              <el-input
                type="text"
                v-model="currentNode.label"
                label="节点名称"
                disabled
              ></el-input>
            </el-form-item>
            <el-form-item label="节点类型">
              <el-input
                type="text"
                v-model="currentNode.type"
                label="节点类型"
                disabled
              ></el-input>
            </el-form-item>
            <el-form-item label="颜色(rgb)">
              <el-color-picker
                v-model="currentNode.color"
                :color-format="'rgb'"
                :show-alpha="false"
                disabled
              ></el-color-picker>
            </el-form-item>
          </el-form>
        </div>

        <div class="box-card">
          <el-table :data="attrbutes" border size="small" style="width: 100%">
            <el-table-column prop="key" label="属性名"></el-table-column>
            <el-table-column prop="value" label="属性值"></el-table-column>
            <el-table-column label="操作">
              <template slot-scope="scope">
                <el-link
                  size="mini"
                  type="primary"
                  v-if="scope.row.key === 'docId'"
                  @click="handlePreview(scope.row)"
                  >预览</el-link
                >
              </template>
            </el-table-column>
          </el-table>
        </div>
      </div>
    </el-drawer>

    <!-- 属性节点显示弹出层 -->
    <el-drawer
      title="属性信息"
      :modal-append-to-body="false"
      :wrapperClosable="false"
      :visible.sync="showProperNodeInfo"
      size="380px"
      ref="drawer"
    >
      <div style="padding: 5px 10px">
        <div class="box-card">
          <el-form :model="properNode" label-width="80px" size="mini">
            <el-form-item label="名称">
              <el-input
                type="text"
                v-model="properNode.name"
                label="名称"
                disabled
              ></el-input>
            </el-form-item>
            <el-form-item label="数据类型">
              <el-input
                type="text"
                v-model="properNode.type"
                label="数据类型"
                disabled
              ></el-input>
            </el-form-item>
            <el-form-item label="单位">
              <el-input
                type="text"
                v-model="properNode.unit"
                label="单位"
                disabled
              ></el-input>
            </el-form-item>
          </el-form>
        </div>
      </div>
    </el-drawer>

    <!-- 连线属性信息显示弹出层 -->
    <el-drawer
      title="关系属性信息"
      :modal-append-to-body="false"
      :wrapperClosable="false"
      :visible.sync="showLinkInfoDialog"
      size="380px"
      ref="drawer"
    >
      <div style="padding: 5px 10px">
        <div class="box-card">
          <el-form :model="currentLink" label-width="80px" size="mini">
            <el-form-item label="关系ID">
              <el-input
                type="text"
                v-model="currentLink.id"
                label="关系ID"
                disabled
              ></el-input>
            </el-form-item>
            <el-form-item label="关系类型">
              <el-input
                type="text"
                v-model="currentLink.type"
                label="关系类型"
                disabled
              ></el-input>
            </el-form-item>
          </el-form>
        </div>

        <div class="box-card">
          <el-table :data="attrbutes" border size="small" style="width: 100%">
            <el-table-column prop="name" label="属性"></el-table-column>
            <el-table-column prop="key" label="数据类型"></el-table-column>
            <el-table-column prop="value" label="单位"></el-table-column>
          </el-table>
        </div>
      </div>
    </el-drawer>

    <!-- 节点或连线属性提示 -->
    <div id="tip-layer" class="tip-wrap" v-show="tipLayer.show">
      <div class="tip-header">{{ tipLayer.header }}</div>
      <div class="tip-body">
        <el-table :data="tipLayer.data" border size="small" style="width: 100%">
          <el-table-column prop="name" label="属性"></el-table-column>
          <el-table-column
            prop="type"
            label="数据类型"
            width="100"
          ></el-table-column>
          <el-table-column
            prop="unit"
            label="单位"
            width="100"
          ></el-table-column>
        </el-table>
      </div>
    </div>
  </div>
</template>

<script>
import VisGraph from "@/assets/js/graphvis.min.20241008.js";
import LayoutFactory from "@/assets/js/graphvis.layout.min.js";
import { config } from "@/assets/defaultConfig.js";
export default {
  data() {
    return {
      // visGraph实例对象
      visGraph: null,
      visLayout: null, //布局对象
      layoutLoopName: null, //布局循环对象
      // visGraph可视化交互配置
      config,
      circleBgImage: require("@/assets/images/circle.png"), //节点背景图片
      // visGraph创建节点和连线数据集
      graphData: {
        nodes: [],
        links: [],
      },
      graphLegend: [
        //{type:'图例一',color:'rgb(233,120,120)',show:true}
      ], //图例数组,根据数据的节点类型生成
      knowlegeInfo: {
        //图谱信息,需要服务端查询后赋值
        name: "公司网络图谱",
        tag: "公司",
        desc: "某某公司图谱信息",
        nodeNum: 7,
        relationNum: 9,
        permission: "私有",
      },
      properShow: false, //属性展示配置
      tipLayer: {
        //提示层配置
        show: false, //是否显示提示层
        header: "提示信息", // 提示表头
        data: [], //提示内部的数据
      },
      currentNode: {}, // 选中的节点对象
      attrbutes: [], //选中节点或连线的属性列表
      currentLink: {}, // 选中的连线对象
      //节点详细信息弹框
      showNodeInfoDialog: false,
      //关系连线信息弹层
      showLinkInfoDialog: false,
      //属性节点详细弹层控制开关
      showProperNodeInfo: false,
      properNode: {}, //属性节点
      currentLayoutType: "fastFR", //当前布局类型,用于区分是否可以拖动
      loading: true,
      loadingText: "正在加载中...",
      queryParams: {
        // docNameN: "WL-SMP-011物料采购管理规程",
        docNameN: "",
        docNameM: "",
        ref: ['引用','依据'],
      },
      refList: [
        {
          dictLabel: "引用",
        },
        {
          dictLabel: "依据",
        },
      ],
    };
  },
  created() {
    var that = this;

    //节点的点击事件
    this.config.node.onClick = function (event, node) {
      node.color = "rgb(" + node.fillColor + ")";
      that.currentNode = node;
      that.tipLayer.header = node.label || "";
      that.tipLayer.data = node.properties.attributes || []; //节点属性列表
      that.attrbutes = node.properties.attributes || []; //节点属性列表
      // that.showTipLayer(event);
    };

    //节点的双击事件
    // this.config.node.ondblClick = function (event, node) {
    //   if (!node.isExpand) {
    //     node.fixed = true; //固定位置
    //     node.isExpand = true; //展开标识
    //     node.openAnimation = true; //启用节点动画特效

    //     that.expandNode(node); //节点双击展开

    //     that.drawDefinedNode(node); // 方案1:绘制自定义动画
    //     //that.drawAnimateCircleNode(node); //方案2:绘制指定背景图

    //     that.visGraph.switchAnimate(true); //开启全局动画开关(耗性能,按需开启和关闭)
    //   } else {
    //     node.fixed = false; //解除锁定
    //     node.isExpand = false; //展开标识关闭
    //     that.contractChildNode(node); //节点双击收起

    //     node.openAnimation = false; //关闭节点动画特效
    //     node.drawNode = null; //去掉自定义节点绘制
    //     that.visGraph.switchAnimate(false); //关闭全局动画(减小性能开销)
    //   }

    //   that.tipLayer.show = false; //关闭提示层
    //   that.generateLegend(); //重新渲染图例类型
    // };

    //节点鼠标弹起事件
    this.config.node.onMouseUp = function (event, node) {
      if (that.currentLayoutType == "fastFR") {
        //如果当前为力导向布局时才可触发力导计算
        that.reLayout(0.2);
      }
    };

    //节点拖拽事件
    this.config.node.onMousedrag = function (event, node) {
      that.tipLayer.show = false; //关闭提示层
      if (that.currentLayoutType == "fastFR") {
        //如果当前为力导向布局时才可触发力导计算
        that.reLayout(0.05);
      }
    };

    //连线的点击事件
    this.config.link.onClick = function (event, link) {
      //节点点击事件回调
      that.currentLink = link;
      that.tipLayer.header = link.label || "";
      that.tipLayer.data = link.properties.attributes || []; //关系属性列表
      that.attrbutes = link.properties.attributes || []; //关系属性列表

      // that.showTipLayer(event);
    };

    //空白处的点击事件
    this.config.noElementClick = function (event) {
      that.currentNode = {};
      that.currentLink = {};
      that.tipLayer.show = false; //关闭提示层
    };

    //右键配置
    this.config.rightMenu = {
      nodeMenu: {
        //节点右键菜单
        nodeRightMenuLayer: null,
        init: function (_graphvis) {
          if (!that.nodeRightMenuLayer) {
            that.nodeRightMenuLayer =
              document.getElementById("nodeRightMenuPanel");
          }
        },
        show: function (event, _graphvis) {
          this.init();
          if (that.nodeRightMenuLayer) {
            console.log(event, {
              clientX: event.clientX,
              clientY: event.clientY,
            });

               that.nodeRightMenuLayer.style.left = (event.clientX - 250) + 'px'
               that.nodeRightMenuLayer.style.top = (event.clientY - 50) + 'px'
            that.nodeRightMenuLayer.style.display = "block";
             console.log(that.nodeRightMenuLayer.style.left,that.nodeRightMenuLayer.style.top,event.clientX,event.clientY);
            console.log(that.nodeRightMenuLayer);
          }
          var node = _graphvis.currentNode;
          node.color = "rgb(" + node.fillColor + ")";
          that.currentNode = node;
          console.log(node.properties.attributes);
          that.attrbutes = node.properties.attributes || [];
        },
        hide: function () {
          if (that.nodeRightMenuLayer) {
            that.nodeRightMenuLayer.style.display = "none";
          }
        },
      },
      linkMenu: {
        //连线右键菜单
        linkDialog: null,
        init: function (_graphvis) {
          if (!that.linkDialog) {
            that.linkDialog = document.getElementById("linkRightMenuPanel");
          }
        },
        show: function (event, _graphvis) {
          this.init();
          if (that.linkDialog) {
               that.linkDialog.style.left = (event.clientX + 10) + 'px'
               that.linkDialog.style.top = (event.clientY - 5) + 'px'
            that.linkDialog.style.display = "block";
          }
          var link = _graphvis.currentLink;
          that.currentLink = link;
          that.attrbutes = link.properties.attributes || [];
        },
        hide: function () {
          if (that.linkDialog) {
            that.linkDialog.style.display = "none";
          }
        },
      },
    };
  },
  mounted() {
    //初始化加载绘图
    this.drawGraphData();
  },
  methods: {
    // 获取所有的知识节点信息
    async drawGraphData() {
      try {
        if (!this.queryParams.ref.length) {
          this.queryParams.ref = ["引用",'依据'];
        }
        const { code, data } = await youAPI();
        //数据结构
        // {
//   "nodes": [
//     {
//       "id": 13278,
//       "label": "\"xxxxx\"",
//       "properties": {
//         "attributes": [
//           {
//             "key": "docId",
//             "value": "\"2740971d33f140ee8658ce059d676400\""
//           },
//           {
//             "key": "createBy",
//             "value": "\"超级管理员\""
//           },
//           {
//             "key": "createDeptBy",
//             "value": "\"某某xxx\""
//           }
//         ]
//       }
//     },
 
    
//   ],
//   "edges": [
//     {
//       "from": 13278,
//       "to": 13280,
//       "label": "引用"
//     },
   
//   ]
// }
        if (code === 200) {
          // 复制节点数组,避免直接修改原始数据
          const nodes = [...data.nodes];
          const colorLink = {
            "引用": "rgb(120,120,233)",
            "依据": "rgb(120,233,120)",
          }
          const links = data.edges.map((edge, index) => ({
            source: edge.from,
            target: edge.to,
            type: edge.label,
             color: colorLink[edge.label],
            id: `e-${index}`, // 使用模板字符串来确保ID的唯一性
          }));

          // 创建一个Map来存储节点ID、颜色和类型
          const nodeInfoMap = new Map();
          links.forEach((link) => {
            nodeInfoMap.set(link.source, { color: "rgb(120,120,233)" });
            nodeInfoMap.set(link.target, { color: "rgb(120,233,120)" });
          });

          // 创建一个新数组来存储更新后的节点
          const updatedNodes = nodes.map((node) => {
            const info = nodeInfoMap.get(node.id);
            return info ? { ...node, ...info } : node; // 合并节点信息和原始节点
          });

          this.graphData = {
            nodes: updatedNodes,
            links,
          };
          console.log(this.graphData);

          // 根据visGraph是否存在来创建图形或刷新数据
          if (this.visGraph === null) {
            this.createGraph(); // 创建图形实例(需要您自己实现这个函数)
          }
          this.refreshGraphData(); // 刷新图形数据(需要您自己实现这个函数)

          // 设置图形缩放并更新加载状态
          setTimeout(() => {
            if (this.visGraph) {
              // 确保visGraph存在
              this.visGraph.setZoom("auto"); // 设置图形缩放(需要确保visGraph有这个方法)
            }
            this.loadingText = `知识图谱正在绘制中...`;
            this.loading = false;
          }, 1000); // 延迟1秒后执行
        } else {
          // 处理获取数据失败的情况(例如显示错误消息)
          console.error("Failed to fetch graph data with code:", code);
        }
      } catch (error) {
        // 处理异步函数中的错误
        console.error("An error occurred while fetching graph data:", error);
      }
    },
    // 创建全局绘图客户端对象
    createGraph() {
      this.visGraph = new VisGraph(
        document.getElementById("graph-panel"),
        this.config
      );
    },
    // 刷新知识图谱数据
    refreshGraphData() {
      this.visGraph.drawData(this.graphData);
      this.visGraph.moveCenter(); //移动至中心位置
      this.generateLegend(); //生成图例
      this.reLayout();
    },
    generateLegend() {
      //生成图例
      var legendMap = new Map();
      console.log(this.graphLegend);
      this.graphLegend.forEach((item) => {
        console.log(item);
        legendMap.set(item.type, item);
      });

      this.visGraph.nodes.forEach((node) => {
        console.log(node);

        if (!legendMap.get(node.type)) {
          legendMap.set(node.type, {
            type: node.type,
            color: `rgb(${node.fillColor})`,
            show: true,
          });
        }
      });

      this.graphLegend = [];
      for (var legend of legendMap.values()) {
        console.log(legend);
        this.graphLegend.push(legend); //加入图例记录
      }
    },
    changeProperShow() {
      //属性展示开关
      if (this.properShow) {
        this.showProperNodes();
      } else {
        this.hideProperNodes();
      }
    },
    showProperNodes() {
      //展示属性节点
      var that = this;
      var properNodes = []; //属性节点定义
      var relations = []; //关系定义
      that.visGraph.nodes.forEach((node) => {
        if (node.visible) {
          var attributes = node.properties.attributes || []; //节点属性

          attributes.forEach((attr, index) => {
            properNodes.push({
              id: `${node.id}-${index}`, //虚拟节点
              label: attr.name,
              type: "proper-virtual", //定义一个虚拟类型,用于后续处理
              x: node.x,
              y: node.y,
              color: "240,240,240", //属性节点的颜色
              fontColor: "50,50,50", //属性节点的字体颜色
              borderWidth: 4, //属性节点边框宽度
              borderColor: "110,110,240", //属性节点的边框颜色
              properties: {
                attr: attr, //自定义属性定义
              },
            });

            relations.push({
              id: `edge-${node.id}-${index}`,
              source: node.id,
              target: `${node.id}-${index}`,
              label: "属性",
              type: "proper-virtual",
              lineDash: [3, 5], //属性设置虚线
              properties: {
                type: "virtual", //自定义属性定义
              },
            });
          });
        }
      });

      that.visGraph.addNodes(properNodes); //添加属性节点
      that.visGraph.addEdges(relations); //添加属性关系

      that.reLayout();
    },
    hideProperNodes() {
      //隐藏属性节点
      var that = this;
      var properNodes = that.visGraph.nodes.filter((node) => {
        return node.type == "proper-virtual";
      });

      if (properNodes.length > 0) {
        that.visGraph.deleteNodes(properNodes);
      }
    },
    // 执行布局算法
    reLayout(alpha) {
      var that = this;
      if (alpha == null) {
        that.visLayout = null;
        that.visLayout = new LayoutFactory(
          this.visGraph.getGraphData()
        ).createLayout("fastFR");
        that.visLayout.resetConfig({
          friction: 0.8,
          linkDistance: 600,
          linkStrength: 0.6,
          charge: -350,
          gravity: 0.01,
          noverlap: false,
          size: [that.visGraph.stage.width, that.visGraph.stage.height],
        });
      } else {
        that.visLayout.alpha += alpha > 1 ? 0.2 : alpha; //继续运动
      }

      runLayout(); //开始继续动画执行

      //通过动画帧控制控制布局算法的执行,有动画效果
      function runLayout() {
        cancelAnimationFrame(that.layoutLoopName); //停止动画控制
        that.visLayout.runLayout(); //运行布局算法
        that.visGraph.refresh();
        if (that.visLayout.alpha > 0.05) {
          that.layoutLoopName = requestAnimationFrame(runLayout);
        } else {
          if (
            that.visGraph.currentNode &&
            that.visGraph.currentNode.isDragging
          ) {
            that.visLayout.alpha = 0.1; //继续运动
            that.layoutLoopName = requestAnimationFrame(runLayout);
          } else {
            that.visLayout.alpha = 0; //停止运动
            cancelAnimationFrame(that.layoutLoopName);
          }
        }
      }
    },
    //显示节点信息
    showNodeDeteail() {
      if (this.currentNode.type == "proper-virtual") {
        this.properNode = this.currentNode.properties.attr || {};
        this.showProperNodeInfo = true; //显示属性节点信息
      } else {
        this.showNodeInfoDialog = true; //显示实体节点信息
      }
      this.cancelNodeRightMenu();
    },
    showLinkDetail() {
      this.showLinkInfoDialog = true;
      this.cancelLinkRightMenu();
    },
    // 关闭节点提示工具栏
    cancelNodeRightMenu() {
      let nodeRightMenuLayer = document.getElementById("nodeRightMenuPanel");
      nodeRightMenuLayer.style.display = "none";
    },
    // 关闭知识联系操作栏
    cancelLinkRightMenu() {
      let linkRightMenuLayer = document.getElementById("linkRightMenuPanel");
      linkRightMenuLayer.style.display = "none";
    },
    showOrHideType(itemIndex) {
      //图例的点击事件
      var legend = this.graphLegend[itemIndex];
      if (legend != null) {
        if (legend.show) {
          //需要隐藏类型节点
          legend.show = false;
        } else {
          //需要显示类型节点
          legend.show = true;
        }
        this.graphLegend[itemIndex] = legend;

        this.renderNodesByLegend(); //重新渲染节点图例
      }
    },
    renderNodesByLegend() {
      //根据节点图例渲染
      var legendMap = new Map();
      this.graphLegend.forEach((item) => {
        legendMap.set(item.type, item);
      });

      var that = this;
      var legend;
      var hideNodes = [];
      this.visGraph.nodes.forEach((node) => {
        legend = legendMap.get(node.type) || { show: true };
        that.resetNodesVisible(node, true);
        if (!legend.show) {
          hideNodes.push(node);
        }
      });
      hideNodes.forEach((node) => {
        that.resetNodesVisible(node, false);
      });
    },
    resetNodesVisible(node, visible = true) {
      //显示或隐藏节点及其关系
      node.visible = visible;
      (node.inLinks || []).forEach((link) => {
        link.visible = visible;
      });
      (node.outLinks || []).forEach((link) => {
        link.visible = visible;

        //如果是虚拟属性节点,则跟着实体节点显示或隐藏
        if (link.target.type == "proper-virtual") {
          link.target.visible = visible;
        }
      });
      this.visGraph.refresh();
    },
    showTipLayer(event) {
      //显示提示层
      this.tipLayer.show = true;

      const tipDom = document.getElementById("tip-layer");
      tipDom.style.top = event.clientY + 5 + "px";
      tipDom.style.left = event.clientX + 10 + "px";
    },
    hideNode() {
      //隐藏节点(画布上的删除)
      var properNodes = (this.visGraph.currentNode.outLinks || [])
        .map(function (link) {
          return link.target.type == "proper-virtual" ? link.target : null;
        })
        .filter((node) => {
          return node != null;
        });

      var that = this;
      if (properNodes.length > 0) {
        that.visGraph.deleteNodes(properNodes); //删除属性节点
      }
      this.visGraph.deleteNode(this.visGraph.currentNode); //删除当前节点

      this.cancelNodeRightMenu();
    },
    hideLink() {
      //隐藏连线
      this.visGraph.deleteLink(this.visGraph.currentLink);
      this.cancelLinkRightMenu();
    },
    toolBarEvent(eventType, type) {
      //工具栏事件
      if (eventType == "zoom") {
        this.visGraph.setZoom(type);
      } else if (eventType == "layout") {
        cancelAnimationFrame(this.layoutLoopName);
        if (type == "hubsize") {
          this.sortLayout();
        } else if (type == "fastFR") {
          this.forceLayout();
        }
        {
          this.avoidlapLayout();
        }
      }
    },
    avoidlapLayout() {
      //避免重叠布局
      this.currentLayoutType = "avoidlap"; //设置当前布局类型
      var tempLayout = new LayoutFactory(
        this.visGraph.getGraphData()
      ).createLayout("avoidlap");
      console.log(tempLayout);
      // tempLayout.resetConfig({
      //   nodeDistance: 100,
      //   linkDistance: 100,
      //   direction: "LR",
      //   avoidOverlap: true,
      // });
    },
    sortLayout() {
      //树形结构布局
      this.currentLayoutType = "hubsize"; //设置当前布局类型
      var tempLayout = new LayoutFactory(
        this.visGraph.getGraphData()
      ).createLayout("hubsize");
      console.log(tempLayout);
      tempLayout.resetConfig({
        layerDistance: 150,
        nodeDistance: 100,
        sortMethod: "hubsize",
        direction: "LR",
      });
      tempLayout.boolTransition = false;
      tempLayout.runLayout();

      this.visGraph.nodes.forEach(function (node) {
        node.fixed = true;
      });
      this.visGraph.moveCenter();
    },
    forceLayout() {
      //力导向布局
      this.currentLayoutType = "fastFR"; //设置当前布局类型
      this.visGraph.nodes.forEach((node) => {
        node.fixed = false;
      });
      var tempLayout = new LayoutFactory(
        this.visGraph.getGraphData()
      ).createLayout("fastFR");
      tempLayout.resetConfig({
        friction: 0.8,
        linkDistance: 200,
        linkStrength: 0.2,
        charge: -250,
        gravity: 0.01,
        noverlap: false,
        size: [this.visGraph.stage.width, this.visGraph.stage.height],
      });

      var count = 0;
      while (count++ <= 100) {
        tempLayout.runLayout();
      }
      this.visGraph.moveCenter();
    },
    expandNode(node) {
      //双击扩展节点数据
      //TODO 需要从服务端查询节点数据,数据结构如demo2格式,以下为构造数据示例
      var newNodes = [],
        newRelations = [];
      for (var i = 1; i <= 10; i++) {
        var tempId = Math.round(Math.random() * 999999999);
        newNodes.push({
          id: "expandnode-" + tempId,
          label: "扩展节点-" + i,
          type: "扩展节点类型",
          //color: this.randomColor()
        });

        newRelations.push({
          id: "exedge-" + tempId,
          label: "扩展",
          source: node.id,
          target: "expandnode-" + tempId,
        });
      }

      //计算新节点的旋转坐标
      this.visGraph.incremaNodesCodinate(newNodes);
      this.visGraph.addNodes(newNodes);
      this.visGraph.addEdges(newRelations);

      this.reLayout(); //执行动态布局计算
    },
    contractChildNode(node) {
      //收起节点的叶子节点
      var leafNodes = [],
        relations = [];
      (node.outLinks || []).forEach(function (l) {
        if (
          (l.target.outLinks || []).length == 0 &&
          (l.target.inLinks || []).length == 1
        ) {
          leafNodes.push(l.target);
          relations.push(l);
        }
      });

      var that = this;
      that.visGraph.deleteNodes(leafNodes); //删除叶子节点
      that.visGraph.deleteLinks(relations); //删除叶子连线

      this.reLayout(); //执行动态布局计算
    },
    randomColor() {
      return (
        Math.floor(255 * Math.random()) +
        "," +
        Math.floor(180 * Math.random()) +
        "," +
        Math.floor(255 * Math.random())
      );
    },
    drawDefinedNode(node) {
      // 绘制自定义节点
      node.drawNode = function (ctx) {
        //绘制自定义节点
        if (!this.openAnimation) {
          //通过openAnimation控制是否绘制自定义
          this.drawOriginalNode(ctx); //系统内置绘制方法
        } else {
          //以下部分为自定义绘制部分,支持动画效果
          this.animate = this.animate > 50 ? 10 : this.animate;
          ctx.save();
          ctx.beginPath();
          this.paintShadow(ctx);
          ctx.arc(0, 0, this.radius, 0, 2 * Math.PI);
          ctx.fillStyle = `rgba(${this.fillColor},${this.alpha})`;
          ctx.fill();
          ctx.strokeStyle = `rgba(${this.borderColor},${this.alpha})`;
          ctx.stroke();
          ctx.closePath();
          ctx.restore();

          if (this.image) {
            //有图片的场景,需要绘制图片
            var b = ctx.globalAlpha;
            ctx.save();
            ctx.globalAlpha = this.alpha;
            this.drawNodeImg(
              ctx,
              this.image,
              -this.radius,
              -this.radius,
              this.radius
            );
            ctx.globalAlpha = b;
            ctx.restore();
          }

          // 内环 - 间隔实线环
          this.angleStart =
            this.angleStart == null || this.angleStart >= 0.51
              ? 0
              : (this.angleStart += 0.01);
          ctx.save();
          ctx.strokeStyle = `rgba(${this.selectedBorderColor},${this.alpha})`;
          for (var i = 0; i < 4; i++) {
            ctx.beginPath();
            ctx.arc(
              0,
              0,
              this.radius + 3,
              Math.PI * (0.5 * i),
              Math.PI * (this.angleStart + 0.5 * i)
            );
            ctx.stroke();
            ctx.closePath();
          }
          ctx.restore();

          // 外环-虚线圆环
          ctx.save();
          ctx.beginPath();
          ctx.arc(0, 0, this.radius + 8, 0, 2 * Math.PI);
          ctx.strokeStyle = `rgba(${this.selectedBorderColor},${this.alpha})`;
          ctx.setLineDash([3, 2]);
          ctx.lineDashOffset = this.animate++;
          ctx.stroke();
          ctx.closePath();
          ctx.restore();

          //绘制文字,调用系统内置绘制文字方法
          this.paintText(ctx);
        }
      };
    },
    drawAnimateCircleNode(node) {
      // 绘制旋转背景图
      var that = this;

      //实例化图片,作为背景图
      if (node.circleBgImage == null) {
        var circleImg = new Image();
        circleImg.setAttribute("crossOrigin", "Anonymous");
        circleImg.src = that.circleBgImage; //图片资源
        circleImg.onload = function () {
          node.circleBgImage = circleImg; //图片加载完成赋值
        };
      }

      //绘制自定义节点方法重写
      node.drawNode = function (ctx) {
        if (this.openAnimation) {
          //通过openAnimation控制是否绘制自定义
          this.animate = this.animate > 360 ? 0 : (this.animate += 0.02);
          var globleAlpha = ctx.globalAlpha;
          ctx.save();
          ctx.rotate(this.animate); //图片旋转动画控制
          ctx.globalAlpha = this.alpha;
          this.drawNodeImg(
            ctx,
            this.circleBgImage,
            -this.radius - 15,
            -this.radius - 15,
            this.radius + 15
          ); //绘制背景图
          ctx.globalAlpha = globleAlpha;
          ctx.restore();
        }

        this.drawOriginalNode(ctx); //调用系统内置绘制方法
      };
    },
    handleQuery() {
      this.drawGraphData();
    },
    resetQuery() {
      this.resetForm("queryForm");
      this.drawGraphData();
    },
    // 文件预览
    handlePreview(row){
      console.log(JSON.parse(row.value));
      // 打开文件预览
      this.$router.push({
        name: "previewPdf",
      });
      this.$store.commit("common/PDFDOCID", JSON.parse(row.value) );
      
    },
  },

  destroyed() {
    cancelAnimationFrame(this.layoutLoopName);
  },
};
</script>

<style scoped>
/*****页面主要布局样式定义******/
.graph-nav {
  height: 80px;
  background-color: #fff;
  line-height: 26px;
  font-size: 13px;
  padding: 10px 20px;
}
.graph-area {
  position: relative;
  height: calc(100% - 105px);
  margin: 0 5px 5px 5px;
  padding: 0;
  background-color: #fafafa;
  border: 1px solid #ddd;
}

/******工具栏*******/
.toolbar {
  position: absolute;
  right: 0px;
  top: 0px;
  background: #efefef;
}

.toolbar .toolbar-item {
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 18px;
  text-align: center;
  color: #888;
  border-bottom: 1px solid #ddd;
  cursor: pointer;
}

.toolbar .toolbar-item:hover {
  color: deepskyblue;
}

/*******图例区域样式定义*****/
.legend-wrap {
  position: absolute;
  left: 10px;
  bottom: 10px;
}

.legend-wrap > .legend-item {
  height: 24px;
  line-height: 24px;
  font-size: 12px;
}

.legend-item > .item-dot {
  float: left;
  display: inline-block;
  height: 20px;
  width: 20px;
  border-radius: 10px;
  background-color: rgb(210, 210, 210);
  cursor: pointer;
}

.legend-item > .item-label {
  display: inline-block;
  float: left;
  margin-left: 5px;
  max-width: 120px;
}

/*****节点弹出鼠标提示层样式*****/
.tip-wrap {
  position: absolute;
  width: 350px;
  height: auto;
  min-height: 150px;
  background: #fff;
  box-shadow: 0px 0px 10px #999;
  font-size: 14px;
}
.tip-wrap > .tip-header {
  height: 30px;
  line-height: 30px;
  padding: 5px 10px;
  border-bottom: 1px solid #ddd;
}
.tip-wrap > .tip-body {
  padding: 0 10px 10px;
}

/*****右键菜单样式******/
.right-menu-layer {
  position: absolute;
  width: 100px;
  z-index: 5;
  display: none;
  border-radius: 3px;
  overflow: hidden;
  background: #fafafa;
  border: 1px solid #e1e2e2;
  box-shadow: 0 0 5px #ddd;
  padding: 5px 3px;
}
.right-menu-layer button {
  display: block;
  height: 24px;
  line-height: 24px;
  background: transparent;
  border: none;
  color: #444;
  text-align: center;
  cursor: pointer;
}
.right-menu-layer button > i {
  margin-right: 5px;
}
.right-menu-layer button:hover {
  color: slateblue;
}
.right-menu-layer button:focus {
  outline: 0;
}

.box-card {
  box-shadow: 0 0 3px #d4c8c8;
  padding: 10px;
  margin-bottom: 10px;
}

</style>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐